version 1.1, 2007/02/23 22:02:58 |
version 1.2, 2007/02/23 22:09:53 |
|
|
mib[3] = type; |
mib[3] = type; |
for (numt = 0; numt < sensordev.maxnumt[type]; numt++) { |
for (numt = 0; numt < sensordev.maxnumt[type]; numt++) { |
mib[4] = numt; |
mib[4] = numt; |
if (sysctl(mib, 5, &sensor, &slen, NULL, 0) |
if (sysctl(mib, 5, &sensor, &slen, NULL, 0) |
== -1) { |
== -1) { |
if (errno != ENOENT) |
if (errno != ENOENT) |
warn("sysctl"); |
warn("sysctl"); |
|
|
} |
} |
|
|
const char *drvstat[] = { |
const char *drvstat[] = { |
NULL, "empty", "ready", "powerup", "online", "idle", "active", |
NULL, |
"rebuild", "powerdown", "fail", "pfail" |
"empty", "ready", "powerup", "online", "idle", "active", |
|
"rebuild", "powerdown", "fail", "pfail" |
}; |
}; |
|
|
void |
void |
|
|
wclrtoeol(wnd); |
wclrtoeol(wnd); |
mvwprintw(wnd, row, 0, "%s.%s%d", sensordev.xname, |
mvwprintw(wnd, row, 0, "%s.%s%d", sensordev.xname, |
sensor_type_s[sensor.type], sensor.numt); |
sensor_type_s[sensor.type], sensor.numt); |
switch(sensor.type) { |
switch (sensor.type) { |
case SENSOR_TEMP: |
case SENSOR_TEMP: |
mvwprintw(wnd, row, 24, "%10.2f degC", |
mvwprintw(wnd, row, 24, "%10.2f degC", |
(sensor.value - 273150000) / 1000000.0); |
(sensor.value - 273150000) / 1000000.0); |
|
|
mvwprintw(wnd, row, 24, "%15.2f lx", sensor.value / 1000000.0); |
mvwprintw(wnd, row, 24, "%15.2f lx", sensor.value / 1000000.0); |
break; |
break; |
case SENSOR_DRIVE: |
case SENSOR_DRIVE: |
if (0 < sensor.value && sensor.value < |
if (0 < sensor.value && |
sizeof(drvstat)/sizeof(drvstat[0])) { |
sensor.value < sizeof(drvstat)/sizeof(drvstat[0])) { |
mvwprintw(wnd, row, 24, "%15s", drvstat[sensor.value]); |
mvwprintw(wnd, row, 24, "%15s", drvstat[sensor.value]); |
break; |
break; |
} |
} |
|
|
default: |
default: |
mvwprintw(wnd, row, 24, "%10lld", sensor.value); |
mvwprintw(wnd, row, 24, "%10lld", sensor.value); |
} |
} |
if ((sensor.desc != NULL) && strlen(sensor.desc) < 1) |
if (sensor.desc != NULL && strlen(sensor.desc) < 1) |
mvwprintw(wnd, row, 58, "(%s%d)", |
mvwprintw(wnd, row, 58, "(%s%d)", |
sensor_type_s[sensor.type], sensor.numt); |
sensor_type_s[sensor.type], sensor.numt); |
else |
else |
mvwprintw(wnd, row, 58, "(%s)", sensor.desc); |
mvwprintw(wnd, row, 58, "(%s)", sensor.desc); |
|
|
switch (sensor.status) { |
switch (sensor.status) { |
case SENSOR_S_UNKNOWN: |
case SENSOR_S_UNKNOWN: |
mvwaddstr(wnd, row++, 45, "unknown"); |
mvwaddstr(wnd, row++, 45, "unknown"); |
|
|
mvwaddstr(wnd, row++, 45, "OK"); |
mvwaddstr(wnd, row++, 45, "OK"); |
break; |
break; |
} |
} |
|
|
} |
} |