summaryrefslogtreecommitdiff
path: root/ace/OS_NS_sys_utsname.inl
diff options
context:
space:
mode:
authordhinton <dhinton@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2003-11-01 11:15:26 +0000
committerdhinton <dhinton@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2003-11-01 11:15:26 +0000
commit746f4ee6169d6cd8d8e5f8d6b3b368d3ac128ac6 (patch)
tree9a2cd7fff6f9e796968703bf3bb2cb7ca5c5bf82 /ace/OS_NS_sys_utsname.inl
parenta288d4fc55907205181362fee9979dc5cd9b9d07 (diff)
downloadATCD-746f4ee6169d6cd8d8e5f8d6b3b368d3ac128ac6.tar.gz
ChangeLogTag:Sat Nov 1 05:40:21 UTC 2003 Don Hinton <dhinton@dresystems.com>
Diffstat (limited to 'ace/OS_NS_sys_utsname.inl')
-rw-r--r--ace/OS_NS_sys_utsname.inl26
1 files changed, 25 insertions, 1 deletions
diff --git a/ace/OS_NS_sys_utsname.inl b/ace/OS_NS_sys_utsname.inl
index fc532b41367..d2ca08ee515 100644
--- a/ace/OS_NS_sys_utsname.inl
+++ b/ace/OS_NS_sys_utsname.inl
@@ -1,4 +1,28 @@
// -*- C++ -*-
// $Id$
-// This is a placeholder.
+#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
+ACE_OS::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 */
+