|
XenevaOS
|
Go to the source code of this file.
Classes | |
| struct | EFI_NVDIMM_LABEL_INDEX_BLOCK |
| struct | EFI_NVDIMM_LABEL |
| struct | EFI_NVDIMM_LABEL_SET_COOKIE_MAP |
| struct | EFI_NVDIMM_LABEL_SET_COOKIE_INFO |
| struct | _EFI_NVDIMM_LABEL_PROTOCOL |
Macros | |
| #define | EFI_NVDIMM_LABEL_PROTOCOL_GUID |
| #define | EFI_NVDIMM_LABEL_INDEX_SIG_LEN 16 |
| #define | EFI_NVDIMM_LABEL_INDEX_ALIGN 256 |
| #define | EFI_NVDIMM_LABEL_NAME_LEN 64 |
| #define | EFI_NVDIMM_LABEL_FLAGS_ROLABEL 0x00000001 |
| #define | EFI_NVDIMM_LABEL_FLAGS_LOCAL 0x00000002 |
| #define | EFI_NVDIMM_LABEL_FLAGS_RESERVED 0x00000004 |
| #define | EFI_NVDIMM_LABEL_FLAGS_UPDATING 0x00000008 |
Typedefs | |
| typedef struct _EFI_NVDIMM_LABEL_PROTOCOL | EFI_NVDIMM_LABEL_PROTOCOL |
| typedef EFI_STATUS(EFIAPI * | EFI_NVDIMM_LABEL_STORAGE_INFORMATION) (IN EFI_NVDIMM_LABEL_PROTOCOL *This, OUT UINT32 *SizeOfLabelStorageArea, OUT UINT32 *MaxTransferLength) |
| typedef EFI_STATUS(EFIAPI * | EFI_NVDIMM_LABEL_STORAGE_READ) (IN CONST EFI_NVDIMM_LABEL_PROTOCOL *This, IN UINT32 Offset, IN UINT32 TransferLength, OUT UINT8 *LabelData) |
| typedef EFI_STATUS(EFIAPI * | EFI_NVDIMM_LABEL_STORAGE_WRITE) (IN CONST EFI_NVDIMM_LABEL_PROTOCOL *This, IN UINT32 Offset, IN UINT32 TransferLength, IN UINT8 *LabelData) |
Variables | |
| EFI_GUID | gEfiNvdimmLabelProtocolGuid |
EFI NVDIMM Label Protocol Definition
The EFI NVDIMM Label Protocol is used to Provides services that allow management of labels contained in a Label Storage Area that are associated with a specific NVDIMM Device Path.
Copyright (c) 2017, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License that accompanies this distribution. The full text of the license may be found at http://opensource.org/licenses/bsd-license.php.
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
| #define EFI_NVDIMM_LABEL_FLAGS_LOCAL 0x00000002 |
When set, the complete label set is local to a single NVDIMM Label Storage Area. When clear, the complete label set is contained on multiple NVDIMM Label Storage Areas.
| #define EFI_NVDIMM_LABEL_FLAGS_RESERVED 0x00000004 |
This reserved flag is utilized on older implementations and has been deprecated. Do not use.
| #define EFI_NVDIMM_LABEL_FLAGS_ROLABEL 0x00000001 |
The label is read-only.
| #define EFI_NVDIMM_LABEL_FLAGS_UPDATING 0x00000008 |
When set, the label set is being updated.
| #define EFI_NVDIMM_LABEL_INDEX_ALIGN 256 |
| #define EFI_NVDIMM_LABEL_INDEX_SIG_LEN 16 |
| #define EFI_NVDIMM_LABEL_NAME_LEN 64 |
| #define EFI_NVDIMM_LABEL_PROTOCOL_GUID |
| typedef struct _EFI_NVDIMM_LABEL_PROTOCOL EFI_NVDIMM_LABEL_PROTOCOL |
| typedef EFI_STATUS(EFIAPI * EFI_NVDIMM_LABEL_STORAGE_INFORMATION) (IN EFI_NVDIMM_LABEL_PROTOCOL *This, OUT UINT32 *SizeOfLabelStorageArea, OUT UINT32 *MaxTransferLength) |
Retrieves the Label Storage Area size and the maximum transfer size for the LabelStorageRead and LabelStorageWrite methods.
| This | A pointer to the EFI_NVDIMM_LABEL_PROTOCOL instance. |
| SizeOfLabelStorageArea | The size of the Label Storage Area for the NVDIMM in bytes. |
| MaxTransferLength | The maximum number of bytes that can be transferred in a single call to LabelStorageRead or LabelStorageWrite. |
| EFI_SUCCESS | The size of theLabel Storage Area and maximum transfer size returned are valid. |
| EFI_ACCESS_DENIED | The Label Storage Area for the NVDIMM device is not currently accessible. |
| EFI_DEVICE_ERROR | A physical device error occurred and the data transfer failed to complete. |
| typedef EFI_STATUS(EFIAPI * EFI_NVDIMM_LABEL_STORAGE_READ) (IN CONST EFI_NVDIMM_LABEL_PROTOCOL *This, IN UINT32 Offset, IN UINT32 TransferLength, OUT UINT8 *LabelData) |
Retrieves the label data for the requested offset and length from within the Label Storage Area for the NVDIMM.
| This | A pointer to the EFI_NVDIMM_LABEL_PROTOCOL instance. |
| Offset | The byte offset within the Label Storage Area to read from. |
| TransferLength | Number of bytes to read from the Label Storage Area beginning at the byte Offset specified. A TransferLength of 0 reads no data. |
| LabelData | The return label data read at the requested offset and length from within the Label Storage Area. |
| EFI_SUCCESS | The label data from the Label Storage Area for the NVDIMM was read successfully at the specified Offset and TransferLength and LabelData contains valid data. |
| EFI_INVALID_PARAMETER | Any of the following are true:
|
| EFI_ACCESS_DENIED | The Label Storage Area for the NVDIMM device is not currently accessible and labels cannot be read at this time. |
| EFI_DEVICE_ERROR | A physical device error occurred and the data transfer failed to complete. |
| typedef EFI_STATUS(EFIAPI * EFI_NVDIMM_LABEL_STORAGE_WRITE) (IN CONST EFI_NVDIMM_LABEL_PROTOCOL *This, IN UINT32 Offset, IN UINT32 TransferLength, IN UINT8 *LabelData) |
Writes the label data for the requested offset and length in to the Label Storage Area for the NVDIMM.
| This | A pointer to the EFI_NVDIMM_LABEL_PROTOCOL instance. |
| Offset | The byte offset within the Label Storage Area to write to. |
| TransferLength | Number of bytes to write to the Label Storage Area beginning at the byte Offset specified. A TransferLength of 0 writes no data. |
| LabelData | The return label data write at the requested offset and length from within the Label Storage Area. |
| EFI_SUCCESS | The label data from the Label Storage Area for the NVDIMM written read successfully at the specified Offset and TransferLength. |
| EFI_INVALID_PARAMETER | Any of the following are true:
|
| EFI_ACCESS_DENIED | The Label Storage Area for the NVDIMM device is not currently accessible and labels cannot be written at this time. |
| EFI_DEVICE_ERROR | A physical device error occurred and the data transfer failed to complete. |
|
extern |