diff options
Diffstat (limited to 'cmd')
-rw-r--r-- | cmd/cmd_lua.c | 46 | ||||
-rw-r--r-- | cmd/cmd_lua.h | 17 |
2 files changed, 63 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; +} diff --git a/cmd/cmd_lua.h b/cmd/cmd_lua.h new file mode 100644 index 0000000..e2a0c4d --- /dev/null +++ b/cmd/cmd_lua.h @@ -0,0 +1,17 @@ +#ifndef __CMD_LUA_H +#define __CMD_LUA_H + +#include <stdlib.h> +#include <stdio.h> +#include <stdint.h> +#include <time.h> +#include <unistd.h> +#include <sys/types.h> +#include <sys/stat.h> + +#include "util.h" +#include "debug.h" + +void *cmd_lua(void *data); + +#endif
\ No newline at end of file |