Morse Micro IoT SDK  2.10.4
Module tcp: TCP Socket IO, supports secure connections using TLS.

Detailed Description

Data Structures

struct  mmagic_core_tcp_connect_cmd_args
 Command arguments structure for tcp_connect. More...
 
struct  mmagic_core_tcp_connect_rsp_args
 Response arguments structure for tcp_connect. More...
 
struct  mmagic_core_tcp_bind_cmd_args
 Command arguments structure for tcp_bind. More...
 
struct  mmagic_core_tcp_bind_rsp_args
 Response arguments structure for tcp_bind. More...
 
struct  mmagic_core_tcp_recv_cmd_args
 Command arguments structure for tcp_recv. More...
 
struct  mmagic_core_tcp_recv_rsp_args
 Response arguments structure for tcp_recv. More...
 
struct  mmagic_core_tcp_send_cmd_args
 Command arguments structure for tcp_send. More...
 
struct  mmagic_core_tcp_read_poll_cmd_args
 Command arguments structure for tcp_read_poll. More...
 
struct  mmagic_core_tcp_write_poll_cmd_args
 Command arguments structure for tcp_write_poll. More...
 
struct  mmagic_core_tcp_accept_cmd_args
 Command arguments structure for tcp_accept. More...
 
struct  mmagic_core_tcp_accept_rsp_args
 Response arguments structure for tcp_accept. More...
 
struct  mmagic_core_tcp_close_cmd_args
 Command arguments structure for tcp_close. More...
 
struct  mmagic_core_tcp_set_rx_ready_evt_enabled_cmd_args
 Command arguments structure for tcp_set_rx_ready_evt_enabled. More...
 
struct  mmagic_tcp_rx_ready_event_args
 Event arguments structure for tcp_rx_ready. More...
 

Typedefs

typedef void(* mmagic_tcp_rx_ready_event_handler_t) (const struct mmagic_tcp_rx_ready_event_args *event_args, void *arg)
 Handler for the tcp-rx_ready event. More...
 

Functions

static enum mmagic_status mmagic_controller_tcp_connect (struct mmagic_controller *controller, struct mmagic_core_tcp_connect_cmd_args *cmd_args, struct mmagic_core_tcp_connect_rsp_args *rsp_args)
 Opens a client TCP socket and returns its stream ID. More...
 
static enum mmagic_status mmagic_controller_tcp_bind (struct mmagic_controller *controller, struct mmagic_core_tcp_bind_cmd_args *cmd_args, struct mmagic_core_tcp_bind_rsp_args *rsp_args)
 Opens a server TCP socket and returns its stream ID. More...
 
static enum mmagic_status mmagic_controller_tcp_recv (struct mmagic_controller *controller, struct mmagic_core_tcp_recv_cmd_args *cmd_args, struct mmagic_core_tcp_recv_rsp_args *rsp_args)
 Reads from a socket. More...
 
static enum mmagic_status mmagic_controller_tcp_send (struct mmagic_controller *controller, struct mmagic_core_tcp_send_cmd_args *cmd_args)
 Writes to a socket. More...
 
static enum mmagic_status mmagic_controller_tcp_read_poll (struct mmagic_controller *controller, struct mmagic_core_tcp_read_poll_cmd_args *cmd_args)
 Polls the socket till it is ready for reading. More...
 
static enum mmagic_status mmagic_controller_tcp_write_poll (struct mmagic_controller *controller, struct mmagic_core_tcp_write_poll_cmd_args *cmd_args)
 Polls the socket till it is ready for writing. More...
 
static enum mmagic_status mmagic_controller_tcp_accept (struct mmagic_controller *controller, struct mmagic_core_tcp_accept_cmd_args *cmd_args, struct mmagic_core_tcp_accept_rsp_args *rsp_args)
 Waits for an incoming socket connection and returns a new stream ID. More...
 
static enum mmagic_status mmagic_controller_tcp_close (struct mmagic_controller *controller, struct mmagic_core_tcp_close_cmd_args *cmd_args)
 Closes and frees the socket. More...
 
static enum mmagic_status mmagic_controller_tcp_set_rx_ready_evt_enabled (struct mmagic_controller *controller, struct mmagic_core_tcp_set_rx_ready_evt_enabled_cmd_args *cmd_args)
 Sets whether the RX ready event should be enabled for the given socket. More...
 
void mmagic_controller_register_tcp_rx_ready_handler (struct mmagic_controller *controller, mmagic_tcp_rx_ready_event_handler_t handler, void *arg)
 Register a handler for the tcp-rx_ready event. More...
 

Typedef Documentation

◆ mmagic_tcp_rx_ready_event_handler_t

typedef void(* mmagic_tcp_rx_ready_event_handler_t) (const struct mmagic_tcp_rx_ready_event_args *event_args, void *arg)

Handler for the tcp-rx_ready event.

If enabled, this event is triggered when data becomes ready for receive.

Note
This function will be invoked in the context of the controller data link thread and should perform minimal processing.
Warning
This function must not invoke any mmagic API functions.
Parameters
event_argsNotication arguments received from the agent.
argOpaque argument that was provided when the callback was registered.

Definition at line 6499 of file mmagic_controller.h.

Function Documentation

◆ mmagic_controller_register_tcp_rx_ready_handler()

void mmagic_controller_register_tcp_rx_ready_handler ( struct mmagic_controller *  controller,
mmagic_tcp_rx_ready_event_handler_t  handler,
void *  arg 
)

Register a handler for the tcp-rx_ready event.

If enabled, this event is triggered when data becomes ready for receive.

Note
The handler callbacks will be invoked in the context of the controller data link thread. The handler should perform minimal processing.
Warning
The handler callback must not invoke any mmagic API functions.
Parameters
controllerReference to the the controller handle.
handlerThe handler function to register.
argOpaque argument to be passed to the handler when it is invoked.

◆ mmagic_controller_tcp_accept()

static enum mmagic_status mmagic_controller_tcp_accept ( struct mmagic_controller *  controller,
struct mmagic_core_tcp_accept_cmd_args cmd_args,
struct mmagic_core_tcp_accept_rsp_args rsp_args 
)
inlinestatic

Waits for an incoming socket connection and returns a new stream ID.

Parameters
controllerReference to the controller handle.
[in]cmd_argsCommand arguments
[out]rsp_argsPointer to the data structure to be filled out with the result. If the return code is not MMAGIC_STATUS_OK then the contents of this structure will be undefined.
Returns
MMAGIC_STATUS_OK else an appropriate error code.

Definition at line 6355 of file mmagic_controller.h.

◆ mmagic_controller_tcp_bind()

static enum mmagic_status mmagic_controller_tcp_bind ( struct mmagic_controller *  controller,
struct mmagic_core_tcp_bind_cmd_args cmd_args,
struct mmagic_core_tcp_bind_rsp_args rsp_args 
)
inlinestatic

Opens a server TCP socket and returns its stream ID.

Parameters
controllerReference to the controller handle.
[in]cmd_argsCommand arguments
[out]rsp_argsPointer to the data structure to be filled out with the result. If the return code is not MMAGIC_STATUS_OK then the contents of this structure will be undefined.
Returns
MMAGIC_STATUS_OK else an appropriate error code.

Definition at line 6068 of file mmagic_controller.h.

◆ mmagic_controller_tcp_close()

static enum mmagic_status mmagic_controller_tcp_close ( struct mmagic_controller *  controller,
struct mmagic_core_tcp_close_cmd_args cmd_args 
)
inlinestatic

Closes and frees the socket.

Parameters
controllerReference to the controller handle.
[in]cmd_argsCommand arguments
Returns
MMAGIC_STATUS_OK else an appropriate error code.

Definition at line 6401 of file mmagic_controller.h.

◆ mmagic_controller_tcp_connect()

static enum mmagic_status mmagic_controller_tcp_connect ( struct mmagic_controller *  controller,
struct mmagic_core_tcp_connect_cmd_args cmd_args,
struct mmagic_core_tcp_connect_rsp_args rsp_args 
)
inlinestatic

Opens a client TCP socket and returns its stream ID.

Parameters
controllerReference to the controller handle.
[in]cmd_argsCommand arguments
[out]rsp_argsPointer to the data structure to be filled out with the result. If the return code is not MMAGIC_STATUS_OK then the contents of this structure will be undefined.
Returns
MMAGIC_STATUS_OK else an appropriate error code.

Definition at line 6012 of file mmagic_controller.h.

◆ mmagic_controller_tcp_read_poll()

static enum mmagic_status mmagic_controller_tcp_read_poll ( struct mmagic_controller *  controller,
struct mmagic_core_tcp_read_poll_cmd_args cmd_args 
)
inlinestatic

Polls the socket till it is ready for reading.

Parameters
controllerReference to the controller handle.
[in]cmd_argsCommand arguments
Returns
MMAGIC_STATUS_OK else an appropriate error code.

Definition at line 6233 of file mmagic_controller.h.

◆ mmagic_controller_tcp_recv()

static enum mmagic_status mmagic_controller_tcp_recv ( struct mmagic_controller *  controller,
struct mmagic_core_tcp_recv_cmd_args cmd_args,
struct mmagic_core_tcp_recv_rsp_args rsp_args 
)
inlinestatic

Reads from a socket.

Parameters
controllerReference to the controller handle.
[in]cmd_argsCommand arguments
[out]rsp_argsPointer to the data structure to be filled out with the result. If the return code is not MMAGIC_STATUS_OK then the contents of this structure will be undefined.
Returns
MMAGIC_STATUS_OK else an appropriate error code.

Definition at line 6128 of file mmagic_controller.h.

◆ mmagic_controller_tcp_send()

static enum mmagic_status mmagic_controller_tcp_send ( struct mmagic_controller *  controller,
struct mmagic_core_tcp_send_cmd_args cmd_args 
)
inlinestatic

Writes to a socket.

Parameters
controllerReference to the controller handle.
[in]cmd_argsCommand arguments
Returns
MMAGIC_STATUS_OK else an appropriate error code.

Definition at line 6186 of file mmagic_controller.h.

◆ mmagic_controller_tcp_set_rx_ready_evt_enabled()

static enum mmagic_status mmagic_controller_tcp_set_rx_ready_evt_enabled ( struct mmagic_controller *  controller,
struct mmagic_core_tcp_set_rx_ready_evt_enabled_cmd_args cmd_args 
)
inlinestatic

Sets whether the RX ready event should be enabled for the given socket.

Note that the RX ready event is currently only supported for TCP sockets and that behaviour with TLS sockets undefined.

Parameters
controllerReference to the controller handle.
[in]cmd_argsCommand arguments
Returns
MMAGIC_STATUS_OK else an appropriate error code.

Definition at line 6449 of file mmagic_controller.h.

◆ mmagic_controller_tcp_write_poll()

static enum mmagic_status mmagic_controller_tcp_write_poll ( struct mmagic_controller *  controller,
struct mmagic_core_tcp_write_poll_cmd_args cmd_args 
)
inlinestatic

Polls the socket till it is ready for writing.

Parameters
controllerReference to the controller handle.
[in]cmd_argsCommand arguments
Returns
MMAGIC_STATUS_OK else an appropriate error code.

Definition at line 6290 of file mmagic_controller.h.