/*******************************************************************************1* *2* Define size independent data types and operations. *3* *4* The following types must be supported by all platforms: *5* *6* UINT8 - Unsigned 8-bit Integer INT8 - Signed 8-bit integer *7* UINT16 - Unsigned 16-bit Integer INT16 - Signed 16-bit integer *8* UINT32 - Unsigned 32-bit Integer INT32 - Signed 32-bit integer *9* *10*******************************************************************************/1112#ifndef OSD_CPU_H13#define OSD_CPU_H1415#undef TRUE16#undef FALSE17#define TRUE 118#define FALSE 01920typedef unsigned char UINT8;21typedef unsigned short UINT16;22typedef unsigned int UINT32;23typedef signed char INT8;24typedef signed short INT16;25typedef signed int INT32;2627/******************************************************************************28* Union of UINT8, UINT16 and UINT32 in native endianess of the target29* This is used to access bytes and words in a machine independent manner.30* The upper bytes h2 and h3 normally contain zero (16 bit CPU cores)31* thus PAIR.d can be used to pass arguments to the memory system32* which expects 'int' really.33******************************************************************************/3435typedef union {36#ifdef LSB_FIRST37struct { UINT8 l,h,h2,h3; } b;38struct { UINT16 l,h; } w;39#else40struct { UINT8 h3,h2,h,l; } b;41struct { UINT16 h,l; } w;42#endif43UINT32 d;44} PAIR;4546#endif /* defined OSD_CPU_H */474849