Morse Micro IoT SDK  2.9.7
mmagic_datalink_controller.h
1/*
2 * Copyright 2024 Morse Micro
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
17#pragma once
18
19#include <stdbool.h>
20#include <stdint.h>
21#include <stddef.h>
22
23#include "mmbuf.h"
24
25#ifdef __cplusplus
26extern "C" {
27#endif
28
38#define MMAGIC_DATALINK_PAYLOAD_TYPE_SIZE (1)
40#define MMAGIC_DATALINK_PAYLOAD_LEN_SIZE (2)
42#define MMAGIC_DATALINK_PAYLOAD_HEADER_SIZE (MMAGIC_DATALINK_PAYLOAD_TYPE_SIZE + \
43 MMAGIC_DATALINK_PAYLOAD_LEN_SIZE)
44
47{
48 MMAGIC_DATALINK_NACK,
49 MMAGIC_DATALINK_ACK,
50 MMAGIC_DATALINK_WRITE,
51 MMAGIC_DATALINK_READ,
52 MMAGIC_DATALINK_REREAD,
53};
54
61struct mmagic_datalink_controller;
62
75 struct mmagic_datalink_controller *controller_dl,
76 void *arg, struct mmbuf *buf);
77
82{
86 void *rx_arg;
87};
88
92#define MMAGIC_DATALINK_CONTROLLER_ARGS_INIT { 0 }
93
101struct mmagic_datalink_controller *mmagic_datalink_controller_init(
102 const struct mmagic_datalink_controller_init_args *args);
103
109void mmagic_datalink_controller_deinit(struct mmagic_datalink_controller *controller_dl);
110
124 struct mmagic_datalink_controller *controller_dl,
125 size_t header_size,
126 size_t payload_size);
127
140int mmagic_datalink_controller_tx_buffer(struct mmagic_datalink_controller *controller_dl,
141 struct mmbuf *buf);
142
143#ifdef __cplusplus
144}
145#endif
146
char buf[1408]
Statically allocated buffer for HTTP GET request, just under 1 packet size.
Definition: sslclient.c:177
Core mmbuf data structure.
Definition: mmbuf.h:53