2a4b80d0fbe03ad69747e148b5fd93b0ed7f3f0c
Stefan Schuermans implemented IP + ICMP, fixe...

Stefan Schuermans authored 12 years ago

1) #ifndef UDP_H
2) #define UDP_H
3) 
4) #include "ethernet.h"
5) #include "ip.h"
6) 
7) /// header of UDP packet
8) struct udp_header
9) {
10)   unsigned short src_port;
11)   unsigned short dest_port;
12)   unsigned short length;
13)   unsigned short chk;
14) } __attribute__((packed));
15) 
16) /// UDP packet
17) struct udp_packet
18) {
19)   struct ethernet_header eth_hdr;
20)   struct ip_header ip_hdr;
21)   struct udp_header udp_hdr;
22) } __attribute__((packed));
23) 
24) /// tick procedure - call every 200ms
25) void udp_tick200(void);
26) 
27) /**
28)  * @brief process a received UDP packet
29)  * @param[in] ptr pointer to data of packet
30)  * @param[in] sz size of packet
31)  */
32) void udp_recv(void *ptr, unsigned int sz);
33) 
34) /**
35)  * @brief send a UDP packet
36)  * @param[in] ptr pointer to data of packet
37)  * @param[in] sz size of packet
38)  *
Stefan Schuermans handle padding to minimum e...

Stefan Schuermans authored 12 years ago

39)  * ptr must point to a udp_packet