]> git.proxmox.com Git - mirror_edk2.git/blame - MdeModulePkg/Universal/iScsi/IScsiDriver.h
Comment out the IntelFrameworkModulePkg/Universal/DriverSampleDxe/DriverSampleDxe...
[mirror_edk2.git] / MdeModulePkg / Universal / iScsi / IScsiDriver.h
CommitLineData
6a690e23 1/*++\r
2\r
3Copyright (c) 2007 Intel Corporation. All rights reserved\r
4This software and associated documentation (if any) is furnished\r
5under a license and may only be used or copied in accordance\r
6with the terms of the license. Except as permitted by such\r
7license, no part of this software or documentation may be\r
8reproduced, stored in a retrieval system, or transmitted in any\r
9form or by any means without the express written consent of\r
10Intel Corporation.\r
11\r
12Module Name:\r
13\r
14 IScsiDriver.h\r
15\r
16Abstract:\r
17\r
18--*/\r
19\r
20#ifndef _ISCSI_DRIVER_H_\r
21#define _ISCSI_DRIVER_H_\r
22\r
23#include <PiDxe.h>\r
24#include <Protocol/DevicePath.h>\r
25#include <Protocol/LoadedImage.h>\r
26#include <Library/UefiDriverEntryPoint.h>\r
27#include <Library/UefiBootServicesTableLib.h>\r
28#include <Library/UefiLib.h>\r
29#include <Library/DevicePathLib.h>\r
30#include <protocol/DriverBinding.h>\r
31#include <protocol/ScsiPassThruExt.h>\r
32#include <protocol/IScsiInitiatorName.h>\r
33#include <protocol/Ip4Config.h>\r
34#include <protocol/ComponentName.h>\r
35#include <protocol/ComponentName2.h>\r
36\r
37#define ISCSI_PRIVATE_GUID \\r
38 { \\r
39 0xfa3cde4c, 0x87c2, 0x427d, 0xae, 0xde, 0x7d, 0xd0, 0x96, 0xc8, 0x8c, 0x58 \\r
40 }\r
41\r
42#define ISCSI_INITIATOR_NAME_VAR_NAME L"I_NAME"\r
43\r
44extern EFI_COMPONENT_NAME2_PROTOCOL gIScsiComponentName2;\r
45extern EFI_COMPONENT_NAME_PROTOCOL gIScsiComponentName;\r
46\r
47extern EFI_ISCSI_INITIATOR_NAME_PROTOCOL gIScsiInitiatorName;\r
48\r
49extern EFI_GUID mIScsiPrivateGuid;\r
50\r
51typedef struct _ISCSI_PRIVATE_PROTOCOL {\r
52 UINT32 Reserved;\r
53} ISCSI_PRIVATE_PROTOCOL;\r
54\r
55//\r
56// EFI Driver Binding Protocol for iSCSI driver.\r
57//\r
58EFI_STATUS\r
59EFIAPI\r
60IScsiDriverBindingSupported (\r
61 IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
62 IN EFI_HANDLE ControllerHandle,\r
63 IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath OPTIONAL\r
64 );\r
65\r
66EFI_STATUS\r
67EFIAPI\r
68IScsiDriverBindingStart (\r
69 IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
70 IN EFI_HANDLE ControllerHandle,\r
71 IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath OPTIONAL\r
72 );\r
73\r
74EFI_STATUS\r
75EFIAPI\r
76IScsiDriverBindingStop (\r
77 IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
78 IN EFI_HANDLE ControllerHandle,\r
79 IN UINTN NumberOfChildren,\r
80 IN EFI_HANDLE *ChildHandleBuffer\r
81 );\r
82\r
83//\r
84// EFI Component Name Protocol for iSCSI driver.\r
85//\r
86EFI_STATUS\r
87EFIAPI\r
88IScsiComponentNameGetDriverName (\r
89 IN EFI_COMPONENT_NAME_PROTOCOL *This,\r
90 IN CHAR8 *Language,\r
91 OUT CHAR16 **DriverName\r
92 );\r
93\r
94EFI_STATUS\r
95EFIAPI\r
96IScsiComponentNameGetControllerName (\r
97 IN EFI_COMPONENT_NAME_PROTOCOL *This,\r
98 IN EFI_HANDLE ControllerHandle,\r
99 IN EFI_HANDLE ChildHandle OPTIONAL,\r
100 IN CHAR8 *Language,\r
101 OUT CHAR16 **ControllerName\r
102 );\r
103\r
104//\r
105// EFI iSCSI Initiator Name Protocol for iSCSI driver.\r
106//\r
107EFI_STATUS\r
108EFIAPI\r
109IScsiGetInitiatorName (\r
110 IN EFI_ISCSI_INITIATOR_NAME_PROTOCOL *This,\r
111 IN OUT UINTN *BufferSize,\r
112 OUT VOID *Buffer\r
113 );\r
114\r
115EFI_STATUS\r
116EFIAPI\r
117IScsiSetInitiatorName (\r
118 IN EFI_ISCSI_INITIATOR_NAME_PROTOCOL *This,\r
119 IN OUT UINTN *BufferSize,\r
120 OUT VOID *Buffer\r
121 );\r
122\r
123#endif\r