]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Impl.h
Update to support to produce Component Name and & Component Name 2 protocol based...
[mirror_edk2.git] / MdeModulePkg / Universal / Network / Udp4Dxe / Udp4Impl.h
index 7825624090272ffd72c0efdc9a4773a7d767b6a5..bdc855b52ceae5bfcbb3f5162b39e563a221c685 100644 (file)
-/** @file
-
-Copyright (c) 2006 - 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:
-
-  Udp4Impl.h
-
-Abstract:
-
-  EFI UDPv4 protocol implementation
-
-
-**/
-
-#ifndef _UDP4_IMPL_H_
-#define _UDP4_IMPL_H_
-
+/** @file\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
+\r
+  Udp4Impl.h\r
+\r
+Abstract:\r
+\r
+  EFI UDPv4 protocol implementation\r
+\r
+\r
+**/\r
+\r
+#ifndef _UDP4_IMPL_H_\r
+#define _UDP4_IMPL_H_\r
+\r
 #include <PiDxe.h>\r
 \r
 #include <Protocol/IP4.h>\r
 #include <Protocol/Udp4.h>\r
-
+\r
 #include <Library/IpIoLib.h>\r
 #include <Library/DebugLib.h>\r
 #include <Library/UefiRuntimeServicesTableLib.h>\r
 #include <Library/UefiDriverEntryPoint.h>\r
 #include <Library/UefiBootServicesTableLib.h>\r
 #include <Library/BaseLib.h>\r
-#include <Library/UefiLib.h>
-#include <Library/BaseMemoryLib.h>
-#include <Library/MemoryAllocationLib.h>
-
-#include "Udp4Driver.h"
-
-
-extern EFI_COMPONENT_NAME_PROTOCOL    gUdp4ComponentName;
-extern EFI_SERVICE_BINDING_PROTOCOL   mUdp4ServiceBinding;
-extern EFI_UDP4_PROTOCOL              mUdp4Protocol;
-extern UINT16                         mUdp4RandomPort;
-
-#define ICMP_ERROR_PACKET_LENGTH  8
-
-#define UDP4_TIMEOUT_INTERVAL (50 * TICKS_PER_MS)  // 50 milliseconds
-
-#define UDP4_HEADER_SIZE      sizeof (EFI_UDP4_HEADER)
-#define UDP4_MAX_DATA_SIZE    65507
-
-#define UDP4_PORT_KNOWN       1024
-
-#define UDP4_SERVICE_DATA_SIGNATURE  EFI_SIGNATURE_32('U', 'd', 'p', '4')
-
-#define UDP4_SERVICE_DATA_FROM_THIS(a) \
-  CR ( \
-  (a), \
-  UDP4_SERVICE_DATA, \
-  ServiceBinding, \
-  UDP4_SERVICE_DATA_SIGNATURE \
-  )
-
-typedef struct _UDP4_SERVICE_DATA_ {
-  UINT32                        Signature;
-  EFI_SERVICE_BINDING_PROTOCOL  ServiceBinding;
-  EFI_HANDLE                    ImageHandle;
-  EFI_HANDLE                    ControllerHandle;
-  NET_LIST_ENTRY                ChildrenList;
-  UINTN                         ChildrenNumber;
-  IP_IO                         *IpIo;
-
-  EFI_EVENT                     TimeoutEvent;
-
-  CHAR16                        *MacString;
-} UDP4_SERVICE_DATA;
-
-#define UDP4_INSTANCE_DATA_SIGNATURE  EFI_SIGNATURE_32('U', 'd', 'p', 'I')
-
-#define UDP4_INSTANCE_DATA_FROM_THIS(a) \
-  CR ( \
-  (a), \
-  UDP4_INSTANCE_DATA, \
-  Udp4Proto, \
-  UDP4_INSTANCE_DATA_SIGNATURE \
-  )
-
-typedef struct _UDP4_INSTANCE_DATA_ {
-  UINT32                Signature;
-  NET_LIST_ENTRY        Link;
-
-  UDP4_SERVICE_DATA     *Udp4Service;
-  EFI_UDP4_PROTOCOL     Udp4Proto;
-  EFI_UDP4_CONFIG_DATA  ConfigData;
-  EFI_HANDLE            ChildHandle;
-  BOOLEAN               Configured;
-  BOOLEAN               IsNoMapping;
-
-  NET_MAP               TxTokens;
-  NET_MAP               RxTokens;
-
-  NET_MAP               McastIps;
-
-  NET_LIST_ENTRY        RcvdDgramQue;
-  NET_LIST_ENTRY        DeliveredDgramQue;
-
-  UINT16                HeadSum;
-
-  EFI_STATUS            IcmpError;
-
-  IP_IO_IP_INFO         *IpInfo;
-
-  BOOLEAN               Destroyed;
-} UDP4_INSTANCE_DATA;
-
-typedef struct _UDP4_RXDATA_WRAP_ {
-  NET_LIST_ENTRY         Link;
-  NET_BUF                *Packet;
-  UINT32                 TimeoutTick;
-  EFI_UDP4_RECEIVE_DATA  RxData;
-} UDP4_RXDATA_WRAP;
-
-EFI_STATUS
-EFIAPI
-Udp4GetModeData (
-  IN  EFI_UDP4_PROTOCOL                *This,
-  OUT EFI_UDP4_CONFIG_DATA             *Udp4ConfigData OPTIONAL,
-  OUT EFI_IP4_MODE_DATA                *Ip4ModeData    OPTIONAL,
-  OUT EFI_MANAGED_NETWORK_CONFIG_DATA  *MnpConfigData  OPTIONAL,
-  OUT EFI_SIMPLE_NETWORK_MODE          *SnpModeData    OPTIONAL
-  );
-
-EFI_STATUS
-EFIAPI
-Udp4Configure (
-  IN EFI_UDP4_PROTOCOL     *This,
-  IN EFI_UDP4_CONFIG_DATA  *UdpConfigData OPTIONAL
-  );
-
-EFI_STATUS
-EFIAPI
-Udp4Groups (
-  IN EFI_UDP4_PROTOCOL  *This,
-  IN BOOLEAN            JoinFlag,
-  IN EFI_IPv4_ADDRESS   *MulticastAddress OPTIONAL
-  );
-
-EFI_STATUS
-EFIAPI
-Udp4Routes (
-  IN EFI_UDP4_PROTOCOL  *This,
-  IN BOOLEAN            DeleteRoute,
-  IN EFI_IPv4_ADDRESS   *SubnetAddress,
-  IN EFI_IPv4_ADDRESS   *SubnetMask,
-  IN EFI_IPv4_ADDRESS   *GatewayAddress
-  );
-
-EFI_STATUS
-EFIAPI
-Udp4Transmit (
-  IN EFI_UDP4_PROTOCOL          *This,
-  IN EFI_UDP4_COMPLETION_TOKEN  *Token
-  );
-
-EFI_STATUS
-EFIAPI
-Udp4Receive (
-  IN EFI_UDP4_PROTOCOL          *This,
-  IN EFI_UDP4_COMPLETION_TOKEN  *Token
-  );
-
-EFI_STATUS
-EFIAPI
-Udp4Cancel (
-  IN EFI_UDP4_PROTOCOL          *This,
-  IN EFI_UDP4_COMPLETION_TOKEN  *Token OPTIONAL
-  );
-
-EFI_STATUS
-EFIAPI
-Udp4Poll (
-  IN EFI_UDP4_PROTOCOL  *This
-  );
-
-EFI_STATUS
-Udp4CreateService (
-  IN UDP4_SERVICE_DATA  *Udp4Service,
-  IN EFI_HANDLE         ImageHandle,
-  IN EFI_HANDLE         ControllerHandle
-  );
-
-VOID
-Udp4CleanService (
-  IN UDP4_SERVICE_DATA  *Udp4Service
-  );
-
-VOID
-Udp4InitInstance (
-  IN UDP4_SERVICE_DATA   *Udp4Service,
-  IN UDP4_INSTANCE_DATA  *Instance
-  );
-
-VOID
-Udp4CleanInstance (
-  IN UDP4_INSTANCE_DATA  *Instance
-  );
-
-EFI_STATUS
-Udp4Bind (
-  IN NET_LIST_ENTRY        *InstanceList,
-  IN EFI_UDP4_CONFIG_DATA  *ConfigData
-  );
-
-BOOLEAN
-Udp4IsReconfigurable (
-  IN EFI_UDP4_CONFIG_DATA  *OldConfigData,
-  IN EFI_UDP4_CONFIG_DATA  *NewConfigData
-  );
-
-VOID
-Udp4BuildIp4ConfigData (
-  IN EFI_UDP4_CONFIG_DATA  *Udp4ConfigData,
-  IN EFI_IP4_CONFIG_DATA   *Ip4ConfigData
-  );
-
-EFI_STATUS
-Udp4ValidateTxToken (
-  IN UDP4_INSTANCE_DATA         *Instance,
-  IN EFI_UDP4_COMPLETION_TOKEN  *TxToken
-  );
-
-EFI_STATUS
-Udp4TokenExist (
-  IN NET_MAP       *Map,
-  IN NET_MAP_ITEM  *Item,
-  IN VOID          *Context
-  );
-
-UINT16
-Udp4Checksum (
-  IN NET_BUF *Packet,
-  IN UINT16  HeadSum
-  );
-
-EFI_STATUS
-Udp4RemoveToken (
-  IN NET_MAP                    *TokenMap,
-  IN EFI_UDP4_COMPLETION_TOKEN  *Token
-  );
-
-EFI_STATUS
-Udp4LeaveGroup (
-  IN NET_MAP       *Map,
-  IN NET_MAP_ITEM  *Item,
-  IN VOID          *Arg OPTIONAL
-  );
-
-VOID
-Udp4FlushRxData (
-  IN NET_LIST_ENTRY  *RcvdDgramQue
-  );
-
-EFI_STATUS
-Udp4InstanceCancelToken (
-  IN UDP4_INSTANCE_DATA         *Instance,
-  IN EFI_UDP4_COMPLETION_TOKEN  *Token OPTIONAL
-  );
-
-VOID
-Udp4InstanceDeliverDgram (
-  IN UDP4_INSTANCE_DATA  *Instance
-  );
-
-VOID
-Udp4ReportIcmpError (
-  IN UDP4_INSTANCE_DATA  *Instance
-  );
-
-VOID
-Udp4NetVectorExtFree (
-  VOID  *Context
-  );
-
-EFI_STATUS
-Udp4SetVariableData (
-  IN UDP4_SERVICE_DATA  *Udp4Service
-  );
-
-VOID
-Udp4ClearVariableData (
-  IN UDP4_SERVICE_DATA  *Udp4Service
-  );
-
-#endif
-
+#include <Library/UefiLib.h>\r
+#include <Library/BaseMemoryLib.h>\r
+#include <Library/MemoryAllocationLib.h>\r
+\r
+#include "Udp4Driver.h"\r
+\r
+\r
+extern EFI_COMPONENT_NAME_PROTOCOL     gUdp4ComponentName;\r
+extern EFI_COMPONENT_NAME2_PROTOCOL    gUdp4ComponentName2;\r
+extern EFI_SERVICE_BINDING_PROTOCOL    mUdp4ServiceBinding;\r
+extern EFI_UDP4_PROTOCOL               mUdp4Protocol;\r
+extern UINT16                          mUdp4RandomPort;\r
+\r
+#define ICMP_ERROR_PACKET_LENGTH  8\r
+\r
+#define UDP4_TIMEOUT_INTERVAL (50 * TICKS_PER_MS)  // 50 milliseconds\r
+\r
+#define UDP4_HEADER_SIZE      sizeof (EFI_UDP4_HEADER)\r
+#define UDP4_MAX_DATA_SIZE    65507\r
+\r
+#define UDP4_PORT_KNOWN       1024\r
+\r
+#define UDP4_SERVICE_DATA_SIGNATURE  EFI_SIGNATURE_32('U', 'd', 'p', '4')\r
+\r
+#define UDP4_SERVICE_DATA_FROM_THIS(a) \\r
+  CR ( \\r
+  (a), \\r
+  UDP4_SERVICE_DATA, \\r
+  ServiceBinding, \\r
+  UDP4_SERVICE_DATA_SIGNATURE \\r
+  )\r
+\r
+typedef struct _UDP4_SERVICE_DATA_ {\r
+  UINT32                        Signature;\r
+  EFI_SERVICE_BINDING_PROTOCOL  ServiceBinding;\r
+  EFI_HANDLE                    ImageHandle;\r
+  EFI_HANDLE                    ControllerHandle;\r
+  NET_LIST_ENTRY                ChildrenList;\r
+  UINTN                         ChildrenNumber;\r
+  IP_IO                         *IpIo;\r
+\r
+  EFI_EVENT                     TimeoutEvent;\r
+\r
+  CHAR16                        *MacString;\r
+} UDP4_SERVICE_DATA;\r
+\r
+#define UDP4_INSTANCE_DATA_SIGNATURE  EFI_SIGNATURE_32('U', 'd', 'p', 'I')\r
+\r
+#define UDP4_INSTANCE_DATA_FROM_THIS(a) \\r
+  CR ( \\r
+  (a), \\r
+  UDP4_INSTANCE_DATA, \\r
+  Udp4Proto, \\r
+  UDP4_INSTANCE_DATA_SIGNATURE \\r
+  )\r
+\r
+typedef struct _UDP4_INSTANCE_DATA_ {\r
+  UINT32                Signature;\r
+  NET_LIST_ENTRY        Link;\r
+\r
+  UDP4_SERVICE_DATA     *Udp4Service;\r
+  EFI_UDP4_PROTOCOL     Udp4Proto;\r
+  EFI_UDP4_CONFIG_DATA  ConfigData;\r
+  EFI_HANDLE            ChildHandle;\r
+  BOOLEAN               Configured;\r
+  BOOLEAN               IsNoMapping;\r
+\r
+  NET_MAP               TxTokens;\r
+  NET_MAP               RxTokens;\r
+\r
+  NET_MAP               McastIps;\r
+\r
+  NET_LIST_ENTRY        RcvdDgramQue;\r
+  NET_LIST_ENTRY        DeliveredDgramQue;\r
+\r
+  UINT16                HeadSum;\r
+\r
+  EFI_STATUS            IcmpError;\r
+\r
+  IP_IO_IP_INFO         *IpInfo;\r
+\r
+  BOOLEAN               Destroyed;\r
+} UDP4_INSTANCE_DATA;\r
+\r
+typedef struct _UDP4_RXDATA_WRAP_ {\r
+  NET_LIST_ENTRY         Link;\r
+  NET_BUF                *Packet;\r
+  UINT32                 TimeoutTick;\r
+  EFI_UDP4_RECEIVE_DATA  RxData;\r
+} UDP4_RXDATA_WRAP;\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+Udp4GetModeData (\r
+  IN  EFI_UDP4_PROTOCOL                *This,\r
+  OUT EFI_UDP4_CONFIG_DATA             *Udp4ConfigData OPTIONAL,\r
+  OUT EFI_IP4_MODE_DATA                *Ip4ModeData    OPTIONAL,\r
+  OUT EFI_MANAGED_NETWORK_CONFIG_DATA  *MnpConfigData  OPTIONAL,\r
+  OUT EFI_SIMPLE_NETWORK_MODE          *SnpModeData    OPTIONAL\r
+  );\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+Udp4Configure (\r
+  IN EFI_UDP4_PROTOCOL     *This,\r
+  IN EFI_UDP4_CONFIG_DATA  *UdpConfigData OPTIONAL\r
+  );\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+Udp4Groups (\r
+  IN EFI_UDP4_PROTOCOL  *This,\r
+  IN BOOLEAN            JoinFlag,\r
+  IN EFI_IPv4_ADDRESS   *MulticastAddress OPTIONAL\r
+  );\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+Udp4Routes (\r
+  IN EFI_UDP4_PROTOCOL  *This,\r
+  IN BOOLEAN            DeleteRoute,\r
+  IN EFI_IPv4_ADDRESS   *SubnetAddress,\r
+  IN EFI_IPv4_ADDRESS   *SubnetMask,\r
+  IN EFI_IPv4_ADDRESS   *GatewayAddress\r
+  );\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+Udp4Transmit (\r
+  IN EFI_UDP4_PROTOCOL          *This,\r
+  IN EFI_UDP4_COMPLETION_TOKEN  *Token\r
+  );\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+Udp4Receive (\r
+  IN EFI_UDP4_PROTOCOL          *This,\r
+  IN EFI_UDP4_COMPLETION_TOKEN  *Token\r
+  );\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+Udp4Cancel (\r
+  IN EFI_UDP4_PROTOCOL          *This,\r
+  IN EFI_UDP4_COMPLETION_TOKEN  *Token OPTIONAL\r
+  );\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+Udp4Poll (\r
+  IN EFI_UDP4_PROTOCOL  *This\r
+  );\r
+\r
+EFI_STATUS\r
+Udp4CreateService (\r
+  IN UDP4_SERVICE_DATA  *Udp4Service,\r
+  IN EFI_HANDLE         ImageHandle,\r
+  IN EFI_HANDLE         ControllerHandle\r
+  );\r
+\r
+VOID\r
+Udp4CleanService (\r
+  IN UDP4_SERVICE_DATA  *Udp4Service\r
+  );\r
+\r
+VOID\r
+Udp4InitInstance (\r
+  IN UDP4_SERVICE_DATA   *Udp4Service,\r
+  IN UDP4_INSTANCE_DATA  *Instance\r
+  );\r
+\r
+VOID\r
+Udp4CleanInstance (\r
+  IN UDP4_INSTANCE_DATA  *Instance\r
+  );\r
+\r
+EFI_STATUS\r
+Udp4Bind (\r
+  IN NET_LIST_ENTRY        *InstanceList,\r
+  IN EFI_UDP4_CONFIG_DATA  *ConfigData\r
+  );\r
+\r
+BOOLEAN\r
+Udp4IsReconfigurable (\r
+  IN EFI_UDP4_CONFIG_DATA  *OldConfigData,\r
+  IN EFI_UDP4_CONFIG_DATA  *NewConfigData\r
+  );\r
+\r
+VOID\r
+Udp4BuildIp4ConfigData (\r
+  IN EFI_UDP4_CONFIG_DATA  *Udp4ConfigData,\r
+  IN EFI_IP4_CONFIG_DATA   *Ip4ConfigData\r
+  );\r
+\r
+EFI_STATUS\r
+Udp4ValidateTxToken (\r
+  IN UDP4_INSTANCE_DATA         *Instance,\r
+  IN EFI_UDP4_COMPLETION_TOKEN  *TxToken\r
+  );\r
+\r
+EFI_STATUS\r
+Udp4TokenExist (\r
+  IN NET_MAP       *Map,\r
+  IN NET_MAP_ITEM  *Item,\r
+  IN VOID          *Context\r
+  );\r
+\r
+UINT16\r
+Udp4Checksum (\r
+  IN NET_BUF *Packet,\r
+  IN UINT16  HeadSum\r
+  );\r
+\r
+EFI_STATUS\r
+Udp4RemoveToken (\r
+  IN NET_MAP                    *TokenMap,\r
+  IN EFI_UDP4_COMPLETION_TOKEN  *Token\r
+  );\r
+\r
+EFI_STATUS\r
+Udp4LeaveGroup (\r
+  IN NET_MAP       *Map,\r
+  IN NET_MAP_ITEM  *Item,\r
+  IN VOID          *Arg OPTIONAL\r
+  );\r
+\r
+VOID\r
+Udp4FlushRxData (\r
+  IN NET_LIST_ENTRY  *RcvdDgramQue\r
+  );\r
+\r
+EFI_STATUS\r
+Udp4InstanceCancelToken (\r
+  IN UDP4_INSTANCE_DATA         *Instance,\r
+  IN EFI_UDP4_COMPLETION_TOKEN  *Token OPTIONAL\r
+  );\r
+\r
+VOID\r
+Udp4InstanceDeliverDgram (\r
+  IN UDP4_INSTANCE_DATA  *Instance\r
+  );\r
+\r
+VOID\r
+Udp4ReportIcmpError (\r
+  IN UDP4_INSTANCE_DATA  *Instance\r
+  );\r
+\r
+VOID\r
+Udp4NetVectorExtFree (\r
+  VOID  *Context\r
+  );\r
+\r
+EFI_STATUS\r
+Udp4SetVariableData (\r
+  IN UDP4_SERVICE_DATA  *Udp4Service\r
+  );\r
+\r
+VOID\r
+Udp4ClearVariableData (\r
+  IN UDP4_SERVICE_DATA  *Udp4Service\r
+  );\r
+\r
+#endif\r
+\r