summaryrefslogtreecommitdiff
path: root/cmd/cmd_lua.c
diff options
context:
space:
mode:
Diffstat (limited to 'cmd/cmd_lua.c')
-rw-r--r--cmd/cmd_lua.c46
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;
+}