2000-04-18 06:24:03 +00:00
|
|
|
@node System Management, System Configuration, Users and Groups, Top
|
|
|
|
@c %MENU% Controlling the system and getting information about it
|
|
|
|
@chapter System Management
|
|
|
|
|
|
|
|
This chapter describes facilities for controlling the system that
|
|
|
|
underlies a process (including the operating system and hardware) and
|
|
|
|
for getting information about it. Anyone can generally use the
|
|
|
|
informational facilities, but usually only a properly privileged process
|
|
|
|
can make changes.
|
1995-02-18 01:27:10 +00:00
|
|
|
|
|
|
|
|
|
|
|
@menu
|
|
|
|
* Host Identification:: Determining the name of the machine.
|
2000-05-21 21:22:28 +00:00
|
|
|
* Platform Type:: Determining operating system and basic
|
|
|
|
machine type
|
2000-04-18 06:24:03 +00:00
|
|
|
* Filesystem Handling:: Controlling/querying mounts
|
1995-02-18 01:27:10 +00:00
|
|
|
@end menu
|
|
|
|
|
2000-04-18 06:24:03 +00:00
|
|
|
To get information on parameters of the system that are built into the
|
|
|
|
system, such as the maximum length of a filename, @ref{System
|
|
|
|
Configuration}.
|
1995-02-18 01:27:10 +00:00
|
|
|
|
|
|
|
@node Host Identification
|
|
|
|
@section Host Identification
|
|
|
|
|
2000-04-30 20:53:48 +00:00
|
|
|
This section explains how to identify the particular system on which your
|
|
|
|
program is running. First, let's review the various ways computer systems
|
|
|
|
are named, which is a little complicated because of the history of the
|
|
|
|
development of the Internet.
|
|
|
|
|
|
|
|
Every Unix system (also known as a host) has a host name, whether it's
|
|
|
|
connected to a network or not. In its simplest form, as used before
|
|
|
|
computer networks were an issue, it's just a word like @samp{chicken}.
|
|
|
|
@cindex host name
|
|
|
|
|
|
|
|
But any system attached to the Internet or any network like it conforms
|
|
|
|
to a more rigorous naming convention as part of the Domain Name System
|
2016-10-06 06:53:27 +00:00
|
|
|
(DNS). In the DNS, every host name is composed of two parts:
|
2000-04-30 20:53:48 +00:00
|
|
|
@cindex DNS
|
|
|
|
@cindex Domain Name System
|
|
|
|
|
|
|
|
@enumerate
|
|
|
|
@item
|
2000-06-02 00:27:08 +00:00
|
|
|
hostname
|
2000-04-30 20:53:48 +00:00
|
|
|
@cindex hostname
|
|
|
|
@item
|
|
|
|
domain name
|
|
|
|
@cindex domain name
|
|
|
|
@end enumerate
|
|
|
|
|
|
|
|
You will note that ``hostname'' looks a lot like ``host name'', but is
|
|
|
|
not the same thing, and that people often incorrectly refer to entire
|
|
|
|
host names as ``domain names.''
|
|
|
|
|
2016-10-06 06:53:27 +00:00
|
|
|
In the DNS, the full host name is properly called the FQDN (Fully Qualified
|
2000-04-30 20:53:48 +00:00
|
|
|
Domain Name) and consists of the hostname, then a period, then the
|
|
|
|
domain name. The domain name itself usually has multiple components
|
|
|
|
separated by periods. So for example, a system's hostname may be
|
2000-06-02 00:27:08 +00:00
|
|
|
@samp{chicken} and its domain name might be @samp{ai.mit.edu}, so
|
2000-04-30 20:53:48 +00:00
|
|
|
its FQDN (which is its host name) is @samp{chicken.ai.mit.edu}.
|
|
|
|
@cindex FQDN
|
|
|
|
|
2016-10-06 06:53:27 +00:00
|
|
|
Adding to the confusion, though, is that the DNS is not the only name space
|
2000-06-02 00:27:08 +00:00
|
|
|
in which a computer needs to be known. Another name space is the
|
2000-04-30 20:53:48 +00:00
|
|
|
NIS (aka YP) name space. For NIS purposes, there is another domain
|
|
|
|
name, which is called the NIS domain name or the YP domain name. It
|
|
|
|
need not have anything to do with the DNS domain name.
|
|
|
|
@cindex YP
|
|
|
|
@cindex NIS
|
|
|
|
@cindex NIS domain name
|
|
|
|
@cindex YP domain name
|
|
|
|
|
2016-10-06 06:53:27 +00:00
|
|
|
Confusing things even more is the fact that in the DNS, it is possible for
|
2000-04-30 20:53:48 +00:00
|
|
|
multiple FQDNs to refer to the same system. However, there is always
|
|
|
|
exactly one of them that is the true host name, and it is called the
|
2000-06-02 00:27:08 +00:00
|
|
|
canonical FQDN.
|
2000-04-30 20:53:48 +00:00
|
|
|
|
|
|
|
In some contexts, the host name is called a ``node name.''
|
|
|
|
|
2007-10-28 08:24:07 +00:00
|
|
|
For more information on DNS host naming, see @ref{Host Names}.
|
1995-02-18 01:27:10 +00:00
|
|
|
|
|
|
|
@pindex hostname
|
|
|
|
@pindex hostid
|
|
|
|
@pindex unistd.h
|
2000-06-02 00:27:08 +00:00
|
|
|
Prototypes for these functions appear in @file{unistd.h}.
|
2000-04-30 20:53:48 +00:00
|
|
|
|
|
|
|
The programs @code{hostname}, @code{hostid}, and @code{domainname} work
|
|
|
|
by calling these functions.
|
1995-02-18 01:27:10 +00:00
|
|
|
|
|
|
|
@deftypefun int gethostname (char *@var{name}, size_t @var{size})
|
manual: Replace summary.awk with summary.pl.
The Summary is now generated from @standards, and syntax-checking is
performed. If invalid @standards syntax is detected, summary.pl will
fail, reporting all errors. Failure and error reporting is disabled
for now, however, since much of the manual is still incomplete
wrt. header and standards annotations.
Note that the sorting order of the Summary has changed; summary.pl
respects the locale, like summary.awk did, but the use of LC_ALL=C is
introduced in the Makefile. Other notable deviations are improved
detection of the annotated elements' names, which are used for
sorting, and improved detection of the @node used to reference into
the manual. The most noticeable difference in the rendered Summary is
that entries may now contain multiple lines, one for each header and
standard combination.
summary.pl accepts a `--help' option, which details the expected
syntax of @standards. If errors are reported, the user is directed to
this feature for further information.
* manual/Makefile: Generate summary.texi with summary.pl.
Force use of the C locale. Update Perl dependency comment.
* manual/header.texi: Update reference to summary.awk.
* manual/macros.texi: Refer authors to `summary.pl --help'.
* manual/summary.awk: Remove file.
* manual/summary.pl: New file. Generate summary.texi, and
check for @standards-related syntax errors.
* manual/argp.texi: Convert header and standards @comments to
@standards.
* manual/arith.texi: Likewise.
* manual/charset.texi: Likewise.
* manual/conf.texi: Likewise.
* manual/creature.texi: Likewise.
* manual/crypt.texi: Likewise.
* manual/ctype.texi: Likewise.
* manual/debug.texi: Likewise.
* manual/errno.texi: Likewise.
* manual/filesys.texi: Likewise.
* manual/getopt.texi: Likewise.
* manual/job.texi: Likewise.
* manual/lang.texi: Likewise.
* manual/llio.texi: Likewise.
* manual/locale.texi: Likewise.
* manual/math.texi: Likewise.
* manual/memory.texi: Likewise.
* manual/message.texi: Likewise.
* manual/pattern.texi: Likewise.
* manual/pipe.texi: Likewise.
* manual/process.texi: Likewise.
* manual/resource.texi: Likewise.
* manual/search.texi: Likewise.
* manual/setjmp.texi: Likewise.
* manual/signal.texi: Likewise.
* manual/socket.texi: Likewise.
* manual/startup.texi: Likewise.
* manual/stdio.texi: Likewise.
* manual/string.texi: Likewise.
* manual/sysinfo.texi: Likewise.
* manual/syslog.texi: Likewise.
* manual/terminal.texi: Likewise.
* manual/threads.texi: Likewise.
* manual/time.texi: Likewise.
* manual/users.texi: Likewise.
2017-06-16 04:12:39 +00:00
|
|
|
@standards{BSD, unistd.h}
|
2014-02-01 03:16:09 +00:00
|
|
|
@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
|
|
|
|
@c Direct syscall on unix; implemented in terms of uname on posix and of
|
|
|
|
@c hurd_get_host_config on hurd.
|
2000-04-30 20:53:48 +00:00
|
|
|
This function returns the host name of the system on which it is called,
|
|
|
|
in the array @var{name}. The @var{size} argument specifies the size of
|
|
|
|
this array, in bytes. Note that this is @emph{not} the DNS hostname.
|
2016-10-06 06:53:27 +00:00
|
|
|
If the system participates in the DNS, this is the FQDN (see above).
|
1995-02-18 01:27:10 +00:00
|
|
|
|
|
|
|
The return value is @code{0} on success and @code{-1} on failure. In
|
2012-02-28 14:44:20 +00:00
|
|
|
@theglibc{}, @code{gethostname} fails if @var{size} is not large
|
1995-02-18 01:27:10 +00:00
|
|
|
enough; then you can try again with a larger array. The following
|
|
|
|
@code{errno} error condition is defined for this function:
|
|
|
|
|
|
|
|
@table @code
|
|
|
|
@item ENAMETOOLONG
|
|
|
|
The @var{size} argument is less than the size of the host name plus one.
|
|
|
|
@end table
|
|
|
|
|
|
|
|
@pindex sys/param.h
|
|
|
|
On some systems, there is a symbol for the maximum possible host name
|
|
|
|
length: @code{MAXHOSTNAMELEN}. It is defined in @file{sys/param.h}.
|
|
|
|
But you can't count on this to exist, so it is cleaner to handle
|
|
|
|
failure and try again.
|
|
|
|
|
|
|
|
@code{gethostname} stores the beginning of the host name in @var{name}
|
|
|
|
even if the host name won't entirely fit. For some purposes, a
|
|
|
|
truncated host name is good enough. If it is, you can ignore the
|
|
|
|
error code.
|
|
|
|
@end deftypefun
|
|
|
|
|
|
|
|
@deftypefun int sethostname (const char *@var{name}, size_t @var{length})
|
manual: Replace summary.awk with summary.pl.
The Summary is now generated from @standards, and syntax-checking is
performed. If invalid @standards syntax is detected, summary.pl will
fail, reporting all errors. Failure and error reporting is disabled
for now, however, since much of the manual is still incomplete
wrt. header and standards annotations.
Note that the sorting order of the Summary has changed; summary.pl
respects the locale, like summary.awk did, but the use of LC_ALL=C is
introduced in the Makefile. Other notable deviations are improved
detection of the annotated elements' names, which are used for
sorting, and improved detection of the @node used to reference into
the manual. The most noticeable difference in the rendered Summary is
that entries may now contain multiple lines, one for each header and
standard combination.
summary.pl accepts a `--help' option, which details the expected
syntax of @standards. If errors are reported, the user is directed to
this feature for further information.
* manual/Makefile: Generate summary.texi with summary.pl.
Force use of the C locale. Update Perl dependency comment.
* manual/header.texi: Update reference to summary.awk.
* manual/macros.texi: Refer authors to `summary.pl --help'.
* manual/summary.awk: Remove file.
* manual/summary.pl: New file. Generate summary.texi, and
check for @standards-related syntax errors.
* manual/argp.texi: Convert header and standards @comments to
@standards.
* manual/arith.texi: Likewise.
* manual/charset.texi: Likewise.
* manual/conf.texi: Likewise.
* manual/creature.texi: Likewise.
* manual/crypt.texi: Likewise.
* manual/ctype.texi: Likewise.
* manual/debug.texi: Likewise.
* manual/errno.texi: Likewise.
* manual/filesys.texi: Likewise.
* manual/getopt.texi: Likewise.
* manual/job.texi: Likewise.
* manual/lang.texi: Likewise.
* manual/llio.texi: Likewise.
* manual/locale.texi: Likewise.
* manual/math.texi: Likewise.
* manual/memory.texi: Likewise.
* manual/message.texi: Likewise.
* manual/pattern.texi: Likewise.
* manual/pipe.texi: Likewise.
* manual/process.texi: Likewise.
* manual/resource.texi: Likewise.
* manual/search.texi: Likewise.
* manual/setjmp.texi: Likewise.
* manual/signal.texi: Likewise.
* manual/socket.texi: Likewise.
* manual/startup.texi: Likewise.
* manual/stdio.texi: Likewise.
* manual/string.texi: Likewise.
* manual/sysinfo.texi: Likewise.
* manual/syslog.texi: Likewise.
* manual/terminal.texi: Likewise.
* manual/threads.texi: Likewise.
* manual/time.texi: Likewise.
* manual/users.texi: Likewise.
2017-06-16 04:12:39 +00:00
|
|
|
@standards{BSD, unistd.h}
|
2014-02-01 03:16:09 +00:00
|
|
|
@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
|
|
|
|
@c Direct syscall on unix; implemented in terms of hurd_set_host_config
|
|
|
|
@c on hurd.
|
2000-04-30 20:53:48 +00:00
|
|
|
The @code{sethostname} function sets the host name of the system that
|
|
|
|
calls it to @var{name}, a string with length @var{length}. Only
|
|
|
|
privileged processes are permitted to do this.
|
|
|
|
|
|
|
|
Usually @code{sethostname} gets called just once, at system boot time.
|
|
|
|
Often, the program that calls it sets it to the value it finds in the
|
|
|
|
file @code{/etc/hostname}.
|
|
|
|
@cindex /etc/hostname
|
|
|
|
|
|
|
|
Be sure to set the host name to the full host name, not just the DNS
|
|
|
|
hostname (see above).
|
1995-02-18 01:27:10 +00:00
|
|
|
|
|
|
|
The return value is @code{0} on success and @code{-1} on failure.
|
|
|
|
The following @code{errno} error condition is defined for this function:
|
|
|
|
|
|
|
|
@table @code
|
|
|
|
@item EPERM
|
|
|
|
This process cannot set the host name because it is not privileged.
|
|
|
|
@end table
|
|
|
|
@end deftypefun
|
|
|
|
|
2000-04-30 20:53:48 +00:00
|
|
|
@deftypefun int getdomainnname (char *@var{name}, size_t @var{length})
|
manual: Replace summary.awk with summary.pl.
The Summary is now generated from @standards, and syntax-checking is
performed. If invalid @standards syntax is detected, summary.pl will
fail, reporting all errors. Failure and error reporting is disabled
for now, however, since much of the manual is still incomplete
wrt. header and standards annotations.
Note that the sorting order of the Summary has changed; summary.pl
respects the locale, like summary.awk did, but the use of LC_ALL=C is
introduced in the Makefile. Other notable deviations are improved
detection of the annotated elements' names, which are used for
sorting, and improved detection of the @node used to reference into
the manual. The most noticeable difference in the rendered Summary is
that entries may now contain multiple lines, one for each header and
standard combination.
summary.pl accepts a `--help' option, which details the expected
syntax of @standards. If errors are reported, the user is directed to
this feature for further information.
* manual/Makefile: Generate summary.texi with summary.pl.
Force use of the C locale. Update Perl dependency comment.
* manual/header.texi: Update reference to summary.awk.
* manual/macros.texi: Refer authors to `summary.pl --help'.
* manual/summary.awk: Remove file.
* manual/summary.pl: New file. Generate summary.texi, and
check for @standards-related syntax errors.
* manual/argp.texi: Convert header and standards @comments to
@standards.
* manual/arith.texi: Likewise.
* manual/charset.texi: Likewise.
* manual/conf.texi: Likewise.
* manual/creature.texi: Likewise.
* manual/crypt.texi: Likewise.
* manual/ctype.texi: Likewise.
* manual/debug.texi: Likewise.
* manual/errno.texi: Likewise.
* manual/filesys.texi: Likewise.
* manual/getopt.texi: Likewise.
* manual/job.texi: Likewise.
* manual/lang.texi: Likewise.
* manual/llio.texi: Likewise.
* manual/locale.texi: Likewise.
* manual/math.texi: Likewise.
* manual/memory.texi: Likewise.
* manual/message.texi: Likewise.
* manual/pattern.texi: Likewise.
* manual/pipe.texi: Likewise.
* manual/process.texi: Likewise.
* manual/resource.texi: Likewise.
* manual/search.texi: Likewise.
* manual/setjmp.texi: Likewise.
* manual/signal.texi: Likewise.
* manual/socket.texi: Likewise.
* manual/startup.texi: Likewise.
* manual/stdio.texi: Likewise.
* manual/string.texi: Likewise.
* manual/sysinfo.texi: Likewise.
* manual/syslog.texi: Likewise.
* manual/terminal.texi: Likewise.
* manual/threads.texi: Likewise.
* manual/time.texi: Likewise.
* manual/users.texi: Likewise.
2017-06-16 04:12:39 +00:00
|
|
|
@standards{???, unistd.h}
|
2014-02-01 03:16:09 +00:00
|
|
|
@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
|
|
|
|
@c Syscalls uname, then strlen and memcpy.
|
2000-04-30 20:53:48 +00:00
|
|
|
@cindex NIS domain name
|
|
|
|
@cindex YP domain name
|
|
|
|
|
|
|
|
@code{getdomainname} returns the NIS (aka YP) domain name of the system
|
|
|
|
on which it is called. Note that this is not the more popular DNS
|
|
|
|
domain name. Get that with @code{gethostname}.
|
|
|
|
|
|
|
|
The specifics of this function are analogous to @code{gethostname}, above.
|
|
|
|
|
|
|
|
@end deftypefun
|
|
|
|
|
2001-02-10 16:37:51 +00:00
|
|
|
@deftypefun int setdomainname (const char *@var{name}, size_t @var{length})
|
manual: Replace summary.awk with summary.pl.
The Summary is now generated from @standards, and syntax-checking is
performed. If invalid @standards syntax is detected, summary.pl will
fail, reporting all errors. Failure and error reporting is disabled
for now, however, since much of the manual is still incomplete
wrt. header and standards annotations.
Note that the sorting order of the Summary has changed; summary.pl
respects the locale, like summary.awk did, but the use of LC_ALL=C is
introduced in the Makefile. Other notable deviations are improved
detection of the annotated elements' names, which are used for
sorting, and improved detection of the @node used to reference into
the manual. The most noticeable difference in the rendered Summary is
that entries may now contain multiple lines, one for each header and
standard combination.
summary.pl accepts a `--help' option, which details the expected
syntax of @standards. If errors are reported, the user is directed to
this feature for further information.
* manual/Makefile: Generate summary.texi with summary.pl.
Force use of the C locale. Update Perl dependency comment.
* manual/header.texi: Update reference to summary.awk.
* manual/macros.texi: Refer authors to `summary.pl --help'.
* manual/summary.awk: Remove file.
* manual/summary.pl: New file. Generate summary.texi, and
check for @standards-related syntax errors.
* manual/argp.texi: Convert header and standards @comments to
@standards.
* manual/arith.texi: Likewise.
* manual/charset.texi: Likewise.
* manual/conf.texi: Likewise.
* manual/creature.texi: Likewise.
* manual/crypt.texi: Likewise.
* manual/ctype.texi: Likewise.
* manual/debug.texi: Likewise.
* manual/errno.texi: Likewise.
* manual/filesys.texi: Likewise.
* manual/getopt.texi: Likewise.
* manual/job.texi: Likewise.
* manual/lang.texi: Likewise.
* manual/llio.texi: Likewise.
* manual/locale.texi: Likewise.
* manual/math.texi: Likewise.
* manual/memory.texi: Likewise.
* manual/message.texi: Likewise.
* manual/pattern.texi: Likewise.
* manual/pipe.texi: Likewise.
* manual/process.texi: Likewise.
* manual/resource.texi: Likewise.
* manual/search.texi: Likewise.
* manual/setjmp.texi: Likewise.
* manual/signal.texi: Likewise.
* manual/socket.texi: Likewise.
* manual/startup.texi: Likewise.
* manual/stdio.texi: Likewise.
* manual/string.texi: Likewise.
* manual/sysinfo.texi: Likewise.
* manual/syslog.texi: Likewise.
* manual/terminal.texi: Likewise.
* manual/threads.texi: Likewise.
* manual/time.texi: Likewise.
* manual/users.texi: Likewise.
2017-06-16 04:12:39 +00:00
|
|
|
@standards{???, unistd.h}
|
2014-02-01 03:16:09 +00:00
|
|
|
@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
|
|
|
|
@c Direct syscall.
|
2000-04-30 20:53:48 +00:00
|
|
|
@cindex NIS domain name
|
|
|
|
@cindex YP domain name
|
|
|
|
|
2016-10-06 06:53:27 +00:00
|
|
|
@code{setdomainname} sets the NIS (aka YP) domain name of the system
|
2000-04-30 20:53:48 +00:00
|
|
|
on which it is called. Note that this is not the more popular DNS
|
|
|
|
domain name. Set that with @code{sethostname}.
|
|
|
|
|
|
|
|
The specifics of this function are analogous to @code{sethostname}, above.
|
|
|
|
|
|
|
|
@end deftypefun
|
|
|
|
|
1995-02-18 01:27:10 +00:00
|
|
|
@deftypefun {long int} gethostid (void)
|
manual: Replace summary.awk with summary.pl.
The Summary is now generated from @standards, and syntax-checking is
performed. If invalid @standards syntax is detected, summary.pl will
fail, reporting all errors. Failure and error reporting is disabled
for now, however, since much of the manual is still incomplete
wrt. header and standards annotations.
Note that the sorting order of the Summary has changed; summary.pl
respects the locale, like summary.awk did, but the use of LC_ALL=C is
introduced in the Makefile. Other notable deviations are improved
detection of the annotated elements' names, which are used for
sorting, and improved detection of the @node used to reference into
the manual. The most noticeable difference in the rendered Summary is
that entries may now contain multiple lines, one for each header and
standard combination.
summary.pl accepts a `--help' option, which details the expected
syntax of @standards. If errors are reported, the user is directed to
this feature for further information.
* manual/Makefile: Generate summary.texi with summary.pl.
Force use of the C locale. Update Perl dependency comment.
* manual/header.texi: Update reference to summary.awk.
* manual/macros.texi: Refer authors to `summary.pl --help'.
* manual/summary.awk: Remove file.
* manual/summary.pl: New file. Generate summary.texi, and
check for @standards-related syntax errors.
* manual/argp.texi: Convert header and standards @comments to
@standards.
* manual/arith.texi: Likewise.
* manual/charset.texi: Likewise.
* manual/conf.texi: Likewise.
* manual/creature.texi: Likewise.
* manual/crypt.texi: Likewise.
* manual/ctype.texi: Likewise.
* manual/debug.texi: Likewise.
* manual/errno.texi: Likewise.
* manual/filesys.texi: Likewise.
* manual/getopt.texi: Likewise.
* manual/job.texi: Likewise.
* manual/lang.texi: Likewise.
* manual/llio.texi: Likewise.
* manual/locale.texi: Likewise.
* manual/math.texi: Likewise.
* manual/memory.texi: Likewise.
* manual/message.texi: Likewise.
* manual/pattern.texi: Likewise.
* manual/pipe.texi: Likewise.
* manual/process.texi: Likewise.
* manual/resource.texi: Likewise.
* manual/search.texi: Likewise.
* manual/setjmp.texi: Likewise.
* manual/signal.texi: Likewise.
* manual/socket.texi: Likewise.
* manual/startup.texi: Likewise.
* manual/stdio.texi: Likewise.
* manual/string.texi: Likewise.
* manual/sysinfo.texi: Likewise.
* manual/syslog.texi: Likewise.
* manual/terminal.texi: Likewise.
* manual/threads.texi: Likewise.
* manual/time.texi: Likewise.
* manual/users.texi: Likewise.
2017-06-16 04:12:39 +00:00
|
|
|
@standards{BSD, unistd.h}
|
2014-02-01 03:16:09 +00:00
|
|
|
@safety{@prelim{}@mtsafe{@mtshostid{} @mtsenv{} @mtslocale{}}@asunsafe{@ascudlopen{} @ascuplugin{} @asucorrupt{} @ascuheap{} @asulock{}}@acunsafe{@aculock{} @acucorrupt{} @acsmem{} @acsfd{}}}
|
|
|
|
@c On HURD, calls _hurd_get_host_config and strtol. On Linux, open
|
|
|
|
@c HOSTIDFILE, reads an int32_t and closes; if that fails, it calls
|
|
|
|
@c gethostname and gethostbyname_r to use the h_addr.
|
1995-02-18 01:27:10 +00:00
|
|
|
This function returns the ``host ID'' of the machine the program is
|
2000-04-30 20:53:48 +00:00
|
|
|
running on. By convention, this is usually the primary Internet IP address
|
1999-08-27 19:06:58 +00:00
|
|
|
of that machine, converted to a @w{@code{long int}}. However, on some
|
1995-02-18 01:27:10 +00:00
|
|
|
systems it is a meaningless but unique number which is hard-coded for
|
|
|
|
each machine.
|
2000-04-30 20:53:48 +00:00
|
|
|
|
|
|
|
This is not widely used. It arose in BSD 4.2, but was dropped in BSD 4.4.
|
|
|
|
It is not required by POSIX.
|
|
|
|
|
|
|
|
The proper way to query the IP address is to use @code{gethostbyname}
|
|
|
|
on the results of @code{gethostname}. For more information on IP addresses,
|
|
|
|
@xref{Host Addresses}.
|
1995-02-18 01:27:10 +00:00
|
|
|
@end deftypefun
|
|
|
|
|
|
|
|
@deftypefun int sethostid (long int @var{id})
|
manual: Replace summary.awk with summary.pl.
The Summary is now generated from @standards, and syntax-checking is
performed. If invalid @standards syntax is detected, summary.pl will
fail, reporting all errors. Failure and error reporting is disabled
for now, however, since much of the manual is still incomplete
wrt. header and standards annotations.
Note that the sorting order of the Summary has changed; summary.pl
respects the locale, like summary.awk did, but the use of LC_ALL=C is
introduced in the Makefile. Other notable deviations are improved
detection of the annotated elements' names, which are used for
sorting, and improved detection of the @node used to reference into
the manual. The most noticeable difference in the rendered Summary is
that entries may now contain multiple lines, one for each header and
standard combination.
summary.pl accepts a `--help' option, which details the expected
syntax of @standards. If errors are reported, the user is directed to
this feature for further information.
* manual/Makefile: Generate summary.texi with summary.pl.
Force use of the C locale. Update Perl dependency comment.
* manual/header.texi: Update reference to summary.awk.
* manual/macros.texi: Refer authors to `summary.pl --help'.
* manual/summary.awk: Remove file.
* manual/summary.pl: New file. Generate summary.texi, and
check for @standards-related syntax errors.
* manual/argp.texi: Convert header and standards @comments to
@standards.
* manual/arith.texi: Likewise.
* manual/charset.texi: Likewise.
* manual/conf.texi: Likewise.
* manual/creature.texi: Likewise.
* manual/crypt.texi: Likewise.
* manual/ctype.texi: Likewise.
* manual/debug.texi: Likewise.
* manual/errno.texi: Likewise.
* manual/filesys.texi: Likewise.
* manual/getopt.texi: Likewise.
* manual/job.texi: Likewise.
* manual/lang.texi: Likewise.
* manual/llio.texi: Likewise.
* manual/locale.texi: Likewise.
* manual/math.texi: Likewise.
* manual/memory.texi: Likewise.
* manual/message.texi: Likewise.
* manual/pattern.texi: Likewise.
* manual/pipe.texi: Likewise.
* manual/process.texi: Likewise.
* manual/resource.texi: Likewise.
* manual/search.texi: Likewise.
* manual/setjmp.texi: Likewise.
* manual/signal.texi: Likewise.
* manual/socket.texi: Likewise.
* manual/startup.texi: Likewise.
* manual/stdio.texi: Likewise.
* manual/string.texi: Likewise.
* manual/sysinfo.texi: Likewise.
* manual/syslog.texi: Likewise.
* manual/terminal.texi: Likewise.
* manual/threads.texi: Likewise.
* manual/time.texi: Likewise.
* manual/users.texi: Likewise.
2017-06-16 04:12:39 +00:00
|
|
|
@standards{BSD, unistd.h}
|
2014-02-01 03:16:09 +00:00
|
|
|
@safety{@prelim{}@mtunsafe{@mtasuconst{:@mtshostid{}}}@asunsafe{}@acunsafe{@acucorrupt{} @acsfd{}}}
|
1995-02-18 01:27:10 +00:00
|
|
|
The @code{sethostid} function sets the ``host ID'' of the host machine
|
2000-04-30 20:53:48 +00:00
|
|
|
to @var{id}. Only privileged processes are permitted to do this. Usually
|
1995-02-18 01:27:10 +00:00
|
|
|
it happens just once, at system boot time.
|
|
|
|
|
2000-04-30 20:53:48 +00:00
|
|
|
The proper way to establish the primary IP address of a system
|
2000-06-02 00:27:08 +00:00
|
|
|
is to configure the IP address resolver to associate that IP address with
|
2000-04-30 20:53:48 +00:00
|
|
|
the system's host name as returned by @code{gethostname}. For example,
|
|
|
|
put a record for the system in @file{/etc/hosts}.
|
|
|
|
|
|
|
|
See @code{gethostid} above for more information on host ids.
|
|
|
|
|
1995-02-18 01:27:10 +00:00
|
|
|
The return value is @code{0} on success and @code{-1} on failure.
|
1999-08-27 19:06:58 +00:00
|
|
|
The following @code{errno} error conditions are defined for this function:
|
1995-02-18 01:27:10 +00:00
|
|
|
|
|
|
|
@table @code
|
|
|
|
@item EPERM
|
|
|
|
This process cannot set the host name because it is not privileged.
|
|
|
|
|
|
|
|
@item ENOSYS
|
|
|
|
The operating system does not support setting the host ID. On some
|
|
|
|
systems, the host ID is a meaningless but unique number hard-coded for
|
|
|
|
each machine.
|
|
|
|
@end table
|
|
|
|
@end deftypefun
|
|
|
|
|
2000-05-21 21:22:28 +00:00
|
|
|
@node Platform Type
|
|
|
|
@section Platform Type Identification
|
1995-02-18 01:27:10 +00:00
|
|
|
|
|
|
|
You can use the @code{uname} function to find out some information about
|
|
|
|
the type of computer your program is running on. This function and the
|
|
|
|
associated data type are declared in the header file
|
|
|
|
@file{sys/utsname.h}.
|
|
|
|
@pindex sys/utsname.h
|
|
|
|
|
2000-06-02 00:27:08 +00:00
|
|
|
As a bonus, @code{uname} also gives some information identifying the
|
2000-04-30 20:53:48 +00:00
|
|
|
particular system your program is running on. This is the same information
|
2013-12-30 14:29:35 +00:00
|
|
|
which you can get with functions targeted to this purpose described in
|
2000-04-30 20:53:48 +00:00
|
|
|
@ref{Host Identification}.
|
|
|
|
|
|
|
|
|
1995-02-18 01:27:10 +00:00
|
|
|
@deftp {Data Type} {struct utsname}
|
manual: Replace summary.awk with summary.pl.
The Summary is now generated from @standards, and syntax-checking is
performed. If invalid @standards syntax is detected, summary.pl will
fail, reporting all errors. Failure and error reporting is disabled
for now, however, since much of the manual is still incomplete
wrt. header and standards annotations.
Note that the sorting order of the Summary has changed; summary.pl
respects the locale, like summary.awk did, but the use of LC_ALL=C is
introduced in the Makefile. Other notable deviations are improved
detection of the annotated elements' names, which are used for
sorting, and improved detection of the @node used to reference into
the manual. The most noticeable difference in the rendered Summary is
that entries may now contain multiple lines, one for each header and
standard combination.
summary.pl accepts a `--help' option, which details the expected
syntax of @standards. If errors are reported, the user is directed to
this feature for further information.
* manual/Makefile: Generate summary.texi with summary.pl.
Force use of the C locale. Update Perl dependency comment.
* manual/header.texi: Update reference to summary.awk.
* manual/macros.texi: Refer authors to `summary.pl --help'.
* manual/summary.awk: Remove file.
* manual/summary.pl: New file. Generate summary.texi, and
check for @standards-related syntax errors.
* manual/argp.texi: Convert header and standards @comments to
@standards.
* manual/arith.texi: Likewise.
* manual/charset.texi: Likewise.
* manual/conf.texi: Likewise.
* manual/creature.texi: Likewise.
* manual/crypt.texi: Likewise.
* manual/ctype.texi: Likewise.
* manual/debug.texi: Likewise.
* manual/errno.texi: Likewise.
* manual/filesys.texi: Likewise.
* manual/getopt.texi: Likewise.
* manual/job.texi: Likewise.
* manual/lang.texi: Likewise.
* manual/llio.texi: Likewise.
* manual/locale.texi: Likewise.
* manual/math.texi: Likewise.
* manual/memory.texi: Likewise.
* manual/message.texi: Likewise.
* manual/pattern.texi: Likewise.
* manual/pipe.texi: Likewise.
* manual/process.texi: Likewise.
* manual/resource.texi: Likewise.
* manual/search.texi: Likewise.
* manual/setjmp.texi: Likewise.
* manual/signal.texi: Likewise.
* manual/socket.texi: Likewise.
* manual/startup.texi: Likewise.
* manual/stdio.texi: Likewise.
* manual/string.texi: Likewise.
* manual/sysinfo.texi: Likewise.
* manual/syslog.texi: Likewise.
* manual/terminal.texi: Likewise.
* manual/threads.texi: Likewise.
* manual/time.texi: Likewise.
* manual/users.texi: Likewise.
2017-06-16 04:12:39 +00:00
|
|
|
@standards{POSIX.1, sys/utsname.h}
|
1995-02-18 01:27:10 +00:00
|
|
|
The @code{utsname} structure is used to hold information returned
|
|
|
|
by the @code{uname} function. It has the following members:
|
|
|
|
|
|
|
|
@table @code
|
|
|
|
@item char sysname[]
|
|
|
|
This is the name of the operating system in use.
|
|
|
|
|
|
|
|
@item char release[]
|
|
|
|
This is the current release level of the operating system implementation.
|
|
|
|
|
|
|
|
@item char version[]
|
|
|
|
This is the current version level within the release of the operating
|
|
|
|
system.
|
|
|
|
|
|
|
|
@item char machine[]
|
|
|
|
This is a description of the type of hardware that is in use.
|
|
|
|
|
|
|
|
Some systems provide a mechanism to interrogate the kernel directly for
|
2012-02-28 14:44:20 +00:00
|
|
|
this information. On systems without such a mechanism, @theglibc{}
|
|
|
|
fills in this field based on the configuration name that was
|
1995-02-18 01:27:10 +00:00
|
|
|
specified when building and installing the library.
|
|
|
|
|
|
|
|
GNU uses a three-part name to describe a system configuration; the three
|
|
|
|
parts are @var{cpu}, @var{manufacturer} and @var{system-type}, and they
|
|
|
|
are separated with dashes. Any possible combination of three names is
|
|
|
|
potentially meaningful, but most such combinations are meaningless in
|
|
|
|
practice and even the meaningful ones are not necessarily supported by
|
|
|
|
any particular GNU program.
|
|
|
|
|
|
|
|
Since the value in @code{machine} is supposed to describe just the
|
|
|
|
hardware, it consists of the first two parts of the configuration name:
|
|
|
|
@samp{@var{cpu}-@var{manufacturer}}. For example, it might be one of these:
|
|
|
|
|
|
|
|
@quotation
|
1998-06-11 21:06:58 +00:00
|
|
|
@code{"sparc-sun"},
|
1995-02-18 01:27:10 +00:00
|
|
|
@code{"i386-@var{anything}"},
|
1998-06-11 21:06:58 +00:00
|
|
|
@code{"m68k-hp"},
|
1995-02-18 01:27:10 +00:00
|
|
|
@code{"m68k-sony"},
|
|
|
|
@code{"m68k-sun"},
|
|
|
|
@code{"mips-dec"}
|
|
|
|
@end quotation
|
2000-04-30 20:53:48 +00:00
|
|
|
|
|
|
|
@item char nodename[]
|
2012-02-28 14:44:20 +00:00
|
|
|
This is the host name of this particular computer. In @theglibc{},
|
|
|
|
the value is the same as that returned by @code{gethostname};
|
2000-04-30 20:53:48 +00:00
|
|
|
see @ref{Host Identification}.
|
|
|
|
|
2016-10-06 06:53:27 +00:00
|
|
|
@code{gethostname} is implemented with a call to @code{uname}.
|
2000-04-30 20:53:48 +00:00
|
|
|
|
|
|
|
@item char domainname[]
|
|
|
|
This is the NIS or YP domain name. It is the same value returned by
|
2000-06-02 00:27:08 +00:00
|
|
|
@code{getdomainname}; see @ref{Host Identification}. This element
|
2000-04-30 20:53:48 +00:00
|
|
|
is a relatively recent invention and use of it is not as portable as
|
|
|
|
use of the rest of the structure.
|
|
|
|
|
|
|
|
@c getdomainname() is implemented with a call to uname().
|
|
|
|
|
1995-02-18 01:27:10 +00:00
|
|
|
@end table
|
|
|
|
@end deftp
|
|
|
|
|
|
|
|
@deftypefun int uname (struct utsname *@var{info})
|
manual: Replace summary.awk with summary.pl.
The Summary is now generated from @standards, and syntax-checking is
performed. If invalid @standards syntax is detected, summary.pl will
fail, reporting all errors. Failure and error reporting is disabled
for now, however, since much of the manual is still incomplete
wrt. header and standards annotations.
Note that the sorting order of the Summary has changed; summary.pl
respects the locale, like summary.awk did, but the use of LC_ALL=C is
introduced in the Makefile. Other notable deviations are improved
detection of the annotated elements' names, which are used for
sorting, and improved detection of the @node used to reference into
the manual. The most noticeable difference in the rendered Summary is
that entries may now contain multiple lines, one for each header and
standard combination.
summary.pl accepts a `--help' option, which details the expected
syntax of @standards. If errors are reported, the user is directed to
this feature for further information.
* manual/Makefile: Generate summary.texi with summary.pl.
Force use of the C locale. Update Perl dependency comment.
* manual/header.texi: Update reference to summary.awk.
* manual/macros.texi: Refer authors to `summary.pl --help'.
* manual/summary.awk: Remove file.
* manual/summary.pl: New file. Generate summary.texi, and
check for @standards-related syntax errors.
* manual/argp.texi: Convert header and standards @comments to
@standards.
* manual/arith.texi: Likewise.
* manual/charset.texi: Likewise.
* manual/conf.texi: Likewise.
* manual/creature.texi: Likewise.
* manual/crypt.texi: Likewise.
* manual/ctype.texi: Likewise.
* manual/debug.texi: Likewise.
* manual/errno.texi: Likewise.
* manual/filesys.texi: Likewise.
* manual/getopt.texi: Likewise.
* manual/job.texi: Likewise.
* manual/lang.texi: Likewise.
* manual/llio.texi: Likewise.
* manual/locale.texi: Likewise.
* manual/math.texi: Likewise.
* manual/memory.texi: Likewise.
* manual/message.texi: Likewise.
* manual/pattern.texi: Likewise.
* manual/pipe.texi: Likewise.
* manual/process.texi: Likewise.
* manual/resource.texi: Likewise.
* manual/search.texi: Likewise.
* manual/setjmp.texi: Likewise.
* manual/signal.texi: Likewise.
* manual/socket.texi: Likewise.
* manual/startup.texi: Likewise.
* manual/stdio.texi: Likewise.
* manual/string.texi: Likewise.
* manual/sysinfo.texi: Likewise.
* manual/syslog.texi: Likewise.
* manual/terminal.texi: Likewise.
* manual/threads.texi: Likewise.
* manual/time.texi: Likewise.
* manual/users.texi: Likewise.
2017-06-16 04:12:39 +00:00
|
|
|
@standards{POSIX.1, sys/utsname.h}
|
2014-02-01 03:16:09 +00:00
|
|
|
@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
|
|
|
|
@c Direct syscall on unix; the posix fallback is to call gethostname and
|
|
|
|
@c then fills in the other fields with constants; on HURD, it calls
|
|
|
|
@c proc_uname and then gethostname.
|
1995-02-18 01:27:10 +00:00
|
|
|
The @code{uname} function fills in the structure pointed to by
|
|
|
|
@var{info} with information about the operating system and host machine.
|
2016-10-06 06:53:27 +00:00
|
|
|
A non-negative return value indicates that the data was successfully stored.
|
1995-02-18 01:27:10 +00:00
|
|
|
|
2016-10-06 06:53:27 +00:00
|
|
|
@code{-1} as the return value indicates an error. The only error possible is
|
1995-02-18 01:27:10 +00:00
|
|
|
@code{EFAULT}, which we normally don't mention as it is always a
|
|
|
|
possibility.
|
|
|
|
@end deftypefun
|
1998-06-11 21:06:58 +00:00
|
|
|
|
|
|
|
|
2000-04-18 06:24:03 +00:00
|
|
|
@node Filesystem Handling
|
2000-05-21 21:22:28 +00:00
|
|
|
@section Controlling and Querying Mounts
|
2000-04-18 06:24:03 +00:00
|
|
|
|
|
|
|
All files are in filesystems, and before you can access any file, its
|
|
|
|
filesystem must be mounted. Because of Unix's concept of
|
|
|
|
@emph{Everything is a file}, mounting of filesystems is central to doing
|
|
|
|
almost anything. This section explains how to find out what filesystems
|
|
|
|
are currently mounted and what filesystems are available for mounting,
|
|
|
|
and how to change what is mounted.
|
|
|
|
|
|
|
|
The classic filesystem is the contents of a disk drive. The concept is
|
|
|
|
considerably more abstract, though, and lots of things other than disk
|
2000-04-18 06:48:18 +00:00
|
|
|
drives can be mounted.
|
2000-04-18 06:24:03 +00:00
|
|
|
|
|
|
|
Some block devices don't correspond to traditional devices like disk
|
|
|
|
drives. For example, a loop device is a block device whose driver uses
|
|
|
|
a regular file in another filesystem as its medium. So if that regular
|
|
|
|
file contains appropriate data for a filesystem, you can by mounting the
|
|
|
|
loop device essentially mount a regular file.
|
|
|
|
|
|
|
|
Some filesystems aren't based on a device of any kind. The ``proc''
|
|
|
|
filesystem, for example, contains files whose data is made up by the
|
|
|
|
filesystem driver on the fly whenever you ask for it. And when you
|
|
|
|
write to it, the data you write causes changes in the system. No data
|
|
|
|
gets stored.
|
|
|
|
|
|
|
|
@c It would be good to mention NFS mounts here.
|
|
|
|
|
|
|
|
@menu
|
|
|
|
* Mount Information:: What is or could be mounted?
|
2000-05-21 21:22:28 +00:00
|
|
|
* Mount-Unmount-Remount:: Controlling what is mounted and how
|
2000-04-18 06:24:03 +00:00
|
|
|
@end menu
|
1998-06-11 21:06:58 +00:00
|
|
|
|
2000-05-21 21:22:28 +00:00
|
|
|
@node Mount Information, Mount-Unmount-Remount, , Filesystem Handling
|
2001-02-09 17:02:23 +00:00
|
|
|
@subsection Mount Information
|
2000-04-18 06:24:03 +00:00
|
|
|
|
|
|
|
For some programs it is desirable and necessary to access information
|
|
|
|
about whether a certain filesystem is mounted and, if it is, where, or
|
2012-02-28 14:44:20 +00:00
|
|
|
simply to get lists of all the available filesystems. @Theglibc{}
|
2000-04-18 06:24:03 +00:00
|
|
|
provides some functions to retrieve this information portably.
|
1998-06-11 21:06:58 +00:00
|
|
|
|
|
|
|
Traditionally Unix systems have a file named @file{/etc/fstab} which
|
|
|
|
describes all possibly mounted filesystems. The @code{mount} program
|
2002-08-27 09:40:16 +00:00
|
|
|
uses this file to mount at startup time of the system all the
|
|
|
|
necessary filesystems. The information about all the filesystems
|
|
|
|
actually mounted is normally kept in a file named either
|
|
|
|
@file{/var/run/mtab} or @file{/etc/mtab}. Both files share the same
|
|
|
|
syntax and it is crucial that this syntax is followed all the time.
|
2016-10-06 06:53:27 +00:00
|
|
|
Therefore it is best to never directly write to the files. The functions
|
2002-08-27 09:40:16 +00:00
|
|
|
described in this section can do this and they also provide the
|
|
|
|
functionality to convert the external textual representation to the
|
1998-06-11 21:06:58 +00:00
|
|
|
internal representation.
|
|
|
|
|
2000-04-18 06:24:03 +00:00
|
|
|
Note that the @file{fstab} and @file{mtab} files are maintained on a
|
|
|
|
system by @emph{convention}. It is possible for the files not to exist
|
|
|
|
or not to be consistent with what is really mounted or available to
|
|
|
|
mount, if the system's administration policy allows it. But programs
|
|
|
|
that mount and unmount filesystems typically maintain and use these
|
|
|
|
files as described herein.
|
|
|
|
|
1998-06-11 21:06:58 +00:00
|
|
|
@vindex _PATH_FSTAB
|
|
|
|
@vindex _PATH_MNTTAB
|
|
|
|
@vindex _PATH_MOUNTED
|
2002-08-27 09:40:16 +00:00
|
|
|
@vindex FSTAB
|
|
|
|
@vindex MNTTAB
|
|
|
|
@vindex MOUNTED
|
1998-06-11 21:06:58 +00:00
|
|
|
The filenames given above should never be used directly. The portable
|
2016-10-06 06:53:27 +00:00
|
|
|
way to handle these files is to use the macros @code{_PATH_FSTAB},
|
2002-08-27 09:40:16 +00:00
|
|
|
defined in @file{fstab.h}, or @code{_PATH_MNTTAB}, defined in
|
|
|
|
@file{mntent.h} and @file{paths.h}, for @file{fstab}; and the macro
|
|
|
|
@code{_PATH_MOUNTED}, also defined in @file{mntent.h} and
|
|
|
|
@file{paths.h}, for @file{mtab}. There are also two alternate macro
|
|
|
|
names @code{FSTAB}, @code{MNTTAB}, and @code{MOUNTED} defined but
|
|
|
|
these names are deprecated and kept only for backward compatibility.
|
|
|
|
The names @code{_PATH_MNTTAB} and @code{_PATH_MOUNTED} should always be used.
|
1998-06-11 21:06:58 +00:00
|
|
|
|
2000-04-18 06:24:03 +00:00
|
|
|
@menu
|
|
|
|
* fstab:: The @file{fstab} file
|
|
|
|
* mtab:: The @file{mtab} file
|
|
|
|
* Other Mount Information:: Other (non-libc) sources of mount information
|
|
|
|
@end menu
|
|
|
|
|
|
|
|
@node fstab
|
2001-02-09 17:02:23 +00:00
|
|
|
@subsubsection The @file{fstab} file
|
2000-04-18 06:24:03 +00:00
|
|
|
|
1998-06-11 21:06:58 +00:00
|
|
|
The internal representation for entries of the file is @w{@code{struct
|
|
|
|
fstab}}, defined in @file{fstab.h}.
|
|
|
|
|
|
|
|
@deftp {Data Type} {struct fstab}
|
manual: Replace summary.awk with summary.pl.
The Summary is now generated from @standards, and syntax-checking is
performed. If invalid @standards syntax is detected, summary.pl will
fail, reporting all errors. Failure and error reporting is disabled
for now, however, since much of the manual is still incomplete
wrt. header and standards annotations.
Note that the sorting order of the Summary has changed; summary.pl
respects the locale, like summary.awk did, but the use of LC_ALL=C is
introduced in the Makefile. Other notable deviations are improved
detection of the annotated elements' names, which are used for
sorting, and improved detection of the @node used to reference into
the manual. The most noticeable difference in the rendered Summary is
that entries may now contain multiple lines, one for each header and
standard combination.
summary.pl accepts a `--help' option, which details the expected
syntax of @standards. If errors are reported, the user is directed to
this feature for further information.
* manual/Makefile: Generate summary.texi with summary.pl.
Force use of the C locale. Update Perl dependency comment.
* manual/header.texi: Update reference to summary.awk.
* manual/macros.texi: Refer authors to `summary.pl --help'.
* manual/summary.awk: Remove file.
* manual/summary.pl: New file. Generate summary.texi, and
check for @standards-related syntax errors.
* manual/argp.texi: Convert header and standards @comments to
@standards.
* manual/arith.texi: Likewise.
* manual/charset.texi: Likewise.
* manual/conf.texi: Likewise.
* manual/creature.texi: Likewise.
* manual/crypt.texi: Likewise.
* manual/ctype.texi: Likewise.
* manual/debug.texi: Likewise.
* manual/errno.texi: Likewise.
* manual/filesys.texi: Likewise.
* manual/getopt.texi: Likewise.
* manual/job.texi: Likewise.
* manual/lang.texi: Likewise.
* manual/llio.texi: Likewise.
* manual/locale.texi: Likewise.
* manual/math.texi: Likewise.
* manual/memory.texi: Likewise.
* manual/message.texi: Likewise.
* manual/pattern.texi: Likewise.
* manual/pipe.texi: Likewise.
* manual/process.texi: Likewise.
* manual/resource.texi: Likewise.
* manual/search.texi: Likewise.
* manual/setjmp.texi: Likewise.
* manual/signal.texi: Likewise.
* manual/socket.texi: Likewise.
* manual/startup.texi: Likewise.
* manual/stdio.texi: Likewise.
* manual/string.texi: Likewise.
* manual/sysinfo.texi: Likewise.
* manual/syslog.texi: Likewise.
* manual/terminal.texi: Likewise.
* manual/threads.texi: Likewise.
* manual/time.texi: Likewise.
* manual/users.texi: Likewise.
2017-06-16 04:12:39 +00:00
|
|
|
@standards{BSD, fstab.h}
|
1998-06-11 21:06:58 +00:00
|
|
|
This structure is used with the @code{getfsent}, @code{getfsspec}, and
|
|
|
|
@code{getfsfile} functions.
|
|
|
|
|
|
|
|
@table @code
|
|
|
|
@item char *fs_spec
|
1998-06-15 18:12:05 +00:00
|
|
|
This element describes the device from which the filesystem is mounted.
|
1998-06-11 21:06:58 +00:00
|
|
|
Normally this is the name of a special device, such as a hard disk
|
|
|
|
partition, but it could also be a more or less generic string. For
|
|
|
|
@dfn{NFS} it would be a hostname and directory name combination.
|
|
|
|
|
|
|
|
Even though the element is not declared @code{const} it shouldn't be
|
|
|
|
modified. The missing @code{const} has historic reasons, since this
|
|
|
|
function predates @w{ISO C}. The same is true for the other string
|
|
|
|
elements of this structure.
|
|
|
|
|
|
|
|
@item char *fs_file
|
1998-06-15 18:12:05 +00:00
|
|
|
This describes the mount point on the local system. I.e., accessing any
|
|
|
|
file in this filesystem has implicitly or explicitly this string as a
|
1998-06-11 21:06:58 +00:00
|
|
|
prefix.
|
|
|
|
|
|
|
|
@item char *fs_vfstype
|
|
|
|
This is the type of the filesystem. Depending on what the underlying
|
|
|
|
kernel understands it can be any string.
|
|
|
|
|
|
|
|
@item char *fs_mntops
|
|
|
|
This is a string containing options passed to the kernel with the
|
|
|
|
@code{mount} call. Again, this can be almost anything. There can be
|
|
|
|
more than one option, separated from the others by a comma. Each option
|
|
|
|
consists of a name and an optional value part, introduced by an @code{=}
|
|
|
|
character.
|
|
|
|
|
1999-08-27 19:06:58 +00:00
|
|
|
If the value of this element must be processed it should ideally be done
|
1998-06-11 21:06:58 +00:00
|
|
|
using the @code{getsubopt} function; see @ref{Suboptions}.
|
|
|
|
|
|
|
|
@item const char *fs_type
|
1998-06-15 10:29:49 +00:00
|
|
|
This name is poorly chosen. This element points to a string (possibly
|
1998-06-11 21:06:58 +00:00
|
|
|
in the @code{fs_mntops} string) which describes the modes with which the
|
|
|
|
filesystem is mounted. @file{fstab} defines five macros to describe the
|
|
|
|
possible values:
|
|
|
|
|
|
|
|
@vtable @code
|
|
|
|
@item FSTAB_RW
|
2016-10-06 06:53:27 +00:00
|
|
|
The filesystem gets mounted with read and write enabled.
|
1998-06-11 21:06:58 +00:00
|
|
|
@item FSTAB_RQ
|
2016-10-06 06:53:27 +00:00
|
|
|
The filesystem gets mounted with read and write enabled. Write access
|
1998-06-11 21:06:58 +00:00
|
|
|
is restricted by quotas.
|
|
|
|
@item FSTAB_RO
|
1998-06-15 10:29:49 +00:00
|
|
|
The filesystem gets mounted read-only.
|
1998-06-11 21:06:58 +00:00
|
|
|
@item FSTAB_SW
|
1998-06-15 10:29:49 +00:00
|
|
|
This is not a real filesystem, it is a swap device.
|
1998-06-11 21:06:58 +00:00
|
|
|
@item FSTAB_XX
|
|
|
|
This entry from the @file{fstab} file is totally ignored.
|
|
|
|
@end vtable
|
|
|
|
|
2016-10-06 06:53:27 +00:00
|
|
|
Testing for equality with these values must happen using @code{strcmp}
|
1998-06-15 10:29:49 +00:00
|
|
|
since these are all strings. Comparing the pointer will probably always
|
1998-06-11 21:06:58 +00:00
|
|
|
fail.
|
|
|
|
|
|
|
|
@item int fs_freq
|
|
|
|
This element describes the dump frequency in days.
|
|
|
|
|
|
|
|
@item int fs_passno
|
|
|
|
This element describes the pass number on parallel dumps. It is closely
|
1998-06-15 10:29:49 +00:00
|
|
|
related to the @code{dump} utility used on Unix systems.
|
1998-06-11 21:06:58 +00:00
|
|
|
@end table
|
|
|
|
@end deftp
|
|
|
|
|
|
|
|
|
2012-02-28 14:44:20 +00:00
|
|
|
To read the entire content of the of the @file{fstab} file @theglibc{}
|
1998-06-11 21:06:58 +00:00
|
|
|
contains a set of three functions which are designed in the usual way.
|
|
|
|
|
|
|
|
@deftypefun int setfsent (void)
|
manual: Replace summary.awk with summary.pl.
The Summary is now generated from @standards, and syntax-checking is
performed. If invalid @standards syntax is detected, summary.pl will
fail, reporting all errors. Failure and error reporting is disabled
for now, however, since much of the manual is still incomplete
wrt. header and standards annotations.
Note that the sorting order of the Summary has changed; summary.pl
respects the locale, like summary.awk did, but the use of LC_ALL=C is
introduced in the Makefile. Other notable deviations are improved
detection of the annotated elements' names, which are used for
sorting, and improved detection of the @node used to reference into
the manual. The most noticeable difference in the rendered Summary is
that entries may now contain multiple lines, one for each header and
standard combination.
summary.pl accepts a `--help' option, which details the expected
syntax of @standards. If errors are reported, the user is directed to
this feature for further information.
* manual/Makefile: Generate summary.texi with summary.pl.
Force use of the C locale. Update Perl dependency comment.
* manual/header.texi: Update reference to summary.awk.
* manual/macros.texi: Refer authors to `summary.pl --help'.
* manual/summary.awk: Remove file.
* manual/summary.pl: New file. Generate summary.texi, and
check for @standards-related syntax errors.
* manual/argp.texi: Convert header and standards @comments to
@standards.
* manual/arith.texi: Likewise.
* manual/charset.texi: Likewise.
* manual/conf.texi: Likewise.
* manual/creature.texi: Likewise.
* manual/crypt.texi: Likewise.
* manual/ctype.texi: Likewise.
* manual/debug.texi: Likewise.
* manual/errno.texi: Likewise.
* manual/filesys.texi: Likewise.
* manual/getopt.texi: Likewise.
* manual/job.texi: Likewise.
* manual/lang.texi: Likewise.
* manual/llio.texi: Likewise.
* manual/locale.texi: Likewise.
* manual/math.texi: Likewise.
* manual/memory.texi: Likewise.
* manual/message.texi: Likewise.
* manual/pattern.texi: Likewise.
* manual/pipe.texi: Likewise.
* manual/process.texi: Likewise.
* manual/resource.texi: Likewise.
* manual/search.texi: Likewise.
* manual/setjmp.texi: Likewise.
* manual/signal.texi: Likewise.
* manual/socket.texi: Likewise.
* manual/startup.texi: Likewise.
* manual/stdio.texi: Likewise.
* manual/string.texi: Likewise.
* manual/sysinfo.texi: Likewise.
* manual/syslog.texi: Likewise.
* manual/terminal.texi: Likewise.
* manual/threads.texi: Likewise.
* manual/time.texi: Likewise.
* manual/users.texi: Likewise.
2017-06-16 04:12:39 +00:00
|
|
|
@standards{BSD, fstab.h}
|
2014-02-01 03:16:09 +00:00
|
|
|
@safety{@prelim{}@mtunsafe{@mtasurace{:fsent}}@asunsafe{@ascuheap{} @asucorrupt{} @asulock{}}@acunsafe{@acucorrupt{} @aculock{} @acsmem{} @acsfd{}}}
|
|
|
|
@c setfsent @mtasurace:fsent @ascuheap @asucorrupt @asulock @acucorrupt @aculock @acsmem @acsfd
|
|
|
|
@c fstab_init(1) @mtasurace:fsent @ascuheap @asucorrupt @asulock @acucorrupt @aculock @acsmem @acsfd
|
|
|
|
@c malloc dup @ascuheap @acsmem
|
|
|
|
@c rewind dup @asucorrupt @acucorrupt [no @aculock]
|
|
|
|
@c setmntent dup @ascuheap @asulock @acsmem @acsfd @aculock
|
1998-06-11 21:06:58 +00:00
|
|
|
This function makes sure that the internal read pointer for the
|
|
|
|
@file{fstab} file is at the beginning of the file. This is done by
|
|
|
|
either opening the file or resetting the read pointer.
|
|
|
|
|
|
|
|
Since the file handle is internal to the libc this function is not
|
|
|
|
thread-safe.
|
|
|
|
|
|
|
|
This function returns a non-zero value if the operation was successful
|
|
|
|
and the @code{getfs*} functions can be used to read the entries of the
|
|
|
|
file.
|
|
|
|
@end deftypefun
|
|
|
|
|
|
|
|
@deftypefun void endfsent (void)
|
manual: Replace summary.awk with summary.pl.
The Summary is now generated from @standards, and syntax-checking is
performed. If invalid @standards syntax is detected, summary.pl will
fail, reporting all errors. Failure and error reporting is disabled
for now, however, since much of the manual is still incomplete
wrt. header and standards annotations.
Note that the sorting order of the Summary has changed; summary.pl
respects the locale, like summary.awk did, but the use of LC_ALL=C is
introduced in the Makefile. Other notable deviations are improved
detection of the annotated elements' names, which are used for
sorting, and improved detection of the @node used to reference into
the manual. The most noticeable difference in the rendered Summary is
that entries may now contain multiple lines, one for each header and
standard combination.
summary.pl accepts a `--help' option, which details the expected
syntax of @standards. If errors are reported, the user is directed to
this feature for further information.
* manual/Makefile: Generate summary.texi with summary.pl.
Force use of the C locale. Update Perl dependency comment.
* manual/header.texi: Update reference to summary.awk.
* manual/macros.texi: Refer authors to `summary.pl --help'.
* manual/summary.awk: Remove file.
* manual/summary.pl: New file. Generate summary.texi, and
check for @standards-related syntax errors.
* manual/argp.texi: Convert header and standards @comments to
@standards.
* manual/arith.texi: Likewise.
* manual/charset.texi: Likewise.
* manual/conf.texi: Likewise.
* manual/creature.texi: Likewise.
* manual/crypt.texi: Likewise.
* manual/ctype.texi: Likewise.
* manual/debug.texi: Likewise.
* manual/errno.texi: Likewise.
* manual/filesys.texi: Likewise.
* manual/getopt.texi: Likewise.
* manual/job.texi: Likewise.
* manual/lang.texi: Likewise.
* manual/llio.texi: Likewise.
* manual/locale.texi: Likewise.
* manual/math.texi: Likewise.
* manual/memory.texi: Likewise.
* manual/message.texi: Likewise.
* manual/pattern.texi: Likewise.
* manual/pipe.texi: Likewise.
* manual/process.texi: Likewise.
* manual/resource.texi: Likewise.
* manual/search.texi: Likewise.
* manual/setjmp.texi: Likewise.
* manual/signal.texi: Likewise.
* manual/socket.texi: Likewise.
* manual/startup.texi: Likewise.
* manual/stdio.texi: Likewise.
* manual/string.texi: Likewise.
* manual/sysinfo.texi: Likewise.
* manual/syslog.texi: Likewise.
* manual/terminal.texi: Likewise.
* manual/threads.texi: Likewise.
* manual/time.texi: Likewise.
* manual/users.texi: Likewise.
2017-06-16 04:12:39 +00:00
|
|
|
@standards{BSD, fstab.h}
|
2014-02-01 03:16:09 +00:00
|
|
|
@safety{@prelim{}@mtunsafe{@mtasurace{:fsent}}@asunsafe{@ascuheap{} @asucorrupt{} @asulock{}}@acunsafe{@acucorrupt{} @aculock{} @acsmem{} @acsfd{}}}
|
|
|
|
@c endfsent @mtasurace:fsent @ascuheap @asucorrupt @asulock @acucorrupt @aculock @acsmem @acsfd
|
|
|
|
@c endmntent dup @ascuheap @asulock @aculock @acsmem @acsfd
|
1998-06-11 21:06:58 +00:00
|
|
|
This function makes sure that all resources acquired by a prior call to
|
1998-06-15 10:29:49 +00:00
|
|
|
@code{setfsent} (explicitly or implicitly by calling @code{getfsent}) are
|
1998-06-11 21:06:58 +00:00
|
|
|
freed.
|
|
|
|
@end deftypefun
|
|
|
|
|
|
|
|
@deftypefun {struct fstab *} getfsent (void)
|
manual: Replace summary.awk with summary.pl.
The Summary is now generated from @standards, and syntax-checking is
performed. If invalid @standards syntax is detected, summary.pl will
fail, reporting all errors. Failure and error reporting is disabled
for now, however, since much of the manual is still incomplete
wrt. header and standards annotations.
Note that the sorting order of the Summary has changed; summary.pl
respects the locale, like summary.awk did, but the use of LC_ALL=C is
introduced in the Makefile. Other notable deviations are improved
detection of the annotated elements' names, which are used for
sorting, and improved detection of the @node used to reference into
the manual. The most noticeable difference in the rendered Summary is
that entries may now contain multiple lines, one for each header and
standard combination.
summary.pl accepts a `--help' option, which details the expected
syntax of @standards. If errors are reported, the user is directed to
this feature for further information.
* manual/Makefile: Generate summary.texi with summary.pl.
Force use of the C locale. Update Perl dependency comment.
* manual/header.texi: Update reference to summary.awk.
* manual/macros.texi: Refer authors to `summary.pl --help'.
* manual/summary.awk: Remove file.
* manual/summary.pl: New file. Generate summary.texi, and
check for @standards-related syntax errors.
* manual/argp.texi: Convert header and standards @comments to
@standards.
* manual/arith.texi: Likewise.
* manual/charset.texi: Likewise.
* manual/conf.texi: Likewise.
* manual/creature.texi: Likewise.
* manual/crypt.texi: Likewise.
* manual/ctype.texi: Likewise.
* manual/debug.texi: Likewise.
* manual/errno.texi: Likewise.
* manual/filesys.texi: Likewise.
* manual/getopt.texi: Likewise.
* manual/job.texi: Likewise.
* manual/lang.texi: Likewise.
* manual/llio.texi: Likewise.
* manual/locale.texi: Likewise.
* manual/math.texi: Likewise.
* manual/memory.texi: Likewise.
* manual/message.texi: Likewise.
* manual/pattern.texi: Likewise.
* manual/pipe.texi: Likewise.
* manual/process.texi: Likewise.
* manual/resource.texi: Likewise.
* manual/search.texi: Likewise.
* manual/setjmp.texi: Likewise.
* manual/signal.texi: Likewise.
* manual/socket.texi: Likewise.
* manual/startup.texi: Likewise.
* manual/stdio.texi: Likewise.
* manual/string.texi: Likewise.
* manual/sysinfo.texi: Likewise.
* manual/syslog.texi: Likewise.
* manual/terminal.texi: Likewise.
* manual/threads.texi: Likewise.
* manual/time.texi: Likewise.
* manual/users.texi: Likewise.
2017-06-16 04:12:39 +00:00
|
|
|
@standards{BSD, fstab.h}
|
2014-02-01 03:16:09 +00:00
|
|
|
@safety{@prelim{}@mtunsafe{@mtasurace{:fsent} @mtslocale{}}@asunsafe{@asucorrupt{} @ascuheap{} @asulock{}}@acunsafe{@acucorrupt{} @aculock{} @acsmem{}}}
|
|
|
|
@c getfsent @mtasurace:fsent @mtslocale @asucorrupt @ascuheap @asulock @acucorrupt @aculock @acsmem
|
|
|
|
@c fstab_init(0) dup @mtasurace:fsent @ascuheap @asucorrupt @asulock @acucorrupt @aculock @acsmem @acsfd
|
|
|
|
@c fstab_fetch @mtasurace:fsent @mtslocale @asucorrupt @ascuheap @acucorrupt @aculock @acsmem
|
|
|
|
@c getmntent_r dup @mtslocale @asucorrupt @ascuheap @acucorrupt @aculock @acsmem
|
|
|
|
@c fstab_convert @mtasurace:fsent
|
|
|
|
@c hasmntopt dup ok
|
1998-06-11 21:06:58 +00:00
|
|
|
This function returns the next entry of the @file{fstab} file. If this
|
|
|
|
is the first call to any of the functions handling @file{fstab} since
|
|
|
|
program start or the last call of @code{endfsent}, the file will be
|
|
|
|
opened.
|
|
|
|
|
1999-08-27 19:06:58 +00:00
|
|
|
The function returns a pointer to a variable of type @code{struct
|
1998-06-11 21:06:58 +00:00
|
|
|
fstab}. This variable is shared by all threads and therefore this
|
|
|
|
function is not thread-safe. If an error occurred @code{getfsent}
|
1998-06-15 10:29:49 +00:00
|
|
|
returns a @code{NULL} pointer.
|
1998-06-11 21:06:58 +00:00
|
|
|
@end deftypefun
|
|
|
|
|
|
|
|
@deftypefun {struct fstab *} getfsspec (const char *@var{name})
|
manual: Replace summary.awk with summary.pl.
The Summary is now generated from @standards, and syntax-checking is
performed. If invalid @standards syntax is detected, summary.pl will
fail, reporting all errors. Failure and error reporting is disabled
for now, however, since much of the manual is still incomplete
wrt. header and standards annotations.
Note that the sorting order of the Summary has changed; summary.pl
respects the locale, like summary.awk did, but the use of LC_ALL=C is
introduced in the Makefile. Other notable deviations are improved
detection of the annotated elements' names, which are used for
sorting, and improved detection of the @node used to reference into
the manual. The most noticeable difference in the rendered Summary is
that entries may now contain multiple lines, one for each header and
standard combination.
summary.pl accepts a `--help' option, which details the expected
syntax of @standards. If errors are reported, the user is directed to
this feature for further information.
* manual/Makefile: Generate summary.texi with summary.pl.
Force use of the C locale. Update Perl dependency comment.
* manual/header.texi: Update reference to summary.awk.
* manual/macros.texi: Refer authors to `summary.pl --help'.
* manual/summary.awk: Remove file.
* manual/summary.pl: New file. Generate summary.texi, and
check for @standards-related syntax errors.
* manual/argp.texi: Convert header and standards @comments to
@standards.
* manual/arith.texi: Likewise.
* manual/charset.texi: Likewise.
* manual/conf.texi: Likewise.
* manual/creature.texi: Likewise.
* manual/crypt.texi: Likewise.
* manual/ctype.texi: Likewise.
* manual/debug.texi: Likewise.
* manual/errno.texi: Likewise.
* manual/filesys.texi: Likewise.
* manual/getopt.texi: Likewise.
* manual/job.texi: Likewise.
* manual/lang.texi: Likewise.
* manual/llio.texi: Likewise.
* manual/locale.texi: Likewise.
* manual/math.texi: Likewise.
* manual/memory.texi: Likewise.
* manual/message.texi: Likewise.
* manual/pattern.texi: Likewise.
* manual/pipe.texi: Likewise.
* manual/process.texi: Likewise.
* manual/resource.texi: Likewise.
* manual/search.texi: Likewise.
* manual/setjmp.texi: Likewise.
* manual/signal.texi: Likewise.
* manual/socket.texi: Likewise.
* manual/startup.texi: Likewise.
* manual/stdio.texi: Likewise.
* manual/string.texi: Likewise.
* manual/sysinfo.texi: Likewise.
* manual/syslog.texi: Likewise.
* manual/terminal.texi: Likewise.
* manual/threads.texi: Likewise.
* manual/time.texi: Likewise.
* manual/users.texi: Likewise.
2017-06-16 04:12:39 +00:00
|
|
|
@standards{BSD, fstab.h}
|
2014-02-01 03:16:09 +00:00
|
|
|
@safety{@prelim{}@mtunsafe{@mtasurace{:fsent} @mtslocale{}}@asunsafe{@asucorrupt{} @ascuheap{} @asulock{}}@acunsafe{@acucorrupt{} @aculock{} @acsmem{}}}
|
|
|
|
@c getffsspec @mtasurace:fsent @mtslocale @asucorrupt @ascuheap @asulock @acucorrupt @aculock @acsmem
|
|
|
|
@c fstab_init(1) dup @mtasurace:fsent @ascuheap @asucorrupt @asulock @acucorrupt @aculock @acsmem @acsfd
|
|
|
|
@c fstab_fetch dup @mtasurace:fsent @mtslocale @asucorrupt @ascuheap @acucorrupt @aculock @acsmem
|
|
|
|
@c strcmp dup ok
|
|
|
|
@c fstab_convert dup @mtasurace:fsent
|
1998-06-11 21:06:58 +00:00
|
|
|
This function returns the next entry of the @file{fstab} file which has
|
|
|
|
a string equal to @var{name} pointed to by the @code{fs_spec} element.
|
|
|
|
Since there is normally exactly one entry for each special device it
|
|
|
|
makes no sense to call this function more than once for the same
|
|
|
|
argument. If this is the first call to any of the functions handling
|
|
|
|
@file{fstab} since program start or the last call of @code{endfsent},
|
|
|
|
the file will be opened.
|
|
|
|
|
1999-08-27 19:06:58 +00:00
|
|
|
The function returns a pointer to a variable of type @code{struct
|
1998-06-11 21:06:58 +00:00
|
|
|
fstab}. This variable is shared by all threads and therefore this
|
|
|
|
function is not thread-safe. If an error occurred @code{getfsent}
|
1998-06-15 10:29:49 +00:00
|
|
|
returns a @code{NULL} pointer.
|
1998-06-11 21:06:58 +00:00
|
|
|
@end deftypefun
|
|
|
|
|
|
|
|
@deftypefun {struct fstab *} getfsfile (const char *@var{name})
|
manual: Replace summary.awk with summary.pl.
The Summary is now generated from @standards, and syntax-checking is
performed. If invalid @standards syntax is detected, summary.pl will
fail, reporting all errors. Failure and error reporting is disabled
for now, however, since much of the manual is still incomplete
wrt. header and standards annotations.
Note that the sorting order of the Summary has changed; summary.pl
respects the locale, like summary.awk did, but the use of LC_ALL=C is
introduced in the Makefile. Other notable deviations are improved
detection of the annotated elements' names, which are used for
sorting, and improved detection of the @node used to reference into
the manual. The most noticeable difference in the rendered Summary is
that entries may now contain multiple lines, one for each header and
standard combination.
summary.pl accepts a `--help' option, which details the expected
syntax of @standards. If errors are reported, the user is directed to
this feature for further information.
* manual/Makefile: Generate summary.texi with summary.pl.
Force use of the C locale. Update Perl dependency comment.
* manual/header.texi: Update reference to summary.awk.
* manual/macros.texi: Refer authors to `summary.pl --help'.
* manual/summary.awk: Remove file.
* manual/summary.pl: New file. Generate summary.texi, and
check for @standards-related syntax errors.
* manual/argp.texi: Convert header and standards @comments to
@standards.
* manual/arith.texi: Likewise.
* manual/charset.texi: Likewise.
* manual/conf.texi: Likewise.
* manual/creature.texi: Likewise.
* manual/crypt.texi: Likewise.
* manual/ctype.texi: Likewise.
* manual/debug.texi: Likewise.
* manual/errno.texi: Likewise.
* manual/filesys.texi: Likewise.
* manual/getopt.texi: Likewise.
* manual/job.texi: Likewise.
* manual/lang.texi: Likewise.
* manual/llio.texi: Likewise.
* manual/locale.texi: Likewise.
* manual/math.texi: Likewise.
* manual/memory.texi: Likewise.
* manual/message.texi: Likewise.
* manual/pattern.texi: Likewise.
* manual/pipe.texi: Likewise.
* manual/process.texi: Likewise.
* manual/resource.texi: Likewise.
* manual/search.texi: Likewise.
* manual/setjmp.texi: Likewise.
* manual/signal.texi: Likewise.
* manual/socket.texi: Likewise.
* manual/startup.texi: Likewise.
* manual/stdio.texi: Likewise.
* manual/string.texi: Likewise.
* manual/sysinfo.texi: Likewise.
* manual/syslog.texi: Likewise.
* manual/terminal.texi: Likewise.
* manual/threads.texi: Likewise.
* manual/time.texi: Likewise.
* manual/users.texi: Likewise.
2017-06-16 04:12:39 +00:00
|
|
|
@standards{BSD, fstab.h}
|
2014-02-01 03:16:09 +00:00
|
|
|
@safety{@prelim{}@mtunsafe{@mtasurace{:fsent} @mtslocale{}}@asunsafe{@asucorrupt{} @ascuheap{} @asulock{}}@acunsafe{@acucorrupt{} @aculock{} @acsmem{}}}
|
|
|
|
@c getffsfile @mtasurace:fsent @mtslocale @asucorrupt @ascuheap @asulock @acucorrupt @aculock @acsmem
|
|
|
|
@c fstab_init(1) dup @mtasurace:fsent @ascuheap @asucorrupt @asulock @acucorrupt @aculock @acsmem @acsfd
|
|
|
|
@c fstab_fetch dup @mtasurace:fsent @mtslocale @asucorrupt @ascuheap @acucorrupt @aculock @acsmem
|
|
|
|
@c strcmp dup ok
|
|
|
|
@c fstab_convert dup @mtasurace:fsent
|
1998-06-11 21:06:58 +00:00
|
|
|
This function returns the next entry of the @file{fstab} file which has
|
|
|
|
a string equal to @var{name} pointed to by the @code{fs_file} element.
|
|
|
|
Since there is normally exactly one entry for each mount point it
|
|
|
|
makes no sense to call this function more than once for the same
|
|
|
|
argument. If this is the first call to any of the functions handling
|
|
|
|
@file{fstab} since program start or the last call of @code{endfsent},
|
|
|
|
the file will be opened.
|
|
|
|
|
1999-08-27 19:06:58 +00:00
|
|
|
The function returns a pointer to a variable of type @code{struct
|
1998-06-11 21:06:58 +00:00
|
|
|
fstab}. This variable is shared by all threads and therefore this
|
|
|
|
function is not thread-safe. If an error occurred @code{getfsent}
|
1998-06-15 10:29:49 +00:00
|
|
|
returns a @code{NULL} pointer.
|
1998-06-11 21:06:58 +00:00
|
|
|
@end deftypefun
|
|
|
|
|
|
|
|
|
2000-04-18 06:24:03 +00:00
|
|
|
@node mtab
|
2001-02-09 17:02:23 +00:00
|
|
|
@subsubsection The @file{mtab} file
|
2000-04-18 06:24:03 +00:00
|
|
|
The following functions and data structure access the @file{mtab} file.
|
1998-06-11 21:06:58 +00:00
|
|
|
|
|
|
|
@deftp {Data Type} {struct mntent}
|
manual: Replace summary.awk with summary.pl.
The Summary is now generated from @standards, and syntax-checking is
performed. If invalid @standards syntax is detected, summary.pl will
fail, reporting all errors. Failure and error reporting is disabled
for now, however, since much of the manual is still incomplete
wrt. header and standards annotations.
Note that the sorting order of the Summary has changed; summary.pl
respects the locale, like summary.awk did, but the use of LC_ALL=C is
introduced in the Makefile. Other notable deviations are improved
detection of the annotated elements' names, which are used for
sorting, and improved detection of the @node used to reference into
the manual. The most noticeable difference in the rendered Summary is
that entries may now contain multiple lines, one for each header and
standard combination.
summary.pl accepts a `--help' option, which details the expected
syntax of @standards. If errors are reported, the user is directed to
this feature for further information.
* manual/Makefile: Generate summary.texi with summary.pl.
Force use of the C locale. Update Perl dependency comment.
* manual/header.texi: Update reference to summary.awk.
* manual/macros.texi: Refer authors to `summary.pl --help'.
* manual/summary.awk: Remove file.
* manual/summary.pl: New file. Generate summary.texi, and
check for @standards-related syntax errors.
* manual/argp.texi: Convert header and standards @comments to
@standards.
* manual/arith.texi: Likewise.
* manual/charset.texi: Likewise.
* manual/conf.texi: Likewise.
* manual/creature.texi: Likewise.
* manual/crypt.texi: Likewise.
* manual/ctype.texi: Likewise.
* manual/debug.texi: Likewise.
* manual/errno.texi: Likewise.
* manual/filesys.texi: Likewise.
* manual/getopt.texi: Likewise.
* manual/job.texi: Likewise.
* manual/lang.texi: Likewise.
* manual/llio.texi: Likewise.
* manual/locale.texi: Likewise.
* manual/math.texi: Likewise.
* manual/memory.texi: Likewise.
* manual/message.texi: Likewise.
* manual/pattern.texi: Likewise.
* manual/pipe.texi: Likewise.
* manual/process.texi: Likewise.
* manual/resource.texi: Likewise.
* manual/search.texi: Likewise.
* manual/setjmp.texi: Likewise.
* manual/signal.texi: Likewise.
* manual/socket.texi: Likewise.
* manual/startup.texi: Likewise.
* manual/stdio.texi: Likewise.
* manual/string.texi: Likewise.
* manual/sysinfo.texi: Likewise.
* manual/syslog.texi: Likewise.
* manual/terminal.texi: Likewise.
* manual/threads.texi: Likewise.
* manual/time.texi: Likewise.
* manual/users.texi: Likewise.
2017-06-16 04:12:39 +00:00
|
|
|
@standards{BSD, mntent.h}
|
2016-10-06 06:53:27 +00:00
|
|
|
This structure is used with the @code{getmntent}, @code{getmntent_r},
|
1998-06-11 21:06:58 +00:00
|
|
|
@code{addmntent}, and @code{hasmntopt} functions.
|
|
|
|
|
|
|
|
@table @code
|
|
|
|
@item char *mnt_fsname
|
|
|
|
This element contains a pointer to a string describing the name of the
|
|
|
|
special device from which the filesystem is mounted. It corresponds to
|
|
|
|
the @code{fs_spec} element in @code{struct fstab}.
|
|
|
|
|
|
|
|
@item char *mnt_dir
|
|
|
|
This element points to a string describing the mount point of the
|
|
|
|
filesystem. It corresponds to the @code{fs_file} element in
|
|
|
|
@code{struct fstab}.
|
|
|
|
|
|
|
|
@item char *mnt_type
|
|
|
|
@code{mnt_type} describes the filesystem type and is therefore
|
|
|
|
equivalent to @code{fs_vfstype} in @code{struct fstab}. @file{mntent.h}
|
1999-08-27 19:06:58 +00:00
|
|
|
defines a few symbolic names for some of the values this string can have.
|
|
|
|
But since the kernel can support arbitrary filesystems it does not
|
1998-06-11 21:06:58 +00:00
|
|
|
make much sense to give them symbolic names. If one knows the symbol
|
|
|
|
name one also knows the filesystem name. Nevertheless here follows the
|
1999-08-27 19:06:58 +00:00
|
|
|
list of the symbols provided in @file{mntent.h}.
|
1998-06-11 21:06:58 +00:00
|
|
|
|
|
|
|
@vtable @code
|
|
|
|
@item MNTTYPE_IGNORE
|
2016-10-06 06:53:27 +00:00
|
|
|
This symbol expands to @code{"ignore"}. The value is sometimes used in
|
1998-06-11 21:06:58 +00:00
|
|
|
@file{fstab} files to make sure entries are not used without removing them.
|
|
|
|
@item MNTTYPE_NFS
|
|
|
|
Expands to @code{"nfs"}. Using this macro sometimes could make sense
|
|
|
|
since it names the default NFS implementation, in case both version 2
|
|
|
|
and 3 are supported.
|
|
|
|
@item MNTTYPE_SWAP
|
|
|
|
This symbol expands to @code{"swap"}. It names the special @file{fstab}
|
|
|
|
entry which names one of the possibly multiple swap partitions.
|
|
|
|
@end vtable
|
|
|
|
|
|
|
|
@item char *mnt_opts
|
|
|
|
The element contains a string describing the options used while mounting
|
|
|
|
the filesystem. As for the equivalent element @code{fs_mntops} of
|
|
|
|
@code{struct fstab} it is best to use the function @code{getsubopt}
|
|
|
|
(@pxref{Suboptions}) to access the parts of this string.
|
|
|
|
|
|
|
|
The @file{mntent.h} file defines a number of macros with string values
|
|
|
|
which correspond to some of the options understood by the kernel. There
|
1999-08-27 19:06:58 +00:00
|
|
|
might be many more options which are possible so it doesn't make much sense
|
1998-06-11 21:06:58 +00:00
|
|
|
to rely on these macros but to be consistent here is the list:
|
|
|
|
|
|
|
|
@vtable @code
|
|
|
|
@item MNTOPT_DEFAULTS
|
|
|
|
Expands to @code{"defaults"}. This option should be used alone since it
|
2000-02-22 09:00:35 +00:00
|
|
|
indicates all values for the customizable values are chosen to be the
|
1998-06-11 21:06:58 +00:00
|
|
|
default.
|
|
|
|
@item MNTOPT_RO
|
1998-06-15 18:12:05 +00:00
|
|
|
Expands to @code{"ro"}. See the @code{FSTAB_RO} value, it means the
|
1998-06-11 21:06:58 +00:00
|
|
|
filesystem is mounted read-only.
|
|
|
|
@item MNTOPT_RW
|
2016-10-06 06:53:27 +00:00
|
|
|
Expands to @code{"rw"}. See the @code{FSTAB_RW} value, it means the
|
1998-06-11 21:06:58 +00:00
|
|
|
filesystem is mounted with read and write permissions.
|
|
|
|
@item MNTOPT_SUID
|
|
|
|
Expands to @code{"suid"}. This means that the SUID bit (@pxref{How
|
|
|
|
Change Persona}) is respected when a program from the filesystem is
|
|
|
|
started.
|
|
|
|
@item MNTOPT_NOSUID
|
|
|
|
Expands to @code{"nosuid"}. This is the opposite of @code{MNTOPT_SUID},
|
1998-06-15 10:29:49 +00:00
|
|
|
the SUID bit for all files from the filesystem is ignored.
|
1998-06-11 21:06:58 +00:00
|
|
|
@item MNTOPT_NOAUTO
|
|
|
|
Expands to @code{"noauto"}. At startup time the @code{mount} program
|
|
|
|
will ignore this entry if it is started with the @code{-a} option to
|
|
|
|
mount all filesystems mentioned in the @file{fstab} file.
|
|
|
|
@end vtable
|
|
|
|
|
|
|
|
As for the @code{FSTAB_*} entries introduced above it is important to
|
|
|
|
use @code{strcmp} to check for equality.
|
|
|
|
|
|
|
|
@item mnt_freq
|
|
|
|
This elements corresponds to @code{fs_freq} and also specifies the
|
|
|
|
frequency in days in which dumps are made.
|
|
|
|
|
|
|
|
@item mnt_passno
|
|
|
|
This element is equivalent to @code{fs_passno} with the same meaning
|
|
|
|
which is uninteresting for all programs beside @code{dump}.
|
|
|
|
@end table
|
|
|
|
@end deftp
|
|
|
|
|
|
|
|
For accessing the @file{mtab} file there is again a set of three
|
|
|
|
functions to access all entries in a row. Unlike the functions to
|
|
|
|
handle @file{fstab} these functions do not access a fixed file and there
|
2016-10-06 06:53:27 +00:00
|
|
|
is even a thread safe variant of the get function. Besides this @theglibc{}
|
2012-02-28 14:44:20 +00:00
|
|
|
contains functions to alter the file and test for specific options.
|
1998-06-11 21:06:58 +00:00
|
|
|
|
|
|
|
@deftypefun {FILE *} setmntent (const char *@var{file}, const char *@var{mode})
|
manual: Replace summary.awk with summary.pl.
The Summary is now generated from @standards, and syntax-checking is
performed. If invalid @standards syntax is detected, summary.pl will
fail, reporting all errors. Failure and error reporting is disabled
for now, however, since much of the manual is still incomplete
wrt. header and standards annotations.
Note that the sorting order of the Summary has changed; summary.pl
respects the locale, like summary.awk did, but the use of LC_ALL=C is
introduced in the Makefile. Other notable deviations are improved
detection of the annotated elements' names, which are used for
sorting, and improved detection of the @node used to reference into
the manual. The most noticeable difference in the rendered Summary is
that entries may now contain multiple lines, one for each header and
standard combination.
summary.pl accepts a `--help' option, which details the expected
syntax of @standards. If errors are reported, the user is directed to
this feature for further information.
* manual/Makefile: Generate summary.texi with summary.pl.
Force use of the C locale. Update Perl dependency comment.
* manual/header.texi: Update reference to summary.awk.
* manual/macros.texi: Refer authors to `summary.pl --help'.
* manual/summary.awk: Remove file.
* manual/summary.pl: New file. Generate summary.texi, and
check for @standards-related syntax errors.
* manual/argp.texi: Convert header and standards @comments to
@standards.
* manual/arith.texi: Likewise.
* manual/charset.texi: Likewise.
* manual/conf.texi: Likewise.
* manual/creature.texi: Likewise.
* manual/crypt.texi: Likewise.
* manual/ctype.texi: Likewise.
* manual/debug.texi: Likewise.
* manual/errno.texi: Likewise.
* manual/filesys.texi: Likewise.
* manual/getopt.texi: Likewise.
* manual/job.texi: Likewise.
* manual/lang.texi: Likewise.
* manual/llio.texi: Likewise.
* manual/locale.texi: Likewise.
* manual/math.texi: Likewise.
* manual/memory.texi: Likewise.
* manual/message.texi: Likewise.
* manual/pattern.texi: Likewise.
* manual/pipe.texi: Likewise.
* manual/process.texi: Likewise.
* manual/resource.texi: Likewise.
* manual/search.texi: Likewise.
* manual/setjmp.texi: Likewise.
* manual/signal.texi: Likewise.
* manual/socket.texi: Likewise.
* manual/startup.texi: Likewise.
* manual/stdio.texi: Likewise.
* manual/string.texi: Likewise.
* manual/sysinfo.texi: Likewise.
* manual/syslog.texi: Likewise.
* manual/terminal.texi: Likewise.
* manual/threads.texi: Likewise.
* manual/time.texi: Likewise.
* manual/users.texi: Likewise.
2017-06-16 04:12:39 +00:00
|
|
|
@standards{BSD, mntent.h}
|
2014-02-01 03:16:09 +00:00
|
|
|
@safety{@prelim{}@mtsafe{}@asunsafe{@ascuheap{} @asulock{}}@acunsafe{@acsmem{} @acsfd{} @aculock{}}}
|
|
|
|
@c setmntent @ascuheap @asulock @acsmem @acsfd @aculock
|
|
|
|
@c strlen dup ok
|
|
|
|
@c mempcpy dup ok
|
|
|
|
@c memcpy dup ok
|
|
|
|
@c fopen dup @ascuheap @asulock @acsmem @acsfd @aculock
|
|
|
|
@c fsetlocking dup ok [no @mtasurace:stream @asulock: exclusive stream]
|
1998-06-11 21:06:58 +00:00
|
|
|
The @code{setmntent} function prepares the file named @var{FILE} which
|
|
|
|
must be in the format of a @file{fstab} and @file{mtab} file for the
|
|
|
|
upcoming processing through the other functions of the family. The
|
|
|
|
@var{mode} parameter can be chosen in the way the @var{opentype}
|
|
|
|
parameter for @code{fopen} (@pxref{Opening Streams}) can be chosen. If
|
|
|
|
the file is opened for writing the file is also allowed to be empty.
|
|
|
|
|
|
|
|
If the file was successfully opened @code{setmntent} returns a file
|
2016-10-06 06:53:27 +00:00
|
|
|
handle for future use. Otherwise the return value is @code{NULL}
|
1998-06-11 21:06:58 +00:00
|
|
|
and @code{errno} is set accordingly.
|
|
|
|
@end deftypefun
|
|
|
|
|
|
|
|
@deftypefun int endmntent (FILE *@var{stream})
|
manual: Replace summary.awk with summary.pl.
The Summary is now generated from @standards, and syntax-checking is
performed. If invalid @standards syntax is detected, summary.pl will
fail, reporting all errors. Failure and error reporting is disabled
for now, however, since much of the manual is still incomplete
wrt. header and standards annotations.
Note that the sorting order of the Summary has changed; summary.pl
respects the locale, like summary.awk did, but the use of LC_ALL=C is
introduced in the Makefile. Other notable deviations are improved
detection of the annotated elements' names, which are used for
sorting, and improved detection of the @node used to reference into
the manual. The most noticeable difference in the rendered Summary is
that entries may now contain multiple lines, one for each header and
standard combination.
summary.pl accepts a `--help' option, which details the expected
syntax of @standards. If errors are reported, the user is directed to
this feature for further information.
* manual/Makefile: Generate summary.texi with summary.pl.
Force use of the C locale. Update Perl dependency comment.
* manual/header.texi: Update reference to summary.awk.
* manual/macros.texi: Refer authors to `summary.pl --help'.
* manual/summary.awk: Remove file.
* manual/summary.pl: New file. Generate summary.texi, and
check for @standards-related syntax errors.
* manual/argp.texi: Convert header and standards @comments to
@standards.
* manual/arith.texi: Likewise.
* manual/charset.texi: Likewise.
* manual/conf.texi: Likewise.
* manual/creature.texi: Likewise.
* manual/crypt.texi: Likewise.
* manual/ctype.texi: Likewise.
* manual/debug.texi: Likewise.
* manual/errno.texi: Likewise.
* manual/filesys.texi: Likewise.
* manual/getopt.texi: Likewise.
* manual/job.texi: Likewise.
* manual/lang.texi: Likewise.
* manual/llio.texi: Likewise.
* manual/locale.texi: Likewise.
* manual/math.texi: Likewise.
* manual/memory.texi: Likewise.
* manual/message.texi: Likewise.
* manual/pattern.texi: Likewise.
* manual/pipe.texi: Likewise.
* manual/process.texi: Likewise.
* manual/resource.texi: Likewise.
* manual/search.texi: Likewise.
* manual/setjmp.texi: Likewise.
* manual/signal.texi: Likewise.
* manual/socket.texi: Likewise.
* manual/startup.texi: Likewise.
* manual/stdio.texi: Likewise.
* manual/string.texi: Likewise.
* manual/sysinfo.texi: Likewise.
* manual/syslog.texi: Likewise.
* manual/terminal.texi: Likewise.
* manual/threads.texi: Likewise.
* manual/time.texi: Likewise.
* manual/users.texi: Likewise.
2017-06-16 04:12:39 +00:00
|
|
|
@standards{BSD, mntent.h}
|
2014-02-01 03:16:09 +00:00
|
|
|
@safety{@prelim{}@mtsafe{}@asunsafe{@ascuheap{} @asulock{}}@acunsafe{@aculock{} @acsmem{} @acsfd{}}}
|
|
|
|
@c endmntent @ascuheap @asulock @aculock @acsmem @acsfd
|
|
|
|
@c fclose dup @ascuheap @asulock @aculock @acsmem @acsfd
|
1998-06-11 21:06:58 +00:00
|
|
|
This function takes for the @var{stream} parameter a file handle which
|
|
|
|
previously was returned from the @code{setmntent} call.
|
|
|
|
@code{endmntent} closes the stream and frees all resources.
|
|
|
|
|
1998-06-15 10:29:49 +00:00
|
|
|
The return value is @math{1} unless an error occurred in which case it
|
|
|
|
is @math{0}.
|
1998-06-11 21:06:58 +00:00
|
|
|
@end deftypefun
|
|
|
|
|
|
|
|
@deftypefun {struct mntent *} getmntent (FILE *@var{stream})
|
manual: Replace summary.awk with summary.pl.
The Summary is now generated from @standards, and syntax-checking is
performed. If invalid @standards syntax is detected, summary.pl will
fail, reporting all errors. Failure and error reporting is disabled
for now, however, since much of the manual is still incomplete
wrt. header and standards annotations.
Note that the sorting order of the Summary has changed; summary.pl
respects the locale, like summary.awk did, but the use of LC_ALL=C is
introduced in the Makefile. Other notable deviations are improved
detection of the annotated elements' names, which are used for
sorting, and improved detection of the @node used to reference into
the manual. The most noticeable difference in the rendered Summary is
that entries may now contain multiple lines, one for each header and
standard combination.
summary.pl accepts a `--help' option, which details the expected
syntax of @standards. If errors are reported, the user is directed to
this feature for further information.
* manual/Makefile: Generate summary.texi with summary.pl.
Force use of the C locale. Update Perl dependency comment.
* manual/header.texi: Update reference to summary.awk.
* manual/macros.texi: Refer authors to `summary.pl --help'.
* manual/summary.awk: Remove file.
* manual/summary.pl: New file. Generate summary.texi, and
check for @standards-related syntax errors.
* manual/argp.texi: Convert header and standards @comments to
@standards.
* manual/arith.texi: Likewise.
* manual/charset.texi: Likewise.
* manual/conf.texi: Likewise.
* manual/creature.texi: Likewise.
* manual/crypt.texi: Likewise.
* manual/ctype.texi: Likewise.
* manual/debug.texi: Likewise.
* manual/errno.texi: Likewise.
* manual/filesys.texi: Likewise.
* manual/getopt.texi: Likewise.
* manual/job.texi: Likewise.
* manual/lang.texi: Likewise.
* manual/llio.texi: Likewise.
* manual/locale.texi: Likewise.
* manual/math.texi: Likewise.
* manual/memory.texi: Likewise.
* manual/message.texi: Likewise.
* manual/pattern.texi: Likewise.
* manual/pipe.texi: Likewise.
* manual/process.texi: Likewise.
* manual/resource.texi: Likewise.
* manual/search.texi: Likewise.
* manual/setjmp.texi: Likewise.
* manual/signal.texi: Likewise.
* manual/socket.texi: Likewise.
* manual/startup.texi: Likewise.
* manual/stdio.texi: Likewise.
* manual/string.texi: Likewise.
* manual/sysinfo.texi: Likewise.
* manual/syslog.texi: Likewise.
* manual/terminal.texi: Likewise.
* manual/threads.texi: Likewise.
* manual/time.texi: Likewise.
* manual/users.texi: Likewise.
2017-06-16 04:12:39 +00:00
|
|
|
@standards{BSD, mntent.h}
|
2014-02-01 03:16:09 +00:00
|
|
|
@safety{@prelim{}@mtunsafe{@mtasurace{:mntentbuf} @mtslocale{}}@asunsafe{@asucorrupt{} @ascuheap{} @asuinit{}}@acunsafe{@acuinit{} @acucorrupt{} @aculock{} @acsmem{}}}
|
|
|
|
@c getmntent @mtasurace:mntentbuf @mtslocale @asucorrupt @ascuheap @asuinit @acuinit @acucorrupt @aculock @acsmem
|
|
|
|
@c libc_once @ascuheap @asuinit @acuinit @acsmem
|
|
|
|
@c allocate @ascuheap @acsmem
|
|
|
|
@c malloc dup @ascuheap @acsmem
|
|
|
|
@c getmntent_r dup @mtslocale @asucorrupt @ascuheap @acucorrupt @aculock @acsmem
|
1998-06-11 21:06:58 +00:00
|
|
|
The @code{getmntent} function takes as the parameter a file handle
|
2016-10-06 06:53:27 +00:00
|
|
|
previously returned by a successful call to @code{setmntent}. It returns
|
1998-06-11 21:06:58 +00:00
|
|
|
a pointer to a static variable of type @code{struct mntent} which is
|
|
|
|
filled with the information from the next entry from the file currently
|
|
|
|
read.
|
|
|
|
|
1999-07-26 02:38:26 +00:00
|
|
|
The file format used prescribes the use of spaces or tab characters to
|
2016-10-06 06:53:27 +00:00
|
|
|
separate the fields. This makes it harder to use names containing one
|
2003-11-29 06:40:52 +00:00
|
|
|
of these characters (e.g., mount points using spaces). Therefore
|
|
|
|
these characters are encoded in the files and the @code{getmntent}
|
|
|
|
function takes care of the decoding while reading the entries back in.
|
|
|
|
@code{'\040'} is used to encode a space character, @code{'\011'} to
|
|
|
|
encode a tab character, @code{'\012'} to encode a newline character,
|
|
|
|
and @code{'\\'} to encode a backslash.
|
1999-07-26 02:38:26 +00:00
|
|
|
|
1998-06-11 21:06:58 +00:00
|
|
|
If there was an error or the end of the file is reached the return value
|
|
|
|
is @code{NULL}.
|
|
|
|
|
|
|
|
This function is not thread-safe since all calls to this function return
|
|
|
|
a pointer to the same static variable. @code{getmntent_r} should be
|
1998-06-15 10:29:49 +00:00
|
|
|
used in situations where multiple threads access the file.
|
1998-06-11 21:06:58 +00:00
|
|
|
@end deftypefun
|
|
|
|
|
2013-02-11 22:12:47 +00:00
|
|
|
@deftypefun {struct mntent *} getmntent_r (FILE *@var{stream}, struct mntent *@var{result}, char *@var{buffer}, int @var{bufsize})
|
manual: Replace summary.awk with summary.pl.
The Summary is now generated from @standards, and syntax-checking is
performed. If invalid @standards syntax is detected, summary.pl will
fail, reporting all errors. Failure and error reporting is disabled
for now, however, since much of the manual is still incomplete
wrt. header and standards annotations.
Note that the sorting order of the Summary has changed; summary.pl
respects the locale, like summary.awk did, but the use of LC_ALL=C is
introduced in the Makefile. Other notable deviations are improved
detection of the annotated elements' names, which are used for
sorting, and improved detection of the @node used to reference into
the manual. The most noticeable difference in the rendered Summary is
that entries may now contain multiple lines, one for each header and
standard combination.
summary.pl accepts a `--help' option, which details the expected
syntax of @standards. If errors are reported, the user is directed to
this feature for further information.
* manual/Makefile: Generate summary.texi with summary.pl.
Force use of the C locale. Update Perl dependency comment.
* manual/header.texi: Update reference to summary.awk.
* manual/macros.texi: Refer authors to `summary.pl --help'.
* manual/summary.awk: Remove file.
* manual/summary.pl: New file. Generate summary.texi, and
check for @standards-related syntax errors.
* manual/argp.texi: Convert header and standards @comments to
@standards.
* manual/arith.texi: Likewise.
* manual/charset.texi: Likewise.
* manual/conf.texi: Likewise.
* manual/creature.texi: Likewise.
* manual/crypt.texi: Likewise.
* manual/ctype.texi: Likewise.
* manual/debug.texi: Likewise.
* manual/errno.texi: Likewise.
* manual/filesys.texi: Likewise.
* manual/getopt.texi: Likewise.
* manual/job.texi: Likewise.
* manual/lang.texi: Likewise.
* manual/llio.texi: Likewise.
* manual/locale.texi: Likewise.
* manual/math.texi: Likewise.
* manual/memory.texi: Likewise.
* manual/message.texi: Likewise.
* manual/pattern.texi: Likewise.
* manual/pipe.texi: Likewise.
* manual/process.texi: Likewise.
* manual/resource.texi: Likewise.
* manual/search.texi: Likewise.
* manual/setjmp.texi: Likewise.
* manual/signal.texi: Likewise.
* manual/socket.texi: Likewise.
* manual/startup.texi: Likewise.
* manual/stdio.texi: Likewise.
* manual/string.texi: Likewise.
* manual/sysinfo.texi: Likewise.
* manual/syslog.texi: Likewise.
* manual/terminal.texi: Likewise.
* manual/threads.texi: Likewise.
* manual/time.texi: Likewise.
* manual/users.texi: Likewise.
2017-06-16 04:12:39 +00:00
|
|
|
@standards{BSD, mntent.h}
|
2014-02-01 03:16:09 +00:00
|
|
|
@safety{@prelim{}@mtsafe{@mtslocale{}}@asunsafe{@asucorrupt{} @ascuheap{}}@acunsafe{@acucorrupt{} @aculock{} @acsmem{}}}
|
|
|
|
@c getmntent_r @mtslocale @asucorrupt @ascuheap @acucorrupt @aculock @acsmem
|
|
|
|
@c flockfile dup @aculock
|
|
|
|
@c fgets_unlocked dup @asucorrupt @acucorrupt [locked, so no @mtsrace:stream]
|
|
|
|
@c funlockfile dup @aculock
|
|
|
|
@c strchr dup ok
|
|
|
|
@c strspn dup ok
|
|
|
|
@c strsep dup ok
|
|
|
|
@c decode_name ok
|
|
|
|
@c sscanf dup @mtslocale @ascuheap @acsmem
|
1998-06-11 21:06:58 +00:00
|
|
|
The @code{getmntent_r} function is the reentrant variant of
|
|
|
|
@code{getmntent}. It also returns the next entry from the file and
|
|
|
|
returns a pointer. The actual variable the values are stored in is not
|
|
|
|
static, though. Instead the function stores the values in the variable
|
|
|
|
pointed to by the @var{result} parameter. Additional information (e.g.,
|
|
|
|
the strings pointed to by the elements of the result) are kept in the
|
|
|
|
buffer of size @var{bufsize} pointed to by @var{buffer}.
|
|
|
|
|
1999-07-26 02:38:26 +00:00
|
|
|
Escaped characters (space, tab, backslash) are converted back in the
|
|
|
|
same way as it happens for @code{getmentent}.
|
|
|
|
|
1998-06-15 10:29:49 +00:00
|
|
|
The function returns a @code{NULL} pointer in error cases. Errors could be:
|
1998-06-11 21:06:58 +00:00
|
|
|
@itemize @bullet
|
|
|
|
@item
|
|
|
|
error while reading the file,
|
|
|
|
@item
|
|
|
|
end of file reached,
|
|
|
|
@item
|
|
|
|
@var{bufsize} is too small for reading a complete new entry.
|
|
|
|
@end itemize
|
|
|
|
@end deftypefun
|
|
|
|
|
|
|
|
@deftypefun int addmntent (FILE *@var{stream}, const struct mntent *@var{mnt})
|
manual: Replace summary.awk with summary.pl.
The Summary is now generated from @standards, and syntax-checking is
performed. If invalid @standards syntax is detected, summary.pl will
fail, reporting all errors. Failure and error reporting is disabled
for now, however, since much of the manual is still incomplete
wrt. header and standards annotations.
Note that the sorting order of the Summary has changed; summary.pl
respects the locale, like summary.awk did, but the use of LC_ALL=C is
introduced in the Makefile. Other notable deviations are improved
detection of the annotated elements' names, which are used for
sorting, and improved detection of the @node used to reference into
the manual. The most noticeable difference in the rendered Summary is
that entries may now contain multiple lines, one for each header and
standard combination.
summary.pl accepts a `--help' option, which details the expected
syntax of @standards. If errors are reported, the user is directed to
this feature for further information.
* manual/Makefile: Generate summary.texi with summary.pl.
Force use of the C locale. Update Perl dependency comment.
* manual/header.texi: Update reference to summary.awk.
* manual/macros.texi: Refer authors to `summary.pl --help'.
* manual/summary.awk: Remove file.
* manual/summary.pl: New file. Generate summary.texi, and
check for @standards-related syntax errors.
* manual/argp.texi: Convert header and standards @comments to
@standards.
* manual/arith.texi: Likewise.
* manual/charset.texi: Likewise.
* manual/conf.texi: Likewise.
* manual/creature.texi: Likewise.
* manual/crypt.texi: Likewise.
* manual/ctype.texi: Likewise.
* manual/debug.texi: Likewise.
* manual/errno.texi: Likewise.
* manual/filesys.texi: Likewise.
* manual/getopt.texi: Likewise.
* manual/job.texi: Likewise.
* manual/lang.texi: Likewise.
* manual/llio.texi: Likewise.
* manual/locale.texi: Likewise.
* manual/math.texi: Likewise.
* manual/memory.texi: Likewise.
* manual/message.texi: Likewise.
* manual/pattern.texi: Likewise.
* manual/pipe.texi: Likewise.
* manual/process.texi: Likewise.
* manual/resource.texi: Likewise.
* manual/search.texi: Likewise.
* manual/setjmp.texi: Likewise.
* manual/signal.texi: Likewise.
* manual/socket.texi: Likewise.
* manual/startup.texi: Likewise.
* manual/stdio.texi: Likewise.
* manual/string.texi: Likewise.
* manual/sysinfo.texi: Likewise.
* manual/syslog.texi: Likewise.
* manual/terminal.texi: Likewise.
* manual/threads.texi: Likewise.
* manual/time.texi: Likewise.
* manual/users.texi: Likewise.
2017-06-16 04:12:39 +00:00
|
|
|
@standards{BSD, mntent.h}
|
2014-11-21 04:45:02 +00:00
|
|
|
@safety{@prelim{}@mtsafe{@mtsrace{:stream} @mtslocale{}}@asunsafe{@asucorrupt{}}@acunsafe{@acucorrupt{}}}
|
2014-02-01 03:16:09 +00:00
|
|
|
@c addmntent @mtasurace:stream @mtslocale @asucorrupt @acucorrupt
|
|
|
|
@c fseek dup @asucorrupt @acucorrupt [no @aculock]
|
|
|
|
@c encode_name ok
|
|
|
|
@c fprintf dup @mtslocale @asucorrupt @acucorrupt [no @ascuheap @acsmem, no @aculock]
|
|
|
|
@c fflush dup @asucorrupt @acucorrupt [no @aculock]
|
1999-08-27 19:06:58 +00:00
|
|
|
The @code{addmntent} function allows adding a new entry to the file
|
1998-06-11 21:06:58 +00:00
|
|
|
previously opened with @code{setmntent}. The new entries are always
|
|
|
|
appended. I.e., even if the position of the file descriptor is not at
|
1998-06-15 10:29:49 +00:00
|
|
|
the end of the file this function does not overwrite an existing entry
|
1998-06-11 21:06:58 +00:00
|
|
|
following the current position.
|
|
|
|
|
|
|
|
The implication of this is that to remove an entry from a file one has
|
|
|
|
to create a new file while leaving out the entry to be removed and after
|
|
|
|
closing the file remove the old one and rename the new file to the
|
|
|
|
chosen name.
|
|
|
|
|
1999-07-26 02:38:26 +00:00
|
|
|
This function takes care of spaces and tab characters in the names to be
|
|
|
|
written to the file. It converts them and the backslash character into
|
2016-10-06 06:53:27 +00:00
|
|
|
the format described in the @code{getmntent} description above.
|
1999-07-26 02:38:26 +00:00
|
|
|
|
1998-06-15 10:29:49 +00:00
|
|
|
This function returns @math{0} in case the operation was successful.
|
|
|
|
Otherwise the return value is @math{1} and @code{errno} is set
|
1998-06-11 21:06:58 +00:00
|
|
|
appropriately.
|
|
|
|
@end deftypefun
|
|
|
|
|
|
|
|
@deftypefun {char *} hasmntopt (const struct mntent *@var{mnt}, const char *@var{opt})
|
manual: Replace summary.awk with summary.pl.
The Summary is now generated from @standards, and syntax-checking is
performed. If invalid @standards syntax is detected, summary.pl will
fail, reporting all errors. Failure and error reporting is disabled
for now, however, since much of the manual is still incomplete
wrt. header and standards annotations.
Note that the sorting order of the Summary has changed; summary.pl
respects the locale, like summary.awk did, but the use of LC_ALL=C is
introduced in the Makefile. Other notable deviations are improved
detection of the annotated elements' names, which are used for
sorting, and improved detection of the @node used to reference into
the manual. The most noticeable difference in the rendered Summary is
that entries may now contain multiple lines, one for each header and
standard combination.
summary.pl accepts a `--help' option, which details the expected
syntax of @standards. If errors are reported, the user is directed to
this feature for further information.
* manual/Makefile: Generate summary.texi with summary.pl.
Force use of the C locale. Update Perl dependency comment.
* manual/header.texi: Update reference to summary.awk.
* manual/macros.texi: Refer authors to `summary.pl --help'.
* manual/summary.awk: Remove file.
* manual/summary.pl: New file. Generate summary.texi, and
check for @standards-related syntax errors.
* manual/argp.texi: Convert header and standards @comments to
@standards.
* manual/arith.texi: Likewise.
* manual/charset.texi: Likewise.
* manual/conf.texi: Likewise.
* manual/creature.texi: Likewise.
* manual/crypt.texi: Likewise.
* manual/ctype.texi: Likewise.
* manual/debug.texi: Likewise.
* manual/errno.texi: Likewise.
* manual/filesys.texi: Likewise.
* manual/getopt.texi: Likewise.
* manual/job.texi: Likewise.
* manual/lang.texi: Likewise.
* manual/llio.texi: Likewise.
* manual/locale.texi: Likewise.
* manual/math.texi: Likewise.
* manual/memory.texi: Likewise.
* manual/message.texi: Likewise.
* manual/pattern.texi: Likewise.
* manual/pipe.texi: Likewise.
* manual/process.texi: Likewise.
* manual/resource.texi: Likewise.
* manual/search.texi: Likewise.
* manual/setjmp.texi: Likewise.
* manual/signal.texi: Likewise.
* manual/socket.texi: Likewise.
* manual/startup.texi: Likewise.
* manual/stdio.texi: Likewise.
* manual/string.texi: Likewise.
* manual/sysinfo.texi: Likewise.
* manual/syslog.texi: Likewise.
* manual/terminal.texi: Likewise.
* manual/threads.texi: Likewise.
* manual/time.texi: Likewise.
* manual/users.texi: Likewise.
2017-06-16 04:12:39 +00:00
|
|
|
@standards{BSD, mntent.h}
|
2014-02-01 03:16:09 +00:00
|
|
|
@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
|
|
|
|
@c hasmntopt ok
|
|
|
|
@c strlen dup ok
|
|
|
|
@c strstr dup ok
|
|
|
|
@c strchr dup ok
|
1998-06-11 21:06:58 +00:00
|
|
|
This function can be used to check whether the string pointed to by the
|
|
|
|
@code{mnt_opts} element of the variable pointed to by @var{mnt} contains
|
|
|
|
the option @var{opt}. If this is true a pointer to the beginning of the
|
|
|
|
option in the @code{mnt_opts} element is returned. If no such option
|
1998-06-15 10:29:49 +00:00
|
|
|
exists the function returns @code{NULL}.
|
1998-06-11 21:06:58 +00:00
|
|
|
|
|
|
|
This function is useful to test whether a specific option is present but
|
|
|
|
when all options have to be processed one is better off with using the
|
|
|
|
@code{getsubopt} function to iterate over all options in the string.
|
|
|
|
@end deftypefun
|
2000-04-18 06:24:03 +00:00
|
|
|
|
|
|
|
@node Other Mount Information
|
2001-02-09 17:02:23 +00:00
|
|
|
@subsubsection Other (Non-libc) Sources of Mount Information
|
2000-04-18 06:24:03 +00:00
|
|
|
|
|
|
|
On a system with a Linux kernel and the @code{proc} filesystem, you can
|
|
|
|
get information on currently mounted filesystems from the file
|
|
|
|
@file{mounts} in the @code{proc} filesystem. Its format is similar to
|
|
|
|
that of the @file{mtab} file, but represents what is truly mounted
|
|
|
|
without relying on facilities outside the kernel to keep @file{mtab} up
|
|
|
|
to date.
|
|
|
|
|
|
|
|
|
2000-05-21 21:22:28 +00:00
|
|
|
@node Mount-Unmount-Remount, , Mount Information, Filesystem Handling
|
2001-02-09 17:02:23 +00:00
|
|
|
@subsection Mount, Unmount, Remount
|
2000-04-18 06:24:03 +00:00
|
|
|
|
|
|
|
This section describes the functions for mounting, unmounting, and
|
|
|
|
remounting filesystems.
|
|
|
|
|
|
|
|
Only the superuser can mount, unmount, or remount a filesystem.
|
|
|
|
|
|
|
|
These functions do not access the @file{fstab} and @file{mtab} files. You
|
|
|
|
should maintain and use these separately. @xref{Mount Information}.
|
|
|
|
|
|
|
|
The symbols in this section are declared in @file{sys/mount.h}.
|
|
|
|
|
|
|
|
@deftypefun {int} mount (const char *@var{special_file}, const char *@var{dir}, const char *@var{fstype}, unsigned long int @var{options}, const void *@var{data})
|
manual: Replace summary.awk with summary.pl.
The Summary is now generated from @standards, and syntax-checking is
performed. If invalid @standards syntax is detected, summary.pl will
fail, reporting all errors. Failure and error reporting is disabled
for now, however, since much of the manual is still incomplete
wrt. header and standards annotations.
Note that the sorting order of the Summary has changed; summary.pl
respects the locale, like summary.awk did, but the use of LC_ALL=C is
introduced in the Makefile. Other notable deviations are improved
detection of the annotated elements' names, which are used for
sorting, and improved detection of the @node used to reference into
the manual. The most noticeable difference in the rendered Summary is
that entries may now contain multiple lines, one for each header and
standard combination.
summary.pl accepts a `--help' option, which details the expected
syntax of @standards. If errors are reported, the user is directed to
this feature for further information.
* manual/Makefile: Generate summary.texi with summary.pl.
Force use of the C locale. Update Perl dependency comment.
* manual/header.texi: Update reference to summary.awk.
* manual/macros.texi: Refer authors to `summary.pl --help'.
* manual/summary.awk: Remove file.
* manual/summary.pl: New file. Generate summary.texi, and
check for @standards-related syntax errors.
* manual/argp.texi: Convert header and standards @comments to
@standards.
* manual/arith.texi: Likewise.
* manual/charset.texi: Likewise.
* manual/conf.texi: Likewise.
* manual/creature.texi: Likewise.
* manual/crypt.texi: Likewise.
* manual/ctype.texi: Likewise.
* manual/debug.texi: Likewise.
* manual/errno.texi: Likewise.
* manual/filesys.texi: Likewise.
* manual/getopt.texi: Likewise.
* manual/job.texi: Likewise.
* manual/lang.texi: Likewise.
* manual/llio.texi: Likewise.
* manual/locale.texi: Likewise.
* manual/math.texi: Likewise.
* manual/memory.texi: Likewise.
* manual/message.texi: Likewise.
* manual/pattern.texi: Likewise.
* manual/pipe.texi: Likewise.
* manual/process.texi: Likewise.
* manual/resource.texi: Likewise.
* manual/search.texi: Likewise.
* manual/setjmp.texi: Likewise.
* manual/signal.texi: Likewise.
* manual/socket.texi: Likewise.
* manual/startup.texi: Likewise.
* manual/stdio.texi: Likewise.
* manual/string.texi: Likewise.
* manual/sysinfo.texi: Likewise.
* manual/syslog.texi: Likewise.
* manual/terminal.texi: Likewise.
* manual/threads.texi: Likewise.
* manual/time.texi: Likewise.
* manual/users.texi: Likewise.
2017-06-16 04:12:39 +00:00
|
|
|
@standards{SVID, sys/mount.h}
|
|
|
|
@standards{BSD, sys/mount.h}
|
2014-02-01 03:16:09 +00:00
|
|
|
@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
|
|
|
|
@c Direct syscall.
|
2000-04-18 06:24:03 +00:00
|
|
|
|
2000-04-18 06:48:18 +00:00
|
|
|
@code{mount} mounts or remounts a filesystem. The two operations are
|
2001-05-21 17:38:30 +00:00
|
|
|
quite different and are merged rather unnaturally into this one function.
|
2000-04-18 06:48:18 +00:00
|
|
|
The @code{MS_REMOUNT} option, explained below, determines whether
|
2000-04-18 06:24:03 +00:00
|
|
|
@code{mount} mounts or remounts.
|
|
|
|
|
|
|
|
For a mount, the filesystem on the block device represented by the
|
|
|
|
device special file named @var{special_file} gets mounted over the mount
|
|
|
|
point @var{dir}. This means that the directory @var{dir} (along with any
|
|
|
|
files in it) is no longer visible; in its place (and still with the name
|
|
|
|
@var{dir}) is the root directory of the filesystem on the device.
|
|
|
|
|
|
|
|
As an exception, if the filesystem type (see below) is one which is not
|
|
|
|
based on a device (e.g. ``proc''), @code{mount} instantiates a
|
|
|
|
filesystem and mounts it over @var{dir} and ignores @var{special_file}.
|
|
|
|
|
|
|
|
For a remount, @var{dir} specifies the mount point where the filesystem
|
|
|
|
to be remounted is (and remains) mounted and @var{special_file} is
|
|
|
|
ignored. Remounting a filesystem means changing the options that control
|
|
|
|
operations on the filesystem while it is mounted. It does not mean
|
|
|
|
unmounting and mounting again.
|
|
|
|
|
2016-10-06 06:53:27 +00:00
|
|
|
For a mount, you must identify the type of the filesystem with
|
2000-04-18 06:24:03 +00:00
|
|
|
@var{fstype}. This type tells the kernel how to access the filesystem
|
|
|
|
and can be thought of as the name of a filesystem driver. The
|
|
|
|
acceptable values are system dependent. On a system with a Linux kernel
|
|
|
|
and the @code{proc} filesystem, the list of possible values is in the
|
|
|
|
file @file{filesystems} in the @code{proc} filesystem (e.g. type
|
|
|
|
@kbd{cat /proc/filesystems} to see the list). With a Linux kernel, the
|
|
|
|
types of filesystems that @code{mount} can mount, and their type names,
|
|
|
|
depends on what filesystem drivers are configured into the kernel or
|
|
|
|
loaded as loadable kernel modules. An example of a common value for
|
|
|
|
@var{fstype} is @code{ext2}.
|
|
|
|
|
|
|
|
For a remount, @code{mount} ignores @var{fstype}.
|
|
|
|
|
|
|
|
@c This is traditionally called "rwflag" for historical reasons.
|
|
|
|
@c No point in confusing people today, though.
|
|
|
|
@var{options} specifies a variety of options that apply until the
|
2000-04-22 06:50:46 +00:00
|
|
|
filesystem is unmounted or remounted. The precise meaning of an option
|
2000-04-18 06:24:03 +00:00
|
|
|
depends on the filesystem and with some filesystems, an option may have
|
|
|
|
no effect at all. Furthermore, for some filesystems, some of these
|
|
|
|
options (but never @code{MS_RDONLY}) can be overridden for individual
|
|
|
|
file accesses via @code{ioctl}.
|
|
|
|
|
|
|
|
@var{options} is a bit string with bit fields defined using the
|
|
|
|
following mask and masked value macros:
|
|
|
|
|
2016-12-21 09:36:58 +00:00
|
|
|
@vtable @code
|
2000-04-18 06:24:03 +00:00
|
|
|
@item MS_MGC_MASK
|
|
|
|
This multibit field contains a magic number. If it does not have the value
|
|
|
|
@code{MS_MGC_VAL}, @code{mount} assumes all the following bits are zero and
|
|
|
|
the @var{data} argument is a null string, regardless of their actual values.
|
|
|
|
|
|
|
|
@item MS_REMOUNT
|
|
|
|
This bit on means to remount the filesystem. Off means to mount it.
|
|
|
|
@c There is a mask MS_RMT_MASK in mount.h that says only two of the options
|
2000-04-30 20:53:48 +00:00
|
|
|
@c can be reset by remount. But the Linux kernel has its own version of
|
2000-04-18 06:24:03 +00:00
|
|
|
@c MS_RMT_MASK that says they all can be reset. As far as I can tell,
|
|
|
|
@c libc just passes the arguments straight through to the kernel.
|
|
|
|
|
|
|
|
@item MS_RDONLY
|
|
|
|
This bit on specifies that no writing to the filesystem shall be allowed
|
2000-04-18 06:48:18 +00:00
|
|
|
while it is mounted. This cannot be overridden by @code{ioctl}. This
|
2000-04-18 06:24:03 +00:00
|
|
|
option is available on nearly all filesystems.
|
|
|
|
|
|
|
|
@item MS_NOSUID
|
|
|
|
This bit on specifies that Setuid and Setgid permissions on files in the
|
|
|
|
filesystem shall be ignored while it is mounted.
|
|
|
|
|
|
|
|
@item MS_NOEXEC
|
|
|
|
This bit on specifies that no files in the filesystem shall be executed
|
|
|
|
while the filesystem is mounted.
|
|
|
|
|
|
|
|
@item MS_NODEV
|
2000-04-18 06:48:18 +00:00
|
|
|
This bit on specifies that no device special files in the filesystem
|
2000-04-18 06:24:03 +00:00
|
|
|
shall be accessible while the filesystem is mounted.
|
|
|
|
|
|
|
|
@item MS_SYNCHRONOUS
|
2000-04-18 06:48:18 +00:00
|
|
|
This bit on specifies that all writes to the filesystem while it is
|
[BZ #2510, BZ #2830, BZ #3137, BZ #3313, BZ #3426, BZ #3465, BZ #3480, BZ #3483, BZ #3493, BZ #3514, BZ #3515, BZ #3664, BZ #3673, BZ #3674]
2007-01-11 Jakub Jelinek <jakub@redhat.com>
* sysdeps/i386/soft-fp/sfp-machine.h: Remove.
* sysdeps/x86_64/soft-fp/sfp-machine.h: Likewise.
2007-01-10 Ulrich Drepper <drepper@redhat.com>
* io/fts.c: Make sure fts_cur is always valid after return from
fts_read.
Patch by Miloslav Trmac <mitr@redhat.com>.
2006-10-27 Richard Sandiford <richard@codesourcery.com>
* elf/elf.h (R_MIPS_GLOB_DAT): Define.
(R_MIPS_NUM): Bump by 1.
2007-01-03 Jakub Jelinek <jakub@redhat.com>
* posix/execvp.c: Include alloca.h.
(allocate_scripts_argv): Renamed to...
(scripts_argv): ... this. Don't allocate buffer here nor count
arguments.
(execvp): Use alloca if possible.
* posix/Makefile: Add rules to build and run tst-vfork3 test.
* posix/tst-vfork3.c: New test.
* stdlib/Makefile (tst-strtod3-ENV): Define.
2007-01-02 Ulrich Drepper <drepper@redhat.com>
* posix/getconf.c: Update copyright year.
* nss/getent.c: Likewise.
* iconv/iconvconfig.c: Likewise.
* iconv/iconv_prog.c: Likewise.
* elf/ldconfig.c: Likewise.
* catgets/gencat.c: Likewise.
* csu/version.c: Likewise.
* elf/ldd.bash.in: Likewise.
* elf/sprof.c (print_version): Likewise.
* locale/programs/locale.c: Likewise.
* locale/programs/localedef.c: Likewise.
* nscd/nscd.c (print_version): Likewise.
* debug/xtrace.sh: Likewise.
* malloc/memusage.sh: Likewise.
* malloc/mtrace.pl: Likewise.
* debug/catchsegv.sh: Likewise.
2006-12-24 Ulrich Drepper <drepper@redhat.com>
* malloc/malloc.c (sYSMALLOc): Remove some unnecessary alignment
attempts.
2006-12-23 Ulrich Drepper <drepper@redhat.com>
* posix/wordexp.c: Remove some unnecessary tests.
2006-12-20 SUGIOKA Toshinobu <sugioka@itonet.co.jp>
* sysdeps/unix/sysv/linux/sh/bits/shm.h: New file.
* nss/getXXbyYY_r.c: Include atomic.h.
(INTERNAL (REENTRANT_NAME)): Write startp after start_fct,
add atomic_write_barrier () in between.
2006-11-28 Jakub Jelinek <jakub@redhat.com>
* elf/dl-support.c: Include dl-procinfo.h.
* sysdeps/powerpc/dl-procinfo.h (PPC_PLATFORM_POWER4,
PPC_PLATFORM_PPC970, PPC_PLATFORM_POWER5, PPC_PLATFORM_POWER5_PLUS,
PPC_PLATFORM_POWER6, PPC_PLATFORM_CELL_BE, PPC_PLATFORM_POWER6X):
Define.
(_dl_string_platform): Use PPC_PLATFORM_* macros instead of
hardcoded constants.
* sysdeps/powerpc/dl-procinfo.c (_dl_powerpc_platform): Use
PPC_PLATFORM_* macros for array designators.
2006-11-11 Steven Munroe <sjmunroe@us.ibm.com>
* sysdeps/powerpc/dl-procinfo.c (_dl_powerpc_cap_flags): Add 3 new cap
names to the beginning.
(_dl_powerpc_platforms): Add "power6x".
* sysdeps/powerpc/dl-procinfo.h (_DL_HWCAP_FIRST): Decrease.
(HWCAP_IMPORTANT): Add PPC_FEATURE_HAS_DFP.
(_DL_PLATFORMS_COUNT): Increase.
(_dl_string_platform): Handle power6x case.
* sysdeps/powerpc/sysdep.h (PPC_FEATURE_PA6T, PPC_FEATURE_HAS_DFP,
PPC_FEATURE_POWER6_EXT): Define.
(PPC_FEATURE_POWER5, PPC_FEATURE_POWER5_PLUS): Correct Comment.
[-2^31 .. 2^31) range.
* sysdeps/unix/sysv/linux/bits/statvfs.h: Define ST_RELATIME.
* sysdeps/unix/sysv/linux/internal_statvfs.c (__statvfs_getflags):
Handle relatime mount option.
2006-12-13 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S: Include
kernel-features.h.
2006-12-11 Ulrich Drepper <drepper@redhat.com>
* stdlib/strtod_l.c (____STRTOF_INTERNAL): Parse thousand
separators also if no non-zero digits found.
* stdlib/Makefile (tests): Add tst-strtod3.
[BZ #3664]
* stdlib/strtod_l.c (____STRTOF_INTERNAL): Fix test to recognize
empty parsed strings.
* stdlib/Makefile (tests): Add tst-strtod2.
* stdlib/tst-strtod2.c: New file.
[BZ #3673]
* stdlib/strtod_l.c (____STRTOF_INTERNAL): Fix exp_limit
computation.
* stdlib/Makefile (tests): Add tst-atof2.
* stdlib/tst-atof2.c: New file.
[BZ #3674]
* stdlib/strtod_l.c (____STRTOF_INTERNAL): Adjust exponent value
correctly if removing trailing zero of hex-float.
* stdlib/Makefile (tests): Add tst-atof1.
* stdlib/tst-atof1.c: New file.
* misc/mntent_r.c (__hasmntopt): Check p[optlen] even when p == rest.
Start searching for next comma at p rather than rest.
* misc/Makefile (tests): Add tst-mntent2.
* misc/tst-mntent2.c: New test.
2006-12-08 Ulrich Drepper <drepper@redhat.com>
* malloc/memusage.c: Handle realloc with new size of zero and
non-NULL pointer correctly.
(me): Really write first record twice.
(struct entry): Make format bi-arch safe.
(dest): Write out more realloc statistics.
* malloc/memusagestat.c (struct entry): Make format bi-arch safe.
2006-12-05 Jakub Jelinek <jakub@redhat.com>
* nis/nis_subr.c (nis_getnames): Revert last change.
2006-12-03 Kaz Kojima <kkojima@rr.iij4u.or.jp>
* sysdeps/unix/sysv/linux/sh/sys/io.h: Removed.
2006-11-30 H.J. Lu <hongjiu.lu@intel.com>
* sysdeps/i386/i686/memcmp.S: Use jump table as the base of
jump table entries.
2006-11-30 Jan Kratochvil <jan.kratochvil@redhat.com>
* sysdeps/unix/sysv/linux/i386/clone.S: Provide CFI for the outermost
`clone' function to ensure proper unwinding stop of gdb.
* sysdeps/unix/sysv/linux/x86_64/clone.S: Likewise.
2006-12-01 Ulrich Drepper <drepper@redhat.com>
* nscd/nscd.init: Remove obsolete and commented-out -S option
handling.
2006-11-23 Jakub Jelinek <jakub@redhat.com>
[BZ #3514]
* manual/string.texi (strncmp): Fix pastos from wcscmp description.
[BZ #3515]
* manual/string.texi (strtok): Remove duplicate paragraph.
2006-12-01 Jan Kratochvil <jan.kratochvil@redhat.com>
* sysdeps/unix/sysv/linux/x86_64/sigaction.c: Fix compatibility with
libgcc not supporting `rflags' unwinding (register # >= 17).
2006-11-30 Jakub Jelinek <jakub@redhat.com>
* sunrpc/svc_run.c (svc_run): Set my_pollfd to new_pollfd if realloc
succeeded.
2006-11-29 Daniel Jacobowitz <dan@codesourcery.com>
Jakub Jelinek <jakub@redhat.com>
Jan Kratochvil <jan.kratochvil@redhat.com>
* sysdeps/unix/sysv/linux/x86_64/sigaction.c (restore_rt): Add correct
unwind information.
* sysdeps/unix/sysv/linux/x86_64/Makefile: Provide symbols for
'restore_rt' even in the 'signal' directory.
* sysdeps/unix/sysv/linux/x86_64/ucontext_i.sym: Extend the regs list.
malloc crashed. Don't allocate memory unnecessarily in each
loop.
2006-10-21 Jakub Jelinek <jakub@redhat.com>
* resolv/mapv4v6addr.h (map_v4v6_address): Fix last change.
2006-11-20 Ulrich Drepper <drepper@redhat.com>
* resolv/mapv4v6addr.h (map_v4v6_address): Optimize a bit.
2006-11-18 Bruno Haible <bruno@clisp.org>
* sysdeps/unix/sysv/linux/i386/getgroups.c (__getgroups): Invoke
__sysconf only after having tried to call getgroups32.
2006-11-19 Ulrich Drepper <drepper@redhat.com>
* nss/nss_files/files-hosts.c (LINE_PARSER): Support IPv6-style
addresses for IPv4 queries if they can be mapped.
2006-11-16 Jakub Jelinek <jakub@redhat.com>
* sysdeps/x86_64/fpu/s_copysignf.S (__copysignf): Switch to .text.
* sysdeps/x86_64/fpu/s_copysign.S (__copysign): Likewise.
(signmask): Add .size directive.
(othermask): Add .type directive.
2006-11-14 Ulrich Drepper <drepper@redhat.com>
* po/nl.po: Update from translation team.
* timezone/zdump.c: Redo fix for BZ #3137.
2006-11-14 Jakub Jelinek <jakub@redhat.com>
* nss/nss_files/files-alias.c (get_next_alias): Set line back
to first_unused after parsing :include: file.
* timezone/africa: Update from tzdata2006o.
* timezone/antarctica: Likewise.
* timezone/asia: Likewise.
* timezone/australasia: Likewise.
* timezone/backward: Likewise.
* timezone/europe: Likewise.
* timezone/iso3166.tab: Likewise.
* timezone/northamerica: Likewise.
* timezone/southamerica: Likewise.
* timezone/zone.tab: Likewise.
* time/tzfile.c (__tzfile_read): Extend to handle new file format
on machines with 64-bit time_t.
* timezone/checktab.awk: Update from tzcode2006o.
* timezone/ialloc.c: Likewise.
* timezone/private.h: Likewise.
* timezone/scheck.c: Likewise.
* timezone/tzfile.h: Likewise.
* timezone/tzselect.ksh: Likewise.
* timezone/zdump.c: Likewise.
* timezone/zic.c: Likewise.
[BZ #3483]
* elf/ldconfig.c (main): Call setlocale and textdomain.
Patch mostly by Benno Schulenberg <bensberg@justemail.net>.
[BZ #3480]
* manual/argp.texi: Fix typos.
* manual/charset.texi: Likewise.
* manual/errno.texi: Likewise.
* manual/filesys.texi: Likewise.
* manual/lang.texi: Likewise.
* manual/maint.texi: Likewise.
* manual/memory.texi: Likewise.
* manual/message.texi: Likewise.
* manual/resource.texi: Likewise.
* manual/search.texi: Likewise.
* manual/signal.texi: Likewise.
* manual/startup.texi: Likewise.
* manual/stdio.texi: Likewise.
* manual/sysinfo.texi: Likewise.
* manual/syslog.texi: Likewise.
* manual/time.texi: Likewise.
Patch by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
[BZ #3465]
* sunrpc/clnt_raw.c: Minimal message improvements.
* sunrpc/pm_getmaps.c: Likewise.
* nis/nss_nisplus/nisplus-publickey.c: Likewise.
* nis/nis_print_group_entry.c: Likewise.
* locale/programs/repertoire.c: Likewise.
* locale/programs/charmap.c: Likewise.
* malloc/memusage.sh: Likewise.
* elf/dl-deps.c: Likewise.
* locale/programs/ld-collate.c: Likewise.
* libio/vswprintf.c: Likewise.
* malloc/memusagestat.c: Likewise.
* sunrpc/auth_unix.c: Likewise.
* sunrpc/rpc_main.c: Likewise.
* nscd/cache.c: Likewise.
* locale/programs/repertoire.c: Unify output messages.
* locale/programs/charmap.c: Likewise.
* locale/programs/ld-ctype.c: Likewise.
* locale/programs/ld-monetary.c: Likewise.
* locale/programs/ld-numeric.c: Likewise.
* locale/programs/ld-time.c: Likewise.
* elf/ldconfig.c: Likewise.
* nscd/selinux.c: Likewise.
* elf/cache.c: Likewise.
Patch mostly by Benno Schulenberg <bensberg@justemail.net>.
2006-11-10 Jakub Jelinek <jakub@redhat.com>
* string/strxfrm_l.c (STRXFRM): Fix trailing \1 optimization
if N is one bigger than return value.
* string/tst-strxfrm2.c (do_test): Also test strxfrm with l1 + 1
and l1 last arguments, if buf is defined, verify the return value
equals to strlen (buf) and verify no byte beyond passed length
is modified.
2006-11-10 Ulrich Drepper <drepper@redhat.com>
* po/sv.po: Update from translation team.
* sysdeps/gnu/siglist.c (__old_sys_siglist, __old_sys_sigabbrev):
Use __new_sys_siglist instead of _sys_siglist_internal as
second macro argument.
(_old_sys_siglist): Use declare_symbol_alias macro instead of
strong_alias.
2006-11-09 Ulrich Drepper <drepper@redhat.com>
[BZ #3493]
* posix/unistd.h (sysconf): Remove const attribute.
* sysdeps/posix/getaddrinfo.c (getaddrinfo): Fix test for
temporary or deprecated addresses.
Patch by Sridhar Samudrala <sri@us.ibm.com>.
* string/Makefile (tests): Add tst-strxfrm2.
* string/tst-strxfrm2.c: New file.
2006-10-09 Jakub Jelinek <jakub@redhat.com>
* elf/dl-debug.c (_dl_debug_initialize): Check r->r_map for 0
rather than r->r_brk.
* string/strxfrm_l.c (STRXFRM): Do the trailing \1 removal
optimization even if needed > n.
2006-11-07 Jakub Jelinek <jakub@redhat.com>
* include/libc-symbols.h (declare_symbol): Rename to...
(declare_symbol_alias): ... this. Add ORIGINAL argument, imply
strong_alias (ORIGINAL, SYMBOL) in asm to make sure it preceedes
.size directive.
* sysdeps/gnu/errlist-compat.awk: Adjust for declare_symbol_alias
changes.
* sysdeps/gnu/siglist.c: Likewise.
2006-11-03 Steven Munroe <sjmunroe@us.ibm.com>
* sysdeps/powerpc/fpu/bits/mathinline.h
[__LIBC_INTERNAL_MATH_INLINES]: Moved to ...
* sysdeps/powerpc/fpu/math_private.h: ...here. New file.
2006-11-05 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/i386/sysconf.c (intel_check_word):
Update handling of cache descriptor 0x49 for new models.
* sysdeps/unix/sysv/linux/x86_64/sysconf.c (intel_check_word):
Likewise.
2006-11-02 Ulrich Drepper <drepper@redhat.com>
* configure.in: Work around ld --help change and avoid -z relro
test completely if the architecture doesn't care about security.
2006-11-01 Ulrich Drepper <drepper@redhat.com>
* po/sv.po: Update from translation team.
2006-10-31 Ulrich Drepper <drepper@redhat.com>
* stdlib/atexit.c (atexit): Don't mark as hidden when used to
generate compatibility version.
2006-10-29 Ulrich Drepper <drepper@redhat.com>
* configure.in: Relax -z relro requirement a bit.
* po/sv.po: Update from translation team.
2006-10-29 Jakub Jelinek <jakub@redhat.com>
* elf/dl-sym.c (do_sym): Use RTLD_SINGLE_THREAD_P.
* elf/dl-runtime.c (_dl_fixup, _dl_profile_fixup): Likewise.
* elf/dl-close.c (_dl_close_worker): Likewise.
* elf/dl-open.c (_dl_open_worker): Likewise.
* sysdeps/generic/sysdep-cancel.h (RTLD_SINGLE_THREAD_P): Define.
* configure.in: Require assembler support for visibility, compiler
support for visibility and aliases, linker support for various -z
options.
* Makeconfig: Remove conditional code which now is unnecessary.
* config.h.in: Likewise.
* config.make.in: Likewise.
* dlfcn/Makefile: Likewise.
* elf/Makefile: Likewise.
* elf/dl-load.c: Likewise.
* elf/rtld.c: Likewise.
* include/libc-symbols.h: Likewise.
* include/stdio.h: Likewise.
* io/Makefile: Likewise.
* io/fstat.c: Likewise.
* io/fstat64.c: Likewise.
* io/fstatat.c: Likewise.
* io/fstatat64.c: Likewise.
* io/lstat.c: Likewise.
* io/lstat64.c: Likewise.
* io/mknod.c: Likewise.
* io/mknodat.c: Likewise.
* io/stat.c: Likewise.
* io/stat64.c: Likewise.
* libio/stdio.c: Likewise.
* nscd/Makefile: Likewise.
* stdlib/Makefile: Likewise.
* stdlib/atexit.c: Likewise.
* sysdeps/generic/ldsodefs.h: Likewise.
* sysdeps/i386/dl-machine.h: Likewise.
* sysdeps/i386/sysdep.h: Likewise.
* sysdeps/i386/i686/memcmp.S: Likewise.
* sysdeps/powerpc/powerpc32/sysdep.h: Likewise.
* sysdeps/unix/sysv/linux/i386/sigaction.c: Likewise.
* sysdeps/unix/sysv/linux/x86_64/sigaction.c: Likewise.
* Makerules: USE_TLS support is now default.
* tls.make.c: Likewise.
* csu/Versions: Likewise.
* csu/libc-start.c: Likewise.
* csu/libc-tls.c: Likewise.
* csu/version.c: Likewise.
* dlfcn/dlinfo.c: Likewise.
* elf/dl-addr.c: Likewise.
* elf/dl-cache.c: Likewise.
* elf/dl-close.c: Likewise.
* elf/dl-iteratephdr.c: Likewise.
* elf/dl-load.c: Likewise.
* elf/dl-lookup.c: Likewise.
* elf/dl-object.c: Likewise.
* elf/dl-open.c: Likewise.
* elf/dl-reloc.c: Likewise.
* elf/dl-support.c: Likewise.
* elf/dl-sym.c: Likewise.
* elf/dl-sysdep.c: Likewise.
* elf/dl-tls.c: Likewise.
* elf/ldconfig.c: Likewise.
* elf/rtld.c: Likewise.
* elf/tst-tls-dlinfo.c: Likewise.
* elf/tst-tls1.c: Likewise.
* elf/tst-tls10.h: Likewise.
* elf/tst-tls14.c: Likewise.
* elf/tst-tls2.c: Likewise.
* elf/tst-tls3.c: Likewise.
* elf/tst-tls4.c: Likewise.
* elf/tst-tls5.c: Likewise.
* elf/tst-tls6.c: Likewise.
* elf/tst-tls7.c: Likewise.
* elf/tst-tls8.c: Likewise.
* elf/tst-tls9.c: Likewise.
* elf/tst-tlsmod1.c: Likewise.
* elf/tst-tlsmod13.c: Likewise.
* elf/tst-tlsmod13a.c: Likewise.
* elf/tst-tlsmod14a.c: Likewise.
* elf/tst-tlsmod2.c: Likewise.
* elf/tst-tlsmod3.c: Likewise.
* elf/tst-tlsmod4.c: Likewise.
* elf/tst-tlsmod5.c: Likewise.
* elf/tst-tlsmod6.c: Likewise.
* include/errno.h: Likewise.
* include/link.h: Likewise.
* include/tls.h: Likewise.
* locale/global-locale.c: Likewise.
* locale/localeinfo.h: Likewise.
* malloc/arena.c: Likewise.
* malloc/hooks.c: Likewise.
* malloc/malloc.c: Likewise.
* resolv/Versions: Likewise.
* sysdeps/alpha/dl-machine.h: Likewise.
* sysdeps/alpha/libc-tls.c: Likewise.
* sysdeps/generic/ldsodefs.h: Likewise.
* sysdeps/generic/tls.h: Likewise.
* sysdeps/i386/dl-machine.h: Likewise.
* sysdeps/ia64/dl-machine.h: Likewise.
* sysdeps/ia64/libc-tls.c: Likewise.
* sysdeps/mach/hurd/fork.c: Likewise.
* sysdeps/mach/hurd/i386/tls.h: Likewise.
* sysdeps/powerpc/powerpc32/dl-machine.c: Likwise.
* sysdeps/powerpc/powerpc32/dl-machine.h: Likewise.
* sysdeps/powerpc/powerpc64/dl-machine.h: Likewise.
* sysdeps/s390/libc-tls.c: Likewise.
* sysdeps/s390/s390-32/dl-machine.h: Likewise.
* sysdeps/s390/s390-64/dl-machine.h: Likewise.
* sysdeps/sh/dl-machine.h: Likewise.
* sysdeps/sparc/sparc32/dl-machine.h: Likewise.
* sysdeps/sparc/sparc64/dl-machine.h: Likewise.
* sysdeps/x86_64/dl-machine.h: Likewise.
[BZ #3426]
* stdlib/stdlib.h: Adjust comment for canonicalize_file_name to
reality.
2006-10-27 Jakub Jelinek <jakub@redhat.com>
* elf/dl-lookup.c (_dl_debug_bindings): Remove unused symbol_scope
argument.
(_dl_lookup_symbol_x): Adjust caller.
* sysdeps/generic/ldsodefs.h (struct link_namespaces): Remove
_ns_global_scope.
* elf/rtld.c (dl_main): Don't initialize _ns_global_scope.
* elf/dl-libc.c: Revert l_scope name changes.
* elf/dl-load.c: Likewise.
* elf/dl-object.c: Likewise.
* elf/rtld.c: Likewise.
* elf/dl-close.c (_dl_close): Likewise.
* elf/dl-open.c (dl_open_worker): Likewise. If not SINGLE_THREAD_P,
always use __rtld_mrlock_{change,done}. Always free old scope list
here if not l_scope_mem.
* elf/dl-runtime.c (_dl_fixup, _dl_profile_fixup): Revert l_scope name
change. Never free scope list here. Just __rtld_mrlock_lock before
the lookup and __rtld_mrlock_unlock it after the lookup.
* elf/dl-sym.c: Likewise.
* include/link.h (struct r_scoperec): Remove.
(struct link_map): Replace l_scoperec with l_scope, l_scoperec_mem
with l_scope_mem and l_scoperec_lock with l_scope_lock.
2006-10-25 Ulrich Drepper <drepper@redhat.com>
* sysdeps/gnu/netinet/tcp.h: Define TCP_CONGESTION.
2006-10-18 Ulrich Drepper <drepper@redhat.com>
* configure.in: Disable building profile libraries by default.
2006-10-18 Ulrich Drepper <drepper@redhat.com>
* elf/dl-lookup.c (_dl_lookup_symbol_x): Add warning to
_dl_lookup_symbol_x code.
2006-10-17 Jakub Jelinek <jakub@redhat.com>
* elf/dl-runtime.c: Include sysdep-cancel.h.
(_dl_fixup, _dl_profile_fixup): Use __rtld_mrlock_* and
scoperec->nusers only if !SINGLE_THREAD_P. Use atomic_*
instead of catomic_* macros.
* elf/dl-sym.c: Include sysdep-cancel.h.
(do_sym): Use __rtld_mrlock_* and scoperec->nusers only
if !SINGLE_THREAD_P. Use atomic_* instead of catomic_* macros.
* elf/dl-close.c: Include sysdep-cancel.h.
(_dl_close): Use __rtld_mrlock_* and scoperec->nusers only
if !SINGLE_THREAD_P. Use atomic_* instead of catomic_* macros.
* elf/dl-open.c: Include sysdep-cancel.h.
(dl_open_worker): Use __rtld_mrlock_* and scoperec->nusers only
if !SINGLE_THREAD_P. Use atomic_* instead of catomic_* macros.
2006-10-17 Jakub Jelinek <jakub@redhat.com>
[BZ #3313]
* malloc/malloc.c (malloc_consolidate): Set maxfb to address of last
fastbin rather than end of fastbin array.
2006-10-18 Ulrich Drepper <drepper@redhat.com>
* sysdeps/i386/i486/bits/atomic.h (catomic_decrement): Use correct
body macro.
* sysdeps/x86_64/bits/atomic.h
(__arch_c_compare_and_exchange_val_64_acq): Add missing casts.
(catomic_decrement): Use correct body macro.
2006-10-17 Jakub Jelinek <jakub@redhat.com>
* include/atomic.h: Add a unique prefix to all local variables
in macros.
* csu/tst-atomic.c (do_test): Test also catomic_* macros.
2006-10-14 Ulrich Drepper <drepper@redhat.com>
* resolv/arpa/nameser.h: Document that ns_t_a6 is deprecated.
[BZ #3313]
* malloc/malloc.c (malloc_consolidate): Don't use get_fast_max to
determine highest fast bin to consolidate, always look into all of
them.
(do_check_malloc_state): Only require for empty bins for large
sizes in main arena.
* libio/stdio.h: Add more __wur attributes.
2006-11-12 Andreas Jaeger <aj@suse.de>
[BZ #2510]
* manual/search.texi (Hash Search Function): Clarify.
(Array Search Function): Clarify.
2006-11-12 Joseph Myers <joseph@codesourcery.com>
[BZ #2830]
* math/atest-exp.c (main): Cast hex value to mp_limb_t before
shifting.
* math/atest-exp2.c (read_mpn_hex): Likewise.
* math/atest-sincos.c (main): Likewise.
* sysdeps/unix/sysv/linux/syscalls.list: Add epoll_pwait.
* sysdeps/unix/sysv/linux/sys/epoll.h: Declare epoll_pwait.
* sysdeps/unix/sysv/linux/Versions (libc): Add epoll_pwait for
version GLIBC_2.6.
* Versions.def: Add GLIBC_2.6 for libc.
* sysdeps/i386/i486/bits/atomic.h: Add catomic_* support.
2006-10-11 Jakub Jelinek <jakub@redhat.com>
* malloc/malloc.c (_int_malloc): Remove unused any_larger variable.
* nis/nis_defaults.c (__nis_default_access): Don't call getenv twice.
* nis/nis_subr.c (nis_getnames): Use __secure_getenv instead of getenv.
* sysdeps/generic/unsecvars.h: Add NIS_PATH.
2006-10-11 Ulrich Drepper <drepper@redhat.com>
* include/atomic.c: Define catomic_* operations.
* sysdeps/x86_64/bits/atomic.h: Likewise. Fix a few minor problems.
* stdlib/cxa_finalize.c: Use catomic_* operations instead of atomic_*.
* malloc/memusage.c: Likewise.
* gmon/mcount.c: Likewise.
* elf/dl-close.c: Likewise.
* elf/dl-open.c: Likewise.
* elf/dl-profile.c: Likewise.
* elf/dl-sym.c: Likewise.
* elf/dl-runtime.c: Likewise.
* elf/dl-fptr.c: Likewise.
* resolv/res_libc.c: Likewise.
2006-10-10 Roland McGrath <roland@frob.com>
* sysdeps/mach/hurd/utimes.c: Use a union to avoid an improper cast.
* sysdeps/mach/hurd/futimes.c: Likewise.
* sysdeps/mach/hurd/lutimes.c: Likewise.
2006-10-09 Ulrich Drepper <drepper@redhat.com>
Jakub Jelinek <jakub@redhat.com>
Implement reference counting of scope records.
* elf/dl-close.c (_dl_close): Remove all scopes from removed objects
from the list in objects which remain. Always allocate new scope
record.
* elf/dl-open.c (dl_open_worker): When growing array for scopes,
don't resize, allocate a new one.
* elf/dl-runtime.c: Update reference counters before using a scope
array.
* elf/dl-sym.c: Likewise.
* elf/dl-libc.c: Adjust for l_scope name change.
* elf/dl-load.c: Likewise.
* elf/dl-object.c: Likewise.
* elf/rtld.c: Likewise.
* include/link.h: Include <rtld-lowlevel.h>. Define struct
r_scoperec. Replace r_scope with pointer to r_scoperec structure.
Add l_scoperec_lock.
* sysdeps/generic/ldsodefs.h: Include <rtld-lowlevel.h>.
* sysdeps/generic/rtld-lowlevel.h: New file.
* include/atomic.h: Rename atomic_and to atomic_and_val and
atomic_or to atomic_or_val. Define new macros atomic_and and
atomic_or which do not return values.
* sysdeps/x86_64/bits/atomic.h: Define atomic_and and atomic_or.
Various cleanups.
* sysdeps/i386/i486/bits/atomic.h: Likewise.
* po/sv.po: Update from translation team.
2006-10-07 Ulrich Drepper <drepper@redhat.com>
* Versions.def: Add GLIBC_2.6 to libpthread.
* include/shlib-compat.h (SHLIB_COMPAT): Expand parameters before use.
(versioned_symbol): Likewise.
(compat_symbol): Likewise.
* po/tr.po: Update from translation team.
* nis/Banner: Removed. It's been integral part forever and the
author info is incomplete anyway.
* libio/Banner: Likewise.
2006-10-06 Ulrich Drepper <drepper@redhat.com>
* version.h (VERSION): Bump to 2.5.90 for new development tree.
2007-01-11 21:51:07 +00:00
|
|
|
mounted shall be synchronous; i.e., data shall be synced before each
|
2000-04-18 06:24:03 +00:00
|
|
|
write completes rather than held in the buffer cache.
|
|
|
|
|
|
|
|
@item MS_MANDLOCK
|
|
|
|
This bit on specifies that mandatory locks on files shall be permitted while
|
|
|
|
the filesystem is mounted.
|
|
|
|
|
|
|
|
@item MS_NOATIME
|
|
|
|
This bit on specifies that access times of files shall not be updated when
|
|
|
|
the files are accessed while the filesystem is mounted.
|
|
|
|
|
|
|
|
@item MS_NODIRATIME
|
|
|
|
This bit on specifies that access times of directories shall not be updated
|
|
|
|
when the directories are accessed while the filesystem in mounted.
|
|
|
|
|
|
|
|
@c there is also S_QUOTA Linux fs.h (mount.h still uses its former name
|
|
|
|
@c S_WRITE), but I can't see what it does. Turns on quotas, I guess.
|
|
|
|
|
2016-12-21 09:36:58 +00:00
|
|
|
@end vtable
|
2000-04-18 06:24:03 +00:00
|
|
|
|
|
|
|
Any bits not covered by the above masks should be set off; otherwise,
|
|
|
|
results are undefined.
|
|
|
|
|
|
|
|
The meaning of @var{data} depends on the filesystem type and is controlled
|
|
|
|
entirely by the filesystem driver in the kernel.
|
|
|
|
|
|
|
|
Example:
|
|
|
|
|
|
|
|
@smallexample
|
|
|
|
@group
|
|
|
|
#include <sys/mount.h>
|
|
|
|
|
|
|
|
mount("/dev/hdb", "/cdrom", MS_MGC_VAL | MS_RDONLY | MS_NOSUID, "");
|
|
|
|
|
|
|
|
mount("/dev/hda2", "/mnt", MS_MGC_VAL | MS_REMOUNT, "");
|
|
|
|
|
|
|
|
@end group
|
|
|
|
@end smallexample
|
|
|
|
|
|
|
|
Appropriate arguments for @code{mount} are conventionally recorded in
|
|
|
|
the @file{fstab} table. @xref{Mount Information}.
|
|
|
|
|
|
|
|
The return value is zero if the mount or remount is successful. Otherwise,
|
2000-04-18 06:48:18 +00:00
|
|
|
it is @code{-1} and @code{errno} is set appropriately. The values of
|
2000-04-18 06:24:03 +00:00
|
|
|
@code{errno} are filesystem dependent, but here is a general list:
|
|
|
|
|
|
|
|
@table @code
|
|
|
|
@item EPERM
|
|
|
|
The process is not superuser.
|
|
|
|
@item ENODEV
|
|
|
|
The file system type @var{fstype} is not known to the kernel.
|
|
|
|
@item ENOTBLK
|
|
|
|
The file @var{dev} is not a block device special file.
|
|
|
|
@item EBUSY
|
|
|
|
|
2000-06-02 00:27:08 +00:00
|
|
|
@itemize @bullet
|
2000-04-18 06:24:03 +00:00
|
|
|
|
2000-04-18 06:48:18 +00:00
|
|
|
@item
|
2000-04-18 06:24:03 +00:00
|
|
|
The device is already mounted.
|
|
|
|
|
|
|
|
@item
|
|
|
|
The mount point is busy. (E.g. it is some process' working directory or
|
|
|
|
has a filesystem mounted on it already).
|
|
|
|
|
|
|
|
@item
|
2016-10-06 06:53:27 +00:00
|
|
|
The request is to remount read-only, but there are files open for writing.
|
2000-04-18 06:24:03 +00:00
|
|
|
@end itemize
|
|
|
|
|
|
|
|
@item EINVAL
|
2000-06-02 00:27:08 +00:00
|
|
|
@itemize @bullet
|
2000-04-18 06:24:03 +00:00
|
|
|
|
|
|
|
@item
|
|
|
|
A remount was attempted, but there is no filesystem mounted over the
|
|
|
|
specified mount point.
|
|
|
|
|
2000-04-18 06:48:18 +00:00
|
|
|
@item
|
2000-04-18 06:24:03 +00:00
|
|
|
The supposed filesystem has an invalid superblock.
|
|
|
|
|
|
|
|
@end itemize
|
|
|
|
|
2001-05-21 17:38:30 +00:00
|
|
|
@item EACCES
|
2000-06-02 00:27:08 +00:00
|
|
|
@itemize @bullet
|
2000-04-18 06:24:03 +00:00
|
|
|
|
|
|
|
@item
|
2000-04-18 06:48:18 +00:00
|
|
|
The filesystem is inherently read-only (possibly due to a switch on the
|
2000-04-18 06:24:03 +00:00
|
|
|
device) and the process attempted to mount it read/write (by setting the
|
|
|
|
@code{MS_RDONLY} bit off).
|
|
|
|
|
|
|
|
@item
|
|
|
|
@var{special_file} or @var{dir} is not accessible due to file permissions.
|
|
|
|
|
|
|
|
@item
|
|
|
|
@var{special_file} is not accessible because it is in a filesystem that is
|
|
|
|
mounted with the @code{MS_NODEV} option.
|
|
|
|
|
|
|
|
@end itemize
|
|
|
|
|
|
|
|
@item EM_FILE
|
|
|
|
The table of dummy devices is full. @code{mount} needs to create a
|
|
|
|
dummy device (aka ``unnamed'' device) if the filesystem being mounted is
|
|
|
|
not one that uses a device.
|
|
|
|
|
|
|
|
@end table
|
|
|
|
|
|
|
|
@end deftypefun
|
|
|
|
|
|
|
|
|
|
|
|
@deftypefun {int} umount2 (const char *@var{file}, int @var{flags})
|
manual: Replace summary.awk with summary.pl.
The Summary is now generated from @standards, and syntax-checking is
performed. If invalid @standards syntax is detected, summary.pl will
fail, reporting all errors. Failure and error reporting is disabled
for now, however, since much of the manual is still incomplete
wrt. header and standards annotations.
Note that the sorting order of the Summary has changed; summary.pl
respects the locale, like summary.awk did, but the use of LC_ALL=C is
introduced in the Makefile. Other notable deviations are improved
detection of the annotated elements' names, which are used for
sorting, and improved detection of the @node used to reference into
the manual. The most noticeable difference in the rendered Summary is
that entries may now contain multiple lines, one for each header and
standard combination.
summary.pl accepts a `--help' option, which details the expected
syntax of @standards. If errors are reported, the user is directed to
this feature for further information.
* manual/Makefile: Generate summary.texi with summary.pl.
Force use of the C locale. Update Perl dependency comment.
* manual/header.texi: Update reference to summary.awk.
* manual/macros.texi: Refer authors to `summary.pl --help'.
* manual/summary.awk: Remove file.
* manual/summary.pl: New file. Generate summary.texi, and
check for @standards-related syntax errors.
* manual/argp.texi: Convert header and standards @comments to
@standards.
* manual/arith.texi: Likewise.
* manual/charset.texi: Likewise.
* manual/conf.texi: Likewise.
* manual/creature.texi: Likewise.
* manual/crypt.texi: Likewise.
* manual/ctype.texi: Likewise.
* manual/debug.texi: Likewise.
* manual/errno.texi: Likewise.
* manual/filesys.texi: Likewise.
* manual/getopt.texi: Likewise.
* manual/job.texi: Likewise.
* manual/lang.texi: Likewise.
* manual/llio.texi: Likewise.
* manual/locale.texi: Likewise.
* manual/math.texi: Likewise.
* manual/memory.texi: Likewise.
* manual/message.texi: Likewise.
* manual/pattern.texi: Likewise.
* manual/pipe.texi: Likewise.
* manual/process.texi: Likewise.
* manual/resource.texi: Likewise.
* manual/search.texi: Likewise.
* manual/setjmp.texi: Likewise.
* manual/signal.texi: Likewise.
* manual/socket.texi: Likewise.
* manual/startup.texi: Likewise.
* manual/stdio.texi: Likewise.
* manual/string.texi: Likewise.
* manual/sysinfo.texi: Likewise.
* manual/syslog.texi: Likewise.
* manual/terminal.texi: Likewise.
* manual/threads.texi: Likewise.
* manual/time.texi: Likewise.
* manual/users.texi: Likewise.
2017-06-16 04:12:39 +00:00
|
|
|
@standards{GNU, sys/mount.h}
|
2014-02-01 03:16:09 +00:00
|
|
|
@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
|
|
|
|
@c Direct syscall.
|
2000-04-18 06:24:03 +00:00
|
|
|
|
|
|
|
@code{umount2} unmounts a filesystem.
|
|
|
|
|
|
|
|
You can identify the filesystem to unmount either by the device special
|
|
|
|
file that contains the filesystem or by the mount point. The effect is
|
|
|
|
the same. Specify either as the string @var{file}.
|
|
|
|
|
2000-04-18 06:48:18 +00:00
|
|
|
@var{flags} contains the one-bit field identified by the following
|
2000-04-18 06:24:03 +00:00
|
|
|
mask macro:
|
|
|
|
|
2016-12-21 09:36:58 +00:00
|
|
|
@vtable @code
|
2000-04-18 06:24:03 +00:00
|
|
|
|
|
|
|
@item MNT_FORCE
|
|
|
|
This bit on means to force the unmounting even if the filesystem is
|
|
|
|
busy, by making it unbusy first. If the bit is off and the filesystem is
|
|
|
|
busy, @code{umount2} fails with @code{errno} = @code{EBUSY}. Depending
|
|
|
|
on the filesystem, this may override all, some, or no busy conditions.
|
|
|
|
|
2016-12-21 09:36:58 +00:00
|
|
|
@end vtable
|
2000-04-18 06:24:03 +00:00
|
|
|
|
|
|
|
All other bits in @var{flags} should be set to zero; otherwise, the result
|
|
|
|
is undefined.
|
|
|
|
|
|
|
|
Example:
|
|
|
|
|
|
|
|
@smallexample
|
|
|
|
@group
|
|
|
|
#include <sys/mount.h>
|
|
|
|
|
|
|
|
umount2("/mnt", MNT_FORCE);
|
|
|
|
|
|
|
|
umount2("/dev/hdd1", 0);
|
|
|
|
|
|
|
|
@end group
|
|
|
|
@end smallexample
|
|
|
|
|
|
|
|
After the filesystem is unmounted, the directory that was the mount point
|
|
|
|
is visible, as are any files in it.
|
|
|
|
|
|
|
|
As part of unmounting, @code{umount2} syncs the filesystem.
|
|
|
|
|
|
|
|
If the unmounting is successful, the return value is zero. Otherwise, it
|
|
|
|
is @code{-1} and @code{errno} is set accordingly:
|
|
|
|
|
|
|
|
@table @code
|
|
|
|
@item EPERM
|
|
|
|
The process is not superuser.
|
|
|
|
@item EBUSY
|
|
|
|
The filesystem cannot be unmounted because it is busy. E.g. it contains
|
|
|
|
a directory that is some process's working directory or a file that some
|
|
|
|
process has open. With some filesystems in some cases, you can avoid
|
|
|
|
this failure with the @code{MNT_FORCE} option.
|
|
|
|
|
|
|
|
@item EINVAL
|
2000-04-18 06:48:18 +00:00
|
|
|
@var{file} validly refers to a file, but that file is neither a mount
|
2000-04-18 06:24:03 +00:00
|
|
|
point nor a device special file of a currently mounted filesystem.
|
|
|
|
|
|
|
|
@end table
|
2000-04-18 06:48:18 +00:00
|
|
|
|
|
|
|
This function is not available on all systems.
|
2000-04-18 06:24:03 +00:00
|
|
|
@end deftypefun
|
|
|
|
|
|
|
|
@deftypefun {int} umount (const char *@var{file})
|
manual: Replace summary.awk with summary.pl.
The Summary is now generated from @standards, and syntax-checking is
performed. If invalid @standards syntax is detected, summary.pl will
fail, reporting all errors. Failure and error reporting is disabled
for now, however, since much of the manual is still incomplete
wrt. header and standards annotations.
Note that the sorting order of the Summary has changed; summary.pl
respects the locale, like summary.awk did, but the use of LC_ALL=C is
introduced in the Makefile. Other notable deviations are improved
detection of the annotated elements' names, which are used for
sorting, and improved detection of the @node used to reference into
the manual. The most noticeable difference in the rendered Summary is
that entries may now contain multiple lines, one for each header and
standard combination.
summary.pl accepts a `--help' option, which details the expected
syntax of @standards. If errors are reported, the user is directed to
this feature for further information.
* manual/Makefile: Generate summary.texi with summary.pl.
Force use of the C locale. Update Perl dependency comment.
* manual/header.texi: Update reference to summary.awk.
* manual/macros.texi: Refer authors to `summary.pl --help'.
* manual/summary.awk: Remove file.
* manual/summary.pl: New file. Generate summary.texi, and
check for @standards-related syntax errors.
* manual/argp.texi: Convert header and standards @comments to
@standards.
* manual/arith.texi: Likewise.
* manual/charset.texi: Likewise.
* manual/conf.texi: Likewise.
* manual/creature.texi: Likewise.
* manual/crypt.texi: Likewise.
* manual/ctype.texi: Likewise.
* manual/debug.texi: Likewise.
* manual/errno.texi: Likewise.
* manual/filesys.texi: Likewise.
* manual/getopt.texi: Likewise.
* manual/job.texi: Likewise.
* manual/lang.texi: Likewise.
* manual/llio.texi: Likewise.
* manual/locale.texi: Likewise.
* manual/math.texi: Likewise.
* manual/memory.texi: Likewise.
* manual/message.texi: Likewise.
* manual/pattern.texi: Likewise.
* manual/pipe.texi: Likewise.
* manual/process.texi: Likewise.
* manual/resource.texi: Likewise.
* manual/search.texi: Likewise.
* manual/setjmp.texi: Likewise.
* manual/signal.texi: Likewise.
* manual/socket.texi: Likewise.
* manual/startup.texi: Likewise.
* manual/stdio.texi: Likewise.
* manual/string.texi: Likewise.
* manual/sysinfo.texi: Likewise.
* manual/syslog.texi: Likewise.
* manual/terminal.texi: Likewise.
* manual/threads.texi: Likewise.
* manual/time.texi: Likewise.
* manual/users.texi: Likewise.
2017-06-16 04:12:39 +00:00
|
|
|
@standards{SVID, sys/mount.h}
|
|
|
|
@standards{GNU, sys/mount.h}
|
2014-02-01 03:16:09 +00:00
|
|
|
@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
|
|
|
|
@c Direct syscall or wrapper for umount2.
|
2000-04-18 06:24:03 +00:00
|
|
|
|
2000-04-18 06:48:18 +00:00
|
|
|
@code{umount} does the same thing as @code{umount2} with @var{flags} set
|
|
|
|
to zeroes. It is more widely available than @code{umount2} but since it
|
|
|
|
lacks the possibility to forcefully unmount a filesystem is deprecated
|
|
|
|
when @code{umount2} is also available.
|
2000-04-18 06:24:03 +00:00
|
|
|
@end deftypefun
|