| /* |
| * Copyright (c) 2018 The Linux Foundation. All rights reserved. |
| * |
| * Permission to use, copy, modify, and/or distribute this software for |
| * any purpose with or without fee is hereby granted, provided that the |
| * above copyright notice and this permission notice appear in all |
| * copies. |
| * |
| * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL |
| * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED |
| * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE |
| * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL |
| * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR |
| * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER |
| * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR |
| * PERFORMANCE OF THIS SOFTWARE. |
| */ |
| |
| #ifndef COM_DTYPES_H |
| #define COM_DTYPES_H |
| |
| /** |
| @file com_dtypes.h |
| @brief This header file contains general data types that are of use to all |
| modules. |
| |
| */ |
| /*=========================================================================== |
| NOTE: The @brief description and any detailed descriptions above do not appear |
| in the PDF. |
| |
| The Utility_Services_API_mainpage.dox file contains all file/group |
| descriptions that are in the output PDF generated using Doxygen and |
| Latex. To edit or update any of the file/group text in the PDF, edit |
| the Utility_Services_API_mainpage.dox file or contact Tech Pubs. |
| |
| The above description for this file is part of the "utils_services" |
| group description in the Utility_Services_API_mainpage.dox file. |
| ===========================================================================*/ |
| /*=========================================================================== |
| |
| S T A N D A R D D E C L A R A T I O N S |
| |
| DESCRIPTION |
| This header file contains general data types that are of use to all modules. |
| The values or definitions are dependent on the specified |
| target. T_WINNT specifies Windows NT based targets, otherwise the |
| default is for ARM targets. |
| |
| T_WINNT Software is hosted on an NT platforn, triggers macro and |
| type definitions, unlike definition above which triggers |
| actual OS calls |
| |
| ===========================================================================*/ |
| |
| |
| /*=========================================================================== |
| |
| EDIT HISTORY FOR FILE |
| |
| This section contains comments describing changes made to this file. |
| Notice that changes are listed in reverse chronological order. |
| |
| $Header: //depot/prj/qca/chips/hastings/cores/wcss/verif/native/register/include/com_dtypes.h#1 $ |
| |
| when who what, where, why |
| -------- --- ---------------------------------------------------------- |
| 03/21/11 llg (Tech Pubs) Edited/added Doxygen comments and markup. |
| 11/09/10 EBR Doxygenated file. |
| 09/15/09 pc Created file. |
| ===========================================================================*/ |
| |
| |
| /*=========================================================================== |
| |
| Data Declarations |
| |
| ===========================================================================*/ |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| |
| /* For NT apps we want to use the Win32 definitions and/or those |
| supplied by the Win32 compiler for things like NULL, MAX, MIN |
| abs, labs, etc. |
| */ |
| #ifdef T_WINNT |
| #ifndef WIN32 |
| #define WIN32 |
| #endif |
| #include <stdlib.h> |
| #endif |
| |
| /* ------------------------------------------------------------------------ |
| ** Constants |
| ** ------------------------------------------------------------------------ */ |
| |
| #ifdef TRUE |
| #undef TRUE |
| #endif |
| |
| #ifdef FALSE |
| #undef FALSE |
| #endif |
| |
| /** @addtogroup utils_services |
| @{ */ |
| |
| /** @name Macros for Common Data Types |
| @{ */ |
| #define TRUE 1 /**< Boolean TRUE value. */ |
| #define FALSE 0 /**< Boolean FALSE value. */ |
| |
| #define ON 1 /**< ON value. */ |
| #define OFF 0 /**< OFF value. */ |
| |
| #ifndef NULL |
| #define NULL 0 /**< NULL value. */ |
| #endif |
| /** @} */ /* end_name_group Macros for Common Data Types */ |
| |
| /* ----------------------------------------------------------------------- |
| ** Standard Types |
| ** ----------------------------------------------------------------------- */ |
| |
| /** @} */ /* end_addtogroup utils_services */ |
| |
| /* The following definitions are the same across platforms. This first |
| group are the sanctioned types. |
| */ |
| #ifndef _ARM_ASM_ |
| #ifndef _BOOLEAN_DEFINED |
| |
| /** @addtogroup utils_services |
| @{ */ |
| /** Boolean value type. |
| */ |
| typedef unsigned char boolean; |
| #define _BOOLEAN_DEFINED |
| #endif |
| |
| /** @cond |
| */ |
| #if defined(DALSTDDEF_H) /* guards against a known re-definer */ |
| #define _BOOLEAN_DEFINED |
| #define _UINT32_DEFINED |
| #define _UINT16_DEFINED |
| #define _UINT8_DEFINED |
| #define _INT32_DEFINED |
| #define _INT16_DEFINED |
| #define _INT8_DEFINED |
| #define _UINT64_DEFINED |
| #define _INT64_DEFINED |
| #define _BYTE_DEFINED |
| #endif /* #if !defined(DALSTDDEF_H) */ |
| /** @endcond */ |
| |
| #ifndef _UINT32_DEFINED |
| /** Unsigned 32-bit value. |
| */ |
| typedef unsigned long int uint32; |
| #define _UINT32_DEFINED |
| #endif |
| |
| #ifndef _UINT16_DEFINED |
| /** Unsigned 16-bit value. |
| */ |
| typedef unsigned short uint16; |
| #define _UINT16_DEFINED |
| #endif |
| |
| #ifndef _UINT8_DEFINED |
| /** Unsigned 8-bit value. |
| */ |
| typedef unsigned char uint8; |
| #define _UINT8_DEFINED |
| #endif |
| |
| #ifndef _INT32_DEFINED |
| /** Signed 32-bit value. |
| */ |
| typedef signed long int int32; |
| #define _INT32_DEFINED |
| #endif |
| |
| #ifndef _INT16_DEFINED |
| /** Signed 16-bit value. |
| */ |
| typedef signed short int16; |
| #define _INT16_DEFINED |
| #endif |
| |
| #ifndef _INT8_DEFINED |
| /** Signed 8-bit value. |
| */ |
| typedef signed char int8; |
| #define _INT8_DEFINED |
| #endif |
| |
| /** @cond |
| */ |
| /* This group are the deprecated types. Their use should be |
| ** discontinued and new code should use the types above |
| */ |
| #ifndef _BYTE_DEFINED |
| /** DEPRECATED: Unsigned 8 bit value type. |
| */ |
| typedef unsigned char byte; |
| #define _BYTE_DEFINED |
| #endif |
| |
| /** DEPRECATED: Unsinged 16 bit value type. |
| */ |
| typedef unsigned short word; |
| /** DEPRECATED: Unsigned 32 bit value type. |
| */ |
| typedef unsigned long dword; |
| |
| /** DEPRECATED: Unsigned 8 bit value type. |
| */ |
| typedef unsigned char uint1; |
| /** DEPRECATED: Unsigned 16 bit value type. |
| */ |
| typedef unsigned short uint2; |
| /** DEPRECATED: Unsigned 32 bit value type. |
| */ |
| typedef unsigned long uint4; |
| |
| /** DEPRECATED: Signed 8 bit value type. |
| */ |
| typedef signed char int1; |
| /** DEPRECATED: Signed 16 bit value type. |
| */ |
| typedef signed short int2; |
| /** DEPRECATED: Signed 32 bit value type. |
| */ |
| typedef long int int4; |
| |
| /** DEPRECATED: Signed 32 bit value. |
| */ |
| typedef signed long sint31; |
| /** DEPRECATED: Signed 16 bit value. |
| */ |
| typedef signed short sint15; |
| /** DEPRECATED: Signed 8 bit value. |
| */ |
| typedef signed char sint7; |
| |
| typedef uint16 UWord16 ; |
| typedef uint32 UWord32 ; |
| typedef int32 Word32 ; |
| typedef int16 Word16 ; |
| typedef uint8 UWord8 ; |
| typedef int8 Word8 ; |
| typedef int32 Vect32 ; |
| /** @endcond */ |
| |
| #if (! defined T_WINNT) && (! defined __GNUC__) |
| /* Non WinNT Targets */ |
| #ifndef _INT64_DEFINED |
| /** Signed 64-bit value. |
| */ |
| typedef long long int64; |
| #define _INT64_DEFINED |
| #endif |
| #ifndef _UINT64_DEFINED |
| /** Unsigned 64-bit value. |
| */ |
| typedef unsigned long long uint64; |
| #define _UINT64_DEFINED |
| #endif |
| #else /* T_WINNT || TARGET_OS_SOLARIS || __GNUC__ */ |
| /* WINNT or SOLARIS based targets */ |
| #if (defined __GNUC__) |
| #ifndef _INT64_DEFINED |
| typedef long long int64; |
| #define _INT64_DEFINED |
| #endif |
| #ifndef _UINT64_DEFINED |
| typedef unsigned long long uint64; |
| #define _UINT64_DEFINED |
| #endif |
| #else |
| typedef __int64 int64; /* Signed 64-bit value */ |
| #ifndef _UINT64_DEFINED |
| typedef unsigned __int64 uint64; /* Unsigned 64-bit value */ |
| #define _UINT64_DEFINED |
| #endif |
| #endif |
| #endif /* T_WINNT */ |
| |
| #endif /* _ARM_ASM_ */ |
| |
| #ifdef __cplusplus |
| } |
| #endif |
| |
| /** @} */ /* end_addtogroup utils_services */ |
| #endif /* COM_DTYPES_H */ |