Include <sys/types.h> in an application source file to gain access to the definition of _LP64 and _ILP32. This header also contains a number of basic derived types that should be used whenever appropriate. In particular, the following are of special interest:
clock_t represents the system times in clock ticks.
dev_t is used for device numbers.
off_t is used for file sizes and offsets.
ptrdiff_t is the signed integral type for the result of subtracting two pointers.
size_t reflects the size, in bytes, of objects in memory.
ssize_t is used by functions that return a count of bytes or an error indication.
time_t counts time in seconds.
All of these types remain 32-bit quantities in the ILP32 compilation environment and grow to 64-bit quantities in the LP64 compilation environment.