]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Universal/Network/PxeDhcp4Dxe/PxeDhcp4.h
Clean Network Driver to include Uefi.h, not PiDxe.h.
[mirror_edk2.git] / MdeModulePkg / Universal / Network / PxeDhcp4Dxe / PxeDhcp4.h
index b33ed3e5bc001eda6bc60b9fd0afff69af598b46..f7db124632ab0430cd515608a0ce05a2cf5770c4 100644 (file)
-/** @file
-
-Copyright (c) 2004 - 2007, Intel Corporation
-All rights reserved. This program and the accompanying materials
-are licensed and made available under the terms and conditions of the BSD License
-which accompanies this distribution.  The full text of the license may be found at
-http://opensource.org/licenses/bsd-license.php
-
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
-Module Name:
-  PxeDhcp4.h
-
-Abstract:
-  Common header for PxeDhcp4 protocol driver
-
-
-**/
-#ifndef _PXEDHCP4_H
-#define _PXEDHCP4_H
-
-\r
-#include <PiDxe.h>\r
+/** @file\r
+\r
+Copyright (c) 2004 - 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
+  PxeDhcp4.h\r
+\r
+Abstract:\r
+  Common header for PxeDhcp4 protocol driver\r
+\r
+\r
+**/\r
+#ifndef _PXEDHCP4_H\r
+#define _PXEDHCP4_H\r
+\r
+\r
+#include <Uefi.h>\r
 \r
 #include <Protocol/PxeBaseCode.h>\r
-#include <Protocol/SimpleNetwork.h>
-#include <Protocol/PxeDhcp4.h>
-#include <Protocol/PxeDhcp4Callback.h>\r
+#include <Protocol/SimpleNetwork.h>\r
+#include <Protocol/PxeDhcp4.h>\r
+#include <Protocol/PxeDhcp4CallBack.h>\r
 \r
 #include <Library/DebugLib.h>\r
-#include <Library/BaseMemoryLib.h>
+#include <Library/BaseMemoryLib.h>\r
 #include <Library/MemoryAllocationLib.h>\r
 #include <Library/UefiDriverEntryPoint.h>\r
 #include <Library/UefiBootServicesTableLib.h>\r
-#include <Library/UefiLib.h>
-
-/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
-
-//
-// PxeDhcp4 protocol instance data
-//
-typedef struct {
-  //
-  // Signature field used to locate beginning of containment record.
-  //
-  UINTN Signature;
-
-#define PXE_DHCP4_PRIVATE_DATA_SIGNATURE  EFI_SIGNATURE_32 ('p', 'x', 'D', '4')
-  //
-  // Device handle the protocol is bound to.
-  //
-  EFI_HANDLE                      Handle;
-
-  //
-  // Public PxeDhcp4 protocol interface.
-  //
-  EFI_PXE_DHCP4_PROTOCOL          PxeDhcp4;
-
-  //
-  // Consumed PxeBc, Snp and PxeDhcp4Callback protocol interfaces.
-  //
-  EFI_PXE_BASE_CODE_PROTOCOL      *PxeBc;
-  EFI_SIMPLE_NETWORK_PROTOCOL     *Snp;
-  EFI_PXE_DHCP4_CALLBACK_PROTOCOL *callback;
-
-  //
-  // PxeDhcp4 called function for PxeDhcp4Callback.
-  //
-  EFI_PXE_DHCP4_FUNCTION          function;
-
-  //
-  // Timeout event and flag for PxeDhcp4Callback.
-  //
-  EFI_EVENT                       TimeoutEvent;
-  BOOLEAN                         TimeoutOccurred;
-
-  //
-  // Periodic event and flag for PxeDhcp4Callback.
-  //
-  EFI_EVENT                       PeriodicEvent;
-  BOOLEAN                         PeriodicOccurred;
-
-  //
-  // DHCP server IP address.
-  //
-  UINT32                          ServerIp;
-
-  //
-  // DHCP renewal and rebinding times, in seconds.
-  //
-  UINT32                          RenewTime;
-  UINT32                          RebindTime;
-  UINT32                          LeaseTime;
-
-  //
-  // Number of offers received & allocated offer list.
-  //
-  UINTN                           offers;
-  DHCP4_PACKET                    *offer_list;
-
-  //
-  //
-  //
-  BOOLEAN                         StopPxeBc;
-
-} PXE_DHCP4_PRIVATE_DATA;
-
-#define PXE_DHCP4_PRIVATE_DATA_FROM_THIS(a) CR (a, PXE_DHCP4_PRIVATE_DATA, PxeDhcp4, PXE_DHCP4_PRIVATE_DATA_SIGNATURE)
-
-/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
-
-//
-// Protocol function prototypes.
-//
-extern
-EFI_STATUS
-EFIAPI
-PxeDhcp4Run (
-  IN EFI_PXE_DHCP4_PROTOCOL *This,
-  IN OPTIONAL UINTN                  OpLen,
-  IN OPTIONAL VOID                   *OpList
-  )
-;
-
-extern
-EFI_STATUS
-EFIAPI
-PxeDhcp4Setup (
-  IN EFI_PXE_DHCP4_PROTOCOL *This,
-  IN EFI_PXE_DHCP4_DATA     *Data
-  )
-;
-
-extern
-EFI_STATUS
-EFIAPI
-PxeDhcp4Init (
-  IN EFI_PXE_DHCP4_PROTOCOL *This,
-  IN UINTN                  seconds_timeout,
-  OUT UINTN                 *offer_list_entries,
-  OUT DHCP4_PACKET          **offer_list
-  )
-;
-
-extern
-EFI_STATUS
-EFIAPI
-PxeDhcp4Select (
-  IN EFI_PXE_DHCP4_PROTOCOL *This,
-  IN UINTN                  seconds_timeout,
-  IN DHCP4_PACKET           *offer_list
-  )
-;
-
-extern
-EFI_STATUS
-EFIAPI
-PxeDhcp4Renew (
-  IN EFI_PXE_DHCP4_PROTOCOL *This,
-  UINTN                     seconds_timeout
-  )
-;
-
-extern
-EFI_STATUS
-EFIAPI
-PxeDhcp4Rebind (
-  IN EFI_PXE_DHCP4_PROTOCOL *This,
-  UINTN                     seconds_timeout
-  )
-;
-
-extern
-EFI_STATUS
-EFIAPI
-PxeDhcp4Release (
-  IN EFI_PXE_DHCP4_PROTOCOL *This
-  )
-;
-
-/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
-
-//
-// Support function prototypes.
-//
-extern
-UINT16
-htons (
-  UINTN n
-  )
-;
-
-extern
-UINT32
-htonl (
-  UINTN n
-  )
-;
-
-extern
-VOID
-EFIAPI
-timeout_notify (
-  IN EFI_EVENT Event,
-  IN VOID      *Context
-  )
-;
-
-extern
-VOID
-EFIAPI
-periodic_notify (
-  IN EFI_EVENT Event,
-  IN VOID      *Context
-  )
-;
-
-extern
-EFI_STATUS
-find_opt (
-  IN DHCP4_PACKET *Packet,
-  IN UINT8        OpCode,
-  IN UINTN        Skip,
-  OUT DHCP4_OP    **OpPtr
-  )
-;
-
-extern
-EFI_STATUS
-add_opt (
-  IN DHCP4_PACKET *Packet,
-  IN DHCP4_OP     *OpPtr
-  )
-;
-
-extern
-EFI_STATUS
-start_udp (
-  IN PXE_DHCP4_PRIVATE_DATA *Private,
-  IN OPTIONAL EFI_IP_ADDRESS         *station_ip,
-  IN OPTIONAL EFI_IP_ADDRESS         *subnet_mask
-  )
-;
-
-extern
-VOID
-stop_udp (
-  IN PXE_DHCP4_PRIVATE_DATA *Private
-  )
-;
-
-extern
-EFI_STATUS
-start_receive_events (
-  IN PXE_DHCP4_PRIVATE_DATA *Private,
-  IN UINTN                  seconds_timeout
-  )
-;
-
-extern
-VOID
-stop_receive_events (
-  IN PXE_DHCP4_PRIVATE_DATA *Private
-  )
-;
-
-extern
-EFI_STATUS
-tx_udp (
-  IN PXE_DHCP4_PRIVATE_DATA *Private,
-  IN EFI_IP_ADDRESS         *dest_ip,
-  IN OPTIONAL EFI_IP_ADDRESS         *gateway_ip,
-  IN EFI_IP_ADDRESS         *src_ip,
-  IN VOID                   *buffer,
-  IN UINTN                  BufferSize
-  )
-;
-
-extern
-EFI_STATUS
-rx_udp (
-  IN PXE_DHCP4_PRIVATE_DATA *Private,
-  OUT VOID                  *buffer,
-  OUT UINTN                 *BufferSize,
-  IN OUT EFI_IP_ADDRESS     *dest_ip,
-  IN OUT EFI_IP_ADDRESS     *src_ip,
-  IN UINT16                 op_flags
-  )
-;
-
-extern
-EFI_STATUS
-tx_rx_udp (
-  IN PXE_DHCP4_PRIVATE_DATA    *Private,
-  IN OUT EFI_IP_ADDRESS        *ServerIp,
-  IN OPTIONAL EFI_IP_ADDRESS   *gateway_ip,
-  IN OPTIONAL EFI_IP_ADDRESS   *client_ip,
-  IN OPTIONAL EFI_IP_ADDRESS   *subnet_mask,
-  IN DHCP4_PACKET              *tx_pkt,
-  OUT DHCP4_PACKET             *rx_pkt,
-  IN INTN
-    (
-  *rx_vfy)
-    (
-      IN PXE_DHCP4_PRIVATE_DATA *Private,
-      IN DHCP4_PACKET *tx_pkt,
-      IN DHCP4_PACKET *rx_pkt,
-      IN UINTN rx_pkt_size
-    ),
-  IN UINTN seconds_timeout
-  )
-;
-
-/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
-
-//
-// Global variable definitions.
-//
-extern EFI_COMPONENT_NAME_PROTOCOL   gPxeDhcp4ComponentName;
-
-EFI_STATUS
-EFIAPI
-PxeDhcp4DriverEntryPoint (
-  IN EFI_HANDLE        ImageHandle,
-  IN EFI_SYSTEM_TABLE  *SystemTable
-  )
-/*++
-
-Routine Description:
-  Register Driver Binding protocol for this driver.
-
-Arguments:
-  (Standard EFI Image entry - EFI_IMAGE_ENTRY_POINT)
-
-Returns:
-  EFI_SUCCESS - Driver loaded.
-  other       - Driver not loaded.
-
---*/
-;
-
-#ifdef EFI_SIZE_REDUCTION_APPLIED
-  #define COMPONENT_NAME_CODE(code)
-  #define COMPONENT_NAME            NULL
-#else
-  #define COMPONENT_NAME_CODE(code) code
-  #define COMPONENT_NAME            &gPxeDhcp4ComponentName
-#endif
-
-#endif /* _PXEDHCP4_H */
-
-/* EOF - PxeDhcp4.h */
+#include <Library/UefiLib.h>\r
+\r
+/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */\r
+\r
+//\r
+// PxeDhcp4 protocol instance data\r
+//\r
+typedef struct {\r
+  //\r
+  // Signature field used to locate beginning of containment record.\r
+  //\r
+  UINTN Signature;\r
+\r
+#define PXE_DHCP4_PRIVATE_DATA_SIGNATURE  SIGNATURE_32 ('p', 'x', 'D', '4')\r
+  //\r
+  // Device handle the protocol is bound to.\r
+  //\r
+  EFI_HANDLE                      Handle;\r
+\r
+  //\r
+  // Public PxeDhcp4 protocol interface.\r
+  //\r
+  EFI_PXE_DHCP4_PROTOCOL          PxeDhcp4;\r
+\r
+  //\r
+  // Consumed PxeBc, Snp and PxeDhcp4Callback protocol interfaces.\r
+  //\r
+  EFI_PXE_BASE_CODE_PROTOCOL      *PxeBc;\r
+  EFI_SIMPLE_NETWORK_PROTOCOL     *Snp;\r
+  EFI_PXE_DHCP4_CALLBACK_PROTOCOL *callback;\r
+\r
+  //\r
+  // PxeDhcp4 called function for PxeDhcp4Callback.\r
+  //\r
+  EFI_PXE_DHCP4_FUNCTION          function;\r
+\r
+  //\r
+  // Timeout event and flag for PxeDhcp4Callback.\r
+  //\r
+  EFI_EVENT                       TimeoutEvent;\r
+  BOOLEAN                         TimeoutOccurred;\r
+\r
+  //\r
+  // Periodic event and flag for PxeDhcp4Callback.\r
+  //\r
+  EFI_EVENT                       PeriodicEvent;\r
+  BOOLEAN                         PeriodicOccurred;\r
+\r
+  //\r
+  // DHCP server IP address.\r
+  //\r
+  UINT32                          ServerIp;\r
+\r
+  //\r
+  // DHCP renewal and rebinding times, in seconds.\r
+  //\r
+  UINT32                          RenewTime;\r
+  UINT32                          RebindTime;\r
+  UINT32                          LeaseTime;\r
+\r
+  //\r
+  // Number of offers received & allocated offer list.\r
+  //\r
+  UINTN                           offers;\r
+  DHCP4_PACKET                    *offer_list;\r
+\r
+  //\r
+  //\r
+  //\r
+  BOOLEAN                         StopPxeBc;\r
+\r
+} PXE_DHCP4_PRIVATE_DATA;\r
+\r
+#define PXE_DHCP4_PRIVATE_DATA_FROM_THIS(a) CR (a, PXE_DHCP4_PRIVATE_DATA, PxeDhcp4, PXE_DHCP4_PRIVATE_DATA_SIGNATURE)\r
+\r
+/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */\r
+\r
+//\r
+// Protocol function prototypes.\r
+//\r
+extern\r
+EFI_STATUS \r
+EFIAPI\r
+PxeDhcp4Run (\r
+  IN EFI_PXE_DHCP4_PROTOCOL *This,\r
+  IN OPTIONAL UINTN                  OpLen,\r
+  IN OPTIONAL VOID                   *OpList\r
+  );\r
+\r
+extern\r
+EFI_STATUS \r
+EFIAPI\r
+PxeDhcp4Setup (\r
+  IN EFI_PXE_DHCP4_PROTOCOL *This,\r
+  IN EFI_PXE_DHCP4_DATA     *Data\r
+  );\r
+\r
+extern\r
+EFI_STATUS \r
+EFIAPI\r
+PxeDhcp4Init (\r
+  IN EFI_PXE_DHCP4_PROTOCOL *This,\r
+  IN UINTN                  seconds_timeout,\r
+  OUT UINTN                 *offer_list_entries,\r
+  OUT DHCP4_PACKET          **offer_list\r
+  );\r
+\r
+extern\r
+EFI_STATUS \r
+EFIAPI\r
+PxeDhcp4Select (\r
+  IN EFI_PXE_DHCP4_PROTOCOL *This,\r
+  IN UINTN                  seconds_timeout,\r
+  IN DHCP4_PACKET           *offer_list\r
+  );\r
+\r
+extern\r
+EFI_STATUS \r
+EFIAPI\r
+PxeDhcp4Renew (\r
+  IN EFI_PXE_DHCP4_PROTOCOL *This,\r
+  UINTN                     seconds_timeout\r
+  );\r
+\r
+extern\r
+EFI_STATUS \r
+EFIAPI\r
+PxeDhcp4Rebind (\r
+  IN EFI_PXE_DHCP4_PROTOCOL *This,\r
+  UINTN                     seconds_timeout\r
+  );\r
+\r
+extern\r
+EFI_STATUS \r
+EFIAPI\r
+PxeDhcp4Release (\r
+  IN EFI_PXE_DHCP4_PROTOCOL *This\r
+  );\r
+\r
+/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */\r
+\r
+//\r
+// Support function prototypes.\r
+//\r
+extern\r
+UINT16 \r
+htons (\r
+  UINTN n\r
+  );\r
+\r
+extern\r
+UINT32 \r
+htonl (\r
+  UINTN n\r
+  );\r
+\r
+extern\r
+VOID \r
+EFIAPI\r
+timeout_notify (\r
+  IN EFI_EVENT Event,\r
+  IN VOID      *Context\r
+  );\r
+\r
+extern\r
+VOID \r
+EFIAPI\r
+periodic_notify (\r
+  IN EFI_EVENT Event,\r
+  IN VOID      *Context\r
+  );\r
+\r
+extern\r
+EFI_STATUS \r
+find_opt (\r
+  IN DHCP4_PACKET *Packet,\r
+  IN UINT8        OpCode,\r
+  IN UINTN        Skip,\r
+  OUT DHCP4_OP    **OpPtr\r
+  );\r
+\r
+extern\r
+EFI_STATUS \r
+add_opt (\r
+  IN DHCP4_PACKET *Packet,\r
+  IN DHCP4_OP     *OpPtr\r
+  );\r
+\r
+extern\r
+EFI_STATUS \r
+start_udp (\r
+  IN PXE_DHCP4_PRIVATE_DATA *Private,\r
+  IN OPTIONAL EFI_IP_ADDRESS         *station_ip,\r
+  IN OPTIONAL EFI_IP_ADDRESS         *subnet_mask\r
+  );\r
+\r
+extern\r
+VOID \r
+stop_udp (\r
+  IN PXE_DHCP4_PRIVATE_DATA *Private\r
+  );\r
+\r
+extern\r
+EFI_STATUS \r
+start_receive_events (\r
+  IN PXE_DHCP4_PRIVATE_DATA *Private,\r
+  IN UINTN                  seconds_timeout\r
+  );\r
+\r
+extern\r
+VOID \r
+stop_receive_events (\r
+  IN PXE_DHCP4_PRIVATE_DATA *Private\r
+  );\r
+\r
+extern\r
+EFI_STATUS \r
+tx_udp (\r
+  IN PXE_DHCP4_PRIVATE_DATA *Private,\r
+  IN EFI_IP_ADDRESS         *dest_ip,\r
+  IN OPTIONAL EFI_IP_ADDRESS         *gateway_ip,\r
+  IN EFI_IP_ADDRESS         *src_ip,\r
+  IN VOID                   *buffer,\r
+  IN UINTN                  BufferSize\r
+  );\r
+\r
+extern\r
+EFI_STATUS \r
+rx_udp (\r
+  IN PXE_DHCP4_PRIVATE_DATA *Private,\r
+  OUT VOID                  *buffer,\r
+  OUT UINTN                 *BufferSize,\r
+  IN OUT EFI_IP_ADDRESS     *dest_ip,\r
+  IN OUT EFI_IP_ADDRESS     *src_ip,\r
+  IN UINT16                 op_flags\r
+  );\r
+\r
+extern\r
+EFI_STATUS \r
+tx_rx_udp (\r
+  IN PXE_DHCP4_PRIVATE_DATA    *Private,\r
+  IN OUT EFI_IP_ADDRESS        *ServerIp,\r
+  IN OPTIONAL EFI_IP_ADDRESS   *gateway_ip,\r
+  IN OPTIONAL EFI_IP_ADDRESS   *client_ip,\r
+  IN OPTIONAL EFI_IP_ADDRESS   *subnet_mask,\r
+  IN DHCP4_PACKET              *tx_pkt,\r
+  OUT DHCP4_PACKET             *rx_pkt,\r
+  IN INTN\r
+    (\r
+  *rx_vfy)\r
+    (\r
+      IN PXE_DHCP4_PRIVATE_DATA *Private,\r
+      IN DHCP4_PACKET *tx_pkt,\r
+      IN DHCP4_PACKET *rx_pkt,\r
+      IN UINTN rx_pkt_size\r
+    ),\r
+  IN UINTN seconds_timeout\r
+  );\r
+\r
+/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */\r
+\r
+//\r
+// Global variable definitions.\r
+//\r
+extern EFI_COMPONENT_NAME_PROTOCOL    gPxeDhcp4ComponentName;\r
+extern EFI_COMPONENT_NAME2_PROTOCOL   gPxeDhcp4ComponentName2;\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+PxeDhcp4DriverEntryPoint (\r
+  IN EFI_HANDLE        ImageHandle,\r
+  IN EFI_SYSTEM_TABLE  *SystemTable\r
+  )\r
+/*++\r
+\r
+Routine Description:\r
+  Register Driver Binding protocol for this driver.\r
+\r
+Arguments:\r
+  (Standard EFI Image entry - EFI_IMAGE_ENTRY_POINT)\r
+\r
+Returns:\r
+  EFI_SUCCESS - Driver loaded.\r
+  other       - Driver not loaded.\r
+\r
+--*/\r
+;\r
+\r
+#endif /* _PXEDHCP4_H */\r
+\r
+/* EOF - PxeDhcp4.h */\r