]> git.ipfire.org Git - thirdparty/man-pages.git/blame - man3/gethostid.3
fanotify_init.2, fanotify.7: Document FAN_REPORT_TID
[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>
4b8c67d9 29.TH GETHOSTID 3 2017-09-15 "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>
68e4db0a 34.PP
fea681da
MK
35.B long gethostid(void);
36.br
37.BI "int sethostid(long " hostid );
68e4db0a 38.PP
cc4615cc
MK
39.in -4n
40Feature Test Macro Requirements for glibc (see
41.BR feature_test_macros (7)):
42.in
68e4db0a 43.PP
cc4615cc 44.ad l
2161c132 45.br
ed8f1a27 46.BR gethostid ():
2161c132 47.RS 4
cf7fa0a1
MK
48_BSD_SOURCE || _XOPEN_SOURCE\ >=\ 500
49.\" || _XOPEN_SOURCE\ &&\ _XOPEN_SOURCE_EXTENDED
2161c132 50.RE
cc4615cc 51.BR sethostid ():
2c767761 52.nf
d0544534
MK
53 Since glibc 2.21:
54.\" commit 266865c0e7b79d4196e2cc393693463f03c90bd8
55 _DEFAULT_SOURCE
56 In glibc 2.19 and 2.20:
57 _DEFAULT_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE\ <\ 500)
58 Up to and including glibc 2.19:
59 _BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE\ <\ 500)
60.fi
cc4615cc 61.ad b
fea681da 62.SH DESCRIPTION
9caf8256
MK
63.BR gethostid ()
64and
65.BR sethostid ()
66respectively get or set a unique 32-bit identifier for the current machine.
008f1ecc 67The 32-bit identifier is intended to be unique among all UNIX systems in
c13182ef
MK
68existence.
69This normally resembles the Internet address for the local
fea681da
MK
70machine, as returned by
71.BR gethostbyname (3),
72and thus usually never needs to be set.
847e0d88 73.PP
fea681da 74The
e511ffb6 75.BR sethostid ()
fea681da 76call is restricted to the superuser.
47297adb 77.SH RETURN VALUE
e511ffb6 78.BR gethostid ()
fea681da 79returns the 32-bit identifier for the current host as set by
2777b1ca 80.BR sethostid ().
847e0d88 81.PP
04826816
MK
82On success,
83.BR sethostid ()
84returns 0; on error, \-1 is returned, and
85.I errno
86is set to indicate the error.
4c98d120
MK
87.SH ERRORS
88.BR sethostid ()
89can fail with the following errors:
90.TP
91.B EACCES
92The caller did not have permission to write to the file used
93to store the host ID.
94.TP
95.B EPERM
96The calling process's effective user or group ID is not the same
97as its corresponding real ID.
406ff2be
ZL
98.SH ATTRIBUTES
99For an explanation of the terms used in this section, see
100.BR attributes (7).
101.TS
102allbox;
103lb lb lbw25
104l l l.
105Interface Attribute Value
106T{
107.BR gethostid ()
108T} Thread safety MT-Safe hostid env locale
109T{
110.BR sethostid ()
111T} Thread safety MT-Unsafe const:hostid
112.TE
847e0d88 113.sp 1
47297adb 114.SH CONFORMING TO
97c1eac8 1154.2BSD; these functions were dropped in 4.4BSD.
c13182ef 116SVr4 includes
97c1eac8
MK
117.BR gethostid ()
118but not
119.BR sethostid ().
847e0d88 120.PP
32bb5d33 121POSIX.1-2001 and POSIX.1-2008 specify
e511ffb6 122.BR gethostid ()
fea681da 123but not
e511ffb6 124.BR sethostid ().
53a6b01d 125.SH NOTES
f9d5bb73
MK
126In the glibc implementation, the
127.I hostid
128is stored in the file
129.IR /etc/hostid .
130(In glibc versions before 2.2, the file
131.I /var/adm/hostid
132was used.)
133.\" libc5 used /etc/hostid; libc4 didn't have these functions
847e0d88 134.PP
53a6b01d
MK
135In the glibc implementation, if
136.BR gethostid ()
f9d5bb73 137cannot open the file containing the host ID,
ddaec46d 138then it obtains the hostname using
53a6b01d 139.BR gethostname (2),
ddaec46d 140passes that hostname to
3363301f 141.BR gethostbyname_r (3)
53a6b01d
MK
142in order to obtain the host's IPv4 address,
143and returns a value obtained by bit-twiddling the IPv4 address.
144(This value may not be unique.)
525748e0
MK
145.SH BUGS
146It is impossible to ensure that the identifier is globally unique.
47297adb 147.SH SEE ALSO
fea681da
MK
148.BR hostid (1),
149.BR gethostbyname (3)