udp.h
net/arch.h
net/pbuf.h
net/ipv4/inet.h
net/ipv4/ip.h
net/err.h
src/sys/include/net/api.h
src/sys/include/net/api_msg.h
src/sys/net/api/tcpip.c
src/sys/net/netif/tcpdump.c
net/ipv4/ip.h
arch/lib.h
net/netif.h
src/sys/include/net/udp.h
arch/cpu.h
ubixos/types.h
sys/_types.h
net/arch.h
net/lwipopts.h
net/def.h
net/ipv4/ip_addr.h
net/err.h
net/opt.h
net/pbuf.h
net/debug.h
net/ipv4/inet.h
arch/cc.h
src/sys/net/net/udpecho.c
src/sys/net/netif/tcpdump.c
src/sys/include/net/udp.h
src/sys/net/net/bot.c
src/sys/net/api/tcpip.c
src/sys/include/net/tcpip.h
src/sys/include/net/api_msg.h
src/sys/net/net/shell.c
src/sys/net/api/api_lib.c
src/sys/net/net/init.c
src/sys/include/net/api.h
src/sys/net/api/sockets.c
src/sys/net/api/api_msg.c
udp_hdr
udp_pcb
udp_flags
pcb
((pcb)->flags)
UDP_FLAGS_NOCHKSUM
0x01
do_bind
do_connect
UDP_FLAGS_UDPLITE
0x02
do_bind
do_connect
UDP_HLEN
8
udp_setflags
pcb
f
((pcb)->flags = (f))
do_bind
do_connect
err_t err_t udp_bind (struct udp_pcb *pcb, struct ip_addr *ipaddr, uInt16 port) udp_bind struct udp_pcb * pcb struct ip_addr * ipaddr uInt16 port do_bind
err_t err_t udp_connect (struct udp_pcb *pcb, struct ip_addr *ipaddr, uInt16 port) udp_connect struct udp_pcb * pcb struct ip_addr * ipaddr uInt16 port do_connect
void void udp_init (void) udp_init void tcpip_thread
void void udp_input (struct pbuf *p, struct netif *inp) udp_input struct pbuf * p struct netif * inp
uInt8 uInt8 udp_lookup (struct ip_hdr *iphdr, struct netif *inp) udp_lookup struct ip_hdr * iphdr struct netif * inp
udp_pcb * struct udp_pcb* udp_new (void) udp_new void do_bind do_connect
void void udp_recv (struct udp_pcb *pcb, void(*recv)(void *arg, struct udp_pcb *upcb, struct pbuf *p, struct ip_addr *addr, uInt16 port), void *recv_arg) udp_recv struct udp_pcb * pcb void(*)(void *arg, struct udp_pcb *upcb, struct pbuf *p, struct ip_addr *addr, uInt16 port) recv void * recv_arg do_bind do_connect
void void udp_remove (struct udp_pcb *pcb) udp_remove struct udp_pcb * pcb do_delconn
err_t err_t udp_send (struct udp_pcb *pcb, struct pbuf *p) udp_send struct udp_pcb * pcb struct pbuf * p do_send
udp_hdr struct udp_hdr PACK_STRUCT_STRUCT PACK_STRUCT_STRUCT

    /*
    *Copyright(c)2001,SwedishInstituteofComputerScience.
    *Allrightsreserved.
    *
    *Redistributionanduseinsourceandbinaryforms,withorwithout
    *modification,arepermittedprovidedthatthefollowingconditions
    *aremet:
    *1.Redistributionsofsourcecodemustretaintheabovecopyright
    *notice,thislistofconditionsandthefollowingdisclaimer.
    *2.Redistributionsinbinaryformmustreproducetheabovecopyright
    *notice,thislistofconditionsandthefollowingdisclaimerinthe
    *documentationand/orothermaterialsprovidedwiththedistribution.
    *3.NeitherthenameoftheInstitutenorthenamesofitscontributors
    *maybeusedtoendorseorpromoteproductsderivedfromthissoftware
    *withoutspecificpriorwrittenpermission.
    *
    *THISSOFTWAREISPROVIDEDBYTHEINSTITUTEANDCONTRIBUTORS``ASIS''AND
    *ANYEXPRESSORIMPLIEDWARRANTIES,INCLUDING,BUTNOTLIMITEDTO,THE
    *IMPLIEDWARRANTIESOFMERCHANTABILITYANDFITNESSFORAPARTICULARPURPOSE
    *AREDISCLAIMED.INNOEVENTSHALLTHEINSTITUTEORCONTRIBUTORSBELIABLE
    *FORANYDIRECT,INDIRECT,INCIDENTAL,SPECIAL,EXEMPLARY,ORCONSEQUENTIAL
    *DAMAGES(INCLUDING,BUTNOTLIMITEDTO,PROCUREMENTOFSUBSTITUTEGOODS
    *ORSERVICES;LOSSOFUSE,DATA,ORPROFITS;ORBUSINESSINTERRUPTION)
    *HOWEVERCAUSEDANDONANYTHEORYOFLIABILITY,WHETHERINCONTRACT,STRICT
    *LIABILITY,ORTORT(INCLUDINGNEGLIGENCEOROTHERWISE)ARISINGINANYWAY
    *OUTOFTHEUSEOFTHISSOFTWARE,EVENIFADVISEDOFTHEPOSSIBILITYOF
    *SUCHDAMAGE.
    *
    *ThisfileispartofthelwIPTCP/IPstack.
    *
    *Author:AdamDunkels<adam@sics.se>
    *
    *$Id: udp_8h.xml 88 2016-01-12 00:11:29Z reddawg $
    */
    #ifndef__LWIP_UDP_H__
    #define__LWIP_UDP_H__

    #include"net/arch.h"

    #include"net/pbuf.h"
    //UBU
    #include"net/ipv4/inet.h"
    //UBU
    #include"net/ipv4/ip.h"

    #include"net/err.h"

    #defineUDP_HLEN8

    structudp_hdr{
    PACK_STRUCT_FIELD(uInt16src);
    PACK_STRUCT_FIELD(uInt16dest);/*src/destUDPports*/
    PACK_STRUCT_FIELD(uInt16len);
    PACK_STRUCT_FIELD(uInt16chksum);
    }PACK_STRUCT_STRUCT;

    #defineUDP_FLAGS_NOCHKSUM0x01
    #defineUDP_FLAGS_UDPLITE0x02

    structudp_pcb{
    structudp_pcb*next;

    structip_addrlocal_ip,remote_ip;
    uInt16local_port,remote_port;

    uInt8flags;
    uInt16chksum_len;

    void(*recv)(void*arg,structudp_pcb*pcb,structpbuf*p,
    structip_addr*addr,uInt16port);
    void*recv_arg;
    };

    /*Thefollowingfunctionsistheapplicationlayerinterfacetothe
    UDPcode.*/
    structudp_pcb*udp_new(void);
    voidudp_remove(structudp_pcb*pcb);
    err_tudp_bind(structudp_pcb*pcb,structip_addr*ipaddr,
    uInt16port);
    err_tudp_connect(structudp_pcb*pcb,structip_addr*ipaddr,
    uInt16port);
    voidudp_recv(structudp_pcb*pcb,
    void(*recv)(void*arg,structudp_pcb*upcb,
    structpbuf*p,
    structip_addr*addr,
    uInt16port),
    void*recv_arg);
    err_tudp_send(structudp_pcb*pcb,structpbuf*p);

    #defineudp_flags(pcb)((pcb)->flags)
    #defineudp_setflags(pcb,f)((pcb)->flags=(f))

    /*ThefollowingfunctionsisthelowerlayerinterfacetoUDP.*/
    uInt8udp_lookup(structip_hdr*iphdr,structnetif*inp);
    voidudp_input(structpbuf*p,structnetif*inp);
    voidudp_init(void);

    #endif/*__LWIP_UDP_H__*/