>> Forgive my ignorance... 'unsigned long' is 64 bits, which is what that >> interface needs (if I am reading the docs correctly). > > The functions takes a pointer to an unsigned 64-bit type, not > necessarily unsigned long. Thanks again Jonathon. I guess this is what I don't quite understand... From the preprocessor, GCC tells me the UINT64 type is the following on x86_64: #define __UINT64_TYPE__ long unsigned int If 'long unsigned int' is the 64-bit integer and it meets alignment and size requirements (as a 'minimum' of sorts), then why can't it be used where the 64-bit type is required (i..e, the pointer in the call to _rdrand64_step). Jeff