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)
50 MMAGIC_DATALINK_WRITE,
52 MMAGIC_DATALINK_REREAD,
61struct mmagic_datalink_controller;
75 struct mmagic_datalink_controller *controller_dl,
92#define MMAGIC_DATALINK_CONTROLLER_ARGS_INIT { 0 }
124 struct mmagic_datalink_controller *controller_dl,
126 size_t payload_size);
mmagic_datalink_payload_type
Enumeration of data link payload types.
void mmagic_datalink_controller_deinit(struct mmagic_datalink_controller *controller_dl)
Deinitialize the mmagic_datalink_controller.
struct mmbuf * mmagic_datalink_controller_alloc_buffer_for_tx(struct mmagic_datalink_controller *controller_dl, size_t header_size, size_t payload_size)
Allocates a buffer that can subsequently used with mmagic_datalink_controller_tx_buffer().
struct mmagic_datalink_controller * mmagic_datalink_controller_init(const struct mmagic_datalink_controller_init_args *args)
Initialize the mmagic_datalink_controller.
void(* mmagic_datalink_controller_rx_buffer_cb_t)(struct mmagic_datalink_controller *controller_dl, void *arg, struct mmbuf *buf)
Prototype for callback function invoked when the mmagic_datalink_controller receives a data payload.
int mmagic_datalink_controller_tx_buffer(struct mmagic_datalink_controller *controller_dl, struct mmbuf *buf)
Transmits the given buffer as a packet to the agent.
char buf[1408]
Statically allocated buffer for HTTP GET request, just under 1 packet size.
Initialization structure for mmagic_datalink_controller.
mmagic_datalink_controller_rx_buffer_cb_t rx_callback
Callback function to execute when a packet has been received.
void * rx_arg
User argument that will be passed when the rx callback is executed.
Core mmbuf data structure.