indented menu descriptions correctly
[kopensolaris-gnu/glibc.git] / manual / sysinfo.texi
1 @node System Information, System Configuration Limits, Users and Groups, Top
2 @chapter System Information
3
4 This chapter contains information about functions that return 
5 information about the particular machine a program is running on.
6
7 @menu
8 * Host Identification::         Determining the name of the machine.
9 * Hardware/Software Type ID::   Determining the hardware type of the
10                                  machine and what operating system it is
11                                  running. 
12 @end menu
13
14
15 @node Host Identification, Hardware/Software Type ID,  , System Information
16 @section Host Identification
17
18 The functions listed in this section access information to identify the
19 particular machine that a program is running on.  In the GNU system,
20 this information is the default Internet host name and host address of
21 the machine; see @ref{Internet Domain}.  These functions are the
22 primitives for the @code{hostname} and @code{hostid} shell commands.
23 @pindex hostname
24 @pindex hostid
25
26 Prototypes for these functions appear in @file{unistd.h}.
27 @pindex unistd.h
28
29 @comment unistd.h
30 @comment BSD
31 @deftypefun int gethostname (char *@var{name}, size_t @var{size})
32 This function returns the name of the host machine in the array
33 @var{name}.  The @var{size} argument specifies the size of this array,
34 in bytes.
35
36 @strong{Incomplete:}  The size of the host name is limited by a parameter
37 @code{MAXHOSTNAMELENGTH}, declared in @file{sys/param.h}.
38 @pindex sys/param.h
39
40 The return value is @code{0} on success and @code{-1} on failure.
41 @end deftypefun
42
43 @comment unistd.h
44 @comment BSD
45 @deftypefun int sethostname (const char *@var{name}, size_t @var{length})
46 The @code{sethostname} function sets the name of the host machine to
47 @var{name}, a string with length @var{length}.  This function can only
48 be called by the superuser, and is usually used only at system boot
49 time.
50
51 The return value is @code{0} on success and @code{-1} on failure.
52 @end deftypefun
53
54 @comment unistd.h
55 @comment BSD
56 @deftypefun {long int} gethostid (void)
57 This function returns the address of the host machine.
58 @end deftypefun
59
60 @comment unistd.h
61 @comment BSD
62 @deftypefun int sethostid (long int @var{id})
63 The @code{sethostid} function sets the address of the host machine
64 to @var{id}.  This function can only be called by the superuser, and
65 is usually used only at system boot time.
66
67 @strong{Incomplete:}  Is the return type from this function really 
68 @code{void}?  The BSD man page does not document a return value.
69 @end deftypefun
70
71
72 @node Hardware/Software Type ID,  , Host Identification, System Information
73 @section Hardware/Software Type Identification
74
75 You can use the @code{uname} function to find out some information about
76 the computer system your program is running on.  This function and the
77 associated data type are declared in the header file
78 @file{sys/utsname.h}.
79 @pindex sys/utsname.h
80
81 @comment sys/utsname.h
82 @comment POSIX.1
83 @deftp {struct Type} utsname
84 The @code{utsname} structure is used to hold information returned
85 by the @code{uname} function.  It has the following members:
86
87 @table @code
88 @item char sysname[]
89 This is the name of the operating system implementation.  In the
90 GNU library, the value is the string @code{"GNU C Library"}.
91
92 @item char nodename[]
93 This is the name of this node within a communications network.  In the
94 GNU library, the value is the same as that returned by
95 @code{gethostname}; see @ref{Host Identification}.
96
97 @item char release[]
98 This is the current release level of the operating system implementation.
99
100 @item char version[]
101 This is the current version level within the release of the operating
102 system.
103
104 @item char machine[]
105 This is a description of the hardware type that the operating system
106 is running on.
107 @end table
108 @end deftp
109
110
111 @comment sys/utsname.h
112 @comment POSIX.1
113 @deftypefun int uname (struct utsname *@var{info})
114 The @code{uname} function fills in the structure pointed to by
115 @var{info} with information about the operating system and host machine.
116 A non-negative value is returned on successful completion; in the event
117 of an error, @code{-1} is returned.
118 @end deftypefun
119
120
121
122