libcoap 4.3.5-develop-ea01661
Loading...
Searching...
No Matches
coap_io_internal.h File Reference

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
 
#define COAP_SOCKET_NOT_EMPTY   0x0001
 the socket is not empty
 
#define COAP_SOCKET_BOUND   0x0002
 the socket is bound
 
#define COAP_SOCKET_CONNECTED   0x0004
 the socket is connected
 
#define COAP_SOCKET_WANT_READ   0x0010
 non blocking socket is waiting for reading
 
#define COAP_SOCKET_WANT_WRITE   0x0020
 non blocking socket is waiting for writing
 
#define COAP_SOCKET_WANT_ACCEPT   0x0040
 non blocking server socket is waiting for accept
 
#define COAP_SOCKET_WANT_CONNECT   0x0080
 non blocking client socket is waiting for connect
 
#define COAP_SOCKET_CAN_READ   0x0100
 non blocking socket can now read without blocking
 
#define COAP_SOCKET_CAN_WRITE   0x0200
 non blocking socket can now write without blocking
 
#define COAP_SOCKET_CAN_ACCEPT   0x0400
 non blocking server socket can now accept without blocking
 
#define COAP_SOCKET_CAN_CONNECT   0x0800
 non blocking client socket can now connect without blocking
 
#define COAP_SOCKET_MULTICAST   0x1000
 socket is used for multicast communication
 
#define COAP_SOCKET_SLAVE   0x2000
 socket is a slave socket - do not close
 

Functions

coap_endpoint_tcoap_malloc_endpoint (void)
 
void coap_mfree_endpoint (coap_endpoint_t *ep)
 
const char * coap_socket_format_errno (int error)
 
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.
 
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.
 
void coap_update_io_timer (coap_context_t *context, coap_tick_t delay)
 Update when to continue with I/O processing, unless packets come in in the meantime.
 
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.
 

Detailed Description

Internal network I/O functions.

Definition in file coap_io_internal.h.

Macro Definition Documentation

◆ COAP_SOCKET_BOUND

#define COAP_SOCKET_BOUND   0x0002

the socket is bound

Definition at line 80 of file coap_io_internal.h.

◆ COAP_SOCKET_CAN_ACCEPT

#define COAP_SOCKET_CAN_ACCEPT   0x0400

non blocking server socket can now accept without blocking

Definition at line 88 of file coap_io_internal.h.

◆ COAP_SOCKET_CAN_CONNECT

#define COAP_SOCKET_CAN_CONNECT   0x0800

non blocking client socket can now connect without blocking

Definition at line 89 of file coap_io_internal.h.

◆ COAP_SOCKET_CAN_READ

#define COAP_SOCKET_CAN_READ   0x0100

non blocking socket can now read without blocking

Definition at line 86 of file coap_io_internal.h.

◆ COAP_SOCKET_CAN_WRITE

#define COAP_SOCKET_CAN_WRITE   0x0200

non blocking socket can now write without blocking

Definition at line 87 of file coap_io_internal.h.

◆ COAP_SOCKET_CONNECTED

#define COAP_SOCKET_CONNECTED   0x0004

the socket is connected

Definition at line 81 of file coap_io_internal.h.

◆ COAP_SOCKET_EMPTY

#define COAP_SOCKET_EMPTY   0x0000

coap_socket_flags_t values

the socket is not used

Definition at line 78 of file coap_io_internal.h.

◆ COAP_SOCKET_MULTICAST

#define COAP_SOCKET_MULTICAST   0x1000

socket is used for multicast communication

Definition at line 90 of file coap_io_internal.h.

◆ COAP_SOCKET_NOT_EMPTY

#define COAP_SOCKET_NOT_EMPTY   0x0001

the socket is not empty

Definition at line 79 of file coap_io_internal.h.

◆ COAP_SOCKET_SLAVE

#define COAP_SOCKET_SLAVE   0x2000

socket is a slave socket - do not close

Definition at line 91 of file coap_io_internal.h.

◆ COAP_SOCKET_WANT_ACCEPT

#define COAP_SOCKET_WANT_ACCEPT   0x0040

non blocking server socket is waiting for accept

Definition at line 84 of file coap_io_internal.h.

◆ COAP_SOCKET_WANT_CONNECT

#define COAP_SOCKET_WANT_CONNECT   0x0080

non blocking client socket is waiting for connect

Definition at line 85 of file coap_io_internal.h.

◆ COAP_SOCKET_WANT_READ

#define COAP_SOCKET_WANT_READ   0x0010

non blocking socket is waiting for reading

Definition at line 82 of file coap_io_internal.h.

◆ COAP_SOCKET_WANT_WRITE

#define COAP_SOCKET_WANT_WRITE   0x0020

non blocking socket is waiting for writing

Definition at line 83 of file coap_io_internal.h.

Function Documentation

◆ coap_epoll_ctl_add()

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.

Parameters
sockSocket information.
eventsThe Epoll events to update
funcFunction that this function was called from.

◆ coap_epoll_ctl_mod()

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.

Parameters
sockSocket information.
eventsThe Epoll events to update
funcFunction that this function was called from.
+ Here is the caller graph for this function:

◆ coap_malloc_endpoint()

coap_endpoint_t * coap_malloc_endpoint ( void  )
+ Here is the caller graph for this function:

◆ coap_mfree_endpoint()

void coap_mfree_endpoint ( coap_endpoint_t ep)

◆ coap_packet_get_memmapped()

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.

Definition at line 1057 of file coap_io.c.

+ Here is the caller graph for this function:

◆ coap_socket_format_errno()

const char * coap_socket_format_errno ( int  error)

Definition at line 2353 of file coap_io.c.

+ Here is the caller graph for this function:

◆ coap_update_io_timer()

void coap_update_io_timer ( coap_context_t context,
coap_tick_t  delay 
)

Update when to continue with I/O processing, unless packets come in in the meantime.

Typically, this timeout triggers retransmissions.

Parameters
contextThe CoAP context.
delayThe time to delay before continuing with I/O processing.

Definition at line 533 of file coap_io.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function: