_syscall \- invoking a system call without library support (OBSOLETE)
.SH SYNOPSIS
.B #include <linux/unistd.h>
-
+.PP
A _syscall macro
-
+.PP
desired system call
.SH DESCRIPTION
The important thing to know about a system call is its prototype.
.B #include <time.h>
.PP
.BI "int clock_getres(clockid_t " clk_id ", struct timespec *" res );
-
+.PP
.BI "int clock_gettime(clockid_t " clk_id ", struct timespec *" tp );
-
+.PP
.BI "int clock_settime(clockid_t " clk_id ", const struct timespec *" tp );
.PP
Link with \fI\-lrt\fP (only for glibc versions before 2.17).
.SH SYNOPSIS
.nf
/* Prototype for the glibc wrapper function */
-
+.PP
.B #define _GNU_SOURCE
.B #include <sched.h>
-
+.PP
.BI "int clone(int (*" "fn" ")(void *), void *" child_stack ,
.BI " int " flags ", void *" "arg" ", ... "
.BI " /* pid_t *" ptid ", void *" newtls \
", pid_t *" ctid " */ );"
-
+.PP
/* For the prototype of the raw system call, see NOTES */
.fi
.SH DESCRIPTION
.nf
.B #include <sys/syscall.h>
.B #include <unistd.h>
-
+.PP
.BI "ssize_t copy_file_range(int " fd_in ", loff_t *" off_in ,
.BI " int " fd_out ", loff_t *" off_out ,
.BI " size_t " len ", unsigned int " flags );
.PP
.BI "caddr_t create_module(const char *" name ", size_t " size );
.fi
-
+.PP
.IR Note :
No declaration of this system call is provided in glibc headers; see NOTES.
.SH DESCRIPTION
.nf
.BI "int delete_module(const char *" name ", int " flags );
.fi
-
+.PP
.IR Note :
No declaration of this system call is provided in glibc headers; see NOTES.
.SH DESCRIPTION
.nf
.BR "#define _GNU_SOURCE" " /* See feature_test_macros(7) */"
.B #include <fcntl.h>
-
+.PP
.BI "int fallocate(int " fd ", int " mode ", off_t " offset \
", off_t " len ");
.fi
" \fR /* or: \fBuint32_t \fIval2\fP */
.BI " int *" uaddr2 ", int " val3 );
.fi
-
+.PP
.IR Note :
There is no glibc wrapper for this system call; see NOTES.
.SH DESCRIPTION
.PP
.BI "int get_kernel_syms(struct kernel_sym *" table );
.fi
-
+.PP
.IR Note :
No declaration of this system call is provided in glibc headers; see NOTES.
.SH DESCRIPTION
.BI " size_t *" len_ptr );
.BI "long set_robust_list(struct robust_list_head *" head ", size_t " len );
.fi
-
+.PP
.IR Note :
There are no glibc wrappers for these system calls; see NOTES.
.SH DESCRIPTION
.BI "int getcpu(unsigned *" cpu ", unsigned *" node \
", struct getcpu_cache *" tcache );
.fi
-
+.PP
.IR Note :
There is no glibc wrapper for this system call; see NOTES.
.SH DESCRIPTION
.BI "int getdents64(unsigned int " fd ", struct linux_dirent64 *" dirp ,
.BI " unsigned int " count );
.fi
-
+.PP
.IR Note :
There are no glibc wrappers for these system calls; see NOTES.
.SH DESCRIPTION
.PP
.B pid_t gettid(void);
.fi
-
+.PP
.IR Note :
There is no glibc wrapper for this system call; see NOTES.
.SH DESCRIPTION
.SH SYNOPSIS
.nf
.B #include <sys/time.h>
-
+.PP
.BI "int gettimeofday(struct timeval *" tv ", struct timezone *" tz );
-
+.PP
.BI "int settimeofday(const struct timeval *" tv \
", const struct timezone *" tz );
-
.fi
+.PP
.in -4n
Feature Test Macro Requirements for glibc (see
.BR feature_test_macros (7)):
.PP
.BI "long getunwind(void " *buf ", size_t " buf_size );
.fi
-
+.PP
.IR Note :
There is no glibc wrapper for this system call; see NOTES.
.SH DESCRIPTION
.nf
.BI "int init_module(void *" module_image ", unsigned long " len ,
.BI " const char *" param_values );
-
+.PP
.BI "int finit_module(int " fd ", const char *" param_values ,
.BI " int " flags );
.fi
-
+.PP
.IR Note :
glibc provides no header file declaration of
.BR init_module ()
.SH SYNOPSIS
.nf
.BR "#include <linux/aio_abi.h>" " /* Defines needed types */"
-
+.PP
.BI "int io_cancel(aio_context_t " ctx_id ", struct iocb *" iocb ,
.BI " struct io_event *" result );
.fi
-
+.PP
.IR Note :
There is no glibc wrapper for this system call; see NOTES.
.SH DESCRIPTION
.SH SYNOPSIS
.nf
.BR "#include <linux/aio_abi.h>" " /* Defines needed types */"
-
+.PP
.BI "int io_destroy(aio_context_t " ctx_id );
.fi
-
+.PP
.IR Note :
There is no glibc wrapper for this system call; see NOTES.
.SH DESCRIPTION
.nf
.BR "#include <linux/aio_abi.h>" " /* Defines needed types */"
.BR "#include <linux/time.h>" " /* Defines 'struct timespec' */"
-
+.PP
.BI "int io_getevents(aio_context_t " ctx_id ", long " min_nr ", long " nr ,
.BI " struct io_event *" events \
", struct timespec *" timeout );
.fi
-
+.PP
.IR Note :
There is no glibc wrapper for this system call; see NOTES.
.SH DESCRIPTION
.SH SYNOPSIS
.nf
.BR "#include <linux/aio_abi.h>" " /* Defines needed types */"
-
+.PP
.BI "int io_setup(unsigned " nr_events ", aio_context_t *" ctx_idp );
.fi
-
+.PP
.IR Note :
There is no glibc wrapper for this system call; see NOTES.
.SH DESCRIPTION
.SH SYNOPSIS
.nf
.BR "#include <linux/aio_abi.h>" " /* Defines needed types */"
-
+.PP
.BI "int io_submit(aio_context_t " ctx_id ", long " nr \
", struct iocb **" iocbpp );
.fi
-
+.PP
.IR Note :
There is no glibc wrapper for this system call; see NOTES.
.SH DESCRIPTION
.SH SYNOPSIS
.nf
.B #include <sys/ioctl.h>
-
+.PP
.BI "int ioctl(int " fd ", int " cmd ", ...);"
.fi
.SH DESCRIPTION
.BI "int ioprio_get(int " which ", int " who );
.BI "int ioprio_set(int " which ", int " who ", int " ioprio );
.fi
-
+.PP
.IR Note :
There are no glibc wrappers for these system calls; see NOTES.
.SH DESCRIPTION
.SH SYNOPSIS
.nf
.B #include <linux/kcmp.h>
-
+.PP
.BI "int kcmp(pid_t " pid1 ", pid_t " pid2 ", int " type ,
.BI " unsigned long " idx1 ", unsigned long " idx2 );
.fi
-
+.PP
.IR Note :
There is no glibc wrapper for this system call; see NOTES.
.SH DESCRIPTION
.SH SYNOPSIS
.nf
.B #include <linux/kexec.h>
-
+.PP
.BI "long kexec_load(unsigned long " entry ", unsigned long " nr_segments ","
.BI " struct kexec_segment *" segments \
", unsigned long " flags ");"
-
+.PP
.BI "long kexec_file_load(int " kernel_fd ", int " initrd_fd ","
.br
.BI " unsigned long " cmdline_len \
", const char *" cmdline ","
.BI " unsigned long " flags ");"
-
.fi
+.PP
.IR Note :
There are no glibc wrappers for these system calls; see NOTES.
.SH DESCRIPTION
.BI " __kernel_ulong_t " arg3 ", __kernel_ulong_t " arg4 ,
.BI " __kernel_ulong_t " arg5 );
.fi
-
+.PP
No glibc wrapper is provided for this system call; see NOTES.
.SH DESCRIPTION
.BR keyctl ()
.B #include <unistd.h>
.PP
.BI "int link(const char *" oldpath ", const char *" newpath );
-
+.PP
.BR "#include <fcntl.h> " "/* Definition of AT_* constants */"
.B #include <unistd.h>
.PP
.BI " unsigned long " offset_low ", loff_t *" result ,
.BI " unsigned int " whence );
.fi
-
+.PP
.IR Note :
There is no glibc wrapper for this system call; see NOTES.
.SH DESCRIPTION
.B #include <sys/memfd.h>
.PP
.BI "int memfd_create(const char *" name ", unsigned int " flags ");"
-
+.PP
.IR Note :
There is no glibc wrapper for this system call; see NOTES.
.SH DESCRIPTION
.BI " int " fd ", off_t " offset );
.BI "int munmap(void *" addr ", size_t " length );
.fi
-
+.PP
See NOTES for information on feature test macro requirements.
.SH DESCRIPTION
.BR mmap ()
.BI "int mq_getsetattr(mqd_t " mqdes ", struct mq_attr *" newattr ","
.BI " struct mq_attr *" oldattr );
.fi
-
+.PP
.IR Note :
There is no glibc wrapper for this system call; see NOTES.
.SH DESCRIPTION
.B #include <sys/types.h>
.B #include <sys/ipc.h>
.B #include <sys/msg.h>
-
+.PP
.BI "int msgctl(int " msqid ", int " cmd ", struct msqid_ds *" buf );
.fi
.SH DESCRIPTION
.B #include <sys/types.h>
.B #include <sys/ipc.h>
.B #include <sys/msg.h>
-
+.PP
.BI "int msgget(key_t " key ", int " msgflg );
.fi
.SH DESCRIPTION
.B #include <sys/types.h>
.B #include <sys/stat.h>
.B #include <fcntl.h>
-
+.PP
.BI "int name_to_handle_at(int " dirfd ", const char *" pathname ,
.BI " struct file_handle *" handle ,
.BI " int *" mount_id ", int " flags );
-
+.PP
.BI "int open_by_handle_at(int " mount_fd ", struct file_handle *" handle ,
.BI " int " flags );
.fi
.SH SYNOPSIS
.nf
.B #include <sys/io.h>
-
+.PP
.BI "unsigned char inb(unsigned short int " port );
.BI "unsigned char inb_p(unsigned short int " port );
.BI "unsigned short int inw(unsigned short int " port );
.BI "unsigned short int inw_p(unsigned short int " port );
.BI "unsigned int inl(unsigned short int " port );
.BI "unsigned int inl_p(unsigned short int " port );
-
+.PP
.BI "void outb(unsigned char " value ", unsigned short int " port );
.BI "void outb_p(unsigned char " value ", unsigned short int " port );
.BI "void outw(unsigned short int " value ", unsigned short int " port );
.BI "void outw_p(unsigned short int " value ", unsigned short int " port );
.BI "void outl(unsigned int " value ", unsigned short int " port );
.BI "void outl_p(unsigned int " value ", unsigned short int " port );
-
+.PP
.BI "void insb(unsigned short int " port ", void *" addr ,
.BI " unsigned long int " count );
.BI "void insw(unsigned short int " port ", void *" addr ,
.BI " pid_t " pid ", int " cpu ", int " group_fd ,
.BI " unsigned long " flags );
.fi
-
+.PP
.IR Note :
There is no glibc wrapper for this system call; see NOTES.
.SH DESCRIPTION
pivot_root \- change the root filesystem
.SH SYNOPSIS
.BI "int pivot_root(const char *" new_root ", const char *" put_old );
-
+.PP
.IR Note :
There is no glibc wrapper for this system call; see NOTES.
.SH DESCRIPTION
.SH SYNOPSIS
.nf
.B #include <sys/uio.h>
-
+.PP
.BI "ssize_t process_vm_readv(pid_t " pid ,
.BI " const struct iovec *" local_iov ,
.BI " unsigned long " liovcnt ,
.BI " const struct iovec *" remote_iov ,
.BI " unsigned long " riovcnt ,
.BI " unsigned long " flags ");"
-
+.PP
.BI "ssize_t process_vm_writev(pid_t " pid ,
.BI " const struct iovec *" local_iov ,
.BI " unsigned long " liovcnt ,
.BI "int query_module(const char *" name ", int " which ", void *" buf ,
.BI " size_t " bufsize ", size_t *" ret );
.fi
-
+.PP
.IR Note :
No declaration of this system call is provided in glibc headers; see NOTES.
.SH DESCRIPTION
.BI "int readdir(unsigned int " fd ", struct old_linux_dirent *" dirp ","
.BI " unsigned int " count );
.fi
-
+.PP
.IR Note :
There is no glibc wrapper for this system call; see NOTES.
.SH DESCRIPTION
.nf
.BR "#define _GNU_SOURCE" " /* See feature_test_macros(7) */"
.BI "#include <sys/socket.h>"
-
+.PP
.BI "int recvmmsg(int " sockfd ", struct mmsghdr *" msgvec \
", unsigned int " vlen ","
.br
.PP
.BI "int renameat(int " olddirfd ", const char *" oldpath ,
.BI " int " newdirfd ", const char *" newpath );
-
+.PP
.BI "int renameat2(int " olddirfd ", const char *" oldpath ,
.BI " int " newdirfd ", const char *" newpath \
", unsigned int " flags );
.fi
-
+.PP
.IR Note :
There is no glibc wrapper for
.BR renameat2 ();
.BI " const char *" callout_info ,
.BI " key_serial_t " dest_keyring ");"
.fi
-
+.PP
No glibc wrapper is provided for this system call; see NOTES.
.SH DESCRIPTION
.BR request_key ()
restart_syscall \- restart a system call after interruption by a stop signal
.SH SYNOPSIS
.B int restart_syscall(void);
-
+.PP
.IR Note :
There is no glibc wrapper for this system call; see NOTES.
.SH DESCRIPTION
.BI "int rt_tgsigqueueinfo(pid_t " tgid ", pid_t " tid ", int " sig ,
.BI " siginfo_t *" uinfo );
.fi
-
+.PP
.IR Note :
There are no glibc wrappers for these system calls; see NOTES.
.SH DESCRIPTION
.SH SYNOPSIS
.nf
.B #include <asm/unistd.h>
-
+.PP
.BI "int s390_pci_mmio_write(unsigned long " mmio_addr ",
.BI " void *" user_buffer ", size_t " length ");
.br
.SH SYNOPSIS
.nf
.B #include <asm/runtime_instr.h>
-
+.PP
.BI "int s390_runtime_instr(int " command ", int " signum ");
.fi
.SH DESCRIPTION
.SH SYNOPSIS
.nf
.B #include <sched.h>
-
+.PP
.BI "int sched_setattr(pid_t " pid ", struct sched_attr *" attr ,
.BI " unsigned int " flags );
-
+.PP
.BI "int sched_getattr(pid_t " pid ", struct sched_attr *" attr ,
.BI " unsigned int " size ", unsigned int " flags );
.fi
.B #include <sys/ptrace.h>
.\" Kees Cook noted: Anything that uses SECCOMP_RET_TRACE returns will
.\" need <sys/ptrace.h>
-
+.PP
.BI "int seccomp(unsigned int " operation ", unsigned int " flags \
", void *" args );
.fi
.SH SYNOPSIS
.nf
/* According to POSIX.1-2001, POSIX.1-2008 */
-.br
.B #include <sys/select.h>
-
+.PP
/* According to earlier standards */
-.br
.B #include <sys/time.h>
-.br
.B #include <sys/types.h>
-.br
.B #include <unistd.h>
.PP
.BI "int select(int " nfds ", fd_set *" readfds ", fd_set *" writefds ,
.SH SYNOPSIS
.nf
/* According to POSIX.1-2001, POSIX.1-2008 */
-.br
.B #include <sys/select.h>
-
+.PP
/* According to earlier standards */
-.br
.B #include <sys/time.h>
-.br
.B #include <sys/types.h>
-.br
.B #include <unistd.h>
.PP
.BI "int select(int " nfds ", fd_set *" readfds ", fd_set *" writefds ,
.PP
.BI "ssize_t send(int " sockfd ", const void *" buf ", size_t " len \
", int " flags );
-
+.PP
.BI "ssize_t sendto(int " sockfd ", const void *" buf ", size_t " len \
", int " flags ,
.BI " const struct sockaddr *" dest_addr ", socklen_t " addrlen );
-
+.PP
.BI "ssize_t sendmsg(int " sockfd ", const struct msghdr *" msg \
", int " flags );
.fi
.nf
.BR "#define _GNU_SOURCE" " /* See feature_test_macros(7) */"
.BI "#include <sys/socket.h>"
-
+.PP
.BI "int sendmmsg(int " sockfd ", struct mmsghdr *" msgvec \
", unsigned int " vlen ","
.BI " unsigned int " flags ");"
.nf
.B #include <linux/unistd.h>
.B #include <asm/ldt.h>
-
+.PP
.BI "int get_thread_area(struct user_desc *" u_info );
.BI "int set_thread_area(struct user_desc *" u_info );
.fi
-
+.PP
.IR Note :
There are no glibc wrappers for these system calls; see NOTES.
.SH DESCRIPTION
.PP
.BI "long set_tid_address(int *" tidptr );
.fi
-
+.PP
.IR Note :
There is no glibc wrapper for this system call; see NOTES.
.SH DESCRIPTION
.B "long sgetmask(void);"
.PP
.BI "long ssetmask(long " newmask );
-
+.PP
.IR Note :
There are no glibc wrappers for these system calls; see NOTES.
.SH DESCRIPTION
.nf
.B #include <sys/types.h>
.B #include <sys/shm.h>
-
+.PP
.BI "void *shmat(int " shmid ", const void *" shmaddr ", int " shmflg );
-
+.PP
.BI "int shmdt(const void *" shmaddr );
.fi
.SH DESCRIPTION
.ad l
.BR sigaction ():
_POSIX_C_SOURCE
-
+.PP
.IR siginfo_t :
_POSIX_C_SOURCE >= 199309L
.ad b
.nf
/* Prototype for the glibc wrapper function */
.BI "int sigprocmask(int " how ", const sigset_t *" set ", sigset_t *" oldset );
-
+.PP
/* Prototype for the underlying system call */
.BI "int rt_sigprocmask(int " how ", const kernel_sigset_t *" set ,
.BI " kernel_sigset_t *" oldset ", size_t " sigsetsize );
-
+.PP
/* Prototype for the legacy system call (deprecated) */
.BI "int sigprocmask(int " how ", const old_kernel_sigset_t *" set ,
.BI " old_kernel_sigset_t *" oldset ); "
.fi
-
.PP
.in -4n
Feature Test Macro Requirements for glibc (see
.nf
.BR "#define _GNU_SOURCE" " /* See feature_test_macros(7) */"
.B #include <fcntl.h>
-
+.PP
.BI "ssize_t splice(int " fd_in ", loff_t *" off_in ", int " fd_out ,
.BI " loff_t *" off_out ", size_t " len \
", unsigned int " flags );
.nf
.B #include <sys/types.h>
.B #include <sys/spu.h>
-
+.PP
.BI "int spu_create(const char *" pathname ", int " flags ", mode_t " mode ");"
.BI "int spu_create(const char *" pathname ", int " flags ", mode_t " mode ","
.BI " int " neighbor_fd ");"
.fi
-
+.PP
.IR Note :
There is no glibc wrapper for this system call; see NOTES.
.SH DESCRIPTION
.SH SYNOPSIS
.nf
.B #include <sys/spu.h>
-
+.PP
.BI "int spu_run(int " fd ", unsigned int *" npc \
", unsigned int *" event ");"
.fi
-
+.PP
.IR Note :
There is no glibc wrapper for this system call; see NOTES.
.SH DESCRIPTION
.B #include <sys/stat.h>
.B #include <unistd.h>
.BR "#include <fcntl.h> " "/* Definition of AT_* constants */"
-
+.PP
.BI "int statx(int " dirfd ", const char *" pathname ", int " flags ","
.BI " unsigned int " mask ", struct statx *" statxbuf );
.fi
-
+.PP
.IR Note :
There is no glibc wrapper for
.BR statx ();
.BI "long subpage_prot(unsigned long " addr ", unsigned long " len ,
.BI " uint32_t *" map ");
.fi
-
+.PP
.IR Note :
There is no glibc wrapper for this system call; see NOTES.
.SH DESCRIPTION
.nf
.BR "#define _GNU_SOURCE" " /* See feature_test_macros(7) */"
.B #include <fcntl.h>
-
+.PP
.BI "int sync_file_range(int " fd ", off64_t " offset ", off64_t " nbytes ,
.BI " unsigned int " flags );
.fi
.BR "#define _GNU_SOURCE" " /* See feature_test_macros(7) */"
.B #include <unistd.h>
.BR "#include <sys/syscall.h> " "/* For SYS_xxx definitions */"
-
+.PP
.BI "long syscall(long " number ", ...);"
.fi
.SH DESCRIPTION
.PP
.BI "int _sysctl(struct __sysctl_args *" args );
.fi
-
+.PP
.IR Note :
There is no glibc wrapper for this system call; see NOTES.
.SH DESCRIPTION
sysfs \- get filesystem type information
.SH SYNOPSIS
.BI "int sysfs(int " option ", const char *" fsname );
-
+.PP
.BI "int sysfs(int " option ", unsigned int " fs_index ", char *" buf );
-
+.PP
.BI "int sysfs(int " option );
.SH DESCRIPTION
.BR sysfs ()
.nf
.BR "#define _GNU_SOURCE" " /* See feature_test_macros(7) */"
.B #include <fcntl.h>
-
+.PP
.BI "ssize_t tee(int " fd_in ", int " fd_out ", size_t " len \
", unsigned int " flags );
.fi
.nf
.B #include <signal.h>
.B #include <time.h>
-
+.PP
.BI "int timer_create(clockid_t " clockid ", struct sigevent *" sevp ,
.BI " timer_t *" timerid );
.fi
-
+.PP
Link with \fI\-lrt\fP.
.PP
.in -4n
.SH SYNOPSIS
.nf
.B #include <time.h>
-
+.PP
.BI "int timer_delete(timer_t " timerid );
.fi
-
+.PP
Link with \fI\-lrt\fP.
.PP
.in -4n
.SH SYNOPSIS
.nf
.B #include <time.h>
-
+.PP
.BI "int timer_getoverrun(timer_t " timerid );
.fi
-
+.PP
Link with \fI\-lrt\fP.
.PP
.in -4n
.SH SYNOPSIS
.nf
.B #include <time.h>
-
+.PP
.BI "int timer_settime(timer_t " timerid ", int " flags ,
.BI " const struct itimerspec *" new_value ,
.BI " struct itimerspec *" old_value );
.BI "int timer_gettime(timer_t " timerid ", struct itimerspec *" curr_value );
.fi
-
+.PP
Link with \fI\-lrt\fP.
.PP
.in -4n
.PP
.BI "int tgkill(int " tgid ", int " tid ", int " sig );
.fi
-
+.PP
.IR Note :
There are no glibc wrappers for these system calls; see NOTES.
.SH DESCRIPTION
.B #include <unistd.h>
.PP
.BI "int uselib(const char *" library );
-
+.PP
.IR Note :
No declaration of this system call is provided in glibc headers; see NOTES.
.SH DESCRIPTION
.PP
.BI "int utimensat(int " dirfd ", const char *" pathname ,
.BI " const struct timespec " times "[2], int " flags );
-
+.PP
.BI "int futimens(int " fd ", const struct timespec " times [2]);
.fi
.PP
.BR "#define _GNU_SOURCE" " /* See feature_test_macros(7) */"
.B #include <fcntl.h>
.B #include <sys/uio.h>
-
+.PP
.BI "ssize_t vmsplice(int " fd ", const struct iovec *" iov ,
.BI " unsigned long " nr_segs ", unsigned int " flags );
.fi
.B #include <sys/wait.h>
.PP
.BI "pid_t wait(int *" "wstatus" );
-
+.PP
.BI "pid_t waitpid(pid_t " pid ", int *" wstatus ", int " options );
-
+.PP
.BI "int waitid(idtype_t " idtype ", id_t " id \
", siginfo_t *" infop ", int " options );
/* This is the glibc and POSIX interface; see
.nf
.BR "#define _GNU_SOURCE" " /* See feature_test_macros(7) */"
.B "#include <aio.h>"
-
+.PP
.BI "void aio_init(const struct aioinit *" init );
.fi
.PP
|| /* Since glibc 2.19: */ _DEFAULT_SOURCE
|| /* Glibc versions <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
.RE
-
+.PP
.BR asinhf (),
.BR asinhl ():
.RS 4
.SH SYNOPSIS
.nf
.B #include <math.h>
-
+.PP
.BI "double atan2(double " y ", double " x );
.BI "float atan2f(float " y ", float " x );
.BI "long double atan2l(long double " y ", long double " x );
-
.fi
+.PP
Link with \fI\-lm\fP.
.PP
.in -4n
|| /* Since glibc 2.19: */ _DEFAULT_SOURCE
|| /* Glibc versions <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
.RE
-
+.PP
.BR atanhf (),
.BR atanhl ():
.RS 4
for application self-debugging
.SH SYNOPSIS
.B #include <execinfo.h>
-
+.PP
.B int backtrace(void
.BI ** buffer ,
.B int
.IB size );
-
+.PP
.B char **backtrace_symbols(void *const
.BI * buffer ,
.B int
.IB size );
-
+.PP
.B void backtrace_symbols_fd(void *const
.BI * buffer ,
.B int
.B #include <libgen.h>
.PP
.BI "char *dirname(char *" path );
-
+.PP
.BI "char *basename(char *" path );
.fi
.SH DESCRIPTION
.SH SYNOPSIS
.nf
.B #include <byteswap.h>
-
+.PP
.BI bswap_16( x );
.BI bswap_32( x );
.BI bswap_64( x );
.B #include <strings.h>
.PP
.BI "void bzero(void *" s ", size_t " n );
-
+.PP
.B #include <string.h>
.PP
.BI "void explicit_bzero(void *" s ", size_t " n );
.SH SYNOPSIS
.nf
.B #include <nl_types.h>
-
+.PP
.BI "char *catgets(nl_catd " catalog ", int " set_number \
", int " message_number ,
.BI " const char *" message );
.B #include <nl_types.h>
.PP
.BI "nl_catd catopen(const char *" name ", int " flag );
-
+.PP
.BI "int catclose(nl_catd " catalog );
.SH DESCRIPTION
The function
.nf
.B #define _GNU_SOURCE
.B #include <dlfcn.h>
-
+.PP
.BI "int dladdr(void *" addr ", Dl_info *" info );
-
+.PP
.BI "int dladdr1(void *" addr ", Dl_info *" info ", void **" \
extra_info ", int " flags );
-
+.PP
Link with \fI\-ldl\fP.
.fi
.SH DESCRIPTION
.B #include <dlfcn.h>
.PP
.BI "void *dlsym(void *" handle ", const char *" symbol );
-
+.PP
.B #define _GNU_SOURCE
.br
.B #include <dlfcn.h>
.SH SYNOPSIS
.nf
.B #include <endian.h>
-
+.PP
.BI "uint16_t htobe16(uint16_t " host_16bits );
.BI "uint16_t htole16(uint16_t " host_16bits );
.BI "uint16_t be16toh(uint16_t " big_endian_16bits );
.BI "uint16_t le16toh(uint16_t " little_endian_16bits );
-
+.PP
.BI "uint32_t htobe32(uint32_t " host_32bits );
.BI "uint32_t htole32(uint32_t " host_32bits );
.BI "uint32_t be32toh(uint32_t " big_endian_32bits );
.BI "uint32_t le32toh(uint32_t " little_endian_32bits );
-
+.PP
.BI "uint64_t htobe64(uint64_t " host_64bits );
.BI "uint64_t htole64(uint64_t " host_64bits );
.BI "uint64_t be64toh(uint64_t " big_endian_64bits );
.SH SYNOPSIS
.nf
.B "#include <envz.h>"
-
+.PP
.BI "error_t envz_add(char **" envz ", size_t *" envz_len ,
.BI " const char *" name ", const char *" value );
-
+.PP
.BI "char *envz_entry(const char *" envz ", size_t " envz_len \
", const char *" name );
-
+.PP
.BI "char *envz_get(const char *" envz ", size_t " envz_len \
", const char *" name );
-
+.PP
.BI "error_t envz_merge(char **" envz ", size_t *" envz_len ,
.BI " const char *" envz2 ", size_t " envz2_len \
", int " override );
-
+.PP
.BI "void envz_remove(char **" envz ", size_t *" envz_len \
", const char *" name );
-
+.PP
.BI "void envz_strip(char **" envz ", size_t *" envz_len );
.fi
.SH DESCRIPTION
.SH SYNOPSIS
.nf
.B #include <math.h>
-
+.PP
.BI "double erf(double " x );
.BI "float erff(float " x );
.BI "long double erfl(long double " x );
-
+.PP
.fi
Link with \fI\-lm\fP.
.PP
.SH SYNOPSIS
.nf
.B #include <math.h>
-
+.PP
.BI "double erfc(double " x );
.BI "float erfcf(float " x );
.BI "long double erfcl(long double " x );
-
.fi
+.PP
Link with \fI\-lm\fP.
.PP
.in -4n
.SH SYNOPSIS
.nf
.B #include <error.h>
-
+.PP
.BI "void error(int " status ", int " errnum ", const char *" format ", ...);"
-
+.PP
.BI "void error_at_line(int " status ", int " errnum ", const char *" filename ,
.BI " unsigned int " linenum ", const char *" format ", ...);"
-
+.PP
.BI "extern unsigned int " error_message_count ;
-
+.PP
.BI "extern int " error_one_per_line ;
-
+.PP
.BI "extern void (*" error_print_progname ") (void);"
.fi
.SH DESCRIPTION
.B #include <stdio.h>
.PP
.BI "void clearerr(FILE *" stream );
-
+.PP
.BI "int feof(FILE *" stream );
-
+.PP
.BI "int ferror(FILE *" stream );
-
+.PP
.BI "int fileno(FILE *" stream );
.PP
.in -4n
.B #include <strings.h>
.PP
.BI "int ffs(int " i );
-
+.PP
.B #include <string.h>
.PP
.BI "int ffsl(long int " i );
.B #include <stdio.h>
.PP
.BI "int fgetc(FILE *" stream );
-
+.PP
.BI "char *fgets(char *" "s" ", int " "size" ", FILE *" "stream" );
-
+.PP
.BI "int getc(FILE *" stream );
-
+.PP
.B "int getchar(void);"
-
+.PP
.BI "int ungetc(int " c ", FILE *" stream );
.fi
.SH DESCRIPTION
.SH SYNOPSIS
.nf
.B #include <stdio.h>
-
+.PP
.BI "FILE *fmemopen(void *"buf ", size_t "size ", const char *" mode ");"
.fi
.PP
.B #include <stdio.h>
.PP
.BI "FILE *fopen(const char *" pathname ", const char *" mode );
-
+.PP
.BI "FILE *fdopen(int " fd ", const char *" mode );
-
+.PP
.BI "FILE *freopen(const char *" pathname ", const char *" mode ", FILE *" stream );
.fi
.PP
.nf
.BR "#define _GNU_SOURCE" " /* See feature_test_macros(7) */"
.B #include <stdio.h>
-
+.PP
.BI "FILE *fopencookie(void *" cookie ", const char *" mode ,
.BI " cookie_io_functions_t " io_funcs );
.fi
.B #include <stdio.h>
.PP
.BI "int fseek(FILE *" stream ", long " offset ", int " whence );
-
+.PP
.BI "long ftell(FILE *" stream );
-
+.PP
.BI "void rewind(FILE *" stream );
-
+.PP
.BI "int fgetpos(FILE *" stream ", fpos_t *" pos );
-.br
+.PP
.BI "int fsetpos(FILE *" stream ", const fpos_t *" pos );
.SH DESCRIPTION
The
.BI " int (*" fn ") (const char *" fpath ", const struct stat *" sb ,
.BI " int " typeflag ", struct FTW *" ftwbuf ),
.BI " int " nopenfd ", int " flags );
-
+.PP
.B #include <ftw.h>
.PP
.BI "int ftw(const char *" dirpath ,
.SH SYNOPSIS
.nf
.B #include <sys/time.h>
-
+.PP
.BI "int futimes(int " fd ", const struct timeval " tv [2]);
-
+.PP
.BI "int lutimes(const char *" filename ", const struct timeval " tv [2]);
.fi
.PP
.BI "struct tm *getdate(const char *" string );
.PP
.B "extern int getdate_err;"
-
+.PP
.B "#include <time.h>"
.PP
.BI "int getdate_r(const char *" string ", struct tm *" res );
.B #include <stdlib.h>
.PP
.BI "char *getenv(const char *" name );
-
+.PP
.BI "char *secure_getenv(const char *" name );
.fi
.PP
.B #include <stdio.h>
.PP
.BI "ssize_t getline(char **" lineptr ", size_t *" n ", FILE *" stream );
-
+.PP
.BI "ssize_t getdelim(char **" lineptr ", size_t *" n ", int " delim \
", FILE *" stream );
.fi
.B "char *getlogin(void);"
.br
.BI "int getlogin_r(char *" buf ", size_t " bufsize );
-
+.PP
.B #include <stdio.h>
.PP
.BI "char *cuserid(char *" string );
.SH SYNOPSIS
.nf
.B #include <netdb.h>
-
+.PP
.BI "struct rpcent *getrpcent(void);"
-
+.PP
.BI "struct rpcent *getrpcbyname(const char *" name );
-
+.PP
.BI "struct rpcent *getrpcbynumber(int " number );
-
+.PP
.BI "void setrpcent(int " stayopen );
-
+.PP
.BI "void endrpcent(void);"
.fi
.SH DESCRIPTION
getsubopt \- parse suboption arguments from a string
.SH SYNOPSIS
.B #include <stdlib.h>
-
+.PP
.BI "int getsubopt(char **"optionp ", char * const *" tokens \
", char **" valuep );
.PP
.nf
.BR "#define _GNU_SOURCE" " /* See feature_test_macros(7) */"
.B #include <utmpx.h>
-
+.PP
.BI " void getutmp(const struct utmpx *" ux ", struct utmp *" u );
.BI " void getutmpx(const struct utmp *" u ", struct utmpx *" ux );
.fi
.B #include <stdio.h>
.PP
.BI "int getw(FILE *" stream );
-
+.PP
.BI "int putw(int " w ", FILE *" stream );
.fi
.PP
.SH SYNOPSIS
.nf
.B #include <gnu/libc-version.h>
-
+.PP
.B const char *gnu_get_libc_version(void);
.B const char *gnu_get_libc_release(void);
.fi
.SH SYNOPSIS
.nf
.B #include <arpa/inet.h>
-
+.PP
.BI "int inet_net_pton(int " af ", const char *" pres ,
.BI " void *" netp ", size_t " nsize );
.BI "int isspace(int " c );
.BI "int isupper(int " c );
.BI "int isxdigit(int " c );
-
+.PP
.BI "int isascii(int " c );
.BI "int isblank(int " c );
-
+.PP
.BI "int isalnum_l(int " c ", locale_t " locale );
.BI "int isalpha_l(int " c ", locale_t " locale );
.BI "int isblank_l(int " c ", locale_t " locale );
.BI "int isspace_l(int " c ", locale_t " locale );
.BI "int isupper_l(int " c ", locale_t " locale );
.BI "int isxdigit_l(int " c ", locale_t " locale );
-
+.PP
.BI "int isascii_l(int " c ", locale_t " locale );
.fi
.PP
.SH SYNOPSIS
.nf
.B "#include <aio.h>"
-
+.PP
.BI "int lio_listio(int " mode ", struct aiocb *const " aiocb_list [],
.BI " int " nitems ", struct sigevent *" sevp );
-
+.PP
Link with \fI\-lrt\fP.
.fi
.SH DESCRIPTION
.SH SYNOPSIS
.nf
.B #include <sys/sysmacros.h>
-
+.PP
.BI "dev_t makedev(unsigned int " maj ", unsigned int " min );
-
+.PP
.BI "unsigned int major(dev_t " dev );
.BI "unsigned int minor(dev_t " dev );
.fi
.B #include <malloc.h>
.PP
.BI "void* malloc_get_state(void);"
-
+.PP
.BI "int malloc_set_state(void *" state );
.fi
.SH DESCRIPTION
malloc_stats \- print memory allocation statistics
.SH SYNOPSIS
.B #include <malloc.h>
-
+.PP
.B void malloc_stats(void);
.SH DESCRIPTION
The
malloc_trim \- release free memory from the top of the heap
.SH SYNOPSIS
.B #include <malloc.h>
-
+.PP
.BI "int malloc_trim(size_t " pad );
.SH DESCRIPTION
The
malloc_usable_size \- obtain size of block of memory allocated from heap
.SH SYNOPSIS
.B #include <malloc.h>
-
+.PP
.BI "size_t malloc_usable_size (void *" ptr );
.SH DESCRIPTION
The
.in -4n
Feature Test Macro Requirements for glibc (see
.BR feature_test_macros (7)):
-
+.PP
.in
.ad l
.BR significand (),
.SH SYNOPSIS
.nf
.B #include <string.h>
-
+.PP
.BI "void *memchr(const void *" s ", int " c ", size_t " n );
-
+.PP
.BI "void *memrchr(const void *" s ", int " c ", size_t " n );
-
+.PP
.BI "void *rawmemchr(const void *" s ", int " c );
.fi
.PP
.nf
.BR "#define _GNU_SOURCE" " /* See feature_test_macros(7) */"
.B #include <math.h>
-
+.PP
.BI "double nextup(double " x );
.BI "float nextupf(float " x );
.BI "long double nextupl(long double " x );
-
+.PP
.BI "double nextdown(double " x );
.BI "float nextdownf(float " x );
.BI "long double nextdownl(long double " x );
-
+.PP
Link with \fI\-lm\fP.
.SH DESCRIPTION
The
.SH SYNOPSIS
.nf
.B #include <sys/timex.h>
-
+.PP
.BI "int ntp_gettime(struct ntptimeval *" ntv );
-
+.PP
.BI "int ntp_gettimex(struct ntptimeval *" ntv );
.fi
.SH DESCRIPTION
.SH SYNOPSIS
.nf
.B #include <sys/mman.h>
-
+.PP
.BI "int posix_madvise(void *" addr ", size_t " len ", int " advice );
.fi
-
+.PP
.in -4n
Feature Test Macro Requirements for glibc (see
.BR feature_test_macros (7)):
.nf
.BR "#define _GNU_SOURCE" " /* See feature_test_macros(7) */"
.B #include <errno.h>
-
+.PP
.BI "extern char *" program_invocation_name ;
.BI "extern char *" program_invocation_short_name ;
.fi
.SH SYNOPSIS
.nf
.B #include <pthread.h>
-
+.PP
.BI "int pthread_atfork(void (*" prepare ")(void), void (*" parent ")(void),"
.BI " void (*" child ")(void));"
.fi
.nf
.BR "#define _GNU_SOURCE" " /* See feature_test_macros(7) */"
.B #include <pthread.h>
-
+.PP
.BI "int pthread_attr_setaffinity_np(pthread_attr_t *" attr ,
.BI " size_t " cpusetsize ", const cpu_set_t *" cpuset );
.BI "int pthread_attr_getaffinity_np(const pthread_attr_t *" attr ,
.SH SYNOPSIS
.nf
.B #include <pthread.h>
-
+.PP
.BI "int pthread_attr_setdetachstate(pthread_attr_t *" attr \
", int " detachstate );
.BI "int pthread_attr_getdetachstate(const pthread_attr_t *" attr \
.SH SYNOPSIS
.nf
.B #include <pthread.h>
-
+.PP
.BI "int pthread_attr_setguardsize(pthread_attr_t *" attr \
", size_t " guardsize );
.BI "int pthread_attr_getguardsize(const pthread_attr_t *" attr \
.SH SYNOPSIS
.nf
.B #include <pthread.h>
-
+.PP
.BI "int pthread_attr_setinheritsched(pthread_attr_t *" attr ,
.BI " int " inheritsched );
.BI "int pthread_attr_getinheritsched(const pthread_attr_t *" attr ,
.SH SYNOPSIS
.nf
.B #include <pthread.h>
-
+.PP
.BI "int pthread_attr_setschedparam(pthread_attr_t *" attr ,
.BI " const struct sched_param *" param );
.BI "int pthread_attr_getschedparam(const pthread_attr_t *" attr ,
.SH SYNOPSIS
.nf
.B #include <pthread.h>
-
+.PP
.BI "int pthread_attr_setschedpolicy(pthread_attr_t *" attr \
", int " policy );
.BI "int pthread_attr_getschedpolicy(const pthread_attr_t *" attr \
.SH SYNOPSIS
.nf
.B #include <pthread.h>
-
+.PP
.BI "int pthread_attr_setscope(pthread_attr_t *" attr \
", int " scope );
.BI "int pthread_attr_getscope(const pthread_attr_t *" attr \
.SH SYNOPSIS
.nf
.B #include <pthread.h>
-
+.PP
.BI "int pthread_attr_setstack(pthread_attr_t *" attr ,
.BI " void *" stackaddr ", size_t " stacksize );
.BI "int pthread_attr_getstack(const pthread_attr_t *" attr ,
.SH SYNOPSIS
.nf
.B #include <pthread.h>
-
+.PP
.BI "int pthread_attr_setstackaddr(pthread_attr_t *" attr \
", void *" stackaddr );
.BI "int pthread_attr_getstackaddr(const pthread_attr_t *" attr \
.SH SYNOPSIS
.nf
.B #include <pthread.h>
-
+.PP
.BI "int pthread_attr_setstacksize(pthread_attr_t *" attr \
", size_t " stacksize );
.BI "int pthread_attr_getstacksize(const pthread_attr_t *" attr \
.SH SYNOPSIS
.nf
.B #include <pthread.h>
-
+.PP
.BI "void pthread_cleanup_push_defer_np(void (*" routine ")(void *),"
.BI " void *" arg );
.BI "void pthread_cleanup_pop_restore_np(int " execute );
.SH SYNOPSIS
.nf
.B #include <pthread.h>
-
+.PP
.BI "int pthread_detach(pthread_t " thread );
.fi
.PP
.SH SYNOPSIS
.nf
.B #include <pthread.h>
-
+.PP
.BI "int pthread_equal(pthread_t " t1 ", pthread_t " t2 );
.PP
Compile and link with \fI\-pthread\fP.
.SH SYNOPSIS
.nf
.B #include <pthread.h>
-
+.PP
.BI "void pthread_exit(void *" retval );
.PP
Compile and link with \fI\-pthread\fP.
.SH SYNOPSIS
.nf
.B #include <pthread.h>
-
+.PP
.BI "int pthread_join(pthread_t " thread ", void **" retval );
.fi
.PP
.SH SYNOPSIS
.nf
.B #include <signal.h>
-
+.PP
.BI "int pthread_kill(pthread_t " thread ", int " sig );
.fi
.PP
.SH SYNOPSIS
.nf
.B #include <pthread.h>
-
+.PP
.B void pthread_kill_other_threads_np(void);
.fi
.SH DESCRIPTION
.SH SYNOPSIS
.nf
.B #include <pthread.h>
-
+.PP
.BI "int pthread_rwlockattr_setkind_np(pthread_rwlockattr_t *" attr ,
.BI " int " pref );
.BI "int pthread_rwlockattr_getkind_np(const pthread_rwlockattr_t *" attr ,
.SH SYNOPSIS
.nf
.B #include <pthread.h>
-
+.PP
.B pthread_t pthread_self(void);
.PP
Compile and link with \fI\-pthread\fP.
.SH SYNOPSIS
.nf
.B #include <pthread.h>
-
+.PP
.BI "int pthread_setcancelstate(int " state ", int *" oldstate );
.BI "int pthread_setcanceltype(int " type ", int *" oldtype );
.PP
.SH SYNOPSIS
.nf
.B #include <pthread.h>
-
+.PP
.BI "int pthread_setconcurrency(int " new_level );
.BI "int pthread_getconcurrency(void);
.PP
.SH SYNOPSIS
.nf
.B #include <pthread.h>
-
+.PP
.BI "int pthread_setschedprio(pthread_t " thread ", int " prio );
.PP
Compile and link with \fI\-pthread\fP.
.SH SYNOPSIS
.nf
.B #include <pthread.h>
-
+.PP
.B void pthread_testcancel(void);
.PP
Compile and link with \fI\-pthread\fP.
.nf
.BR "#define _GNU_SOURCE" " /* See feature_test_macros(7) */"
.B #include <pthread.h>
-
+.PP
.BI "int pthread_tryjoin_np(pthread_t " thread ", void **" retval );
-
+.PP
.BI "int pthread_timedjoin_np(pthread_t " thread ", void **" retval ,
.BI " const struct timespec *" abstime );
.fi
.nf
.BR "#define _GNU_SOURCE" " /* See feature_test_macros(7) */"
.B #include <pthread.h>
-
+.PP
.B int pthread_yield(void);
.fi
.PP
.B #include <stdio.h>
.PP
.BI "int fputc(int " c ", FILE *" stream );
-
+.PP
.BI "int fputs(const char *" "s" ", FILE *" "stream" );
-
+.PP
.BI "int putc(int " c ", FILE *" stream );
-
+.PP
.BI "int putchar(int " c );
-
+.PP
.BI "int puts(const char *" "s" );
.fi
.SH DESCRIPTION
.B #include <stdlib.h>
.PP
.B long int random(void);
-
+.PP
.BI "void srandom(unsigned int " seed );
-
+.PP
.BI "char *initstate(unsigned int " seed ", char *" state ", size_t " n );
-.br
+.PP
.BI "char *setstate(char *" state );
.fi
.PP
.B #include <stdlib.h>
.PP
.BI "int random_r(struct random_data *" buf ", int32_t *" result );
-
+.PP
.BI "int srandom_r(unsigned int " seed ", struct random_data *" buf );
-
+.PP
.BI "int initstate_r(unsigned int " seed ", char *" statebuf ,
.BI " size_t " statelen ", struct random_data *" buf );
-.br
+.PP
.BI "int setstate_r(char *" statebuf ", struct random_data *" buf );
.fi
.PP
.IR "<rpc/rpc.h>" .
The prototypes below make use of the following types:
+.PP
.in +4n
.nf
-
.BI "typedef int " bool_t ;
-
+.PP
.BI "typedef bool_t (*" xdrproc_t ") (XDR *, void *, ...);"
-
+.PP
.BI "typedef bool_t (*" resultproc_t ") (caddr_t " resp ,
.BI " struct sockaddr_in *" raddr );
.fi
.SH SYNOPSIS
.nf
.B #include <sched.h>
-
+.PP
.B int sched_getcpu(void);
.fi
.PP
.SH SYNOPSIS
.nf
.B #include <netdb.h>
-
+.PP
.BI "int setnetgrent(const char *" netgroup );
-
+.PP
.B "void endnetgrent(void);"
-
+.PP
.BI "int getnetgrent(char **" host ", char **" user ", char **" domain );
-
+.PP
.BI "int getnetgrent_r(char **" host ", char **" user ","
.BI " char **" domain ", char *" buf ", size_t " buflen );
-
+.PP
.BI "int innetgr(const char *" netgroup ", const char *" host ","
.BI " const char *" user ", const char *" domain );
.fi
.SH SYNOPSIS
.nf
.B #include <signal.h>
-
+.PP
.BI " int sigwait(const sigset_t *" set ", int *" sig );
.fi
.PP
.SH SYNOPSIS
.nf
.B #include <stdio.h>
-
+.PP
.BI "extern FILE *" stdin ;
.BI "extern FILE *" stdout ;
.BI "extern FILE *" stderr ;
.PP
.BI "char *strerror_r(int " errnum ", char *" buf ", size_t " buflen );
/* GNU-specific */
-
+.PP
.BI "char *strerror_l(int " errnum ", locale_t " locale );
.fi
.PP
.PP
.BI "ssize_t strfmon(char *" s ", size_t " max ", const char *" format ,
.B "...);"
-
+.PP
.BI "ssize_t strfmon_l(char *" s ", size_t " max ", locale_t " locale ",
.B const char *" format , "...);"
.fi
.SH SYNOPSIS
.nf
.B #include <sys/time.h>
-
+.PP
.BI "void timeradd(struct timeval *" a ", struct timeval *" b ,
.BI " struct timeval *" res );
-
+.PP
.BI "void timersub(struct timeval *" a ", struct timeval *" b ,
.BI " struct timeval *" res );
-
+.PP
.BI "void timerclear(struct timeval *" tvp );
-
+.PP
.BI "int timerisset(struct timeval *" tvp );
-
+.PP
.BI "int timercmp(struct timeval *" a ", struct timeval *" b ", " CMP );
.fi
.PP
.SH SYNOPSIS
.nf
.B #include <stdio.h>
-
+.PP
.BI "char *tmpnam(char *" s );
.BI "char *tmpnam_r(char *" s );
.fi
.BI "int toupper(int " "c" );
.br
.BI "int tolower(int " "c" );
-
+.PP
.BI "int toupper_l(int " c ", locale_t " locale );
.BI "int tolower_l(int " c ", locale_t " locale );
.fi
.B #include <wctype.h>
.PP
.BI "wint_t towlower(wint_t " wc );
-
+.PP
.BI "wint_t towlower_l(wint_t " wc ", locale_t " locale );
.fi
.PP
.B #include <wctype.h>
.PP
.BI "wint_t towupper(wint_t " wc );
-
+.PP
.BI "wint_t towupper_l(wint_t " wc ", locale_t " locale );
.fi
.PP
.B #include <unistd.h>
.PP
.BI "char *ttyname(int " fd );
-
+.PP
.BI "int ttyname_r(int " fd ", char *" buf ", size_t " buflen );
.fi
.SH DESCRIPTION
.SH SYNOPSIS
.nf
.B #include <locale.h>
-
+.PP
.BI "locale_t uselocale(locale_t " newloc );
.fi
.PP
arbitrary data structures in a machine-independent fashion.
Data for remote procedure calls are transmitted using these
routines.
-
+.PP
The prototypes below are declared in
.I <rpc/xdr.h>
and make use of the following types:
+.PP
.in +4n
.nf
-
.BI "typedef int " bool_t ;
-
+.PP
.BI "typedef bool_t (*" xdrproc_t ") (XDR *, void *,...);"
.fi
.in
.PP
.BI "ssize_t read(int " fd ", void *" data ", size_t " length );
.BI "ssize_t write(int " fd ", void *" data ", size_t " length );
-
+.PP
.BI "int ioctl(int " fd ", DSP56K_UPLOAD, struct dsp56k_upload *" program );
.BI "int ioctl(int " fd ", DSP56K_SET_TX_WSIZE, int " wsize );
.BI "int ioctl(int " fd ", DSP56K_SET_RX_WSIZE, int " wsize );
.SH SYNOPSIS
.nf
#include <signal.h>
-
+.PP
union sigval { /* Data passed with notification */
int sival_int; /* Integer value */
void *sival_ptr; /* Pointer value */
};
-
+.PP
struct sigevent {
int sigev_notify; /* Notification method */
int sigev_signo; /* Notification signal */
vdso \- overview of the virtual ELF dynamic shared object
.SH SYNOPSIS
.B #include <sys/auxv.h>
-
+.PP
.B void *vdso = (uintptr_t) getauxval(AT_SYSINFO_EHDR);
.SH DESCRIPTION
The "vDSO" (virtual dynamic shared object) is a small shared library that