Man Linux: Main Page and Category List

NAME

       uname - get the name of the current system

SYNOPSIS

       #include <sys/utsname.h>

       int uname(struct utsname *name);

DESCRIPTION

       The  uname()  function  shall store information identifying the current
       system in the structure pointed to by name.

       The  uname()  function  uses   the   utsname   structure   defined   in
       <sys/utsname.h>.

       The uname() function shall return a string naming the current system in
       the character array sysname. Similarly, nodename shall contain the name
       of  this  node within an implementation-defined communications network.
       The arrays release and version shall  further  identify  the  operating
       system.  The  array  machine  shall  contain a name that identifies the
       hardware that the system is running on.

       The format of each member is implementation-defined.

RETURN VALUE

       Upon successful completion, a non-negative  value  shall  be  returned.
       Otherwise, -1 shall be returned and errno set to indicate the error.

ERRORS

       No errors are defined.

       The following sections are informative.

EXAMPLES

       None.

APPLICATION USAGE

       The  inclusion  of the nodename member in this structure does not imply
       that it is sufficient information  for  interfacing  to  communications
       networks.

RATIONALE

       The  values  of  the  structure members are not constrained to have any
       relation  to  the  version  of  this  volume  of   IEEE Std 1003.1-2001
       implemented  in  the  operating  system.  An application should instead
       depend on _POSIX_VERSION and related constants defined in <unistd.h>.

       This volume of IEEE Std 1003.1-2001 does not define the  sizes  of  the
       members  of  the  structure  and permits them to be of different sizes,
       although most implementations define them all  to  be  the  same  size:
       eight  bytes  plus  one  byte  for the string terminator. That size for
       nodename is not enough for use with many networks.

       The uname() function originated in System III, System  V,  and  related
       implementations,  and  it  does  not exist in Version 7 or 4.3 BSD. The
       values it returns are set at system compile time  in  those  historical
       implementations.

       4.3 BSD has gethostname() and gethostid(), which return a symbolic name
       and a numeric value, respectively. There are related sethostname()  and
       sethostid()  functions  that  are  used to set the values the other two
       functions  return.  The  former  functions   are   included   in   this
       specification, the latter are not.

FUTURE DIRECTIONS

       None.

SEE ALSO

       The Base Definitions volume of IEEE Std 1003.1-2001, <sys/utsname.h>

COPYRIGHT

       Portions  of  this text are reprinted and reproduced in electronic form
       from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology
       --  Portable  Operating  System  Interface (POSIX), The Open Group Base
       Specifications Issue 6, Copyright (C) 2001-2003  by  the  Institute  of
       Electrical  and  Electronics  Engineers, Inc and The Open Group. In the
       event of any discrepancy between this version and the original IEEE and
       The  Open Group Standard, the original IEEE and The Open Group Standard
       is the referee document. The original Standard can be  obtained  online
       at http://www.opengroup.org/unix/online.html .