Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ sysinfo(2) — Atari System V ue12

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

uname(2)

sysconf(2)

gethostname(3)

gethostid(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)] provides 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 implementation 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.




   7/91                                                                 Page 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 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 [see uname(2)] in the machine field.

        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 constants 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:




   Page 2                                                                 7/91









   sysinfo(2)                                                       sysinfo(2)


         EPERM The process does not have appropriate privilege 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 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.

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





















   7/91                                                                 Page 3





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