]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - lib/libc/sys/mincore.2
This commit was generated by cvs2svn to compensate for changes in r162079,
[FreeBSD/FreeBSD.git] / lib / libc / sys / mincore.2
1 .\" Copyright (c) 1991, 1993
2 .\"     The Regents of the University of California.  All rights reserved.
3 .\"
4 .\" Redistribution and use in source and binary forms, with or without
5 .\" modification, are permitted provided that the following conditions
6 .\" are met:
7 .\" 1. Redistributions of source code must retain the above copyright
8 .\"    notice, this list of conditions and the following disclaimer.
9 .\" 2. Redistributions in binary form must reproduce the above copyright
10 .\"    notice, this list of conditions and the following disclaimer in the
11 .\"    documentation and/or other materials provided with the distribution.
12 .\" 3. All advertising materials mentioning features or use of this software
13 .\"    must display the following acknowledgement:
14 .\"     This product includes software developed by the University of
15 .\"     California, Berkeley and its contributors.
16 .\" 4. Neither the name of the University nor the names of its contributors
17 .\"    may be used to endorse or promote products derived from this software
18 .\"    without specific prior written permission.
19 .\"
20 .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
21 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23 .\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
24 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
26 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30 .\" SUCH DAMAGE.
31 .\"
32 .\"     @(#)mincore.2   8.1 (Berkeley) 6/9/93
33 .\" $FreeBSD$
34 .\"
35 .Dd January 17, 2003
36 .Dt MINCORE 2
37 .Os
38 .Sh NAME
39 .Nm mincore
40 .Nd determine residency of memory pages
41 .Sh LIBRARY
42 .Lb libc
43 .Sh SYNOPSIS
44 .In sys/mman.h
45 .Ft int
46 .Fn mincore "const void *addr" "size_t len" "char *vec"
47 .Sh DESCRIPTION
48 The
49 .Fn mincore
50 system call determines whether each of the pages in the region beginning at
51 .Fa addr
52 and continuing for
53 .Fa len
54 bytes is resident.
55 .\"The beginning address,
56 .\".Fa addr ,
57 .\"is first rounded down to a multiple of the page size (see
58 .\".Xr getpagesize 3 ) .
59 .\"The end address,
60 .\".Fa addr No + Fa len ,
61 .\"is rounded up to a multiple of the page size.
62 The status is returned in the
63 .Fa vec
64 array, one character per page.
65 Each character is either 0 if the page is not resident, or a combination of
66 the following flags (defined in
67 .In sys/mman.h ) :
68 .Bl -tag -width ".Dv MINCORE_REFERENCED_OTHER"
69 .It Dv MINCORE_INCORE
70 Page is in core (resident).
71 .It Dv MINCORE_REFERENCED
72 Page has been referenced by us.
73 .It Dv MINCORE_MODIFIED
74 Page has been modified by us.
75 .It Dv MINCORE_REFERENCED_OTHER
76 Page has been referenced.
77 .It Dv MINCORE_MODIFIED_OTHER
78 Page has been modified.
79 .El
80 .Pp
81 The information returned by
82 .Fn mincore
83 may be out of date by the time the system call returns.
84 The only way to ensure that a page is resident is to lock it into memory
85 with the
86 .Xr mlock 2
87 system call.
88 .Sh RETURN VALUES
89 .Rv -std mincore
90 .Sh ERRORS
91 The
92 .Fn mincore
93 system call will fail if:
94 .Bl -tag -width Er
95 .It Bq Er ENOMEM
96 The virtual address range specified by the
97 .Fa addr
98 and
99 .Fa len
100 arguments is not fully mapped.
101 .It Bq Er EFAULT
102 The
103 .Fa vec
104 argument points to an illegal address.
105 .El
106 .Sh SEE ALSO
107 .Xr madvise 2 ,
108 .Xr mlock 2 ,
109 .Xr mprotect 2 ,
110 .Xr msync 2 ,
111 .Xr munmap 2 ,
112 .Xr getpagesize 3
113 .Sh HISTORY
114 The
115 .Fn mincore
116 system call first appeared in
117 .Bx 4.4 .