]> git.proxmox.com Git - mirror_edk2.git/blobdiff - EdkModulePkg/Universal/Network/PxeBc/Dxe/Bc.h
Retiring the ANT/JAVA build and removing the older EDK II packages that required...
[mirror_edk2.git] / EdkModulePkg / Universal / Network / PxeBc / Dxe / Bc.h
diff --git a/EdkModulePkg/Universal/Network/PxeBc/Dxe/Bc.h b/EdkModulePkg/Universal/Network/PxeBc/Dxe/Bc.h
deleted file mode 100644 (file)
index 2689e2a..0000000
+++ /dev/null
@@ -1,547 +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
-  bc.h\r
-\r
-Abstract:\r
-\r
---*/\r
-\r
-#ifndef _BC_H\r
-#define _BC_H\r
-\r
-#ifndef EFI_MIN\r
-#define EFI_MIN(_a, _b) ((_a) < (_b) ? (_a) : (_b))\r
-#endif\r
-\r
-#define CALLBACK_INTERVAL             100 // ten times a second\r
-#define FILTER_BITS                   (EFI_PXE_BASE_CODE_IP_FILTER_STATION_IP | \\r
-                     EFI_PXE_BASE_CODE_IP_FILTER_BROADCAST | \\r
-                     EFI_PXE_BASE_CODE_IP_FILTER_PROMISCUOUS | \\r
-                     EFI_PXE_BASE_CODE_IP_FILTER_PROMISCUOUS_MULTICAST \\r
-          )\r
-\r
-#define WAIT_TX_TIMEOUT               1000\r
-\r
-#define SUPPORT_IPV6                  0\r
-\r
-#define PXE_BASECODE_DEVICE_SIGNATURE EFI_SIGNATURE_32('p','x','e','d')\r
-\r
-//\r
-// Determine the classes of IPv4 address\r
-//\r
-#define  IS_CLASSA_IPADDR(x)  ((((EFI_IP_ADDRESS*)x)->v4.Addr[0] & 0x80) == 0x00)\r
-#define  IS_CLASSB_IPADDR(x)  ((((EFI_IP_ADDRESS*)x)->v4.Addr[0] & 0xc0) == 0x80)\r
-#define  IS_CLASSC_IPADDR(x)  ((((EFI_IP_ADDRESS*)x)->v4.Addr[0] & 0xe0) == 0xc0)\r
-#define  IS_INADDR_UNICAST(x) ((IS_CLASSA_IPADDR(x) || IS_CLASSB_IPADDR(x) || IS_CLASSC_IPADDR(x)) && (((EFI_IP_ADDRESS*)x)->Addr[0] != 0) )\r
-\r
-//\r
-// Definitions for internet group management protocol version 2 message\r
-// structure\r
-// Per RFC 2236, November 1997\r
-//\r
-#pragma pack(1)\r
-\r
-typedef struct {\r
-  UINT8   Type;\r
-  UINT8   MaxRespTime;  // in tenths of a second\r
-  UINT16  Checksum;     // ones complement of ones complement sum of\r
-                        // 16 bit words of message\r
-  UINT32  GroupAddress; // for general query, all systems group,\r
-                        // for group specific, the group\r
-} IGMPV2_MESSAGE;\r
-\r
-#define IGMP_TYPE_QUERY                 0x11\r
-#define IGMP_TYPE_REPORT                0x16\r
-#define IGMP_TYPE_V1REPORT              0x12\r
-#define IGMP_TYPE_LEAVE_GROUP           0x17\r
-\r
-#define IGMP_DEFAULT_MAX_RESPONSE_TIME  10  // 10 second default\r
-#pragma pack()\r
-\r
-#define MAX_MCAST_GROUPS  8                 // most we allow ourselves to join at once\r
-#define MAX_OFFERS        16\r
-\r
-typedef struct {\r
-  UINTN                                     Signature;\r
-  EFI_LOCK                                  Lock;\r
-  BOOLEAN                                   ShowErrorMessages;\r
-  EFI_PXE_BASE_CODE_PROTOCOL                EfiBc;\r
-  EFI_PXE_BASE_CODE_CALLBACK_PROTOCOL       *CallbackProtocolPtr;\r
-  EFI_HANDLE                                Handle;\r
-\r
-  EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL *NiiPtr;\r
-  EFI_SIMPLE_NETWORK_PROTOCOL               *SimpleNetwork;\r
-  UINT8                                     *TransmitBufferPtr;\r
-  UINT8                                     *ReceiveBufferPtr;\r
-  EFI_PXE_BASE_CODE_FUNCTION                Function;\r
-\r
-  UINTN                                     OldestArpEntry;\r
-  UINTN                                     MCastGroupCount;\r
-  EFI_EVENT                                 Igmpv1TimeoutEvent;\r
-  BOOLEAN                                   UseIgmpv1Reporting;\r
-  EFI_EVENT                                 IgmpGroupEvent[MAX_MCAST_GROUPS];\r
-  UINT16                                    RandomPort;\r
-\r
-  UINT32          MCastGroup[MAX_MCAST_GROUPS];\r
-  BOOLEAN         GoodStationIp;\r
-  BOOLEAN         DidTransmit;\r
-  UINTN           IpLength;\r
-  VOID            *DhcpPacketBuffer;\r
-  UINTN           FileSize;\r
-  VOID            *BootServerReceiveBuffer;\r
-  EFI_IP_ADDRESS  ServerIp;\r
-\r
-  //\r
-  // work area\r
-  // for dhcp\r
-  //\r
-  VOID            *ReceiveBuffers;\r
-  VOID            *TransmitBuffer;\r
-  UINTN           NumOffersReceived;\r
-  UINT16          TotalSeconds;\r
-\r
-  //\r
-  // arrays for different types of offers\r
-  //\r
-  UINT8           ServerCount[4];\r
-  UINT8           OfferCount[4][MAX_OFFERS];\r
-  UINT8           GotBootp;\r
-  UINT8           GotProxy[4];\r
-  UINT8           BinlProxies[MAX_OFFERS];\r
-\r
-  UINT8           *ArpBuffer;\r
-  UINT8           *TftpAckBuffer;\r
-  UINT8           *TftpErrorBuffer;\r
-  IGMPV2_MESSAGE  IgmpMessage;\r
-  BOOLEAN         BigBlkNumFlag;\r
-  UINT8           Timeout;\r
-  UINT16          RandomSeed;\r
-} PXE_BASECODE_DEVICE;\r
-\r
-//\r
-// type index\r
-//\r
-#define DHCP_ONLY_IX      0\r
-#define PXE10_IX          1\r
-#define WfM11a_IX         2\r
-#define BINL_IX           3\r
-\r
-#define PXE_RND_PORT_LOW  2070\r
-\r
-#define PXE_MAX_PRINT_BUFFER 128\r
-\r
-//\r
-//\r
-//\r
-#define LOADFILE_DEVICE_SIGNATURE EFI_SIGNATURE_32('p','x','e','l')\r
-\r
-typedef struct {\r
-  UINTN                   Signature;\r
-  EFI_LOCK                Lock;\r
-  EFI_LOAD_FILE_PROTOCOL  LoadFile;\r
-  PXE_BASECODE_DEVICE     *Private;\r
-} LOADFILE_DEVICE;\r
-\r
-#define EFI_BASE_CODE_DEV_FROM_THIS(a)  CR (a, PXE_BASECODE_DEVICE, efi_bc, PXE_BASECODE_DEVICE_SIGNATURE);\r
-\r
-#define EFI_LOAD_FILE_DEV_FROM_THIS(a)  CR (a, LOADFILE_DEVICE, LoadFile, LOADFILE_DEVICE_SIGNATURE)\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-PxeBcDriverSupported (\r
-  IN EFI_DRIVER_BINDING_PROTOCOL    *This,\r
-  IN EFI_HANDLE                     Controller,\r
-  IN EFI_DEVICE_PATH_PROTOCOL       *RemainingDevicePath\r
-  );\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-PxeBcDriverStart (\r
-  IN EFI_DRIVER_BINDING_PROTOCOL    *This,\r
-  IN EFI_HANDLE                     Controller,\r
-  IN EFI_DEVICE_PATH_PROTOCOL       *RemainingDevicePath\r
-  );\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-PxeBcDriverStop (\r
-  IN  EFI_DRIVER_BINDING_PROTOCOL    *This,\r
-  IN  EFI_HANDLE                     Controller,\r
-  IN  UINTN                          NumberOfChildren,\r
-  IN  EFI_HANDLE                     *ChildHandleBuffer\r
-  );\r
-\r
-//\r
-// EFI Component Name Functions\r
-//\r
-EFI_STATUS\r
-EFIAPI\r
-PxeBcComponentNameGetDriverName (\r
-  IN  EFI_COMPONENT_NAME_PROTOCOL  *This,\r
-  IN  CHAR8                        *Language,\r
-  OUT CHAR16                       **DriverName\r
-  );\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-PxeBcComponentNameGetControllerName (\r
-  IN  EFI_COMPONENT_NAME_PROTOCOL                     *This,\r
-  IN  EFI_HANDLE                                      ControllerHandle,\r
-  IN  EFI_HANDLE                                      ChildHandle        OPTIONAL,\r
-  IN  CHAR8                                           *Language,\r
-  OUT CHAR16                                          **ControllerName\r
-  );\r
-\r
-EFI_BIS_PROTOCOL                    *\r
-PxebcBisStart (\r
-  PXE_BASECODE_DEVICE     *Private,\r
-  BIS_APPLICATION_HANDLE  *BisAppHandle,\r
-  EFI_BIS_DATA            **BisDataSigInfo\r
-  )\r
-;\r
-\r
-VOID\r
-PxebcBisStop (\r
-  EFI_BIS_PROTOCOL        *Bis,\r
-  BIS_APPLICATION_HANDLE  BisAppHandle,\r
-  EFI_BIS_DATA            *BisDataSigInfo\r
-  )\r
-;\r
-\r
-BOOLEAN\r
-PxebcBisVerify (\r
-  PXE_BASECODE_DEVICE     *Private,\r
-  VOID                    *FileBuffer,\r
-  UINTN                   FileBufferLength,\r
-  VOID                    *CredentialBuffer,\r
-  UINTN                   CredentialBufferLength\r
-  )\r
-;\r
-\r
-BOOLEAN\r
-PxebcBisDetect (\r
-  PXE_BASECODE_DEVICE *Private\r
-  )\r
-;\r
-\r
-//\r
-// Global Variables\r
-//\r
-extern EFI_DRIVER_BINDING_PROTOCOL  gPxeBcDriverBinding;\r
-extern EFI_COMPONENT_NAME_PROTOCOL  gPxeBcComponentName;\r
-\r
-//\r
-// //////////////////////////////////////////////////////////\r
-//\r
-// prototypes\r
-//\r
-EFI_STATUS\r
-EFIAPI\r
-InitializeBCDriver (\r
-  IN EFI_HANDLE                       ImageHandle,\r
-  IN EFI_SYSTEM_TABLE                 *SystemTable\r
-  )\r
-;\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-BcStart (\r
-  IN EFI_PXE_BASE_CODE_PROTOCOL       *This,\r
-  IN BOOLEAN                          UseIpv6\r
-  )\r
-;\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-BcStop (\r
-  IN EFI_PXE_BASE_CODE_PROTOCOL       *This\r
-  )\r
-;\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-BcDhcp (\r
-  IN EFI_PXE_BASE_CODE_PROTOCOL       *This,\r
-  IN BOOLEAN                          SortOffers\r
-  )\r
-;\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-BcDiscover (\r
-  IN EFI_PXE_BASE_CODE_PROTOCOL       * This,\r
-  IN UINT16                           Type,\r
-  IN UINT16                           *Layer,\r
-  IN BOOLEAN                          UseBis,\r
-  IN EFI_PXE_BASE_CODE_DISCOVER_INFO  * Info OPTIONAL\r
-  )\r
-;\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-BcMtftp (\r
-  IN EFI_PXE_BASE_CODE_PROTOCOL       * This,\r
-  IN EFI_PXE_BASE_CODE_TFTP_OPCODE    Operation,\r
-  IN OUT VOID                         *BufferPtr,\r
-  IN BOOLEAN                          Overwrite,\r
-  IN OUT UINT64                       *BufferSize,\r
-  IN UINTN                            *BlockSize OPTIONAL,\r
-  IN EFI_IP_ADDRESS                   * ServerIp,\r
-  IN UINT8                            *Filename,\r
-  IN EFI_PXE_BASE_CODE_MTFTP_INFO     * Info OPTIONAL,\r
-  IN BOOLEAN                          DontUseBuffer\r
-  )\r
-;\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-BcUdpWrite (\r
-  IN EFI_PXE_BASE_CODE_PROTOCOL       *This,\r
-  IN UINT16                           OpFlags,\r
-  IN EFI_IP_ADDRESS                   *DestIp,\r
-  IN EFI_PXE_BASE_CODE_UDP_PORT       *DestPort,\r
-  IN EFI_IP_ADDRESS                   *GatewayIp, OPTIONAL\r
-  IN EFI_IP_ADDRESS                   *SrcIp, OPTIONAL\r
-  IN OUT EFI_PXE_BASE_CODE_UDP_PORT   *SrcPort, OPTIONAL\r
-  IN UINTN                            *HeaderSize, OPTIONAL\r
-  IN VOID                             *HeaderPtr, OPTIONAL\r
-  IN UINTN                            *BufferSize,\r
-  IN VOID                             *BufferPtr\r
-  )\r
-;\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-BcUdpRead (\r
-  IN EFI_PXE_BASE_CODE_PROTOCOL       *This,\r
-  IN UINT16                           OpFlags,\r
-  IN OUT EFI_IP_ADDRESS               *DestIp, OPTIONAL\r
-  IN OUT EFI_PXE_BASE_CODE_UDP_PORT   *DestPort, OPTIONAL\r
-  IN OUT EFI_IP_ADDRESS               *SrcIp, OPTIONAL\r
-  IN OUT EFI_PXE_BASE_CODE_UDP_PORT   *SrcPort, OPTIONAL\r
-  IN UINTN                            *HeaderSize, OPTIONAL\r
-  IN VOID                             *HeaderPtr, OPTIONAL\r
-  IN OUT UINTN                        *BufferSize,\r
-  IN VOID                             *BufferPtr\r
-  )\r
-;\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-BcArp (\r
-  IN EFI_PXE_BASE_CODE_PROTOCOL       * This,\r
-  IN EFI_IP_ADDRESS                   * IpAddr,\r
-  IN EFI_MAC_ADDRESS                  * MacAddr OPTIONAL\r
-  )\r
-;\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-BcIpFilter (\r
-  IN EFI_PXE_BASE_CODE_PROTOCOL       *This,\r
-  IN EFI_PXE_BASE_CODE_IP_FILTER      *NewFilter\r
-  )\r
-;\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-BcSetParameters (\r
-  IN EFI_PXE_BASE_CODE_PROTOCOL       * This,\r
-  IN BOOLEAN                          *NewAutoArp, OPTIONAL\r
-  IN BOOLEAN                          *NewSendGUID, OPTIONAL\r
-  IN UINT8                            *NewTTL, OPTIONAL\r
-  IN UINT8                            *NewToS, OPTIONAL\r
-  IN BOOLEAN                          *NewMakeCallback OPTIONAL\r
-  )\r
-;\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-BcSetStationIP (\r
-  IN EFI_PXE_BASE_CODE_PROTOCOL       * This,\r
-  IN EFI_IP_ADDRESS                   * NewStationIp, OPTIONAL\r
-  IN EFI_IP_ADDRESS                   * NewSubnetMask OPTIONAL\r
-  )\r
-;\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-BcSetPackets (\r
-  IN EFI_PXE_BASE_CODE_PROTOCOL       * This,\r
-  BOOLEAN                             *NewDhcpDiscoverValid, OPTIONAL\r
-  BOOLEAN                             *NewDhcpAckReceived, OPTIONAL\r
-  BOOLEAN                             *NewProxyOfferReceived, OPTIONAL\r
-  BOOLEAN                             *NewPxeDiscoverValid, OPTIONAL\r
-  BOOLEAN                             *NewPxeReplyReceived, OPTIONAL\r
-  BOOLEAN                             *NewPxeBisReplyReceived, OPTIONAL\r
-  IN EFI_PXE_BASE_CODE_PACKET         * NewDhcpDiscover, OPTIONAL\r
-  IN EFI_PXE_BASE_CODE_PACKET         * NewDhcpAck, OPTIONAL\r
-  IN EFI_PXE_BASE_CODE_PACKET         * NewProxyOffer, OPTIONAL\r
-  IN EFI_PXE_BASE_CODE_PACKET         * NewPxeDiscover, OPTIONAL\r
-  IN EFI_PXE_BASE_CODE_PACKET         * NewPxeReply, OPTIONAL\r
-  IN EFI_PXE_BASE_CODE_PACKET         * NewPxeBisReply OPTIONAL\r
-  )\r
-;\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-LoadFile (\r
-  IN EFI_LOAD_FILE_PROTOCOL           *This,\r
-  IN EFI_DEVICE_PATH_PROTOCOL         *FilePath,\r
-  IN BOOLEAN                          BootPolicy,\r
-  IN OUT UINTN                        *BufferSize,\r
-  IN VOID                             *Buffer\r
-  )\r
-;\r
-\r
-EFI_STATUS\r
-PxeBcLibGetSmbiosSystemGuidAndSerialNumber (\r
-  IN  EFI_GUID    *SystemGuid,\r
-  OUT CHAR8       **SystemSerialNumber\r
-  )\r
-;\r
-\r
-//\r
-// Define SMBIOS tables.\r
-//\r
-#pragma pack(1)\r
-typedef struct {\r
-  UINT8   AnchorString[4];\r
-  UINT8   EntryPointStructureChecksum;\r
-  UINT8   EntryPointLength;\r
-  UINT8   MajorVersion;\r
-  UINT8   MinorVersion;\r
-  UINT16  MaxStructureSize;\r
-  UINT8   EntryPointRevision;\r
-  UINT8   FormattedArea[5];\r
-  UINT8   IntermediateAnchorString[5];\r
-  UINT8   IntermediateChecksum;\r
-  UINT16  TableLength;\r
-  UINT32  TableAddress;\r
-  UINT16  NumberOfSmbiosStructures;\r
-  UINT8   SmbiosBcdRevision;\r
-} SMBIOS_STRUCTURE_TABLE;\r
-\r
-//\r
-// Please note that SMBIOS structures can be odd byte aligned since the\r
-//  unformated section of each record is a set of arbitrary size strings.\r
-//\r
-typedef struct {\r
-  UINT8 Type;\r
-  UINT8 Length;\r
-  UINT8 Handle[2];\r
-} SMBIOS_HEADER;\r
-\r
-typedef UINT8 SMBIOS_STRING;\r
-\r
-typedef struct {\r
-  SMBIOS_HEADER Hdr;\r
-  SMBIOS_STRING Vendor;\r
-  SMBIOS_STRING BiosVersion;\r
-  UINT8         BiosSegment[2];\r
-  SMBIOS_STRING BiosReleaseDate;\r
-  UINT8         BiosSize;\r
-  UINT8         BiosCharacteristics[8];\r
-} SMBIOS_TYPE0;\r
-\r
-typedef struct {\r
-  SMBIOS_HEADER Hdr;\r
-  SMBIOS_STRING Manufacturer;\r
-  SMBIOS_STRING ProductName;\r
-  SMBIOS_STRING Version;\r
-  SMBIOS_STRING SerialNumber;\r
-\r
-  //\r
-  // always byte copy this data to prevent alignment faults!\r
-  //\r
-  EFI_GUID      Uuid;\r
-\r
-  UINT8         WakeUpType;\r
-} SMBIOS_TYPE1;\r
-\r
-typedef struct {\r
-  SMBIOS_HEADER Hdr;\r
-  SMBIOS_STRING Manufacturer;\r
-  SMBIOS_STRING ProductName;\r
-  SMBIOS_STRING Version;\r
-  SMBIOS_STRING SerialNumber;\r
-} SMBIOS_TYPE2;\r
-\r
-typedef struct {\r
-  SMBIOS_HEADER Hdr;\r
-  SMBIOS_STRING Manufacturer;\r
-  UINT8         Type;\r
-  SMBIOS_STRING Version;\r
-  SMBIOS_STRING SerialNumber;\r
-  SMBIOS_STRING AssetTag;\r
-  UINT8         BootupState;\r
-  UINT8         PowerSupplyState;\r
-  UINT8         ThermalState;\r
-  UINT8         SecurityStatus;\r
-  UINT8         OemDefined[4];\r
-} SMBIOS_TYPE3;\r
-\r
-typedef struct {\r
-  SMBIOS_HEADER Hdr;\r
-  UINT8         Socket;\r
-  UINT8         ProcessorType;\r
-  UINT8         ProcessorFamily;\r
-  SMBIOS_STRING ProcessorManufacture;\r
-  UINT8         ProcessorId[8];\r
-  SMBIOS_STRING ProcessorVersion;\r
-  UINT8         Voltage;\r
-  UINT8         ExternalClock[2];\r
-  UINT8         MaxSpeed[2];\r
-  UINT8         CurrentSpeed[2];\r
-  UINT8         Status;\r
-  UINT8         ProcessorUpgrade;\r
-  UINT8         L1CacheHandle[2];\r
-  UINT8         L2CacheHandle[2];\r
-  UINT8         L3CacheHandle[2];\r
-} SMBIOS_TYPE4;\r
-\r
-typedef union {\r
-  SMBIOS_HEADER *Hdr;\r
-  SMBIOS_TYPE0  *Type0;\r
-  SMBIOS_TYPE1  *Type1;\r
-  SMBIOS_TYPE2  *Type2;\r
-  SMBIOS_TYPE3  *Type3;\r
-  SMBIOS_TYPE4  *Type4;\r
-  UINT8         *Raw;\r
-} SMBIOS_STRUCTURE_POINTER;\r
-#pragma pack()\r
-\r
-#include "ip.h"\r
-#include "dhcp.h"\r
-#include "tftp.h"\r
-\r
-VOID\r
-InitArpHeader (\r
-  VOID\r
-  )\r
-/*++\r
-Routine description:\r
-  Initialize ARP packet header.\r
-\r
-Parameters:\r
-  none\r
-\r
-Returns:\r
-  none\r
-\r
---*/\r
-;\r
-\r
-#endif /* _BC_H */\r
-\r
-/* EOF - bc.h */\r