it* dwmstatus for OpenBSD Err codevoid.de 70 i Err codevoid.de 70 hgit clone git://git.codevoid.de/dwmstatus-sdk URL:git://git.codevoid.de/dwmstatus-sdk codevoid.de 70 1Log /git/dwmstatus-sdk/log.gph codevoid.de 70 1Files /git/dwmstatus-sdk/files.gph codevoid.de 70 1Refs /git/dwmstatus-sdk/refs.gph codevoid.de 70 1LICENSE /git/dwmstatus-sdk/file/LICENSE.gph codevoid.de 70 i--- Err codevoid.de 70 1commit e5af0098dd9d10ef0d8b5004fce2a244b46422d1 /git/dwmstatus-sdk/commit/e5af0098dd9d10ef0d8b5004fce2a244b46422d1.gph codevoid.de 70 1parent ab367a96f64c78ed3677259b3b86ba96e2307d50 /git/dwmstatus-sdk/commit/ab367a96f64c78ed3677259b3b86ba96e2307d50.gph codevoid.de 70 hAuthor: Stefan Hagen URL:mailto:sh+git[at]codevoid[dot]de codevoid.de 70 iDate: Tue, 13 Nov 2018 16:26:06 +0100 Err codevoid.de 70 i Err codevoid.de 70 iRemove FreeBSD ifdef Err codevoid.de 70 i Err codevoid.de 70 iDiffstat: Err codevoid.de 70 i M dwmstatus.c | 57 +++---------------------------- Err codevoid.de 70 i Err codevoid.de 70 i1 file changed, 4 insertions(+), 53 deletions(-) Err codevoid.de 70 i--- Err codevoid.de 70 1diff --git a/dwmstatus.c b/dwmstatus.c /git/dwmstatus-sdk/file/dwmstatus.c.gph codevoid.de 70 it@@ -2,7 +2,6 @@ Err codevoid.de 70 i * Copy me if you can. Err codevoid.de 70 i * by 20h Err codevoid.de 70 i * Err codevoid.de 70 i- * done. ~sdk Err codevoid.de 70 i */ Err codevoid.de 70 i Err codevoid.de 70 i #define _BSD_SOURCE Err codevoid.de 70 it@@ -19,11 +18,9 @@ Err codevoid.de 70 i #include Err codevoid.de 70 i #include Err codevoid.de 70 i #include Err codevoid.de 70 i- Err codevoid.de 70 i #include Err codevoid.de 70 i- Err codevoid.de 70 i-#include // freebsd Err codevoid.de 70 i-#include // freebsd Err codevoid.de 70 i+#include Err codevoid.de 70 i+#include Err codevoid.de 70 i Err codevoid.de 70 i // configuration Err codevoid.de 70 i #define UPDATE_INTERVAL 10 Err codevoid.de 70 it@@ -70,63 +67,17 @@ getfreespace(const char *path) { Err codevoid.de 70 i return smprintf("%ld", (vfs.f_bavail * vfs.f_bsize) / 1024 / 1024); Err codevoid.de 70 i } Err codevoid.de 70 i Err codevoid.de 70 i-/* Use FreeBSDs sysctl to retrieve information Err codevoid.de 70 i- * Sysctl may return different types, so you want Err codevoid.de 70 i- * to call the appropriate smprintf() in main(); Err codevoid.de 70 i- */ Err codevoid.de 70 i char * Err codevoid.de 70 i getsysctl(char *input_str) { Err codevoid.de 70 i-#ifdef __FreeBSD__ Err codevoid.de 70 i char *ret_val; Err codevoid.de 70 i size_t ret_size; Err codevoid.de 70 i Err codevoid.de 70 i- sysctlbyname(input_str, NULL, &ret_size, NULL, 0); Err codevoid.de 70 i- ret_val = malloc(ret_size); Err codevoid.de 70 i- Err codevoid.de 70 i- // call to get size Err codevoid.de 70 i- sysctlbyname(input_str, NULL, &ret_size, NULL, 0); Err codevoid.de 70 i- Err codevoid.de 70 i- // allocate memory Err codevoid.de 70 i- ret_val = malloc(ret_size); Err codevoid.de 70 i- Err codevoid.de 70 i- // retrieve value Err codevoid.de 70 i- sysctlbyname(input_str, &ret_val, &ret_size, NULL, 0); Err codevoid.de 70 i- Err codevoid.de 70 i- // caller must know how to interpret this (s or i) Err codevoid.de 70 i- return ret_val; Err codevoid.de 70 i-#else Err codevoid.de 70 i- return smprintf("N/A"); Err codevoid.de 70 i-#endif Err codevoid.de 70 i+ return "not implemented"; Err codevoid.de 70 i } Err codevoid.de 70 i Err codevoid.de 70 i-/* Use FreeBSDs mixer device to determine the master Err codevoid.de 70 i- * volume. Returns the volume % as int. Err codevoid.de 70 i- */ Err codevoid.de 70 i char * Err codevoid.de 70 i getvolume(char *mixerpath) { Err codevoid.de 70 i-#ifdef __FreeBSD__ Err codevoid.de 70 i- char defaultmixer[] = "/dev/mixer"; Err codevoid.de 70 i- int mixfd, vol, devmask = 0; Err codevoid.de 70 i- Err codevoid.de 70 i- if (mixerpath == NULL) Err codevoid.de 70 i- mixerpath = defaultmixer; Err codevoid.de 70 i- Err codevoid.de 70 i- if ((mixfd = open(mixerpath, O_RDWR)) < 0) { Err codevoid.de 70 i- smprintf(("Cannot open mixer")); Err codevoid.de 70 i- } Err codevoid.de 70 i- Err codevoid.de 70 i- if (ioctl(mixfd, SOUND_MIXER_READ_DEVMASK, &devmask) == -1) { Err codevoid.de 70 i- smprintf(("Cannot read mixer info")); Err codevoid.de 70 i- } Err codevoid.de 70 i- if (ioctl(mixfd, MIXER_READ(0), &vol) == -1) { Err codevoid.de 70 i- smprintf(("Cannot read mixer info")); Err codevoid.de 70 i- } Err codevoid.de 70 i- close(mixfd); Err codevoid.de 70 i- return smprintf("%i", vol & 0x7f); Err codevoid.de 70 i-#else Err codevoid.de 70 i- return smprintf("N/A"); Err codevoid.de 70 i-#endif Err codevoid.de 70 i- Err codevoid.de 70 i+ return smprintf("not implemented"); Err codevoid.de 70 i } Err codevoid.de 70 i Err codevoid.de 70 i void Err codevoid.de 70 .