]> git.proxmox.com Git - mirror_edk2.git/blobdiff - EdkModulePkg/Universal/Network/PxeDhcp4/Dxe/PxeDhcp4Setup.c
Retiring the ANT/JAVA build and removing the older EDK II packages that required...
[mirror_edk2.git] / EdkModulePkg / Universal / Network / PxeDhcp4 / Dxe / PxeDhcp4Setup.c
diff --git a/EdkModulePkg/Universal/Network/PxeDhcp4/Dxe/PxeDhcp4Setup.c b/EdkModulePkg/Universal/Network/PxeDhcp4/Dxe/PxeDhcp4Setup.c
deleted file mode 100644 (file)
index 88a66d5..0000000
+++ /dev/null
@@ -1,258 +0,0 @@
-/*++\r
-\r
-Copyright (c) 2006 - 2007, Intel Corporation                                                         \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
-http://opensource.org/licenses/bsd-license.php                                            \r
-                                                                                          \r
-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
-  PxeDhcp4Setup.c\r
-  \r
-Abstract:\r
-\r
---*/\r
-\r
-\r
-#include "PxeDhcp4.h"\r
-\r
-/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */\r
-EFI_STATUS\r
-EFIAPI\r
-PxeDhcp4Setup (\r
-  IN EFI_PXE_DHCP4_PROTOCOL *This,\r
-  IN EFI_PXE_DHCP4_DATA     *Data\r
-  )\r
-{\r
-  PXE_DHCP4_PRIVATE_DATA  *Private;\r
-  DHCP4_HEADER            *Packet;\r
-  EFI_STATUS              EfiStatus;\r
-  UINT8                   *OpLen;\r
-  UINT8                   *OpPtr;\r
-\r
-  //\r
-  // Return error if parameters are invalid.\r
-  //\r
-  if (This == NULL) {\r
-    return EFI_INVALID_PARAMETER;\r
-  }\r
-\r
-  Private = PXE_DHCP4_PRIVATE_DATA_FROM_THIS (This);\r
-\r
-  if (Private == NULL) {\r
-    return EFI_INVALID_PARAMETER;\r
-  }\r
-\r
-  if (This->Data != NULL) {\r
-    return EFI_ALREADY_STARTED;\r
-  }\r
-\r
-  if (Private->PxeBc == NULL) {\r
-    return EFI_DEVICE_ERROR;\r
-  }\r
-  //\r
-  // Check contents of provided Data structure.\r
-  //\r
-  if (Data != NULL) {\r
-    //\r
-    // Do protocol state checks first.\r
-    //\r
-    if (Data->SelectCompleted) {\r
-      if (!Data->InitCompleted || !Data->SetupCompleted) {\r
-        return EFI_INVALID_PARAMETER;\r
-      }\r
-\r
-      if (Data->IsBootp && !Data->IsAck) {\r
-        return EFI_INVALID_PARAMETER;\r
-      }\r
-    } else if (Data->InitCompleted) {\r
-      if (!Data->SetupCompleted || Data->IsBootp || Data->IsAck) {\r
-        return EFI_INVALID_PARAMETER;\r
-      }\r
-    } else if (Data->SetupCompleted) {\r
-      if (Data->IsBootp || Data->IsAck) {\r
-        return EFI_INVALID_PARAMETER;\r
-      }\r
-    }\r
-    //\r
-    // Do packet content checks.\r
-    //\r
-    if (Data->SetupCompleted) {\r
-      //\r
-      // %%TBD - check discover packet\r
-      //\r
-    }\r
-\r
-    if (Data->SelectCompleted) {\r
-      if (Data->IsBootp) {\r
-        //\r
-        // %%TBD - check offer packet\r
-        //\r
-        if (CompareMem (\r
-              &Data->Discover,\r
-              &Data->Request,\r
-              sizeof (DHCP4_PACKET)\r
-              )) {\r
-          return EFI_INVALID_PARAMETER;\r
-        }\r
-\r
-        if (CompareMem (\r
-              &Data->Offer,\r
-              &Data->AckNak,\r
-              sizeof (DHCP4_PACKET)\r
-              )) {\r
-          return EFI_INVALID_PARAMETER;\r
-        }\r
-      } else {\r
-        //\r
-        // %%TBD - check offer, request & acknak packets\r
-        //\r
-      }\r
-    }\r
-  }\r
-  //\r
-  // Allocate data structure.  Return error\r
-  // if there is not enough available memory.\r
-  //\r
-  This->Data = AllocatePool (sizeof (EFI_PXE_DHCP4_DATA));\r
-  if (This->Data == NULL) {\r
-    return EFI_OUT_OF_RESOURCES;\r
-  }\r
-  //\r
-  // Start PxeBc because we want to use its UdpWrite, UdpRead and\r
-  // SetFilter calls.\r
-  //\r
-  EfiStatus = Private->PxeBc->Start (Private->PxeBc, FALSE);\r
-\r
-  if (EFI_ERROR (EfiStatus)) {\r
-    if (EfiStatus != EFI_ALREADY_STARTED) {\r
-      FreePool (This->Data);\r
-      This->Data = NULL;\r
-      Private->PxeBc->Stop (Private->PxeBc);\r
-      return EfiStatus;\r
-    }\r
-\r
-    Private->StopPxeBc = FALSE;\r
-  } else {\r
-    Private->StopPxeBc = TRUE;\r
-  }\r
-  //\r
-  // Use new data.\r
-  //\r
-  if (Data != NULL) {\r
-    CopyMem (This->Data, Data, sizeof (EFI_PXE_DHCP4_DATA));\r
-    return EFI_SUCCESS;\r
-  }\r
-  //\r
-  // Initialize new public data structure.\r
-  //\r
-  ZeroMem (This->Data, sizeof (EFI_PXE_DHCP4_DATA));\r
-\r
-  //\r
-  // Fill in default DHCP discover packet.\r
-  // Check for MAC addresses of strange lengths, just in case.\r
-  //\r
-  Packet        = &This->Data->Discover.dhcp4;\r
-\r
-  Packet->op    = BOOTP_REQUEST;\r
-\r
-  Packet->htype = Private->Snp->Mode->IfType;\r
-\r
-  if (Private->Snp->Mode->HwAddressSize > 16) {\r
-    Packet->hlen = 16;\r
-  } else {\r
-    Packet->hlen = (UINT8) Private->Snp->Mode->HwAddressSize;\r
-  }\r
-\r
-  Packet->hops = 0; /* Set to zero per RFC 2131. */\r
-\r
-  if (Packet->hlen < sizeof Packet->xid) {\r
-    if (Packet->hlen != 0) {\r
-      CopyMem (\r
-        &Packet->xid,\r
-        &Private->Snp->Mode->CurrentAddress,\r
-        Packet->hlen\r
-        );\r
-    }\r
-  } else {\r
-    CopyMem (\r
-      &Packet->xid,\r
-      &Private->Snp->Mode->CurrentAddress.Addr[Packet->hlen - sizeof Packet->xid],\r
-      sizeof Packet->xid\r
-      );\r
-  }\r
-  //\r
-  // %%TBD - xid should be randomized\r
-  //\r
-  Packet->secs  = htons (DHCP4_INITIAL_SECONDS);\r
-\r
-  Packet->flags = htons (DHCP4_BROADCAST_FLAG);\r
-\r
-  if (Packet->hlen != 0) {\r
-    CopyMem (Packet->chaddr, &Private->Snp->Mode->CurrentAddress, Packet->hlen);\r
-  }\r
-\r
-  Packet->magik               = htonl (DHCP4_MAGIK_NUMBER);\r
-\r
-  OpPtr                       = Packet->options;\r
-\r
-  *OpPtr++                    = DHCP4_MESSAGE_TYPE;\r
-  *OpPtr++                    = 1;\r
-  *OpPtr++                    = DHCP4_MESSAGE_TYPE_DISCOVER;\r
-\r
-  *OpPtr++                    = DHCP4_MAX_MESSAGE_SIZE;\r
-  *OpPtr++                    = 2;\r
-  *OpPtr++                    = (UINT8) ((DHCP4_DEFAULT_MAX_MESSAGE_SIZE >> 8) & 0xFF);\r
-  *OpPtr++                    = (UINT8) (DHCP4_DEFAULT_MAX_MESSAGE_SIZE & 0xFF);\r
-\r
-  *OpPtr++                    = DHCP4_PARAMETER_REQUEST_LIST;\r
-  OpLen                       = OpPtr;\r
-  *OpPtr++                    = 0;\r
-  *OpPtr++                    = DHCP4_SUBNET_MASK;\r
-  *OpPtr++                    = DHCP4_TIME_OFFSET;\r
-  *OpPtr++                    = DHCP4_ROUTER_LIST;\r
-  *OpPtr++                    = DHCP4_TIME_SERVERS;\r
-  *OpPtr++                    = DHCP4_NAME_SERVERS;\r
-  *OpPtr++                    = DHCP4_DNS_SERVERS;\r
-  *OpPtr++                    = DHCP4_HOST_NAME;\r
-  *OpPtr++                    = DHCP4_BOOT_FILE_SIZE;\r
-  *OpPtr++                    = DHCP4_MESSAGE_TYPE;\r
-  *OpPtr++                    = DHCP4_DOMAIN_NAME;\r
-  *OpPtr++                    = DHCP4_ROOT_PATH;\r
-  *OpPtr++                    = DHCP4_EXTENSION_PATH;\r
-  *OpPtr++                    = DHCP4_MAX_DATAGRAM_SIZE;\r
-  *OpPtr++                    = DHCP4_DEFAULT_TTL;\r
-  *OpPtr++                    = DHCP4_BROADCAST_ADDRESS;\r
-  *OpPtr++                    = DHCP4_NIS_DOMAIN_NAME;\r
-  *OpPtr++                    = DHCP4_NIS_SERVERS;\r
-  *OpPtr++                    = DHCP4_NTP_SERVERS;\r
-  *OpPtr++                    = DHCP4_VENDOR_SPECIFIC;\r
-  *OpPtr++                    = DHCP4_REQUESTED_IP_ADDRESS;\r
-  *OpPtr++                    = DHCP4_LEASE_TIME;\r
-  *OpPtr++                    = DHCP4_SERVER_IDENTIFIER;\r
-  *OpPtr++                    = DHCP4_RENEWAL_TIME;\r
-  *OpPtr++                    = DHCP4_REBINDING_TIME;\r
-  *OpPtr++                    = DHCP4_CLASS_IDENTIFIER;\r
-  *OpPtr++                    = DHCP4_TFTP_SERVER_NAME;\r
-  *OpPtr++                    = DHCP4_BOOTFILE;\r
-  *OpPtr++                    = 128;\r
-  *OpPtr++                    = 129;\r
-  *OpPtr++                    = 130;\r
-  *OpPtr++                    = 131;\r
-  *OpPtr++                    = 132;\r
-  *OpPtr++                    = 133;\r
-  *OpPtr++                    = 134;\r
-  *OpPtr++                    = 135;\r
-  *OpLen                      = (UINT8) ((OpPtr - OpLen) - 1);\r
-\r
-  *OpPtr++                    = DHCP4_END;\r
-\r
-  This->Data->SetupCompleted  = TRUE;\r
-\r
-  return EFI_SUCCESS;\r
-}\r
-\r
-/* eof - PxeDhcp4Setup.c */\r