mincore(2) mincore(2)
NAME
mincore - determine residency of memory pages
SYNOPSIS
#include <unistd.h>
int mincore(caddrt addr, sizet len, char *vec);
DESCRIPTION
mincore() returns the primary memory residency status of pages in the
address space covered by mappings in the range [addr, addr + len). The
status is returned as a character-per-page in the character array
referenced by *vec (which the system assumes to be large enough to
encompass all the pages in the address range). The least significant
bit of each character is set to 1 to indicate that the referenced page
is in primary memory, 0 if it is not. The settings of other bits in
each character are undefined and may contain other information in
future implementations.
mincore() returns residency information that is accurate at an instant
in time. Because the system may frequently adjust the set of pages in
memory, this information may quickly be outdated. Only locked pages
are guaranteed to remain in memory [see memcntl(2)].
mincore() fails if:
EFAULT *vec includes an out-of-range or otherwise inaccessible
address.
EINVAL addr is not a multiple of the page size as returned by
sysconf(3C).
EINVAL The argument len has a value less than or equal to 0.
ENOMEM Addresses in the range [addr, addr + len) are invalid for the
address space of a process, or specify one or more pages
which are not mapped.
RESULT
mincore() returns 0 on success, -1 on failure.
SEE ALSO
mmap(2), mlock(3C), sysconf(3C).
Page 1 Reliant UNIX 5.44 Printed 11/98