| /******************************************************************************* |
| * Copyright (c) 2018 IBM Corp. |
| * |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License v2.0 |
| * and Eclipse Distribution License v1.0 which accompany this distribution. |
| * |
| * The Eclipse Public License is available at |
| * https://www.eclipse.org/legal/epl-2.0/ |
| * and the Eclipse Distribution License is available at |
| * http://www.eclipse.org/org/documents/edl-v10.php. |
| * |
| * Contributors: |
| * Ian Craggs - initial API and implementation and/or initial documentation |
| *******************************************************************************/ |
| |
| #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 |