Clean up glibc manual references to "GNU system" (bug 6911).
This commit is contained in:
parent
07037eeb43
commit
a7a93d5086
44
ChangeLog
44
ChangeLog
|
@ -1,5 +1,49 @@
|
||||||
2012-03-08 Joseph Myers <joseph@codesourcery.com>
|
2012-03-08 Joseph Myers <joseph@codesourcery.com>
|
||||||
|
|
||||||
|
[BZ #6911]
|
||||||
|
* manual/macros.texi (gnusystems): New macro.
|
||||||
|
(nongnusystems): Likewise.
|
||||||
|
(gnulinuxhurdsystems): Likewise.
|
||||||
|
(gnuhurdsystems): Likewise..
|
||||||
|
(gnulinuxsystems): Likewise.
|
||||||
|
* manual/charset.texi: Use new macros or @theglibc{} to refer to
|
||||||
|
variants of the GNU system, not "GNU system".
|
||||||
|
* manual/conf.texi: Likewise.
|
||||||
|
* manual/errno.texi: Likewise. Update example of errno macro
|
||||||
|
expansion.
|
||||||
|
* manual/filesys.texi: Likewise.
|
||||||
|
(getumask): Document as specific to GNU/Hurd.
|
||||||
|
* manual/install.texi: Likewise. Reword some references to
|
||||||
|
GNU/Linux.
|
||||||
|
* manual/intro.texi: Likewise.
|
||||||
|
* manual/io.texi: Likewise.
|
||||||
|
(File Name Portability): Detail which constraints are inapplicable
|
||||||
|
to all GNU systems and which are only inapplicable to GNU/Hurd.
|
||||||
|
* manual/job.texi: Likewise.
|
||||||
|
* manual/llio.texi: Likewise.
|
||||||
|
(O_NOCTTY): Document as present on GNU/Linux.
|
||||||
|
* manual/maint.texi: Likewise.
|
||||||
|
* manual/memory.texi: Likewise.
|
||||||
|
* manual/pattern.texi: Likewise.
|
||||||
|
* manual/pipe.texi: Likewise.
|
||||||
|
* manual/process.texi: Likewise.
|
||||||
|
* manual/resource.texi: Likewise.
|
||||||
|
(RUSAGE_CHILDREN): Remove statement about specifying a particular
|
||||||
|
child on GNU/Hurd.
|
||||||
|
* manual/setjmp.texi: Likewise.
|
||||||
|
* manual/signal.texi: Likewise.
|
||||||
|
* manual/startup.texi: Likewise.
|
||||||
|
* manual/stdio.texi: Likewise.
|
||||||
|
* manual/terminal.texi: Likewise.
|
||||||
|
(ONLCR): Document as POSIX.
|
||||||
|
(OXTABS): Document availability on GNU/Linux as XTABS.
|
||||||
|
(ONOEOT): Document availability separately from other bits.
|
||||||
|
(VLNEXT, VDISCARD, VSTATUS): Document availability individually.
|
||||||
|
* manual/time.texi: Likewise.
|
||||||
|
* manual/users.texi: Likewise.
|
||||||
|
* INSTALL: Regenerated.
|
||||||
|
* sysdeps/gnu/errlist.c: Regenerated.
|
||||||
|
|
||||||
* aclocal.m4 (LIBC_TRY_LINK_STATIC): New macro.
|
* aclocal.m4 (LIBC_TRY_LINK_STATIC): New macro.
|
||||||
* configure.in (libc_cv_preinit_array): Use LIBC_TRY_LINK_STATIC.
|
* configure.in (libc_cv_preinit_array): Use LIBC_TRY_LINK_STATIC.
|
||||||
(libc_cv_ctors_header): Likewise. Use asm ("") instead of calling
|
(libc_cv_ctors_header): Likewise. Use asm ("") instead of calling
|
||||||
|
|
13
INSTALL
13
INSTALL
|
@ -339,7 +339,7 @@ patches, although we try to avoid this.
|
||||||
Specific advice for GNU/Linux systems
|
Specific advice for GNU/Linux systems
|
||||||
=====================================
|
=====================================
|
||||||
|
|
||||||
If you are installing the GNU C Library on a GNU/Linux system, you need
|
If you are installing the GNU C Library on GNU/Linux systems, you need
|
||||||
to have the header files from a 2.6.19.1 or newer kernel around for
|
to have the header files from a 2.6.19.1 or newer kernel around for
|
||||||
reference. These headers must be installed using `make
|
reference. These headers must be installed using `make
|
||||||
headers_install'; the headers present in the kernel source directory
|
headers_install'; the headers present in the kernel source directory
|
||||||
|
@ -370,11 +370,12 @@ required if not compiling programs using those interfaces. You do not
|
||||||
need to copy kernel headers if you did not specify an alternate kernel
|
need to copy kernel headers if you did not specify an alternate kernel
|
||||||
header source using `--with-headers'.
|
header source using `--with-headers'.
|
||||||
|
|
||||||
GNU/Linux expects some components of the GNU C Library installation
|
The Filesystem Hierarchy Standard for GNU/Linux systems expects some
|
||||||
to be in `/lib' and some in `/usr/lib'. This is handled automatically
|
components of the GNU C Library installation to be in `/lib' and some
|
||||||
if you configure the GNU C Library with `--prefix=/usr'. If you set
|
in `/usr/lib'. This is handled automatically if you configure the GNU
|
||||||
some other prefix or allow it to default to `/usr/local', then all the
|
C Library with `--prefix=/usr'. If you set some other prefix or allow
|
||||||
components are installed there.
|
it to default to `/usr/local', then all the components are installed
|
||||||
|
there.
|
||||||
|
|
||||||
You cannot use `nscd' with 2.0 kernels, due to bugs in the
|
You cannot use `nscd' with 2.0 kernels, due to bugs in the
|
||||||
kernel-side thread support. `nscd' happens to hit these bugs
|
kernel-side thread support. `nscd' happens to hit these bugs
|
||||||
|
|
|
@ -112,7 +112,7 @@ this type is capable of storing all elements of the basic character set.
|
||||||
Therefore it would be legitimate to define @code{wchar_t} as @code{char},
|
Therefore it would be legitimate to define @code{wchar_t} as @code{char},
|
||||||
which might make sense for embedded systems.
|
which might make sense for embedded systems.
|
||||||
|
|
||||||
But for GNU systems @code{wchar_t} is always 32 bits wide and, therefore,
|
But in @theglibc{} @code{wchar_t} is always 32 bits wide and, therefore,
|
||||||
capable of representing all UCS-4 values and, therefore, covering all of
|
capable of representing all UCS-4 values and, therefore, covering all of
|
||||||
@w{ISO 10646}. Some Unix systems define @code{wchar_t} as a 16-bit type
|
@w{ISO 10646}. Some Unix systems define @code{wchar_t} as a 16-bit type
|
||||||
and thereby follow Unicode very strictly. This definition is perfectly
|
and thereby follow Unicode very strictly. This definition is perfectly
|
||||||
|
@ -393,7 +393,7 @@ We already said above that the currently selected locale for the
|
||||||
by the functions we are about to describe. Each locale uses its own
|
by the functions we are about to describe. Each locale uses its own
|
||||||
character set (given as an argument to @code{localedef}) and this is the
|
character set (given as an argument to @code{localedef}) and this is the
|
||||||
one assumed as the external multibyte encoding. The wide character
|
one assumed as the external multibyte encoding. The wide character
|
||||||
set is always UCS-4, at least on GNU systems.
|
set is always UCS-4 in @theglibc{}.
|
||||||
|
|
||||||
A characteristic of each multibyte character set is the maximum number
|
A characteristic of each multibyte character set is the maximum number
|
||||||
of bytes that can be necessary to represent one character. This
|
of bytes that can be necessary to represent one character. This
|
||||||
|
@ -537,8 +537,8 @@ Code using @code{mbsinit} often looks similar to this:
|
||||||
|
|
||||||
The code to emit the escape sequence to get back to the initial state is
|
The code to emit the escape sequence to get back to the initial state is
|
||||||
interesting. The @code{wcsrtombs} function can be used to determine the
|
interesting. The @code{wcsrtombs} function can be used to determine the
|
||||||
necessary output code (@pxref{Converting Strings}). Please note that on
|
necessary output code (@pxref{Converting Strings}). Please note that with
|
||||||
GNU systems it is not necessary to perform this extra action for the
|
@theglibc{} it is not necessary to perform this extra action for the
|
||||||
conversion from multibyte text to wide character text since the wide
|
conversion from multibyte text to wide character text since the wide
|
||||||
character encoding is not stateful. But there is nothing mentioned in
|
character encoding is not stateful. But there is nothing mentioned in
|
||||||
any standard that prohibits making @code{wchar_t} using a stateful
|
any standard that prohibits making @code{wchar_t} using a stateful
|
||||||
|
|
|
@ -1185,7 +1185,7 @@ represents the maximum length of a file name string. It is defined in
|
||||||
|
|
||||||
Unlike @code{PATH_MAX}, this macro is defined even if there is no actual
|
Unlike @code{PATH_MAX}, this macro is defined even if there is no actual
|
||||||
limit imposed. In such a case, its value is typically a very large
|
limit imposed. In such a case, its value is typically a very large
|
||||||
number. @strong{This is always the case on the GNU system.}
|
number. @strong{This is always the case on @gnuhurdsystems{}.}
|
||||||
|
|
||||||
@strong{Usage Note:} Don't use @code{FILENAME_MAX} as the size of an
|
@strong{Usage Note:} Don't use @code{FILENAME_MAX} as the size of an
|
||||||
array in which to store a file name! You can't possibly make an array
|
array in which to store a file name! You can't possibly make an array
|
||||||
|
@ -1252,7 +1252,7 @@ particular file, call @code{pathconf} or @code{fpathconf}.
|
||||||
Here are the names for the POSIX minimum upper bounds for some of the
|
Here are the names for the POSIX minimum upper bounds for some of the
|
||||||
above parameters. The significance of these values is that you can
|
above parameters. The significance of these values is that you can
|
||||||
safely push to these limits without checking whether the particular
|
safely push to these limits without checking whether the particular
|
||||||
system you are using can go that far. In most cases GNU systems do not
|
system you are using can go that far. In most cases @gnusystems{} do not
|
||||||
have these strict limitations. The actual limit should be requested if
|
have these strict limitations. The actual limit should be requested if
|
||||||
necessary.
|
necessary.
|
||||||
|
|
||||||
|
|
|
@ -66,8 +66,9 @@ function returns an error.
|
||||||
@strong{Portability Note:} @w{ISO C} specifies @code{errno} as a
|
@strong{Portability Note:} @w{ISO C} specifies @code{errno} as a
|
||||||
``modifiable lvalue'' rather than as a variable, permitting it to be
|
``modifiable lvalue'' rather than as a variable, permitting it to be
|
||||||
implemented as a macro. For example, its expansion might involve a
|
implemented as a macro. For example, its expansion might involve a
|
||||||
function call, like @w{@code{*_errno ()}}. In fact, that is what it is
|
function call, like @w{@code{*__errno_location ()}}. In fact, that is
|
||||||
on the GNU system itself. @Theglibc{}, on non-GNU systems, does
|
what it is
|
||||||
|
on @gnulinuxhurdsystems{}. @Theglibc{}, on each system, does
|
||||||
whatever is right for the particular system.
|
whatever is right for the particular system.
|
||||||
|
|
||||||
There are a few library functions, like @code{sqrt} and @code{atan},
|
There are a few library functions, like @code{sqrt} and @code{atan},
|
||||||
|
@ -96,10 +97,10 @@ codes of their own for other situations. The only values that are
|
||||||
guaranteed to be meaningful for a particular library function are the
|
guaranteed to be meaningful for a particular library function are the
|
||||||
ones that this manual lists for that function.
|
ones that this manual lists for that function.
|
||||||
|
|
||||||
On non-GNU systems, almost any system call can return @code{EFAULT} if
|
Except on @gnuhurdsystems{}, almost any system call can return @code{EFAULT} if
|
||||||
it is given an invalid pointer as an argument. Since this could only
|
it is given an invalid pointer as an argument. Since this could only
|
||||||
happen as a result of a bug in your program, and since it will not
|
happen as a result of a bug in your program, and since it will not
|
||||||
happen on the GNU system, we have saved space by not mentioning
|
happen on @gnuhurdsystems{}, we have saved space by not mentioning
|
||||||
@code{EFAULT} in the descriptions of individual functions.
|
@code{EFAULT} in the descriptions of individual functions.
|
||||||
|
|
||||||
In some Unix systems, many system calls can also return @code{EFAULT} if
|
In some Unix systems, many system calls can also return @code{EFAULT} if
|
||||||
|
@ -114,7 +115,7 @@ allocated memory instead of stack memory on that system.
|
||||||
@pindex errno.h
|
@pindex errno.h
|
||||||
The error code macros are defined in the header file @file{errno.h}.
|
The error code macros are defined in the header file @file{errno.h}.
|
||||||
All of them expand into integer constant values. Some of these error
|
All of them expand into integer constant values. Some of these error
|
||||||
codes can't occur on the GNU system, but they can occur using @theglibc{}
|
codes can't occur on @gnusystems{}, but they can occur using @theglibc{}
|
||||||
on other systems.
|
on other systems.
|
||||||
|
|
||||||
@comment errno.h
|
@comment errno.h
|
||||||
|
@ -178,8 +179,8 @@ computer.
|
||||||
@comment errno 7 @c DO NOT REMOVE
|
@comment errno 7 @c DO NOT REMOVE
|
||||||
Argument list too long; used when the arguments passed to a new program
|
Argument list too long; used when the arguments passed to a new program
|
||||||
being executed with one of the @code{exec} functions (@pxref{Executing a
|
being executed with one of the @code{exec} functions (@pxref{Executing a
|
||||||
File}) occupy too much memory space. This condition never arises in the
|
File}) occupy too much memory space. This condition never arises on
|
||||||
GNU system.
|
@gnuhurdsystems{}.
|
||||||
@end deftypevr
|
@end deftypevr
|
||||||
|
|
||||||
@comment errno.h
|
@comment errno.h
|
||||||
|
@ -238,7 +239,7 @@ Permission denied; the file permissions do not allow the attempted operation.
|
||||||
@deftypevr Macro int EFAULT
|
@deftypevr Macro int EFAULT
|
||||||
@comment errno 14 @c DO NOT REMOVE
|
@comment errno 14 @c DO NOT REMOVE
|
||||||
Bad address; an invalid pointer was detected.
|
Bad address; an invalid pointer was detected.
|
||||||
In the GNU system, this error never happens; you get a signal instead.
|
On @gnuhurdsystems{}, this error never happens; you get a signal instead.
|
||||||
@end deftypevr
|
@end deftypevr
|
||||||
|
|
||||||
@comment errno.h
|
@comment errno.h
|
||||||
|
@ -326,7 +327,7 @@ want to increase the @code{RLIMIT_NOFILE} limit or make it unlimited;
|
||||||
@comment errno 23 @c DO NOT REMOVE
|
@comment errno 23 @c DO NOT REMOVE
|
||||||
There are too many distinct file openings in the entire system. Note
|
There are too many distinct file openings in the entire system. Note
|
||||||
that any number of linked channels count as just one file opening; see
|
that any number of linked channels count as just one file opening; see
|
||||||
@ref{Linked Channels}. This error never occurs in the GNU system.
|
@ref{Linked Channels}. This error never occurs on @gnuhurdsystems{}.
|
||||||
@end deftypevr
|
@end deftypevr
|
||||||
|
|
||||||
@comment errno.h
|
@comment errno.h
|
||||||
|
@ -345,7 +346,7 @@ An attempt to execute a file that is currently open for writing, or
|
||||||
write to a file that is currently being executed. Often using a
|
write to a file that is currently being executed. Often using a
|
||||||
debugger to run a program is considered having it open for writing and
|
debugger to run a program is considered having it open for writing and
|
||||||
will cause this error. (The name stands for ``text file busy''.) This
|
will cause this error. (The name stands for ``text file busy''.) This
|
||||||
is not an error in the GNU system; the text is copied as necessary.
|
is not an error on @gnuhurdsystems{}; the text is copied as necessary.
|
||||||
@end deftypevr
|
@end deftypevr
|
||||||
|
|
||||||
@comment errno.h
|
@comment errno.h
|
||||||
|
@ -533,7 +534,7 @@ The socket type is not supported.
|
||||||
@comment errno 45 @c DO NOT REMOVE
|
@comment errno 45 @c DO NOT REMOVE
|
||||||
The operation you requested is not supported. Some socket functions
|
The operation you requested is not supported. Some socket functions
|
||||||
don't make sense for all types of sockets, and others may not be
|
don't make sense for all types of sockets, and others may not be
|
||||||
implemented for all communications protocols. In the GNU system, this
|
implemented for all communications protocols. On @gnuhurdsystems{}, this
|
||||||
error can happen for many calls when the object does not support the
|
error can happen for many calls when the object does not support the
|
||||||
particular operation; it is a generic indication that the server knows
|
particular operation; it is a generic indication that the server knows
|
||||||
nothing to do for that call.
|
nothing to do for that call.
|
||||||
|
@ -754,7 +755,7 @@ the NFS file system on the local host.
|
||||||
An attempt was made to NFS-mount a remote file system with a file name that
|
An attempt was made to NFS-mount a remote file system with a file name that
|
||||||
already specifies an NFS-mounted file.
|
already specifies an NFS-mounted file.
|
||||||
(This is an error on some operating systems, but we expect it to work
|
(This is an error on some operating systems, but we expect it to work
|
||||||
properly on the GNU system, making this error code impossible.)
|
properly on @gnuhurdsystems{}, making this error code impossible.)
|
||||||
@end deftypevr
|
@end deftypevr
|
||||||
|
|
||||||
@comment errno.h
|
@comment errno.h
|
||||||
|
@ -797,7 +798,7 @@ properly on the GNU system, making this error code impossible.)
|
||||||
@deftypevr Macro int ENOLCK
|
@deftypevr Macro int ENOLCK
|
||||||
@comment errno 77 @c DO NOT REMOVE
|
@comment errno 77 @c DO NOT REMOVE
|
||||||
No locks available. This is used by the file locking facilities; see
|
No locks available. This is used by the file locking facilities; see
|
||||||
@ref{File Locks}. This error is never generated by the GNU system, but
|
@ref{File Locks}. This error is never generated by @gnuhurdsystems{}, but
|
||||||
it can result from an operation to an NFS server running another
|
it can result from an operation to an NFS server running another
|
||||||
operating system.
|
operating system.
|
||||||
@end deftypevr
|
@end deftypevr
|
||||||
|
@ -868,7 +869,7 @@ or an incomplete sequence of bytes or the given wide character is invalid.
|
||||||
@comment GNU: Inappropriate operation for background process
|
@comment GNU: Inappropriate operation for background process
|
||||||
@deftypevr Macro int EBACKGROUND
|
@deftypevr Macro int EBACKGROUND
|
||||||
@comment errno 100 @c DO NOT REMOVE
|
@comment errno 100 @c DO NOT REMOVE
|
||||||
In the GNU system, servers supporting the @code{term} protocol return
|
On @gnuhurdsystems{}, servers supporting the @code{term} protocol return
|
||||||
this error for certain operations when the caller is not in the
|
this error for certain operations when the caller is not in the
|
||||||
foreground process group of the terminal. Users do not usually see this
|
foreground process group of the terminal. Users do not usually see this
|
||||||
error because functions such as @code{read} and @code{write} translate
|
error because functions such as @code{read} and @code{write} translate
|
||||||
|
@ -880,7 +881,7 @@ for information on process groups and these signals.
|
||||||
@comment GNU: Translator died
|
@comment GNU: Translator died
|
||||||
@deftypevr Macro int EDIED
|
@deftypevr Macro int EDIED
|
||||||
@comment errno 101 @c DO NOT REMOVE
|
@comment errno 101 @c DO NOT REMOVE
|
||||||
In the GNU system, opening a file returns this error when the file is
|
On @gnuhurdsystems{}, opening a file returns this error when the file is
|
||||||
translated by a program and the translator program dies while starting
|
translated by a program and the translator program dies while starting
|
||||||
up, before it has connected to the file.
|
up, before it has connected to the file.
|
||||||
@end deftypevr
|
@end deftypevr
|
||||||
|
@ -1346,8 +1347,8 @@ The function @code{perror} is declared in @file{stdio.h}.
|
||||||
@end deftypefun
|
@end deftypefun
|
||||||
|
|
||||||
@code{strerror} and @code{perror} produce the exact same message for any
|
@code{strerror} and @code{perror} produce the exact same message for any
|
||||||
given error code; the precise text varies from system to system. On the
|
given error code; the precise text varies from system to system. With
|
||||||
GNU system, the messages are fairly short; there are no multi-line
|
@theglibc{}, the messages are fairly short; there are no multi-line
|
||||||
messages or embedded newlines. Each error message begins with a capital
|
messages or embedded newlines. Each error message begins with a capital
|
||||||
letter and does not include any terminating punctuation.
|
letter and does not include any terminating punctuation.
|
||||||
|
|
||||||
|
|
|
@ -121,8 +121,8 @@ the buffer. @Theglibc{} provides @code{getwd} only
|
||||||
for backwards compatibility with BSD.
|
for backwards compatibility with BSD.
|
||||||
|
|
||||||
The @var{buffer} argument should be a pointer to an array at least
|
The @var{buffer} argument should be a pointer to an array at least
|
||||||
@code{PATH_MAX} bytes long (@pxref{Limits for Files}). In the GNU
|
@code{PATH_MAX} bytes long (@pxref{Limits for Files}). On @gnuhurdsystems{}
|
||||||
system there is no limit to the size of a file name, so this is not
|
there is no limit to the size of a file name, so this is not
|
||||||
necessarily enough space to contain the directory name. That is why
|
necessarily enough space to contain the directory name. That is why
|
||||||
this function is deprecated.
|
this function is deprecated.
|
||||||
@end deftypefn
|
@end deftypefn
|
||||||
|
@ -242,7 +242,7 @@ field you can count on in all POSIX systems.
|
||||||
|
|
||||||
@item ino_t d_fileno
|
@item ino_t d_fileno
|
||||||
This is the file serial number. For BSD compatibility, you can also
|
This is the file serial number. For BSD compatibility, you can also
|
||||||
refer to this member as @code{d_ino}. In the GNU system and most POSIX
|
refer to this member as @code{d_ino}. On @gnulinuxhurdsystems{} and most POSIX
|
||||||
systems, for most files this the same as the @code{st_ino} member that
|
systems, for most files this the same as the @code{st_ino} member that
|
||||||
@code{stat} will return for the file. @xref{File Attributes}.
|
@code{stat} will return for the file. @xref{File Attributes}.
|
||||||
|
|
||||||
|
@ -354,7 +354,7 @@ The process has too many files open.
|
||||||
@item ENFILE
|
@item ENFILE
|
||||||
The entire system, or perhaps the file system which contains the
|
The entire system, or perhaps the file system which contains the
|
||||||
directory, cannot support any additional open files at the moment.
|
directory, cannot support any additional open files at the moment.
|
||||||
(This problem cannot happen on the GNU system.)
|
(This problem cannot happen on @gnuhurdsystems{}.)
|
||||||
|
|
||||||
@item ENOMEM
|
@item ENOMEM
|
||||||
Not enough memory available.
|
Not enough memory available.
|
||||||
|
@ -1075,7 +1075,8 @@ The directory or file system that would contain the new link is full
|
||||||
and cannot be extended.
|
and cannot be extended.
|
||||||
|
|
||||||
@item EPERM
|
@item EPERM
|
||||||
In the GNU system and some others, you cannot make links to directories.
|
On @gnulinuxhurdsystems{} and some others, you cannot make links to
|
||||||
|
directories.
|
||||||
Many systems allow only privileged users to do so. This error
|
Many systems allow only privileged users to do so. This error
|
||||||
is used to report the problem.
|
is used to report the problem.
|
||||||
|
|
||||||
|
@ -1099,7 +1100,7 @@ A hardware error occurred while trying to read or write the to filesystem.
|
||||||
@cindex symbolic link
|
@cindex symbolic link
|
||||||
@cindex link, symbolic
|
@cindex link, symbolic
|
||||||
|
|
||||||
The GNU system supports @dfn{soft links} or @dfn{symbolic links}. This
|
@gnusystems{} support @dfn{soft links} or @dfn{symbolic links}. This
|
||||||
is a kind of ``file'' that is essentially a pointer to another file
|
is a kind of ``file'' that is essentially a pointer to another file
|
||||||
name. Unlike hard links, symbolic links can be made to directories or
|
name. Unlike hard links, symbolic links can be made to directories or
|
||||||
across file systems with no restrictions. You can also make a symbolic
|
across file systems with no restrictions. You can also make a symbolic
|
||||||
|
@ -1352,8 +1353,8 @@ The file name to be deleted doesn't exist.
|
||||||
@item EPERM
|
@item EPERM
|
||||||
On some systems @code{unlink} cannot be used to delete the name of a
|
On some systems @code{unlink} cannot be used to delete the name of a
|
||||||
directory, or at least can only be used this way by a privileged user.
|
directory, or at least can only be used this way by a privileged user.
|
||||||
To avoid such problems, use @code{rmdir} to delete directories. (In the
|
To avoid such problems, use @code{rmdir} to delete directories. (On
|
||||||
GNU system @code{unlink} can never delete the name of a directory.)
|
@gnulinuxhurdsystems{} @code{unlink} can never delete the name of a directory.)
|
||||||
|
|
||||||
@item EROFS
|
@item EROFS
|
||||||
The directory containing the file name to be deleted is on a read-only
|
The directory containing the file name to be deleted is on a read-only
|
||||||
|
@ -1381,7 +1382,7 @@ The directory to be deleted is not empty.
|
||||||
@end table
|
@end table
|
||||||
|
|
||||||
These two error codes are synonymous; some systems use one, and some use
|
These two error codes are synonymous; some systems use one, and some use
|
||||||
the other. The GNU system always uses @code{ENOTEMPTY}.
|
the other. @gnulinuxhurdsystems{} always use @code{ENOTEMPTY}.
|
||||||
|
|
||||||
The prototype for this function is declared in the header file
|
The prototype for this function is declared in the header file
|
||||||
@file{unistd.h}.
|
@file{unistd.h}.
|
||||||
|
@ -1458,7 +1459,7 @@ that are the current working directories of processes.
|
||||||
|
|
||||||
@item ENOTEMPTY
|
@item ENOTEMPTY
|
||||||
@itemx EEXIST
|
@itemx EEXIST
|
||||||
The directory @var{newname} isn't empty. The GNU system always returns
|
The directory @var{newname} isn't empty. @gnulinuxhurdsystems{} always return
|
||||||
@code{ENOTEMPTY} for this, but some other systems return @code{EEXIST}.
|
@code{ENOTEMPTY} for this, but some other systems return @code{EEXIST}.
|
||||||
|
|
||||||
@item EINVAL
|
@item EINVAL
|
||||||
|
@ -2480,16 +2481,16 @@ read_umask (void)
|
||||||
@end smallexample
|
@end smallexample
|
||||||
|
|
||||||
@noindent
|
@noindent
|
||||||
However, it is better to use @code{getumask} if you just want to read
|
However, on @gnuhurdsystems{} it is better to use @code{getumask} if
|
||||||
the mask value, because it is reentrant (at least if you use the GNU
|
you just want to read the mask value, because it is reentrant.
|
||||||
operating system).
|
|
||||||
@end deftypefun
|
@end deftypefun
|
||||||
|
|
||||||
@comment sys/stat.h
|
@comment sys/stat.h
|
||||||
@comment GNU
|
@comment GNU
|
||||||
@deftypefun mode_t getumask (void)
|
@deftypefun mode_t getumask (void)
|
||||||
Return the current value of the file creation mask for the current
|
Return the current value of the file creation mask for the current
|
||||||
process. This function is a GNU extension.
|
process. This function is a GNU extension and is only available on
|
||||||
|
@gnuhurdsystems{}.
|
||||||
@end deftypefun
|
@end deftypefun
|
||||||
|
|
||||||
@comment sys/stat.h
|
@comment sys/stat.h
|
||||||
|
|
|
@ -58,8 +58,8 @@ directory, especially some files in the manual subdirectory.
|
||||||
mandatory is @samp{--prefix}. This option tells @code{configure}
|
mandatory is @samp{--prefix}. This option tells @code{configure}
|
||||||
where you want @theglibc{} installed. This defaults to @file{/usr/local},
|
where you want @theglibc{} installed. This defaults to @file{/usr/local},
|
||||||
but the normal setting to install as the standard system library is
|
but the normal setting to install as the standard system library is
|
||||||
@samp{--prefix=/usr} for GNU/Linux systems and @samp{--prefix=} (an
|
@samp{--prefix=/usr} for @gnulinuxsystems{} and @samp{--prefix=} (an
|
||||||
empty prefix) for GNU/Hurd systems.
|
empty prefix) for @gnuhurdsystems{}.
|
||||||
|
|
||||||
It may also be useful to set the @var{CC} and @var{CFLAGS} variables in
|
It may also be useful to set the @var{CC} and @var{CFLAGS} variables in
|
||||||
the environment when running @code{configure}. @var{CC} selects the C
|
the environment when running @code{configure}. @var{CC} selects the C
|
||||||
|
@ -104,7 +104,7 @@ relative to the build directory (that is, the current working directory).
|
||||||
For example, @samp{--enable-add-ons=nptl,../glibc-libidn-@var{version}}.
|
For example, @samp{--enable-add-ons=nptl,../glibc-libidn-@var{version}}.
|
||||||
|
|
||||||
@item --enable-kernel=@var{version}
|
@item --enable-kernel=@var{version}
|
||||||
This option is currently only useful on GNU/Linux systems. The
|
This option is currently only useful on @gnulinuxsystems{}. The
|
||||||
@var{version} parameter should have the form X.Y.Z and describes the
|
@var{version} parameter should have the form X.Y.Z and describes the
|
||||||
smallest version of the Linux kernel the generated library is expected
|
smallest version of the Linux kernel the generated library is expected
|
||||||
to support. The higher the @var{version} number is, the less
|
to support. The higher the @var{version} number is, the less
|
||||||
|
@ -386,10 +386,10 @@ You may also need these packages if you upgrade your source tree using
|
||||||
patches, although we try to avoid this.
|
patches, although we try to avoid this.
|
||||||
|
|
||||||
@node Linux
|
@node Linux
|
||||||
@appendixsec Specific advice for GNU/Linux systems
|
@appendixsec Specific advice for @gnulinuxsystems{}
|
||||||
@cindex kernel header files
|
@cindex kernel header files
|
||||||
|
|
||||||
If you are installing @theglibc{} on a GNU/Linux system, you need to have
|
If you are installing @theglibc{} on @gnulinuxsystems{}, you need to have
|
||||||
the header files from a 2.6.19.1 or newer kernel around for reference.
|
the header files from a 2.6.19.1 or newer kernel around for reference.
|
||||||
These headers must be installed using @samp{make headers_install}; the
|
These headers must be installed using @samp{make headers_install}; the
|
||||||
headers present in the kernel source directory are not suitable for
|
headers present in the kernel source directory are not suitable for
|
||||||
|
@ -421,7 +421,8 @@ are not required if not compiling programs using those interfaces.
|
||||||
You do not need to copy kernel headers if you did not specify an
|
You do not need to copy kernel headers if you did not specify an
|
||||||
alternate kernel header source using @samp{--with-headers}.
|
alternate kernel header source using @samp{--with-headers}.
|
||||||
|
|
||||||
GNU/Linux expects some components of the @glibcadj{} installation to be in
|
The Filesystem Hierarchy Standard for @gnulinuxsystems{} expects some
|
||||||
|
components of the @glibcadj{} installation to be in
|
||||||
@file{/lib} and some in @file{/usr/lib}. This is handled automatically
|
@file{/lib} and some in @file{/usr/lib}. This is handled automatically
|
||||||
if you configure @theglibc{} with @samp{--prefix=/usr}. If you set some other
|
if you configure @theglibc{} with @samp{--prefix=/usr}. If you set some other
|
||||||
prefix or allow it to default to @file{/usr/local}, then all the
|
prefix or allow it to default to @file{/usr/local}, then all the
|
||||||
|
|
|
@ -12,7 +12,7 @@ programs.
|
||||||
@Theglibc{}, described in this document, defines all of the
|
@Theglibc{}, described in this document, defines all of the
|
||||||
library functions that are specified by the @w{ISO C} standard, as well as
|
library functions that are specified by the @w{ISO C} standard, as well as
|
||||||
additional features specific to POSIX and other derivatives of the Unix
|
additional features specific to POSIX and other derivatives of the Unix
|
||||||
operating system, and extensions specific to the GNU system.
|
operating system, and extensions specific to @gnusystems{}.
|
||||||
|
|
||||||
The purpose of this manual is to tell you how to use the facilities
|
The purpose of this manual is to tell you how to use the facilities
|
||||||
of @theglibc{}. We have mentioned which features belong to which
|
of @theglibc{}. We have mentioned which features belong to which
|
||||||
|
|
|
@ -121,7 +121,7 @@ and formatted output functions (@pxref{Formatted Output}).
|
||||||
If you are concerned about portability of your programs to systems other
|
If you are concerned about portability of your programs to systems other
|
||||||
than GNU, you should also be aware that file descriptors are not as
|
than GNU, you should also be aware that file descriptors are not as
|
||||||
portable as streams. You can expect any system running @w{ISO C} to
|
portable as streams. You can expect any system running @w{ISO C} to
|
||||||
support streams, but non-GNU systems may not support file descriptors at
|
support streams, but @nongnusystems{} may not support file descriptors at
|
||||||
all, or may only implement a subset of the GNU functions that operate on
|
all, or may only implement a subset of the GNU functions that operate on
|
||||||
file descriptors. Most of the file descriptor functions in @theglibc{}
|
file descriptors. Most of the file descriptor functions in @theglibc{}
|
||||||
are included in the POSIX.1 standard, however.
|
are included in the POSIX.1 standard, however.
|
||||||
|
@ -131,7 +131,7 @@ are included in the POSIX.1 standard, however.
|
||||||
|
|
||||||
One of the attributes of an open file is its @dfn{file position} that
|
One of the attributes of an open file is its @dfn{file position} that
|
||||||
keeps track of where in the file the next character is to be read or
|
keeps track of where in the file the next character is to be read or
|
||||||
written. In the GNU system, and all POSIX.1 systems, the file position
|
written. On @gnusystems{}, and all POSIX.1 systems, the file position
|
||||||
is simply an integer representing the number of bytes from the beginning
|
is simply an integer representing the number of bytes from the beginning
|
||||||
of the file.
|
of the file.
|
||||||
|
|
||||||
|
@ -304,7 +304,7 @@ but the empty string is not a meaningful file name. If you want to
|
||||||
refer to the current working directory, use a file name of @file{.} or
|
refer to the current working directory, use a file name of @file{.} or
|
||||||
@file{./}.
|
@file{./}.
|
||||||
|
|
||||||
Unlike some other operating systems, the GNU system doesn't have any
|
Unlike some other operating systems, @gnusystems{} don't have any
|
||||||
built-in support for file types (or extensions) or file versions as part
|
built-in support for file types (or extensions) or file versions as part
|
||||||
of its file name syntax. Many programs and utilities use conventions
|
of its file name syntax. Many programs and utilities use conventions
|
||||||
for file names---for example, files containing C source code usually
|
for file names---for example, files containing C source code usually
|
||||||
|
@ -332,7 +332,7 @@ This error is used when either the total length of a file name is
|
||||||
greater than @code{PATH_MAX}, or when an individual file name component
|
greater than @code{PATH_MAX}, or when an individual file name component
|
||||||
has a length greater than @code{NAME_MAX}. @xref{Limits for Files}.
|
has a length greater than @code{NAME_MAX}. @xref{Limits for Files}.
|
||||||
|
|
||||||
In the GNU system, there is no imposed limit on overall file name
|
On @gnuhurdsystems{}, there is no imposed limit on overall file name
|
||||||
length, but some file systems may place limits on the length of a
|
length, but some file systems may place limits on the length of a
|
||||||
component.
|
component.
|
||||||
|
|
||||||
|
@ -357,7 +357,7 @@ way to detect loops. @xref{Symbolic Links}.
|
||||||
@subsection Portability of File Names
|
@subsection Portability of File Names
|
||||||
|
|
||||||
The rules for the syntax of file names discussed in @ref{File Names},
|
The rules for the syntax of file names discussed in @ref{File Names},
|
||||||
are the rules normally used by the GNU system and by other POSIX
|
are the rules normally used by @gnusystems{} and by other POSIX
|
||||||
systems. However, other operating systems may use other conventions.
|
systems. However, other operating systems may use other conventions.
|
||||||
|
|
||||||
There are two reasons why it can be important for you to be aware of
|
There are two reasons why it can be important for you to be aware of
|
||||||
|
@ -389,7 +389,7 @@ some operating systems and not by others.
|
||||||
The POSIX.1 standard allows implementations to put additional
|
The POSIX.1 standard allows implementations to put additional
|
||||||
restrictions on file name syntax, concerning what characters are
|
restrictions on file name syntax, concerning what characters are
|
||||||
permitted in file names and on the length of file name and file name
|
permitted in file names and on the length of file name and file name
|
||||||
component strings. However, in the GNU system, you do not need to worry
|
component strings. However, on @gnusystems{}, any character except
|
||||||
about these restrictions; any character except the null character is
|
the null character is permitted in a file name string, and
|
||||||
permitted in a file name string, and there are no limits on the length
|
on @gnuhurdsystems{} there are no limits on the length of file name
|
||||||
of file name strings.
|
strings.
|
||||||
|
|
|
@ -106,7 +106,7 @@ controlling terminal,
|
||||||
@section Job Control is Optional
|
@section Job Control is Optional
|
||||||
@cindex job control is optional
|
@cindex job control is optional
|
||||||
|
|
||||||
Not all operating systems support job control. The GNU system does
|
Not all operating systems support job control. @gnusystems{} do
|
||||||
support job control, but if you are using @theglibc{} on some other
|
support job control, but if you are using @theglibc{} on some other
|
||||||
system, that system may not support job control itself.
|
system, that system may not support job control itself.
|
||||||
|
|
||||||
|
|
|
@ -120,7 +120,7 @@ The maximum number of file descriptors is controlled by the
|
||||||
@item ENFILE
|
@item ENFILE
|
||||||
The entire system, or perhaps the file system which contains the
|
The entire system, or perhaps the file system which contains the
|
||||||
directory, cannot support any additional open files at the moment.
|
directory, cannot support any additional open files at the moment.
|
||||||
(This problem cannot happen on the GNU system.)
|
(This problem cannot happen on @gnuhurdsystems{}.)
|
||||||
|
|
||||||
@item ENOENT
|
@item ENOENT
|
||||||
The named file does not exist, and @code{O_CREAT} is not specified.
|
The named file does not exist, and @code{O_CREAT} is not specified.
|
||||||
|
@ -341,8 +341,8 @@ file can also fail with @code{EAGAIN} if the kernel cannot find enough
|
||||||
physical memory to lock down the user's pages. This is limited to
|
physical memory to lock down the user's pages. This is limited to
|
||||||
devices that transfer with direct memory access into the user's memory,
|
devices that transfer with direct memory access into the user's memory,
|
||||||
which means it does not include terminals, since they always use
|
which means it does not include terminals, since they always use
|
||||||
separate buffers inside the kernel. This problem never happens in the
|
separate buffers inside the kernel. This problem never happens on
|
||||||
GNU system.
|
@gnuhurdsystems{}.
|
||||||
|
|
||||||
Any condition that could result in @code{EAGAIN} can instead result in a
|
Any condition that could result in @code{EAGAIN} can instead result in a
|
||||||
successful @code{read} which returns fewer bytes than requested.
|
successful @code{read} which returns fewer bytes than requested.
|
||||||
|
@ -492,8 +492,8 @@ file can also fail with @code{EAGAIN} if the kernel cannot find enough
|
||||||
physical memory to lock down the user's pages. This is limited to
|
physical memory to lock down the user's pages. This is limited to
|
||||||
devices that transfer with direct memory access into the user's memory,
|
devices that transfer with direct memory access into the user's memory,
|
||||||
which means it does not include terminals, since they always use
|
which means it does not include terminals, since they always use
|
||||||
separate buffers inside the kernel. This problem does not arise in the
|
separate buffers inside the kernel. This problem does not arise on
|
||||||
GNU system.
|
@gnuhurdsystems{}.
|
||||||
|
|
||||||
@item EBADF
|
@item EBADF
|
||||||
The @var{filedes} argument is not a valid file descriptor,
|
The @var{filedes} argument is not a valid file descriptor,
|
||||||
|
@ -687,7 +687,7 @@ file offset is not valid. A file offset is invalid.
|
||||||
@item ESPIPE
|
@item ESPIPE
|
||||||
The @var{filedes} corresponds to an object that cannot be positioned,
|
The @var{filedes} corresponds to an object that cannot be positioned,
|
||||||
such as a pipe, FIFO or terminal device. (POSIX.1 specifies this error
|
such as a pipe, FIFO or terminal device. (POSIX.1 specifies this error
|
||||||
only for pipes and FIFOs, but in the GNU system, you always get
|
only for pipes and FIFOs, but on @gnusystems{}, you always get
|
||||||
@code{ESPIPE} if the object is not seekable.)
|
@code{ESPIPE} if the object is not seekable.)
|
||||||
@end table
|
@end table
|
||||||
|
|
||||||
|
@ -830,7 +830,7 @@ The @code{fdopen} function returns a new stream for the file descriptor
|
||||||
|
|
||||||
The @var{opentype} argument is interpreted in the same way as for the
|
The @var{opentype} argument is interpreted in the same way as for the
|
||||||
@code{fopen} function (@pxref{Opening Streams}), except that
|
@code{fopen} function (@pxref{Opening Streams}), except that
|
||||||
the @samp{b} option is not permitted; this is because GNU makes no
|
the @samp{b} option is not permitted; this is because @gnusystems{} make no
|
||||||
distinction between text and binary files. Also, @code{"w"} and
|
distinction between text and binary files. Also, @code{"w"} and
|
||||||
@code{"w+"} do not cause truncation of the file; these have an effect only
|
@code{"w+"} do not cause truncation of the file; these have an effect only
|
||||||
when opening a file, and in this case the file has already been opened.
|
when opening a file, and in this case the file has already been opened.
|
||||||
|
@ -2154,7 +2154,7 @@ the moment. The error status for each element of @var{list} must be
|
||||||
checked to determine which request failed.
|
checked to determine which request failed.
|
||||||
|
|
||||||
Another reason could be that the system wide limit of AIO requests is
|
Another reason could be that the system wide limit of AIO requests is
|
||||||
exceeded. This cannot be the case for the implementation on GNU systems
|
exceeded. This cannot be the case for the implementation on @gnusystems{}
|
||||||
since no arbitrary limits exist.
|
since no arbitrary limits exist.
|
||||||
@item EINVAL
|
@item EINVAL
|
||||||
The @var{mode} parameter is invalid or @var{nent} is larger than
|
The @var{mode} parameter is invalid or @var{nent} is larger than
|
||||||
|
@ -2895,7 +2895,7 @@ The symbols in this section are defined in the header file
|
||||||
@subsection File Access Modes
|
@subsection File Access Modes
|
||||||
|
|
||||||
The file access modes allow a file descriptor to be used for reading,
|
The file access modes allow a file descriptor to be used for reading,
|
||||||
writing, or both. (In the GNU system, they can also allow none of these,
|
writing, or both. (On @gnuhurdsystems{}, they can also allow none of these,
|
||||||
and allow execution of the file as a program.) The access modes are chosen
|
and allow execution of the file as a program.) The access modes are chosen
|
||||||
when the file is opened, and never change.
|
when the file is opened, and never change.
|
||||||
|
|
||||||
|
@ -2917,13 +2917,13 @@ Open the file for write access.
|
||||||
Open the file for both reading and writing.
|
Open the file for both reading and writing.
|
||||||
@end deftypevr
|
@end deftypevr
|
||||||
|
|
||||||
In the GNU system (and not in other systems), @code{O_RDONLY} and
|
On @gnuhurdsystems{} (and not on other systems), @code{O_RDONLY} and
|
||||||
@code{O_WRONLY} are independent bits that can be bitwise-ORed together,
|
@code{O_WRONLY} are independent bits that can be bitwise-ORed together,
|
||||||
and it is valid for either bit to be set or clear. This means that
|
and it is valid for either bit to be set or clear. This means that
|
||||||
@code{O_RDWR} is the same as @code{O_RDONLY|O_WRONLY}. A file access
|
@code{O_RDWR} is the same as @code{O_RDONLY|O_WRONLY}. A file access
|
||||||
mode of zero is permissible; it allows no operations that do input or
|
mode of zero is permissible; it allows no operations that do input or
|
||||||
output to the file, but does allow other operations such as
|
output to the file, but does allow other operations such as
|
||||||
@code{fchmod}. On the GNU system, since ``read-only'' or ``write-only''
|
@code{fchmod}. On @gnuhurdsystems{}, since ``read-only'' or ``write-only''
|
||||||
is a misnomer, @file{fcntl.h} defines additional names for the file
|
is a misnomer, @file{fcntl.h} defines additional names for the file
|
||||||
access modes. These names are preferred when writing GNU-specific code.
|
access modes. These names are preferred when writing GNU-specific code.
|
||||||
But most programs will want to be portable to other POSIX.1 systems and
|
But most programs will want to be portable to other POSIX.1 systems and
|
||||||
|
@ -2948,8 +2948,9 @@ Open the file for executing. Only defined on GNU.
|
||||||
@end deftypevr
|
@end deftypevr
|
||||||
|
|
||||||
To determine the file access mode with @code{fcntl}, you must extract
|
To determine the file access mode with @code{fcntl}, you must extract
|
||||||
the access mode bits from the retrieved file status flags. In the GNU
|
the access mode bits from the retrieved file status flags. On
|
||||||
system, you can just test the @code{O_READ} and @code{O_WRITE} bits in
|
@gnuhurdsystems{},
|
||||||
|
you can just test the @code{O_READ} and @code{O_WRITE} bits in
|
||||||
the flags word. But in other POSIX.1 systems, reading and writing
|
the flags word. But in other POSIX.1 systems, reading and writing
|
||||||
access modes are not stored as distinct bit flags. The portable way to
|
access modes are not stored as distinct bit flags. The portable way to
|
||||||
extract the file access mode bits is with @code{O_ACCMODE}.
|
extract the file access mode bits is with @code{O_ACCMODE}.
|
||||||
|
@ -2960,7 +2961,7 @@ extract the file access mode bits is with @code{O_ACCMODE}.
|
||||||
This macro stands for a mask that can be bitwise-ANDed with the file
|
This macro stands for a mask that can be bitwise-ANDed with the file
|
||||||
status flag value to produce a value representing the file access mode.
|
status flag value to produce a value representing the file access mode.
|
||||||
The mode will be @code{O_RDONLY}, @code{O_WRONLY}, or @code{O_RDWR}.
|
The mode will be @code{O_RDONLY}, @code{O_WRONLY}, or @code{O_RDWR}.
|
||||||
(In the GNU system it could also be zero, and it never includes the
|
(On @gnuhurdsystems{} it could also be zero, and it never includes the
|
||||||
@code{O_EXEC} bit.)
|
@code{O_EXEC} bit.)
|
||||||
@end deftypevr
|
@end deftypevr
|
||||||
|
|
||||||
|
@ -3033,15 +3034,16 @@ If the named file is a terminal device, don't make it the controlling
|
||||||
terminal for the process. @xref{Job Control}, for information about
|
terminal for the process. @xref{Job Control}, for information about
|
||||||
what it means to be the controlling terminal.
|
what it means to be the controlling terminal.
|
||||||
|
|
||||||
In the GNU system and 4.4 BSD, opening a file never makes it the
|
On @gnuhurdsystems{} and 4.4 BSD, opening a file never makes it the
|
||||||
controlling terminal and @code{O_NOCTTY} is zero. However, other
|
controlling terminal and @code{O_NOCTTY} is zero. However, @gnulinuxsystems{}
|
||||||
systems may use a nonzero value for @code{O_NOCTTY} and set the
|
and some other systems use a nonzero value for @code{O_NOCTTY} and set the
|
||||||
controlling terminal when you open a file that is a terminal device; so
|
controlling terminal when you open a file that is a terminal device; so
|
||||||
to be portable, use @code{O_NOCTTY} when it is important to avoid this.
|
to be portable, use @code{O_NOCTTY} when it is important to avoid this.
|
||||||
@cindex controlling terminal, setting
|
@cindex controlling terminal, setting
|
||||||
@end deftypevr
|
@end deftypevr
|
||||||
|
|
||||||
The following three file name translation flags exist only in the GNU system.
|
The following three file name translation flags exist only on
|
||||||
|
@gnuhurdsystems{}.
|
||||||
|
|
||||||
@comment fcntl.h
|
@comment fcntl.h
|
||||||
@comment GNU
|
@comment GNU
|
||||||
|
@ -3417,7 +3419,7 @@ function:
|
||||||
The lock cannot be set because it is blocked by an existing lock on the
|
The lock cannot be set because it is blocked by an existing lock on the
|
||||||
file. Some systems use @code{EAGAIN} in this case, and other systems
|
file. Some systems use @code{EAGAIN} in this case, and other systems
|
||||||
use @code{EACCES}; your program should treat them alike, after
|
use @code{EACCES}; your program should treat them alike, after
|
||||||
@code{F_SETLK}. (The GNU system always uses @code{EAGAIN}.)
|
@code{F_SETLK}. (@gnulinuxhurdsystems{} always use @code{EAGAIN}.)
|
||||||
|
|
||||||
@item EBADF
|
@item EBADF
|
||||||
Either: the @var{filedes} argument is invalid; you requested a read lock
|
Either: the @var{filedes} argument is invalid; you requested a read lock
|
||||||
|
@ -3594,7 +3596,7 @@ There is no process or process group corresponding to @var{pid}.
|
||||||
@cindex generic i/o control operations
|
@cindex generic i/o control operations
|
||||||
@cindex IOCTLs
|
@cindex IOCTLs
|
||||||
|
|
||||||
The GNU system can handle most input/output operations on many different
|
@gnusystems{} can handle most input/output operations on many different
|
||||||
devices and objects in terms of a few file primitives - @code{read},
|
devices and objects in terms of a few file primitives - @code{read},
|
||||||
@code{write} and @code{lseek}. However, most devices also have a few
|
@code{write} and @code{lseek}. However, most devices also have a few
|
||||||
peculiar operations which do not fit into this model. Such as:
|
peculiar operations which do not fit into this model. Such as:
|
||||||
|
|
|
@ -17,4 +17,34 @@ the GNU C Library
|
||||||
GNU C Library
|
GNU C Library
|
||||||
@end macro
|
@end macro
|
||||||
|
|
||||||
|
@c Description applying to all GNU systems; that is, used in
|
||||||
|
@c describing a property of a system such that no system without that
|
||||||
|
@c property would be considered a variant of the GNU system.
|
||||||
|
@macro gnusystems
|
||||||
|
GNU systems
|
||||||
|
@end macro
|
||||||
|
|
||||||
|
@c Systems that are not GNU systems.
|
||||||
|
@macro nongnusystems
|
||||||
|
non-GNU systems
|
||||||
|
@end macro
|
||||||
|
|
||||||
|
@c Description applying to GNU/Linux and GNU/Hurd systems, but not
|
||||||
|
@c necessarily to other variants of the GNU system.
|
||||||
|
@macro gnulinuxhurdsystems
|
||||||
|
GNU/Linux and GNU/Hurd systems
|
||||||
|
@end macro
|
||||||
|
|
||||||
|
@c Descrption applying to GNU/Hurd systems; that is, systems using the
|
||||||
|
@c GNU Hurd with the GNU C Library.
|
||||||
|
@macro gnuhurdsystems
|
||||||
|
GNU/Hurd systems
|
||||||
|
@end macro
|
||||||
|
|
||||||
|
@c Descrption applying to GNU/Linux systems; that is, systems using
|
||||||
|
@c the Linux kernel with the GNU C Library.
|
||||||
|
@macro gnulinuxsystems
|
||||||
|
GNU/Linux systems
|
||||||
|
@end macro
|
||||||
|
|
||||||
@end ifclear
|
@end ifclear
|
||||||
|
|
|
@ -399,7 +399,7 @@ This directory is for @code{socket} and related functions on Unix systems.
|
||||||
|
|
||||||
@item mach
|
@item mach
|
||||||
This is the directory for things based on the Mach microkernel from CMU
|
This is the directory for things based on the Mach microkernel from CMU
|
||||||
(including the GNU operating system). Other basic operating systems
|
(including @gnuhurdsystems{}). Other basic operating systems
|
||||||
(VMS, for example) would have their own directories at the top level of
|
(VMS, for example) would have their own directories at the top level of
|
||||||
the @file{sysdeps} hierarchy, parallel to @file{unix} and @file{mach}.
|
the @file{sysdeps} hierarchy, parallel to @file{unix} and @file{mach}.
|
||||||
@end table
|
@end table
|
||||||
|
|
|
@ -379,7 +379,7 @@ savestring (const char *ptr, size_t len)
|
||||||
@end smallexample
|
@end smallexample
|
||||||
|
|
||||||
The block that @code{malloc} gives you is guaranteed to be aligned so
|
The block that @code{malloc} gives you is guaranteed to be aligned so
|
||||||
that it can hold any type of data. In the GNU system, the address is
|
that it can hold any type of data. On @gnusystems{}, the address is
|
||||||
always a multiple of eight on most systems, and a multiple of 16 on
|
always a multiple of eight on most systems, and a multiple of 16 on
|
||||||
64-bit systems. Only rarely is any higher boundary (such as a page
|
64-bit systems. Only rarely is any higher boundary (such as a page
|
||||||
boundary) necessary; for those cases, use @code{memalign},
|
boundary) necessary; for those cases, use @code{memalign},
|
||||||
|
@ -614,7 +614,7 @@ after calling @code{free} wastes memory. The size threshold for
|
||||||
@cindex alignment (with @code{malloc})
|
@cindex alignment (with @code{malloc})
|
||||||
@pindex stdlib.h
|
@pindex stdlib.h
|
||||||
The address of a block returned by @code{malloc} or @code{realloc} in
|
The address of a block returned by @code{malloc} or @code{realloc} in
|
||||||
the GNU system is always a multiple of eight (or sixteen on 64-bit
|
@gnusystems{} is always a multiple of eight (or sixteen on 64-bit
|
||||||
systems). If you need a block whose address is a multiple of a higher
|
systems). If you need a block whose address is a multiple of a higher
|
||||||
power of two than that, use @code{memalign}, @code{posix_memalign}, or
|
power of two than that, use @code{memalign}, @code{posix_memalign}, or
|
||||||
@code{valloc}. @code{memalign} is declared in @file{malloc.h} and
|
@code{valloc}. @code{memalign} is declared in @file{malloc.h} and
|
||||||
|
@ -2295,7 +2295,7 @@ the one you would get from an infinite recursion; probably a
|
||||||
segmentation violation (@pxref{Program Error Signals}).
|
segmentation violation (@pxref{Program Error Signals}).
|
||||||
|
|
||||||
@item
|
@item
|
||||||
Some non-GNU systems fail to support @code{alloca}, so it is less
|
Some @nongnusystems{} fail to support @code{alloca}, so it is less
|
||||||
portable. However, a slower emulation of @code{alloca} written in C
|
portable. However, a slower emulation of @code{alloca} written in C
|
||||||
is available for use on systems with this deficiency.
|
is available for use on systems with this deficiency.
|
||||||
@end itemize
|
@end itemize
|
||||||
|
|
|
@ -670,7 +670,7 @@ type @code{glob64_t} which were allocated by @code{glob64}.
|
||||||
|
|
||||||
@Theglibc{} supports two interfaces for matching regular
|
@Theglibc{} supports two interfaces for matching regular
|
||||||
expressions. One is the standard POSIX.2 interface, and the other is
|
expressions. One is the standard POSIX.2 interface, and the other is
|
||||||
what the GNU system has had for many years.
|
what @theglibc{} has had for many years.
|
||||||
|
|
||||||
Both interfaces are declared in the header file @file{regex.h}.
|
Both interfaces are declared in the header file @file{regex.h}.
|
||||||
If you define @w{@code{_POSIX_C_SOURCE}}, then only the POSIX.2
|
If you define @w{@code{_POSIX_C_SOURCE}}, then only the POSIX.2
|
||||||
|
|
|
@ -74,8 +74,8 @@ The process has too many files open.
|
||||||
|
|
||||||
@item ENFILE
|
@item ENFILE
|
||||||
There are too many open files in the entire system. @xref{Error Codes},
|
There are too many open files in the entire system. @xref{Error Codes},
|
||||||
for more information about @code{ENFILE}. This error never occurs in
|
for more information about @code{ENFILE}. This error never occurs on
|
||||||
the GNU system.
|
@gnuhurdsystems{}.
|
||||||
@end table
|
@end table
|
||||||
@end deftypefun
|
@end deftypefun
|
||||||
|
|
||||||
|
|
|
@ -350,8 +350,8 @@ file name searching as the @code{execvp} function.
|
||||||
@end deftypefun
|
@end deftypefun
|
||||||
|
|
||||||
The size of the argument list and environment list taken together must
|
The size of the argument list and environment list taken together must
|
||||||
not be greater than @code{ARG_MAX} bytes. @xref{General Limits}. In
|
not be greater than @code{ARG_MAX} bytes. @xref{General Limits}. On
|
||||||
the GNU system, the size (which compares against @code{ARG_MAX})
|
@gnuhurdsystems{}, the size (which compares against @code{ARG_MAX})
|
||||||
includes, for each string, the number of characters in the string, plus
|
includes, for each string, the number of characters in the string, plus
|
||||||
the size of a @code{char *}, plus one, rounded up to a multiple of the
|
the size of a @code{char *}, plus one, rounded up to a multiple of the
|
||||||
size of a @code{char *}. Other systems may have somewhat different
|
size of a @code{char *}. Other systems may have somewhat different
|
||||||
|
@ -366,7 +366,7 @@ usual file name errors (@pxref{File Name Errors}), the following
|
||||||
@table @code
|
@table @code
|
||||||
@item E2BIG
|
@item E2BIG
|
||||||
The combined size of the new program's argument list and environment
|
The combined size of the new program's argument list and environment
|
||||||
list is larger than @code{ARG_MAX} bytes. The GNU system has no
|
list is larger than @code{ARG_MAX} bytes. @gnuhurdsystems{} have no
|
||||||
specific limit on the argument list size, so this error code cannot
|
specific limit on the argument list size, so this error code cannot
|
||||||
result, but you may get @code{ENOMEM} instead if the arguments are too
|
result, but you may get @code{ENOMEM} instead if the arguments are too
|
||||||
big for available memory.
|
big for available memory.
|
||||||
|
@ -406,7 +406,7 @@ Pending alarms. @xref{Setting an Alarm}.
|
||||||
|
|
||||||
@item
|
@item
|
||||||
Current working directory and root directory. @xref{Working
|
Current working directory and root directory. @xref{Working
|
||||||
Directory}. In the GNU system, the root directory is not copied when
|
Directory}. On @gnuhurdsystems{}, the root directory is not copied when
|
||||||
executing a setuid program; instead the system default root directory
|
executing a setuid program; instead the system default root directory
|
||||||
is used for the new program.
|
is used for the new program.
|
||||||
|
|
||||||
|
|
|
@ -42,9 +42,6 @@ Just the current process.
|
||||||
All child processes (direct and indirect) that have already terminated.
|
All child processes (direct and indirect) that have already terminated.
|
||||||
@end table
|
@end table
|
||||||
|
|
||||||
In the GNU system, you can also inquire about a particular child process
|
|
||||||
by specifying its process ID.
|
|
||||||
|
|
||||||
The return value of @code{getrusage} is zero for success, and @code{-1}
|
The return value of @code{getrusage} is zero for success, and @code{-1}
|
||||||
for failure.
|
for failure.
|
||||||
|
|
||||||
|
|
|
@ -182,7 +182,7 @@ behavior.
|
||||||
|
|
||||||
The behavior of @code{setjmp} and @code{longjmp} in @theglibc{} is
|
The behavior of @code{setjmp} and @code{longjmp} in @theglibc{} is
|
||||||
controlled by feature test macros; see @ref{Feature Test Macros}. The
|
controlled by feature test macros; see @ref{Feature Test Macros}. The
|
||||||
default in the GNU system is the POSIX.1 behavior rather than the BSD
|
default in @theglibc{} is the POSIX.1 behavior rather than the BSD
|
||||||
behavior.
|
behavior.
|
||||||
|
|
||||||
The facilities in this section are declared in the header file
|
The facilities in this section are declared in the header file
|
||||||
|
|
|
@ -274,7 +274,7 @@ When one of these program error signals terminates a process, it also
|
||||||
writes a @dfn{core dump file} which records the state of the process at
|
writes a @dfn{core dump file} which records the state of the process at
|
||||||
the time of termination. The core dump file is named @file{core} and is
|
the time of termination. The core dump file is named @file{core} and is
|
||||||
written in whichever directory is current in the process at the time.
|
written in whichever directory is current in the process at the time.
|
||||||
(On the GNU system, you can specify the file name for core dumps with
|
(On @gnuhurdsystems{}, you can specify the file name for core dumps with
|
||||||
the environment variable @code{COREFILE}.) The purpose of core dump
|
the environment variable @code{COREFILE}.) The purpose of core dump
|
||||||
files is so that you can examine them with a debugger to investigate
|
files is so that you can examine them with a debugger to investigate
|
||||||
what caused the error.
|
what caused the error.
|
||||||
|
@ -309,7 +309,7 @@ this argument, you must define the handler to accept two arguments,
|
||||||
which means you must cast it to a one-argument function type in order to
|
which means you must cast it to a one-argument function type in order to
|
||||||
establish the handler. @Theglibc{} does provide this extra
|
establish the handler. @Theglibc{} does provide this extra
|
||||||
argument, but the value is meaningful only on operating systems that
|
argument, but the value is meaningful only on operating systems that
|
||||||
provide the information (BSD systems and GNU systems).
|
provide the information (BSD systems and @gnusystems{}).
|
||||||
|
|
||||||
@table @code
|
@table @code
|
||||||
@comment signal.h
|
@comment signal.h
|
||||||
|
@ -625,7 +625,7 @@ On most operating systems, terminals and sockets are the only kinds of
|
||||||
files that can generate @code{SIGIO}; other kinds, including ordinary
|
files that can generate @code{SIGIO}; other kinds, including ordinary
|
||||||
files, never generate @code{SIGIO} even if you ask them to.
|
files, never generate @code{SIGIO} even if you ask them to.
|
||||||
|
|
||||||
In the GNU system @code{SIGIO} will always be generated properly
|
On @gnusystems{} @code{SIGIO} will always be generated properly
|
||||||
if you successfully set asynchronous mode with @code{fcntl}.
|
if you successfully set asynchronous mode with @code{fcntl}.
|
||||||
@end deftypevr
|
@end deftypevr
|
||||||
|
|
||||||
|
@ -759,14 +759,14 @@ process would probably not be very useful, since there is no shell
|
||||||
program that will notice it stop and allow the user to continue it.
|
program that will notice it stop and allow the user to continue it.
|
||||||
What happens instead depends on the operating system you are using.
|
What happens instead depends on the operating system you are using.
|
||||||
Some systems may do nothing; others may deliver another signal instead,
|
Some systems may do nothing; others may deliver another signal instead,
|
||||||
such as @code{SIGKILL} or @code{SIGHUP}. In the GNU system, the process
|
such as @code{SIGKILL} or @code{SIGHUP}. On @gnuhurdsystems{}, the process
|
||||||
dies with @code{SIGKILL}; this avoids the problem of many stopped,
|
dies with @code{SIGKILL}; this avoids the problem of many stopped,
|
||||||
orphaned processes lying around the system.
|
orphaned processes lying around the system.
|
||||||
|
|
||||||
@ignore
|
@ignore
|
||||||
On the GNU system, it is possible to reattach to the orphaned process
|
On @gnuhurdsystems{}, it is possible to reattach to the orphaned process
|
||||||
group and continue it, so stop signals do stop the process as usual on
|
group and continue it, so stop signals do stop the process as usual on
|
||||||
a GNU system unless you have requested POSIX compatibility ``till it
|
@gnuhurdsystems{} unless you have requested POSIX compatibility ``till it
|
||||||
hurts.''
|
hurts.''
|
||||||
@end ignore
|
@end ignore
|
||||||
|
|
||||||
|
@ -805,7 +805,7 @@ that isn't connected. @xref{Sending Data}.
|
||||||
Resource lost. This signal is generated when you have an advisory lock
|
Resource lost. This signal is generated when you have an advisory lock
|
||||||
on an NFS file, and the NFS server reboots and forgets about your lock.
|
on an NFS file, and the NFS server reboots and forgets about your lock.
|
||||||
|
|
||||||
In the GNU system, @code{SIGLOST} is generated when any server program
|
On @gnuhurdsystems{}, @code{SIGLOST} is generated when any server program
|
||||||
dies unexpectedly. It is usually fine to ignore the signal; whatever
|
dies unexpectedly. It is usually fine to ignore the signal; whatever
|
||||||
call was made to the server that died just returns an error.
|
call was made to the server that died just returns an error.
|
||||||
@end deftypevr
|
@end deftypevr
|
||||||
|
@ -864,7 +864,7 @@ reformat its display accordingly.
|
||||||
@comment signal.h
|
@comment signal.h
|
||||||
@comment BSD
|
@comment BSD
|
||||||
@deftypevr Macro int SIGINFO
|
@deftypevr Macro int SIGINFO
|
||||||
Information request. In 4.4 BSD and the GNU system, this signal is sent
|
Information request. On 4.4 BSD and @gnuhurdsystems{}, this signal is sent
|
||||||
to all the processes in the foreground process group of the controlling
|
to all the processes in the foreground process group of the controlling
|
||||||
terminal when the user types the STATUS character in canonical mode;
|
terminal when the user types the STATUS character in canonical mode;
|
||||||
@pxref{Signal Characters}.
|
@pxref{Signal Characters}.
|
||||||
|
@ -1223,7 +1223,7 @@ examine it with @code{sigaction}, the handler address that you get may
|
||||||
not be the same as what you specified with @code{signal}. It may not
|
not be the same as what you specified with @code{signal}. It may not
|
||||||
even be suitable for use as an action argument with @code{signal}. But
|
even be suitable for use as an action argument with @code{signal}. But
|
||||||
you can rely on using it as an argument to @code{sigaction}. This
|
you can rely on using it as an argument to @code{sigaction}. This
|
||||||
problem never happens on the GNU system.
|
problem never happens on @gnusystems{}.
|
||||||
|
|
||||||
So, you're better off using one or the other of the mechanisms
|
So, you're better off using one or the other of the mechanisms
|
||||||
consistently within a single program.
|
consistently within a single program.
|
||||||
|
@ -1894,7 +1894,7 @@ could ``lose'' one of the objects.
|
||||||
|
|
||||||
@ignore
|
@ignore
|
||||||
!!! not true
|
!!! not true
|
||||||
On the GNU system, @code{malloc} and @code{free} are safe to use in
|
In @theglibc{}, @code{malloc} and @code{free} are safe to use in
|
||||||
signal handlers because they block signals. As a result, the library
|
signal handlers because they block signals. As a result, the library
|
||||||
functions that allocate space for a result are also safe in signal
|
functions that allocate space for a result are also safe in signal
|
||||||
handlers. The obstack allocation functions are safe as long as you
|
handlers. The obstack allocation functions are safe as long as you
|
||||||
|
|
|
@ -169,7 +169,7 @@ To specify an argument for a long option, write
|
||||||
@samp{--@var{name}=@var{value}}. This syntax enables a long option to
|
@samp{--@var{name}=@var{value}}. This syntax enables a long option to
|
||||||
accept an argument that is itself optional.
|
accept an argument that is itself optional.
|
||||||
|
|
||||||
Eventually, the GNU system will provide completion for long option names
|
Eventually, @gnusystems{} will provide completion for long option names
|
||||||
in the shell.
|
in the shell.
|
||||||
|
|
||||||
@node Parsing Program Arguments, , Argument Syntax, Program Arguments
|
@node Parsing Program Arguments, , Argument Syntax, Program Arguments
|
||||||
|
@ -423,7 +423,7 @@ If you just want to get the value of an environment variable, use
|
||||||
@code{getenv}.
|
@code{getenv}.
|
||||||
@end deftypevar
|
@end deftypevar
|
||||||
|
|
||||||
Unix systems, and the GNU system, pass the initial value of
|
Unix systems, and @gnusystems{}, pass the initial value of
|
||||||
@code{environ} as the third argument to @code{main}.
|
@code{environ} as the third argument to @code{main}.
|
||||||
@xref{Program Arguments}.
|
@xref{Program Arguments}.
|
||||||
|
|
||||||
|
|
|
@ -110,7 +110,7 @@ diagnostics issued by the program.
|
||||||
@end deftypevar
|
@end deftypevar
|
||||||
@cindex standard error stream
|
@cindex standard error stream
|
||||||
|
|
||||||
In the GNU system, you can specify what files or processes correspond to
|
On @gnusystems{}, you can specify what files or processes correspond to
|
||||||
these streams using the pipe and redirection facilities provided by the
|
these streams using the pipe and redirection facilities provided by the
|
||||||
shell. (The primitives shells use to implement these facilities are
|
shell. (The primitives shells use to implement these facilities are
|
||||||
described in @ref{File System Interface}.) Most other operating systems
|
described in @ref{File System Interface}.) Most other operating systems
|
||||||
|
@ -206,7 +206,7 @@ Closing Files}).
|
||||||
|
|
||||||
The character @samp{b} in @var{opentype} has a standard meaning; it
|
The character @samp{b} in @var{opentype} has a standard meaning; it
|
||||||
requests a binary stream rather than a text stream. But this makes no
|
requests a binary stream rather than a text stream. But this makes no
|
||||||
difference in POSIX systems (including the GNU system). If both
|
difference in POSIX systems (including @gnusystems{}). If both
|
||||||
@samp{+} and @samp{b} are specified, they can appear in either order.
|
@samp{+} and @samp{b} are specified, they can appear in either order.
|
||||||
@xref{Binary Streams}.
|
@xref{Binary Streams}.
|
||||||
|
|
||||||
|
@ -2174,7 +2174,7 @@ The @samp{%p} conversion prints a pointer value. The corresponding
|
||||||
argument must be of type @code{void *}. In practice, you can use any
|
argument must be of type @code{void *}. In practice, you can use any
|
||||||
type of pointer.
|
type of pointer.
|
||||||
|
|
||||||
In the GNU system, non-null pointers are printed as unsigned integers,
|
In @theglibc{}, non-null pointers are printed as unsigned integers,
|
||||||
as if a @samp{%#x} conversion were used. Null pointers print as
|
as if a @samp{%#x} conversion were used. Null pointers print as
|
||||||
@samp{(nil)}. (Pointers might print differently in other systems.)
|
@samp{(nil)}. (Pointers might print differently in other systems.)
|
||||||
|
|
||||||
|
@ -4045,7 +4045,7 @@ descriptor is not usually advisable.
|
||||||
@node Binary Streams
|
@node Binary Streams
|
||||||
@section Text and Binary Streams
|
@section Text and Binary Streams
|
||||||
|
|
||||||
The GNU system and other POSIX-compatible operating systems organize all
|
@gnusystems{} and other POSIX-compatible operating systems organize all
|
||||||
files as uniform sequences of characters. However, some other systems
|
files as uniform sequences of characters. However, some other systems
|
||||||
make a distinction between files containing text and files containing
|
make a distinction between files containing text and files containing
|
||||||
binary data, and the input and output facilities of @w{ISO C} provide for
|
binary data, and the input and output facilities of @w{ISO C} provide for
|
||||||
|
@ -4108,7 +4108,7 @@ restrictions that text streams sometimes have.
|
||||||
|
|
||||||
The @dfn{file position} of a stream describes where in the file the
|
The @dfn{file position} of a stream describes where in the file the
|
||||||
stream is currently reading or writing. I/O on the stream advances the
|
stream is currently reading or writing. I/O on the stream advances the
|
||||||
file position through the file. In the GNU system, the file position is
|
file position through the file. On @gnusystems{}, the file position is
|
||||||
represented as an integer, which counts the number of bytes from the
|
represented as an integer, which counts the number of bytes from the
|
||||||
beginning of the file. @xref{File Position}.
|
beginning of the file. @xref{File Position}.
|
||||||
|
|
||||||
|
@ -4301,7 +4301,7 @@ An alias for @code{SEEK_END}.
|
||||||
@node Portable Positioning
|
@node Portable Positioning
|
||||||
@section Portable File-Position Functions
|
@section Portable File-Position Functions
|
||||||
|
|
||||||
On the GNU system, the file position is truly a character count. You
|
On @gnusystems{}, the file position is truly a character count. You
|
||||||
can specify any character count value as an argument to @code{fseek} or
|
can specify any character count value as an argument to @code{fseek} or
|
||||||
@code{fseeko} and get reliable results for any random access file.
|
@code{fseeko} and get reliable results for any random access file.
|
||||||
However, some @w{ISO C} systems do not represent file positions in this
|
However, some @w{ISO C} systems do not represent file positions in this
|
||||||
|
@ -4361,7 +4361,7 @@ This is the type of an object that can encode information about the
|
||||||
file position of a stream, for use by the functions @code{fgetpos} and
|
file position of a stream, for use by the functions @code{fgetpos} and
|
||||||
@code{fsetpos}.
|
@code{fsetpos}.
|
||||||
|
|
||||||
In the GNU system, @code{fpos_t} is an opaque data structure that
|
In @theglibc{}, @code{fpos_t} is an opaque data structure that
|
||||||
contains internal data to represent file offset and conversion state
|
contains internal data to represent file offset and conversion state
|
||||||
information. In other systems, it might have a different internal
|
information. In other systems, it might have a different internal
|
||||||
representation.
|
representation.
|
||||||
|
@ -4378,7 +4378,7 @@ This is the type of an object that can encode information about the
|
||||||
file position of a stream, for use by the functions @code{fgetpos64} and
|
file position of a stream, for use by the functions @code{fgetpos64} and
|
||||||
@code{fsetpos64}.
|
@code{fsetpos64}.
|
||||||
|
|
||||||
In the GNU system, @code{fpos64_t} is an opaque data structure that
|
In @theglibc{}, @code{fpos64_t} is an opaque data structure that
|
||||||
contains internal data to represent file offset and conversion state
|
contains internal data to represent file offset and conversion state
|
||||||
information. In other systems, it might have a different internal
|
information. In other systems, it might have a different internal
|
||||||
representation.
|
representation.
|
||||||
|
@ -4578,7 +4578,7 @@ This function is declared in the @file{stdio_ext.h} header.
|
||||||
been known to be so thoroughly fixated on line-oriented input and output
|
been known to be so thoroughly fixated on line-oriented input and output
|
||||||
that flushing a line buffered stream causes a newline to be written!
|
that flushing a line buffered stream causes a newline to be written!
|
||||||
Fortunately, this ``feature'' seems to be becoming less common. You do
|
Fortunately, this ``feature'' seems to be becoming less common. You do
|
||||||
not need to worry about this in the GNU system.
|
not need to worry about this with @theglibc{}.
|
||||||
|
|
||||||
In some situations it might be useful to not flush the output pending
|
In some situations it might be useful to not flush the output pending
|
||||||
for a stream but instead simply forget it. If transmission is costly
|
for a stream but instead simply forget it. If transmission is costly
|
||||||
|
|
|
@ -319,7 +319,7 @@ This is like @code{TCSADRAIN}, but also discards any queued input.
|
||||||
This is a flag bit that you can add to any of the above alternatives.
|
This is a flag bit that you can add to any of the above alternatives.
|
||||||
Its meaning is to inhibit alteration of the state of the terminal
|
Its meaning is to inhibit alteration of the state of the terminal
|
||||||
hardware. It is a BSD extension; it is only supported on BSD systems
|
hardware. It is a BSD extension; it is only supported on BSD systems
|
||||||
and the GNU system.
|
and @gnuhurdsystems{}.
|
||||||
|
|
||||||
Using @code{TCSASOFT} is exactly the same as setting the @code{CIGNORE}
|
Using @code{TCSASOFT} is exactly the same as setting the @code{CIGNORE}
|
||||||
bit in the @code{c_cflag} member of the structure @var{termios-p} points
|
bit in the @code{c_cflag} member of the structure @var{termios-p} points
|
||||||
|
@ -574,7 +574,8 @@ If this bit is set, any input character restarts output when output has
|
||||||
been suspended with the STOP character. Otherwise, only the START
|
been suspended with the STOP character. Otherwise, only the START
|
||||||
character restarts output.
|
character restarts output.
|
||||||
|
|
||||||
This is a BSD extension; it exists only on BSD systems and the GNU system.
|
This is a BSD extension; it exists only on BSD systems and
|
||||||
|
@gnulinuxhurdsystems{}.
|
||||||
@end deftypevr
|
@end deftypevr
|
||||||
|
|
||||||
@comment termios.h
|
@comment termios.h
|
||||||
|
@ -611,12 +612,10 @@ carriage return and linefeed pairs.
|
||||||
If this bit isn't set, the characters are transmitted as-is.
|
If this bit isn't set, the characters are transmitted as-is.
|
||||||
@end deftypevr
|
@end deftypevr
|
||||||
|
|
||||||
The following three bits are BSD features, and they exist only BSD
|
The following three bits are effective only if @code{OPOST} is set.
|
||||||
systems and the GNU system. They are effective only if @code{OPOST} is
|
|
||||||
set.
|
|
||||||
|
|
||||||
@comment termios.h
|
@comment termios.h
|
||||||
@comment BSD
|
@comment POSIX.1
|
||||||
@deftypevr Macro tcflag_t ONLCR
|
@deftypevr Macro tcflag_t ONLCR
|
||||||
If this bit is set, convert the newline character on output into a pair
|
If this bit is set, convert the newline character on output into a pair
|
||||||
of characters, carriage return followed by linefeed.
|
of characters, carriage return followed by linefeed.
|
||||||
|
@ -626,7 +625,9 @@ of characters, carriage return followed by linefeed.
|
||||||
@comment BSD
|
@comment BSD
|
||||||
@deftypevr Macro tcflag_t OXTABS
|
@deftypevr Macro tcflag_t OXTABS
|
||||||
If this bit is set, convert tab characters on output into the appropriate
|
If this bit is set, convert tab characters on output into the appropriate
|
||||||
number of spaces to emulate a tab stop every eight columns.
|
number of spaces to emulate a tab stop every eight columns. This bit
|
||||||
|
exists only on BSD systems and @gnuhurdsystems{}; on
|
||||||
|
@gnulinuxsystems{} it is available as @code{XTABS}.
|
||||||
@end deftypevr
|
@end deftypevr
|
||||||
|
|
||||||
@comment termios.h
|
@comment termios.h
|
||||||
|
@ -634,6 +635,7 @@ number of spaces to emulate a tab stop every eight columns.
|
||||||
@deftypevr Macro tcflag_t ONOEOT
|
@deftypevr Macro tcflag_t ONOEOT
|
||||||
If this bit is set, discard @kbd{C-d} characters (code @code{004}) on
|
If this bit is set, discard @kbd{C-d} characters (code @code{004}) on
|
||||||
output. These characters cause many dial-up terminals to disconnect.
|
output. These characters cause many dial-up terminals to disconnect.
|
||||||
|
This bit exists only on BSD systems and @gnuhurdsystems{}.
|
||||||
@end deftypevr
|
@end deftypevr
|
||||||
|
|
||||||
@node Control Modes
|
@node Control Modes
|
||||||
|
@ -747,8 +749,8 @@ This specifies seven bits per byte.
|
||||||
This specifies eight bits per byte.
|
This specifies eight bits per byte.
|
||||||
@end deftypevr
|
@end deftypevr
|
||||||
|
|
||||||
The following four bits are BSD extensions; this exist only on BSD
|
The following four bits are BSD extensions; these exist only on BSD
|
||||||
systems and the GNU system.
|
systems and @gnuhurdsystems{}.
|
||||||
|
|
||||||
@comment termios.h
|
@comment termios.h
|
||||||
@comment BSD
|
@comment BSD
|
||||||
|
@ -839,8 +841,8 @@ character erased. Typing the ERASE character again just prints the next
|
||||||
character erased. Then, the next time you type a normal character, a
|
character erased. Then, the next time you type a normal character, a
|
||||||
@samp{/} character is printed before the character echoes.
|
@samp{/} character is printed before the character echoes.
|
||||||
|
|
||||||
This is a BSD extension, and exists only in BSD systems and the
|
This is a BSD extension, and exists only in BSD systems and
|
||||||
GNU system.
|
@gnulinuxhurdsystems{}.
|
||||||
@end deftypevr
|
@end deftypevr
|
||||||
|
|
||||||
@comment termios.h
|
@comment termios.h
|
||||||
|
@ -865,8 +867,8 @@ input, without which @code{ECHOK} is simply irrelevant.
|
||||||
@deftypevr Macro tcflag_t ECHOKE
|
@deftypevr Macro tcflag_t ECHOKE
|
||||||
This bit is similar to @code{ECHOK}. It enables special display of the
|
This bit is similar to @code{ECHOK}. It enables special display of the
|
||||||
KILL character by erasing on the screen the entire line that has been
|
KILL character by erasing on the screen the entire line that has been
|
||||||
killed. This is a BSD extension, and exists only in BSD systems and the
|
killed. This is a BSD extension, and exists only in BSD systems and
|
||||||
GNU system.
|
@gnulinuxhurdsystems{}.
|
||||||
@end deftypevr
|
@end deftypevr
|
||||||
|
|
||||||
@comment termios.h
|
@comment termios.h
|
||||||
|
@ -886,8 +888,8 @@ Thus, control-A echoes as @samp{^A}. This is usually the preferred mode
|
||||||
for interactive input, because echoing a control character back to the
|
for interactive input, because echoing a control character back to the
|
||||||
terminal could have some undesired effect on the terminal.
|
terminal could have some undesired effect on the terminal.
|
||||||
|
|
||||||
This is a BSD extension, and exists only in BSD systems and the
|
This is a BSD extension, and exists only in BSD systems and
|
||||||
GNU system.
|
@gnulinuxhurdsystems{}.
|
||||||
@end deftypevr
|
@end deftypevr
|
||||||
|
|
||||||
@comment termios.h
|
@comment termios.h
|
||||||
|
@ -914,7 +916,8 @@ signals associated with these characters, or to escape from the program.
|
||||||
POSIX.1 gives @code{IEXTEN} implementation-defined meaning,
|
POSIX.1 gives @code{IEXTEN} implementation-defined meaning,
|
||||||
so you cannot rely on this interpretation on all systems.
|
so you cannot rely on this interpretation on all systems.
|
||||||
|
|
||||||
On BSD systems and the GNU system, it enables the LNEXT and DISCARD characters.
|
On BSD systems and @gnulinuxhurdsystems{}, it enables the LNEXT and
|
||||||
|
DISCARD characters.
|
||||||
@xref{Other Special}.
|
@xref{Other Special}.
|
||||||
@end deftypevr
|
@end deftypevr
|
||||||
|
|
||||||
|
@ -934,8 +937,8 @@ If this bit is set and the system supports job control, then
|
||||||
attempt to write to the terminal. @xref{Access to the Terminal}.
|
attempt to write to the terminal. @xref{Access to the Terminal}.
|
||||||
@end deftypevr
|
@end deftypevr
|
||||||
|
|
||||||
The following bits are BSD extensions; they exist only in BSD systems
|
The following bits are BSD extensions; they exist only on BSD systems
|
||||||
and the GNU system.
|
and @gnuhurdsystems{}.
|
||||||
|
|
||||||
@comment termios.h
|
@comment termios.h
|
||||||
@comment BSD
|
@comment BSD
|
||||||
|
@ -1245,7 +1248,7 @@ terminate an input line, by setting EOL to one of them and EOL2 to the
|
||||||
other.
|
other.
|
||||||
|
|
||||||
The EOL2 character is a BSD extension; it exists only on BSD systems
|
The EOL2 character is a BSD extension; it exists only on BSD systems
|
||||||
and the GNU system.
|
and @gnulinuxhurdsystems{}.
|
||||||
@end deftypevr
|
@end deftypevr
|
||||||
|
|
||||||
@comment termios.h
|
@comment termios.h
|
||||||
|
@ -1404,7 +1407,7 @@ The DSUSP (suspend) character is recognized only if the implementation
|
||||||
supports job control (@pxref{Job Control}). It sends a @code{SIGTSTP}
|
supports job control (@pxref{Job Control}). It sends a @code{SIGTSTP}
|
||||||
signal, like the SUSP character, but not right away---only when the
|
signal, like the SUSP character, but not right away---only when the
|
||||||
program tries to read it as input. Not all systems with job control
|
program tries to read it as input. Not all systems with job control
|
||||||
support DSUSP; only BSD-compatible systems (including the GNU system).
|
support DSUSP; only BSD-compatible systems (including @gnuhurdsystems{}).
|
||||||
|
|
||||||
@xref{Signal Handling}, for more information about signals.
|
@xref{Signal Handling}, for more information about signals.
|
||||||
|
|
||||||
|
@ -1461,8 +1464,6 @@ regardless of what you specify.
|
||||||
@node Other Special
|
@node Other Special
|
||||||
@subsubsection Other Special Characters
|
@subsubsection Other Special Characters
|
||||||
|
|
||||||
These special characters exist only in BSD systems and the GNU system.
|
|
||||||
|
|
||||||
@comment termios.h
|
@comment termios.h
|
||||||
@comment BSD
|
@comment BSD
|
||||||
@deftypevr Macro int VLNEXT
|
@deftypevr Macro int VLNEXT
|
||||||
|
@ -1479,6 +1480,8 @@ signal, it is read as a plain character. This is the analogue of the
|
||||||
@kbd{C-q} command in Emacs. ``LNEXT'' stands for ``literal next.''
|
@kbd{C-q} command in Emacs. ``LNEXT'' stands for ``literal next.''
|
||||||
|
|
||||||
The LNEXT character is usually @kbd{C-v}.
|
The LNEXT character is usually @kbd{C-v}.
|
||||||
|
|
||||||
|
This character is available on BSD systems and @gnulinuxhurdsystems{}.
|
||||||
@end deftypevr
|
@end deftypevr
|
||||||
|
|
||||||
@comment termios.h
|
@comment termios.h
|
||||||
|
@ -1494,6 +1497,8 @@ in both canonical and noncanonical mode. Its effect is to toggle the
|
||||||
discard-output flag. When this flag is set, all program output is
|
discard-output flag. When this flag is set, all program output is
|
||||||
discarded. Setting the flag also discards all output currently in the
|
discarded. Setting the flag also discards all output currently in the
|
||||||
output buffer. Typing any other character resets the flag.
|
output buffer. Typing any other character resets the flag.
|
||||||
|
|
||||||
|
This character is available on BSD systems and @gnulinuxhurdsystems{}.
|
||||||
@end deftypevr
|
@end deftypevr
|
||||||
|
|
||||||
@comment termios.h
|
@comment termios.h
|
||||||
|
@ -1509,6 +1514,8 @@ the current process is running.
|
||||||
|
|
||||||
The STATUS character is recognized only in canonical mode, and only if
|
The STATUS character is recognized only in canonical mode, and only if
|
||||||
@code{NOKERNINFO} is not set.
|
@code{NOKERNINFO} is not set.
|
||||||
|
|
||||||
|
This character is available only on BSD systems and @gnuhurdsystems{}.
|
||||||
@end deftypevr
|
@end deftypevr
|
||||||
|
|
||||||
@node Noncanonical Input
|
@node Noncanonical Input
|
||||||
|
|
|
@ -84,7 +84,7 @@ time between calendar time @var{time1} and calendar time @var{time0}, as
|
||||||
a value of type @code{double}. The difference ignores leap seconds
|
a value of type @code{double}. The difference ignores leap seconds
|
||||||
unless leap second support is enabled.
|
unless leap second support is enabled.
|
||||||
|
|
||||||
In the GNU system, you can simply subtract @code{time_t} values. But on
|
In @theglibc{}, you can simply subtract @code{time_t} values. But on
|
||||||
other systems, the @code{time_t} data type might use some other encoding
|
other systems, the @code{time_t} data type might use some other encoding
|
||||||
where subtraction doesn't work directly.
|
where subtraction doesn't work directly.
|
||||||
@end deftypefun
|
@end deftypefun
|
||||||
|
@ -163,7 +163,7 @@ you can get the information with the functions in this section.
|
||||||
CPU time (@pxref{Time Basics}) is represented by the data type
|
CPU time (@pxref{Time Basics}) is represented by the data type
|
||||||
@code{clock_t}, which is a number of @dfn{clock ticks}. It gives the
|
@code{clock_t}, which is a number of @dfn{clock ticks}. It gives the
|
||||||
total amount of time a process has actively used a CPU since some
|
total amount of time a process has actively used a CPU since some
|
||||||
arbitrary event. On the GNU system, that event is the creation of the
|
arbitrary event. On @gnusystems{}, that event is the creation of the
|
||||||
process. While arbitrary in general, the event is always the same event
|
process. While arbitrary in general, the event is always the same event
|
||||||
for any particular process, so you can always measure how much time on
|
for any particular process, so you can always measure how much time on
|
||||||
the CPU a particular computation takes by examining the process' CPU
|
the CPU a particular computation takes by examining the process' CPU
|
||||||
|
@ -172,7 +172,7 @@ time before and after the computation.
|
||||||
@cindex clock ticks
|
@cindex clock ticks
|
||||||
@cindex ticks, clock
|
@cindex ticks, clock
|
||||||
|
|
||||||
In the GNU system, @code{clock_t} is equivalent to @code{long int} and
|
On @gnulinuxhurdsystems{}, @code{clock_t} is equivalent to @code{long int} and
|
||||||
@code{CLOCKS_PER_SEC} is an integer value. But in other systems, both
|
@code{CLOCKS_PER_SEC} is an integer value. But in other systems, both
|
||||||
@code{clock_t} and the macro @code{CLOCKS_PER_SEC} can be either integer
|
@code{clock_t} and the macro @code{CLOCKS_PER_SEC} can be either integer
|
||||||
or floating-point types. Casting CPU time values to @code{double}, as
|
or floating-point types. Casting CPU time values to @code{double}, as
|
||||||
|
@ -319,7 +319,7 @@ indicate failure.
|
||||||
|
|
||||||
@strong{Portability Note:} The @code{clock} function described in
|
@strong{Portability Note:} The @code{clock} function described in
|
||||||
@ref{CPU Time} is specified by the @w{ISO C} standard. The
|
@ref{CPU Time} is specified by the @w{ISO C} standard. The
|
||||||
@code{times} function is a feature of POSIX.1. In the GNU system, the
|
@code{times} function is a feature of POSIX.1. On @gnusystems{}, the
|
||||||
CPU time is defined to be equivalent to the sum of the @code{tms_utime}
|
CPU time is defined to be equivalent to the sum of the @code{tms_utime}
|
||||||
and @code{tms_stime} fields returned by @code{times}.
|
and @code{tms_stime} fields returned by @code{times}.
|
||||||
|
|
||||||
|
@ -487,7 +487,7 @@ following @code{errno} error condition is defined for this function:
|
||||||
@table @code
|
@table @code
|
||||||
@item ENOSYS
|
@item ENOSYS
|
||||||
The operating system does not support getting time zone information, and
|
The operating system does not support getting time zone information, and
|
||||||
@var{tzp} is not a null pointer. The GNU operating system does not
|
@var{tzp} is not a null pointer. @gnusystems{} do not
|
||||||
support using @w{@code{struct timezone}} to represent time zone
|
support using @w{@code{struct timezone}} to represent time zone
|
||||||
information; that is an obsolete feature of 4.3 BSD.
|
information; that is an obsolete feature of 4.3 BSD.
|
||||||
Instead, use the facilities described in @ref{Time Zone Functions}.
|
Instead, use the facilities described in @ref{Time Zone Functions}.
|
||||||
|
@ -2462,7 +2462,7 @@ handler. And, if @code{sleep} is interrupted by delivery of a signal
|
||||||
whose handler requests an alarm or alters the handling of @code{SIGALRM},
|
whose handler requests an alarm or alters the handling of @code{SIGALRM},
|
||||||
this handler and @code{sleep} will interfere.
|
this handler and @code{sleep} will interfere.
|
||||||
|
|
||||||
On the GNU system, it is safe to use @code{sleep} and @code{SIGALRM} in
|
On @gnusystems{}, it is safe to use @code{sleep} and @code{SIGALRM} in
|
||||||
the same program, because @code{sleep} does not work by means of
|
the same program, because @code{sleep} does not work by means of
|
||||||
@code{SIGALRM}.
|
@code{SIGALRM}.
|
||||||
|
|
||||||
|
|
|
@ -884,7 +884,7 @@ The exit status of the process.
|
||||||
|
|
||||||
@deftp {Data Type} {struct utmp}
|
@deftp {Data Type} {struct utmp}
|
||||||
The @code{utmp} data structure is used to hold information about entries
|
The @code{utmp} data structure is used to hold information about entries
|
||||||
in the user accounting database. On the GNU system it has the following
|
in the user accounting database. On @gnusystems{} it has the following
|
||||||
members:
|
members:
|
||||||
|
|
||||||
@table @code
|
@table @code
|
||||||
|
@ -1217,7 +1217,7 @@ database specified by @var{wtmp_file}. For possible values for the
|
||||||
subset of these functions, they are not standardized. There are often
|
subset of these functions, they are not standardized. There are often
|
||||||
subtle differences in the return types, and there are considerable
|
subtle differences in the return types, and there are considerable
|
||||||
differences between the various definitions of @code{struct utmp}. When
|
differences between the various definitions of @code{struct utmp}. When
|
||||||
programming for the GNU system, it is probably best to stick
|
programming for @theglibc{}, it is probably best to stick
|
||||||
with the functions described in this section. If however, you want your
|
with the functions described in this section. If however, you want your
|
||||||
program to be portable, consider using the XPG functions described in
|
program to be portable, consider using the XPG functions described in
|
||||||
@ref{XPG Functions}, or take a look at the BSD compatible functions in
|
@ref{XPG Functions}, or take a look at the BSD compatible functions in
|
||||||
|
@ -1257,14 +1257,14 @@ Time the entry was made. For entries of type @code{OLD_TIME} this is
|
||||||
the time when the system clock changed, and for entries of type
|
the time when the system clock changed, and for entries of type
|
||||||
@code{NEW_TIME} this is the time the system clock was set to.
|
@code{NEW_TIME} this is the time the system clock was set to.
|
||||||
@end table
|
@end table
|
||||||
On the GNU system, @code{struct utmpx} is identical to @code{struct
|
In @theglibc{}, @code{struct utmpx} is identical to @code{struct
|
||||||
utmp} except for the fact that including @file{utmpx.h} does not make
|
utmp} except for the fact that including @file{utmpx.h} does not make
|
||||||
visible the declaration of @code{struct exit_status}.
|
visible the declaration of @code{struct exit_status}.
|
||||||
@end deftp
|
@end deftp
|
||||||
|
|
||||||
The following macros are defined for use as values for the
|
The following macros are defined for use as values for the
|
||||||
@code{ut_type} member of the @code{utmpx} structure. The values are
|
@code{ut_type} member of the @code{utmpx} structure. The values are
|
||||||
integer constants and are, on the GNU system, identical to the
|
integer constants and are, in @theglibc{}, identical to the
|
||||||
definitions in @file{utmp.h}.
|
definitions in @file{utmp.h}.
|
||||||
|
|
||||||
@table @code
|
@table @code
|
||||||
|
@ -1330,7 +1330,7 @@ can be found using the @code{sizeof} operator.
|
||||||
@comment utmpx.h
|
@comment utmpx.h
|
||||||
@comment XPG4.2
|
@comment XPG4.2
|
||||||
@deftypefun void setutxent (void)
|
@deftypefun void setutxent (void)
|
||||||
This function is similar to @code{setutent}. On the GNU system it is
|
This function is similar to @code{setutent}. In @theglibc{} it is
|
||||||
simply an alias for @code{setutent}.
|
simply an alias for @code{setutent}.
|
||||||
@end deftypefun
|
@end deftypefun
|
||||||
|
|
||||||
|
@ -1338,14 +1338,14 @@ simply an alias for @code{setutent}.
|
||||||
@comment XPG4.2
|
@comment XPG4.2
|
||||||
@deftypefun {struct utmpx *} getutxent (void)
|
@deftypefun {struct utmpx *} getutxent (void)
|
||||||
The @code{getutxent} function is similar to @code{getutent}, but returns
|
The @code{getutxent} function is similar to @code{getutent}, but returns
|
||||||
a pointer to a @code{struct utmpx} instead of @code{struct utmp}. On
|
a pointer to a @code{struct utmpx} instead of @code{struct utmp}. In
|
||||||
the GNU system it simply is an alias for @code{getutent}.
|
@theglibc{} it simply is an alias for @code{getutent}.
|
||||||
@end deftypefun
|
@end deftypefun
|
||||||
|
|
||||||
@comment utmpx.h
|
@comment utmpx.h
|
||||||
@comment XPG4.2
|
@comment XPG4.2
|
||||||
@deftypefun void endutxent (void)
|
@deftypefun void endutxent (void)
|
||||||
This function is similar to @code{endutent}. On the GNU system it is
|
This function is similar to @code{endutent}. In @theglibc{} it is
|
||||||
simply an alias for @code{endutent}.
|
simply an alias for @code{endutent}.
|
||||||
@end deftypefun
|
@end deftypefun
|
||||||
|
|
||||||
|
@ -1353,7 +1353,7 @@ simply an alias for @code{endutent}.
|
||||||
@comment XPG4.2
|
@comment XPG4.2
|
||||||
@deftypefun {struct utmpx *} getutxid (const struct utmpx *@var{id})
|
@deftypefun {struct utmpx *} getutxid (const struct utmpx *@var{id})
|
||||||
This function is similar to @code{getutid}, but uses @code{struct utmpx}
|
This function is similar to @code{getutid}, but uses @code{struct utmpx}
|
||||||
instead of @code{struct utmp}. On the GNU system it is simply an alias
|
instead of @code{struct utmp}. In @theglibc{} it is simply an alias
|
||||||
for @code{getutid}.
|
for @code{getutid}.
|
||||||
@end deftypefun
|
@end deftypefun
|
||||||
|
|
||||||
|
@ -1361,7 +1361,7 @@ for @code{getutid}.
|
||||||
@comment XPG4.2
|
@comment XPG4.2
|
||||||
@deftypefun {struct utmpx *} getutxline (const struct utmpx *@var{line})
|
@deftypefun {struct utmpx *} getutxline (const struct utmpx *@var{line})
|
||||||
This function is similar to @code{getutid}, but uses @code{struct utmpx}
|
This function is similar to @code{getutid}, but uses @code{struct utmpx}
|
||||||
instead of @code{struct utmp}. On the GNU system it is simply an alias
|
instead of @code{struct utmp}. In @theglibc{} it is simply an alias
|
||||||
for @code{getutline}.
|
for @code{getutline}.
|
||||||
@end deftypefun
|
@end deftypefun
|
||||||
|
|
||||||
|
@ -1370,7 +1370,7 @@ for @code{getutline}.
|
||||||
@deftypefun {struct utmpx *} pututxline (const struct utmpx *@var{utmp})
|
@deftypefun {struct utmpx *} pututxline (const struct utmpx *@var{utmp})
|
||||||
The @code{pututxline} function is functionally identical to
|
The @code{pututxline} function is functionally identical to
|
||||||
@code{pututline}, but uses @code{struct utmpx} instead of @code{struct
|
@code{pututline}, but uses @code{struct utmpx} instead of @code{struct
|
||||||
utmp}. On the GNU system, @code{pututxline} is simply an alias for
|
utmp}. In @theglibc{}, @code{pututxline} is simply an alias for
|
||||||
@code{pututline}.
|
@code{pututline}.
|
||||||
@end deftypefun
|
@end deftypefun
|
||||||
|
|
||||||
|
@ -1378,12 +1378,12 @@ utmp}. On the GNU system, @code{pututxline} is simply an alias for
|
||||||
@comment XPG4.2
|
@comment XPG4.2
|
||||||
@deftypefun int utmpxname (const char *@var{file})
|
@deftypefun int utmpxname (const char *@var{file})
|
||||||
The @code{utmpxname} function is functionally identical to
|
The @code{utmpxname} function is functionally identical to
|
||||||
@code{utmpname}. On the GNU system, @code{utmpxname} is simply an
|
@code{utmpname}. In @theglibc{}, @code{utmpxname} is simply an
|
||||||
alias for @code{utmpname}.
|
alias for @code{utmpname}.
|
||||||
@end deftypefun
|
@end deftypefun
|
||||||
|
|
||||||
You can translate between a traditional @code{struct utmp} and an XPG
|
You can translate between a traditional @code{struct utmp} and an XPG
|
||||||
@code{struct utmpx} with the following functions. On the GNU system,
|
@code{struct utmpx} with the following functions. In @theglibc{},
|
||||||
these functions are merely copies, since the two structures are
|
these functions are merely copies, since the two structures are
|
||||||
identical.
|
identical.
|
||||||
|
|
||||||
|
|
|
@ -89,8 +89,8 @@ TRANS computer. */
|
||||||
/*
|
/*
|
||||||
TRANS Argument list too long; used when the arguments passed to a new program
|
TRANS Argument list too long; used when the arguments passed to a new program
|
||||||
TRANS being executed with one of the @code{exec} functions (@pxref{Executing a
|
TRANS being executed with one of the @code{exec} functions (@pxref{Executing a
|
||||||
TRANS File}) occupy too much memory space. This condition never arises in the
|
TRANS File}) occupy too much memory space. This condition never arises on
|
||||||
TRANS GNU system. */
|
TRANS @gnuhurdsystems{}. */
|
||||||
[ERR_REMAP (E2BIG)] = N_("Argument list too long"),
|
[ERR_REMAP (E2BIG)] = N_("Argument list too long"),
|
||||||
# if E2BIG > ERR_MAX
|
# if E2BIG > ERR_MAX
|
||||||
# undef ERR_MAX
|
# undef ERR_MAX
|
||||||
|
@ -163,7 +163,7 @@ TRANS Permission denied; the file permissions do not allow the attempted operati
|
||||||
#ifdef EFAULT
|
#ifdef EFAULT
|
||||||
/*
|
/*
|
||||||
TRANS Bad address; an invalid pointer was detected.
|
TRANS Bad address; an invalid pointer was detected.
|
||||||
TRANS In the GNU system, this error never happens; you get a signal instead. */
|
TRANS On @gnuhurdsystems{}, this error never happens; you get a signal instead. */
|
||||||
[ERR_REMAP (EFAULT)] = N_("Bad address"),
|
[ERR_REMAP (EFAULT)] = N_("Bad address"),
|
||||||
# if EFAULT > ERR_MAX
|
# if EFAULT > ERR_MAX
|
||||||
# undef ERR_MAX
|
# undef ERR_MAX
|
||||||
|
@ -271,7 +271,7 @@ TRANS @pxref{Limits on Resources}. */
|
||||||
/*
|
/*
|
||||||
TRANS There are too many distinct file openings in the entire system. Note
|
TRANS There are too many distinct file openings in the entire system. Note
|
||||||
TRANS that any number of linked channels count as just one file opening; see
|
TRANS that any number of linked channels count as just one file opening; see
|
||||||
TRANS @ref{Linked Channels}. This error never occurs in the GNU system. */
|
TRANS @ref{Linked Channels}. This error never occurs on @gnuhurdsystems{}. */
|
||||||
[ERR_REMAP (ENFILE)] = N_("Too many open files in system"),
|
[ERR_REMAP (ENFILE)] = N_("Too many open files in system"),
|
||||||
# if ENFILE > ERR_MAX
|
# if ENFILE > ERR_MAX
|
||||||
# undef ERR_MAX
|
# undef ERR_MAX
|
||||||
|
@ -294,7 +294,7 @@ TRANS An attempt to execute a file that is currently open for writing, or
|
||||||
TRANS write to a file that is currently being executed. Often using a
|
TRANS write to a file that is currently being executed. Often using a
|
||||||
TRANS debugger to run a program is considered having it open for writing and
|
TRANS debugger to run a program is considered having it open for writing and
|
||||||
TRANS will cause this error. (The name stands for ``text file busy''.) This
|
TRANS will cause this error. (The name stands for ``text file busy''.) This
|
||||||
TRANS is not an error in the GNU system; the text is copied as necessary. */
|
TRANS is not an error on @gnuhurdsystems{}; the text is copied as necessary. */
|
||||||
[ERR_REMAP (ETXTBSY)] = N_("Text file busy"),
|
[ERR_REMAP (ETXTBSY)] = N_("Text file busy"),
|
||||||
# if ETXTBSY > ERR_MAX
|
# if ETXTBSY > ERR_MAX
|
||||||
# undef ERR_MAX
|
# undef ERR_MAX
|
||||||
|
@ -520,7 +520,7 @@ TRANS The socket type is not supported. */
|
||||||
/*
|
/*
|
||||||
TRANS The operation you requested is not supported. Some socket functions
|
TRANS The operation you requested is not supported. Some socket functions
|
||||||
TRANS don't make sense for all types of sockets, and others may not be
|
TRANS don't make sense for all types of sockets, and others may not be
|
||||||
TRANS implemented for all communications protocols. In the GNU system, this
|
TRANS implemented for all communications protocols. On @gnuhurdsystems{}, this
|
||||||
TRANS error can happen for many calls when the object does not support the
|
TRANS error can happen for many calls when the object does not support the
|
||||||
TRANS particular operation; it is a generic indication that the server knows
|
TRANS particular operation; it is a generic indication that the server knows
|
||||||
TRANS nothing to do for that call. */
|
TRANS nothing to do for that call. */
|
||||||
|
@ -795,7 +795,7 @@ TRANS the NFS file system on the local host. */
|
||||||
TRANS An attempt was made to NFS-mount a remote file system with a file name that
|
TRANS An attempt was made to NFS-mount a remote file system with a file name that
|
||||||
TRANS already specifies an NFS-mounted file.
|
TRANS already specifies an NFS-mounted file.
|
||||||
TRANS (This is an error on some operating systems, but we expect it to work
|
TRANS (This is an error on some operating systems, but we expect it to work
|
||||||
TRANS properly on the GNU system, making this error code impossible.) */
|
TRANS properly on @gnuhurdsystems{}, making this error code impossible.) */
|
||||||
[ERR_REMAP (EREMOTE)] = N_("Object is remote"),
|
[ERR_REMAP (EREMOTE)] = N_("Object is remote"),
|
||||||
# if EREMOTE > ERR_MAX
|
# if EREMOTE > ERR_MAX
|
||||||
# undef ERR_MAX
|
# undef ERR_MAX
|
||||||
|
@ -850,7 +850,7 @@ TRANS ??? */
|
||||||
#ifdef ENOLCK
|
#ifdef ENOLCK
|
||||||
/*
|
/*
|
||||||
TRANS No locks available. This is used by the file locking facilities; see
|
TRANS No locks available. This is used by the file locking facilities; see
|
||||||
TRANS @ref{File Locks}. This error is never generated by the GNU system, but
|
TRANS @ref{File Locks}. This error is never generated by @gnuhurdsystems{}, but
|
||||||
TRANS it can result from an operation to an NFS server running another
|
TRANS it can result from an operation to an NFS server running another
|
||||||
TRANS operating system. */
|
TRANS operating system. */
|
||||||
[ERR_REMAP (ENOLCK)] = N_("No locks available"),
|
[ERR_REMAP (ENOLCK)] = N_("No locks available"),
|
||||||
|
@ -935,7 +935,7 @@ TRANS or an incomplete sequence of bytes or the given wide character is invalid.
|
||||||
#endif
|
#endif
|
||||||
#ifdef EBACKGROUND
|
#ifdef EBACKGROUND
|
||||||
/*
|
/*
|
||||||
TRANS In the GNU system, servers supporting the @code{term} protocol return
|
TRANS On @gnuhurdsystems{}, servers supporting the @code{term} protocol return
|
||||||
TRANS this error for certain operations when the caller is not in the
|
TRANS this error for certain operations when the caller is not in the
|
||||||
TRANS foreground process group of the terminal. Users do not usually see this
|
TRANS foreground process group of the terminal. Users do not usually see this
|
||||||
TRANS error because functions such as @code{read} and @code{write} translate
|
TRANS error because functions such as @code{read} and @code{write} translate
|
||||||
|
@ -949,7 +949,7 @@ TRANS for information on process groups and these signals. */
|
||||||
#endif
|
#endif
|
||||||
#ifdef EDIED
|
#ifdef EDIED
|
||||||
/*
|
/*
|
||||||
TRANS In the GNU system, opening a file returns this error when the file is
|
TRANS On @gnuhurdsystems{}, opening a file returns this error when the file is
|
||||||
TRANS translated by a program and the translator program dies while starting
|
TRANS translated by a program and the translator program dies while starting
|
||||||
TRANS up, before it has connected to the file. */
|
TRANS up, before it has connected to the file. */
|
||||||
[ERR_REMAP (EDIED)] = N_("Translator died"),
|
[ERR_REMAP (EDIED)] = N_("Translator died"),
|
||||||
|
|
Loading…
Reference in New Issue