\r
#include "Snp.h"\r
\r
-\r
/**\r
Call UNDI to create the meadia header for the given data buffer.\r
\r
**/\r
EFI_STATUS\r
PxeFillHeader (\r
- SNP_DRIVER *Snp,\r
- VOID *MacHeaderPtr,\r
- UINTN HeaderSize,\r
- VOID *Buffer,\r
- UINTN BufferSize,\r
- EFI_MAC_ADDRESS *DestAddr,\r
- EFI_MAC_ADDRESS *SrcAddr,\r
- UINT16 *ProtocolPtr\r
+ SNP_DRIVER *Snp,\r
+ VOID *MacHeaderPtr,\r
+ UINTN HeaderSize,\r
+ VOID *Buffer,\r
+ UINTN BufferSize,\r
+ EFI_MAC_ADDRESS *DestAddr,\r
+ EFI_MAC_ADDRESS *SrcAddr,\r
+ UINT16 *ProtocolPtr\r
)\r
{\r
PXE_CPB_FILL_HEADER_FRAGMENTED *Cpb;\r
Cpb = Snp->Cpb;\r
if (SrcAddr != NULL) {\r
CopyMem (\r
- (VOID *) Cpb->SrcAddr,\r
- (VOID *) SrcAddr,\r
+ (VOID *)Cpb->SrcAddr,\r
+ (VOID *)SrcAddr,\r
Snp->Mode.HwAddressSize\r
);\r
} else {\r
CopyMem (\r
- (VOID *) Cpb->SrcAddr,\r
- (VOID *) &(Snp->Mode.CurrentAddress),\r
+ (VOID *)Cpb->SrcAddr,\r
+ (VOID *)&(Snp->Mode.CurrentAddress),\r
Snp->Mode.HwAddressSize\r
);\r
}\r
\r
CopyMem (\r
- (VOID *) Cpb->DestAddr,\r
- (VOID *) DestAddr,\r
+ (VOID *)Cpb->DestAddr,\r
+ (VOID *)DestAddr,\r
Snp->Mode.HwAddressSize\r
);\r
\r
//\r
// we need to do the byte swapping\r
//\r
- Cpb->Protocol = (UINT16) PXE_SWAP_UINT16 (*ProtocolPtr);\r
+ Cpb->Protocol = (UINT16)PXE_SWAP_UINT16 (*ProtocolPtr);\r
\r
- Cpb->PacketLen = (UINT32) (BufferSize);\r
- Cpb->MediaHeaderLen = (UINT16) HeaderSize;\r
+ Cpb->PacketLen = (UINT32)(BufferSize);\r
+ Cpb->MediaHeaderLen = (UINT16)HeaderSize;\r
\r
- Cpb->FragCnt = 2;\r
- Cpb->reserved = 0;\r
+ Cpb->FragCnt = 2;\r
+ Cpb->reserved = 0;\r
\r
- Cpb->FragDesc[0].FragAddr = (UINT64)(UINTN) MacHeaderPtr;\r
- Cpb->FragDesc[0].FragLen = (UINT32) HeaderSize;\r
- Cpb->FragDesc[1].FragAddr = (UINT64)(UINTN) Buffer;\r
- Cpb->FragDesc[1].FragLen = (UINT32) BufferSize;\r
+ Cpb->FragDesc[0].FragAddr = (UINT64)(UINTN)MacHeaderPtr;\r
+ Cpb->FragDesc[0].FragLen = (UINT32)HeaderSize;\r
+ Cpb->FragDesc[1].FragAddr = (UINT64)(UINTN)Buffer;\r
+ Cpb->FragDesc[1].FragLen = (UINT32)BufferSize;\r
\r
Cpb->FragDesc[0].reserved = Cpb->FragDesc[1].reserved = 0;\r
\r
- Snp->Cdb.OpCode = PXE_OPCODE_FILL_HEADER;\r
- Snp->Cdb.OpFlags = PXE_OPFLAGS_FILL_HEADER_FRAGMENTED;\r
+ Snp->Cdb.OpCode = PXE_OPCODE_FILL_HEADER;\r
+ Snp->Cdb.OpFlags = PXE_OPFLAGS_FILL_HEADER_FRAGMENTED;\r
\r
- Snp->Cdb.DBsize = PXE_DBSIZE_NOT_USED;\r
- Snp->Cdb.DBaddr = PXE_DBADDR_NOT_USED;\r
+ Snp->Cdb.DBsize = PXE_DBSIZE_NOT_USED;\r
+ Snp->Cdb.DBaddr = PXE_DBADDR_NOT_USED;\r
\r
- Snp->Cdb.CPBsize = (UINT16) sizeof (PXE_CPB_FILL_HEADER_FRAGMENTED);\r
- Snp->Cdb.CPBaddr = (UINT64)(UINTN) Cpb;\r
+ Snp->Cdb.CPBsize = (UINT16)sizeof (PXE_CPB_FILL_HEADER_FRAGMENTED);\r
+ Snp->Cdb.CPBaddr = (UINT64)(UINTN)Cpb;\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
//\r
// Issue UNDI command and check result.\r
//\r
DEBUG ((DEBUG_NET, "\nSnp->undi.fill_header() "));\r
\r
- (*Snp->IssueUndi32Command) ((UINT64) (UINTN) &Snp->Cdb);\r
+ (*Snp->IssueUndi32Command)((UINT64)(UINTN)&Snp->Cdb);\r
\r
switch (Snp->Cdb.StatCode) {\r
- case PXE_STATCODE_SUCCESS:\r
- return EFI_SUCCESS;\r
-\r
- case PXE_STATCODE_INVALID_PARAMETER:\r
- DEBUG (\r
- (DEBUG_ERROR,\r
- "\nSnp->undi.fill_header() %xh:%xh\n",\r
- Snp->Cdb.StatFlags,\r
- Snp->Cdb.StatCode)\r
- );\r
-\r
- return EFI_INVALID_PARAMETER;\r
-\r
- default:\r
- DEBUG (\r
- (DEBUG_ERROR,\r
- "\nSnp->undi.fill_header() %xh:%xh\n",\r
- Snp->Cdb.StatFlags,\r
- Snp->Cdb.StatCode)\r
- );\r
-\r
- return EFI_DEVICE_ERROR;\r
+ case PXE_STATCODE_SUCCESS:\r
+ return EFI_SUCCESS;\r
+\r
+ case PXE_STATCODE_INVALID_PARAMETER:\r
+ DEBUG (\r
+ (DEBUG_ERROR,\r
+ "\nSnp->undi.fill_header() %xh:%xh\n",\r
+ Snp->Cdb.StatFlags,\r
+ Snp->Cdb.StatCode)\r
+ );\r
+\r
+ return EFI_INVALID_PARAMETER;\r
+\r
+ default:\r
+ DEBUG (\r
+ (DEBUG_ERROR,\r
+ "\nSnp->undi.fill_header() %xh:%xh\n",\r
+ Snp->Cdb.StatFlags,\r
+ Snp->Cdb.StatCode)\r
+ );\r
+\r
+ return EFI_DEVICE_ERROR;\r
}\r
}\r
\r
-\r
/**\r
This routine calls undi to transmit the given data buffer\r
\r
**/\r
EFI_STATUS\r
PxeTransmit (\r
- SNP_DRIVER *Snp,\r
- VOID *Buffer,\r
- UINTN BufferSize\r
+ SNP_DRIVER *Snp,\r
+ VOID *Buffer,\r
+ UINTN BufferSize\r
)\r
{\r
PXE_CPB_TRANSMIT *Cpb;\r
EFI_STATUS Status;\r
\r
- Cpb = Snp->Cpb;\r
- Cpb->FrameAddr = (UINT64) (UINTN) Buffer;\r
- Cpb->DataLen = (UINT32) BufferSize;\r
+ Cpb = Snp->Cpb;\r
+ Cpb->FrameAddr = (UINT64)(UINTN)Buffer;\r
+ Cpb->DataLen = (UINT32)BufferSize;\r
\r
Cpb->MediaheaderLen = 0;\r
Cpb->reserved = 0;\r
\r
- Snp->Cdb.OpFlags = PXE_OPFLAGS_TRANSMIT_WHOLE;\r
+ Snp->Cdb.OpFlags = PXE_OPFLAGS_TRANSMIT_WHOLE;\r
\r
- Snp->Cdb.CPBsize = (UINT16) sizeof (PXE_CPB_TRANSMIT);\r
- Snp->Cdb.CPBaddr = (UINT64)(UINTN) Cpb;\r
+ Snp->Cdb.CPBsize = (UINT16)sizeof (PXE_CPB_TRANSMIT);\r
+ Snp->Cdb.CPBaddr = (UINT64)(UINTN)Cpb;\r
\r
- Snp->Cdb.OpCode = PXE_OPCODE_TRANSMIT;\r
- Snp->Cdb.DBsize = PXE_DBSIZE_NOT_USED;\r
- Snp->Cdb.DBaddr = PXE_DBADDR_NOT_USED;\r
+ Snp->Cdb.OpCode = PXE_OPCODE_TRANSMIT;\r
+ Snp->Cdb.DBsize = PXE_DBSIZE_NOT_USED;\r
+ Snp->Cdb.DBaddr = PXE_DBADDR_NOT_USED;\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
//\r
// Issue UNDI command and check result.\r
DEBUG ((DEBUG_NET, "\nSnp->Cdb.DBaddr == %LX", Snp->Cdb.DBaddr));\r
DEBUG ((DEBUG_NET, "\nCpb->FrameAddr == %LX\n", Cpb->FrameAddr));\r
\r
- (*Snp->IssueUndi32Command) ((UINT64) (UINTN) &Snp->Cdb);\r
+ (*Snp->IssueUndi32Command)((UINT64)(UINTN)&Snp->Cdb);\r
\r
DEBUG ((DEBUG_NET, "\nexit Snp->undi.transmit() "));\r
\r
// we will unmap the buffers in get_status call, not here\r
//\r
switch (Snp->Cdb.StatCode) {\r
- case PXE_STATCODE_SUCCESS:\r
- return EFI_SUCCESS;\r
-\r
- case PXE_STATCODE_BUFFER_FULL:\r
- case PXE_STATCODE_QUEUE_FULL:\r
- case PXE_STATCODE_BUSY:\r
- Status = EFI_NOT_READY;\r
- DEBUG (\r
- (DEBUG_NET,\r
- "\nSnp->undi.transmit() %xh:%xh\n",\r
- Snp->Cdb.StatFlags,\r
- Snp->Cdb.StatCode)\r
- );\r
- break;\r
-\r
- default:\r
- DEBUG (\r
- (DEBUG_ERROR,\r
- "\nSnp->undi.transmit() %xh:%xh\n",\r
- Snp->Cdb.StatFlags,\r
- Snp->Cdb.StatCode)\r
- );\r
- Status = EFI_DEVICE_ERROR;\r
+ case PXE_STATCODE_SUCCESS:\r
+ return EFI_SUCCESS;\r
+\r
+ case PXE_STATCODE_BUFFER_FULL:\r
+ case PXE_STATCODE_QUEUE_FULL:\r
+ case PXE_STATCODE_BUSY:\r
+ Status = EFI_NOT_READY;\r
+ DEBUG (\r
+ (DEBUG_NET,\r
+ "\nSnp->undi.transmit() %xh:%xh\n",\r
+ Snp->Cdb.StatFlags,\r
+ Snp->Cdb.StatCode)\r
+ );\r
+ break;\r
+\r
+ default:\r
+ DEBUG (\r
+ (DEBUG_ERROR,\r
+ "\nSnp->undi.transmit() %xh:%xh\n",\r
+ Snp->Cdb.StatFlags,\r
+ Snp->Cdb.StatCode)\r
+ );\r
+ Status = EFI_DEVICE_ERROR;\r
}\r
\r
return Status;\r
EFI_STATUS\r
EFIAPI\r
SnpUndi32Transmit (\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
+ 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
SNP_DRIVER *Snp;\r
}\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
if (Buffer == NULL) {\r
// we need the destination address and the protocol\r
//\r
if (HeaderSize != 0) {\r
- if (HeaderSize != Snp->Mode.MediaHeaderSize || DestAddr == 0 || Protocol == 0) {\r
+ if ((HeaderSize != Snp->Mode.MediaHeaderSize) || (DestAddr == 0) || (Protocol == 0)) {\r
Status = EFI_INVALID_PARAMETER;\r
goto ON_EXIT;\r
}\r
\r
Status = PxeFillHeader (\r
- Snp,\r
- Buffer,\r
- HeaderSize,\r
- (UINT8 *) Buffer + HeaderSize,\r
- BufferSize - HeaderSize,\r
- DestAddr,\r
- SrcAddr,\r
- Protocol\r
- );\r
+ Snp,\r
+ Buffer,\r
+ HeaderSize,\r
+ (UINT8 *)Buffer + HeaderSize,\r
+ BufferSize - HeaderSize,\r
+ DestAddr,\r
+ SrcAddr,\r
+ Protocol\r
+ );\r
\r
if (EFI_ERROR (Status)) {\r
goto ON_EXIT;\r