diff options
Diffstat (limited to 'cmd/cmd_lua.c')
-rw-r--r-- | cmd/cmd_lua.c | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/cmd/cmd_lua.c b/cmd/cmd_lua.c new file mode 100644 index 0000000..a4d7573 --- /dev/null +++ b/cmd/cmd_lua.c @@ -0,0 +1,46 @@ +#include "cmd_lua.h" + +#define BILLION 1000000000L + +void *cmd_lua(void *data) +{ + char *ret = NULL; + int fret=-1; + + const int buf_size = 128; + char buf[buf_size+1]; + + struct timespec start; + struct stat file_stat; + uint64_t proc_sec; + + printf("BOTU\n"); + + stat("/proc/self",&file_stat); + + /* + CHECK PREDIFINED MACROSES IF SUCH FUNCTIONALITY EXCISTS OR NOT + */ + #if _POSIX_C_SOURCE < 199309L + ERROR("Dont have functionality\n"); + #endif + + fret = clock_gettime(CLOCK_REALTIME, &start); + if (fret<0) + { + perror("clock gettime"); + ret = alloc_new_str("Can get clock thread uptime\n"); + return ret; + } + + proc_sec = start.tv_sec - file_stat.st_ctim.tv_sec; + + snprintf(buf, buf_size, "%lud %luh %lum %lus", + (proc_sec/(3600*24)), + (proc_sec/(3600))%24, + (proc_sec/60)%60, + proc_sec%60); + ret = alloc_new_str(buf); + + return ret; +} |