Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ sysinfo(2) — UnixWare 2.01

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

gethostid(3BSD)

gethostname(3BSD)

sysconf(3C)

System(4)

uname(2)






       sysinfo(2)                                                sysinfo(2)


       NAME
             sysinfo - get and set system information strings

       SYNOPSIS
             #include <sys/systeminfo.h>
             long sysinfo(int command, char *buf, size_t 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(3C)] provides
             a similar class of configuration information, but returns
             long.

             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
                           implementation of the operating system, for
                           example, UNIX_SV.

             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 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).





                           Copyright 1994 Novell, Inc.               Page 1













      sysinfo(2)                                                sysinfo(2)


            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
                          SI_HOSTNAME.  This command requires appropriate
                          privilege.

            SI_RELEASE    Copy into the array pointed to by buf the string
                          that would be returned by uname in the release
                          field.  Typical values might be 4.2, 4.0, 3.2.

            SI_VERSION    Copy into the array pointed to by buf the string
                          that would be returned by uname in the version
                          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 in the machine
                          field, for example, i486.

            SI_ARCHITECTURE
                          Copy into the array pointed to by buf a string
                          describing the instruction set architecture of
                          the current system, for example, mc68030,
                          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_SET_HW_PROVIDER
                          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
                          SI_HW_PROVIDER.  This command requires
                          appropriate privilege.

            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 constants set when building


                          Copyright 1994 Novell, Inc.               Page 2













       sysinfo(2)                                                sysinfo(2)


                           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 SI_HW_PROVIDER and SI_HW_SERIAL is likely to
                           be unique across operating system
                           implementations.

             SI_SET_HW_SERIAL
                           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
                           SI_HW_SERIAL.  This command requires appropriate
                           privilege.

             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.

             SI_INITTAB    Copy into the array pointed to by buf a string
                           that is the pathname of the inittab file used by
                           the currently running bootable operating system.

          Return Values
             On success, sysinfo returns the number of bytes required to
             hold the complete information requested and the terminating
             null character.  If this value is no greater than the value
             passed in count, the entire string was copied into buf; if
             this value is greater than count, the string copied into buf
             has been truncated to count-1 bytes plus a terminating null
             character.

             On failure, sysinfo returns -1 and sets errno to identify the
             error.





                           Copyright 1994 Novell, Inc.               Page 3













      sysinfo(2)                                                sysinfo(2)


         Errors
            In the following conditions, sysinfo fails and sets errno to:

            EPERM         The process does not have appropriate privilege
                          for a SET command.

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

      REFERENCES
            gethostid(3BSD), gethostname(3BSD), sysconf(3C), System(4),
            uname(2)

      NOTICES
            There is in many cases no corresponding programmatic interface
            to set these values; such strings are typically settable only
            by the system administrator modifying entries in the master.d
            directory or the code provided by the particular OEM reading a
            serial number or code out of read-only memory, or hard-coded
            in the version of the operating system.

            A good starting guess for count is 257, which is likely to
            cover all strings returned by this interface in typical
            installations.























                          Copyright 1994 Novell, Inc.               Page 4








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