summary refs log tree commit diff
path: root/posix
diff options
context:
space:
mode:
Diffstat (limited to 'posix')
-rw-r--r--posix/sys/utsname.h23
1 files changed, 18 insertions, 5 deletions
diff --git a/posix/sys/utsname.h b/posix/sys/utsname.h
index ca195cb4df..a03aab9fcc 100644
--- a/posix/sys/utsname.h
+++ b/posix/sys/utsname.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 92, 94, 96, 97, 99 Free Software Foundation, Inc.
+/* Copyright (C) 1991,92,94,96,97,99,2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -29,26 +29,38 @@ __BEGIN_DECLS
 
 #include <bits/utsname.h>
 
+#ifndef _UTSNAME_SYSNAME_LENGTH
+# define _UTSNAME_SYSNAME_LENGTH _UTSNAME_LENGTH
+#endif
 #ifndef _UTSNAME_NODENAME_LENGTH
 # define _UTSNAME_NODENAME_LENGTH _UTSNAME_LENGTH
 #endif
+#ifndef _UTSNAME_RELEASE_LENGTH
+# define _UTSNAME_RELEASE_LENGTH _UTSNAME_LENGTH
+#endif
+#ifndef _UTSNAME_VERSION_LENGTH
+# define _UTSNAME_VERSION_LENGTH _UTSNAME_LENGTH
+#endif
+#ifndef _UTSNAME_MACHINE_LENGTH
+# define _UTSNAME_MACHINE_LENGTH _UTSNAME_LENGTH
+#endif
 
 /* Structure describing the system and machine.  */
 struct utsname
   {
     /* Name of the implementation of the operating system.  */
-    char sysname[_UTSNAME_LENGTH];
+    char sysname[_UTSNAME_SYSNAME_LENGTH];
 
     /* Name of this node on the network.  */
     char nodename[_UTSNAME_NODENAME_LENGTH];
 
     /* Current release level of this implementation.  */
-    char release[_UTSNAME_LENGTH];
+    char release[_UTSNAME_RELEASE_LENGTH];
     /* Current version level of this release.  */
-    char version[_UTSNAME_LENGTH];
+    char version[_UTSNAME_VERSION_LENGTH];
 
     /* Name of the hardware type the system is running on.  */
-    char machine[_UTSNAME_LENGTH];
+    char machine[_UTSNAME_MACHINE_LENGTH];
 
 #if _UTSNAME_DOMAIN_LENGTH - 0
     /* Name of the domain of this node on the network.  */
@@ -61,6 +73,7 @@ struct utsname
   };
 
 #ifdef __USE_SVID
+/* Note that SVID assumes all members have the same size.  */
 # define SYS_NMLN  _UTSNAME_LENGTH
 #endif