| 
    libcoap 4.3.2
    
   | 
 
Internal network I/O functions. More...
#include "coap_internal.h"#include "coap_layers_internal.h"#include <sys/types.h>#include "coap_address.h"
 Include dependency graph for coap_io_internal.h:
 This graph shows which files directly or indirectly include this file:Go to the source code of this file.
Data Structures | |
| struct | coap_socket_t | 
| struct | coap_packet_t | 
Macros | |
| #define | COAP_SOCKET_EMPTY 0x0000 | 
| coap_socket_flags_t values  More... | |
| #define | COAP_SOCKET_NOT_EMPTY 0x0001 | 
| the socket is not empty  More... | |
| #define | COAP_SOCKET_BOUND 0x0002 | 
| the socket is bound  More... | |
| #define | COAP_SOCKET_CONNECTED 0x0004 | 
| the socket is connected  More... | |
| #define | COAP_SOCKET_WANT_READ 0x0010 | 
| non blocking socket is waiting for reading  More... | |
| #define | COAP_SOCKET_WANT_WRITE 0x0020 | 
| non blocking socket is waiting for writing  More... | |
| #define | COAP_SOCKET_WANT_ACCEPT 0x0040 | 
| non blocking server socket is waiting for accept  More... | |
| #define | COAP_SOCKET_WANT_CONNECT 0x0080 | 
| non blocking client socket is waiting for connect  More... | |
| #define | COAP_SOCKET_CAN_READ 0x0100 | 
| non blocking socket can now read without blocking  More... | |
| #define | COAP_SOCKET_CAN_WRITE 0x0200 | 
| non blocking socket can now write without blocking  More... | |
| #define | COAP_SOCKET_CAN_ACCEPT 0x0400 | 
| non blocking server socket can now accept without blocking  More... | |
| #define | COAP_SOCKET_CAN_CONNECT 0x0800 | 
| non blocking client socket can now connect without blocking  More... | |
| #define | COAP_SOCKET_MULTICAST 0x1000 | 
| socket is used for multicast communication  More... | |
Functions | |
| coap_endpoint_t * | coap_malloc_endpoint (void) | 
| void | coap_mfree_endpoint (coap_endpoint_t *ep) | 
| const char * | coap_socket_format_errno (int error) | 
| int | coap_socket_connect_udp (coap_socket_t *sock, const coap_address_t *local_if, const coap_address_t *server, int default_port, coap_address_t *local_addr, coap_address_t *remote_addr) | 
| int | coap_socket_bind_udp (coap_socket_t *sock, const coap_address_t *listen_addr, coap_address_t *bound_addr) | 
| void | coap_socket_close (coap_socket_t *sock) | 
| Function interface to close off a socket.  More... | |
| ssize_t | coap_socket_write (coap_socket_t *sock, const uint8_t *data, size_t data_len) | 
| Function interface for data stream sending off a socket.  More... | |
| ssize_t | coap_socket_read (coap_socket_t *sock, uint8_t *data, size_t data_len) | 
| Function interface for data stream receiving off a socket.  More... | |
| void | coap_epoll_ctl_add (coap_socket_t *sock, uint32_t events, const char *func) | 
| Epoll specific function to add the state of events that epoll is to track for the appropriate file descriptor.  More... | |
| void | coap_epoll_ctl_mod (coap_socket_t *sock, uint32_t events, const char *func) | 
| Epoll specific function to modify the state of events that epoll is tracking on the appropriate file descriptor.  More... | |
| void | coap_update_epoll_timer (coap_context_t *context, coap_tick_t delay) | 
| Update the epoll timer fd as to when it is to trigger.  More... | |
| ssize_t | coap_socket_send (coap_socket_t *sock, const coap_session_t *session, const uint8_t *data, size_t datalen) | 
| Function interface for data transmission.  More... | |
| ssize_t | coap_socket_recv (coap_socket_t *sock, coap_packet_t *packet) | 
| Function interface for reading data.  More... | |
| void | coap_packet_get_memmapped (coap_packet_t *packet, unsigned char **address, size_t *length) | 
| Given a packet, set msg and msg_len to an address and length of the packet's data in memory.  More... | |
Internal network I/O functions.
Definition in file coap_io_internal.h.
| #define COAP_SOCKET_BOUND 0x0002 | 
the socket is bound
Definition at line 63 of file coap_io_internal.h.
| #define COAP_SOCKET_CAN_ACCEPT 0x0400 | 
non blocking server socket can now accept without blocking
Definition at line 71 of file coap_io_internal.h.
| #define COAP_SOCKET_CAN_CONNECT 0x0800 | 
non blocking client socket can now connect without blocking
Definition at line 72 of file coap_io_internal.h.
| #define COAP_SOCKET_CAN_READ 0x0100 | 
non blocking socket can now read without blocking
Definition at line 69 of file coap_io_internal.h.
| #define COAP_SOCKET_CAN_WRITE 0x0200 | 
non blocking socket can now write without blocking
Definition at line 70 of file coap_io_internal.h.
| #define COAP_SOCKET_CONNECTED 0x0004 | 
the socket is connected
Definition at line 64 of file coap_io_internal.h.
| #define COAP_SOCKET_EMPTY 0x0000 | 
| #define COAP_SOCKET_MULTICAST 0x1000 | 
socket is used for multicast communication
Definition at line 73 of file coap_io_internal.h.
| #define COAP_SOCKET_NOT_EMPTY 0x0001 | 
the socket is not empty
Definition at line 62 of file coap_io_internal.h.
| #define COAP_SOCKET_WANT_ACCEPT 0x0040 | 
non blocking server socket is waiting for accept
Definition at line 67 of file coap_io_internal.h.
| #define COAP_SOCKET_WANT_CONNECT 0x0080 | 
non blocking client socket is waiting for connect
Definition at line 68 of file coap_io_internal.h.
| #define COAP_SOCKET_WANT_READ 0x0010 | 
non blocking socket is waiting for reading
Definition at line 65 of file coap_io_internal.h.
| #define COAP_SOCKET_WANT_WRITE 0x0020 | 
non blocking socket is waiting for writing
Definition at line 66 of file coap_io_internal.h.
| void coap_epoll_ctl_add | ( | coap_socket_t * | sock, | 
| uint32_t | events, | ||
| const char * | func | ||
| ) | 
Epoll specific function to add the state of events that epoll is to track for the appropriate file descriptor.
| sock | Socket information. | 
| events | The Epoll events to update | 
| func | Function that this function was called from. | 
| void coap_epoll_ctl_mod | ( | coap_socket_t * | sock, | 
| uint32_t | events, | ||
| const char * | func | ||
| ) | 
Epoll specific function to modify the state of events that epoll is tracking on the appropriate file descriptor.
| sock | Socket information. | 
| events | The Epoll events to update | 
| func | Function that this function was called from. | 
 Here is the caller graph for this function:| coap_endpoint_t * coap_malloc_endpoint | ( | void | ) | 
| void coap_mfree_endpoint | ( | coap_endpoint_t * | ep | ) | 
| void coap_packet_get_memmapped | ( | coap_packet_t * | packet, | 
| unsigned char ** | address, | ||
| size_t * | length | ||
| ) | 
| int coap_socket_bind_udp | ( | coap_socket_t * | sock, | 
| const coap_address_t * | listen_addr, | ||
| coap_address_t * | bound_addr | ||
| ) | 
| void coap_socket_close | ( | coap_socket_t * | sock | ) | 
| int coap_socket_connect_udp | ( | coap_socket_t * | sock, | 
| const coap_address_t * | local_if, | ||
| const coap_address_t * | server, | ||
| int | default_port, | ||
| coap_address_t * | local_addr, | ||
| coap_address_t * | remote_addr | ||
| ) | 
 Here is the caller graph for this function:| const char * coap_socket_format_errno | ( | int | error | ) | 
| ssize_t coap_socket_read | ( | coap_socket_t * | sock, | 
| uint8_t * | data, | ||
| size_t | data_len | ||
| ) | 
Function interface for data stream receiving off a socket.
| sock | Socket to receive data on. | 
| data | The data to receive. | 
| data_len | The maximum length of data. | 
Definition at line 692 of file coap_io.c.
 Here is the call graph for this function:
 Here is the caller graph for this function:| ssize_t coap_socket_recv | ( | coap_socket_t * | sock, | 
| coap_packet_t * | packet | ||
| ) | 
Function interface for reading data.
This function returns the number of bytes that have been read, or a value less than zero on error. In case of an error, *packet is set to NULL.
| sock | Socket to read data from. | 
| packet | Received packet metadata and payload. src and dst should be preset. | 
Definition at line 991 of file coap_io.c.
 Here is the call graph for this function:
 Here is the caller graph for this function:| ssize_t coap_socket_send | ( | coap_socket_t * | sock, | 
| const coap_session_t * | session, | ||
| const uint8_t * | data, | ||
| size_t | datalen | ||
| ) | 
Function interface for data transmission.
This function returns the number of bytes that have been transmitted, or a value less than zero on error.
| sock | Socket to send data over. | 
| session | Addressing information for unconnected sockets, or NULL | 
| data | The data to send. | 
| datalen | The actual length of data. | 
Definition at line 798 of file coap_io.c.
 Here is the call graph for this function:
 Here is the caller graph for this function:| ssize_t coap_socket_write | ( | coap_socket_t * | sock, | 
| const uint8_t * | data, | ||
| size_t | data_len | ||
| ) | 
Function interface for data stream sending off a socket.
| sock | Socket to send data over. | 
| data | The data to send. | 
| data_len | The length of data. | 
Definition at line 633 of file coap_io.c.
 Here is the call graph for this function:
 Here is the caller graph for this function:| void coap_update_epoll_timer | ( | coap_context_t * | context, | 
| coap_tick_t | delay | ||
| ) | 
Update the epoll timer fd as to when it is to trigger.
| context | The context to update the epoll timer on. | 
| delay | The time to delay before the epoll timer fires. | 
 Here is the caller graph for this function: