MHEG5  15.3.0
include/techtype.h
Go to the documentation of this file.
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 */
 All Data Structures Files Functions Variables Typedefs Defines