int main (int argc, char** argv) { //FILE* fp = popen(FROM("/sys/devices") SELECT SUBSYSTEM("tty"), "r"); FILE* fp = popen(FROM("/sys/devices") SELECT SUBSYSTEM("usb") SELECTUP SUBSYSTEM("pci"), "r"); if (!fp) { printf("popen() failed\n"); return 1; } char* device = NULL; size_t n = 0; while (-1 != getdelim(&device, &n, '\0', fp)) { printf("%s\n", device); } free(device); if (ferror(fp)) { printf("error while reading\n"); return 1; } if (-1 == pclose(fp)) { printf("pclose() failed\n"); return 1; } }
#include <tsinit.h> #include <tsload.h> #include <libjson.h> #include <stdlib.h> tsload_error_msg_func tsload_error_msg = NULL; tsload_workload_status_func tsload_workload_status = NULL; tsload_requests_report_func tsload_requests_report = NULL; extern ts_time_t tp_min_quantum; struct subsystem subsys[] = { SUBSYSTEM("log", log_init, log_fini), SUBSYSTEM("mempool", mempool_init, mempool_fini), SUBSYSTEM("threads", threads_init, threads_fini), SUBSYSTEM("wl_type", wlt_init, wlt_fini), SUBSYSTEM("modules", mod_init, mod_fini), SUBSYSTEM("workload", wl_init, wl_fini), SUBSYSTEM("threadpool", tp_init, tp_fini) }; JSONNODE* tsload_get_workload_types(void) { return json_wl_type_format_all(); } int tsload_configure_workload(const char* wl_name, JSONNODE* wl_params) { workload_t* wl = json_workload_proc(wl_name, wl_params);