.BI "% " "rm tel1"
.BI "% " "grep maja tel2"
maja 0501-1136285
-.BI "% "
+.B "% "
.fi
.RE
and here typing Control-D ended the session.
ldd \- print shared library dependencies
.SH SYNOPSIS
.B ldd
-.RB [OPTION]...
+.R [OPTION]...
FILE...
.SH DESCRIPTION
.B ldd
resources like memory, I/O and IPC calls (where available).
The output is formatted using a format string that can be specified
using the \-f option or the
-.BR TIME
+.B TIME
environment variable.
.LP
The default format string is
Thus, it does not implement the POSIX requirements.
.LP
The environment variable
-.BR TIME
+.B TIME
was badly chosen.
It is not unusual for systems like
.BR autoconf (1)
.BR accept ()
and treat
them like
-.BR EAGAIN
+.B EAGAIN
by retrying.
In case of TCP/IP these are
.BR ENETDOWN ,
On Linux, the new socket returned by
.BR accept ()
does \fInot\fP inherit file status flags such as
-.BR O_NONBLOCK
+.B O_NONBLOCK
and
-.BR O_ASYNC
+.B O_ASYNC
from the listening socket.
This behavior differs from the canonical BSD sockets implementation.
.\" Some testing seems to show that Tru64 5.1 and HP-UX 11 also
then a new huge page segment is created when none
with the given key existed.
If this flag is not set, then
-.BR ENOENT
+.B ENOENT
is returned when no segment with the given key exists.
.IR
.SH "RETURN VALUE"
.I addr
to
.IR (addr+nbytes-1) .
-.IR cache
+.I cache
may be one of:
.TP
.B ICACHE
is changed.
Modes are specified by
-.IR or'ing
+.I or'ing
the following:
.RS
.TP 1.0i
system call, hereinafter referred to as
.BR sys_clone .
A description of
-.BR sys_clone
+.B sys_clone
is given towards the end of this page.
Unlike
to the address specified by
.IR serv_addr .
The
-.IR addrlen
+.I addrlen
argument specifies the size of
.IR serv_addr .
The format of the address in
descriptor,
.IR epfd ,
by requesting that the operation
-.IR op
+.I op
be performed on the target file descriptor,
.IR fd .
The
-.IR event
+.I event
describes the object linked to the file descriptor
.IR fd .
The
interface supports all file descriptors that support
.BR poll (2).
Valid values for the
-.IR op
+.I op
parameter are :
.RS
.TP
file descriptor,
.IR epfd .
The
-.IR event
+.I event
is ignored and can be NULL (but see BUGS below).
.RE
.SH "RETURN VALUE"
was
.BR EPOLL_CTL_ADD ,
and the supplied file descriptor
-.IR fd
+.I fd
is already in
.IR epfd .
.TP
.B EINVAL
-.IR epfd
+.I epfd
is not an
.B epoll
file descriptor,
or
-.IR fd
+.I fd
is the same as
.IR epfd ,
or the requested operation
.B ENOENT
.I op
was
-.BR EPOLL_CTL_MOD
+.B EPOLL_CTL_MOD
or
.BR EPOLL_CTL_DEL ,
and
-.IR fd
+.I fd
is not in
.IR epfd .
.TP
expired.
.TP
.B EINVAL
-.IR epfd
+.I epfd
is not an
.B epoll
file descriptor, or
If the set-user-ID bit is set on the program file pointed to by
\fIfilename\fP,
and the underlying file system is not mounted
-.IR nosuid
+.I nosuid
(the
.B MS_NOSUID
flag for
.IP * 4
The process name, as set by
.BR prctl (2)
-.BR PR_SET_NAME
+.B PR_SET_NAME
(and displayed by
.IR "ps \-o comm" ),
is reset to the name of the new executable file.
.BR execve ().
File descriptors that are marked close-on-exec are closed
; see the description of
-.BR FD_CLOEXEC
+.B FD_CLOEXEC
in
.BR fcntl (2).
(If a file descriptor is closed, this will cause the release
.RI ( envp )
strings that may be passed to a new program.
POSIX.1 allows an implementation to advertise this limit using the
-.BR ARG_MAX
+.B ARG_MAX
constant (either defined in
.I <limits.h>
or available at run time using the call
For
these architectures, the total size is limited to 1/4 of the allowed
stack size, the limit per string is 32 pages (the kernel constant
-.BR MAX_ARG_STRLEN),
+.B MAX_ARG_STRLEN),
and the maximum number of strings is 0x7FFFFFFF.
(This change allows programs to have a much larger
argument and/or environment list.
can be specified as NULL,
which has the same effect as specifying these arguments
as pointers to lists containing a single NULL pointer.
-.BR "Do not take advantage of this misfeature!"
+.B "Do not take advantage of this misfeature!"
It is non-standard and non-portable:
on most other Unix systems doing this will result in an error.
.\" e.g., EFAULT on Solaris 8 and FreeBSD 6.1; but
.I pathname
is relative, then it is interpreted relative to the directory
referred to by the file descriptor
-.IR dirfd
+.I dirfd
(rather than relative to the current working directory of
the calling process, as is done by
.BR access (2)
.BR access (2)).
If
-.IR pathname
+.I pathname
is absolute, then
.I dirfd
is ignored.
.I pathname
is relative, then it is interpreted relative to the directory
referred to by the file descriptor
-.IR dirfd
+.I dirfd
(rather than relative to the current working directory of
the calling process, as is done by
.BR chmod (2)
.BR chmod (2)).
If
-.IR pathname
+.I pathname
is absolute, then
.I dirfd
is ignored.
is a file descriptor referring to a file other than a directory.
.TP
.B ENOTSUP
-.IR flags
+.I flags
specified
.BR AT_SYMLINK_NOFOLLOW ,
which is not supported.
.I pathname
is relative, then it is interpreted relative to the directory
referred to by the file descriptor
-.IR dirfd
+.I dirfd
(rather than relative to the current working directory of
the calling process, as is done by
.BR chown (2)
.BR chown (2)).
If
-.IR pathname
+.I pathname
is absolute, then
.I dirfd
is ignored.
.BR O_DIRECT ,
.BR O_NOATIME ,
and
-.BR O_NONBLOCK
+.B O_NONBLOCK
flags.
.\" FIXME . According to POSIX.1-2001, O_SYNC should also be modifiable
.\" via fcntl(2), but currently Linux does not permit this
If the
.B O_NONBLOCK
flag is enabled, then the system call fails with the error
-.BR EAGAIN
+.B EAGAIN
or
.BR EWOULDBLOCK .
is subject to the same permissions checks as are described for
.BR kill (2),
where the sending process is the one that employs
-.BR F_SETOWN
+.B F_SETOWN
(but see BUGS below).
.sp
If the file descriptor
.BR F_SETLKW ,
.BR F_GETOWN ,
and
-.BR F_SETOWN
+.B F_SETOWN
are specified in POSIX.1-2001.
.BR F_GETSIG ,
.BR F_NOTIFY ,
.BR F_GETLEASE ,
and
-.BR F_SETLEASE
+.B F_SETLEASE
are Linux specific.
(Define the
-.BR _GNU_SOURCE
+.B _GNU_SOURCE
macro to obtain these definitions.)
.\" .PP
.\" SVr4 documents additional EIO, ENOLINK and EOVERFLOW error conditions.
.B RLIMIT_NPROC
resource limit was encountered.
To exceed this limit, the process must have either the
-.BR CAP_SYS_ADMIN
+.B CAP_SYS_ADMIN
or the
-.BR CAP_SYS_RESOURCE
+.B CAP_SYS_RESOURCE
capability.
.TP
.B ENOMEM
.I pathname
is relative, then it is interpreted relative to the directory
referred to by the file descriptor
-.IR dirfd
+.I dirfd
(rather than relative to the current working directory of
the calling process, as is done by
.BR stat (2)
.BR stat (2)).
If
-.IR pathname
+.I pathname
is absolute, then
.I dirfd
is ignored.
.I pathname
is relative, then it is interpreted relative to the directory
referred to by the file descriptor
-.IR dirfd
+.I dirfd
(rather than relative to the current working directory of
the calling process, as is done by
.BR utimes (2)
.BR utimes (2)).
If
-.IR pathname
+.I pathname
is absolute, then
.I dirfd
is ignored.
the process.
If
-.IR flags
+.I flags
is specified as 0,
then information about the calling process's default policy
(as set by
will store the policy mode of the requested NUMA policy in the location
pointed to by this argument.
If
-.IR nodemask
+.I nodemask
is not NULL, then the nodemask associated with the policy will be stored
in the location pointed to by this argument.
.I maxnode
SUSv2 guarantees that `Host names are limited to 255 bytes'.
POSIX.1-2001 guarantees that `Host names (not including
the terminating null byte) are limited to
-.BR HOST_NAME_MAX
+.B HOST_NAME_MAX
bytes'.
.SS Glibc Notes
The GNU C library implements
handle the case where the length of the
.I nodename
was greater than or equal to
-.IR len
+.I len
differently: nothing is copied into
.I name
and the function returns \-1 with
.RE
(most systems allow the synonym
-.BR _SC_PAGE_SIZE
+.B _SC_PAGE_SIZE
for
.BR _SC_PAGESIZE ),
or
.BR execve (2).
The details on the condition for
-.BR EPERM
+.B EPERM
depend on the system.
The above description is what POSIX.1-2001 says, and seems to be followed on
all System V-like systems.
is not valid;
or, for
.BR setrlimit ():
-.IR rlim->rlim_cur
+.I rlim->rlim_cur
was greater than
.IR rlim->rlim_max .
.TP
.RB ( NR_OPEN ).
.SH CONFORMING TO
SVr4, 4.3BSD, POSIX.1-2001.
-.BR RLIMIT_MEMLOCK
+.B RLIMIT_MEMLOCK
and
-.BR RLIMIT_NPROC
+.B RLIMIT_NPROC
derive from BSD and are not specified in POSIX.1-2001;
they are present on the BSDs and Linux, but on few other implementations.
-.BR RLIMIT_RSS
+.B RLIMIT_RSS
derives from BSD and is not specified in POSIX.1-2001;
it is nevertheless present on most implementations.
.BR RLIMIT_MSGQUEUE ,
for
.BR setrlimit ()
when
-.IR rlim->rlim_cur
+.I rlim->rlim_cur
was greater than
.IR rlim->rlim_max .
.SH "SEE ALSO"
.IR ru_stime ,
.IR ru_minflt ,
and
-.IR ru_majflt
+.I ru_majflt
are maintained.
Since Linux 2.6,
.I ru_nvcsw
.SH SYNOPSIS
.B #include <sys/inotify.h>
.sp
-.BI "int inotify_init(void);"
+.B "int inotify_init(void);"
.SH DESCRIPTION
.BR inotify_init ()
initializes a new inotify instance and returns a file descriptor associated
.BR open (2)
call has unwanted side effects, that can be avoided under Linux
by giving it the
-.BR O_NONBLOCK
+.B O_NONBLOCK
flag.
.SH "SEE ALSO"
.BR execve (2),
.TP
.BI IOPRIO_PRIO_CLASS( mask )
Given
-.IR mask
+.I mask
(an
-.IR ioprio
+.I ioprio
value), this macro returns its I/O class component, that is,
one of the values
.BR IOPRIO_CLASS_RT ,
.TP
.BI IOPRIO_PRIO_DATA( mask )
Given
-.IR mask
+.I mask
(an
-.IR ioprio
+.I ioprio
value), this macro returns its priority
.RI ( data )
component.
value
.BR EPERM :
BSD documents that no signal is sent and
-.BR EPERM
+.B EPERM
returned when the permission check failed for at least one target process,
while POSIX documents
.B EPERM
.I oldpath
is relative, then it is interpreted relative to the directory
referred to by the file descriptor
-.IR olddirfd
+.I olddirfd
(rather than relative to the current working directory of
the calling process, as is done by
.BR link (2)
.BR link (2)).
If
-.IR oldpath
+.I oldpath
is absolute, then
.I olddirfd
is ignored.
or similar for
.I newpath
and
-.IR newdirfd
+.I newdirfd
.SH VERSIONS
.BR linkat ()
was added to Linux in kernel 2.6.16.
.SH VERSIONS
Available since Linux 2.5.43.
The
-.BR ENAMETOOLONG
+.B ENAMETOOLONG
error return was added in 2.5.70.
.SH "CONFORMING TO"
.BR lookup_dcookie ()
.TP
.B EINVAL
The value
-.IR len
+.I len
is negative,
.\" .I len
.\" is zero,
.BR MADV_REMOVE ,
.BR MADV_DONTFORK ,
and
-.BR MADV_DOFORK
+.B MADV_DOFORK
are Linux specific.
.SH NOTES
.SS "Linux Notes"
for the memory range starting with
.I start
and continuing for
-.IR len
+.I len
bytes.
The memory of a NUMA machine is divided into multiple nodes.
The memory policy defines from which node memory is allocated.
the range have been already touched before setting the policy,
then the policy has no effect.
This default behavior may be overridden by the
-.BR MPOL_MF_MOVE
+.B MPOL_MF_MOVE
and
.B MPOL_MF_MOVE_ALL
flags described below.
If
.B MPOL_MF_STRICT
is passed in
-.IR flags
+.I flags
and
.I policy
is not
.B EACCES
The parent directory does not allow write permission to the process,
or one of the directories in
-.IR pathname
+.I pathname
did not allow search permission.
(See also
.BR path_resolution (7).)
.TP
.B EPERM
The filesystem containing
-.IR pathname
+.I pathname
does not support the creation of directories.
.TP
.B EROFS
.I pathname
is relative, then it is interpreted relative to the directory
referred to by the file descriptor
-.IR dirfd
+.I dirfd
(rather than relative to the current working directory of
the calling process, as is done by
.BR mkdir (2)
.BR mkdir (2)).
If
-.IR pathname
+.I pathname
is absolute, then
.I dirfd
is ignored.
listed below and the permissions for the new node.
The permissions are modified by the process's
-.IR umask
+.I umask
in the usual way: the permissions of the created node are
.IR "(mode & ~umask)" .
.BR S_IFREG ,
.BR S_IFCHR ,
.BR S_IFBLK ,
-.BR S_IFIFO
+.B S_IFIFO
or
-.BR S_IFSOCK
+.B S_IFSOCK
.\" (S_IFSOCK since Linux 1.2.4)
to specify a normal file (which will be created empty), character
special file, block special file, FIFO (named pipe), or Unix domain socket,
.B EACCES
The parent directory does not allow write permission to the process,
or one of the directories in the path prefix of
-.IR pathname
+.I pathname
did not allow search permission.
(See also
.BR path_resolution (7).)
.I pathname
is relative, then it is interpreted relative to the directory
referred to by the file descriptor
-.IR dirfd
+.I dirfd
(rather than relative to the current working directory of
the calling process, as is done by
.BR mknod (2)
.BR mknod (2)).
If
-.IR pathname
+.I pathname
is absolute, then
.I dirfd
is ignored.
the permitted maximum (see below).
In the same circumstances, stack growth may likewise fail:
the kernel will deny stack expansion and deliver a
-.BR SIGSEGV
+.B SIGSEGV
signal to the process.
.BR munlockall ()
with the
.B MS_SYNC
or
-.BR MS_ASYNC
+.B MS_ASYNC
flag, if one occurs.
.SH "RETURN VALUE"
On success,
.IR start ,
.IR length ,
or
-.IR offset
+.I offset
(e.g., they are too large, or not aligned on a page boundary).
.TP
.B EINVAL
.IR offset .
On some hardware architectures (e.g., x86),
-.BR PROT_WRITE
+.B PROT_WRITE
implies
.BR PROT_READ .
It is architecture dependent whether
On failure,
.BR modify_ldt ()
returns \-1 and sets
-.IR errno
+.I errno
to indicate the error.
.SH ERRORS
.TP
.\" Multiple mounts on same mount point: since 2.3.99pre7.
Values for the
-.IR filesystemtype
+.I filesystemtype
argument supported by the kernel are listed in
.I /proc/filesystems
(like "minix", "ext2", "msdos", "proc", "nfs", "iso9660" etc.).
are loaded.
The
-.IR mountflags
+.I mountflags
argument may have the magic number 0xC0ED (\fBMS_MGC_VAL\fP)
in the top 16 bits (this was required in kernel versions prior to 2.4, but
is no longer required and ignored if specified),
.BR MS_SYNCHRONOUS ,
.BR MS_MANDLOCK ;
before kernel 2.6.16, the following could also be changed:
-.BR MS_NOATIME
+.B MS_NOATIME
and
.BR MS_NODIRATIME ;
and, additionally, before kernel 2.4, the following could also be changed:
flag is also settable on a per-mount-point basis.
.PP
The
-.IR data
+.I data
argument is interpreted by the different file systems.
Typically it is a string of comma-separated options
understood by this file system.
in more than one place, so specifying the device does not suffice).
.LP
The original
-.BR MS_SYNC
+.B MS_SYNC
flag was renamed
-.BR MS_SYNCHRONOUS
+.B MS_SYNCHRONOUS
in 1.1.69
when a different
-.BR MS_SYNC
+.B MS_SYNC
was added to \fI<mman.h>\fP.
.LP
Before Linux 2.4 an attempt to execute a set-user-ID or set-group-ID program
.B PROT_READ
is architecture and kernel version dependent.
On some hardware architectures (e.g., x86),
-.BR PROT_WRITE
+.B PROT_WRITE
implies
.BR PROT_READ .
If
.B MREMAP_FIXED
is specified, then
-.BR MREMAP_MAYMOVE
+.B MREMAP_MAYMOVE
must also be specified.
.PP
If the memory segment specified by
parameters in the structure pointed to by
.IR buf .
This structure is of type
-.IR msginfo
+.I msginfo
(thus, a cast is required),
defined in
.I <sys/msg.h>
if the
-.BR _GNU_SOURCE
+.B _GNU_SOURCE
feature test macro is defined:
.nf
.in +2n
.BR IPC_STAT ,
.BR IPC_SET ,
and
-.BR IPC_RMID
+.B IPC_RMID
return 0.
A successful
.B IPC_INFO
The argument
.I cmd
is equal to
-.BR IPC_STAT
+.B IPC_STAT
or
.BR MSG_STAT ,
but the calling process does not have read permission on the message queue
.SH NOTES
The
.BR IPC_INFO ,
-.BR MSG_STAT
+.B MSG_STAT
and
.B MSG_INFO
operations are used by the
To take advantage of this,
a recompilation under glibc-2.1.91 or later should suffice.
(The kernel distinguishes old and new calls by an
-.BR IPC_64
+.B IPC_64
flag in
.IR cmd .)
.SH "SEE ALSO"
isn't
.BR IPC_PRIVATE ,
no message queue with the given key
-.IR key
+.I key
exists, and
.B IPC_CREAT
is specified in
.IR msg_qnum ,
.IR msg_lspid ,
.IR msg_lrpid ,
-.IR msg_stime
+.I msg_stime
and
.I msg_rtime
are set to 0.
.IR key ,
but the calling process does not have permission to access the queue,
and does not have the
-.BR CAP_IPC_OWNER
+.B CAP_IPC_OWNER
capability.
.TP
.B EEXIST
.IR /proc/sys/kernel/msgmni ).
.SS "Linux Notes"
Until version 2.3.20 Linux would return
-.BR EIDRM
+.B EIDRM
for a
.BR msgget ()
on a message queue scheduled for deletion.
.SH BUGS
The name choice
-.BR IPC_PRIVATE
+.B IPC_PRIVATE
was perhaps unfortunate, IPC_NEW
would more clearly show its function.
.SH "SEE ALSO"
If the message text has length greater than
.IR msgsz ,
then the behavior depends on whether
-.BR MSG_NOERROR
+.B MSG_NOERROR
is specified in
.IR msgflg .
If
-.BR MSG_NOERROR
+.B MSG_NOERROR
is specified, then
the message text will be truncated (and the truncated part will be
lost); if
-.BR MSG_NOERROR
+.B MSG_NOERROR
is not specified, then
the message isn't removed from the queue and
the system call fails returning \-1 with
.B EACCES
The calling process does not have write permission on the message queue,
and does not have the
-.BR CAP_IPC_OWNER
+.B CAP_IPC_OWNER
capability.
.TP
.B EAGAIN
.B EACCES
The calling process does not have read permission on the message queue,
and does not have the
-.BR CAP_IPC_OWNER
+.B CAP_IPC_OWNER
capability.
.TP
.B EAGAIN
is set appropriately.
.SH ERRORS
.TP
-.BR EBUSY
+.B EBUSY
.B MS_INVALIDATE
was specified in
.IR flags ,
and a memory lock exists for the specified address range.
.TP
-.BR EINVAL
+.B EINVAL
.I start
is not a multiple of PAGESIZE; or any bit other than
.BR MS_ASYNC " | " MS_INVALIDATE " | " MS_SYNC
.BR EINTR ,
and writes the
remaining time into the structure pointed to by
-.IR rem
+.I rem
unless
.I rem
is NULL.
is stopped by a signal (e.g.,
.BR SIGTSTP ),
then the call fails with the error
-.BR EINTR
+.B EINTR
after the process is resumed by a
.B SIGCONT
signal.
.B EPERM
The calling process attempted to increase its priority by
supplying a negative
-.IR inc
+.I inc
but has insufficient privileges.
Under Linux the
.B CAP_SYS_NICE
However, the Linux and (g)libc
(earlier than glibc 2.2.4) return value is nonstandard, see below.
SVr4 documents an additional
-.BR EINVAL
+.B EINVAL
error code.
.SH NOTES
SUSv2 and POSIX.1-2001 specify that
.fi
.SH DESCRIPTION
Given a
-.IR pathname
+.I pathname
for a file,
.BR open ()
returns a file descriptor, a small, non-negative integer
.BR fcntl (2)
.B F_SETFD
operation to set the
-.BR FD_CLOEXEC
+.B FD_CLOEXEC
flag.
Additionally,
use of this flag is essential in some multithreaded programs
.BR fcntl (2)
.B F_SETFD
operation to set the
-.BR FD_CLOEXEC
+.B FD_CLOEXEC
flag does not suffice to avoid race conditions
where one thread opens a file descriptor at the same
time as another thread does a
For the handling of FIFOs (named pipes), see also
.BR fifo (7).
For a discussion of the effect of
-.BR O_NONBLOCK
+.B O_NONBLOCK
in conjunction with mandatory file locks and with file leases, see
.BR fcntl (2).
.TP
specifies the permissions to use in case a new file is created.
It is
modified by the process's
-.IR umask
+.I umask
in the usual way: the permissions of the created file are
.IR "(mode & ~umask)" .
Note that this mode only applies to future accesses of the
were used.
.TP
.B EFAULT
-.IR pathname
+.I pathname
points outside your accessible address space.
.TP
.B EFBIG
The process already has the maximum number of files open.
.TP
.B ENAMETOOLONG
-.IR pathname
+.I pathname
was too long.
.TP
.B ENFILE
.BR O_DIRECTORY ,
.BR O_NOATIME ,
and
-.BR O_NOFOLLOW
+.B O_NOFOLLOW
flags are Linux specific.
One may have to define the
.B _GNU_SOURCE
macro to get their definitions.
-.BR O_DIRECT
+.B O_DIRECT
is not specified in POSIX; one has to define
.B _GNU_SOURCE
to get its definition.
.I pathname
is relative, then it is interpreted relative to the directory
referred to by the file descriptor
-.IR dirfd
+.I dirfd
(rather than relative to the current working directory of
the calling process, as is done by
.BR open (2)
.BR open (2)).
If
-.IR pathname
+.I pathname
is absolute, then
.I dirfd
is ignored.
.BR PR_ENDIAN_BIG ,
.BR PR_ENDIAN_LITTLE ,
or
-.BR PR_ENDIAN_PPC_LITTLE
+.B PR_ENDIAN_PPC_LITTLE
(PowerPC pseudo little endian).
.TP
.B PR_SET_UNALIGN
.TP
.BR PTRACE_PEEKTEXT ", " PTRACE_PEEKDATA
Reads a word at the location
-.IR addr
+.I addr
in the child's memory, returning the word as the result of the
.BR ptrace ()
call.
.TP
.BR PTRACE_POKETEXT ", " PTRACE_POKEDATA
Copies the word
-.IR data
+.I data
to location
-.IR addr
+.I addr
in the child's memory.
As above, the two requests are currently equivalent.
.TP
.B PTRACE_POKEUSR
Copies the word
-.IR data
+.I data
to offset
.I addr
in the child's USER area.
If the child calls
.BR clone (2)
with the
-.BR CLONE_VFORK
+.B CLONE_VFORK
flag,
.B PTRACE_EVENT_VFORK
will be delivered instead
about the ptrace event
that just happened, placing it in the location \fIdata\fP in the parent.
For
-.BR PTRACE_EVENT_EXIT
+.B PTRACE_EVENT_EXIT
this is the child's exit status.
For
.BR PTRACE_EVENT_FORK ,
-.BR PTRACE_EVENT_VFORK
+.B PTRACE_EVENT_VFORK
and
.B PTRACE_EVENT_CLONE
this
(\fIaddr\fP is ignored.)
.SH "RETURN VALUE"
On success,
-.BR PTRACE_PEEK*
+.B PTRACE_PEEK*
requests return the requested data,
while other requests return zero.
On error, all requests return \-1, and
.I errno
is set appropriately.
Since the value returned by a successful
-.BR PTRACE_PEEK*
+.B PTRACE_PEEK*
request may be \-1, the caller must check
.I errno
after such requests to determine whether or not an error occurred.
effectively simulate this notification.
.LP
When the parent receives an event with
-.BR PTRACE_EVENT_*
+.B PTRACE_EVENT_*
set,
the child is not in the normal signal delivery path.
This means the parent cannot do
.BR ptrace (PTRACE_KILL).
.BR kill (2)
with a
-.BR SIGKILL
+.B SIGKILL
signal can be used instead to kill the child process
after receiving one of these messages.
.LP
functionality in a more powerful and uniform way.
.SH BUGS
On hosts with 2.6 kernel headers,
-.BR PTRACE_SETOPTIONS
+.B PTRACE_SETOPTIONS
is declared
with a different value than the one for 2.4.
This leads to applications compiled with such
headers failing when run on 2.4 kernels.
This can be worked around by redefining
-.BR PTRACE_SETOPTIONS
+.B PTRACE_SETOPTIONS
to
.BR PTRACE_OLDSETOPTIONS ,
if that is defined.
.I pathname
is relative, then it is interpreted relative to the directory
referred to by the file descriptor
-.IR dirfd
+.I dirfd
(rather than relative to the current working directory of
the calling process, as is done by
.BR readlink (2)
.BR readlink (2)).
If
-.IR pathname
+.I pathname
is absolute, then
.I dirfd
is ignored.
buffers from the file associated with the file descriptor
.I fd
into the buffers described by
-.IR iov
+.I iov
("scatter input").
.PP
The
buffers of data described by
.I iov
to the file associated with the file descriptor
-.IR fd
+.I fd
("gather output").
.PP
The pointer
An implementation can advertise its limit by defining
.B IOV_MAX
in
-.IR <limits.h>
+.I <limits.h>
or at run time via the return value from
.IR sysconf(_SC_IOV_MAX) .
On Linux, the limit advertised by these mechanisms is 1024,
unless
.I magic
equals
-.BR LINUX_REBOOT_MAGIC1
+.B LINUX_REBOOT_MAGIC1
(that is, 0xfee1dead) and
.I magic2
equals
-.BR LINUX_REBOOT_MAGIC2
+.B LINUX_REBOOT_MAGIC2
(that is, 672274793).
However, since 2.1.17 also
-.BR LINUX_REBOOT_MAGIC2A
+.B LINUX_REBOOT_MAGIC2A
(that is, 85072278)
and since 2.1.97 also
-.BR LINUX_REBOOT_MAGIC2B
+.B LINUX_REBOOT_MAGIC2B
(that is, 369367448)
and since 2.5.71 also
-.BR LINUX_REBOOT_MAGIC2C
+.B LINUX_REBOOT_MAGIC2C
(that is, 537993216)
are permitted as value for
.IR magic2 .
.BR MSG_CMSG_CLOEXEC " (" recvmsg "() only; since Linux 2.6.23)"
Set the close-on-exec flag for the file descriptor received
via a Unix domain file descriptor using the
-.BR SCM_RIGHTS
+.B SCM_RIGHTS
operation (described in
.BR unix (7)).
This flag is useful for the same reasons as the
(for example as mount point), while the system considers
this an error.
(Note that there is no requirement to return
-.BR EBUSY
+.B EBUSY
in such
cases \(em there is nothing wrong with doing the rename anyway \(em
but it is allowed to return
exists but is not a directory.
.TP
.BR ENOTEMPTY " or " EEXIST
-.IR newpath
+.I newpath
is a non-empty directory, that is, contains entries other than "." and "..".
.TP
.BR EPERM " or " EACCES
.B CAP_FOWNER
capability);
or the filesystem containing
-.IR pathname
+.I pathname
does not support renaming of the type requested.
.TP
.B EROFS
.I oldpath
is relative, then it is interpreted relative to the directory
referred to by the file descriptor
-.IR olddirfd
+.I olddirfd
(rather than relative to the current working directory of
the calling process, as is done by
.BR rename (2)
.BR rename (2)).
If
-.IR oldpath
+.I oldpath
is absolute, then
.I olddirfd
is ignored.
or similar for
.I newpath
and
-.IR newdirfd
+.I newdirfd
.SH VERSIONS
.BR renameat ()
was added to Linux in kernel 2.6.16.
Write access to the directory containing
.I pathname
was not allowed, or one of the directories in the path prefix of
-.IR pathname
+.I pathname
did not allow search permission.
(See also
.BR path_resolution (7).
or,
.I pathname
has
-.IR ..
+.I ..
as its final component.
.TP
.B EPERM
.TP
.B EPERM
The filesystem containing
-.IR pathname
+.I pathname
does not support the removal of directories.
.TP
.B EROFS
.BR sched_setaffinity ()
sets the CPU affinity mask of the process whose ID is
-.IR pid
+.I pid
to the value specified by
.IR mask .
If
.BR sched_getaffinity ()
writes the affinity mask of the process whose ID is
-.IR pid
+.I pid
into the
.I cpu_set_t
structure pointed to by
of the process identified by
.IR pid ,
or it must possess the
-.BR CAP_SYS_NICE
+.B CAP_SYS_NICE
capability.
.TP
.B ESRCH
priority for the
.B SCHED_RR
and
-.BR SCHED_FIFO
+.B SCHED_FIFO
policies.
If an unprivileged process has a non-zero
.B RLIMIT_RTPRIO
.BR CONFIG_PREEMPT_NONE ,
.BR CONFIG_PREEMPT_VOLUNTARY ,
and
-.BR CONFIG_PREEMPT_DESKTOP
+.B CONFIG_PREEMPT_DESKTOP
which respectively provide no, some, and considerable
reduction of the worst-case scheduling latency.
With the patches applied or after their full inclusion into the mainline
kernel, the additional configuration item
-.BR CONFIG_PREEMPT_RT
+.B CONFIG_PREEMPT_RT
becomes available.
If this is selected, Linux is transformed into a regular
real-time operating system.
defined in
.I <sys/sem.h>
if the
-.BR _GNU_SOURCE
+.B _GNU_SOURCE
feature test macro is defined:
.nf
.in +2n
Set the value of
.B semval
to
-.IB arg.val
+.I arg.val
for the
.IR semnum \-th
semaphore of the set, updating also the
.TP
.B EFAULT
The address pointed to by
-.IB arg.buf
+.I arg.buf
or
-.IB arg.array
+.I arg.array
isn't accessible.
.TP
.B EIDRM
.SH NOTES
The
.BR IPC_INFO ,
-.BR SEM_STAT
+.B SEM_STAT
and
.B SEM_INFO
operations are used by the
To take advantage of this,
a recompilation under glibc-2.1.91 or later should suffice.
(The kernel distinguishes old and new calls by an
-.BR IPC_64
+.B IPC_64
flag in
.IR cmd .)
.PP
.IR key ,
but the calling process does not have permission to access the set,
and does not have the
-.BR CAP_IPC_OWNER
+.B CAP_IPC_OWNER
capability.
.TP
.B EEXIST
.\" The semaphore set is marked to be deleted.
.TP
.B EINVAL
-.IR nsems
+.I nsems
is less than 0 or greater than the limit on the number
of semaphores per semaphore set
.RB ( SEMMSL ),
.TP
.B EAGAIN
An operation could not proceed immediately and either
-.BR IPC_NOWAIT
+.B IPC_NOWAIT
was specified in
.I sem_flg
or the time limit specified in
.IR mode ,
.I nodemask
and
-.IR maxnode
+.I maxnode
arguments.
A NUMA machine has different
if a background process group tries to
.BR read (2)
from the terminal, then the group is send a
-.BR SIGTSTP
+.B SIGTSTP
signal, which suspends it.
The
.BR tcgetpgrp (3)
.I uid
does not match the current UID and this call would
bring that user ID over its
-.BR RLIMIT_NPROC
+.B RLIMIT_NPROC
resource limit.
.TP
.B EPERM
does not match the current uid and
.I uid
brings process over its
-.BR RLIMIT_NPROC
+.B RLIMIT_NPROC
resource limit.
.TP
.B EPERM
is set to either
.BR ENOSPC ,
or
-.BR EDQUOT
+.B EDQUOT
if quota enforcement was the cause.
.PP
If extended attributes are not supported by the filesystem, or are disabled,
.SH NAME
sgetmask, ssetmask \- manipulation of signal mask (obsolete)
.SH SYNOPSIS
-.BI "long sgetmask(void);"
+.B "long sgetmask(void);"
.sp
.BI "long ssetmask(long " newmask );
.SH DESCRIPTION
parameters in the structure pointed to by
.IR buf .
This structure is of type
-.IR shminfo
+.I shminfo
(thus, a cast is required),
defined in
.I <sys/shm.h>
The caller must fault in
any pages that are required to be present after locking is enabled.
If a segment has been locked, then the (non-standard)
-.BR SHM_LOCKED
+.B SHM_LOCKED
flag of the
.I shm_perm.mode
field in the associated data structure retrieved by
(for
.BR SHM_LOCK )
the amount of memory to be locked falls within the
-.BR RLIMIT_MEMLOCK
+.B RLIMIT_MEMLOCK
resource limit (see
.BR setrlimit (2)).
.\" There was some weirdness in 2.6.9: SHM_LOCK and SHM_UNLOCK could
\fIshm_perm.mode\fP does not allow read access for
.IR shmid ,
and the calling process does not have the
-.BR CAP_IPC_OWNER
+.B CAP_IPC_OWNER
capability.
.TP
.B EFAULT
that the total bytes in locked shared memory segments would exceed
the limit for the real user ID of the calling process.
This limit is defined by the
-.BR RLIMIT_MEMLOCK
+.B RLIMIT_MEMLOCK
soft resource limit (see
.BR setrlimit (2)).
.TP
.B CAP_IPC_LOCK
capability).
(Since Linux 2.6.9, this error can also occur if the
-.BR RLIMIT_MEMLOCK
+.B RLIMIT_MEMLOCK
is 0 and the caller is not privileged.)
.SH "CONFORMING TO"
SVr4, POSIX.1-2001.
.SH NOTES
The
.BR IPC_INFO ,
-.BR SHM_STAT
+.B SHM_STAT
and
.B SHM_INFO
operations are used by the
isn't
.BR IPC_PRIVATE ,
no shared memory segment corresponding to
-.IR key
+.I key
exists, and
.B IPC_CREAT
is specified in
.RB ( SHMSEG ).
.SS Linux Notes
Until version 2.3.30 Linux would return
-.BR EIDRM
+.B EIDRM
for a
.BR shmget ()
on a shared memory segment scheduled for deletion.
.B SA_ONESHOT
is an obsolete, non-standard synonym for this flag.
.TP
-.BR SA_ONSTACK
+.B SA_ONSTACK
Call the signal handler on an alternate signal stack provided by
.BR sigaltstack (2).
If an alternate stack is not available, the default stack will be used.
.BR SIGFPE ,
.BR SIGILL ,
or
-.BR SIGSEGV
+.B SIGSEGV
signal that was not generated by
.BR kill (2)
or
.BR signal ()
sets the disposition of the signal
-.IR signum
+.I signum
to
.IR handler ,
which is either
.SH ERRORS
.TP
.B EFAULT
-.IR set
+.I set
points to memory which is not a valid part of the process address space.
.SH "CONFORMING TO"
POSIX.1-2001.
.I how
is ignored),
but the current value of the signal mask is nevertheless returned in
-.IR oldset
+.I oldset
(it is not NULL).
The use of
.BR SIGFPE ,
.BR SIGILL ,
or
-.BR SIGSEGV
+.B SIGSEGV
are generated
while they are blocked, the result is undefined,
unless the signal was generated by the
with the signal mask that was returned by
.BR sigprocmask (2)
(in the
-.IR oldset
+.I oldset
argument).
.PP
See
System V variants).
.SH NOTES
On Linux, the only supported domain for this call is
-.BR AF_UNIX
+.B AF_UNIX
(or synonymously,
.BR AF_LOCAL ).
(Most implementations have the same restriction.)
offset from which bytes will be read from
.IR fd_in ;
in this case, the current file offset of
-.IR fd_in
+.I fd_in
is not changed.
Analogous statements apply for
.I out_fd
.BR splice ()
may nevertheless block because the file descriptors that
are spliced to/from may block (unless they have the
-.BR O_NONBLOCK
+.B O_NONBLOCK
flag set).
.TP
.B SPLICE_F_MORE
when the file has holes.)
The
-.IR st_blksize
+.I st_blksize
field gives the "preferred" blocksize for efficient file system I/O.
(Writing to a file in smaller chunks may cause
an inefficient read-modify-rewrite.)
.BR S_IFDIR ,
.BR S_IFCHR ,
.BR S_IFIFO ,
-.BR S_ISVTX
+.B S_ISVTX
bits, but instead demands the use of
the macros
.BR S_ISDIR (),
(slot
.IR __NR_stat ),
and
-.IR sys_stat64()
+.I sys_stat64()
(new in kernel 2.4; slot
.IR __NR_stat64 ).
The glibc
.IR f_frsize ,
.IR f_frsize ,
and
-.IR f_bsize
+.I f_bsize
fields of the return value of
.IR "statvfs(path,buf)" .
.SH "SEE ALSO"
Write access to the directory containing
.I newpath
is denied, or one of the directories in the path prefix of
-.IR newpath
+.I newpath
did not allow search permission.
(See also
.BR path_resolution (7).)
.TP
.B ENOTDIR
A component used as a directory in
-.IR newpath
+.I newpath
is not, in fact, a directory.
.TP
.B EPERM
The filesystem containing
-.IR newpath
+.I newpath
does not support the creation of symbolic links.
.TP
.B EROFS
.I newpath
is relative, then it is interpreted relative to the directory
referred to by the file descriptor
-.IR newdirfd
+.I newdirfd
(rather than relative to the current working directory of
the calling process, as is done by
.BR symlink (2)
.BR symlink (2)).
If
-.IR newpath
+.I newpath
is absolute, then
.I newdirfd
is ignored.
(slot
.IR __NR_stat ),
and
-.IR sys_stat64()
+.I sys_stat64()
(slot
.IR __NR_stat64 ),
with the last being the most current.
.IR __NR_oldolduname ,
.IR __NR_olduname ,
and
-.IR __NR_uname
+.I __NR_uname
refer to the routines
.IR sys_olduname (),
.IR sys_uname ()
and
.IR sys_mmap ()
corresponding to
-.IR __NR_select
+.I __NR_select
and
.IR __NR_mmap ,
on i386 one finds
parameter block) instead.
These days passing five parameters
is not a problem any more, and there is a
-.IR __NR__newselect
+.I __NR__newselect
.\" (used by libc 6)
that corresponds directly to
.IR sys_select ()
stores the current process times in the
.I "struct tms"
that
-.IR buf
+.I buf
points to.
The
.I struct tms
.I pathname
is not allowed for the process's effective UID, or one of the
directories in
-.IR pathname
+.I pathname
did not allow search permission.
(See also
.BR path_resolution (7).)
.I pathname
is relative, then it is interpreted relative to the directory
referred to by the file descriptor
-.IR dirfd
+.I dirfd
(rather than relative to the current working directory of
the calling process, as is done by
.BR unlink (2)
.BR rmdir (2)).
If the pathname given in
-.IR pathname
+.I pathname
is absolute, then
.I dirfd
is ignored.
.BI WIFSTOPPED( status )
returns true if the child process was stopped by delivery of a signal;
this is only possible if the call was done using
-.BR WUNTRACED
+.B WUNTRACED
or when the child is being traced (see
.BR ptrace (2)).
.TP
to an appropriate value in the case of an error.
.SH ERRORS
.TP
-.BR ECHILD
+.B ECHILD
(for
.BR wait ())
The calling process does not have any unwaited-for children.
.TP
-.BR ECHILD
+.B ECHILD
(for
.BR waitpid ()
or
or the
.B SA_NOCLDWAIT
flag is set for
-.BR SIGCHLD
+.B SIGCHLD
(see
.BR sigaction (2)),
then children that terminate do not become zombies and a call to
writes up to
.I count
bytes from the buffer pointed
-.IR buf
+.I buf
to the file referred to by the file descriptor
.IR fd .
The macros
.BR HUGE_VAL ,
.BR HUGE_VALF ,
-.BR HUGE_VALL
+.B HUGE_VALL
expand to constants of types \fIdouble\fP, \fIfloat\fP
and \fIlong double\fP, respectively,
that represent a large positive value, possibly plus infinity.
.IR fegetenv ,
.IR feholdexcept ,
.IR fesetenv ,
-.IR feupdateenv
+.I feupdateenv
and FPU exception handling, like
.IR feclearexcept ,
.IR fegetexceptflag ,
.I /usr/include/fpu_control.h
can be used.
.SH EXAMPLE
-.BR __setfpucw(0x1372)
+.B __setfpucw(0x1372)
Set FPU control word on the i386 architecture to
.br
.SH "SEE ALSO"
.BR feclearexcept (3)
.br
-.IR /usr/include/i386/fpu_control.h
+.I /usr/include/i386/fpu_control.h
One or more of
.IR aio_offset ,
.IR aio_reqprio ,
-.IR aio_nbytes
+.I aio_nbytes
are invalid.
.TP
.B ENOSYS
.IR read ,
.IR write ,
or
-.IR fsync
+.I fsync
request.
Otherwise the return value is undefined.
On error, the error value is returned.
One or more of
.IR aio_offset ,
.IR aio_reqprio ,
-.IR aio_nbytes
+.I aio_nbytes
are invalid.
.TP
.B ENOSYS
.sp
.B "#include <argz.h>"
.sp
-.BI "error_t"
+.B "error_t"
.BI "argz_add(char **" argz ", size_t *" argz_len ", const char *" str );
.sp
-.BI "error_t"
+.B "error_t"
.BI "argz_add_sep(char **" argz ", size_t *" argz_len ,
.ti 20n
.BI "const char *" str ", int " delim );
.sp
-.BI "error_t"
+.B "error_t"
.BI "argz_append(char **" argz ", size_t *" argz_len ,
.ti 20n
.BI "const char *" buf ", size_t " buf_len );
.sp
-.BI "size_t"
+.B "size_t"
.BI "argz_count(const char *" argz ", size_t " argz_len );
.sp
-.BI "error_t"
+.B "error_t"
.BI "argz_create(char * const " argv "[], char **" argz ,
.ti 20n
.BI "size_t *" argz_len );
.sp
-.BI "error_t"
+.B "error_t"
.BI "argz_create_sep(const char *" str ", int " sep ", char **" argz ,
.ti 20n
.BI "size_t *" argz_len );
.sp
-.BI "error_t"
+.B "error_t"
.BI "argz_delete(char **" argz ", size_t *" argz_len ", char *" entry );
.sp
-.BI "void"
+.B "void"
.BI "argz_extract(char *" argz ", size_t " argz_len ", char **" argv );
.sp
-.BI "error_t"
+.B "error_t"
.BI "argz_insert(char **" argz ", size_t *" argz_len ", char *" before ,
.ti 20n
.BI "const char *" entry );
.sp
-.BI "char *"
+.B "char *"
.BI "argz_next(char *" argz ", size_t " argz_len ", const char *" entry );
.sp
-.BI "error_t"
+.B "error_t"
.BI "argz_replace(char **" argz ", size_t *" argz_len ", const char *" str ,
.ti 20n
.BI "const char *" with ", unsigned int *" replace_count );
.sp
-.BI "void"
+.B "void"
.BI "argz_stringify(char *" argz ", size_t " len ", int " sep );
.SH DESCRIPTION
These functions are glibc-specific.
.BR backtrace_symbols (),
and must be freed by the caller.
(The strings pointed to by
-.IR strings
+.I strings
need not and should not be freed.)
.BR backtrace_symbols_fd ()
.nf
.B #include <stdlib.h>
.sp
-.BI "int clearenv(void);"
+.B "int clearenv(void);"
.fi
.sp
.in -4n
.BR EINVAL .
.SH ERRORS
.TP
-.BR EINVAL
+.B EINVAL
If the value of
.I name
is invalid.
.sp
.BI "void *dlopen(const char *" filename ", int " flag );
.sp
-.BI "char *dlerror(void);"
+.B "char *dlerror(void);"
.sp
.BI "void *dlsym(void *" handle ", const char *" symbol );
.sp
then the directories listed in the DT_RPATH tag are searched.
.IP o
If the environment variable
-.BR LD_LIBRARY_PATH
+.B LD_LIBRARY_PATH
is defined to contain a colon-separated list of directories,
then these are searched.
(As a security measure this variable is ignored for set-user-ID and
are searched.
.IP o
The cache file
-.IR /etc/ld.so.cache
+.I /etc/ld.so.cache
(maintained by
.BR ldconfig (8))
is checked to see whether it contains an entry for
.\" void _fini(void) __attribute__((destructor));
.LP
Instead, libraries should export routines using the
-.BR __attribute__((constructor))
+.B __attribute__((constructor))
and
-.BR __attribute__((destructor))
+.B __attribute__((destructor))
function attributes.
See the gcc info pages for information on these.
Constructor routines are executed before
.SH NAME
dysize \- get number of days for a given year
.SH SYNOPSIS
-.BR "#include <time.h>"
+.B "#include <time.h>"
.sp
.BI "int dysize(int " year );
.sp
.sp
.B #define _GNU_SOURCE
.br
-.BI "#include <crypt.h>"
+.B "#include <crypt.h>"
.sp
.BI "void setkey_r(const char *" key ", struct crypt_data *" data );
.br
to zero before calling the above functions.
On success, it is unchanged.
.TP
-.BR ENOSYS
+.B ENOSYS
The function is not provided.
(For example because of former USA export restrictions.)
.SH "CONFORMING TO"
.sp
.B "#include <envz.h>"
.sp
-.BI "error_t"
+.B "error_t"
.BI "envz_add(char **" envz ", size_t *" envz_len ,
.ti 16n
.BI "const char *" name ", const char *" value );
.sp
-.BI "char *"
+.B "char *"
.BI "envz_entry(const char *" envz ", size_t *" envz_len ", const char *" name );
.sp
-.BI "char *"
+.B "char *"
.BI "envz_get(const char *" envz ", size_t *" envz_len ", const char *" name );
.sp
-.BI "error_t"
+.B "error_t"
.BI "envz_merge(char **" envz ", size_t *" envz_len ,
.ti 16n
.BI "const char *" envz2 ", size_t " envz2_len ", int " override );
.sp
-.BI "void"
+.B "void"
.BI "envz_remove(char **" envz ", size_t *" envz_len ", const char *" name );
.sp
-.BI "void"
+.B "void"
.BI "envz_strip(char **" envz ", size_t *" envz_len );
.SH DESCRIPTION
These functions are glibc-specific.
.IR C99 ,
indicating that the name is defined by C99.
.TP
-.BR E2BIG
+.B E2BIG
Argument list too long (POSIX.1)
.TP
-.BR EACCES
+.B EACCES
Permission denied (POSIX.1)
.TP
-.BR EADDRINUSE
+.B EADDRINUSE
Address already in use (POSIX.1)
.TP
-.BR EADDRNOTAVAIL
+.B EADDRNOTAVAIL
Address not available (POSIX.1)
.\" EADV is only an error on HURD(?)
.TP
-.BR EAFNOSUPPORT
+.B EAFNOSUPPORT
Address family not supported (POSIX.1)
.TP
-.BR EAGAIN
+.B EAGAIN
Resource temporarily unavailable (may be the same value as
.BR EWOULDBLOCK )
(POSIX.1)
.TP
-.BR EALREADY
+.B EALREADY
Connection already in progress (POSIX.1)
.TP
-.BR EBADE
+.B EBADE
Invalid exchange
.TP
-.BR EBADF
+.B EBADF
Bad file descriptor (POSIX.1)
.TP
-.BR EBADFD
+.B EBADFD
File descriptor in bad state
.TP
-.BR EBADMSG
+.B EBADMSG
Bad message (POSIX.1)
.TP
-.BR EBADR
+.B EBADR
Invalid request descriptor
.TP
-.BR EBADRQC
+.B EBADRQC
Invalid request code
.TP
-.BR EBADSLT
+.B EBADSLT
Invalid slot
.\" EBFONT is defined but appears not to be used by kernel or glibc.
.TP
-.BR EBUSY
+.B EBUSY
Device or resource busy (POSIX.1)
.TP
-.BR ECANCELED
+.B ECANCELED
Operation canceled (POSIX.1)
.TP
-.BR ECHILD
+.B ECHILD
No child processes (POSIX.1)
.TP
.B ECHRNG
.B ECOMM
Communication error on send
.TP
-.BR ECONNABORTED
+.B ECONNABORTED
Connection aborted (POSIX.1)
.TP
-.BR ECONNREFUSED
+.B ECONNREFUSED
Connection refused (POSIX.1)
.TP
-.BR ECONNRESET
+.B ECONNRESET
Connection reset (POSIX.1)
.TP
-.BR EDEADLK
+.B EDEADLK
Resource deadlock avoided (POSIX.1)
.TP
-.BR EDEADLOCK
+.B EDEADLOCK
Synonym for
.B EDEADLK
.TP
-.BR EDESTADDRREQ
+.B EDESTADDRREQ
Destination address required (POSIX.1)
.TP
-.BR EDOM
+.B EDOM
Mathematics argument out of domain of function (POSIX.1, C99)
.\" EDOTDOT is defined but appears to be unused
.TP
-.BR EDQUOT
+.B EDQUOT
.\" POSIX just says "Reserved"
Disk quota exceeded (POSIX.1)
.TP
-.BR EEXIST
+.B EEXIST
File exists (POSIX.1)
.TP
-.BR EFAULT
+.B EFAULT
Bad address (POSIX.1)
.TP
-.BR EFBIG
+.B EFBIG
File too large (POSIX.1)
.TP
-.BR EHOSTDOWN
+.B EHOSTDOWN
Host is down
.TP
-.BR EHOSTUNREACH
+.B EHOSTUNREACH
Host is unreachable (POSIX.1)
.TP
-.BR EIDRM
+.B EIDRM
Identifier removed (POSIX.1)
.TP
-.BR EILSEQ
+.B EILSEQ
Illegal byte sequence (POSIX.1, C99)
.TP
-.BR EINPROGRESS
+.B EINPROGRESS
Operation in progress (POSIX.1)
.TP
-.BR EINTR
+.B EINTR
Interrupted function call (POSIX.1)
.TP
-.BR EINVAL
+.B EINVAL
Invalid argument (POSIX.1)
.TP
-.BR EIO
+.B EIO
Input/output error (POSIX.1)
.TP
-.BR EISCONN
+.B EISCONN
Socket is connected (POSIX.1)
.TP
-.BR EISDIR
+.B EISDIR
Is a directory (POSIX.1)
.TP
-.BR EISNAM
+.B EISNAM
Is a named type file
.TP
-.BR EKEYEXPIRED
+.B EKEYEXPIRED
Key has expired
.TP
-.BR EKEYREJECTED
+.B EKEYREJECTED
Key was rejected by service
.TP
-.BR EKEYREVOKED
+.B EKEYREVOKED
Key has been revoked
.TP
.B EL2HLT
.B EL3RST
Level 3 halted
.TP
-.BR ELIBACC
+.B ELIBACC
Cannot access a needed shared library
.TP
-.BR ELIBBAD
+.B ELIBBAD
Accessing a corrupted shared library
.TP
-.BR ELIBMAX
+.B ELIBMAX
Attempting to link in too many shared libraries
.TP
-.BR ELIBSCN
+.B ELIBSCN
lib section in a.out corrupted
.TP
-.BR ELIBEXEC
+.B ELIBEXEC
Cannot exec a shared library directly
.TP
-.BR ELOOP
+.B ELOOP
Too many levels of symbolic links (POSIX.1)
.\" ELNRNG is defined but appears to be unused
.TP
-.BR EMEDIUMTYPE
+.B EMEDIUMTYPE
Wrong medium type
.TP
-.BR EMFILE
+.B EMFILE
Too many open files (POSIX.1)
.TP
-.BR EMLINK
+.B EMLINK
Too many links (POSIX.1)
.TP
-.BR EMSGSIZE
+.B EMSGSIZE
Message too long (POSIX.1)
.TP
-.BR EMULTIHOP
+.B EMULTIHOP
.\" POSIX says "Reserved"
Multihop attempted (POSIX.1)
.TP
-.BR ENAMETOOLONG
+.B ENAMETOOLONG
Filename too long (POSIX.1)
.\" ENAVAIL is defined, but appears not to be used
.TP
-.BR ENETDOWN
+.B ENETDOWN
Network is down (POSIX.1)
.TP
-.BR ENETRESET
+.B ENETRESET
Connection aborted by network (POSIX.1)
.TP
-.BR ENETUNREACH
+.B ENETUNREACH
Network unreachable (POSIX.1)
.TP
-.BR ENFILE
+.B ENFILE
Too many open files in system (POSIX.1)
.\" ENOANO is defined but appears to be unused.
.TP
-.BR ENOBUFS
+.B ENOBUFS
No buffer space available (POSIX.1 (XSI STREAMS option))
.\" ENOCSI is defined but appears to be unused.
.TP
-.BR ENODATA
+.B ENODATA
No message is available on the STREAM head read queue (POSIX.1)
.TP
-.BR ENODEV
+.B ENODEV
No such device (POSIX.1)
.TP
-.BR ENOENT
+.B ENOENT
No such file or directory (POSIX.1)
.TP
-.BR ENOEXEC
+.B ENOEXEC
Exec format error (POSIX.1)
.TP
-.BR ENOKEY
+.B ENOKEY
Required key not available
.TP
-.BR ENOLCK
+.B ENOLCK
No locks available (POSIX.1)
.TP
-.BR ENOLINK
+.B ENOLINK
.\" POSIX says "Reserved"
Link has been severed (POSIX.1)
.TP
-.BR ENOMEDIUM
+.B ENOMEDIUM
No medium found
.TP
-.BR ENOMEM
+.B ENOMEM
Not enough space (POSIX.1)
.TP
-.BR ENOMSG
+.B ENOMSG
No message of the desired type (POSIX.1)
.TP
-.BR ENONET
+.B ENONET
Machine is not on the network
.TP
-.BR ENOPKG
+.B ENOPKG
Package not installed
.TP
-.BR ENOPROTOOPT
+.B ENOPROTOOPT
Protocol not available (POSIX.1)
.TP
-.BR ENOSPC
+.B ENOSPC
No space left on device (POSIX.1)
.TP
-.BR ENOSR
+.B ENOSR
No STREAM resources (POSIX.1 (XSI STREAMS option))
.TP
-.BR ENOSTR
+.B ENOSTR
Not a STREAM (POSIX.1 (XSI STREAMS option))
.TP
-.BR ENOSYS
+.B ENOSYS
Function not implemented (POSIX.1)
.TP
-.BR ENOTBLK
+.B ENOTBLK
Block device required
.TP
-.BR ENOTCONN
+.B ENOTCONN
The socket is not connected (POSIX.1)
.TP
-.BR ENOTDIR
+.B ENOTDIR
Not a directory (POSIX.1)
.TP
-.BR ENOTEMPTY
+.B ENOTEMPTY
Directory not empty (POSIX.1)
.\" ENOTNAM is defined but appears to be unused.
.TP
-.BR ENOTSOCK
+.B ENOTSOCK
Not a socket (POSIX.1)
.TP
-.BR ENOTSUP
+.B ENOTSUP
Operation not supported (POSIX.1)
.TP
-.BR ENOTTY
+.B ENOTTY
Inappropriate I/O control operation (POSIX.1)
.TP
-.BR ENOTUNIQ
+.B ENOTUNIQ
Name not unique on network
.TP
-.BR ENXIO
+.B ENXIO
No such device or address (POSIX.1)
.TP
-.BR EOPNOTSUPP
+.B EOPNOTSUPP
Operation not supported on socket (POSIX.1)
.sp
.RB ( ENOTSUP
have the same value on Linux, but
according to POSIX.1 these error values should be distinct.)
.TP
-.BR EOVERFLOW
+.B EOVERFLOW
Value too large to be stored in data type (POSIX.1)
.TP
-.BR EPERM
+.B EPERM
Operation not permitted (POSIX.1)
.TP
-.BR EPFNOSUPPORT
+.B EPFNOSUPPORT
Protocol family not supported
.TP
-.BR EPIPE
+.B EPIPE
Broken pipe (POSIX.1)
.TP
-.BR EPROTO
+.B EPROTO
Protocol error (POSIX.1)
.TP
-.BR EPROTONOSUPPORT
+.B EPROTONOSUPPORT
Protocol not supported (POSIX.1)
.TP
-.BR EPROTOTYPE
+.B EPROTOTYPE
Protocol wrong type for socket (POSIX.1)
.TP
-.BR ERANGE
+.B ERANGE
Result too large (POSIX.1, C99)
.TP
-.BR EREMCHG
+.B EREMCHG
Remote address changed
.TP
-.BR EREMOTE
+.B EREMOTE
Object is remote
.TP
-.BR EREMOTEIO
+.B EREMOTEIO
Remote I/O error
.TP
-.BR ERESTART
+.B ERESTART
Interrupted system call should be restarted
.TP
-.BR EROFS
+.B EROFS
Read-only file system (POSIX.1)
.TP
-.BR ESHUTDOWN
+.B ESHUTDOWN
Cannot send after transport endpoint shutdown
.TP
-.BR ESPIPE
+.B ESPIPE
Invalid seek (POSIX.1)
.TP
-.BR ESOCKTNOSUPPORT
+.B ESOCKTNOSUPPORT
Socket type not supported
.TP
-.BR ESRCH
+.B ESRCH
No such process (POSIX.1)
.\" ESRMNT is defined but appears not to be used
.TP
-.BR ESTALE
+.B ESTALE
Stale file handle (POSIX.1)
.sp
This error can occur for NFS and for other file systems
.TP
-.BR ESTRPIPE
+.B ESTRPIPE
Streams pipe error
.TP
-.BR ETIME
+.B ETIME
Timer expired
(POSIX.1 (XSI STREAMS option))
.sp
.BR ioctl (2)
timeout")
.TP
-.BR ETIMEDOUT
+.B ETIMEDOUT
Connection timed out (POSIX.1)
.\" ETOOMANYREFS is defined, but appears not to be used.
.TP
-.BR ETXTBSY
+.B ETXTBSY
Text file busy (POSIX.1)
.TP
-.BR EUCLEAN
+.B EUCLEAN
Structure needs cleaning
.TP
-.BR EUNATCH
+.B EUNATCH
Protocol driver not attached
.TP
-.BR EUSERS
+.B EUSERS
Too many users
.TP
-.BR EWOULDBLOCK
+.B EWOULDBLOCK
Operation would block (may be same value as
.BR EAGAIN )
(POSIX.1)
.TP
-.BR EXDEV
+.B EXDEV
Improper link (POSIX.1)
.TP
.B EXFULL
.BR error ()
is the value of the global variable
.BR program_invocation_name (3).
-.IR program_invocation_name
+.I program_invocation_name
initially has the same value as
.IR main ()'s
.IR argv[0] .
functions.
.LP
If the implementation supports the
-.BR SIGCHLD
+.B SIGCHLD
signal, this signal
is sent to the parent.
If the parent has set
The
.BR fclose ()
function will flush the stream pointed to by
-.IR fp
+.I fp
(writing any buffered output data using
.BR fflush (3))
and close the underlying file descriptor.
.IR stdin ,
.IR stdout ,
and
-.IR stderr
+.I stderr
are also closed.
.SH "RETURN VALUE"
This function returns 0 if all files were successfully closed;
.BR FE_INEXACT ,
.BR FE_INVALID ,
.BR FE_OVERFLOW ,
-.BR FE_UNDERFLOW
+.B FE_UNDERFLOW
is defined when the implementation supports handling
of the corresponding exception, and if so then
defines the corresponding bit(s), so that one can call
.BR FE_DOWNWARD ,
.BR FE_TONEAREST ,
.BR FE_TOWARDZERO ,
-.BR FE_UPWARD
+.B FE_UPWARD
is defined when the implementation supports getting and setting
the corresponding rounding direction.
.LP
.br
.BI "int fedisableexcept(int " excepts );
.br
-.BI "int fegetexcept(void);"
+.B "int fegetexcept(void);"
.br
.fi
.LP
The caller should ensure that an extra byte is available in the
buffer
(and that
-.IR size
+.I size
counts that byte)
to allow for this.
.BR MM_NULLLBL ,
.BR MM_NULLTXT ,
.BR MM_NULLACT ,
-.BR MM_NULLTAG
+.B MM_NULLTAG
are synonyms for
.IR "((char *) 0)" ,
the empty string, and
.IR sb ,
and
.IR typeflag .
-.IR fpath
+.I fpath
is the pathname of the entry relative to
.IR dirpath .
-.IR sb
+.I sb
is a pointer to the
-.IR stat
+.I stat
structure returned by a call to
.BR stat (2)
for
.IR fpath .
-.IR typeflag
+.I typeflag
is an integer that has one of the following values:
.TP
.B FTW_F
is the offset of the filename (i.e., basename component)
in the pathname given in
.IR fpath .
-.IR level
+.I level
is the depth of
.I fpath
in the directory tree, relative to the root of the tree
If
.B AI_NUMERICSERV
is specified in
-.IR hints.ai_flags
+.I hints.ai_flags
and
.I service
is not NULL, then
.BR AI_ADDRCONFIG ,
.BR AI_ALL ,
and
-.BR AI_V4MAPPED
+.B AI_V4MAPPED
are available since glibc 2.3.3.
-.BR AI_NUMERICSERV
+.B AI_NUMERICSERV
is available since glibc 2.3.4.
.SH EXAMPLE
.\" getnameinfo.3 refers to this example
.I buf
on success.
The contents of the array pointed to by
-.IR buf
+.I buf
is undefined on error.
.SH ERRORS
.TP
Permission to read or search a component of the filename was denied.
.TP
.B EFAULT
-.IR buf
+.I buf
points to a bad address.
.TP
.B EINVAL
The
-.IR size
+.I size
argument is zero and
-.IR buf
+.I buf
is not a null pointer.
.TP
.B ENOENT
.TP
.B ERANGE
The
-.IR size
+.I size
argument is less than the length of the working directory name.
You need to allocate a bigger array and try again.
.SH "CONFORMING TO"
.sp
.BI "struct tm *getdate(const char *" string );
.sp
-.BI "extern int getdate_err;"
+.B "extern int getdate_err;"
.sp
.B "#define _GNU_SOURCE"
.br
.SH SYNOPSIS
.B #include <fstab.h>
.sp
-.BI "void endfsent(void);"
+.B "void endfsent(void);"
.sp
-.BI "struct fstab *getfsent(void);"
+.B "struct fstab *getfsent(void);"
.sp
.BI "struct fstab *getfsfile(const char *" mount_point );
.sp
.BI "struct fstab *getfsspec(const char *" special_file );
.sp
-.BI "int setfsent(void);"
+.B "int setfsent(void);"
.SH DESCRIPTION
These functions read from the file
.IR /etc/fstab .
.br
.BI "struct hostent *gethostbyname2(const char *" name ", int " af );
.sp
-.BI "int gethostent_r("
+.B "int gethostent_r("
.BI " struct hostent *" ret ", char *" buf ", size_t " buflen ,
.BI " struct hostent **" result ", int *" h_errnop );
.sp
one was found.
If
-.IR "*lineptr"
+.I "*lineptr"
is NULL, then
.BR getline ()
will allocate a buffer for storing the line,
Alternatively, before calling
.BR getline (),
-.IR "*lineptr"
+.I "*lineptr"
can contain a pointer to a
.BR malloc (3)\-allocated
buffer
-.IR "*n"
+.I "*n"
bytes in size.
If the buffer is not large enough to hold the line,
.BR getline ()
resizes it with
.BR realloc (3),
updating
-.IR "*lineptr"
+.I "*lineptr"
and
-.IR "*n"
+.I "*n"
as necessary.
In either case, on a successful call,
-.IR "*lineptr"
+.I "*lineptr"
and
-.IR "*n"
+.I "*n"
will be updated to reflect the buffer address and allocated size respectively.
.BR getdelim ()
works like
.BR getline (),
except a line delimiter other than newline can be specified as the
-.IR delimiter
+.I delimiter
argument.
As with
.BR getline (),
or
.IR sockaddr_in6 )
of size
-.IR salen
+.I salen
that holds the input IP address and port number.
The arguments
.I host
or
.BR _SC_PASS_MAX .
Glibc2 accepts
-.BR _SC_PASS_MAX
+.B _SC_PASS_MAX
and returns
.B BUFSIZ
(e.g., 8192).
can be found using
.BR sysconf (3)
with the
-.BR _SC_GETPW_R_SIZE_MAX
+.B _SC_GETPW_R_SIZE_MAX
parameter.
.SH "RETURN VALUE"
The
.br
.BI "int getc(FILE *" stream );
.br
-.BI "int getchar(void);"
+.B "int getchar(void);"
.br
.BI "char *gets(char *" "s" );
.br
.nf
.B #include <wchar.h>
.sp
-.BI "wint_t getwchar(void);"
+.B "wint_t getwchar(void);"
.fi
.SH DESCRIPTION
The
and
.I gl_offs
are declared as
-.IR size_t
+.I size_t
in glibc 2.1, as they should according to POSIX.2,
but are declared as
.I int
.IR signum ,
then it does nothing and returns 0.
If the action
-.BR SIG_IGN
+.B SIG_IGN
was specified for
.IR signum ,
then it does nothing and returns 1.
Otherwise, it resets the action to
-.BR SIG_DFL
+.B SIG_DFL
and calls
the action function with parameter
.IR signum ,
.fi
.SH DESCRIPTION
The routine
-.IR dbopen
+.I dbopen
is the library interface to database files.
One of the supported file formats is hash files.
The general description of the database access methods is in
or to
.B ENOSPC
if the converted address string would exceed the size of
-.IR dst
+.I dst
given by the
.I cnt
argument.
.nf
.B #include <math.h>
.sp
-.BI "int isgreater(x,y);"
+.B "int isgreater(x,y);"
.sp
-.BI "int isgreaterequal(x,y);"
+.B "int isgreaterequal(x,y);"
.sp
-.BI "int isless(x,y);"
+.B "int isless(x,y);"
.sp
-.BI "int islessequal(x,y);"
+.B "int islessequal(x,y);"
.sp
-.BI "int islessgreater(x,y);"
+.B "int islessgreater(x,y);"
.sp
-.BI "int isunordered(x,y);"
+.B "int isunordered(x,y);"
.fi
.sp
Compile with \fI\-std=c99\fP; link with \fI\-lm\fP.
key_secretkey_is_set \- interfaces to rpc keyserver daemon
.SH SYNOPSIS
.sp
-.BR "#include <rpc/rpc.h>"
+.B "#include <rpc/rpc.h>"
.sp
.BI "int key_decryptsession(const char *" remotename ,
.BI "des_block *" deskey );
is unlocked or locked by this process; return \-1, set
.I errno
to
-.BR EAGAIN
+.B EAGAIN
.RB ( EACCES
on some other systems),
if another process holds a lock.
or
.BR realloc ().
Otherwise, or if
-.IR free(ptr)
+.I free(ptr)
has already been called before, undefined behavior occurs.
If
.I ptr
or
.BR realloc ().
If the area pointed to was moved, a
-.IR free(ptr)
+.I free(ptr)
is done.
.SH "RETURN VALUE"
For
to set
.I errno
to
-.BR ENOMEM
+.B ENOMEM
upon failure.
Glibc assumes that this is done
(and the glibc versions of these routines do this); if you
.BR malloc ()
implementation which is tunable via environment variables.
When
-.BR MALLOC_CHECK_
+.B MALLOC_CHECK_
is set, a special (less efficient) implementation is used which
is designed to be tolerant against simple errors, such as double
calls of
Not all such errors can be protected against, however, and
memory leaks can result.
If
-.BR MALLOC_CHECK_
+.B MALLOC_CHECK_
is set to 0, any detected heap corruption is silently ignored;
if set to 1, a diagnostic message is printed on \fIstderr\fP;
if set to 2,
__after_morecore_hook \- malloc debugging variables
.SH SYNOPSIS
.sp
-.BR "#include <malloc.h>"
+.B "#include <malloc.h>"
.sp
.BI "void *(*__malloc_hook)(size_t " size ,
.BI "const void *" caller );
.BI "void (*__free_hook)(void *" ptr ,
.BI "const void *" caller );
.sp
-.BI "void (*__malloc_initialize_hook)(void);"
+.B "void (*__malloc_initialize_hook)(void);"
.sp
-.BI "void (*__after_morecore_hook)(void);"
+.B "void (*__after_morecore_hook)(void);"
.SH DESCRIPTION
The GNU C library lets you modify the behavior of
.BR malloc (3),
.BR __malloc_hook ,
.BR __realloc_hook ,
.BR __memalign_hook ,
-.BR __free_hook
+.B __free_hook
have a prototype like the functions
.BR malloc (3),
.BR realloc (3),
\fI*ps\fP is updated.
The conversion is effectively performed by repeatedly
calling
-.IR "mbrtowc(dest, *src, n, ps)"
+.I "mbrtowc(dest, *src, n, ps)"
where \fIn\fP is some
positive number, as long as this call succeeds, and then incrementing
\fIdest\fP by one and \fI*src\fP by the number of bytes consumed.
\fI*ps\fP is updated.
The conversion is effectively performed by repeatedly
calling
-.IR "mbrtowc(dest, *src, n, ps)"
+.I "mbrtowc(dest, *src, n, ps)"
where \fIn\fP is some
positive number, as long as this call succeeds, and then incrementing
\fIdest\fP by one and \fI*src\fP by the number of bytes consumed.
.BR mkdtemp ()
function returns a pointer to the modified template
string on success, and NULL on failure, in which case
-.IR errno
+.I errno
is set appropriately.
.SH ERRORS
.TP
.I pathname
is relative, then it is interpreted relative to the directory
referred to by the file descriptor
-.IR dirfd
+.I dirfd
(rather than relative to the current working directory of
the calling process, as is done by
.BR mkfifo (3)
.BR mkfifo (3)).
If
-.IR pathname
+.I pathname
is absolute, then
.I dirfd
is ignored.
.ft R
.fi
.SH DESCRIPTION
-.IR Mpool
+.I Mpool
is the library interface intended to provide page oriented buffer management
of files.
The buffers may be shared between processes.
.I notification->sigev_thread_function
as the start function of a new thread.
The function is invoked with
-.IR notification->sigev_value
+.I notification->sigev_value
as its sole argument.
If
-.IR notification->sigev_notify_attributes
+.I notification->sigev_notify_attributes
is not NULL, then it should point to a
.I pthread_attr_t
structure that defines attributes for the thread.
message queues open.
.TP
.B ENAMETOOLONG
-.IR name
+.I name
was too long.
.TP
.B ENFILE
was less than zero or greater than 1000 million.
.TP
.B EMSGSIZE
-.IR msg_len
+.I msg_len
was less than the
.I mq_msgsize
attribute of the message queue.
.SH DESCRIPTION
.BR mq_send ()
adds the message pointed to by
-.IR msg_ptr
+.I msg_ptr
to the message queue referred to by the descriptor
.IR mqdes .
The
was less than zero or greater than 1000 million.
.TP
.B EMSGSIZE
-.IR msg_len
+.I msg_len
was greater than the
.I mq_msgsize
attribute of the message queue.
The caller does not have permission to unlink this message queue.
.TP
.B ENAMETOOLONG
-.IR name
+.I name
was too long.
.TP
.B ENOENT
descriptor
.I fd
for the bytes in the range starting at
-.IR offset
+.I offset
and continuing for
.I len
bytes.
.BR posix_fallocate ()
returns zero on success, or an error number on failure.
Note that
-.IR errno
+.I errno
is not set.
.SH "ERRORS"
.TP
returns zero on success, or one of the error values listed in the
next section on failure.
Note that
-.IR errno
+.I errno
is not set.
.SH "ERRORS"
.TP
.B EINVAL
The
-.IR alignment
+.I alignment
parameter was not a power of two, or was not a multiple of
.IR "sizeof(void *)" .
.TP
.BR posix_memalign ()
verifies that
-.IR alignment
+.I alignment
matches the requirements detailed above.
.BR memalign ()
may not check that the
-.IR boundary
+.I boundary
parameter is correct.
POSIX requires that memory obtained from
.B #
The value should be converted to an ``alternate form''.
For
-.BR o
+.B o
conversions, the first character of the output string is made zero
(by prefixing a 0 if it was not zero already).
For
.BR u ,
.BR x ,
or
-.BR X
+.B X
conversion.
.TP
.B hh
.I long long int
argument.
.TP
-.BR L
+.B L
A following
.BR a ,
.BR A ,
is examined:
.I offset
is subtracted and the result is multiplied by
-.IR scale
+.I scale
and divided by 65536.
If the resulting value is less than
.IR bufsiz ,
.BR _DIRENT_HAVE_D_RECLEN ,
.BR _DIRENT_HAVE_D_OFF ,
or
-.BR _DIRENT_HAVE_D_TYPE
+.B _DIRENT_HAVE_D_TYPE
are defined.
Other than Linux, the
This is a block device.
.PP
If the file type could not be determined, the value
-.BR DT_UNKNOWN
+.B DT_UNKNOWN
is returned in
.IR d_type .
.SH "SEE ALSO"
.B MAXPATHLEN
(found in \fI<sys/param.h>\fP).
SUSv2 prescribes
-.BR PATH_MAX
+.B PATH_MAX
and
.BR NAME_MAX ,
as found in \fI<limits.h>\fP or provided by the
.fi
.SH DESCRIPTION
The routine
-.IR dbopen
+.I dbopen
is the library interface to database files.
One of the supported file formats is record number files.
The general description of the database access methods is in
.RB ( $ )
matches the empty string immediately before a newline, regardless of
whether
-.IR eflags
+.I eflags
contains
.BR REG_NOTEOL .
.SS "POSIX Regex Matching"
The
.I format
string consists of a sequence of
-.IR directives
+.I directives
which describe how to process the sequence of input characters.
If processing of a directive fails, no further input is read, and
.BR scanf ()
.IR format .
.SS Conversions
The following
-.IR "type modifier characters"
+.I "type modifier characters"
can appear in a conversion specification:
.TP
.B h
Indicates that the conversion will be either
.B efg
and the next pointer is a pointer to
-.IR "long double"
+.I "long double"
or the conversion will be
.B dioux
and the next pointer is a pointer to
The process already has the maximum number of files and open.
.TP
.B ENAMETOOLONG
-.IR name
+.I name
was too long.
.TP
.B ENFILE
The caller does not have permission to unlink this semaphore.
.TP
.B ENAMETOOLONG
-.IR name
+.I name
was too long.
.TP
.B ENOENT
.SH SYNOPSIS
.B #include <aliases.h>
.sp
-.BI "void setaliasent(void);"
+.B "void setaliasent(void);"
.sp
-.BI "void endaliasent(void);"
+.B "void endaliasent(void);"
.sp
-.BI "struct aliasent *getaliasent(void);"
+.B "struct aliasent *getaliasent(void);"
.sp
.BI "int getaliasent_r(struct aliasent *" result ","
.br
or
.B """POSIX"""
is a portable locale; its
-.BR LC_CTYPE
+.B LC_CTYPE
part corresponds to the 7-bit ASCII
character set.
.PP
.sp
.BI "int setnetgrent(const char *" netgroup );
.br
-.BI "void endnetgrent(void);"
+.B "void endnetgrent(void);"
.br
.BI "int getnetgrent(char **" host ", char **" user ", char **" domain );
.sp
argument can be the address of a signal handler function,
or one of the following constants:
.TP
-.BR SIG_DFL
+.B SIG_DFL
Reset the disposition of
.I sig
to the default.
.TP
-.BR SIG_IGN
+.B SIG_IGN
Ignore
.IR sig .
.TP
-.BR SIG_HOLD
+.B SIG_HOLD
Add
.I sig
to the process's signal mask, but leave the disposition of
.BR SIG_HOLD .
Instead, it should return the previous disposition of the signal
(unless the signal was blocked, in which case
-.BR SIG_HOLD
+.B SIG_HOLD
should be returned).
Second, if the signal is currently blocked, then
the return value of a successful
.br
.BI "int __fsetlocking(FILE *" stream ", int " type );
.br
-.BI "void _flushlbf(void);"
+.B "void _flushlbf(void);"
.br
.BI "void __fpurge(FILE *" stream );
.SH DESCRIPTION
otherwise the GNU-specific version is provided.
If no feature test macros are explicitly defined,
then (since glibc 2.4)
-.BR _POSIX_SOURCE
+.B _POSIX_SOURCE
is defined by default with the value
200112L, so that the XSI-compliant version of
.BR strerror_r ()
in the default way, that is, amounts are preceded by the locale's
sign indication, for example, nothing for positive, "\-" for negative.
.TP
-.BR !
+.B !
Omit the currency symbol.
.TP
-.BR \-
+.B \-
Left justify all fields.
The default is right justification.
.LP
.BR %m/%d/%y .
(Yecch \(em for Americans only.
Americans should note that in other countries
-.BR %d/%m/%y
+.B %d/%m/%y
is rather common.
This means that in international context this format is
ambiguous and should not be used.) (SU)
The ISO 8601 standard format is
.BR %Y-%m-%d .)
.TP
-.BR %H
+.B %H
The hour (0-23).
.TP
-.BR %I
+.B %I
The hour on a 12-hour clock (1-12).
.TP
.B %j
Details differ a bit between different Unix systems.
The glibc implementation does not touch those fields which are not
explicitly specified, except that it recomputes the
-.IR tm_wday
+.I tm_wday
and
-.IR tm_yday
+.I tm_yday
field if any of the year, month, or day elements changed.
.PP
This function is available since libc 4.6.8.
.nf
.B #include <stdlib.h>
.sp
-.BI "long int"
+.B "long int"
.BI "strtol(const char *" nptr ", char **" endptr ", int " base );
.sp
-.BI "long long int"
+.B "long long int"
.BI "strtoll(const char *" nptr ", char **" endptr ", int " base );
.fi
.sp
.sp
.in +4n
.nf
-.BI "quad_t"
+.B "quad_t"
.BI "strtoq(const char *" nptr ", char **" endptr ", int " base );
.sp
.in -4n
.nf
.B #include <stdlib.h>
.sp
-.BI "unsigned long int"
+.B "unsigned long int"
.BI "strtoul(const char *" nptr ", char **" endptr ", int " base );
.sp
-.BI "unsigned long long int"
+.B "unsigned long long int"
.BI "strtoull(const char *" nptr ", char **" endptr ", int " base );
.fi
.sp
.sp
.in +4n
.nf
-.BI "u_quad_t"
+.B "u_quad_t"
.BI "strtouq(const char *" nptr ", char **" endptr ", int " base );
.sp
.in -4n
.B _POSIX_STREAM_MAX
(8).
.TP
-.BR SYMLOOP_MAX
+.B SYMLOOP_MAX
The maximum number of symbolic links seen in a pathname before resolution
returns
.BR ELOOP .
The maximum length of terminal device name,
including the terminating null byte.
Must not be less than
-.BR _POSIX_TTY_NAME_MAX
+.B _POSIX_TTY_NAME_MAX
(9).
.TP
.BR TZNAME_MAX " - " _SC_TZNAME_MAX
The maximum number of bytes in a timezone name.
Must not be less than
-.BR _POSIX_TZNAME_MAX
+.B _POSIX_TZNAME_MAX
(6).
.TP
.BR _POSIX_VERSION " - " _SC_VERSION
.br
.BI "void syslog(int " priority ", const char *" format ", ...);"
.br
-.BI "void closelog(void);"
+.B "void closelog(void);"
.sp
.B #include <stdarg.h>
.sp
POSIX.1-2001 specifies only the
.B LOG_USER
and
-.BR LOG_LOCAL*
+.B LOG_LOCAL*
values for
.IR facility .
However, with the exception of
-.BR LOG_AUTHPRIV
+.B LOG_AUTHPRIV
and
.BR LOG_FTP ,
the other
tcgetpgrp, tcsetpgrp \- get and set terminal foreground process group
.SH SYNOPSIS
.sp
-.BR "#include <unistd.h>"
+.B "#include <unistd.h>"
.sp
.BI "pid_t tcgetpgrp(int " fd );
.sp
.sp
.B #define _XOPEN_SOURCE 500
.br
-.BR "#include <termios.h>"
+.B "#include <termios.h>"
.sp
.BI "pid_t tcgetsid(int " fd );
.SH DESCRIPTION
glibc will use it only
when the program is not set-user-ID.
On SVr4, the directory used under \fBd)\fP is
-.IR /tmp
+.I /tmp
(and this is what glibc does).
.LP
Because it dynamically allocates memory used to return the pathname,
.IR <stdio.h> )
times.
If it is called more than
-.BR TMP_MAX
+.B TMP_MAX
times,
the behavior is implementation defined.
.LP
(034, FS, Ctrl-\e)
Quit character.
Send
-.BR SIGQUIT
+.B SIGQUIT
signal.
Recognized when
.B ISIG
.LP
These symbolic subscript values are all different, except that
.BR VTIME ,
-.BR VMIN
+.B VMIN
may have the same value as
.BR VEOL ,
.BR VEOF ,
The macros are provided to operate on
.I timeval
structures, defined in
-.IR <sys/time.h>
+.I <sys/time.h>
as:
.sp
.in +0.5i
returns true (non-zero) if either field of the
.I timeval
structure pointed to by
-.IR tvp
+.I tvp
contains a non-zero value.
.BR timercmp ()
compares the timer values in
.I a
and
-.IR b
+.I b
using the comparison operator
.IR CMP ,
and returns true (non-zero) or false (0) depending on
using the
.BR ttyslot ()
call to find the number of the line in
-.IR /etc/ttys
+.I /etc/ttys
(counting from 1).
.SS "The semantics of ttyslot"
Thus, the function
.B #include <stdio.h>
.sp
.BI "int getc_unlocked(FILE *" stream );
-.BI "int getchar_unlocked(void);"
+.B "int getchar_unlocked(void);"
.BI "int putc_unlocked(int " c ", FILE *" stream );
.BI "int putchar_unlocked(int " c );
.sp
.B #include <wchar.h>
.sp
.BI "wint_t getwc_unlocked(FILE *" stream );
-.BI "wint_t getwchar_unlocked(void);"
+.B "wint_t getwchar_unlocked(void);"
.BI "wint_t fgetwc_unlocked(FILE *" stream );
.BI "wint_t fputwc_unlocked(wchar_t " wc ", FILE *" stream );
.BI "wint_t putwc_unlocked(wchar_t " wc ", FILE *" stream );
.I /linuxrc
terminates, the normal root file system is mounted.
(If
-.IR /linuxrc
+.I /linuxrc
exits with any file-systems mounted on the initial root
file-system, then the behavior of the kernel is
.BR UNSPECIFIED "."
See the
-.BR NOTES
+.B NOTES
section for the current kernel behavior.)
.IP 7.
If the normal root file has directory
is not unmounted and therefore processes can remain running from
.IR /dev/ram0 "."
If directory
-.IR /initrd
+.I /initrd
does not exist on the normal root file-system
and any processes remain running from
.IR /dev/ram0 " when " /linuxrc
exits, the behavior of the kernel is
.BR UNSPECIFIED "."
See the
-.BR NOTES
+.B NOTES
section for the current kernel behavior.)
.IP 8.
The usual boot sequence (e.g. invocation of
.BR LILO " and " LOADLIN " documentation."
.PP
It is also possible for the
-.IR /linuxrc
+.I /linuxrc
executable to change the normal root device.
For
-.IR /linuxrc
+.I /linuxrc
to change the normal root device,
.IR /proc " must be mounted."
After mounting
.IR /proc/sys/kernel/nfs-root-name ", and "
.IR /proc/sys/kernel/nfs-root-addrs "."
For a physical root device, the root device is changed by having
-.IR /linuxrc
+.I /linuxrc
write the new root file system device number into
.IR /proc/sys/kernel/real-root-dev "."
For a NFS root file system, the root device is changed by having
-.IR /linuxrc
+.I /linuxrc
write the NFS setting into files
.IR /proc/sys/kernel/nfs-root-name " and "
-.IR /proc/sys/kernel/nfs-root-addrs
+.I /proc/sys/kernel/nfs-root-addrs
and then writing 0xff (e.g. the pseudo-NFS-device number) into file
.IR /proc/sys/kernel/real-root-dev "."
For example, the following shell command line would change
.fi
For a NFS example, the following shell command lines would change the
normal root device to the NFS directory
-.IR /var/nfsroot
+.I /var/nfsroot
on a local networked NFS server with IP number 193.8.232.7 for a system with
IP number 193.8.232.7 and named 'idefix':
.nf
.BR Note :
The use of
-.IR /proc/sys/kernel/real-root-dev
+.I /proc/sys/kernel/real-root-dev
to change the root file system is obsolete.
See the kernel source file
.I Documentation/initrd.txt
.\"
.SS Usage
The main motivation for implementing
-.BR initrd
+.B initrd
was to allow for modular kernel configuration at system installation.
.PP
A possible system installation scenario is as follows:
.IR /dev/initrd " with a gzipped version of the initial file-system.
.IP 2.
The executable
-.IR /linuxrc
+.I /linuxrc
determines what is needed to (1) mount the normal root file-system
(i.e., device type, device drivers, file system) and (2) the
distribution media (e.g. CD-ROM, network, tape, ...).
approach.
.IP 3.
The executable
-.IR /linuxrc
+.I /linuxrc
loads the necessary modules from the initial root file-system.
.IP 4.
The executable
-.IR /linuxrc
+.I /linuxrc
creates and populates the root file system.
(At this stage the normal root file system does not have to be a
completed system yet.)
the boot loader can be installed.
.IP 8.
The boot loader is configured to load into
-.IR /dev/initrd
+.I /dev/initrd
a file system with the set of modules that was used to bring up the system.
(e.g. Device
-.IR /dev/ram0
+.I /dev/ram0
can be modified, then unmounted, and finally, the image is written from
-.IR /dev/ram0
+.I /dev/ram0
to a file.)
.IP 9.
The system is now bootable and additional installation tasks can be
performed.
.PP
The key role of
-.IR /dev/initrd
+.I /dev/initrd
in the above is to re-use the configuration data during normal system operation
without requiring initial kernel selection, a large generic kernel or,
recompiling the kernel.
possible sanity check.
.PP
Last but not least, Linux distributions on CD-ROM may use
-.BR initrd
+.B initrd
for easy installation from the CD-ROM.
The distribution can use
-.BR LOADLIN
+.B LOADLIN
to directly load
-.IR /dev/initrd
+.I /dev/initrd
from CD-ROM without the need of any floppies.
The distribution could also use a
-.BR LILO
+.B LILO
boot floppy and then bootstrap a bigger ram disk via
.IR /dev/initrd " from the CD-ROM."
.\"
.IR /dev/ram0 " is moved from " / " to " /initrd
continue to be accessible.
However, the
-.IR /proc/mounts
+.I /proc/mounts
entries are not updated.
.IP 2.
With the current kernel, if directory
.IR /initrd " does not exist, then "
.I /dev/ram0
will NOT be fully unmounted if
-.IR /dev/ram0
+.I /dev/ram0
is used by any process or has any file-system mounted on it.
If
.IR /dev/ram0 " is NOT fully unmounted, "
then
-.IR /dev/ram0
+.I /dev/ram0
will remain in memory.
.IP 3.
Users of
-.IR /dev/initrd
+.I /dev/initrd
should not depend on the behavior give in the above notes.
The behavior may change in future versions of the Linux kernel.
.\"
.IR tm_sec ,
.IR tm_min ,
and
-.IR tm_hour
+.I tm_hour
fields of this structure are used.
.TP
.BR RTC_IRQP_READ ", " RTC_IRQP_SET
.IR tm_mday ,
.IR tm_mon ,
and
-.IR tm_year
+.I tm_year
fields are also valid.
A pointer to this structure should be passed as the third
.BR ioctl (2)
After
.B sk98lin
is bound to one or more adapter cards and the
-.IR /proc
+.I /proc
filesystem is mounted on your system, a dedicated statistics file
will be created in folder
-.IR /proc/net/sk98lin
+.I /proc/net/sk98lin
for all ports of the installed network adapter cards.
Those files are named
-.IR eth[x]
+.I eth[x]
whereas
-.IR x
+.I x
is the number of the interface that has been assigned to a
dedicated port by the system.
If loading is finished, any desired IP address can be
assigned to the respective
-.IR eth[x]
+.I eth[x]
interface using the
.BR ifconfig (8)
command.
.IR VLAN \c
: http://www.candelatech.com/~greear/vlan.html
.br
-.IR Link
+.I Link
.IR Aggregation \c
: http://www.st.rim.or.jp/~yumo
Possible values are:
.IR 10 ,
.IR 100 ,
-.IR 1000
+.I 1000
or
-.IR Auto
+.I Auto
whereas
-.IR Auto
+.I Auto
is the default.
Usually, the speed is negotiated between the two ports
during link establishment.
Possible values are:
.IR 10 ,
.IR 100 ,
-.IR 1000
+.I 1000
or
-.IR Auto
+.I Auto
whereas
-.IR Auto
+.I Auto
is the default.
Usually, the speed is negotiated between the two ports during link
establishment.
Enables or disables the use of autonegotiation of port A of an adapter card.
Possible values are:
.IR On ,
-.IR Off
+.I Off
or
-.IR Sense
+.I Sense
whereas
-.IR On
+.I On
is the default.
The
-.IR Sense
+.I Sense
mode automatically detects whether the link partner supports
auto-negotiation or not.
.TP
Enables or disables the use of autonegotiation of port B of an adapter card.
Possible values are:
.IR On ,
-.IR Off
+.I Off
or
-.IR Sense
+.I Sense
whereas
-.IR On
+.I On
is the default.
The
-.IR Sense
+.I Sense
mode automatically detects whether the link partner supports
auto-negotiation or not.
.TP
of an adapter card.
Possible values are:
.IR Half ,
-.IR Full
+.I Full
or
-.IR Both
+.I Both
whereas
-.IR Both
+.I Both
is the default.
This parameter is only relevant if AutoNeg_A of port A is not set to
.IR Sense .
.IR On ,
all three values of DupCap_A (
.IR Half ,
-.IR Full
+.I Full
or
.IR Both )
might be stated.
If AutoNeg_A is set to
.IR Off ,
only DupCap_A values
-.IR Full
+.I Full
and
-.IR Half
+.I Half
are allowed.
This DupCap_A parameter is useful if your link partner does not
support all possible duplex combinations.
of an adapter card.
Possible values are:
.IR Half ,
-.IR Full
+.I Full
or
-.IR Both
+.I Both
whereas
-.IR Both
+.I Both
is the default.
This parameter is only relevant if AutoNeg_B of port B is not set to
.IR Sense .
.IR On ,
all three values of DupCap_B (
.IR Half ,
-.IR Full
+.I Full
or
.IR Both )
might be stated.
If AutoNeg_B is set to
.IR Off ,
only DupCap_B values
-.IR Full
+.I Full
and
-.IR Half
+.I Half
are allowed.
This DupCap_B parameter is useful if your link partner does not
support all possible duplex combinations.
Possible values are:
.IR Sym ,
.IR SymOrRem ,
-.IR LocSend
+.I LocSend
or
-.IR None
+.I None
whereas
-.IR SymOrRem
+.I SymOrRem
is the default.
The different modes have the following meaning:
.br
-.IR Sym
+.I Sym
= Symmetric
both link partners are allowed to send PAUSE frames
.br
-.IR SymOrRem
+.I SymOrRem
= SymmetricOrRemote
both or only remote partner are allowed to send PAUSE frames
.br
-.IR LocSend
+.I LocSend
= LocalSend
only local link partner is allowed to send PAUSE frames
.br
-.IR None
+.I None
= None
no link partner is allowed to send PAUSE frames
Possible values are:
.IR Sym ,
.IR SymOrRem ,
-.IR LocSend
+.I LocSend
or
-.IR None
+.I None
whereas
-.IR SymOrRem
+.I SymOrRem
is the default.
The different modes have the following meaning:
-.IR Sym
+.I Sym
= Symmetric
both link partners are allowed to send PAUSE frames
.br
-.IR SymOrRem
+.I SymOrRem
= SymmetricOrRemote
both or only remote partner are allowed to send PAUSE frames
.br
-.IR LocSend
+.I LocSend
= LocalSend
only local link partner is allowed to send PAUSE frames
.br
-.IR None
+.I None
= None
no link partner is allowed to send PAUSE frames
.br
while the other must be the slave.
Possible values are:
.IR Auto ,
-.IR Master
+.I Master
or
-.IR Slave
+.I Slave
whereas
-.IR Auto
+.I Auto
is the default.
Usually, the role of a port is negotiated between two ports during
link establishment, but if that fails the port A of an adapter card
while the other must be the slave.
Possible values are:
.IR Auto ,
-.IR Master
+.I Master
or
-.IR Slave
+.I Slave
whereas
-.IR Auto
+.I Auto
is the default.
Usually, the role of a port is negotiated between
two ports during link establishment, but if that fails
.ad b
Stating any other port parameter together with this
-.IR ConType
+.I ConType
parameter will result in a merged configuration of those settings.
This is due to
the fact, that the per-port parameters (e.g.
That is, one or more interrupts (which indicate any transmit or
receive packet to be processed) are queued until the driver processes them.
When queued interrupts are to be served, is determined by the
-.IR IntsPerSec
+.I IntsPerSec
parameter, which is explained later below.
Possible moderation modes are:
.IR None ,
-.IR Static
+.I Static
or
-.IR Dynamic
+.I Dynamic
whereas
-.IR None
+.I None
is the default.
The different modes have the following meaning:
-.IR None
+.I None
No interrupt moderation is applied on the adapter card.
Therefore, each transmit or receive interrupt is served immediately
as soon as it appears on the interrupt line of the adapter card.
.br
-.IR Static
+.I Static
Interrupt moderation is applied on the adapter card.
All transmit and receive interrupts are queued until
a complete moderation interval ends.
If such a moderation interval ends, all queued interrupts
are processed in one big bunch without any delay.
The term
-.IR Static
+.I Static
reflects the fact, that interrupt moderation is always enabled,
regardless how much network load is currently passing via a
particular interface.
length that never changes while the driver is operational.
.br
-.IR Dynamic
+.I Dynamic
Interrupt moderation might be applied on the adapter card,
depending on the load of the system.
If the driver detects that the system load is too high,
.BI IntsPerSec= i,j,...
This parameter determines the length of any interrupt moderation interval.
Assuming that static interrupt moderation is to be used, an
-.IR IntsPerSec
+.I IntsPerSec
parameter value of 2000 will lead to an interrupt moderation interval of
500 microseconds.
Possible values for this parameter are in the range of
The preferred port is the one that is used if both ports A and B are
detected as fully functional.
Possible values are:
-.IR A
+.I A
or
-.IR B
+.I B
whereas
-.IR A
+.I A
is the default.
.TP
.BI RlmtMode= i,j,...
Possible values are:
.IR CheckLinkState ,
.IR CheckLocalPort ,
-.IR CheckSeg
+.I CheckSeg
or
-.IR DualNet
+.I DualNet
whereas
-.IR CheckLinkState
+.I CheckLinkState
is the default.
The different modes have the following meaning:
-.IR CheckLinkState
+.I CheckLinkState
Check link state only: RLMT uses the link state reported by the adapter
hardware for each individual port to determine whether a port can be used
for all network traffic or not.
.br
-.IR CheckLocalPort
+.I CheckLocalPort
In this mode, RLMT monitors the network path between the two
ports of an adapter by regularly exchanging packets between them.
This mode requires a network configuration in which the
must not be any router between the ports).
.br
-.IR CheckSeg
+.I CheckSeg
Check local port and segmentation:
This mode supports the same functions as the CheckLocalPort
mode and additionally checks network segmentation between the ports.
configured to use the Spanning Tree protocol.
.br
-.IR DualNet
+.I DualNet
In this mode, ports A and B are used as separate devices.
If you have a dual port adapter, port A will be configured as
.IR eth[x] and port B as
RLMT is turned off.
Note that RLMT modes
-.IR CheckLocalPort
+.I CheckLocalPort
and
-.IR CheckLinkState
+.I CheckLinkState
are designed to operate in configurations where a
network path between the ports on one adapter exists.
Moreover, they are not designed to work where adapters are
.I /usr/src/linux/Documentation/network/sk98lin.txt
.br
This is the
-.IR README
+.I README
file of the
-.IR sk98lin
+.I sk98lin
driver.
It contains a detailed installation HOWTO and describes all parameters
of the driver.
on the system.
.PP
Starting from kernel 2.6.2, the driver exports in the sysfs directory
-.IR /sys/class/scsi_tape
+.I /sys/class/scsi_tape
the attached devices and some parameters assigned to the devices.
.SS "Data Transfer"
The driver supports operation in both fixed-block mode and
tty ioctl \- ioctls for terminals and serial lines
.SH SYNOPSIS
.sp
-.BR "#include <termios.h>"
+.B "#include <termios.h>"
.sp
.BI "int ioctl(int " fd ", int " cmd ", ...);"
.SH DESCRIPTION
as a timeinterval measured in deciseconds, and does nothing
when the driver does not support breaks.
.TP
-.BI "TIOCSBRK void"
+.B "TIOCSBRK void"
Turn break on, that is, start sending zero bits.
.TP
-.BI "TIOCCBRK void"
+.B "TIOCCBRK void"
Turn break off, that is, stop sending zero bits.
.SS "Software flow control"
.TP
Insert the given byte in the input queue.
.SS "Redirecting console output"
.TP
-.BI "TIOCCONS void"
+.B "TIOCCONS void"
Redirect output that would have gone to
.I /dev/console
or
equals 1, in which case the tty is stolen, and all processes that had
it as controlling tty lose it.
.TP
-.BI TIOCNOTTY void
+.B TIOCNOTTY void
If the given tty was the controlling tty of the current process,
give up this controlling tty.
If the process was session leader,
Strange.
.SS "Exclusive mode"
.TP
-.BI "TIOCEXCL void"
+.B "TIOCEXCL void"
Put the tty into exclusive mode.
No further
.BR open (2)
.BR EBUSY ,
except for root.)
.TP
-.BI "TIOCNXCL void"
+.B "TIOCNXCL void"
Disable exclusive mode.
.SS "Line discipline"
.TP
.BR TIOCSTOP ,
.BR TIOCSTART ,
.BR TIOCUCNTL ,
-.BR TIOCREMOTE
+.B TIOCREMOTE
have not been implemented under Linux.
.SS "Modem control"
.TP
.BR console_ioctl (4).
.SS "Kernel debugging"
.sp
-.BR "#include <linux/tty.h>"
+.B "#include <linux/tty.h>"
.TP
.BI "TIOCTTYGSTRUCT struct tty_struct *" argp
Get the tty_struct corresponding to
.BR signal (7).
A process can set its soft
-.BR RLIMIT_CORE
+.B RLIMIT_CORE
resource limit to place an upper limit on the size of the core dump file
that will be produced if it receives a "core dump" signal; see
.BR getrlimit (2)
.BR LEFTCODE ,
.BR RIGHTCODE ,
and
-.BR ENDCODE
+.B ENDCODE
definitions.
.PP
When writing out a filename,
.TP
.I /proc/sys/kernel/cap-bound
This file holds the value of the kernel
-.IR "capability bounding set"
+.I "capability bounding set"
(expressed as a signed decimal number).
This set is ANDed against the capabilities permitted to a process
during
In mode 0, calls of
.BR mmap (2)
with
-.BR MAP_NORESERVE
+.B MAP_NORESERVE
set are not checked, and the default check is very weak,
leading to the risk of getting a process "OOM-killed".
Under Linux 2.4 any non-zero value implies mode 1.
This string identifies the kernel version that is currently running.
It includes the contents of
.IR /proc/sys/kernel/ostype ,
-.IR /proc/sys/kernel/osrelease
+.I /proc/sys/kernel/osrelease
and
.IR /proc/sys/kernel/version .
For example:
then
.IR /bin/init ,
then
-.IR /bin/sh
+.I /bin/sh
and panic if all of this fails.
.TP
.B "`nfsaddrs=...'"
.IP
For an extensive discussion of the BusLogic command line parameters,
see
-.IR /usr/src/linux/drivers/scsi/BusLogic.c
+.I /usr/src/linux/drivers/scsi/BusLogic.c
(lines 3149-3270 in the kernel version I am looking at).
The text
below is a very much abbreviated extract.
.B ENFILE
if this limit is encountered);
employ
-.BR CLONE_NEWNS
+.B CLONE_NEWNS
flag with
.BR clone (2)
and
.I msg_qbytes
limit for a message queue to be
raised above the limit in
-.IR /proc/sys/kernel/msgmnb
+.I /proc/sys/kernel/msgmnb
(see
.BR msgop (2)
and
A process can obtain its PID using
.BR getpid (2).
A PID is represented using the type
-.IR pid_t
+.I pid_t
(defined in
.IR <sys/types.h> ).
These IDs are integers, respectively represented using the types
.I uid_t
and
-.IR gid_t
+.I gid_t
(defined in
.IR <sys/types.h> ).
In the above example, an event on
.I rfd
will be generated because of the write done in
-.BR 2
+.B 2
and the event is consumed in
.BR 3 .
Since the read operation done in
.TP
.B _XOPEN_SOURCE_EXTENDED
If this macro is defined, and
-.BR _XOPEN_SOURCE
+.B _XOPEN_SOURCE
is defined, then expose definitions corresponding to the XPG4v2
(SUSv1) UNIX extensions (UNIX 95).
This macro is also implicitly defined if
.BR lseek (),
etc.).
New programs should not employ this interface; instead
-.IR _FILE_OFFSET_BITS=64
+.I _FILE_OFFSET_BITS=64
should be employed.
.TP
.B _FILE_OFFSET_BITS
.BR _XOPEN_SOURCE ,
.BR _XOPEN_SOURCE_EXTENDED ,
or
-.BR _GNU_SOURCE
+.B _GNU_SOURCE
is defined, in which case BSD definitions are disfavored.
.TP
.B _SVID_SOURCE
.BR _ISOC99_SOURCE ,
.BR _XOPEN_SOURCE_EXTENDED ,
.BR _POSIX_SOURCE ,
-.BR _POSIX_C_SOURCE
+.B _POSIX_C_SOURCE
with the value 200112L (199506L in glibc versions before 2.5),
.\" 199309L in glibc versions before 2.1
and
-.BR _XOPEN_SOURCE
+.B _XOPEN_SOURCE
with the value 600 (500 in glibc versions before 2.2).
In addition, various GNU-specific extensions are also exposed.
Where standards conflict, BSD definitions are disfavored.
.BR _XOPEN_SOURCE_EXTENDED ,
.BR _BSD_SOURCE ,
or
-.BR _SVID_SOURCE
+.B _SVID_SOURCE
is explicitly defined, then
.BR _BSD_SOURCE ,
and
-.BR _SVID_SOURCE
+.B _SVID_SOURCE
are not defined by default.
If
-.BR _POSIX_SOURCE
+.B _POSIX_SOURCE
and
-.BR _POSIX_C_SOURCE
+.B _POSIX_C_SOURCE
are not explicitly defined,
and either
-.BR __STRICT_ANSI__
+.B __STRICT_ANSI__
is not defined or
-.BR _XOPEN_SOURCE
+.B _XOPEN_SOURCE
is defined with a value of 500 or more, then
.RS 6
.IP * 3
.IP \(bu 3
2,
if
-.BR XOPEN_SOURCE
+.B XOPEN_SOURCE
is defined with a value less than 500;
.IP \(bu
199506L,
if
-.BR XOPEN_SOURCE
+.B XOPEN_SOURCE
is defined with a value greater than or equal to 500 and less than 600;
or
.IP \(bu
200112L (199506L in glibc versions before 2.4),
if
-.BR XOPEN_SOURCE
+.B XOPEN_SOURCE
is undefined, or
is defined with a value greater than or equal to 600.
.RE
.BR _POSIX_SOURCE ,
and
.BR _XOPEN_SOURCE .
-.BR _XOPEN_SOURCE_EXTENDED
+.B _XOPEN_SOURCE_EXTENDED
was specified by XPG4v2 (aka SUSv1).
-.BR _FILE_OFFSET_BITS
+.B _FILE_OFFSET_BITS
is not specified by any standard,
but is employed on some other implementations.
.BR _FORTIFY_SOURCE ,
.BR _REENTRANT ,
and
-.BR _THREAD_SAFE
+.B _THREAD_SAFE
are Linux (glibc) specific.
.SH NOTES
.I <features.h>
which equates to
IN_MOVED_FROM|IN_MOVED_TO,
and
-.BR IN_CLOSE
+.B IN_CLOSE
which equates to
IN_CLOSE_WRITE|IN_CLOSE_NOWRITE.
.PP
The following interfaces can be used to limit the amount of
kernel memory consumed by inotify:
.TP
-.IR /proc/sys/fs/inotify/max_queued_events
+.I /proc/sys/fs/inotify/max_queued_events
The value in this file is used when an application calls
.BR inotify_init (2)
to set an upper limit on the number of events that can be
.B IN_Q_OVERFLOW
event is always generated.
.TP
-.IR /proc/sys/fs/inotify/max_user_instances
+.I /proc/sys/fs/inotify/max_user_instances
This specifies an upper limit on the number of inotify instances
that can be created per real user ID.
.TP
-.IR /proc/sys/fs/inotify/max_user_watches
+.I /proc/sys/fs/inotify/max_user_watches
This specifies a limit on the number of watches that can be associated
with each inotify instance.
.SH "VERSIONS"
IP forwarding can be also set on a per interface basis.
.\"
.TP
-.BR ip_local_port_range
+.B ip_local_port_range
Contains two integers that define the default local port range
allocated to sockets.
Allocation starts with the first number and ends with the second number.
.RS
.sp
.B \&.TH
-.IR "title section date source manual"
+.I "title section date source manual"
.sp
.RE
where:
.BR pipe (2).
.SH EXAMPLE
For canonical examples of how man pages in the
-.IR man-pages
+.I man-pages
package should look, see
.BR pipe (2)
and
.RS
.sp
.B \&.TH
-.IR "title section date source manual"
+.I "title section date source manual"
.sp
.RE
For details of the arguments that should be supplied to the \fBTH\fP
is provided, it is hung at the left margin
before the following indented paragraph
(this is just like
-.BR \&.TP
+.B \&.TP
except the tag is included with the command instead of being on the
following line).
If the tag is too long, the text after the tag will be moved down to the
.BR mq_notify (3).
A message queue descriptor is a reference to an
-.IR "open message queue description"
+.I "open message queue description"
(cf.
.BR open (2)).
After a
is 256; it can be changed to any value in the range 0 to INT_MAX.
.SS Resource limit
The
-.BR RLIMIT_MSGQUEUE
+.B RLIMIT_MSGQUEUE
resource limit, which places a limit on the amount of space
that can be consumed by all of the message queues
belonging to a process's real user ID, is described in
.TP
.B SIOCSIFNAME
Changes the name of the interface specified in
-.IR ifr_name
+.I ifr_name
to
.IR ifr_newname .
This is a privileged operation.
it \(em or one of its ancestors \(em was started by an invocation of the
.BR clone (2)
system call that had the
-.BR CLONE_NEWNS
+.B CLONE_NEWNS
flag set.)
This handles the '/' part of the pathname.
is present.
.SS "MSG - _POSIX_MESSAGE_PASSING - _SC_MESSAGE_PASSING"
The include file
-.IR <mqueue.h>
+.I <mqueue.h>
is present.
The functions
.br
They may be used to tag the source of a routing information or to
distinguish between multiple routing daemons.
See
-.IR <linux/rtnetlink.h>
+.I <linux/rtnetlink.h>
for the routing daemon identifiers which are already assigned.
.I rtm_scope
.RB ( setsockopt
fails with the error
.BR ENOPROTOOPT ).
-.BR SO_RCVLOWAT
+.B SO_RCVLOWAT
is changeable
only since Linux 2.4.
The
setting on Linux,
and mark a socket readable when even a single byte of data is available.
A subsequent read from the socket will block until
-.BR SO_RCVLOWAT
+.B SO_RCVLOWAT
bytes are available.
.\" See http://marc.theaimsgroup.com/?l=linux-kernel&m=111049368106984&w=2
.\" Tested on kernel 2.6.14 -- mtk, 30 Nov 05
set to
.BR ENOENT ).
.TP
-.BR SIOCSPGRP
+.B SIOCSPGRP
Set the process or process group to send
.B SIGIO
or
Argument is an integer boolean flag.
.\"
.TP
-.BR SIOCGPGRP
+.B SIOCGPGRP
Get the current process or process group that receives
.B SIGIO
or
.BR fcntl (2)
operations:
.TP
-.BR FIOGETOWN
+.B FIOGETOWN
The same as the
.B SIOCGPGRP
.BR ioctl (2).
.TP
-.BR FIOSETOWN
+.B FIOSETOWN
The same as the
.B SIOCSPGRP
.BR ioctl (2).
or written to (for
.IR wbox_stat )
the respective mailbox without blocking or getting an
-.BR EAGAIN
+.B EAGAIN
error.
.RE
.TP
the input data or will be updated to the bitwise OR operation
of the old value and the input data, depending on the contents
of the
-.IR signal1_type
+.I signal1_type
or
-.IR signal2_type
+.I signal2_type
files respectively.
.RE
.TP
.BR /signal1_type ", " /signal2_type
These two files change the behavior of the
-.IR signal1
+.I signal1
and
.I signal2
notification files.
.B System V release 2 (SVr2)
This was the next System V release, made in 1985.
The SVr2 was formally described in the
-.IR "System V Interface Definition version 1"
+.I "System V Interface Definition version 1"
.RI ( "SVID 1" )
published in 1985.
.TP
.B System V release 3 (SVr3)
This was the successor to SVr2, released in 1986.
This release was formally described in the
-.IR "System V Interface Definition version 2"
+.I "System V Interface Definition version 2"
.RI ( "SVID 2" ).
.TP
.B System V release 4 (SVr4)
Manual: Operating System API (Intel processors)" (Prentice-Hall
1992, ISBN 0-13-951294-2)
This release was formally described in the
-.IR "System V Interface Definition version 3"
+.I "System V Interface Definition version 3"
.RI ( "SVID 3" ),
and is considered the definitive System V release.
.TP
means an instantiation of one among such mechanisms.
.SS Resource Access Permissions
For each resource, the system uses a common structure of type
-.IR "struct ipc_perm"
+.I "struct ipc_perm"
to store information needed in determining permissions to perform an
ipc operation.
The
as the "application" buffer, used to isolate the network
from scheduling and application latencies.
The
-.IR tcp_adv_win_scale
+.I tcp_adv_win_scale
default value of 2 implies that the space
used for the application buffer is one fourth that of the
total.
If this number is
exceeded, the socket is closed and a warning is printed.
.TP
-.IR tcp_mem
+.I tcp_mem
This is a vector of 3 integers: [low, pressure, high].
These bounds are used by TCP to track its memory usage.
The
the socket immediately without waiting for the end
of the TIME_WAIT period.
.TP
-.IR tcp_rmem
+.I tcp_rmem
This is a vector of 3 integers: [min, default,
max].
These parameters are used by TCP to regulate receive
their socket buffers and the window scaling option will be
employed.
If
-.IR tcp_window_scaling
+.I tcp_window_scaling
is disabled, TCP will not negotiate the use of window
scaling with the other end during connection setup.
.\"
TCP Westwood+ significantly increases fairness with respect to
TCP Reno in wired networks and throughput over wireless links.
.TP
-.IR tcp_wmem
+.I tcp_wmem
This is a vector of 3 integers: [min, default, max].
These parameters are used by TCP to regulate send buffer sizes.
TCP dynamically adjusts the size of the send buffer from the
If this ceiling is reached, then queued data is automatically transmitted.
This option can be
combined with
-.BR TCP_NODELAY
+.B TCP_NODELAY
only since Linux 2.5.71.
This option should not be used in code intended to be
portable.
.I ioctl_type
is one of the following:
.TP
-.BR SIOCINQ
+.B SIOCINQ
Returns the amount of queued unread data in the receive buffer.
The socket must not be in LISTEN state, otherwise an error
.RB ( EINVAL )
is non-zero) if the inbound data stream is at the urgent mark.
.sp
If the
-.BR SO_OOBINLINE
+.B SO_OOBINLINE
socket option is set, and
.B SIOCATMARK
returns true, then the
next read from the socket will return the urgent data.
If the
-.BR SO_OOBINLINE
+.B SO_OOBINLINE
socket option is not set, and
.B SIOCATMARK
returns true, then the
which is defined as 0:00:00 UTC on the morning of 1 January 1970.
A program can determine the
-.IR "calendar time"
+.I "calendar time"
using
.BR gettimeofday (2),
which returns time (in seconds and microseconds) that have
of the binary if present.
.IP o
From the cache file
-.IR /etc/ld.so.cache
+.I /etc/ld.so.cache
which contains a compiled list of candidate libraries previously found
in the augmented library path.
If, however, the binary was linked with
.B LD_AOUT_PRELOAD
(libc5)
Version of
-.BR LD_PRELOAD
+.B LD_PRELOAD
for a.out binaries only.
Old versions of ld\-linux.so.1 also supported
.BR LD_ELF_PRELOAD .
.PD 0
.PP
.PD
-.BR /sbin/ldconfig
+.B /sbin/ldconfig
.B \-l
[
.B \-v
and
.IR /usr/lib ).
The cache is used by the run-time linker,
-.IR ld.so
+.I ld.so
or
.IR ld-linux.so .
.B ldconfig
Some existing libs do not contain enough information to allow the deduction of
their type.
Therefore, the
-.IR /etc/ld.so.conf
+.I /etc/ld.so.conf
file format allows the specification of an expected type.
This is
.I only