mirror of
https://github.com/ipxe/ipxe
synced 2025-12-22 21:11:03 +03:00
[nvo] Allow resizing of non-volatile stored option blocks
Signed-off-by: Michael Brown <mcb30@ipxe.org>
This commit is contained in:
@@ -36,6 +36,7 @@ extern void dhcpopt_init ( struct dhcp_options *options,
|
||||
void *data, size_t alloc_len,
|
||||
int ( * realloc ) ( struct dhcp_options *options,
|
||||
size_t len ) );
|
||||
extern void dhcpopt_update_used_len ( struct dhcp_options *options );
|
||||
extern int dhcpopt_no_realloc ( struct dhcp_options *options, size_t len );
|
||||
|
||||
#endif /* _IPXE_DHCPOPTS_H */
|
||||
|
||||
@@ -30,12 +30,22 @@ struct nvo_block {
|
||||
size_t len;
|
||||
/** Option-containing data */
|
||||
void *data;
|
||||
/**
|
||||
* Resize non-volatile stored option block
|
||||
*
|
||||
* @v nvo Non-volatile options block
|
||||
* @v len New size
|
||||
* @ret rc Return status code
|
||||
*/
|
||||
int ( * resize ) ( struct nvo_block *nvo, size_t len );
|
||||
/** DHCP options block */
|
||||
struct dhcp_options dhcpopts;
|
||||
};
|
||||
|
||||
extern void nvo_init ( struct nvo_block *nvo, struct nvs_device *nvs,
|
||||
size_t address, size_t len, struct refcnt *refcnt );
|
||||
size_t address, size_t len,
|
||||
int ( * resize ) ( struct nvo_block *nvo, size_t len ),
|
||||
struct refcnt *refcnt );
|
||||
extern int register_nvo ( struct nvo_block *nvo, struct settings *parent );
|
||||
extern void unregister_nvo ( struct nvo_block *nvo );
|
||||
|
||||
|
||||
Reference in New Issue
Block a user