home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 15 / 15.iso / s / s053 / 9.ddi / usr / include / sys / utsname.h < prev    next >
Encoding:
C/C++ Source or Header  |  1990-12-08  |  2.8 KB  |  114 lines

  1. /*    Copyright (c) 1990 UNIX System Laboratories, Inc.    */
  2. /*    Copyright (c) 1984, 1986, 1987, 1988, 1989, 1990 AT&T    */
  3. /*      All Rights Reserved      */
  4.  
  5. /*    THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF         */
  6. /*    UNIX System Laboratories, Inc.                         */
  7. /*    The copyright notice above does not evidence any       */
  8. /*    actual or intended publication of such source code.    */
  9.  
  10. #ifndef _SYS_UTSNAME_H
  11. #define _SYS_UTSNAME_H
  12.  
  13. #ident    "@(#)/usr/include/sys/utsname.h.sl 1.1 4.0 12/08/90 10839 AT&T-USL"
  14.  
  15. /*
  16.  * If you are compiling the kernel, the value used in initializing
  17.  * the utsname structure in the master.d/kernel file better be the
  18.  * same as SYS_NMLN.
  19.  */
  20. #if (defined (_POSIX_SOURCE) || defined(_XOPEN_SOURCE)) && !defined(_KERNEL)
  21.  
  22. #if !defined(_STYPES)
  23. #define _SYS_NMLN    257    /* 4.0 size of utsname elements.*/
  24.                 /* Must be at least 257 to     */
  25.                 /* support Internet hostnames.  */
  26. #else
  27. #define _SYS_NMLN    9    /* old size of utsname elements */
  28. #endif    /* _STYPES */
  29.  
  30.  
  31. struct utsname {
  32.     char    sysname[_SYS_NMLN];
  33.     char    nodename[_SYS_NMLN];
  34.     char    release[_SYS_NMLN];
  35.     char    version[_SYS_NMLN];
  36.     char    machine[_SYS_NMLN];
  37. };
  38.  
  39. #else /*!defined(POSIX_SOURCE) && !defined(_XOPEN_SOURCE) || defined(_KERNEL)*/
  40.  
  41. #if !defined(_STYPES)
  42. #define SYS_NMLN    257    /* 4.0 size of utsname elements.*/
  43.                 /* Must be at least 257 to     */
  44.                 /* support Internet hostnames.  */
  45. #else
  46. #define SYS_NMLN    9    /* old size of utsname elements */
  47. #endif    /* _STYPES */
  48.  
  49. struct utsname {
  50.     char    sysname[SYS_NMLN];
  51.     char    nodename[SYS_NMLN];
  52.     char    release[SYS_NMLN];
  53.     char    version[SYS_NMLN];
  54.     char    machine[SYS_NMLN];
  55. };
  56.  
  57.  
  58. #define XSYS_NMLN   9   /* size of utsname elements for XENIX */
  59. struct xutsname {
  60.     char    sysname[XSYS_NMLN];
  61.     char    nodename[XSYS_NMLN];
  62.     char    release[XSYS_NMLN];
  63.     char    version[XSYS_NMLN];
  64.     char    machine[XSYS_NMLN];
  65.     char    reserved[15];
  66.     unsigned short sysorigin;   /* original supplier of the system */
  67.     unsigned short sysoem;      /* OEM for this system */
  68.     long    sysserial;      /* serial number of this system */
  69. };
  70.  
  71. extern struct xutsname xutsname;
  72.  
  73. #endif /* defined (_POSIX_SOURCE) || defined(_XOPEN_SOURCE) */
  74.  
  75. #if !defined(_POSIX_SOURCE) 
  76. extern struct utsname utsname;
  77. #endif /* !defined(_POSIX_SOURCE) */
  78.  
  79. #if !defined(_KERNEL)
  80. #if defined(__STDC__)
  81.  
  82. #if !defined(_STYPES)
  83. static int uname(struct utsname *);
  84. #else 
  85. int uname(struct utsname *);
  86. #endif /* !defined(_STYPES) */
  87.  
  88. int nuname(struct utsname *);
  89. #else
  90.  
  91. #if !defined(_STYPES)
  92. static int uname();
  93. #else 
  94. int uname();
  95. #endif /* !defined(_STYPES) */
  96.  
  97. int nuname();
  98. #endif    /* (__STDC__) */
  99. #endif    /* !(KERNEL) */
  100.  
  101. #if !defined(_KERNEL) && !defined(_STYPES)
  102. static int
  103. uname(buf)
  104. struct utsname *buf;
  105. {
  106.     int ret;
  107.  
  108.     ret = nuname(buf);
  109.     return ret;
  110. }
  111. #endif /* !defined(_KERNEL) && !defined(_STYPES) */
  112.  
  113. #endif    /* _SYS_UTSNAME_H */
  114.