uunnaammee() -- System Call (libc)

Get the name and version of COHERENT
#iinncclluuddee <ssyyss/uuttssnnaammee.hh>
iinntt uunnaammee(_n_a_m_e)
ssttrruucctt uuttssnnaammee *_n_a_m_e;

The  COHERENT system  call uunnaammee()  identifies the  current release  of the
COHERENT operating system.  It writes its output into the structure pointed
to by _n_a_m_e. This must be of type uuttssnnaammee, which has the following members:

     char sysname[__SYS_NMLN];          /* system name */
     char nodename[__SYS_NMLN];         /* UUCP node name */
     char release[__SYS_NMLN];          /* current release */
     char version[__SYS_NMLN];          /* current version */
     char machine[__SYS_NMLN];          /* hardware */

uunnaammee()  returns a  non-negative  value upon  success.   If something  went
wrong, i.e., _n_a_m_e points to an invalid address, uunnaammee() returns -1 and sets
eerrrrnnoo to an appropriate value.

_S_e_e _A_l_s_o
lliibbcc, uuttssnnaammee.hh
POSIX Standard, section 4.4.1

_N_o_t_e_s
The  COHERENT implementation  of uunnaammee()  conforms  to the  POSIX standard,
which states  that uunnaammee() returns  a ``non-negative'' value  upon success.
To write  portable code, your  code must check  for a return  value that is
greater than  or equal to zero.   It is an error to  check for return value
equal to  zero, because the test  works on some systems  that adhere to the
Standard but not on others.
