X-Git-Url: http://git.archive.openwrt.org/?p=project%2Fprocd.git;a=blobdiff_plain;f=system.c;h=504cdc02f012af778aadd150def1949e8db3d148;hp=82c672ee4900eb65a93bac1e9e587c0e76c9c8dc;hb=6c651500cfb2e71860c81644aa7bb9720a37e218;hpb=8f33afd87f118bfea52f50f7787843b694a38e72 diff --git a/system.c b/system.c index 82c672e..504cdc0 100644 --- a/system.c +++ b/system.c @@ -13,7 +13,9 @@ */ #include +#ifdef linux #include +#endif #include #include #include @@ -186,24 +188,28 @@ static int system_info(struct ubus_context *ctx, struct ubus_object *obj, struct ubus_request_data *req, const char *method, struct blob_attr *msg) { - void *c; time_t now; struct tm *tm; +#ifdef linux struct sysinfo info; + void *c; + + if (sysinfo(&info)) + return UBUS_STATUS_UNKNOWN_ERROR; +#endif now = time(NULL); if (!(tm = localtime(&now))) return UBUS_STATUS_UNKNOWN_ERROR; - if (sysinfo(&info)) - return UBUS_STATUS_UNKNOWN_ERROR; - blob_buf_init(&b, 0); - blobmsg_add_u32(&b, "uptime", info.uptime); blobmsg_add_u32(&b, "localtime", mktime(tm)); +#ifdef linux + blobmsg_add_u32(&b, "uptime", info.uptime); + c = blobmsg_open_array(&b, "load"); blobmsg_add_u32(&b, NULL, info.loads[0]); blobmsg_add_u32(&b, NULL, info.loads[1]); @@ -221,6 +227,7 @@ static int system_info(struct ubus_context *ctx, struct ubus_object *obj, blobmsg_add_u64(&b, "total", info.mem_unit * info.totalswap); blobmsg_add_u64(&b, "free", info.mem_unit * info.freeswap); blobmsg_close_table(&b, c); +#endif ubus_send_reply(ctx, req, b.head); @@ -282,7 +289,7 @@ static int watchdog_set(struct ubus_context *ctx, struct ubus_object *obj, if (tb[WDT_STOP]) watchdog_set_stopped(blobmsg_get_bool(tb[WDT_STOP])); - if (watchdog_fd() < 0) + if (watchdog_fd() == NULL) status = "offline"; else if (watchdog_get_stopped()) status = "stopped";