diff --git a/Changes b/Changes index 886612250..f4f83ffc0 100644 --- a/Changes +++ b/Changes @@ -1,6 +1,6 @@ -==================== Changes in man-pages-2.52 ==================== +==================== Changes in man-pages-2.53 ==================== -Released: 2007-05-29 +Released: 2007-??-?? "A foolish consistency is the hobgoblin of little minds, adored by little statesmen and philosophers and divines" @@ -10,210 +10,10 @@ Released: 2007-05-29 "But damn it, these man pages are a mess!" -Contributors ------------- - -The following people contributed notes, ideas, or patches that have -been incorporated in changes in this release: - - -Apologies if I missed anyone! - - Global changes -------------- -Most of the changes below are about bringing greater consistency -to manual pages, including reducing the side wange of .SH -Section headings. - -Typographical or grammatical errors have been corrected in several -places. - -Various pages - mtk - Make 'manual' component of .TH line "Linux Programmer's Manual" - Reason: consistency. - -Various pages - mtk - Changed date in .TH line into form YYYY-DD-MM. - Reason: consistency. - -Various pages - mtk - Some .SH header lines were made into .SS lines. (One of the aims - here is to reduce the number of non-standard .SH lines.) - -Various pages - mtk - Change title .SH sections named "NOTE" to "NOTES", in some cases - also changing the location of the section within the page. - Reason: consistency. - -Various pages - mtk - Commented out .SH AUTHOR sections; the right place for - documentation authoriship sections is usually comments at the - top of the page source. - -Various pages - mtk - Changed .SH HISTORY to .SH VERSIONS. - Reason: in many cases, HISTORY was being used to describe - Linux/glibc version innformation, as was already done for - VERSIONS sections in other pages. - -Various pages - mtk - Removed HISTORY section, or moved it as a subsection or paragraphs - under another section e.g., NOTES. - Reason: there are too many arbitrary section (.SH) names, and - a HISTORY section never was consistently used across Linux - manual pages. - -Various pages - mtk - Moved SEE ALSO section to be last section on the page - Reason: consistency -- and this where SEE ALSO should be! - -Various pages - mtk - Relocated GLIBC NOTES as subsection under NOTES - Reason: reduce number of arbitrary section (.SH) names. - -Various pages - mtk - Relocated LINUX NOTES as subsection under NOTES - Reason: reduce number of arbitrary section (.SH) names. - -Various pages - mtk - Renamed some "AVAILABILIY" sections to "VERSIONS". - Reason: consistency. - -Various pages - mtk - Renamed some "DIAGNOSTICS" sections to "RETURN VALUE". - Reason: consistency. - -getopt.3 -tzselect.8 - mtk - s/\.SH ENVIRONMENT VARIABLES/.SH ENVIRONMENT/ - Reason: consistency. - -intro.2 -select.2 -sysctl.2 -bsearch.3 -dlopen.3 -envz_add.3 -fmtmsg.3 -getgrent_r.3 -getgrouplist.3 -getpwent_r.3 -getutent.3 -hsearch.3 -rtime.3 -strptime.3 -tsearch.3 -vcs.4 -wordexp.3 - mtk - s/return 0/exit(EXIT_FAILURE)/ in main() of function example - program. - Reason: consistency. - -mprotect.2 -select_tut.2 -dlopen.3 -getgrent_r.3 -getopt.3 -getpwent_r.3 -hsearch.3 -select_tut.2 -tsearch.3 - mtk - Use symbolic constants (EXIT_SUCCESS, EXIT_FAILURE) in calls - to exit(). - Reason: consistency. - -access.2 -chown.2 -lseek.2 -open.2 -read.2 -utmp.5 - mtk - Renamed RESTRICTIONS section to NOTES, or moved text in a - RESTRICTIONS section under existing NOTES section. - Reason: consistency, and reduce number of arbitrary section (.SH) - names. - Changes to individual pages --------------------------- -capget.2 - mtk - s/\.SH FURTHER INFORMATION/.SH NOTES/ - -dup.2 - mtk - s/\.SH WARNING/.SH NOTES/ - -kill.2 - Renamed LINUX HISTORY section to LINUX NOTES, and relocated - within page. - -select_tut.2 - mtk - Relocated example program and made its .SH title "EXAMPLE". - -sigaltstack.2 - mtk - Move code example into its own EXAMPLE secton. - -sigreturn.2 - mtk - s/\.SH WARNING/.SH NOTES/ - -setuid.2 - mtk - s/\.SH "LINUX-SPECIFIC REMARKS"/.SH LINUX NOTES/ - -shmget.2 - mtk - Remove section about effect of fork()/exec()/exit(); shmop.2 - contains the same text, and it only needs to be said once. - -shmop.2 - mtk - Minor rewording under DESCRIPTION. - -daemon.3 - mtk - Minor wording and formatting changes. - -encrypt.3 - mtk - Removed statement that glibc unconditionally exposes declarations - of encrypt() and setkey(), since portable applications must - use and define _XOPEN_SOURCE to obtain the declarations - of setkey() and encrypt(). Adjusted example program accordingly. - -mkstemp.3 - mtk - Slight rewording. - -LDP.7 - mtk - Minor wording and formatting changes. - -man.7 - mtk - Substantial rewrite, revising and extending the discussion - about desired conventions for writing pages. - There will be further updates to this page in the next few - man-pages releases. diff --git a/Changes.old b/Changes.old index b237935d4..142516aa1 100644 --- a/Changes.old +++ b/Changes.old @@ -6272,3 +6272,214 @@ sem_wait.3 stdarg.3 mtk Add "va_start", "va_arg", "va_end", "va_copy" to .SH NAME line. + + +==================== Changes in man-pages-2.52 ==================== + +Released: 2007-05-29 + + "A foolish consistency is the hobgoblin of little minds, adored by + little statesmen and philosophers and divines" + + Ralph Waldo Emerson (1803-1882) + + "But damn it, these man pages are a mess!" + + +Global changes +-------------- + +Most of the changes below are about bringing greater consistency +to manual pages, including reducing the side wange of .SH +Section headings. + +Typographical or grammatical errors have been corrected in several +places. + +Various pages + mtk + Make 'manual' component of .TH line "Linux Programmer's Manual" + Reason: consistency. + +Various pages + mtk + Changed date in .TH line into form YYYY-DD-MM. + Reason: consistency. + +Various pages + mtk + Some .SH header lines were made into .SS lines. (One of the aims + here is to reduce the number of non-standard .SH lines.) + +Various pages + mtk + Change title .SH sections named "NOTE" to "NOTES", in some cases + also changing the location of the section within the page. + Reason: consistency. + +Various pages + mtk + Commented out .SH AUTHOR sections; the right place for + documentation authoriship sections is usually comments at the + top of the page source. + +Various pages + mtk + Changed .SH HISTORY to .SH VERSIONS. + Reason: in many cases, HISTORY was being used to describe + Linux/glibc version innformation, as was already done for + VERSIONS sections in other pages. + +Various pages + mtk + Removed HISTORY section, or moved it as a subsection or paragraphs + under another section e.g., NOTES. + Reason: there are too many arbitrary section (.SH) names, and + a HISTORY section never was consistently used across Linux + manual pages. + +Various pages + mtk + Moved SEE ALSO section to be last section on the page + Reason: consistency -- and this where SEE ALSO should be! + +Various pages + mtk + Relocated GLIBC NOTES as subsection under NOTES + Reason: reduce number of arbitrary section (.SH) names. + +Various pages + mtk + Relocated LINUX NOTES as subsection under NOTES + Reason: reduce number of arbitrary section (.SH) names. + +Various pages + mtk + Renamed some "AVAILABILIY" sections to "VERSIONS". + Reason: consistency. + +Various pages + mtk + Renamed some "DIAGNOSTICS" sections to "RETURN VALUE". + Reason: consistency. + +getopt.3 +tzselect.8 + mtk + s/\.SH ENVIRONMENT VARIABLES/.SH ENVIRONMENT/ + Reason: consistency. + +intro.2 +select.2 +sysctl.2 +bsearch.3 +dlopen.3 +envz_add.3 +fmtmsg.3 +getgrent_r.3 +getgrouplist.3 +getpwent_r.3 +getutent.3 +hsearch.3 +rtime.3 +strptime.3 +tsearch.3 +vcs.4 +wordexp.3 + mtk + s/return 0/exit(EXIT_FAILURE)/ in main() of function example + program. + Reason: consistency. + +mprotect.2 +select_tut.2 +dlopen.3 +getgrent_r.3 +getopt.3 +getpwent_r.3 +hsearch.3 +select_tut.2 +tsearch.3 + mtk + Use symbolic constants (EXIT_SUCCESS, EXIT_FAILURE) in calls + to exit(). + Reason: consistency. + +access.2 +chown.2 +lseek.2 +open.2 +read.2 +utmp.5 + mtk + Renamed RESTRICTIONS section to NOTES, or moved text in a + RESTRICTIONS section under existing NOTES section. + Reason: consistency, and reduce number of arbitrary section (.SH) + names. + + +Changes to individual pages +--------------------------- + +capget.2 + mtk + s/\.SH FURTHER INFORMATION/.SH NOTES/ + +dup.2 + mtk + s/\.SH WARNING/.SH NOTES/ + +kill.2 + Renamed LINUX HISTORY section to LINUX NOTES, and relocated + within page. + +select_tut.2 + mtk + Relocated example program and made its .SH title "EXAMPLE". + +sigaltstack.2 + mtk + Move code example into its own EXAMPLE secton. + +sigreturn.2 + mtk + s/\.SH WARNING/.SH NOTES/ + +setuid.2 + mtk + s/\.SH "LINUX-SPECIFIC REMARKS"/.SH LINUX NOTES/ + +shmget.2 + mtk + Remove section about effect of fork()/exec()/exit(); shmop.2 + contains the same text, and it only needs to be said once. + +shmop.2 + mtk + Minor rewording under DESCRIPTION. + +daemon.3 + mtk + Minor wording and formatting changes. + +encrypt.3 + mtk + Removed statement that glibc unconditionally exposes declarations + of encrypt() and setkey(), since portable applications must + use and define _XOPEN_SOURCE to obtain the declarations + of setkey() and encrypt(). Adjusted example program accordingly. + +mkstemp.3 + mtk + Slight rewording. + +LDP.7 + mtk + Minor wording and formatting changes. + +man.7 + mtk + Substantial rewrite, revising and extending the discussion + about desired conventions for writing pages. + There will be further updates to this page in the next few + man-pages releases. diff --git a/man-pages-2.53.Announce b/man-pages-2.53.Announce index 21a20a2f6..01cb82aa2 100644 --- a/man-pages-2.53.Announce +++ b/man-pages-2.53.Announce @@ -1,7 +1,7 @@ RELEASE The Linux man page maintainer proudly announces. . . - man-pages-2.52.tar.gz - man pages for Linux + man-pages-2.53.tar.gz - man pages for Linux Differences from the previous manual pages release are listed in the file "Changes". diff --git a/man-pages-2.53.lsm b/man-pages-2.53.lsm index 7033efa92..194f5499a 100644 --- a/man-pages-2.53.lsm +++ b/man-pages-2.53.lsm @@ -1,13 +1,13 @@ Begin3 Title: Section 2, 3, 4, 5 and 7 man pages for Linux -Version: 2.52 -Entered-date: 2007-05-29 +Version: 2.53 +Entered-date: 2007-??-?? Description: Linux and POSIX manual pages Keywords: man pages Author: several Maintained-by: Michael Kerrisk Primary-site: ftp://ftp.kernel.org/pub/linux/docs/manpages - 2599k man-pages-2.52.tar.gz + ????k man-pages-2.53.tar.gz Alternate-site: ftp://ftp.win.tue.nl/pub/linux-local/manpages Copying-policy: several; for the POSIX pages, see the file POSIX-COPYRIGHT; the other pages are all freely distributable as long as diff --git a/man2/accept.2 b/man2/accept.2 index 030ed8be8..fe3abd9a4 100644 --- a/man2/accept.2 +++ b/man2/accept.2 @@ -126,27 +126,6 @@ implied by closing the new socket. Currently only DECNet has these semantics on Linux. -.SH NOTES -There may not always be a connection waiting after a -.B SIGIO -is delivered or -.BR select (2) -or -.BR poll (2) -return a readability event because the connection might have been -removed by an asynchronous network error or another thread before -.BR accept () -is called. -If this happens then the call will block waiting for the next -connection to arrive. -To ensure that -.BR accept () -never blocks, the passed socket -.I sockfd -needs to have the -.B O_NONBLOCK -flag set (see -.BR socket (7)). .SH "RETURN VALUE" On success, .BR accept () @@ -276,6 +255,27 @@ of file status flags and always explicitly set all required flags on the socket returned from .BR accept (). .SH NOTES +There may not always be a connection waiting after a +.B SIGIO +is delivered or +.BR select (2) +or +.BR poll (2) +return a readability event because the connection might have been +removed by an asynchronous network error or another thread before +.BR accept () +is called. +If this happens then the call will block waiting for the next +connection to arrive. +To ensure that +.BR accept () +never blocks, the passed socket +.I sockfd +needs to have the +.B O_NONBLOCK +flag set (see +.BR socket (7)). +.SS The socklen_t type The third argument of .BR accept () was originally declared as an `int *' (and is that under libc4 and libc5 diff --git a/man2/access.2 b/man2/access.2 index 9b970c5da..d97cb0fea 100644 --- a/man2/access.2 +++ b/man2/access.2 @@ -154,18 +154,8 @@ Insufficient kernel memory was available. .B ETXTBSY Write access was requested to an executable which is being executed. -.SH "NOTES" -.SS Linux Notes -In kernels before 2.6.20, -.BR access () -ignored the effect of the -.B MS_NOEXEC -flag if it was used to -.BR mount (2) -the underlying file system. -Since kernel 2.6.20, -.BR access () -honours this flag. +.SH "CONFORMING TO" +SVr4, 4.3BSD, POSIX.1-2001. .SH NOTES .BR access () returns an error if any of the access types in the requested call @@ -184,8 +174,17 @@ doing so using .BR open (2) creates a security hole, because the user might exploit the short time interval between checking and opening the file to manipulate it. -.SH "CONFORMING TO" -SVr4, 4.3BSD, POSIX.1-2001. +.SS Linux Notes +In kernels before 2.6.20, +.BR access () +ignored the effect of the +.B MS_NOEXEC +flag if it was used to +.BR mount (2) +the underlying file system. +Since kernel 2.6.20, +.BR access () +honours this flag. .SH "SEE ALSO" .BR chmod (2), .BR chown (2), diff --git a/man2/alarm.2 b/man2/alarm.2 index 97840544a..6b94c90a5 100644 --- a/man2/alarm.2 +++ b/man2/alarm.2 @@ -58,6 +58,8 @@ is cancelled. returns the number of seconds remaining until any previously scheduled alarm was due to be delivered, or zero if there was no previously scheduled alarm. +.SH "CONFORMING TO" +SVr4, POSIX.1-2001, 4.3BSD .SH NOTES .BR alarm () and @@ -76,8 +78,6 @@ is a bad idea. Scheduling delays can, as ever, cause the execution of the process to be delayed by an arbitrary amount of time. -.SH "CONFORMING TO" -SVr4, POSIX.1-2001, 4.3BSD .SH "SEE ALSO" .BR gettimeofday (2), .BR pause (2), diff --git a/man2/arch_prctl.2 b/man2/arch_prctl.2 index d6f7619b4..2d9617474 100644 --- a/man2/arch_prctl.2 +++ b/man2/arch_prctl.2 @@ -70,6 +70,25 @@ register of the current thread in the pointed to by the .I address parameter. +.SH ERRORS +.TP +.B EFAULT +.I addr +points to an unmapped address or is outside the process address space. +.TP +.B EINVAL +.I code +is not a valid subcommand. +.TP +.B EPERM +.I addr +is outside the process address space. +.\" .SH AUTHOR +.\" Man page written by Andi Kleen. +.SH "CONFORMING TO" +.BR arch_prctl () +is a Linux/x86-64 extension and should not be used in programs intended +to be portable. .SH NOTES .BR arch_prctl () is only supported on Linux/x86-64 for 64bit programs currently. @@ -102,25 +121,6 @@ This may be fixed in future glibc versions. .I FS may be already used by the threading library. -.SH ERRORS -.TP -.B EFAULT -.I addr -points to an unmapped address or is outside the process address space. -.TP -.B EINVAL -.I code -is not a valid subcommand. -.TP -.B EPERM -.I addr -is outside the process address space. -.\" .SH AUTHOR -.\" Man page written by Andi Kleen. -.SH "CONFORMING TO" -.BR arch_prctl () -is a Linux/x86-64 extension and should not be used in programs intended -to be portable. .SH "SEE ALSO" .BR mmap (2), .BR modify_ldt (2), diff --git a/man2/bind.2 b/man2/bind.2 index 9a6d03faa..01d258ccc 100644 --- a/man2/bind.2 +++ b/man2/bind.2 @@ -258,8 +258,6 @@ A component of the path prefix is not a directory. .TP .B EROFS The socket inode would reside on a read-only file system. -.SH BUGS -The transparent proxy options are not described. .SH "CONFORMING TO" SVr4, 4.4BSD, POSIX.1-2001 (the .BR bind () @@ -283,6 +281,8 @@ Some POSIX confusion resulted in the present also used by glibc. See also .BR accept (2). +.SH BUGS +The transparent proxy options are not described. .SH "SEE ALSO" .BR accept (2), .BR connect (2), diff --git a/man2/cacheflush.2 b/man2/cacheflush.2 index 7155a6d25..a65b98aae 100644 --- a/man2/cacheflush.2 +++ b/man2/cacheflush.2 @@ -58,6 +58,9 @@ Some or all of the address range addr to (addr+nbytes-1) is not accessible. .TP .B EINVAL cache parameter is not one of ICACHE, DCACHE, or BCACHE. +.SH NOTES +This system call is only available on MIPS based systems. +It should not be used in programs intended to be portable. .SH BUGS The current implementation ignores the .I addr @@ -65,6 +68,3 @@ and .I nbytes arguments. Therefore, the whole cache is always flushed. -.SH NOTES -This system call is only available on MIPS based systems. -It should not be used in programs intended to be portable. diff --git a/man2/chdir.2 b/man2/chdir.2 index 1352ca2c8..9a2456983 100644 --- a/man2/chdir.2 +++ b/man2/chdir.2 @@ -105,6 +105,8 @@ Search permission was denied on the directory open on .B EBADF .I fd is not a valid file descriptor. +.SH "CONFORMING TO" +SVr4, 4.4BSD, POSIX.1-2001. .SH NOTES A child process created via .BR fork (2) @@ -119,8 +121,6 @@ is only available if is defined, or .B _XOPEN_SOURCE is defined with the value 500. -.SH "CONFORMING TO" -SVr4, 4.4BSD, POSIX.1-2001. .SH "SEE ALSO" .BR chroot (2), .BR path_resolution (2), diff --git a/man2/chown.2 b/man2/chown.2 index f2db41f76..46aac4b1e 100644 --- a/man2/chown.2 +++ b/man2/chown.2 @@ -138,6 +138,17 @@ See above. .TP .B EROFS See above. +.SH "CONFORMING TO" +4.4BSD, SVr4, POSIX.1-2001. + +The 4.4BSD version can only be +used by the superuser (that is, ordinary users cannot give away files). +.\" chown(): +.\" SVr4 documents EINVAL, EINTR, ENOLINK and EMULTIHOP returns, but no +.\" ENOMEM. POSIX.1 does not document ENOMEM or ELOOP error conditions. +.\" fchown(): +.\" SVr4 documents additional EINVAL, EIO, EINTR, and ENOLINK +.\" error conditions. .SH NOTES The .BR chown () @@ -172,17 +183,6 @@ The prototype for is only available if .B _BSD_SOURCE is defined. -.SH "CONFORMING TO" -4.4BSD, SVr4, POSIX.1-2001. - -The 4.4BSD version can only be -used by the superuser (that is, ordinary users cannot give away files). -.\" chown(): -.\" SVr4 documents EINVAL, EINTR, ENOLINK and EMULTIHOP returns, but no -.\" ENOMEM. POSIX.1 does not document ENOMEM or ELOOP error conditions. -.\" fchown(): -.\" SVr4 documents additional EINVAL, EIO, EINTR, and ENOLINK -.\" error conditions. .SH "SEE ALSO" .BR chmod (2), .BR fchownat (2), diff --git a/man2/clone.2 b/man2/clone.2 index a236a2dd4..6b56be275 100644 --- a/man2/clone.2 +++ b/man2/clone.2 @@ -634,6 +634,13 @@ in libc5. glibc2 provides .BR clone () as described in this manual page. +.SH "CONFORMING TO" +The +.BR clone () +and +.B sys_clone +calls are Linux specific and should not be used in programs +intended to be portable. .SH NOTES In the kernel 2.4.x series, .B CLONE_THREAD @@ -681,13 +688,6 @@ and .I stack_size specifies the size of the stack pointed to by .IR child_stack_base . -.SH "CONFORMING TO" -The -.BR clone () -and -.B sys_clone -calls are Linux specific and should not be used in programs -intended to be portable. .SH BUGS Versions of the GNU C library that include the NPTL threading library contain a wrapper function for diff --git a/man2/create_module.2 b/man2/create_module.2 index 7e9beee0e..10dedb877 100644 --- a/man2/create_module.2 +++ b/man2/create_module.2 @@ -45,13 +45,13 @@ The caller was not privileged (did not have the .B CAP_SYS_MODULE capability). -.SH "CONFORMING TO" -.BR create_module () -is Linux specific. .SH VERSIONS This system call is only present on Linux up until kernel 2.4; it was removed in Linux 2.6. .\" Removed in Linux-2.5.48 +.SH "CONFORMING TO" +.BR create_module () +is Linux specific. .SH "SEE ALSO" .BR init_module (2), .BR delete_module (2), diff --git a/man2/dup.2 b/man2/dup.2 index 6e0e45aee..b4635eba2 100644 --- a/man2/dup.2 +++ b/man2/dup.2 @@ -103,6 +103,11 @@ call was interrupted by a signal. .B EMFILE The process already has the maximum number of file descriptors open and tried to open a new one. +.SH "CONFORMING TO" +SVr4, 4.3BSD, POSIX.1-2001. +.\" SVr4 documents additional +.\" EINTR and ENOLINK error conditions. POSIX.1 adds EINTR. +.\" The EBUSY return is Linux specific. .SH NOTES The error returned by .BR dup2 () @@ -128,11 +133,6 @@ A careful programmer will not use without closing .I newfd first. -.SH "CONFORMING TO" -SVr4, 4.3BSD, POSIX.1-2001. -.\" SVr4 documents additional -.\" EINTR and ENOLINK error conditions. POSIX.1 adds EINTR. -.\" The EBUSY return is Linux specific. .SH "SEE ALSO" .BR close (2), .BR fcntl (2), diff --git a/man2/epoll_wait.2 b/man2/epoll_wait.2 index 9637475f9..985e7a754 100644 --- a/man2/epoll_wait.2 +++ b/man2/epoll_wait.2 @@ -126,14 +126,6 @@ executing the following calls: sigprocmask(SIG_SETMASK, &origmask, NULL); .fi -.SH VERSIONS -.BR epoll_pwait () -was added to Linux in kernel 2.6.19. -.SH NOTES -.SS Glibc Notes -Support for -.BR epoll_pwait () -is provided starting with glibc 2.6. .SH "RETURN VALUE" When successful, .BR epoll_wait (2) @@ -170,6 +162,13 @@ is not an file descriptor, or .I maxevents is less than or equal to zero. +.SH VERSIONS +.BR epoll_pwait () +was added to Linux in kernel 2.6.19. + +Glibc support for +.BR epoll_pwait () +is provided starting with version 2.6. .SH CONFORMING TO .BR epoll_wait (2) is Linux specific, and was introduced in kernel 2.5.44. diff --git a/man2/faccessat.2 b/man2/faccessat.2 index 140710546..2257e2952 100644 --- a/man2/faccessat.2 +++ b/man2/faccessat.2 @@ -114,6 +114,12 @@ Invalid flag specified in is relative and .I dirfd is a file descriptor referring to a file other than a directory. +.SH VERSIONS +.BR faccessat () +was added to Linux in kernel 2.6.16. +.SH "CONFORMING TO" +This system call is non-standard but is proposed +for inclusion in a future revision of POSIX.1. .SH NOTES See .BR openat (2) @@ -129,12 +135,6 @@ flags are actually implemented within the glibc wrapper function for If either of these flags are specified, then the wrapper function employs .BR fstatat (2) to determine access permissions. -.SH VERSIONS -.BR faccessat () -was added to Linux in kernel 2.6.16. -.SH "CONFORMING TO" -This system call is non-standard but is proposed -for inclusion in a future revision of POSIX.1. .SH "SEE ALSO" .BR access (2), .BR openat (2), diff --git a/man2/fchmodat.2 b/man2/fchmodat.2 index 38ffadb7c..882a97579 100644 --- a/man2/fchmodat.2 +++ b/man2/fchmodat.2 @@ -113,17 +113,17 @@ is a file descriptor referring to a file other than a directory. specified .BR AT_SYMLINK_NOFOLLOW , which is not supported. +.SH VERSIONS +.BR fchmodat () +was added to Linux in kernel 2.6.16. +.SH "CONFORMING TO" +This system call is non-standard but is proposed +for inclusion in a future revision of POSIX.1. .SH NOTES See .BR openat (2) for an explanation of the need for .BR fchmodat (). -.SH "CONFORMING TO" -This system call is non-standard but is proposed -for inclusion in a future revision of POSIX.1. -.SH VERSIONS -.BR fchmodat () -was added to Linux in kernel 2.6.16. .SH "SEE ALSO" .BR chmod (2), .BR openat (2), diff --git a/man2/fchownat.2 b/man2/fchownat.2 index 0724cf28c..4857d4340 100644 --- a/man2/fchownat.2 +++ b/man2/fchownat.2 @@ -111,18 +111,18 @@ Invalid flag specified in is relative and .I dirfd is a file descriptor referring to a file other than a directory. +.SH VERSIONS +.BR fchownat () +was added to Linux in kernel 2.6.16. +.SH "CONFORMING TO" +This system call is non-standard but is proposed +for inclusion in a future revision of POSIX.1. +A similar system call exists on Solaris. .SH NOTES See .BR openat (2) for an explanation of the need for .BR fchownat (). -.SH "CONFORMING TO" -This system call is non-standard but is proposed -for inclusion in a future revision of POSIX.1. -A similar system call exists on Solaris. -.SH VERSIONS -.BR fchownat () -was added to Linux in kernel 2.6.16. .SH "SEE ALSO" .BR chown (2), .BR openat (2), diff --git a/man2/fcntl.2 b/man2/fcntl.2 index cf7ecd1d3..dde15eab1 100644 --- a/man2/fcntl.2 +++ b/man2/fcntl.2 @@ -865,6 +865,17 @@ protocol failed (e.g. locking over NFS). Attempted to clear the .B O_APPEND flag on a file that has the append-only attribute set. +.SH "CONFORMING TO" +SVr4, 4.3BSD, POSIX.1-2001. +Only the operations F_DUPFD, +F_GETFD, F_SETFD, F_GETFL, F_SETFL, F_GETLK, F_SETLK, F_SETLKW, +F_GETOWN, and F_SETOWN are specified in POSIX.1-2001. + +F_GETSIG, F_SETSIG, F_NOTIFY, F_GETLEASE, and F_SETLEASE +are Linux specific. +(Define the _GNU_SOURCE macro to obtain these definitions.) +.\" .PP +.\" SVr4 documents additional EIO, ENOLINK and EOVERFLOW error conditions. .SH NOTES The errors returned by .BR dup2 (2) @@ -930,17 +941,6 @@ even when the owner process (group) is one that the caller has permission to send signals to. Despite this error return, the file descriptor owner is set, and signals will be sent to the owner. -.SH "CONFORMING TO" -SVr4, 4.3BSD, POSIX.1-2001. -Only the operations F_DUPFD, -F_GETFD, F_SETFD, F_GETFL, F_SETFL, F_GETLK, F_SETLK, F_SETLKW, -F_GETOWN, and F_SETOWN are specified in POSIX.1-2001. - -F_GETSIG, F_SETSIG, F_NOTIFY, F_GETLEASE, and F_SETLEASE -are Linux specific. -(Define the _GNU_SOURCE macro to obtain these definitions.) -.\" .PP -.\" SVr4 documents additional EIO, ENOLINK and EOVERFLOW error conditions. .SH "SEE ALSO" .BR dup2 (2), .BR flock (2), diff --git a/man2/fdatasync.2 b/man2/fdatasync.2 index ff8678194..05837531d 100644 --- a/man2/fdatasync.2 +++ b/man2/fdatasync.2 @@ -74,11 +74,6 @@ An error occurred during synchronization. .BR EROFS ", " EINVAL .I fd is bound to a special file which does not support synchronization. -.SH BUGS -Currently (Linux 2.2) -.BR fdatasync () -is equivalent to -.BR fsync (2). .SH AVAILABILITY On POSIX systems on which .BR fdatasync () @@ -92,6 +87,12 @@ i defined in to a value greater than 0. .\" glibc defines them to 1. .SH "CONFORMING TO" POSIX.1-2001. +.SH BUGS +.\" FIXME The following is no longer true +Currently (Linux 2.2) +.BR fdatasync () +is equivalent to +.BR fsync (2). .SH "SEE ALSO" .BR fsync (2), .BR sync_file_range (2) diff --git a/man2/fstatat.2 b/man2/fstatat.2 index d02796e65..46aa08a01 100644 --- a/man2/fstatat.2 +++ b/man2/fstatat.2 @@ -111,18 +111,18 @@ Invalid flag specified in is relative and .I dirfd is a file descriptor referring to a file other than a directory. +.SH VERSIONS +.BR fstatat () +was added to Linux in kernel 2.6.16. +.SH "CONFORMING TO" +This system call is non-standard but is proposed +for inclusion in a future revision of POSIX.1. +A similar system call exists on Solaris. .SH NOTES See .BR openat (2) for an explanation of the need for .BR fstatat (). -.SH "CONFORMING TO" -This system call is non-standard but is proposed -for inclusion in a future revision of POSIX.1. -A similar system call exists on Solaris. -.SH VERSIONS -.BR fstatat () -was added to Linux in kernel 2.6.16. .SH "SEE ALSO" .BR openat (2), .BR path_resolution (2), diff --git a/man2/fsync.2 b/man2/fsync.2 index 834e0bb4a..ac45d2903 100644 --- a/man2/fsync.2 +++ b/man2/fsync.2 @@ -105,6 +105,8 @@ An error occurred during synchronization. .BR EROFS ", " EINVAL .I fd is bound to a special file which does not support synchronization. +.SH "CONFORMING TO" +4.3BSD, POSIX.1-2001 .SH NOTES If the underlying hard disk has write caching enabled, then the data may not really be on permanent storage when @@ -128,8 +130,6 @@ An alternative might be to use the .I O_SYNC flag to .BR open (2). -.SH "CONFORMING TO" -4.3BSD, POSIX.1-2001 .SH "SEE ALSO" .BR bdflush (2), .BR open (2), diff --git a/man2/futex.2 b/man2/futex.2 index 710ebb47b..38cb52b93 100644 --- a/man2/futex.2 +++ b/man2/futex.2 @@ -199,6 +199,18 @@ An operation was not defined or error in page alignment. .TP .B ENFILE The system limit on the total number of open files has been reached. +.SH "VERSIONS" +.PP +Initial futex support was merged in Linux 2.5.7 but with different semantics +from what was described above. +A 4-parameter system call with the semantics +given here was introduced in Linux 2.5.40. +In Linux 2.5.70 one parameter +was added. +In Linux 2.6.7 a sixth parameter was added \(em messy, especially +on the s390 architecture. +.SH "CONFORMING TO" +This system call is Linux specific. .SH "NOTES" .PP To reiterate, bare futexes are not intended as an easy to use abstraction @@ -212,18 +224,6 @@ read the sources of the futex userspace library referenced below. .\" Matthew Kirkwood, Ingo Molnar (Red Hat) .\" and Rusty Russell (IBM Linux Technology Center). .\" This page written by bert hubert. -.SH "VERSIONS" -.PP -Initial futex support was merged in Linux 2.5.7 but with different semantics -from what was described above. -A 4-parameter system call with the semantics -given here was introduced in Linux 2.5.40. -In Linux 2.5.70 one parameter -was added. -In Linux 2.6.7 a sixth parameter was added \(em messy, especially -on the s390 architecture. -.SH "CONFORMING TO" -This system call is Linux specific. .SH "SEE ALSO" .PP .BR futex (7), diff --git a/man2/futimesat.2 b/man2/futimesat.2 index 614366c17..d2e64703b 100644 --- a/man2/futimesat.2 +++ b/man2/futimesat.2 @@ -93,6 +93,9 @@ is not a valid file descriptor. is relative and .I dirfd is a file descriptor referring to a file other than a directory. +.SH VERSIONS +.BR futimesat () +was added to Linux in kernel 2.6.16. .SH "CONFORMING TO" This system call is non-standard but is proposed for inclusion in a future revision of POSIX.1. @@ -106,9 +109,6 @@ is NULL, then the glibc wrapper function updates the times for the file referred to by .IR dirfd . .\" The Solaris futimesat() also has this strangeness. -.SH VERSIONS -.BR futimesat () -was added to Linux in kernel 2.6.16. .SH "SEE ALSO" .BR path_resolution (2), .BR stat (2), diff --git a/man2/get_kernel_syms.2 b/man2/get_kernel_syms.2 index 69d43d5c2..50e3193f6 100644 --- a/man2/get_kernel_syms.2 +++ b/man2/get_kernel_syms.2 @@ -44,6 +44,10 @@ order in which they were loaded. Returns the number of symbols copied to .IR table . There is no possible error return. +.SH VERSIONS +This system call is only present on Linux up until kernel 2.4; +it was removed in Linux 2.6. +.\" Removed in Linux-2.5.48 .SH "CONFORMING TO" .BR get_kernel_syms () is Linux specific. @@ -60,10 +64,6 @@ favor of .BR query_module (2) (which is itself nowadays deprecated in favor of other interfaces described on its manual page). -.SH VERSIONS -This system call is only present on Linux up until kernel 2.4; -it was removed in Linux 2.6. -.\" Removed in Linux-2.5.48 .SH "SEE ALSO" .BR create_module (2), .BR delete_module (2), diff --git a/man2/get_mempolicy.2 b/man2/get_mempolicy.2 index 8644c4745..4ac24b703 100644 --- a/man2/get_mempolicy.2 +++ b/man2/get_mempolicy.2 @@ -143,6 +143,8 @@ is set to indicate the error. .\" .I addr .\" is NULL. .\" (And there are other EINVAL cases.) +.SH CONFORMING TO +This system call is Linux specific. .SH NOTES This manual page is incomplete: it does not document the details the @@ -157,8 +159,6 @@ future kernel versions. .SS "Versions and Library Support" See .BR mbind (2). -.SH CONFORMING TO -This system call is Linux specific. .SH SEE ALSO .BR mbind (2), .BR set_mempolicy (2), diff --git a/man2/get_thread_area.2 b/man2/get_thread_area.2 index 4fa072c8f..e75210909 100644 --- a/man2/get_thread_area.2 +++ b/man2/get_thread_area.2 @@ -34,14 +34,14 @@ appropriately. .TP .B EINVAL \fIu_info->\fR\fIentry_number\fR is out of bounds. -.SH "CONFORMING TO" -.BR get_thread_area () -is Linux specific and should not be used in programs -that are intended to be portable. .SH VERSIONS A version of .BR get_thread_area () first appeared in Linux 2.5.32. +.SH "CONFORMING TO" +.BR get_thread_area () +is Linux specific and should not be used in programs +that are intended to be portable. .SH "SEE ALSO" .BR modify_ldt (2), .BR set_thread_area (2) diff --git a/man2/getcontext.2 b/man2/getcontext.2 index 7b3cfc1bf..28858b287 100644 --- a/man2/getcontext.2 +++ b/man2/getcontext.2 @@ -121,6 +121,8 @@ On error, both return \-1 and set \fIerrno\fP appropriately. .SH ERRORS None defined. +.SH "CONFORMING TO" +SUSv2, POSIX.1-2001. .SH NOTES The earliest incarnation of this mechanism was the .BR setjmp (3)/ longjmp (3) @@ -149,8 +151,6 @@ Use or .BR setcontext () instead. -.SH "CONFORMING TO" -SUSv2, POSIX.1-2001. .SH "SEE ALSO" .BR sigaction (2), .BR sigaltstack (2), diff --git a/man2/getdtablesize.2 b/man2/getdtablesize.2 index 0a2755d98..8bb1d3e45 100644 --- a/man2/getdtablesize.2 +++ b/man2/getdtablesize.2 @@ -37,6 +37,14 @@ returns the maximum number of files a process can have open, one more than the largest possible value for a file descriptor. .SH "RETURN VALUE" The current limit on the number of open files per process. +.SH "CONFORMING TO" +SVr4, 4.4BSD (the +.BR getdtablesize () +function first appeared in 4.2BSD). +It is not specified in POSIX.1-2001; +portable applications should employ +.I sysconf(_SC_OPEN_MAX) +instead of this call. .SH NOTES .BR getdtablesize () is implemented as a libc library function. @@ -50,14 +58,6 @@ when that fails. The libc4 and libc5 versions return .B OPEN_MAX (set to 256 since Linux 0.98.4). -.SH "CONFORMING TO" -SVr4, 4.4BSD (the -.BR getdtablesize () -function first appeared in 4.2BSD). -It is not specified in POSIX.1-2001; -portable applications should employ -.I sysconf(_SC_OPEN_MAX) -instead of this call. .SH "SEE ALSO" .BR close (2), .BR dup (2), diff --git a/man2/getgroups.2 b/man2/getgroups.2 index 9e83b890d..a26a45f42 100644 --- a/man2/getgroups.2 +++ b/man2/getgroups.2 @@ -97,6 +97,14 @@ is less than the number of supplementary group IDs, but is not zero. .B EPERM The calling process has insufficient privilege to call .BR setgroups (). +.SH "CONFORMING TO" +SVr4, 4.3BSD. +The +.BR getgroups () +function is in POSIX.1-2001. +Since +.BR setgroups () +requires privilege, it is not covered by POSIX.1-2001. .SH NOTES A process can have up to at least NGROUPS_MAX supplementary group IDs in addition to the effective group ID. @@ -120,14 +128,6 @@ The prototype for is only available if .B _BSD_SOURCE is defined. -.SH "CONFORMING TO" -SVr4, 4.3BSD. -The -.BR getgroups () -function is in POSIX.1-2001. -Since -.BR setgroups () -requires privilege, it is not covered by POSIX.1-2001. .SH "SEE ALSO" .BR getgid (2), .BR setgid (2), diff --git a/man2/getitimer.2 b/man2/getitimer.2 index 3bc74685c..e935770d5 100644 --- a/man2/getitimer.2 +++ b/man2/getitimer.2 @@ -131,14 +131,14 @@ is not one of .BR ITIMER_VIRTUAL , or .BR ITIMER_PROF . +.SH "CONFORMING TO" +POSIX.1-2001, SVr4, 4.4BSD (this call first appeared in 4.2BSD). .SH NOTES A child created via .BR fork (2) does not inherit its parent's interval timers. Interval timers are preserved across an .BR execve (2). -.SH "CONFORMING TO" -POSIX.1-2001, SVr4, 4.4BSD (this call first appeared in 4.2BSD). .SH BUGS The generation and delivery of a signal are distinct, and only one instance of each of the signals listed above may be pending diff --git a/man2/getpriority.2 b/man2/getpriority.2 index 9c4dc1d42..05313e610 100644 --- a/man2/getpriority.2 +++ b/man2/getpriority.2 @@ -152,6 +152,9 @@ to set a process priority outside the range of the soft resource limit of the target process; see .BR getrlimit (2) for details. +.SH "CONFORMING TO" +SVr4, 4.4BSD (these function calls first appeared in 4.2BSD), +POSIX.1-2001. .SH NOTES A child created by .BR fork (2) @@ -201,9 +204,6 @@ structure with fields of type .I struct timeval defined in .IR .) -.SH "CONFORMING TO" -SVr4, 4.4BSD (these function calls first appeared in 4.2BSD), -POSIX.1-2001. .SH "SEE ALSO" .BR nice (1), .BR fork (2), diff --git a/man2/getrlimit.2 b/man2/getrlimit.2 index 3d1ed4e5f..4df053a3a 100644 --- a/man2/getrlimit.2 +++ b/man2/getrlimit.2 @@ -360,6 +360,28 @@ Or, the process tried to use to increase the soft or hard RLIMIT_NOFILE limit above the current kernel maximum (NR_OPEN). +.SH CONFORMING TO +SVr4, 4.3BSD, POSIX.1-2001. +.BR RLIMIT_MEMLOCK +and +.BR RLIMIT_NPROC +derive from BSD and are not specified in POSIX.1-2001; +they are present on the BSDs and Linux, but on few other implementations. +.BR RLIMIT_RSS +derives from BSD and is not specified in POSIX.1-2001; +it is nevertheless present on most implementations. +.BR RLIMIT_MSGQUEUE , +.BR RLIMIT_NICE , +.BR RLIMIT_RTPRIO , +and +.B RLIMIT_SIGPENDING +are Linux specific. +.SH NOTES +A child process created via +.BR fork (2) +inherits its parents resource limits. +Resource limits are preserved across +.BR execve (2). .SH BUGS In older Linux kernels, the .B SIGXCPU @@ -401,28 +423,6 @@ when .IR rlim->rlim_cur was greater than .IR rlim->rlim_max . -.SH NOTES -A child process created via -.BR fork (2) -inherits its parents resource limits. -Resource limits are preserved across -.BR execve (2). -.SH "CONFORMING TO" -SVr4, 4.3BSD, POSIX.1-2001. -.BR RLIMIT_MEMLOCK -and -.BR RLIMIT_NPROC -derive from BSD and are not specified in POSIX.1-2001; -they are present on the BSDs and Linux, but on few other implementations. -.BR RLIMIT_RSS -derives from BSD and is not specified in POSIX.1-2001; -it is nevertheless present on most implementations. -.BR RLIMIT_MSGQUEUE , -.BR RLIMIT_NICE , -.BR RLIMIT_RTPRIO , -and -.B RLIMIT_SIGPENDING -are Linux specific. .SH "SEE ALSO" .BR dup (2), .BR fcntl (2), diff --git a/man2/gettimeofday.2 b/man2/gettimeofday.2 index 0857aa86c..92eb9c4e8 100644 --- a/man2/gettimeofday.2 +++ b/man2/gettimeofday.2 @@ -212,6 +212,12 @@ The calling process has insufficient privilege to call under Linux the .B CAP_SYS_TIME capability is required. +.SH "CONFORMING TO" +SVr4, 4.3BSD. +POSIX.1-2001 describes +.BR gettimeofday () +but not +.BR settimeofday (). .SH NOTES The prototype for .BR settimeofday () @@ -228,12 +234,6 @@ is defined. Traditionally, the fields of .I struct timeval were longs. -.SH "CONFORMING TO" -SVr4, 4.3BSD. -POSIX.1-2001 describes -.BR gettimeofday () -but not -.BR settimeofday (). .SH "SEE ALSO" .BR date (1), .BR adjtimex (2), diff --git a/man2/intro.2 b/man2/intro.2 index 5cfb04701..bbbcd4591 100644 --- a/man2/intro.2 +++ b/man2/intro.2 @@ -127,6 +127,11 @@ Memory in buffers = 5066752 Swap: total 27881472 / free 24698880 Number of processes = 40 .fi +.SH "CONFORMING TO" +Certain codes are used to indicate Unix variants and standards to +which calls in the section conform. +See +.BR standards (7). .SH NOTES The _syscall() macros DO NOT produce a prototype. You may have to @@ -167,11 +172,6 @@ Some architectures, notably ia64, do not provide the _syscall macros. On these architectures, .BR syscall (2) must be used. -.SH "CONFORMING TO" -Certain codes are used to indicate Unix variants and standards to -which calls in the section conform. -See -.BR standards (7). .SH FILES .I /usr/include/linux/unistd.h .SH "SEE ALSO" diff --git a/man2/io_destroy.2 b/man2/io_destroy.2 index 3d7ac7089..4a9abc441 100644 --- a/man2/io_destroy.2 +++ b/man2/io_destroy.2 @@ -59,14 +59,14 @@ The context pointed to is invalid. .B ENOSYS .BR io_destroy () is not implemented on this architecture. +.SH "VERSIONS" +.PP +The asynchronous I/O system calls first appeared in Linux 2.5, August 2002. .SH "CONFORMING TO" .PP .BR io_destroy () is Linux specific and should not be used in programs that are intended to be portable. -.SH "VERSIONS" -.PP -The asynchronous I/O system calls first appeared in Linux 2.5, August 2002. .SH "SEE ALSO" .PP .BR io_setup (2), diff --git a/man2/io_getevents.2 b/man2/io_getevents.2 index 43aa4be56..2d25a5366 100644 --- a/man2/io_getevents.2 +++ b/man2/io_getevents.2 @@ -68,14 +68,14 @@ Either \fIevents\fR or \fItimeout\fR is an invalid pointer. .B ENOSYS .BR io_getevents () is not implemented on this architecture. +.SH "VERSIONS" +.PP +The asynchronous I/O system calls first appeared in Linux 2.5, August 2002. .SH "CONFORMING TO" .PP .BR io_getevents () is Linux specific and should not be used in programs that are intended to be portable. -.SH "VERSIONS" -.PP -The asynchronous I/O system calls first appeared in Linux 2.5, August 2002. .SH "SEE ALSO" .PP .BR io_setup (2), diff --git a/man2/io_setup.2 b/man2/io_setup.2 index ff5549f0d..b165150a5 100644 --- a/man2/io_setup.2 +++ b/man2/io_setup.2 @@ -67,14 +67,14 @@ The specified \fInr_events\fR exceeds the user's limit of available events. .B ENOSYS .BR io_setup () is not implemented on this architecture. +.SH "VERSIONS" +.PP +The asynchronous I/O system calls first appeared in Linux 2.5, August 2002. .SH "CONFORMING TO" .PP .BR io_setup () is Linux specific and should not be used in programs that are intended to be portable. -.SH "VERSIONS" -.PP -The asynchronous I/O system calls first appeared in Linux 2.5, August 2002. .SH "SEE ALSO" .PP .BR io_destroy (2), diff --git a/man2/io_submit.2 b/man2/io_submit.2 index c1fc96ebb..65d90f14f 100644 --- a/man2/io_submit.2 +++ b/man2/io_submit.2 @@ -69,14 +69,14 @@ Insufficient resources are available to queue any \fIiocb\fRs. .B ENOSYS .BR io_submit () is not implemented on this architecture. +.SH "VERSIONS" +.PP +The asynchronous I/O system calls first appeared in Linux 2.5, August 2002. .SH "CONFORMING TO" .PP .BR io_submit () is Linux specific and should not be used in programs that are intended to be portable. -.SH "VERSIONS" -.PP -The asynchronous I/O system calls first appeared in Linux 2.5, August 2002. .SH "SEE ALSO" .PP .BR io_setup (2), diff --git a/man2/ioctl.2 b/man2/ioctl.2 index dca3a5931..b6ab65c9f 100644 --- a/man2/ioctl.2 +++ b/man2/ioctl.2 @@ -112,13 +112,7 @@ The specified request does not apply to the kind of object that the descriptor .I d references. -.SH NOTES -In order to use this call, one needs an open file descriptor. -Often the -.BR open (2) -call has unwanted side effects, that can be avoided under Linux -by giving it the O_NONBLOCK flag. -.SH "CONFORMING TO" +.SH CONFORMING TO No single standard. Arguments, returns, and semantics of .BR ioctl (2) @@ -133,6 +127,12 @@ calls. The .BR ioctl () function call appeared in Version 7 AT&T Unix. +.SH NOTES +In order to use this call, one needs an open file descriptor. +Often the +.BR open (2) +call has unwanted side effects, that can be avoided under Linux +by giving it the O_NONBLOCK flag. .SH "SEE ALSO" .BR execve (2), .BR fcntl (2), diff --git a/man2/ioprio_set.2 b/man2/ioprio_set.2 index bd7a5c709..fc006706f 100644 --- a/man2/ioprio_set.2 +++ b/man2/ioprio_set.2 @@ -186,6 +186,11 @@ or Refer to the NOTES section for available scheduler classes and priority levels for .IR ioprio . +.SH VERSIONS +These system calls have been available on Linux since +kernel 2.6.13. +.SH "CONFORMING TO" +These system calls are Linux specific. .SH NOTES These system calls only have an effect when used in conjunction with an I/O scheduler that supports I/O priorities. @@ -311,11 +316,6 @@ Glibc does not yet provide a suitable header file defining the function prototypes and macros described on this page. Suitable definitions can be found in .IR linux/ioprio.h . -.SH VERSIONS -These system calls have been available on Linux since -kernel 2.6.13. -.SH "CONFORMING TO" -These system calls are Linux specific. .SH "SEE ALSO" .BR getpriority "(2), " open "(2), " capabilities (7) .sp diff --git a/man2/kill.2 b/man2/kill.2 index 79a548026..52c4496f7 100644 --- a/man2/kill.2 +++ b/man2/kill.2 @@ -102,6 +102,8 @@ a process which already committed termination, but has not yet been .BR wait (2)ed for. +.SH "CONFORMING TO" +SVr4, 4.3BSD, POSIX.1-2001 .SH NOTES The only signals that can be sent process ID 1, the .I init @@ -149,8 +151,6 @@ if the caller did have permission to send the signal to \fIany\fP (rather than \fIall\fP) of the members of the process group. Notwithstanding this error return, the signal was still delivered to all of the processes for which the caller had permission to signal. -.SH "CONFORMING TO" -SVr4, 4.3BSD, POSIX.1-2001 .SH "SEE ALSO" .BR _exit (2), .BR killpg (2), diff --git a/man2/killpg.2 b/man2/killpg.2 index 7f57c9b7a..bcc1ea4bd 100644 --- a/man2/killpg.2 +++ b/man2/killpg.2 @@ -93,6 +93,10 @@ No process can be found in the process group specified by .B ESRCH The process group was given as 0 but the sending process does not have a process group. +.SH "CONFORMING TO" +SVr4, 4.4BSD (The +.BR killpg () +function call first appeared in 4BSD), POSIX.1-2001. .SH NOTES There are various differences between the permission checking in BSD-type systems and System V-type systems. @@ -103,10 +107,6 @@ value EPERM: BSD documents that no signal is sent and EPERM returned when the permission check failed for at least one target process, while POSIX documents EPERM only when the permission check failed for all target processes. -.SH "CONFORMING TO" -SVr4, 4.4BSD (The -.BR killpg () -function call first appeared in 4BSD), POSIX.1-2001. .SH "SEE ALSO" .BR getpgrp (2), .BR kill (2), diff --git a/man2/link.2 b/man2/link.2 index 4e780c8f0..4dd494766 100644 --- a/man2/link.2 +++ b/man2/link.2 @@ -125,6 +125,11 @@ are not on the same mounted filesystem. .BR link (2) does not work across different mount points, even if the same filesystem is mounted on both.) +.SH "CONFORMING TO" +SVr4, 4.3BSD, POSIX.1-2001 (except as noted above). +.\" SVr4 documents additional ENOLINK and +.\" EMULTIHOP error conditions; POSIX.1 does not document ELOOP. +.\" X/OPEN does not document EFAULT, ENOMEM or EIO. .SH NOTES Hard links, as created by .BR link (), @@ -153,11 +158,6 @@ Some other implementations behave in the same manner as Linux. .\" behaves like Linux, and contributors to a March 2005 .\" thread in the Austin mailing list reported that some .\" other (System V) implementations did/do the same -- MTK, Apr 05 -.SH "CONFORMING TO" -SVr4, 4.3BSD, POSIX.1-2001 (except as noted above). -.\" SVr4 documents additional ENOLINK and -.\" EMULTIHOP error conditions; POSIX.1 does not document ELOOP. -.\" X/OPEN does not document EFAULT, ENOMEM or EIO. .SH BUGS On NFS file systems, the return code may be wrong in case the NFS server performs the link creation and dies before it can say so. diff --git a/man2/linkat.2 b/man2/linkat.2 index b48ca3950..ce6e86afb 100644 --- a/man2/linkat.2 +++ b/man2/linkat.2 @@ -123,17 +123,17 @@ or similar for .I newpath and .IR newdirfd +.SH VERSIONS +.BR linkat () +was added to Linux in kernel 2.6.16. +.SH "CONFORMING TO" +This system call is non-standard but is proposed +for inclusion in a future revision of POSIX.1. .SH NOTES See .BR openat (2) for an explanation of the need for .BR linkat (). -.SH "CONFORMING TO" -This system call is non-standard but is proposed -for inclusion in a future revision of POSIX.1. -.SH VERSIONS -.BR linkat () -was added to Linux in kernel 2.6.16. .SH "SEE ALSO" .BR link (2), .BR openat (2), diff --git a/man2/listen.2 b/man2/listen.2 index e952a141a..14d559795 100644 --- a/man2/listen.2 +++ b/man2/listen.2 @@ -70,23 +70,6 @@ may receive an error with an indication of .B ECONNREFUSED or, if the underlying protocol supports retransmission, the request may be ignored so that retries succeed. -.SH NOTES -The behaviour of the -.I backlog -parameter on TCP sockets changed with Linux 2.2. -Now it specifies the queue length for -.I completely -established sockets waiting to be accepted, instead of the number of incomplete -connection requests. -The maximum length of the queue for incomplete sockets -can be set using the -.B tcp_max_syn_backlog -sysctl. -When syncookies are enabled there is no logical maximum -length and this sysctl setting is ignored. -See -.BR tcp (7) -for more information. .SH "RETURN VALUE" On success, zero is returned. On error, \-1 is returned, and @@ -116,6 +99,23 @@ operation. The .BR listen () function call first appeared in 4.2BSD. +.SH NOTES +The behaviour of the +.I backlog +parameter on TCP sockets changed with Linux 2.2. +Now it specifies the queue length for +.I completely +established sockets waiting to be accepted, instead of the number of incomplete +connection requests. +The maximum length of the queue for incomplete sockets +can be set using the +.B tcp_max_syn_backlog +sysctl. +When syncookies are enabled there is no logical maximum +length and this sysctl setting is ignored. +See +.BR tcp (7) +for more information. .SH BUGS If the socket is of type .BR AF_INET , diff --git a/man2/lookup_dcookie.2 b/man2/lookup_dcookie.2 index fa372069f..9b3e7af4f 100644 --- a/man2/lookup_dcookie.2 +++ b/man2/lookup_dcookie.2 @@ -42,13 +42,6 @@ For .BR lookup_dcookie () to return successfully, the kernel must still hold a cookie reference to the directory entry. -.SH "NOTES" -.BR lookup_dcookie () -is a special-purpose system call, currently used only by the oprofile profiler. -It relies on a kernel driver to register cookies for directory entries. - -The path returned may be suffixed by the string " (deleted)" if the directory -entry has been removed. .SH "RETURN VALUE" On success, .BR lookup_dcookie () @@ -79,9 +72,16 @@ required to look up cookie values. .TP .B ERANGE The buffer was not large enough to hold the path of the directory entry. -.SH "CONFORMING TO" -.BR lookup_dcookie () -is Linux specific. .SH VERSIONS Available since Linux 2.5.43. The ENAMETOOLONG error return was added in 2.5.70. +.SH "CONFORMING TO" +.BR lookup_dcookie () +is Linux specific. +.SH "NOTES" +.BR lookup_dcookie () +is a special-purpose system call, currently used only by the oprofile profiler. +It relies on a kernel driver to register cookies for directory entries. + +The path returned may be suffixed by the string " (deleted)" if the directory +entry has been removed. diff --git a/man2/madvise.2 b/man2/madvise.2 index 32633ae1b..43fcd6d18 100644 --- a/man2/madvise.2 +++ b/man2/madvise.2 @@ -166,6 +166,21 @@ maximum resident set size. .B ENOMEM Addresses in the specified range are not currently mapped, or are outside the address space of the process. +.SH "CONFORMING TO" +POSIX.1b. +POSIX.1-2001 describes +.BR posix_madvise (3) +with constants POSIX_MADV_NORMAL, etc., +with a behaviour close to that described here. +There is a similar +.BR posix_fadvise (3) +for file access. + +.BR MADV_REMOVE , +.BR MADV_DONTFORK , +and +.BR MADV_DOFORK +are Linux specific. .SH NOTES .SS "Linux Notes" .LP @@ -190,21 +205,6 @@ from the system call, as it should). .\" The .\" .BR madvise () .\" function first appeared in 4.4BSD. -.SH "CONFORMING TO" -POSIX.1b. -POSIX.1-2001 describes -.BR posix_madvise (3) -with constants POSIX_MADV_NORMAL, etc., -with a behaviour close to that described here. -There is a similar -.BR posix_fadvise (3) -for file access. - -.BR MADV_REMOVE , -.BR MADV_DONTFORK , -and -.BR MADV_DOFORK -are Linux specific. .SH "SEE ALSO" .BR getrlimit (2), .BR mincore (2), diff --git a/man2/mbind.2 b/man2/mbind.2 index 8c8320310..142d00b02 100644 --- a/man2/mbind.2 +++ b/man2/mbind.2 @@ -192,6 +192,8 @@ System out of memory. .B MPOL_MF_STRICT was specified and an existing page was already on a node that does not follow the policy. +.SH CONFORMING TO +This system call is Linux specific. .SH NOTES NUMA policy is not supported on file mappings. @@ -256,8 +258,6 @@ package. This package also has the .I numaif.h header. -.SH CONFORMING TO -This system call is Linux specific. .SH SEE ALSO .BR numa (3), .BR numactl (8), diff --git a/man2/mincore.2 b/man2/mincore.2 index a25999e43..5889b54f2 100644 --- a/man2/mincore.2 +++ b/man2/mincore.2 @@ -118,6 +118,18 @@ to + .I length contained unmapped memory. +.SH VERSIONS +Available since Linux 2.3.99pre1 and glibc 2.2. +.SH "CONFORMING TO" +.BR mincore () +is not specified in POSIX.1-2001, +and it is not available on all Unix implementations. +.\" It is on at least NetBSD, FreeBSD, OpenBSD, Solaris 8, +.\" AIX 5.1, SunOS 4.1 +.\" .SH HISTORY +.\" The +.\" .BR mincore () +.\" function first appeared in 4.4BSD. .SH BUGS Before kernel 2.6.21, .BR mincore () @@ -140,18 +152,6 @@ mappings, or for non-linear mappings (established using .\" .B mincore .\" always fails with the error .\" .BR ENOMEM . -.SH "CONFORMING TO" -.BR mincore () -is not specified in POSIX.1-2001, -and it is not available on all Unix implementations. -.\" It is on at least NetBSD, FreeBSD, OpenBSD, Solaris 8, -.\" AIX 5.1, SunOS 4.1 -.\" .SH HISTORY -.\" The -.\" .BR mincore () -.\" function first appeared in 4.4BSD. -.SH VERSIONS -Available since Linux 2.3.99pre1 and glibc 2.2. .SH "SEE ALSO" .BR mlock (2), .BR mmap (2) diff --git a/man2/mkdirat.2 b/man2/mkdirat.2 index ab665b264..aaec3687a 100644 --- a/man2/mkdirat.2 +++ b/man2/mkdirat.2 @@ -91,17 +91,17 @@ is not a valid file descriptor. is relative and .I dirfd is a file descriptor referring to a file other than a directory. +.SH VERSIONS +.BR mkdirat () +was added to Linux in kernel 2.6.16. +.SH "CONFORMING TO" +This system call is non-standard but is proposed +for inclusion in a future revision of POSIX.1. .SH NOTES See .BR openat (2) for an explanation of the need for .BR mkdirat (). -.SH "CONFORMING TO" -This system call is non-standard but is proposed -for inclusion in a future revision of POSIX.1. -.SH VERSIONS -.BR mkdirat () -was added to Linux in kernel 2.6.16. .SH "SEE ALSO" .BR mkdir (2), .BR openat (2), diff --git a/man2/mknodat.2 b/man2/mknodat.2 index 8e3bee224..937e3866b 100644 --- a/man2/mknodat.2 +++ b/man2/mknodat.2 @@ -93,17 +93,17 @@ is not a valid file descriptor. is relative and .I dirfd is a file descriptor referring to a file other than a directory. +.SH VERSIONS +.BR mknodat () +was added to Linux in kernel 2.6.16. +.SH "CONFORMING TO" +This system call is non-standard but is proposed +for inclusion in a future revision of POSIX.1. .SH NOTES See .BR openat (2) for an explanation of the need for .BR mknodat (). -.SH "CONFORMING TO" -This system call is non-standard but is proposed -for inclusion in a future revision of POSIX.1. -.SH VERSIONS -.BR mknodat () -was added to Linux in kernel 2.6.16. .SH "SEE ALSO" .BR mknod (2), .BR openat (2), diff --git a/man2/mlock.2 b/man2/mlock.2 index 814878866..058646552 100644 --- a/man2/mlock.2 +++ b/man2/mlock.2 @@ -116,6 +116,106 @@ signal to the process. .BR munlockall () unlocks all pages mapped into the address space of the calling process. +.SH "RETURN VALUE" +On success these system calls return 0. +On error, \-1 is returned, +.I errno +is set appropriately, and no changes are made to any locks in the +address space of the process. +.SH ERRORS +.TP +.B ENOMEM +(Linux 2.6.9 and later) the caller had a non-zero +.B RLIMIT_MEMLOCK +soft resource limit, but tried to lock more memory than the limit +permitted. +This limit is not enforced if the process is privileged +.RB ( CAP_IPC_LOCK ). +.TP +.B ENOMEM +(Linux 2.4 and earlier) the calling process tried to lock more than +half of RAM. +.\" In the case of mlock(), this check is somewhat buggy: it doesn't +.\" take into account whether the to-be-locked range overlaps with +.\" already locked pages. Thus, suppose we allocate +.\" (num_physpages / 4 + 1) of memory, and lock those pages once using +.\" mlock(), and then lock the *same* page range a second time. +.\" In the case, the second mlock() call will fail, since the check +.\" calculates that the process is trying to lock (num_physpages / 2 + 2) +.\" pages, which of course is not true. (MTK, Nov 04, kernel 2.4.28) +.TP +.B EPERM +(Linux 2.6.9 and later) the caller was not privileged +.RB ( CAP_IPC_LOCK ) +and its +.B RLIMIT_MEMLOCK +soft resource limit was 0. +.TP +.B EPERM +(Linux 2.6.8 and earlier) +The calling process has insufficient privilege to call +.BR munlockall (). +Under Linux the +.B CAP_IPC_LOCK +capability is required. +.\"SVr4 documents an additional EAGAIN error code. +.LP +For +.BR mlock () +and +.BR munlock (): +.TP +.B EINVAL +.I len +was negative. +.TP +.B EINVAL +(Not on Linux) +.I addr +was not a multiple of the page size. +.TP +.B ENOMEM +Some of the specified address range does not correspond to mapped +pages in the address space of the process. +.LP +For +.BR mlockall (): +.TP +.B EINVAL +Unknown \fIflags\fP were specified. +.LP +For +.BR munlockall (): +.TP +.B EPERM +(Linux 2.6.8 and earlier) The caller was not privileged +.RB ( CAP_IPC_LOCK ). +.SH "CONFORMING TO" +POSIX.1-2001, SVr4 +.SH AVAILABILITY +On POSIX systems on which +.BR mlock () +and +.BR munlock () +are available, +.B _POSIX_MEMLOCK_RANGE +is defined in and the number of bytes in a page +can be determined from the constant +.B PAGESIZE +(if defined) in or by calling +.IR sysconf(_SC_PAGESIZE) . + +On POSIX systems on which +.BR mlockall () +and +.BR munlockall () +are available, +.B _POSIX_MEMLOCK +is defined in to a value greater than 0. (See also +.BR sysconf (3).) +.\" POSIX.1-2001: It shall be defined to -1 or 0 or 200112L. +.\" -1: unavailable, 0: ask using sysconf(). +.\" glibc defines it to 1. .SH "NOTES" Memory locking has two main applications: real-time algorithms and high-security data processing. @@ -194,80 +294,6 @@ that a privileged process can lock and the .B RLIMIT_MEMLOCK soft resource limit instead defines a limit on how much memory an unprivileged process may lock. -.SH "RETURN VALUE" -On success these system calls return 0. -On error, \-1 is returned, -.I errno -is set appropriately, and no changes are made to any locks in the -address space of the process. -.SH ERRORS -.TP -.B ENOMEM -(Linux 2.6.9 and later) the caller had a non-zero -.B RLIMIT_MEMLOCK -soft resource limit, but tried to lock more memory than the limit -permitted. -This limit is not enforced if the process is privileged -.RB ( CAP_IPC_LOCK ). -.TP -.B ENOMEM -(Linux 2.4 and earlier) the calling process tried to lock more than -half of RAM. -.\" In the case of mlock(), this check is somewhat buggy: it doesn't -.\" take into account whether the to-be-locked range overlaps with -.\" already locked pages. Thus, suppose we allocate -.\" (num_physpages / 4 + 1) of memory, and lock those pages once using -.\" mlock(), and then lock the *same* page range a second time. -.\" In the case, the second mlock() call will fail, since the check -.\" calculates that the process is trying to lock (num_physpages / 2 + 2) -.\" pages, which of course is not true. (MTK, Nov 04, kernel 2.4.28) -.TP -.B EPERM -(Linux 2.6.9 and later) the caller was not privileged -.RB ( CAP_IPC_LOCK ) -and its -.B RLIMIT_MEMLOCK -soft resource limit was 0. -.TP -.B EPERM -(Linux 2.6.8 and earlier) -The calling process has insufficient privilege to call -.BR munlockall (). -Under Linux the -.B CAP_IPC_LOCK -capability is required. -.\"SVr4 documents an additional EAGAIN error code. -.LP -For -.BR mlock () -and -.BR munlock (): -.TP -.B EINVAL -.I len -was negative. -.TP -.B EINVAL -(Not on Linux) -.I addr -was not a multiple of the page size. -.TP -.B ENOMEM -Some of the specified address range does not correspond to mapped -pages in the address space of the process. -.LP -For -.BR mlockall (): -.TP -.B EINVAL -Unknown \fIflags\fP were specified. -.LP -For -.BR munlockall (): -.TP -.B EPERM -(Linux 2.6.8 and earlier) The caller was not privileged -.RB ( CAP_IPC_LOCK ). .SH "BUGS" In the 2.4 series Linux kernels up to and including 2.4.17, a bug caused the @@ -293,32 +319,6 @@ resource limit is encountered. .\" http://marc.theaimsgroup.com/?l=linux-kernel&m=113801392825023&w=2 .\" "Rationale for RLIMIT_MEMLOCK" .\" 23 Jan 2006 -.SH AVAILABILITY -On POSIX systems on which -.BR mlock () -and -.BR munlock () -are available, -.B _POSIX_MEMLOCK_RANGE -is defined in and the number of bytes in a page -can be determined from the constant -.B PAGESIZE -(if defined) in or by calling -.IR sysconf(_SC_PAGESIZE) . - -On POSIX systems on which -.BR mlockall () -and -.BR munlockall () -are available, -.B _POSIX_MEMLOCK -is defined in to a value greater than 0. (See also -.BR sysconf (3).) -.\" POSIX.1-2001: It shall be defined to -1 or 0 or 200112L. -.\" -1: unavailable, 0: ask using sysconf(). -.\" glibc defines it to 1. -.SH "CONFORMING TO" -POSIX.1-2001, SVr4 .SH "SEE ALSO" .BR mmap (2), .BR shmctl (2), diff --git a/man2/mmap.2 b/man2/mmap.2 index 4f10e1251..8f6a9ff2d 100644 --- a/man2/mmap.2 +++ b/man2/mmap.2 @@ -329,15 +329,6 @@ returns 0, on failure \-1, and .I errno is set (probably to .BR EINVAL ). -.SH NOTES -It is architecture dependent whether -.B PROT_READ -implies -.B PROT_EXEC -or not. -Portable programs should always set -.B PROT_EXEC -if they intend to execute code in the new mapping. .SH ERRORS .TP .B EACCES @@ -446,6 +437,15 @@ is defined in to a value greater than 0. (See also SVr4, 4.4BSD, POSIX.1-2001. .\" SVr4 documents additional error codes ENXIO and ENODEV. .\" SUSv2 documents additional error codes EMFILE and EOVERFLOW. +.SH NOTES +It is architecture dependent whether +.B PROT_READ +implies +.B PROT_EXEC +or not. +Portable programs should always set +.B PROT_EXEC +if they intend to execute code in the new mapping. .SH BUGS On Linux there are no guarantees like those suggested above under .BR MAP_NORESERVE . diff --git a/man2/mmap2.2 b/man2/mmap2.2 index c28efbb29..2be801f1b 100644 --- a/man2/mmap2.2 +++ b/man2/mmap2.2 @@ -68,6 +68,8 @@ is set appropriately. .B EFAULT Problem with getting the data from userspace. +.SH "CONFORMING TO" +This system call is Linux specific. .SH NOTES .BR mmap2 () is available since Linux 2.3.31. @@ -77,8 +79,6 @@ On 32-bit systems, is used to implement the .BR mmap64 () function that is part of the LFS (Large File Summit). -.SH "CONFORMING TO" -This system call is Linux specific. .SH "SEE ALSO" .BR getpagesize (2), .BR mmap (2), diff --git a/man2/mremap.2 b/man2/mremap.2 index 2f9093baa..f4e28d443 100644 --- a/man2/mremap.2 +++ b/man2/mremap.2 @@ -173,6 +173,12 @@ The memory area cannot be expanded at the current virtual address, and the .B MREMAP_MAYMOVE flag is not set in \fIflags\fP. Or, there is not enough (virtual) memory available. +.SH "CONFORMING TO" +This call is Linux specific, and should not be used in programs +intended to be portable. 4.2BSD had a (never actually implemented) +.BR mremap (2) +call with completely different semantics. +.\" FIXME perhaps remove above statement about 4.2BSD. .SH NOTES Prior to version 2.4, glibc did not expose the definition of .BR MREMAP_FIXED , @@ -181,11 +187,6 @@ and the prototype for did not allow for the .I new_address argument. -.SH "CONFORMING TO" -This call is Linux specific, and should not be used in programs -intended to be portable. 4.2BSD had a (never actually implemented) -.BR mremap (2) -call with completely different semantics. .SH "SEE ALSO" .BR brk (2), .BR getpagesize (2), diff --git a/man2/msgctl.2 b/man2/msgctl.2 index 757d9a4e0..a8034ec30 100644 --- a/man2/msgctl.2 +++ b/man2/msgctl.2 @@ -305,6 +305,9 @@ of the message queue, and the process is not privileged (Linux: it does not have the .B CAP_SYS_ADMIN capability). +.SH "CONFORMING TO" +SVr4, POSIX.1-2001. +.\" SVID does not document the EIDRM error condition. .SH NOTES The .BR IPC_INFO , @@ -322,9 +325,6 @@ and have become longs under Linux 2.4. To take advantage of this, a recompilation under glibc-2.1.91 or later should suffice. (The kernel distinguishes old and new calls by an IPC_64 flag in .IR cmd .) -.SH "CONFORMING TO" -SVr4, POSIX.1-2001. -.\" SVID does not document the EIDRM error condition. .SH "SEE ALSO" .BR msgget (2), .BR msgrcv (2), diff --git a/man2/msgget.2 b/man2/msgget.2 index cd59f6d58..33edf874f 100644 --- a/man2/msgget.2 +++ b/man2/msgget.2 @@ -182,6 +182,8 @@ A message queue has to be created but the system limit for the maximum number of message queues .RB ( MSGMNI ) would be exceeded. +.SH "CONFORMING TO" +SVr4, POSIX.1-2001. .SH NOTES .B IPC_PRIVATE isn't a flag field but a @@ -209,8 +211,6 @@ on a message queue scheduled for deletion. .SH BUGS The name choice IPC_PRIVATE was perhaps unfortunate, IPC_NEW would more clearly show its function. -.SH "CONFORMING TO" -SVr4, POSIX.1-2001. .SH "SEE ALSO" .BR msgctl (2), .BR msgrcv (2), diff --git a/man2/nanosleep.2 b/man2/nanosleep.2 index 6a95baf61..6207f6206 100644 --- a/man2/nanosleep.2 +++ b/man2/nanosleep.2 @@ -108,6 +108,8 @@ The value in the field was not in the range 0 to 999999999 or .I tv_sec was negative. +.SH "CONFORMING TO" +POSIX.1-2001. .SH BUGS The current implementation of .BR nanosleep () @@ -145,8 +147,6 @@ after the process is resumed by a SIGCONT signal. If the system call is subsequently restarted, then the time that the process spent in the stopped state is \fInot\fP counted against the sleep interval. -.SH "CONFORMING TO" -POSIX.1-2001. .SH "SEE ALSO" .BR sched_setscheduler (2), .BR timer_create (2), diff --git a/man2/open.2 b/man2/open.2 index 2b6efd4f2..3360cf040 100644 --- a/man2/open.2 +++ b/man2/open.2 @@ -369,46 +369,6 @@ return the new file descriptor, or \-1 if an error occurred (in which case, .I errno is set appropriately). -.SH NOTES -There are many infelicities in the protocol underlying NFS, affecting -amongst others -.BR O_SYNC " and " O_NDELAY . - -POSIX provides for three different variants of synchronised I/O, -corresponding to the flags \fBO_SYNC\fR, \fBO_DSYNC\fR and -\fBO_RSYNC\fR. -Currently (2.1.130) these are all synonymous under Linux. - -Note that -.BR open () -can open device special files, but -.BR creat () -cannot create them; use -.BR mknod (2) -instead. -.LP -On NFS file systems with UID mapping enabled, -.BR open () -may -return a file descriptor but e.g. -.BR read (2) -requests are denied -with \fBEACCES\fP. -This is because the client performs -.BR open () -by checking the -permissions, but UID mapping is performed by the server upon -read and write requests. - -If the file is newly created, its st_atime, st_ctime, st_mtime fields -(respectively, time of last access, time of last status change, and -time of last modification; see -.BR stat (2)) -are set -to the current time, and so are the st_ctime and st_mtime fields of the -parent directory. -Otherwise, if the file is modified because of the O_TRUNC flag, -its st_ctime and st_mtime fields are set to the current time. .SH ERRORS .TP .B EACCES @@ -523,12 +483,6 @@ The flag was specified, and an incompatible lease was held on the file (see .BR fcntl (2)). -.SH NOTES -Under Linux, the O_NONBLOCK flag indicates that one wants to open -but does not necessarily have the intention to read or write. -This is typically used to open devices in order to get a file descriptor -for use with -.BR ioctl (2). .SH "CONFORMING TO" SVr4, 4.3BSD, POSIX.1-2001. The @@ -540,6 +494,14 @@ flags are Linux specific. One may have to define the .B _GNU_SOURCE macro to get their definitions. +.SH NOTES +Under Linux, the +.B O_NONBLOCK +flag indicates that one wants to open +but does not necessarily have the intention to read or write. +This is typically used to open devices in order to get a file descriptor +for use with +.BR ioctl (2). .LP The (undefined) effect of .B O_RDONLY | O_TRUNC @@ -565,6 +527,55 @@ Older Linux kernels simply ignore this flag. One may have to define the .B _GNU_SOURCE macro to get its definition. +.PP +There are many infelicities in the protocol underlying NFS, affecting +amongst others +.BR O_SYNC " and " O_NDELAY . + +POSIX provides for three different variants of synchronised I/O, +corresponding to the flags \fBO_SYNC\fR, \fBO_DSYNC\fR and +\fBO_RSYNC\fR. +Currently (2.1.130) these are all synonymous under Linux. + +Note that +.BR open () +can open device special files, but +.BR creat () +cannot create them; use +.BR mknod (2) +instead. +.LP +On NFS file systems with UID mapping enabled, +.BR open () +may +return a file descriptor but e.g. +.BR read (2) +requests are denied +with \fBEACCES\fP. +This is because the client performs +.BR open () +by checking the +permissions, but UID mapping is performed by the server upon +read and write requests. + +If the file is newly created, its +.IR st_atime , +.IR st_ctime , +.I st_mtime +fields +(respectively, time of last access, time of last status change, and +time of last modification; see +.BR stat (2)) +are set +to the current time, and so are the +.I st_ctime +and +.I st_mtime +fields of the +parent directory. +Otherwise, if the file is modified because of the +.B O_TRUNC +flag, its st_ctime and st_mtime fields are set to the current time. .SH BUGS "The thing that has always disturbed me about O_DIRECT is that the whole interface is just stupid, and was probably designed by a deranged monkey diff --git a/man2/openat.2 b/man2/openat.2 index 49911bee0..1506ee7ed 100644 --- a/man2/openat.2 +++ b/man2/openat.2 @@ -93,6 +93,25 @@ is not a valid file descriptor. is relative and .I dirfd is a file descriptor referring to a file other than a directory. +.SH VERSIONS +.BR openat () +was added to Linux in kernel 2.6.16. +.SH "CONFORMING TO" +This system call is non-standard but is proposed +for inclusion in a future revision of POSIX.1. +A similar system call exists on Solaris. +.\" The 'at' suffix in Solaris is actually double sensed. It +.\" primarily referred to "extended *at*tributes", which are +.\" handled by Solaris' O_XATTR flag, but was also intended +.\" to refer to the notion of "at a relative location". +.\" +.\" See the following for a discussion of the inconsistent +.\" naming of the *at() functions: +.\" http://www.opengroup.org/austin/mailarchives/ag/msg09103.html +.\" Subject: RE: The naming of at()s is a difficult matter +.\" From: Don Cragun +.\" Date: Tue, 14 Feb 2006 14:56:50 -0800 (PST) +.\" .SH NOTES .BR openat () and other similar system calls suffixed "at" are supported @@ -124,25 +143,6 @@ directory", via file descriptor(s) maintained by the application. on the use of .IR /proc/self/fd/ dirfd, but less efficiently.) -.SH "CONFORMING TO" -This system call is non-standard but is proposed -for inclusion in a future revision of POSIX.1. -A similar system call exists on Solaris. -.\" The 'at' suffix in Solaris is actually double sensed. It -.\" primarily referred to "extended *at*tributes", which are -.\" handled by Solaris' O_XATTR flag, but was also intended -.\" to refer to the notion of "at a relative location". -.\" -.\" See the following for a discussion of the inconsistent -.\" naming of the *at() functions: -.\" http://www.opengroup.org/austin/mailarchives/ag/msg09103.html -.\" Subject: RE: The naming of at()s is a difficult matter -.\" From: Don Cragun -.\" Date: Tue, 14 Feb 2006 14:56:50 -0800 (PST) -.\" -.SH VERSIONS -.BR openat () -was added to Linux in kernel 2.6.16. .SH "SEE ALSO" .BR faccessat (2), .BR fchmodat (2), diff --git a/man2/pivot_root.2 b/man2/pivot_root.2 index 6ebc34fd4..3913dfbf7 100644 --- a/man2/pivot_root.2 +++ b/man2/pivot_root.2 @@ -93,7 +93,7 @@ or .BR pivot_root (), see also below), not the old root directory, but the mount point of that file system is mounted on \fIput_old\fP. -.SH NOTES + \fInew_root\fP does not have to be a mount point. In this case, \fI/proc/mounts\fP will show the mount point of the file system containing @@ -122,6 +122,12 @@ or a file system is already mounted on \fIput_old\fP. The current process does not have the .B CAP_SYS_ADMIN capability. +.SH VERSIONS +.BR pivot_root () +was introduced in Linux 2.3.41. +.SH "CONFORMING TO" +.BR pivot_root () +is Linux specific and hence is not portable. .SH BUGS .BR pivot_root () should not have to change root and cwd of all other @@ -131,12 +137,6 @@ Some of the more obscure uses of .BR pivot_root () may quickly lead to insanity. -.SH "CONFORMING TO" -.BR pivot_root () -is Linux specific and hence is not portable. -.SH VERSIONS -.BR pivot_root () -was introduced in Linux 2.3.41. .SH "SEE ALSO" .BR chdir (2), .BR chroot (2), diff --git a/man2/poll.2 b/man2/poll.2 index 271416074..c49b2ec05 100644 --- a/man2/poll.2 +++ b/man2/poll.2 @@ -263,16 +263,6 @@ value exceeds the RLIMIT_NOFILE value. .TP .B ENOMEM There was no space to allocate file descriptor tables. -.SH BUGS -See the discussion of spurious readiness notifications under the -BUGS section of -.BR select (2). -.SH "CONFORMING TO" -.BR poll () -conforms to POSIX.1-2001. -.BR ppoll () -is Linux specific. -.\" NetBSD 3.0 has a pollts() which is like Linux ppoll(). .SH VERSIONS The .BR poll () @@ -291,6 +281,12 @@ system call was added to Linux in kernel 2.6.16. The .BR ppoll () library call was added in glibc 2.4. +.SH "CONFORMING TO" +.BR poll () +conforms to POSIX.1-2001. +.BR ppoll () +is Linux specific. +.\" NetBSD 3.0 has a pollts() which is like Linux ppoll(). .SH NOTES Some implementations define the non-standard constant .B INFTIM @@ -311,6 +307,10 @@ Thus, the glibc function does not modify its .I timeout argument. +.SH BUGS +See the discussion of spurious readiness notifications under the +BUGS section of +.BR select (2). .SH "SEE ALSO" .BR select (2), .BR select_tut (2), diff --git a/man2/posix_fadvise.2 b/man2/posix_fadvise.2 index 34c6742b3..899500fff 100644 --- a/man2/posix_fadvise.2 +++ b/man2/posix_fadvise.2 @@ -83,11 +83,21 @@ An invalid value was specified for \fIadvice\fP. .B ESPIPE The specified file descriptor refers to a pipe or FIFO. (Linux actually returns EINVAL in this case.) -.SH NOTES +.SH VERSIONS .BR posix_fadvise () appeared in kernel 2.5.60. .\" Actually as fadvise64() -- MTK - +.SH "CONFORMING TO" +POSIX.1-2001. +Note that the type of the +.I len +parameter was changed from +.I size_t +to +.I off_t +in POSIX.1-2003 TC1. +.SH NOTES +VERSIONS Under Linux, \fBPOSIX_FADV_NORMAL\fP sets the readahead window to the default size for the backing device; \fBPOSIX_FADV_SEQUENTIAL\fP doubles this size, and \fBPOSIX_FADV_RANDOM\fP disables file readahead entirely. @@ -120,15 +130,6 @@ call or .BR fdatasync (2) first. -.SH "CONFORMING TO" -POSIX.1-2001. -Note that the type of the -.I len -parameter was changed from -.I size_t -to -.I off_t -in POSIX.1-2003 TC1. .SH BUGS In kernels before 2.6.6, if .I len diff --git a/man2/prctl.2 b/man2/prctl.2 index d306b8978..b60418763 100644 --- a/man2/prctl.2 +++ b/man2/prctl.2 @@ -204,6 +204,11 @@ is not recognized, or it is and .I arg2 is not zero or a signal number. +.SH VERSIONS +The +.BR prctl () +system call was introduced in Linux 2.1.57. +.\" The library interface was added in glibc 2.0.6 .SH "CONFORMING TO" This call is Linux specific. IRIX has a @@ -218,11 +223,6 @@ and options to get the maximum number of processes per user, get the maximum number of processors the calling process can use, find out whether a specified process is currently blocked, get or set the maximum stack size, etc. -.SH VERSIONS -The -.BR prctl () -system call was introduced in Linux 2.1.57. -.\" The library interface was added in glibc 2.0.6 .SH "SEE ALSO" .BR signal (2), .BR core (5) diff --git a/man2/pread.2 b/man2/pread.2 index 60867263c..5135a17e2 100644 --- a/man2/pread.2 +++ b/man2/pread.2 @@ -83,8 +83,6 @@ to any error specified for .BR write (2) or .BR lseek (2). -.SH "CONFORMING TO" -POSIX.1-2001. .SH VERSIONS The .BR pread () @@ -95,6 +93,8 @@ version 2.1.60; the entries in the i386 system call table were added in 2.1.69. The libc support (including emulation on older kernels without the system calls) was added in glibc 2.1. +.SH "CONFORMING TO" +POSIX.1-2001. .SH "SEE ALSO" .BR lseek (2), .BR read (2), diff --git a/man2/ptrace.2 b/man2/ptrace.2 index 8db4f6b62..d6f64ee40 100644 --- a/man2/ptrace.2 +++ b/man2/ptrace.2 @@ -386,13 +386,6 @@ Since the value returned by a successful PTRACE_PEEK* request may be \-1, the caller must check .I errno after such requests to determine whether or not an error occurred. -.SH BUGS -On hosts with 2.6 kernel headers, PTRACE_SETOPTIONS is declared -with a different value than the one for 2.4. -This leads to applications compiled with such -headers failing when run on 2.4 kernels. -This can be worked around by redefining PTRACE_SETOPTIONS to -PTRACE_OLDSETOPTIONS, if that is defined. .SH ERRORS .TP .B EBUSY @@ -432,6 +425,13 @@ The specified process does not exist, or is not currently being traced by the caller, or is not stopped (for requests that require that). .SH "CONFORMING TO" SVr4, 4.3BSD +.SH BUGS +On hosts with 2.6 kernel headers, PTRACE_SETOPTIONS is declared +with a different value than the one for 2.4. +This leads to applications compiled with such +headers failing when run on 2.4 kernels. +This can be worked around by redefining PTRACE_SETOPTIONS to +PTRACE_OLDSETOPTIONS, if that is defined. .SH "SEE ALSO" .BR gdb (1), .BR strace (1), diff --git a/man2/readlinkat.2 b/man2/readlinkat.2 index d07d2d4e7..6d84cc64a 100644 --- a/man2/readlinkat.2 +++ b/man2/readlinkat.2 @@ -93,17 +93,17 @@ is not a valid file descriptor. is relative and .I dirfd is a file descriptor referring to a file other than a directory. +.SH VERSIONS +.BR readlinkat () +was added to Linux in kernel 2.6.16. +.SH "CONFORMING TO" +This system call is non-standard but is proposed +for inclusion in a future revision of POSIX.1. .SH NOTES See .BR openat (2) for an explanation of the need for .BR readlinkat (). -.SH "CONFORMING TO" -This system call is non-standard but is proposed -for inclusion in a future revision of POSIX.1. -.SH VERSIONS -.BR readlinkat () -was added to Linux in kernel 2.6.16. .SH "SEE ALSO" .BR openat (2), .BR path_resolution (2), diff --git a/man2/remap_file_pages.2 b/man2/remap_file_pages.2 index 0f5be6452..5e16dd366 100644 --- a/man2/remap_file_pages.2 +++ b/man2/remap_file_pages.2 @@ -123,10 +123,6 @@ returns 0. On error, \-1 is returned, and .I errno is set appropriately. -.SH NOTES -The -.BR remap_file_pages () -system call appeared in Linux 2.5.46. .SH ERRORS .TP .B EINVAL @@ -144,6 +140,10 @@ or .I pgoff is invalid. .\" And possibly others from vma->vm_ops->populate() +.SH VERSIONS +The +.BR remap_file_pages () +system call appeared in Linux 2.5.46. .SH "CONFORMING TO" The .BR remap_file_pages () diff --git a/man2/renameat.2 b/man2/renameat.2 index c82f0857e..194d4c814 100644 --- a/man2/renameat.2 +++ b/man2/renameat.2 @@ -106,17 +106,17 @@ or similar for .I newpath and .IR newdirfd +.SH VERSIONS +.BR renameat () +was added to Linux in kernel 2.6.16. +.SH "CONFORMING TO" +This system call is non-standard but is proposed +for inclusion in a future revision of POSIX.1. .SH NOTES See .BR openat (2) for an explanation of the need for .BR renameat (). -.SH "CONFORMING TO" -This system call is non-standard but is proposed -for inclusion in a future revision of POSIX.1. -.SH VERSIONS -.BR renameat () -was added to Linux in kernel 2.6.16. .SH "SEE ALSO" .BR openat (2), .BR rename (2), diff --git a/man2/sched_setaffinity.2 b/man2/sched_setaffinity.2 index 0d6146372..f1056e253 100644 --- a/man2/sched_setaffinity.2 +++ b/man2/sched_setaffinity.2 @@ -165,6 +165,16 @@ capability. .TP .B ESRCH The process whose ID is \fIpid\fR could not be found. +.SH VERSIONS +The CPU affinity system calls were introduced in Linux kernel 2.5.8. +The library interfaces were introduced in glibc 2.3. +Initially, the glibc interfaces included a +.I cpusetsize +argument. +In glibc 2.3.3, the +.I cpusetsize +argument was removed, but this argument was restored in glibc 2.3.4. +.fi .SH "CONFORMING TO" These system calls are Linux specific. .SH "NOTES" @@ -194,16 +204,6 @@ system call returns the size (in bytes) of the .I cpumask_t data type that is used internally by the kernel to represent the CPU set bitmask. -.SH VERSIONS -The CPU affinity system calls were introduced in Linux kernel 2.5.8. -The library interfaces were introduced in glibc 2.3. -Initially, the glibc interfaces included a -.I cpusetsize -argument. -In glibc 2.3.3, the -.I cpusetsize -argument was removed, but this argument was restored in glibc 2.3.4. -.fi .SH "SEE ALSO" .BR clone (2), .BR getpriority (2), diff --git a/man2/select.2 b/man2/select.2 index fe992a62b..6622b99da 100644 --- a/man2/select.2 +++ b/man2/select.2 @@ -344,6 +344,12 @@ main(void) exit(EXIT_SUCCESS); } .fi +.SH VERSIONS +.BR pselect () +was added to Linux in kernel 2.6.16. +Prior to this, +.BR pselect () +was emulated in glibc (but see BUGS). .SH "CONFORMING TO" .BR select () conforms to POSIX.1-2001 and @@ -438,12 +444,6 @@ Thus, the glibc .BR pselect () function does not modify its timeout argument; this is the behaviour required by POSIX.1-2001. -.SH VERSIONS -.BR pselect () -was added to Linux in kernel 2.6.16. -Prior to this, -.BR pselect () -was emulated in glibc (but see BUGS). .SH BUGS Glibc 2.0 provided a version of .BR pselect () diff --git a/man2/semctl.2 b/man2/semctl.2 index a709b748a..dfc3ae9e9 100644 --- a/man2/semctl.2 +++ b/man2/semctl.2 @@ -455,6 +455,9 @@ and the value to which is to be set (for some semaphore of the set) is less than 0 or greater than the implementation limit .BR SEMVMX . +.SH "CONFORMING TO" +SVr4, POSIX.1-2001. +.\" SVr4 documents more error conditions EINVAL and EOVERFLOW. .SH NOTES The .BR IPC_INFO , @@ -499,9 +502,6 @@ Under Linux, .BR semctl () is not a system call, but is implemented via the system call .BR ipc (2). -.SH "CONFORMING TO" -SVr4, POSIX.1-2001. -.\" SVr4 documents more error conditions EINVAL and EOVERFLOW. .SH "SEE ALSO" .BR ipc (2), .BR semget (2), diff --git a/man2/semget.2 b/man2/semget.2 index ae9a3cba1..6afea4973 100644 --- a/man2/semget.2 +++ b/man2/semget.2 @@ -217,6 +217,10 @@ number of semaphore sets or the system wide maximum number of semaphores .RB ( SEMMNS ), would be exceeded. +.SH "CONFORMING TO" +SVr4, POSIX.1-2001. +.\" SVr4 documents additional error conditions EFBIG, E2BIG, EAGAIN, +.\" ERANGE, EFAULT. .SH NOTES .B IPC_PRIVATE isn't a flag field but a @@ -272,10 +276,6 @@ in the associated data structure retrieved by a .BR semctl (2) .B IPC_STAT operation can be used to avoid races.) -.SH "CONFORMING TO" -SVr4, POSIX.1-2001. -.\" SVr4 documents additional error conditions EFBIG, E2BIG, EAGAIN, -.\" ERANGE, EFAULT. .SH "SEE ALSO" .BR semctl (2), .BR semop (2), diff --git a/man2/semop.2 b/man2/semop.2 index a7dc48a94..fc65c0543 100644 --- a/man2/semop.2 +++ b/man2/semop.2 @@ -380,6 +380,9 @@ is greater than .BR SEMVMX , the implementation dependent maximum value for .IR semval . +.SH "CONFORMING TO" +SVr4, POSIX.1-2001. +.\" SVr4 documents additional error conditions EINVAL, EFBIG, ENOSPC. .SH NOTES The .I sem_undo @@ -472,9 +475,6 @@ This bug is fixed in kernel 2.6.11. .\" http://marc.theaimsgroup.com/?l=linux-kernel&m=110260821123863&w=2 .\" the fix: .\" http://marc.theaimsgroup.com/?l=linux-kernel&m=110261701025794&w=2 -.SH "CONFORMING TO" -SVr4, POSIX.1-2001. -.\" SVr4 documents additional error conditions EINVAL, EFBIG, ENOSPC. .SH "SEE ALSO" .BR semctl (2), .BR semget (2), diff --git a/man2/set_mempolicy.2 b/man2/set_mempolicy.2 index 5e5d13847..2dc5f4c73 100644 --- a/man2/set_mempolicy.2 +++ b/man2/set_mempolicy.2 @@ -105,8 +105,6 @@ and is inherited by child processes created using .BR fork (2) or .BR clone (2). -.SH NOTES -Process policy is not remembered if the page is swapped out. .SH RETURN VALUE On success, .BR set_mempolicy () @@ -125,6 +123,8 @@ See .BR mbind (2). .SH CONFORMING TO This system call is Linux specific. +.SH NOTES +Process policy is not remembered if the page is swapped out. .SH SEE ALSO .BR mbind (2), .BR get_mempolicy (2), diff --git a/man2/set_thread_area.2 b/man2/set_thread_area.2 index c85bfd1f5..337793abb 100644 --- a/man2/set_thread_area.2 +++ b/man2/set_thread_area.2 @@ -52,13 +52,13 @@ set appropriately. .TP .B ESRCH A free TLS entry could not be located. -.SH "CONFORMING TO" -.BR set_thread_area () -is Linux specific and should not be used in programs that are intended -to be portable. .SH "VERSIONS" A version of .BR set_thread_area () first appeared in Linux 2.5.29. +.SH "CONFORMING TO" +.BR set_thread_area () +is Linux specific and should not be used in programs that are intended +to be portable. .SH "SEE ALSO" .BR get_thread_area (2). diff --git a/man2/setfsgid.2 b/man2/setfsgid.2 index 0908df893..17d51ce52 100644 --- a/man2/setfsgid.2 +++ b/man2/setfsgid.2 @@ -75,14 +75,6 @@ is returned. is Linux specific and should not be used in programs intended to be portable. It is present since Linux 1.1.44 and in libc since libc 4.7.6. -.SH BUGS -No error messages of any kind are returned to the caller. -At the very -least, -.B EPERM -should be returned when the call fails (because the caller lacks the -.B CAP_SETGID -capability). .SH NOTES When glibc determines that the argument is not a valid group ID, it will return \-1 and set \fIerrno\fP to EINVAL without attempting @@ -91,6 +83,14 @@ the system call. Note that at the time this system call was introduced, a process could send a signal to a process with the same effective user ID. Today signal permission handling is slightly different. +.SH BUGS +No error messages of any kind are returned to the caller. +At the very +least, +.B EPERM +should be returned when the call fails (because the caller lacks the +.B CAP_SETGID +capability). .SH "SEE ALSO" .BR kill (2), .BR setfsuid (2), diff --git a/man2/setresuid.2 b/man2/setresuid.2 index 3305985d6..ee9326989 100644 --- a/man2/setresuid.2 +++ b/man2/setresuid.2 @@ -76,11 +76,11 @@ bring that user ID over its NPROC rlimit. .B EPERM The calling process is not privileged (did not have the CAP_SETUID capability) and tried to change the IDs to values that are not permitted. +.SH VERSIONS +These calls are available under Linux since Linux 2.1.44. .SH "CONFORMING TO" These calls are non-standard; they also appear on HP-UX and some of the BSDs. -.SH VERSIONS -It is available under Linux since Linux 2.1.44. .SH NOTES Under HP-UX and FreeBSD the prototype is found in .IR . diff --git a/man2/setreuid.2 b/man2/setreuid.2 index d723a1024..4977ab840 100644 --- a/man2/setreuid.2 +++ b/man2/setreuid.2 @@ -98,16 +98,16 @@ swapping the effective user (group) ID with the real user (group) ID, or (ii) setting one to the value of the other or (iii) setting the effective user (group) ID to the value of the saved set-user-ID (saved set-group-ID) was specified. -.SH NOTES -Setting the effective user (group) ID to the -saved set-user-ID (saved set-group-ID) is -possible since Linux 1.1.37 (1.1.38). .SH "CONFORMING TO" POSIX.1-2001, 4.3BSD (the .BR setreuid () and .BR setregid () function calls first appeared in 4.2BSD). +.SH NOTES +Setting the effective user (group) ID to the +saved set-user-ID (saved set-group-ID) is +possible since Linux 1.1.37 (1.1.38). .SH "SEE ALSO" .BR getgid (2), .BR getuid (2), diff --git a/man2/setsid.2 b/man2/setsid.2 index 05437659f..db60c6832 100644 --- a/man2/setsid.2 +++ b/man2/setsid.2 @@ -59,6 +59,8 @@ equals the PID of the calling process. Thus, in particular, .BR setsid () fails if the calling process is already a process group leader. +.SH "CONFORMING TO" +SVr4, POSIX.1-2001. .SH NOTES A child created via .BR fork (2) @@ -76,8 +78,6 @@ and .BR _exit (2), and have the child do .BR setsid (). -.SH "CONFORMING TO" -SVr4, POSIX.1-2001. .SH "SEE ALSO" .BR setpgid (2), .BR setpgrp (2), diff --git a/man2/shmctl.2 b/man2/shmctl.2 index 1a49e218e..7d77af108 100644 --- a/man2/shmctl.2 +++ b/man2/shmctl.2 @@ -354,6 +354,11 @@ capability). (Since Linux 2.6.9, this error can also occur if the .BR RLIMIT_MEMLOCK is 0 and the caller is not privileged.) +.SH "CONFORMING TO" +SVr4, POSIX.1-2001. +.\" SVr4 documents additional error conditions EINVAL, +.\" ENOENT, ENOSPC, ENOMEM, EEXIST. Neither SVr4 nor SVID documents +.\" an EIDRM error condition. .SH NOTES The .BR IPC_INFO , @@ -380,11 +385,6 @@ To take advantage of this, a recompilation under glibc-2.1.91 or later should suffice. (The kernel distinguishes old and new calls by an IPC_64 flag in .IR cmd .) -.SH "CONFORMING TO" -SVr4, POSIX.1-2001. -.\" SVr4 documents additional error conditions EINVAL, -.\" ENOENT, ENOSPC, ENOMEM, EEXIST. Neither SVr4 nor SVID documents -.\" an EIDRM error condition. .SH "SEE ALSO" .BR mlock (2), .BR setrlimit (2), diff --git a/man2/shmget.2 b/man2/shmget.2 index f19c6dc91..66ae9d729 100644 --- a/man2/shmget.2 +++ b/man2/shmget.2 @@ -223,6 +223,12 @@ The flag was specified, but the caller was not privileged (did not have the .B CAP_IPC_LOCK capability). +.SH "CONFORMING TO" +SVr4, POSIX.1-2001. +.\" SVr4 documents an additional error condition EEXIST. + +.B SHM_HUGETLB +is a non-portable Linux extension. .SH NOTES .B IPC_PRIVATE isn't a flag field but a @@ -273,12 +279,6 @@ on a shared memory segment scheduled for deletion. .SH BUGS The name choice IPC_PRIVATE was perhaps unfortunate, IPC_NEW would more clearly show its function. -.SH "CONFORMING TO" -SVr4, POSIX.1-2001. -.\" SVr4 documents an additional error condition EEXIST. - -.B SHM_HUGETLB -is a non-portable Linux extension. .SH "SEE ALSO" .BR shmat (2), .BR shmctl (2), diff --git a/man2/shmop.2 b/man2/shmop.2 index 70b025fc2..5b888fa0a 100644 --- a/man2/shmop.2 +++ b/man2/shmop.2 @@ -227,6 +227,25 @@ or, .\" The following since 2.6.17-rc1: .I shmaddr is not aligned on a page boundary. +.SH "CONFORMING TO" +SVr4, POSIX.1-2001. +.\" SVr4 documents an additional error condition EMFILE. + +In SVID 3 (or perhaps earlier) +the type of the \fIshmaddr\fP argument was changed from +.I "char *" +into +.IR "const void *" , +and the returned type of +.BR shmat () +from +.I "char *" +into +.IR "void *" . +(Linux libc4 and libc5 have the +.I "char *" +prototypes; glibc2 has +.IR "void *" .) .SH NOTES Using .BR shmat () @@ -264,25 +283,6 @@ value is The implementation places no intrinsic limit on the per\-process maximum number of shared memory segments .RB ( SHMSEG ). -.SH "CONFORMING TO" -SVr4, POSIX.1-2001. -.\" SVr4 documents an additional error condition EMFILE. - -In SVID 3 (or perhaps earlier) -the type of the \fIshmaddr\fP argument was changed from -.I "char *" -into -.IR "const void *" , -and the returned type of -.BR shmat () -from -.I "char *" -into -.IR "void *" . -(Linux libc4 and libc5 have the -.I "char *" -prototypes; glibc2 has -.IR "void *" .) .SH "SEE ALSO" .BR brk (2), .BR mmap (2), diff --git a/man3/difftime.3 b/man3/difftime.3 index cd3837b7a..601f0223a 100644 --- a/man3/difftime.3 +++ b/man3/difftime.3 @@ -61,8 +61,6 @@ On other systems, the data type .I time_t might use some other encoding where subtraction doesn't work directly. -.SH "CONFORMING TO" -SVr4, 4.3BSD, POSIX.1-2001. .SH "SEE ALSO" .BR date (1), .BR gettimeofday (2), diff --git a/man3/getrpcent.3 b/man3/getrpcent.3 index 562fb61ed..068407f6a 100644 --- a/man3/getrpcent.3 +++ b/man3/getrpcent.3 @@ -93,9 +93,6 @@ program number is found, or until end-of-file is encountered. .TP 20 .I /etc/rpc .PD -.SH "CONFORMING TO" -Not in POSIX.1-2001. -Present on the BSDs, Solaris, and many other systems. .SH RETURN VALUE .LP A @@ -109,6 +106,9 @@ All information is contained in a static area so it must be copied if it is to be saved. +.SH "CONFORMING TO" +Not in POSIX.1-2001. +Present on the BSDs, Solaris, and many other systems. .SH "SEE ALSO" .BR rpc (5), .BR rpcinfo (8), diff --git a/man8/ld.so.8 b/man8/ld.so.8 index 610d442e2..0bb54531f 100644 --- a/man8/ld.so.8 +++ b/man8/ld.so.8 @@ -2,6 +2,16 @@ .TH LD.SO 8 2001-12-16 "" "Linux Programmer's Manual" .SH NAME ld.so, ld-linux.so* \- dynamic linker/loader +.SH SYNOPSIS +The dynamic linker can be run either indirectly through running some +dynamically linked program or library (in which case no command line options +to the dynamic linker can be passed and, in the ELF case, the dynamic linker +which is stored in the +.B .interp +section of the program is executed) or directly by running: +.P +.I /lib/ld-linux.so.* +[OPTIONS] [PROGRAM [ARGUMENTS]] .SH DESCRIPTION The programs .B ld.so @@ -60,16 +70,6 @@ and then If the binary was linked with .B \-z nodeflib linker option, this step is skipped. -.SH SYNOPSIS -The dynamic linker can be run either indirectly through running some -dynamically linked program or library (in which case no command line options -to the dynamic linker can be passed and, in the ELF case, the dynamic linker -which is stored in the -.B .interp -section of the program is executed) or directly by running: -.P -.I /lib/ld-linux.so.* -[OPTIONS] [PROGRAM [ARGUMENTS]] .SH OPTIONS .TP .B \-\-list