3 Copyright (c) 2005 - 2006, Intel Corporation. All rights reserved.<BR>
4 This program and the accompanying materials
5 are licensed and made available under the terms and conditions of the BSD License
6 which accompanies this distribution. The full text of the license may be found at
7 http://opensource.org/licenses/bsd-license.php
9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
18 UEFI Managed Network protocol definition.
22 #ifndef _MANAGED_NETWORK_H_
23 #define _MANAGED_NETWORK_H_
25 #include EFI_PROTOCOL_DEFINITION (SimpleNetwork)
26 #include EFI_PROTOCOL_DEFINITION (ServiceBinding)
28 #define EFI_MANAGED_NETWORK_SERVICE_BINDING_PROTOCOL_GUID \
29 { 0xf36ff770, 0xa7e1, 0x42cf, {0x9e, 0xd2, 0x56, 0xf0, 0xf2, 0x71, 0xf4, 0x4c} }
31 #define EFI_MANAGED_NETWORK_PROTOCOL_GUID \
32 { 0x7ab33a91, 0xace5, 0x4326, {0xb5, 0x72, 0xe7, 0xee, 0x33, 0xd3, 0x9f, 0x16} }
34 EFI_FORWARD_DECLARATION (EFI_MANAGED_NETWORK_PROTOCOL
);
37 UINT32 ReceivedQueueTimeoutValue
;
38 UINT32 TransmitQueueTimeoutValue
;
39 UINT16 ProtocolTypeFilter
;
40 BOOLEAN EnableUnicastReceive
;
41 BOOLEAN EnableMulticastReceive
;
42 BOOLEAN EnableBroadcastReceive
;
43 BOOLEAN EnablePromiscuousReceive
;
44 BOOLEAN FlushQueuesOnReset
;
45 BOOLEAN EnableReceiveTimestamps
;
46 BOOLEAN DisableBackgroundPolling
;
47 } EFI_MANAGED_NETWORK_CONFIG_DATA
;
51 EFI_EVENT RecycleEvent
;
56 BOOLEAN BroadcastFlag
;
57 BOOLEAN MulticastFlag
;
58 BOOLEAN PromiscuousFlag
;
60 VOID
*DestinationAddress
;
64 } EFI_MANAGED_NETWORK_RECEIVE_DATA
;
67 UINT32 FragmentLength
;
69 } EFI_MANAGED_NETWORK_FRAGMENT_DATA
;
72 EFI_MAC_ADDRESS
*DestinationAddress
;
73 EFI_MAC_ADDRESS
*SourceAddress
;
78 EFI_MANAGED_NETWORK_FRAGMENT_DATA FragmentTable
[1];
79 } EFI_MANAGED_NETWORK_TRANSMIT_DATA
;
86 EFI_MANAGED_NETWORK_RECEIVE_DATA
*RxData
;
87 EFI_MANAGED_NETWORK_TRANSMIT_DATA
*TxData
;
89 } EFI_MANAGED_NETWORK_COMPLETION_TOKEN
;
93 (EFIAPI
*EFI_MANAGED_NETWORK_GET_MODE_DATA
) (
94 IN EFI_MANAGED_NETWORK_PROTOCOL
*This
,
95 OUT EFI_MANAGED_NETWORK_CONFIG_DATA
*MnpConfigData OPTIONAL
,
96 OUT EFI_SIMPLE_NETWORK_MODE
*SnpModeData OPTIONAL
101 (EFIAPI
*EFI_MANAGED_NETWORK_CONFIGURE
) (
102 IN EFI_MANAGED_NETWORK_PROTOCOL
*This
,
103 IN EFI_MANAGED_NETWORK_CONFIG_DATA
*MnpConfigData OPTIONAL
108 (EFIAPI
*EFI_MANAGED_NETWORK_MCAST_IP_TO_MAC
) (
109 IN EFI_MANAGED_NETWORK_PROTOCOL
*This
,
111 IN EFI_IP_ADDRESS
*IpAddress
,
112 OUT EFI_MAC_ADDRESS
*MacAddress
117 (EFIAPI
*EFI_MANAGED_NETWORK_GROUPS
) (
118 IN EFI_MANAGED_NETWORK_PROTOCOL
*This
,
120 IN EFI_MAC_ADDRESS
*MacAddress OPTIONAL
125 (EFIAPI
*EFI_MANAGED_NETWORK_TRANSMIT
) (
126 IN EFI_MANAGED_NETWORK_PROTOCOL
*This
,
127 IN EFI_MANAGED_NETWORK_COMPLETION_TOKEN
*Token
132 (EFIAPI
*EFI_MANAGED_NETWORK_RECEIVE
) (
133 IN EFI_MANAGED_NETWORK_PROTOCOL
*This
,
134 IN EFI_MANAGED_NETWORK_COMPLETION_TOKEN
*Token
139 (EFIAPI
*EFI_MANAGED_NETWORK_CANCEL
) (
140 IN EFI_MANAGED_NETWORK_PROTOCOL
*This
,
141 IN EFI_MANAGED_NETWORK_COMPLETION_TOKEN
*Token OPTIONAL
146 (EFIAPI
*EFI_MANAGED_NETWORK_POLL
) (
147 IN EFI_MANAGED_NETWORK_PROTOCOL
*This
150 struct _EFI_MANAGED_NETWORK_PROTOCOL
{
151 EFI_MANAGED_NETWORK_GET_MODE_DATA GetModeData
;
152 EFI_MANAGED_NETWORK_CONFIGURE Configure
;
153 EFI_MANAGED_NETWORK_MCAST_IP_TO_MAC McastIpToMac
;
154 EFI_MANAGED_NETWORK_GROUPS Groups
;
155 EFI_MANAGED_NETWORK_TRANSMIT Transmit
;
156 EFI_MANAGED_NETWORK_RECEIVE Receive
;
157 EFI_MANAGED_NETWORK_CANCEL Cancel
;
158 EFI_MANAGED_NETWORK_POLL Poll
;
161 extern EFI_GUID gEfiManagedNetworkServiceBindingProtocolGuid
;
162 extern EFI_GUID gEfiManagedNetworkProtocolGuid
;