.BI "int dup2(int " oldfd ", int " newfd );
.BR "#define _GNU_SOURCE" " /* See feature_test_macros(7) */"
-.BR "#include <fcntl.h>" " /* Obtain O_* constant definitions */
+.BR "#include <fcntl.h>" " /* Obtain O_* constant definitions */"
.B #include <unistd.h>
.PP
.BI "int dup3(int " oldfd ", int " newfd ", int " flags );
.B #include <fcntl.h>
.PP
.BI "int fallocate(int " fd ", int " mode ", off_t " offset \
-", off_t " len ");
+", off_t " len ");"
.fi
.SH DESCRIPTION
This is a nonportable, Linux-specific system call.
.PP
.BI "int futex(int *" uaddr ", int " futex_op ", int " val ,
.BI " const struct timespec *" timeout , \
-" \fR /* or: \fBuint32_t \fIval2\fP */
+" \fR /* or: \fBuint32_t \fIval2\fP */"
.BI " int *" uaddr2 ", int " val3 );
.fi
.PP
.\"
.\" lock(kernel_lock);
.\" retry:
-.\"
+.\"
.\" /*
.\" * Owner might have unlocked in userspace before we
.\" * were able to set the waiter bit.
.BI "int ioctl(int " fd ", FAT_IOCTL_GET_ATTRIBUTES, uint32_t *" attr );
.BI "int ioctl(int " fd ", FAT_IOCTL_SET_ATTRIBUTES, uint32_t *" attr );
.BI "int ioctl(int " fd ", FAT_IOCTL_GET_VOLUME_ID, uint32_t *" id );
-.BI "int ioctl(int " fd ", VFAT_IOCTL_READDIR_BOTH,
+.BI "int ioctl(int " fd ", VFAT_IOCTL_READDIR_BOTH,"
.BI " struct __fat_dirent[2] " entry );
-.BI "int ioctl(int " fd ", VFAT_IOCTL_READDIR_SHORT,
+.BI "int ioctl(int " fd ", VFAT_IOCTL_READDIR_SHORT,"
.BI " struct __fat_dirent[2] " entry );
.fi
.SH DESCRIPTION
into the file
.IR dest_fd
at offset
-.IR dest_offset ",
+.IR dest_offset ,
provided that both are files.
If
.IR src_length
bytes from file descriptor
.IR src_fd
at offset
-.IR src_offset ".
+.IR src_offset .
This information is conveyed in a structure of the following form:
.PP
.in +4n
Destinations for the deduplication operation are conveyed in the array at the
end of the structure.
The number of destinations is given in
-.IR dest_count ",
+.IR dest_count ,
and the destination information is conveyed in the following form:
.PP
.in +4n
bytes in file descriptor
.IR dest_fd
at offset
-.IR dest_offset ".
+.IR dest_offset .
The field
.IR reserved
must be zero.
deduplicated is returned in
.IR bytes_deduped
and a status code for the deduplication operation is returned in
-.IR status ".
+.IR status .
If even a single byte in the range does not match, the deduplication
request will be ignored and
.IR status
restoring the default behavior, whereby a mapping is inherited across
.BR fork (2).
.TP
-.BR MADV_HWPOISON " (since Linux 2.6.32)
+.BR MADV_HWPOISON " (since Linux 2.6.32)"
.\" commit 9893e49d64a4874ea67849ee2cfbf3f3d6817573
Poison the pages in the range specified by
.I addr
and
.IR length .
.TP
-.BR MADV_SOFT_OFFLINE " (since Linux 2.6.33)
+.BR MADV_SOFT_OFFLINE " (since Linux 2.6.33)"
.\" commit afcf938ee0aac4ef95b1a23bac704c6fbeb26de6
Soft offline the pages in the range specified by
.I addr
.SH SYNOPSIS
.B #include <linux/membarrier.h>
.PP
-.BI "int membarrier(int " cmd ", int " flags ");
+.BI "int membarrier(int " cmd ", int " flags ");"
.SH DESCRIPTION
The
.BR membarrier ()
.BR "#define _GNU_SOURCE" " /* See feature_test_macros(7) */"
.B #include <sys/mman.h>
.PP
-.BI "int pkey_mprotect(void *" addr ", size_t " len ", int " prot ", int " pkey ");
+.BI "int pkey_mprotect(void *" addr ", size_t " len ", int " prot ", int " pkey ");"
.fi
.SH DESCRIPTION
.BR mprotect ()
.PP
/* Documented separately, in \fBopenat2\fP(2): */
.BI "int openat2(int " dirfd ", const char *" pathname ,
-.BI " const struct open_how *" how ", size_t " size ");
+.BI " const struct open_how *" how ", size_t " size ");"
.fi
.PP
.in -4n
.B #include <openat2.h>
.PP
.BI "int openat2(int " dirfd ", const char *" pathname ,
-.BI " struct open_how *" how ", size_t " size ");
+.BI " struct open_how *" how ", size_t " size ");"
.fi
.PP
.IR Note :
Contains the size of the perf sample region within
the mmap buffer.
.TP
-.IR aux_head ", " aux_tail ", " aux_offset ", " aux_size " (since Linux 4.1)
+.IR aux_head ", " aux_tail ", " aux_offset ", " aux_size " (since Linux 4.1)"
.\" commit 45bfb2e50471abbbfd83d40d28c986078b0d24ff
The AUX region allows mmaping a separate sample buffer for
high-bandwidth data streams (separate from the main perf sample buffer).
.B #include <syscall.h>
.B #include <perfmon.h>
.PP
-.BI "long perfmonctl(int " fd ", int " cmd ", void *" arg ", int " narg ");
+.BI "long perfmonctl(int " fd ", int " cmd ", void *" arg ", int " narg ");"
.fi
.IR Note :
There is no glibc wrapper for this system call; see NOTES.
.TP
.B PFM_CREATE_CONTEXT
.nf
-.BI "perfmonctl(int " fd ", PFM_CREATE_CONTEXT, pfarg_context_t *" ctxt ", 1);
+.BI "perfmonctl(int " fd ", PFM_CREATE_CONTEXT, pfarg_context_t *" ctxt ", 1);"
.fi
Set up a context.
.IP
.B PFM_WRITE_PMCS
.\" pfm_write_pmcs()
.nf
-.BI "perfmonctl(int " fd ", PFM_WRITE_PMCS, pfarg_reg_t *" pmcs ", n);
+.BI "perfmonctl(int " fd ", PFM_WRITE_PMCS, pfarg_reg_t *" pmcs ", n);"
.fi
Set PMC registers.
.TP
.B PFM_WRITE_PMDS
.nf
-.BI "perfmonctl(int " fd ", PFM_WRITE_PMDS, pfarg_reg_t *" pmds ", n);
+.BI "perfmonctl(int " fd ", PFM_WRITE_PMDS, pfarg_reg_t *" pmds ", n);"
.fi
.\" pfm_write_pmds()
Set PMD registers.
.B PFM_READ_PMDS
.\" pfm_read_pmds()
.nf
-.BI "perfmonctl(int " fd ", PFM_READ_PMDS, pfarg_reg_t *" pmds ", n);
+.BI "perfmonctl(int " fd ", PFM_READ_PMDS, pfarg_reg_t *" pmds ", n);"
.fi
Read PMD registers.
.TP
.\" pfm_start()
.nf
.\" .BI "perfmonctl(int " fd ", PFM_START, arg, 1);
-.BI "perfmonctl(int " fd ", PFM_START, NULL, 0);
+.BI "perfmonctl(int " fd ", PFM_START, NULL, 0);"
.fi
Start monitoring.
.TP
.B PFM_STOP
.\" pfm_stop()
.nf
-.BI "perfmonctl(int " fd ", PFM_STOP, NULL, 0);
+.BI "perfmonctl(int " fd ", PFM_STOP, NULL, 0);"
.fi
Stop monitoring.
.TP
.B PFM_LOAD_CONTEXT
.\" pfm_context_load()
.nf
-.BI "perfmonctl(int " fd ", PFM_LOAD_CONTEXT, pfarg_load_t *" largs ", 1);
+.BI "perfmonctl(int " fd ", PFM_LOAD_CONTEXT, pfarg_load_t *" largs ", 1);"
.fi
Attach the context to a thread.
.TP
.B PFM_UNLOAD_CONTEXT
.\" pfm_context_unload()
.nf
-.BI "perfmonctl(int " fd ", PFM_UNLOAD_CONTEXT, NULL, 0);
+.BI "perfmonctl(int " fd ", PFM_UNLOAD_CONTEXT, NULL, 0);"
.fi
Detach the context from a thread.
.TP
.B PFM_RESTART
.\" pfm_restart()
.nf
-.BI "perfmonctl(int " fd ", PFM_RESTART, NULL, 0);
+.BI "perfmonctl(int " fd ", PFM_RESTART, NULL, 0);"
.fi
Restart monitoring after receiving an overflow notification.
.TP
.B PFM_GET_FEATURES
.\" pfm_get_features()
.nf
-.BI "perfmonctl(int " fd ", PFM_GET_FEATURES, pfarg_features_t *" arg ", 1);
+.BI "perfmonctl(int " fd ", PFM_GET_FEATURES, pfarg_features_t *" arg ", 1);"
.fi
.TP
.B PFM_DEBUG
.\" pfm_debug()
.nf
-.BI "perfmonctl(int " fd ", PFM_DEBUG, " val ", 0);
+.BI "perfmonctl(int " fd ", PFM_DEBUG, " val ", 0);"
.fi
If
.I val
.B PFM_GET_PMC_RESET_VAL
.\" pfm_get_pmc_reset()
.nf
-.BI "perfmonctl(int " fd ", PFM_GET_PMC_RESET_VAL, pfarg_reg_t *" req ", n);
+.BI "perfmonctl(int " fd ", PFM_GET_PMC_RESET_VAL, pfarg_reg_t *" req ", n);"
.fi
Reset PMC registers to default values.
.\"
.BI "int pipe(int " pipefd "[2]);"
.BR "#define _GNU_SOURCE" " /* See feature_test_macros(7) */"
-.BR "#include <fcntl.h>" " /* Obtain O_* constant definitions */
+.BR "#include <fcntl.h>" " /* Obtain O_* constant definitions */"
.B #include <unistd.h>
.PP
.BI "int pipe2(int " pipefd "[2], int " flags );
.\" %%%LICENSE_END
.\"
.\" Commit fcf634098c00dd9cd247447368495f0b79be12d1
-.\"
+.\"
.TH PROCESS_VM_READV 2 2020-06-09 "Linux" "Linux Programmer's Manual"
.SH NAME
process_vm_readv, process_vm_writev \- transfer data between process address spaces
.nf
.B #include <asm/unistd.h>
.PP
-.BI "int s390_pci_mmio_write(unsigned long " mmio_addr ",
-.BI " void *" user_buffer ", size_t " length ");
-.BI "int s390_pci_mmio_read(unsigned long " mmio_addr ",
-.BI " void *" user_buffer ", size_t " length ");
+.BI "int s390_pci_mmio_write(unsigned long " mmio_addr ","
+.BI " void *" user_buffer ", size_t " length ");"
+.BI "int s390_pci_mmio_read(unsigned long " mmio_addr ","
+.BI " void *" user_buffer ", size_t " length ");"
.fi
.SH DESCRIPTION
The
.nf
.B #include <asm/runtime_instr.h>
.PP
-.BI "int s390_runtime_instr(int " command ", int " signum ");
+.BI "int s390_runtime_instr(int " command ", int " signum ");"
.fi
.SH DESCRIPTION
The
.nf
.B #include <asm/unistd.h>
.PP
-.BI "int s390_sthyi(unsigned long " function_code ", void *" resp_buffer ",
-.BI " uint64_t *" return_code ", unsigned long " flags ");
+.BI "int s390_sthyi(unsigned long " function_code ", void *" resp_buffer ","
+.BI " uint64_t *" return_code ", unsigned long " flags ");"
.fi
.SH DESCRIPTION
The
.PP
.B #elif defined __m68k__
.PP
-.B "int get_thread_area(void);
+.B "int get_thread_area(void);"
.BI "int set_thread_area(unsigned long " tp );
.PP
.B #elif defined __mips__
.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 ); "
+.BI " old_kernel_sigset_t *" oldset );
.fi
.PP
.in -4n
.SH SYNOPSIS
.nf
.BI "long subpage_prot(unsigned long " addr ", unsigned long " len ,
-.BI " uint32_t *" map ");
+.BI " uint32_t *" map );
.fi
.PP
.IR Note :
.BR CAP_SYS_ADMIN
capability.
.TP
-.BR CLONE_SYSVSEM " (since Linux 2.6.26)
+.BR CLONE_SYSVSEM " (since Linux 2.6.26)"
.\" commit 9edff4ab1f8d82675277a04e359d0ed8bf14a7b7
This flag reverses the effect of the
.BR clone (2)
.nf
.B #include <sys/socket.h>
.BI "struct cmsghdr *CMSG_FIRSTHDR(struct msghdr *" msgh );
-.BI "struct cmsghdr *CMSG_NXTHDR(struct msghdr *" msgh " ,
+.BI "struct cmsghdr *CMSG_NXTHDR(struct msghdr *" msgh ,
.BR " struct cmsghdr *" cmsg );
.BI "size_t CMSG_ALIGN(size_t " length );
.BI "size_t CMSG_SPACE(size_t " length );
.nf
.B #include <locale.h>
.PP
-.BI "locale_t newlocale(int " category_mask ", const char *" locale ",
+.BI "locale_t newlocale(int " category_mask ", const char *" locale ,
.BI " locale_t " base );
.PP
.BI "void freelocale(locale_t " locobj );
.nf
.BR "#define _GNU_SOURCE" " /* See feature_test_macros(7) */"
.B #include <pthread.h>
-.BI "int pthread_setname_np(pthread_t " thread ", const char *" name ");
+.BI "int pthread_setname_np(pthread_t " thread ", const char *" name );
.BI "int pthread_getname_np(pthread_t " thread ,
.BI " char *" name ", size_t " len );
.fi
.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 ",
+.BI "ssize_t strfmon_l(char *" s ", size_t " max ", locale_t " locale ,
.B const char *" format , "...);"
.fi
.SH DESCRIPTION
.nf
.B #include <stdlib.h>
.PP
-.BI "int strfromd(char *restrict " str ", size_t " n ",
+.BI "int strfromd(char *restrict " str ", size_t " n ,
.BI " const char *restrict " format ", double " fp ");"
-.BI "int strfromf(char *restrict " str ", size_t " n ",
+.BI "int strfromf(char *restrict " str ", size_t " n ,
.BI " const char *restrict " format ", float "fp ");"
-.BI "int strfroml(char *restrict " str ", size_t " n ",
+.BI "int strfroml(char *restrict " str ", size_t " n ,
.BI " const char *restrict " format ", long double " fp ");"
.fi
.PP
.PP
.BI "void twalk_r(const void *" root ,
.BI " void (*" action ")(const void *" nodep ", VISIT " which ,
-.BI " void *" closure "),
+.BI " void *" closure ),
.BI " void *" closure );
.PP
.BI "void tdestroy(void *" root ", void (*" free_node ")(void *" nodep ));
.\"
.\" The following is from 2.6.28-rc4: Documentation/networking/ip-sysctl.txt
.TP
-.IR tcp_base_mss " (Integer; default: 512; since Linux 2.6.17)
+.IR tcp_base_mss " (Integer; default: 512; since Linux 2.6.17)"
The initial value of
.I search_low
to be used by the packetization layer Path MTU discovery (MTU probing).
.IR tcp_rmem[2] )
to match the size required by the path for full throughput.
.TP
-.IR tcp_mem " (since Linux 2.4)
+.IR tcp_mem " (since Linux 2.4)"
.\" Since 2.4.0-test7
This is a vector of 3 integers: [low, pressure, high].
These bounds, measured in units of the system page size,
.B LD_TRACE_LOADED_OBJECTS
environment variable has been set.
.TP
-.BR LD_WARN " (since glibc 2.1.3)
+.BR LD_WARN " (since glibc 2.1.3)"
If set to a nonempty string, warn about unresolved symbols.
.TP
.BR LD_PREFER_MAP_32BIT_EXEC " (x86-64 only; since glibc 2.23)"