Contiki-NG
Data Structures | Typedefs | Functions

The default Contiki UDP API is difficult to use. More...

Data Structures

struct  simple_udp_connection
 Simple UDP connection. More...
 

Typedefs

typedef void(* simple_udp_callback) (struct simple_udp_connection *c, const uip_ipaddr_t *source_addr, uint16_t source_port, const uip_ipaddr_t *dest_addr, uint16_t dest_port, const uint8_t *data, uint16_t datalen)
 Simple UDP Callback function type. More...
 

Functions

int simple_udp_send (struct simple_udp_connection *c, const void *data, uint16_t datalen)
 Send a UDP packet. More...
 
int simple_udp_sendto (struct simple_udp_connection *c, const void *data, uint16_t datalen, const uip_ipaddr_t *to)
 Send a UDP packet to a specified IP address. More...
 
int simple_udp_sendto_port (struct simple_udp_connection *c, const void *data, uint16_t datalen, const uip_ipaddr_t *to, uint16_t to_port)
 Send a UDP packet to a specified IP address and UDP port. More...
 
int simple_udp_register (struct simple_udp_connection *c, uint16_t local_port, uip_ipaddr_t *remote_addr, uint16_t remote_port, simple_udp_callback receive_callback)
 Register a UDP connection. More...
 

Detailed Description

The default Contiki UDP API is difficult to use.

The simple-udp module provides a significantly simpler API.

Typedef Documentation

◆ simple_udp_callback

typedef void(* simple_udp_callback) (struct simple_udp_connection *c, const uip_ipaddr_t *source_addr, uint16_t source_port, const uip_ipaddr_t *dest_addr, uint16_t dest_port, const uint8_t *data, uint16_t datalen)

Simple UDP Callback function type.

Definition at line 63 of file simple-udp.h.

Function Documentation

◆ simple_udp_register()

int simple_udp_register ( struct simple_udp_connection c,
uint16_t  local_port,
uip_ipaddr_t *  remote_addr,
uint16_t  remote_port,
simple_udp_callback  receive_callback 
)

Register a UDP connection.

Parameters
cA pointer to a struct simple_udp_connection
local_portThe local UDP port in host byte order
remote_addrThe remote IP address
remote_portThe remote UDP port in host byte order
receive_callbackA pointer to a function of to be called for incoming packets
Return values
0If no UDP connection could be allocated
1If the connection was successfully allocated
This function registers a UDP connection and attaches a
callback function to it. The callback function will be
called for incoming packets. The local UDP port can be
set to 0 to indicate that an ephemeral UDP port should
be allocated. The remote IP address can be NULL, to
indicate that packets from any IP address should be
accepted.

Definition at line 102 of file simple-udp.c.

◆ simple_udp_send()

int simple_udp_send ( struct simple_udp_connection c,
const void *  data,
uint16_t  datalen 
)

Send a UDP packet.

Parameters
cA pointer to a struct simple_udp_connection
dataA pointer to the data to be sent
datalenThe length of the data
This function sends a UDP packet. The packet will be
sent to the IP address and with the UDP ports that were
specified when the connection was registered with
simple_udp_register().
See also
simple_udp_sendto()

Definition at line 66 of file simple-udp.c.

◆ simple_udp_sendto()

int simple_udp_sendto ( struct simple_udp_connection c,
const void *  data,
uint16_t  datalen,
const uip_ipaddr_t *  to 
)

Send a UDP packet to a specified IP address.

Parameters
cA pointer to a struct simple_udp_connection
dataA pointer to the data to be sent
datalenThe length of the data
toThe IP address of the receiver
This function sends a UDP packet to a specified IP
address. The packet will be sent with the UDP ports
that were specified when the connection was registered
with simple_udp_register().
See also
simple_udp_send()

Definition at line 77 of file simple-udp.c.

◆ simple_udp_sendto_port()

int simple_udp_sendto_port ( struct simple_udp_connection c,
const void *  data,
uint16_t  datalen,
const uip_ipaddr_t *  to,
uint16_t  to_port 
)

Send a UDP packet to a specified IP address and UDP port.

Parameters
cA pointer to a struct simple_udp_connection
dataA pointer to the data to be sent
datalenThe length of the data
toThe IP address of the receiver
to_portThe UDP port of the receiver, in host byte order
This function sends a UDP packet to a specified IP
address and UDP port. The packet will be sent with the
UDP ports that were specified when the connection was
registered with simple_udp_register().
See also
simple_udp_sendto()

Definition at line 89 of file simple-udp.c.