]> git.ipfire.org Git - thirdparty/man-pages.git/blame - man3/gethostid.3
getauxval.3: wfix
[thirdparty/man-pages.git] / man3 / gethostid.3
CommitLineData
fea681da
MK
1.\" Copyright 1993 Rickard E. Faith (faith@cs.unc.edu)
2.\"
a093807e
MK
3.\" Updated with additions from Mitchum DSouza <m.dsouza@mrc-apu.cam.ac.uk>
4.\" Portions Copyright 1993 Mitchum DSouza <m.dsouza@mrc-apu.cam.ac.uk>
5.\"
93015253 6.\" %%%LICENSE_START(VERBATIM)
fea681da
MK
7.\" Permission is granted to make and distribute verbatim copies of this
8.\" manual provided the copyright notice and this permission notice are
9.\" preserved on all copies.
10.\"
11.\" Permission is granted to copy and distribute modified versions of this
12.\" manual under the conditions for verbatim copying, provided that the
13.\" entire resulting derived work is distributed under the terms of a
14.\" permission notice identical to this one.
c13182ef 15.\"
fea681da
MK
16.\" Since the Linux kernel and libraries are constantly changing, this
17.\" manual page may be incorrect or out-of-date. The author(s) assume no
18.\" responsibility for errors or omissions, or for damages resulting from
19.\" the use of the information contained herein. The author(s) may not
20.\" have taken the same level of care in the production of this manual,
21.\" which is licensed free of charge, as they might when working
22.\" professionally.
c13182ef 23.\"
fea681da
MK
24.\" Formatted or processed versions of this manual, if unaccompanied by
25.\" the source, must acknowledge the copyright and authors of this work.
4b72fb64 26.\" %%%LICENSE_END
fea681da 27.\"
fea681da 28.\" Modified Tue Oct 22 00:22:35 EDT 1996 by Eric S. Raymond <esr@thyrsus.com>
460495ca 29.TH GETHOSTID 3 2015-08-08 "Linux" "Linux Programmer's Manual"
fea681da
MK
30.SH NAME
31gethostid, sethostid \- get or set the unique identifier of the current host
32.SH SYNOPSIS
33.B #include <unistd.h>
34.sp
35.B long gethostid(void);
36.br
37.BI "int sethostid(long " hostid );
cc4615cc
MK
38.sp
39.in -4n
40Feature Test Macro Requirements for glibc (see
41.BR feature_test_macros (7)):
42.in
43.sp
44.ad l
2161c132 45.br
ed8f1a27 46.BR gethostid ():
2161c132 47.RS 4
98dbe7af
MK
48_BSD_SOURCE || _XOPEN_SOURCE\ >=\ 500 ||
49_XOPEN_SOURCE\ &&\ _XOPEN_SOURCE_EXTENDED
2161c132 50.RE
cc4615cc 51.BR sethostid ():
2161c132 52.RS 4
cc4615cc 53_BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE\ <\ 500)
2161c132 54.RE
cc4615cc 55.ad b
fea681da 56.SH DESCRIPTION
9caf8256
MK
57.BR gethostid ()
58and
59.BR sethostid ()
60respectively get or set a unique 32-bit identifier for the current machine.
008f1ecc 61The 32-bit identifier is intended to be unique among all UNIX systems in
c13182ef
MK
62existence.
63This normally resembles the Internet address for the local
fea681da
MK
64machine, as returned by
65.BR gethostbyname (3),
66and thus usually never needs to be set.
67
68The
e511ffb6 69.BR sethostid ()
fea681da 70call is restricted to the superuser.
47297adb 71.SH RETURN VALUE
e511ffb6 72.BR gethostid ()
fea681da 73returns the 32-bit identifier for the current host as set by
2777b1ca 74.BR sethostid ().
04826816
MK
75
76On success,
77.BR sethostid ()
78returns 0; on error, \-1 is returned, and
79.I errno
80is set to indicate the error.
4c98d120
MK
81.SH ERRORS
82.BR sethostid ()
83can fail with the following errors:
84.TP
85.B EACCES
86The caller did not have permission to write to the file used
87to store the host ID.
88.TP
89.B EPERM
90The calling process's effective user or group ID is not the same
91as its corresponding real ID.
406ff2be
ZL
92.SH ATTRIBUTES
93For an explanation of the terms used in this section, see
94.BR attributes (7).
95.TS
96allbox;
97lb lb lbw25
98l l l.
99Interface Attribute Value
100T{
101.BR gethostid ()
102T} Thread safety MT-Safe hostid env locale
103T{
104.BR sethostid ()
105T} Thread safety MT-Unsafe const:hostid
106.TE
107
47297adb 108.SH CONFORMING TO
97c1eac8 1094.2BSD; these functions were dropped in 4.4BSD.
c13182ef 110SVr4 includes
97c1eac8
MK
111.BR gethostid ()
112but not
113.BR sethostid ().
32bb5d33
MK
114
115POSIX.1-2001 and POSIX.1-2008 specify
e511ffb6 116.BR gethostid ()
fea681da 117but not
e511ffb6 118.BR sethostid ().
53a6b01d 119.SH NOTES
f9d5bb73
MK
120In the glibc implementation, the
121.I hostid
122is stored in the file
123.IR /etc/hostid .
124(In glibc versions before 2.2, the file
125.I /var/adm/hostid
126was used.)
127.\" libc5 used /etc/hostid; libc4 didn't have these functions
128
53a6b01d
MK
129In the glibc implementation, if
130.BR gethostid ()
f9d5bb73 131cannot open the file containing the host ID,
ddaec46d 132then it obtains the hostname using
53a6b01d 133.BR gethostname (2),
ddaec46d 134passes that hostname to
3363301f 135.BR gethostbyname_r (3)
53a6b01d
MK
136in order to obtain the host's IPv4 address,
137and returns a value obtained by bit-twiddling the IPv4 address.
138(This value may not be unique.)
525748e0
MK
139.SH BUGS
140It is impossible to ensure that the identifier is globally unique.
47297adb 141.SH SEE ALSO
fea681da
MK
142.BR hostid (1),
143.BR gethostbyname (3)