41#ifdef MQTT_PROP_CONF_PROP_USE_MEMB
42#define MQTT_PROP_USE_MEMB MQTT_PROP_CONF_PROP_USE_MEMB
44#define MQTT_PROP_USE_MEMB 1
48#define MQTT_PROP_MAX_OUT_PROP_LISTS 1
53#define MQTT_PROP_MAX_OUT_PROPS 2
56#define MQTT_PROP_MAX_PROP_LENGTH 32
60#define MQTT_PROP_MAX_PROP_LEN_BYTES 2
62#define MQTT_PROP_MAX_NUM_TOPIC_ALIASES 1
64#define MQTT_PROP_LIST_NONE NULL
66struct mqtt_prop_list {
68 uint32_t properties_len;
69 uint8_t properties_len_enc[MQTT_PROP_MAX_PROP_LEN_BYTES];
70 uint8_t properties_len_enc_bytes;
75struct mqtt_prop_out_property {
77 struct mqtt_prop_out_property *next;
85 uint32_t property_len;
87 uint8_t val[MQTT_PROP_MAX_PROP_LENGTH];
90struct mqtt_prop_bin_data {
92 uint8_t data[MQTT_PROP_MAX_PROP_LENGTH];
95struct mqtt_prop_auth_event {
96 struct mqtt_string auth_method;
97 struct mqtt_prop_bin_data auth_data;
100void mqtt_prop_print_input_props(
struct mqtt_connection *conn);
102uint32_t mqtt_prop_encode(
struct mqtt_prop_out_property **prop_out, mqtt_vhdr_prop_t prop_id,
105void mqtt_prop_parse_connack_props(
struct mqtt_connection *conn);
107void mqtt_prop_parse_auth_props(
struct mqtt_connection *conn,
struct mqtt_prop_auth_event *event);
109void mqtt_prop_decode_input_props(
struct mqtt_connection *conn);
113#if MQTT_PROP_USE_MEMB
114#define mqtt_prop_register(l, out, msg, id, ...) \
115 mqtt_prop_register_internal(l, msg, id, out, __VA_ARGS__)
117#define mqtt_prop_register(l, prop, out, msg, id, ...) \
118 mqtt_prop_register_internal(l, prop, msg, id, out, __VA_ARGS__)
121uint8_t mqtt_prop_register_internal(
struct mqtt_prop_list **prop_list,
122#
if !MQTT_PROP_USE_MEMB
123 struct mqtt_prop_out_property *prop,
126 mqtt_vhdr_prop_t prop_id,
127 struct mqtt_prop_out_property **prop_out, ...);
129void mqtt_prop_create_list(
struct mqtt_prop_list **prop_list_out);
131void mqtt_prop_print_list(
struct mqtt_prop_list *prop_list, mqtt_vhdr_prop_t prop_id);
133void mqtt_prop_clear_list(
struct mqtt_prop_list **prop_list);
135void mqtt_props_init();
#define LIST_STRUCT(name)
Declare a linked list inside a structure declaraction.
Header file for the Contiki MQTT engine.