blob: d5a9e4eab2c1244cab30ae7196008a2b9189d489 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
#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\n",
(proc_sec/(3600*24)),
(proc_sec/(3600))%24,
(proc_sec/60)%60,
proc_sec%60);
ret = alloc_new_str(buf);
return ret;
}
|