=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/uname/uname.c,v retrieving revision 1.2 retrieving revision 1.3 diff -c -r1.2 -r1.3 *** src/usr.bin/uname/uname.c 1996/06/26 05:42:07 1.2 --- src/usr.bin/uname/uname.c 1998/02/24 00:06:00 1.3 *************** *** 1,4 **** ! /* $OpenBSD: uname.c,v 1.2 1996/06/26 05:42:07 deraadt Exp $ */ /* * Copyright (c) 1994 Winning Strategies, Inc. --- 1,4 ---- ! /* $OpenBSD: uname.c,v 1.3 1998/02/24 00:06:00 deraadt Exp $ */ /* * Copyright (c) 1994 Winning Strategies, Inc. *************** *** 32,44 **** */ #ifndef lint ! static char rcsid[] = "$OpenBSD: uname.c,v 1.2 1996/06/26 05:42:07 deraadt Exp $"; #endif /* not lint */ #include #include #include #include #include static void usage(); --- 32,46 ---- */ #ifndef lint ! static char rcsid[] = "$OpenBSD: uname.c,v 1.3 1998/02/24 00:06:00 deraadt Exp $"; #endif /* not lint */ + #include #include #include #include #include + #include #include static void usage(); *************** *** 49,54 **** --- 51,57 ---- #define PRINT_VERSION 0x08 #define PRINT_MACHINE 0x10 #define PRINT_ALL 0x1f + #define PRINT_PROCESSOR 0x20 int main(argc, argv) *************** *** 62,68 **** setlocale(LC_ALL, ""); ! while ((c = getopt(argc,argv,"amnrsv")) != -1 ) { switch ( c ) { case 'a': print_mask |= PRINT_ALL; --- 65,71 ---- setlocale(LC_ALL, ""); ! while ((c = getopt(argc,argv,"amnrsvp")) != -1 ) { switch ( c ) { case 'a': print_mask |= PRINT_ALL; *************** *** 82,87 **** --- 85,93 ---- case 'v': print_mask |= PRINT_VERSION; break; + case 'p': + print_mask |= PRINT_PROCESSOR; + break; default: usage(); /* NOTREACHED */ *************** *** 122,127 **** --- 128,146 ---- if (space++) putchar(' '); fputs(u.machine, stdout); } + if (print_mask & PRINT_PROCESSOR) { + char buf[1024]; + size_t len; + int mib[2]; + + if (space++) putchar(' '); + mib[0] = CTL_HW; + mib[1] = HW_MODEL; + len = sizeof(buf); + if (sysctl(mib, 2, &buf, &len, NULL, 0) == -1) + err(1, "sysctl"); + printf("%.*s", len, buf); + } putchar('\n'); exit(0);