Master header file for DiskIo driver. It includes the module private defininitions.\r
\r
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r
-This program and the accompanying materials\r
-are licensed and made available under the terms and conditions of the BSD License\r
-which accompanies this distribution. The full text of the license may be found at\r
-http://opensource.org/licenses/bsd-license.php\r
-\r
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+SPDX-License-Identifier: BSD-2-Clause-Patent\r
\r
**/\r
\r
\r
#define DISK_IO_PRIVATE_DATA_SIGNATURE SIGNATURE_32 ('d', 's', 'k', 'I')\r
typedef struct {\r
- UINT32 Signature;\r
+ UINT32 Signature;\r
\r
- EFI_DISK_IO_PROTOCOL DiskIo;\r
- EFI_DISK_IO2_PROTOCOL DiskIo2;\r
- EFI_BLOCK_IO_PROTOCOL *BlockIo;\r
- EFI_BLOCK_IO2_PROTOCOL *BlockIo2;\r
+ EFI_DISK_IO_PROTOCOL DiskIo;\r
+ EFI_DISK_IO2_PROTOCOL DiskIo2;\r
+ EFI_BLOCK_IO_PROTOCOL *BlockIo;\r
+ EFI_BLOCK_IO2_PROTOCOL *BlockIo2;\r
\r
- UINT8 *SharedWorkingBuffer;\r
+ UINT8 *SharedWorkingBuffer;\r
\r
- EFI_LOCK TaskQueueLock;\r
- LIST_ENTRY TaskQueue;\r
+ EFI_LOCK TaskQueueLock;\r
+ LIST_ENTRY TaskQueue;\r
} DISK_IO_PRIVATE_DATA;\r
-#define DISK_IO_PRIVATE_DATA_FROM_DISK_IO(a) CR (a, DISK_IO_PRIVATE_DATA, DiskIo, DISK_IO_PRIVATE_DATA_SIGNATURE)\r
-#define DISK_IO_PRIVATE_DATA_FROM_DISK_IO2(a) CR (a, DISK_IO_PRIVATE_DATA, DiskIo2, DISK_IO_PRIVATE_DATA_SIGNATURE)\r
+#define DISK_IO_PRIVATE_DATA_FROM_DISK_IO(a) CR (a, DISK_IO_PRIVATE_DATA, DiskIo, DISK_IO_PRIVATE_DATA_SIGNATURE)\r
+#define DISK_IO_PRIVATE_DATA_FROM_DISK_IO2(a) CR (a, DISK_IO_PRIVATE_DATA, DiskIo2, DISK_IO_PRIVATE_DATA_SIGNATURE)\r
\r
-#define DISK_IO2_TASK_SIGNATURE SIGNATURE_32 ('d', 'i', 'a', 't')\r
+#define DISK_IO2_TASK_SIGNATURE SIGNATURE_32 ('d', 'i', 'a', 't')\r
typedef struct {\r
- UINT32 Signature;\r
- LIST_ENTRY Link; /// < link to other task\r
- EFI_LOCK SubtasksLock;\r
- LIST_ENTRY Subtasks; /// < header of subtasks\r
- EFI_DISK_IO2_TOKEN *Token;\r
- DISK_IO_PRIVATE_DATA *Instance;\r
+ UINT32 Signature;\r
+ LIST_ENTRY Link; /// < link to other task\r
+ EFI_LOCK SubtasksLock;\r
+ LIST_ENTRY Subtasks; /// < header of subtasks\r
+ EFI_DISK_IO2_TOKEN *Token;\r
+ DISK_IO_PRIVATE_DATA *Instance;\r
} DISK_IO2_TASK;\r
\r
-#define DISK_IO2_FLUSH_TASK_SIGNATURE SIGNATURE_32 ('d', 'i', 'f', 't')\r
+#define DISK_IO2_FLUSH_TASK_SIGNATURE SIGNATURE_32 ('d', 'i', 'f', 't')\r
typedef struct {\r
- UINT32 Signature;\r
- EFI_BLOCK_IO2_TOKEN BlockIo2Token;\r
- EFI_DISK_IO2_TOKEN *Token;\r
+ UINT32 Signature;\r
+ EFI_BLOCK_IO2_TOKEN BlockIo2Token;\r
+ EFI_DISK_IO2_TOKEN *Token;\r
} DISK_IO2_FLUSH_TASK;\r
\r
-#define DISK_IO_SUBTASK_SIGNATURE SIGNATURE_32 ('d', 'i', 's', 't')\r
+#define DISK_IO_SUBTASK_SIGNATURE SIGNATURE_32 ('d', 'i', 's', 't')\r
typedef struct {\r
//\r
// UnderRun: Offset != 0, Length < BlockSize\r
// OverRun: Offset == 0, Length < BlockSize\r
// Middle: Offset is block aligned, Length is multiple of block size\r
//\r
- UINT32 Signature;\r
- LIST_ENTRY Link;\r
- BOOLEAN Write;\r
- UINT64 Lba;\r
- UINT32 Offset;\r
- UINTN Length;\r
- UINT8 *WorkingBuffer; /// < NULL indicates using "Buffer" directly\r
- UINT8 *Buffer;\r
- BOOLEAN Blocking;\r
+ UINT32 Signature;\r
+ LIST_ENTRY Link;\r
+ BOOLEAN Write;\r
+ UINT64 Lba;\r
+ UINT32 Offset;\r
+ UINTN Length;\r
+ UINT8 *WorkingBuffer; /// < NULL indicates using "Buffer" directly\r
+ UINT8 *Buffer;\r
+ BOOLEAN Blocking;\r
\r
//\r
// Following fields are for DiskIo2\r
//\r
- DISK_IO2_TASK *Task;\r
- EFI_BLOCK_IO2_TOKEN BlockIo2Token;\r
+ DISK_IO2_TASK *Task;\r
+ EFI_BLOCK_IO2_TOKEN BlockIo2Token;\r
} DISK_IO_SUBTASK;\r
\r
//\r
// Prototypes\r
// Driver model protocol interface\r
//\r
+\r
/**\r
Test to see if this driver supports ControllerHandle.\r
\r
EFI_STATUS\r
EFIAPI\r
DiskIoDriverBindingStop (\r
- IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
- IN EFI_HANDLE ControllerHandle,\r
- IN UINTN NumberOfChildren,\r
- IN EFI_HANDLE *ChildHandleBuffer\r
+ IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
+ IN EFI_HANDLE ControllerHandle,\r
+ IN UINTN NumberOfChildren,\r
+ IN EFI_HANDLE *ChildHandleBuffer\r
);\r
\r
//\r
// Disk I/O Protocol Interface\r
//\r
+\r
/**\r
Read BufferSize bytes from Offset into Buffer.\r
Reads may support reads that are not aligned on\r
IN VOID *Buffer\r
);\r
\r
-\r
/**\r
Terminate outstanding asynchronous requests to a device.\r
\r
EFI_STATUS\r
EFIAPI\r
DiskIo2Cancel (\r
- IN EFI_DISK_IO2_PROTOCOL *This\r
+ IN EFI_DISK_IO2_PROTOCOL *This\r
);\r
\r
/**\r
EFI_STATUS\r
EFIAPI\r
DiskIo2ReadDiskEx (\r
- IN EFI_DISK_IO2_PROTOCOL *This,\r
- IN UINT32 MediaId,\r
- IN UINT64 Offset,\r
- IN OUT EFI_DISK_IO2_TOKEN *Token,\r
- IN UINTN BufferSize,\r
- OUT VOID *Buffer\r
+ IN EFI_DISK_IO2_PROTOCOL *This,\r
+ IN UINT32 MediaId,\r
+ IN UINT64 Offset,\r
+ IN OUT EFI_DISK_IO2_TOKEN *Token,\r
+ IN UINTN BufferSize,\r
+ OUT VOID *Buffer\r
);\r
\r
/**\r
EFI_STATUS\r
EFIAPI\r
DiskIo2WriteDiskEx (\r
- IN EFI_DISK_IO2_PROTOCOL *This,\r
- IN UINT32 MediaId,\r
- IN UINT64 Offset,\r
- IN EFI_DISK_IO2_TOKEN *Token,\r
- IN UINTN BufferSize,\r
- IN VOID *Buffer\r
+ IN EFI_DISK_IO2_PROTOCOL *This,\r
+ IN UINT32 MediaId,\r
+ IN UINT64 Offset,\r
+ IN EFI_DISK_IO2_TOKEN *Token,\r
+ IN UINTN BufferSize,\r
+ IN VOID *Buffer\r
);\r
\r
/**\r
EFI_STATUS\r
EFIAPI\r
DiskIo2FlushDiskEx (\r
- IN EFI_DISK_IO2_PROTOCOL *This,\r
- IN OUT EFI_DISK_IO2_TOKEN *Token\r
+ IN EFI_DISK_IO2_PROTOCOL *This,\r
+ IN OUT EFI_DISK_IO2_TOKEN *Token\r
);\r
\r
//\r
// EFI Component Name Functions\r
//\r
+\r
/**\r
Retrieves a Unicode string that is the user readable name of the driver.\r
\r
OUT CHAR16 **DriverName\r
);\r
\r
-\r
/**\r
Retrieves a Unicode string that is the user readable name of the controller\r
that is being managed by a driver.\r
EFI_STATUS\r
EFIAPI\r
DiskIoComponentNameGetControllerName (\r
- IN EFI_COMPONENT_NAME_PROTOCOL *This,\r
- IN EFI_HANDLE ControllerHandle,\r
- IN EFI_HANDLE ChildHandle OPTIONAL,\r
- IN CHAR8 *Language,\r
- OUT CHAR16 **ControllerName\r
+ IN EFI_COMPONENT_NAME_PROTOCOL *This,\r
+ IN EFI_HANDLE ControllerHandle,\r
+ IN EFI_HANDLE ChildHandle OPTIONAL,\r
+ IN CHAR8 *Language,\r
+ OUT CHAR16 **ControllerName\r
);\r
\r
-\r
#endif\r