]>
Commit | Line | Data |
---|---|---|
d4697bc9 | 1 | /* Copyright (C) 1991-2014 Free Software Foundation, Inc. |
54d79e99 | 2 | This file is part of the GNU C Library. |
28f540f4 | 3 | |
54d79e99 | 4 | The GNU C Library is free software; you can redistribute it and/or |
41bdb6e2 AJ |
5 | modify it under the terms of the GNU Lesser General Public |
6 | License as published by the Free Software Foundation; either | |
7 | version 2.1 of the License, or (at your option) any later version. | |
28f540f4 | 8 | |
54d79e99 UD |
9 | The GNU C Library 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 GNU | |
41bdb6e2 | 12 | Lesser General Public License for more details. |
28f540f4 | 13 | |
41bdb6e2 | 14 | You should have received a copy of the GNU Lesser General Public |
59ba27a6 PE |
15 | License along with the GNU C Library; if not, see |
16 | <http://www.gnu.org/licenses/>. */ | |
28f540f4 RM |
17 | |
18 | /* | |
19 | * POSIX Standard: 4.4 System Identification <sys/utsname.h> | |
20 | */ | |
21 | ||
22 | #ifndef _SYS_UTSNAME_H | |
28f540f4 | 23 | #define _SYS_UTSNAME_H 1 |
5107cf1d | 24 | |
28f540f4 RM |
25 | #include <features.h> |
26 | ||
27 | __BEGIN_DECLS | |
28 | ||
5107cf1d UD |
29 | #include <bits/utsname.h> |
30 | ||
33cd8db3 RM |
31 | #ifndef _UTSNAME_SYSNAME_LENGTH |
32 | # define _UTSNAME_SYSNAME_LENGTH _UTSNAME_LENGTH | |
33 | #endif | |
28f540f4 | 34 | #ifndef _UTSNAME_NODENAME_LENGTH |
dfd2257a | 35 | # define _UTSNAME_NODENAME_LENGTH _UTSNAME_LENGTH |
28f540f4 | 36 | #endif |
33cd8db3 RM |
37 | #ifndef _UTSNAME_RELEASE_LENGTH |
38 | # define _UTSNAME_RELEASE_LENGTH _UTSNAME_LENGTH | |
39 | #endif | |
40 | #ifndef _UTSNAME_VERSION_LENGTH | |
41 | # define _UTSNAME_VERSION_LENGTH _UTSNAME_LENGTH | |
42 | #endif | |
43 | #ifndef _UTSNAME_MACHINE_LENGTH | |
44 | # define _UTSNAME_MACHINE_LENGTH _UTSNAME_LENGTH | |
45 | #endif | |
28f540f4 RM |
46 | |
47 | /* Structure describing the system and machine. */ | |
48 | struct utsname | |
49 | { | |
50 | /* Name of the implementation of the operating system. */ | |
33cd8db3 | 51 | char sysname[_UTSNAME_SYSNAME_LENGTH]; |
28f540f4 RM |
52 | |
53 | /* Name of this node on the network. */ | |
54 | char nodename[_UTSNAME_NODENAME_LENGTH]; | |
55 | ||
56 | /* Current release level of this implementation. */ | |
33cd8db3 | 57 | char release[_UTSNAME_RELEASE_LENGTH]; |
28f540f4 | 58 | /* Current version level of this release. */ |
33cd8db3 | 59 | char version[_UTSNAME_VERSION_LENGTH]; |
28f540f4 RM |
60 | |
61 | /* Name of the hardware type the system is running on. */ | |
33cd8db3 | 62 | char machine[_UTSNAME_MACHINE_LENGTH]; |
787429e3 UD |
63 | |
64 | #if _UTSNAME_DOMAIN_LENGTH - 0 | |
65 | /* Name of the domain of this node on the network. */ | |
dfd2257a | 66 | # ifdef __USE_GNU |
787429e3 | 67 | char domainname[_UTSNAME_DOMAIN_LENGTH]; |
dfd2257a | 68 | # else |
6d52618b | 69 | char __domainname[_UTSNAME_DOMAIN_LENGTH]; |
dfd2257a | 70 | # endif |
787429e3 | 71 | #endif |
28f540f4 RM |
72 | }; |
73 | ||
74 | #ifdef __USE_SVID | |
33cd8db3 | 75 | /* Note that SVID assumes all members have the same size. */ |
dfd2257a | 76 | # define SYS_NMLN _UTSNAME_LENGTH |
28f540f4 RM |
77 | #endif |
78 | ||
79 | ||
80 | /* Put information about the system in NAME. */ | |
c1422e5b | 81 | extern int uname (struct utsname *__name) __THROW; |
28f540f4 RM |
82 | |
83 | ||
84 | __END_DECLS | |
85 | ||
86 | #endif /* sys/utsname.h */ |