]> git.proxmox.com Git - mirror_edk2.git/blame - EdkCompatibilityPkg/Foundation/Efi/Protocol/ManagedNetwork/ManagedNetwork.h
Update the copyright notice format
[mirror_edk2.git] / EdkCompatibilityPkg / Foundation / Efi / Protocol / ManagedNetwork / ManagedNetwork.h
CommitLineData
3eb9473e 1/*++ \r
2\r
f57387d5
HT
3Copyright (c) 2005 - 2006, Intel Corporation. All rights reserved.<BR>\r
4This program and the accompanying materials \r
3eb9473e 5are licensed and made available under the terms and conditions of the BSD License \r
6which accompanies this distribution. The full text of the license may be found at \r
7http://opensource.org/licenses/bsd-license.php \r
8 \r
9THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
10WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
11\r
12Module Name:\r
13\r
14 ManagedNetwork.h\r
15\r
16Abstract:\r
17\r
18 UEFI Managed Network protocol definition.\r
19\r
20--*/\r
21\r
22#ifndef _MANAGED_NETWORK_H_\r
23#define _MANAGED_NETWORK_H_\r
24\r
25#include EFI_PROTOCOL_DEFINITION (SimpleNetwork)\r
26#include EFI_PROTOCOL_DEFINITION (ServiceBinding)\r
27\r
28#define EFI_MANAGED_NETWORK_SERVICE_BINDING_PROTOCOL_GUID \\r
7ccf38a3 29 { 0xf36ff770, 0xa7e1, 0x42cf, {0x9e, 0xd2, 0x56, 0xf0, 0xf2, 0x71, 0xf4, 0x4c} }\r
3eb9473e 30\r
31#define EFI_MANAGED_NETWORK_PROTOCOL_GUID \\r
7ccf38a3 32 { 0x7ab33a91, 0xace5, 0x4326, {0xb5, 0x72, 0xe7, 0xee, 0x33, 0xd3, 0x9f, 0x16} }\r
3eb9473e 33\r
34EFI_FORWARD_DECLARATION (EFI_MANAGED_NETWORK_PROTOCOL);\r
35\r
36typedef struct {\r
37 UINT32 ReceivedQueueTimeoutValue;\r
38 UINT32 TransmitQueueTimeoutValue;\r
39 UINT16 ProtocolTypeFilter;\r
40 BOOLEAN EnableUnicastReceive;\r
41 BOOLEAN EnableMulticastReceive;\r
42 BOOLEAN EnableBroadcastReceive;\r
43 BOOLEAN EnablePromiscuousReceive;\r
44 BOOLEAN FlushQueuesOnReset;\r
45 BOOLEAN EnableReceiveTimestamps;\r
46 BOOLEAN DisableBackgroundPolling;\r
47} EFI_MANAGED_NETWORK_CONFIG_DATA;\r
48\r
49typedef struct {\r
50 EFI_TIME Timestamp;\r
51 EFI_EVENT RecycleEvent;\r
52 UINT32 PacketLength;\r
53 UINT32 HeaderLength;\r
54 UINT32 AddressLength;\r
55 UINT32 DataLength;\r
56 BOOLEAN BroadcastFlag;\r
57 BOOLEAN MulticastFlag;\r
58 BOOLEAN PromiscuousFlag;\r
59 UINT16 ProtocolType;\r
60 VOID *DestinationAddress;\r
61 VOID *SourceAddress;\r
62 VOID *MediaHeader;\r
63 VOID *PacketData;\r
64} EFI_MANAGED_NETWORK_RECEIVE_DATA;\r
65\r
66typedef struct {\r
67 UINT32 FragmentLength;\r
68 VOID *FragmentBuffer;\r
69} EFI_MANAGED_NETWORK_FRAGMENT_DATA;\r
70\r
71typedef struct {\r
72 EFI_MAC_ADDRESS *DestinationAddress;\r
73 EFI_MAC_ADDRESS *SourceAddress;\r
74 UINT16 ProtocolType;\r
75 UINT32 DataLength;\r
76 UINT16 HeaderLength;\r
77 UINT16 FragmentCount;\r
78 EFI_MANAGED_NETWORK_FRAGMENT_DATA FragmentTable[1];\r
79} EFI_MANAGED_NETWORK_TRANSMIT_DATA;\r
80\r
81\r
82typedef struct {\r
83 EFI_EVENT Event;\r
84 EFI_STATUS Status;\r
85 union {\r
86 EFI_MANAGED_NETWORK_RECEIVE_DATA *RxData;\r
87 EFI_MANAGED_NETWORK_TRANSMIT_DATA *TxData;\r
88 } Packet;\r
89} EFI_MANAGED_NETWORK_COMPLETION_TOKEN;\r
90\r
91typedef\r
92EFI_STATUS\r
93(EFIAPI *EFI_MANAGED_NETWORK_GET_MODE_DATA) (\r
94 IN EFI_MANAGED_NETWORK_PROTOCOL *This,\r
95 OUT EFI_MANAGED_NETWORK_CONFIG_DATA *MnpConfigData OPTIONAL,\r
96 OUT EFI_SIMPLE_NETWORK_MODE *SnpModeData OPTIONAL\r
97 );\r
98\r
99typedef\r
100EFI_STATUS\r
101(EFIAPI *EFI_MANAGED_NETWORK_CONFIGURE) (\r
102 IN EFI_MANAGED_NETWORK_PROTOCOL *This,\r
103 IN EFI_MANAGED_NETWORK_CONFIG_DATA *MnpConfigData OPTIONAL\r
104 );\r
105\r
106typedef\r
107EFI_STATUS\r
108(EFIAPI *EFI_MANAGED_NETWORK_MCAST_IP_TO_MAC) (\r
109 IN EFI_MANAGED_NETWORK_PROTOCOL *This,\r
110 IN BOOLEAN Ipv6Flag,\r
111 IN EFI_IP_ADDRESS *IpAddress,\r
112 OUT EFI_MAC_ADDRESS *MacAddress\r
113 );\r
114\r
115typedef\r
116EFI_STATUS\r
117(EFIAPI *EFI_MANAGED_NETWORK_GROUPS) (\r
118 IN EFI_MANAGED_NETWORK_PROTOCOL *This,\r
119 IN BOOLEAN JoinFlag,\r
120 IN EFI_MAC_ADDRESS *MacAddress OPTIONAL\r
121 );\r
122\r
123typedef\r
124EFI_STATUS\r
125(EFIAPI *EFI_MANAGED_NETWORK_TRANSMIT) (\r
126 IN EFI_MANAGED_NETWORK_PROTOCOL *This,\r
127 IN EFI_MANAGED_NETWORK_COMPLETION_TOKEN *Token\r
128 );\r
129\r
130typedef\r
131EFI_STATUS\r
132(EFIAPI *EFI_MANAGED_NETWORK_RECEIVE) (\r
133 IN EFI_MANAGED_NETWORK_PROTOCOL *This,\r
134 IN EFI_MANAGED_NETWORK_COMPLETION_TOKEN *Token\r
135 );\r
136\r
137typedef\r
138EFI_STATUS\r
139(EFIAPI *EFI_MANAGED_NETWORK_CANCEL) (\r
140 IN EFI_MANAGED_NETWORK_PROTOCOL *This,\r
141 IN EFI_MANAGED_NETWORK_COMPLETION_TOKEN *Token OPTIONAL\r
142 );\r
143\r
144typedef\r
145EFI_STATUS\r
146(EFIAPI *EFI_MANAGED_NETWORK_POLL) (\r
147 IN EFI_MANAGED_NETWORK_PROTOCOL *This\r
148 );\r
149\r
e5bce275 150struct _EFI_MANAGED_NETWORK_PROTOCOL {\r
3eb9473e 151 EFI_MANAGED_NETWORK_GET_MODE_DATA GetModeData;\r
152 EFI_MANAGED_NETWORK_CONFIGURE Configure;\r
153 EFI_MANAGED_NETWORK_MCAST_IP_TO_MAC McastIpToMac;\r
154 EFI_MANAGED_NETWORK_GROUPS Groups;\r
155 EFI_MANAGED_NETWORK_TRANSMIT Transmit;\r
156 EFI_MANAGED_NETWORK_RECEIVE Receive;\r
157 EFI_MANAGED_NETWORK_CANCEL Cancel;\r
158 EFI_MANAGED_NETWORK_POLL Poll;\r
e5bce275 159};\r
3eb9473e 160\r
161extern EFI_GUID gEfiManagedNetworkServiceBindingProtocolGuid;\r
162extern EFI_GUID gEfiManagedNetworkProtocolGuid;\r
163\r
164#endif\r