.SH SYNOPSIS
.nf
.BR "void *syscall(" "size_t size;"
-.BI " SYS_alloc_hugepages, int " key ", void " addr [ size "], \
-size_t " size ,
+.BI " SYS_alloc_hugepages, int " key ,
+.BI " void " addr [ size "], size_t " size ,
.BI " int " prot ", int " flag );
.\" asmlinkage unsigned long sys_alloc_hugepages(int key, unsigned long addr,
.\" unsigned long size, int prot, int flag);
.nf
.B #include <sys/epoll.h>
.P
-.BR "int epoll_wait(" "int maxevents;"
-.BI " int " epfd ", struct epoll_event " events [ maxevents ],
-.BI " int " maxevents ", int " timeout );
-.BR "int epoll_pwait(" "int maxevents;"
-.BI " int " epfd ", struct epoll_event " events [ maxevents ],
-.BI " int " maxevents ", int " timeout ,
+.BR "int epoll_wait(" "int n;"
+.BI " int " epfd ", struct epoll_event " events [ n "], int " n ,
+.BI " int " timeout );
+.BR "int epoll_pwait(" "int n;"
+.BI " int " epfd ", struct epoll_event " events [ n "], int " n ,
+.BI " int " timeout ,
.BI " const sigset_t *_Nullable " sigmask );
-.BR "int epoll_pwait2(" "int maxevents;"
-.BI " int " epfd ", struct epoll_event " events [ maxevents ],
-.BI " int " maxevents ", \
-const struct timespec *_Nullable " timeout ,
+.BR "int epoll_pwait2(" "int n;"
+.BI " int " epfd ", struct epoll_event " events [ n "], int " n ,
+.BI " const struct timespec *_Nullable " timeout ,
.BI " const sigset_t *_Nullable " sigmask );
.fi
.SH DESCRIPTION
about file descriptors in the interest list that
have some events available.
Up to
-.I maxevents
+.I n
are returned by
.BR epoll_wait ().
The
-.I maxevents
+.I n
argument must be greater than zero.
.P
The
.P
.in +4n
.EX
-ready = epoll_pwait(epfd, &events, maxevents, timeout, &sigmask);
+ready = epoll_pwait(epfd, &events, n, timeout, &sigmask);
.EE
.in
.P
sigset_t origmask;
\&
pthread_sigmask(SIG_SETMASK, &sigmask, &origmask);
-ready = epoll_wait(epfd, &events, maxevents, timeout);
+ready = epoll_wait(epfd, &events, n, timeout);
pthread_sigmask(SIG_SETMASK, &origmask, NULL);
.EE
.in
is not an
.B epoll
file descriptor, or
-.I maxevents
+.I n
is less than or equal to zero.
.SH STANDARDS
Linux.
call to unblock.
.P
If more than
-.I maxevents
+.I n
file descriptors are ready when
.BR epoll_wait ()
is called, then successive
.BR "#define _GNU_SOURCE" " /* See feature_test_macros(7) */"
.B #include <sched.h>
.P
-.BI "int getcpu(unsigned int *_Nullable " cpu ", \
-unsigned int *_Nullable " node );
+.BI "int getcpu(unsigned int *_Nullable " cpu ", unsigned int *_Nullable " node );
.fi
.SH DESCRIPTION
The
.nf
.B #include <sys/random.h>
.P
-.BR "ssize_t getrandom(" "size_t buflen;"
-.BI " void " buf [ buflen "], size_t " buflen ", \
-unsigned int " flags );
+.BR "ssize_t getrandom(" "size_t size;"
+.BI " void " buf [ size "], size_t " size ", unsigned int " flags );
.fi
.SH DESCRIPTION
The
system call fills the buffer pointed to by
.I buf
with up to
-.I buflen
+.I size
random bytes.
These bytes can be used to seed user-space random number generators
or for cryptographic purposes.
If the number of available bytes in the
.I random
source is less than requested in
-.IR buflen ,
+.IR size ,
the call returns just the available random bytes.
If no random bytes are available, the behavior depends on the presence of
.B GRND_NONBLOCK
returns the number of bytes that were copied to the buffer
.IR buf .
This may be less than the number of bytes requested via
-.I buflen
+.I size
if either
.B GRND_RANDOM
was specified in
source is interrupted by a signal handler
depends on the initialization state of the entropy buffer
and on the request size,
-.IR buflen .
+.IR size .
If the entropy is not yet initialized, then the call fails with the
.B EINTR
error.
If the entropy pool has been initialized
and the request size is large
-.RI ( buflen "\ >\ 256),"
+.RI ( size "\ >\ 256),"
the call either succeeds, returning a partially filled buffer,
or fails with the error
.BR EINTR .
If the entropy pool has been initialized and the request size is small
-.RI ( buflen "\ <=\ 256),"
+.RI ( size "\ <=\ 256),"
then
.BR getrandom ()
will not fail with
source is the preferred mode of usage.
.P
The special treatment of small values of
-.I buflen
+.I size
was designed for compatibility with
OpenBSD's
.BR getentropy (3),
In the case where
.B GRND_RANDOM
is not specified and
-.I buflen
+.I size
is less than or equal to 256,
a return of fewer bytes than requested should never happen,
but the careful programmer will check for this anyway!
.B #include <unistd.h>
.P
.BR "int syscall(" "unsigned long size;"
-.BI " SYS_init_module, void " module_image [ size "], \
-unsigned long " size ,
+.B " SYS_init_module,"
+.BI " void " module_image [ size "], unsigned long " size ,
.BI " const char *" param_values );
.BI "int syscall(SYS_finit_module, int " fd ,
.BI " const char *" param_values ", int " flags );
.BR "int mlock(" "size_t size;"
.BI " const void " addr [ size "], size_t " size );
.BR "int mlock2(" "size_t size;"
-.BI " const void " addr [ size "], size_t " size ", \
-unsigned int " flags );
+.BI " const void " addr [ size "], size_t " size ", unsigned int " flags );
.BR "int munlock(" "size_t size;"
.BI " const void " addr [ size "], size_t " size );
.P
.nf
.B #include <numaif.h>
.P
-.BI "long move_pages(int " pid ", unsigned long " count ", \
-void *" pages [ count ],
-.BI " const int " nodes [ count "], int " status [ count "], \
-int " flags );
+.BI "long move_pages(int " pid ", unsigned long " count ", void *" pages [ count ],
+.BI " const int " nodes [ count "], int " status [ count ],
+.BI " int " flags );
.fi
.SH DESCRIPTION
.BR move_pages ()
.P
.BR "[[deprecated]] int query_module(" "size_t bufsize;"
.BI " const char *" name ", int " which ,
-.BI " void " buf [ bufsize "], \
-size_t " bufsize ,
+.BI " void " buf [ bufsize "], size_t " bufsize ,
.BI " size_t *" ret );
.fi
.SH DESCRIPTION
.P
.BR "[[deprecated]] int remap_file_pages(" "size_t size;"
.BI " void " addr [ size "], size_t " size ,
-.BI " int " prot ", size_t " pgoff ", \
-int " flags );
+.BI " int " prot ", size_t " pgoff ", int " flags );
.fi
.SH DESCRIPTION
.BR Note :
.nf
.B #include <sys/sendfile.h>
.P
-.BI "ssize_t sendfile(int" " out_fd" ", int" " in_fd" ", \
-off_t *_Nullable " offset ,
-.BI " size_t" " count" );
+.BI "ssize_t sendfile(int" " out_fd" ", int" " in_fd" ", off_t *_Nullable " offset ,
+.BI " size_t " count );
.\" The below is too ugly. Comments about glibc versions belong
.\" in the notes, not in the header.
.\"
.nf
.B #include <sys/shm.h>
.P
-.BI "void *shmat(int " shmid ", const void *_Nullable " shmaddr ", \
-int " shmflg );
+.BI "void *shmat(int " shmid ", const void *_Nullable " shmaddr ", int " shmflg );
.BI "int shmdt(const void *" shmaddr );
.fi
.SH DESCRIPTION
.B #include <strings.h>
.P
.BR "[[deprecated]] int bcmp(" "size_t n;"
-.BI " const void " s1 [ n "], const void " s2 [ n "], \
-size_t " n );
+.BI " const void " s1 [ n "], const void " s2 [ n "], size_t " n );
.fi
.SH DESCRIPTION
.BR bcmp ()
.B #include <strings.h>
.P
.BR "[[deprecated]] void bcopy(" "size_t n;"
-.BI " const void " src [ n "], void " dest [ n "], \
-size_t " n );
+.BI " const void " src [ n "], void " dest [ n "], size_t " n );
.fi
.SH DESCRIPTION
The
.P
/* In SCO OpenServer */
.BR "void cfree(" "unsigned int n, unsigned int size;"
-.BI " char " ptr [ size " * " n "], unsigned int " n ", \
-unsigned int " size );
+.BI " char " ptr [ size " * " n "], unsigned int " n ", unsigned int " size );
.P
/* In Solaris watchmalloc.so.1 */
.BR "void cfree(" "size_t n, size_t size;"
.B "int getchar(void);"
.P
.BR "char *fgets(" "int size;"
-.BI " char " s "[restrict " size "], int " size ", \
-FILE *restrict " stream );
+.BI " char " s "[restrict " size "], int " size ", FILE *restrict " stream );
.P
.BI "int ungetc(int " c ", FILE *" stream );
.fi
.nf
.B #include <dirent.h>
.P
-.BR "ssize_t getdirentries(" "size_t nbytes;"
-.BI " int " fd ", char " buf "[restrict " nbytes "], \
-size_t " nbytes ,
+.BR "ssize_t getdirentries(" "size_t size;"
+.BI " int " fd ", char " buf "[restrict " size "], size_t " size ,
.BI " off_t *restrict " basep );
.fi
.P
into
.IR buf .
At most
-.I nbytes
-are read.
+.I size
+bytes are read.
Reading starts at offset
.IR *basep ,
and
.BI "struct passwd *getpwuid(uid_t " uid );
.P
.BR "int getpwnam_r(" "size_t size;"
-.BI " const char *restrict " name ", \
-struct passwd *restrict " pwd ,
+.BI " const char *restrict " name ,
+.BI " struct passwd *restrict " pwd ,
.BI " char " buf "[restrict " size "], size_t " size ,
.BI " struct passwd **restrict " result );
.BR "int getpwuid_r(" "size_t size;"
-.BI " uid_t " uid ", struct passwd *restrict " pwd ,
+.BI " uid_t " uid ,
+.BI " struct passwd *restrict " pwd ,
.BI " char " buf "[restrict " size "], size_t " size ,
.BI " struct passwd **restrict " result );
.fi
.P
.BR "int getspent_r(" "size_t size;"
.BI " struct spwd *" spbuf ,
-.BI " char " buf [ size "], size_t " size ", \
-struct spwd **" spbufp );
+.BI " char " buf [ size "], size_t " size ,
+.BI " struct spwd **" spbufp );
.BR "int getspnam_r(" "size_t size;"
.BI " const char *" name ", struct spwd *" spbuf ,
-.BI " char " buf [ size "], size_t " size ", \
-struct spwd **" spbufp );
+.BI " char " buf [ size "], size_t " size ,
+.BI " struct spwd **" spbufp );
.P
.BR "int fgetspent_r(" "size_t size;"
.BI " FILE *" stream ", struct spwd *" spbuf ,
-.BI " char " buf [ size "], size_t " size ", \
-struct spwd **" spbufp );
+.BI " char " buf [ size "], size_t " size ,
+.BI " struct spwd **" spbufp );
.BR "int sgetspent_r(" "size_t size;"
.BI " const char *" s ", struct spwd *" spbuf ,
-.BI " char " buf [ size "], size_t " size ", \
-struct spwd **" spbufp );
+.BI " char " buf [ size "], size_t " size ,
+.BI " struct spwd **" spbufp );
.fi
.P
.RS -4
.B #include <search.h>
.P
.BR "void *lfind(" "size_t *n, size_t size;"
-.BI " const void " key [ size "], \
-const void " base [* n " * " size ],
+.BI " const void " key [ size ],
+.BI " const void " base [* n " * " size ],
.BI " size_t *" n ", size_t " size ,
.BI " typeof(int (const void [" size "], const void [" size ]))
.BI " *" compar );
.BR "void *lsearch(" "size_t *n, size_t size;"
-.BI " const void " key [ size "], \
-void " base [* n " * " size ],
+.BI " const void " key [ size ],
+.BI " void " base [* n " * " size ],
.BI " size_t *" n ", size_t " size ,
.BI " typeof(int (const void [" size "], const void [" size ]))
.BI " *" compar );
.B #include <stdlib.h>
.P
.BR "size_t mbstowcs(" "size_t dsize;"
-.BI " wchar_t " dest "[restrict " dsize "], \
-const char *restrict " src ,
+.BI " wchar_t " dest "[restrict " dsize "], const char *restrict " src ,
.BI " size_t " dsize );
.fi
.SH DESCRIPTION
.nf
.B #include <stdlib.h>
.P
-.BR "int mbtowc(" "size_t n;"
-.BI " wchar_t *restrict " pwc ", const char " s "[restrict " n "], \
-size_t " n );
+.BR "int mbtowc(" "size_t size;"
+.BI " wchar_t *restrict " pwc ", const char " s "[restrict " size ],
+.BI " size_t " size );
.fi
.SH DESCRIPTION
The main case for this function is when
In this case, the
.BR mbtowc ()
function inspects at most
-.I n
+.I size
bytes of the multibyte string starting at
.IR s ,
extracts the next complete
otherwise it returns 0.
.P
If the
-.I n
+.I size
bytes starting at
.I s
do not contain a complete multibyte
.BR mbtowc ()
returns \-1.
This can happen even if
-.I n
+.I size
>=
.IR MB_CUR_MAX ,
if the multibyte string contains redundant shift sequences.
In this case,
.I pwc
and
-.I n
+.I size
are
ignored.
The
.P
.BI "int pthread_setname_np(pthread_t " thread ", const char *" name );
.BR "int pthread_getname_np(" "size_t size;"
-.BI " pthread_t " thread ", char " name [ size "], \
-size_t " size );
+.BI " pthread_t " thread ", char " name [ size "], size_t " size );
.fi
.SH DESCRIPTION
By default, all the threads created using
.BI " int32_t *restrict " result );
.BI "int srandom_r(unsigned int " seed ", struct random_data *" buf );
.P
-.BI "int initstate_r(unsigned int " seed ", \
-char " statebuf "[restrict ." statelen ],
-.BI " size_t " statelen ", struct random_data *restrict " buf );
+.BI "int initstate_r(unsigned int " seed ,
+.BI " char " statebuf "[restrict ." statelen "], size_t " statelen ,
+.BI " struct random_data *restrict " buf );
.BI "int setstate_r(char *restrict " statebuf ,
.BI " struct random_data *restrict " buf );
.fi
.P
.BI "int regcomp(regex_t *restrict " preg ", const char *restrict " regex ,
.BI " int " cflags );
-.BI "int regexec(const regex_t *restrict " preg \
-", const char *restrict " string ,
-.BI " size_t " nmatch ", \
-regmatch_t " pmatch "[_Nullable restrict " nmatch ],
+.BI "int regexec(const regex_t *restrict " preg ,
+.BI " const char *restrict " string ,
+.BI " size_t " n ", regmatch_t " pmatch "[_Nullable restrict " n ],
.BI " int " eflags );
.P
.BR "size_t regerror(" "size_t errbuf_size;"
.I preg->re_nsub
+ 1
passed as
-.I nmatch
+.I n
to
.BR regexec ()
is sufficient to capture all matches.
for
.BR REG_STARTEND ,
ignoring
-.IR nmatch .
+.IR n .
.TP
.B REG_NEWLINE
Match-any-character operators don't match a newline.
wasn't passed to
.BR regcomp (),
the match succeeded, and
-.I nmatch
+.I n
> 0), they overwrite
.I pmatch
as usual, and the match offsets remain relative to
.IR string :
.BR regexec ()
fills
-.I nmatch
+.I n
elements of
.I pmatch
with results:
.I pmatch[1]
to the first subexpression, etc.
If there were more matches than
-.IR nmatch ,
+.IR n ,
they are discarded;
if fewer,
unused elements of
.P
.BR "int res_nquery(" "int anslen;"
.BI " res_state " statep ,
-.BI " const char *" dname ", int " class ", int " type ,
+.BI " const char *" dname ,
+.BI " int " class ", int " type ,
.BI " unsigned char " answer [ anslen "], int " anslen );
.P
.BR "int res_nsearch(" "int anslen;"
.BI " res_state " statep ,
-.BI " const char *" dname ", int " class ", int " type ,
+.BI " const char *" dname ,
+.BI " int " class ", int " type ,
.BI " unsigned char " answer [ anslen "], int " anslen );
.P
.BR "int res_nquerydomain(" "int anslen;"
.BI " res_state " statep ,
.BI " const char *" name ", const char *" domain ,
-.BI " int " class ", int " type ", unsigned char " answer [ anslen ],
-.BI " int " anslen );
+.BI " int " class ", int " type ,
+.BI " unsigned char " answer [ anslen "], int " anslen );
.P
.BR "int res_nmkquery(" "int datalen, int buflen;"
-.BI " res_state " statep ,
-.BI " int " op ", const char *" dname ", int " class ,
-.BI " int " type ", const unsigned char " data [ datalen "], \
-int " datalen ,
+.BI " res_state " statep ", int " op ,
+.BI " const char *" dname ,
+.BI " int " class ", int " type ,
+.BI " const unsigned char " data [ datalen "], int " datalen ,
.BI " const unsigned char *" newrr ,
.BI " unsigned char " buf [ buflen "], int " buflen );
.P
.BI " unsigned char " answer [ anslen "], int " anslen );
.P
.BR "int dn_comp(" "int length;"
-.BI " const char *" exp_dn ", unsigned char " comp_dn [ length ],
-.BI " int " length ", unsigned char **" dnptrs ,
+.BI " const char *" exp_dn ,
+.BI " unsigned char " comp_dn [ length "], int " length ,
+.BI " unsigned char **" dnptrs ,
.BI " unsigned char **" lastdnptr );
.P
.BR "int dn_expand(" "int length;"
.BI " const unsigned char *" msg ,
.BI " const unsigned char *" eomorig ,
-.BI " const unsigned char *" comp_dn ", char " exp_dn [ length ],
-.BI " int " length );
+.BI " const unsigned char *" comp_dn ,
+.BI " char " exp_dn [ length "], int " length );
.P
.B [[deprecated]] extern struct __res_state _res;
.P
.P
.B [[deprecated]]
.BR "int res_query(" "int anslen;"
-.BI " const char *" dname ", int " class ", int " type ,
+.BI " const char *" dname ,
+.BI " int " class ", int " type ,
.BI " unsigned char " answer [ anslen "], int " anslen );
.P
.B [[deprecated]]
.BR "int res_search(" "int anslen;"
-.BI " const char *" dname ", int " class ", int " type ,
+.BI " const char *" dname ,
+.BI " int " class ", int " type ,
.BI " unsigned char " answer [ anslen "], int " anslen );
.P
.B [[deprecated]]
.BR "int res_querydomain(" "int anslen;"
.BI " const char *" name ", const char *" domain ,
-.BI " int " class ", int " type ", unsigned char " answer [ anslen ],
-.BI " int " anslen );
+.BI " int " class ", int " type ,
+.BI " unsigned char " answer [ anslen "], int " anslen );
.P
.B [[deprecated]]
.BR "int res_mkquery(" "int datalen, int buflen;"
-.BI " int " op ", const char *" dname ", int " class ,
-.BI " int " type ", const unsigned char " data [ datalen "], \
-int " datalen ,
+.BI " int " op ,
+.BI " const char *" dname ,
+.BI " int " class ", int " type ,
+.BI " const unsigned char " data [ datalen "], int " datalen ,
.BI " const unsigned char *" newrr ,
.BI " unsigned char " buf [ buflen "], int " buflen );
.P
.B #include <string.h>
.P
.BR "char *strncpy(" "size_t dsize;"
-.BI " char " dst "[restrict " dsize "], \
-const char *restrict " src ,
+.BI " char " dst "[restrict " dsize "], const char *restrict " src ,
.BI " size_t " dsize );
.BR "char *stpncpy(" "size_t dsize;"
-.BI " char " dst "[restrict " dsize "], \
-const char *restrict " src ,
+.BI " char " dst "[restrict " dsize "], const char *restrict " src ,
.BI " size_t " dsize );
.fi
.P
.P
.BI "int strcasecmp(const char *" s1 ", const char *" s2 );
.BR "int strncasecmp(" "size_t n;"
-.BI " const char " s1 [ n "], const char " s2 [ n "], \
-size_t " n );
+.BI " const char " s1 [ n "], const char " s2 [ n "], size_t " n );
.fi
.SH DESCRIPTION
The
.nf
.B #include <monetary.h>
.P
-.BR "ssize_t strfmon(" "size_t max;"
-.BI " char " s "[restrict " max "], size_t " max ,
+.BR "ssize_t strfmon(" "size_t size;"
+.BI " char " s "[restrict " size "], size_t " size ,
.BI " const char *restrict " format ", ...);"
-.BR "ssize_t strfmon_l(" "size_t max;"
-.BI " char " s "[restrict " max "], size_t " max ", \
-locale_t " locale ,
+.BR "ssize_t strfmon_l(" "size_t size;"
+.BI " char " s "[restrict " size "], size_t " size ", locale_t " l ,
.BI " const char *restrict " format ", ...);"
.fi
.SH DESCRIPTION
and places the
result in the character array
.I s
-of size
-.IR max .
+of
+.I size
+bytes.
.P
The
.BR strfmon_l ()
function performs the same task,
but uses
the locale specified by
-.IR locale .
+.IR l .
The behavior of
.BR strfmon_l ()
is undefined if
-.I locale
+.I l
is the special locale object
.B LC_GLOBAL_LOCALE
(see
.nf
.B #include <string.h>
.P
-.BR "size_t strxfrm(" "size_t n;"
-.BI " char " dest "[restrict " n "], \
-const char " src "[restrict " n ],
-.BI " size_t " n );
+.BR "size_t strxfrm(" "size_t size;"
+.BI " char " dest "[restrict " size "], const char " src "[restrict " size ],
+.BI " size_t " size );
.fi
.SH DESCRIPTION
The
.BR strcoll (3)
on the two strings before their transformation.
The first
-.I n
+.I size
bytes of the transformed string are placed in
.IR dest .
The transformation is based on the program's current
excluding the
terminating null byte (\[aq]\[rs]0\[aq]).
If the value returned is
-.I n
+.I size
or more, the
contents of
.I dest
.P
.BI "int wcscasecmp(const wchar_t *" s1 ", const wchar_t *" s2 );
.BR "int wcsncasecmp(" "size_t n;"
-.BI " const wchar_t " s1 [ n "], const wchar_t " s2 [ n "], \
-size_t " n );
+.BI " const wchar_t " s1 [ n "], const wchar_t " s2 [ n "], size_t " n );
.fi
.P
.RS -4
.B #include <wchar.h>
.P
.BR "int wcsncmp(" "size_t n;"
-.BI " const wchar_t " s1 [ n "], const wchar_t " s2 [ n "], \
-size_t " n );
+.BI " const wchar_t " s1 [ n "], const wchar_t " s2 [ n "], size_t " n );
.fi
.SH DESCRIPTION
The
.nf
.B #include <wchar.h>
.P
-.BR "size_t wcsnrtombs(" "size_t size;"
-.BI " char " dest "[restrict " size "], \
-const wchar_t **restrict " src ,
-.BI " size_t " nwc ", size_t " size ", \
-mbstate_t *restrict " ps );
+.BR "size_t wcsnrtombs(" "size_t dsize;"
+.BI " char " dest "[restrict " dsize ],
+.BI " const wchar_t **restrict " src ,
+.BI " size_t " nwc ", size_t " dsize ", mbstate_t *restrict " ps );
.fi
.P
.RS -4
to a multibyte string starting at
.IR dest .
At most
-.I size
+.I dsize
bytes are written to
.IR dest .
The shift state
If
.I dest
is NULL,
-.I size
+.I dsize
is ignored,
and the conversion proceeds as above,
except that the converted bytes are not written out to memory, and that
function is used instead.
.P
The programmer must ensure that there is room for at least
-.I size
+.I dsize
bytes
at
.IR dest .
.nf
.B #include <wchar.h>
.P
-.BR "size_t wcsrtombs(" "size_t size;"
-.BI " char " dest "[restrict " size "], \
-const wchar_t **restrict " src ,
-.BI " size_t " size ", mbstate_t *restrict " ps );
+.BR "size_t wcsrtombs(" "size_t dsize;"
+.BI " char " dest "[restrict " dsize ],
+.BI " const wchar_t **restrict " src ,
+.BI " size_t " dsize ", mbstate_t *restrict " ps );
.fi
.SH DESCRIPTION
If
to a multibyte string starting at
.IR dest .
At most
-.I size
+.I dsize
bytes are written to
.IR dest .
The shift state
If
.I dest
is NULL,
-.I size
+.I dsize
is ignored,
and the conversion proceeds as above, except that the converted bytes
are not written out to memory, and that
function is used instead.
.P
The programmer must ensure that there is room for at least
-.I size
+.I dsize
bytes
at
.IR dest .
.nf
.B #include <stdlib.h>
.P
-.BR "size_t wcstombs(" "size_t n;"
-.BI " char " dest "[restrict " n "], \
-const wchar_t *restrict " src ,
-.BI " size_t " n );
+.BR "size_t wcstombs(" "size_t dsize;"
+.BI " char " dest "[restrict " dsize "], const wchar_t *restrict " src ,
+.BI " size_t " dsize );
.fi
.SH DESCRIPTION
If
to a multibyte string starting at
.IR dest .
At most
-.I n
+.I dsize
bytes are written to
.IR dest .
The sequence of characters placed in
excluding the terminating null byte (\[aq]\[rs]0\[aq]), is returned.
.P
The programmer must ensure that there is room for at least
-.I n
+.I dsize
bytes
at
.IR dest .
If
.I dest
is NULL,
-.I n
+.I dsize
is ignored, and the conversion proceeds as
above, except that the converted bytes are not written out to memory,
and no length limit exists.
.P
In order to avoid the case 2 above, the programmer should make sure
-.I n
+.I dsize
is greater than or equal to
.IR "wcstombs(NULL,src,0)+1" .
.SH RETURN VALUE
.B #include <wchar.h>
.P
.BR "int wmemcmp(" "size_t n;"
-.BI " const wchar_t " s1 [ n "], const wchar_t " s2 [ n "], \
-size_t " n );
+.BI " const wchar_t " s1 [ n "], const wchar_t " s2 [ n "], size_t " n );
.fi
.SH DESCRIPTION
The
.B #include <wchar.h>
.P
.BR "wchar_t *wmemmove(" "size_t n;"
-.BI " wchar_t " dest [ n "], const wchar_t " src [ n "], \
-size_t " n );
+.BI " wchar_t " dest [ n "], const wchar_t " src [ n "], size_t " n );
.fi
.SH DESCRIPTION
The
.RB "$" " cc \-o core_pattern_pipe_test core_pattern_pipe_test.c"
.RB "$" " su"
Password:
-.RB "#" " echo \[dq]|$PWD/core_pattern_pipe_test %p \
-UID=%u GID=%g sig=%s\[dq] > \[rs]"
+.RB "#" " echo \[dq]|$PWD/core_pattern_pipe_test %p UID=%u GID=%g sig=%s\[dq] > \[rs]"
.B " /proc/sys/kernel/core_pattern"
.RB "#" " exit"
.RB "$" " sleep 100"
.\" environment cannot be performed atomically then it is also possible that
.\" the environment encountered is internally inconsistent.
.TP
-.I MT-Unsafe \" ", " AS-Unsafe ", " AC-Unsafe
-.I MT-Unsafe \" ", " AS-Unsafe ", " AC-Unsafe
+.I MT-Unsafe \" ,\~ AS-Unsafe ,\~ AC-Unsafe
+.I MT-Unsafe \" ,\~ AS-Unsafe ,\~ AC-Unsafe
functions are not safe to call in a multithreaded programs.
.\" functions are not
.\" safe to call within the safety contexts described above.
.P
// Copy/catenate a string with truncation.
.BR "ssize_t strtcpy(" "size_t dsize;"
-.BI " char " dst "[restrict " dsize "], \
-const char *restrict " src ,
+.BI " char " dst "[restrict " dsize "], const char *restrict " src ,
.BI " size_t " dsize );
.BR "size_t strlcpy(" "size_t dsize;"
-.BI " char " dst "[restrict " dsize "], \
-const char *restrict " src ,
+.BI " char " dst "[restrict " dsize "], const char *restrict " src ,
.BI " size_t " dsize );
.BR "size_t strlcat(" "size_t dsize;"
-.BI " char " dst "[restrict " dsize "], \
-const char *restrict " src ,
+.BI " char " dst "[restrict " dsize "], const char *restrict " src ,
.BI " size_t " dsize );
.fi
.\" ----- SYNOPSIS :: Null-padded character sequences --------/
// Fill a fixed-size buffer with characters from a string
// and pad with null bytes.
.BR "char *strncpy(" "size_t dsize;"
-.BI " char " dst "[restrict " dsize "], \
-const char *restrict " src ,
+.BI " char " dst "[restrict " dsize "], const char *restrict " src ,
.BI " size_t " dsize );
.BR "char *stpncpy(" "size_t dsize;"
-.BI " char " dst "[restrict " dsize "], \
-const char *restrict " src ,
+.BI " char " dst "[restrict " dsize "], const char *restrict " src ,
.BI " size_t " dsize );
.P
// Chain-copy a null-padded character sequence into a character sequence.
.nf
// Chain-copy a length-bounded character sequence.
.BR "void *mempcpy(" "size_t len;"
-.BI " void " dst "[restrict " len "], \
-const void " src "[restrict " len ],
+.BI " void " dst "[restrict " len "], const void " src "[restrict " len ],
.BI " size_t " len );
.P
// Chain-copy a length-bounded character sequence into a string.
.\"
.\" The following is from Linux 2.6.12: Documentation/networking/ip-sysctl.txt
.TP
-.IR tcp_low_latency " (Boolean; default: disabled; since Linux 2.4.21/2.6; \
-obsolete since Linux 4.14)"
+.IR tcp_low_latency " (Boolean; default: disabled; since Linux 2.4.21/2.6; obsolete since Linux 4.14)"
.\" Since Linux 2.4.21/2.5.60
If enabled, the TCP stack makes decisions that prefer lower
latency as opposed to higher throughput.