XROAD
xroad_variant.h
Go to the documentation of this file.
1 
6 #pragma once
7 
8 #include <stdint.h>
9 #include <stdbool.h>
10 #include "xroad_string.h"
11 
12 #ifdef __cplusplus
13 extern "C"
14 {
15 #endif
16 
17 typedef enum
18 {
19  xroad_variant_type_null = 1,
20  xroad_variant_type_int8 = 2,
21  xroad_variant_type_uint8 = 3,
22  xroad_variant_type_int16 = 4,
23  xroad_variant_type_uint16 = 5,
24  xroad_variant_type_int32 = 6,
25  xroad_variant_type_uint32 = 7,
26  xroad_variant_type_int64 = 8,
27  xroad_variant_type_uint64 = 9,
28  xroad_variant_type_double = 10,
29  xroad_variant_type_string = 11,
30  xroad_variant_type_bool = 12
31 } xroad_variant_type_t;
32 
33 typedef struct
34 {
35  xroad_variant_type_t type;
36  union
37  {
38  int8_t ival8;
39  uint8_t uval8;
40  int16_t ival16;
41  uint16_t uval16;
42  int32_t ival32;
43  uint32_t uval32;
44  int64_t ival64;
45  uint64_t uval64;
46  double dval;
47  xroad_str_t sval;
48  bool bval;
49  };
51 
52 
53 #ifdef __cplusplus
54 }
55 #endif
Definition: xroad_string.h:29
Definition: xroad_variant.h:34