switching from unreliable typedefs to precisely sized uint32_t and uint64_t