aboutsummaryrefslogtreecommitdiffstats
path: root/src/include/ipxe/dhcppkt.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/include/ipxe/dhcppkt.h')
-rw-r--r--src/include/ipxe/dhcppkt.h14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/include/ipxe/dhcppkt.h b/src/include/ipxe/dhcppkt.h
index 5709cc7d1..b004800d8 100644
--- a/src/include/ipxe/dhcppkt.h
+++ b/src/include/ipxe/dhcppkt.h
@@ -22,10 +22,6 @@ struct dhcp_packet {
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 */
@@ -54,6 +50,16 @@ dhcppkt_put ( struct dhcp_packet *dhcppkt ) {
ref_put ( &dhcppkt->refcnt );
}
+/**
+ * Get used length of DHCP packet
+ *
+ * @v dhcppkt DHCP packet
+ * @ret len Used length
+ */
+static inline int dhcppkt_len ( struct dhcp_packet *dhcppkt ) {
+ return ( offsetof ( struct dhcphdr, options ) + dhcppkt->options.len );
+}
+
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,