src/system_resource.c: Convert kilbytes to bytes and MHz to Hz.
[routeros-api.git] / src / system_resource.c
index 2e1ef85..f3472b7 100644 (file)
@@ -62,7 +62,7 @@ static int rt_reply_to_system_resource (const ros_reply_t *r, /* {{{ */
        if (strcmp ("re", ros_reply_status (r)) != 0)
                return (rt_reply_to_system_resource (ros_reply_next (r), ret));
 
-       /* TODO: Uptime */
+       ret->uptime = sstrtodate (ros_reply_param_val_by_key (r, "uptime"));
 
        ret->version = ros_reply_param_val_by_key (r, "version");
        ret->architecture_name = ros_reply_param_val_by_key (r, "architecture-name");
@@ -71,13 +71,15 @@ static int rt_reply_to_system_resource (const ros_reply_t *r, /* {{{ */
        ret->cpu_model = ros_reply_param_val_by_key (r, "cpu");
        ret->cpu_count = sstrtoui (ros_reply_param_val_by_key (r, "cpu-count"));
        ret->cpu_load = sstrtoui (ros_reply_param_val_by_key (r, "cpu-load"));
-       ret->cpu_frequency = sstrtoui64 (ros_reply_param_val_by_key (r, "cpu-frequency"));
+       ret->cpu_frequency = sstrtoui64 (ros_reply_param_val_by_key (r, "cpu-frequency")) * 1000000;
 
-       ret->free_memory = sstrtoui64 (ros_reply_param_val_by_key (r, "free-memory"));
-       ret->total_memory = sstrtoui64 (ros_reply_param_val_by_key (r, "total-memory"));
+       /* One "kilobyte" is 1024 bytes, according to "janisk", see
+        * <http://forum.mikrotik.com/viewtopic.php?f=2&t=37943> */
+       ret->free_memory = sstrtoui64 (ros_reply_param_val_by_key (r, "free-memory")) * 1024;
+       ret->total_memory = sstrtoui64 (ros_reply_param_val_by_key (r, "total-memory")) * 1024;
 
-       ret->free_hdd_space = sstrtoui64 (ros_reply_param_val_by_key (r, "free-hdd-space"));
-       ret->total_hdd_space = sstrtoui64 (ros_reply_param_val_by_key (r, "total-hdd-space"));
+       ret->free_hdd_space = sstrtoui64 (ros_reply_param_val_by_key (r, "free-hdd-space")) * 1024;
+       ret->total_hdd_space = sstrtoui64 (ros_reply_param_val_by_key (r, "total-hdd-space")) * 1024;
 
        ret->write_sect_since_reboot = sstrtoui64 (ros_reply_param_val_by_key (r, "write-sect-since-reboot"));
        ret->write_sect_total = sstrtoui64 (ros_reply_param_val_by_key (r, "write-sect-total"));