Avoid C-specific Types
In new API, let's avoid types whose size/layout depends on the C compiler.
- Bad:
long, bitfields, enums - OK:
size_t,intptr_t, which depend directly on the platformintfor small ranges (as replacement for enum) -- here practicality beats purity
- Good:
int32_tetc.
In the existing API, we might maybe want to e.g. replace long by int32_t, and declare an ABI break on the few platforms where sizeof(long) != sizeof(int32_t).