This syntax has been proposed for standardization in N3433.
Link: <https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3433.pdf>
Cc: Christopher Bazley <chris.bazley.wg14@gmail.com>
Cc: Martin Uecker <uecker@tugraz.at>
Cc: Joseph Myers <josmyers@redhat.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
.nf
.B #include <keyutils.h>
.P
-.BI "key_serial_t add_key(const char *" type ", const char *" description ,
-.BI " const void " payload [. size "], size_t " size ,
+.BI "key_serial_t add_key(size_t " size ;
+.BI " const char *" type ", const char *" description ,
+.BI " const void " payload [ size "], size_t " size ,
.BI " key_serial_t " keyring ");"
.fi
.P
alloc_hugepages, free_hugepages \- allocate or free huge pages
.SH SYNOPSIS
.nf
-.BI "void *syscall(SYS_alloc_hugepages, int " key ", void " addr [. size "], \
+.BI "void *syscall(size_t " size ;
+.BI " SYS_alloc_hugepages, int " key ", void " addr [ size "], \
size_t " size ,
.BI " int " prot ", int " flag );
.\" asmlinkage unsigned long sys_alloc_hugepages(int key, unsigned long addr,
.nf
.B #include <sys/cachectl.h>
.P
-.BI "int cacheflush(void " addr [. nbytes "], int "nbytes ", int "cache );
+.BI "int cacheflush(int " nbytes;
+.BI " void " addr [ nbytes "], int "nbytes ", int "cache );
.fi
.P
.IR Note :
.nf
.B #include <sys/epoll.h>
.P
-.BI "int epoll_wait(int " epfd ", struct epoll_event " events [. maxevents ],
+.BI "int epoll_wait(int " maxevents ;
+.BI " int " epfd ", struct epoll_event " events [ maxevents ],
.BI " int " maxevents ", int " timeout );
-.BI "int epoll_pwait(int " epfd ", struct epoll_event " events [. maxevents ],
+.BI "int epoll_pwait(int " maxevents ;
+.BI " int " epfd ", struct epoll_event " events [ maxevents ],
.BI " int " maxevents ", int " timeout ,
.BI " const sigset_t *_Nullable " sigmask );
-.BI "int epoll_pwait2(int " epfd ", struct epoll_event " events [. maxevents ],
+.BI "int epoll_pwait2(int " maxevents ;
+.BI " int " epfd ", struct epoll_event " events [ maxevents ],
.BI " int " maxevents ", \
const struct timespec *_Nullable " timeout ,
.BI " const sigset_t *_Nullable " sigmask );
.BR "#define _GNU_SOURCE" " /* See feature_test_macros(7) */"
.B #include <dirent.h>
.P
-.BI "ssize_t getdents64(int " fd ", void " dirp [. count "], size_t " count );
+.BI "ssize_t getdents64(size_t " count ;
+.BI " int " fd ", void " dirp [ count "], size_t " count );
.fi
.P
.IR Note :
.nf
.B #include <unistd.h>
.P
-.BI "int getgroups(int " size ", gid_t " list "[_Nullable ." size ]);
+.BI "int getgroups(int " size ", gid_t " list "[_Nullable " size ]);
.P
.B #include <grp.h>
.P
-.BI "int setgroups(size_t " size ", const gid_t " list "[_Nullable ." size ]);
+.BI "int setgroups(size_t " size ", const gid_t " list "[_Nullable " size ]);
.fi
.P
.RS -4
.nf
.B #include <sys/random.h>
.P
-.BI "ssize_t getrandom(void " buf [. buflen "], size_t " buflen ", \
+.BI "ssize_t getrandom(size_t " buflen ;
+.BI " void " buf [ buflen "], size_t " buflen ", \
unsigned int " flags );
.fi
.SH DESCRIPTION
.nf
.B #include <sys/socket.h>
.P
-.BI "int getsockopt(int " sockfd ", int " level ", int " optname ,
-.BI " void " optval "[_Nullable restrict *." optlen ],
+.BI "int getsockopt(socklen *restrict " optlen ;
+.BI " int " sockfd ", int " level ", int " optname ,
+.BI " void " optval "[_Nullable restrict *" optlen ],
.BI " socklen_t *restrict " optlen );
-.BI "int setsockopt(int " sockfd ", int " level ", int " optname ,
-.BI " const void " optval [. optlen ],
+.BI "int setsockopt(socklen_t " optlen ;
+.BI " int " sockfd ", int " level ", int " optname ,
+.BI " const void " optval [ optlen ],
.BI " socklen_t " optlen );
.fi
.SH DESCRIPTION
.BR "#include <sys/syscall.h>" " /* Definition of " SYS_* " constants */"
.B #include <unistd.h>
.P
-.BI "[[deprecated]] long syscall(SYS_getunwind, void " buf [. buf_size ],
+.BI "[[deprecated]] long syscall(size_t " buf_size ;
+.BI " SYS_getunwind, void " buf [ buf_size ],
.BI " size_t " buf_size );
.fi
.SH DESCRIPTION
.nf
.B #include <sys/xattr.h>
.P
-.BI "ssize_t getxattr(const char *" path ", const char *" name ,
-.BI " void " value [. size "], size_t " size );
-.BI "ssize_t lgetxattr(const char *" path ", const char *" name ,
-.BI " void " value [. size "], size_t " size );
-.BI "ssize_t fgetxattr(int " fd ", const char *" name ,
-.BI " void " value [. size "], size_t " size );
+.BI "ssize_t getxattr(size_t " size ;
+.BI " const char *" path ", const char *" name ,
+.BI " void " value [ size "], size_t " size );
+.BI "ssize_t lgetxattr(size_t " size ;
+.BI " const char *" path ", const char *" name ,
+.BI " void " value [ size "], size_t " size );
+.BI "ssize_t fgetxattr(size_t " size ;
+.BI " int " fd ", const char *" name ,
+.BI " void " value [ size "], size_t " size );
.fi
.SH DESCRIPTION
Extended attributes are
.BR "#include <sys/syscall.h>" " /* Definition of " SYS_* " constants */"
.B #include <unistd.h>
.P
-.BI "int syscall(SYS_init_module, void " module_image [. size "], \
+.BI "int syscall(unsigned long " size ;
+.BI " SYS_init_module, void " module_image [ size "], \
unsigned long " size ,
.BI " const char *" param_values );
.BI "int syscall(SYS_finit_module, int " fd ,
.BR "#include <sys/syscall.h>" " /* Definition of " SYS_* " constants */"
.B #include <unistd.h>
.P
-.BI "int syscall(SYS_lookup_dcookie, uint64_t " cookie ", char " buffer [. size ],
+.BI "int syscall(size_t " size ;
+.BI " SYS_lookup_dcookie, uint64_t " cookie ", char " buffer [ size ],
.BI " size_t " size );
.fi
.P
.nf
.B #include <sys/mman.h>
.P
-.BI "int madvise(void " addr [. size "], size_t " size ", int " advice );
+.BI "int madvise(size_t " size ;
+.BI " void " addr [ size "], size_t " size ", int " advice );
.fi
.P
.RS -4
.nf
.B "#include <numaif.h>"
.P
-.BI "long mbind(void " addr [. size "], unsigned long " size ", int " mode ,
-.BI " const unsigned long " nodemask [(. maxnode " + ULONG_WIDTH - 1)"
+.BI "long mbind(unsigned long " size ", unsigned long " maxnode ;
+.BI " void " addr [ size "], unsigned long " size ", int " mode ,
+.BI " const unsigned long " nodemask [( maxnode " + ULONG_WIDTH - 1)"
.B " / ULONG_WIDTH],"
.BI " unsigned long " maxnode ", unsigned int " flags );
.fi
.nf
.B #include <sys/mman.h>
.P
-.BI "int mincore(void " addr [. length "], size_t " length ", unsigned char *" vec );
+.BI "int mincore(size_t " length ;
+.BI " void " addr [ length "], size_t " length ", unsigned char *" vec );
.fi
.P
.RS -4
.nf
.B #include <sys/mman.h>
.P
-.BI "int mlock(const void " addr [. size "], size_t " size );
-.BI "int mlock2(const void " addr [. size "], size_t " size ", \
+.BI "int mlock(size_t " size ;
+.BI " const void " addr [ size "], size_t " size );
+.BI "int mlock2(size_t " size ;
+.BI " const void " addr [ size "], size_t " size ", \
unsigned int " flags );
-.BI "int munlock(const void " addr [. size "], size_t " size );
+.BI "int munlock(size_t " size ;
+.BI " const void " addr [ size "], size_t " size );
.P
.BI "int mlockall(int " flags );
.B int munlockall(void);
.nf
.B #include <sys/mman.h>
.P
-.BI "void *mmap(void " addr [. length "], size_t " length \
+.BI "void *mmap(size_t " length ;
+.BI " void " addr [ length "], size_t " length \
", int " prot ", int " flags ,
.BI " int " fd ", off_t " offset );
-.BI "int munmap(void " addr [. length "], size_t " length );
+.BI "int munmap(size_t " length ;
+.BI " void " addr [ length "], size_t " length );
.fi
.P
See VERSIONS for information on feature test macro requirements.
.BR "#include <sys/syscall.h>" " /* Definition of " SYS_* " constants */"
.B #include <unistd.h>
.P
-.BI "int syscall(SYS_modify_ldt, int " func ", void " ptr [. bytecount ],
+.BI "int syscall(unsigned long " bytecount ;
+.BI " SYS_modify_ldt, int " func ", void " ptr [ bytecount ],
.BI " unsigned long " bytecount );
.fi
.P
.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 "], \
+void *" pages [ count ],
+.BI " const int " nodes [ count "], int " status [ count "], \
int " flags );
.fi
.SH DESCRIPTION
.nf
.B #include <sys/mman.h>
.P
-.BI "int mprotect(void " addr [. size "], size_t " size ", int " prot );
+.BI "int mprotect(size_t " size ;
+.BI " void " addr [ size "], size_t " size ", int " prot );
.P
.BR "#define _GNU_SOURCE" " /* See feature_test_macros(7) */"
.B #include <sys/mman.h>
.P
-.BI "int pkey_mprotect(void " addr [. size "], size_t " size ", int " prot ", int " pkey ");"
+.BI "int pkey_mprotect(size_t " size ;
+.BI " void " addr [ size "], size_t " size ", int " prot ", int " pkey ");"
.fi
.SH DESCRIPTION
.BR mprotect ()
.BR "#define _GNU_SOURCE" " /* See feature_test_macros(7) */"
.B #include <sys/mman.h>
.P
-.BI "void *mremap(void " old_address [. old_size "], size_t " old_size ,
+.BI "void *mremap(size_t " old_size ;
+.BI " void " old_address [ old_size "], size_t " old_size ,
.BI " size_t " new_size ", int " flags ", ... /* void *" new_address " */);"
.fi
.SH DESCRIPTION
.nf
.B #include <sys/msg.h>
.P
-.BI "int msgsnd(int " msqid ", const void " msgp [. msgsz "], size_t " msgsz ,
+.BI "ssize_t msgrcv(size_t " msgsz ;
+.BI " int " msqid ", void " msgp [ msgsz "], size_t " msgsz \
+", long " msgtyp ,
.BI " int " msgflg );
.P
-.BI "ssize_t msgrcv(int " msqid ", void " msgp [. msgsz "], size_t " msgsz \
-", long " msgtyp ,
+.BI "int msgsnd(size_t " msgsz ;
+.BI " int " msqid ", const void " msgp [ msgsz "], size_t " msgsz ,
.BI " int " msgflg );
.fi
.SH DESCRIPTION
.nf
.B #include <sys/mman.h>
.P
-.BI "int msync(void " addr [. length "], size_t " length ", int " flags );
+.BI "int msync(size_t " length ;
+.BI " void " addr [ length "], size_t " length ", int " flags );
.fi
.SH DESCRIPTION
.BR msync ()
.BI "void outl(unsigned int " value ", unsigned short " port );
.BI "void outl_p(unsigned int " value ", unsigned short " port );
.P
-.BI "void insb(unsigned short " port ", void " addr [. count ],
+.BI "void insb(unsigned long " count ;
+.BI " unsigned short " port ", void " addr [ count ],
.BI " unsigned long " count );
-.BI "void insw(unsigned short " port ", void " addr [. count ],
+.BI "void insw(unsigned long " count ;
+.BI " unsigned short " port ", void " addr [ count ],
.BI " unsigned long " count );
-.BI "void insl(unsigned short " port ", void " addr [. count ],
+.BI "void insl(unsigned long " count ;
+.BI " unsigned short " port ", void " addr [ count ],
.BI " unsigned long " count );
-.BI "void outsb(unsigned short " port ", const void " addr [. count ],
+.BI "void outsb(unsigned long " count ;
+.BI " unsigned short " port ", const void " addr [ count ],
.BI " unsigned long " count );
-.BI "void outsw(unsigned short " port ", const void " addr [. count ],
+.BI "void outsw(unsigned long " count ;
+.BI " unsigned short " port ", const void " addr [ count ],
.BI " unsigned long " count );
-.BI "void outsl(unsigned short " port ", const void " addr [. count ],
+.BI "void outsl(unsigned long " count ;
+.BI " unsigned short " port ", const void " addr [ count ],
.BI " unsigned long " count );
.fi
.SH DESCRIPTION
.B #include <syscall.h>
.B #include <perfmon.h>
.P
-.BI "long perfmonctl(int " fd ", int " cmd ", void " arg [. narg "], int " narg ");"
+.BI "long perfmonctl(int " narg ;
+.BI " int " fd ", int " cmd ", void " arg [ narg "], int " narg );
.fi
.P
.IR Note :
.nf
.B #include <unistd.h>
.P
-.BI "ssize_t pread(int " fd ", void " buf [. count "], size_t " count ,
+.BI "ssize_t pread(size_t " count ;
+.BI " int " fd ", void " buf [ count "], size_t " count ,
.BI " off_t " offset );
-.BI "ssize_t pwrite(int " fd ", const void " buf [. count "], size_t " count ,
+.BI "ssize_t pwrite(size_t " count ;
+.BI " int " fd ", const void " buf [ count "], size_t " count ,
.BI " off_t " offset );
.fi
.P
.nf
.B #include <sys/mman.h>
.P
-.BI "ssize_t process_madvise(int " pidfd ", const struct iovec " iovec [. n ],
+.BI "ssize_t process_madvise(size_t " n ;
+.BI " int " pidfd ", const struct iovec " iovec [ n ],
.BI " size_t " n ", int " advice \
", unsigned int " flags );
.fi
.nf
.B #include <linux/module.h>
.P
-.BI "[[deprecated]] int query_module(const char *" name ", int " which ,
-.BI " void " buf [. bufsize "], \
+.BI "[[deprecated]] int query_module(size_t " bufsize ;
+.BI " const char *" name ", int " which ,
+.BI " void " buf [ bufsize "], \
size_t " bufsize ,
.BI " size_t *" ret );
.fi
.nf
.B #include <unistd.h>
.P
-.BI "ssize_t read(int " fd ", void " buf [. count "], size_t " count );
+.BI "ssize_t read(size_t " count ;
+.BI " int " fd ", void " buf [ count "], size_t " count );
.fi
.SH DESCRIPTION
.BR read ()
.nf
.B #include <unistd.h>
.P
-.BI "ssize_t readlink(const char *restrict " pathname ,
-.BI " char " buf "[restrict ." bufsiz "], size_t " bufsiz );
+.BI "ssize_t readlink(size_t " bufsiz ;
+.BI " const char *restrict " pathname ,
+.BI " char " buf "[restrict " bufsiz "], size_t " bufsiz );
.P
.BR "#include <fcntl.h> " "/* Definition of " AT_* " constants */"
.B #include <unistd.h>
.P
-.BI "ssize_t readlinkat(int " dirfd ", const char *restrict " pathname ,
-.BI " char " buf "[restrict ." bufsiz "], size_t " bufsiz );
+.BI "ssize_t readlinkat(size_t " bufsiz ;
+.BI " int " dirfd ", const char *restrict " pathname ,
+.BI " char " buf "[restrict " bufsiz "], size_t " bufsiz );
.P
.fi
.RS -4
.nf
.B #include <sys/socket.h>
.P
-.BI "ssize_t recv(int " sockfd ", void " buf [. size "], size_t " size ,
+.BI "ssize_t recv(size_t " size ;
+.BI " int " sockfd ", void " buf [ size "], size_t " size ,
.BI " int " flags );
-.BI "ssize_t recvfrom(int " sockfd ", void " buf "[restrict ." size "], size_t " size ,
+.BI "ssize_t recvfrom(size_t " size ;
+.BI " int " sockfd ", void " buf "[restrict " size "], size_t " size ,
.BI " int " flags ,
.BI " struct sockaddr *_Nullable restrict " src_addr ,
.BI " socklen_t *_Nullable restrict " addrlen );
.BR "#define _GNU_SOURCE" " /* See feature_test_macros(7) */"
.B #include <sys/mman.h>
.P
-.BI "[[deprecated]] int remap_file_pages(void " addr [. size "], size_t " size ,
+.BI "[[deprecated]] int remap_file_pages(size_t " size ;
+.BI " void " addr [ size "], size_t " size ,
.BI " int " prot ", size_t " pgoff ", \
int " flags );
.fi
.BR "#include <sys/syscall.h>" " /* Definition of " SYS_* " constants */"
.B #include <unistd.h>
.P
-.BI "int syscall(SYS_s390_pci_mmio_write, unsigned long " mmio_addr ,
-.BI " const void " user_buffer [. length "], \
-size_t " length );
-.BI "int syscall(SYS_s390_pci_mmio_read, unsigned long " mmio_addr ,
-.BI " void " user_buffer [. length "], size_t " length );
+.BI "int syscall(size_t " length ;
+.BI " SYS_s390_pci_mmio_write, unsigned long " mmio_addr ,
+.BI " const void " user_buffer [ length "], size_t " length );
+.BI "int syscall(size_t " length ;
+.BI " SYS_s390_pci_mmio_read, unsigned long " mmio_addr ,
+.BI " void " user_buffer [ length "], size_t " length );
.fi
.P
.IR Note :
.nf
.B #include <sys/socket.h>
.P
-.BI "ssize_t send(int " sockfd ", const void " buf [. size "], size_t " size \
+.BI "ssize_t send(size_t " size ;
+.BI " int " sockfd ", const void " buf [ size "], size_t " size \
", int " flags );
-.BI "ssize_t sendto(int " sockfd ", const void " buf [. size "], size_t " size \
+.BI "ssize_t sendto(size_t " size ;
+.BI " int " sockfd ", const void " buf [ size "], size_t " size \
", int " flags ,
.BI " const struct sockaddr *" dest_addr ", socklen_t " addrlen );
.BI "ssize_t sendmsg(int " sockfd ", const struct msghdr *" msg \
.nf
.B #include <sys/xattr.h>
.P
-.BI "int setxattr(const char *" path ", const char *" name ,
-.BI " const void " value [. size "], size_t " size ", int " flags );
-.BI "int lsetxattr(const char *" path ", const char *" name ,
-.BI " const void " value [. size "], size_t " size ", int " flags );
-.BI "int fsetxattr(int " fd ", const char *" name ,
-.BI " const void " value [. size "], size_t " size ", int " flags );
+.BI "int setxattr(size_t " size ;
+.BI " const char *" path ", const char *" name ,
+.BI " const void " value [ size "], size_t " size ", int " flags );
+.BI "int lsetxattr(size_t " size ;
+.BI " const char *" path ", const char *" name ,
+.BI " const void " value [ size "], size_t " size ", int " flags );
+.BI "int fsetxattr(size_t " size ;
+.BI " int " fd ", const char *" name ,
+.BI " const void " value [ size "], size_t " size ", int " flags );
.fi
.SH DESCRIPTION
Extended attributes are
.nf
.B #include <unistd.h>
.P
-.BI "ssize_t write(int " fd ", const void " buf [. count "], size_t " count );
+.BI "ssize_t write(size_t " count ;
+.BI " int " fd ", const void " buf [ count "], size_t " count );
.fi
.SH DESCRIPTION
.BR write ()
.BR "#include <sys/syscall.h>" " /* Definition of " SYS_* " constants */"
.B #include <unistd.h>
.P
-.BI "long syscall(SYS_keyctl, KEYCTL_DESCRIBE, key_serial_t " key ,
-.BI " char " desc "[_Nullable ." size "], size_t " size );
+.BI "long syscall(size_t " size ;
+.BI " SYS_keyctl, KEYCTL_DESCRIBE, key_serial_t " key ,
+.BI " char " desc "[_Nullable " size "], size_t " size );
.fi
.SH DESCRIPTION
Obtain a string describing the attributes of a specified key.
.BR "#include <sys/syscall.h>" " /* Definition of " SYS_* " constants */"
.B #include <unistd.h>
.P
-.B long syscall(SYS_keyctl, KEYCTL_DH_COMPUTE,
+.BI "long syscall(size_t " n ;
+.B " SYS_keyctl, KEYCTL_DH_COMPUTE,"
.BI " struct keyctl_dh_params *" dh_params ,
-.BI " char " buf [. n "], size_t " n ,
+.BI " char " buf [ n "], size_t " n ,
.BI " struct keyctl_kdf_params *_Nullable " kdf_params );
.fi
.SH DESCRIPTION
.BR "#include <sys/syscall.h>" " /* Definition of " SYS_* " constants */"
.B #include <unistd.h>
.P
-.BI "long syscall(SYS_keyctl, KEYCTL_GET_SECURITY, key_serial_t " key ,
-.BI " char " buf "[_Nullable ." n "], size_t " n );
+.BI "long syscall(size_t " n ;
+.BI " SYS_keyctl, KEYCTL_GET_SECURITY, key_serial_t " key ,
+.BI " char " buf "[_Nullable " n "], size_t " n );
.fi
.SH DESCRIPTION
.TP
.BR "#include <sys/syscall.h>" " /* Definition of " SYS_* " constants */"
.B #include <unistd.h>
.P
-.BI "long syscall(SYS_keyctl, KEYCTL_INSTANTIATE, key_serial_t " key ,
-.BI " const void " payload [. n "], size_t " n ,
+.BI "long syscall(size_t " n ;
+.BI " SYS_keyctl, KEYCTL_INSTANTIATE, key_serial_t " key ,
+.BI " const void " payload [ n "], size_t " n ,
.BI " key_serial_t " keyring );
-.BI "long syscall(SYS_keyctl, KEYCTL_INSTANTIATE_IOV, key_serial_t " key ,
-.BI " const struct iovec " payload [. n "], unsigned int " n ,
+.BI "long syscall(size_t " n ;
+.BI " SYS_keyctl, KEYCTL_INSTANTIATE_IOV, key_serial_t " key ,
+.BI " const struct iovec " payload [ n "], unsigned int " n ,
.BI " key_serial_t " keyring );
.BI "long syscall(SYS_keyctl, KEYCTL_NEGATE, key_serial_t " key ,
.BI " unsigned int " timeout ", key_serial_t " keyring );
.BR "#include <sys/syscall.h>" " /* Definition of " SYS_* " constants */"
.B #include <unistd.h>
.P
-.BI "long syscall(SYS_keyctl, KEYCTL_READ, key_serial_t " key ,
-.BI " char " buf "[_Nullable ." size "], size_t " size );
+.BI "long syscall(size_t " size ;
+.BI " SYS_keyctl, KEYCTL_READ, key_serial_t " key ,
+.BI " char " buf "[_Nullable " size "], size_t " size );
.fi
.SH DESCRIPTION
Read the payload data of a key.
.BR "#include <sys/syscall.h>" " /* Definition of " SYS_* " constants */"
.B #include <unistd.h>
.P
-.BI "long syscall(SYS_keyctl, KEYCTL_UPDATE, key_serial_t " key ,
-.BI " void " payload [. size "], size_t " size );
+.BI "long syscall(size_t " size ;
+.BI " SYS_keyctl, KEYCTL_UPDATE, key_serial_t " key ,
+.BI " void " payload [ size "], size_t " size );
.fi
.SH DESCRIPTION
Update a key's data payload.
.BR "#include <linux/prctl.h>" " /* Definition of " PR_* " constants */"
.B #include <sys/prctl.h>
.P
-.BI "int prctl(PR_GET_AUXV, void " auxv [. size "], unsigned long " size ", 0L, 0L);"
+.BI "int prctl(size_t " size ;
+.BI " PR_GET_AUXV, void " auxv [ size "], unsigned long " size ", 0L, 0L);"
.fi
.SH DESCRIPTION
Get the auxiliary vector (auxv) into the buffer pointed to by
.P
.B uint32_t arc4random(void);
.BI "uint32_t arc4random_uniform(uint32_t " upper_bound );
-.BI "void arc4random_buf(void " buf [. n "], size_t " n );
+.BI "void arc4random_buf(size_t " n ;
+.BI " void " buf [ n "], size_t " n );
.fi
.SH DESCRIPTION
These functions give cryptographically-secure pseudorandom numbers.
.nf
.B #include <execinfo.h>
.P
-.BI "int backtrace(void *" buffer [. size "], int " size );
+.BI "int backtrace(int " size ;
+.BI " void *" buffer [ size "], int " size );
.P
-.BI "char **backtrace_symbols(void *const " buffer [. size "], int " size );
-.BI "void backtrace_symbols_fd(void *const " buffer [. size "], int " size ", \
-int " fd );
+.BI "char **backtrace_symbols(int " size ;
+.BI " void *const " buffer [ size "], int " size );
+.BI "void backtrace_symbols_fd(int " size ;
+.BI " void *const " buffer [ size "], int " size ", int " fd );
.fi
.SH DESCRIPTION
.BR backtrace ()
.nf
.B #include <strings.h>
.P
-.BI "[[deprecated]] int bcmp(const void " s1 [. n "], const void " s2 [. n "], \
+.BI "[[deprecated]] int bcmp(size_t " n ;
+.BI " const void " s1 [ n "], const void " s2 [ n "], \
size_t " n );
.fi
.SH DESCRIPTION
.nf
.B #include <strings.h>
.P
-.BI "[[deprecated]] void bcopy(const void " src [. n "], void " dest [. n "], \
+.BI "[[deprecated]] void bcopy(size_t " n ;
+.BI " const void " src [ n "], void " dest [ n "], \
size_t " n );
.fi
.SH DESCRIPTION
.nf
.B #include <stdlib.h>
.P
-.BI "void *bsearch(const void " key [. size "], \
-const void " base [. size " * ." n ],
+.BI "void *bsearch(size_t " n ", size_t " size ;
+.BI " const void " key [ size "], const void " base [ size " * " n ],
.BI " size_t " n ", size_t " size ,
-.BI " typeof(int (const void [." size "], const void [." size ]))
+.BI " typeof(int (const void [" size "], const void [" size ]))
.BI " *" compar );
.fi
.SH DESCRIPTION
.nf
.B #include <string.h>
.P
-.BI "int bcmp(const void " s1 [. n "], const void " s2 [. n "], size_t " n );
+.BI "int bcmp(size_t " n ;
+.BI " const void " s1 [ n "], const void " s2 [ n "], size_t " n );
.P
-.BI "void bcopy(const void " src [. n "], void " dest [. n "], size_t " n );
+.BI "void bcopy(size_t " n ;
+.BI " const void " src [ n "], void " dest [ n "], size_t " n );
.P
-.BI "void bzero(void " s [. n "], size_t " n );
+.BI "void bzero(size_t " n ;
+.BI " void " s [ n "], size_t " n );
.P
-.BI "void *memccpy(void " dest [. n "], const void " src [. n "], int " c ", \
-size_t " n );
+.BI "void *memccpy(size_t " n ;
+.BI " void " dest [ n "], const void " src [ n "], int " c ", size_t " n );
.P
-.BI "void *memchr(const void " s [. n "], int " c ", size_t " n );
+.BI "void *memchr(size_t " n ;
+.BI " const void " s [ n "], int " c ", size_t " n );
.P
-.BI "int memcmp(const void " s1 [. n "], const void " s2 [. n "], size_t " n );
+.BI "int memcmp(size_t " n ;
+.BI " const void " s1 [ n "], const void " s2 [ n "], size_t " n );
.P
-.BI "void *memcpy(void " dest [. n "], const void " src [. n "], size_t " n );
+.BI "void *memcpy(size_t " n ;
+.BI " void " dest [ n "], const void " src [ n "], size_t " n );
.P
-.BI "void *memfrob(void " s [. n "], size_t " n );
+.BI "void *memfrob(size_t " n ;
+.BI " void " s [ n "], size_t " n );
.P
-.BI "void *memmem(const void " haystack [. haystacklen "], size_t " haystacklen ,
-.BI " const void " needle [. needlelen "], size_t " needlelen );
+.BI "void *memmem(size_t " hsize ", size_t " nsize ;
+.BI " const void " haystack [ hsize "], size_t " hsize ,
+.BI " const void " needle [ nsize "], size_t " nsize );
.P
-.BI "void *memmove(void " dest [. n "], const void " src [. n "], size_t " n );
+.BI "void *memmove(size_t " n ;
+.BI " void " dest [ n "], const void " src [ n "], size_t " n );
.P
-.BI "void *memset(void " s [. n "], int " c ", size_t " n );
+.BI "void *memset(size_t " n ;
+.BI " void " s [ n "], int " c ", size_t " n );
.fi
.SH DESCRIPTION
The byte string functions perform operations on strings (byte arrays)
.nf
.B #include <strings.h>
.P
-.BI "void bzero(void " s [. n "], size_t " n );
+.BI "void bzero(size_t " n ;
+.BI " void " s [ n "], size_t " n );
.P
.B #include <string.h>
.P
-.BI "void explicit_bzero(void " s [. n "], size_t " n );
+.BI "void explicit_bzero(size_t " n ;
+.BI " void " s [ n "], size_t " n );
.fi
.SH DESCRIPTION
The
.BI "void cfree(void *" ptr );
.P
/* In SCO OpenServer */
-.BI "void cfree(char " ptr [. size " * ." n "], unsigned int " n ", \
+.BI "void cfree(unsigned int " n ", unsigned int " size ;
+.BI " char " ptr [ size " * " n "], unsigned int " n ", \
unsigned int " size );
.P
/* In Solaris watchmalloc.so.1 */
-.BI "void cfree(void " ptr [. size " * ." n "], size_t " n ", size_t " size );
+.BI "void cfree(size_t " n ", size_t " size ;
+.BI " void " ptr [ size " * " n "], size_t " n ", size_t " size );
.fi
.P
.RS -4
.nf
.B #include <unistd.h>
.P
-.BI "size_t confstr(int " "name" ", char " buf [. size "], size_t " size );
+.BI "size_t confstr(size_t " size ;
+.BI " int " "name" ", char " buf [ size "], size_t " size );
.fi
.P
.RS -4
.\" .B #include <des_crypt.h>
.B #include <rpc/des_crypt.h>
.P
-.BI "[[deprecated]] int ecb_crypt(char *" key ", char " data [. datalen ],
-.BI " unsigned int " datalen ", \
-unsigned int " mode );
-.BI "[[deprecated]] int cbc_crypt(char *" key ", char " data [. datalen ],
-.BI " unsigned int " datalen ", \
-unsigned int " mode ,
+.BI "[[deprecated]] int ecb_crypt(unsigned int " datalen ;
+.BI " char *" key ", char " data [ datalen ],
+.BI " unsigned int " datalen ", unsigned int " mode );
+.BI "[[deprecated]] int cbc_crypt(unsigned int " datalen ;
+.BI " char *" key ", char " data [ datalen ],
+.BI " unsigned int " datalen ", unsigned int " mode ,
.BI " char *" ivec );
.P
.BI "[[deprecated]] void des_setparity(char *" key );
.BI "int getc(FILE *" stream );
.B "int getchar(void);"
.P
-.BI "char *fgets(char " s "[restrict ." size "], int " size ", \
+.BI "char *fgets(int " size ;
+.BI " char " s "[restrict " size "], int " size ", \
FILE *restrict " stream );
.P
.BI "int ungetc(int " c ", FILE *" stream );
.nf
.B #include <wchar.h>
.P
-.BI "wchar_t *fgetws(wchar_t " ws "[restrict ." n "], int " n \
+.BI "wchar_t *fgetws(int " n ;
+.BI " wchar_t " ws "[restrict " n "], int " n \
", FILE *restrict " stream );
.fi
.SH DESCRIPTION
.nf
.B #include <stdio.h>
.P
-.BI "FILE *fmemopen(void " buf [. size "], size_t " size ", \
-const char *" mode );
+.BI "FILE *fmemopen(size_t " size ;
+.BI " void " buf [ size "], size_t " size ", const char *" mode );
.fi
.P
.RS -4
.nf
.B #include <stdio.h>
.P
-.BI "size_t fread(void " ptr "[restrict ." size " * ." n ],
+.BI "size_t fread(size_t " size ", size_t " n ;
+.BI " void " ptr "[restrict " size " * " n ],
.BI " size_t " size ", size_t " n ,
.BI " FILE *restrict " stream );
-.BI "size_t fwrite(const void " ptr "[restrict ." size " * ." n ],
+.BI "size_t fwrite(size_t " size ", size_t " n ;
+.BI " const void " ptr "[restrict " size " * " n ],
.BI " size_t " size ", size_t " n ,
.BI " FILE *restrict " stream );
.fi
.nf
.B #include <unistd.h>
.P
-.BI "char *getcwd(char " buf [. size "], size_t " size );
+.BI "char *getcwd(size_t " size ;
+.BI " char " buf [ size "], size_t " size );
.B "char *get_current_dir_name(void);"
.P
.BI "[[deprecated]] char *getwd(char " buf [PATH_MAX]);
.nf
.B #include <dirent.h>
.P
-.BI "ssize_t getdirentries(int " fd ", char " buf "[restrict ." nbytes "], \
+.BI "ssize_t getdirentries(size_t " nbytes ;
+.BI " int " fd ", char " buf "[restrict " nbytes "], \
size_t " nbytes ,
.BI " off_t *restrict " basep );
.fi
.nf
.B #include <unistd.h>
.P
-.BI "int getentropy(void " buffer [. length "], size_t " length );
+.BI "int getentropy(size_t " length ;
+.BI " void " buffer [ length "], size_t " length );
.fi
.P
.RS -4
.nf
.B #include <grp.h>
.P
-.BI "int getgrent_r(struct group *restrict " gbuf ,
-.BI " char " buf "[restrict ." size "], size_t " size ,
+.BI "int getgrent_r(size_t " size ;
+.BI " struct group *restrict " gbuf ,
+.BI " char " buf "[restrict " size "], size_t " size ,
.BI " struct group **restrict " gbufp );
-.BI "int fgetgrent_r(FILE *restrict " stream ", struct group *restrict " gbuf ,
-.BI " char " buf "[restrict ." size "], size_t " size ,
+.BI "int fgetgrent_r(size_t " size ;
+.BI " FILE *restrict " stream ", struct group *restrict " gbuf ,
+.BI " char " buf "[restrict " size "], size_t " size ,
.BI " struct group **restrict " gbufp );
.fi
.P
.BI "struct group *getgrnam(const char *" name );
.BI "struct group *getgrgid(gid_t " gid );
.P
-.BI "int getgrnam_r(const char *restrict " name \
+.BI "int getgrnam_r(size_t " size ;
+.BI " const char *restrict " name \
", struct group *restrict " grp ,
-.BI " char " buf "[restrict ." size "], size_t " size ,
+.BI " char " buf "[restrict " size "], size_t " size ,
.BI " struct group **restrict " result );
-.BI "int getgrgid_r(gid_t " gid ", struct group *restrict " grp ,
-.BI " char " buf "[restrict ." size "], size_t " size ,
+.BI "int getgrgid_r(size_t " size ;
+.BI " gid_t " gid ", struct group *restrict " grp ,
+.BI " char " buf "[restrict " size "], size_t " size ,
.BI " struct group **restrict " result );
.fi
.P
.B [[deprecated]] extern int h_errno;
.P
.BI "[[deprecated]] struct hostent *gethostbyname(const char *" name );
-.BI "[[deprecated]] struct hostent *gethostbyaddr(const void " addr [. size ],
+.BI "[[deprecated]] struct hostent *gethostbyaddr(socklen_t " size ;
+.BI " const void " addr [ size ],
.BI " socklen_t " size ", int " type );
.P
.BI "[[deprecated]] void herror(const char *" s );
.B [[deprecated]]
.BI "struct hostent *gethostbyname2(const char *" name ", int " af );
.P
-.BI "int gethostent_r(struct hostent *restrict " ret ,
-.BI " char " buf "[restrict ." bufsize "], size_t " bufsize ,
+.BI "int gethostent_r(size_t " bufsize ;
+.BI " struct hostent *restrict " ret ,
+.BI " char " buf "[restrict " bufsize "], size_t " bufsize ,
.BI " struct hostent **restrict " result ,
.BI " int *restrict " h_errnop );
.P
.B [[deprecated]]
-.BI "int gethostbyaddr_r(const void " addr "[restrict ." size "], socklen_t " size ,
+.BI "int gethostbyaddr_r(socklen_t " size ", size_t " bufsize ;
+.BI " const void " addr "[restrict " size "], socklen_t " size ,
.BI " int " type ,
.BI " struct hostent *restrict " ret ,
-.BI " char " buf "[restrict ." bufsize "], size_t " bufsize ,
+.BI " char " buf "[restrict " bufsize "], size_t " bufsize ,
.BI " struct hostent **restrict " result ,
.BI " int *restrict " h_errnop );
.B [[deprecated]]
-.BI "int gethostbyname_r(const char *restrict " name ,
+.BI "int gethostbyname_r(size_t " bufsize ;
+.BI " const char *restrict " name ,
.BI " struct hostent *restrict " ret ,
-.BI " char " buf "[restrict ." bufsize "], size_t " bufsize ,
+.BI " char " buf "[restrict " bufsize "], size_t " bufsize ,
.BI " struct hostent **restrict " result ,
.BI " int *restrict " h_errnop );
.B [[deprecated]]
-.BI "int gethostbyname2_r(const char *restrict " name ", int " af,
+.BI "int gethostbyname2_r(size_t " bufsize ;
+.BI " const char *restrict " name ", int " af,
.BI " struct hostent *restrict " ret ,
-.BI " char " buf "[restrict ." bufsize "], size_t " bufsize ,
+.BI " char " buf "[restrict " bufsize "], size_t " bufsize ,
.BI " struct hostent **restrict " result ,
.BI " int *restrict " h_errnop );
.fi
.P
.BI "[[deprecated]] struct hostent *getipnodebyname(const char *" name ", int " af ,
.BI " int " flags ", int *" error_num );
-.BI "[[deprecated]] struct hostent *getipnodebyaddr(const void " addr [. size ],
+.BI "[[deprecated]] struct hostent *getipnodebyaddr(size_t " size ;
+.BI " const void " addr [ size ],
.BI " size_t " size ", int " af ,
.BI " int *" "error_num" );
.BI "[[deprecated]] void freehostent(struct hostent *" "ip" );
.B #include <unistd.h>
.P
.B "char *getlogin(void);"
-.BI "int getlogin_r(char " buf [. bufsize "], size_t " bufsize );
+.BI "int getlogin_r(size_t " bufsize ;
+.BI " char " buf [ bufsize "], size_t " bufsize );
.P
.B #include <stdio.h>
.P
/* GNU extension */
.B #include <mntent.h>
.P
-.BI "struct mntent *getmntent_r(FILE *restrict " streamp ,
+.BI "struct mntent *getmntent_r(int " size ;
+.BI " FILE *restrict " streamp ,
.BI " struct mntent *restrict " mntbuf ,
-.BI " char " buf "[restrict ." size "], int " size );
+.BI " char " buf "[restrict " size "], int " size );
.fi
.P
.RS -4
.B #include <sys/socket.h>
.B #include <netdb.h>
.P
-.BI "int getnameinfo(const struct sockaddr *restrict " addr \
+.BI "int getnameinfo(socklen_t " hostlen ", socklen_t " servlen ;
+.BI " const struct sockaddr *restrict " addr \
", socklen_t " addrlen ,
-.BI " char " host "[_Nullable restrict ." hostlen ],
+.BI " char " host "[_Nullable restrict " hostlen ],
.BI " socklen_t " hostlen ,
-.BI " char " serv "[_Nullable restrict ." servlen ],
+.BI " char " serv "[_Nullable restrict " servlen ],
.BI " socklen_t " servlen ,
.BI " int " flags );
.fi
.nf
.B #include <netdb.h>
.P
-.BI "int getnetent_r(struct netent *restrict " result_buf ,
-.BI " char " buf "[restrict ." size "], size_t " size ,
+.BI "int getnetent_r(size_t " size ;
+.BI " struct netent *restrict " result_buf ,
+.BI " char " buf "[restrict " size "], size_t " size ,
.BI " struct netent **restrict " result ,
.BI " int *restrict " h_errnop );
-.BI "int getnetbyname_r(const char *restrict " name ,
+.BI "int getnetbyname_r(size_t " size ;
+.BI " const char *restrict " name ,
.BI " struct netent *restrict " result_buf ,
-.BI " char " buf "[restrict ." size "], size_t " size ,
+.BI " char " buf "[restrict " size "], size_t " size ,
.BI " struct netent **restrict " result ,
.BI " int *restrict " h_errnop );
-.BI "int getnetbyaddr_r(uint32_t " net ", int " type ,
+.BI "int getnetbyaddr_r(size_t " size ;
+.BI " uint32_t " net ", int " type ,
.BI " struct netent *restrict " result_buf ,
-.BI " char " buf "[restrict ." size "], size_t " size ,
+.BI " char " buf "[restrict " size "], size_t " size ,
.BI " struct netent **restrict " result ,
.BI " int *restrict " h_errnop );
.P
.nf
.B #include <netdb.h>
.P
-.BI "int getprotoent_r(struct protoent *restrict " result_buf ,
-.BI " char " buf "[restrict ." size "], size_t " size ,
+.BI "int getprotoent_r(size_t " size ;
+.BI " struct protoent *restrict " result_buf ,
+.BI " char " buf "[restrict " size "], size_t " size ,
.BI " struct protoent **restrict " result );
-.BI "int getprotobyname_r(const char *restrict " name ,
+.BI "int getprotobyname_r(size_t " size ;
+.BI " const char *restrict " name ,
.BI " struct protoent *restrict " result_buf ,
-.BI " char " buf "[restrict ." size "], size_t " size ,
+.BI " char " buf "[restrict " size "], size_t " size ,
.BI " struct protoent **restrict " result );
-.BI "int getprotobynumber_r(int " proto ,
+.BI "int getprotobynumber_r(size_t " size ;
+.BI " int " proto ,
.BI " struct protoent *restrict " result_buf ,
-.BI " char " buf "[restrict ." size "], size_t " size ,
+.BI " char " buf "[restrict " size "], size_t " size ,
.BI " struct protoent **restrict " result );
.P
.fi
.nf
.B #include <pwd.h>
.P
-.BI "int getpwent_r(struct passwd *restrict " pwbuf ,
-.BI " char " buf "[restrict ." size "], size_t " size ,
+.BI "int getpwent_r(size_t " size ;
+.BI " struct passwd *restrict " pwbuf ,
+.BI " char " buf "[restrict " size "], size_t " size ,
.BI " struct passwd **restrict " pwbufp );
-.BI "int fgetpwent_r(FILE *restrict " stream \
-", struct passwd *restrict " pwbuf ,
-.BI " char " buf "[restrict ." size "], size_t " size ,
+.BI "int fgetpwent_r(size_t " size ;
+.BI " FILE *restrict " stream ", struct passwd *restrict " pwbuf ,
+.BI " char " buf "[restrict " size "], size_t " size ,
.BI " struct passwd **restrict " pwbufp );
.fi
.P
.BI "struct passwd *getpwnam(const char *" name );
.BI "struct passwd *getpwuid(uid_t " uid );
.P
-.BI "int getpwnam_r(const char *restrict " name ", \
+.BI "int getpwnam_r(size_t " size ;
+.BI " const char *restrict " name ", \
struct passwd *restrict " pwd ,
-.BI " char " buf "[restrict ." size "], size_t " size ,
+.BI " char " buf "[restrict " size "], size_t " size ,
.BI " struct passwd **restrict " result );
-.BI "int getpwuid_r(uid_t " uid ", struct passwd *restrict " pwd ,
-.BI " char " buf "[restrict ." size "], size_t " size ,
+.BI "int getpwuid_r(size_t " size ;
+.BI " uid_t " uid ", struct passwd *restrict " pwd ,
+.BI " char " buf "[restrict " size "], size_t " size ,
.BI " struct passwd **restrict " result );
.fi
.P
.nf
.B #include <netdb.h>
.P
-.BI "int getrpcent_r(struct rpcent *" result_buf ", char " buf [. size ],
+.BI "int getrpcent_r(size_t " size ;
+.BI " struct rpcent *" result_buf ", char " buf [ size ],
.BI " size_t " size ", struct rpcent **" result );
-.BI "int getrpcbyname_r(const char *" name ,
-.BI " struct rpcent *" result_buf ", char " buf [. size ],
+.BI "int getrpcbyname_r(size_t " size ;
+.BI " const char *" name ,
+.BI " struct rpcent *" result_buf ", char " buf [ size ],
.BI " size_t " size ", struct rpcent **" result );
-.BI "int getrpcbynumber_r(int " number ,
-.BI " struct rpcent *" result_buf ", char " buf [. size ],
+.BI "int getrpcbynumber_r(size_t " size ;
+.BI " int " number ,
+.BI " struct rpcent *" result_buf ", char " buf [ size ],
.BI " size_t " size ", struct rpcent **" result );
.P
.fi
.nf
.B #include <netdb.h>
.P
-.BI "int getservent_r(struct servent *restrict " result_buf ,
-.BI " char " buf "[restrict ." size "], size_t " size ,
+.BI "int getservent_r(size_t " size ;
+.BI " struct servent *restrict " result_buf ,
+.BI " char " buf "[restrict " size "], size_t " size ,
.BI " struct servent **restrict " result );
-.BI "int getservbyname_r(const char *restrict " name ,
+.BI "int getservbyname_r(size_t " size ;
+.BI " const char *restrict " name ,
.BI " const char *restrict " proto ,
.BI " struct servent *restrict " result_buf ,
-.BI " char " buf "[restrict ." size "], size_t " size ,
+.BI " char " buf "[restrict " size "], size_t " size ,
.BI " struct servent **restrict " result );
-.BI "int getservbyport_r(int " port ,
+.BI "int getservbyport_r(size_t " size ;
+.BI " int " port ,
.BI " const char *restrict " proto ,
.BI " struct servent *restrict " result_buf ,
-.BI " char " buf "[restrict ." size "], size_t " size ,
+.BI " char " buf "[restrict " size "], size_t " size ,
.BI " struct servent **restrict " result );
.P
.fi
/* GNU extension */
.B #include <shadow.h>
.P
-.BI "int getspent_r(struct spwd *" spbuf ,
-.BI " char " buf [. size "], size_t " size ", \
+.BI "int getspent_r(size_t " size ;
+.BI " struct spwd *" spbuf ,
+.BI " char " buf [ size "], size_t " size ", \
struct spwd **" spbufp );
-.BI "int getspnam_r(const char *" name ", struct spwd *" spbuf ,
-.BI " char " buf [. size "], size_t " size ", \
+.BI "int getspnam_r(size_t " size ;
+.BI " const char *" name ", struct spwd *" spbuf ,
+.BI " char " buf [ size "], size_t " size ", \
struct spwd **" spbufp );
.P
-.BI "int fgetspent_r(FILE *" stream ", struct spwd *" spbuf ,
-.BI " char " buf [. size "], size_t " size ", \
+.BI "int fgetspent_r(size_t " size ;
+.BI " FILE *" stream ", struct spwd *" spbuf ,
+.BI " char " buf [ size "], size_t " size ", \
struct spwd **" spbufp );
-.BI "int sgetspent_r(const char *" s ", struct spwd *" spbuf ,
-.BI " char " buf [. size "], size_t " size ", \
+.BI "int sgetspent_r(size_t " size ;
+.BI " const char *" s ", struct spwd *" spbuf ,
+.BI " char " buf [ size "], size_t " size ", \
struct spwd **" spbufp );
.fi
.P
.nf
.B #include <arpa/inet.h>
.P
-.BI "int inet_net_pton(int " af ", const char *" pres ,
-.BI " void " netp [. nsize "], size_t " nsize );
-.BI "char *inet_net_ntop(int " af ,
-.BI " const void " netp [(. bits " - CHAR_BIT + 1) / CHAR_BIT],"
+.BI "int inet_net_pton(size_t " nsize ;
+.BI " int " af ", const char *" pres ,
+.BI " void " netp [ nsize "], size_t " nsize );
+.BI "char *inet_net_ntop(int " bits ", size_t " psize ;
+.BI " int " af ,
+.BI " const void " netp [( bits " - CHAR_BIT + 1) / CHAR_BIT],"
.BI " int " bits ,
-.BI " char " pres [. psize "], size_t " psize );
+.BI " char " pres [ psize "], size_t " psize );
.fi
.P
.RS -4
.nf
.B #include <arpa/inet.h>
.P
-.BI "const char *inet_ntop(int " af ", const void *restrict " src ,
-.BI " char " dst "[restrict ." size "], socklen_t " size );
+.BI "const char *inet_ntop(socklen_t " size ;
+.BI " int " af ", const void *restrict " src ,
+.BI " char " dst "[restrict " size "], socklen_t " size );
.fi
.SH DESCRIPTION
This function converts the network address structure
.nf
.B #include <search.h>
.P
-.BI "void *lfind(const void " key [. size "], \
-const void " base [*. n " * ." size ],
+.BI "void *lfind(size_t *" n ", size_t " size ;
+.BI " const void " key [ size "], \
+const void " base [* n " * " size ],
.BI " size_t *" n ", size_t " size ,
-.BI " typeof(int (const void [." size "], const void [." size ]))
+.BI " typeof(int (const void [" size "], const void [" size ]))
.BI " *" compar );
-.BI "void *lsearch(const void " key [. size "], \
-void " base [*. n " * ." size ],
+.BI "void *lsearch(size_t *" n ", size_t " size ;
+.BI " const void " key [ size "], \
+void " base [* n " * " size ],
.BI " size_t *" n ", size_t " size ,
-.BI " typeof(int (const void [." size "], const void [." size ]))
+.BI " typeof(int (const void [" size "], const void [" size ]))
.BI " *" compar );
.fi
.SH DESCRIPTION
.nf
.B #include <stdlib.h>
.P
-.BI "int mblen(const char " s [. n "], size_t " n );
+.BI "int mblen(size_t " n ;
+.BI " const char " s [ n "], size_t " n );
.fi
.SH DESCRIPTION
If
.nf
.B #include <wchar.h>
.P
-.BI "size_t mbrlen(const char " s "[restrict ." n "], size_t " n ,
+.BI "size_t mbrlen(size_t " n ;
+.BI " const char " s "[restrict " n "], size_t " n ,
.BI " mbstate_t *restrict " ps );
.fi
.SH DESCRIPTION
.nf
.B #include <wchar.h>
.P
-.BI "size_t mbrtowc(wchar_t *restrict " pwc ", const char " s "[restrict ." n ],
+.BI "size_t mbrtowc(size_t " n ;
+.BI " wchar_t *restrict " pwc ", const char " s "[restrict " n ],
.BI " size_t " n ", mbstate_t *restrict " ps );
.fi
.SH DESCRIPTION
.nf
.B #include <wchar.h>
.P
-.BI "size_t mbsnrtowcs(wchar_t " dest "[restrict ." size "], const char **restrict " src ,
+.BI "size_t mbsnrtowcs(size_t " size ;
+.BI " wchar_t " dest "[restrict " size "], const char **restrict " src ,
.BI " size_t " nms ", size_t " size \
", mbstate_t *restrict " ps );
.fi
.nf
.B #include <wchar.h>
.P
-.BI "size_t mbsrtowcs(wchar_t " dest "[restrict ." dsize ],
+.BI "size_t mbsrtowcs(size_t " dsize ;
+.BI " wchar_t " dest "[restrict " dsize ],
.BI " const char **restrict " src ,
.BI " size_t " dsize ", mbstate_t *restrict " ps );
.fi
.nf
.B #include <stdlib.h>
.P
-.BI "size_t mbstowcs(wchar_t " dest "[restrict ." dsize "], \
+.BI "size_t mbstowcs(size_t " dsize ;
+.BI " wchar_t " dest "[restrict " dsize "], \
const char *restrict " src ,
.BI " size_t " dsize );
.fi
.nf
.B #include <stdlib.h>
.P
-.BI "int mbtowc(wchar_t *restrict " pwc ", const char " s "[restrict ." n "], \
+.BI "int mbtowc(size_t " n ;
+.BI " wchar_t *restrict " pwc ", const char " s "[restrict " n "], \
size_t " n );
.fi
.SH DESCRIPTION
.nf
.B #include <string.h>
.P
-.BI "void *memccpy(void " dest "[restrict ." n "], const void " src "[restrict ." n ],
+.BI "void *memccpy(size_t " n ;
+.BI " void " dest "[restrict " n "], const void " src "[restrict " n ],
.BI " int " c ", size_t " n );
.fi
.SH DESCRIPTION
.nf
.B #include <string.h>
.P
-.BI "void *memchr(const void " s [. n "], int " c ", size_t " n );
-.BI "void *memrchr(const void " s [. n "], int " c ", size_t " n );
+.BI "void *memchr(size_t " n ;
+.BI " const void " s [ n "], int " c ", size_t " n );
+.BI "void *memrchr(size_t " n ;
+.BI " const void " s [ n "], int " c ", size_t " n );
.P
.BI "[[deprecated]] void *rawmemchr(const void *" s ", int " c );
.fi
.nf
.B #include <string.h>
.P
-.BI "int memcmp(const void " s1 [. n "], const void " s2 [. n "], size_t " n );
+.BI "int memcmp(size_t " n ;
+.BI " const void " s1 [ n "], const void " s2 [ n "], size_t " n );
.fi
.SH DESCRIPTION
The
.nf
.B #include <string.h>
.P
-.BI "void *memcpy(void " dest "[restrict ." n "], const void " src "[restrict ." n ],
+.BI "void *memcpy(size_t " n ;
+.BI " void " dest "[restrict " n "], const void " src "[restrict " n ],
.BI " size_t " n );
.fi
.SH DESCRIPTION
.BR "#define _GNU_SOURCE" " /* See feature_test_macros(7) */"
.B #include <string.h>
.P
-.BI "void *memfrob(void " s [. n "], size_t " n );
+.BI "void *memfrob(size_t " n ;
+.BI " void " s [ n "], size_t " n );
.fi
.SH DESCRIPTION
The
.BR "#define _GNU_SOURCE" " /* See feature_test_macros(7) */"
.B #include <string.h>
.P
-.BI "void *memmem(const void " haystack [. haystacklen "], size_t " haystacklen ,
-.BI " const void " needle [. needlelen "], size_t " needlelen );
+.BI "void *memmem(size_t " hsize ", size_t " nsize ;
+.BI " const void " haystack [ hsize "], size_t " hsize ,
+.BI " const void " needle [ nsize "], size_t " nsize );
.fi
.SH DESCRIPTION
The
function finds the start of the first occurrence
of the substring
.I needle
-of length
-.I needlelen
+of size
+.I nsize
in the memory
area
.I haystack
-of length
-.IR haystacklen .
+of size
+.IR hsize .
.SH RETURN VALUE
The
.BR memmem ()
.nf
.B #include <string.h>
.P
-.BI "void *memmove(void " dest [. n "], const void " src [. n "], size_t " n );
+.BI "void *memmove(size_t " n ;
+.BI " void " dest [ n "], const void " src [ n "], size_t " n );
.fi
.SH DESCRIPTION
The
.BR "#define _GNU_SOURCE" " /* See feature_test_macros(7) */"
.B #include <string.h>
.P
-.BI "void *mempcpy(void " dest "[restrict ." n "], const void " src "[restrict ." n ],
+.BI "void *mempcpy(size_t " n ;
+.BI " void " dest "[restrict " n "], const void " src "[restrict " n ],
.BI " size_t " n );
.P
.BR "#define _GNU_SOURCE" " /* See feature_test_macros(7) */"
.B #include <wchar.h>
.P
-.BI "wchar_t *wmempcpy(wchar_t " dest "[restrict ." n ],
-.BI " const wchar_t " src "[restrict ." n ],
+.BI "wchar_t *wmempcpy(size_t " n ;
+.BI " wchar_t " dest "[restrict " n "], const wchar_t " src "[restrict " n ],
.BI " size_t " n );
.fi
.SH DESCRIPTION
.nf
.B #include <string.h>
.P
-.BI "void *memset(void " s [. n "], int " c ", size_t " n );
+.BI "void *memset(size_t " n ;
+.BI " void " s [ n "], int " c ", size_t " n );
.fi
.SH DESCRIPTION
The
.nf
.B #include <mqueue.h>
.P
-.BI "ssize_t mq_receive(mqd_t " mqdes ", char " msg_ptr [. msg_len ],
+.BI "ssize_t mq_receive(size_t " msg_len ;
+.BI " mqd_t " mqdes ", char " msg_ptr [ msg_len ],
.BI " size_t " msg_len ", unsigned int *" msg_prio );
.P
.B #include <time.h>
.B #include <mqueue.h>
.P
-.BI "ssize_t mq_timedreceive(mqd_t " mqdes ", \
-char *restrict " msg_ptr [. msg_len ],
+.BI "ssize_t mq_timedreceive(size_t " msg_len ;
+.BI " 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>
.P
-.BI "int mq_send(mqd_t " mqdes ", const char " msg_ptr [. msg_len ],
+.BI "int mq_send(size_t " msg_len ;
+.BI " mqd_t " mqdes ", const char " msg_ptr [ msg_len ],
.BI " size_t " msg_len ", unsigned int " msg_prio );
.P
.B #include <time.h>
.B #include <mqueue.h>
.P
-.BI "int mq_timedsend(mqd_t " mqdes ", const char " msg_ptr [. msg_len ],
+.BI "int mq_timedsend(size_t " msg_len ;
+.BI " 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
.nf
.B #include <sys/mman.h>
.P
-.BI "int posix_madvise(void " addr [. size "], size_t " size ", int " advice );
+.BI "int posix_madvise(size_t " size ;
+.BI " void " addr [ size "], size_t " size ", int " advice );
.fi
.P
.RS -4
.BI " const char *restrict " format ", ...);"
.BI "int sprintf(char *restrict " str ,
.BI " const char *restrict " format ", ...);"
-.BI "int snprintf(char " str "[restrict ." size "], size_t " size ,
+.BI "int snprintf(size_t " size ;
+.BI " char " str "[restrict " size "], size_t " size ,
.BI " const char *restrict " format ", ...);"
.P
.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 " str "[restrict ." size "], size_t " size ,
+.BI "int vsnprintf(size_t " size ;
+.BI " char " str "[restrict " size "], size_t " size ,
.BI " const char *restrict " format ", va_list " ap );
.fi
.P
.nf
.B #include <pthread.h>
.P
-.BI "int pthread_attr_setstack(pthread_attr_t *" attr ,
-.BI " void " stackaddr [. stacksize ],
+.BI "int pthread_attr_setstack(size_t " stacksize ;
+.BI " pthread_attr_t *" attr ,
+.BI " void " stackaddr [ stacksize ],
.BI " size_t " stacksize );
.BI "int pthread_attr_getstack(const pthread_attr_t *restrict " attr ,
.BI " void **restrict " stackaddr ,
.B #include <pthread.h>
.P
.BI "int pthread_setname_np(pthread_t " thread ", const char *" name );
-.BI "int pthread_getname_np(pthread_t " thread ", char " name [. size "], \
+.BI "int pthread_getname_np(size_t " size ;
+.BI " pthread_t " thread ", char " name [ size "], \
size_t " size );
.fi
.SH DESCRIPTION
.B #include <stdlib.h>
.P
.BI "char *ptsname(int " fd );
-.BI "int ptsname_r(int " fd ", char " buf [. size "], size_t " size );
+.BI "int ptsname_r(size_t " size ;
+.BI " int " fd ", char " buf [ size "], size_t " size );
.fi
.P
.RS -4
.nf
.B #include <stdlib.h>
.P
-.BI "void qsort(void " base [. size " * ." n "], size_t " n ", \
-size_t " size ,
-.BI " typeof(int (const void [." size "], const void [." size "]))"
+.BI "void qsort(size_t " n ", size_t " size ;
+.BI " void " base [ n " * " size "], size_t " n ", size_t " size ,
+.BI " typeof(int (const void [" size "], const void [" size "]))"
.BI " *" compar );
-.BI "void qsort_r(void " base [. size " * ." n "], size_t " n ", \
-size_t " size ,
-.BI " typeof(int (const void [." size "], const void [." size "], void *))"
+.BI "void qsort_r(size_t " n ", size_t " size ;
+.BI " void " base [ n " * " size "], size_t " n ", size_t " size ,
+.BI " typeof(int (const void [" size "], const void [" size "], void *))"
.BI " *" compar ,
.BI " void *" arg ");"
.fi
.B long random(void);
.BI "void srandom(unsigned int " seed );
.P
-.BI "char *initstate(unsigned int " seed ", char " state [. n "], size_t " n );
+.BI "char *initstate(size_t " n ;
+.BI " unsigned int " seed ", char " state [ n "], size_t " n );
.BI "char *setstate(char *" state );
.fi
.P
.BI "int regexec(const regex_t *restrict " preg \
", const char *restrict " string ,
.BI " size_t " nmatch ", \
-regmatch_t " pmatch "[_Nullable restrict ." nmatch ],
+regmatch_t " pmatch "[_Nullable restrict " nmatch ],
.BI " int " eflags );
.P
-.BI "size_t regerror(int " errcode ", const regex_t *_Nullable restrict " preg ,
-.BI " char " errbuf "[_Nullable restrict ." errbuf_size ],
+.BI "size_t regerror(size_t " errbuf_size ;
+.BI " int " errcode ", const regex_t *_Nullable restrict " preg ,
+.BI " char " errbuf "[_Nullable restrict " errbuf_size ],
.BI " size_t " errbuf_size );
.BI "void regfree(regex_t *" preg );
.P
.P
.BI "void res_nclose(res_state " statep );
.P
-.BI "int res_nquery(res_state " statep ,
+.BI "int res_nquery(int " anslen ;
+.BI " res_state " statep ,
.BI " const char *" dname ", int " class ", int " type ,
-.BI " unsigned char " answer [. anslen "], int " anslen );
+.BI " unsigned char " answer [ anslen "], int " anslen );
.P
-.BI "int res_nsearch(res_state " statep ,
+.BI "int res_nsearch(int " anslen ;
+.BI " res_state " statep ,
.BI " const char *" dname ", int " class ", int " type ,
-.BI " unsigned char " answer [. anslen "], int " anslen );
+.BI " unsigned char " answer [ anslen "], int " anslen );
.P
-.BI "int res_nquerydomain(res_state " statep ,
+.BI "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 " class ", int " type ", unsigned char " answer [ anslen ],
.BI " int " anslen );
.P
-.BI "int res_nmkquery(res_state " statep ,
+.BI "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 "], \
+.BI " int " type ", const unsigned char " data [ datalen "], \
int " datalen ,
.BI " const unsigned char *" newrr ,
-.BI " unsigned char " buf [. buflen "], int " buflen );
+.BI " unsigned char " buf [ buflen "], int " buflen );
.P
-.BI "int res_nsend(res_state " statep ,
-.BI " const unsigned char " msg [. msglen "], int " msglen ,
-.BI " unsigned char " answer [. anslen "], int " anslen );
+.BI "int res_nsend(int " msglen ", int " anslen ;
+.BI " res_state " statep ,
+.BI " const unsigned char " msg [ msglen "], int " msglen ,
+.BI " unsigned char " answer [ anslen "], int " anslen );
.P
-.BI "int dn_comp(const char *" exp_dn ", unsigned char " comp_dn [. length ],
+.BI "int dn_comp(int " length ;
+.BI " const char *" exp_dn ", unsigned char " comp_dn [ length ],
.BI " int " length ", unsigned char **" dnptrs ,
.BI " unsigned char **" lastdnptr );
.P
-.BI "int dn_expand(const unsigned char *" msg ,
+.BI "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 " const unsigned char *" comp_dn ", char " exp_dn [ length ],
.BI " int " length );
.P
.B [[deprecated]] extern struct __res_state _res;
.B [[deprecated]] int res_init(void);
.P
.B [[deprecated]]
-.BI "int res_query(const char *" dname ", int " class ", int " type ,
-.BI " unsigned char " answer [. anslen "], int " anslen );
+.BI "int res_query(int " anslen ;
+.BI " const char *" dname ", int " class ", int " type ,
+.BI " unsigned char " answer [ anslen "], int " anslen );
.P
.B [[deprecated]]
-.BI "int res_search(const char *" dname ", int " class ", int " type ,
-.BI " unsigned char " answer [. anslen "], int " anslen );
+.BI "int res_search(int " anslen ;
+.BI " const char *" dname ", int " class ", int " type ,
+.BI " unsigned char " answer [ anslen "], int " anslen );
.P
.B [[deprecated]]
-.BI "int res_querydomain(const char *" name ", const char *" domain ,
-.BI " int " class ", int " type ", unsigned char " answer [. anslen ],
+.BI "int res_querydomain(int " anslen ;
+.BI " const char *" name ", const char *" domain ,
+.BI " int " class ", int " type ", unsigned char " answer [ anslen ],
.BI " int " anslen );
.P
.B [[deprecated]]
-.BI "int res_mkquery(int " op ", const char *" dname ", int " class ,
-.BI " int " type ", const unsigned char " data [. datalen "], \
+.BI "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 " const unsigned char *" newrr ,
-.BI " unsigned char " buf [. buflen "], int " buflen );
+.BI " unsigned char " buf [ buflen "], int " buflen );
.P
.B [[deprecated]]
-.BI "int res_send(const unsigned char " msg [. msglen "], int " msglen ,
-.BI " unsigned char " answer [. anslen "], int " anslen );
+.BI "int res_send(int " msglen ", int " anslen ;
+.BI " const unsigned char " msg [ msglen "], int " msglen ,
+.BI " unsigned char " answer [ anslen "], int " anslen );
.fi
.SH DESCRIPTION
.B Note:
.P
.nf
.BI "AUTH *authunix_create(char *" host ", uid_t " uid ", gid_t " gid ,
-.BI " int " n ", gid_t " aup_gids [. n ]);
+.BI " int " n ", gid_t " aup_gids [ n ]);
.fi
.IP
Create and return an RPC authentication handle that contains
.B "void endaliasent(void);"
.P
.B "struct aliasent *getaliasent(void);"
-.BI "int getaliasent_r(struct aliasent *restrict " result ,
-.BI " char " buffer "[restrict ." size "], \
-size_t " size ,
+.BI "int getaliasent_r(size_t " size ;
+.BI " struct aliasent *restrict " result ,
+.BI " char " buffer "[restrict " size "], size_t " size ,
.BI " struct aliasent **restrict " res );
.P
.BI "struct aliasent *getaliasbyname(const char *" name );
-.BI "int getaliasbyname_r(const char *restrict " name ,
+.BI "int getaliasbyname_r(size_t " size ;
+.BI " const char *restrict " name ,
.BI " struct aliasent *restrict " result ,
-.BI " char " buffer "[restrict ." size "], \
-size_t " size ,
+.BI " char " buffer "[restrict " size "], size_t " size ,
.BI " struct aliasent **restrict " res );
.fi
.SH DESCRIPTION
.nf
.B #include <stdio.h>
.P
-.BI "int setvbuf(FILE *restrict " stream ", char " buf "[restrict ." size ],
+.BI "int setvbuf(size_t " size ;
+.BI " FILE *restrict " stream ", char " buf "[restrict " size ],
.BI " int " mode ", size_t " size );
.P
.BI "void setbuf(FILE *restrict " stream ", char *restrict " buf );
-.BI "void setbuffer(FILE *restrict " stream ", char " buf "[restrict ." size ],
+.BI "void setbuffer(size_t " size ;
+.BI " FILE *restrict " stream ", char " buf "[restrict " size ],
.BI " size_t " size );
.BI "void setlinebuf(FILE *" stream );
.fi
.P
.BI "int getnetgrent(char **restrict " host ,
.BI " char **restrict " user ", char **restrict " domain );
-.BI "int getnetgrent_r(char **restrict " host ,
+.BI "int getnetgrent_r(size_t " size ;
+.BI " char **restrict " host ,
.BI " char **restrict " user ", char **restrict " domain ,
-.BI " char " buf "[restrict ." size "], size_t " size );
+.BI " char " buf "[restrict " size "], size_t " size );
.P
.BI "int innetgr(const char *" netgroup ", const char *" host ,
.BI " const char *" user ", const char *" domain );
.nf
.B #include <string.h>
.P
-.BI "char *strncpy(char " dst "[restrict ." dsize "], \
+.BI "char *strncpy(size_t " dsize ;
+.BI " char " dst "[restrict " dsize "], \
const char *restrict " src ,
.BI " size_t " dsize );
-.BI "char *stpncpy(char " dst "[restrict ." dsize "], \
+.BI "char *stpncpy(size_t " dsize ;
+.BI " char " dst "[restrict " dsize "], \
const char *restrict " src ,
.BI " size_t " dsize );
.fi
.B #include <strings.h>
.P
.BI "int strcasecmp(const char *" s1 ", const char *" s2 );
-.BI "int strncasecmp(const char " s1 [. n "], const char " s2 [. n "], \
+.BI "int strncasecmp(size_t " n ;
+.BI " const char " s1 [ n "], const char " s2 [ n "], \
size_t " n );
.fi
.SH DESCRIPTION
.B #include <string.h>
.P
.BI "int strcmp(const char *" s1 ", const char *" s2 );
-.BI "int strncmp(const char " s1 [. n "], const char " s2 [. n "], size_t " n );
+.BI "int strncmp(size_t " n ;
+.BI " const char " s1 [ n "], const char " s2 [ n "], size_t " n );
.fi
.SH DESCRIPTION
The
.P
.BI "char *strdup(const char *" s );
.P
-.BI "char *strndup(const char " s [. n "], size_t " n );
+.BI "char *strndup(size_t " n ;
+.BI " const char " s [ n "], size_t " n );
.BI "char *strdupa(const char *" s );
-.BI "char *strndupa(const char " s [. n "], size_t " n );
+.BI "char *strndupa(size_t " n ;
+.BI " const char " s [ n "], size_t " n );
.fi
.P
.RS -4
.BI "const char *strerrorname_np(int " errnum );
.BI "const char *strerrordesc_np(int " errnum );
.P
-.BI "int strerror_r(int " errnum ", char " buf [. size "], size_t " size );
+.BI "int strerror_r(size_t " size ;
+.BI " int " errnum ", char " buf [ size "], size_t " size );
/* XSI-compliant */
.P
-.BI "char *strerror_r(int " errnum ", char " buf [. size "], size_t " size );
+.BI "char *strerror_r(size_t " size ;
+.BI " int " errnum ", char " buf [ size "], size_t " size );
/* GNU-specific */
.P
.BI "char *strerror_l(int " errnum ", locale_t " locale );
.nf
.B #include <monetary.h>
.P
-.BI "ssize_t strfmon(char " s "[restrict ." max "], size_t " max ,
+.BI "ssize_t strfmon(size_t " max ;
+.BI " char " s "[restrict " max "], size_t " max ,
.BI " const char *restrict " format ", ...);"
-.BI "ssize_t strfmon_l(char " s "[restrict ." max "], size_t " max ", \
+.BI "ssize_t strfmon_l(size_t " max ;
+.BI " char " s "[restrict " max "], size_t " max ", \
locale_t " locale ,
.BI " const char *restrict " format ", ...);"
.fi
.nf
.B #include <stdlib.h>
.P
-.BI "int strfromd(char " str "[restrict ." n "], size_t " n ,
+.BI "int strfromd(size_t " n ;
+.BI " char " str "[restrict " n "], size_t " n ,
.BI " const char *restrict " format ", double " fp ");"
-.BI "int strfromf(char " str "[restrict ." n "], size_t " n ,
+.BI "int strfromf(size_t " n ;
+.BI " char " str "[restrict " n "], size_t " n ,
.BI " const char *restrict " format ", float "fp ");"
-.BI "int strfroml(char " str "[restrict ." n "], size_t " n ,
+.BI "int strfroml(size_t " n ;
+.BI " char " str "[restrict " n "], size_t " n ,
.BI " const char *restrict " format ", long double " fp ");"
.fi
.P
.nf
.B #include <time.h>
.P
-.BI "size_t strftime(char " s "[restrict ." max "], size_t " max ,
+.BI "size_t strftime(size_t " max ;
+.BI " char " s "[restrict " max "], size_t " max ,
.BI " const char *restrict " format ,
.BI " const struct tm *restrict " tm );
.P
-.BI "size_t strftime_l(char " s "[restrict ." max "], size_t " max ,
+.BI "size_t strftime_l(size_t " max ;
+.BI " char " s "[restrict " max "], size_t " max ,
.BI " const char *restrict " format ,
.BI " const struct tm *restrict " tm ,
.BI " locale_t " locale );
.nf
.B #include <string.h>
.P
-.BI "char *strncat(char *restrict " dst ", const char " src "[restrict ." ssize ],
+.BI "char *strncat(size_t " ssize ;
+.BI " char *restrict " dst ", const char " src "[restrict " ssize ],
.BI " size_t " ssize );
.fi
.SH DESCRIPTION
.nf
.B #include <string.h>
.P
-.BI "size_t strnlen(const char " s [. maxlen "], size_t " maxlen );
+.BI "size_t strnlen(size_t " maxlen ;
+.BI " const char " s [ maxlen "], size_t " maxlen );
.fi
.P
.RS -4
.nf
.B #include <string.h>
.P
-.BI "size_t strxfrm(char " dest "[restrict ." n "], \
-const char " src "[restrict ." n ],
+.BI "size_t strxfrm(size_t " n ;
+.BI " char " dest "[restrict " n "], \
+const char " src "[restrict " n ],
.BI " size_t " n );
.fi
.SH DESCRIPTION
.BR "#define _XOPEN_SOURCE" " /* See feature_test_macros(7) */"
.B #include <unistd.h>
.P
-.BI "void swab(const void " from "[restrict ." n "], void " to "[restrict ." n ],
+.BI "void swab(ssize_t " n ;
+.BI " const void " from "[restrict " n "], void " to "[restrict " n ],
.BI " ssize_t " n );
.fi
.SH DESCRIPTION
.B #include <unistd.h>
.P
.BI "char *ttyname(int " fd );
-.BI "int ttyname_r(int " fd ", char " buf [. size "], size_t " size );
+.BI "int ttyname_r(size_t " size ;
+.BI " int " fd ", char " buf [ size "], size_t " size );
.fi
.SH DESCRIPTION
The function
.BI "int fgetc_unlocked(FILE *" stream );
.BI "int fputc_unlocked(int " c ", FILE *" stream );
.P
-.BI "size_t fread_unlocked(void " ptr "[restrict ." size " * ." n ],
+.BI "size_t fread_unlocked(size_t " size ", size_t " n ;
+.BI " void " ptr "[restrict " size " * " n ],
.BI " size_t " size ", size_t " n ,
.BI " FILE *restrict " stream );
-.BI "size_t fwrite_unlocked(const void " ptr "[restrict ." size " * ." n ],
+.BI "size_t fwrite_unlocked(size_t " size ", size_t " n ;
+.BI " const void " ptr "[restrict " size " * " n ],
.BI " size_t " size ", size_t " n ,
.BI " FILE *restrict " stream );
.P
-.BI "char *fgets_unlocked(char " s "[restrict ." n "], int " n \
+.BI "char *fgets_unlocked(int " n ;
+.BI " char " s "[restrict " n "], int " n \
", FILE *restrict " stream );
.BI "int fputs_unlocked(const char *restrict " s ", FILE *restrict " stream );
.P
.BI "wint_t putwc_unlocked(wchar_t " wc ", FILE *" stream );
.BI "wint_t putwchar_unlocked(wchar_t " wc );
.P
-.BI "wchar_t *fgetws_unlocked(wchar_t " ws "[restrict ." n "], int " n ,
+.BI "wchar_t *fgetws_unlocked(int " n ;
+.BI " 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>
.P
-.BI "wchar_t *wcpncpy(wchar_t " dest "[restrict ." n ],
+.BI "wchar_t *wcpncpy(size_t " n ;
+.BI " wchar_t " dest "[restrict " n ],
.BI " const wchar_t *restrict " src ,
.BI " size_t " n );
.fi
.B #include <wchar.h>
.P
.BI "int wcscasecmp(const wchar_t *" s1 ", const wchar_t *" s2 );
-.BI "int wcsncasecmp(const wchar_t " s1 [. n "], const wchar_t " s2 [. n "], \
+.BI "int wcsncasecmp(size_t " n ;
+.BI " const wchar_t " s1 [ n "], const wchar_t " s2 [ n "], \
size_t " n );
.fi
.P
.nf
.B #include <wchar.h>
.P
-.BI "wchar_t *wcsncat(wchar_t *restrict " dest ,
-.BI " const wchar_t " src "[restrict ." n ],
+.BI "wchar_t *wcsncat(size_t " n ;
+.BI " wchar_t *restrict " dest ,
+.BI " const wchar_t " src "[restrict " n ],
.BI " size_t " n );
.fi
.SH DESCRIPTION
.nf
.B #include <wchar.h>
.P
-.BI "int wcsncmp(const wchar_t " s1 [. n "], const wchar_t " s2 [. n "], \
+.BI "int wcsncmp(size_t " n ;
+.BI " const wchar_t " s1 [ n "], const wchar_t " s2 [ n "], \
size_t " n );
.fi
.SH DESCRIPTION
.nf
.B #include <wchar.h>
.P
-.BI "wchar_t *wcsncpy(wchar_t " dest "[restrict ." n ],
+.BI "wchar_t *wcsncpy(size_t " n ;
+.BI " wchar_t " dest "[restrict " n ],
.BI " const wchar_t *restrict " src ,
.BI " size_t " n );
.fi
.nf
.B #include <wchar.h>
.P
-.BI "size_t wcsnlen(const wchar_t " s [. maxlen "], size_t " maxlen );
+.BI "size_t wcsnlen(size_t " maxlen ;
+.BI " const wchar_t " s [ maxlen "], size_t " maxlen );
.fi
.P
.RS -4
.nf
.B #include <wchar.h>
.P
-.BI "size_t wcsnrtombs(char " dest "[restrict ." size "], \
+.BI "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 );
.nf
.B #include <wchar.h>
.P
-.BI "size_t wcsrtombs(char " dest "[restrict ." size "], \
+.BI "size_t wcsrtombs(size_t " size ;
+.BI " char " dest "[restrict " size "], \
const wchar_t **restrict " src ,
.BI " size_t " size ", mbstate_t *restrict " ps );
.fi
.nf
.B #include <stdlib.h>
.P
-.BI "size_t wcstombs(char " dest "[restrict ." n "], \
+.BI "size_t wcstombs(size_t " n ;
+.BI " char " dest "[restrict " n "], \
const wchar_t *restrict " src ,
.BI " size_t " n );
.fi
.nf
.B #include <wchar.h>
.P
-.BI "wchar_t *wmemchr(const wchar_t " s [. n "], wchar_t " c ", size_t " n );
+.BI "wchar_t *wmemchr(size_t " n ;
+.BI " const wchar_t " s [ n "], wchar_t " c ", size_t " n );
.fi
.SH DESCRIPTION
The
.nf
.B #include <wchar.h>
.P
-.BI "int wmemcmp(const wchar_t " s1 [. n "], const wchar_t " s2 [. n "], \
+.BI "int wmemcmp(size_t " n ;
+.BI " const wchar_t " s1 [ n "], const wchar_t " s2 [ n "], \
size_t " n );
.fi
.SH DESCRIPTION
.nf
.B #include <wchar.h>
.P
-.BI "wchar_t *wmemcpy(wchar_t " dest "[restrict ." n ],
-.BI " const wchar_t " src "[restrict ." n ],
+.BI "wchar_t *wmemcpy(size_t " n ;
+.BI " wchar_t " dest "[restrict " n ],
+.BI " const wchar_t " src "[restrict " n ],
.BI " size_t " n );
.fi
.SH DESCRIPTION
.nf
.B #include <wchar.h>
.P
-.BI "wchar_t *wmemmove(wchar_t " dest [. n "], const wchar_t " src [. n "], \
+.BI "wchar_t *wmemmove(size_t " n ;
+.BI " wchar_t " dest [ n "], const wchar_t " src [ n "], \
size_t " n );
.fi
.SH DESCRIPTION
.nf
.B #include <wchar.h>
.P
-.BI "wchar_t *wmemset(wchar_t " wcs [. n "], wchar_t " wc ", size_t " n );
+.BI "wchar_t *wmemset(size_t " n ;
+.BI " 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 " wcs "[restrict ." maxlen "], size_t " maxlen ,
+.BI "int swprintf(size_t " n ;
+.BI " wchar_t " wcs "[restrict " n "], size_t " n ,
.BI " const wchar_t *restrict " format ", ...);"
.P
.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 " wcs "[restrict ." maxlen "], size_t " maxlen ,
+.BI "int vswprintf(size_t " n ;
+.BI " wchar_t " wcs "[restrict " n "], size_t " n ,
.BI " const wchar_t *restrict " format ", va_list " args );
.fi
.P
to an array of wide characters.
The programmer must ensure that there is
room for at least
-.I maxlen
+.I n
wide
characters at
.IR wcs .
and
.BR vswprintf ()
take a
-.I maxlen
+.I n
argument,
.BR sprintf (3)
and
and
.BR vsnprintf (3)
take a
-.I maxlen
+.I n
argument, but these functions do not return \-1 upon
buffer overflow on Linux.)
.P
.BI "char *stpecpy(char *" dst ", char " end "[0], const char *restrict " src );
.P
// Copy/catenate a string with truncation.
-.BI "ssize_t strtcpy(char " dst "[restrict ." dsize "], \
+.BI "ssize_t strtcpy(size_t " dsize ;
+.BI " char " dst "[restrict " dsize "], \
const char *restrict " src ,
.BI " size_t " dsize );
-.BI "size_t strlcpy(char " dst "[restrict ." dsize "], \
+.BI "size_t strlcpy(size_t " dsize ;
+.BI " char " dst "[restrict " dsize "], \
const char *restrict " src ,
.BI " size_t " dsize );
-.BI "size_t strlcat(char " dst "[restrict ." dsize "], \
+.BI "size_t strlcat(size_t " dsize ;
+.BI " char " dst "[restrict " dsize "], \
const char *restrict " src ,
.BI " size_t " dsize );
.fi
.nf
// Fill a fixed-size buffer with characters from a string
// and pad with null bytes.
-.BI "char *strncpy(char " dst "[restrict ." dsize "], \
+.BI "char *strncpy(size_t " dsize ;
+.BI " char " dst "[restrict " dsize "], \
const char *restrict " src ,
.BI " size_t " dsize );
-.BI "char *stpncpy(char " dst "[restrict ." dsize "], \
+.BI "char *stpncpy(size_t " dsize ;
+.BI " char " dst "[restrict " dsize "], \
const char *restrict " src ,
.BI " size_t " dsize );
.P
.I stpcpy(mempcpy(dst, src, strnlen(src, NITEMS(src))), \[dq]\[dq]);
.P
// Catenate a null-padded character sequence into a string.
-.BI "char *strncat(char *restrict " dst ", const char " src "[restrict ." ssize ],
+.BI "char *strncat(size_t " ssize ;
+.BI " char *restrict " dst ", const char " src "[restrict " ssize ],
.BI " size_t " ssize );
.P
// Duplicate a null-padded character sequence into a string.
-.BI "char *strndup(const char " src [. ssize "], size_t " ssize );
+.BI "char *strndup(size_t " ssize ;
+.BI " const char " src [ ssize "], size_t " ssize );
.fi
.\" ----- SYNOPSIS :: Length-bounded character sequences --------------/
.SS Length-bounded character sequences
.nf
// Chain-copy a length-bounded character sequence.
-.BI "void *mempcpy(void " dst "[restrict ." len "], \
-const void " src "[restrict ." len ],
+.BI "void *mempcpy(size_t " 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.