В архитектурах Intel размеры определены в /usr/include/bits/typesizes.h
:
#define __UID_T_TYPE __U32_TYPE
#define __GID_T_TYPE __U32_TYPE
#define __PID_T_TYPE __S32_TYPE
Другими словами, uid_t
и gid_t
- 32-разрядные целые числа без знака, а pid_t
- 32-разрядное целое число со знаком. Это относится как к 32-, так и к 64-битным.
Я не уверен, что они есть на других архитектурах, так как у меня нет доступных в данный момент, но окончательный способ - это скомпилировать программу, которая печатает вывод sizeof(uid_t)
и т. Д.