!strcasecmp(key, "processor") ||
!strcasecmp(key, "model name"))
{
!strcasecmp(key, "processor") ||
!strcasecmp(key, "model name"))
{
- blobmsg_add_string(&b, "system", val + 2);
- break;
+ strtoul(val + 2, &key, 0);
+
+ if (key == (val + 2) || *key != 0)
+ {
+ blobmsg_add_string(&b, "system", val + 2);
+ break;
+ }
- if ((f = fopen("/tmp/sysinfo/model", "r")) != NULL)
+ if ((f = fopen("/tmp/sysinfo/model", "r")) != NULL ||
+ (f = fopen("/proc/device-tree/model", "r")) != NULL)
c = blobmsg_open_array(&b, "load");
blobmsg_add_u32(&b, NULL, info.loads[0]);
c = blobmsg_open_array(&b, "load");
blobmsg_add_u32(&b, NULL, info.loads[0]);
blobmsg_close_array(&b, c);
c = blobmsg_open_table(&b, "memory");
blobmsg_close_array(&b, c);
c = blobmsg_open_table(&b, "memory");
- blobmsg_add_u32(&b, "total", info.mem_unit * info.totalram);
- blobmsg_add_u32(&b, "free", info.mem_unit * info.freeram);
- blobmsg_add_u32(&b, "shared", info.mem_unit * info.sharedram);
- blobmsg_add_u32(&b, "buffered", info.mem_unit * info.bufferram);
+ blobmsg_add_u64(&b, "total", info.mem_unit * info.totalram);
+ blobmsg_add_u64(&b, "free", info.mem_unit * info.freeram);
+ blobmsg_add_u64(&b, "shared", info.mem_unit * info.sharedram);
+ blobmsg_add_u64(&b, "buffered", info.mem_unit * info.bufferram);
blobmsg_close_table(&b, c);
c = blobmsg_open_table(&b, "swap");
blobmsg_close_table(&b, c);
c = blobmsg_open_table(&b, "swap");
- blobmsg_add_u32(&b, "total", info.mem_unit * info.totalswap);
- blobmsg_add_u32(&b, "free", info.mem_unit * info.freeswap);
+ blobmsg_add_u64(&b, "total", info.mem_unit * info.totalswap);
+ blobmsg_add_u64(&b, "free", info.mem_unit * info.freeswap);
+static int system_reboot(struct ubus_context *ctx, struct ubus_object *obj,
+ struct ubus_request_data *req, const char *method,
+ struct blob_attr *msg)
+{
+ procd_shutdown(RB_AUTOBOOT);
+ return 0;
+}
+
UBUS_METHOD_NOARG("board", system_board),
UBUS_METHOD_NOARG("info", system_info),
UBUS_METHOD_NOARG("upgrade", system_upgrade),
UBUS_METHOD_NOARG("board", system_board),
UBUS_METHOD_NOARG("info", system_info),
UBUS_METHOD_NOARG("upgrade", system_upgrade),
UBUS_METHOD("watchdog", watchdog_set, watchdog_policy),
UBUS_METHOD("signal", proc_signal, signal_policy),
UBUS_METHOD("watchdog", watchdog_set, watchdog_policy),
UBUS_METHOD("signal", proc_signal, signal_policy),