MHEG5
15.3.0
|
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 #ifndef _TECHTYPE_H 00026 #define _TECHTYPE_H 00027 00028 /**************************************************************************** 00029 * Type Bits Bytes Low Value High Value 00030 * -------------------------------------------------------------------------- 00031 * signed char 8 1 -128 127 00032 * unsigned char 8 1 0 255 00033 * -------------------------------------------------------------------------- 00034 * short 16 2 -32,768 32,767 00035 * unsigned short 16 2 0 65,535 00036 * -------------------------------------------------------------------------- 00037 * bool 32 4 0 1 00038 * enum 32 4 -2,147,483,648 2,147,483,647 00039 * int 32 4 -2,147,483,648 2,147,483,647 00040 * unsigned 32 4 0 4,294,967,295 00041 * unsigned int 32 4 0 4,294,967,295 00042 * long 32 4 -2,147,483,648 2,147,483,647 00043 * unsigned long 32 4 0 4,294,967,295 00044 * -------------------------------------------------------------------------- 00045 * float 32 4 1.17549435E-38F 3.40282347E+38F 00046 * -------------------------------------------------------------------------- 00047 * double 64 8 2.2250738585072014E-308 00048 * 1.7976931348623157E+308 00049 ****************************************************************************/ 00050 #include <stddef.h> 00051 #ifndef WIN32 00052 #include <stdint.h> 00053 #endif 00054 00055 /**************************************************************************** 00056 * System MACRO Definitions 00057 ****************************************************************************/ 00058 00059 #ifndef USE_UNWANTED_PARAM 00060 /* MACRO TO PREVENT "parameter not used" WARNING */ 00061 /* In some cases, function parameter lists are pre-defined and cannot be */ 00062 /* changed, even though the parameters are not used. Such cases produce */ 00063 /* numerous unnecessary warnings which make it difficult to spot important */ 00064 /* warnings. This macro can be used in such circumstances to fool the */ 00065 /* compiler into thinking the function parameter is used without creating */ 00066 /* unwanted code. */ 00067 #ifdef NDEBUG 00068 #define USE_UNWANTED_PARAM(param) 00069 #else 00070 #define USE_UNWANTED_PARAM(param) param = param 00071 #endif 00072 #endif 00073 00074 /**************************************************************************** 00075 * Remove CONSTANT Definitions 00076 ****************************************************************************/ 00077 00078 #undef FALSE 00079 #undef TRUE 00080 00081 /**************************************************************************** 00082 * System CONSTANT Definitions 00083 ****************************************************************************/ 00084 00085 #define FALSE 0 00086 #define TRUE 1 00087 00088 /* System DATA TYPE SIZE Definitions */ 00089 00090 #ifndef WIN32 00091 #define PRT_S32 "%d" 00092 #define PRT_U32 "%u" 00093 typedef uint8_t U8BIT; 00094 typedef int8_t S8BIT; 00095 typedef uint16_t U16BIT; 00096 typedef int16_t S16BIT; 00097 typedef uint32_t U32BIT; 00098 typedef int32_t S32BIT; 00099 typedef U8BIT *pU8BIT; 00100 #else 00101 #define PRT_S32 "%ld" 00102 #define PRT_U32 "%lu" 00103 typedef unsigned char U8BIT; 00104 typedef signed char S8BIT; 00105 typedef unsigned short U16BIT; 00106 typedef signed short S16BIT; 00107 typedef unsigned long U32BIT; 00108 typedef signed long S32BIT; 00109 typedef unsigned char *pU8BIT; 00110 #endif 00111 00112 typedef U8BIT BOOLEAN; 00113 00114 #endif /* _TECHTYPE_H */