I think the types are right (the smallest necessary), of course you can 
change some ulong32 variables to ulong64 but it might have some performance 
impact on 32bit platforms.