\r
**/\r
\r
-\r
-\r
#include "Snp.h"\r
\r
/**\r
**/\r
EFI_STATUS\r
PxeRecvFilterEnable (\r
- SNP_DRIVER *Snp,\r
- UINT32 EnableFlags,\r
- UINTN MCastAddressCount,\r
- EFI_MAC_ADDRESS *MCastAddressList\r
+ SNP_DRIVER *Snp,\r
+ UINT32 EnableFlags,\r
+ UINTN MCastAddressCount,\r
+ EFI_MAC_ADDRESS *MCastAddressList\r
)\r
{\r
- Snp->Cdb.OpCode = PXE_OPCODE_RECEIVE_FILTERS;\r
- Snp->Cdb.OpFlags = PXE_OPFLAGS_RECEIVE_FILTER_ENABLE;\r
- Snp->Cdb.CPBsize = PXE_CPBSIZE_NOT_USED;\r
- Snp->Cdb.DBsize = PXE_DBSIZE_NOT_USED;\r
- Snp->Cdb.CPBaddr = PXE_CPBADDR_NOT_USED;\r
- Snp->Cdb.DBaddr = PXE_DBADDR_NOT_USED;\r
- Snp->Cdb.StatCode = PXE_STATCODE_INITIALIZE;\r
- Snp->Cdb.StatFlags = PXE_STATFLAGS_INITIALIZE;\r
- Snp->Cdb.IFnum = Snp->IfNum;\r
- Snp->Cdb.Control = PXE_CONTROL_LAST_CDB_IN_LIST;\r
+ Snp->Cdb.OpCode = PXE_OPCODE_RECEIVE_FILTERS;\r
+ Snp->Cdb.OpFlags = PXE_OPFLAGS_RECEIVE_FILTER_ENABLE;\r
+ Snp->Cdb.CPBsize = PXE_CPBSIZE_NOT_USED;\r
+ Snp->Cdb.DBsize = PXE_DBSIZE_NOT_USED;\r
+ Snp->Cdb.CPBaddr = PXE_CPBADDR_NOT_USED;\r
+ Snp->Cdb.DBaddr = PXE_DBADDR_NOT_USED;\r
+ Snp->Cdb.StatCode = PXE_STATCODE_INITIALIZE;\r
+ Snp->Cdb.StatFlags = PXE_STATFLAGS_INITIALIZE;\r
+ Snp->Cdb.IFnum = Snp->IfNum;\r
+ Snp->Cdb.Control = PXE_CONTROL_LAST_CDB_IN_LIST;\r
\r
if ((EnableFlags & EFI_SIMPLE_NETWORK_RECEIVE_UNICAST) != 0) {\r
Snp->Cdb.OpFlags |= PXE_OPFLAGS_RECEIVE_FILTER_UNICAST;\r
}\r
\r
if (MCastAddressCount != 0) {\r
- Snp->Cdb.CPBsize = (UINT16) (MCastAddressCount * sizeof (EFI_MAC_ADDRESS));\r
- Snp->Cdb.CPBaddr = (UINT64)(UINTN)Snp->Cpb;\r
+ Snp->Cdb.CPBsize = (UINT16)(MCastAddressCount * sizeof (EFI_MAC_ADDRESS));\r
+ Snp->Cdb.CPBaddr = (UINT64)(UINTN)Snp->Cpb;\r
CopyMem (Snp->Cpb, MCastAddressList, Snp->Cdb.CPBsize);\r
}\r
+\r
//\r
// Issue UNDI command and check result.\r
//\r
DEBUG ((DEBUG_NET, "\nsnp->undi.receive_filters() "));\r
\r
- (*Snp->IssueUndi32Command) ((UINT64)(UINTN) &Snp->Cdb);\r
+ (*Snp->IssueUndi32Command)((UINT64)(UINTN)&Snp->Cdb);\r
\r
if (Snp->Cdb.StatCode != PXE_STATCODE_SUCCESS) {\r
//\r
//\r
DEBUG (\r
(DEBUG_ERROR,\r
- "\nsnp->undi.receive_filters() %xh:%xh\n",\r
- Snp->Cdb.StatFlags,\r
- Snp->Cdb.StatCode)\r
+ "\nsnp->undi.receive_filters() %xh:%xh\n",\r
+ Snp->Cdb.StatFlags,\r
+ Snp->Cdb.StatCode)\r
);\r
\r
switch (Snp->Cdb.StatCode) {\r
- case PXE_STATCODE_INVALID_CDB:\r
- case PXE_STATCODE_INVALID_CPB:\r
- case PXE_STATCODE_INVALID_PARAMETER:\r
- return EFI_INVALID_PARAMETER;\r
+ case PXE_STATCODE_INVALID_CDB:\r
+ case PXE_STATCODE_INVALID_CPB:\r
+ case PXE_STATCODE_INVALID_PARAMETER:\r
+ return EFI_INVALID_PARAMETER;\r
\r
- case PXE_STATCODE_UNSUPPORTED:\r
- return EFI_UNSUPPORTED;\r
+ case PXE_STATCODE_UNSUPPORTED:\r
+ return EFI_UNSUPPORTED;\r
}\r
\r
return EFI_DEVICE_ERROR;\r
**/\r
EFI_STATUS\r
PxeRecvFilterDisable (\r
- SNP_DRIVER *Snp,\r
- UINT32 DisableFlags,\r
- BOOLEAN ResetMCastList\r
+ SNP_DRIVER *Snp,\r
+ UINT32 DisableFlags,\r
+ BOOLEAN ResetMCastList\r
)\r
{\r
- Snp->Cdb.OpCode = PXE_OPCODE_RECEIVE_FILTERS;\r
- Snp->Cdb.CPBsize = PXE_CPBSIZE_NOT_USED;\r
- Snp->Cdb.DBsize = PXE_DBSIZE_NOT_USED;\r
- Snp->Cdb.CPBaddr = PXE_CPBADDR_NOT_USED;\r
- Snp->Cdb.DBaddr = PXE_DBADDR_NOT_USED;\r
- Snp->Cdb.StatCode = PXE_STATCODE_INITIALIZE;\r
- Snp->Cdb.StatFlags = PXE_STATFLAGS_INITIALIZE;\r
- Snp->Cdb.IFnum = Snp->IfNum;\r
- Snp->Cdb.Control = PXE_CONTROL_LAST_CDB_IN_LIST;\r
-\r
- Snp->Cdb.OpFlags = (UINT16) ((DisableFlags != 0) ? PXE_OPFLAGS_RECEIVE_FILTER_DISABLE : PXE_OPFLAGS_NOT_USED);\r
+ Snp->Cdb.OpCode = PXE_OPCODE_RECEIVE_FILTERS;\r
+ Snp->Cdb.CPBsize = PXE_CPBSIZE_NOT_USED;\r
+ Snp->Cdb.DBsize = PXE_DBSIZE_NOT_USED;\r
+ Snp->Cdb.CPBaddr = PXE_CPBADDR_NOT_USED;\r
+ Snp->Cdb.DBaddr = PXE_DBADDR_NOT_USED;\r
+ Snp->Cdb.StatCode = PXE_STATCODE_INITIALIZE;\r
+ Snp->Cdb.StatFlags = PXE_STATFLAGS_INITIALIZE;\r
+ Snp->Cdb.IFnum = Snp->IfNum;\r
+ Snp->Cdb.Control = PXE_CONTROL_LAST_CDB_IN_LIST;\r
+\r
+ Snp->Cdb.OpFlags = (UINT16)((DisableFlags != 0) ? PXE_OPFLAGS_RECEIVE_FILTER_DISABLE : PXE_OPFLAGS_NOT_USED);\r
\r
if (ResetMCastList) {\r
Snp->Cdb.OpFlags |= PXE_OPFLAGS_RECEIVE_FILTER_RESET_MCAST_LIST;\r
if ((DisableFlags & EFI_SIMPLE_NETWORK_RECEIVE_MULTICAST) != 0) {\r
Snp->Cdb.OpFlags |= PXE_OPFLAGS_RECEIVE_FILTER_FILTERED_MULTICAST;\r
}\r
+\r
//\r
// Issue UNDI command and check result.\r
//\r
DEBUG ((DEBUG_NET, "\nsnp->undi.receive_filters() "));\r
\r
- (*Snp->IssueUndi32Command) ((UINT64)(UINTN) &Snp->Cdb);\r
+ (*Snp->IssueUndi32Command)((UINT64)(UINTN)&Snp->Cdb);\r
\r
if (Snp->Cdb.StatCode != PXE_STATCODE_SUCCESS) {\r
//\r
//\r
DEBUG (\r
(DEBUG_ERROR,\r
- "\nsnp->undi.receive_filters() %xh:%xh\n",\r
- Snp->Cdb.StatFlags,\r
- Snp->Cdb.StatCode)\r
+ "\nsnp->undi.receive_filters() %xh:%xh\n",\r
+ Snp->Cdb.StatFlags,\r
+ Snp->Cdb.StatCode)\r
);\r
\r
return EFI_DEVICE_ERROR;\r
**/\r
EFI_STATUS\r
PxeRecvFilterRead (\r
- SNP_DRIVER *Snp\r
+ SNP_DRIVER *Snp\r
)\r
{\r
- Snp->Cdb.OpCode = PXE_OPCODE_RECEIVE_FILTERS;\r
- Snp->Cdb.OpFlags = PXE_OPFLAGS_RECEIVE_FILTER_READ;\r
- Snp->Cdb.CPBsize = PXE_CPBSIZE_NOT_USED;\r
- Snp->Cdb.DBsize = (UINT16) (Snp->Mode.MaxMCastFilterCount * sizeof (EFI_MAC_ADDRESS));\r
- Snp->Cdb.CPBaddr = PXE_CPBADDR_NOT_USED;\r
+ Snp->Cdb.OpCode = PXE_OPCODE_RECEIVE_FILTERS;\r
+ Snp->Cdb.OpFlags = PXE_OPFLAGS_RECEIVE_FILTER_READ;\r
+ Snp->Cdb.CPBsize = PXE_CPBSIZE_NOT_USED;\r
+ Snp->Cdb.DBsize = (UINT16)(Snp->Mode.MaxMCastFilterCount * sizeof (EFI_MAC_ADDRESS));\r
+ Snp->Cdb.CPBaddr = PXE_CPBADDR_NOT_USED;\r
if (Snp->Cdb.DBsize == 0) {\r
- Snp->Cdb.DBaddr = (UINT64)(UINTN) NULL;\r
+ Snp->Cdb.DBaddr = (UINT64)(UINTN)NULL;\r
} else {\r
- Snp->Cdb.DBaddr = (UINT64)(UINTN) Snp->Db;\r
+ Snp->Cdb.DBaddr = (UINT64)(UINTN)Snp->Db;\r
ZeroMem (Snp->Db, Snp->Cdb.DBsize);\r
}\r
\r
- Snp->Cdb.StatCode = PXE_STATCODE_INITIALIZE;\r
- Snp->Cdb.StatFlags = PXE_STATFLAGS_INITIALIZE;\r
- Snp->Cdb.IFnum = Snp->IfNum;\r
- Snp->Cdb.Control = PXE_CONTROL_LAST_CDB_IN_LIST;\r
+ Snp->Cdb.StatCode = PXE_STATCODE_INITIALIZE;\r
+ Snp->Cdb.StatFlags = PXE_STATFLAGS_INITIALIZE;\r
+ Snp->Cdb.IFnum = Snp->IfNum;\r
+ Snp->Cdb.Control = PXE_CONTROL_LAST_CDB_IN_LIST;\r
\r
DEBUG ((DEBUG_NET, "\nsnp->undi.receive_filters() "));\r
\r
- (*Snp->IssueUndi32Command) ((UINT64)(UINTN) &Snp->Cdb);\r
+ (*Snp->IssueUndi32Command)((UINT64)(UINTN)&Snp->Cdb);\r
\r
if (Snp->Cdb.StatCode != PXE_STATCODE_SUCCESS) {\r
//\r
//\r
DEBUG (\r
(DEBUG_ERROR,\r
- "\nsnp->undi.receive_filters() %xh:%xh\n",\r
- Snp->Cdb.StatFlags,\r
- Snp->Cdb.StatCode)\r
+ "\nsnp->undi.receive_filters() %xh:%xh\n",\r
+ Snp->Cdb.StatFlags,\r
+ Snp->Cdb.StatCode)\r
);\r
\r
return EFI_DEVICE_ERROR;\r
}\r
+\r
//\r
// Convert UNDI32 StatFlags to EFI SNP filter flags.\r
//\r
// Count number of active entries in multicast filter list.\r
//\r
{\r
- EFI_MAC_ADDRESS ZeroMacAddr;\r
+ EFI_MAC_ADDRESS ZeroMacAddr;\r
\r
SetMem (&ZeroMacAddr, sizeof ZeroMacAddr, 0);\r
\r
for (Snp->Mode.MCastFilterCount = 0;\r
Snp->Mode.MCastFilterCount < Snp->Mode.MaxMCastFilterCount;\r
Snp->Mode.MCastFilterCount++\r
- ) {\r
+ )\r
+ {\r
if (CompareMem (\r
&Snp->Mode.MCastFilter[Snp->Mode.MCastFilterCount],\r
&ZeroMacAddr,\r
sizeof ZeroMacAddr\r
- ) == 0) {\r
+ ) == 0)\r
+ {\r
break;\r
}\r
}\r
return EFI_SUCCESS;\r
}\r
\r
-\r
/**\r
Manages the multicast receive filters of a network interface.\r
\r
EFI_STATUS\r
EFIAPI\r
SnpUndi32ReceiveFilters (\r
- IN EFI_SIMPLE_NETWORK_PROTOCOL *This,\r
- IN UINT32 Enable,\r
- IN UINT32 Disable,\r
- IN BOOLEAN ResetMCastFilter,\r
- IN UINTN MCastFilterCnt OPTIONAL,\r
- IN EFI_MAC_ADDRESS *MCastFilter OPTIONAL\r
+ IN EFI_SIMPLE_NETWORK_PROTOCOL *This,\r
+ IN UINT32 Enable,\r
+ IN UINT32 Disable,\r
+ IN BOOLEAN ResetMCastFilter,\r
+ IN UINTN MCastFilterCnt OPTIONAL,\r
+ IN EFI_MAC_ADDRESS *MCastFilter OPTIONAL\r
)\r
{\r
SNP_DRIVER *Snp;\r
OldTpl = gBS->RaiseTPL (TPL_CALLBACK);\r
\r
switch (Snp->Mode.State) {\r
- case EfiSimpleNetworkInitialized:\r
- break;\r
+ case EfiSimpleNetworkInitialized:\r
+ break;\r
\r
- case EfiSimpleNetworkStopped:\r
- Status = EFI_NOT_STARTED;\r
- goto ON_EXIT;\r
+ case EfiSimpleNetworkStopped:\r
+ Status = EFI_NOT_STARTED;\r
+ goto ON_EXIT;\r
\r
- default:\r
- Status = EFI_DEVICE_ERROR;\r
- goto ON_EXIT;\r
+ default:\r
+ Status = EFI_DEVICE_ERROR;\r
+ goto ON_EXIT;\r
}\r
+\r
//\r
// check if we are asked to enable or disable something that the UNDI\r
// does not even support!\r
//\r
if (((Enable &~Snp->Mode.ReceiveFilterMask) != 0) ||\r
- ((Disable &~Snp->Mode.ReceiveFilterMask) != 0)) {\r
+ ((Disable &~Snp->Mode.ReceiveFilterMask) != 0))\r
+ {\r
Status = EFI_INVALID_PARAMETER;\r
goto ON_EXIT;\r
}\r
\r
if (ResetMCastFilter) {\r
-\r
- Disable |= EFI_SIMPLE_NETWORK_RECEIVE_MULTICAST & Snp->Mode.ReceiveFilterMask;\r
+ Disable |= EFI_SIMPLE_NETWORK_RECEIVE_MULTICAST & Snp->Mode.ReceiveFilterMask;\r
MCastFilterCnt = 0;\r
MCastFilter = NULL;\r
} else {\r
if (MCastFilterCnt != 0) {\r
if ((MCastFilterCnt > Snp->Mode.MaxMCastFilterCount) ||\r
- (MCastFilter == NULL)) {\r
-\r
+ (MCastFilter == NULL))\r
+ {\r
Status = EFI_INVALID_PARAMETER;\r
goto ON_EXIT;\r
}\r
}\r
}\r
\r
- if (Enable == 0 && Disable == 0 && !ResetMCastFilter && MCastFilterCnt == 0) {\r
+ if ((Enable == 0) && (Disable == 0) && !ResetMCastFilter && (MCastFilterCnt == 0)) {\r
Status = EFI_SUCCESS;\r
goto ON_EXIT;\r
}\r
\r
- if ((Enable & EFI_SIMPLE_NETWORK_RECEIVE_MULTICAST) != 0 && MCastFilterCnt == 0) {\r
+ if (((Enable & EFI_SIMPLE_NETWORK_RECEIVE_MULTICAST) != 0) && (MCastFilterCnt == 0)) {\r
Status = EFI_INVALID_PARAMETER;\r
goto ON_EXIT;\r
}\r