stty svclog svrctl swifi synctree sysenv \
syslogd tail tcpd tcpdp tcpstat telnet \
telnetd term termcap tget time touch \
- truncate udpstat umount uname \
+ truncate udpstat umount \
unstack update uud uue version vol \
whereis which writeisofs fetch \
zdump zmodem pkgin_cd pkgin_all \
+++ /dev/null
-PROG= uname
-MAN=
-
-LINKS+= ${BINDIR}/uname ${BINDIR}/arch
-
-.include <bsd.prog.mk>
+++ /dev/null
-/* uname - print system name Author: Earl Chew */
-
-/* Print the following system information as returned by the uname()
- * function:
- *
- * system name Minix
- * node name 10.0.2.15
- * release name 3.2.1
- * version Minix 3.2.1 (GENERIC)
- * machine name i686
- * arch i386 (Minix specific)
- */
-
-#include <sys/types.h>
-#include <sys/utsname.h>
-#include <stdarg.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-
-/* Define the uname components. */
-#define ALL ((unsigned) 0x1F)
-#define SYSNAME ((unsigned) 0x01)
-#define NODENAME ((unsigned) 0x02)
-#define RELEASE ((unsigned) 0x04)
-#define VERSION ((unsigned) 0x08)
-#define U_MACHINE ((unsigned) 0x10)
-#define ARCH ((unsigned) 0x20)
-
-int main(int argc, char **argv );
-void print(int fd, ... );
-void usage(void );
-
-#ifdef __STDC__
-void print(int fd, ...)
-#else
-void print(fd)
-int fd;
-#endif
-{
-/* Print a sequence of strings onto the named channel. */
- va_list argp;
- char *p;
-
- va_start(argp, fd);
- while (1) {
- p = va_arg(argp, char *);
- if (p == (char *) NULL) break;
- write(fd, p, strlen(p));
- }
- va_end(argp);
-}
-
-char *name;
-
-void usage()
-{
- print(STDERR_FILENO, "Usage: ", name, " -snrvmpa\n", (char *) NULL);
- exit(EXIT_FAILURE);
-}
-
-int main(argc, argv)
-int argc;
-char **argv;
-{
- int info;
- char *p;
- struct utsname un;
-
- name = strrchr(argv[0], '/');
- if (name == NULL) name = argv[0]; else name++;
-
- for (info = 0; argc > 1; argc--, argv++) {
- if (argv[1][0] == '-') {
- for (p = &argv[1][1]; *p; p++) {
- switch (*p) {
- case 'a': info |= ALL; break;
- case 'm': info |= U_MACHINE; break;
- case 'n': info |= NODENAME; break;
- case 'r': info |= RELEASE; break;
- case 's': info |= SYSNAME; break;
- case 'v': info |= VERSION; break;
- case 'p': info |= ARCH; break;
- default: usage();
- }
- }
- } else {
- usage();
- }
- }
-
- if (info == 0) info = strcmp(name, "arch") == 0 ? ARCH : SYSNAME;
-
- if (uname(&un) != 0) {
- print(STDERR_FILENO, "unable to determine uname values\n", (char *) NULL);
- exit(EXIT_FAILURE);
- }
-
- if ((info & SYSNAME) != 0)
- print(STDOUT_FILENO, un.sysname, (char *) NULL);
- if ((info & NODENAME) != 0) {
- if ((info & (SYSNAME)) != 0)
- print(STDOUT_FILENO, " ", (char *) NULL);
- print(STDOUT_FILENO, un.nodename, (char *) NULL);
- }
- if ((info & RELEASE) != 0) {
- if ((info & (SYSNAME|NODENAME)) != 0)
- print(STDOUT_FILENO, " ", (char *) NULL);
- print(STDOUT_FILENO, un.release, (char *) NULL);
- }
- if ((info & VERSION) != 0) {
- if ((info & (SYSNAME|NODENAME|RELEASE)) != 0)
- print(STDOUT_FILENO, " ", (char *) NULL);
- print(STDOUT_FILENO, un.version, (char *) NULL);
- }
- if ((info & U_MACHINE) != 0) {
- if ((info & (SYSNAME|NODENAME|RELEASE|VERSION)) != 0)
- print(STDOUT_FILENO, " ", (char *) NULL);
- print(STDOUT_FILENO, un.machine, (char *) NULL);
- }
- if ((info & ARCH) != 0) {
- if ((info & (SYSNAME|NODENAME|RELEASE|VERSION|U_MACHINE)) != 0)
- print(STDOUT_FILENO, " ", (char *) NULL);
- print(STDOUT_FILENO, un.arch, (char *) NULL);
- }
- print(STDOUT_FILENO, "\n", (char *) NULL);
- return EXIT_SUCCESS;
-}
stty.1 svc.1 svrctl.1 \
synctree.1 sysenv.1 sz.1 tail.1 telnet.1 template.1 \
term.1 termcap.1 tget.1 time.1 true.1 \
- truncate.1 umount.1 uname.1 \
+ truncate.1 umount.1 \
uud.1 uue.1 vol.1 whereis.1 which.1 \
yap.1 linkfarm.1 pkg_view.1
+++ /dev/null
-.TH UNAME 1
-.SH NAME
-uname, arch \- system info
-.SH SYNOPSIS
-\fBuname\fR [\fB\-snrvmpa\fR]\fR
-.br
-\fBarch\fR [\fB\-snrvmpa\fR]\fR
-.br
-.de FL
-.TP
-\\fB\\$1\\fR
-\\$2
-..
-.de EX
-.TP 20
-\\fB\\$1\\fR
-# \\$2
-..
-.SH OPTIONS
-.TP 5
-.B \-s
-# System name
-.TP 5
-.B \-n
-# Node/network name
-.TP 5
-.B \-r
-# Operating system release
-.TP 5
-.B \-v
-# Operating system version
-.TP 5
-.B \-m
-# Machine type
-.TP 5
-.B \-p
-# Processor family
-.TP 5
-.B \-a
-# Short for \fB\-snrvm\fR
-.SH EXAMPLES
-.TP 20
-.B uname -n
-# Print the name of the system
-.TP 20
-.B arch
-# Print the name of the system architecture
-.SH DESCRIPTION
-.PP
-\fIUname\fP and \fIarch\fP give information about the system. The options
-indicate which information strings must be printed. These strings are always
-in the same order. \fIUname\fP and \fIarch\fP only differ w.r.t. the default
-string to print, \fB\-s\fP and \fB\-p\fP respectively.
-.PP
-The strings are compiled into the commands except for the node name, it is
-obtained from the file \fI/etc/hostname.file\fP. \fBUname \-m\fP should
-return the actual machine type, not the same string as with \fB\-p\fP.
-.SH "SEE ALSO"
-.BR uname (3).
2012/10/17 12:00:00,usr.bin/tsort
2012/10/17 12:00:00,usr.bin/tty
2012/10/17 12:00:00,usr.bin/ul
+2013/09/06 12:00:00,usr.bin/uname
2012/10/17 12:00:00,usr.bin/unifdef
2010/10/06 07:59:18,usr.bin/uniq
2013/10/23 12:00:00,usr.bin/units
sdiff sed seq shlock \
shuffle soelim sort split stat su \
tee tic tput \
- tr tsort tty ul unexpand unifdef \
+ tr tsort tty ul uname unexpand unifdef \
toproto \
uniq units unvis unzip users \
uuidgen vis \
\
- wc what whatis who whois \
+ wc what who whois \
write xargs xinstall xstr yes
.if !defined(__MINIX)
# Minix commands
SUBDIR+= top
+SUBDIR+= toproto
-# LSC FIXME For now we compile unconditionnaly apropos even if we
+# LSC FIXME For now we compile unconditionnaly apropos and whatis even if we
# do not have whatis
-SUBDIR+= apropos
+SUBDIR+= apropos whatis
.endif # defie
.if (${MKMAKEMANDB} == "no")
--- /dev/null
+# $NetBSD: Makefile,v 1.3 1997/01/09 20:23:11 tls Exp $
+# from: @(#)Makefile 5.3 (Berkeley) 5/11/90
+
+PROG= uname
+
+.if defined(__MINIX)
+LINKS+= ${BINDIR}/uname ${BINDIR}/arch
+.endif # __MINIX
+
+.include <bsd.prog.mk>
--- /dev/null
+.\" $NetBSD: uname.1,v 1.12 2005/03/27 18:41:22 peter Exp $
+.\"
+.\" Copyright (c) 1990 The Regents of the University of California.
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" from: @(#)du.1 6.13 (Berkeley) 6/20/91
+.\" $NetBSD: uname.1,v 1.12 2005/03/27 18:41:22 peter Exp $
+.\"
+.Dd November 9, 1998
+.Dt UNAME 1
+.Os
+.Sh NAME
+.Nm uname
+.Nd Print operating system name
+.Sh SYNOPSIS
+.Nm
+.Op Fl amnprsv
+.Sh DESCRIPTION
+The
+.Nm
+utility writes symbols representing one or more system characteristics
+to the standard output.
+.Pp
+The following options are available:
+.Bl -tag -width indent
+.It Fl a
+Behave as though all of the options
+.Fl mnrsv
+were specified.
+.It Fl m
+print the machine hardware name.
+.It Fl n
+print the nodename (the nodename may be a name
+that the system is known by to a communications
+network).
+.It Fl p
+print the machine processor architecture name.
+.It Fl r
+print the operating system release.
+.It Fl s
+print the operating system name.
+.It Fl v
+print the operating system version.
+.El
+.Pp
+If no options are specified,
+.Nm
+prints the operating system name as if the
+.Fl s
+option had been specified.
+.Sh SEE ALSO
+.Xr hostname 1 ,
+.Xr machine 1 ,
+.Xr uname 3
+.Sh STANDARDS
+The
+.Nm
+utility conforms to
+.St -p1003.2-92 .
+The
+.Fl p
+option is an extension to the standard.
--- /dev/null
+/* $NetBSD: uname.c,v 1.11 2011/09/06 18:35:13 joerg Exp $ */
+
+/*
+ * Copyright (c) 1994 Winning Strategies, Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by Winning Strategies, Inc.
+ * 4. The name of Winning Strategies, Inc. may not be used to endorse or
+ * promote products derived from this software without specific prior
+ * written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include <sys/cdefs.h>
+#ifndef lint
+__RCSID("$NetBSD: uname.c,v 1.11 2011/09/06 18:35:13 joerg Exp $");
+#endif /* not lint */
+
+#include <sys/param.h>
+#include <limits.h>
+#include <locale.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <err.h>
+
+#ifdef __minix
+#include <string.h>
+#else /* !__minix */
+#include <sys/sysctl.h>
+#endif /* !__minix */
+#include <sys/utsname.h>
+
+__dead static void usage(void);
+
+/* Note that PRINT_MACHINE_ARCH is excluded from PRINT_ALL! */
+#define PRINT_SYSNAME 0x01
+#define PRINT_NODENAME 0x02
+#define PRINT_RELEASE 0x04
+#define PRINT_VERSION 0x08
+#define PRINT_MACHINE 0x10
+#define PRINT_MACHINE_ARCH 0x20
+#define PRINT_ALL \
+ (PRINT_SYSNAME|PRINT_NODENAME|PRINT_RELEASE|PRINT_VERSION|PRINT_MACHINE)
+
+int
+main(int argc, char **argv)
+{
+ struct utsname u;
+ char machine_arch[SYS_NMLN];
+ int c;
+ int space = 0;
+ int print_mask = 0;
+
+ (void)setlocale(LC_ALL, "");
+
+ while ((c = getopt(argc,argv,"amnprsv")) != -1) {
+ switch (c) {
+ case 'a':
+ print_mask |= PRINT_ALL;
+ break;
+ case 'm':
+ print_mask |= PRINT_MACHINE;
+ break;
+ case 'n':
+ print_mask |= PRINT_NODENAME;
+ break;
+ case 'p':
+ print_mask |= PRINT_MACHINE_ARCH;
+ break;
+ case 'r':
+ print_mask |= PRINT_RELEASE;
+ break;
+ case 's':
+ print_mask |= PRINT_SYSNAME;
+ break;
+ case 'v':
+ print_mask |= PRINT_VERSION;
+ break;
+ default:
+ usage();
+ /* NOTREACHED */
+ }
+ }
+
+ if (optind != argc) {
+ usage();
+ /* NOTREACHED */
+ }
+
+ if (!print_mask) {
+#ifdef __minix
+ setprogname(argv[0]);
+
+ /* When executed via the `arch` symlink, do `uname -p` */
+ if (getprogname() != NULL && strcmp(getprogname(), "arch") == 0)
+ print_mask = PRINT_MACHINE_ARCH;
+ else
+#endif /* __minix */
+ print_mask = PRINT_SYSNAME;
+ }
+
+ if (uname(&u) != 0) {
+ err(EXIT_FAILURE, "uname");
+ /* NOTREACHED */
+ }
+ if (print_mask & PRINT_MACHINE_ARCH) {
+#ifdef __minix
+ strlcpy(machine_arch, u.arch, sizeof(machine_arch));
+#else /* !__minix */
+ int mib[2] = { CTL_HW, HW_MACHINE_ARCH };
+ size_t len = sizeof (machine_arch);
+
+ if (sysctl(mib, sizeof (mib) / sizeof (mib[0]), machine_arch,
+ &len, NULL, 0) < 0)
+ err(EXIT_FAILURE, "sysctl");
+#endif /* !__minix */
+ }
+
+ if (print_mask & PRINT_SYSNAME) {
+ space++;
+ fputs(u.sysname, stdout);
+ }
+ if (print_mask & PRINT_NODENAME) {
+ if (space++) putchar(' ');
+ fputs(u.nodename, stdout);
+ }
+ if (print_mask & PRINT_RELEASE) {
+ if (space++) putchar(' ');
+ fputs(u.release, stdout);
+ }
+ if (print_mask & PRINT_VERSION) {
+ if (space++) putchar(' ');
+ fputs(u.version, stdout);
+ }
+ if (print_mask & PRINT_MACHINE) {
+ if (space++) putchar(' ');
+ fputs(u.machine, stdout);
+ }
+ if (print_mask & PRINT_MACHINE_ARCH) {
+ if (space++) putchar(' ');
+ fputs(machine_arch, stdout);
+ }
+ putchar('\n');
+
+ exit(EXIT_SUCCESS);
+ /* NOTREACHED */
+}
+
+static void
+usage(void)
+{
+ fprintf(stderr, "usage: uname [-amnprsv]\n");
+ exit(EXIT_FAILURE);
+}