iPXE
nvsvpd.h
Go to the documentation of this file.
1 #ifndef _IPXE_NVSVPD_H
2 #define _IPXE_NVSVPD_H
3 
4 /**
5  * @file
6  *
7  * Non-Volatile Storage using Vital Product Data
8  *
9  */
10 
11 FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
12 
13 #include <ipxe/nvs.h>
14 #include <ipxe/pcivpd.h>
15 
16 struct nvo_block;
17 struct refcnt;
18 
19 /** An NVS VPD device */
21  /** NVS device */
22  struct nvs_device nvs;
23  /** PCI VPD device */
24  struct pci_vpd vpd;
25 };
26 
27 extern int nvs_vpd_init ( struct nvs_vpd_device *nvsvpd,
28  struct pci_device *pci );
29 extern void nvs_vpd_nvo_init ( struct nvs_vpd_device *nvsvpd,
30  unsigned int field, struct nvo_block *nvo,
31  struct refcnt *refcnt );
32 
33 #endif /* IPXE_NVSVPD_H */
An NVS VPD device.
Definition: nvsvpd.h:20
A non-volatile storage device.
Definition: nvs.h:15
Non-volatile storage.
A reference counter.
Definition: refcnt.h:26
void nvs_vpd_nvo_init(struct nvs_vpd_device *nvsvpd, unsigned int field, struct nvo_block *nvo, struct refcnt *refcnt)
Initialise non-volatile option storage within NVS VPD device.
Definition: nvsvpd.c:220
PCI Vital Product Data.
struct nvs_device nvs
NVS device.
Definition: nvsvpd.h:22
struct pci_vpd vpd
PCI VPD device.
Definition: nvsvpd.h:24
A block of non-volatile stored options.
Definition: nvo.h:22
A PCI device.
Definition: pci.h:187
int nvs_vpd_init(struct nvs_vpd_device *nvsvpd, struct pci_device *pci)
Initialise NVS VPD device.
Definition: nvsvpd.c:178
struct pci_device * pci
PCI device.
Definition: pcivpd.h:132
FILE_LICENCE(GPL2_OR_LATER_OR_UBDL)
PCI VPD.
Definition: pcivpd.h:130