\r
#include "Mtftp4Impl.h"\r
\r
-\r
/**\r
Allocate a MTFTP4 block range, then init it to the range of [Start, End]\r
\r
**/\r
MTFTP4_BLOCK_RANGE *\r
Mtftp4AllocateRange (\r
- IN UINT16 Start,\r
- IN UINT16 End\r
+ IN UINT16 Start,\r
+ IN UINT16 End\r
)\r
{\r
- MTFTP4_BLOCK_RANGE *Range;\r
+ MTFTP4_BLOCK_RANGE *Range;\r
\r
Range = AllocateZeroPool (sizeof (MTFTP4_BLOCK_RANGE));\r
\r
}\r
\r
InitializeListHead (&Range->Link);\r
- Range->Start = Start;\r
- Range->End = End;\r
- Range->Bound = End;\r
+ Range->Start = Start;\r
+ Range->End = End;\r
+ Range->Bound = End;\r
\r
return Range;\r
}\r
\r
-\r
/**\r
Initialize the block range for either RRQ or WRQ.\r
\r
**/\r
EFI_STATUS\r
Mtftp4InitBlockRange (\r
- IN LIST_ENTRY *Head,\r
- IN UINT16 Start,\r
- IN UINT16 End\r
+ IN LIST_ENTRY *Head,\r
+ IN UINT16 Start,\r
+ IN UINT16 End\r
)\r
{\r
- MTFTP4_BLOCK_RANGE *Range;\r
+ MTFTP4_BLOCK_RANGE *Range;\r
\r
Range = Mtftp4AllocateRange (Start, End);\r
\r
return EFI_SUCCESS;\r
}\r
\r
-\r
/**\r
Get the first valid block number on the range list.\r
\r
**/\r
INTN\r
Mtftp4GetNextBlockNum (\r
- IN LIST_ENTRY *Head\r
+ IN LIST_ENTRY *Head\r
)\r
{\r
MTFTP4_BLOCK_RANGE *Range;\r
return Range->Start;\r
}\r
\r
-\r
/**\r
Set the last block number of the block range list.\r
\r
**/\r
VOID\r
Mtftp4SetLastBlockNum (\r
- IN LIST_ENTRY *Head,\r
- IN UINT16 Last\r
+ IN LIST_ENTRY *Head,\r
+ IN UINT16 Last\r
)\r
{\r
- MTFTP4_BLOCK_RANGE *Range;\r
+ MTFTP4_BLOCK_RANGE *Range;\r
\r
//\r
// Iterate from the tail to head to remove the block number\r
Range->End = Last;\r
}\r
\r
- return ;\r
+ return;\r
}\r
}\r
\r
-\r
/**\r
Remove the block number from the block range list.\r
\r
**/\r
EFI_STATUS\r
Mtftp4RemoveBlockNum (\r
- IN LIST_ENTRY *Head,\r
- IN UINT16 Num,\r
- IN BOOLEAN Completed,\r
- OUT UINT64 *BlockCounter\r
+ IN LIST_ENTRY *Head,\r
+ IN UINT16 Num,\r
+ IN BOOLEAN Completed,\r
+ OUT UINT64 *BlockCounter\r
)\r
{\r
- MTFTP4_BLOCK_RANGE *Range;\r
- MTFTP4_BLOCK_RANGE *NewRange;\r
- LIST_ENTRY *Entry;\r
+ MTFTP4_BLOCK_RANGE *Range;\r
+ MTFTP4_BLOCK_RANGE *NewRange;\r
+ LIST_ENTRY *Entry;\r
\r
NET_LIST_FOR_EACH (Entry, Head) {\r
-\r
//\r
// Each block represents a hole [Start, End] in the file,\r
// skip to the first range with End >= Num\r
//\r
if (Range->Start > Num) {\r
return EFI_NOT_FOUND;\r
-\r
} else if (Range->Start == Num) {\r
Range->Start++;\r
\r
// wrap to zero, because this is the simplest to implement. Here we choose\r
// this solution.\r
//\r
- *BlockCounter = Num;\r
+ *BlockCounter = Num;\r
\r
if (Range->Round > 0) {\r
- *BlockCounter += Range->Bound + MultU64x32 ((UINTN) (Range->Round -1), (UINT32) (Range->Bound + 1)) + 1;\r
+ *BlockCounter += Range->Bound + MultU64x32 ((UINTN)(Range->Round -1), (UINT32)(Range->Bound + 1)) + 1;\r
}\r
\r
if (Range->Start > Range->Bound) {\r
Range->Start = 0;\r
- Range->Round ++;\r
+ Range->Round++;\r
}\r
\r
if ((Range->Start > Range->End) || Completed) {\r
}\r
\r
return EFI_SUCCESS;\r
-\r
} else {\r
if (Range->End == Num) {\r
Range->End--;\r
} else {\r
- NewRange = Mtftp4AllocateRange ((UINT16) (Num + 1), (UINT16) Range->End);\r
+ NewRange = Mtftp4AllocateRange ((UINT16)(Num + 1), (UINT16)Range->End);\r
\r
if (NewRange == NULL) {\r
return EFI_OUT_OF_RESOURCES;\r
return EFI_NOT_FOUND;\r
}\r
\r
-\r
/**\r
Build then transmit the request packet for the MTFTP session.\r
\r
**/\r
EFI_STATUS\r
Mtftp4SendRequest (\r
- IN MTFTP4_PROTOCOL *Instance\r
+ IN MTFTP4_PROTOCOL *Instance\r
)\r
{\r
- EFI_MTFTP4_PACKET *Packet;\r
- EFI_MTFTP4_OPTION *Options;\r
- EFI_MTFTP4_TOKEN *Token;\r
- RETURN_STATUS Status;\r
- NET_BUF *Nbuf;\r
- UINT8 *Mode;\r
- UINT8 *Cur;\r
- UINTN Index;\r
- UINT32 BufferLength;\r
- UINTN FileNameLength;\r
- UINTN ModeLength;\r
- UINTN OptionStrLength;\r
- UINTN ValueStrLength;\r
+ EFI_MTFTP4_PACKET *Packet;\r
+ EFI_MTFTP4_OPTION *Options;\r
+ EFI_MTFTP4_TOKEN *Token;\r
+ RETURN_STATUS Status;\r
+ NET_BUF *Nbuf;\r
+ UINT8 *Mode;\r
+ UINT8 *Cur;\r
+ UINTN Index;\r
+ UINT32 BufferLength;\r
+ UINTN FileNameLength;\r
+ UINTN ModeLength;\r
+ UINTN OptionStrLength;\r
+ UINTN ValueStrLength;\r
\r
Token = Instance->Token;\r
Options = Token->OptionList;\r
Mode = Instance->Token->ModeStr;\r
\r
if (Mode == NULL) {\r
- Mode = (UINT8 *) "octet";\r
+ Mode = (UINT8 *)"octet";\r
}\r
\r
//\r
// Compute the packet length\r
//\r
- FileNameLength = AsciiStrLen ((CHAR8 *) Token->Filename);\r
- ModeLength = AsciiStrLen ((CHAR8 *) Mode);\r
- BufferLength = (UINT32) FileNameLength + (UINT32) ModeLength + 4;\r
+ FileNameLength = AsciiStrLen ((CHAR8 *)Token->Filename);\r
+ ModeLength = AsciiStrLen ((CHAR8 *)Mode);\r
+ BufferLength = (UINT32)FileNameLength + (UINT32)ModeLength + 4;\r
\r
for (Index = 0; Index < Token->OptionCount; Index++) {\r
- OptionStrLength = AsciiStrLen ((CHAR8 *) Options[Index].OptionStr);\r
- ValueStrLength = AsciiStrLen ((CHAR8 *) Options[Index].ValueStr);\r
- BufferLength += (UINT32) OptionStrLength + (UINT32) ValueStrLength + 2;\r
+ OptionStrLength = AsciiStrLen ((CHAR8 *)Options[Index].OptionStr);\r
+ ValueStrLength = AsciiStrLen ((CHAR8 *)Options[Index].ValueStr);\r
+ BufferLength += (UINT32)OptionStrLength + (UINT32)ValueStrLength + 2;\r
}\r
+\r
//\r
// Allocate a packet then copy the data over\r
//\r
return EFI_OUT_OF_RESOURCES;\r
}\r
\r
- Packet = (EFI_MTFTP4_PACKET *) NetbufAllocSpace (Nbuf, BufferLength, FALSE);\r
+ Packet = (EFI_MTFTP4_PACKET *)NetbufAllocSpace (Nbuf, BufferLength, FALSE);\r
ASSERT (Packet != NULL);\r
\r
Packet->OpCode = HTONS (Instance->Operation);\r
BufferLength -= sizeof (Packet->OpCode);\r
\r
- Cur = Packet->Rrq.Filename;\r
- Status = AsciiStrCpyS ((CHAR8 *) Cur, BufferLength, (CHAR8 *) Token->Filename);\r
+ Cur = Packet->Rrq.Filename;\r
+ Status = AsciiStrCpyS ((CHAR8 *)Cur, BufferLength, (CHAR8 *)Token->Filename);\r
ASSERT_EFI_ERROR (Status);\r
- BufferLength -= (UINT32) (FileNameLength + 1);\r
- Cur += FileNameLength + 1;\r
- Status = AsciiStrCpyS ((CHAR8 *) Cur, BufferLength, (CHAR8 *) Mode);\r
+ BufferLength -= (UINT32)(FileNameLength + 1);\r
+ Cur += FileNameLength + 1;\r
+ Status = AsciiStrCpyS ((CHAR8 *)Cur, BufferLength, (CHAR8 *)Mode);\r
ASSERT_EFI_ERROR (Status);\r
- BufferLength -= (UINT32) (ModeLength + 1);\r
- Cur += ModeLength + 1;\r
+ BufferLength -= (UINT32)(ModeLength + 1);\r
+ Cur += ModeLength + 1;\r
\r
for (Index = 0; Index < Token->OptionCount; ++Index) {\r
- OptionStrLength = AsciiStrLen ((CHAR8 *) Options[Index].OptionStr);\r
- ValueStrLength = AsciiStrLen ((CHAR8 *) Options[Index].ValueStr);\r
+ OptionStrLength = AsciiStrLen ((CHAR8 *)Options[Index].OptionStr);\r
+ ValueStrLength = AsciiStrLen ((CHAR8 *)Options[Index].ValueStr);\r
\r
- Status = AsciiStrCpyS ((CHAR8 *) Cur, BufferLength, (CHAR8 *) Options[Index].OptionStr);\r
+ Status = AsciiStrCpyS ((CHAR8 *)Cur, BufferLength, (CHAR8 *)Options[Index].OptionStr);\r
ASSERT_EFI_ERROR (Status);\r
- BufferLength -= (UINT32) (OptionStrLength + 1);\r
- Cur += OptionStrLength + 1;\r
+ BufferLength -= (UINT32)(OptionStrLength + 1);\r
+ Cur += OptionStrLength + 1;\r
\r
- Status = AsciiStrCpyS ((CHAR8 *) Cur, BufferLength, (CHAR8 *) Options[Index].ValueStr);\r
+ Status = AsciiStrCpyS ((CHAR8 *)Cur, BufferLength, (CHAR8 *)Options[Index].ValueStr);\r
ASSERT_EFI_ERROR (Status);\r
- BufferLength -= (UINT32) (ValueStrLength + 1);\r
- Cur += ValueStrLength + 1;\r
-\r
+ BufferLength -= (UINT32)(ValueStrLength + 1);\r
+ Cur += ValueStrLength + 1;\r
}\r
\r
return Mtftp4SendPacket (Instance, Nbuf);\r
}\r
\r
-\r
/**\r
Build then send an error message.\r
\r
**/\r
EFI_STATUS\r
Mtftp4SendError (\r
- IN MTFTP4_PROTOCOL *Instance,\r
- IN UINT16 ErrCode,\r
- IN UINT8 *ErrInfo\r
+ IN MTFTP4_PROTOCOL *Instance,\r
+ IN UINT16 ErrCode,\r
+ IN UINT8 *ErrInfo\r
)\r
{\r
- NET_BUF *Packet;\r
- EFI_MTFTP4_PACKET *TftpError;\r
- UINT32 Len;\r
+ NET_BUF *Packet;\r
+ EFI_MTFTP4_PACKET *TftpError;\r
+ UINT32 Len;\r
\r
- Len = (UINT32) (AsciiStrLen ((CHAR8 *) ErrInfo) + sizeof (EFI_MTFTP4_ERROR_HEADER));\r
- Packet = NetbufAlloc (Len);\r
+ Len = (UINT32)(AsciiStrLen ((CHAR8 *)ErrInfo) + sizeof (EFI_MTFTP4_ERROR_HEADER));\r
+ Packet = NetbufAlloc (Len);\r
if (Packet == NULL) {\r
return EFI_OUT_OF_RESOURCES;\r
}\r
\r
- TftpError = (EFI_MTFTP4_PACKET *) NetbufAllocSpace (Packet, Len, FALSE);\r
+ TftpError = (EFI_MTFTP4_PACKET *)NetbufAllocSpace (Packet, Len, FALSE);\r
ASSERT (TftpError != NULL);\r
\r
- TftpError->OpCode = HTONS (EFI_MTFTP4_OPCODE_ERROR);\r
+ TftpError->OpCode = HTONS (EFI_MTFTP4_OPCODE_ERROR);\r
TftpError->Error.ErrorCode = HTONS (ErrCode);\r
\r
- AsciiStrCpyS ((CHAR8 *) TftpError->Error.ErrorMessage, Len, (CHAR8 *) ErrInfo);\r
+ AsciiStrCpyS ((CHAR8 *)TftpError->Error.ErrorMessage, Len, (CHAR8 *)ErrInfo);\r
\r
return Mtftp4SendPacket (Instance, Packet);\r
}\r
\r
-\r
/**\r
The callback function called when the packet is transmitted.\r
\r
VOID\r
EFIAPI\r
Mtftp4OnPacketSent (\r
- IN NET_BUF *Packet,\r
- IN UDP_END_POINT *EndPoint,\r
- IN EFI_STATUS IoStatus,\r
- IN VOID *Context\r
+ IN NET_BUF *Packet,\r
+ IN UDP_END_POINT *EndPoint,\r
+ IN EFI_STATUS IoStatus,\r
+ IN VOID *Context\r
)\r
{\r
NetbufFree (Packet);\r
}\r
\r
-\r
/**\r
Set the timeout for the instance. User a longer time for passive instances.\r
\r
**/\r
VOID\r
Mtftp4SetTimeout (\r
- IN OUT MTFTP4_PROTOCOL *Instance\r
+ IN OUT MTFTP4_PROTOCOL *Instance\r
)\r
{\r
if (Instance->Master) {\r
}\r
}\r
\r
-\r
/**\r
Send the packet for the instance.\r
\r
**/\r
EFI_STATUS\r
Mtftp4SendPacket (\r
- IN OUT MTFTP4_PROTOCOL *Instance,\r
- IN OUT NET_BUF *Packet\r
+ IN OUT MTFTP4_PROTOCOL *Instance,\r
+ IN OUT NET_BUF *Packet\r
)\r
{\r
- UDP_END_POINT UdpPoint;\r
- EFI_STATUS Status;\r
- UINT16 OpCode;\r
- UINT8 *Buffer;\r
+ UDP_END_POINT UdpPoint;\r
+ EFI_STATUS Status;\r
+ UINT16 OpCode;\r
+ UINT8 *Buffer;\r
\r
//\r
// Save the packet for retransmission\r
NetbufFree (Instance->LastPacket);\r
}\r
\r
- Instance->LastPacket = Packet;\r
+ Instance->LastPacket = Packet;\r
\r
- Instance->CurRetry = 0;\r
+ Instance->CurRetry = 0;\r
Mtftp4SetTimeout (Instance);\r
\r
ZeroMem (&UdpPoint, sizeof (UdpPoint));\r
\r
if ((OpCode == EFI_MTFTP4_OPCODE_RRQ) ||\r
(OpCode == EFI_MTFTP4_OPCODE_DIR) ||\r
- (OpCode == EFI_MTFTP4_OPCODE_WRQ)) {\r
+ (OpCode == EFI_MTFTP4_OPCODE_WRQ))\r
+ {\r
UdpPoint.RemotePort = Instance->ListeningPort;\r
} else {\r
UdpPoint.RemotePort = Instance->ConnectedPort;\r
return Status;\r
}\r
\r
-\r
/**\r
Retransmit the last packet for the instance.\r
\r
**/\r
EFI_STATUS\r
Mtftp4Retransmit (\r
- IN MTFTP4_PROTOCOL *Instance\r
+ IN MTFTP4_PROTOCOL *Instance\r
)\r
{\r
- UDP_END_POINT UdpPoint;\r
- EFI_STATUS Status;\r
- UINT16 OpCode;\r
- UINT8 *Buffer;\r
+ UDP_END_POINT UdpPoint;\r
+ EFI_STATUS Status;\r
+ UINT16 OpCode;\r
+ UINT8 *Buffer;\r
\r
ASSERT (Instance->LastPacket != NULL);\r
\r
//\r
Buffer = NetbufGetByte (Instance->LastPacket, 0, NULL);\r
ASSERT (Buffer != NULL);\r
- OpCode = NTOHS (*(UINT16 *) Buffer);\r
+ OpCode = NTOHS (*(UINT16 *)Buffer);\r
\r
if ((OpCode == EFI_MTFTP4_OPCODE_RRQ) || (OpCode == EFI_MTFTP4_OPCODE_DIR) ||\r
- (OpCode == EFI_MTFTP4_OPCODE_WRQ)) {\r
+ (OpCode == EFI_MTFTP4_OPCODE_WRQ))\r
+ {\r
UdpPoint.RemotePort = Instance->ListeningPort;\r
} else {\r
UdpPoint.RemotePort = Instance->ConnectedPort;\r
return Status;\r
}\r
\r
-\r
/**\r
The timer ticking function in TPL_NOTIFY level for the Mtftp service instance.\r
\r
VOID\r
EFIAPI\r
Mtftp4OnTimerTickNotifyLevel (\r
- IN EFI_EVENT Event,\r
- IN VOID *Context\r
+ IN EFI_EVENT Event,\r
+ IN VOID *Context\r
)\r
{\r
- MTFTP4_SERVICE *MtftpSb;\r
- LIST_ENTRY *Entry;\r
- LIST_ENTRY *Next;\r
- MTFTP4_PROTOCOL *Instance;\r
+ MTFTP4_SERVICE *MtftpSb;\r
+ LIST_ENTRY *Entry;\r
+ LIST_ENTRY *Next;\r
+ MTFTP4_PROTOCOL *Instance;\r
\r
- MtftpSb = (MTFTP4_SERVICE *) Context;\r
+ MtftpSb = (MTFTP4_SERVICE *)Context;\r
\r
//\r
// Iterate through all the children of the Mtftp service instance. Time\r
}\r
}\r
\r
-\r
/**\r
The timer ticking function for the Mtftp service instance.\r
\r
VOID\r
EFIAPI\r
Mtftp4OnTimerTick (\r
- IN EFI_EVENT Event,\r
- IN VOID *Context\r
+ IN EFI_EVENT Event,\r
+ IN VOID *Context\r
)\r
{\r
- MTFTP4_SERVICE *MtftpSb;\r
- LIST_ENTRY *Entry;\r
- LIST_ENTRY *Next;\r
- MTFTP4_PROTOCOL *Instance;\r
- EFI_MTFTP4_TOKEN *Token;\r
+ MTFTP4_SERVICE *MtftpSb;\r
+ LIST_ENTRY *Entry;\r
+ LIST_ENTRY *Next;\r
+ MTFTP4_PROTOCOL *Instance;\r
+ EFI_MTFTP4_TOKEN *Token;\r
\r
- MtftpSb = (MTFTP4_SERVICE *) Context;\r
+ MtftpSb = (MTFTP4_SERVICE *)Context;\r
\r
//\r
// Iterate through all the children of the Mtftp service instance.\r
//\r
Token = Instance->Token;\r
\r
- if (Token != NULL && Token->TimeoutCallback != NULL &&\r
- EFI_ERROR (Token->TimeoutCallback (&Instance->Mtftp4, Token))) {\r
+ if ((Token != NULL) && (Token->TimeoutCallback != NULL) &&\r
+ EFI_ERROR (Token->TimeoutCallback (&Instance->Mtftp4, Token)))\r
+ {\r
Mtftp4SendError (\r
Instance,\r
EFI_MTFTP4_ERRORCODE_REQUEST_DENIED,\r
- (UINT8 *) "User aborted the transfer in time out"\r
+ (UINT8 *)"User aborted the transfer in time out"\r
);\r
\r
Mtftp4CleanOperation (Instance, EFI_ABORTED);\r