Contiki-NG
Loading...
Searching...
No Matches

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.
 

Functions

int simple_udp_send (struct simple_udp_connection *c, const void *data, uint16_t datalen)
 Send a UDP packet.
 
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.
 
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.
 
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.
 

Detailed Description

The default Contiki UDP API is difficult to use. The simple-udp module provides a significantly simpler API.

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 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.
Note that receive_callback is executed in the context
of the process which has called this function

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

References PROCESS_CONTEXT_BEGIN, PROCESS_CONTEXT_END, PROCESS_CURRENT, udp_bind, udp_new(), UIP_HTONS, and uip_ipaddr_copy.

◆ 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.

References UIP_HTONS.

◆ 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.

References UIP_HTONS.

◆ 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.

References UIP_HTONS.