]> git.proxmox.com Git - mirror_edk2.git/blame - MdeModulePkg/Universal/Disk/DiskIo/Dxe/DiskIo.h
add modules DiskIo, Partition and SecurityStub.
[mirror_edk2.git] / MdeModulePkg / Universal / Disk / DiskIo / Dxe / DiskIo.h
CommitLineData
79840ee1 1/*++\r
2\r
3Copyright (c) 2006, Intel Corporation \r
4All rights reserved. This program and the accompanying materials \r
5are licensed and made available under the terms and conditions of the BSD License \r
6which accompanies this distribution. The full text of the license may be found at \r
7http://opensource.org/licenses/bsd-license.php \r
8 \r
9THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
10WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
11\r
12Module Name:\r
13\r
14 DiskIo.h\r
15 \r
16Abstract:\r
17 Private Data definition for Disk IO driver\r
18\r
19--*/\r
20\r
21#ifndef _DISK_IO_H\r
22#define _DISK_IO_H\r
23\r
24\r
25\r
26//\r
27// Include common header file for this module.\r
28//\r
29#include "CommonHeader.h"\r
30\r
31#define DISK_IO_PRIVATE_DATA_SIGNATURE EFI_SIGNATURE_32 ('d', 's', 'k', 'I')\r
32\r
33#define DATA_BUFFER_BLOCK_NUM (64)\r
34\r
35typedef struct {\r
36 UINTN Signature;\r
37 EFI_DISK_IO_PROTOCOL DiskIo;\r
38 EFI_BLOCK_IO_PROTOCOL *BlockIo;\r
39} DISK_IO_PRIVATE_DATA;\r
40\r
41#define DISK_IO_PRIVATE_DATA_FROM_THIS(a) CR (a, DISK_IO_PRIVATE_DATA, DiskIo, DISK_IO_PRIVATE_DATA_SIGNATURE)\r
42\r
43//\r
44// Global Variables\r
45//\r
46extern EFI_DRIVER_BINDING_PROTOCOL gDiskIoDriverBinding;\r
47extern EFI_COMPONENT_NAME_PROTOCOL gDiskIoComponentName;\r
48\r
49//\r
50// Prototypes\r
51// Driver model protocol interface\r
52//\r
53EFI_STATUS\r
54EFIAPI\r
55DiskIoDriverBindingSupported (\r
56 IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
57 IN EFI_HANDLE ControllerHandle,\r
58 IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath\r
59 );\r
60\r
61EFI_STATUS\r
62EFIAPI\r
63DiskIoDriverBindingStart (\r
64 IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
65 IN EFI_HANDLE ControllerHandle,\r
66 IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath\r
67 );\r
68\r
69EFI_STATUS\r
70EFIAPI\r
71DiskIoDriverBindingStop (\r
72 IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
73 IN EFI_HANDLE ControllerHandle,\r
74 IN UINTN NumberOfChildren,\r
75 IN EFI_HANDLE *ChildHandleBuffer\r
76 );\r
77\r
78//\r
79// Disk I/O Protocol Interface\r
80//\r
81EFI_STATUS\r
82EFIAPI\r
83DiskIoReadDisk (\r
84 IN EFI_DISK_IO_PROTOCOL *This,\r
85 IN UINT32 MediaId,\r
86 IN UINT64 Offset,\r
87 IN UINTN BufferSize,\r
88 OUT VOID *Buffer\r
89 );\r
90\r
91EFI_STATUS\r
92EFIAPI\r
93DiskIoWriteDisk (\r
94 IN EFI_DISK_IO_PROTOCOL *This,\r
95 IN UINT32 MediaId,\r
96 IN UINT64 Offset,\r
97 IN UINTN BufferSize,\r
98 IN VOID *Buffer\r
99 );\r
100\r
101//\r
102// EFI Component Name Functions\r
103//\r
104EFI_STATUS\r
105EFIAPI\r
106DiskIoComponentNameGetDriverName (\r
107 IN EFI_COMPONENT_NAME_PROTOCOL *This,\r
108 IN CHAR8 *Language,\r
109 OUT CHAR16 **DriverName\r
110 );\r
111\r
112EFI_STATUS\r
113EFIAPI\r
114DiskIoComponentNameGetControllerName (\r
115 IN EFI_COMPONENT_NAME_PROTOCOL *This,\r
116 IN EFI_HANDLE ControllerHandle,\r
117 IN EFI_HANDLE ChildHandle OPTIONAL,\r
118 IN CHAR8 *Language,\r
119 OUT CHAR16 **ControllerName\r
120 );\r
121\r
122#endif\r