summaryrefslogtreecommitdiffstats
path: root/src/include/gpxe/nvs.h
blob: f8a8078742550f608c534b6f1011de116cd60c49 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#ifndef _GPXE_NVS_H
#define _GPXE_NVS_H

/** @file
 *
 * Non-volatile storage
 *
 */

#include <stdint.h>

struct nvs_operations;

struct nvs_device {
	struct dhcp_option_block *options;
	size_t len;
	struct nvs_operations *op;
};

struct nvs_operations {
	int ( * read ) ( struct nvs_device *nvs, unsigned int offset,
			 void *data, size_t len );
	int ( * write ) ( struct nvs_device *nvs, unsigned int offset,
			  const void *data, size_t len );
};

extern int nvs_register ( struct nvs_device *nvs );
extern void nvs_unregister ( struct nvs_device *nvs );

#endif /* _GPXE_NVS_H */