#include #include #include typedef struct { unsigned short u16BatteryVoltage; /* battery voltage */ unsigned short u16ReferenceVoltage; /* reference voltage */ unsigned short u16ChargeCurrent; /* charge current */ } BATTERY_STATUS; #define BATTERY_DRIVER_MAGIC 'B' /* Battery driver magic number */ #define IOR_BATTERY_STATUS _IOR(BATTERY_DRIVER_MAGIC, 0, BATTERY_STATUS) #define IOW_BATTERY_CHARGER_ENABLE _IO(BATTERY_DRIVER_MAGIC, 1) #define IOW_BATTERY_CHARGER_DISABLE _IO(BATTERY_DRIVER_MAGIC, 2) int main () { unsigned char buff[1000]; int fd=open("/dev/battery",O_RDONLY|O_NOCTTY); if(fd<0) { puts("error"); } else { BATTERY_STATUS bs; if(ioctl(fd,IOR_BATTERY_STATUS,&bs)) puts("error"); else { srintf((char*)buff,"BatteryVoltage=%d",bs.u16BatteryVoltage); puts(buff); sprintf((char*)buff,"ReferenceVoltage=%d",bs.u16ReferenceVoltage); puts(buff); sprintf((char*)buff,"ChargeCurrent=%d",bs.u16ChargeCurrent); puts(buff); } } }