TianoCore EDK2 master
|
Go to the source code of this file.
Data Structures | |
struct | EFI_DISK_IO2_TOKEN |
struct | _EFI_DISK_IO2_PROTOCOL |
Macros | |
#define | EFI_DISK_IO2_PROTOCOL_GUID |
#define | EFI_DISK_IO2_PROTOCOL_REVISION 0x00020000 |
Typedefs | |
typedef struct _EFI_DISK_IO2_PROTOCOL | EFI_DISK_IO2_PROTOCOL |
typedef EFI_STATUS(EFIAPI * | EFI_DISK_CANCEL_EX) (IN EFI_DISK_IO2_PROTOCOL *This) |
typedef EFI_STATUS(EFIAPI * | EFI_DISK_READ_EX) (IN EFI_DISK_IO2_PROTOCOL *This, IN UINT32 MediaId, IN UINT64 Offset, IN OUT EFI_DISK_IO2_TOKEN *Token, IN UINTN BufferSize, OUT VOID *Buffer) |
typedef EFI_STATUS(EFIAPI * | EFI_DISK_WRITE_EX) (IN EFI_DISK_IO2_PROTOCOL *This, IN UINT32 MediaId, IN UINT64 Offset, IN OUT EFI_DISK_IO2_TOKEN *Token, IN UINTN BufferSize, IN VOID *Buffer) |
typedef EFI_STATUS(EFIAPI * | EFI_DISK_FLUSH_EX) (IN EFI_DISK_IO2_PROTOCOL *This, IN OUT EFI_DISK_IO2_TOKEN *Token) |
Variables | |
EFI_GUID | gEfiDiskIo2ProtocolGuid |
Disk I/O 2 protocol as defined in the UEFI 2.4 specification.
The Disk I/O 2 protocol defines an extension to the Disk I/O protocol to enable non-blocking / asynchronous byte-oriented disk operation.
Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
Definition in file DiskIo2.h.
#define EFI_DISK_IO2_PROTOCOL_GUID |
typedef EFI_STATUS(EFIAPI * EFI_DISK_CANCEL_EX) (IN EFI_DISK_IO2_PROTOCOL *This) |
Terminate outstanding asynchronous requests to a device.
This | Indicates a pointer to the calling context. |
EFI_SUCCESS | All outstanding requests were successfully terminated. |
EFI_DEVICE_ERROR | The device reported an error while performing the cancel operation. |
typedef EFI_STATUS(EFIAPI * EFI_DISK_FLUSH_EX) (IN EFI_DISK_IO2_PROTOCOL *This, IN OUT EFI_DISK_IO2_TOKEN *Token) |
Flushes all modified data to the physical device.
This | Indicates a pointer to the calling context. |
MediaId | ID of the medium to be written. |
Token | A pointer to the token associated with the transaction. If this field is NULL, synchronous/blocking IO is performed. |
EFI_SUCCESS | If Event is NULL (blocking I/O): The data was flushed successfully to the device. If Event is not NULL (asynchronous I/O): The request was successfully queued for processing. Event will be signaled upon completion. |
EFI_WRITE_PROTECTED | The device cannot be written to. |
EFI_DEVICE_ERROR | The device reported an error while performing the write operation. |
EFI_NO_MEDIA | There is no medium in the device. |
EFI_MEDIA_CHNAGED | The MediaId is not for the current medium. |
EFI_OUT_OF_RESOURCES | The request could not be completed due to a lack of resources. |
typedef struct _EFI_DISK_IO2_PROTOCOL EFI_DISK_IO2_PROTOCOL |
typedef EFI_STATUS(EFIAPI * EFI_DISK_READ_EX) (IN EFI_DISK_IO2_PROTOCOL *This, IN UINT32 MediaId, IN UINT64 Offset, IN OUT EFI_DISK_IO2_TOKEN *Token, IN UINTN BufferSize, OUT VOID *Buffer) |
Reads a specified number of bytes from a device.
This | Indicates a pointer to the calling context. |
MediaId | ID of the medium to be read. |
Offset | The starting byte offset on the logical block I/O device to read from. |
Token | A pointer to the token associated with the transaction. If this field is NULL, synchronous/blocking IO is performed. |
BufferSize | The size in bytes of Buffer. The number of bytes to read from the device. |
Buffer | A pointer to the destination buffer for the data. The caller is responsible either having implicit or explicit ownership of the buffer. |
EFI_SUCCESS | If Event is NULL (blocking I/O): The data was read correctly from the device. If Event is not NULL (asynchronous I/O): The request was successfully queued for processing. Event will be signaled upon completion. |
EFI_DEVICE_ERROR | The device reported an error while performing the write. |
EFI_NO_MEDIA | There is no medium in the device. |
EFI_MEDIA_CHNAGED | The MediaId is not for the current medium. |
EFI_INVALID_PARAMETER | The read request contains device addresses that are not valid for the device. |
EFI_OUT_OF_RESOURCES | The request could not be completed due to a lack of resources. |
typedef EFI_STATUS(EFIAPI * EFI_DISK_WRITE_EX) (IN EFI_DISK_IO2_PROTOCOL *This, IN UINT32 MediaId, IN UINT64 Offset, IN OUT EFI_DISK_IO2_TOKEN *Token, IN UINTN BufferSize, IN VOID *Buffer) |
Writes a specified number of bytes to a device.
This | Indicates a pointer to the calling context. |
MediaId | ID of the medium to be written. |
Offset | The starting byte offset on the logical block I/O device to write to. |
Token | A pointer to the token associated with the transaction. If this field is NULL, synchronous/blocking IO is performed. |
BufferSize | The size in bytes of Buffer. The number of bytes to write to the device. |
Buffer | A pointer to the buffer containing the data to be written. |
EFI_SUCCESS | If Event is NULL (blocking I/O): The data was written correctly to the device. If Event is not NULL (asynchronous I/O): The request was successfully queued for processing. Event will be signaled upon completion. |
EFI_WRITE_PROTECTED | The device cannot be written to. |
EFI_DEVICE_ERROR | The device reported an error while performing the write operation. |
EFI_NO_MEDIA | There is no medium in the device. |
EFI_MEDIA_CHNAGED | The MediaId is not for the current medium. |
EFI_INVALID_PARAMETER | The write request contains device addresses that are not valid for the device. |
EFI_OUT_OF_RESOURCES | The request could not be completed due to a lack of resources. |