34 lines
1.2 KiB
C
34 lines
1.2 KiB
C
|
// Copyright 2023 Dexter.Wan. All Rights Reserved.
|
||
|
// EMail: 45141961@qq.com
|
||
|
|
||
|
#if !defined(SUBOPTS_H)
|
||
|
#define SUBOPTS_H
|
||
|
|
||
|
/** The MQTT V5 subscribe options, apart from QoS which existed before V5. */
|
||
|
typedef struct MQTTSubscribe_options
|
||
|
{
|
||
|
/** The eyecatcher for this structure. Must be MQSO. */
|
||
|
char struct_id[4];
|
||
|
/** The version number of this structure. Must be 0.
|
||
|
*/
|
||
|
int struct_version;
|
||
|
/** To not receive our own publications, set to 1.
|
||
|
* 0 is the original MQTT behaviour - all messages matching the subscription are received.
|
||
|
*/
|
||
|
unsigned char noLocal;
|
||
|
/** To keep the retain flag as on the original publish message, set to 1.
|
||
|
* If 0, defaults to the original MQTT behaviour where the retain flag is only set on
|
||
|
* publications sent by a broker if in response to a subscribe request.
|
||
|
*/
|
||
|
unsigned char retainAsPublished;
|
||
|
/** 0 - send retained messages at the time of the subscribe (original MQTT behaviour)
|
||
|
* 1 - send retained messages on subscribe only if the subscription is new
|
||
|
* 2 - do not send retained messages at all
|
||
|
*/
|
||
|
unsigned char retainHandling;
|
||
|
} MQTTSubscribe_options;
|
||
|
|
||
|
#define MQTTSubscribe_options_initializer { {'M', 'Q', 'S', 'O'}, 0, 0, 0, 0 }
|
||
|
|
||
|
#endif
|