uname(), setuname() - get information about computer system; set node
name (system name)
int uname(struct utsname *name);
int setuname(const char *name, size_t namelen);
The uname() system call places information identifying the computer
system in the utsname structure pointed to by name.
The utsname structure, defined in <<<<sys/utsname.h>>>>, is set up as
#define UTSLEN 9
#define SNLEN 15
Each field is a null-terminated string.
The sysname field contains the name of the operating system, HP-UX on
standard HP-UX systems.
The nodename field contains the name by which the computer system is
known in a communications network.
The release field contains the release identifier of the operating
system, such as A.09.01.
The version field contains additional information about the operating
system. This value can change in future releases. The first
character of the version field identifies the license level:
A Two-user system
B 16-user system
C 32-user system
D 64-user system
E 8-user system
U 128-user, 256-user, or unlimited-user system
Hewlett-Packard Company - 1 - HP-UX Release 11i: November 2000
The machine field contains the hardware and model identifiers of the
The idnumber field contains a unique identification number within that
class of hardware, possibly a hardware or software serial number.
This field contains a null string if there is no identification
The setuname() system call sets the node name (system name), as
returned in the nodename field of the utsname structure, to name,
which has a length of namelen characters. This is usually executed by
/sbin/init.d/hostname at system boot time. Names are limited to
UTSLEN - 1 characters; UTSLEN is defined in <<<<sys/utsname.h>>>>.
uname() and setuname() return the following values:
n Successful completion. n is a nonnegative value.
-1 Failure. errno is set to indicate the error.
If uname() or setuname() fails, errno is set to one of the following
[EFAULT] name points to an illegal address. The reliable
detection of this error is implementation dependent.
[EPERM] setuname() was attempted by a process lacking
uname() was developed by AT&T and HP.
hostname(1), uname(1), setuname(1M), gethostname(2), sethostname(2).
uname(): AES, SVID2, SVID3, XPG2, XPG3, XPG4, FIPS 151-2, POSIX.1
Hewlett-Packard Company - 2 - HP-UX Release 11i: November 2000