MHEG  17.9.0
 All Data Structures Files Functions Variables Typedefs Enumerations Macros Pages
techtype.h
Go to the documentation of this file.
1 /*******************************************************************************
2  * Copyright © 2014 The DTVKit Open Software Foundation Ltd (www.dtvkit.org)
3  * Copyright © 2006 Ocean Blue Software Ltd
4  *
5  * This file is part of a DTVKit Software Component
6  * You are permitted to copy, modify or distribute this file subject to the terms
7  * of the DTVKit 1.0 Licence which can be found in licence.txt or at www.dtvkit.org
8  *
9  * THIS CODE AND INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND,
10  * EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES
11  * OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.
12  *
13  * If you or your organisation is not a member of DTVKit then you have access
14  * to this source code outside of the terms of the licence agreement
15  * and you are expected to delete this and any associated files immediately.
16  * Further information on DTVKit, membership and terms can be found at www.dtvkit.org
17  *******************************************************************************/
25 #ifndef _TECHTYPE_H
26 #define _TECHTYPE_H
27 
28 #ifndef NO_STDINT_H
29  #include <stddef.h>
30  #include <stdint.h>
31 #endif
32 
33 /****************************************************************************
34  * System MACRO Definitions
35  ****************************************************************************/
36 
37 #ifndef USE_UNWANTED_PARAM
38 /* MACRO TO PREVENT "parameter not used" WARNING */
39 /* In some cases, function parameter lists are pre-defined and cannot be */
40 /* changed, even though the parameters are not used. Such cases produce */
41 /* numerous unnecessary warnings which make it difficult to spot important */
42 /* warnings. This macro can be used in such circumstances to fool the */
43 /* compiler into thinking the function parameter is used without creating */
44 /* unwanted code. */
45 #ifdef NDEBUG
46 #define USE_UNWANTED_PARAM(param)
47 #else
48 #define USE_UNWANTED_PARAM(param) param = param
49 #endif
50 #endif
51 
52 /****************************************************************************
53  * Remove CONSTANT Definitions
54  ****************************************************************************/
55 
56 #undef FALSE
57 #undef TRUE
58 #undef loop
59 #ifdef NO_STDINT_H
60 #undef NULL
61 #undef NULL_PTR
62 #endif
63 
64 /****************************************************************************
65  * System CONSTANT Definitions
66  ****************************************************************************/
67 
68 #define FALSE 0
69 #define TRUE 1
70 
71 /* Generic NULL Definition */
72 #ifdef NO_STDINT_H
73 #define NULL 0
74 #define NULL_PTR ((void *)NULL)
75 #endif
76 
77 /****************************************************************************
78  * System DATA TYPE SIZE Definitions
79  ****************************************************************************/
80 
81 #ifndef NO_STDINT_H
82 typedef uint8_t U8BIT;
83 typedef int8_t S8BIT;
84 typedef uint16_t U16BIT;
85 typedef int16_t S16BIT;
86 typedef uint32_t U32BIT;
87 typedef int32_t S32BIT;
88 #else
89 typedef unsigned char U8BIT;
90 typedef signed char S8BIT;
91 typedef unsigned short U16BIT;
92 typedef signed short S16BIT;
93 typedef unsigned long U32BIT;
94 typedef signed long S32BIT;
95 #endif
96 
97 typedef void *PVOID;
98 typedef U8BIT *PU8BIT;
99 typedef U8BIT BOOLEAN; /* BOOLEAN as 1 byte */
100 
101 #endif /* _TECHTYPE_H */