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
27 // Include common header file for this module.
29 #include "CommonHeader.h"
31 #define DISK_IO_PRIVATE_DATA_SIGNATURE EFI_SIGNATURE_32 ('d', 's', 'k', 'I')
33 #define DATA_BUFFER_BLOCK_NUM (64)
37 EFI_DISK_IO_PROTOCOL DiskIo
;
38 EFI_BLOCK_IO_PROTOCOL
*BlockIo
;
39 } DISK_IO_PRIVATE_DATA
;
41 #define DISK_IO_PRIVATE_DATA_FROM_THIS(a) CR (a, DISK_IO_PRIVATE_DATA, DiskIo, DISK_IO_PRIVATE_DATA_SIGNATURE)
46 extern EFI_DRIVER_BINDING_PROTOCOL gDiskIoDriverBinding
;
47 extern EFI_COMPONENT_NAME_PROTOCOL gDiskIoComponentName
;
51 // Driver model protocol interface
55 DiskIoDriverBindingSupported (
56 IN EFI_DRIVER_BINDING_PROTOCOL
*This
,
57 IN EFI_HANDLE ControllerHandle
,
58 IN EFI_DEVICE_PATH_PROTOCOL
*RemainingDevicePath
63 DiskIoDriverBindingStart (
64 IN EFI_DRIVER_BINDING_PROTOCOL
*This
,
65 IN EFI_HANDLE ControllerHandle
,
66 IN EFI_DEVICE_PATH_PROTOCOL
*RemainingDevicePath
71 DiskIoDriverBindingStop (
72 IN EFI_DRIVER_BINDING_PROTOCOL
*This
,
73 IN EFI_HANDLE ControllerHandle
,
74 IN UINTN NumberOfChildren
,
75 IN EFI_HANDLE
*ChildHandleBuffer
79 // Disk I/O Protocol Interface
84 IN EFI_DISK_IO_PROTOCOL
*This
,
94 IN EFI_DISK_IO_PROTOCOL
*This
,
102 // EFI Component Name Functions
106 DiskIoComponentNameGetDriverName (
107 IN EFI_COMPONENT_NAME_PROTOCOL
*This
,
109 OUT CHAR16
**DriverName
114 DiskIoComponentNameGetControllerName (
115 IN EFI_COMPONENT_NAME_PROTOCOL
*This
,
116 IN EFI_HANDLE ControllerHandle
,
117 IN EFI_HANDLE ChildHandle OPTIONAL
,
119 OUT CHAR16
**ControllerName