]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Universal/Network/MnpDxe/MnpImpl.h
Update to support to produce Component Name and & Component Name 2 protocol based...
[mirror_edk2.git] / MdeModulePkg / Universal / Network / MnpDxe / MnpImpl.h
index cdb081d2b4396faf32e861b308a2f133208dd9a6..7f6669fba3ea614851c6101a08dd7c83034f357d 100644 (file)
-/** @file
-
-Copyright (c) 2005 - 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:
-
-  MnpImpl.h
-
-Abstract:
-
-
-**/
-
-#ifndef _MNP_IMPL_H_
-#define _MNP_IMPL_H_
-
-#include "MnpDriver.h"
-#include "MnpDebug.h"
-
-#define NET_ETHER_FCS_SIZE            4
-
-#define MNP_SYS_POLL_INTERVAL         (2 * TICKS_PER_MS)    // 2 milliseconds
-#define MNP_TIMEOUT_CHECK_INTERVAL    (50 * TICKS_PER_MS)   // 50 milliseconds
-#define MNP_TX_TIMEOUT_TIME           (500 * TICKS_PER_MS)  // 500 milliseconds
-#define MNP_INIT_NET_BUFFER_NUM       512
-#define MNP_NET_BUFFER_INCREASEMENT   64
-#define MNP_MAX_NET_BUFFER_NUM        65536
-
-#define MNP_MAX_RCVD_PACKET_QUE_SIZE  256
-
-#define MNP_RECEIVE_UNICAST           0x01
-#define MNP_RECEIVE_BROADCAST         0x02
-
-#define UNICAST_PACKET                MNP_RECEIVE_UNICAST
-#define BROADCAST_PACKET              MNP_RECEIVE_BROADCAST
-
-#define MNP_INSTANCE_DATA_SIGNATURE   EFI_SIGNATURE_32 ('M', 'n', 'p', 'I')
-
-#define MNP_INSTANCE_DATA_FROM_THIS(a) \
-  CR ( \
-  (a), \
-  MNP_INSTANCE_DATA, \
-  ManagedNetwork, \
-  MNP_INSTANCE_DATA_SIGNATURE \
-  )
-
-typedef struct _MNP_INSTANCE_DATA {
-  UINT32                          Signature;
-
-  MNP_SERVICE_DATA                *MnpServiceData;
-
-  EFI_HANDLE                      Handle;
-
-  NET_LIST_ENTRY                  InstEntry;
-
-  EFI_MANAGED_NETWORK_PROTOCOL    ManagedNetwork;
-
-  BOOLEAN                         Configured;
-  BOOLEAN                         Destroyed;
-
-  NET_LIST_ENTRY                  GroupCtrlBlkList;
-
-  NET_MAP                         RxTokenMap;
-
-  NET_LIST_ENTRY                  RxDeliveredPacketQueue;
-  NET_LIST_ENTRY                  RcvdPacketQueue;
-  UINTN                           RcvdPacketQueueSize;
-
-  EFI_MANAGED_NETWORK_CONFIG_DATA ConfigData;
-
-  UINT8                           ReceiveFilter;
-} MNP_INSTANCE_DATA;
-
-typedef struct _MNP_GROUP_ADDRESS {
-  NET_LIST_ENTRY  AddrEntry;
-  EFI_MAC_ADDRESS Address;
-  INTN            RefCnt;
-} MNP_GROUP_ADDRESS;
-
-typedef struct _MNP_GROUP_CONTROL_BLOCK {
-  NET_LIST_ENTRY    CtrlBlkEntry;
-  MNP_GROUP_ADDRESS *GroupAddress;
-} MNP_GROUP_CONTROL_BLOCK;
-
-typedef struct _MNP_RXDATA_WRAP {
-  NET_LIST_ENTRY                    WrapEntry;
-  MNP_INSTANCE_DATA                 *Instance;
-  EFI_MANAGED_NETWORK_RECEIVE_DATA  RxData;
-  NET_BUF                           *Nbuf;
-  UINT64                            TimeoutTick;
-} MNP_RXDATA_WRAP;
-
-EFI_STATUS
-MnpInitializeServiceData (
-  IN MNP_SERVICE_DATA  *MnpServiceData,
-  IN EFI_HANDLE        ImageHandle,
-  IN EFI_HANDLE        ControllerHandle
-  );
-
-VOID
-MnpFlushServiceData (
-  MNP_SERVICE_DATA  *MnpServiceData
-  );
-
-VOID
-MnpInitializeInstanceData (
-  IN MNP_SERVICE_DATA   *MnpServiceData,
-  IN MNP_INSTANCE_DATA  *Instance
-  );
-
-EFI_STATUS
-MnpTokenExist (
-  IN NET_MAP       *Map,
-  IN NET_MAP_ITEM  *Item,
-  IN VOID          *Arg
-  );
-
-EFI_STATUS
-MnpCancelTokens (
-  IN NET_MAP       *Map,
-  IN NET_MAP_ITEM  *Item,
-  IN VOID          *Arg
-  );
-
-VOID
-MnpFlushRcvdDataQueue (
-  IN MNP_INSTANCE_DATA  *Instance
-  );
-
-EFI_STATUS
-MnpConfigureInstance (
-  IN MNP_INSTANCE_DATA                *Instance,
-  IN EFI_MANAGED_NETWORK_CONFIG_DATA  *ConfigData OPTIONAL
-  );
-
-EFI_STATUS
-MnpGroupOp (
-  IN MNP_INSTANCE_DATA        *Instance,
-  IN BOOLEAN                  JoinFlag,
-  IN EFI_MAC_ADDRESS          *MacAddr OPTIONAL,
-  IN MNP_GROUP_CONTROL_BLOCK  *CtrlBlk OPTIONAL
-  );
-
-BOOLEAN
-MnpIsValidTxToken (
-  IN MNP_INSTANCE_DATA                     *Instance,
-  IN EFI_MANAGED_NETWORK_COMPLETION_TOKEN  *Token
-  );
-
-VOID
-MnpBuildTxPacket (
-  IN  MNP_SERVICE_DATA                   *MnpServiceData,
-  IN  EFI_MANAGED_NETWORK_TRANSMIT_DATA  *TxData,
-  OUT UINT8                              **PktBuf,
-  OUT UINT32                             *PktLen
-  );
-
-EFI_STATUS
-MnpSyncSendPacket (
-  IN MNP_SERVICE_DATA                      *MnpServiceData,
-  IN UINT8                                 *Packet,
-  IN UINT32                                Length,
-  IN EFI_MANAGED_NETWORK_COMPLETION_TOKEN  *Token
-  );
-
-EFI_STATUS
-MnpInstanceDeliverPacket (
-  IN MNP_INSTANCE_DATA  *Instance
-  );
-
-VOID
-EFIAPI
-MnpRecycleRxData (
-  IN EFI_EVENT  Event,
-  IN VOID       *Context
-  );
-
-EFI_STATUS
-MnpReceivePacket (
-  IN MNP_SERVICE_DATA  *MnpServiceData
-  );
-
-NET_BUF *
-MnpAllocNbuf (
-  IN MNP_SERVICE_DATA  *MnpServiceData
-  );
-
-VOID
-MnpFreeNbuf (
-  IN MNP_SERVICE_DATA  *MnpServiceData,
-  IN NET_BUF           *Nbuf
-  );
-
-VOID
-EFIAPI
-MnpCheckPacketTimeout (
-  IN EFI_EVENT  Event,
-  IN VOID       *Context
-  );
-
-VOID
-EFIAPI
-MnpSystemPoll (
-  IN EFI_EVENT  Event,
-  IN VOID       *Context
-  );
-
-EFI_STATUS
-EFIAPI
-MnpGetModeData (
-  IN  EFI_MANAGED_NETWORK_PROTOCOL     *This,
-  OUT EFI_MANAGED_NETWORK_CONFIG_DATA  *MnpConfigData OPTIONAL,
-  OUT EFI_SIMPLE_NETWORK_MODE          *SnpModeData OPTIONAL
-  );
-
-EFI_STATUS
-EFIAPI
-MnpConfigure (
-  IN EFI_MANAGED_NETWORK_PROTOCOL     *This,
-  IN EFI_MANAGED_NETWORK_CONFIG_DATA  *MnpConfigData OPTIONAL
-  );
-
-EFI_STATUS
-EFIAPI
-MnpMcastIpToMac (
-  IN  EFI_MANAGED_NETWORK_PROTOCOL  *This,
-  IN  BOOLEAN                       Ipv6Flag,
-  IN  EFI_IP_ADDRESS                *IpAddress,
-  OUT EFI_MAC_ADDRESS               *MacAddress
-  );
-
-EFI_STATUS
-EFIAPI
-MnpGroups (
-  IN EFI_MANAGED_NETWORK_PROTOCOL  *This,
-  IN BOOLEAN                       JoinFlag,
-  IN EFI_MAC_ADDRESS               *MacAddress OPTIONAL
-  );
-
-EFI_STATUS
-EFIAPI
-MnpTransmit (
-  IN EFI_MANAGED_NETWORK_PROTOCOL          *This,
-  IN EFI_MANAGED_NETWORK_COMPLETION_TOKEN  *Token
-  );
-
-EFI_STATUS
-EFIAPI
-MnpCancel (
-  IN EFI_MANAGED_NETWORK_PROTOCOL          *This,
-  IN EFI_MANAGED_NETWORK_COMPLETION_TOKEN  *Token OPTIONAL
-  );
-
-EFI_STATUS
-EFIAPI
-MnpReceive (
-  IN EFI_MANAGED_NETWORK_PROTOCOL          *This,
-  IN EFI_MANAGED_NETWORK_COMPLETION_TOKEN  *Token
-  );
-
-EFI_STATUS
-EFIAPI
-MnpPoll (
-  IN EFI_MANAGED_NETWORK_PROTOCOL  *This
-  );
-
-#endif
+/** @file\r
+\r
+Copyright (c) 2005 - 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
+  MnpImpl.h\r
+\r
+Abstract:\r
+\r
+\r
+**/\r
+\r
+#ifndef _MNP_IMPL_H_\r
+#define _MNP_IMPL_H_\r
+\r
+#include "MnpDriver.h"\r
+#include "MnpDebug.h"\r
+\r
+#define NET_ETHER_FCS_SIZE            4\r
+\r
+#define MNP_SYS_POLL_INTERVAL         (2 * TICKS_PER_MS)    // 2 milliseconds\r
+#define MNP_TIMEOUT_CHECK_INTERVAL    (50 * TICKS_PER_MS)   // 50 milliseconds\r
+#define MNP_TX_TIMEOUT_TIME           (500 * TICKS_PER_MS)  // 500 milliseconds\r
+#define MNP_INIT_NET_BUFFER_NUM       512\r
+#define MNP_NET_BUFFER_INCREASEMENT   64\r
+#define MNP_MAX_NET_BUFFER_NUM        65536\r
+\r
+#define MNP_MAX_RCVD_PACKET_QUE_SIZE  256\r
+\r
+#define MNP_RECEIVE_UNICAST           0x01\r
+#define MNP_RECEIVE_BROADCAST         0x02\r
+\r
+#define UNICAST_PACKET                MNP_RECEIVE_UNICAST\r
+#define BROADCAST_PACKET              MNP_RECEIVE_BROADCAST\r
+\r
+#define MNP_INSTANCE_DATA_SIGNATURE   EFI_SIGNATURE_32 ('M', 'n', 'p', 'I')\r
+\r
+#define MNP_INSTANCE_DATA_FROM_THIS(a) \\r
+  CR ( \\r
+  (a), \\r
+  MNP_INSTANCE_DATA, \\r
+  ManagedNetwork, \\r
+  MNP_INSTANCE_DATA_SIGNATURE \\r
+  )\r
+\r
+typedef struct _MNP_INSTANCE_DATA {\r
+  UINT32                          Signature;\r
+\r
+  MNP_SERVICE_DATA                *MnpServiceData;\r
+\r
+  EFI_HANDLE                      Handle;\r
+\r
+  NET_LIST_ENTRY                  InstEntry;\r
+\r
+  EFI_MANAGED_NETWORK_PROTOCOL    ManagedNetwork;\r
+\r
+  BOOLEAN                         Configured;\r
+  BOOLEAN                         Destroyed;\r
+\r
+  NET_LIST_ENTRY                  GroupCtrlBlkList;\r
+\r
+  NET_MAP                         RxTokenMap;\r
+\r
+  NET_LIST_ENTRY                  RxDeliveredPacketQueue;\r
+  NET_LIST_ENTRY                  RcvdPacketQueue;\r
+  UINTN                           RcvdPacketQueueSize;\r
+\r
+  EFI_MANAGED_NETWORK_CONFIG_DATA ConfigData;\r
+\r
+  UINT8                           ReceiveFilter;\r
+} MNP_INSTANCE_DATA;\r
+\r
+typedef struct _MNP_GROUP_ADDRESS {\r
+  NET_LIST_ENTRY  AddrEntry;\r
+  EFI_MAC_ADDRESS Address;\r
+  INTN            RefCnt;\r
+} MNP_GROUP_ADDRESS;\r
+\r
+typedef struct _MNP_GROUP_CONTROL_BLOCK {\r
+  NET_LIST_ENTRY    CtrlBlkEntry;\r
+  MNP_GROUP_ADDRESS *GroupAddress;\r
+} MNP_GROUP_CONTROL_BLOCK;\r
+\r
+typedef struct _MNP_RXDATA_WRAP {\r
+  NET_LIST_ENTRY                    WrapEntry;\r
+  MNP_INSTANCE_DATA                 *Instance;\r
+  EFI_MANAGED_NETWORK_RECEIVE_DATA  RxData;\r
+  NET_BUF                           *Nbuf;\r
+  UINT64                            TimeoutTick;\r
+} MNP_RXDATA_WRAP;\r
+\r
+EFI_STATUS\r
+MnpInitializeServiceData (\r
+  IN MNP_SERVICE_DATA  *MnpServiceData,\r
+  IN EFI_HANDLE        ImageHandle,\r
+  IN EFI_HANDLE        ControllerHandle\r
+  );\r
+\r
+VOID\r
+MnpFlushServiceData (\r
+  MNP_SERVICE_DATA  *MnpServiceData\r
+  );\r
+\r
+VOID\r
+MnpInitializeInstanceData (\r
+  IN MNP_SERVICE_DATA   *MnpServiceData,\r
+  IN MNP_INSTANCE_DATA  *Instance\r
+  );\r
+\r
+EFI_STATUS\r
+MnpTokenExist (\r
+  IN NET_MAP       *Map,\r
+  IN NET_MAP_ITEM  *Item,\r
+  IN VOID          *Arg\r
+  );\r
+\r
+EFI_STATUS\r
+MnpCancelTokens (\r
+  IN NET_MAP       *Map,\r
+  IN NET_MAP_ITEM  *Item,\r
+  IN VOID          *Arg\r
+  );\r
+\r
+VOID\r
+MnpFlushRcvdDataQueue (\r
+  IN MNP_INSTANCE_DATA  *Instance\r
+  );\r
+\r
+EFI_STATUS\r
+MnpConfigureInstance (\r
+  IN MNP_INSTANCE_DATA                *Instance,\r
+  IN EFI_MANAGED_NETWORK_CONFIG_DATA  *ConfigData OPTIONAL\r
+  );\r
+\r
+EFI_STATUS\r
+MnpGroupOp (\r
+  IN MNP_INSTANCE_DATA        *Instance,\r
+  IN BOOLEAN                  JoinFlag,\r
+  IN EFI_MAC_ADDRESS          *MacAddr OPTIONAL,\r
+  IN MNP_GROUP_CONTROL_BLOCK  *CtrlBlk OPTIONAL\r
+  );\r
+\r
+BOOLEAN\r
+MnpIsValidTxToken (\r
+  IN MNP_INSTANCE_DATA                     *Instance,\r
+  IN EFI_MANAGED_NETWORK_COMPLETION_TOKEN  *Token\r
+  );\r
+\r
+VOID\r
+MnpBuildTxPacket (\r
+  IN  MNP_SERVICE_DATA                   *MnpServiceData,\r
+  IN  EFI_MANAGED_NETWORK_TRANSMIT_DATA  *TxData,\r
+  OUT UINT8                              **PktBuf,\r
+  OUT UINT32                             *PktLen\r
+  );\r
+\r
+EFI_STATUS\r
+MnpSyncSendPacket (\r
+  IN MNP_SERVICE_DATA                      *MnpServiceData,\r
+  IN UINT8                                 *Packet,\r
+  IN UINT32                                Length,\r
+  IN EFI_MANAGED_NETWORK_COMPLETION_TOKEN  *Token\r
+  );\r
+\r
+EFI_STATUS\r
+MnpInstanceDeliverPacket (\r
+  IN MNP_INSTANCE_DATA  *Instance\r
+  );\r
+\r
+VOID\r
+EFIAPI\r
+MnpRecycleRxData (\r
+  IN EFI_EVENT  Event,\r
+  IN VOID       *Context\r
+  );\r
+\r
+EFI_STATUS\r
+MnpReceivePacket (\r
+  IN MNP_SERVICE_DATA  *MnpServiceData\r
+  );\r
+\r
+NET_BUF *\r
+MnpAllocNbuf (\r
+  IN MNP_SERVICE_DATA  *MnpServiceData\r
+  );\r
+\r
+VOID\r
+MnpFreeNbuf (\r
+  IN MNP_SERVICE_DATA  *MnpServiceData,\r
+  IN NET_BUF           *Nbuf\r
+  );\r
+\r
+VOID\r
+EFIAPI\r
+MnpCheckPacketTimeout (\r
+  IN EFI_EVENT  Event,\r
+  IN VOID       *Context\r
+  );\r
+\r
+VOID\r
+EFIAPI\r
+MnpSystemPoll (\r
+  IN EFI_EVENT  Event,\r
+  IN VOID       *Context\r
+  );\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+MnpGetModeData (\r
+  IN  EFI_MANAGED_NETWORK_PROTOCOL     *This,\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
+MnpConfigure (\r
+  IN EFI_MANAGED_NETWORK_PROTOCOL     *This,\r
+  IN EFI_MANAGED_NETWORK_CONFIG_DATA  *MnpConfigData OPTIONAL\r
+  );\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+MnpMcastIpToMac (\r
+  IN  EFI_MANAGED_NETWORK_PROTOCOL  *This,\r
+  IN  BOOLEAN                       Ipv6Flag,\r
+  IN  EFI_IP_ADDRESS                *IpAddress,\r
+  OUT EFI_MAC_ADDRESS               *MacAddress\r
+  );\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+MnpGroups (\r
+  IN EFI_MANAGED_NETWORK_PROTOCOL  *This,\r
+  IN BOOLEAN                       JoinFlag,\r
+  IN EFI_MAC_ADDRESS               *MacAddress OPTIONAL\r
+  );\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+MnpTransmit (\r
+  IN EFI_MANAGED_NETWORK_PROTOCOL          *This,\r
+  IN EFI_MANAGED_NETWORK_COMPLETION_TOKEN  *Token\r
+  );\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+MnpCancel (\r
+  IN EFI_MANAGED_NETWORK_PROTOCOL          *This,\r
+  IN EFI_MANAGED_NETWORK_COMPLETION_TOKEN  *Token OPTIONAL\r
+  );\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+MnpReceive (\r
+  IN EFI_MANAGED_NETWORK_PROTOCOL          *This,\r
+  IN EFI_MANAGED_NETWORK_COMPLETION_TOKEN  *Token\r
+  );\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+MnpPoll (\r
+  IN EFI_MANAGED_NETWORK_PROTOCOL  *This\r
+  );\r
+\r
+#endif\r