The code which got merged has defined(__LP64__) as well, which is even better. I added unit tests, and found out that your debian squeeze machine is actually using LP64 like 64-bit OS X. Unit tests are working properly everywhere now. As for C standard sizes, stdint.h is not available on Windows, so I'm trying not to use it. I am also trying to get the type definitions as close as possible to the original ones when possible (that is, stick to unsigned long when it's 4 bytes like on Windows, etc).