What makes it no good? Did it end up being 128 bit? In <stdint.h> I see:
typedef signed long long int64_t;
typedef unsigned long long uint64_t;
In <win/basetsd.h> I see:
typedef signed __int64 INT64, *PINT64;
typedef unsigned __int64 UINT64, *PUINT64;
LARGE_INTEGER works too but might be too cumbersome. Those all work in a 32 bit environment. For a 64 bit environment INT_PTR, UINT_PTR, and size_t will all be 64 bit too. I see plenty of 64 bit options.