TuyaOS
mqtt_priv.h
浏览该文件的文档.
1
6/*
7 * Copyright (c) 2016 Erik Andersson
8 * All rights reserved.
9 *
10 * Redistribution and use in source and binary forms, with or without modification,
11 * are permitted provided that the following conditions are met:
12 *
13 * 1. Redistributions of source code must retain the above copyright notice,
14 * this list of conditions and the following disclaimer.
15 * 2. Redistributions in binary form must reproduce the above copyright notice,
16 * this list of conditions and the following disclaimer in the documentation
17 * and/or other materials provided with the distribution.
18 * 3. The name of the author may not be used to endorse or promote products
19 * derived from this software without specific prior written permission.
20 *
21 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
22 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
23 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
24 * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
26 * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
27 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
28 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
29 * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
30 * OF SUCH DAMAGE.
31 *
32 * This file is part of the lwIP TCP/IP stack.
33 *
34 * Author: Erik Andersson
35 *
36 */
37#ifndef LWIP_HDR_APPS_MQTT_PRIV_H
38#define LWIP_HDR_APPS_MQTT_PRIV_H
39
40#include "lwip/apps/mqtt.h"
41#include "lwip/altcp.h"
42
43#ifdef __cplusplus
44extern "C" {
45#endif
46
49{
55 void *arg;
57 u16_t pkt_id;
60};
61
64 u16_t put;
65 u16_t get;
67};
68
71{
74 u16_t keep_alive;
75 u16_t server_watchdog;
82 struct altcp_pcb *conn;
85 mqtt_connection_cb_t connect_cb;
89 void *inpub_arg;
94 u32_t msg_idx;
95 u8_t rx_buffer[MQTT_VAR_HEADER_BUFFER_LEN];
98};
99
100#ifdef __cplusplus
101}
102#endif
103
104#endif /* LWIP_HDR_APPS_MQTT_PRIV_H */
#define MQTT_OUTPUT_RINGBUF_SIZE
Definition: mqtt_opts.h:56
#define MQTT_VAR_HEADER_BUFFER_LEN
Definition: mqtt_opts.h:64
#define MQTT_REQ_MAX_IN_FLIGHT
Definition: mqtt_opts.h:71
void(* mqtt_incoming_publish_cb_t)(void *arg, const char *topic, u32_t tot_len)
Definition: mqtt.h:161
void(* mqtt_connection_cb_t)(mqtt_client_t *client, void *arg, mqtt_connection_status_t status)
Definition: mqtt.h:126
void(* mqtt_request_cb_t)(void *arg, err_t err)
Definition: mqtt.h:173
void(* mqtt_incoming_data_cb_t)(void *arg, const u8_t *data, u16_t len, u8_t flags)
Definition: mqtt.h:149
Definition: mqtt_priv.h:71
struct mqtt_request_t * pend_req_queue
Definition: mqtt_priv.h:87
mqtt_incoming_data_cb_t data_cb
Definition: mqtt_priv.h:91
u16_t cyclic_tick
Definition: mqtt_priv.h:73
struct mqtt_ringbuf_t output
Definition: mqtt_priv.h:97
u16_t inpub_pkt_id
Definition: mqtt_priv.h:79
u32_t msg_idx
Definition: mqtt_priv.h:94
u16_t pkt_id_seq
Definition: mqtt_priv.h:77
void * connect_arg
Definition: mqtt_priv.h:84
u8_t conn_state
Definition: mqtt_priv.h:81
Definition: mqtt_priv.h:49
mqtt_request_cb_t cb
Definition: mqtt_priv.h:54
u16_t timeout_diff
Definition: mqtt_priv.h:59
struct mqtt_request_t * next
Definition: mqtt_priv.h:52
u16_t pkt_id
Definition: mqtt_priv.h:57
Definition: mqtt_priv.h:63