From f27a7a1b6a0fe2d41c4df6ebe0a962042a98c7dc Mon Sep 17 00:00:00 2001 From: Ivana Hutarova Varekova Date: Wed, 6 Oct 2010 13:09:44 +0200 Subject: [PATCH] - update to 3.28 - move all additional man-pages to one source (man-pages-additional-20101006.tar.bz2) - remove additional man-pages without the info about license --- .gitignore | 7 +- man-pages-1.51-iconv.patch | 11 - man-pages-2.63-getent.patch | 43 --- man-pages-2.63-iconv.patch | 19 - man-pages-3.22-gai.conf.patch | 29 -- man-pages-3.23-iconv.patch | 65 ---- man-pages.spec | 43 +-- mmap.2 | 675 ---------------------------------- sources | 7 +- 9 files changed, 18 insertions(+), 881 deletions(-) delete mode 100644 man-pages-1.51-iconv.patch delete mode 100644 man-pages-2.63-getent.patch delete mode 100644 man-pages-2.63-iconv.patch delete mode 100644 man-pages-3.22-gai.conf.patch delete mode 100644 man-pages-3.23-iconv.patch delete mode 100644 mmap.2 diff --git a/.gitignore b/.gitignore index 6a31a38..841d88f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,3 @@ -man-pages-extralocale.tar.bz2 -man-suid-bins.tar.bz2 man-pages-posix-2003-a.tar.bz2 -man-pages_add-02.tar.bz2 -man-pages_syscalls-03.tar.bz2 -/man-pages-3.27.tar.bz2 +/man-pages-3.28.tar.bz2 +/man-pages-additional-20101006.tar.bz2 diff --git a/man-pages-1.51-iconv.patch b/man-pages-1.51-iconv.patch deleted file mode 100644 index 321e879..0000000 --- a/man-pages-1.51-iconv.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- man-pages-1.51/man1/iconv.1.stdin 2002-06-12 14:44:12.000000000 -0400 -+++ man-pages-1.51/man1/iconv.1 2002-06-12 14:44:26.000000000 -0400 -@@ -211,7 +211,7 @@ - .PP - \fB--output\fR, \fB\-o\fR \fIfile\fR - .PP --Specify output file (instead of stdin) -+Specify output file (instead of stdout) - .PP - \fB--verbose\fR - .PP diff --git a/man-pages-2.63-getent.patch b/man-pages-2.63-getent.patch deleted file mode 100644 index 86ac24a..0000000 --- a/man-pages-2.63-getent.patch +++ /dev/null @@ -1,43 +0,0 @@ ---- man-pages-2.55/man1/getent.1~ 2001-03-09 18:27:32.000000000 +0200 -+++ man-pages-2.55/man1/getent.1 2007-07-18 01:50:51.000000000 +0300 -@@ -93,7 +93,7 @@ - .nr % 0 - .rr F - .\} --.TH GETENT 1 "Match 2001" "Red Hat Linux" -+.TH GETENT 1 "July 2007" "Red Hat Linux" - .UC - .if n .hy 0 - .if n .na -@@ -192,10 +192,20 @@ getent \- get entries from administrativ - .SH "SYNOPSIS" - \fBgetent\fR \fIdatabase\fR [\fIkey\fR ...] - .SH "DESCRIPTION" --The \fIgetent\fR program gathers entries from the specified -+The \fBgetent\fR program gathers entries from the specified - administrative database using the specified search keys. --Where \fIdatabase\fR is one of aliases, ethers, group, hosts, --netgroup, networks, passwd, protocols, rpc, services or shadow. -+\fIdatabase\fR is one of ahosts, ahostsv4, ahostsv6, aliases, ethers, -+group, hosts, netgroup, networks, passwd, protocols, rpc, services or -+shadow. -+.SH "EXIT STATUS" -+.IP 0 -+Success; the requested entries were found. -+.IP 1 -+Wrong number of or invalid arguments. -+.IP 2 -+One or more of the requested entries could not be found. -+.IP 3 -+Unsupported operation. - .SH "AUTHOR" - getent is written by Thorsten Kukuk for the GNU C Library. - .PP -@@ -213,5 +223,7 @@ for GNU C Library 2.2.2 getent changes. - - .IX Header "DESCRIPTION" - -+.IX Header "EXIT STATUS" -+ - .IX Header "AUTHOR" - diff --git a/man-pages-2.63-iconv.patch b/man-pages-2.63-iconv.patch deleted file mode 100644 index 6ef4a78..0000000 --- a/man-pages-2.63-iconv.patch +++ /dev/null @@ -1,19 +0,0 @@ ---- man-pages-2.63/man1/iconv.1.pom 2007-08-07 14:08:32.000000000 +0200 -+++ man-pages-2.63/man1/iconv.1 2007-08-07 14:35:22.000000000 +0200 -@@ -216,6 +216,16 @@ Specify output file (instead of stdout) - \fB--verbose\fR - .PP - Print progress information. -+.SH "EXAMPLES" -+Following examples convert from code set ISO88592 "input.txt" to UTF8 -+code set or ASCII and stores the result as "output.txt". -+\fB -+iconv -f ISO88592 -t UTF8 < input.txt > output.txt -+.sp -+iconv -f ISO88592 -t ASCII//TRANSLIT < input.txt > output.txt -+\fp -+.fi -+ - .SH "AUTHOR" - iconv is written by Ulrich Drepper as part of the GNU C Library. - .PP diff --git a/man-pages-3.22-gai.conf.patch b/man-pages-3.22-gai.conf.patch deleted file mode 100644 index 95da223..0000000 --- a/man-pages-3.22-gai.conf.patch +++ /dev/null @@ -1,29 +0,0 @@ -diff -up man-pages-3.22/man5/gai.conf.5.pom man-pages-3.22/man5/gai.conf.5 ---- man-pages-3.22/man5/gai.conf.5.pom 2006-05-15 10:18:05.000000000 +0200 -+++ man-pages-3.22/man5/gai.conf.5 2009-08-11 08:55:22.000000000 +0200 -@@ -51,7 +51,7 @@ value. - .TP - \fBprecedence\fR \fInetmask\fR \fIprecedence\fR - This keyword is similar to \fBlabel\fR but instead the value is added --to the precendence table as specified in RFC 3484. Once again, the -+to the precedence table as specified in RFC 3484. Once again, the - presence of a single \fBprecedence\fR line in the configuration file - causes the default table to not be used. - -@@ -74,11 +74,11 @@ label ::/0 1 - label 2002::/16 2 - label ::/96 3 - label ::ffff:0:0/96 4 --precendence ::1/128 50 --precendence ::/0 40 --precendence 2002::/16 30 --precendence ::/96 20 --precendence ::ffff:0:0/96 10 -+precedence ::1/128 50 -+precedence ::/0 40 -+precedence 2002::/16 30 -+precedence ::/96 20 -+precedence ::ffff:0:0/96 10 - - - .SH FILES diff --git a/man-pages-3.23-iconv.patch b/man-pages-3.23-iconv.patch deleted file mode 100644 index 74f780f..0000000 --- a/man-pages-3.23-iconv.patch +++ /dev/null @@ -1,65 +0,0 @@ -diff -up man-pages-3.23/man1/iconv.1.pom man-pages-3.23/man1/iconv.1 ---- man-pages-3.23/man1/iconv.1.pom 2010-01-26 15:23:10.000000000 +0100 -+++ man-pages-3.23/man1/iconv.1 2010-01-27 15:03:09.000000000 +0100 -@@ -196,26 +196,42 @@ The \fBiconv\fR program converts the enc - \fIinputfile\fR from one coded character set to another. The result is - written to standard output unless otherwise specified by the - \fB--output\fR option. --.PP -+.SS -+Input/Output format specification: -+.TP - \fB--from-code\fR, \fB\-f\fR \fIencoding\fR --.PP - Convert characters from \fIencoding\fR --.PP -+.TP - \fB--to-code\fR, \fB\-t\fR \fIencoding\fR --.PP - Convert characters to \fIencoding\fR --.PP -+.SS -+Information: -+.TP - \fB--list\fR --.PP - List known coded character sets --.PP -+.SS -+Output control: -+.TP -+\fB-c\fR -+omit invalid characters from output -+.TP - \fB--output\fR, \fB\-o\fR \fIfile\fR --.PP - Specify output file (instead of stdout) --.PP -+.TP -+\fB--silent\fR, \fB-s\fR -+suppress warnings -+.TP - \fB--verbose\fR --.PP - Print progress information. -+.TP -+\fB-?\fR, \fB--help\fR -+Give this help list -+.TP -+\fB--usage\fR -+Give a short usage message -+.TP -+\fB-V\fR, \fB--version\fR -+Print program version - .SH "EXAMPLES" - Following examples convert from code set ISO88592 "input.txt" to UTF8 - code set or ASCII and stores the result as "output.txt". -@@ -225,7 +241,7 @@ iconv -f ISO88592 -t UTF8 < input.txt > - iconv -f ISO88592 -t ASCII//TRANSLIT < input.txt > output.txt - \fp - .fi -- -+\fR - .SH "AUTHOR" - iconv is written by Ulrich Drepper as part of the GNU C Library. - .PP diff --git a/man-pages.spec b/man-pages.spec index 31b56da..e703893 100644 --- a/man-pages.spec +++ b/man-pages.spec @@ -3,36 +3,27 @@ Summary: Man (manual) pages from the Linux Documentation Project Name: man-pages -Version: 3.27 -Release: 3%{?dist} +Version: 3.28 +Release: 1%{?dist} License: GPLv2+ and GPL+ and BSD and MIT and Copyright only and IEEE Group: Documentation URL: http://www.kernel.org/pub/linux/docs/manpages/ - Source0: http://www.kernel.org/pub/linux/docs/manpages/man-pages-%{version}.tar.bz2 # POSIX man pages Source1: http://www.kernel.org/pub/linux/docs/man-pages/man-pages-posix/man-pages-posix-%{posix_version}-%{posix_release}.tar.bz2 -Source2: man-pages_add-02.tar.bz2 -Source3: man-pages-extralocale.tar.bz2 -Source4: man-pages_syscalls-03.tar.bz2 -# IBM-supplied man pages for suid binaries: -Source5: man-suid-bins.tar.bz2 -Source6: mmap.2 -Patch1: man-pages-1.51-iconv.patch +# additional man-pages, the source tarball is fedora only +# all man-pages have a license info +Source2: man-pages-additional-20101006.tar.bz2 Patch28: man-pages-2.46-nscd.patch Patch36: man-pages-2.63-unimplemented.patch Patch45: man-pages-2.48-passwd.patch Patch46: man-pages-2.51-nscd-conf.patch -Patch49: man-pages-2.63-getent.patch -Patch50: man-pages-2.63-iconv.patch Patch53: man-pages-2.78-stream.patch Patch54: man-pages-2.80-malloc_h.patch -Patch55: man-pages-3.22-gai.conf.patch Patch57: man-pages-3.22-nsswitch.conf.patch Patch58: man-pages-3.23-proc.patch Patch59: man-pages-3.23-ld.so.patch Patch60: man-pages-3.22-sched_setaffinity.patch -Patch61: man-pages-3.23-iconv.patch Patch62: man-pages-3.23-printf.patch Patch63: man-pages-3.24-getnameinfo.patch Patch67: man-pages-3.24-mmap64.patch @@ -48,27 +39,21 @@ A large collection of man pages (documentation) from the Linux Documentation Project (LDP). %prep -%setup -q -n %{name}-%{version} -a 1 -a 2 -a 3 -a 4 -a 5 +%setup -q -n %{name}-%{version} -a 1 -a 2 -mv man-pages-posix-%{posix_version}-%{posix_release}/* ./ +mv man-pages-posix-%{posix_version}-%{posix_release}/Changes{,.posix} +mv man-pages-posix-%{posix_version}-%{posix_release}/* ./ rmdir man-pages-posix-%{posix_version}-%{posix_release} -cp %{SOURCE6} man2/mmap.2 - -%patch1 -p1 %patch28 -p1 %patch36 -p1 %patch45 -p1 %patch46 -p1 -%patch49 -p1 -%patch50 -p1 %patch53 -p1 %patch54 -p1 -%patch55 -p1 %patch57 -p1 %patch58 -p1 %patch59 -p1 %patch60 -p1 -%patch61 -p1 %patch62 -p1 %patch63 -p1 %patch67 -p1 @@ -89,15 +74,9 @@ rm -v man2/{,f,l}{get,list,remove,set}xattr.2 # Problem with db x db4 (#198597) - man pages are obsolete rm -v man3/{db,btree,dbopen,hash,mpool,recno}.3 -# Remove rpcinfo page - obsolete -rm -v man8/rpcinfo.8 - # Deprecated rm -v man2/pciconfig_{write,read,iobase}.2 -# Part of squid -rm -v man8/ncsa_auth.8 - # Part of numactl package rm -v man5/numa_maps.5 @@ -144,6 +123,12 @@ rm -rf $RPM_BUILD_ROOT %lang(en) %{_mandir}/en/man*/* %changelog +* Wed Oct 6 2010 Ivana Hutarova Varekova - 3.28-1 +- update to 3.28 +- move all additional man-pages to one source + (man-pages-additional-20101006.tar.bz2) +- remove additional man-pages without the info about license + * Thu Sep 23 2010 Ivana Hutarova Varekova - 3.27-3 - Resolves: #634626 remove link to non-existing man page diff --git a/mmap.2 b/mmap.2 deleted file mode 100644 index 605a527..0000000 --- a/mmap.2 +++ /dev/null @@ -1,675 +0,0 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" -.\" Copyright (C) 1996 Andries Brouwer -.\" and Copyright (C) 2006, 2007 Michael Kerrisk -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\" Modified 1997-01-31 by Eric S. Raymond -.\" Modified 2000-03-25 by Jim Van Zandt -.\" Modified 2001-10-04 by John Levon -.\" Modified 2003-02-02 by Andi Kleen -.\" Modified 2003-05-21 by Michael Kerrisk -.\" MAP_LOCKED works from 2.5.37 -.\" Modified 2004-06-17 by Michael Kerrisk -.\" Modified 2004-09-11 by aeb -.\" Modified 2004-12-08, from Eric Estievenart -.\" Modified 2004-12-08, mtk, formatting tidy-ups -.\" Modified 2006-12-04, mtk, various parts rewritten -.\" 2007-07-10, mtk, Added an example program. -.\" 2008-11-18, mtk, document MAP_STACK -.\" -.TH MMAP 2 2009-09-26 "Linux" "Linux Programmer's Manual" -.SH NAME -mmap, mmap64, munmap \- map or unmap files or devices into memory -.SH SYNOPSIS -.nf -.B #include -.sp -.BI "void *mmap(void *" addr ", size_t " length \ -", int " prot ", int " flags , -.BI " int " fd ", off_t " offset ); -.BI "void *mmap64(void *" addr ", size_t " length \ -", int " prot ", int " flags , -.BI " int " fd ", off64_t " offset ); -.BI "int munmap(void *" addr ", size_t " length ); -.fi -.SH DESCRIPTION -.BR mmap () -creates a new mapping in the virtual address space of -the calling process. -The starting address for the new mapping is specified in -.IR addr . -The -.I length -argument specifies the length of the mapping. - -If -.I addr -is NULL, -then the kernel chooses the address at which to create the mapping; -this is the most portable method of creating a new mapping. -If -.I addr -is not NULL, -then the kernel takes it as a hint about where to place the mapping; -on Linux, the mapping will be created at a nearby page boundary. -.\" Before Linux 2.6.24, the address was rounded up to the next page -.\" boundary; since 2.6.24, it is rounded down! -The address of the new mapping is returned as the result of the call. - -The contents of a file mapping (as opposed to an anonymous mapping; see -.B MAP_ANONYMOUS -below), are initialized using -.I length -bytes starting at offset -.I offset -in the file (or other object) referred to by the file descriptor -.IR fd . -.I offset -must be a multiple of the page size as returned by -.IR sysconf(_SC_PAGE_SIZE) . -.LP -The -.I prot -argument describes the desired memory protection of the mapping -(and must not conflict with the open mode of the file). -It is either -.B PROT_NONE -or the bitwise OR of one or more of the following flags: -.TP 1.1i -.B PROT_EXEC -Pages may be executed. -.TP -.B PROT_READ -Pages may be read. -.TP -.B PROT_WRITE -Pages may be written. -.TP -.B PROT_NONE -Pages may not be accessed. -.LP -The -.I flags -argument determines whether updates to the mapping -are visible to other processes mapping the same region, -and whether updates are carried through to the underlying file. -This behavior is determined by including exactly one -of the following values in -.IR flags : -.TP 1.1i -.B MAP_SHARED -Share this mapping. -Updates to the mapping are visible to other processes that map this file, -and are carried through to the underlying file. -The file may not actually be updated until -.BR msync (2) -or -.BR munmap () -is called. -.TP -.B MAP_PRIVATE -Create a private copy-on-write mapping. -Updates to the mapping are not visible to other processes -mapping the same file, and are not carried through to -the underlying file. -It is unspecified whether changes made to the file after the -.BR mmap () -call are visible in the mapped region. -.LP -Both of these flags are described in POSIX.1-2001. - -In addition, zero or more of the following values can be ORed in -.IR flags : -.TP -.BR MAP_32BIT " (since Linux 2.4.20, 2.6)" -Put the mapping into the first 2 Gigabytes of the process address space. -This flag is only supported on x86-64, for 64-bit programs. -It was added to allow thread stacks to be allocated somewhere -in the first 2GB of memory, -so as to improve context-switch performance on some early -64-bit processors. -.\" See http://lwn.net/Articles/294642 "Tangled up in threads", 19 Aug 08 -Modern x86-64 processors no longer have this performance problem, -so use of this flag is not required on those systems. -The -.B MAP_32BIT -flag is ignored when -.B MAP_FIXED -is set. -.TP -.B MAP_ANON -Synonym for -.BR MAP_ANONYMOUS . -Deprecated. -.TP -.B MAP_ANONYMOUS -The mapping is not backed by any file; -its contents are initialized to zero. -The -.I fd -and -.I offset -arguments are ignored; -however, some implementations require -.I fd -to be \-1 if -.B MAP_ANONYMOUS -(or -.BR MAP_ANON ) -is specified, -and portable applications should ensure this. -The use of -.B MAP_ANONYMOUS -in conjunction with -.B MAP_SHARED -is only supported on Linux since kernel 2.4. -.TP -.B MAP_DENYWRITE -This flag is ignored. -.\" Introduced in 1.1.36, removed in 1.3.24. -(Long ago, it signaled that attempts to write to the underlying file -should fail with -.BR ETXTBUSY . -But this was a source of denial-of-service attacks.) -.TP -.B MAP_EXECUTABLE -This flag is ignored. -.\" Introduced in 1.1.38, removed in 1.3.24. Flag tested in proc_follow_link. -.\" (Long ago, it signaled that the underlying file is an executable. -.\" However, that information was not really used anywhere.) -.\" Linus talked about DOS related to MAP_EXECUTABLE, but he was thinking of -.\" MAP_DENYWRITE? -.TP -.B MAP_FILE -Compatibility flag. -Ignored. -.\" On some systems, this was required as the opposite of -.\" MAP_ANONYMOUS -- mtk, 1 May 2007 -.TP -.B MAP_FIXED -Don't interpret -.I addr -as a hint: place the mapping at exactly that address. -.I addr -must be a multiple of the page size. -If the memory region specified by -.I addr -and -.I len -overlaps pages of any existing mapping(s), then the overlapped -part of the existing mapping(s) will be discarded. -If the specified address cannot be used, -.BR mmap () -will fail. -Because requiring a fixed address for a mapping is less portable, -the use of this option is discouraged. -.TP -.B MAP_GROWSDOWN -Used for stacks. -Indicates to the kernel virtual memory system that the mapping -should extend downwards in memory. -.TP -.BR MAP_HUGETLB " (since Linux 2.6.32)" -Allocate the mapping using "huge pages." -See the kernel source file -.I Documentation/vm/hugetlbpage.txt -for further information. -.TP -.BR MAP_LOCKED " (since Linux 2.5.37)" -Lock the pages of the mapped region into memory in the manner of -.BR mlock (2). -This flag is ignored in older kernels. -.\" If set, the mapped pages will not be swapped out. -.TP -.BR MAP_NONBLOCK " (since Linux 2.5.46)" -Only meaningful in conjunction with -.BR MAP_POPULATE . -Don't perform read-ahead: -only create page tables entries for pages -that are already present in RAM. -Since Linux 2.6.23, this flag causes -.BR MAP_POPULATE -to do nothing. -One day the combination of -.BR MAP_POPULATE -and -.BR MAP_NONBLOCK -may be reimplemented. -.TP -.B MAP_NORESERVE -Do not reserve swap space for this mapping. -When swap space is reserved, one has the guarantee -that it is possible to modify the mapping. -When swap space is not reserved one might get -.B SIGSEGV -upon a write -if no physical memory is available. -See also the discussion of the file -.I /proc/sys/vm/overcommit_memory -in -.BR proc (5). -In kernels before 2.6, this flag only had effect for -private writable mappings. -.TP -.BR MAP_POPULATE " (since Linux 2.5.46)" -Populate (prefault) page tables for a mapping. -For a file mapping, this causes read-ahead on the file. -Later accesses to the mapping will not be blocked by page faults. -.BR MAP_POPULATE -is only supported for private mappings since Linux 2.6.23. -.LP -Of the above flags, only -.B MAP_FIXED -is specified in POSIX.1-2001. -However, most systems also support -.B MAP_ANONYMOUS -(or its synonym -.BR MAP_ANON ). -.TP -.BR MAP_STACK " (since Linux 2.6.27)" -Allocate the mapping at an address suitable for a process -or thread stack. -This flag is currently a no-op, -but is used in the glibc threading implementation so that -if some architectures require special treatment for stack allocations, -support can later be transparently implemented for glibc. -.\" See http://lwn.net/Articles/294642 "Tangled up in threads", 19 Aug 08 -.\" commit cd98a04a59e2f94fa64d5bf1e26498d27427d5e7 -.\" http://thread.gmane.org/gmane.linux.kernel/720412 -.\" "pthread_create() slow for many threads; also time to revisit 64b -.\" context switch optimization?" -.LP -Some systems document the additional flags -.BR MAP_AUTOGROW , -.BR MAP_AUTORESRV , -.BR MAP_COPY , -and -.BR MAP_LOCAL . -.LP -Memory mapped by -.BR mmap () -is preserved across -.BR fork (2), -with the same attributes. -.LP -A file is mapped in multiples of the page size. -For a file that is not -a multiple of the page size, the remaining memory is zeroed when mapped, -and writes to that region are not written out to the file. -The effect of -changing the size of the underlying file of a mapping on the pages that -correspond to added or removed regions of the file is unspecified. -.SS mmap64() -The -.BR mmap64 () -system call operates in exactly the same way as -.BR mmap (), -except that the final argument specifies the offset as -a 64-bit off64_t. This enables applications to aceess the large -files. -.SS munmap() -The -.BR munmap () -system call deletes the mappings for the specified address range, and -causes further references to addresses within the range to generate -invalid memory references. -The region is also automatically unmapped -when the process is terminated. -On the other hand, closing the file -descriptor does not unmap the region. -.LP -The address -.I addr -must be a multiple of the page size. -All pages containing a part -of the indicated range are unmapped, and subsequent references -to these pages will generate -.BR SIGSEGV . -It is not an error if the -indicated range does not contain any mapped pages. -.SS Timestamps changes for file-backed mappings -For file-backed mappings, the -.I st_atime -field for the mapped file may be updated at any time between the -.BR mmap () -and the corresponding unmapping; the first reference to a mapped -page will update the field if it has not been already. -.LP -The -.I st_ctime -and -.I st_mtime -field for a file mapped with -.B PROT_WRITE -and -.B MAP_SHARED -will be updated after -a write to the mapped region, and before a subsequent -.BR msync (2) -with the -.B MS_SYNC -or -.B MS_ASYNC -flag, if one occurs. -.SH "RETURN VALUE" -On success, -.BR mmap () -returns a pointer to the mapped area. -On error, the value -.B MAP_FAILED -(that is, -.IR "(void\ *)\ \-1" ) -is returned, and -.I errno -is set appropriately. -On success, -.BR munmap () -returns 0, on failure \-1, and -.I errno -is set (probably to -.BR EINVAL ). -.SH ERRORS -.TP -.B EACCES -A file descriptor refers to a non-regular file. -Or -.B MAP_PRIVATE -was requested, but -.I fd -is not open for reading. -Or -.B MAP_SHARED -was requested and -.B PROT_WRITE -is set, but -.I fd -is not open in read/write -.RB ( O_RDWR ) -mode. -Or -.B PROT_WRITE -is set, but the file is append-only. -.TP -.B EAGAIN -The file has been locked, or too much memory has been locked (see -.BR setrlimit (2)). -.TP -.B EBADF -.I fd -is not a valid file descriptor (and -.B MAP_ANONYMOUS -was not set). -.TP -.B EINVAL -We don't like -.IR addr , -.IR length , -or -.I offset -(e.g., they are too large, or not aligned on a page boundary). -.TP -.B EINVAL -(since Linux 2.6.12) -.I length -was 0. -.TP -.B EINVAL -.I flags -contained neither -.B MAP_PRIVATE -or -.BR MAP_SHARED , -or contained both of these values. -.TP -.B ENFILE -.\" This is for shared anonymous segments -.\" [2.6.7] shmem_zero_setup()-->shmem_file_setup()-->get_empty_filp() -The system limit on the total number of open files has been reached. -.\" .TP -.\" .B ENOEXEC -.\" A file could not be mapped for reading. -.TP -.B ENODEV -The underlying file system of the specified file does not support -memory mapping. -.TP -.B ENOMEM -No memory is available, or the process's maximum number of mappings would -have been exceeded. -.TP -.B EPERM -The -.I prot -argument asks for -.B PROT_EXEC -but the mapped area belongs to a file on a file system that -was mounted no-exec. -.\" (Since 2.4.25 / 2.6.0.) -.TP -.B ETXTBSY -.B MAP_DENYWRITE -was set but the object specified by -.I fd -is open for writing. -.LP -Use of a mapped region can result in these signals: -.TP -.B SIGSEGV -Attempted write into a region mapped as read-only. -.TP -.B SIGBUS -Attempted access to a portion of the buffer that does not correspond -to the file (for example, beyond the end of the file, including the -case where another process has truncated the file). -.SH "CONFORMING TO" -SVr4, 4.4BSD, POSIX.1-2001. -.\" SVr4 documents additional error codes ENXIO and ENODEV. -.\" SUSv2 documents additional error codes EMFILE and EOVERFLOW. -.SH AVAILABILITY -On POSIX systems on which -.BR mmap (), -.BR msync (2) -and -.BR munmap () -are available, -.B _POSIX_MAPPED_FILES -is defined in \fI\fP 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 -Since kernel 2.4, this system call has been superseded by -.BR mmap2 (2). -Nowadays, -.\" Since around glibc 2.1/2.2, depending on the platform. -the glibc -.BR mmap () -wrapper function invokes -.BR mmap2 (2) -with a suitably adjusted value for -.IR offset . - -On some hardware architectures (e.g., i386), -.B PROT_WRITE -implies -.BR PROT_READ . -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. - -The portable way to create a mapping is to specify -.I addr -as 0 (NULL), and omit -.B MAP_FIXED -from -.IR flags . -In this case, the system chooses the address for the mapping; -the address is chosen so as not to conflict with any existing mapping, -and will not be 0. -If the -.B MAP_FIXED -flag is specified, and -.I addr -is 0 (NULL), then the mapped address will be 0 (NULL). -.SH BUGS -On Linux there are no guarantees like those suggested above under -.BR MAP_NORESERVE . -By default, any process can be killed -at any moment when the system runs out of memory. - -In kernels before 2.6.7, the -.B MAP_POPULATE -flag only has effect if -.I prot -is specified as -.BR PROT_NONE . - -SUSv3 specifies that -.BR mmap () -should fail if -.I length -is 0. -However, in kernels before 2.6.12, -.BR mmap () -succeeded in this case: no mapping was created and the call returned -.IR addr . -Since kernel 2.6.12, -.BR mmap () -fails with the error -.B EINVAL -for this case. -.SH EXAMPLE -.\" FIXME . Add an example here that uses an anonymous shared region for -.\" IPC between parent and child. -.PP -The following program prints part of the file specified in -its first command-line argument to standard output. -The range of bytes to be printed is specified via offset and length -values in the second and third command-line arguments. -The program creates a memory mapping of the required -pages of the file and then uses -.BR write (2) -to output the desired bytes. -.nf - -#include -#include -#include -#include -#include -#include - -#define handle_error(msg) \\ - do { perror(msg); exit(EXIT_FAILURE); } while (0) - -int -main(int argc, char *argv[]) -{ - char *addr; - int fd; - struct stat sb; - off_t offset, pa_offset; - size_t length; - ssize_t s; - - if (argc < 3 || argc > 4) { - fprintf(stderr, "%s file offset [length]\\n", argv[0]); - exit(EXIT_FAILURE); - } - - fd = open(argv[1], O_RDONLY); - if (fd == \-1) - handle_error("open"); - - if (fstat(fd, &sb) == \-1) /* To obtain file size */ - handle_error("fstat"); - - offset = atoi(argv[2]); - pa_offset = offset & ~(sysconf(_SC_PAGE_SIZE) \- 1); - /* offset for mmap() must be page aligned */ - - if (offset >= sb.st_size) { - fprintf(stderr, "offset is past end of file\\n"); - exit(EXIT_FAILURE); - } - - if (argc == 4) { - length = atoi(argv[3]); - if (offset + length > sb.st_size) - length = sb.st_size \- offset; - /* Can\(aqt display bytes past end of file */ - - } else { /* No length arg ==> display to end of file */ - length = sb.st_size \- offset; - } - - addr = mmap(NULL, length + offset \- pa_offset, PROT_READ, - MAP_PRIVATE, fd, pa_offset); - if (addr == MAP_FAILED) - handle_error("mmap"); - - s = write(STDOUT_FILENO, addr + offset \- pa_offset, length); - if (s != length) { - if (s == \-1) - handle_error("write"); - - fprintf(stderr, "partial write"); - exit(EXIT_FAILURE); - } - - exit(EXIT_SUCCESS); -} /* main */ -.fi -.SH "SEE ALSO" -.BR getpagesize (2), -.BR mincore (2), -.BR mlock (2), -.BR mmap2 (2), -.BR mprotect (2), -.BR mremap (2), -.BR msync (2), -.BR remap_file_pages (2), -.BR setrlimit (2), -.BR shmat (2), -.BR shm_open (3), -.BR shm_overview (7) -.br -B.O. Gallmeister, POSIX.4, O'Reilly, pp. 128-129 and 389-391. -.\" -.\" Repeat after me: private read-only mappings are 100% equivalent to -.\" shared read-only mappings. No ifs, buts, or maybes. -- Linus -.SH COLOPHON -This page is part of release 3.24 of the Linux -.I man-pages -project. -A description of the project, -and information about reporting bugs, -can be found at -http://www.kernel.org/doc/man-pages/. diff --git a/sources b/sources index ccc41e4..57c41ce 100644 --- a/sources +++ b/sources @@ -1,6 +1,3 @@ -57f2e0500d177e05647990eae439a8ee man-pages-extralocale.tar.bz2 -a9c6a14e5b34c18c3684a0b68322572f man-suid-bins.tar.bz2 7c78aff03c0a6767ba483d34f19e4b09 man-pages-posix-2003-a.tar.bz2 -4a222811a5589cf6d80cb0b4e1789fe8 man-pages_add-02.tar.bz2 -bf80e51c1db4fdf6d0ee21e2f9c49485 man-pages_syscalls-03.tar.bz2 -e09dbba0bba9b54c2253a550fdb602cc man-pages-3.27.tar.bz2 +adc79328fce994eb88e9ac9ddfd84b6f man-pages-3.28.tar.bz2 +6cea268fa2debf9b6440ee5c37cd4bc8 man-pages-additional-20101006.tar.bz2