26 lines
		
	
	
	
		
			555 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			26 lines
		
	
	
	
		
			555 B
		
	
	
	
		
			C
		
	
	
	
	
	
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;
 | 
						|
}
 |