\r
Copyright (c) 2010, Apple, Inc. All rights reserved.<BR>\r
\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
+ SPDX-License-Identifier: BSD-2-Clause-Patent\r
\r
Module Name:\r
\r
#include <Protocol/EmuIoThunk.h>\r
#include <Protocol/EmuSnp.h>\r
\r
-\r
#include <Library/BaseLib.h>\r
#include <Library/DebugLib.h>\r
#include <Library/BaseMemoryLib.h>\r
#include <Library/MemoryAllocationLib.h>\r
#include <Library/NetLib.h>\r
\r
-#define NET_ETHER_HEADER_SIZE 14\r
+#define NET_ETHER_HEADER_SIZE 14\r
\r
//\r
// Private data for driver.\r
//\r
-#define EMU_SNP_PRIVATE_DATA_SIGNATURE SIGNATURE_32( 'U', 'S', 'N', 'P' )\r
+#define EMU_SNP_PRIVATE_DATA_SIGNATURE SIGNATURE_32( 'U', 'S', 'N', 'P' )\r
\r
typedef struct {\r
- UINTN Signature;\r
- EMU_IO_THUNK_PROTOCOL *IoThunk;\r
- EMU_SNP_PROTOCOL *Io;\r
- EFI_DEVICE_PATH_PROTOCOL *DevicePath;\r
+ UINTN Signature;\r
+ EMU_IO_THUNK_PROTOCOL *IoThunk;\r
+ EMU_SNP_PROTOCOL *Io;\r
+ EFI_DEVICE_PATH_PROTOCOL *DevicePath;\r
\r
- EFI_HANDLE EfiHandle;\r
- EFI_HANDLE DeviceHandle;\r
+ EFI_HANDLE EfiHandle;\r
+ EFI_HANDLE DeviceHandle;\r
\r
- EFI_SIMPLE_NETWORK_PROTOCOL Snp;\r
- EFI_SIMPLE_NETWORK_MODE Mode;\r
- \r
- EFI_UNICODE_STRING_TABLE *ControllerNameTable;\r
+ EFI_SIMPLE_NETWORK_PROTOCOL Snp;\r
+ EFI_SIMPLE_NETWORK_MODE Mode;\r
\r
+ EFI_UNICODE_STRING_TABLE *ControllerNameTable;\r
} EMU_SNP_PRIVATE_DATA;\r
\r
#define EMU_SNP_PRIVATE_DATA_FROM_SNP_THIS(a) \\r
CR( a, EMU_SNP_PRIVATE_DATA, Snp, EMU_SNP_PRIVATE_DATA_SIGNATURE )\r
\r
-extern EFI_DRIVER_BINDING_PROTOCOL gEmuSnpDriverBinding;\r
-extern EFI_COMPONENT_NAME_PROTOCOL gEmuSnpDriverComponentName;\r
-extern EFI_COMPONENT_NAME2_PROTOCOL gEmuSnpDriverComponentName2;\r
+extern EFI_DRIVER_BINDING_PROTOCOL gEmuSnpDriverBinding;\r
+extern EFI_COMPONENT_NAME_PROTOCOL gEmuSnpDriverComponentName;\r
+extern EFI_COMPONENT_NAME2_PROTOCOL gEmuSnpDriverComponentName2;\r
\r
/**\r
Test to see if this driver supports ControllerHandle. This service\r
EFI_STATUS\r
EFIAPI\r
EmuSnpDriverBindingSupported (\r
- IN EFI_DRIVER_BINDING_PROTOCOL * This,\r
+ IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
IN EFI_HANDLE ControllerHandle,\r
- IN EFI_DEVICE_PATH_PROTOCOL * RemainingDevicePath OPTIONAL\r
+ IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath OPTIONAL\r
);\r
\r
/**\r
EFI_STATUS\r
EFIAPI\r
EmuSnpDriverBindingStart (\r
- IN EFI_DRIVER_BINDING_PROTOCOL * This,\r
+ IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
IN EFI_HANDLE ControllerHandle,\r
- IN EFI_DEVICE_PATH_PROTOCOL * RemainingDevicePath OPTIONAL\r
+ IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath OPTIONAL\r
);\r
\r
/**\r
restrictions for this service. DisconnectController()\r
must follow these calling restrictions. If any other agent wishes\r
to call Stop() it must also follow these calling restrictions.\r
- \r
+\r
@param This Protocol instance pointer.\r
@param ControllerHandle Handle of device to stop driver on\r
@param NumberOfChildren Number of Handles in ChildHandleBuffer. If number of\r
**/\r
EFI_STATUS\r
EFIAPI\r
-EmuSnpStart(\r
- IN EFI_SIMPLE_NETWORK_PROTOCOL* This\r
+EmuSnpStart (\r
+ IN EFI_SIMPLE_NETWORK_PROTOCOL *This\r
);\r
- \r
+\r
/**\r
Changes the state of a network interface from "started" to "stopped".\r
\r
**/\r
EFI_STATUS\r
EFIAPI\r
-EmuSnpStop(\r
- IN EFI_SIMPLE_NETWORK_PROTOCOL* This\r
+EmuSnpStop (\r
+ IN EFI_SIMPLE_NETWORK_PROTOCOL *This\r
);\r
- \r
+\r
/**\r
- Resets a network adapter and allocates the transmit and receive buffers \r
- required by the network interface; optionally, also requests allocation \r
+ Resets a network adapter and allocates the transmit and receive buffers\r
+ required by the network interface; optionally, also requests allocation\r
of additional transmit and receive buffers.\r
\r
@param This Protocol instance pointer.\r
**/\r
EFI_STATUS\r
EFIAPI\r
-EmuSnpInitialize(\r
- IN EFI_SIMPLE_NETWORK_PROTOCOL* This,\r
- IN UINTN ExtraRxBufferSize OPTIONAL,\r
- IN UINTN ExtraTxBufferSize OPTIONAL\r
+EmuSnpInitialize (\r
+ IN EFI_SIMPLE_NETWORK_PROTOCOL *This,\r
+ IN UINTN ExtraRxBufferSize OPTIONAL,\r
+ IN UINTN ExtraTxBufferSize OPTIONAL\r
);\r
- \r
+\r
/**\r
- Resets a network adapter and re-initializes it with the parameters that were \r
- provided in the previous call to Initialize(). \r
+ Resets a network adapter and re-initializes it with the parameters that were\r
+ provided in the previous call to Initialize().\r
\r
@param This Protocol instance pointer.\r
@param ExtendedVerification Indicates that the driver may perform a more\r
**/\r
EFI_STATUS\r
EFIAPI\r
-EmuSnpReset(\r
- IN EFI_SIMPLE_NETWORK_PROTOCOL* This,\r
- IN BOOLEAN ExtendedVerification\r
+EmuSnpReset (\r
+ IN EFI_SIMPLE_NETWORK_PROTOCOL *This,\r
+ IN BOOLEAN ExtendedVerification\r
);\r
\r
/**\r
- Resets a network adapter and leaves it in a state that is safe for \r
+ Resets a network adapter and leaves it in a state that is safe for\r
another driver to initialize.\r
\r
@param This Protocol instance pointer.\r
**/\r
EFI_STATUS\r
EFIAPI\r
-EmuSnpShutdown(\r
- IN EFI_SIMPLE_NETWORK_PROTOCOL* This\r
+EmuSnpShutdown (\r
+ IN EFI_SIMPLE_NETWORK_PROTOCOL *This\r
);\r
\r
/**\r
**/\r
EFI_STATUS\r
EFIAPI\r
-EmuSnpReceiveFilters(\r
- IN EFI_SIMPLE_NETWORK_PROTOCOL* This,\r
- IN UINT32 EnableBits,\r
- IN UINT32 DisableBits,\r
- IN BOOLEAN ResetMcastFilter,\r
- IN UINTN McastFilterCount OPTIONAL,\r
- IN EFI_MAC_ADDRESS* McastFilter OPTIONAL\r
+EmuSnpReceiveFilters (\r
+ IN EFI_SIMPLE_NETWORK_PROTOCOL *This,\r
+ IN UINT32 EnableBits,\r
+ IN UINT32 DisableBits,\r
+ IN BOOLEAN ResetMcastFilter,\r
+ IN UINTN McastFilterCount OPTIONAL,\r
+ IN EFI_MAC_ADDRESS *McastFilter OPTIONAL\r
);\r
\r
/**\r
**/\r
EFI_STATUS\r
EFIAPI\r
-EmuSnpStationAddress(\r
- IN EFI_SIMPLE_NETWORK_PROTOCOL* This,\r
- IN BOOLEAN Reset,\r
- IN EFI_MAC_ADDRESS* NewMacAddr OPTIONAL\r
+EmuSnpStationAddress (\r
+ IN EFI_SIMPLE_NETWORK_PROTOCOL *This,\r
+ IN BOOLEAN Reset,\r
+ IN EFI_MAC_ADDRESS *NewMacAddr OPTIONAL\r
);\r
\r
/**\r
**/\r
EFI_STATUS\r
EFIAPI\r
-EmuSnpStatistics(\r
- IN EFI_SIMPLE_NETWORK_PROTOCOL* This,\r
- IN BOOLEAN Reset,\r
- IN OUT UINTN* StatisticsSize OPTIONAL,\r
- OUT EFI_NETWORK_STATISTICS* StatisticsTable OPTIONAL\r
+EmuSnpStatistics (\r
+ IN EFI_SIMPLE_NETWORK_PROTOCOL *This,\r
+ IN BOOLEAN Reset,\r
+ IN OUT UINTN *StatisticsSize OPTIONAL,\r
+ OUT EFI_NETWORK_STATISTICS *StatisticsTable OPTIONAL\r
);\r
- \r
+\r
/**\r
Converts a multicast IP address to a multicast HW MAC address.\r
- \r
+\r
@param This Protocol instance pointer.\r
@param Ipv6 Set to TRUE if the multicast IP address is IPv6 [RFC 2460]. Set\r
to FALSE if the multicast IP address is IPv4 [RFC 791].\r
**/\r
EFI_STATUS\r
EFIAPI\r
-EmuSnpMcastIptoMac(\r
- IN EFI_SIMPLE_NETWORK_PROTOCOL* This,\r
- IN BOOLEAN Ipv6,\r
- IN EFI_IP_ADDRESS* Ip,\r
- OUT EFI_MAC_ADDRESS* Mac\r
+EmuSnpMcastIptoMac (\r
+ IN EFI_SIMPLE_NETWORK_PROTOCOL *This,\r
+ IN BOOLEAN Ipv6,\r
+ IN EFI_IP_ADDRESS *Ip,\r
+ OUT EFI_MAC_ADDRESS *Mac\r
);\r
\r
/**\r
- Performs read and write operations on the NVRAM device attached to a \r
+ Performs read and write operations on the NVRAM device attached to a\r
network interface.\r
\r
@param This Protocol instance pointer.\r
**/\r
EFI_STATUS\r
EFIAPI\r
-EmuSnpNvdata(\r
- IN EFI_SIMPLE_NETWORK_PROTOCOL* This,\r
- IN BOOLEAN ReadOrWrite,\r
- IN UINTN Offset,\r
- IN UINTN BufferSize,\r
- IN OUT VOID* Buffer\r
+EmuSnpNvdata (\r
+ IN EFI_SIMPLE_NETWORK_PROTOCOL *This,\r
+ IN BOOLEAN ReadOrWrite,\r
+ IN UINTN Offset,\r
+ IN UINTN BufferSize,\r
+ IN OUT VOID *Buffer\r
);\r
\r
/**\r
- Reads the current interrupt status and recycled transmit buffer status from \r
+ Reads the current interrupt status and recycled transmit buffer status from\r
a network interface.\r
\r
@param This Protocol instance pointer.\r
**/\r
EFI_STATUS\r
EFIAPI\r
-EmuSnpGetStatus(\r
- IN EFI_SIMPLE_NETWORK_PROTOCOL* This,\r
- OUT UINT32* InterruptStatus,\r
- OUT VOID** TxBuffer\r
+EmuSnpGetStatus (\r
+ IN EFI_SIMPLE_NETWORK_PROTOCOL *This,\r
+ OUT UINT32 *InterruptStatus,\r
+ OUT VOID **TxBuffer\r
);\r
\r
/**\r
**/\r
EFI_STATUS\r
EFIAPI\r
-EmuSnpTransmit(\r
- IN EFI_SIMPLE_NETWORK_PROTOCOL* This,\r
- IN UINTN HeaderSize,\r
- IN UINTN BufferSize,\r
- IN VOID* Buffer,\r
- IN EFI_MAC_ADDRESS* SrcAddr OPTIONAL,\r
- IN EFI_MAC_ADDRESS* DestAddr OPTIONAL,\r
- IN UINT16* Protocol OPTIONAL\r
+EmuSnpTransmit (\r
+ IN EFI_SIMPLE_NETWORK_PROTOCOL *This,\r
+ IN UINTN HeaderSize,\r
+ IN UINTN BufferSize,\r
+ IN VOID *Buffer,\r
+ IN EFI_MAC_ADDRESS *SrcAddr OPTIONAL,\r
+ IN EFI_MAC_ADDRESS *DestAddr OPTIONAL,\r
+ IN UINT16 *Protocol OPTIONAL\r
);\r
\r
/**\r
**/\r
EFI_STATUS\r
EFIAPI\r
-EmuSnpReceive(\r
- IN EFI_SIMPLE_NETWORK_PROTOCOL* This,\r
- OUT UINTN* HeaderSize OPTIONAL,\r
- IN OUT UINTN* BuffSize,\r
- OUT VOID* Buffer,\r
- OUT EFI_MAC_ADDRESS* SourceAddr OPTIONAL,\r
- OUT EFI_MAC_ADDRESS* DestinationAddr OPTIONAL,\r
- OUT UINT16* Protocol OPTIONAL\r
+EmuSnpReceive (\r
+ IN EFI_SIMPLE_NETWORK_PROTOCOL *This,\r
+ OUT UINTN *HeaderSize OPTIONAL,\r
+ IN OUT UINTN *BuffSize,\r
+ OUT VOID *Buffer,\r
+ OUT EFI_MAC_ADDRESS *SourceAddr OPTIONAL,\r
+ OUT EFI_MAC_ADDRESS *DestinationAddr OPTIONAL,\r
+ OUT UINT16 *Protocol OPTIONAL\r
);\r
\r
VOID\r
EFIAPI\r
-EmuSnpWaitForPacketNotify(\r
- IN EFI_EVENT Event,\r
- IN VOID* Private\r
+EmuSnpWaitForPacketNotify (\r
+ IN EFI_EVENT Event,\r
+ IN VOID *Private\r
);\r
\r
-#endif // _EMU_SNP_H_\r
+#endif // _EMU_SNP_H_\r