GETPAGESIZES(3)

NAME
getpagesizes - Get the system supported huge page sizes

SYNOPSIS
#include <hugetlbfs.h>
int getpagesizes(long pagesizes[], int n_elem);

DESCRIPTION
The getpagesizes() function returns either the number of system supported page sizes or the sizes themselves. If pagesizes is NULL and n_elem is 0, then the number of pages the system supports is returned. Otherwise, pagesizes is filled with at most n_elem page sizes.

RETURN VALUE
On success, either the number of page sizes supported by the system or the number of page sizes stored in pagesizes is returned. On failure, -1 is returned and errno is set appropriately.

ERRORS

EINVAL
    n_elem is less than zero or n_elem is greater than zero and pagesizes is NULL.

Also see opendir(3) for other possible values for errno. This error occurs when the sysfs directory exists but cannot be opened.

NOTES
This call will return all page sizes as reported by the kernel. Not all of these sizes may be usable by the programmer since mount points may not be available for the huge page sizes. To test whether a size will be usable by libhugetlbfs, hugetlbfs_find_path_for_size() can be called on a specific size to see if a mount point is configured.

SEE ALSO
oprofile(1), opendir(3), gethugepagesizes(3), libhugetlbfs(7)

AUTHORS
libhugetlbfs was written by various people on the libhugetlbfs-devel mailing list.