blob: ac9eb1aa49a6c811746e52500aa383a43c8191a7 (
plain) (
tree)
|
|
#include "cmd_botu.h"
#define BILLION 1000000000L
void *cmd_botu(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;
}
|