diff options
Diffstat (limited to 'cmd/cmd_uptime.c')
-rw-r--r-- | cmd/cmd_uptime.c | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/cmd/cmd_uptime.c b/cmd/cmd_uptime.c new file mode 100644 index 0000000..6a9c963 --- /dev/null +++ b/cmd/cmd_uptime.c @@ -0,0 +1,34 @@ +#include "cmd_uptime.h" + +#define PROCFS_PATH "/proc" +#define PROCFS_UPTIME_PATH PROCFS_PATH "/uptime" + +void *cmd_uptime(void *data) +{ + char *param = (char *)data; + char *ret = NULL; + + const int buf_size = 128; + char buf[buf_size+1]; + + printf("UPTIME\n"); + + FILE *f=NULL; + double d1,d2; + int i1,i2; + + f = fopen(PROCFS_UPTIME_PATH,"r"); + fscanf(f,"%lf %lf", &d1, &d2); + fclose(f); + + printf("Readed %lf %lf\n", d1, d2); + i1 = d1; + i2 = d2; + + printf("Days %d Hours %d Minutes %d\n",i1/(3600*24),i1/(3600)%24, (i1/60)%60); + snprintf(buf, buf_size,"%dd %dh %dm\n",i1/(3600*24),i1/(3600)%24, (i1/60)%60); + + ret = alloc_new_str(buf); + + return ret; +}
\ No newline at end of file |