Link Kit C-SDK  4.1.0
aiot_mqtt_props_api.h
浏览该文件的文档.
1 
8 #ifndef __aiot_mqtt_props_API_H__
9 #define __aiot_mqtt_props_API_H__
10 
11 #if defined(__cplusplus)
12 extern "C" {
13 #endif
14 
15 #include <stdint.h>
16 
18 typedef enum {
19  MQTT_PROP_ID_PAYLOAD_FORMAT_INDICATOR = 1, /* type uint8_t */
20  MQTT_PROP_ID_MESSAGE_EXPIRY_INTERVAL = 2, /* type uint32_t */
21  MQTT_PROP_ID_CONTENT_TYPE = 3, /* type string */
22  MQTT_PROP_ID_RESPONSE_TOPIC = 8, /* type string */
23  MQTT_PROP_ID_CORRELATION_DATA = 9, /* type binary */
24  MQTT_PROP_ID_SUBSCRIPTION_IDENTIFIER = 11, /* type variable */
25  MQTT_PROP_ID_SESSION_EXPIRY_INTERVAL = 17, /* type uint32_t */
27  MQTT_PROP_ID_SERVER_KEEP_ALIVE = 19, /* type uint16_t */
28  MQTT_PROP_ID_AUTHENTICATION_METHOD = 21, /* type string */
29  MQTT_PROP_ID_AUTHENTICATION_DATA = 22, /* type binary */
31  MQTT_PROP_ID_WILL_DELAY_INTERVAL = 24, /* type uint32_t */
33  MQTT_PROP_ID_RESPONSE_INFORMATION = 26, /* type string */
34  MQTT_PROP_ID_SERVER_REFERENCE = 28, /* type string */
35  MQTT_PROP_ID_REASON_STRING = 31, /* type string */
36  MQTT_PROP_ID_RECEIVE_MAXIMUM = 33, /* type uint16_t */
37  MQTT_PROP_ID_TOPIC_ALIAS_MAXIMUM = 34, /* type uint16_t */
38  MQTT_PROP_ID_TOPIC_ALIAS = 35, /* type uint16_t */
39  MQTT_PROP_ID_MAXIMUM_QOS = 36, /* type uint8_t */
40  MQTT_PROP_ID_RETAIN_AVAILABLE = 37, /* type uint8_t */
41  MQTT_PROP_ID_USER_PROPERTY = 38, /* type string pair */
42  MQTT_PROP_ID_MAXIMUM_PACKET_SIZE = 39, /* type uint32_t */
47 
48 typedef enum {
58 
66 typedef struct {
67  uint16_t len;
68  uint8_t *value;
69 } len_value_t;
70 
79 typedef struct {
83 
84 typedef struct {
86  union {
87  uint8_t uint8;
88  uint16_t uint16;
89  uint32_t uint32;
92  } value;
94 
95 typedef struct {
96  /* 实际有效的属性个数 */
97  int prop_num;
98  /* 属性列表缓存的大小,默认最多10个缓存 */
100  /* 属性的内容 */
103 
112 
124 
137 
144 
151 
158 
159 #if defined(__cplusplus)
160 }
161 #endif
162 
163 #endif /* __aiot_mqtt_props_API_H__ */
164 
Definition: aiot_mqtt_props_api.h:55
Definition: aiot_mqtt_props_api.h:20
Definition: aiot_mqtt_props_api.h:56
Definition: aiot_mqtt_props_api.h:84
Definition: aiot_mqtt_props_api.h:43
Definition: aiot_mqtt_props_api.h:37
Definition: aiot_mqtt_props_api.h:32
Definition: aiot_mqtt_props_api.h:29
user_property_t str_pair
Definition: aiot_mqtt_props_api.h:91
len_value_t key
Definition: aiot_mqtt_props_api.h:80
mqtt_property_t * aiot_mqtt_props_get(mqtt_properties_t *props, mqtt_property_identify_t id, int32_t index)
从属性集合中,查询属性
Definition: aiot_mqtt_props_api.c:165
Definition: aiot_mqtt_props_api.h:51
uint8_t uint8
Definition: aiot_mqtt_props_api.h:87
Definition: aiot_mqtt_props_api.h:53
Definition: aiot_mqtt_props_api.h:38
Definition: aiot_mqtt_props_api.h:54
len_value_t value
Definition: aiot_mqtt_props_api.h:81
int32_t aiot_mqtt_props_add(mqtt_properties_t *props, mqtt_property_t *prop)
向属性集合中增加一条属性
Definition: aiot_mqtt_props_api.c:118
int32_t aiot_mqtt_props_print(mqtt_properties_t *props)
printf属性内容
Definition: aiot_mqtt_props_api.c:484
Definition: aiot_mqtt_props_api.h:21
int prop_array_size
Definition: aiot_mqtt_props_api.h:99
Definition: aiot_mqtt_props_api.h:40
uint16_t uint16
Definition: aiot_mqtt_props_api.h:88
int prop_num
Definition: aiot_mqtt_props_api.h:97
Definition: aiot_mqtt_props_api.h:35
uint32_t uint32
Definition: aiot_mqtt_props_api.h:89
Definition: aiot_mqtt_props_api.h:45
MQTT 5.0协议中用户属性
Definition: aiot_mqtt_props_api.h:79
Definition: aiot_mqtt_props_api.h:25
Definition: aiot_mqtt_props_api.h:24
Definition: aiot_mqtt_props_api.h:26
Definition: aiot_mqtt_props_api.h:50
uint8_t * value
Definition: aiot_mqtt_props_api.h:68
uint16_t len
Definition: aiot_mqtt_props_api.h:67
Definition: aiot_mqtt_props_api.h:28
Definition: aiot_mqtt_props_api.h:31
Definition: aiot_mqtt_props_api.h:36
Definition: aiot_mqtt_props_api.h:42
mqtt_property_identify_t id
Definition: aiot_mqtt_props_api.h:85
Definition: aiot_mqtt_props_api.h:33
Definition: aiot_mqtt_props_api.h:44
mqtt_property_type_t
Definition: aiot_mqtt_props_api.h:48
mqtt_properties_t * aiot_mqtt_props_init()
mqtt消息属性集合初始化
Definition: aiot_mqtt_props_api.c:94
Definition: aiot_mqtt_props_api.h:23
value-length 结构体.
Definition: aiot_mqtt_props_api.h:66
Definition: aiot_mqtt_props_api.h:95
Definition: aiot_mqtt_props_api.h:27
Definition: aiot_mqtt_props_api.h:52
mqtt_properties_t * aiot_mqtt_props_copy(mqtt_properties_t *props)
深拷贝属性
Definition: aiot_mqtt_props_api.c:702
len_value_t str
Definition: aiot_mqtt_props_api.h:90
Definition: aiot_mqtt_props_api.h:39
Definition: aiot_mqtt_props_api.h:30
Definition: aiot_mqtt_props_api.h:41
void aiot_mqtt_props_deinit(mqtt_properties_t **props)
属性集合反初始化,回收资源
Definition: aiot_mqtt_props_api.c:184
Definition: aiot_mqtt_props_api.h:34
mqtt_property_identify_t
Definition: aiot_mqtt_props_api.h:18
mqtt_property_t * prop_array
Definition: aiot_mqtt_props_api.h:101
Definition: aiot_mqtt_props_api.h:49
Definition: aiot_mqtt_props_api.h:19
Definition: aiot_mqtt_props_api.h:22