iPXE
udp.h
Go to the documentation of this file.
00001 #ifndef _IPXE_UDP_H
00002 #define _IPXE_UDP_H
00003 
00004 /** @file
00005  *
00006  * UDP protocol
00007  *
00008  * This file defines the iPXE UDP API.
00009  *
00010  */
00011 
00012 FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
00013 
00014 #include <stddef.h>
00015 #include <ipxe/iobuf.h>
00016 #include <ipxe/tcpip.h>
00017 #include <ipxe/if_ether.h>
00018 
00019 struct interface;
00020 struct sockaddr;
00021 
00022 /**
00023  * UDP constants
00024  */
00025 
00026 /**
00027  * A UDP header
00028  */
00029 struct udp_header {
00030         /** Source port */
00031         uint16_t src;
00032         /** Destination port */
00033         uint16_t dest;
00034         /** Length */
00035         uint16_t len;
00036         /** Checksum */
00037         uint16_t chksum;
00038 };
00039 
00040 extern int udp_open_promisc ( struct interface *xfer );
00041 extern int udp_open ( struct interface *xfer, struct sockaddr *peer,
00042                       struct sockaddr *local );
00043 
00044 #endif /* _IPXE_UDP_H */
00045