From cc9bcb99a0ac2460dbe8286731e65812fa4ef870 Mon Sep 17 00:00:00 2001 From: Michael Brown Date: Mon, 4 Dec 2006 21:46:13 +0000 Subject: Add the concept of a fragment list for non-volatile stored options. --- src/include/gpxe/nvo.h | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) (limited to 'src/include') diff --git a/src/include/gpxe/nvo.h b/src/include/gpxe/nvo.h index b51431aa9..f766508ce 100644 --- a/src/include/gpxe/nvo.h +++ b/src/include/gpxe/nvo.h @@ -7,15 +7,37 @@ * */ +#include + struct nvs_device; struct dhcp_option_block; -struct nvs_options { +/** + * A fragment of a non-volatile storage device used for stored options + */ +struct nvo_fragment { + /** Starting address of fragment within NVS device */ + unsigned int address; + /** Length of fragment */ + size_t len; +}; + +/** + * A block of non-volatile stored options + */ +struct nvo_block { + /** Underlying non-volatile storage device */ struct nvs_device *nvs; + /** List of option-containing fragments + * + * The list is terminated by a fragment with a length of zero. + */ + struct nvo_fragment *fragments; + /** DHCP options block */ struct dhcp_option_block *options; }; -extern int nvo_register ( struct nvs_options *nvo ); -extern void nvo_unregister ( struct nvs_options *nvo ); +extern int nvo_register ( struct nvo_block *nvo ); +extern void nvo_unregister ( struct nvo_block *nvo ); #endif /* _GPXE_NVO_H */ -- cgit v1.2.3-55-g7522