summaryrefslogtreecommitdiff
path: root/ace/OS_NS_sys_utsname.inl
blob: eb660f2cad6fba95df23c625e974d18133204b3d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
// -*- C++ -*-
//
// $Id$

#include "ace/os_include/os_errno.h"

namespace ACE_OS
{
#if !defined (ACE_WIN32) && !defined (VXWORKS) && !defined (CHORUS) && !defined (ACE_PSOS)
// Don't inline on those platforms because this function contains
// string literals, and some compilers, e.g., g++, don't handle those
// efficiently in unused inline functions.
  ACE_INLINE int
  uname (ACE_utsname *name)
  {
#if defined (INTEGRITY)
    if(!name) {
      errno = EFAULT;
      return -1;
    }
    strcpy(name->sysname,"INTEGRITY");
    int status = gethostname(name->nodename,_SYS_NMLN);
    strcpy(name->release,"4.0");
    strcpy(name->version,"4.0.9");
    strcpy(name->machine,"a standard name");
    return status;
#else
    ACE_OS_TRACE ("ACE_OS::uname");
    ACE_OSCALL_RETURN (::uname (name), int, -1);
#endif
  }
#endif /* ! ACE_WIN32 && ! VXWORKS && ! CHORUS */
} // namespace ACE_OS