2000-05-22 05:22:28 +08:00
|
|
|
@node Error Reporting, Memory, Introduction, Top
|
1995-02-18 09:27:10 +08:00
|
|
|
@chapter Error Reporting
|
1998-07-13 20:29:13 +08:00
|
|
|
@c %MENU% How library functions report errors
|
1995-02-18 09:27:10 +08:00
|
|
|
@cindex error reporting
|
|
|
|
@cindex reporting errors
|
|
|
|
@cindex error codes
|
|
|
|
@cindex status codes
|
|
|
|
|
|
|
|
Many functions in the GNU C library detect and report error conditions,
|
|
|
|
and sometimes your programs need to check for these error conditions.
|
|
|
|
For example, when you open an input file, you should verify that the
|
|
|
|
file was actually opened correctly, and print an error message or take
|
|
|
|
other appropriate action if the call to the library function failed.
|
|
|
|
|
|
|
|
This chapter describes how the error reporting facility works. Your
|
|
|
|
program should include the header file @file{errno.h} to use this
|
|
|
|
facility.
|
|
|
|
@pindex errno.h
|
|
|
|
|
|
|
|
@menu
|
|
|
|
* Checking for Errors:: How errors are reported by library functions.
|
Wed May 22 01:48:54 1996 Ulrich Drepper <drepper@cygnus.com>
* stdlib/strtol.c [!QUAD] (ULONG_MAX, LONG_MAX): Define these
macros if they are not available.
(WEAKNAME): New macro to declare argument as weak.
Define function with __ prefix and add normal name as weak alias.
* sysdeps/posix/euidaccess.c (S_IROTH, S_IWOTH, S_IXOTH): Defines
these macros if not already available based on R_OK, W_OK, and
X_OK.
Tue May 21 18:48:46 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* misc/sys/syslog.h (__need___va_list): Define this instead of
__need_va_list before including <stdarg.h>.
* Makerules (o-iterator): Use $(object-suffixes-left) instead
of $(object-suffixes) to produce repetitions; this is used for other
lists than just that one.
[versioned]: Use $(o-iterator) properly.
* sysdeps/unix/sysv/linux/Implies: Include `gnu'.
* sysdeps/mach/hurd/Implies: Likewise.
Sat May 18 02:57:46 1996 Ulrich Drepper <drepper@cygnus.com>
* login/Makefile: New file. This directory contains functions
for user administration.
* Makefile (subdirs): Add login.
* misc/Makefile (headers): Remove utmp.h. Now in login/utmp.h.
(extra-libs, libutil-routines): Ditto.
* misc/login.c, misc/login_tty.c, misc/logout.c, misc/logwtmp.c,
misc/utmp.h: Moved to misc/.
* login/login.c, login/login_tty.c, login/logout.c,
login/logwtmp.c, login/utmp.h: Moved to here from misc/.
* login/utmp.h: Split file. Definitions of data structures
and constants are now in the system dependent utmpbits.h file.
* login/setutent_r.c, login/setutent.c, login/endutent_r.c,
login/endutent.c, login/getutent_r.c, login/getutent.c,
login/getutid_r.c, login/getutid.c, login/getutline_r.c,
login/getutline.c, login/pututline_r.c, login/pututline.c:
New files. Routines to handle utmp-style files.
* sysdeps/gnu/utmpbits.h: New file. Contains GNU/Linux
specific definitions of utmp data structures and constants.
* sysdeps/unix/sysv/utmpbits.h: Renamed from sysdeps/unix/sysv/utmp.h.
* sysdeps/generic/utmpbits.h: New file. Generic (BSDish) version of
definitions of utmp data structures and constants.
Fri May 17 00:01:31 1996 Ulrich Drepper <drepper@cygnus.com>
* locale/C-monetary.c: Default value for mon_decimal_point should be
'.'.
* stdio-common/printf.h: Remove Linux libc compatibility stuff.
Add `extra' flag. Currently used in __printf_fp.
* stdio-common/printf_fp.c (__guess_grouping): Renamed from
`guess_grouping' and extend visibility to extern. This function
is now used in `strfmon'.
(__printf_fp): Recognize new bit flag in info struct. This
triggers to use the grouping information and decimal point from
the LC_MONETARY category instead of the LC_NUMERIC category.
* stdio-common/vfprintf.c (process_arg): Correct major bug. In
`complicated' loop we must not use the varargs because the args
are already available in the ARGS_VALUE array.
* stdlib/Makefile (headers): Add monetary.h.
(routines): Add strfmon.
* stdlib/monetary.h: New file. Header for strfmon function.
* stdlib/strfmon.c: New file. Implement strfmon function to print
monetary amounts according to current locale's rules.
* sysdeps/unix/sysv/linux/i386/sys/vm86.h: The kernel header is
now (>= Linux-1.3.100) called <asm/vm86.h>.
1996-05-22 10:11:55 +08:00
|
|
|
* Error Codes:: Error code macros; all of these expand
|
1995-02-18 09:27:10 +08:00
|
|
|
into integer constant values.
|
|
|
|
* Error Messages:: Mapping error codes onto error messages.
|
|
|
|
@end menu
|
|
|
|
|
|
|
|
@node Checking for Errors, Error Codes, , Error Reporting
|
|
|
|
@section Checking for Errors
|
|
|
|
|
|
|
|
Most library functions return a special value to indicate that they have
|
|
|
|
failed. The special value is typically @code{-1}, a null pointer, or a
|
|
|
|
constant such as @code{EOF} that is defined for that purpose. But this
|
|
|
|
return value tells you only that an error has occurred. To find out
|
|
|
|
what kind of error it was, you need to look at the error code stored in the
|
|
|
|
variable @code{errno}. This variable is declared in the header file
|
|
|
|
@file{errno.h}.
|
|
|
|
@pindex errno.h
|
|
|
|
|
|
|
|
@comment errno.h
|
1996-12-08 16:01:13 +08:00
|
|
|
@comment ISO
|
1995-02-18 09:27:10 +08:00
|
|
|
@deftypevr {Variable} {volatile int} errno
|
|
|
|
The variable @code{errno} contains the system error number. You can
|
|
|
|
change the value of @code{errno}.
|
|
|
|
|
|
|
|
Since @code{errno} is declared @code{volatile}, it might be changed
|
|
|
|
asynchronously by a signal handler; see @ref{Defining Handlers}.
|
|
|
|
However, a properly written signal handler saves and restores the value
|
|
|
|
of @code{errno}, so you generally do not need to worry about this
|
|
|
|
possibility except when writing signal handlers.
|
|
|
|
|
|
|
|
The initial value of @code{errno} at program startup is zero. Many
|
|
|
|
library functions are guaranteed to set it to certain nonzero values
|
|
|
|
when they encounter certain kinds of errors. These error conditions are
|
|
|
|
listed for each function. These functions do not change @code{errno}
|
|
|
|
when they succeed; thus, the value of @code{errno} after a successful
|
|
|
|
call is not necessarily zero, and you should not use @code{errno} to
|
|
|
|
determine @emph{whether} a call failed. The proper way to do that is
|
1999-06-16 23:44:59 +08:00
|
|
|
documented for each function. @emph{If} the call failed, you can
|
1995-02-18 09:27:10 +08:00
|
|
|
examine @code{errno}.
|
|
|
|
|
|
|
|
Many library functions can set @code{errno} to a nonzero value as a
|
|
|
|
result of calling other library functions which might fail. You should
|
|
|
|
assume that any library function might alter @code{errno} when the
|
|
|
|
function returns an error.
|
|
|
|
|
1996-12-08 16:01:13 +08:00
|
|
|
@strong{Portability Note:} @w{ISO C} specifies @code{errno} as a
|
1995-02-18 09:27:10 +08:00
|
|
|
``modifiable lvalue'' rather than as a variable, permitting it to be
|
|
|
|
implemented as a macro. For example, its expansion might involve a
|
|
|
|
function call, like @w{@code{*_errno ()}}. In fact, that is what it is
|
|
|
|
on the GNU system itself. The GNU library, on non-GNU systems, does
|
|
|
|
whatever is right for the particular system.
|
|
|
|
|
|
|
|
There are a few library functions, like @code{sqrt} and @code{atan},
|
|
|
|
that return a perfectly legitimate value in case of an error, but also
|
|
|
|
set @code{errno}. For these functions, if you want to check to see
|
|
|
|
whether an error occurred, the recommended method is to set @code{errno}
|
|
|
|
to zero before calling the function, and then check its value afterward.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@pindex errno.h
|
|
|
|
All the error codes have symbolic names; they are macros defined in
|
|
|
|
@file{errno.h}. The names start with @samp{E} and an upper-case
|
|
|
|
letter or digit; you should consider names of this form to be
|
|
|
|
reserved names. @xref{Reserved Names}.
|
|
|
|
|
|
|
|
The error code values are all positive integers and are all distinct,
|
|
|
|
with one exception: @code{EWOULDBLOCK} and @code{EAGAIN} are the same.
|
|
|
|
Since the values are distinct, you can use them as labels in a
|
|
|
|
@code{switch} statement; just don't use both @code{EWOULDBLOCK} and
|
|
|
|
@code{EAGAIN}. Your program should not make any other assumptions about
|
|
|
|
the specific values of these symbolic constants.
|
|
|
|
|
|
|
|
The value of @code{errno} doesn't necessarily have to correspond to any
|
|
|
|
of these macros, since some library functions might return other error
|
|
|
|
codes of their own for other situations. The only values that are
|
|
|
|
guaranteed to be meaningful for a particular library function are the
|
|
|
|
ones that this manual lists for that function.
|
|
|
|
|
|
|
|
On non-GNU systems, almost any system call can return @code{EFAULT} if
|
|
|
|
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 on the GNU system, we have saved space by not mentioning
|
|
|
|
@code{EFAULT} in the descriptions of individual functions.
|
|
|
|
|
|
|
|
In some Unix systems, many system calls can also return @code{EFAULT} if
|
|
|
|
given as an argument a pointer into the stack, and the kernel for some
|
|
|
|
obscure reason fails in its attempt to extend the stack. If this ever
|
|
|
|
happens, you should probably try using statically or dynamically
|
|
|
|
allocated memory instead of stack memory on that system.
|
|
|
|
|
|
|
|
@node Error Codes, Error Messages, Checking for Errors, Error Reporting
|
|
|
|
@section Error Codes
|
|
|
|
|
|
|
|
@pindex 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
|
|
|
|
codes can't occur on the GNU system, but they can occur using the GNU
|
|
|
|
library on other systems.
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment POSIX.1: Operation not permitted
|
|
|
|
@deftypevr Macro int EPERM
|
|
|
|
@comment errno 1 @c DO NOT REMOVE
|
|
|
|
Operation not permitted; only the owner of the file (or other resource)
|
|
|
|
or processes with special privileges can perform the operation.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment POSIX.1: No such file or directory
|
|
|
|
@deftypevr Macro int ENOENT
|
|
|
|
@comment errno 2 @c DO NOT REMOVE
|
|
|
|
No such file or directory. This is a ``file doesn't exist'' error
|
|
|
|
for ordinary files that are referenced in contexts where they are
|
|
|
|
expected to already exist.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment POSIX.1: No such process
|
|
|
|
@deftypevr Macro int ESRCH
|
|
|
|
@comment errno 3 @c DO NOT REMOVE
|
|
|
|
No process matches the specified process ID.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment POSIX.1: Interrupted system call
|
|
|
|
@deftypevr Macro int EINTR
|
|
|
|
@comment errno 4 @c DO NOT REMOVE
|
1996-12-20 09:39:50 +08:00
|
|
|
Interrupted function call; an asynchronous signal occurred and prevented
|
1995-02-18 09:27:10 +08:00
|
|
|
completion of the call. When this happens, you should try the call
|
|
|
|
again.
|
|
|
|
|
|
|
|
You can choose to have functions resume after a signal that is handled,
|
|
|
|
rather than failing with @code{EINTR}; see @ref{Interrupted
|
|
|
|
Primitives}.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment POSIX.1: Input/output error
|
|
|
|
@deftypevr Macro int EIO
|
|
|
|
@comment errno 5 @c DO NOT REMOVE
|
|
|
|
Input/output error; usually used for physical read or write errors.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment POSIX.1: Device not configured
|
|
|
|
@deftypevr Macro int ENXIO
|
|
|
|
@comment errno 6 @c DO NOT REMOVE
|
|
|
|
No such device or address. The system tried to use the device
|
|
|
|
represented by a file you specified, and it couldn't find the device.
|
|
|
|
This can mean that the device file was installed incorrectly, or that
|
|
|
|
the physical device is missing or not correctly attached to the
|
|
|
|
computer.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment POSIX.1: Argument list too long
|
|
|
|
@deftypevr Macro int E2BIG
|
|
|
|
@comment errno 7 @c DO NOT REMOVE
|
|
|
|
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
|
|
|
|
File}) occupy too much memory space. This condition never arises in the
|
|
|
|
GNU system.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment POSIX.1: Exec format error
|
|
|
|
@deftypevr Macro int ENOEXEC
|
|
|
|
@comment errno 8 @c DO NOT REMOVE
|
|
|
|
Invalid executable file format. This condition is detected by the
|
|
|
|
@code{exec} functions; see @ref{Executing a File}.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment POSIX.1: Bad file descriptor
|
|
|
|
@deftypevr Macro int EBADF
|
|
|
|
@comment errno 9 @c DO NOT REMOVE
|
|
|
|
Bad file descriptor; for example, I/O on a descriptor that has been
|
|
|
|
closed or reading from a descriptor open only for writing (or vice
|
|
|
|
versa).
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment POSIX.1: No child processes
|
|
|
|
@deftypevr Macro int ECHILD
|
|
|
|
@comment errno 10 @c DO NOT REMOVE
|
|
|
|
There are no child processes. This error happens on operations that are
|
|
|
|
supposed to manipulate child processes, when there aren't any processes
|
|
|
|
to manipulate.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment POSIX.1: Resource deadlock avoided
|
|
|
|
@deftypevr Macro int EDEADLK
|
|
|
|
@comment errno 11 @c DO NOT REMOVE
|
|
|
|
Deadlock avoided; allocating a system resource would have resulted in a
|
|
|
|
deadlock situation. The system does not guarantee that it will notice
|
|
|
|
all such situations. This error means you got lucky and the system
|
|
|
|
noticed; it might just hang. @xref{File Locks}, for an example.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment POSIX.1: Cannot allocate memory
|
|
|
|
@deftypevr Macro int ENOMEM
|
|
|
|
@comment errno 12 @c DO NOT REMOVE
|
|
|
|
No memory available. The system cannot allocate more virtual memory
|
|
|
|
because its capacity is full.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment POSIX.1: Permission denied
|
|
|
|
@deftypevr Macro int EACCES
|
|
|
|
@comment errno 13 @c DO NOT REMOVE
|
|
|
|
Permission denied; the file permissions do not allow the attempted operation.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment POSIX.1: Bad address
|
|
|
|
@deftypevr Macro int EFAULT
|
|
|
|
@comment errno 14 @c DO NOT REMOVE
|
|
|
|
Bad address; an invalid pointer was detected.
|
|
|
|
In the GNU system, this error never happens; you get a signal instead.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment BSD: Block device required
|
|
|
|
@deftypevr Macro int ENOTBLK
|
|
|
|
@comment errno 15 @c DO NOT REMOVE
|
|
|
|
A file that isn't a block special file was given in a situation that
|
|
|
|
requires one. For example, trying to mount an ordinary file as a file
|
|
|
|
system in Unix gives this error.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
1996-06-04 09:41:11 +08:00
|
|
|
@comment POSIX.1: Device or resource busy
|
1995-02-18 09:27:10 +08:00
|
|
|
@deftypevr Macro int EBUSY
|
|
|
|
@comment errno 16 @c DO NOT REMOVE
|
|
|
|
Resource busy; a system resource that can't be shared is already in use.
|
|
|
|
For example, if you try to delete a file that is the root of a currently
|
|
|
|
mounted filesystem, you get this error.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment POSIX.1: File exists
|
|
|
|
@deftypevr Macro int EEXIST
|
|
|
|
@comment errno 17 @c DO NOT REMOVE
|
|
|
|
File exists; an existing file was specified in a context where it only
|
|
|
|
makes sense to specify a new file.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment POSIX.1: Invalid cross-device link
|
|
|
|
@deftypevr Macro int EXDEV
|
|
|
|
@comment errno 18 @c DO NOT REMOVE
|
|
|
|
An attempt to make an improper link across file systems was detected.
|
|
|
|
This happens not only when you use @code{link} (@pxref{Hard Links}) but
|
|
|
|
also when you rename a file with @code{rename} (@pxref{Renaming Files}).
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
1998-11-18 22:46:49 +08:00
|
|
|
@comment POSIX.1: No such device
|
1995-02-18 09:27:10 +08:00
|
|
|
@deftypevr Macro int ENODEV
|
|
|
|
@comment errno 19 @c DO NOT REMOVE
|
|
|
|
The wrong type of device was given to a function that expects a
|
|
|
|
particular sort of device.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment POSIX.1: Not a directory
|
|
|
|
@deftypevr Macro int ENOTDIR
|
|
|
|
@comment errno 20 @c DO NOT REMOVE
|
|
|
|
A file that isn't a directory was specified when a directory is required.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment POSIX.1: Is a directory
|
|
|
|
@deftypevr Macro int EISDIR
|
|
|
|
@comment errno 21 @c DO NOT REMOVE
|
|
|
|
File is a directory; you cannot open a directory for writing,
|
|
|
|
or create or remove hard links to it.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment POSIX.1: Invalid argument
|
|
|
|
@deftypevr Macro int EINVAL
|
|
|
|
@comment errno 22 @c DO NOT REMOVE
|
|
|
|
Invalid argument. This is used to indicate various kinds of problems
|
|
|
|
with passing the wrong argument to a library function.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment POSIX.1: Too many open files
|
|
|
|
@deftypevr Macro int EMFILE
|
|
|
|
@comment errno 24 @c DO NOT REMOVE
|
|
|
|
The current process has too many files open and can't open any more.
|
|
|
|
Duplicate descriptors do count toward this limit.
|
|
|
|
|
|
|
|
In BSD and GNU, the number of open files is controlled by a resource
|
|
|
|
limit that can usually be increased. If you get this error, you might
|
|
|
|
want to increase the @code{RLIMIT_NOFILE} limit or make it unlimited;
|
|
|
|
@pxref{Limits on Resources}.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment POSIX.1: Too many open files in system
|
|
|
|
@deftypevr Macro int ENFILE
|
|
|
|
@comment errno 23 @c DO NOT REMOVE
|
|
|
|
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
|
|
|
|
@ref{Linked Channels}. This error never occurs in the GNU system.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment POSIX.1: Inappropriate ioctl for device
|
|
|
|
@deftypevr Macro int ENOTTY
|
|
|
|
@comment errno 25 @c DO NOT REMOVE
|
|
|
|
Inappropriate I/O control operation, such as trying to set terminal
|
|
|
|
modes on an ordinary file.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment BSD: Text file busy
|
|
|
|
@deftypevr Macro int ETXTBSY
|
|
|
|
@comment errno 26 @c DO NOT REMOVE
|
|
|
|
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
|
|
|
|
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
|
|
|
|
is not an error in the GNU system; the text is copied as necessary.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment POSIX.1: File too large
|
|
|
|
@deftypevr Macro int EFBIG
|
|
|
|
@comment errno 27 @c DO NOT REMOVE
|
|
|
|
File too big; the size of a file would be larger than allowed by the system.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment POSIX.1: No space left on device
|
|
|
|
@deftypevr Macro int ENOSPC
|
|
|
|
@comment errno 28 @c DO NOT REMOVE
|
|
|
|
No space left on device; write operation on a file failed because the
|
|
|
|
disk is full.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment POSIX.1: Illegal seek
|
|
|
|
@deftypevr Macro int ESPIPE
|
|
|
|
@comment errno 29 @c DO NOT REMOVE
|
|
|
|
Invalid seek operation (such as on a pipe).
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment POSIX.1: Read-only file system
|
|
|
|
@deftypevr Macro int EROFS
|
|
|
|
@comment errno 30 @c DO NOT REMOVE
|
|
|
|
An attempt was made to modify something on a read-only file system.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment POSIX.1: Too many links
|
|
|
|
@deftypevr Macro int EMLINK
|
|
|
|
@comment errno 31 @c DO NOT REMOVE
|
|
|
|
Too many links; the link count of a single file would become too large.
|
|
|
|
@code{rename} can cause this error if the file being renamed already has
|
|
|
|
as many links as it can take (@pxref{Renaming Files}).
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment POSIX.1: Broken pipe
|
|
|
|
@deftypevr Macro int EPIPE
|
|
|
|
@comment errno 32 @c DO NOT REMOVE
|
|
|
|
Broken pipe; there is no process reading from the other end of a pipe.
|
|
|
|
Every library function that returns this error code also generates a
|
|
|
|
@code{SIGPIPE} signal; this signal terminates the program if not handled
|
|
|
|
or blocked. Thus, your program will never actually see @code{EPIPE}
|
|
|
|
unless it has handled or blocked @code{SIGPIPE}.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
1996-12-08 16:01:13 +08:00
|
|
|
@comment ISO: Numerical argument out of domain
|
1995-02-18 09:27:10 +08:00
|
|
|
@deftypevr Macro int EDOM
|
|
|
|
@comment errno 33 @c DO NOT REMOVE
|
|
|
|
Domain error; used by mathematical functions when an argument value does
|
|
|
|
not fall into the domain over which the function is defined.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
1996-12-08 16:01:13 +08:00
|
|
|
@comment ISO: Numerical result out of range
|
1995-02-18 09:27:10 +08:00
|
|
|
@deftypevr Macro int ERANGE
|
|
|
|
@comment errno 34 @c DO NOT REMOVE
|
|
|
|
Range error; used by mathematical functions when the result value is
|
|
|
|
not representable because of overflow or underflow.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment POSIX.1: Resource temporarily unavailable
|
|
|
|
@deftypevr Macro int EAGAIN
|
|
|
|
@comment errno 35 @c DO NOT REMOVE
|
|
|
|
Resource temporarily unavailable; the call might work if you try again
|
|
|
|
later. The macro @code{EWOULDBLOCK} is another name for @code{EAGAIN};
|
|
|
|
they are always the same in the GNU C library.
|
|
|
|
|
|
|
|
This error can happen in a few different situations:
|
|
|
|
|
|
|
|
@itemize @bullet
|
|
|
|
@item
|
|
|
|
An operation that would block was attempted on an object that has
|
|
|
|
non-blocking mode selected. Trying the same operation again will block
|
|
|
|
until some external condition makes it possible to read, write, or
|
|
|
|
connect (whatever the operation). You can use @code{select} to find out
|
|
|
|
when the operation will be possible; @pxref{Waiting for I/O}.
|
|
|
|
|
Update.
1997-08-04 15:29 Ulrich Drepper <drepper@cygnus.com>
* locale/programs/localedef.c (main): Set bit in avail for those
categories which are successfully read.
* locale/programs/locfile.c (check_all_categories): Don't check
categories if they are not available.
(write_all_categories): Don't write categories if they are not
available.
* login/setutent_r.c (setutent_unknown): Change return type to
int and return result of called function.
* manual/arith.texi: Mark floating-point test macro from ISO C 9X
as macros (not functions).
* manual/libc.texinfo (UPDATED): Update.
* manual/math.texi: Document exceptions, functions to handle
exceptions, mathematical constants, FP comparison functions
and several new functions from ISO C 9X.
Change parameter of drand48, lrand48, and mrand48 to void (not
empty).
* manual/pattern.texi: Remove paragraph which explained that wordexp
is executed by running a shell.
* manual/time.texi: Explain difficulties with strftime if the
functions returns 0 and no error occurred.
* math/math.h: Correct comment for some M_* constants.
(isgreater, isgreaterequal, isless, islessequal, islessgreater,
inunordered): Rewrite to make sure the arguments are evaluated
exactly once.
* nis/rpcsvc/nis.x: Undo last change.
* nis/rpcsvc/nis.h: Likewise.
* nis/rpcsvc/nislib.h: File moved back to here.
* posix/sys/types.h: Don't define socklen_t. Pretty print.
* socket/sys/socket.h (bind, getsockname, connect, sendto, recvfrom,
getsockopt, setsockopt, accept): Change size argument to type
socklen_t.
Pretty print.
* manual/socket.texi: Describe socklen_t and change prototypes of
socket functions to use socklen_t.
* sysdeps/generic/bits/socket.h: Define socklen_t.
(struct msghdr): Correct types to use socklen_t.
* sysdeps/unix/sysv/linux/bits/socket.h: Likewise.
* sysdeps/unix/sysv/linux/mips/bits/socket.h: Likewise.
* stdio-common/printf_fp.c (__printf_fp): Correct rouding of number
1.0 < x < 8.0.
* stdio-common/tfformat.c: Add new tests for above bug.
* stdlib/strtod.c: Fix typo.
* string/Makefile (headers): Add bits/string.h.
(CFLAGS-*): Add -D__NO_STRING_INLINES.
* string/string.h: Include <bits/string.h> if optimizing and
__NO_STRING_INLINES is not defined.
* sysdeps/stub/bits/string.h: New file.
* sysdeps/powerpc/bits/fenv.h: Fix typos.
* sysdeps/unix/sysv/linux/if_index.c: Let functions return ENOSYS
if SIOGIFINDEX is not defined.
* sysdeps/wordsize-32/inttypes.h: Pretty print.
* sysdeps/wordsize-64/inttypes.h: Pretty print.
* termios/cfsetspeed.c: Rewrite loop to do what it shall do.
* wcsmbs/Makefile (tests): Add tst-wcstof.
* wcsmbs/tst-wcstof.c: New file.
1997-08-01 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/__longjmp.c: Replace call to abort by infinite
loop, to avoid dragging stdio into the dynamic linker.
1997-08-02 19:44 H.J. Lu <hjl@gnu.ai.mit.edu>
* nis/nis_findserv.c (xid, xid_seed, xid_lookup): Make them
u_int32_t.
1997-08-03 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* posix/wordexp.c (parse_tilde): Fix calls to __getpwnam_r and
__getpwuid_r.
Include <stdio.h> to get prototypes of *printf.
(exec_comm): Remove unneeded variable *sh.
* libc.map: Add wordexp, wordfree.
* posix/Makefile (routines): Add wordexp.
1997-08-03 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* posix/wordexp.c: Correct typo in comment.
(wordexp): Likewise.
* manual/errno.texi (Error Codes): Fix typo.
1997-08-03 15:28 Ulrich Drepper <drepper@cygnus.com>
* csu/initfini.c (SECTION): Don't put quotes around section name
since this is not understood by all assemblers.
Patch by Klaus Espenlaub <kespenla@hydra.informatik.uni-ulm.de>.
1997-08-04 22:31:26 +08:00
|
|
|
@strong{Portability Note:} In many older Unix systems, this condition
|
1995-02-18 09:27:10 +08:00
|
|
|
was indicated by @code{EWOULDBLOCK}, which was a distinct error code
|
|
|
|
different from @code{EAGAIN}. To make your program portable, you should
|
|
|
|
check for both codes and treat them the same.
|
|
|
|
|
|
|
|
@item
|
|
|
|
A temporary resource shortage made an operation impossible. @code{fork}
|
|
|
|
can return this error. It indicates that the shortage is expected to
|
|
|
|
pass, so your program can try the call again later and it may succeed.
|
|
|
|
It is probably a good idea to delay for a few seconds before trying it
|
|
|
|
again, to allow time for other processes to release scarce resources.
|
|
|
|
Such shortages are usually fairly serious and affect the whole system,
|
|
|
|
so usually an interactive program should report the error to the user
|
|
|
|
and return to its command loop.
|
|
|
|
@end itemize
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment BSD: Operation would block
|
|
|
|
@deftypevr Macro int EWOULDBLOCK
|
|
|
|
@comment errno EAGAIN @c DO NOT REMOVE
|
|
|
|
In the GNU C library, this is another name for @code{EAGAIN} (above).
|
|
|
|
The values are always the same, on every operating system.
|
|
|
|
|
|
|
|
C libraries in many older Unix systems have @code{EWOULDBLOCK} as a
|
|
|
|
separate error code.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment BSD: Operation now in progress
|
|
|
|
@deftypevr Macro int EINPROGRESS
|
|
|
|
@comment errno 36 @c DO NOT REMOVE
|
|
|
|
An operation that cannot complete immediately was initiated on an object
|
|
|
|
that has non-blocking mode selected. Some functions that must always
|
|
|
|
block (such as @code{connect}; @pxref{Connecting}) never return
|
|
|
|
@code{EAGAIN}. Instead, they return @code{EINPROGRESS} to indicate that
|
|
|
|
the operation has begun and will take some time. Attempts to manipulate
|
|
|
|
the object before the call completes return @code{EALREADY}. You can
|
|
|
|
use the @code{select} function to find out when the pending operation
|
|
|
|
has completed; @pxref{Waiting for I/O}.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment BSD: Operation already in progress
|
|
|
|
@deftypevr Macro int EALREADY
|
|
|
|
@comment errno 37 @c DO NOT REMOVE
|
|
|
|
An operation is already in progress on an object that has non-blocking
|
|
|
|
mode selected.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment BSD: Socket operation on non-socket
|
|
|
|
@deftypevr Macro int ENOTSOCK
|
|
|
|
@comment errno 38 @c DO NOT REMOVE
|
|
|
|
A file that isn't a socket was specified when a socket is required.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment BSD: Message too long
|
|
|
|
@deftypevr Macro int EMSGSIZE
|
|
|
|
@comment errno 40 @c DO NOT REMOVE
|
|
|
|
The size of a message sent on a socket was larger than the supported
|
Wed May 22 01:48:54 1996 Ulrich Drepper <drepper@cygnus.com>
* stdlib/strtol.c [!QUAD] (ULONG_MAX, LONG_MAX): Define these
macros if they are not available.
(WEAKNAME): New macro to declare argument as weak.
Define function with __ prefix and add normal name as weak alias.
* sysdeps/posix/euidaccess.c (S_IROTH, S_IWOTH, S_IXOTH): Defines
these macros if not already available based on R_OK, W_OK, and
X_OK.
Tue May 21 18:48:46 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* misc/sys/syslog.h (__need___va_list): Define this instead of
__need_va_list before including <stdarg.h>.
* Makerules (o-iterator): Use $(object-suffixes-left) instead
of $(object-suffixes) to produce repetitions; this is used for other
lists than just that one.
[versioned]: Use $(o-iterator) properly.
* sysdeps/unix/sysv/linux/Implies: Include `gnu'.
* sysdeps/mach/hurd/Implies: Likewise.
Sat May 18 02:57:46 1996 Ulrich Drepper <drepper@cygnus.com>
* login/Makefile: New file. This directory contains functions
for user administration.
* Makefile (subdirs): Add login.
* misc/Makefile (headers): Remove utmp.h. Now in login/utmp.h.
(extra-libs, libutil-routines): Ditto.
* misc/login.c, misc/login_tty.c, misc/logout.c, misc/logwtmp.c,
misc/utmp.h: Moved to misc/.
* login/login.c, login/login_tty.c, login/logout.c,
login/logwtmp.c, login/utmp.h: Moved to here from misc/.
* login/utmp.h: Split file. Definitions of data structures
and constants are now in the system dependent utmpbits.h file.
* login/setutent_r.c, login/setutent.c, login/endutent_r.c,
login/endutent.c, login/getutent_r.c, login/getutent.c,
login/getutid_r.c, login/getutid.c, login/getutline_r.c,
login/getutline.c, login/pututline_r.c, login/pututline.c:
New files. Routines to handle utmp-style files.
* sysdeps/gnu/utmpbits.h: New file. Contains GNU/Linux
specific definitions of utmp data structures and constants.
* sysdeps/unix/sysv/utmpbits.h: Renamed from sysdeps/unix/sysv/utmp.h.
* sysdeps/generic/utmpbits.h: New file. Generic (BSDish) version of
definitions of utmp data structures and constants.
Fri May 17 00:01:31 1996 Ulrich Drepper <drepper@cygnus.com>
* locale/C-monetary.c: Default value for mon_decimal_point should be
'.'.
* stdio-common/printf.h: Remove Linux libc compatibility stuff.
Add `extra' flag. Currently used in __printf_fp.
* stdio-common/printf_fp.c (__guess_grouping): Renamed from
`guess_grouping' and extend visibility to extern. This function
is now used in `strfmon'.
(__printf_fp): Recognize new bit flag in info struct. This
triggers to use the grouping information and decimal point from
the LC_MONETARY category instead of the LC_NUMERIC category.
* stdio-common/vfprintf.c (process_arg): Correct major bug. In
`complicated' loop we must not use the varargs because the args
are already available in the ARGS_VALUE array.
* stdlib/Makefile (headers): Add monetary.h.
(routines): Add strfmon.
* stdlib/monetary.h: New file. Header for strfmon function.
* stdlib/strfmon.c: New file. Implement strfmon function to print
monetary amounts according to current locale's rules.
* sysdeps/unix/sysv/linux/i386/sys/vm86.h: The kernel header is
now (>= Linux-1.3.100) called <asm/vm86.h>.
1996-05-22 10:11:55 +08:00
|
|
|
maximum size.
|
1995-02-18 09:27:10 +08:00
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment BSD: Protocol wrong type for socket
|
|
|
|
@deftypevr Macro int EPROTOTYPE
|
|
|
|
@comment errno 41 @c DO NOT REMOVE
|
|
|
|
The socket type does not support the requested communications protocol.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment BSD: Protocol not available
|
|
|
|
@deftypevr Macro int ENOPROTOOPT
|
|
|
|
@comment errno 42 @c DO NOT REMOVE
|
|
|
|
You specified a socket option that doesn't make sense for the
|
|
|
|
particular protocol being used by the socket. @xref{Socket Options}.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment BSD: Protocol not supported
|
|
|
|
@deftypevr Macro int EPROTONOSUPPORT
|
|
|
|
@comment errno 43 @c DO NOT REMOVE
|
|
|
|
The socket domain does not support the requested communications protocol
|
1998-06-02 20:58:14 +08:00
|
|
|
(perhaps because the requested protocol is completely invalid).
|
1995-02-18 09:27:10 +08:00
|
|
|
@xref{Creating a Socket}.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment BSD: Socket type not supported
|
|
|
|
@deftypevr Macro int ESOCKTNOSUPPORT
|
|
|
|
@comment errno 44 @c DO NOT REMOVE
|
|
|
|
The socket type is not supported.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment BSD: Operation not supported
|
|
|
|
@deftypevr Macro int EOPNOTSUPP
|
|
|
|
@comment errno 45 @c DO NOT REMOVE
|
|
|
|
The operation you requested is not supported. Some socket functions
|
|
|
|
don't make sense for all types of sockets, and others may not be
|
|
|
|
implemented for all communications protocols. In the GNU system, this
|
|
|
|
error can happen for many calls when the object does not support the
|
|
|
|
particular operation; it is a generic indication that the server knows
|
|
|
|
nothing to do for that call.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment BSD: Protocol family not supported
|
|
|
|
@deftypevr Macro int EPFNOSUPPORT
|
|
|
|
@comment errno 46 @c DO NOT REMOVE
|
|
|
|
The socket communications protocol family you requested is not supported.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
1996-06-04 09:41:11 +08:00
|
|
|
@comment BSD: Address family not supported by protocol
|
1995-02-18 09:27:10 +08:00
|
|
|
@deftypevr Macro int EAFNOSUPPORT
|
|
|
|
@comment errno 47 @c DO NOT REMOVE
|
|
|
|
The address family specified for a socket is not supported; it is
|
|
|
|
inconsistent with the protocol being used on the socket. @xref{Sockets}.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment BSD: Address already in use
|
|
|
|
@deftypevr Macro int EADDRINUSE
|
|
|
|
@comment errno 48 @c DO NOT REMOVE
|
|
|
|
The requested socket address is already in use. @xref{Socket Addresses}.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
1996-06-04 09:41:11 +08:00
|
|
|
@comment BSD: Cannot assign requested address
|
1995-02-18 09:27:10 +08:00
|
|
|
@deftypevr Macro int EADDRNOTAVAIL
|
|
|
|
@comment errno 49 @c DO NOT REMOVE
|
|
|
|
The requested socket address is not available; for example, you tried
|
|
|
|
to give a socket a name that doesn't match the local host name.
|
|
|
|
@xref{Socket Addresses}.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment BSD: Network is down
|
|
|
|
@deftypevr Macro int ENETDOWN
|
|
|
|
@comment errno 50 @c DO NOT REMOVE
|
|
|
|
A socket operation failed because the network was down.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment BSD: Network is unreachable
|
|
|
|
@deftypevr Macro int ENETUNREACH
|
|
|
|
@comment errno 51 @c DO NOT REMOVE
|
|
|
|
A socket operation failed because the subnet containing the remote host
|
|
|
|
was unreachable.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment BSD: Network dropped connection on reset
|
|
|
|
@deftypevr Macro int ENETRESET
|
|
|
|
@comment errno 52 @c DO NOT REMOVE
|
|
|
|
A network connection was reset because the remote host crashed.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment BSD: Software caused connection abort
|
|
|
|
@deftypevr Macro int ECONNABORTED
|
|
|
|
@comment errno 53 @c DO NOT REMOVE
|
|
|
|
A network connection was aborted locally.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment BSD: Connection reset by peer
|
|
|
|
@deftypevr Macro int ECONNRESET
|
|
|
|
@comment errno 54 @c DO NOT REMOVE
|
|
|
|
A network connection was closed for reasons outside the control of the
|
|
|
|
local host, such as by the remote machine rebooting or an unrecoverable
|
|
|
|
protocol violation.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment BSD: No buffer space available
|
|
|
|
@deftypevr Macro int ENOBUFS
|
|
|
|
@comment errno 55 @c DO NOT REMOVE
|
|
|
|
The kernel's buffers for I/O operations are all in use. In GNU, this
|
|
|
|
error is always synonymous with @code{ENOMEM}; you may get one or the
|
|
|
|
other from network operations.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
1996-06-04 09:41:11 +08:00
|
|
|
@comment BSD: Transport endpoint is already connected
|
1995-02-18 09:27:10 +08:00
|
|
|
@deftypevr Macro int EISCONN
|
|
|
|
@comment errno 56 @c DO NOT REMOVE
|
|
|
|
You tried to connect a socket that is already connected.
|
|
|
|
@xref{Connecting}.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
1996-06-04 09:41:11 +08:00
|
|
|
@comment BSD: Transport endpoint is not connected
|
1995-02-18 09:27:10 +08:00
|
|
|
@deftypevr Macro int ENOTCONN
|
|
|
|
@comment errno 57 @c DO NOT REMOVE
|
|
|
|
The socket is not connected to anything. You get this error when you
|
|
|
|
try to transmit data over a socket, without first specifying a
|
|
|
|
destination for the data. For a connectionless socket (for datagram
|
|
|
|
protocols, such as UDP), you get @code{EDESTADDRREQ} instead.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment BSD: Destination address required
|
|
|
|
@deftypevr Macro int EDESTADDRREQ
|
|
|
|
@comment errno 39 @c DO NOT REMOVE
|
|
|
|
No default destination address was set for the socket. You get this
|
|
|
|
error when you try to transmit data over a connectionless socket,
|
|
|
|
without first specifying a destination for the data with @code{connect}.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
1996-06-04 09:41:11 +08:00
|
|
|
@comment BSD: Cannot send after transport endpoint shutdown
|
1995-02-18 09:27:10 +08:00
|
|
|
@deftypevr Macro int ESHUTDOWN
|
|
|
|
@comment errno 58 @c DO NOT REMOVE
|
|
|
|
The socket has already been shut down.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
1996-06-04 09:41:11 +08:00
|
|
|
@comment BSD: Too many references: cannot splice
|
1995-02-18 09:27:10 +08:00
|
|
|
@deftypevr Macro int ETOOMANYREFS
|
|
|
|
@comment errno 59 @c DO NOT REMOVE
|
|
|
|
???
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment BSD: Connection timed out
|
|
|
|
@deftypevr Macro int ETIMEDOUT
|
|
|
|
@comment errno 60 @c DO NOT REMOVE
|
|
|
|
A socket operation with a specified timeout received no response during
|
|
|
|
the timeout period.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment BSD: Connection refused
|
|
|
|
@deftypevr Macro int ECONNREFUSED
|
|
|
|
@comment errno 61 @c DO NOT REMOVE
|
|
|
|
A remote host refused to allow the network connection (typically because
|
|
|
|
it is not running the requested service).
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment BSD: Too many levels of symbolic links
|
|
|
|
@deftypevr Macro int ELOOP
|
|
|
|
@comment errno 62 @c DO NOT REMOVE
|
|
|
|
Too many levels of symbolic links were encountered in looking up a file name.
|
|
|
|
This often indicates a cycle of symbolic links.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment POSIX.1: File name too long
|
|
|
|
@deftypevr Macro int ENAMETOOLONG
|
|
|
|
@comment errno 63 @c DO NOT REMOVE
|
|
|
|
Filename too long (longer than @code{PATH_MAX}; @pxref{Limits for
|
|
|
|
Files}) or host name too long (in @code{gethostname} or
|
|
|
|
@code{sethostname}; @pxref{Host Identification}).
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment BSD: Host is down
|
|
|
|
@deftypevr Macro int EHOSTDOWN
|
|
|
|
@comment errno 64 @c DO NOT REMOVE
|
|
|
|
The remote host for a requested network connection is down.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment BSD: No route to host
|
|
|
|
@deftypevr Macro int EHOSTUNREACH
|
|
|
|
@comment errno 65 @c DO NOT REMOVE
|
|
|
|
The remote host for a requested network connection is not reachable.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment POSIX.1: Directory not empty
|
|
|
|
@deftypevr Macro int ENOTEMPTY
|
|
|
|
@comment errno 66 @c DO NOT REMOVE
|
|
|
|
Directory not empty, where an empty directory was expected. Typically,
|
|
|
|
this error occurs when you are trying to delete a directory.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment BSD: Too many processes
|
|
|
|
@deftypevr Macro int EPROCLIM
|
|
|
|
@comment errno 67 @c DO NOT REMOVE
|
|
|
|
This means that the per-user limit on new process would be exceeded by
|
|
|
|
an attempted @code{fork}. @xref{Limits on Resources}, for details on
|
|
|
|
the @code{RLIMIT_NPROC} limit.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment BSD: Too many users
|
|
|
|
@deftypevr Macro int EUSERS
|
|
|
|
@comment errno 68 @c DO NOT REMOVE
|
|
|
|
The file quota system is confused because there are too many users.
|
|
|
|
@c This can probably happen in a GNU system when using NFS.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
1998-12-23 21:13:49 +08:00
|
|
|
@comment BSD: Disk quota exceeded
|
1995-02-18 09:27:10 +08:00
|
|
|
@deftypevr Macro int EDQUOT
|
|
|
|
@comment errno 69 @c DO NOT REMOVE
|
|
|
|
The user's disk quota was exceeded.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment BSD: Stale NFS file handle
|
|
|
|
@deftypevr Macro int ESTALE
|
|
|
|
@comment errno 70 @c DO NOT REMOVE
|
|
|
|
Stale NFS file handle. This indicates an internal confusion in the NFS
|
|
|
|
system which is due to file system rearrangements on the server host.
|
|
|
|
Repairing this condition usually requires unmounting and remounting
|
|
|
|
the NFS file system on the local host.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
1996-06-04 09:41:11 +08:00
|
|
|
@comment BSD: Object is remote
|
1995-02-18 09:27:10 +08:00
|
|
|
@deftypevr Macro int EREMOTE
|
|
|
|
@comment errno 71 @c DO NOT REMOVE
|
|
|
|
An attempt was made to NFS-mount a remote file system with a file name that
|
|
|
|
already specifies an NFS-mounted file.
|
|
|
|
(This is an error on some operating systems, but we expect it to work
|
|
|
|
properly on the GNU system, making this error code impossible.)
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment BSD: RPC struct is bad
|
|
|
|
@deftypevr Macro int EBADRPC
|
|
|
|
@comment errno 72 @c DO NOT REMOVE
|
|
|
|
???
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment BSD: RPC version wrong
|
|
|
|
@deftypevr Macro int ERPCMISMATCH
|
|
|
|
@comment errno 73 @c DO NOT REMOVE
|
|
|
|
???
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment BSD: RPC program not available
|
|
|
|
@deftypevr Macro int EPROGUNAVAIL
|
|
|
|
@comment errno 74 @c DO NOT REMOVE
|
|
|
|
???
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment BSD: RPC program version wrong
|
|
|
|
@deftypevr Macro int EPROGMISMATCH
|
|
|
|
@comment errno 75 @c DO NOT REMOVE
|
|
|
|
???
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment BSD: RPC bad procedure for program
|
|
|
|
@deftypevr Macro int EPROCUNAVAIL
|
|
|
|
@comment errno 76 @c DO NOT REMOVE
|
|
|
|
???
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment POSIX.1: No locks available
|
|
|
|
@deftypevr Macro int ENOLCK
|
|
|
|
@comment errno 77 @c DO NOT REMOVE
|
|
|
|
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
|
|
|
|
it can result from an operation to an NFS server running another
|
|
|
|
operating system.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment BSD: Inappropriate file type or format
|
|
|
|
@deftypevr Macro int EFTYPE
|
|
|
|
@comment errno 79 @c DO NOT REMOVE
|
|
|
|
Inappropriate file type or format. The file was the wrong type for the
|
|
|
|
operation, or a data file had the wrong format.
|
|
|
|
|
|
|
|
On some systems @code{chmod} returns this error if you try to set the
|
|
|
|
sticky bit on a non-directory file; @pxref{Setting Permissions}.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment BSD: Authentication error
|
|
|
|
@deftypevr Macro int EAUTH
|
|
|
|
@comment errno 80 @c DO NOT REMOVE
|
|
|
|
???
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment BSD: Need authenticator
|
|
|
|
@deftypevr Macro int ENEEDAUTH
|
|
|
|
@comment errno 81 @c DO NOT REMOVE
|
|
|
|
???
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment POSIX.1: Function not implemented
|
|
|
|
@deftypevr Macro int ENOSYS
|
|
|
|
@comment errno 78 @c DO NOT REMOVE
|
1999-01-22 07:25:25 +08:00
|
|
|
Function not implemented. This indicates that the function called is
|
|
|
|
not implemented at all, either in the C library itself or in the
|
|
|
|
operating system. When you get this error, you can be sure that this
|
|
|
|
particular function will always fail with @code{ENOSYS} unless you
|
|
|
|
install a new version of the C library or the operating system.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment POSIX.1: Not supported
|
|
|
|
@deftypevr Macro int ENOTSUP
|
|
|
|
@comment errno 118 @c DO NOT REMOVE
|
|
|
|
Not supported. A function returns this error when certain parameter
|
|
|
|
values are valid, but the functionality they request is not available.
|
|
|
|
This can mean that the function does not implement a particular command
|
|
|
|
or option value or flag bit at all. For functions that operate on some
|
|
|
|
object given in a parameter, such as a file descriptor or a port, it
|
|
|
|
might instead mean that only @emph{that specific object} (file
|
|
|
|
descriptor, port, etc.) is unable to support the other parameters given;
|
|
|
|
different file descriptors might support different ranges of parameter
|
|
|
|
values.
|
|
|
|
|
|
|
|
If the entire function is not available at all in the implementation,
|
|
|
|
it returns @code{ENOSYS} instead.
|
1995-02-18 09:27:10 +08:00
|
|
|
@end deftypevr
|
|
|
|
|
Wed May 22 01:48:54 1996 Ulrich Drepper <drepper@cygnus.com>
* stdlib/strtol.c [!QUAD] (ULONG_MAX, LONG_MAX): Define these
macros if they are not available.
(WEAKNAME): New macro to declare argument as weak.
Define function with __ prefix and add normal name as weak alias.
* sysdeps/posix/euidaccess.c (S_IROTH, S_IWOTH, S_IXOTH): Defines
these macros if not already available based on R_OK, W_OK, and
X_OK.
Tue May 21 18:48:46 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* misc/sys/syslog.h (__need___va_list): Define this instead of
__need_va_list before including <stdarg.h>.
* Makerules (o-iterator): Use $(object-suffixes-left) instead
of $(object-suffixes) to produce repetitions; this is used for other
lists than just that one.
[versioned]: Use $(o-iterator) properly.
* sysdeps/unix/sysv/linux/Implies: Include `gnu'.
* sysdeps/mach/hurd/Implies: Likewise.
Sat May 18 02:57:46 1996 Ulrich Drepper <drepper@cygnus.com>
* login/Makefile: New file. This directory contains functions
for user administration.
* Makefile (subdirs): Add login.
* misc/Makefile (headers): Remove utmp.h. Now in login/utmp.h.
(extra-libs, libutil-routines): Ditto.
* misc/login.c, misc/login_tty.c, misc/logout.c, misc/logwtmp.c,
misc/utmp.h: Moved to misc/.
* login/login.c, login/login_tty.c, login/logout.c,
login/logwtmp.c, login/utmp.h: Moved to here from misc/.
* login/utmp.h: Split file. Definitions of data structures
and constants are now in the system dependent utmpbits.h file.
* login/setutent_r.c, login/setutent.c, login/endutent_r.c,
login/endutent.c, login/getutent_r.c, login/getutent.c,
login/getutid_r.c, login/getutid.c, login/getutline_r.c,
login/getutline.c, login/pututline_r.c, login/pututline.c:
New files. Routines to handle utmp-style files.
* sysdeps/gnu/utmpbits.h: New file. Contains GNU/Linux
specific definitions of utmp data structures and constants.
* sysdeps/unix/sysv/utmpbits.h: Renamed from sysdeps/unix/sysv/utmp.h.
* sysdeps/generic/utmpbits.h: New file. Generic (BSDish) version of
definitions of utmp data structures and constants.
Fri May 17 00:01:31 1996 Ulrich Drepper <drepper@cygnus.com>
* locale/C-monetary.c: Default value for mon_decimal_point should be
'.'.
* stdio-common/printf.h: Remove Linux libc compatibility stuff.
Add `extra' flag. Currently used in __printf_fp.
* stdio-common/printf_fp.c (__guess_grouping): Renamed from
`guess_grouping' and extend visibility to extern. This function
is now used in `strfmon'.
(__printf_fp): Recognize new bit flag in info struct. This
triggers to use the grouping information and decimal point from
the LC_MONETARY category instead of the LC_NUMERIC category.
* stdio-common/vfprintf.c (process_arg): Correct major bug. In
`complicated' loop we must not use the varargs because the args
are already available in the ARGS_VALUE array.
* stdlib/Makefile (headers): Add monetary.h.
(routines): Add strfmon.
* stdlib/monetary.h: New file. Header for strfmon function.
* stdlib/strfmon.c: New file. Implement strfmon function to print
monetary amounts according to current locale's rules.
* sysdeps/unix/sysv/linux/i386/sys/vm86.h: The kernel header is
now (>= Linux-1.3.100) called <asm/vm86.h>.
1996-05-22 10:11:55 +08:00
|
|
|
@comment errno.h
|
Wed May 22 22:10:01 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* stdlib/canonicalize.c: New file.
* stdlib/stdlib.h: Declare canonicalize_file_name, realpath.
* stdlib/Makefile (routines): Add canonicalize.
* posix/unistd.h: Declare __canonicalize_directory_name_internal.
Thu May 23 00:01:10 1996 Ulrich Drepper <drepper@cygnus.com>
* db/recno/rec_seq.c: Prevent `sccsid' definition by using the
same #if condition as in the other db files.
* intl/Makefile: Add -Wno-unused CFLAGS for compilation of
bindtextdom.c, finddomain.c, and localealias.c.
* intl/dcgettext.c: Don't define prototype for getcwd() when
compiling in glibc.
* libio/cleanup.c: Add prototype for _IO_register_cleanup.
* libio/filedoalloc.c, libio/fileops.c, libio/iopopen.c: Don't
define _POSIX_SOURCE unconditionally.
* libio/filedoalloc.c, libio/iopopen.c: Include <unistd.h> if
compiling in glibc.
* libio/fileops.c (_IO_file_close_it): Don't sync file, call
flush instead. This relaxes the rules from POSIX.1 about
changing the active handle a bit.
* libio/iofopncook.c (struct _IO_cookie_file): Move definition
into <libio.h>.
Add prototypes for local functions to prevent warnings.
* libio/iopopen.c: Change prototypes for _IO_fork, _IO_pipe, and
_IO_DUP2 to contain complete parameter list.
* libio/libio.h: Add definition of struct _IO_cookie_file.
* libio/libioP.h: Add prototypes for _IO_vasprintf, _IO_vdprintf,
and _IO_vsnprintf.
* libio/memstream.c: Include <stdio.h>.
* libio/stdio.h: Add prototypes for fopencookie,
__stdio_gen_tempname, __vfscanf, __vsscanf, and __vsnprintf.
* libio/strops.c: Avoid useless expression in `for' initializer.
* locale/findlocale.c: Add some casts to prevent warnings.
* locale/programs/locfile.c (write_locale_data): Don't use
double `/' in locale binary file.
* posix/unistd.h: Remove prototype for `reboot'.
Update from bind-4.9.4-T1A.
* resolv/Makefile (routines): Add inet_ntop and inet_pton.
* resolv/arpa/nameser.h: Add definition of IN6ADDRSZ.
* resolv/gethnamaddr.c, resolv/getnetnamadr.c, resolv/res_comp.c,
resolv/res_debug.c, resolv/res_init.c
* resolv/inet_ntop.c, resolv/inet_pton.c: New files.
* resolv/resolv.h: Add RES_USE_INET6 flag.
(__dn_isvalid): Renamed to __res_dnok.
Add prototypes for __res_ownok and __res_mailok.
* stdio-common/Makefile: Add -Wno-unused to CFLAGS for _itoa.c.
* stdio-common/getline.c, stdio-common/vfscanf.c,
sysdeps/posix/tempname.c: Don't use <ansidecl.h> anymore.
* sysdeps/unix/sysv/linux/Makefile [$subdir == misc]
(sysdep_routines): Add s_reboot.
(install-others): Add $(includedir)/sys/syscall.h.
New rule for $(includedir)/sys/syscall.h to produce from
<asm/unistd.h>.
* sysdeps/unix/sysv/linux/reboot.c: New file. Make single
argument function call 3 argument system call.
* sysdeps/unix/sysv/linux/sys/reboot.h: New file. Linux specific
definition for reboot function.
* sysdeps/unix/sysv/linux/syscall.h: Remove old and obsolete
comment.
* sysdeps/unix/sysv/linux/syscalls.list: Rename function for
reboot syscall to __syscall_reboot.
* wcsmbs/wchar.h: Protect prototypes for wcstof and wcstold by
__USE_GNU, not USE_GNU.
Tue May 21 21:55:49 1996 David Mosberger-Tang <davidm@AZStarNet.com>
* locale/programs/charset.c, locale/programs/ld-collate.c:
Add casts to prevent warnings on 64-bit machines.
* locale/programs/ld-monetary.c: Don't do unnecessary tests for
int_frac_digits and frac_digits which only produce warnings.
Mon May 13 23:45:29 1996 David Mosberger-Tang <davidm@AZStarNet.com>
* inet/arpa/inet.h: Backup return type of inet_addr to u_long.
* resolv/inet_addr.c: Likewise.
* resolv/Makefile (distribute): Add res_hconf.h
(routines): Add res_hconf.
* resolv/gethnamaddr.c: Add support for /etc/host.conf.
* resolv/res_init.c: Initialize /etc/host.conf reader.
* resolv/res_hconf.c, resolv/res_hconf.h: New files.
Implementation of reading /etc/host.conf.
Wed May 22 21:21:15 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* Rules (%.out rules): Prepend $($*-ENV) to the command.
* sysdeps/unix/sysv/linux/i386/brk.c (___brk_addr): Define as weak
alias for __curbrk.
Wed May 22 19:37:27 1996 Miles Bader <miles@gnu.ai.mit.edu>
* hurd/hurdexec.c (_hurd_exec): Pass INIT_TRACEMASK.
* hurd/hurdmsg.c (set_int): Support INIT_TRACEMASK.
Wed May 22 18:47:31 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* sysdeps/mach/hurd/getcwd.c
(_hurd_canonicalize_directory_name_internal): New function, broken out
of __getcwd.
(__getcwd): Use it.
(__canonicalize_directory_name_internal): New function using it.
* sysdeps/posix/getcwd.c (__canonicalize_directory_name_internal): New
function, broken out of __getcwd.
(__getcwd): Use it.
Wed May 22 18:14:05 1996 Miles Bader <miles@gnu.ai.mit.edu>
* string/argz-create.c (__argz_create): Correctly calculate length.
* string/argz-extract.c (__argz_extract): Add terminating 0 entry.
* hurd/hurdstartup.c (_hurd_startup): ... and don't so here.
[HAVE_VMSDIR_H]: Include "vmsdir.h".
(glob) [VMS]: Don't grok ~.
1996-05-23 11:15:42 +08:00
|
|
|
@comment ISO: Invalid or incomplete multibyte or wide character
|
Wed May 22 01:48:54 1996 Ulrich Drepper <drepper@cygnus.com>
* stdlib/strtol.c [!QUAD] (ULONG_MAX, LONG_MAX): Define these
macros if they are not available.
(WEAKNAME): New macro to declare argument as weak.
Define function with __ prefix and add normal name as weak alias.
* sysdeps/posix/euidaccess.c (S_IROTH, S_IWOTH, S_IXOTH): Defines
these macros if not already available based on R_OK, W_OK, and
X_OK.
Tue May 21 18:48:46 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* misc/sys/syslog.h (__need___va_list): Define this instead of
__need_va_list before including <stdarg.h>.
* Makerules (o-iterator): Use $(object-suffixes-left) instead
of $(object-suffixes) to produce repetitions; this is used for other
lists than just that one.
[versioned]: Use $(o-iterator) properly.
* sysdeps/unix/sysv/linux/Implies: Include `gnu'.
* sysdeps/mach/hurd/Implies: Likewise.
Sat May 18 02:57:46 1996 Ulrich Drepper <drepper@cygnus.com>
* login/Makefile: New file. This directory contains functions
for user administration.
* Makefile (subdirs): Add login.
* misc/Makefile (headers): Remove utmp.h. Now in login/utmp.h.
(extra-libs, libutil-routines): Ditto.
* misc/login.c, misc/login_tty.c, misc/logout.c, misc/logwtmp.c,
misc/utmp.h: Moved to misc/.
* login/login.c, login/login_tty.c, login/logout.c,
login/logwtmp.c, login/utmp.h: Moved to here from misc/.
* login/utmp.h: Split file. Definitions of data structures
and constants are now in the system dependent utmpbits.h file.
* login/setutent_r.c, login/setutent.c, login/endutent_r.c,
login/endutent.c, login/getutent_r.c, login/getutent.c,
login/getutid_r.c, login/getutid.c, login/getutline_r.c,
login/getutline.c, login/pututline_r.c, login/pututline.c:
New files. Routines to handle utmp-style files.
* sysdeps/gnu/utmpbits.h: New file. Contains GNU/Linux
specific definitions of utmp data structures and constants.
* sysdeps/unix/sysv/utmpbits.h: Renamed from sysdeps/unix/sysv/utmp.h.
* sysdeps/generic/utmpbits.h: New file. Generic (BSDish) version of
definitions of utmp data structures and constants.
Fri May 17 00:01:31 1996 Ulrich Drepper <drepper@cygnus.com>
* locale/C-monetary.c: Default value for mon_decimal_point should be
'.'.
* stdio-common/printf.h: Remove Linux libc compatibility stuff.
Add `extra' flag. Currently used in __printf_fp.
* stdio-common/printf_fp.c (__guess_grouping): Renamed from
`guess_grouping' and extend visibility to extern. This function
is now used in `strfmon'.
(__printf_fp): Recognize new bit flag in info struct. This
triggers to use the grouping information and decimal point from
the LC_MONETARY category instead of the LC_NUMERIC category.
* stdio-common/vfprintf.c (process_arg): Correct major bug. In
`complicated' loop we must not use the varargs because the args
are already available in the ARGS_VALUE array.
* stdlib/Makefile (headers): Add monetary.h.
(routines): Add strfmon.
* stdlib/monetary.h: New file. Header for strfmon function.
* stdlib/strfmon.c: New file. Implement strfmon function to print
monetary amounts according to current locale's rules.
* sysdeps/unix/sysv/linux/i386/sys/vm86.h: The kernel header is
now (>= Linux-1.3.100) called <asm/vm86.h>.
1996-05-22 10:11:55 +08:00
|
|
|
@deftypevr Macro int EILSEQ
|
|
|
|
@comment errno 106 @c DO NOT REMOVE
|
|
|
|
While decoding a multibyte character the function came along an invalid
|
|
|
|
or an incomplete sequence of bytes or the given wide character is invalid.
|
|
|
|
@end deftypevr
|
|
|
|
|
1995-02-18 09:27:10 +08:00
|
|
|
@comment errno.h
|
|
|
|
@comment GNU: Inappropriate operation for background process
|
|
|
|
@deftypevr Macro int EBACKGROUND
|
|
|
|
@comment errno 100 @c DO NOT REMOVE
|
|
|
|
In the GNU system, servers supporting the @code{term} protocol return
|
|
|
|
this error for certain operations when the caller is not in the
|
|
|
|
foreground process group of the terminal. Users do not usually see this
|
|
|
|
error because functions such as @code{read} and @code{write} translate
|
|
|
|
it into a @code{SIGTTIN} or @code{SIGTTOU} signal. @xref{Job Control},
|
|
|
|
for information on process groups and these signals.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment GNU: Translator died
|
|
|
|
@deftypevr Macro int EDIED
|
|
|
|
@comment errno 101 @c DO NOT REMOVE
|
|
|
|
In the GNU system, opening a file returns this error when the file is
|
|
|
|
translated by a program and the translator program dies while starting
|
|
|
|
up, before it has connected to the file.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment GNU: ?
|
|
|
|
@deftypevr Macro int ED
|
|
|
|
@comment errno 102 @c DO NOT REMOVE
|
|
|
|
The experienced user will know what is wrong.
|
1996-07-15 01:48:00 +08:00
|
|
|
@c This error code is a joke. Its perror text is part of the joke.
|
|
|
|
@c Don't change it.
|
1995-02-18 09:27:10 +08:00
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment GNU: You really blew it this time
|
|
|
|
@deftypevr Macro int EGREGIOUS
|
|
|
|
@comment errno 103 @c DO NOT REMOVE
|
|
|
|
You did @strong{what}?
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment GNU: Computer bought the farm
|
|
|
|
@deftypevr Macro int EIEIO
|
|
|
|
@comment errno 104 @c DO NOT REMOVE
|
|
|
|
Go home and have a glass of warm, dairy-fresh milk.
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment GNU: Gratuitous error
|
|
|
|
@deftypevr Macro int EGRATUITOUS
|
|
|
|
@comment errno 105 @c DO NOT REMOVE
|
|
|
|
This error code has no purpose.
|
|
|
|
@end deftypevr
|
|
|
|
|
1996-11-16 03:50:04 +08:00
|
|
|
@comment errno.h
|
|
|
|
@comment XOPEN: Bad message
|
|
|
|
@deftypevr Macro int EBADMSG
|
|
|
|
@comment errno 107
|
|
|
|
@end deftypevr
|
1996-06-04 09:41:11 +08:00
|
|
|
|
|
|
|
@comment errno.h
|
1996-11-16 03:50:04 +08:00
|
|
|
@comment XOPEN: Identifier removed
|
|
|
|
@deftypevr Macro int EIDRM
|
|
|
|
@comment errno 108
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment XOPEN: Multihop attempted
|
|
|
|
@deftypevr Macro int EMULTIHOP
|
|
|
|
@comment errno 109
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment XOPEN: No data available
|
|
|
|
@deftypevr Macro int ENODATA
|
|
|
|
@comment errno 110
|
1996-06-04 09:41:11 +08:00
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
1996-11-16 03:50:04 +08:00
|
|
|
@comment XOPEN: Link has been severed
|
|
|
|
@deftypevr Macro int ENOLINK
|
|
|
|
@comment errno 111
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment XOPEN: No message of desired type
|
1996-06-04 09:41:11 +08:00
|
|
|
@deftypevr Macro int ENOMSG
|
1996-11-16 03:50:04 +08:00
|
|
|
@comment errno 112
|
1996-06-04 09:41:11 +08:00
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
1996-11-16 03:50:04 +08:00
|
|
|
@comment XOPEN: Out of streams resources
|
|
|
|
@deftypevr Macro int ENOSR
|
|
|
|
@comment errno 113
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment XOPEN: Device not a stream
|
|
|
|
@deftypevr Macro int ENOSTR
|
|
|
|
@comment errno 114
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment XOPEN: Value too large for defined data type
|
|
|
|
@deftypevr Macro int EOVERFLOW
|
|
|
|
@comment errno 115
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment XOPEN: Protocol error
|
|
|
|
@deftypevr Macro int EPROTO
|
|
|
|
@comment errno 116
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment XOPEN: Timer expired
|
|
|
|
@deftypevr Macro int ETIME
|
|
|
|
@comment errno 117
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
|
|
|
|
@emph{The following error codes are defined by the Linux/i386 kernel.
|
|
|
|
They are not yet documented.}
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment Linux???: Interrupted system call should be restarted
|
|
|
|
@deftypevr Macro int ERESTART
|
|
|
|
@comment errno ???/85
|
1996-06-04 09:41:11 +08:00
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment Linux???: Channel number out of range
|
|
|
|
@deftypevr Macro int ECHRNG
|
|
|
|
@comment errno ???/44
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
1998-03-19 22:32:08 +08:00
|
|
|
@comment Obsolete: Level 2 not synchronized
|
1996-06-04 09:41:11 +08:00
|
|
|
@deftypevr Macro int EL2NSYNC
|
|
|
|
@comment errno ???/45
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
1998-03-19 22:32:08 +08:00
|
|
|
@comment Obsolete: Level 3 halted
|
1996-06-04 09:41:11 +08:00
|
|
|
@deftypevr Macro int EL3HLT
|
|
|
|
@comment errno ???/46
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
1998-03-19 22:32:08 +08:00
|
|
|
@comment Obsolete: Level 3 reset
|
1996-06-04 09:41:11 +08:00
|
|
|
@deftypevr Macro int EL3RST
|
|
|
|
@comment errno ???/47
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment Linux???: Link number out of range
|
|
|
|
@deftypevr Macro int ELNRNG
|
|
|
|
@comment errno ???/48
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment Linux???: Protocol driver not attached
|
|
|
|
@deftypevr Macro int EUNATCH
|
|
|
|
@comment errno ???/49
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment Linux???: No CSI structure available
|
|
|
|
@deftypevr Macro int ENOCSI
|
|
|
|
@comment errno ???/50
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
1998-03-19 22:32:08 +08:00
|
|
|
@comment Obsolete: Level 2 halted
|
1996-06-04 09:41:11 +08:00
|
|
|
@deftypevr Macro int EL2HLT
|
|
|
|
@comment errno ???/51
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment Linux???: Invalid exchange
|
|
|
|
@deftypevr Macro int EBADE
|
|
|
|
@comment errno ???/52
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment Linux???: Invalid request descriptor
|
|
|
|
@deftypevr Macro int EBADR
|
|
|
|
@comment errno ???/53
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment Linux???: Exchange full
|
|
|
|
@deftypevr Macro int EXFULL
|
|
|
|
@comment errno ???/54
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment Linux???: No anode
|
|
|
|
@deftypevr Macro int ENOANO
|
|
|
|
@comment errno ???/55
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment Linux???: Invalid request code
|
|
|
|
@deftypevr Macro int EBADRQC
|
|
|
|
@comment errno ???/56
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment Linux???: Invalid slot
|
|
|
|
@deftypevr Macro int EBADSLT
|
|
|
|
@comment errno ???/57
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment Linux???: File locking deadlock error
|
|
|
|
@deftypevr Macro int EDEADLOCK
|
|
|
|
@comment errno ???/58
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment Linux???: Bad font file format
|
|
|
|
@deftypevr Macro int EBFONT
|
|
|
|
@comment errno ???/59
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment Linux???: Machine is not on the network
|
|
|
|
@deftypevr Macro int ENONET
|
|
|
|
@comment errno ???/64
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment Linux???: Package not installed
|
|
|
|
@deftypevr Macro int ENOPKG
|
|
|
|
@comment errno ???/65
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment Linux???: Advertise error
|
|
|
|
@deftypevr Macro int EADV
|
|
|
|
@comment errno ???/68
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment Linux???: Srmount error
|
|
|
|
@deftypevr Macro int ESRMNT
|
|
|
|
@comment errno ???/69
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment Linux???: Communication error on send
|
|
|
|
@deftypevr Macro int ECOMM
|
|
|
|
@comment errno ???/70
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment Linux???: RFS specific error
|
|
|
|
@deftypevr Macro int EDOTDOT
|
|
|
|
@comment errno ???/73
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment Linux???: Name not unique on network
|
|
|
|
@deftypevr Macro int ENOTUNIQ
|
|
|
|
@comment errno ???/76
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment Linux???: File descriptor in bad state
|
|
|
|
@deftypevr Macro int EBADFD
|
|
|
|
@comment errno ???/77
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment Linux???: Remote address changed
|
|
|
|
@deftypevr Macro int EREMCHG
|
|
|
|
@comment errno ???/78
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment Linux???: Can not access a needed shared library
|
|
|
|
@deftypevr Macro int ELIBACC
|
|
|
|
@comment errno ???/79
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment Linux???: Accessing a corrupted shared library
|
|
|
|
@deftypevr Macro int ELIBBAD
|
|
|
|
@comment errno ???/80
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment Linux???: .lib section in a.out corrupted
|
|
|
|
@deftypevr Macro int ELIBSCN
|
|
|
|
@comment errno ???/81
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment Linux???: Attempting to link in too many shared libraries
|
|
|
|
@deftypevr Macro int ELIBMAX
|
|
|
|
@comment errno ???/82
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment Linux???: Cannot exec a shared library directly
|
|
|
|
@deftypevr Macro int ELIBEXEC
|
|
|
|
@comment errno ???/83
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment Linux???: Streams pipe error
|
|
|
|
@deftypevr Macro int ESTRPIPE
|
|
|
|
@comment errno ???/86
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment Linux???: Structure needs cleaning
|
|
|
|
@deftypevr Macro int EUCLEAN
|
|
|
|
@comment errno ???/117
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment Linux???: Not a XENIX named type file
|
|
|
|
@deftypevr Macro int ENOTNAM
|
|
|
|
@comment errno ???/118
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment Linux???: No XENIX semaphores available
|
|
|
|
@deftypevr Macro int ENAVAIL
|
|
|
|
@comment errno ???/119
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment Linux???: Is a named type file
|
|
|
|
@deftypevr Macro int EISNAM
|
|
|
|
@comment errno ???/120
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment Linux???: Remote I/O error
|
|
|
|
@deftypevr Macro int EREMOTEIO
|
|
|
|
@comment errno ???/121
|
|
|
|
@end deftypevr
|
1995-02-18 09:27:10 +08:00
|
|
|
|
1997-04-02 22:47:34 +08:00
|
|
|
@comment errno.h
|
|
|
|
@comment Linux???: No medium found
|
|
|
|
@deftypevr Macro int ENOMEDIUM
|
|
|
|
@comment errno ???/???
|
|
|
|
@end deftypevr
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment Linux???: Wrong medium type
|
|
|
|
@deftypevr Macro int EMEDIUMTYPE
|
|
|
|
@comment errno ???/???
|
|
|
|
@end deftypevr
|
|
|
|
|
1995-02-18 09:27:10 +08:00
|
|
|
@node Error Messages, , Error Codes, Error Reporting
|
|
|
|
@section Error Messages
|
|
|
|
|
|
|
|
The library has functions and variables designed to make it easy for
|
|
|
|
your program to report informative error messages in the customary
|
|
|
|
format about the failure of a library call. The functions
|
|
|
|
@code{strerror} and @code{perror} give you the standard error message
|
|
|
|
for a given error code; the variable
|
|
|
|
@w{@code{program_invocation_short_name}} gives you convenient access to the
|
|
|
|
name of the program that encountered the error.
|
|
|
|
|
|
|
|
@comment string.h
|
1996-12-08 16:01:13 +08:00
|
|
|
@comment ISO
|
1995-02-18 09:27:10 +08:00
|
|
|
@deftypefun {char *} strerror (int @var{errnum})
|
|
|
|
The @code{strerror} function maps the error code (@pxref{Checking for
|
|
|
|
Errors}) specified by the @var{errnum} argument to a descriptive error
|
|
|
|
message string. The return value is a pointer to this string.
|
|
|
|
|
|
|
|
The value @var{errnum} normally comes from the variable @code{errno}.
|
|
|
|
|
|
|
|
You should not modify the string returned by @code{strerror}. Also, if
|
|
|
|
you make subsequent calls to @code{strerror}, the string might be
|
|
|
|
overwritten. (But it's guaranteed that no library function ever calls
|
|
|
|
@code{strerror} behind your back.)
|
|
|
|
|
|
|
|
The function @code{strerror} is declared in @file{string.h}.
|
|
|
|
@end deftypefun
|
|
|
|
|
1997-04-02 22:47:34 +08:00
|
|
|
@comment string.h
|
|
|
|
@comment GNU
|
|
|
|
@deftypefun {char *} strerror_r (int @var{errnum}, char *@var{buf}, size_t @var{n})
|
|
|
|
The @code{strerror_r} function works like @code{strerror} but instead of
|
|
|
|
returning the error message in a statically allocated buffer shared by
|
Update.
1998-02-10 23:57 Ulrich Drepper <drepper@happy.cygnus.com>
* misc/tst-efgcvt.c: Add more tests.
* misc/efgcvt_r.c: Correct result for above new tests.
1998-02-06 17:22 H.J. Lu <hjl@gnu.org>
* misc/efgcvt_r.c (fcvt_r, ecvt_r): Correctly handle
NDIGIT <= 0.
1998-02-10 16:48 Philip Blundell <pb@nexus.co.uk>
* Makerules (install-no-libc.a-nosubdir): Don't install-bin (etc)
if the programs weren't built.
1998-02-09 10:12 Philip Blundell <pb@nexus.co.uk>
* sysdeps/libm-ieee754/s_exp2.c (__ieee754_exp2): If we don't have
FE_TONEAREST, soldier on regardless and do the best we can.
* sysdeps/libm-ieee754/s_exp2f.c (__ieee754_exp2f): likewise.
1998-02-5 17:20 Philip Blundell <pb@nexus.co.uk>
* sysdeps/standalone/filedesc.h: Define __need_FOPEN_MAX, not
_STDIO_H, before including <bits/stdio_lim.h>.
* sysdeps/standalone/arm/bits/errno.h (EOVERFLOW): Added.
* io/fts.c (fts_build): Don't try to use d_type if it doesn't
exist.
* sysdeps/arm/sys/ucontext.h: New file.
1998-02-04 10:11 Philip Blundell <pb@nexus.co.uk>
* manual/stdio.texi (Formatted Output Functions): Explicitly say
that the return value from snprintf() does not count the
terminating NUL as a character.
1998-02-10 16:57 Ulrich Drepper <drepper@happy.cygnus.com>
* manual/users.texi: Rewrite to describe correct POSIX behaviour,
add description for sete[ug]id and general cleanup.
Patch by Zack Weinberg <zack@rabi.phys.columbia.edu>.
1998-01-04 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makefile (parent-clean): Don't remove makefile fragments here.
(postclean): New variable.
(clean): Remove makefile fragments here.
(realclean distclean): Likewise. Pass sysdep-subdirs to sub-make.
(generated): Add isomac and isomanc.out.
* Makeconfig ($(common-objpfx)soversions.mk): Don't generate if
avoid-generated is set.
(postclean-generated): Add soversion.mk.
($(common-objpfx)version.mk): Don't include if avoid-generated is
set.
* Makerules: Still need to include $(+sysdir_pfx)sysd-Makefile if
avoid-generated is set.
(common-generated): Add libc.so and libc.so$(libc.so-version).
(generated): Add versioned libraries.
(common-mostlyclean): Also remove %.so and %_pic.a.
* csu/Makefile (generated): Add abi-tag.h.
* db2/Makefile (extra-objs): Add getlong.o.
* elf/Makefile (generated): Add ld.so, ldd and
$(rtld-installed-name).
(others): Add ldconfig here instead of ldconfig.o to extra-objs.
* malloc/Makefile (generated): Add mtrace.
* po/Makefile: Don't include version.mk, not needed any more.
* sunrpc/Makefile (generated): Add rpc-proto.d and rpcgen.
* sysdeps/unix/Makefile: Fix local_lim.h -> bits/local_lim.h,
syscall.h -> sys/syscall.h.
(common-generated): Add s-proto.d.
(postclean-generated): Add sysd-syscalls.
* localedata/Makefile (test-output): Add all output files.
(generated): Add test-input and test-output.
(generated-dirs): Add all the dirs.
1998-01-04 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makefile (test-output, generated, generated-dirs): New
variables.
1998-02-10 16:57 Ulrich Drepper <drepper@happy.cygnus.com>
* resolv/nss_dns/dns-host.c: Various code cleanups.
1998-02-09 08:10 H.J. Lu <hjl@gnu.org>
* resolv/gethnamaddr.c (getanswer): Fix the PTR/CNAME bug.
From Philip Blundell <pb@nexus.co.uk>.
* resolv/nss_dns/dns-host.c (getanswer_r): Ditto.
1998-02-08 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* libc.map: Add .rem, .div, .mul, .udiv, .umul, .urem for Sparc.
Suggested by debian/sparc porters.
1998-02-07 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* misc/tst-efgcvt.c: Totally rewritten, added a lot of new tests
for ecvt and fcvt.
1998-02-10 16:32 Ulrich Drepper <drepper@happy.cygnus.com>
* sysdeps/unix/sysv/linux/ptsname.c (__ptsname_r): Use __xstat and
__fxstat instead of stat and fstat. Use namespace clean __stpcpy.
* signal/signal.h: Always define sigset_t if __need_sigset_t is
defined even if __USE_POSIX is not defined.
1998-02-02 20:51 Zack Weinberg <zack@rabi.phys.columbia.edu>
* sysdeps/unix/sysv/linux/ptsname.c (__ptsname_r): Correct last patch
to support obsolete tty major numbers correctly.
1998-02-02 08:47 H.J. Lu <hjl@gnu.org>
* login/Makefile ($(inst_libexecdir)/pt_chown): Make the target
directory first and ignore install error.
* sysdeps/unix/sysv/linux/ptsname.c (__ptsname_r): Substract
128 from ptyno and fix a typo for the BSD style pty.
1998-02-01 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/Makefile ($(common-objpfx)s-proto.d): Depend on all
syscalls.list's.
1998-02-01 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/Makefile (sysdep_routines): Add
getresuid and getresgid.
* sysdeps/unix/sysv/linux/getresuid.c: New file.
* sysdeps/unix/sysv/linux/getresgid.c: New file.
* sysdeps/unix/sysv/linux/syscalls.list: Remove getres[ug]id, add
s_getres[ug]id.
* sysdeps/unix/sysv/linux/alpha/syscalls.list: Add getres[ug]id.
* sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/mips/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/powerpc/syscalls.list: Likewise.
1998-02-02 08:11 H.J. Lu <hjl@gnu.org>
* nscd/grpcache.c: Include <stdlib.h>.
1998-02-01 16:01 H.J. Lu <hjl@gnu.org>
* stdlib/atoll.c: Fix comments.
* sysdeps/posix/ttyname.c: Ignore stdin/stdout/stderr.
* sysdeps/posix/ttyname_r.c: Ditto.
1998-02-03 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* io/sys/stat.h: Define S_IFLNK and S_IFSOCK if __USE_BSD or
__USE_MISC, independent of __USE_UNIX98.
1998-02-10 19:18 Ulrich Drepper <drepper@happy.cygnus.com>
* sysdeps/unix/sysv/linux/i386/sigaction.c (__libc_missing_rt_sigs):
Rename from __libc_have_rt_sigs and leave as COMMON data.
1998-02-04 11:58 Richard Henderson <rth@twiddle.rth.home>
* Makeconfig (CFLAGS-.os): Kill -fno-common.
* Makerules (libc.so): Prelink libc_pic.a, allocating commons.
* libc.map (GLIBC_2.1): Add Linux/Alpha tv64 symbols.
* elf/rtld.map: New file. Needed to define the GLIBC_2.*
version symbols.
* include/libc-symbols.h (symbol_version, default_symbol_version):
Provide asm versions and correct !DO_VERSIONING versions.
* sysdeps/unix/make-syscalls.sh: Recognize version symbols in
the weak symbol list.
* sysdeps/unix/sysv/linux/sigaction.c (__libc_missing_rt_sigs):
Rename from __libc_have_rt_sigs and leave as COMMON data.
* sysdeps/unix/sysv/linux/sigpending.c: Likewise.
* sysdeps/unix/sysv/linux/sigprocmask.c: Likewise.
* sysdeps/unix/sysv/linux/sigsuspend.c: Likewise.
1998-02-04 16:41 Zack Weinberg <zack@rabi.phys.columbia.edu>
* sunrpc/Makefile: Correct dependencies of rpcgen.
1998-02-10 03:00 Ulrich Drepper <drepper@happy.cygnus.com>
* nscd/Makefile: Fix test for available linuxthreads add-on.
Patch by Zack Weinberg <zack@rabi.phys.columbia.edu>.
1998-02-05 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/unix/sysv/linux/syscalls.list: Fix typo in lchown.
1998-02-03 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/gnu/Makefile: Respect with-cvs variable.
* manual/errno.texi (Error Messages): Correct description of
strerror_r. Pointed out by jonas@bagge.se.
1998-01-29 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* manual/socket.texi (Host Address Functions): Clarify description
of inet_network.
1998-02-07 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/grantpt.c (argv): Move const to toplevel.
(grantpt): Delete superfluous cast.
1998-02-06 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makefile ($(inst_slibdir)/libc-$(version).so): Depend on
elf/ldso_install instead of elf/subdir_install.
(elf/ldso_install): New target.
* elf/Makefile (ldso_install): New target.
1998-02-07 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/powerpc/socket.S: Really do the change
of 1998-01-06.
1998-02-07 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* string/bits/string2.h (strcmp): Use __string2_1bptr_p only for
constant expressions.
1998-02-07 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* nss/test-netdb.c: Include <unistd.h> for gethostname and "nss.h"
for __nss_configure_lookup.
(output_hostent): Remove unused variable.
1998-02-07 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* string/tst-inlcall.c: Fix format string.
1998-02-09 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* inet/netinet/in.h: Rename second parameter of bindresvport to
avoid buggy gcc warning. [PR libc/412]
1998-02-11 04:06:30 +08:00
|
|
|
all threads in the process, it returns a private copy for the
|
|
|
|
thread. This might be either some permanent global data or a message
|
|
|
|
string in the user supplied buffer starting at @var{buf} with the
|
|
|
|
length of @var{n} bytes.
|
1997-04-02 22:47:34 +08:00
|
|
|
|
|
|
|
At most @var{n} characters are written (including the NUL byte) so it is
|
|
|
|
up to the user to select the buffer large enough.
|
|
|
|
|
|
|
|
This function should always be used in multi-threaded programs since
|
|
|
|
there is no way to guarantee the string returned by @code{strerror}
|
|
|
|
really belongs to the last call of the current thread.
|
|
|
|
|
|
|
|
This function @code{strerror_r} is a GNU extension and it is declared in
|
|
|
|
@file{string.h}.
|
|
|
|
@end deftypefun
|
|
|
|
|
1995-02-18 09:27:10 +08:00
|
|
|
@comment stdio.h
|
1996-12-08 16:01:13 +08:00
|
|
|
@comment ISO
|
1995-02-18 09:27:10 +08:00
|
|
|
@deftypefun void perror (const char *@var{message})
|
|
|
|
This function prints an error message to the stream @code{stderr};
|
|
|
|
see @ref{Standard Streams}.
|
|
|
|
|
|
|
|
If you call @code{perror} with a @var{message} that is either a null
|
Wed May 22 01:48:54 1996 Ulrich Drepper <drepper@cygnus.com>
* stdlib/strtol.c [!QUAD] (ULONG_MAX, LONG_MAX): Define these
macros if they are not available.
(WEAKNAME): New macro to declare argument as weak.
Define function with __ prefix and add normal name as weak alias.
* sysdeps/posix/euidaccess.c (S_IROTH, S_IWOTH, S_IXOTH): Defines
these macros if not already available based on R_OK, W_OK, and
X_OK.
Tue May 21 18:48:46 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* misc/sys/syslog.h (__need___va_list): Define this instead of
__need_va_list before including <stdarg.h>.
* Makerules (o-iterator): Use $(object-suffixes-left) instead
of $(object-suffixes) to produce repetitions; this is used for other
lists than just that one.
[versioned]: Use $(o-iterator) properly.
* sysdeps/unix/sysv/linux/Implies: Include `gnu'.
* sysdeps/mach/hurd/Implies: Likewise.
Sat May 18 02:57:46 1996 Ulrich Drepper <drepper@cygnus.com>
* login/Makefile: New file. This directory contains functions
for user administration.
* Makefile (subdirs): Add login.
* misc/Makefile (headers): Remove utmp.h. Now in login/utmp.h.
(extra-libs, libutil-routines): Ditto.
* misc/login.c, misc/login_tty.c, misc/logout.c, misc/logwtmp.c,
misc/utmp.h: Moved to misc/.
* login/login.c, login/login_tty.c, login/logout.c,
login/logwtmp.c, login/utmp.h: Moved to here from misc/.
* login/utmp.h: Split file. Definitions of data structures
and constants are now in the system dependent utmpbits.h file.
* login/setutent_r.c, login/setutent.c, login/endutent_r.c,
login/endutent.c, login/getutent_r.c, login/getutent.c,
login/getutid_r.c, login/getutid.c, login/getutline_r.c,
login/getutline.c, login/pututline_r.c, login/pututline.c:
New files. Routines to handle utmp-style files.
* sysdeps/gnu/utmpbits.h: New file. Contains GNU/Linux
specific definitions of utmp data structures and constants.
* sysdeps/unix/sysv/utmpbits.h: Renamed from sysdeps/unix/sysv/utmp.h.
* sysdeps/generic/utmpbits.h: New file. Generic (BSDish) version of
definitions of utmp data structures and constants.
Fri May 17 00:01:31 1996 Ulrich Drepper <drepper@cygnus.com>
* locale/C-monetary.c: Default value for mon_decimal_point should be
'.'.
* stdio-common/printf.h: Remove Linux libc compatibility stuff.
Add `extra' flag. Currently used in __printf_fp.
* stdio-common/printf_fp.c (__guess_grouping): Renamed from
`guess_grouping' and extend visibility to extern. This function
is now used in `strfmon'.
(__printf_fp): Recognize new bit flag in info struct. This
triggers to use the grouping information and decimal point from
the LC_MONETARY category instead of the LC_NUMERIC category.
* stdio-common/vfprintf.c (process_arg): Correct major bug. In
`complicated' loop we must not use the varargs because the args
are already available in the ARGS_VALUE array.
* stdlib/Makefile (headers): Add monetary.h.
(routines): Add strfmon.
* stdlib/monetary.h: New file. Header for strfmon function.
* stdlib/strfmon.c: New file. Implement strfmon function to print
monetary amounts according to current locale's rules.
* sysdeps/unix/sysv/linux/i386/sys/vm86.h: The kernel header is
now (>= Linux-1.3.100) called <asm/vm86.h>.
1996-05-22 10:11:55 +08:00
|
|
|
pointer or an empty string, @code{perror} just prints the error message
|
1995-02-18 09:27:10 +08:00
|
|
|
corresponding to @code{errno}, adding a trailing newline.
|
|
|
|
|
|
|
|
If you supply a non-null @var{message} argument, then @code{perror}
|
Wed May 22 01:48:54 1996 Ulrich Drepper <drepper@cygnus.com>
* stdlib/strtol.c [!QUAD] (ULONG_MAX, LONG_MAX): Define these
macros if they are not available.
(WEAKNAME): New macro to declare argument as weak.
Define function with __ prefix and add normal name as weak alias.
* sysdeps/posix/euidaccess.c (S_IROTH, S_IWOTH, S_IXOTH): Defines
these macros if not already available based on R_OK, W_OK, and
X_OK.
Tue May 21 18:48:46 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* misc/sys/syslog.h (__need___va_list): Define this instead of
__need_va_list before including <stdarg.h>.
* Makerules (o-iterator): Use $(object-suffixes-left) instead
of $(object-suffixes) to produce repetitions; this is used for other
lists than just that one.
[versioned]: Use $(o-iterator) properly.
* sysdeps/unix/sysv/linux/Implies: Include `gnu'.
* sysdeps/mach/hurd/Implies: Likewise.
Sat May 18 02:57:46 1996 Ulrich Drepper <drepper@cygnus.com>
* login/Makefile: New file. This directory contains functions
for user administration.
* Makefile (subdirs): Add login.
* misc/Makefile (headers): Remove utmp.h. Now in login/utmp.h.
(extra-libs, libutil-routines): Ditto.
* misc/login.c, misc/login_tty.c, misc/logout.c, misc/logwtmp.c,
misc/utmp.h: Moved to misc/.
* login/login.c, login/login_tty.c, login/logout.c,
login/logwtmp.c, login/utmp.h: Moved to here from misc/.
* login/utmp.h: Split file. Definitions of data structures
and constants are now in the system dependent utmpbits.h file.
* login/setutent_r.c, login/setutent.c, login/endutent_r.c,
login/endutent.c, login/getutent_r.c, login/getutent.c,
login/getutid_r.c, login/getutid.c, login/getutline_r.c,
login/getutline.c, login/pututline_r.c, login/pututline.c:
New files. Routines to handle utmp-style files.
* sysdeps/gnu/utmpbits.h: New file. Contains GNU/Linux
specific definitions of utmp data structures and constants.
* sysdeps/unix/sysv/utmpbits.h: Renamed from sysdeps/unix/sysv/utmp.h.
* sysdeps/generic/utmpbits.h: New file. Generic (BSDish) version of
definitions of utmp data structures and constants.
Fri May 17 00:01:31 1996 Ulrich Drepper <drepper@cygnus.com>
* locale/C-monetary.c: Default value for mon_decimal_point should be
'.'.
* stdio-common/printf.h: Remove Linux libc compatibility stuff.
Add `extra' flag. Currently used in __printf_fp.
* stdio-common/printf_fp.c (__guess_grouping): Renamed from
`guess_grouping' and extend visibility to extern. This function
is now used in `strfmon'.
(__printf_fp): Recognize new bit flag in info struct. This
triggers to use the grouping information and decimal point from
the LC_MONETARY category instead of the LC_NUMERIC category.
* stdio-common/vfprintf.c (process_arg): Correct major bug. In
`complicated' loop we must not use the varargs because the args
are already available in the ARGS_VALUE array.
* stdlib/Makefile (headers): Add monetary.h.
(routines): Add strfmon.
* stdlib/monetary.h: New file. Header for strfmon function.
* stdlib/strfmon.c: New file. Implement strfmon function to print
monetary amounts according to current locale's rules.
* sysdeps/unix/sysv/linux/i386/sys/vm86.h: The kernel header is
now (>= Linux-1.3.100) called <asm/vm86.h>.
1996-05-22 10:11:55 +08:00
|
|
|
prefixes its output with this string. It adds a colon and a space
|
1995-02-18 09:27:10 +08:00
|
|
|
character to separate the @var{message} from the error string corresponding
|
|
|
|
to @code{errno}.
|
|
|
|
|
|
|
|
The function @code{perror} is declared in @file{stdio.h}.
|
|
|
|
@end deftypefun
|
|
|
|
|
|
|
|
@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
|
|
|
|
GNU system, the messages are fairly short; there are no multi-line
|
|
|
|
messages or embedded newlines. Each error message begins with a capital
|
|
|
|
letter and does not include any terminating punctuation.
|
|
|
|
|
|
|
|
@strong{Compatibility Note:} The @code{strerror} function is a new
|
1996-12-08 16:01:13 +08:00
|
|
|
feature of @w{ISO C}. Many older C systems do not support this function
|
1995-02-18 09:27:10 +08:00
|
|
|
yet.
|
|
|
|
|
|
|
|
@cindex program name
|
|
|
|
@cindex name of running program
|
|
|
|
Many programs that don't read input from the terminal are designed to
|
|
|
|
exit if any system call fails. By convention, the error message from
|
|
|
|
such a program should start with the program's name, sans directories.
|
|
|
|
You can find that name in the variable
|
|
|
|
@code{program_invocation_short_name}; the full file name is stored the
|
1999-06-16 23:44:59 +08:00
|
|
|
variable @code{program_invocation_name}.
|
1995-02-18 09:27:10 +08:00
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment GNU
|
Wed May 22 01:48:54 1996 Ulrich Drepper <drepper@cygnus.com>
* stdlib/strtol.c [!QUAD] (ULONG_MAX, LONG_MAX): Define these
macros if they are not available.
(WEAKNAME): New macro to declare argument as weak.
Define function with __ prefix and add normal name as weak alias.
* sysdeps/posix/euidaccess.c (S_IROTH, S_IWOTH, S_IXOTH): Defines
these macros if not already available based on R_OK, W_OK, and
X_OK.
Tue May 21 18:48:46 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* misc/sys/syslog.h (__need___va_list): Define this instead of
__need_va_list before including <stdarg.h>.
* Makerules (o-iterator): Use $(object-suffixes-left) instead
of $(object-suffixes) to produce repetitions; this is used for other
lists than just that one.
[versioned]: Use $(o-iterator) properly.
* sysdeps/unix/sysv/linux/Implies: Include `gnu'.
* sysdeps/mach/hurd/Implies: Likewise.
Sat May 18 02:57:46 1996 Ulrich Drepper <drepper@cygnus.com>
* login/Makefile: New file. This directory contains functions
for user administration.
* Makefile (subdirs): Add login.
* misc/Makefile (headers): Remove utmp.h. Now in login/utmp.h.
(extra-libs, libutil-routines): Ditto.
* misc/login.c, misc/login_tty.c, misc/logout.c, misc/logwtmp.c,
misc/utmp.h: Moved to misc/.
* login/login.c, login/login_tty.c, login/logout.c,
login/logwtmp.c, login/utmp.h: Moved to here from misc/.
* login/utmp.h: Split file. Definitions of data structures
and constants are now in the system dependent utmpbits.h file.
* login/setutent_r.c, login/setutent.c, login/endutent_r.c,
login/endutent.c, login/getutent_r.c, login/getutent.c,
login/getutid_r.c, login/getutid.c, login/getutline_r.c,
login/getutline.c, login/pututline_r.c, login/pututline.c:
New files. Routines to handle utmp-style files.
* sysdeps/gnu/utmpbits.h: New file. Contains GNU/Linux
specific definitions of utmp data structures and constants.
* sysdeps/unix/sysv/utmpbits.h: Renamed from sysdeps/unix/sysv/utmp.h.
* sysdeps/generic/utmpbits.h: New file. Generic (BSDish) version of
definitions of utmp data structures and constants.
Fri May 17 00:01:31 1996 Ulrich Drepper <drepper@cygnus.com>
* locale/C-monetary.c: Default value for mon_decimal_point should be
'.'.
* stdio-common/printf.h: Remove Linux libc compatibility stuff.
Add `extra' flag. Currently used in __printf_fp.
* stdio-common/printf_fp.c (__guess_grouping): Renamed from
`guess_grouping' and extend visibility to extern. This function
is now used in `strfmon'.
(__printf_fp): Recognize new bit flag in info struct. This
triggers to use the grouping information and decimal point from
the LC_MONETARY category instead of the LC_NUMERIC category.
* stdio-common/vfprintf.c (process_arg): Correct major bug. In
`complicated' loop we must not use the varargs because the args
are already available in the ARGS_VALUE array.
* stdlib/Makefile (headers): Add monetary.h.
(routines): Add strfmon.
* stdlib/monetary.h: New file. Header for strfmon function.
* stdlib/strfmon.c: New file. Implement strfmon function to print
monetary amounts according to current locale's rules.
* sysdeps/unix/sysv/linux/i386/sys/vm86.h: The kernel header is
now (>= Linux-1.3.100) called <asm/vm86.h>.
1996-05-22 10:11:55 +08:00
|
|
|
@deftypevar {char *} program_invocation_name
|
1995-02-18 09:27:10 +08:00
|
|
|
This variable's value is the name that was used to invoke the program
|
|
|
|
running in the current process. It is the same as @code{argv[0]}. Note
|
|
|
|
that this is not necessarily a useful file name; often it contains no
|
|
|
|
directory names. @xref{Program Arguments}.
|
|
|
|
@end deftypevar
|
|
|
|
|
|
|
|
@comment errno.h
|
|
|
|
@comment GNU
|
Wed May 22 01:48:54 1996 Ulrich Drepper <drepper@cygnus.com>
* stdlib/strtol.c [!QUAD] (ULONG_MAX, LONG_MAX): Define these
macros if they are not available.
(WEAKNAME): New macro to declare argument as weak.
Define function with __ prefix and add normal name as weak alias.
* sysdeps/posix/euidaccess.c (S_IROTH, S_IWOTH, S_IXOTH): Defines
these macros if not already available based on R_OK, W_OK, and
X_OK.
Tue May 21 18:48:46 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* misc/sys/syslog.h (__need___va_list): Define this instead of
__need_va_list before including <stdarg.h>.
* Makerules (o-iterator): Use $(object-suffixes-left) instead
of $(object-suffixes) to produce repetitions; this is used for other
lists than just that one.
[versioned]: Use $(o-iterator) properly.
* sysdeps/unix/sysv/linux/Implies: Include `gnu'.
* sysdeps/mach/hurd/Implies: Likewise.
Sat May 18 02:57:46 1996 Ulrich Drepper <drepper@cygnus.com>
* login/Makefile: New file. This directory contains functions
for user administration.
* Makefile (subdirs): Add login.
* misc/Makefile (headers): Remove utmp.h. Now in login/utmp.h.
(extra-libs, libutil-routines): Ditto.
* misc/login.c, misc/login_tty.c, misc/logout.c, misc/logwtmp.c,
misc/utmp.h: Moved to misc/.
* login/login.c, login/login_tty.c, login/logout.c,
login/logwtmp.c, login/utmp.h: Moved to here from misc/.
* login/utmp.h: Split file. Definitions of data structures
and constants are now in the system dependent utmpbits.h file.
* login/setutent_r.c, login/setutent.c, login/endutent_r.c,
login/endutent.c, login/getutent_r.c, login/getutent.c,
login/getutid_r.c, login/getutid.c, login/getutline_r.c,
login/getutline.c, login/pututline_r.c, login/pututline.c:
New files. Routines to handle utmp-style files.
* sysdeps/gnu/utmpbits.h: New file. Contains GNU/Linux
specific definitions of utmp data structures and constants.
* sysdeps/unix/sysv/utmpbits.h: Renamed from sysdeps/unix/sysv/utmp.h.
* sysdeps/generic/utmpbits.h: New file. Generic (BSDish) version of
definitions of utmp data structures and constants.
Fri May 17 00:01:31 1996 Ulrich Drepper <drepper@cygnus.com>
* locale/C-monetary.c: Default value for mon_decimal_point should be
'.'.
* stdio-common/printf.h: Remove Linux libc compatibility stuff.
Add `extra' flag. Currently used in __printf_fp.
* stdio-common/printf_fp.c (__guess_grouping): Renamed from
`guess_grouping' and extend visibility to extern. This function
is now used in `strfmon'.
(__printf_fp): Recognize new bit flag in info struct. This
triggers to use the grouping information and decimal point from
the LC_MONETARY category instead of the LC_NUMERIC category.
* stdio-common/vfprintf.c (process_arg): Correct major bug. In
`complicated' loop we must not use the varargs because the args
are already available in the ARGS_VALUE array.
* stdlib/Makefile (headers): Add monetary.h.
(routines): Add strfmon.
* stdlib/monetary.h: New file. Header for strfmon function.
* stdlib/strfmon.c: New file. Implement strfmon function to print
monetary amounts according to current locale's rules.
* sysdeps/unix/sysv/linux/i386/sys/vm86.h: The kernel header is
now (>= Linux-1.3.100) called <asm/vm86.h>.
1996-05-22 10:11:55 +08:00
|
|
|
@deftypevar {char *} program_invocation_short_name
|
1995-02-18 09:27:10 +08:00
|
|
|
This variable's value is the name that was used to invoke the program
|
|
|
|
running in the current process, with directory names removed. (That is
|
|
|
|
to say, it is the same as @code{program_invocation_name} minus
|
|
|
|
everything up to the last slash, if any.)
|
|
|
|
@end deftypevar
|
|
|
|
|
|
|
|
The library initialization code sets up both of these variables before
|
|
|
|
calling @code{main}.
|
|
|
|
|
|
|
|
@strong{Portability Note:} These two variables are GNU extensions. If
|
|
|
|
you want your program to work with non-GNU libraries, you must save the
|
|
|
|
value of @code{argv[0]} in @code{main}, and then strip off the directory
|
|
|
|
names yourself. We added these extensions to make it possible to write
|
|
|
|
self-contained error-reporting subroutines that require no explicit
|
|
|
|
cooperation from @code{main}.
|
|
|
|
|
|
|
|
Here is an example showing how to handle failure to open a file
|
|
|
|
correctly. The function @code{open_sesame} tries to open the named file
|
|
|
|
for reading and returns a stream if successful. The @code{fopen}
|
|
|
|
library function returns a null pointer if it couldn't open the file for
|
|
|
|
some reason. In that situation, @code{open_sesame} constructs an
|
|
|
|
appropriate error message using the @code{strerror} function, and
|
|
|
|
terminates the program. If we were going to make some other library
|
|
|
|
calls before passing the error code to @code{strerror}, we'd have to
|
|
|
|
save it in a local variable instead, because those other library
|
|
|
|
functions might overwrite @code{errno} in the meantime.
|
|
|
|
|
|
|
|
@smallexample
|
|
|
|
#include <errno.h>
|
|
|
|
#include <stdio.h>
|
|
|
|
#include <stdlib.h>
|
|
|
|
#include <string.h>
|
|
|
|
|
|
|
|
FILE *
|
|
|
|
open_sesame (char *name)
|
Wed May 22 01:48:54 1996 Ulrich Drepper <drepper@cygnus.com>
* stdlib/strtol.c [!QUAD] (ULONG_MAX, LONG_MAX): Define these
macros if they are not available.
(WEAKNAME): New macro to declare argument as weak.
Define function with __ prefix and add normal name as weak alias.
* sysdeps/posix/euidaccess.c (S_IROTH, S_IWOTH, S_IXOTH): Defines
these macros if not already available based on R_OK, W_OK, and
X_OK.
Tue May 21 18:48:46 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* misc/sys/syslog.h (__need___va_list): Define this instead of
__need_va_list before including <stdarg.h>.
* Makerules (o-iterator): Use $(object-suffixes-left) instead
of $(object-suffixes) to produce repetitions; this is used for other
lists than just that one.
[versioned]: Use $(o-iterator) properly.
* sysdeps/unix/sysv/linux/Implies: Include `gnu'.
* sysdeps/mach/hurd/Implies: Likewise.
Sat May 18 02:57:46 1996 Ulrich Drepper <drepper@cygnus.com>
* login/Makefile: New file. This directory contains functions
for user administration.
* Makefile (subdirs): Add login.
* misc/Makefile (headers): Remove utmp.h. Now in login/utmp.h.
(extra-libs, libutil-routines): Ditto.
* misc/login.c, misc/login_tty.c, misc/logout.c, misc/logwtmp.c,
misc/utmp.h: Moved to misc/.
* login/login.c, login/login_tty.c, login/logout.c,
login/logwtmp.c, login/utmp.h: Moved to here from misc/.
* login/utmp.h: Split file. Definitions of data structures
and constants are now in the system dependent utmpbits.h file.
* login/setutent_r.c, login/setutent.c, login/endutent_r.c,
login/endutent.c, login/getutent_r.c, login/getutent.c,
login/getutid_r.c, login/getutid.c, login/getutline_r.c,
login/getutline.c, login/pututline_r.c, login/pututline.c:
New files. Routines to handle utmp-style files.
* sysdeps/gnu/utmpbits.h: New file. Contains GNU/Linux
specific definitions of utmp data structures and constants.
* sysdeps/unix/sysv/utmpbits.h: Renamed from sysdeps/unix/sysv/utmp.h.
* sysdeps/generic/utmpbits.h: New file. Generic (BSDish) version of
definitions of utmp data structures and constants.
Fri May 17 00:01:31 1996 Ulrich Drepper <drepper@cygnus.com>
* locale/C-monetary.c: Default value for mon_decimal_point should be
'.'.
* stdio-common/printf.h: Remove Linux libc compatibility stuff.
Add `extra' flag. Currently used in __printf_fp.
* stdio-common/printf_fp.c (__guess_grouping): Renamed from
`guess_grouping' and extend visibility to extern. This function
is now used in `strfmon'.
(__printf_fp): Recognize new bit flag in info struct. This
triggers to use the grouping information and decimal point from
the LC_MONETARY category instead of the LC_NUMERIC category.
* stdio-common/vfprintf.c (process_arg): Correct major bug. In
`complicated' loop we must not use the varargs because the args
are already available in the ARGS_VALUE array.
* stdlib/Makefile (headers): Add monetary.h.
(routines): Add strfmon.
* stdlib/monetary.h: New file. Header for strfmon function.
* stdlib/strfmon.c: New file. Implement strfmon function to print
monetary amounts according to current locale's rules.
* sysdeps/unix/sysv/linux/i386/sys/vm86.h: The kernel header is
now (>= Linux-1.3.100) called <asm/vm86.h>.
1996-05-22 10:11:55 +08:00
|
|
|
@{
|
1995-02-18 09:27:10 +08:00
|
|
|
FILE *stream;
|
|
|
|
|
Wed May 22 01:48:54 1996 Ulrich Drepper <drepper@cygnus.com>
* stdlib/strtol.c [!QUAD] (ULONG_MAX, LONG_MAX): Define these
macros if they are not available.
(WEAKNAME): New macro to declare argument as weak.
Define function with __ prefix and add normal name as weak alias.
* sysdeps/posix/euidaccess.c (S_IROTH, S_IWOTH, S_IXOTH): Defines
these macros if not already available based on R_OK, W_OK, and
X_OK.
Tue May 21 18:48:46 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* misc/sys/syslog.h (__need___va_list): Define this instead of
__need_va_list before including <stdarg.h>.
* Makerules (o-iterator): Use $(object-suffixes-left) instead
of $(object-suffixes) to produce repetitions; this is used for other
lists than just that one.
[versioned]: Use $(o-iterator) properly.
* sysdeps/unix/sysv/linux/Implies: Include `gnu'.
* sysdeps/mach/hurd/Implies: Likewise.
Sat May 18 02:57:46 1996 Ulrich Drepper <drepper@cygnus.com>
* login/Makefile: New file. This directory contains functions
for user administration.
* Makefile (subdirs): Add login.
* misc/Makefile (headers): Remove utmp.h. Now in login/utmp.h.
(extra-libs, libutil-routines): Ditto.
* misc/login.c, misc/login_tty.c, misc/logout.c, misc/logwtmp.c,
misc/utmp.h: Moved to misc/.
* login/login.c, login/login_tty.c, login/logout.c,
login/logwtmp.c, login/utmp.h: Moved to here from misc/.
* login/utmp.h: Split file. Definitions of data structures
and constants are now in the system dependent utmpbits.h file.
* login/setutent_r.c, login/setutent.c, login/endutent_r.c,
login/endutent.c, login/getutent_r.c, login/getutent.c,
login/getutid_r.c, login/getutid.c, login/getutline_r.c,
login/getutline.c, login/pututline_r.c, login/pututline.c:
New files. Routines to handle utmp-style files.
* sysdeps/gnu/utmpbits.h: New file. Contains GNU/Linux
specific definitions of utmp data structures and constants.
* sysdeps/unix/sysv/utmpbits.h: Renamed from sysdeps/unix/sysv/utmp.h.
* sysdeps/generic/utmpbits.h: New file. Generic (BSDish) version of
definitions of utmp data structures and constants.
Fri May 17 00:01:31 1996 Ulrich Drepper <drepper@cygnus.com>
* locale/C-monetary.c: Default value for mon_decimal_point should be
'.'.
* stdio-common/printf.h: Remove Linux libc compatibility stuff.
Add `extra' flag. Currently used in __printf_fp.
* stdio-common/printf_fp.c (__guess_grouping): Renamed from
`guess_grouping' and extend visibility to extern. This function
is now used in `strfmon'.
(__printf_fp): Recognize new bit flag in info struct. This
triggers to use the grouping information and decimal point from
the LC_MONETARY category instead of the LC_NUMERIC category.
* stdio-common/vfprintf.c (process_arg): Correct major bug. In
`complicated' loop we must not use the varargs because the args
are already available in the ARGS_VALUE array.
* stdlib/Makefile (headers): Add monetary.h.
(routines): Add strfmon.
* stdlib/monetary.h: New file. Header for strfmon function.
* stdlib/strfmon.c: New file. Implement strfmon function to print
monetary amounts according to current locale's rules.
* sysdeps/unix/sysv/linux/i386/sys/vm86.h: The kernel header is
now (>= Linux-1.3.100) called <asm/vm86.h>.
1996-05-22 10:11:55 +08:00
|
|
|
errno = 0;
|
1995-02-18 09:27:10 +08:00
|
|
|
stream = fopen (name, "r");
|
|
|
|
if (stream == NULL)
|
|
|
|
@{
|
|
|
|
fprintf (stderr, "%s: Couldn't open file %s; %s\n",
|
|
|
|
program_invocation_short_name, name, strerror (errno));
|
|
|
|
exit (EXIT_FAILURE);
|
|
|
|
@}
|
|
|
|
else
|
|
|
|
return stream;
|
|
|
|
@}
|
|
|
|
@end smallexample
|