TianoCore EDK2 master
Loading...
Searching...
No Matches
EmuSnp.h
Go to the documentation of this file.
1
12#ifndef __EMU_SNP_H__
13#define __EMU_SNP_H__
14
16
17#define EMU_SNP_PROTOCOL_GUID \
18 { 0xFD5FBE54, 0x8C35, 0xB345, { 0x8A, 0x0F, 0x7A, 0xC8, 0xA5, 0xFD, 0x05, 0x21 } }
19
21
32typedef
35 IN EMU_SNP_PROTOCOL *This,
37 );
38
51typedef
53(EFIAPI *EMU_SNP_START)(
55 );
56
69typedef
71(EFIAPI *EMU_SNP_STOP)(
73 );
74
101typedef
103(EFIAPI *EMU_SNP_INITIALIZE)(
104 IN EMU_SNP_PROTOCOL *This,
105 IN UINTN ExtraRxBufferSize OPTIONAL,
106 IN UINTN ExtraTxBufferSize OPTIONAL
107 );
108
125typedef
127(EFIAPI *EMU_SNP_RESET)(
128 IN EMU_SNP_PROTOCOL *This,
129 IN BOOLEAN ExtendedVerification
130 );
131
145typedef
147(EFIAPI *EMU_SNP_SHUTDOWN)(
148 IN EMU_SNP_PROTOCOL *This
149 );
150
175typedef
178 IN EMU_SNP_PROTOCOL *This,
179 IN UINT32 Enable,
180 IN UINT32 Disable,
181 IN BOOLEAN ResetMCastFilter,
182 IN UINTN MCastFilterCnt OPTIONAL,
183 IN EFI_MAC_ADDRESS *MCastFilter OPTIONAL
184 );
185
201typedef
204 IN EMU_SNP_PROTOCOL *This,
205 IN BOOLEAN Reset,
207 );
208
230typedef
232(EFIAPI *EMU_SNP_STATISTICS)(
233 IN EMU_SNP_PROTOCOL *This,
234 IN BOOLEAN Reset,
235 IN OUT UINTN *StatisticsSize OPTIONAL,
236 OUT EFI_NETWORK_STATISTICS *StatisticsTable OPTIONAL
237 );
238
260typedef
263 IN EMU_SNP_PROTOCOL *This,
264 IN BOOLEAN IPv6,
265 IN EFI_IP_ADDRESS *IP,
267 );
268
289typedef
291(EFIAPI *EMU_SNP_NVDATA)(
292 IN EMU_SNP_PROTOCOL *This,
293 IN BOOLEAN ReadWrite,
294 IN UINTN Offset,
295 IN UINTN BufferSize,
296 IN OUT VOID *Buffer
297 );
298
324typedef
326(EFIAPI *EMU_SNP_GET_STATUS)(
327 IN EMU_SNP_PROTOCOL *This,
328 OUT UINT32 *InterruptStatus OPTIONAL,
329 OUT VOID **TxBuf OPTIONAL
330 );
331
365typedef
367(EFIAPI *EMU_SNP_TRANSMIT)(
368 IN EMU_SNP_PROTOCOL *This,
369 IN UINTN HeaderSize,
370 IN UINTN BufferSize,
371 IN VOID *Buffer,
372 IN EFI_MAC_ADDRESS *SrcAddr OPTIONAL,
373 IN EFI_MAC_ADDRESS *DestAddr OPTIONAL,
374 IN UINT16 *Protocol OPTIONAL
375 );
376
409typedef
411(EFIAPI *EMU_SNP_RECEIVE)(
412 IN EMU_SNP_PROTOCOL *This,
413 OUT UINTN *HeaderSize OPTIONAL,
414 IN OUT UINTN *BufferSize,
415 OUT VOID *Buffer,
417 OUT EFI_MAC_ADDRESS *DestAddr OPTIONAL,
418 OUT UINT16 *Protocol OPTIONAL
419 );
420
421#define EMU_SNP_PROTOCOL_REVISION 0x00010000
422
423//
424// Revision defined in EFI1.1
425//
426#define EMU_SNP_INTERFACE_REVISION EMU_SNP_PROTOCOL_REVISION
427
433 EMU_SNP_CREATE_MAPPING CreateMapping;
434 EMU_SNP_START Start;
435 EMU_SNP_STOP Stop;
436 EMU_SNP_INITIALIZE Initialize;
437 EMU_SNP_RESET Reset;
438 EMU_SNP_SHUTDOWN Shutdown;
439 EMU_SNP_RECEIVE_FILTERS ReceiveFilters;
440 EMU_SNP_STATION_ADDRESS StationAddress;
441 EMU_SNP_STATISTICS Statistics;
442 EMU_SNP_MCAST_IP_TO_MAC MCastIpToMac;
443 EMU_SNP_NVDATA NvData;
444 EMU_SNP_GET_STATUS GetStatus;
445 EMU_SNP_TRANSMIT Transmit;
446 EMU_SNP_RECEIVE Receive;
447};
448
449extern EFI_GUID gEmuSnpProtocolGuid;
450
451#endif
UINT64 UINTN
EFI_STATUS(EFIAPI * EMU_SNP_CREATE_MAPPING)(IN EMU_SNP_PROTOCOL *This, IN EFI_SIMPLE_NETWORK_MODE *Mode)
Definition: EmuSnp.h:34
EFI_STATUS(EFIAPI * EMU_SNP_STATION_ADDRESS)(IN EMU_SNP_PROTOCOL *This, IN BOOLEAN Reset, IN EFI_MAC_ADDRESS *New OPTIONAL)
Definition: EmuSnp.h:203
EFI_STATUS(EFIAPI * EMU_SNP_STOP)(IN EMU_SNP_PROTOCOL *This)
Definition: EmuSnp.h:71
EFI_STATUS(EFIAPI * EMU_SNP_RECEIVE)(IN EMU_SNP_PROTOCOL *This, OUT UINTN *HeaderSize OPTIONAL, IN OUT UINTN *BufferSize, OUT VOID *Buffer, OUT EFI_MAC_ADDRESS *SrcAddr OPTIONAL, OUT EFI_MAC_ADDRESS *DestAddr OPTIONAL, OUT UINT16 *Protocol OPTIONAL)
Definition: EmuSnp.h:411
EFI_STATUS(EFIAPI * EMU_SNP_STATISTICS)(IN EMU_SNP_PROTOCOL *This, IN BOOLEAN Reset, IN OUT UINTN *StatisticsSize OPTIONAL, OUT EFI_NETWORK_STATISTICS *StatisticsTable OPTIONAL)
Definition: EmuSnp.h:232
EFI_STATUS(EFIAPI * EMU_SNP_INITIALIZE)(IN EMU_SNP_PROTOCOL *This, IN UINTN ExtraRxBufferSize OPTIONAL, IN UINTN ExtraTxBufferSize OPTIONAL)
Definition: EmuSnp.h:103
EFI_STATUS(EFIAPI * EMU_SNP_TRANSMIT)(IN EMU_SNP_PROTOCOL *This, IN UINTN HeaderSize, IN UINTN BufferSize, IN VOID *Buffer, IN EFI_MAC_ADDRESS *SrcAddr OPTIONAL, IN EFI_MAC_ADDRESS *DestAddr OPTIONAL, IN UINT16 *Protocol OPTIONAL)
Definition: EmuSnp.h:367
EFI_STATUS(EFIAPI * EMU_SNP_START)(IN EMU_SNP_PROTOCOL *This)
Definition: EmuSnp.h:53
EFI_STATUS(EFIAPI * EMU_SNP_NVDATA)(IN EMU_SNP_PROTOCOL *This, IN BOOLEAN ReadWrite, IN UINTN Offset, IN UINTN BufferSize, IN OUT VOID *Buffer)
Definition: EmuSnp.h:291
EFI_STATUS(EFIAPI * EMU_SNP_GET_STATUS)(IN EMU_SNP_PROTOCOL *This, OUT UINT32 *InterruptStatus OPTIONAL, OUT VOID **TxBuf OPTIONAL)
Definition: EmuSnp.h:326
EFI_STATUS(EFIAPI * EMU_SNP_SHUTDOWN)(IN EMU_SNP_PROTOCOL *This)
Definition: EmuSnp.h:147
EFI_STATUS(EFIAPI * EMU_SNP_RESET)(IN EMU_SNP_PROTOCOL *This, IN BOOLEAN ExtendedVerification)
Definition: EmuSnp.h:127
EFI_STATUS(EFIAPI * EMU_SNP_MCAST_IP_TO_MAC)(IN EMU_SNP_PROTOCOL *This, IN BOOLEAN IPv6, IN EFI_IP_ADDRESS *IP, OUT EFI_MAC_ADDRESS *MAC)
Definition: EmuSnp.h:262
EFI_STATUS(EFIAPI * EMU_SNP_RECEIVE_FILTERS)(IN EMU_SNP_PROTOCOL *This, IN UINT32 Enable, IN UINT32 Disable, IN BOOLEAN ResetMCastFilter, IN UINTN MCastFilterCnt OPTIONAL, IN EFI_MAC_ADDRESS *MCastFilter OPTIONAL)
Definition: EmuSnp.h:177
#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
Definition: Base.h:213