Ultrix-3.1/src/cmd/uname.c
/**********************************************************************
* Copyright (c) Digital Equipment Corporation 1984, 1985, 1986. *
* All Rights Reserved. *
* Reference "/usr/src/COPYRIGHT" for applicable restrictions. *
**********************************************************************/
static char Sccsid[] = "@(#)uname.c 3.0 4/22/86";
/* System 5 @(#)uname.c 1.2 */
#include <stdio.h>
#include <sys/utsname.h>
struct utsname unstr, *un;
main(argc, argv)
char **argv;
int argc;
{
register i;
int sflg=1, nflg=0, rflg=0, vflg=0, mflg=0, errflg=0;
int optlet;
un = &unstr;
uname(un);
while((optlet=getopt(argc, argv, "asnrvm")) != EOF) switch(optlet) {
case 'a':
sflg++; nflg++; rflg++; vflg++; mflg++;
break;
case 's':
sflg++;
break;
case 'n':
nflg++;
break;
case 'r':
rflg++;
break;
case 'v':
vflg++;
break;
case 'm':
mflg++;
break;
case '?':
errflg++;
}
if(errflg) {
fprintf(stderr, "usage: uname [-snrvma]\n");
exit(1);
}
if(nflg | rflg | vflg | mflg) sflg--;
if(sflg)
fprintf(stdout, "%.16s", un->sysname);
if(nflg) {
if(sflg) putchar(' ');
fprintf(stdout, "%.16s", un->nodename);
}
if(rflg) {
if(sflg | nflg) putchar(' ');
fprintf(stdout, "%.16s", un->release);
}
if(vflg) {
if(sflg | nflg | rflg) putchar(' ');
fprintf(stdout, "%.16s", un->version);
}
if(mflg) {
if(sflg | nflg | rflg | vflg) putchar(' ');
fprintf(stdout, "%.16s", un->machine);
}
putchar('\n');
exit(0);
}