From 3050a9253437f4a4b5ad4bf3b3efdc3c660a5137 Mon Sep 17 00:00:00 2001 From: Sebastian Schmelzer Date: Mon, 25 Oct 2010 16:53:54 +0200 Subject: initial import of sc2010 scripts .. --- .../syslinux-4.02/gpxe/src/include/gpxe/dhcppkt.h | 64 ++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 contrib/syslinux-4.02/gpxe/src/include/gpxe/dhcppkt.h (limited to 'contrib/syslinux-4.02/gpxe/src/include/gpxe/dhcppkt.h') diff --git a/contrib/syslinux-4.02/gpxe/src/include/gpxe/dhcppkt.h b/contrib/syslinux-4.02/gpxe/src/include/gpxe/dhcppkt.h new file mode 100644 index 0000000..6007cca --- /dev/null +++ b/contrib/syslinux-4.02/gpxe/src/include/gpxe/dhcppkt.h @@ -0,0 +1,64 @@ +#ifndef _GPXE_DHCPPKT_H +#define _GPXE_DHCPPKT_H + +/** @file + * + * DHCP packets + * + */ + +FILE_LICENCE ( GPL2_OR_LATER ); + +#include +#include +#include + +/** + * A DHCP packet + * + */ +struct dhcp_packet { + /** Reference counter */ + struct refcnt refcnt; + /** The DHCP packet contents */ + struct dhcphdr *dhcphdr; + /** Maximum length of the DHCP packet buffer */ + size_t max_len; + /** Used length of the DHCP packet buffer */ + size_t len; + /** DHCP options */ + struct dhcp_options options; + /** Settings interface */ + struct settings settings; +}; + +/** + * Increment reference count on DHCP packet + * + * @v dhcppkt DHCP packet + * @ret dhcppkt DHCP packet + */ +static inline __attribute__ (( always_inline )) struct dhcp_packet * +dhcppkt_get ( struct dhcp_packet *dhcppkt ) { + ref_get ( &dhcppkt->refcnt ); + return dhcppkt; +} + +/** + * Decrement reference count on DHCP packet + * + * @v dhcppkt DHCP packet + */ +static inline __attribute__ (( always_inline )) void +dhcppkt_put ( struct dhcp_packet *dhcppkt ) { + ref_put ( &dhcppkt->refcnt ); +} + +extern int dhcppkt_store ( struct dhcp_packet *dhcppkt, unsigned int tag, + const void *data, size_t len ); +extern int dhcppkt_fetch ( struct dhcp_packet *dhcppkt, unsigned int tag, + void *data, size_t len ); +extern void dhcppkt_init ( struct dhcp_packet *dhcppkt, + struct dhcphdr *data, size_t len ); + +#endif /* _GPXE_DHCPPKT_H */ -- cgit v1.2.3-55-g7522