+++ /dev/null
-/*++ \r
-\r
-Copyright (c) 2005 - 2006, Intel Corporation. All rights reserved.<BR>\r
-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
- ManagedNetwork.h\r
-\r
-Abstract:\r
-\r
- UEFI Managed Network protocol definition.\r
-\r
---*/\r
-\r
-#ifndef _MANAGED_NETWORK_H_\r
-#define _MANAGED_NETWORK_H_\r
-\r
-#include EFI_PROTOCOL_DEFINITION (SimpleNetwork)\r
-#include EFI_PROTOCOL_DEFINITION (ServiceBinding)\r
-\r
-#define EFI_MANAGED_NETWORK_SERVICE_BINDING_PROTOCOL_GUID \\r
- { 0xf36ff770, 0xa7e1, 0x42cf, {0x9e, 0xd2, 0x56, 0xf0, 0xf2, 0x71, 0xf4, 0x4c} }\r
-\r
-#define EFI_MANAGED_NETWORK_PROTOCOL_GUID \\r
- { 0x7ab33a91, 0xace5, 0x4326, {0xb5, 0x72, 0xe7, 0xee, 0x33, 0xd3, 0x9f, 0x16} }\r
-\r
-EFI_FORWARD_DECLARATION (EFI_MANAGED_NETWORK_PROTOCOL);\r
-\r
-typedef struct {\r
- UINT32 ReceivedQueueTimeoutValue;\r
- UINT32 TransmitQueueTimeoutValue;\r
- UINT16 ProtocolTypeFilter;\r
- BOOLEAN EnableUnicastReceive;\r
- BOOLEAN EnableMulticastReceive;\r
- BOOLEAN EnableBroadcastReceive;\r
- BOOLEAN EnablePromiscuousReceive;\r
- BOOLEAN FlushQueuesOnReset;\r
- BOOLEAN EnableReceiveTimestamps;\r
- BOOLEAN DisableBackgroundPolling;\r
-} EFI_MANAGED_NETWORK_CONFIG_DATA;\r
-\r
-typedef struct {\r
- EFI_TIME Timestamp;\r
- EFI_EVENT RecycleEvent;\r
- UINT32 PacketLength;\r
- UINT32 HeaderLength;\r
- UINT32 AddressLength;\r
- UINT32 DataLength;\r
- BOOLEAN BroadcastFlag;\r
- BOOLEAN MulticastFlag;\r
- BOOLEAN PromiscuousFlag;\r
- UINT16 ProtocolType;\r
- VOID *DestinationAddress;\r
- VOID *SourceAddress;\r
- VOID *MediaHeader;\r
- VOID *PacketData;\r
-} EFI_MANAGED_NETWORK_RECEIVE_DATA;\r
-\r
-typedef struct {\r
- UINT32 FragmentLength;\r
- VOID *FragmentBuffer;\r
-} EFI_MANAGED_NETWORK_FRAGMENT_DATA;\r
-\r
-typedef struct {\r
- EFI_MAC_ADDRESS *DestinationAddress;\r
- EFI_MAC_ADDRESS *SourceAddress;\r
- UINT16 ProtocolType;\r
- UINT32 DataLength;\r
- UINT16 HeaderLength;\r
- UINT16 FragmentCount;\r
- EFI_MANAGED_NETWORK_FRAGMENT_DATA FragmentTable[1];\r
-} EFI_MANAGED_NETWORK_TRANSMIT_DATA;\r
-\r
-\r
-typedef struct {\r
- EFI_EVENT Event;\r
- EFI_STATUS Status;\r
- union {\r
- EFI_MANAGED_NETWORK_RECEIVE_DATA *RxData;\r
- EFI_MANAGED_NETWORK_TRANSMIT_DATA *TxData;\r
- } Packet;\r
-} EFI_MANAGED_NETWORK_COMPLETION_TOKEN;\r
-\r
-typedef\r
-EFI_STATUS\r
-(EFIAPI *EFI_MANAGED_NETWORK_GET_MODE_DATA) (\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
-typedef\r
-EFI_STATUS\r
-(EFIAPI *EFI_MANAGED_NETWORK_CONFIGURE) (\r
- IN EFI_MANAGED_NETWORK_PROTOCOL *This,\r
- IN EFI_MANAGED_NETWORK_CONFIG_DATA *MnpConfigData OPTIONAL\r
- );\r
-\r
-typedef\r
-EFI_STATUS\r
-(EFIAPI *EFI_MANAGED_NETWORK_MCAST_IP_TO_MAC) (\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
-typedef\r
-EFI_STATUS\r
-(EFIAPI *EFI_MANAGED_NETWORK_GROUPS) (\r
- IN EFI_MANAGED_NETWORK_PROTOCOL *This,\r
- IN BOOLEAN JoinFlag,\r
- IN EFI_MAC_ADDRESS *MacAddress OPTIONAL\r
- );\r
-\r
-typedef\r
-EFI_STATUS\r
-(EFIAPI *EFI_MANAGED_NETWORK_TRANSMIT) (\r
- IN EFI_MANAGED_NETWORK_PROTOCOL *This,\r
- IN EFI_MANAGED_NETWORK_COMPLETION_TOKEN *Token\r
- );\r
-\r
-typedef\r
-EFI_STATUS\r
-(EFIAPI *EFI_MANAGED_NETWORK_RECEIVE) (\r
- IN EFI_MANAGED_NETWORK_PROTOCOL *This,\r
- IN EFI_MANAGED_NETWORK_COMPLETION_TOKEN *Token\r
- );\r
-\r
-typedef\r
-EFI_STATUS\r
-(EFIAPI *EFI_MANAGED_NETWORK_CANCEL) (\r
- IN EFI_MANAGED_NETWORK_PROTOCOL *This,\r
- IN EFI_MANAGED_NETWORK_COMPLETION_TOKEN *Token OPTIONAL\r
- );\r
-\r
-typedef\r
-EFI_STATUS\r
-(EFIAPI *EFI_MANAGED_NETWORK_POLL) (\r
- IN EFI_MANAGED_NETWORK_PROTOCOL *This\r
- );\r
-\r
-struct _EFI_MANAGED_NETWORK_PROTOCOL {\r
- EFI_MANAGED_NETWORK_GET_MODE_DATA GetModeData;\r
- EFI_MANAGED_NETWORK_CONFIGURE Configure;\r
- EFI_MANAGED_NETWORK_MCAST_IP_TO_MAC McastIpToMac;\r
- EFI_MANAGED_NETWORK_GROUPS Groups;\r
- EFI_MANAGED_NETWORK_TRANSMIT Transmit;\r
- EFI_MANAGED_NETWORK_RECEIVE Receive;\r
- EFI_MANAGED_NETWORK_CANCEL Cancel;\r
- EFI_MANAGED_NETWORK_POLL Poll;\r
-};\r
-\r
-extern EFI_GUID gEfiManagedNetworkServiceBindingProtocolGuid;\r
-extern EFI_GUID gEfiManagedNetworkProtocolGuid;\r
-\r
-#endif\r