sbgTypes.h
Go to the documentation of this file.
1 
22 #ifndef SBG_TYPES_H
23 #define SBG_TYPES_H
24 
25 // Standard headers
26 #include <stdint.h>
27 
28 //----------------------------------------------------------------------//
29 //- Limits definitions -//
30 //----------------------------------------------------------------------//
31 #define SBG_MIN_INT_24 (-8388608l)
32 #define SBG_MAX_INT_24 (8388607l)
33 #define SBG_MAX_UINT_24 (16777215ul)
34 
35 #define SBG_MIN_INT_40 (-549755813887ll - 1)
36 #define SBG_MAX_INT_40 (549755813887ll)
37 #define SBG_MAX_UINT_40 (1099511627775ull)
38 
39 #define SBG_MIN_INT_48 (-140737488355327ll - 1)
40 #define SBG_MAX_INT_48 (140737488355327ll)
41 #define SBG_MAX_UINT_48 (281474976710655ull)
42 
43 #define SBG_MIN_INT_56 (-36028797018963967ll - 1)
44 #define SBG_MAX_INT_56 (36028797018963967ll)
45 #define SBG_MAX_UINT_56 (72057594037927935ull)
46 
47 //----------------------------------------------------------------------//
48 //- DEPRECATED: Scalar types definitions -//
49 //----------------------------------------------------------------------//
50 typedef unsigned char uint8; // 8 bits
51 typedef unsigned short uint16; // 16 bits
52 typedef unsigned int uint32; // 32 bits
53 typedef unsigned long long int uint64; // 64 bits
54 
55 typedef signed char int8; // 8 bits
56 typedef signed short int16; // 16 bits
57 typedef signed int int32; // 32 bits
58 typedef signed long long int int64; // 64 bits
59 
60 
61 //----------------------------------------------------------------------//
62 //- Misc types definitions -//
63 //----------------------------------------------------------------------//
64 typedef uint32_t sbgIpAddress;
66 //------------------------------------------------------------------//
67 //- Type punning safe conversion unions -//
68 //------------------------------------------------------------------//
69 
73 typedef union _Uint8PtrToUint32Ptr
74 {
75  uint8_t *m_pointerUint8;
76  uint32_t *m_pointerUint32;
78 
82 typedef union _Uint8ToInt16
83 {
84  int16_t value;
85  uint8_t buffer[2];
86 } Uint8ToInt16;
87 
91 typedef union _Uint8ToUint16
92 {
93  uint16_t value;
94  uint8_t buffer[2];
96 
100 typedef union _Uint8ToInt32
101 {
102  int32_t value;
103  uint8_t buffer[4];
104 } Uint8ToInt32;
105 
109 typedef union _Uint8ToUint32
110 {
111  uint32_t value;
112  uint8_t buffer[4];
113 } Uint8ToUint32;
114 
118 typedef union _Uint8ToInt64
119 {
120  int64_t value;
121  uint8_t buffer[8];
122 } Uint8ToInt64;
123 
127 typedef union _Uint8ToUint64
128 {
129  uint64_t value;
130  uint8_t buffer[8];
131 } Uint8ToUint64;
132 
136 typedef union _FloatNint
137 {
138  float valF;
139  int32_t valI;
140  uint32_t valU;
141 } FloatNint;
142 
146 typedef union _DoubleNint
147 {
148  double valF;
149  uint64_t valU;
150  int64_t valI;
151 } DoubleNint;
152 
156 typedef struct _Split64
157 {
158  uint32_t high;
159  uint32_t low;
160 } Split64;
161 
165 typedef struct _DateStructure
166 {
167  uint16_t year;
168  uint8_t month;
169  uint8_t day;
170 } DateStructure;
171 
172 #endif /* SBG_TYPES_H */
double valF
Definition: sbgTypes.h:148
uint8_t * m_pointerUint8
Definition: sbgTypes.h:75
union _FloatNint FloatNint
union _Uint8ToUint64 Uint8ToUint64
unsigned int uint32
Definition: sbgTypes.h:52
uint8_t month
Definition: sbgTypes.h:168
int32_t valI
Definition: sbgTypes.h:139
signed short int16
Definition: sbgTypes.h:56
uint32_t high
Definition: sbgTypes.h:158
union _Uint8PtrToUint32Ptr Uint8PtrToUint32Ptr
int64_t value
Definition: sbgTypes.h:120
unsigned long long int uint64
Definition: sbgTypes.h:53
uint64_t valU
Definition: sbgTypes.h:149
signed char int8
Definition: sbgTypes.h:55
union _Uint8ToUint16 Uint8ToUint16
uint32_t * m_pointerUint32
Definition: sbgTypes.h:76
uint8_t day
Definition: sbgTypes.h:169
signed long long int int64
Definition: sbgTypes.h:58
float valF
Definition: sbgTypes.h:138
uint32_t valU
Definition: sbgTypes.h:140
uint16_t value
Definition: sbgTypes.h:93
uint32_t sbgIpAddress
Definition: sbgTypes.h:64
union _Uint8ToUint32 Uint8ToUint32
int64_t valI
Definition: sbgTypes.h:150
struct _DateStructure DateStructure
uint64_t value
Definition: sbgTypes.h:129
int16_t value
Definition: sbgTypes.h:84
unsigned char uint8
Definition: sbgTypes.h:50
union _Uint8ToInt16 Uint8ToInt16
struct _Split64 Split64
signed int int32
Definition: sbgTypes.h:57
uint16_t year
Definition: sbgTypes.h:167
unsigned short uint16
Definition: sbgTypes.h:51
union _Uint8ToInt64 Uint8ToInt64
union _DoubleNint DoubleNint
union _Uint8ToInt32 Uint8ToInt32
int32_t value
Definition: sbgTypes.h:102
uint32_t low
Definition: sbgTypes.h:159
uint32_t value
Definition: sbgTypes.h:111


sbg_driver
Author(s): SBG Systems
autogenerated on Thu Oct 22 2020 03:47:22