3 Copyright (c) 2006, Intel Corporation
4 All rights reserved. This program and the accompanying materials
5 are licensed and made available under the terms and conditions of the BSD License
6 which accompanies this distribution. The full text of the license may be found at
7 http://opensource.org/licenses/bsd-license.php
9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
17 Private Data definition for Disk IO driver
26 #define DISK_IO_PRIVATE_DATA_SIGNATURE EFI_SIGNATURE_32 ('d', 's', 'k', 'I')
28 #define DATA_BUFFER_BLOCK_NUM (64)
32 EFI_DISK_IO_PROTOCOL DiskIo
;
33 EFI_BLOCK_IO_PROTOCOL
*BlockIo
;
34 } DISK_IO_PRIVATE_DATA
;
36 #define DISK_IO_PRIVATE_DATA_FROM_THIS(a) CR (a, DISK_IO_PRIVATE_DATA, DiskIo, DISK_IO_PRIVATE_DATA_SIGNATURE)
41 extern EFI_DRIVER_BINDING_PROTOCOL gDiskIoDriverBinding
;
42 extern EFI_COMPONENT_NAME_PROTOCOL gDiskIoComponentName
;
46 // Driver model protocol interface
50 DiskIoDriverBindingSupported (
51 IN EFI_DRIVER_BINDING_PROTOCOL
*This
,
52 IN EFI_HANDLE ControllerHandle
,
53 IN EFI_DEVICE_PATH_PROTOCOL
*RemainingDevicePath
58 DiskIoDriverBindingStart (
59 IN EFI_DRIVER_BINDING_PROTOCOL
*This
,
60 IN EFI_HANDLE ControllerHandle
,
61 IN EFI_DEVICE_PATH_PROTOCOL
*RemainingDevicePath
66 DiskIoDriverBindingStop (
67 IN EFI_DRIVER_BINDING_PROTOCOL
*This
,
68 IN EFI_HANDLE ControllerHandle
,
69 IN UINTN NumberOfChildren
,
70 IN EFI_HANDLE
*ChildHandleBuffer
74 // Disk I/O Protocol Interface
79 IN EFI_DISK_IO_PROTOCOL
*This
,
89 IN EFI_DISK_IO_PROTOCOL
*This
,
97 // EFI Component Name Functions
101 DiskIoComponentNameGetDriverName (
102 IN EFI_COMPONENT_NAME_PROTOCOL
*This
,
104 OUT CHAR16
**DriverName
109 DiskIoComponentNameGetControllerName (
110 IN EFI_COMPONENT_NAME_PROTOCOL
*This
,
111 IN EFI_HANDLE ControllerHandle
,
112 IN EFI_HANDLE ChildHandle OPTIONAL
,
114 OUT CHAR16
**ControllerName