]> git.proxmox.com Git - mirror_edk2.git/blob - MdeModulePkg/Universal/iScsi/IScsiConfig.h
fixed icc build bug
[mirror_edk2.git] / MdeModulePkg / Universal / iScsi / IScsiConfig.h
1 /*++
2
3 Copyright (c) 2007 Intel Corporation. All rights reserved
4 This software and associated documentation (if any) is furnished
5 under a license and may only be used or copied in accordance
6 with the terms of the license. Except as permitted by such
7 license, no part of this software or documentation may be
8 reproduced, stored in a retrieval system, or transmitted in any
9 form or by any means without the express written consent of
10 Intel Corporation.
11
12 Module Name:
13
14 IScsiConfig.h
15
16 Abstract:
17
18
19 --*/
20
21 #ifndef _ISCSI_CONFIG_H_
22 #define _ISCSI_CONFIG_H_
23
24 #include <Library/HiiLib.h>
25 #include <Library/IfrSupportLib.h>
26 #include <Library/DebugLib.h>
27 #include <Library/BaseLib.h>
28 #include <Library/NetLib.h>
29 #include "IScsiConfigNVDataStruc.h"
30
31 extern UINT8 IScsiConfigDxeBin[];
32 extern UINT8 iSCSIStrings[];
33
34 #define ISCSI_INITATOR_NAME_VAR_NAME L"I_NAME"
35
36 #define ISCSI_CONFIG_VAR_ATTR (EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_NON_VOLATILE)
37
38 #define ISCSI_FORM_CALLBACK_INFO_SIGNATURE EFI_SIGNATURE_32 ('I', 'f', 'c', 'i')
39
40 #define ISCSI_FORM_CALLBACK_INFO_FROM_FORM_CALLBACK(Callback) \
41 CR ( \
42 Callback, \
43 ISCSI_FORM_CALLBACK_INFO, \
44 ConfigAccess, \
45 ISCSI_FORM_CALLBACK_INFO_SIGNATURE \
46 )
47
48 #pragma pack(1)
49
50 typedef struct _ISCSI_MAC_INFO {
51 EFI_MAC_ADDRESS Mac;
52 UINT8 Len;
53 } ISCSI_MAC_INFO;
54
55 typedef struct _ISCSI_DEVICE_LIST {
56 UINT8 NumDevice;
57 ISCSI_MAC_INFO MacInfo[1];
58 } ISCSI_DEVICE_LIST;
59
60 #pragma pack()
61
62 typedef struct _ISCSI_CONFIG_FORM_ENTRY {
63 NET_LIST_ENTRY Link;
64 EFI_HANDLE Controller;
65 CHAR16 MacString[95];
66 STRING_REF PortTitleToken;
67 STRING_REF PortTitleHelpToken;
68
69 ISCSI_SESSION_CONFIG_NVDATA SessionConfigData;
70 ISCSI_CHAP_AUTH_CONFIG_NVDATA AuthConfigData;
71 } ISCSI_CONFIG_FORM_ENTRY;
72
73 typedef struct _ISCSI_FORM_CALLBACK_INFO {
74 UINTN Signature;
75 EFI_HANDLE DriverHandle;
76 EFI_HII_CONFIG_ACCESS_PROTOCOL ConfigAccess;
77 EFI_HII_DATABASE_PROTOCOL *HiiDatabase;
78 EFI_HII_CONFIG_ROUTING_PROTOCOL *ConfigRouting;
79 UINT16 *KeyList;
80 VOID *FormBuffer;
81 EFI_HII_HANDLE RegisteredHandle;
82 ISCSI_CONFIG_FORM_ENTRY *Current;
83 } ISCSI_FORM_CALLBACK_INFO;
84
85 EFI_STATUS
86 IScsiConfigUpdateForm (
87 IN EFI_HANDLE DriverBindingHandle,
88 IN EFI_HANDLE Controller,
89 IN BOOLEAN AddForm
90 );
91
92 EFI_STATUS
93 IScsiConfigFormInit (
94 IN EFI_HANDLE DriverBindingHandle
95 );
96
97 EFI_STATUS
98 IScsiConfigFormUnload (
99 IN EFI_HANDLE DriverBindingHandle
100 );
101
102 #endif