decided to be lazy and use gcc to determine data type sizes - very accurate (i.e. never wrong) but probably not very portable. then again python is pretty portable :-)