|
Lines 91-96
Link Here
|
| 91 |
{ |
91 |
{ |
| 92 |
union acpi_battery_ioctl_arg battio; |
92 |
union acpi_battery_ioctl_arg battio; |
| 93 |
const char *pwr_units; |
93 |
const char *pwr_units; |
|
|
94 |
u_int32_t dcap; |
| 95 |
int h, m, s; |
| 94 |
|
96 |
|
| 95 |
if (num < 0 || num > 64) |
97 |
if (num < 0 || num > 64) |
| 96 |
err(EX_USAGE, "invalid battery %d", num); |
98 |
err(EX_USAGE, "invalid battery %d", num); |
|
Lines 108-113
Link Here
|
| 108 |
printf("Design capacity:\tUnknown\n"); |
110 |
printf("Design capacity:\tUnknown\n"); |
| 109 |
else |
111 |
else |
| 110 |
printf("Design capacity:\t%d %s\n", battio.bif.dcap, pwr_units); |
112 |
printf("Design capacity:\t%d %s\n", battio.bif.dcap, pwr_units); |
|
|
113 |
dcap = battio.bif.dcap; |
| 111 |
if (battio.bif.lfcap == UNKNOWN_CAP) |
114 |
if (battio.bif.lfcap == UNKNOWN_CAP) |
| 112 |
printf("Last full capacity:\tUnknown\n"); |
115 |
printf("Last full capacity:\tUnknown\n"); |
| 113 |
else |
116 |
else |
|
Lines 151-156
Link Here
|
| 151 |
else |
154 |
else |
| 152 |
printf("Remaining capacity:\t%d %s\n", battio.bst.cap, |
155 |
printf("Remaining capacity:\t%d %s\n", battio.bst.cap, |
| 153 |
pwr_units); |
156 |
pwr_units); |
|
|
157 |
if (battio.bst.cap == UNKNOWN_CAP || |
| 158 |
dcap == UNKNOWN_CAP || dcap == 0) |
| 159 |
printf("Remaining life:\t\tUnknown\n"); |
| 160 |
else |
| 161 |
printf("Remaining life:\t\t%.1f %%\n", |
| 162 |
100.0 * battio.bst.cap / dcap); |
| 163 |
h = (battio.bst.state & ACPI_BATT_STAT_DISCHARG && |
| 164 |
battio.bst.cap != UNKNOWN_CAP && |
| 165 |
battio.bst.rate != UNKNOWN_CAP && |
| 166 |
battio.bst.rate != 0) ? |
| 167 |
3600 * battio.bst.cap / battio.bst.rate : 0; |
| 168 |
s = h % 60; |
| 169 |
h /= 60; |
| 170 |
m = h % 60; |
| 171 |
h /= 60; |
| 172 |
printf("Remaining time:\t\t%d:%02d:%02d\n", h, m, s); |
| 154 |
if (battio.bst.volt == UNKNOWN_CAP) |
173 |
if (battio.bst.volt == UNKNOWN_CAP) |
| 155 |
printf("Volt:\t\t\tUnknown\n"); |
174 |
printf("Volt:\t\t\tUnknown\n"); |
| 156 |
else |
175 |
else |