function services(i, s) {
if (i >= 128){ printf "%d", i; return; }
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; }
s = ds / 100; ds = ds % 100;
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; }
if (ds > 0) { printf ".%02d", ds; }
if ((name = sysName) == "")
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";
printf "%10.10s: %s\n", "location", name;
printf "%10.10s: %s\n", "contact", name;
printf "%10.10s: ", "uptime";
if (!didone && DIAGNOSTIC)
printf "system group: %s\n", DIAGNOSTIC;