Почему getpagesize () возвращает int?

Почему syscall getpagesize() возвращает int а не unsigned int или size_t ?

Прототип и краткое описание ниже:

 GETPAGESIZE(2) NAME getpagesize - get memory page size SYNOPSIS #include  int getpagesize(void); 

int был, вероятно, достаточным, когда он был изобретен. Но это уже не проблема, потому что getpagesize() был удален из стандарта POSIX с 2001 года и был заменен sysconf() . Вы должны использовать sysconf(_SC_PAGESIZE) .

getpagesize() возвращающая int, была одной из основных причин ее удаления:

getpagesize

Функция getpagesize () возвращает текущий размер страницы. Это эквивалентно sysconf (_SC_PAGE_SIZE) и sysconf (_SC_PAGESIZE). Этот интерфейс, возвращающий int, может иметь проблемы, представляющие соответствующие значения в будущем. Также поведение не задано для этого интерфейса в системах, поддерживающих страницы с переменным размером. В системах с переменной скоростью страницы страница может быть чрезвычайно большой (теоретически, до размера памяти). Это позволяет очень эффективные преобразования адресов для больших сегментов памяти, которые имеют общие атрибуты страницы. Замечание об этом было добавлено в Application Usage, а интерфейс, обозначенный Legacy, с рекомендацией, что приложения должны использовать интерфейс sysconf ().

(акцент мой).