📄 standtyp.h
字号:
/****************************************************************************
*** Intel Confidential
*** Copyright (C) Intel Corporation 1994-2000
*** All Rights Reserved.
*** ------------------------------------------------------------------------
***
***
*** Project Name: Standard Import Libraries (STAND)
***
*** Module Name: <none>
***
*** File: STANDTYP.H - Standard constants and data types.
***
*** File Revision: $Revision:: 1 $
*** $Date:: 6/30/03 4:58p $
*** $Author:: Ejvanals $
***
*** Purpose: Standard constants and data type definitions
*** used by all Intel(r) software modules.
***
*** $NoKeywords: $
*****************************************************************************/
/*
*****************************************************************
* NOTICE OF LICENSE AGREEMENT
*
* This code is provided by Intel Corp., and the use is governed
* under the terms of a license agreement. See license agreement
* for complete terms of license.
*
* YOU MAY ONLY USE THE SOFTWARE WITH INTEL FLASH PRODUCTS. YOUR
* USE OF THE SOFTWARE WITH ANY OTHER FLASH PRODUCTS IS EXPRESSLY
* PROHIBITED UNLESS AND UNTIL YOU APPLY FOR, AND ARE GRANTED IN
* INTEL'S SOLE DISCRETION, A SEPARATE WRITTEN SOFTWARE LICENSE
* FROM INTEL LICENSING ANY SUCH USE.
*****************************************************************
*/
#if !defined (__STANDTYP_H) /* Multiple-inclusion sentry - DO NOT REMOVE */
#define __STANDTYP_H
/*-------------------------- Start of STANDTYP.H --------------------------*/
/****************************************************************************
*
* Include Files:
*
* WINDOWS.H - Win32 data type definitions
* TCHAR.H - Universal Unicode/MBCS/ANSI aliasing macros
*
****************************************************************************/
/* Only include the Win32 headers when not performing a strict ANSI compile */
#if !defined (__PSM_STRICT_ANSI)
/*
* The following pragma disables the "named type definition in parentheses"
* warning, when using the Microsoft C compiler. This is done to mask an
* warning that occurs when the Microsoft compiler finds an anonymous structure
* definition inside the parenthesis of a function prototype -- a level of
* scope where it does not expect such a definition to occur. The warning is
* generated (specifically) by line 45 in RPCASYNC.H.
*/
#pragma warning(disable:4115)
#include <WINDOWS.H>
#include <TCHAR.H>
/* Re-enable the "named type definition in parentheses" warning */
#pragma warning(default:4115)
#else /* For "#if !defined (__PSM_STRICT_ANSI)" */
/* If doing an ANSI compile, make sure TCHAR and TEXT are defined */
typedef char TCHAR;
#define TEXT(string) string
#endif /* For "#if !defined (__PSM_STRICT_ANSI)" */
/****************************************************************************
*
* Standard Defines:
*
* These are used by other modules in the project, and must not be changed.
* When merging the data types from this header file into a "project-wide"
* header file, take care to ensure that these defines are also copied to,
* or already exist in, the new header file.
*
****************************************************************************/
#ifndef IN
#define IN
#endif
#ifndef OUT
#define OUT
#endif
#ifndef INOUT
#define INOUT
#endif
/****************************************************************************
*
* Standard Constants:
*
* These are used by other modules in the project, and must not be changed.
* When merging the data types from this header file into a "project-wide"
* header file, take care to ensure that these constants are also copied to,
* or already exist in, the new header file.
*
****************************************************************************/
#ifndef TRUE
#define TRUE (1 == 1)
#endif
#ifndef FALSE
#define FALSE (1 == 0)
#endif
#ifndef NULL
#define NULL 0
#endif
/****************************************************************************
*
* System Compatibility Options:
*
* The following compile option is used to control whether 64-bit integer data
* types will be defined by this file. 64-bit integers are not yet part of
* the ANSI standard, and are therefore not supported by many compilers.
* Setting this option to TRUE will cause 64-bit integer data types to be
* defined. Setting it to FALSE will suppress its definition, to prevent
* error messages on compilers that do not support 64-bit integer types.
*
* If merging the data types from this header file into a "project-wide"
* header file, take care to ensure that this definition is also copied to
* the new header file, since the TRUE/FALSE status of this constant is
* often used by other modules that include this header.
*
****************************************************************************/
#define STANDTYP_64BIT_ENABLED FALSE
/****************************************************************************
*
* Standard Data Types:
*
* Be certain to modify the root data types (e.g. char, short, long, etc.)
* in the TYPEDEFs below to produce a new data type on the target system of
* of the size and sign indicated by the comments that follow each TYPEDEF.
*
* Note that the definition for the CHAR type is set up to be the system's
* defualt character type (whereas CHAR8 and CHAR16 specify a fixed-size
* character). For some systems, this will be ANSI (8-bit), and for some
* systems it will be MBCS or UNICODE (16-bit). Always use the sizeof()
* operator when performing calculations using this data type, and ALWAYS use
* the TEXT() macro (see above) when assigning literal strings to variables of
* this data type in source code.
*
* Also note that if support for 64-bit integer data types has been disabled
* (by setting the STANDTYP_64BIT_ENABLED compile option above to FALSE),
* the root types for the SINT64 and UINT64 types do not need to be
* modified, as they will not be included during compilation.
*
****************************************************************************/
/*
* The following pragma disables the "benign redefinition of data type"
* warning, when using the Microsoft C compiler. This is done to accommodate
* the inclusion of the Win32 header files, which already have identical
* definitions for some of the data types found in STANDTYP.H. This pragma
* only masks warnings for redefinitions of an identical integral type -- any
* attempts to redefine a data type to a different integral type (e.g. short
* int to long int) will still produce an error. This only needs to be done
* if a strict ANSI compile is not being performed, and the Win32 headers
* have been included.
*/
#if !defined (__PSM_STRICT_ANSI)
#pragma warning(disable:4142)
#endif
typedef signed char SINT8; /* 8-bit signed integer */
typedef signed short SINT16; /* 16-bit signed integer */
typedef signed long SINT32; /* 32-bit signed integer */
#if STANDTYP_64BIT_ENABLED
typedef signed __int64 SINT64; /* 64-bit signed integer */
#endif
typedef unsigned char UINT8; /* 8-bit unsigned integer */
typedef unsigned short UINT16; /* 16-bit unsigned integer */
//typedef unsigned long UINT32; /* 32-bit unsigned integer */
#if STANDTYP_64BIT_ENABLED
typedef unsigned __int64 UINT64; /* 64-bit unsigned integer */
#endif
typedef float FLOAT32; /* 32-bit (7 digit) IEEE real */
typedef double FLOAT64; /* 64-bit (15 digit) IEEE real */
typedef long double FLOAT80; /* 80-bit (18 digit) IEEE real */
/****************************************************************************
*
* Standard Pointer Types:
*
* These standard pointer types are automatically derived from the data type
* definitions above, and should not be modified.
*
****************************************************************************/
typedef TCHAR * TCHAR_PTR;
typedef SINT8 * SINT8_PTR;
typedef SINT16 * SINT16_PTR;
typedef SINT32 * SINT32_PTR;
#if STANDTYP_64BIT_ENABLED
typedef SINT64 * SINT64_PTR;
#endif
typedef UINT8 * UINT8_PTR;
typedef UINT16 * UINT16_PTR;
typedef UINT32 * UINT32_PTR;
#if STANDTYP_64BIT_ENABLED
typedef UINT64 * UINT64_PTR;
#endif
typedef FLOAT32 * FLOAT32_PTR;
typedef FLOAT64 * FLOAT64_PTR;
typedef FLOAT80 * FLOAT80_PTR;
typedef void * VOID_PTR;
/* Re-enable the "benign redefinition" warning */
#if !defined (__PSM_STRICT_ANSI)
#pragma warning(default:4142)
#endif
/*--------------------------- End of STANDTYP.H ---------------------------*/
#endif /* For the "#if !defined (__STANDTYP_H)" multiple-inclusion sentry */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -