4e5d6c85bdea92b93c2262f87172daa4206c0ca2
[sysstatus.git] / sysstatus.c
1 #include <stdio.h>
2 #include <fcntl.h>
3 #include <stdlib.h>
4 #include <unistd.h>
5 #include "statuses/uptime.h"
6 #include "statuses/memusage.h"
7 #include "statuses/cpuusage.h"
8 #include "statuses/netif.h"
9 #include "statuses/power.h"
10 #include "statuses/volume_alsa.h"
11 #include "statuses/temp.h"
12 #include "statuses/datetime.h"
13 #include "config.h"
14
15 void updatestatus()
16 {
17         //status_uptime();
18
19         status_cpuusage();
20
21         status_power();
22
23         status_memusage();
24
25         status_netif("eth0");
26         status_netif("eth1");
27         status_netif("wlan0");
28         status_netif("wlan1");
29         status_netif("ppp0");
30
31         status_temp("GPU: ", "/sys/class/hwmon/hwmon0/device/temp4_input");
32         status_temp("CPU: ", "/sys/class/hwmon/hwmon0/device/temp2_input");
33
34         status_volume_alsa("default", "Master", 0);
35
36         status_datetime();
37
38         fputs("\n", stdout);
39         fflush(stdout);
40 }
41
42 int main()
43 {
44         struct timeval tv;
45
46         for(;;)
47         {
48                 updatestatus();
49
50                 tv.tv_sec = UPDATE_SECS;
51                 tv.tv_usec = 0;
52
53                 select(0, NULL, NULL, NULL, &tv);
54         }
55
56         return 0;
57 }