| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542 |
- /******************************************************************************
- *
- * Copyright (C) 2014 The Android Open Source Project
- * Copyright 2002 - 2004 Open Interface North America, Inc. All rights reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at:
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- ******************************************************************************/
- #ifndef _OI_CPU_DEP_H
- #define _OI_CPU_DEP_H
- /**
- * @file
- * This file contains definitions for characteristics of the target CPU and
- * compiler, including primitive data types and endianness.
- *
- * This file defines the byte order and primitive data types for various
- * CPU families. The preprocessor symbol 'CPU' must be defined to be an
- * appropriate value or this header will generate a compile-time error.
- *
- * @note The documentation for this header file uses the x86 family of processors
- * as an illustrative example for CPU/compiler-dependent data type definitions.
- * Go to the source code of this header file to see the details of primitive type
- * definitions for each platform.
- *
- * Additional information is available in the @ref data_types_docpage section.
- */
- /**********************************************************************************
- $Revision: #1 $
- ***********************************************************************************/
- #ifdef __cplusplus
- extern "C" {
- #endif
- #include <stdint.h>
-
- /** \addtogroup Misc Miscellaneous APIs */
- /**@{*/
- /** @name Definitions indicating family of target OI_CPU_TYPE
- * @{
- */
- #define OI_CPU_X86 1 /**< x86 processor family */
- #define OI_CPU_ARM 2 /**< ARM processor family.
- @deprecated Use #OI_CPU_ARM7_LEND or
- #OI_CPU_ARM7_BEND. */
- #define OI_CPU_ARC 3 /**< ARC processor family.
- @deprecated Use #OI_CPU_ARC_LEND or
- #OI_CPU_ARC_BEND. */
- #define OI_CPU_SH3 4 /**< Hitachi SH-3 processor family */
- #define OI_CPU_H8 5 /**< Hitachi H8 processor family */
- #define OI_CPU_MIPS 6 /**< MIPS processor family */
- #define OI_CPU_SPARC 7 /**< SPARC processor family */
- #define OI_CPU_M68000 8 /**< Motorola M68000 processor family */
- #define OI_CPU_PPC 9 /**< PowerPC (PPC) processor family */
- #define OI_CPU_SH4_7750 10 /**< Hitachi SH7750 series in SH-4 processor family */
- #define OI_CPU_SH2 11 /**< Hitachi SH-2 processor family */
- #define OI_CPU_ARM7_LEND 12 /**< ARM7, little-endian */
- #define OI_CPU_ARM7_BEND 13 /**< ARM7, big-endian */
- #define OI_CPU_GDM1202 14 /**< GCT GDM1202 */
- #define OI_CPU_ARC_LEND 15 /**< ARC processor family, little-endian */
- #define OI_CPU_ARC_BEND 16 /**< ARC processor family, big-endian */
- #define OI_CPU_M30833F 17 /**< Mitsubishi M308 processor family */
- #define OI_CPU_CR16C 18 /**< National Semiconductor 16 bit processor family */
- #define OI_CPU_M64111 19 /**< Renesas M64111 processor (M32R family) */
- #define OI_CPU_ARMV5_LEND 20 //*< ARM5, little-endian */
- /* BK4BTSTACK_CHANGE START */
- // #define OI_CPU_TYPE 12
- /** @name Definitions indicating byte-wise endianness of target CPU
- * @{
- */
- #define OI_BIG_ENDIAN_BYTE_ORDER 0 /**< Multiple-byte values are stored in memory beginning with the most significant byte at the lowest address. */
- #define OI_LITTLE_ENDIAN_BYTE_ORDER 1 /**< Multiple-byte values are stored in memory beginning with the least significant byte at the lowest address. */
- #ifndef OI_CPU_TYPE
- // to avoid warnigns below
- #define OI_CPU_TYPE 0
- #if 0
- / #error "OI_CPU_TYPE type not defined"
- #else
- // BK
- /** @name CPU/compiler-dependent primitive data type definitions
- * @{
- */
- typedef int8_t OI_INT8;
- typedef int16_t OI_INT16;
- typedef int32_t OI_INT32;
- typedef uint8_t OI_UINT8;
- typedef uint16_t OI_UINT16;
- typedef uint32_t OI_UINT32;
- typedef OI_UINT32 OI_ELEMENT_UNION; /**< Type for first element of a union to support all data types up to pointer width. */
- #ifdef __LITTLE_ENDIAN__
- #define OI_CPU_BYTE_ORDER OI_LITTLE_ENDIAN_BYTE_ORDER
- #endif
- #ifdef __BIG_ENDIAN__
- #define OI_CPU_BYTE_ORDER OI_BIG_ENDIAN_BYTE_ORDER
- #endif
- // emergency fallback
- #ifndef OI_CPU_BYTE_ORDER
- #define OI_CPU_BYTE_ORDER OI_LITTLE_ENDIAN_BYTE_ORDER
- #endif
- /**@}*/
- #endif
- /**@}*/
- #endif
- /* BK4BTSTACK_CHANGE STOP */
- /** @name CPU/compiler-independent primitive data type definitions
- * @{
- */
- typedef int OI_BOOL; /**< Boolean values use native integer data type for target CPU. */
- typedef int OI_INT; /**< Integer values use native integer data type for target CPU. */
- typedef unsigned int OI_UINT; /**< Unsigned integer values use native unsigned integer data type for target CPU. */
- typedef unsigned char OI_BYTE; /**< Raw bytes type uses native character data type for target CPU. */
- /**@}*/
- /*********************************************************************************/
- #if OI_CPU_TYPE==OI_CPU_X86
- #define OI_CPU_BYTE_ORDER OI_LITTLE_ENDIAN_BYTE_ORDER /**< x86 platform byte ordering is little-endian */
- /** @name CPU/compiler-dependent primitive data type definitions for x86 processor family
- * @{
- */
- typedef signed char OI_INT8; /**< 8-bit signed integer values use native signed character data type for x86 processor. */
- typedef signed short OI_INT16; /**< 16-bit signed integer values use native signed short integer data type for x86 processor. */
- typedef signed long OI_INT32; /**< 32-bit signed integer values use native signed long integer data type for x86 processor. */
- typedef unsigned char OI_UINT8; /**< 8-bit unsigned integer values use native unsigned character data type for x86 processor. */
- typedef unsigned short OI_UINT16; /**< 16-bit unsigned integer values use native unsigned short integer data type for x86 processor. */
- typedef unsigned long OI_UINT32; /**< 32-bit unsigned integer values use native unsigned long integer data type for x86 processor. */
- typedef OI_UINT32 OI_ELEMENT_UNION; /**< Type for first element of a union to support all data types up to pointer width. */
- /**@}*/
- #endif
- /*********************************************************************************/
- #if OI_CPU_TYPE==OI_CPU_ARM
- /* This CPU type is deprecated (removed from use). Instead, use OI_CPU_ARM7_LEND or OI_CPU_ARM7_BEND for
- little-endian or big-endian configurations of the ARM7, respectively. */
- #error OI_CPU_ARM is deprecated
- #endif
- /*********************************************************************************/
- #if OI_CPU_TYPE==OI_CPU_ARC
- /* This CPU type is deprecated (removed from use). Instead, use OI_CPU_ARC_LEND or OI_CPU_ARC_BEND for
- little-endian or big-endian configurations of the ARC, respectively. */
- #error OI_CPU_ARC is deprecated
- #endif
- /*********************************************************************************/
- #if OI_CPU_TYPE==OI_CPU_SH3
- /* The Hitachi SH C compiler defines _LIT or _BIG, depending on the endianness
- specified to the compiler on the command line. */
- #if defined(_LIT)
- #define OI_CPU_BYTE_ORDER OI_LITTLE_ENDIAN_BYTE_ORDER /**< If _LIT is defined, SH-3 platform byte ordering is little-endian. */
- #elif defined(_BIG)
- #define OI_CPU_BYTE_ORDER OI_BIG_ENDIAN_BYTE_ORDER /**< If _BIG is defined, SH-3 platform byte ordering is big-endian. */
- #else
- #error SH compiler endianness undefined
- #endif
- /** @name CPU/compiler-dependent primitive data type definitions for SH-3 processor family
- * @{
- */
- typedef signed char OI_INT8; /**< 8-bit signed integer values use native signed character data type for SH-3 processor. */
- typedef signed short OI_INT16; /**< 16-bit signed integer values use native signed short integer data type for SH-3 processor. */
- typedef signed long OI_INT32; /**< 32-bit signed integer values use native signed long integer data type for SH-3 processor. */
- typedef unsigned char OI_UINT8; /**< 8-bit unsigned integer values use native unsigned character data type for SH-3 processor. */
- typedef unsigned short OI_UINT16; /**< 16-bit unsigned integer values use native unsigned short integer data type for SH-3 processor. */
- typedef unsigned long OI_UINT32; /**< 32-bit unsigned integer values use native unsigned long integer data type for SH-3 processor. */
- typedef OI_UINT32 OI_ELEMENT_UNION; /**< Type for first element of a union to support all data types up to pointer width. */
- /**@}*/
- #endif
- /*********************************************************************************/
- #if OI_CPU_TYPE==OI_CPU_SH2
- #define OI_CPU_BYTE_ORDER OI_BIG_ENDIAN_BYTE_ORDER /**< SH-2 platform byte ordering is big-endian. */
- /** @name CPU/compiler-dependent primitive data type definitions for SH-2 processor family
- * @{
- */
- typedef signed char OI_INT8; /**< 8-bit signed integer values use native signed character data type for SH-2 processor. */
- typedef signed short OI_INT16; /**< 16-bit signed integer values use native signed short integer data type for SH-2 processor. */
- typedef signed long OI_INT32; /**< 32-bit signed integer values use native signed long integer data type for SH-2 processor. */
- typedef unsigned char OI_UINT8; /**< 8-bit unsigned integer values use native unsigned character data type for SH-2 processor. */
- typedef unsigned short OI_UINT16; /**< 16-bit unsigned integer values use native unsigned short integer data type for SH-2 processor. */
- typedef unsigned long OI_UINT32; /**< 32-bit unsigned integer values use native unsigned long integer data type for SH-2 processor. */
- typedef OI_UINT32 OI_ELEMENT_UNION; /**< Type for first element of a union to support all data types up to pointer width. */
- /**@}*/
- #endif
- /*********************************************************************************/
- #if OI_CPU_TYPE==OI_CPU_H8
- #define OI_CPU_BYTE_ORDER OI_BIG_ENDIAN_BYTE_ORDER
- #error basic types not defined
- #endif
- /*********************************************************************************/
- #if OI_CPU_TYPE==OI_CPU_MIPS
- #define OI_CPU_BYTE_ORDER OI_LITTLE_ENDIAN_BYTE_ORDER
- /** @name CPU/compiler-dependent primitive data type definitions for MIPS processor family
- * @{
- */
- typedef signed char OI_INT8; /**< 8-bit signed integer values use native signed character data type for ARM7 processor. */
- typedef signed short OI_INT16; /**< 16-bit signed integer values use native signed short integer data type for ARM7 processor. */
- typedef signed long OI_INT32; /**< 32-bit signed integer values use native signed long integer data type for ARM7 processor. */
- typedef unsigned char OI_UINT8; /**< 8-bit unsigned integer values use native unsigned character data type for ARM7 processor. */
- typedef unsigned short OI_UINT16; /**< 16-bit unsigned integer values use native unsigned short integer data type for ARM7 processor. */
- typedef unsigned long OI_UINT32; /**< 32-bit unsigned integer values use native unsigned long integer data type for ARM7 processor. */
- typedef OI_UINT32 OI_ELEMENT_UNION; /**< Type for first element of a union to support all data types up to pointer width. */
- /**@}*/
- #endif
- /*********************************************************************************/
- #if OI_CPU_TYPE==OI_CPU_SPARC
- #define OI_CPU_BYTE_ORDER OI_LITTLE_ENDIAN_BYTE_ORDER
- #error basic types not defined
- #endif
- /*********************************************************************************/
- #if OI_CPU_TYPE==OI_CPU_M68000
- #define OI_CPU_BYTE_ORDER OI_BIG_ENDIAN_BYTE_ORDER /**< M68000 platform byte ordering is big-endian. */
- /** @name CPU/compiler-dependent primitive data type definitions for M68000 processor family
- * @{
- */
- typedef signed char OI_INT8; /**< 8-bit signed integer values use native signed character data type for M68000 processor. */
- typedef signed short OI_INT16; /**< 16-bit signed integer values use native signed short integer data type for M68000 processor. */
- typedef signed long OI_INT32; /**< 32-bit signed integer values use native signed long integer data type for M68000 processor. */
- typedef unsigned char OI_UINT8; /**< 8-bit unsigned integer values use native unsigned character data type for M68000 processor. */
- typedef unsigned short OI_UINT16; /**< 16-bit unsigned integer values use native unsigned short integer data type for M68000 processor. */
- typedef unsigned long OI_UINT32; /**< 32-bit unsigned integer values use native unsigned long integer data type for M68000 processor. */
- typedef OI_UINT32 OI_ELEMENT_UNION; /**< Type for first element of a union to support all data types up to pointer width. */
- /**@}*/
- #endif
- /*********************************************************************************/
- #if OI_CPU_TYPE==OI_CPU_PPC
- #define OI_CPU_BYTE_ORDER OI_BIG_ENDIAN_BYTE_ORDER
- /** @name CPU/compiler-dependent primitive data type definitions for PPC 8XX processor family
- * @{
- */
- typedef signed char OI_INT8; /**< 8-bit signed integer values use native signed character data type for PPC8XX processor. */
- typedef signed short OI_INT16; /**< 16-bit signed integer values use native signed short integer data type for PPC8XX processor. */
- typedef signed long OI_INT32; /**< 32-bit signed integer values use native signed long integer data type for PPC8XX processor. */
- typedef unsigned char OI_UINT8; /**< 8-bit unsigned integer values use native unsigned character data type for PPC8XX processor. */
- typedef unsigned short OI_UINT16; /**< 16-bit unsigned integer values use native unsigned short integer data type for PPC8XX processor. */
- typedef unsigned long OI_UINT32; /**< 32-bit unsigned integer values use native unsigned long integer data type for PPC8XX processor. */
- typedef OI_UINT32 OI_ELEMENT_UNION; /**< Type for first element of a union to support all data types up to pointer width. */
- /**@}*/
- #endif
- /*********************************************************************************/
- #if OI_CPU_TYPE==OI_CPU_SH4_7750
- #define OI_CPU_BYTE_ORDER OI_BIG_ENDIAN_BYTE_ORDER /**< SH7750 platform byte ordering is big-endian. */
- /** @name CPU/compiler-dependent primitive data type definitions for SH7750 processor series of the SH-4 processor family
- * @{
- */
- typedef signed char OI_INT8; /**< 8-bit signed integer values use native signed character data type for SH7750 SH-4 processor. */
- typedef signed short OI_INT16; /**< 16-bit signed integer values use native signed short integer data type for SH7750 SH-4 processor. */
- typedef signed long OI_INT32; /**< 32-bit signed integer values use native signed long integer data type for SH7750 SH-4 processor. */
- typedef unsigned char OI_UINT8; /**< 8-bit unsigned integer values use native unsigned character data type for SH7750 SH-4 processor. */
- typedef unsigned short OI_UINT16; /**< 16-bit unsigned integer values use native unsigned short integer data type for SH7750 SH-4 processor. */
- typedef unsigned long OI_UINT32; /**< 32-bit unsigned integer values use native unsigned long integer data type for SH7750 SH-4 processor. */
- typedef OI_UINT32 OI_ELEMENT_UNION; /**< Type for first element of a union to support all data types up to pointer width. */
- /**@}*/
- #endif
- /*********************************************************************************/
- #if OI_CPU_TYPE==OI_CPU_ARM7_LEND
- #define OI_CPU_BYTE_ORDER OI_LITTLE_ENDIAN_BYTE_ORDER
- /** @name little-endian CPU/compiler-dependent primitive data type definitions for the ARM7 processor family
- * @{
- */
- typedef signed char OI_INT8; /**< 8-bit signed integer values use native signed character data type for ARM7 processor. */
- typedef signed short OI_INT16; /**< 16-bit signed integer values use native signed short integer data type for ARM7 processor. */
- typedef signed long OI_INT32; /**< 32-bit signed integer values use native signed long integer data type for ARM7 processor. */
- typedef unsigned char OI_UINT8; /**< 8-bit unsigned integer values use native unsigned character data type for ARM7 processor. */
- typedef unsigned short OI_UINT16; /**< 16-bit unsigned integer values use native unsigned short integer data type for ARM7 processor. */
- typedef unsigned long OI_UINT32; /**< 32-bit unsigned integer values use native unsigned long integer data type for ARM7 processor. */
- typedef void * OI_ELEMENT_UNION; /**< Type for first element of a union to support all data types up to pointer width. */
- /**@}*/
- #endif
- /*********************************************************************************/
- #if OI_CPU_TYPE==OI_CPU_ARM7_BEND
- #define OI_CPU_BYTE_ORDER OI_BIG_ENDIAN_BYTE_ORDER
- /** @name big-endian CPU/compiler-dependent primitive data type definitions for the ARM7 processor family
- * @{
- */
- typedef signed char OI_INT8; /**< 8-bit signed integer values use native signed character data type for ARM7 processor. */
- typedef signed short OI_INT16; /**< 16-bit signed integer values use native signed short integer data type for ARM7 processor. */
- typedef signed long OI_INT32; /**< 32-bit signed integer values use native signed long integer data type for ARM7 processor. */
- typedef unsigned char OI_UINT8; /**< 8-bit unsigned integer values use native unsigned character data type for ARM7 processor. */
- typedef unsigned short OI_UINT16; /**< 16-bit unsigned integer values use native unsigned short integer data type for ARM7 processor. */
- typedef unsigned long OI_UINT32; /**< 32-bit unsigned integer values use native unsigned long integer data type for ARM7 processor. */
- typedef void * OI_ELEMENT_UNION; /**< Type for first element of a union to support all data types up to pointer width. */
- /**@}*/
- #endif
- /*********************************************************************************/
- #if OI_CPU_TYPE==OI_CPU_GDM1202
- #define OI_CPU_BYTE_ORDER OI_BIG_ENDIAN_BYTE_ORDER
- typedef signed char OI_INT8; /**< 8-bit signed integer. */
- typedef signed short OI_INT16; /**< 16-bit signed integer. */
- typedef signed long OI_INT32; /**< 32-bit signed integer. */
- typedef unsigned char OI_UINT8; /**< 8-bit unsigned integer. */
- typedef unsigned short OI_UINT16; /**< 16-bit unsigned integer. */
- typedef unsigned long OI_UINT32; /**< 32-bit unsigned integer. */
- typedef OI_UINT32 OI_ELEMENT_UNION; /**< Type for first element of a union to support all data types up to pointer width. */
- #endif
- /*********************************************************************************/
- #if OI_CPU_TYPE==OI_CPU_ARC_LEND
- #define OI_CPU_BYTE_ORDER OI_LITTLE_ENDIAN_BYTE_ORDER
- /** @name CPU/compiler-dependent primitive data type definitions for ARC processor family
- * @{
- */
- typedef signed char OI_INT8; /**< 8-bit signed integer values use native signed character data type for ARC processor. */
- typedef signed short OI_INT16; /**< 16-bit signed integer values use native signed short integer data type for ARC processor. */
- typedef signed long OI_INT32; /**< 32-bit signed integer values use native signed long integer data type for ARC processor. */
- typedef unsigned char OI_UINT8; /**< 8-bit unsigned integer values use native unsigned character data type for ARC processor. */
- typedef unsigned short OI_UINT16; /**< 16-bit unsigned integer values use native unsigned short integer data type for ARC processor. */
- typedef unsigned long OI_UINT32; /**< 32-bit unsigned integer values use native unsigned long integer data type for ARC processor. */
- typedef OI_UINT32 OI_ELEMENT_UNION; /**< Type for first element of a union to support all data types up to pointer width. */
- /**@}*/
- #endif
- /*********************************************************************************/
- #if OI_CPU_TYPE==OI_CPU_ARC_BEND
- #define OI_CPU_BYTE_ORDER OI_BIG_ENDIAN_BYTE_ORDER
- /** @name CPU/compiler-dependent primitive data type definitions for ARC processor family
- * @{
- */
- typedef signed char OI_INT8; /**< 8-bit signed integer values use native signed character data type for ARC processor. */
- typedef signed short OI_INT16; /**< 16-bit signed integer values use native signed short integer data type for ARC processor. */
- typedef signed long OI_INT32; /**< 32-bit signed integer values use native signed long integer data type for ARC processor. */
- typedef unsigned char OI_UINT8; /**< 8-bit unsigned integer values use native unsigned character data type for ARC processor. */
- typedef unsigned short OI_UINT16; /**< 16-bit unsigned integer values use native unsigned short integer data type for ARC processor. */
- typedef unsigned long OI_UINT32; /**< 32-bit unsigned integer values use native unsigned long integer data type for ARC processor. */
- typedef OI_UINT32 OI_ELEMENT_UNION; /**< Type for first element of a union to support all data types up to pointer width. */
- /**@}*/
- #endif
- /*********************************************************************************/
- #if OI_CPU_TYPE==OI_CPU_M30833F
- #define OI_CPU_BYTE_ORDER OI_LITTLE_ENDIAN_BYTE_ORDER
- /** @name CPU/compiler-dependent primitive data type definitions for Mitsubishi M308 processor family
- * @{
- */
- typedef signed char OI_INT8; /**< 8-bit signed integer values use native signed character data type for M308 processor. */
- typedef signed short OI_INT16; /**< 16-bit signed integer values use native signed short integer data type for M308 processor. */
- typedef signed long OI_INT32; /**< 32-bit signed integer values use native signed long integer data type for M308 processor. */
- typedef unsigned char OI_UINT8; /**< 8-bit unsigned integer values use native unsigned character data type for M308 processor. */
- typedef unsigned short OI_UINT16; /**< 16-bit unsigned integer values use native unsigned short integer data type for M308 processor. */
- typedef unsigned long OI_UINT32; /**< 32-bit unsigned integer values use native unsigned long integer data type for M308 processor. */
- typedef OI_UINT32 OI_ELEMENT_UNION; /**< Type for first element of a union to support all data types up to pointer width. */
- /**@}*/
- #endif
- /*********************************************************************************/
- #if OI_CPU_TYPE==OI_CPU_CR16C
- #define OI_CPU_BYTE_ORDER OI_LITTLE_ENDIAN_BYTE_ORDER
- /** @name CPU/compiler-dependent primitive data type definitions for National Semicnductor processor family
- * @{
- */
- typedef signed char OI_INT8; /**< 8-bit signed integer values use native signed character data type for CR16C processor. */
- typedef signed short OI_INT16; /**< 16-bit signed integer values use native signed short integer data type for CR16C processor. */
- typedef signed long OI_INT32; /**< 32-bit signed integer values use native signed long integer data type for CR16C processor. */
- typedef unsigned char OI_UINT8; /**< 8-bit unsigned integer values use native unsigned character data type for CR16C processor. */
- typedef unsigned short OI_UINT16; /**< 16-bit unsigned integer values use native unsigned short integer data type for CR16C processor. */
- typedef unsigned long OI_UINT32; /**< 32-bit unsigned integer values use native unsigned long integer data type for CR16C processor. */
- typedef OI_UINT32 OI_ELEMENT_UNION; /**< Type for first element of a union to support all data types up to pointer width. */
- /**@}*/
- #endif
- /*********************************************************************************/
- #if OI_CPU_TYPE==OI_CPU_M64111
- #define OI_CPU_BYTE_ORDER OI_BIG_ENDIAN_BYTE_ORDER
- /** @name CPU/compiler-dependent primitive data type definitions for Renesas M32R processor family
- * @{
- */
- typedef signed char OI_INT8; /**< 8-bit signed integer values use native signed character data type for M64111 processor. */
- typedef signed short OI_INT16; /**< 16-bit signed integer values use native signed short integer data type for M64111 processor. */
- typedef signed long OI_INT32; /**< 32-bit signed integer values use native signed long integer data type for M64111 processor. */
- typedef unsigned char OI_UINT8; /**< 8-bit unsigned integer values use native unsigned character data type for M64111 processor. */
- typedef unsigned short OI_UINT16; /**< 16-bit unsigned integer values use native unsigned short integer data type for M64111 processor. */
- typedef unsigned long OI_UINT32; /**< 32-bit unsigned integer values use native unsigned long integer data type for M64111 processor. */
- typedef OI_UINT32 OI_ELEMENT_UNION; /**< Type for first element of a union to support all data types up to pointer width. */
- /**@}*/
- #endif
- /*********************************************************************************/
- #if OI_CPU_TYPE==OI_CPU_ARMV5_LEND
- #define OI_CPU_BYTE_ORDER OI_LITTLE_ENDIAN_BYTE_ORDER
- /** @name little-endian CPU/compiler-dependent primitive data type definitions for the ARM7 processor family
- * @{
- */
- typedef signed char OI_INT8; /**< 8-bit signed integer values use native signed character data type for ARM7 processor. */
- typedef signed short OI_INT16; /**< 16-bit signed integer values use native signed short integer data type for ARM7 processor. */
- typedef signed long OI_INT32; /**< 32-bit signed integer values use native signed long integer data type for ARM7 processor. */
- typedef unsigned char OI_UINT8; /**< 8-bit unsigned integer values use native unsigned character data type for ARM7 processor. */
- typedef unsigned short OI_UINT16; /**< 16-bit unsigned integer values use native unsigned short integer data type for ARM7 processor. */
- typedef unsigned long OI_UINT32; /**< 32-bit unsigned integer values use native unsigned long integer data type for ARM7 processor. */
- typedef OI_UINT32 OI_ELEMENT_UNION; /**< Type for first element of a union to support all data types up to pointer width. */
- /**@}*/
- #endif
- /*********************************************************************************/
- #ifndef OI_CPU_BYTE_ORDER
- #error "Byte order (endian-ness) not defined"
- #endif
- /**@}*/
- #ifdef __cplusplus
- }
- #endif
- /*********************************************************************************/
- #endif /* _OI_CPU_DEP_H */
|