DSMCC
15.3.1
|
00001 /******************************************************************************* 00002 * Copyright © 2014 The DTVKit Open Software Foundation Ltd (www.dtvkit.org) 00003 * Copyright © 2006 Ocean Blue Software Ltd 00004 * 00005 * This file is part of a DTVKit Software Component 00006 * You are permitted to copy, modify or distribute this file subject to the terms 00007 * of the DTVKit 1.0 Licence which can be found in licence.txt or at www.dtvkit.org 00008 * 00009 * THIS CODE AND INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, 00010 * EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES 00011 * OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE. 00012 * 00013 * If you or your organisation is not a member of DTVKit then you have access 00014 * to this source code outside of the terms of the licence agreement 00015 * and you are expected to delete this and any associated files immediately. 00016 * Further information on DTVKit, membership and terms can be found at www.dtvkit.org 00017 *******************************************************************************/ 00025 /**************************************************************************** 00026 * Type Bits Bytes Low Value High Value 00027 * -------------------------------------------------------------------------- 00028 * signed char 8 1 -128 127 00029 * unsigned char 8 1 0 255 00030 * -------------------------------------------------------------------------- 00031 * short 16 2 -32,768 32,767 00032 * unsigned short 16 2 0 65,535 00033 * -------------------------------------------------------------------------- 00034 * bool 32 4 0 1 00035 * enum 32 4 -2,147,483,648 2,147,483,647 00036 * int 32 4 -2,147,483,648 2,147,483,647 00037 * unsigned 32 4 0 4,294,967,295 00038 * unsigned int 32 4 0 4,294,967,295 00039 * long 32 4 -2,147,483,648 2,147,483,647 00040 * unsigned long 32 4 0 4,294,967,295 00041 * -------------------------------------------------------------------------- 00042 * float 32 4 1.17549435E-38F 3.40282347E+38F 00043 * -------------------------------------------------------------------------- 00044 * double 64 8 2.2250738585072014E-308 00045 * 1.7976931348623157E+308 00046 ****************************************************************************/ 00047 00048 #ifndef _TECHTYPE_H 00049 #define _TECHTYPE_H 00050 00051 #include <stddef.h> 00052 #ifndef WIN32 00053 #include <stdint.h> 00054 #endif 00055 00056 /**************************************************************************** 00057 * System MACRO Definitions 00058 ****************************************************************************/ 00059 00060 #ifndef USE_UNWANTED_PARAM 00061 /* MACRO TO PREVENT "parameter not used" WARNING */ 00062 /* In some cases, function parameter lists are pre-defined and cannot be */ 00063 /* changed, even though the parameters are not used. Such cases produce */ 00064 /* numerous unnecessary warnings which make it difficult to spot important */ 00065 /* warnings. This macro can be used in such circumstances to fool the */ 00066 /* compiler into thinking the function parameter is used without creating */ 00067 /* unwanted code. */ 00068 #ifdef NDEBUG 00069 #define USE_UNWANTED_PARAM(param) 00070 #else 00071 #define USE_UNWANTED_PARAM(param) param = param 00072 #endif 00073 #endif 00074 00075 /**************************************************************************** 00076 * Remove CONSTANT Definitions 00077 ****************************************************************************/ 00078 00079 #undef FALSE 00080 #undef TRUE 00081 00082 /**************************************************************************** 00083 * System CONSTANT Definitions 00084 ****************************************************************************/ 00085 00086 #define FALSE 0 00087 #define TRUE 1 00088 00089 /* System DATA TYPE SIZE Definitions */ 00090 00091 #ifndef WIN32 00092 #define PRT_S32 "%d" 00093 #define PRT_U32 "%u" 00094 typedef uint8_t U8BIT; 00095 typedef int8_t S8BIT; 00096 typedef uint16_t U16BIT; 00097 typedef int16_t S16BIT; 00098 typedef uint32_t U32BIT; 00099 typedef int32_t S32BIT; 00100 typedef U8BIT* pU8BIT; 00101 #else 00102 #define PRT_S32 "%ld" 00103 #define PRT_U32 "%lu" 00104 typedef unsigned char U8BIT; 00105 typedef signed char S8BIT; 00106 typedef unsigned short U16BIT; 00107 typedef signed short S16BIT; 00108 typedef unsigned long U32BIT; 00109 typedef signed long S32BIT; 00110 typedef unsigned char* pU8BIT; 00111 #endif 00112 00113 typedef U8BIT BOOLEAN; 00114 00115 #endif /* _TECHTYPE_H */