MINCORE(2) System Calls MINCORE(2)
mincore - determine residency of memory pages
#include <sys/types.h>
int mincore(caddr_t addr, size_t len, char *vec);
The mincore() function determines the residency of the memory 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, and to 0 to indicate that it is
not. The settings of other bits in each character are undefined and
may contain other information in future implementations.
Because the status of a page can change between the time mincore()
checks and returns the information, returned information might be
outdated. Only locked pages are guaranteed to remain in memory; see
mlock(3C).
Upon successful completion, mincore() returns 0. Otherwise, -1 is
returned and errno is set to indicate the error.
The mincore() function will fail if:
EFAULT
The vec argument points to an illegal address.
EINVAL
The addr argument is not a multiple of the page size as
returned by sysconf(3C), or the len argument 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.
mmap(2), mlock(3C), sysconf(3C)
August 12, 1990 MINCORE(2)
NAME
mincore - determine residency of memory pages
SYNOPSIS
#include <sys/types.h>
int mincore(caddr_t addr, size_t len, char *vec);
DESCRIPTION
The mincore() function determines the residency of the memory 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, and to 0 to indicate that it is
not. The settings of other bits in each character are undefined and
may contain other information in future implementations.
Because the status of a page can change between the time mincore()
checks and returns the information, returned information might be
outdated. Only locked pages are guaranteed to remain in memory; see
mlock(3C).
RETURN VALUES
Upon successful completion, mincore() returns 0. Otherwise, -1 is
returned and errno is set to indicate the error.
ERRORS
The mincore() function will fail if:
EFAULT
The vec argument points to an illegal address.
EINVAL
The addr argument is not a multiple of the page size as
returned by sysconf(3C), or the len argument 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.
SEE ALSO
mmap(2), mlock(3C), sysconf(3C)
August 12, 1990 MINCORE(2)