root/maint/gnulib/lib/sys_utsname.in.h

/* [previous][next][first][last][top][bottom][index][help] */
   1 /* Substitute for <sys/utsname.h>.
   2    Copyright (C) 2009-2021 Free Software Foundation, Inc.
   3 
   4    This file is free software: you can redistribute it and/or modify
   5    it under the terms of the GNU Lesser General Public License as
   6    published by the Free Software Foundation; either version 2.1 of the
   7    License, or (at your option) any later version.
   8 
   9    This file is distributed in the hope that it will be useful,
  10    but WITHOUT ANY WARRANTY; without even the implied warranty of
  11    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  12    GNU Lesser General Public License for more details.
  13 
  14    You should have received a copy of the GNU Lesser General Public License
  15    along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
  16 
  17 #ifndef _@GUARD_PREFIX@_SYS_UTSNAME_H
  18 
  19 #if __GNUC__ >= 3
  20 @PRAGMA_SYSTEM_HEADER@
  21 #endif
  22 @PRAGMA_COLUMNS@
  23 
  24 #if @HAVE_SYS_UTSNAME_H@
  25 
  26 /* Minix 3.1.8 has a bug: <stddef.h> must be included before <sys/utsname.h>.
  27    But avoid namespace pollution on glibc systems.  */
  28 # if defined __minix && !defined __GLIBC__
  29 #  include <stddef.h>
  30 # endif
  31 
  32 # @INCLUDE_NEXT@ @NEXT_SYS_UTSNAME_H@
  33 
  34 #endif
  35 
  36 #define _@GUARD_PREFIX@_SYS_UTSNAME_H
  37 
  38 /* The definition of _GL_ARG_NONNULL is copied here.  */
  39 
  40 /* The definition of _GL_WARN_ON_USE is copied here.  */
  41 
  42 
  43 #ifdef __cplusplus
  44 extern "C" {
  45 #endif
  46 
  47 #if !@HAVE_STRUCT_UTSNAME@
  48 /* Length of the entries in 'struct utsname' is 256.  */
  49 # define _UTSNAME_LENGTH 256
  50 
  51 # ifndef _UTSNAME_NODENAME_LENGTH
  52 #  define _UTSNAME_NODENAME_LENGTH _UTSNAME_LENGTH
  53 # endif
  54 # ifndef _UTSNAME_SYSNAME_LENGTH
  55 #  define _UTSNAME_SYSNAME_LENGTH _UTSNAME_LENGTH
  56 # endif
  57 # ifndef _UTSNAME_RELEASE_LENGTH
  58 #  define _UTSNAME_RELEASE_LENGTH _UTSNAME_LENGTH
  59 # endif
  60 # ifndef _UTSNAME_VERSION_LENGTH
  61 #  define _UTSNAME_VERSION_LENGTH _UTSNAME_LENGTH
  62 # endif
  63 # ifndef _UTSNAME_MACHINE_LENGTH
  64 #  define _UTSNAME_MACHINE_LENGTH _UTSNAME_LENGTH
  65 # endif
  66 
  67 # if !GNULIB_defined_struct_utsname
  68 /* Structure describing the system and machine.  */
  69 struct utsname
  70   {
  71     /* Name of this node on the network.  */
  72     char nodename[_UTSNAME_NODENAME_LENGTH];
  73 
  74     /* Name of the implementation of the operating system.  */
  75     char sysname[_UTSNAME_SYSNAME_LENGTH];
  76     /* Current release level of this implementation.  */
  77     char release[_UTSNAME_RELEASE_LENGTH];
  78     /* Current version level of this release.  */
  79     char version[_UTSNAME_VERSION_LENGTH];
  80 
  81     /* Name of the hardware type the system is running on.  */
  82     char machine[_UTSNAME_MACHINE_LENGTH];
  83   };
  84 #  define GNULIB_defined_struct_utsname 1
  85 # endif
  86 
  87 #endif /* !@HAVE_STRUCT_UTSNAME@ */
  88 
  89 
  90 #if @GNULIB_UNAME@
  91 # if !@HAVE_UNAME@
  92 extern int uname (struct utsname *buf) _GL_ARG_NONNULL ((1));
  93 # endif
  94 #elif defined GNULIB_POSIXCHECK
  95 # undef uname
  96 # if HAVE_RAW_DECL_UNAME
  97 _GL_WARN_ON_USE (uname, "uname is unportable - "
  98                  "use gnulib module uname for portability");
  99 # endif
 100 #endif
 101 
 102 
 103 #ifdef __cplusplus
 104 }
 105 #endif
 106 
 107 
 108 #endif /* _@GUARD_PREFIX@_SYS_UTSNAME_H */

/* [previous][next][first][last][top][bottom][index][help] */