Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ sysinfo(2) — NEWS-os 5.0.1

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

uname(2)

sysconf(2)

gethostname(3)

tid(3)



sysinfo(2)                                             sysinfo(2)



NAME
     sysinfo - get and set system information strings

SYNOPSIS
     #include <sys/systeminfo.h>

     long sysinfo (int command, char *buf, long count);

DESCRIPTION
     sysinfo copies information relating to the  UNIX  system  on
     which the process is executing into the buffer pointed to by
     buf;  sysinfo  can  also  set  certain   information   where
     appropriate  commands  are  available.  count is the size of
     the buffer.

     The POSIX P1003.1 interface sysconf  [see  sysconf(2)]  pro-
     vides  a  similar  class  of  configuration information, but
     returns an integer rather than a string.

     The commands available are:

     SI_SYSNAME
            Copy into the array pointed to by buf the string that
            would  be  returned  by  uname  [see uname(2)] in the
            sysname field.  This is the name of  the  implementa-
            tion of the operating system, e.g., System V or UTS.

     SI_HOSTNAME
            Copy into the array pointed to by buf a  string  that
            names  the  present host machine.  This is the string
            that would be returned by uname [see uname(2)] in the
            nodename  field.   This hostname or nodename is often
            the name the machine is known by locally.

            The hostname is the name of this machine as a node in
            some  network;  different networks may have different
            names for the node, but presenting  the  nodename  to
            the  appropriate network Directory or name-to-address
            mapping service should produce a transport end  point
            address.  The name may not be fully qualified.

            Internet host names may be up to 256 bytes in  length
            (plus the terminating null).

     SI_SET_HOSTNAME
            Copy  the  null-terminated  contents  of  the   array
            pointed  to  by buf into the string maintained by the
            kernel whose value will  be  returned  by  succeeding
            calls  to sysinfo with the command SIHOSTNAME.  This
            command  requires  that  the   effective-user-id   be
            super-user.




                                                                1





sysinfo(2)                                             sysinfo(2)



     SI_RELEASE
            Copy into the array pointed to by buf the string that
            would  be  returned  by  uname  [see uname(2)] in the
            release field.  Typical values might be 4.0 or 3.2.

     SI_VERSION
            Copy into the array pointed to by buf the string that
            would be returned by uname [see uname(2)] in the ver-
            sion field.  The syntax and semantics of this  string
            are defined by the system provider.

     SI_MACHINE
            Copy into the array pointed to by buf the string that
            would  be  returned  by  uname  [see uname(2)] in the
            machine field, e.g., 3b2 or 580.

     SI_ARCHITECTURE
            Copy into the  array  pointed  to  by  buf  a  string
            describing  the  instruction  set architecture of the
            current system, e.g.,  mc68030,  m32100,  or  i80486.
            These  names  may not match predefined names in the C
            language compilation system.

     SI_HW_PROVIDER
            Copies the name of the hardware manufacturer into the
            array pointed to by buf.

     SI_HW_SERIAL
            Copy into the array pointed to by buf a string  which
            is  the ASCII representation of the hardware-specific
            serial number of the physical machine  on  which  the
            system  call  is  executed.   Note  that  this may be
            implemented in Read-Only Memory,  via  software  con-
            stants  set when building the operating system, or by
            other means, and may contain non-numeric  characters.
            It  is  anticipated that manufacturers will not issue
            the same ``serial number'' to more than one  physical
            machine.    The   pair   of   strings   returned   by
            SIHWPROVIDER  and  SIHWSERIAL  is  likely  to  be
            unique across all vendor's System V implementations.

     SI_SRPC_DOMAIN
            Copies the Secure Remote Procedure Call  domain  name
            into the array pointed to by buf.

     SI_SET_SRPC_DOMAIN
            Set the string to be returned  by  sysinfo  with  the
            SI_SRPC_DOMAIN  command to the value contained in the
            array pointed to by buf.  This command requires  that
            the  effective-user-id  be  super-user.  sysinfo will
            fail if one or both of the following are true:




                                                                2





sysinfo(2)                                             sysinfo(2)



     EPERM  The process does not have appropriate privelege for a
            SET commands.

     EINVAL buf does not point to a valid address,  or  the  data
            for  a  SET command exceeds the limits established by
            the implementation.

DIAGNOSTICS
     Upon successful completion, the value returned indicates the
     buffer size in bytes required to hold the complete value and
     the terminating null character.  If this value is no greater
     than  the  value  passed  in  count,  the  entire string was
     copied; if this value is  greater  than  count,  the  string
     copied  into  buf has been truncated to count-1 bytes plus a
     terminating null character.

     Otherwise, a value of -1 is returned and  errno  is  set  to
     indicate the error.

USAGE
     There is in many cases no corresponding programmatic  inter-
     face  to  set these values; such strings are typically sett-
     able only by the system administrator modifying  entries  in
     the  master.d directory or the code provided by the particu-
     lar OEM reading a serial number or  code  out  of  read-only
     memory,  or  hard-coded in the version of the operating sys-
     tem.  A good starting guess  for  count  is  257,  which  is
     likely  to  cover  all strings returned by this interface in
     typical installations.

SEE ALSO
     uname(2), sysconf(2);
     BSD compatibility package interfaces gethostname(3), gethos-
     tid(3).





















                                                                3



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026