Because a long is 32 bits in the ILP32 model and 64 bits in the
LP64 model, there might be cases where what was previously defined as a long is neither appropriate nor necessary. In this case, it might be possible to
use a more portable derived type.
Related to this, a number of derived types might have changed under the LP64
data model for the reason stated above. For example, pid_t remains a long in the 32-bit environment, but under the 64-bit environment, a pid_t is an int. For a list of derived types modified for the
LP64 compilation environment, see Appendix A, Changes in Derived Types.