EpcTools
An event based multi-threaded C++ development framework.
etypes.h
Go to the documentation of this file.
1 /*
2 * Copyright (c) 2009-2019 Brian Waters
3 * Copyright (c) 2019 Sprint
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17 
18 #ifndef __etypes_h_included
19 #define __etypes_h_included
20 
24 
25 // basic data types
26 #include <stdint.h>
27 typedef void Void;
28 typedef bool Bool;
29 typedef char Char;
30 typedef unsigned char UChar;
31 typedef UChar Byte;
32 typedef int16_t Short;
33 typedef uint16_t UShort;
34 typedef int32_t Int;
35 typedef uint32_t UInt;
36 typedef int32_t Long;
37 typedef uint32_t ULong;
38 typedef ULong Dword;
39 typedef int64_t LongLong;
40 typedef uint64_t ULongLong;
41 typedef float Float;
42 typedef double Double;
43 
44 // constants
45 typedef const Bool cBool;
46 typedef const Char cChar;
47 typedef const UChar cUChar;
48 typedef const Short cShort;
49 typedef const UShort cUShort;
50 typedef const Int cInt;
51 typedef const UInt cUInt;
52 typedef const Long cLong;
53 typedef const ULong cULong;
54 typedef const Dword cDword;
55 typedef const LongLong cLongLong;
56 typedef const ULongLong cULongLong;
57 typedef const Float cFloat;
58 typedef const Double cDouble;
59 
60 // basic pointers
61 typedef Void *pVoid;
62 typedef Bool *pBool;
63 typedef Char *pChar;
64 typedef pChar pStr;
65 typedef UChar *pUChar;
66 typedef Short *pShort;
67 typedef UShort *pUShort;
68 typedef Int *pInt;
69 typedef UInt *pUInt;
70 typedef Long *pLong;
71 typedef ULong *pULong;
72 typedef Dword *pDword;
73 typedef LongLong *pLongLong;
74 typedef ULongLong *pULongLong;
75 typedef Float *pFloat;
76 typedef Double *pDouble;
77 
78 // const pointers
79 typedef const pVoid cpVoid;
80 typedef const pBool cpBool;
81 typedef const Char *cpChar;
82 typedef const Char *cpStr;
83 typedef const UChar *cpUChar;
84 typedef const pShort cpShort;
85 typedef const pUShort cpUShort;
86 typedef const pInt cpInt;
87 typedef const pUInt cpUInt;
88 typedef const pLong cpLong;
89 typedef const pULong cpULong;
90 typedef const pDword cpDword;
91 typedef const pLongLong cpLongLong;
92 typedef const pULongLong cpULongLong;
93 typedef const pFloat cpFloat;
94 typedef const pDouble cpDouble;
95 
96 typedef union {
97  struct
98  {
99  Dword lowPart;
100  Long highPart;
101  } li;
102  LongLong quadPart;
103 } longinteger_t;
104 
105 typedef union {
106  struct
107  {
108  Dword lowPart;
109  Dword highPart;
110  } uli;
111  ULongLong quadPart;
112 } ulonginteger_t;
113 
115 
116 #endif // #define __etypes_h_included