"long long" does not guarantee a 64bit int.
you should be able to include stdint.h on linux and mac
which has datatypes.
I havn't come across too many windows boxs which have this file so I do the following, which may help you.
This is assuming that it is a 64 bit machine and that I have already determinded the box on which it is running.
Code:
# if ( defined (DE_WINDOWS_BUILD) )
typedef signed __int8 int8;
typedef unsigned __int8 uint8;
typedef signed __int16 int16;
typedef unsigned __int16 uint16;
typedef signed __int32 int32;
typedef unsigned __int32 uint32;
typedef signed __int64 int64;
typedef unsigned __int64 uint64;
# elif (defined(DE_UNIX_BUILD) || defined(DE_MAC_BUILD))
# include <stdint.h>
typedef int8_t int8;
typedef uint8_t uint8;
typedef int16_t int16;
typedef uint16_t uint16;
typedef int32_t int32;
typedef uint32_t uint32;
typedef int64_t int64;
typedef uint64_t uint64;
# endif