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