44 #include "contiki-net.h" 45 #include "net/simple-udp.h" 50 PROCESS(simple_udp_process,
"Simple UDP process");
51 static uint8_t started = 0;
54 #define UIP_IP_BUF ((struct uip_udpip_hdr *)&uip_buf[UIP_LLH_LEN]) 81 const void *
data, uint16_t datalen)
83 if(c->udp_conn != NULL) {
84 uip_udp_packet_sendto(c->udp_conn, data, datalen,
85 &c->remote_addr,
UIP_HTONS(c->remote_port));
106 const void *
data, uint16_t datalen,
109 if(c->udp_conn != NULL) {
110 uip_udp_packet_sendto(c->udp_conn, data, datalen,
133 const void *
data, uint16_t datalen,
137 if(c->udp_conn != NULL) {
138 uip_udp_packet_sendto(c->udp_conn, data, datalen,
167 uint16_t remote_port,
168 simple_udp_callback receive_callback)
173 c->local_port = local_port;
174 c->remote_port = remote_port;
175 if(remote_addr != NULL) {
178 c->receive_callback = receive_callback;
182 if(c->udp_conn != NULL) {
187 if(c->udp_conn == NULL) {
206 for(cptr = &uip_udp_conns[0]; cptr < &uip_udp_conns[
UIP_UDP_CONNS]; ++cptr) {
215 struct simple_udp_connection *c;
227 c = (
struct simple_udp_connection *)
data;
244 if(c->receive_callback != NULL) {
246 c->receive_callback(c,
247 &(UIP_IP_BUF->srcipaddr),
249 &(UIP_IP_BUF->destipaddr),
261 #ifdef ECLIPSE_STUB_CODE_ANALYSE
#define PROCESS(name, strname)
void process_start(struct process *p, const char *arg)
#define PROCESS_CONTEXT_END(p)
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.
#define PROCESS_WAIT_EVENT()
int simple_udp_register(struct simple_udp_connection *c, uint16_t local_port, const uip_ipaddr_t *remote_addr, uint16_t remote_port, simple_udp_callback receive_callback)
Register a UDP connection.
void simple_udp_deregister(struct simple_udp_connection *c)
Deregister an UDP connection.
process_event_t tcpip_event
#define uip_ipaddr_copy(dest, src)
CCIF struct uip_udp_conn * udp_new(const uip_ipaddr_t *ripaddr, uint16_t port, void *appstate)
uint8_t data[USBNET_RX_BUF_SIZE]
#define PROCESS_CONTEXT_BEGIN(p)
#define PROCESS_THREAD(name, ev, data)
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.
#define udp_bind(conn, port)
int simple_udp_send(struct simple_udp_connection *c, const void *data, uint16_t datalen)
Send a UDP packet.
uip_udp_appstate_t appstate