.nf
.B #include <unistd.h>
.PP
-.BI "size_t confstr(int " "name" ", char *" buf ", size_t " size );
+.BI "size_t confstr(int " "name" ", char " buf [. size "], size_t " size );
.fi
.PP
.RS -4
.\" .B #include <des_crypt.h>
.B #include <rpc/des_crypt.h>
.PP
-.BI "int ecb_crypt(char *" key ", char *" data ", unsigned int " datalen ,
+.BI "int ecb_crypt(char *" key ", char " data [. datalen "], \
+unsigned int " datalen ,
.BI " unsigned int " mode );
-.BI "int cbc_crypt(char *" key ", char *" data ", unsigned int " datalen ,
+.BI "int cbc_crypt(char *" key ", char " data [. datalen "], \
+unsigned int " datalen ,
.BI " unsigned int " mode ", char *" ivec );
.PP
.BI "void des_setparity(char *" key );
.BI "int getc(FILE *" stream );
.B "int getchar(void);"
.PP
-.BI "char *fgets(char *restrict " s ", int " size ", FILE *restrict " stream );
+.BI "char *fgets(char " s "[restrict ." size "], int " size ", \
+FILE *restrict " stream );
.PP
.BI "int ungetc(int " c ", FILE *" stream );
.fi
.nf
.B #include <wchar.h>
.PP
-.BI "wchar_t *fgetws(wchar_t *restrict " ws ", int " n \
+.BI "wchar_t *fgetws(wchar_t " ws "[restrict ." n "], int " n \
", FILE *restrict " stream );
.fi
.SH DESCRIPTION
.nf
.B #include <unistd.h>
.PP
-.BI "char *getcwd(char *" buf ", size_t " size );
+.BI "char *getcwd(char " buf [. size "], size_t " size );
.B "char *get_current_dir_name(void);"
.PP
.BI "[[deprecated]] char *getwd(char " buf [PATH_MAX]);
.nf
.B #include <dirent.h>
.PP
-.BI "ssize_t getdirentries(int " fd ", char *restrict " buf ", size_t " nbytes ,
+.BI "ssize_t getdirentries(int " fd ", char " buf "[restrict ." nbytes "], \
+size_t " nbytes ,
.BI " off_t *restrict " basep );
.fi
.PP
.B #include <grp.h>
.PP
.BI "int getgrent_r(struct group *restrict " gbuf ,
-.BI " char *restrict " buf ", size_t " buflen ,
+.BI " char " buf "[restrict ." buflen "], size_t " buflen ,
.BI " struct group **restrict " gbufp );
.BI "int fgetgrent_r(FILE *restrict " stream ", struct group *restrict " gbuf ,
-.BI " char *restrict " buf ", size_t " buflen ,
+.BI " char " buf "[restrict ." buflen "], size_t " buflen ,
.BI " struct group **restrict " gbufp );
.fi
.PP
.PP
.BI "int getgrnam_r(const char *restrict " name \
", struct group *restrict " grp ,
-.BI " char *restrict " buf ", size_t " buflen ,
+.BI " char " buf "[restrict ." buflen "], size_t " buflen ,
.BI " struct group **restrict " result );
.BI "int getgrgid_r(gid_t " gid ", struct group *restrict " grp ,
-.BI " char *restrict " buf ", size_t " buflen ,
+.BI " char " buf "[restrict ." buflen "], size_t " buflen ,
.BI " struct group **restrict " result );
.fi
.PP
.BI "struct hostent *gethostbyname2(const char *" name ", int " af );
.PP
.BI "int gethostent_r(struct hostent *restrict " ret ,
-.BI " char *restrict " buf ", size_t " buflen ,
+.BI " char " buf "[restrict ." buflen "], size_t " buflen ,
.BI " struct hostent **restrict " result ,
.BI " int *restrict " h_errnop );
.PP
.BI "int gethostbyaddr_r(const void *restrict " addr ", socklen_t " len \
", int " type ,
.BI " struct hostent *restrict " ret ,
-.BI " char *restrict " buf ", size_t " buflen ,
+.BI " char " buf "[restrict ." buflen "], size_t " buflen ,
.BI " struct hostent **restrict " result ,
.BI " int *restrict " h_errnop );
.B [[deprecated]]
.BI "int gethostbyname_r(const char *restrict " name ,
.BI " struct hostent *restrict " ret ,
-.BI " char *restrict " buf ", size_t " buflen ,
+.BI " char " buf "[restrict ." buflen "], size_t " buflen ,
.BI " struct hostent **restrict " result ,
.BI " int *restrict " h_errnop );
.B [[deprecated]]
.BI "int gethostbyname2_r(const char *restrict " name ", int " af,
.BI " struct hostent *restrict " ret ,
-.BI " char *restrict " buf ", size_t " buflen ,
+.BI " char " buf "[restrict ." buflen "], size_t " buflen ,
.BI " struct hostent **restrict " result ,
.BI " int *restrict " h_errnop );
.fi
.B #include <unistd.h>
.PP
.B "char *getlogin(void);"
-.BI "int getlogin_r(char *" buf ", size_t " bufsize );
+.BI "int getlogin_r(char " buf [. bufsize "], size_t " bufsize );
.PP
.B #include <stdio.h>
.PP
.PP
.BI "struct mntent *getmntent_r(FILE *restrict " streamp ,
.BI " struct mntent *restrict " mntbuf ,
-.BI " char *restrict " buf ", int " buflen );
+.BI " char " buf "[restrict ." buflen "], int " buflen );
.fi
.PP
.RS -4
.PP
.BI "int getnameinfo(const struct sockaddr *restrict " addr \
", socklen_t " addrlen ,
-.BI " char *restrict " host ", socklen_t " hostlen ,
-.BI " char *restrict " serv ", socklen_t " servlen \
-", int " flags );
+.BI " char " host "[restrict ." hostlen "], socklen_t " hostlen ,
+.BI " char " serv "[restrict ." servlen "], socklen_t " servlen ,
+.BI " int " flags );
.fi
.PP
.RS -4
.B #include <netdb.h>
.PP
.BI "int getnetent_r(struct netent *restrict " result_buf ,
-.BI " char *restrict " buf ", size_t " buflen ,
+.BI " char " buf "[restrict ." buflen "], size_t " buflen ,
.BI " struct netent **restrict " result ,
.BI " int *restrict " h_errnop );
.BI "int getnetbyname_r(const char *restrict " name ,
.BI " struct netent *restrict " result_buf ,
-.BI " char *restrict " buf ", size_t " buflen ,
+.BI " char " buf "[restrict ." buflen "], size_t " buflen ,
.BI " struct netent **restrict " result ,
.BI " int *restrict " h_errnop );
.BI "int getnetbyaddr_r(uint32_t " net ", int " type ,
.BI " struct netent *restrict " result_buf ,
-.BI " char *restrict " buf ", size_t " buflen ,
+.BI " char " buf "[restrict ." buflen "], size_t " buflen ,
.BI " struct netent **restrict " result ,
.BI " int *restrict " h_errnop );
.PP
.B #include <netdb.h>
.PP
.BI "int getprotoent_r(struct protoent *restrict " result_buf ,
-.BI " char *restrict " buf ", size_t " buflen ,
+.BI " char " buf "[restrict ." buflen "], size_t " buflen ,
.BI " struct protoent **restrict " result );
.BI "int getprotobyname_r(const char *restrict " name ,
.BI " struct protoent *restrict " result_buf ,
-.BI " char *restrict " buf ", size_t " buflen ,
+.BI " char " buf "[restrict ." buflen "], size_t " buflen ,
.BI " struct protoent **restrict " result );
.BI "int getprotobynumber_r(int " proto ,
.BI " struct protoent *restrict " result_buf ,
-.BI " char *restrict " buf ", size_t " buflen ,
+.BI " char " buf "[restrict ." buflen "], size_t " buflen ,
.BI " struct protoent **restrict " result );
.PP
.fi
.B #include <pwd.h>
.PP
.BI "int getpwent_r(struct passwd *restrict " pwbuf ,
-.BI " char *restrict " buf ", size_t " buflen ,
+.BI " char " buf "[restrict ." buflen "], size_t " buflen ,
.BI " struct passwd **restrict " pwbufp );
.BI "int fgetpwent_r(FILE *restrict " stream \
", struct passwd *restrict " pwbuf ,
-.BI " char *restrict " buf ", size_t " buflen ,
+.BI " char " buf "[restrict ." buflen "], size_t " buflen ,
.BI " struct passwd **restrict " pwbufp );
.fi
.PP
.BI "struct passwd *getpwnam(const char *" name );
.BI "struct passwd *getpwuid(uid_t " uid );
.PP
-.BI "int getpwnam_r(const char *restrict " name \
-", struct passwd *restrict " pwd ,
-.BI " char *restrict " buf ", size_t " buflen ,
+.BI "int getpwnam_r(const char *restrict " name ", \
+struct passwd *restrict " pwd ,
+.BI " char " buf "[restrict ." buflen "], size_t " buflen ,
.BI " struct passwd **restrict " result );
.BI "int getpwuid_r(uid_t " uid ", struct passwd *restrict " pwd ,
-.BI " char *restrict " buf ", size_t " buflen ,
+.BI " char " buf "[restrict ." buflen "], size_t " buflen ,
.BI " struct passwd **restrict " result );
.fi
.PP
.nf
.B #include <netdb.h>
.PP
-.BI "int getrpcent_r(struct rpcent *" result_buf ", char *" buf ,
+.BI "int getrpcent_r(struct rpcent *" result_buf ", char " buf [. buflen ],
.BI " size_t " buflen ", struct rpcent **" result );
.BI "int getrpcbyname_r(const char *" name ,
-.BI " struct rpcent *" result_buf ", char *" buf ,
+.BI " struct rpcent *" result_buf ", char " buf [. buflen ],
.BI " size_t " buflen ", struct rpcent **" result );
.BI "int getrpcbynumber_r(int " number ,
-.BI " struct rpcent *" result_buf ", char *" buf ,
+.BI " struct rpcent *" result_buf ", char " buf [. buflen ],
.BI " size_t " buflen ", struct rpcent **" result );
.PP
.fi
.B #include <netdb.h>
.PP
.BI "int getservent_r(struct servent *restrict " result_buf ,
-.BI " char *restrict " buf ", size_t " buflen ,
+.BI " char " buf "[restrict ." buflen "], size_t " buflen ,
.BI " struct servent **restrict " result );
.BI "int getservbyname_r(const char *restrict " name ,
.BI " const char *restrict " proto ,
.BI " struct servent *restrict " result_buf ,
-.BI " char *restrict " buf ", size_t " buflen ,
+.BI " char " buf "[restrict ." buflen "], size_t " buflen ,
.BI " struct servent **restrict " result );
.BI "int getservbyport_r(int " port ,
.BI " const char *restrict " proto ,
.BI " struct servent *restrict " result_buf ,
-.BI " char *restrict " buf ", size_t " buflen ,
+.BI " char " buf "[restrict ." buflen "], size_t " buflen ,
.BI " struct servent **restrict " result );
.PP
.fi
.B #include <shadow.h>
.PP
.BI "int getspent_r(struct spwd *" spbuf ,
-.BI " char *" buf ", size_t " buflen ", struct spwd **" spbufp );
+.BI " char " buf [. buflen "], size_t " buflen ", \
+struct spwd **" spbufp );
.BI "int getspnam_r(const char *" name ", struct spwd *" spbuf ,
-.BI " char *" buf ", size_t " buflen ", struct spwd **" spbufp );
+.BI " char " buf [. buflen "], size_t " buflen ", \
+struct spwd **" spbufp );
.PP
.BI "int fgetspent_r(FILE *" stream ", struct spwd *" spbuf ,
-.BI " char *" buf ", size_t " buflen ", struct spwd **" spbufp );
+.BI " char " buf [. buflen "], size_t " buflen ", \
+struct spwd **" spbufp );
.BI "int sgetspent_r(const char *" s ", struct spwd *" spbuf ,
-.BI " char *" buf ", size_t " buflen ", struct spwd **" spbufp );
+.BI " char " buf [. buflen "], size_t " buflen ", \
+struct spwd **" spbufp );
.fi
.PP
.RS -4
.BI "int inet_net_pton(int " af ", const char *" pres ,
.BI " void *" netp ", size_t " nsize );
.BI "char *inet_net_ntop(int " af ", const void *" netp ", int " bits ,
-.BI " char *" pres ", size_t " psize );
+.BI " char " pres [. psize "], size_t " psize );
.fi
.PP
.RS -4
.B #include <arpa/inet.h>
.PP
.BI "const char *inet_ntop(int " af ", const void *restrict " src ,
-.BI " char *restrict " dst ", socklen_t " size );
+.BI " char " dst "[restrict ." size "], socklen_t " size );
.fi
.SH DESCRIPTION
This function converts the network address structure
.nf
.B #include <stdlib.h>
.PP
-.BI "int mblen(const char *" s ", size_t " n );
+.BI "int mblen(const char " s [. n "], size_t " n );
.fi
.SH DESCRIPTION
If
.nf
.B #include <wchar.h>
.PP
-.BI "size_t mbrlen(const char *restrict " s ", size_t " n ,
+.BI "size_t mbrlen(const char " s "[restrict ." n "], size_t " n ,
.BI " mbstate_t *restrict " ps );
.fi
.SH DESCRIPTION
.nf
.B #include <wchar.h>
.PP
-.BI "size_t mbrtowc(wchar_t *restrict " pwc ", const char *restrict " s \
-", size_t " n ,
-.BI " mbstate_t *restrict " ps );
+.BI "size_t mbrtowc(wchar_t *restrict " pwc ", const char " s "[restrict ." n ],
+.BI " size_t " n ", mbstate_t *restrict " ps );
.fi
.SH DESCRIPTION
The main case for this function is when
.nf
.B #include <wchar.h>
.PP
-.BI "size_t mbsnrtowcs(wchar_t *restrict " dest ", const char **restrict " src ,
+.BI "size_t mbsnrtowcs(wchar_t " dest "[restrict ." len "], const char **restrict " src ,
.BI " size_t " nms ", size_t " len \
", mbstate_t *restrict " ps );
.fi
.nf
.B #include <wchar.h>
.PP
-.BI "size_t mbsrtowcs(wchar_t *restrict " dest ", const char **restrict " src ,
+.BI "size_t mbsrtowcs(wchar_t " dest "[restrict ." len "], const char **restrict " src ,
.BI " size_t " len ", mbstate_t *restrict " ps );
.fi
.SH DESCRIPTION
.nf
.B #include <stdlib.h>
.PP
-.BI "size_t mbstowcs(wchar_t *restrict " dest ", const char *restrict " src ,
+.BI "size_t mbstowcs(wchar_t " dest "[restrict ." n "], \
+const char *restrict " src ,
.BI " size_t " n );
.fi
.SH DESCRIPTION
.nf
.B #include <stdlib.h>
.PP
-.BI "int mbtowc(wchar_t *restrict " pwc ", const char *restrict " s \
-", size_t " n );
+.BI "int mbtowc(wchar_t *restrict " pwc ", const char " s "[restrict ." n "], \
+size_t " n );
.fi
.SH DESCRIPTION
The main case for this function is when
.BR "#define _GNU_SOURCE" " /* See feature_test_macros(7) */"
.B #include <wchar.h>
.PP
-.BI "wchar_t *wmempcpy(wchar_t *restrict " dest \
-", const wchar_t *restrict " src ,
-.BI " size_t " n );
+.BI "wchar_t *wmempcpy(wchar_t " dest "[restrict ." n ],
+.BI " const wchar_t " src "[restrict ." n ],
+.BI " size_t " n );
.fi
.SH DESCRIPTION
The
.nf
.B #include <mqueue.h>
.PP
-.BI "ssize_t mq_receive(mqd_t " mqdes ", char *" msg_ptr ,
+.BI "ssize_t mq_receive(mqd_t " mqdes ", char " msg_ptr [. msg_len ],
.BI " size_t " msg_len ", unsigned int *" msg_prio );
.PP
.B #include <time.h>
.B #include <mqueue.h>
.PP
-.BI "ssize_t mq_timedreceive(mqd_t " mqdes ", char *restrict " msg_ptr ,
+.BI "ssize_t mq_timedreceive(mqd_t " mqdes ", \
+char *restrict " msg_ptr [. msg_len ],
.BI " size_t " msg_len ", unsigned int *restrict " msg_prio ,
.BI " const struct timespec *restrict " abs_timeout );
.fi
.nf
.B #include <mqueue.h>
.PP
-.BI "int mq_send(mqd_t " mqdes ", const char *" msg_ptr ,
+.BI "int mq_send(mqd_t " mqdes ", const char " msg_ptr [. msg_len ],
.BI " size_t " msg_len ", unsigned int " msg_prio );
.PP
.B #include <time.h>
.B #include <mqueue.h>
.PP
-.BI "int mq_timedsend(mqd_t " mqdes ", const char *" msg_ptr ,
+.BI "int mq_timedsend(mqd_t " mqdes ", const char " msg_ptr [. msg_len ],
.BI " size_t " msg_len ", unsigned int " msg_prio ,
.BI " const struct timespec *" abs_timeout );
.fi
.BI " const char *restrict " format ", ...);"
.BI "int sprintf(char *restrict " str ,
.BI " const char *restrict " format ", ...);"
-.BI "int snprintf(char *restrict " str ", size_t " size ,
+.BI "int snprintf(char " str "[restrict ." size "], size_t " size ,
.BI " const char *restrict " format ", ...);"
.PP
.BI "int vprintf(const char *restrict " format ", va_list " ap );
.BI " const char *restrict " format ", va_list " ap );
.BI "int vsprintf(char *restrict " str ,
.BI " const char *restrict " format ", va_list " ap );
-.BI "int vsnprintf(char *restrict " str ", size_t " size ,
+.BI "int vsnprintf(char " str "[restrict ." size "], size_t " size ,
.BI " const char *restrict " format ", va_list " ap );
.fi
.PP
.B #include <pthread.h>
.PP
.BI "int pthread_setname_np(pthread_t " thread ", const char *" name );
-.BI "int pthread_getname_np(pthread_t " thread ", char *" name ", size_t " size );
+.BI "int pthread_getname_np(pthread_t " thread ", char " name [. size "], \
+size_t " size );
.fi
.SH DESCRIPTION
By default, all the threads created using
.nf
.B #include <stdlib.h>
.PP
-.BI "char *ptsname(int " fd ");"
-.BI "int ptsname_r(int " fd ", char *" buf ", size_t " buflen ");"
+.BI "char *ptsname(int " fd );
+.BI "int ptsname_r(int " fd ", char " buf [. buflen "], size_t " buflen );
.fi
.PP
.RS -4
.B long random(void);
.BI "void srandom(unsigned int " seed );
.PP
-.BI "char *initstate(unsigned int " seed ", char *" state ", size_t " n );
+.BI "char *initstate(unsigned int " seed ", char " state [. n "], size_t " n );
.BI "char *setstate(char *" state );
.fi
.PP
.BI " int32_t *restrict " result );
.BI "int srandom_r(unsigned int " seed ", struct random_data *" buf );
.PP
-.BI "int initstate_r(unsigned int " seed ", char *restrict " statebuf ,
+.BI "int initstate_r(unsigned int " seed ", \
+char " statebuf "[restrict ." statelen ],
.BI " size_t " statelen ", struct random_data *restrict " buf );
.BI "int setstate_r(char *restrict " statebuf ,
.BI " struct random_data *restrict " buf );
.BI " int " cflags );
.BI "int regexec(const regex_t *restrict " preg \
", const char *restrict " string ,
-.BI " size_t " nmatch ", regmatch_t " pmatch "[restrict]\
-, int " eflags );
+.BI " size_t " nmatch ", regmatch_t " pmatch "[restrict ." nmatch ],
+.BI " int " eflags );
.PP
.BI "size_t regerror(int " errcode ", const regex_t *restrict " preg ,
-.BI " char *restrict " errbuf ", size_t " errbuf_size );
+.BI " char " errbuf "[restrict ." errbuf_size "], \
+size_t " errbuf_size );
.BI "void regfree(regex_t *" preg );
.fi
.SH DESCRIPTION
.PP
.BI "int res_nquery(res_state " statep ,
.BI " const char *" dname ", int " class ", int " type ,
-.BI " unsigned char *" answer ", int " anslen );
+.BI " unsigned char " answer [. anslen "], int " anslen );
.PP
.BI "int res_nsearch(res_state " statep ,
.BI " const char *" dname ", int " class ", int " type ,
-.BI " unsigned char *" answer ", int " anslen );
+.BI " unsigned char " answer [. anslen "], int " anslen );
.PP
.BI "int res_nquerydomain(res_state " statep ,
.BI " const char *" name ", const char *" domain ,
-.BI " int " class ", int " type ", unsigned char *" answer ,
+.BI " int " class ", int " type ", unsigned char " answer [. anslen ],
.BI " int " anslen );
.PP
.BI "int res_nmkquery(res_state " statep ,
.BI " int " op ", const char *" dname ", int " class ,
-.BI " int " type ", const unsigned char *" data ", int " datalen ,
+.BI " int " type ", const unsigned char " data [. datalen "], \
+int " datalen ,
.BI " const unsigned char *" newrr ,
-.BI " unsigned char *" buf ", int " buflen );
+.BI " unsigned char " buf [. buflen "], int " buflen );
.PP
.BI "int res_nsend(res_state " statep ,
-.BI " const unsigned char *" msg ", int " msglen ,
-.BI " unsigned char *" answer ", int " anslen );
+.BI " const unsigned char " msg [. msglen "], int " msglen ,
+.BI " unsigned char " answer [. anslen "], int " anslen );
.PP
-.BI "int dn_comp(const char *" exp_dn ", unsigned char *" comp_dn ,
+.BI "int dn_comp(const char *" exp_dn ", unsigned char " comp_dn [. length ],
.BI " int " length ", unsigned char **" dnptrs ,
.BI " unsigned char **" lastdnptr );
.PP
.BI "int dn_expand(const unsigned char *" msg ,
.BI " const unsigned char *" eomorig ,
-.BI " const unsigned char *" comp_dn ", char *" exp_dn ,
+.BI " const unsigned char *" comp_dn ", char " exp_dn [. length ],
.BI " int " length );
.PP
.B [[deprecated]] extern struct __res_state _res;
.PP
.B [[deprecated]]
.BI "int res_query(const char *" dname ", int " class ", int " type ,
-.BI " unsigned char *" answer ", int " anslen );
+.BI " unsigned char " answer [. anslen "], int " anslen );
.PP
.B [[deprecated]]
.BI "int res_search(const char *" dname ", int " class ", int " type ,
-.BI " unsigned char *" answer ", int " anslen );
+.BI " unsigned char " answer [. anslen "], int " anslen );
.PP
.B [[deprecated]]
.BI "int res_querydomain(const char *" name ", const char *" domain ,
-.BI " int " class ", int " type ", unsigned char *" answer ,
+.BI " int " class ", int " type ", unsigned char " answer [. anslen ],
.BI " int " anslen );
.PP
.B [[deprecated]]
.BI "int res_mkquery(int " op ", const char *" dname ", int " class ,
-.BI " int " type ", const unsigned char *" data ", int " datalen ,
+.BI " int " type ", const unsigned char " data [. datalen "], \
+int " datalen ,
.BI " const unsigned char *" newrr ,
-.BI " unsigned char *" buf ", int " buflen );
+.BI " unsigned char " buf [. buflen "], int " buflen );
.PP
.B [[deprecated]]
-.BI "int res_send(const unsigned char *" msg ", int " msglen ,
-.BI " unsigned char *" answer ", int " anslen );
+.BI "int res_send(const unsigned char " msg [. msglen "], int " msglen ,
+.BI " unsigned char " answer [. anslen "], int " anslen );
.fi
.SH DESCRIPTION
.B Note:
.PP
.nf
.BI "AUTH *authunix_create(char *" host ", uid_t " uid ", gid_t " gid ,
-.BI " int " len ", gid_t *" aup_gids );
+.BI " int " len ", gid_t " aup_gids [. len ]);
.fi
.IP
Create and return an RPC authentication handle that contains
.PP
.B "struct aliasent *getaliasent(void);"
.BI "int getaliasent_r(struct aliasent *restrict " result ,
-.BI " char *restrict " buffer ", size_t " buflen ,
+.BI " char " buffer "[restrict ." buflen "], \
+size_t " buflen ,
.BI " struct aliasent **restrict " res );
.PP
.BI "struct aliasent *getaliasbyname(const char *" name );
.BI "int getaliasbyname_r(const char *restrict " name ,
.BI " struct aliasent *restrict " result ,
-.BI " char *restrict " buffer ", size_t " buflen ,
+.BI " char " buffer "[restrict ." buflen "], \
+size_t " buflen ,
.BI " struct aliasent **restrict " res );
.fi
.SH DESCRIPTION
.nf
.B #include <stdio.h>
.PP
-.BI "int setvbuf(FILE *restrict " stream ", char *restrict " buf ,
+.BI "int setvbuf(FILE *restrict " stream ", char " buf "[restrict ." size ],
.BI " int " mode ", size_t " size );
.PP
.BI "void setbuf(FILE *restrict " stream ", char *restrict " buf );
-.BI "void setbuffer(FILE *restrict " stream ", char *restrict " buf ,
+.BI "void setbuffer(FILE *restrict " stream ", char " buf "[restrict ." size ],
.BI " size_t " size );
.BI "void setlinebuf(FILE *" stream );
.fi
.BI " char **restrict " user ", char **restrict " domain );
.BI "int getnetgrent_r(char **restrict " host ,
.BI " char **restrict " user ", char **restrict " domain ,
-.BI " char *restrict " buf ", size_t " buflen );
+.BI " char " buf "[restrict ." buflen "], size_t " buflen );
.PP
.BI "int innetgr(const char *" netgroup ", const char *" host ,
.BI " const char *" user ", const char *" domain );
.nf
.B #include <string.h>
.PP
-.BI "char *stpncpy(char *restrict " dest ", const char *restrict " src \
-", size_t " n );
+.BI "char *stpncpy(char " dest "[restrict ." n "], \
+const char " src "[restrict ." n ],
+.BI " size_t " n );
.fi
.PP
.RS -4
.B #include <strings.h>
.PP
.BI "int strcasecmp(const char *" s1 ", const char *" s2 );
-.BI "int strncasecmp(const char *" s1 ", const char *" s2 ", size_t " n );
+.BI "int strncasecmp(const char " s1 [. n "], const char " s2 [. n "], \
+size_t " n );
.fi
.SH DESCRIPTION
The
.B #include <string.h>
.PP
.BI "char *strcat(char *restrict " dest ", const char *restrict " src );
-.BI "char *strncat(char *restrict " dest ", const char *restrict " src \
-", size_t " n );
+.BI "char *strncat(char " dest "[restrict ." n "], \
+const char " src "[restrict ." n ],
+.BI " size_t " n );
.fi
.SH DESCRIPTION
The
.B #include <string.h>
.PP
.BI "int strcmp(const char *" s1 ", const char *" s2 );
-.BI "int strncmp(const char *" s1 ", const char *" s2 ", size_t " n );
+.BI "int strncmp(const char " s1 [. n "], const char " s2 [. n "], size_t " n );
.fi
.SH DESCRIPTION
The
.B #include <string.h>
.PP
.BI "char *strcpy(char *restrict " dest ", const char *restrict " src );
-.BI "char *strncpy(char *restrict " dest ", const char *restrict " src \
-", size_t " n );
+.BI "char *strncpy(char " dest "[restrict ." n "], \
+const char " src "[restrict ." n ],
+.BI " size_t " n );
.fi
.SH DESCRIPTION
The
.PP
.BI "char *strdup(const char *" s );
.PP
-.BI "char *strndup(const char *" s ", size_t " n );
+.BI "char *strndup(const char " s [. n "], size_t " n );
.BI "char *strdupa(const char *" s );
-.BI "char *strndupa(const char *" s ", size_t " n );
+.BI "char *strndupa(const char " s [. n "], size_t " n );
.fi
.PP
.RS -4
.BI "const char *strerrorname_np(int " errnum );
.BI "const char *strerrordesc_np(int " errnum );
.PP
-.BI "int strerror_r(int " errnum ", char *" buf ", size_t " buflen );
+.BI "int strerror_r(int " errnum ", char " buf [. buflen "], size_t " buflen );
/* XSI-compliant */
.PP
-.BI "char *strerror_r(int " errnum ", char *" buf ", size_t " buflen );
+.BI "char *strerror_r(int " errnum ", char " buf [. buflen "], size_t " buflen );
/* GNU-specific */
.PP
.BI "char *strerror_l(int " errnum ", locale_t " locale );
.nf
.B #include <monetary.h>
.PP
-.BI "ssize_t strfmon(char *restrict " s ", size_t " max ,
+.BI "ssize_t strfmon(char " s "[restrict ." max "], size_t " max ,
.BI " const char *restrict " format ", ...);"
-.BI "ssize_t strfmon_l(char *restrict " s ", size_t " max ", locale_t " locale ,
+.BI "ssize_t strfmon_l(char " s "[restrict ." max "], size_t " max ", \
+locale_t " locale ,
.BI " const char *restrict " format ", ...);"
.fi
.SH DESCRIPTION
.nf
.B #include <stdlib.h>
.PP
-.BI "int strfromd(char *restrict " str ", size_t " n ,
+.BI "int strfromd(char " str "[restrict ." n "], size_t " n ,
.BI " const char *restrict " format ", double " fp ");"
-.BI "int strfromf(char *restrict " str ", size_t " n ,
+.BI "int strfromf(char " str "[restrict ." n "], size_t " n ,
.BI " const char *restrict " format ", float "fp ");"
-.BI "int strfroml(char *restrict " str ", size_t " n ,
+.BI "int strfroml(char " str "[restrict ." n "], size_t " n ,
.BI " const char *restrict " format ", long double " fp ");"
.fi
.PP
.nf
.B #include <time.h>
.PP
-.BI "size_t strftime(char *restrict " s ", size_t " max ,
+.BI "size_t strftime(char " s "[restrict ." max "], size_t " max ,
.BI " const char *restrict " format ,
.BI " const struct tm *restrict " tm );
.PP
-.BI "size_t strftime_l(char *restrict " s ", size_t " max ,
+.BI "size_t strftime_l(char " s "[restrict ." max "], size_t " max ,
.BI " const char *restrict " format ,
.BI " const struct tm *restrict " tm ,
.BI " locale_t " locale );
.I s2
ignoring case.
.TP
-.BI "int strncasecmp(const char *" s1 ", const char *" s2 ", size_t " n );
+.BI "int strncasecmp(const char " s1 [. n "], const char " s2 [. n "], \
+size_t " n );
Compare the first
.I n
bytes of the strings
Return the length of the string
.IR s .
.TP
-.BI "char *strncat(char *restrict " dest ", const char *restrict " src \
-", size_t " n );
+.nf
+.BI "char *strncat(char " dest "[restrict ." n "], \
+const char " src "[restrict ." n ],
+.BI " size_t " n );
+.fi
Append at most
.I n
bytes from the string
returning a pointer to
.IR dest .
.TP
-.BI "int strncmp(const char *" s1 ", const char *" s2 ", size_t " n );
+.BI "int strncmp(const char " s1 [. n "], const char " s2 [. n "], size_t " n );
Compare at most
.I n
bytes of the strings
and
.IR s2 .
.TP
-.BI "char *strncpy(char *restrict " dest ", const char *restrict " src \
-", size_t " n );
+.nf
+.BI "char *strncpy(char " dest "[restrict ." n "], \
+const char " src "[restrict ." n ],
+.BI " size_t " n );
+.fi
Copy at most
.I n
bytes from string
that are delimited by one of the bytes in
.IR delim .
.TP
-.BI "size_t strxfrm(char *restrict " dst ", const char *restrict " src \
-", size_t " n );
+.nf
+.BI "size_t strxfrm(char " dst "[restrict ." n "], \
+const char " src "[restrict ." n ],
+.BI " size_t " n );
+.fi
Transforms
.I src
to the current locale and copies the first
.nf
.B #include <string.h>
.PP
-.BI "size_t strnlen(const char *" s ", size_t " maxlen );
+.BI "size_t strnlen(const char " s [. maxlen "], size_t " maxlen );
.fi
.PP
.RS -4
.nf
.B #include <string.h>
.PP
-.BI "size_t strxfrm(char *restrict " dest ", const char *restrict " src ,
+.BI "size_t strxfrm(char " dest "[restrict ." n "], \
+const char " src "[restrict ." n ],
.BI " size_t " n );
.fi
.SH DESCRIPTION
.B #include <unistd.h>
.PP
.BI "char *ttyname(int " fd );
-.BI "int ttyname_r(int " fd ", char *" buf ", size_t " buflen );
+.BI "int ttyname_r(int " fd ", char " buf [. buflen "], size_t " buflen );
.fi
.SH DESCRIPTION
The function
", size_t " n ,
.BI " FILE *restrict " stream );
.PP
-.BI "char *fgets_unlocked(char *restrict " s ", int " n \
+.BI "char *fgets_unlocked(char " s "[restrict ." n "], int " n \
", FILE *restrict " stream );
.BI "int fputs_unlocked(const char *restrict " s ", FILE *restrict " stream );
.PP
.BI "wint_t putwc_unlocked(wchar_t " wc ", FILE *" stream );
.BI "wint_t putwchar_unlocked(wchar_t " wc );
.PP
-.BI "wchar_t *fgetws_unlocked(wchar_t *restrict " ws ", int " n ,
+.BI "wchar_t *fgetws_unlocked(wchar_t " ws "[restrict ." n "], int " n ,
.BI " FILE *restrict " stream );
.BI "int fputws_unlocked(const wchar_t *restrict " ws ,
.BI " FILE *restrict " stream );
.nf
.B #include <wchar.h>
.PP
-.BI "wchar_t *wcpncpy(wchar_t *restrict " dest \
-", const wchar_t *restrict " src ,
+.BI "wchar_t *wcpncpy(wchar_t " dest "[restrict ." n ],
+.BI " const wchar_t " src "[restrict ." n ],
.BI " size_t " n );
.fi
.PP
.nf
.B #include <wchar.h>
.PP
-.BI "int wcsncasecmp(const wchar_t *" s1 ", const wchar_t *" s2 ", size_t " n );
+.BI "int wcsncasecmp(const wchar_t " s1 [. n "], const wchar_t " s2 [. n "], s\
+ize_t " n );
.fi
.PP
.RS -4
.nf
.B #include <wchar.h>
.PP
-.BI "wchar_t *wcsncat(wchar_t *restrict " dest \
-", const wchar_t *restrict " src ,
+.BI "wchar_t *wcsncat(wchar_t " dest "[restrict ." n ],
+.BI " const wchar_t " src "[restrict ." n ],
.BI " size_t " n );
.fi
.SH DESCRIPTION
.nf
.B #include <wchar.h>
.PP
-.BI "int wcsncmp(const wchar_t *" s1 ", const wchar_t *" s2 ", size_t " n );
+.BI "int wcsncmp(const wchar_t " s1 [. n "], const wchar_t " s2 [. n "], \
+size_t " n );
.fi
.SH DESCRIPTION
The
.nf
.B #include <wchar.h>
.PP
-.BI "wchar_t *wcsncpy(wchar_t *restrict " dest \
-", const wchar_t *restrict " src ,
+.BI "wchar_t *wcsncpy(wchar_t " dest "[restrict ." n ],
+.BI " const wchar_t " src "[restrict ." n ],
.BI " size_t " n );
.fi
.SH DESCRIPTION
.nf
.B #include <wchar.h>
.PP
-.BI "size_t wcsnlen(const wchar_t *" s ", size_t " maxlen );
+.BI "size_t wcsnlen(const wchar_t " s [. maxlen "], size_t " maxlen );
.fi
.PP
.RS -4
.nf
.B #include <wchar.h>
.PP
-.BI "size_t wcsnrtombs(char *restrict " dest ", const wchar_t **restrict " src ,
-.BI " size_t " nwc ", size_t " len \
-", mbstate_t *restrict " ps );
+.BI "size_t wcsnrtombs(char " dest "[restrict ." len "], \
+const wchar_t **restrict " src ,
+.BI " size_t " nwc ", size_t " len ", \
+mbstate_t *restrict " ps );
.fi
.PP
.RS -4
.nf
.B #include <wchar.h>
.PP
-.BI "size_t wcsrtombs(char *restrict " dest ", const wchar_t **restrict " src ,
+.BI "size_t wcsrtombs(char " dest "[restrict ." len "], \
+const wchar_t **restrict " src ,
.BI " size_t " len ", mbstate_t *restrict " ps );
.fi
.SH DESCRIPTION
.nf
.B #include <stdlib.h>
.PP
-.BI "size_t wcstombs(char *restrict " dest ", const wchar_t *restrict " src ,
+.BI "size_t wcstombs(char " dest "[restrict ." n "], \
+const wchar_t *restrict " src ,
.BI " size_t " n );
.fi
.SH DESCRIPTION
.nf
.B #include <wchar.h>
.PP
-.BI "wchar_t *wmemchr(const wchar_t *" s ", wchar_t " c ", size_t " n );
+.BI "wchar_t *wmemchr(const wchar_t " s [. n "], wchar_t " c ", size_t " n );
.fi
.SH DESCRIPTION
The
.nf
.B #include <wchar.h>
.PP
-.BI "int wmemcmp(const wchar_t *" s1 ", const wchar_t *" s2 ", size_t " n );
+.BI "int wmemcmp(const wchar_t " s1 [. n "], const wchar_t " s2 [. n "], \
+size_t " n );
.fi
.SH DESCRIPTION
The
.nf
.B #include <wchar.h>
.PP
-.BI "wchar_t *wmemcpy(wchar_t *restrict " dest \
-", const wchar_t *restrict " src ,
+.BI "wchar_t *wmemcpy(wchar_t " dest "[restrict ." n ],
+.BI " const wchar_t " src "[restrict ." n ],
.BI " size_t " n );
.fi
.SH DESCRIPTION
.nf
.B #include <wchar.h>
.PP
-.BI "wchar_t *wmemmove(wchar_t *" dest ", const wchar_t *" src ", size_t " n );
+.BI "wchar_t *wmemmove(wchar_t " dest [. n "], const wchar_t " src [. n "], \
+size_t " n );
.fi
.SH DESCRIPTION
The
.nf
.B #include <wchar.h>
.PP
-.BI "wchar_t *wmemset(wchar_t *" wcs ", wchar_t " wc ", size_t " n );
+.BI "wchar_t *wmemset(wchar_t " wcs [. n "], wchar_t " wc ", size_t " n );
.fi
.SH DESCRIPTION
The
.BI "int wprintf(const wchar_t *restrict " format ", ...);"
.BI "int fwprintf(FILE *restrict " stream ,
.BI " const wchar_t *restrict " format ", ...);"
-.BI "int swprintf(wchar_t *restrict " wcs ", size_t " maxlen ,
+.BI "int swprintf(wchar_t " wcs "[restrict ." maxlen "], size_t " maxlen ,
.BI " const wchar_t *restrict " format ", ...);"
.PP
.BI "int vwprintf(const wchar_t *restrict " format ", va_list " args );
.BI "int vfwprintf(FILE *restrict " stream ,
.BI " const wchar_t *restrict " format ", va_list " args );
-.BI "int vswprintf(wchar_t *restrict " wcs ", size_t " maxlen ,
+.BI "int vswprintf(wchar_t " wcs "[restrict ." maxlen "], size_t " maxlen ,
.BI " const wchar_t *restrict " format ", va_list " args );
.fi
.PP