mincore - determine residency of memory pages
Standard C Library (libc, -lc)
#include <sys/mman.h>
int
mincore(void *addr, size_t len, char *vec);
The mincore() system call allows a process to obtain information about
whether pages are core resident. The status of the memory range is
returned in the character-per-page array vec. If the page is resident,
the least significant bit of the corresponding character in vec will be
set. Other bits are reserved for additional information which future
implementations may return.
Note that the status of each page may change between the call to
mincore() and the return of the page status information. In order to
guarantee that pages will remain in core, the address range must be
locked with mlock(2).
mincore() returns 0 on success, or -1 on failure and sets the variable
errno to indicate the error.
The mincore() call will fail if:
[EFAULT] vec points to an illegal address.
[EINVAL] addr is not a multiple of the system page size.
[EINVAL] len is equal to 0.
[ENOMEM] The address range specified is invalid for the calling
process, or one or more of the pages specified in the
range are not mapped.
madvise(2), mlock(2), mprotect(2), msync(2), munmap(2), sysconf(3)
The mincore() function first appeared in 4.4BSD.
BSD June 6, 1999 BSD
[ Back ] |