]> git.proxmox.com Git - mirror_edk2.git/blame - EdkModulePkg/Universal/Disk/DiskIo/Dxe/DiskIo.h
Make EdkModulePkg pass Intel IPF compiler with /W4 /WX switches, solving warning...
[mirror_edk2.git] / EdkModulePkg / Universal / Disk / DiskIo / Dxe / DiskIo.h
CommitLineData
878ddf1f 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#define DISK_IO_PRIVATE_DATA_SIGNATURE EFI_SIGNATURE_32 ('d', 's', 'k', 'I')\r
27\r
28#define DATA_BUFFER_BLOCK_NUM (64)\r
29\r
30typedef struct {\r
31 UINTN Signature;\r
32 EFI_DISK_IO_PROTOCOL DiskIo;\r
33 EFI_BLOCK_IO_PROTOCOL *BlockIo;\r
34} DISK_IO_PRIVATE_DATA;\r
35\r
36#define DISK_IO_PRIVATE_DATA_FROM_THIS(a) CR (a, DISK_IO_PRIVATE_DATA, DiskIo, DISK_IO_PRIVATE_DATA_SIGNATURE)\r
37\r
38//\r
39// Global Variables\r
40//\r
41extern EFI_DRIVER_BINDING_PROTOCOL gDiskIoDriverBinding;\r
42extern EFI_COMPONENT_NAME_PROTOCOL gDiskIoComponentName;\r
43\r
92dda53e 44//\r
45// Prototypes\r
46// Driver model protocol interface\r
47//\r
48EFI_STATUS\r
49EFIAPI\r
50DiskIoDriverBindingSupported (\r
51 IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
52 IN EFI_HANDLE ControllerHandle,\r
53 IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath\r
54 );\r
55\r
56EFI_STATUS\r
57EFIAPI\r
58DiskIoDriverBindingStart (\r
59 IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
60 IN EFI_HANDLE ControllerHandle,\r
61 IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath\r
62 );\r
63\r
64EFI_STATUS\r
65EFIAPI\r
66DiskIoDriverBindingStop (\r
67 IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
68 IN EFI_HANDLE ControllerHandle,\r
69 IN UINTN NumberOfChildren,\r
70 IN EFI_HANDLE *ChildHandleBuffer\r
71 );\r
72\r
73//\r
74// Disk I/O Protocol Interface\r
75//\r
76EFI_STATUS\r
77EFIAPI\r
78DiskIoReadDisk (\r
79 IN EFI_DISK_IO_PROTOCOL *This,\r
80 IN UINT32 MediaId,\r
81 IN UINT64 Offset,\r
82 IN UINTN BufferSize,\r
83 OUT VOID *Buffer\r
84 );\r
85\r
86EFI_STATUS\r
87EFIAPI\r
88DiskIoWriteDisk (\r
89 IN EFI_DISK_IO_PROTOCOL *This,\r
90 IN UINT32 MediaId,\r
91 IN UINT64 Offset,\r
92 IN UINTN BufferSize,\r
93 IN VOID *Buffer\r
94 );\r
95\r
96//\r
97// EFI Component Name Functions\r
98//\r
99EFI_STATUS\r
100EFIAPI\r
101DiskIoComponentNameGetDriverName (\r
102 IN EFI_COMPONENT_NAME_PROTOCOL *This,\r
103 IN CHAR8 *Language,\r
104 OUT CHAR16 **DriverName\r
105 );\r
106\r
107EFI_STATUS\r
108EFIAPI\r
109DiskIoComponentNameGetControllerName (\r
110 IN EFI_COMPONENT_NAME_PROTOCOL *This,\r
111 IN EFI_HANDLE ControllerHandle,\r
112 IN EFI_HANDLE ChildHandle OPTIONAL,\r
113 IN CHAR8 *Language,\r
114 OUT CHAR16 **ControllerName\r
115 );\r
116\r
878ddf1f 117#endif\r