aslstatus.h 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186
  1. /* See LICENSE file for copyright and license details. */
  2. #include <limits.h> /* PATH_MAX */
  3. #include <X11/Xlib.h>
  4. #include "os.h"
  5. #define FUNC_ARGS (char *, const char *, unsigned int, void *)
  6. typedef struct _func_t {
  7. void (*func) FUNC_ARGS;
  8. const char name[16];
  9. unsigned int static_size;
  10. } func_t;
  11. /* battery */
  12. void battery_perc FUNC_ARGS;
  13. #define battery_perc {battery_perc, "batt_percentage", 0}
  14. void battery_state FUNC_ARGS;
  15. #define battery_state {battery_state, "batt_state", 0}
  16. void battery_remaining FUNC_ARGS;
  17. #define battery_remaining {battery_remaining, "batt_remaining", 0}
  18. /* cpu */
  19. void cpu_freq FUNC_ARGS;
  20. #define cpu_freq {cpu_freq, "cpu_freq", 0}
  21. void cpu_perc FUNC_ARGS;
  22. #if ISBSD
  23. # include <sys/param.h> /* CPUSTATES */
  24. #else
  25. # define CPUSTATES 1
  26. #endif
  27. #define cpu_perc {cpu_perc, "cpu_percentage", 0 \
  28. + (LINUX * sizeof(long double [7])) \
  29. + (OBSD * sizeof(uintmax_t [CPUSTATES])) \
  30. + (FBSD * sizeof(long [CPUSTATES])) \
  31. }
  32. /* datetime */
  33. void datetime FUNC_ARGS;
  34. #define datetime {datetime, "datetime", 0}
  35. /* disk */
  36. void disk_free FUNC_ARGS;
  37. #define disk_free {disk_free, "disk_free", 0}
  38. void disk_perc FUNC_ARGS;
  39. #define disk_perc {disk_perc, "disk_percentage", 0}
  40. void disk_total FUNC_ARGS;
  41. #define disk_total {disk_total, "disk_total", 0}
  42. void disk_used FUNC_ARGS;
  43. #define disk_used {disk_used, "disk_used", 0}
  44. /* entropy */
  45. void entropy FUNC_ARGS;
  46. #define entropy {entropy, "entropy", 0}
  47. /* hostname */
  48. void hostname FUNC_ARGS;
  49. #define hostname {hostname, "hostname", 0}
  50. /* ip */
  51. void ipv4 FUNC_ARGS;
  52. #define ipv4 {ipv4, "ipv4", 0}
  53. void ipv6 FUNC_ARGS;
  54. #define ipv6 {ipv6, "ipv6", 0}
  55. /* kernel_release */
  56. void kernel_release FUNC_ARGS;
  57. #define kernel_release {kernel_release, "kernel_release", 0}
  58. /* keyboard_indicators */
  59. void keyboard_indicators FUNC_ARGS;
  60. #define keyboard_indicators {keyboard_indicators, "kbd_indicators", \
  61. sizeof(Display *)}
  62. /* keymap */
  63. void keymap FUNC_ARGS;
  64. #define keymap {keymap, "keymap", sizeof(Display *)}
  65. /* load_avg */
  66. void load_avg FUNC_ARGS;
  67. #define load_avg {load_avg, "load_avg", 0}
  68. /* netspeeds */
  69. void netspeed_rx FUNC_ARGS;
  70. #define netspeed_rx {netspeed_rx, "netspeed_rx", sizeof(uintmax_t)}
  71. void netspeed_tx FUNC_ARGS;
  72. #define netspeed_tx {netspeed_tx, "netspeed_tx", sizeof(uintmax_t)}
  73. /* num_files */
  74. void num_files FUNC_ARGS;
  75. #define num_files {num_files, "num_files", 0}
  76. /* ram */
  77. void ram_free FUNC_ARGS;
  78. #define ram_free {ram_free, "ram_free", 0}
  79. void ram_perc FUNC_ARGS;
  80. #define ram_perc {ram_perc, "ram_percentage", 0}
  81. void ram_total FUNC_ARGS;
  82. #define ram_total {ram_total, "ram_total", 0}
  83. void ram_used FUNC_ARGS;
  84. #define ram_used {ram_used, "ram_used", 0}
  85. /* run_command */
  86. void run_command FUNC_ARGS;
  87. #define run_command {run_command, "cmd", 0}
  88. /*
  89. * `cmd` thread name hardcodet to be used to run shell commands
  90. */
  91. /* swap */
  92. void swap_free FUNC_ARGS;
  93. #define swap_free {swap_free, "swap_free", 0}
  94. void swap_perc FUNC_ARGS;
  95. #define swap_perc {swap_perc, "swap_percentage", 0}
  96. void swap_total FUNC_ARGS;
  97. #define swap_total {swap_total, "swap_total", 0}
  98. void swap_used FUNC_ARGS;
  99. #define swap_used {swap_used, "swap_used", 0}
  100. /* temperature */
  101. void temp FUNC_ARGS;
  102. #define temp {temp, "temperature", LINUX * sizeof(char) * PATH_MAX}
  103. /* uptime */
  104. void uptime FUNC_ARGS;
  105. #define uptime {uptime, "uptime", 0}
  106. /* user */
  107. void gid FUNC_ARGS;
  108. #define gid {gid, "gid", 0}
  109. void uid FUNC_ARGS;
  110. #define uid {uid, "uid", 0}
  111. void username FUNC_ARGS;
  112. #define username {username, "username", 0}
  113. /* volume */
  114. #include "components/volume.h"
  115. void vol_perc FUNC_ARGS;
  116. #define vol_perc {vol_perc, "volume", VOLUME_STATIC_SIZE}
  117. /* wifi */
  118. void wifi_perc FUNC_ARGS;
  119. #define wifi_perc {wifi_perc, "wifi_percentage", 0}
  120. void wifi_essid FUNC_ARGS;
  121. #define wifi_essid {wifi_essid, "wifi_essid", 0}