summaryrefslogtreecommitdiff
path: root/MdeModulePkg/Universal/iScsi/IScsiDhcp.h
blob: 9312b547bd744b9462d66b143491528532b03400 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
/*++

Copyright (c)  2007 Intel Corporation. All rights reserved
This software and associated documentation (if any) is furnished
under a license and may only be used or copied in accordance
with the terms of the license. Except as permitted by such
license, no part of this software or documentation may be
reproduced, stored in a retrieval system, or transmitted in any
form or by any means without the express written consent of
Intel Corporation.

Module Name:

  IScsiDhcp.h

Abstract:

--*/

#ifndef _ISCSI_DHCP_H_
#define _ISCSI_DHCP_H_

//#include "Tiano.h"
//#include EFI_PROTOCOL_CONSUMER (Dhcp4)
#include "protocol\Dhcp4.h"

#define DHCP4_TAG_PARA_LIST             55
#define DHCP4_TAG_NETMASK               1
#define DHCP4_TAG_ROUTER                3
#define DHCP4_TAG_DNS                   6
#define DHCP4_TAG_SERVER_ID             54
#define DHCP4_TAG_ROOT_PATH             17
#define ISCSI_ROOT_PATH_ID              "iscsi:"
#define ISCSI_ROOT_PATH_FIELD_DELIMITER ':'

enum {
  RP_FIELD_IDX_SERVERNAME = 0,
  RP_FIELD_IDX_PROTOCOL,
  RP_FIELD_IDX_PORT,
  RP_FIELD_IDX_LUN,
  RP_FIELD_IDX_TARGETNAME,
  RP_FIELD_IDX_MAX
};

typedef struct _ISCSI_ROOT_PATH_FIELD {
  CHAR8 *Str;
  UINT8 Len;
} ISCSI_ROOT_PATH_FIELD;

EFI_STATUS
IScsiDoDhcp (
  IN EFI_HANDLE                 Image,
  IN EFI_HANDLE                 Controller,
  IN ISCSI_SESSION_CONFIG_DATA  *ConfigData
  );

#endif