The default Contiki UDP API is difficult to use.
The simple-udp module provides a significantly simpler API.
|
static void | init_simple_udp (void) |
|
| PROCESS (simple_udp_process,"Simple UDP process") |
|
| PROCESS_THREAD (simple_udp_process, ev, data) |
|
void | simple_udp_init (void) |
|
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...
|
|
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 port) |
| Send a UDP packet to a specified IP address and UDP port. More...
|
|
static void init_simple_udp |
( |
void |
| ) |
|
|
static |
PROCESS |
( |
simple_udp_process |
, |
|
|
"Simple UDP process" |
|
|
) |
| |
PROCESS_THREAD |
( |
simple_udp_process |
, |
|
|
ev |
, |
|
|
data |
|
|
) |
| |
References c, simple_udp_connection::client_process, data, databuffer, NULL, PROCESS_BEGIN, PROCESS_CONTEXT_BEGIN, PROCESS_CONTEXT_END, PROCESS_END, PROCESS_WAIT_EVENT, simple_udp_connection::receive_callback, tcpip_event, uip_appdata, uip_datalen, UIP_HTONS, UIP_IP_BUF, and uip_newdata.
void simple_udp_init |
( |
void |
| ) |
|
Register a UDP connection.
- Parameters
-
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 to be called for incoming packets |
- Return values
-
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. |
References init_simple_udp(), simple_udp_connection::local_port, NULL, PROCESS_CONTEXT_BEGIN, PROCESS_CONTEXT_END, simple_udp_connection::receive_callback, simple_udp_connection::remote_addr, simple_udp_connection::remote_port, udp_bind, simple_udp_connection::udp_conn, udp_new(), UIP_HTONS, and uip_ipaddr_copy.
Referenced by PROCESS_THREAD().
Send a UDP packet to a specified IP address and UDP port.
- Parameters
-
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 wa
registered with simple_udp_register().
|
- See Also
- simple_udp_sendto()
References NULL, simple_udp_connection::udp_conn, UIP_HTONS, and uip_udp_packet_sendto().