sysinfo(2) DG/UX 5.4.2 sysinfo(2)
NAME
sysinfo - get and set system information strings
SYNOPSIS
#include <sys/systeminfo.h>
long sysinfo (int command, char *buf, long count);
where:
command Specifies a particular operation for sysinfo to perform.
buf A pointer to a buffer where system information will be
written. If command specifies a set operation, then buf
will point to a string that sysinfo will use to set a
system variable.
count The length in bytes of the buffer pointed to by buf.
DESCRIPTION
Sysinfo copies information relating to the system on which the
process is executing into the buffer pointed to by buf; sysinfo can
also set certain information as specified by commands.
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 you can specify are as follows:
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., dgux.
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 nodenamefield.
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
Licensed material--property of copyright holder(s) 1
sysinfo(2) DG/UX 5.4.2 sysinfo(2)
SIHOSTNAME. This command requires that the effective-user-
id be super-user.
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. A
typical value might be 5.4.
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,e.g., AViiON.
SI_ARCHITECTURE
Copy into the array pointed to by buf a string describing the
instruction set architecture of the current system, e.g.,
mc88100. 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, e.g., Data General.
SI_HW_SERIAL
Copy into the array pointed to by buf a string which is the
ASCII representation of the unique, hardware-specific serial
number of the physical machine on which the system call is
executed.
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.
RETURN VALUE
Upon successful completion, the return value indicates the buffer
size in bytes required to hold the complete string 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
Licensed material--property of copyright holder(s) 2
sysinfo(2) DG/UX 5.4.2 sysinfo(2)
error.
DIAGNOSTICS
Sysinfo will fail if one or both of the following are true:
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.
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), gethostname(2), gethostid(2).
NOTE
For many of the system information variables, no programmatic
interface exists that allows a user set their values. Such strings
are settable only by the system administrator modifying entries in
the master.d directory.
Licensed material--property of copyright holder(s) 3