uGOOSE  1.0
GOOSE for Embedded Devices. Sample project for Renesas R-IN32-EC
uied_types.h
Go to the documentation of this file.
1 /******************************************************************************/
12 #ifndef uIED_TYPES_H
13 #define uIED_TYPES_H
14 
15 #include "ugibso_types.h"
16 
17 /**********************************************************************************
18 * GLOBAL DEFINES
19 **********************************************************************************/
20 
21 /**********************************************************************************
22 * GLOBAL MACROS
23 **********************************************************************************/
24 
25 #define UIED_OCTET_BITS_NUMBER (8u)
26 #define UIED_TIME_1984_1_1_IN_UNIXTIME ((UINT32)441759600uL)
27 #define UIED_TIME_SECONDS_IN_DAY ((UINT32)(24uL * 60uL * 60uL))
28 #define UIED_TIME_MSECONDS_IN_DAY (UIED_TIME_SECONDS_IN_DAY * 1000uL)
29 #define UIED_MAC_LENGTH (6)
30 #define UIED_ETHTYPE_LENGTH (sizeof(UINT16))
31 #define UIED_VLAN_LENGTH (sizeof(UINT16))
32 #define UIED_APPID_LENGTH (sizeof(UINT16))
33 #define UIED_OID_MAX_LENGTH (32)
35 /* Definitions for 32 bit floats */
36 #define UIED_FLOAT32_PACK_SIZE (1 + sizeof(FLOAT32))
37 #define UIED_FLOAT32_BITS_NUMBER (UIED_OCTET_BITS_NUMBER * sizeof(FLOAT32))
38 #define UIED_FLOAT32_EXPONENT_BITS_NUMBER (8)
39 #define UIED_FLOAT32_EXPONENT_MAXIMUM (1 << (UIED_FLOAT32_EXPONENT_BITS_NUMBER-1))
40 #define UIED_FLOAT32_EXPONENT_MINIMUM (1 - UIED_FLOAT32_EXPONENT_MAXIMUM)
41 #define UIED_FLOAT32_EXPONENT_BIASING (UIED_FLOAT32_EXPONENT_MAXIMUM -1)
43 /* Definitions for 64 bit floats */
44 #define UIED_FLOAT64_PACK_SIZE (1 + sizeof(FLOAT64))
45 #define UIED_FLOAT64_BITS_NUMBER (UIED_OCTET_BITS_NUMBER * sizeof(FLOAT64))
46 #define UIED_FLOAT64_EXPONENT_BITS_NUMBER (11)
47 #define UIED_FLOAT64_EXPONENT_MAXIMUM (1 << (UIED_FLOAT64_EXPONENT_BITS_NUMBER-1))
48 #define UIED_FLOAT64_EXPONENT_MINIMUM (1 - UIED_FLOAT64_EXPONENT_MAXIMUM)
49 #define UIED_FLOAT64_EXPONENT_BIASING (UIED_FLOAT64_EXPONENT_MAXIMUM -1)
51 #define UIED_TIME_PACK_SIZE (6)
52 #define UIED_TIME_PACK_SIZE_SHORT (4)
53 #define UIED_TIME_MSECONDS_OFFSET (0)
54 #define UIED_TIME_MSECONDS_SIZE (4)
55 #define UIED_TIME_DAYS_OFFSET (4)
56 #define UIED_TIME_DAYS_SIZE (2)
58 #define UIED_TIMESTAMP_PACK_SIZE (8)
59 #define UIED_TIMESTAMP_SECONDS_OFFSET (0)
60 #define UIED_TIMESTAMP_SECONDS_SIZE (4)
61 #define UIED_TIMESTAMP_USECONDS_OFFSET (4)
62 #define UIED_TIMESTAMP_USECONDS_SIZE (3)
63 #define UIED_TIMESTAMP_FLAGS_OFFSET (7)
65 #define UIED_GOOSE_HEADER_SIZE (8)
67 /**********************************************************************************
68 * GLOBAL DATA TYPES
69 **********************************************************************************/
70 
71 /* To reduce the size of the control variables, smaller variables are used if less than 255 nodes required */
72 #if defined UGIBSO_MAX_NODES_255
73  /* Number of nodes limited to max 255 */
74  #define UIED_NULL_INDEX (UINT8_MAX_VALUE)
75  typedef UINT8 UIED_INDEX;
76  typedef UINT16 UIED_DINDEX;
77 #else
78  /* Number of nodes limited to max 65535 */
79  #define UIED_NULL_INDEX (UINT16_MAX_VALUE)
80  typedef UINT16 UIED_INDEX;
81  typedef UINT32 UIED_DINDEX;
82 #endif
83 
89 typedef enum
90 {
96 
98 typedef enum
99 {
114 
116 typedef enum
117 {
133 
135 typedef enum
136 {
137  UIED_ETHTYPE_VLAN = 0x8100u,
139 } UIED_ETHTYPE;
140 
142 typedef struct
143 {
146 } UIED_TIME;
147 
149 typedef struct
150 {
159 
161 typedef struct
162 {
163  UINT8 u8_Octets[UIED_MAC_LENGTH];
164 } UIED_MAC;
165 
167 typedef struct
168 {
171 } UIED_OID;
172 
174 typedef enum
175 {
203 
205 typedef struct
206 {
217 } UIED_NODE;
218 
220 typedef struct
221 {
225 
226 
228 typedef struct
229 {
234 } UIED_DATASET;
235 
237 typedef struct
238 {
247 } UIED_GOOSE;
248 
250 typedef enum
251 {
260 } UIED_RESULT;
261 
262 #endif /* uIED_TYPES_H */
UIED_INDEX idx_DatasetIndex
Definition: uied_types.h:242
Definition: uied_types.h:190
UIED_INDEX idx_ParentIndex
Definition: uied_types.h:214
Definition: uied_types.h:125
Definition: uied_types.h:259
Definition: uied_types.h:129
UIED_ETHTYPE
Definition: uied_types.h:135
UIED_INDEX idx_FirstReference
Definition: uied_types.h:232
UIED_INDEX idx_LogicalDeviceIndex
Definition: uied_types.h:231
UIED_INDEX idx_ReferencesNumber
Definition: uied_types.h:233
Definition: uied_types.h:94
Definition: uied_types.h:108
Definition: uied_types.h:106
Definition: uied_types.h:200
Definition: uied_types.h:189
Definition: uied_types.h:180
UINT16 u16_Days
Definition: uied_types.h:145
Definition: uied_types.h:258
Definition: uied_types.h:177
UIED_ASN_GOOSE_TAG
Definition: uied_types.h:116
UIED_NODE_TYPE e_Type
Definition: uied_types.h:207
signed short SINT16
Definition: ugibso_types.h:109
UINT32 u32_Seconds
Definition: uied_types.h:151
unsigned short UINT16
Definition: ugibso_types.h:108
Definition: uied_types.h:192
Definition: uied_types.h:130
UINT32 u32_SqNum
Definition: uied_types.h:245
Definition: uied_types.h:254
Definition: uied_types.h:194
Definition: uied_types.h:255
Definition: uied_types.h:188
Definition: uied_types.h:256
unsigned int UINT32
Definition: ugibso_types.h:110
UINT32 u32_mSeconds
Definition: uied_types.h:144
BOOL8 b8_Simulated
Definition: uied_types.h:240
SINT16 s16_Length
Definition: uied_types.h:212
BOOL8 b8_Config
Definition: uied_types.h:208
UIED_TIMESTAMP st_T
Definition: uied_types.h:243
Definition: uied_types.h:119
Definition: uied_types.h:105
Definition: uied_types.h:181
Definition: uied_types.h:220
CHAR * cp_Reference
Definition: uied_types.h:222
UIED_ASN_TYPE_TAG
Definition: uied_types.h:98
Definition: uied_types.h:176
CHAR * cp_Name
Definition: uied_types.h:211
Definition: uied_types.h:185
BOOL8 b8_Test
Definition: uied_types.h:246
Definition: uied_types.h:138
Definition: uied_types.h:123
Definition: uied_types.h:137
UINT32 u32_uSeconds
Definition: uied_types.h:153
Definition: uied_types.h:104
UIED_INDEX idx_NextIndex
Definition: uied_types.h:215
UIED_NODE_TYPE
Definition: uied_types.h:174
Definition: uied_types.h:149
UIED_INDEX idx_NodeIndex
Definition: uied_types.h:223
UINT32 u32_uSecondsRaw
Definition: uied_types.h:152
Definition: uied_types.h:191
UIED_INDEX idx_NodeIndex
Definition: uied_types.h:239
#define UIED_OID_MAX_LENGTH
Definition: uied_types.h:33
UINT8 u8_Length
Definition: uied_types.h:169
UINT8 u8_Accuracy
Definition: uied_types.h:157
Definition: uied_types.h:195
#define UIED_MAC_LENGTH
Definition: uied_types.h:29
BOOL8 b8_Leap
Definition: uied_types.h:154
Definition: uied_types.h:109
UINT16 UIED_ASN_TAG
Definition: uied_types.h:86
BOOL8 b8_Protected
Definition: uied_types.h:210
Definition: uied_types.h:92
Definition: uied_types.h:110
Definition: uied_types.h:187
Definition: uied_types.h:182
Definition: uied_types.h:179
Definition: uied_types.h:178
Definition: uied_types.h:184
BOOL8 b8_Failure
Definition: uied_types.h:155
UIED_INDEX idx_ChildIndex
Definition: uied_types.h:216
UINT8 UIED_ASN_SLENGTH
Definition: uied_types.h:85
UINT32 u32_StNum
Definition: uied_types.h:244
signed char BOOL8
Definition: ugibso_types.h:103
Definition: uied_types.h:197
Definition: uied_types.h:199
Definition: uied_types.h:124
char CHAR
Definition: ugibso_types.h:104
Definition: uied_types.h:193
Definition: uied_types.h:131
Definition: uied_types.h:257
Definition: uied_types.h:127
BOOL8 b8_Writable
Definition: uied_types.h:209
Definition: uied_types.h:122
Definition: uied_types.h:198
Definition: uied_types.h:100
UIED_INDEX idx_ValueIndex
Definition: uied_types.h:213
Definition: uied_types.h:201
Definition: uied_types.h:128
UINT8 UIED_INDEX
Definition: uied_types.h:75
Definition: uied_types.h:118
Definition: uied_types.h:102
Definition: uied_types.h:91
Definition: uied_types.h:101
Definition: uied_types.h:252
CHAR * cp_Name
Definition: uied_types.h:230
Definition: uied_types.h:111
Definition: uied_types.h:112
Definition: uied_types.h:120
Definition: uied_types.h:93
Definition: uied_types.h:126
Definition: uied_types.h:196
Definition: uied_types.h:183
Definition: uied_types.h:142
Definition: uied_types.h:205
Definition: uied_types.h:228
UINT16 UIED_ASN_LENGTH
Definition: uied_types.h:84
UINT32 u32_TimeAllowedToLive
Definition: uied_types.h:241
unsigned char UINT8
Definition: ugibso_types.h:106
Definition: uied_types.h:186
Definition: uied_types.h:103
BOOL8 b8_NotSynchronized
Definition: uied_types.h:156
UIED_RESULT
Definition: uied_types.h:250
Definition: uied_types.h:107
Definition: uied_types.h:161
Definition: uied_types.h:253
UIED_ASN_TAG_CLASS
Definition: uied_types.h:89
Definition: uied_types.h:237
Definition: uied_types.h:167
Definition: uied_types.h:121