Determines residency of memory pages.
Standard C Library (libc.a).
The mincore subroutine returns the primary-memory residency status for regions created from calls made to the mmap subroutine. The status is returned as a character for each memory page in the range specified by the addr and len parameters. The least significant bit of each character returned is set to 1 if the referenced page is in primary memory. Otherwise, the bit is set to 0. The settings of the other bits in each character are undefined.
|addr||Specifies the starting address of the memory pages whose residency is to be determined. Must be a multiple of the page size returned by the sysconf subroutine using the _SC_PAGE_SIZE value for the Name parameter.|
|len||Specifies the length, in bytes, of the memory region whose residency is to be determined. If the len value is not a multiple of the page size as returned by the sysconf subroutine using the _SC_PAGE_SIZE value for the Name parameter, the length of the region is rounded up to the next multiple of the page size.|
|vec||Specifies the character array where the residency status is returned. The system assumes that the character array specified by the vec parameter is large enough to encompass a returned character for each page specified.|
When successful, the mincore subroutine returns 0. Otherwise, it returns -1 and sets the errno global variable to indicate the error.
If the mincore subroutine is unsuccessful, the errno global variable is set to one of the following values:
|EFAULT||A part of the buffer pointed to by the vec parameter is out of range or otherwise inaccessible.|
|EINVAL||The addr parameter is not a multiple of the page size as returned by the sysconf subroutine using the _SC_PAGE_SIZE value for the Name parameter.|
|ENOMEM||Addresses in the (addr, addr + len) range are invalid for the address space of the process, or specify one or more pages that are not mapped.|