/********************************************************************** * 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); }