extern int errno; struct utsname { char sysname[9],nodename[9],release[9],version[9],machine[9]; }; static char def_node[] = "unknown"; static char rel[] = "4.2BSD"; static char ver[] = "vm"; static char mach[] = "sun"; uname(nm) register struct utsname *nm; { register char *p = nm->nodename; while (p <= nm->release) *p++ = 0; if (gethostname(nm->nodename,9) == -1) { strcpy(nm->nodename, def_node); } strncpy(nm->sysname,nm->nodename,9); strncpy(nm->release,rel,9); strncpy(nm->version,ver,9); strncpy(nm->machine,mach,9); return 0; }