/* * Base typedefs */ typedef bool32 bool; typedef bool8 boolean; /* used primarily by lower-level Windows components */ typedef charascii char; typedef charutf16 wchar; typedef int8 sbyte; /* should be byte, actually */ typedef uint8 byte; typedef int16 short; typedef int16 word; typedef uint16 ushort; typedef int32 int; typedef int32 dword; typedef int32 long; typedef uint32 uint; typedef uint32 ulong; typedef int64 large_integer; /* or LARGE_INTEGER */ typedef int64 longlong; typedef int64 qword; typedef uint64 ulonglong; typedef single float; /* typedef double double; */ /* double is already called double */ typedef stringascii str; typedef stringascii string; typedef stringutf16 wstr; typedef stringutf16 wstring; typedef wstr* lpcwstr; /* "Long Pointer To Const Wide-Character String" */ typedef wstr* lpctstr; /* most apps are in Unicode, so assume TCHAR = WCHAR */ typedef str* lpcstr; /* ANSI */