diff options
Diffstat (limited to 'src/include/ipxe/dhcppkt.h')
-rw-r--r-- | src/include/ipxe/dhcppkt.h | 14 |
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, |