Contiki 3.x
|
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... | |
The default Contiki UDP API is difficult to use.
The simple-udp module provides a significantly simpler API.
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.
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.
c | A pointer to a struct simple_udp_connection |
local_port | The local UDP port in host byte order |
remote_addr | The remote IP address |
remote_port | The remote UDP port in host byte order |
receive_callback | A pointer to a function of to be called for incoming packets |
0 | If no UDP connection could be allocated |
1 | If 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 104 of file simple-udp.c.
References NULL, PROCESS_CONTEXT_BEGIN, PROCESS_CONTEXT_END, udp_bind, udp_new(), UIP_HTONS, and uip_ipaddr_copy.
int simple_udp_send | ( | struct simple_udp_connection * | c, |
const void * | data, | ||
uint16_t | datalen | ||
) |
Send a UDP packet.
c | A pointer to a struct simple_udp_connection |
data | A pointer to the data to be sent |
datalen | The 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(). |
Definition at line 68 of file simple-udp.c.
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.
c | A pointer to a struct simple_udp_connection |
data | A pointer to the data to be sent |
datalen | The length of the data |
to | The 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(). |
Definition at line 79 of file simple-udp.c.
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.
c | A pointer to a struct simple_udp_connection |
data | A pointer to the data to be sent |
datalen | The length of the data |
to | The IP address of the receiver |
port | The 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(). |
Definition at line 91 of file simple-udp.c.