the soft or hard
.B RLIMIT_NOFILE
limit above the current kernel
-maximum (NR_OPEN).
+maximum
+.RB ( NR_OPEN ).
.SH CONFORMING TO
SVr4, 4.3BSD, POSIX.1-2001.
.BR RLIMIT_MEMLOCK
.SH ERRORS
.TP
.BR EBUSY
-MS_INVALIDATE was specified in
+.B MS_INVALIDATE
+was specified in
.IR flags ,
and a memory lock exists for the specified address range.
.TP
the parent's or child's memory,
probably because the area wasn't mapped or accessible.
Unfortunately, under Linux, different variations of this fault
-will return EIO or EFAULT more or less arbitrarily.
+will return
+.B EIO
+or
+.B EFAULT
+more or less arbitrarily.
.TP
.B EINVAL
An attempt was made to set an invalid option.
.BR MSG_MORE " (Since Linux 2.4.4)"
The caller has more data to send.
This flag is used with TCP sockets to obtain the same effect
-as the TCP_CORK socket option (see
+as the
+.B TCP_CORK
+socket option (see
.BR tcp (7)),
with the difference that this flag can be set on a per-call basis.
.sp
.SH BUGS
Linux may return
.B EPIPE
-instead of ENOTCONN.
+instead of
+.BR ENOTCONN .
.SH EXAMPLE
An example of the use of
.BR sendto ()
.BR sendfile ()
fails with
.B EINVAL
-or ENOSYS.
+or
+.BR ENOSYS .
.SH "RETURN VALUE"
If the transfer was successful, the number of bytes written to
.I out_fd
.B EAGAIN
.I uid
does not match the current UID and this call would
-bring that user ID over its NPROC rlimit.
+bring that user ID over its
+.BR RLIMIT_NPROC
+resource limit.
.TP
.B EPERM
The calling process is not privileged (did not have the \fBCAP_SETUID\fP
.I errno
is set.
The only error which can happen is
-EPERM.
+.BR EPERM .
It is returned when the process group ID of any process
equals the PID of the calling process.
Thus, in particular,
.I uid
does not match the current uid and
.I uid
-brings process over its NPROC rlimit.
+brings process over its
+.BR RLIMIT_NPROC
+resource limit.
.TP
.B EPERM
The user is not privileged (Linux: does not have the
The
.I flags
parameter can be used to refine the semantics of the operation.
-XATTR_CREATE specifies a pure create, which fails if the named
+.B XATTR_CREATE
+specifies a pure create, which fails if the named
attribute exists already.
-XATTR_REPLACE specifies a pure replace operation, which fails if the
+.B XATTR_REPLACE
+specifies a pure replace operation, which fails if the
named attribute does not already exist.
By default (no flags), the extended attribute will be created if
need be, or will simply replace the value if the attribute exists.
.I errno
is set appropriately.
.PP
-If XATTR_CREATE is specified, and the attribute exists already,
+If
+.B XATTR_CREATE
+is specified, and the attribute exists already,
.I errno
-is set to EEXIST.
+is set to
+.BR EEXIST .
If
.B XATTR_REPLACE
is specified, and the attribute does not exist,
.I errno
-is set to ENOATTR.
+is set to
+.BR ENOATTR .
.PP
If there is insufficient space remaining to store the extended attribute,
.I errno
-is set to either ENOSPC, or EDQUOT if quota enforcement was the cause.
+is set to either
+.BR ENOSPC ,
+or
+.BR EDQUOT
+if quota enforcement was the cause.
.PP
If extended attributes are not supported by the filesystem, or are disabled,
.I errno
-is set to ENOTSUP.
+is set to
+.BR ENOTSUP .
.PP
The errors documented for the
.BR stat (2)
number of shared memory segments
.RB ( SHMSEG ).
.SS Linux Notes
-Until version 2.3.30 Linux would return EIDRM for a
+Until version 2.3.30 Linux would return
+.BR EIDRM
+for a
.BR shmget ()
on a shared memory segment scheduled for deletion.
.SH BUGS
-The name choice IPC_PRIVATE was perhaps unfortunate, IPC_NEW
+The name choice
+.B IPC_PRIVATE
+was perhaps unfortunate, IPC_NEW
would more clearly show its function.
.SH "SEE ALSO"
.BR shmat (2),
.BR shutdown ()
function call first appeared in 4.2BSD).
.SH NOTES
-The constants SHUT_RD, SHUT_WR, SHUT_RDWR have the value 0, 1, 2,
+The constants
+.BR SHUT_RD ,
+.BR SHUT_WR ,
+.B SHUT_RDWR
+have the value 0, 1, 2,
respectively, and are defined in
.I <sys/socket.h>
since glibc-2.1.91.
.TP
.B EINVAL
\fIss\fP is not NULL and the \fPss_flags\fP field contains
-a non-zero value other than SS_DISABLE.
+a non-zero value other than
+.BR SS_DISABLE .
.TP
.B ENOMEM
The specified size of the new alternate signal stack
S_IXOTH 00001 others have execute permission
.TE
.P
-The set-group-ID bit (S_ISGID) has several special uses.
+The set-group-ID bit
+.RB ( S_ISGID )
+has several special uses.
For a directory it indicates that BSD semantics is to be used
for that directory: files created there inherit their group ID from
the directory, not from the effective group ID of the creating process,
-and directories created there will also get the S_ISGID bit set.
-For a file that does not have the group execution bit (S_IXGRP) set,
+and directories created there will also get the
+.B S_ISGID
+bit set.
+For a file that does not have the group execution bit
+.RB ( S_IXGRP )
+set,
the set-group-ID bit indicates mandatory file/record locking.
.P
-The `sticky' bit (S_ISVTX) on a directory means that a file
+The `sticky' bit
+.RB ( S_ISVTX )
+on a directory means that a file
in that directory can be renamed or deleted only by the owner
of the file, by the owner of the directory, and by a privileged
process.
.BR mkswap (8).
There is an upper limit on the number of swap files that may be used,
-defined by the kernel constant MAX_FILES.
+defined by the kernel constant MAX_SWAPFILES.
Before kernel 2.6.10, MAX_SWAPFILES has the value 8;
since kernel 2.6.10, it has the value 32.
Since kernel 2.6.18, the limit is decreased by 2 (thus: 30)
-if the kernel is built with the CONFIG_MIGRATION option
+if the kernel is built with the
+.B CONFIG_MIGRATION
+option
(which reserves two swap table entries for the page migration features of
.BR mbind (2)
and
Wait for
completion of write-out of all pages in the specified range.
This can be used after an earlier
-SYNC_FILE_RANGE_WAIT_BEFORE | SYNC_FILE_RANGE_WRITE
+.B SYNC_FILE_RANGE_WAIT_BEFORE | SYNC_FILE_RANGE_WRITE
operation to wait for completion of that operation, and obtain its result.
.TP
.B SYNC_FILE_RANGE_WAIT_BEFORE | SYNC_FILE_RANGE_WRITE | SYNC_FILE_RANGE_WAIT_AFTER
.BR syscall (2).
.SH BUGS
The object names vary between kernel versions.
-THIS MAKES THIS SYSTEM CALL WORTHLESS FOR APPLICATIONS.
+.B This makes this system call worthless for applications.
Use the
.I /proc/sys
interface instead.
.BR stat (2).
The typical default value for the process umask is
-S_IWGRP\ |\ S_IWOTH
+.I S_IWGRP\ |\ S_IWOTH
(octal 022).
In the usual case where the
.I mode
with "/usr/lib", "/lib" and "" before giving up.
.\" libc 4.3.4 - changelog 1993-04-21
In libc 4.3.4 and later these names are looked for in the directories
-found in LD_LIBRARY_PATH, and if not found there,
+found in
+.BR LD_LIBRARY_PATH ,
+and if not found there,
prefixes "/usr/lib", "/lib" and "/" are tried.
.LP
From libc 4.4.4 on only the library "/lib/ld.so" is loaded,
.SH BUGS
Linux is not careful to distinguish between the
.B EACCES
-and EPERM error returns.
+and
+.B EPERM
+error returns.
On the other hand, POSIX.1-2001 is buggy in its error description for
.BR utimes ().
.SH "SEE ALSO"
.SH DESCRIPTION
The macro
.B INFINITY
-expands to a float constant representing positive infinity.
+expands to a \fIfloat\fP constant representing positive infinity.
The macro
.B NAN
-expands to a float constant representing a quiet NaN
+expands to a \fIfloat\fP constant representing a quiet NaN
(when supported).
A
.I quiet
.BR HUGE_VAL ,
.BR HUGE_VALF ,
.BR HUGE_VALL
-expand to constants of types double, float and long double, respectively,
+expand to constants of types \fIdouble\fP, \fIfloat\fP
+and \fIlong double\fP, respectively,
that represent a large positive value, possibly plus infinity.
.SH "CONFORMING TO"
C99
.SH AVAILABILITY
-On a glibc system, the macro HUGE_VAL is always available.
-Availability of the NAN macro can be tested using
+On a glibc system, the macro
+.B HUGE_VAL
+is always available.
+Availability of the
+.B NAN
+macro can be tested using
.BR "#ifdef NAN" ,
-and similarly for INFINITY, HUGE_VALF, HUGE_VALL.
+and similarly for
+.BR INFINITY ,
+.BR HUGE_VALF ,
+.BR HUGE_VALL .
They will be defined by
.I <math.h>
if
.B _ISOC99_SOURCE
or
.B _GNU_SOURCE
-is defined, or __STDC_VERSION__ is defined
+is defined, or
+.B __STDC_VERSION__
+is defined
and has a value not less than 199901L.
.SH "SEE ALSO"
.BR fpclassify (3),
.LP
Normal asynchronous notification occurs for canceled requests.
The request return status is set to \-1, and the request error status
-is set to ECANCELED.
+is set to
+.BR ECANCELED .
The control block of requests that cannot be canceled is not changed.
.LP
If
Which operations are cancellable is implementation-defined.
.\" FreeBSD: not those on raw disk devices.
.SH "RETURN VALUE"
-This function returns AIO_CANCELED if all requests were successfully
+This function returns
+.B AIO_CANCELED
+if all requests were successfully
canceled.
It returns
.B AIO_NOTCANCELED
requests specified was not canceled because it was in progress.
In this case one may check the status of individual requests using
.BR aio_error (3).
-This function returns AIO_ALLDONE when all requests had
+This function returns
+.B AIO_ALLDONE
+when all requests had
been completed already before this call.
When some error occurs, \-1 is returned, and
.I errno
.LP
More precisely, if
.I op
-is O_SYNC, then all currently queued I/O operations shall be
+is
+.BR O_SYNC ,
+then all currently queued I/O operations shall be
completed as if by a call of
.BR fsync (2),
and if
.I op
-is O_DSYNC, this call is the asynchronous analog of
+is
+.BR O_DSYNC ,
+this call is the asynchronous analog of
.BR fdatasync (2).
Note that this is a request only \(em this call does not wait
for I/O completion.
.B EINVAL
No synchronized I/O for this file is supported, or
.I op
-is not O_SYNC or O_DSYNC.
+is not
+.B O_SYNC
+or
+.BR O_DSYNC .
.SH "CONFORMING TO"
POSIX.1-2001
.SH "SEE ALSO"
One tests for completion using
.BR aio_error (3).
.LP
-If _POSIX_PRIORITIZED_IO is defined, and this file supports it,
+If
+.B _POSIX_PRIORITIZED_IO
+is defined, and this file supports it,
then the asynchronous operation is submitted at a priority equal
to that of the calling process minus
.IR aiocbp->aio_reqprio .
.BR aio_error (3)
(error status whatever one would have gotten in
.IR errno ,
-such as EBADF).
+such as
+.BR EBADF ).
.SH ERRORS
.TP
.B EAGAIN
.LP
This function should be called only once for any given request, after
.BR aio_error (3)
-returns something other than EINPROGRESS.
+returns something other than
+.BR EINPROGRESS .
.SH "RETURN VALUE"
If the asynchronous I/O operation has completed, this function returns
the value that would have been returned in case of a synchronous
or
.BR lio_listio (3).
.LP
-If CLOCK_MONOTONIC is supported, this clock is used to measure
+If
+.B CLOCK_MONOTONIC
+is supported, this clock is used to measure
the timeout interval.
.SH "RETURN VALUE"
If this function returns after completion of one of the indicated
One tests for completion using
.BR aio_error (3).
.LP
-If _POSIX_PRIORITIZED_IO is defined, and this file supports it,
+If
+.B _POSIX_PRIORITIZED_IO
+is defined, and this file supports it,
then the asynchronous operation is submitted at a priority equal
to that of the calling process minus
.IR aiocbp->aio_reqprio .
.BR aio_error (3)
(error status whatever one would have gotten in
.IR errno ,
-such as EBADF).
+such as
+.BR EBADF ).
.SH ERRORS
.TP
.B EAGAIN
his program, things that cannot happen unless there was a coding mistake.
However, with system or library calls the situation is rather different,
and error returns can happen, and will happen, and should be tested for.
-Not by an assert, where the test goes away when NDEBUG is defined,
+Not by an assert, where the test goes away when
+.B NDEBUG
+is defined,
but by proper error handling code.
Never use this macro.
.SH "SEE ALSO"
environment variable when the
.I flag
argument is 0.
-Changing the LC_MESSAGES part of the locale may invalidate
+Changing the
+.B LC_MESSAGES
+part of the locale may invalidate
open catalog descriptors.
.LP
The
.SH ENVIRONMENT
.TP
.B LC_MESSAGES
-May be the source of the LC_MESSAGES locale setting, and thus
+May be the source of the
+.B LC_MESSAGES
+locale setting, and thus
determine the language to use if
.I flag
is set to
.\" In XPG 1987, Vol. 3 it says:
.\" .I "The flag argument of catopen is reserved for future use"
.\" .IR "and should be set to 0" .
-It is unclear what the source was for the constants MCLoadBySet
-and MCLoadAll (see below).
+It is unclear what the source was for the constants
+.B MCLoadBySet
+and
+.B MCLoadAll
+(see below).
.SH NOTES
The above is the POSIX.1-2001 description.
-The glibc value for NL_CAT_LOCALE is 1.
-(Compare MCLoadAll below.)
+The glibc value for
+.B NL_CAT_LOCALE
+is 1.
+(Compare
+.B MCLoadAll
+below.)
The default path varies, but usually looks at a number of places below
.IR /usr/share/locale .
.SS Linux Notes
.BR EOPNOTSUPP
Operation not supported on socket (POSIX.1)
.sp
-(ENOTSUP and EOPNOTSUPP have the same value on Linux, but
+.RB ( ENOTSUP
+and
+.B EOPNOTSUPP
+have the same value on Linux, but
according to POSIX.1 these error values should be distinct.)
.TP
.BR EOVERFLOW
practice, but has not traditionally been documented and is not specified by
the POSIX standard.
BSD (and possibly other systems) do an automatic
-sleep and retry if ETXTBSY is encountered.
+sleep and retry if
+.B ETXTBSY
+is encountered.
Linux treats it as a hard
error and returns immediately.
.PP
or
.B _GNU_SOURCE
is defined.
-The isnan() functions will also be declared when _XOPEN_SOURCE
+The isnan() functions will also be declared when
+.B _XOPEN_SOURCE
is defined.
.\" .SH HISTORY
.\" The
.SH DESCRIPTION
The stdio functions are thread-safe.
This is achieved by assigning
-to each FILE object a lockcount and (if the lockcount is non-zero)
+to each
+.B FILE
+object a lockcount and (if the lockcount is non-zero)
an owning thread.
-For each library call, these functions wait until the FILE object
+For each library call, these functions wait until the
+.B FILE
+object
is no longer locked by a different thread, then lock it, do the
requested I/O, and unlock the object again.
.LP
On the other hand, maybe the locking overhead should be avoided
for greater efficiency.
.LP
-To this end, a thread can explicitly lock the FILE object,
+To this end, a thread can explicitly lock the
+.B FILE
+object,
then do its series of I/O actions, then unlock.
This prevents
other threads from coming in between.
can occur.
If \fIx\fP is NaN, then NaN is returned and
.I errno
-may be set to EDOM.
+may be set to
+.BR EDOM .
.SH "CONFORMING TO"
The
.BR floor ()
.SH NOTES
SUSv2 and POSIX.1-2001 contain text about overflow (which might set
.I errno
-to ERANGE, or raise an exception).
+to
+.BR ERANGE ,
+or raise an exception).
In practice, the result cannot overflow on any current machine,
so this error-handling stuff is just nonsense.
(More precisely, overflow can happen only when the maximum value
function computes
.IR x " * " y " + " z .
The result is rounded according to the
-rounding mode determined by the value of FLT_ROUNDS.
-FLT_ROUNDS indicates the implementation-defined rounding
+rounding mode determined by the value of
+.BR FLT_ROUNDS .
+.B FLT_ROUNDS
+indicates the implementation-defined rounding
behavior for floating-point addition,
and has one of the following values:
.IP \-1
or
.BR fgetpos (3)
operation between write and read operations on such a stream.
-This operation may be an apparent no-op (as in \fIfseek(..., 0L,
-SEEK_CUR)\fR called for its synchronizing side effect.
+This operation may be an apparent no-op
+(as in \fIfseek(..., 0L, SEEK_CUR)\fR
+called for its synchronizing side effect.
.PP
Opening a file in append mode (\fBa\fR as the first character of
.IR mode )
are defined:
.TP 4n
.B 1
-The DATEMSK environment variable is null or undefined.
+The
+.B DATEMSK
+environment variable is null or undefined.
.TP
.B 2
The template file cannot be opened for reading.
.I buf
can be found using
.BR sysconf (3)
-with the _SC_GETGR_R_SIZE_MAX parameter.
+with the
+.B _SC_GETGR_R_SIZE_MAX
+parameter.
.SH "RETURN VALUE"
The
.BR getgrnam ()
I/O error.
.TP
.B EMFILE
-The maximum number (OPEN_MAX) of files was open already in the calling process.
+The maximum number
+.RB ( OPEN_MAX )
+of files was open already in the calling process.
.TP
.B ENFILE
The maximum number of files was open already in the system.
on the address type, for example a \fIstruct in_addr *\fP (probably
obtained via a call to
.BR inet_addr (3))
-for address type AF_INET.
+for address type
+.BR AF_INET .
.PP
The
.BR sethostent ()
.I sizeof(struct in_addr)
if
.I h_addrtype
-is AF_INET, and to
+is
+.BR AF_INET ,
+and to
.I sizeof(struct in6_addr)
if
.I h_addrtype
-is AF_INET6.
+is
+.BR AF_INET6 .
.TP
.I h_addr_list
This is an array of one or more pointers to network address structures for the
.TP
.B EAI_NONAME
The name does not resolve for the supplied parameters.
-NI_NAMEREQD is set and the host's name cannot be located,
+.B NI_NAMEREQD
+is set and the host's name cannot be located,
or neither hostname nor service name were requested.
.TP
.B EAI_OVERFLOW
.fi
.in
.PP
-The former is the constant MAXDNAME in recent versions of BIND's
+The former is the constant
+.B MAXDNAME
+in recent versions of BIND's
.I <arpa/nameser.h>
header file.
The latter is a guess based on the services listed
A zero terminated list of alternative names for the network.
.TP
.I n_addrtype
-The type of the network number; always AF_INET.
+The type of the network number; always
+.BR AF_INET .
.TP
.I n_net
The network number in host byte order.
.SH "RETURN VALUE"
The function
.BR getpass ()
-returns a pointer to a static buffer containing the
-(first PASS_MAX bytes of) the password without the trailing
+returns a pointer to a static buffer containing the (first
+.B PASS_MAX
+bytes of) the password without the trailing
newline, terminated by a null byte ('\\0').
This buffer may be overwritten by a following call.
On error, the terminal state is restored,
There is no limit on the length of the password.
Line editing is not disabled.
.PP
-According to the SUSv2, the value of PASS_MAX must be defined in
+According to the SUSv2, the value of
+.B PASS_MAX
+must be defined in
.I <limits.h>
in case it is smaller than 8, and can in any case be obtained using
.IR sysconf(_SC_PASS_MAX) .
-However, POSIX.2 withdraws the constants PASS_MAX
-and _SC_PASS_MAX, and the function
+However, POSIX.2 withdraws the constants
+.B PASS_MAX
+and
+.BR _SC_PASS_MAX ,
+and the function
.BR getpass ().
-Libc4 and libc5 have never supported PASS_MAX or _SC_PASS_MAX.
-Glibc2 accepts _SC_PASS_MAX and returns BUFSIZ (e.g., 8192).
+Libc4 and libc5 have never supported
+.B PASS_MAX
+or
+.BR _SC_PASS_MAX .
+Glibc2 accepts
+.BR _SC_PASS_MAX
+and returns
+.B BUFSIZ
+(e.g., 8192).
.SH BUGS
The calling process should zero the password as soon as possible to avoid
leaving the cleartext password visible in the process's address space.
I/O error.
.TP
.B EMFILE
-The maximum number (OPEN_MAX) of files was open already in the calling process.
+The maximum number
+.RB ( OPEN_MAX )
+of files was open already in the calling process.
.TP
.B ENFILE
The maximum number of files was open already in the system.
.I buf
can be found using
.BR sysconf (3)
-with the _SC_GETPW_R_SIZE_MAX parameter.
+with the
+.BR _SC_GETPW_R_SIZE_MAX
+parameter.
.SH "RETURN VALUE"
The
.BR getpwnam ()
I/O error.
.TP
.B EMFILE
-The maximum number (OPEN_MAX) of files was open already in the calling process.
+The maximum number
+.RB ( OPEN_MAX )
+of files was open already in the calling process.
.TP
.B ENFILE
The maximum number of files was open already in the system.
The
.I pw_dir
field contains the name of the initial working directory of the user.
-Login programs use the value of this field to initialize
-the HOME environment variable for the login shell.
+Login programs use the value of this field to initialize the
+.B HOME
+environment variable for the login shell.
An application that wants to determine its user's home directory
-should inspect the value of HOME (rather than the value
+should inspect the value of
+.B HOME
+(rather than the value
.IR getpwuid(getuid())->pw_dir )
since this allows the user to modify their notion of
"the home directory" during a login session.
.LP
The include file
.I <paths.h>
-defines the constant _PATH_SHADOW to the pathname of the shadow
-password file.
+defines the constant
+.B _PATH_SHADOW
+to the pathname of the shadow password file.
.SH "CONFORMING TO"
The shadow password database and its associated API are
not specified in POSIX.1-2001.
The function
.BR getttyent ()
-opens the file _PATH_TTYS (if necessary) and returns the first entry.
+opens the file
+.B _PATH_TTYS
+(if necessary) and returns the first entry.
If the file is already open, the next entry.
.SS "The ttyent structure"
.nf
.\" glibc: The numeric value is either `INT_MIN' or `INT_MAX'.
If
.I x
-is infinite (or too large), INT_MAX is returned.
+is infinite (or too large),
+.B INT_MAX
+is returned.
If
.I x
-is too small, INT_MIN is returned.
+is too small,
+.B INT_MIN
+is returned.
.SH "CONFORMING TO"
C99
.SH "SEE ALSO"
function converts the Internet host address
\fIcp\fP from numbers-and-dots notation into binary data in network
byte order.
-If the input is invalid, INADDR_NONE (usually \-1) is returned.
+If the input is invalid,
+.B INADDR_NONE
+(usually \-1) is returned.
This is an \fIobsolete\fP interface to
.BR inet_aton (),
described
.SS Glibc Notes
In order to expose the declaration of
.BR inet_aton (),
-one of the feature test macros _BSD_SOURCE, _SVID_SOURCE, or
+one of the feature test macros
+.BR _BSD_SOURCE ,
+.BR _SVID_SOURCE ,
+or
.B _GNU_SOURCE
must be defined.
.SH "SEE ALSO"
the value of \fIx\fP
must be positive.
For negative values of \fIx\fP, these functions return
-\-HUGE_VAL.
+\-\fBHUGE_VAL\fP.
.PP
The
.BR j0f ()
.PP
For non-positive integer values of \fIx\fP,
.BR lgamma ()
-returns HUGE_VAL,
+returns
+.BR HUGE_VAL ,
sets \fIerrno\fP to
.B ERANGE
and raises the zero divide exception.
(Similarly,
.BR lgammaf ()
-returns HUGE_VALF and
+returns
+.B HUGE_VALF
+and
.BR lgammal ()
returns
-HUGE_VALL.)
+.BR HUGE_VALL .)
.SH ERRORS
In order to check for errors, set
.I errno
.LP
If
.I x
-is zero, \-HUGE_VAL (resp. \-HUGE_VALF, \-HUGE_VALL)
+is zero, \-\fBHUGE_VAL\fP (resp. \-\fBHUGE_VALF\fP, \-\fBHUGE_VALL\fP)
is returned, and a pole error occurs.
If
.I x
.SH FILES
.TP
.I /var/run/utmp
-user accounting database, configured through _PATH_UTMP in
+user accounting database, configured through
+.B _PATH_UTMP
+in
.I <paths.h>
.TP
.I /var/log/wtmp
-user accounting log file, configured through _PATH_WTMP in
+user accounting log file, configured through
+.B _PATH_WTMP
+in
.I <paths.h>
.SH "CONFORMING TO"
Not in POSIX.1-2001.
.BR realloc ()
to set
.I errno
-to ENOMEM upon failure.
+to
+.BR ENOMEM
+upon failure.
Glibc assumes that this is done
(and the glibc versions of these routines do this); if you
use a private malloc implementation that does not set
For some numeric conversions a radix character (`decimal point') or
thousands' grouping character is used.
The actual character used
-depends on the LC_NUMERIC part of the locale.
+depends on the
+.B LC_NUMERIC
+part of the locale.
The POSIX locale
uses `.' as radix character, and does not have a grouping character.
Thus,
and
.BR rand_r ()
functions return a value
-between 0 and RAND_MAX.
+between 0 and
+.BR RAND_MAX .
The
.BR srand ()
function returns no value.
.SH "RETURN VALUE"
The
.BR random ()
-function returns a value between 0 and RAND_MAX.
+function returns a value between 0 and
+.BR RAND_MAX .
The
.BR srandom ()
function returns no value.
.SH "CONFORMING TO"
4.4BSD, POSIX.1-2001.
-In 4.4BSD and Solaris the limit on the pathname length is MAXPATHLEN
+In 4.4BSD and Solaris the limit on the pathname length is
+.B MAXPATHLEN
(found in \fI<sys/param.h>\fP).
-SUSv2 prescribes PATH_MAX and
-NAME_MAX, as found in \fI<limits.h>\fP or provided by the
+SUSv2 prescribes
+.BR PATH_MAX
+and
+.BR NAME_MAX ,
+as found in \fI<limits.h>\fP or provided by the
.BR pathconf (3)
function.
A typical source fragment would be
.BR realpath ()
uses
.BR malloc (3)
-to allocate a buffer of up to PATH_MAX bytes
-to hold the resolved pathname,
+to allocate a buffer of up to
+.B PATH_MAX
+bytes to hold the resolved pathname,
and returns a pointer to this buffer.
The caller should deallocate this buffer using
.BR free (3).
feature) it is
impossible to determine a suitable size for the output buffer,
.IR resolved_path .
-According to POSIX a buffer of size PATH_MAX suffices, but
-PATH_MAX need not be a defined constant, and may have to be
-obtained using
+According to POSIX a buffer of size
+.B PATH_MAX
+suffices, but
+.B PATH_MAX
+need not be a defined constant, and may have to be obtained using
.BR pathconf (3).
And asking
.BR pathconf (3)
And on the other
hand
.BR pathconf (3)
-may return \-1 to signify that PATH_MAX is not bounded.
+may return \-1 to signify that
+.B PATH_MAX
+is not bounded.
.LP
The libc4 and libc5 implementation contains a buffer overflow
(fixed in libc-5.4.13).
can occur.
If \fIx\fP is NaN, then NaN is returned and
.I errno
-may be set to EDOM.
+may be set to
+.BR EDOM .
.SH "CONFORMING TO"
C99.
.SH NOTES
SUSv2 and POSIX.1-2001 contain text about overflow (which might set
.I errno
-to ERANGE, or raise an exception).
+to
+.BR ERANGE ,
+or raise an exception).
In practice, the result cannot overflow on any current machine,
so this error-handling stuff is just nonsense.
(More precisely, overflow can happen only when the maximum value
can occur.
If \fIx\fP is NaN, then NaN is returned and
.I errno
-may be set to EDOM.
+may be set to
+.BR EDOM .
.SH "CONFORMING TO"
C99.
.SH NOTES
POSIX.1-2001 contains text about overflow (which might set
.I errno
-to ERANGE, or raise an exception).
+to
+.BR ERANGE ,
+or raise an exception).
In practice, the result cannot overflow on any current machine,
so this error-handling stuff is just nonsense.
(More precisely, overflow can happen only when the maximum value
.SH DESCRIPTION
These functions multiply their first argument
.I x
-by FLT_RADIX (probably 2) to the power
+by
+.B FLT_RADIX
+(probably 2) to the power
.IR exp .
-If FLT_RADIX equals 2, then
+If
+.B FLT_RADIX
+equals 2, then
.BR scalbn ()
is equivalent to
.BR ldexp (3).
-The value of FLT_RADIX is found in
+The value of
+.B FLT_RADIX
+is found in
.IR <float.h> .
.\" not in /usr/include but in a gcc lib
.SH "CONFORMING TO"
.\" then
(regardless of
.IR category ),
-the environment variable LC_ALL is inspected,
+the environment variable
+.B LC_ALL
+is inspected,
next the environment variable with the same name as the category
-(LC_COLLATE, LC_CTYPE, LC_MESSAGES, LC_MONETARY, LC_NUMERIC, LC_TIME)
-and finally the environment variable LANG.
+.RM ( LC_COLLATE ,
+.BR LC_CTYPE ,
+.BR LC_MESSAGES ,
+.BR LC_MONETARY ,
+.BR LC_NUMERIC ,
+.BR LC_TIME )
+and finally the environment variable
+.BR LANG .
The first existing environment variable is used.
If its value is not a valid locale specification, the locale
is unchanged, and
.B """C"""
or
.B """POSIX"""
-is a portable locale; its LC_CTYPE part corresponds to the 7-bit ASCII
+is a portable locale; its
+.BR LC_CTYPE
+part corresponds to the 7-bit ASCII
character set.
.PP
A locale name is typically of the form
locale (e.g., in libc-4.5.21 and libc-4.6.27), and the Russian
.B """KOI-8"""
(more precisely, "koi-8r") locale (e.g., in libc-4.6.27),
-so that having an environment variable LC_CTYPE=ISO-8859-1
+so that having an environment variable \fILC_CTYPE=ISO-8859-1\fP
sufficed to make
.BR isprint (3)
return the right answer.
and returns the previous mask.
If the mask argument is 0, the current logmask is not modified.
.LP
-The eight priorities are LOG_EMERG, LOG_ALERT, LOG_CRIT, LOG_ERR,
-LOG_WARNING, LOG_NOTICE, LOG_INFO and LOG_DEBUG.
-The bit corresponding to a priority \fIp\fP is LOG_MASK(\fIp\fP).
-Some systems also provide a macro LOG_UPTO(\fIp\fP) for the mask
+The eight priorities are
+.BR LOG_EMERG ,
+.BR LOG_ALERT ,
+.BR LOG_CRIT ,
+.BR LOG_ERR ,
+.BR LOG_WARNING ,
+.BR LOG_NOTICE ,
+.BR LOG_INFO ,
+and
+.BR LOG_DEBUG .
+The bit corresponding to a priority \fIp\fP is \fBLOG_MASK\fP(\fIp\fP).
+Some systems also provide a macro \fBLOG_UPTO\fP(\fIp\fP) for the mask
of all priorities in the above list up to and including \fIp\fP.
.SH "RETURN VALUE"
This function returns the previous log priority mask.
Glibc uses the BSD version if the
.B _BSD_SOURCE
-feature test macro is
-defined and none of _POSIX_SOURCE, _POSIX_C_SOURCE, _XOPEN_SOURCE,
-_GNU_SOURCE, or
+feature test macro is defined and none of
+.BR _POSIX_SOURCE ,
+.BR _POSIX_C_SOURCE ,
+.BR _XOPEN_SOURCE ,
+.BR _GNU_SOURCE ,
+or
.B _SVID_SOURCE
is defined.
The System V version is used if
.BI "void __fpurge(FILE *" stream );
.SH DESCRIPTION
Solaris introduced routines to allow portable access to the
-internals of the FILE structure, and glibc also implemented these.
+internals of the
+.B FILE
+structure, and glibc also implemented these.
.LP
The
.BR __fbufsize ()