- get system supported page sizes
#include <sys/mman.h> int getpagesizes(size_t pagesize[ ], int nelem);
The getpagesizes() function returns either the number of different page sizes supported by the system or the actual sizes themselves. When called with nelem as 0 and pagesize as NULL, getpagesizes() returns the number of supported page sizes. Otherwise, up to nelem page sizes are retrieved and assigned to successive elements of pagesize[ ]. The return value is the number of page sizes retrieved and set in pagesize[ ].
Upon successful completion, the number of pagesizes supported or actually retrieved is returned. Otherwise, -1 is returned and errno is set to indicate the error.
The getpagesizes() function will fail if:
The nelem argument is less than 0 or pagesize is NULL but nelem is non-zero.
The getpagesizes() function returns all the page sizes for which the hardware and system software provide support for the memcntl(2) command MC_HAT_ADVISE. Not all processors support all page sizes or combinations of page sizes with equal efficiency. Applications programmers should take this into consideration when using getpagesizes().
See attributes(5) for descriptions of the following attributes: