2002-09-06 Roland McGrath <roland@redhat.com>
authorroland <roland>
Fri, 6 Sep 2002 18:07:55 +0000 (18:07 +0000)
committerroland <roland>
Fri, 6 Sep 2002 18:07:55 +0000 (18:07 +0000)
* posix/sys/utsname.h (_UTSNAME_SYSNAME_LENGTH): New macro, defined
to _UTSNAME_LENGTH if not already defined by <bits/utsname.h>.
(_UTSNAME_RELEASE_LENGTH, _UTSNAME_VERSION_LENGTH): Likewise.
(_UTSNAME_MACHINE_LENGTH): Likewise.
(struct utsname): Use new macros instead of _UTSNAME_LENGTH.

posix/sys/utsname.h

index ca195cb..a03aab9 100644 (file)
@@ -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