Q: What should the 64-bit type be on a machine that can support it?
A: The new C99 Standard specifies type long long as effectively being at least 64 bits, and this type has been implemented by a number of compilers for some time. (Others have implemented extensions such as __longlong.) On the other hand, it's also appropriate to implement type short int as 16, int as 32, and long int as 64 bits, and some compilers do.
See also questions 1.3 and 18.15d.
Additional links: Part of a proposal for long long for C9X by Alan Watson and Jutta Degener, succinctly outlining the arguments.
C9X Sec. 18.104.22.168.1, Sec. 22.214.171.124