]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Universal/Network/IScsiDxe/IScsiDhcp.h
For network dynamic media support:
[mirror_edk2.git] / MdeModulePkg / Universal / Network / IScsiDxe / IScsiDhcp.h
index 73f1a8d27ce0010c08f81c4cce1b5e1b6baafeee..eefc5b37a8320b3fb48a1b6fea46f1fb19c05f14 100644 (file)
@@ -1,6 +1,7 @@
-/*++\r
+/** @file\r
+  The header file of IScsiDhcp.\r
 \r
-Copyright (c) 2004 - 2007, Intel Corporation\r
+Copyright (c) 2004 - 2010, Intel Corporation.<BR>\r
 All rights reserved. This program and the accompanying materials\r
 are licensed and made available under the terms and conditions of the BSD License\r
 which accompanies this distribution.  The full text of the license may be found at\r
@@ -9,18 +10,12 @@ http://opensource.org/licenses/bsd-license.php
 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
 \r
-Module Name:\r
-\r
-  IScsiDhcp.h\r
-\r
-Abstract:\r
-\r
---*/\r
+**/\r
 \r
 #ifndef _ISCSI_DHCP_H_\r
 #define _ISCSI_DHCP_H_\r
 \r
-#include <protocol/Dhcp4.h>\r
+#include <Protocol/Dhcp4.h>\r
 \r
 #define DHCP4_TAG_PARA_LIST             55\r
 #define DHCP4_TAG_NETMASK               1\r
@@ -31,25 +26,36 @@ Abstract:
 #define ISCSI_ROOT_PATH_ID              "iscsi:"\r
 #define ISCSI_ROOT_PATH_FIELD_DELIMITER ':'\r
 \r
-enum {\r
-  RP_FIELD_IDX_SERVERNAME = 0,\r
-  RP_FIELD_IDX_PROTOCOL,\r
-  RP_FIELD_IDX_PORT,\r
-  RP_FIELD_IDX_LUN,\r
-  RP_FIELD_IDX_TARGETNAME,\r
-  RP_FIELD_IDX_MAX\r
-};\r
+#define RP_FIELD_IDX_SERVERNAME         0\r
+#define RP_FIELD_IDX_PROTOCOL           1\r
+#define RP_FIELD_IDX_PORT               2\r
+#define RP_FIELD_IDX_LUN                3\r
+#define RP_FIELD_IDX_TARGETNAME         4\r
+#define RP_FIELD_IDX_MAX                5\r
 \r
 typedef struct _ISCSI_ROOT_PATH_FIELD {\r
   CHAR8 *Str;\r
   UINT8 Len;\r
 } ISCSI_ROOT_PATH_FIELD;\r
 \r
+/**\r
+  Parse the DHCP ACK to get the address configuration and DNS information.\r
+  \r
+  @param[in]       Image            The handle of the driver image.\r
+  @param[in]       Controller       The handle of the controller;\r
+  @param[in, out]  ConfigData       The session configuration data.\r
+\r
+  @retval EFI_SUCCESS           The DNS information is got from the DHCP ACK.\r
+  @retval EFI_OUT_OF_RESOURCES  Failed to allocate memory.\r
+  @retval EFI_NO_MEDIA          There was a media error.\r
+  @retval Others                Other errors as indicated.\r
+\r
+**/\r
 EFI_STATUS\r
 IScsiDoDhcp (\r
-  IN EFI_HANDLE                 Image,\r
-  IN EFI_HANDLE                 Controller,\r
-  IN ISCSI_SESSION_CONFIG_DATA  *ConfigData\r
+  IN     EFI_HANDLE                 Image,\r
+  IN     EFI_HANDLE                 Controller,\r
+  IN OUT ISCSI_SESSION_CONFIG_DATA  *ConfigData\r
   );\r
 \r
 #endif\r