-#if !defined(__GNUC__) && (__STDC_VERSION__ < 199901L)\r
- //\r
- // No ANSI C 2000 stdint.h integer width declarations, so define equivalents\r
- //\r
- \r
- #if defined(_MSC_EXTENSIONS)\r
- //\r
- // use Microsoft C complier dependent integer width types \r
- //\r
-\r
- ///\r
- /// 8-byte unsigned value\r
- ///\r
- typedef unsigned __int64 UINT64;\r
- ///\r
- /// 8-byte signed value\r
- ///\r
- typedef __int64 INT64;\r
- ///\r
- /// 4-byte unsigned value\r
- ///\r
- typedef unsigned __int32 UINT32;\r
- ///\r
- /// 4-byte signed value\r
- ///\r
- typedef __int32 INT32;\r
- ///\r
- /// 2-byte unsigned value\r
- ///\r
- typedef unsigned short UINT16;\r
- ///\r
- /// 2-byte Character. Unless otherwise specified all strings are stored in the\r
- /// UTF-16 encoding format as defined by Unicode 2.1 and ISO/IEC 10646 standards.\r
- ///\r
- typedef unsigned short CHAR16;\r
- ///\r
- /// 2-byte signed value\r
- ///\r
- typedef short INT16;\r
- ///\r
- /// Logical Boolean. 1-byte value containing 0 for FALSE or a 1 for TRUE. Other\r
- /// values are undefined.\r
- ///\r
- typedef unsigned char BOOLEAN;\r
- ///\r
- /// 1-byte unsigned value\r
- ///\r
- typedef unsigned char UINT8;\r
- ///\r
- /// 1-byte Character\r
- ///\r
- typedef char CHAR8;\r
- ///\r
- /// 1-byte signed value\r
- ///\r
- typedef char INT8;\r
- #else\r
- #if defined(_EFI_P64)\r
- //\r
- // P64 - pointers being 64-bit and longs and ints are 32-bits.\r
- //\r
-\r
- ///\r
- /// 8-byte unsigned value\r
- ///\r
- typedef unsigned long long UINT64;\r
- ///\r
- /// 8-byte signed value\r
- ///\r
- typedef long long INT64;\r
- ///\r
- /// 4-byte unsigned value\r
- ///\r
- typedef unsigned int UINT32;\r
- ///\r
- /// 4-byte signed value\r
- ///\r
- typedef int INT32;\r
- ///\r
- /// 2-byte Character. Unless otherwise specified all strings are stored in the\r
- /// UTF-16 encoding format as defined by Unicode 2.1 and ISO/IEC 10646 standards.\r
- ///\r
- typedef unsigned short CHAR16;\r
- ///\r
- /// 2-byte unsigned value\r
- ///\r
- typedef unsigned short UINT16;\r
- ///\r
- /// 2-byte signed value\r
- ///\r
- typedef short INT16;\r
- ///\r
- /// Logical Boolean. 1-byte value containing 0 for FALSE or a 1 for TRUE. Other\r
- /// values are undefined.\r
- ///\r
- typedef unsigned char BOOLEAN;\r
- ///\r
- /// 1-byte unsigned value\r
- ///\r
- typedef unsigned char UINT8;\r
- ///\r
- /// 1-byte Character\r
- ///\r
- typedef char CHAR8;\r
- ///\r
- /// 1-byte signed value\r
- ///\r
- typedef char INT8;\r
- #else\r
- //\r
- // Assume LP64 - longs and pointers are 64-bit. Ints are 32-bit.\r
- //\r
-\r
- ///\r
- /// 8-byte unsigned value\r
- ///\r
- typedef unsigned long UINT64;\r
- ///\r
- /// 8-byte signed value\r
- ///\r
- typedef long INT64;\r
- ///\r
- /// 4-byte unsigned value\r
- ///\r
- typedef unsigned int UINT32;\r
- ///\r
- /// 4-byte signed value\r
- ///\r
- typedef int INT32;\r
- ///\r
- /// 2-byte unsigned value\r
- ///\r
- typedef unsigned short UINT16;\r
- ///\r
- /// 2-byte Character. Unless otherwise specified all strings are stored in the\r
- /// UTF-16 encoding format as defined by Unicode 2.1 and ISO/IEC 10646 standards.\r
- ///\r
- typedef unsigned short CHAR16;\r
- ///\r
- /// 2-byte signed value\r
- ///\r
- typedef short INT16;\r
- ///\r
- /// Logical Boolean. 1-byte value containing 0 for FALSE or a 1 for TRUE. Other\r
- /// values are undefined.\r
- ///\r
- typedef unsigned char BOOLEAN;\r
- ///\r
- /// 1-byte unsigned value\r
- ///\r
- typedef unsigned char UINT8;\r
- ///\r
- /// 1-byte Character\r
- ///\r
- typedef char CHAR8;\r
- ///\r
- /// 1-byte signed value\r
- ///\r
- typedef char INT8;\r
- #endif\r
- #endif\r
-#else\r