Mbed OS Reference
|
Data Structures | |
struct | mbedtls_net_context |
Wrapper type for sockets. More... | |
Macros | |
#define | MBEDTLS_ERR_NET_SOCKET_FAILED -0x0042 |
Failed to open a socket. More... | |
#define | MBEDTLS_ERR_NET_CONNECT_FAILED -0x0044 |
The connection to the given server / port failed. More... | |
#define | MBEDTLS_ERR_NET_BIND_FAILED -0x0046 |
Binding of the socket failed. More... | |
#define | MBEDTLS_ERR_NET_LISTEN_FAILED -0x0048 |
Could not listen on the socket. More... | |
#define | MBEDTLS_ERR_NET_ACCEPT_FAILED -0x004A |
Could not accept the incoming connection. More... | |
#define | MBEDTLS_ERR_NET_RECV_FAILED -0x004C |
Reading information from the socket failed. More... | |
#define | MBEDTLS_ERR_NET_SEND_FAILED -0x004E |
Sending information through the socket failed. More... | |
#define | MBEDTLS_ERR_NET_CONN_RESET -0x0050 |
Connection was reset by peer. More... | |
#define | MBEDTLS_ERR_NET_UNKNOWN_HOST -0x0052 |
Failed to get an IP address for the given hostname. More... | |
#define | MBEDTLS_ERR_NET_BUFFER_TOO_SMALL -0x0043 |
Buffer is too small to hold the data. More... | |
#define | MBEDTLS_ERR_NET_INVALID_CONTEXT -0x0045 |
The context is invalid, eg because it was free()ed. More... | |
#define | MBEDTLS_ERR_NET_POLL_FAILED -0x0047 |
Polling the net context failed. More... | |
#define | MBEDTLS_ERR_NET_BAD_INPUT_DATA -0x0049 |
Input invalid. More... | |
#define | MBEDTLS_NET_LISTEN_BACKLOG 10 |
The backlog that listen() should use. More... | |
#define | MBEDTLS_NET_PROTO_TCP 0 |
The TCP transport protocol. More... | |
#define | MBEDTLS_NET_PROTO_UDP 1 |
The UDP transport protocol. More... | |
#define | MBEDTLS_NET_POLL_READ 1 |
Used in mbedtls_net_poll to check for pending data More... | |
#define | MBEDTLS_NET_POLL_WRITE 2 |
Used in mbedtls_net_poll to check if write possible. More... | |
Typedefs | |
typedef struct mbedtls_net_context | mbedtls_net_context |
Wrapper type for sockets. More... | |
Functions | |
void | mbedtls_net_init (mbedtls_net_context *ctx) |
Initialize a context Just makes the context ready to be used or freed safely. More... | |
int | mbedtls_net_connect (mbedtls_net_context *ctx, const char *host, const char *port, int proto) |
Initiate a connection with host:port in the given protocol. More... | |
int | mbedtls_net_bind (mbedtls_net_context *ctx, const char *bind_ip, const char *port, int proto) |
Create a receiving socket on bind_ip:port in the chosen protocol. More... | |
int | mbedtls_net_accept (mbedtls_net_context *bind_ctx, mbedtls_net_context *client_ctx, void *client_ip, size_t buf_size, size_t *ip_len) |
Accept a connection from a remote client. More... | |
int | mbedtls_net_poll (mbedtls_net_context *ctx, uint32_t rw, uint32_t timeout) |
Check and wait for the context to be ready for read/write. More... | |
int | mbedtls_net_set_block (mbedtls_net_context *ctx) |
Set the socket blocking. More... | |
int | mbedtls_net_set_nonblock (mbedtls_net_context *ctx) |
Set the socket non-blocking. More... | |
void | mbedtls_net_usleep (unsigned long usec) |
Portable usleep helper. More... | |
int | mbedtls_net_recv (void *ctx, unsigned char *buf, size_t len) |
Read at most 'len' characters. More... | |
int | mbedtls_net_send (void *ctx, const unsigned char *buf, size_t len) |
Write at most 'len' characters. More... | |
int | mbedtls_net_recv_timeout (void *ctx, unsigned char *buf, size_t len, uint32_t timeout) |
Read at most 'len' characters, blocking for at most 'timeout' seconds. More... | |
void | mbedtls_net_close (mbedtls_net_context *ctx) |
Closes down the connection and free associated data. More... | |
void | mbedtls_net_free (mbedtls_net_context *ctx) |
Gracefully shutdown the connection and free associated data. More... | |
#define MBEDTLS_ERR_NET_SOCKET_FAILED -0x0042 |
Failed to open a socket.
Definition at line 59 of file net_sockets.h.
#define MBEDTLS_ERR_NET_CONNECT_FAILED -0x0044 |
The connection to the given server / port failed.
Definition at line 60 of file net_sockets.h.
#define MBEDTLS_ERR_NET_BIND_FAILED -0x0046 |
Binding of the socket failed.
Definition at line 61 of file net_sockets.h.
#define MBEDTLS_ERR_NET_LISTEN_FAILED -0x0048 |
Could not listen on the socket.
Definition at line 62 of file net_sockets.h.
#define MBEDTLS_ERR_NET_ACCEPT_FAILED -0x004A |
Could not accept the incoming connection.
Definition at line 63 of file net_sockets.h.
#define MBEDTLS_ERR_NET_RECV_FAILED -0x004C |
Reading information from the socket failed.
Definition at line 64 of file net_sockets.h.
#define MBEDTLS_ERR_NET_SEND_FAILED -0x004E |
Sending information through the socket failed.
Definition at line 65 of file net_sockets.h.
#define MBEDTLS_ERR_NET_CONN_RESET -0x0050 |
Connection was reset by peer.
Definition at line 66 of file net_sockets.h.
#define MBEDTLS_ERR_NET_UNKNOWN_HOST -0x0052 |
Failed to get an IP address for the given hostname.
Definition at line 67 of file net_sockets.h.
#define MBEDTLS_ERR_NET_BUFFER_TOO_SMALL -0x0043 |
Buffer is too small to hold the data.
Definition at line 68 of file net_sockets.h.
#define MBEDTLS_ERR_NET_INVALID_CONTEXT -0x0045 |
The context is invalid, eg because it was free()ed.
Definition at line 69 of file net_sockets.h.
#define MBEDTLS_ERR_NET_POLL_FAILED -0x0047 |
Polling the net context failed.
Definition at line 70 of file net_sockets.h.
#define MBEDTLS_ERR_NET_BAD_INPUT_DATA -0x0049 |
Input invalid.
Definition at line 71 of file net_sockets.h.
#define MBEDTLS_NET_LISTEN_BACKLOG 10 |
The backlog that listen() should use.
Definition at line 73 of file net_sockets.h.
#define MBEDTLS_NET_PROTO_TCP 0 |
The TCP transport protocol.
Definition at line 75 of file net_sockets.h.
#define MBEDTLS_NET_PROTO_UDP 1 |
The UDP transport protocol.
Definition at line 76 of file net_sockets.h.
#define MBEDTLS_NET_POLL_READ 1 |
Used in mbedtls_net_poll
to check for pending data
Definition at line 78 of file net_sockets.h.
#define MBEDTLS_NET_POLL_WRITE 2 |
Used in mbedtls_net_poll
to check if write possible.
Definition at line 79 of file net_sockets.h.
typedef struct mbedtls_net_context mbedtls_net_context |
Wrapper type for sockets.
Currently backed by just a file descriptor, but might be more in the future (eg two file descriptors for combined IPv4 + IPv6 support, or additional structures for hand-made UDP demultiplexing).
void mbedtls_net_init | ( | mbedtls_net_context * | ctx | ) |
Initialize a context Just makes the context ready to be used or freed safely.
ctx | Context to initialize |
int mbedtls_net_connect | ( | mbedtls_net_context * | ctx, |
const char * | host, | ||
const char * | port, | ||
int | proto | ||
) |
Initiate a connection with host:port in the given protocol.
ctx | Socket to use |
host | Host to connect to |
port | Port to connect to |
proto | Protocol: MBEDTLS_NET_PROTO_TCP or MBEDTLS_NET_PROTO_UDP |
int mbedtls_net_bind | ( | mbedtls_net_context * | ctx, |
const char * | bind_ip, | ||
const char * | port, | ||
int | proto | ||
) |
Create a receiving socket on bind_ip:port in the chosen protocol.
If bind_ip == NULL, all interfaces are bound.
ctx | Socket to use |
bind_ip | IP to bind to, can be NULL |
port | Port number to use |
proto | Protocol: MBEDTLS_NET_PROTO_TCP or MBEDTLS_NET_PROTO_UDP |
int mbedtls_net_accept | ( | mbedtls_net_context * | bind_ctx, |
mbedtls_net_context * | client_ctx, | ||
void * | client_ip, | ||
size_t | buf_size, | ||
size_t * | ip_len | ||
) |
Accept a connection from a remote client.
bind_ctx | Relevant socket |
client_ctx | Will contain the connected client socket |
client_ip | Will contain the client IP address, can be NULL |
buf_size | Size of the client_ip buffer |
ip_len | Will receive the size of the client IP written, can be NULL if client_ip is null |
int mbedtls_net_poll | ( | mbedtls_net_context * | ctx, |
uint32_t | rw, | ||
uint32_t | timeout | ||
) |
Check and wait for the context to be ready for read/write.
ctx | Socket to check |
rw | Bitflag composed of MBEDTLS_NET_POLL_READ and MBEDTLS_NET_POLL_WRITE specifying the events to wait for:
|
timeout | Maximal amount of time to wait before returning, in milliseconds. If timeout is zero, the function returns immediately. If timeout is -1u, the function blocks potentially indefinitely. |
int mbedtls_net_set_block | ( | mbedtls_net_context * | ctx | ) |
Set the socket blocking.
ctx | Socket to set |
int mbedtls_net_set_nonblock | ( | mbedtls_net_context * | ctx | ) |
Set the socket non-blocking.
ctx | Socket to set |
void mbedtls_net_usleep | ( | unsigned long | usec | ) |
Portable usleep helper.
usec | Amount of microseconds to sleep |
int mbedtls_net_recv | ( | void * | ctx, |
unsigned char * | buf, | ||
size_t | len | ||
) |
Read at most 'len' characters.
If no error occurs, the actual amount read is returned.
ctx | Socket |
buf | The buffer to write to |
len | Maximum length of the buffer |
int mbedtls_net_send | ( | void * | ctx, |
const unsigned char * | buf, | ||
size_t | len | ||
) |
Write at most 'len' characters.
If no error occurs, the actual amount read is returned.
ctx | Socket |
buf | The buffer to read from |
len | The length of the buffer |
int mbedtls_net_recv_timeout | ( | void * | ctx, |
unsigned char * | buf, | ||
size_t | len, | ||
uint32_t | timeout | ||
) |
Read at most 'len' characters, blocking for at most 'timeout' seconds.
If no error occurs, the actual amount read is returned.
ctx | Socket |
buf | The buffer to write to |
len | Maximum length of the buffer |
timeout | Maximum number of milliseconds to wait for data 0 means no timeout (wait forever) |
void mbedtls_net_close | ( | mbedtls_net_context * | ctx | ) |
Closes down the connection and free associated data.
ctx | The context to close |
void mbedtls_net_free | ( | mbedtls_net_context * | ctx | ) |
Gracefully shutdown the connection and free associated data.
ctx | The context to free |