BSD 4_3_Net_2 development
[unix-history] / usr / src / contrib / isode / snmp / gawk-2.11 / s-gawk / mib.system
function services(i, s) {
if (i >= 128){ printf "%d", i; return; }
s = "%s";
if (i >= 64) { printf s, "applications"; s = ", %s"; i -= 64; }
if (i >= 32) { printf s, "presentation"; s = ", %s"; i -= 32; }
if (i >= 16) { printf s, "session"; s = ", %s"; i -= 16; }
if (i >= 8) { printf s, "end-to-end"; s = ", %s"; i -= 8; }
if (i >= 4) { printf s, "internet"; s = ", %s"; i -= 4; }
if (i >= 2) { printf s, "datalink"; s = ", %s"; i -= 2; }
if (i >= 1) { printf s, "physical"; s = ", %s"; i -= 1; }
}
function uptime(ds) {
s = ds / 100; ds = ds % 100;
m = s / 60; s = s % 60;
h = m / 60; m = m % 60;
d = h / 24; h = h % 24;
if (d > 0) { printf "%d days, ", d; }
if (d > 0 || h > 0) { printf "%d hours, ", h; }
if (d > 0 || h > 0 || m > 0) { printf "%d minutes, ", m; }
printf "%d", s;
if (ds > 0) { printf ".%02d", ds; }
printf " seconds";
}
BEGIN {
didone = 0;
for (i in sysDescr) {
didone = 1;
if ((name = sysName) == "")
name = AGENT;
printf "agent %s\n", name;
printf "%10.10s: %s\n", "running", sysDescr;
printf "%10.10s (%s)\n", "", sysObjectID;
if (name = sysServices) {
printf "%10.10s: ", "services";
services(name);
printf "\n";
}
if (name = sysLocation)
printf "%10.10s: %s\n", "location", name;
if (name = sysContact)
printf "%10.10s: %s\n", "contact", name;
printf "%10.10s: ", "uptime";
uptime(sysUpTime);
printf "\n";
}
if (!didone && DIAGNOSTIC)
printf "system group: %s\n", DIAGNOSTIC;
}