]> git.proxmox.com Git - mirror_edk2.git/blob - MdeModulePkg/Universal/Network/IScsiDxe/IScsiConfig.h
c3c664d449293eb3c52c72aabf3d262e97ec23f8
[mirror_edk2.git] / MdeModulePkg / Universal / Network / IScsiDxe / IScsiConfig.h
1 /*++
2
3 Copyright (c) 2004 - 2007, 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
8
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.
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/ExtendedHiiLib.h>
26 #include <Library/IfrSupportLib.h>
27 #include <Library/ExtendedIfrSupportLib.h>
28 #include <Library/DebugLib.h>
29 #include <Library/BaseLib.h>
30 #include <Library/NetLib.h>
31 #include "IScsiConfigNVDataStruc.h"
32
33 extern UINT8 IScsiConfigDxeBin[];
34 extern UINT8 IScsiDxeStrings[];
35
36 #define ISCSI_INITATOR_NAME_VAR_NAME L"I_NAME"
37
38 #define ISCSI_CONFIG_VAR_ATTR (EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_NON_VOLATILE)
39
40 #define ISCSI_FORM_CALLBACK_INFO_SIGNATURE EFI_SIGNATURE_32 ('I', 'f', 'c', 'i')
41
42 #define ISCSI_FORM_CALLBACK_INFO_FROM_FORM_CALLBACK(Callback) \
43 CR ( \
44 Callback, \
45 ISCSI_FORM_CALLBACK_INFO, \
46 ConfigAccess, \
47 ISCSI_FORM_CALLBACK_INFO_SIGNATURE \
48 )
49
50 #pragma pack(1)
51
52 typedef struct _ISCSI_MAC_INFO {
53 EFI_MAC_ADDRESS Mac;
54 UINT8 Len;
55 } ISCSI_MAC_INFO;
56
57 typedef struct _ISCSI_DEVICE_LIST {
58 UINT8 NumDevice;
59 ISCSI_MAC_INFO MacInfo[1];
60 } ISCSI_DEVICE_LIST;
61
62 #pragma pack()
63
64 typedef struct _ISCSI_CONFIG_FORM_ENTRY {
65 LIST_ENTRY Link;
66 EFI_HANDLE Controller;
67 CHAR16 MacString[95];
68 STRING_REF PortTitleToken;
69 STRING_REF PortTitleHelpToken;
70
71 ISCSI_SESSION_CONFIG_NVDATA SessionConfigData;
72 ISCSI_CHAP_AUTH_CONFIG_NVDATA AuthConfigData;
73 } ISCSI_CONFIG_FORM_ENTRY;
74
75 typedef struct _ISCSI_FORM_CALLBACK_INFO {
76 UINTN Signature;
77 EFI_HANDLE DriverHandle;
78 EFI_HII_CONFIG_ACCESS_PROTOCOL ConfigAccess;
79 EFI_HII_DATABASE_PROTOCOL *HiiDatabase;
80 EFI_HII_CONFIG_ROUTING_PROTOCOL *ConfigRouting;
81 UINT16 *KeyList;
82 VOID *FormBuffer;
83 EFI_HII_HANDLE RegisteredHandle;
84 ISCSI_CONFIG_FORM_ENTRY *Current;
85 } ISCSI_FORM_CALLBACK_INFO;
86
87 EFI_STATUS
88 IScsiConfigUpdateForm (
89 IN EFI_HANDLE DriverBindingHandle,
90 IN EFI_HANDLE Controller,
91 IN BOOLEAN AddForm
92 );
93
94 EFI_STATUS
95 IScsiConfigFormInit (
96 IN EFI_HANDLE DriverBindingHandle
97 );
98
99 EFI_STATUS
100 IScsiConfigFormUnload (
101 IN EFI_HANDLE DriverBindingHandle
102 );
103
104 #endif