committed by
Aaron Marcher
3 changed files with 34 additions and 35 deletions
@ -0,0 +1,32 @@ |
|||
/* See LICENSE file for copyright and license details. */ |
|||
#include <errno.h> |
|||
#include <stdio.h> |
|||
#include <string.h> |
|||
#include <sys/ioctl.h> |
|||
#include <fcntl.h> |
|||
#include <unistd.h> |
|||
#include <machine/apmvar.h> |
|||
|
|||
#include "../../util.h" |
|||
|
|||
const char * |
|||
battery_perc(const char *null) |
|||
{ |
|||
struct apm_power_info apm_info; |
|||
int fd; |
|||
|
|||
fd = open("/dev/apm", O_RDONLY); |
|||
if (fd < 0) { |
|||
fprintf(stderr, "open '/dev/apm': %s\n", strerror(errno)); |
|||
return NULL; |
|||
} |
|||
|
|||
if (ioctl(fd, APM_IOC_GETPOWER, &apm_info) < 0) { |
|||
fprintf(stderr, "ioctl 'APM_IOC_GETPOWER': %s\n", strerror(errno)); |
|||
close(fd); |
|||
return NULL; |
|||
} |
|||
close(fd); |
|||
|
|||
return bprintf("%d", apm_info.battery_life); |
|||
} |
|||
Loading…
Reference in new issue