Home Man
Search
Today's Posts
Register

Linux & Unix Commands - Search Man Pages

OpenSolaris 2009.06 - man page for sysinfo (opensolaris section 2)

sysinfo(2)				   System Calls 			       sysinfo(2)

NAME
       sysinfo - get and set system information strings

SYNOPSIS
       #include <sys/systeminfo.h>

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

DESCRIPTION
       The  sysinfo()  function  copies information relating to the operating system on which the
       process is executing into the buffer pointed to by buf. It can also set	certain  informa-
       tion  where  appropriate commands are available. The count parameter indicates the size of
       the buffer.

       The POSIX P1003.1 interface (see standards(5)) sysconf(3C) provides  a  similar	class  of
       configuration information, but returns an integer rather than a string.

       The values for command are as follows:

       SI_SYSNAME

	   Copy into the array pointed to by buf the string that would be returned by uname(2) in
	   the sysnamefield. This is the name of the implementation of the operating system,  for
	   example, SunOS 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() in the nodenamefield. This  host-
	   name  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 might have dif-
	   ferent  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 might not be fully qualified. Internet host names can 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 main-
	   tained  by  the  kernel  whose value will be returned by succeeding calls to sysinfo()
	   with the command SI_HOSTNAME. This command requires that {PRIV_SYS_ADMIN} is  asserted
	   in the effective set of the calling process.

       SI_RELEASE

	   Copy into the array pointed to by buf the string that would be returned by uname(2) in
	   the release field. Typical values might be 5.2 or 4.1.

       SI_VERSION

	   Copy into the array pointed to by buf the string that would be returned by uname(2) in
	   the	versionfield.  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(2) in
	   the machine field, for example, sun4u.

       SI_ARCHITECTURE

	   Copy  into  the  array pointed to by buf a string describing the basic instruction set
	   architecture of the current system, for example,  sparc,  mc68030,  m32100,	or  i386.
	   These names might not match predefined names in the C language compilation system.

       SI_ARCHITECTURE_64

	   Copy  into  the array pointed to by buf a string describing the 64-bit instruction set
	   architecture of the current system, for example, sparcv9 or amd64.  These names  might
	   not	match predefined names in the C language compilation system.  This subcode is not
	   recognized on systems that do not allow a 64-bit application to run.

       SI_ARCHITECTURE_32

	   Copy into the array pointed to by buf a string describing the 32-bit  instruction  set
	   architecture of the current system, for example, sparc or i386.  These names might not
	   match predefined names in the C language compilation system.

       SI_ARCHITECTURE_K

	   Copy into the array pointed to by buf a string describing the kernel  instruction  set
	   architecture of the current system for example sparcv9 or i386.  These names might not
	   match predefined names in the C language compilation system.

       SI_ARCHITECTURE_NATIVE

	   Copy into the array pointed to by buf a string describing the native  instruction  set
	   architecture  of  the  current system, for example sparcv9 or i386.	These names might
	   not match predefined names in the C language compilation system.

       SI_ISALIST

	   Copy into the array pointed to by buf the names of the variant instruction set  archi-
	   tectures executable on the current system.

	   The	names  are space-separated and are ordered in the sense of best performance. That
	   is, earlier-named instruction sets might contain more  instructions	than  later-named
	   instruction sets; a program that is compiled for an earlier-named instruction set will
	   most likely run faster on this machine than the same program  compiled  for	a  later-
	   named instruction set.

	   Programs  compiled  for  an instruction set that does not appear in the list will most
	   likely experience performance degradation or not run at all on this machine.

	   The instruction set names known to the system are listed in	isalist(5);  these  names
	   might  not  match  predefined  names or compiler options in the C language compilation
	   system.

	   This command is obsolete and might be removed in a future release. See getisax(2)  and
	   the Linker and Libraries Guide for a better way to handle instruction set extensions.

       SI_PLATFORM

	   Copy  into  the  array pointed to by buf a string describing the specific model of the
	   hardware platform, for example, SUNW,Sun-Blade-1500, SUNW,Sun-Fire-T200, or i86pc.

       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 function is
	   executed. This might be implemented in Read-Only Memory, using software constants  set
	   when  building  the operating system, or by other means, and might contain non-numeric
	   characters. If the function is executed within a non-global zone that emulates a  host
	   identifier, then the ASCII representation of the zone's host identifier is copied into
	   the array pointed to by buf. 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 not guaranteed to be unique across all  vendor's
	   SVR4 implementations and could change over the lifetime of a given system.

       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
	   {PRIV_SYS_ADMIN} is asserted in the effective set of the calling process.

       SI_DHCP_CACHE

	   Copy into the array pointed to by buf an ASCII string consisting of the ASCII hexidec-
	   imal encoding of the name of the interface configured by boot(1M) followed by the DHC-
	   PACK reply from the server. This command is intended for use only by the dhcpagent(1M)
	   DHCP client daemon for the purpose of adopting the DHCP maintenance of  the	interface
	   configured by boot.

RETURN VALUES
       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  termi-
       nating null character.

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

ERRORS
       The sysinfo() function will fail if:

       EFAULT	 The buf argument does not point to a valid address.

       EINVAL	 The  count  argument  for a non-SET command is less than 0 or the data for a SET
		 command exceeds the limits established by the implementation.

       EPERM	 The {PRIV_SYS_ADMIN} was not asserted	in  the  effective  set  of  the  calling
		 process.

USAGE
       In  many  cases	there is no corresponding programming interface to set these values; such
       strings are typically settable only by the system administrator modifying entries  in  the
       /etc/system  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 estimation for count is 257, which is likely to cover all strings returned by  this
       interface in typical installations.

SEE ALSO
       boot(1M),    dhcpagent(1M),    getisax(2),   uname(2),	gethostid(3C),	 gethostname(3C),
       sysconf(3C), isalist(5), privileges(5), standards(5), zones(5)

       Linker and Libraries Guide

SunOS 5.11				   29 Jan 2009				       sysinfo(2)


All times are GMT -4. The time now is 04:55 AM.

Unix & Linux Forums Content Copyrightę1993-2018. All Rights Reserved.
UNIX.COM Login
Username:
Password:  
Show Password