TianoCore EDK2 master
Loading...
Searching...
No Matches
ManagedNetwork.h
Go to the documentation of this file.
1
13#ifndef __EFI_MANAGED_NETWORK_PROTOCOL_H__
14#define __EFI_MANAGED_NETWORK_PROTOCOL_H__
15
17
18#define EFI_MANAGED_NETWORK_SERVICE_BINDING_PROTOCOL_GUID \
19 { \
20 0xf36ff770, 0xa7e1, 0x42cf, {0x9e, 0xd2, 0x56, 0xf0, 0xf2, 0x71, 0xf4, 0x4c } \
21 }
22
23#define EFI_MANAGED_NETWORK_PROTOCOL_GUID \
24 { \
25 0x7ab33a91, 0xace5, 0x4326, { 0xb5, 0x72, 0xe7, 0xee, 0x33, 0xd3, 0x9f, 0x16 } \
26 }
27
29
30typedef struct {
85
86typedef struct {
87 EFI_TIME Timestamp;
88 EFI_EVENT RecycleEvent;
89 UINT32 PacketLength;
90 UINT32 HeaderLength;
91 UINT32 AddressLength;
92 UINT32 DataLength;
93 BOOLEAN BroadcastFlag;
94 BOOLEAN MulticastFlag;
95 BOOLEAN PromiscuousFlag;
96 UINT16 ProtocolType;
97 VOID *DestinationAddress;
98 VOID *SourceAddress;
99 VOID *MediaHeader;
100 VOID *PacketData;
102
103typedef struct {
104 UINT32 FragmentLength;
105 VOID *FragmentBuffer;
107
108typedef struct {
109 EFI_MAC_ADDRESS *DestinationAddress; // OPTIONAL
110 EFI_MAC_ADDRESS *SourceAddress; // OPTIONAL
111 UINT16 ProtocolType; // OPTIONAL
112 UINT32 DataLength;
113 UINT16 HeaderLength; // OPTIONAL
114 UINT16 FragmentCount;
115 EFI_MANAGED_NETWORK_FRAGMENT_DATA FragmentTable[1];
117
118typedef struct {
131 union {
140 } Packet;
142
158typedef
164 );
165
185typedef
190 );
191
213typedef
217 IN BOOLEAN Ipv6Flag,
218 IN EFI_IP_ADDRESS *IpAddress,
219 OUT EFI_MAC_ADDRESS *MacAddress
220 );
221
243typedef
247 IN BOOLEAN JoinFlag,
248 IN EFI_MAC_ADDRESS *MacAddress OPTIONAL
249 );
250
267typedef
272 );
273
293typedef
298 );
299
319typedef
324 );
325
340typedef
344 );
345
359};
360
361extern EFI_GUID gEfiManagedNetworkServiceBindingProtocolGuid;
362extern EFI_GUID gEfiManagedNetworkProtocolGuid;
363
364#endif
EFI_STATUS(EFIAPI * EFI_MANAGED_NETWORK_GROUPS)(IN EFI_MANAGED_NETWORK_PROTOCOL *This, IN BOOLEAN JoinFlag, IN EFI_MAC_ADDRESS *MacAddress OPTIONAL)
EFI_STATUS(EFIAPI * EFI_MANAGED_NETWORK_TRANSMIT)(IN EFI_MANAGED_NETWORK_PROTOCOL *This, IN EFI_MANAGED_NETWORK_COMPLETION_TOKEN *Token)
EFI_STATUS(EFIAPI * EFI_MANAGED_NETWORK_CANCEL)(IN EFI_MANAGED_NETWORK_PROTOCOL *This, IN EFI_MANAGED_NETWORK_COMPLETION_TOKEN *Token OPTIONAL)
EFI_STATUS(EFIAPI * EFI_MANAGED_NETWORK_RECEIVE)(IN EFI_MANAGED_NETWORK_PROTOCOL *This, IN EFI_MANAGED_NETWORK_COMPLETION_TOKEN *Token)
EFI_STATUS(EFIAPI * EFI_MANAGED_NETWORK_MCAST_IP_TO_MAC)(IN EFI_MANAGED_NETWORK_PROTOCOL *This, IN BOOLEAN Ipv6Flag, IN EFI_IP_ADDRESS *IpAddress, OUT EFI_MAC_ADDRESS *MacAddress)
EFI_STATUS(EFIAPI * EFI_MANAGED_NETWORK_CONFIGURE)(IN EFI_MANAGED_NETWORK_PROTOCOL *This, IN EFI_MANAGED_NETWORK_CONFIG_DATA *MnpConfigData OPTIONAL)
EFI_STATUS(EFIAPI * EFI_MANAGED_NETWORK_GET_MODE_DATA)(IN EFI_MANAGED_NETWORK_PROTOCOL *This, OUT EFI_MANAGED_NETWORK_CONFIG_DATA *MnpConfigData OPTIONAL, OUT EFI_SIMPLE_NETWORK_MODE *SnpModeData OPTIONAL)
EFI_STATUS(EFIAPI * EFI_MANAGED_NETWORK_POLL)(IN EFI_MANAGED_NETWORK_PROTOCOL *This)
#define OPTIONAL
Definition: Base.h:290
#define IN
Definition: Base.h:279
#define OUT
Definition: Base.h:284
RETURN_STATUS EFI_STATUS
Definition: UefiBaseType.h:29
VOID * EFI_EVENT
Definition: UefiBaseType.h:37
EFI_MANAGED_NETWORK_RECEIVE_DATA * RxData
EFI_MANAGED_NETWORK_TRANSMIT_DATA * TxData
Definition: Base.h:213