uname.2 (2011 09)

u
uname(2) uname(2)
RETURN VALUE
uname() and setuname() return the following values:
n Successful completion. n is a nonnegative value.
-1 Failure.
errno is set to indicate the error.
The
uname() function may return truncated results when the non-expanded version of the
utsname
structure is used. See WARNINGS .
ERRORS
If
uname() or setuname() fails, errno is set to one of the following values.
[EFAULT] name points to an illegal address. The reliable detection of this error is implementa-
tion dependent.
[EPERM]
setuname() was attempted by a process lacking appropriate privileges.
[EOVERFLOW] This error may be detected and indicates that the
utsname structure version used
does not accommodate the full values of one or more fields.
WARNINGS
uname() returns one of two versions of the
utsname structure:
HP-UX compatible version (compatible with all HP-UX versions)
Expanded version of the structure which can accommodate larger values.
The compatible structure is used by default. To use the expanded structure, see nodehostnamesize(5).
If the administrator has configured a node name with a length larger than 8 bytes, the compatible version
of the
utsname structure, as returned by uname(), contains just the first 8 bytes (plus null) in the
utsname.nodename field. In a future release the field will not contain any data bytes if the entire
node name cannot fit.
Setting a node name of more than 8 bytes with
setuname() is only possible with the appropriate
configuration options enabled. It is strongly recommended that all related documentation be completely
understood before setting a larger node name. A node name larger than 8 bytes can cause anomalous
behavior or failure in applications which use the uname command or the uname() system function to
access the name.
It is recommended that, whenever possible, programs use the host name as returned by the
gethost-
name() function rather than the utsname.nodename
field. It can be given a sufficiently large buffer
to avoid truncation issues. See gethostname (2) for more information.
AUTHOR
uname() was developed by AT&T and HP.
SEE ALSO
hostname(1), uname(1), setuname(1M), gethostname(2), sethostname(2), nodehostnamesize(5),
privileges(5).
STANDARDS CONFORMANCE
uname(): AES, SVID2, SVID3, XPG2, XPG3, XPG4, FIPS 151-2, POSIX.1
2 Hewlett-Packard Company 2 HP-UX 11i Version 3: September 2011