32 #ifndef LWIP_HDR_UDP_H 33 #define LWIP_HDR_UDP_H 52 #ifdef PACK_STRUCT_USE_INCLUDES 63 #ifdef PACK_STRUCT_USE_INCLUDES 67 #define UDP_FLAGS_NOCHKSUM 0x01U 68 #define UDP_FLAGS_UDPLITE 0x02U 69 #define UDP_FLAGS_CONNECTED 0x04U 70 #define UDP_FLAGS_MULTICAST_LOOP 0x08U 88 typedef void (*udp_recv_fn)(
void *arg,
struct udp_pcb *pcb,
struct pbuf *p,
101 u16_t local_port, remote_port;
103 #if LWIP_MULTICAST_TX_OPTIONS 112 u16_t chksum_len_rx, chksum_len_tx;
121 extern struct udp_pcb *udp_pcbs;
125 struct udp_pcb * udp_new (
void);
126 void udp_remove (
struct udp_pcb *pcb);
131 void udp_disconnect (
struct udp_pcb *pcb);
132 void udp_recv (
struct udp_pcb *pcb, udp_recv_fn recv,
134 err_t udp_sendto_if (
struct udp_pcb *pcb,
struct pbuf *p,
137 err_t udp_sendto_if_src(
struct udp_pcb *pcb,
struct pbuf *p,
140 err_t udp_sendto (
struct udp_pcb *pcb,
struct pbuf *p,
142 err_t udp_send (
struct udp_pcb *pcb,
struct pbuf *p);
144 #if LWIP_CHECKSUM_ON_COPY && CHECKSUM_GEN_UDP 145 err_t udp_sendto_if_chksum(
struct udp_pcb *pcb,
struct pbuf *p,
149 err_t udp_sendto_chksum(
struct udp_pcb *pcb,
struct pbuf *p,
152 err_t udp_send_chksum(
struct udp_pcb *pcb,
struct pbuf *p,
154 err_t udp_sendto_if_src_chksum(
struct udp_pcb *pcb,
struct pbuf *p,
159 #define udp_flags(pcb) ((pcb)->flags) 160 #define udp_setflags(pcb, f) ((pcb)->flags = (f)) 163 void udp_input (
struct pbuf *p,
struct netif *inp);
165 void udp_init (
void);
168 struct udp_pcb * udp_new_ip6(
void);
171 #if LWIP_MULTICAST_TX_OPTIONS 172 #define udp_set_multicast_netif_addr(pcb, ip4addr) ip_addr_copy_from_ip4((pcb)->multicast_ip, *(ip4addr)) 173 #define udp_get_multicast_netif_addr(pcb) ip_2_ip4(&(pcb)->multicast_ip) 174 #define udp_set_multicast_ttl(pcb, value) do { (pcb)->mcast_ttl = value; } while(0) 175 #define udp_get_multicast_ttl(pcb) ((pcb)->mcast_ttl) 179 void udp_debug_print(
struct udp_hdr *udphdr);
181 #define udp_debug_print(udphdr) 185 void udp_netif_ipv4_addr_changed(
const ip4_addr_t* old_addr,
const ip4_addr_t* new_addr);
#define PACK_STRUCT_STRUCT
#define PACK_STRUCT_FIELD(x)
#define PACK_STRUCT_BEGIN