Amazon Kinesis Webrtc C SDK
 
Loading...
Searching...
No Matches
NullableDefs.h
Go to the documentation of this file.
1/*
2 * Header file to define nullable values for common data types
3 */
4
5#ifndef __KINESIS_VIDEO_WEBRTC_CLIENT_NULLABLEDEFS__
6#define __KINESIS_VIDEO_WEBRTC_CLIENT_NULLABLEDEFS__
7
8#pragma once
9
10#ifdef __cplusplus
11extern "C" {
12#endif
13
15// Public headers
17#if defined(__clang__)
18#pragma clang diagnostic push
19#pragma clang diagnostic ignored "-Wgnu-zero-variadic-macro-arguments"
20#pragma clang diagnostic pop
21#endif
22
26
31#define NULLABLE_SET_EMPTY(a) \
32 do { \
33 (a).isNull = TRUE; \
34 } while (FALSE)
35
39#define NULLABLE_CHECK_EMPTY(a) ((a).isNull == TRUE)
40
44#define NULLABLE_SET_VALUE(a, val) \
45 do { \
46 (a).isNull = FALSE; \
47 (a).value = val; \
48 } while (FALSE)
54
60typedef struct {
61 BOOL isNull;
62 BOOL value;
64
69typedef struct {
70 BOOL isNull;
71 UINT8 value;
73
78typedef struct {
79 BOOL isNull;
80 INT8 value;
82
87typedef struct {
88 BOOL isNull;
89 UINT16 value;
91
96typedef struct {
97 BOOL isNull;
98 INT16 value;
100
105typedef struct {
106 BOOL isNull;
107 UINT32 value;
109
114typedef struct {
115 BOOL isNull;
116 INT32 value;
118
123typedef struct {
124 BOOL isNull;
125 UINT64 value;
127
132typedef struct {
133 BOOL isNull;
134 INT64 value;
136
141typedef struct {
142 BOOL isNull;
143 FLOAT value;
145
150typedef struct {
151 BOOL isNull;
152 DOUBLE value;
154
159typedef struct {
160 BOOL isNull;
161 LDOUBLE value;
165#ifdef __cplusplus
166}
167#endif
168#endif /* __KINESIS_VIDEO_WEBRTC_CLIENT_NULLABLEDEFS__ */
Definition NullableDefs.h:60
BOOL isNull
If this value is set, the value field will be ignored.
Definition NullableDefs.h:61
BOOL value
This value is used only if isNull is not set. Can be set to TRUE/FALSE.
Definition NullableDefs.h:62
Custom data type to allow setting DOUBLE data type to NULL since C does not support setting basic dat...
Definition NullableDefs.h:150
BOOL isNull
If this value is set, the value field will be ignored.
Definition NullableDefs.h:151
DOUBLE value
This value is used only if isNull is not set. Can be set to a double value.
Definition NullableDefs.h:152
Custom data type to allow setting FLOAT data type to NULL since C does not support setting basic data...
Definition NullableDefs.h:141
BOOL isNull
If this value is set, the value field will be ignored.
Definition NullableDefs.h:142
FLOAT value
This value is used only if isNull is not set. Can be set to a float value.
Definition NullableDefs.h:143
Custom data type to allow setting INT16 data type to NULL since C does not support setting basic data...
Definition NullableDefs.h:96
INT16 value
This value is used only if isNull is not set. Can be set to a signed 16 bit value.
Definition NullableDefs.h:98
BOOL isNull
If this value is set, the value field will be ignored.
Definition NullableDefs.h:97
Custom data type to allow setting INT32 data type to NULL since C does not support setting basic data...
Definition NullableDefs.h:114
BOOL isNull
If this value is set, the value field will be ignored.
Definition NullableDefs.h:115
INT32 value
This value is used only if isNull is not set. Can be set to a signed 32 bit value.
Definition NullableDefs.h:116
Custom data type to allow setting INT64 data type to NULL since C does not support setting basic data...
Definition NullableDefs.h:132
INT64 value
This value is used only if isNull is not set. Can be set to a signed 64 bit value.
Definition NullableDefs.h:134
BOOL isNull
If this value is set, the value field will be ignored.
Definition NullableDefs.h:133
Custom data type to allow setting INT8 data type to NULL since C does not support setting basic data ...
Definition NullableDefs.h:78
INT8 value
This value is used only if isNull is not set. Can be set to a signed 8 bit value.
Definition NullableDefs.h:80
BOOL isNull
If this value is set, the value field will be ignored.
Definition NullableDefs.h:79
Custom data type to allow setting LONG DOUBLE data type to NULL since C does not support setting basi...
Definition NullableDefs.h:159
BOOL isNull
If this value is set, the value field will be ignored.
Definition NullableDefs.h:160
LDOUBLE value
This value is used only if isNull is not set. Can be set to a long double value.
Definition NullableDefs.h:161
Custom data type to allow setting UINT16 data type to NULL since C does not support setting basic dat...
Definition NullableDefs.h:87
UINT16 value
This value is used only if isNull is not set. Can be set to a unsigned 16 bit value.
Definition NullableDefs.h:89
BOOL isNull
If this value is set, the value field will be ignored.
Definition NullableDefs.h:88
Custom data type to allow setting UINT32 data type to NULL since C does not support setting basic dat...
Definition NullableDefs.h:105
UINT32 value
This value is used only if isNull is not set. Can be set to a unsigned 32 bit value.
Definition NullableDefs.h:107
BOOL isNull
If this value is set, the value field will be ignored.
Definition NullableDefs.h:106
Custom data type to allow setting UINT64 data type to NULL since C does not support setting basic dat...
Definition NullableDefs.h:123
UINT64 value
This value is used only if isNull is not set. Can be set to a unsigned 64 bit value.
Definition NullableDefs.h:125
BOOL isNull
If this value is set, the value field will be ignored.
Definition NullableDefs.h:124
Custom data type to allow setting UINT8 data type to NULL since C does not support setting basic data...
Definition NullableDefs.h:69
UINT8 value
This value is used only if isNull is not set. Can be set to a unsigned 8 bit value.
Definition NullableDefs.h:71
BOOL isNull
If this value is set, the value field will be ignored.
Definition NullableDefs.h:70