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