Lines 136-151
acpi_battinfo(int num)
Link Here
|
136 |
if (ioctl(acpifd, ACPIIO_BATT_GET_BATTINFO, &battio) == -1) |
136 |
if (ioctl(acpifd, ACPIIO_BATT_GET_BATTINFO, &battio) == -1) |
137 |
err(EX_IOERR, "get battery user info (%d) failed", num); |
137 |
err(EX_IOERR, "get battery user info (%d) failed", num); |
138 |
if (battio.battinfo.state != ACPI_BATT_STAT_NOT_PRESENT) { |
138 |
if (battio.battinfo.state != ACPI_BATT_STAT_NOT_PRESENT) { |
139 |
printf("State:\t\t\t"); |
139 |
const char *state; |
140 |
if (battio.battinfo.state == 0) |
140 |
switch (battio.battinfo.state & ACPI_BATT_STAT_BST_MASK) { |
141 |
printf("high "); |
141 |
case 0: |
142 |
if (battio.battinfo.state & ACPI_BATT_STAT_CRITICAL) |
142 |
state = "high"; |
143 |
printf("critical "); |
143 |
break; |
144 |
if (battio.battinfo.state & ACPI_BATT_STAT_DISCHARG) |
144 |
case ACPI_BATT_STAT_DISCHARG: |
145 |
printf("discharging "); |
145 |
state = "discharging"; |
146 |
if (battio.battinfo.state & ACPI_BATT_STAT_CHARGING) |
146 |
break; |
147 |
printf("charging "); |
147 |
case ACPI_BATT_STAT_CHARGING: |
148 |
printf("\n"); |
148 |
state = "charging"; |
|
|
149 |
break; |
150 |
case ACPI_BATT_STAT_CRITICAL: |
151 |
state = "critical"; |
152 |
break; |
153 |
case ACPI_BATT_STAT_DISCHARG | ACPI_BATT_STAT_CRITICAL: |
154 |
state = "critical discharging"; |
155 |
break; |
156 |
case ACPI_BATT_STAT_CHARGING | ACPI_BATT_STAT_CRITICAL: |
157 |
state = "critical charging"; |
158 |
break; |
159 |
default: |
160 |
state = "invalid"; |
161 |
} |
162 |
printf("State:\t\t\t%s\n", state); |
149 |
if (battio.battinfo.cap == -1) |
163 |
if (battio.battinfo.cap == -1) |
150 |
printf("Remaining capacity:\tunknown\n"); |
164 |
printf("Remaining capacity:\tunknown\n"); |
151 |
else |
165 |
else |