# 2.11BSD#431 - /usr/src/lib/libc/gen/uname.c

##### Functions

    uname             X

       1: /*-
       2:  * Copyright (c) 1994
       3:  *	The Regents of the University of California.  All rights reserved.
       4:  *
       5:  * Redistribution and use in source and binary forms, with or without
       6:  * modification, are permitted provided that the following conditions
       7:  * are met:
       8:  * 1. Redistributions of source code must retain the above copyright
       9:  *    notice, this list of conditions and the following disclaimer.
      10:  * 2. Redistributions in binary form must reproduce the above copyright
      11:  *    notice, this list of conditions and the following disclaimer in the
      12:  *    documentation and/or other materials provided with the distribution.
      13:  * 3. All advertising materials mentioning features or use of this software
      14:  *    must display the following acknowledgement:
      15:  *	This product includes software developed by the University of
      16:  *	California, Berkeley and its contributors.
      17:  * 4. Neither the name of the University nor the names of its contributors
      18:  *    may be used to endorse or promote products derived from this software
      19:  *    without specific prior written permission.
      20:  *
      21:  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
      22:  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
      23:  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
      24:  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
      25:  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
      26:  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
      27:  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
      28:  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
      29:  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
      30:  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
      31:  * SUCH DAMAGE.
      32:  */
      33:
      34: #if defined(LIBC_SCCS) && !defined(lint)
      35: static char sccsid[] = "@(#)uname.c	8.1.1 (2.11BSD GTE) 2/4/95";
      36: #endif /* LIBC_SCCS and not lint */
      37:
      38: #include <sys/param.h>
      39: #include <sys/sysctl.h>
      40: #include <sys/utsname.h>
      41:
      42: int
      43: uname(name)
      44:     register struct utsname *name;
      45: {
      46:     int mib[2], rval;
      47:     size_t len;
      48:     register char *p;
      49:
      50:     rval = 0;
      51:
      52:     mib[0] = CTL_KERN;
      53:     mib[1] = KERN_OSTYPE;
      54:     len = sizeof(name->sysname);
      55:     if (sysctl(mib, 2, &name->sysname, &len, NULL, 0) == -1)
      56:         rval = -1;
      57:
      58:     mib[0] = CTL_KERN;
      59:     mib[1] = KERN_HOSTNAME;
      60:     len = sizeof(name->nodename);
      61:     if (sysctl(mib, 2, &name->nodename, &len, NULL, 0) == -1)
      62:         rval = -1;
      63:
      64:     mib[0] = CTL_KERN;
      65:     mib[1] = KERN_OSRELEASE;
      66:     len = sizeof(name->release);
      67:     if (sysctl(mib, 2, &name->release, &len, NULL, 0) == -1)
      68:         rval = -1;
      69:
      70:     /* The version may have newlines in it, turn them into spaces. */
      71:     mib[0] = CTL_KERN;
      72:     mib[1] = KERN_VERSION;
      73:     len = sizeof(name->version);
      74:     if (sysctl(mib, 2, &name->version, &len, NULL, 0) == -1)
      75:         rval = -1;
      76:     else
      77:         for (p = name->version; len--; ++p)
      78:             if (*p == '\n' || *p == '\t')
      79:                 if (len > 1)
      80:                     *p = ' ';
      81:                 else
      82:                     *p = '\0';
      83:
      84:     mib[0] = CTL_HW;
      85:     mib[1] = HW_MACHINE;
      86:     len = sizeof(name->machine);
      87:     if (sysctl(mib, 2, &name->machine, &len, NULL, 0) == -1)
      88:         rval = -1;
      89:     return (rval);
      90: }

#### Defined functions

uname defined in line 42; used 11 times

- in /usr/src/bin/make/main.c line 426
- in /usr/src/bin/tcsh/tc.os.c line 715
- in /usr/src/games/atc/log.c line 119
- in /usr/src/games/warp/intrp.c line 107
- in /usr/src/new/kermit5.188/ckcdeb.h line 1248
- in /usr/src/new/kermit5.188/ckuusx.c line 430
- in /usr/src/new/notes/src/startup.c line 139
- in /usr/src/new/pathalias/local.c line 17
- in /usr/src/new/rn/intrp.c line 135
- in /usr/src/ucb/man/man.c line 442
- in /usr/src/usr.bin/uucp/uucpname.c line 74

#### Defined variables

sccsid defined in line 35; never used

Last modified: 1995-02-05 Generated: 2016-12-26 | Generated by src2html V0.67 page hit count: 515 |