DSMCC  15.3.1
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 /****************************************************************************
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 */
 All Data Structures Files Functions Typedefs