Add a "uname -r" feature to see which kernel is runningmaster
@@ -8,3 +8,4 @@ Thanks you very much for your great help! | |||||
- [sahne](https://github.com/sahne) | - [sahne](https://github.com/sahne) | ||||
- [Ali H. Fardan](http://raiz.duckdns.org) | - [Ali H. Fardan](http://raiz.duckdns.org) | ||||
- [Quentin Rameau](https://fifth.space) | - [Quentin Rameau](https://fifth.space) | ||||
- [Mike Coddington](https://coddington.us) |
@@ -17,6 +17,7 @@ The following information is included: | |||||
- Username/GID/UID | - Username/GID/UID | ||||
- Hostname | - Hostname | ||||
- IP addresses | - IP addresses | ||||
- Kernel version | |||||
- Load averages | - Load averages | ||||
- Memory status (free memory, percentage, total memory and used memory) | - Memory status (free memory, percentage, total memory and used memory) | ||||
- Swap status (free swap, percentage, total swap and used swap) | - Swap status (free swap, percentage, total swap and used swap) | ||||
@@ -19,6 +19,7 @@ | |||||
- gid (gid of current user) [argument: NULL] | - gid (gid of current user) [argument: NULL] | ||||
- hostname [argument: NULL] | - hostname [argument: NULL] | ||||
- ip (ip address) [argument: interface] | - ip (ip address) [argument: interface] | ||||
- kernel_release (uname -r) [argument: NULL] | |||||
- load_avg (load average) [argument: NULL] | - load_avg (load average) [argument: NULL] | ||||
- ram_free (free ram in GB) [argument: NULL] | - ram_free (free ram in GB) [argument: NULL] | ||||
- ram_perc (ram usage in percent) [argument: NULL] | - ram_perc (ram usage in percent) [argument: NULL] | ||||
@@ -20,6 +20,7 @@ | |||||
#include <sys/socket.h> | #include <sys/socket.h> | ||||
#include <sys/sysinfo.h> | #include <sys/sysinfo.h> | ||||
#include <sys/types.h> | #include <sys/types.h> | ||||
#include <sys/utsname.h> | |||||
#include <time.h> | #include <time.h> | ||||
#include <unistd.h> | #include <unistd.h> | ||||
#include <X11/Xlib.h> | #include <X11/Xlib.h> | ||||
@@ -68,6 +69,7 @@ static char *username(void); | |||||
static char *vol_perc(const char *card); | static char *vol_perc(const char *card); | ||||
static char *wifi_perc(const char *iface); | static char *wifi_perc(const char *iface); | ||||
static char *wifi_essid(const char *iface); | static char *wifi_essid(const char *iface); | ||||
static char *kernel_release(void); | |||||
static void set_status(const char *str); | static void set_status(const char *str); | ||||
static void sighandler(const int signo); | static void sighandler(const int signo); | ||||
static void usage(void); | static void usage(void); | ||||
@@ -721,6 +723,16 @@ wifi_essid(const char *iface) | |||||
return smprintf("%s", (char *)wreq.u.essid.pointer); | return smprintf("%s", (char *)wreq.u.essid.pointer); | ||||
} | } | ||||
static char * | |||||
kernel_release(void) | |||||
{ | |||||
struct utsname udata; | |||||
if (uname(&udata) < 0) | |||||
return smprintf(UNKNOWN_STR); | |||||
return smprintf("%s", udata.release); | |||||
} | |||||
static void | static void | ||||
set_status(const char *str) | set_status(const char *str) | ||||
{ | { | ||||