IN EFI_MTFTP4_PACKET *Packet\r
)\r
{\r
+ MTFTP4_PROTOCOL *Instance;\r
MTFTP4_GETINFO_STATE *State;\r
EFI_STATUS Status;\r
UINT16 OpCode;\r
\r
- State = (MTFTP4_GETINFO_STATE *) Token->Context;\r
+ Instance = MTFTP4_PROTOCOL_FROM_THIS (This);\r
+ State = &Instance->GetInfoState;\r
OpCode = NTOHS (Packet->OpCode);\r
\r
//\r
)\r
{\r
EFI_MTFTP4_TOKEN Token;\r
- MTFTP4_GETINFO_STATE State;\r
+ MTFTP4_PROTOCOL *Instance;\r
+ MTFTP4_GETINFO_STATE *State;\r
EFI_STATUS Status;\r
\r
if ((This == NULL) || (Filename == NULL) || (PacketLength == NULL) ||\r
}\r
\r
*PacketLength = 0;\r
- State.Packet = Packet;\r
- State.PacketLen = PacketLength;\r
- State.Status = EFI_SUCCESS;\r
+ Instance = MTFTP4_PROTOCOL_FROM_THIS (This);\r
+ State = &Instance->GetInfoState;\r
+ State->Packet = Packet;\r
+ State->PacketLen = PacketLength;\r
+ State->Status = EFI_SUCCESS;\r
\r
//\r
// Fill in the Token to issue an synchronous ReadFile operation\r
Token.OptionList = OptionList;\r
Token.BufferSize = 0;\r
Token.Buffer = NULL;\r
- Token.Context = &State;\r
Token.CheckPacket = Mtftp4GetInfoCheckPacket;\r
Token.TimeoutCallback = NULL;\r
Token.PacketNeeded = NULL;\r
Status = EfiMtftp4ReadFile (This, &Token);\r
\r
if (EFI_ABORTED == Status) {\r
- return State.Status;\r
+ return State->Status;\r
}\r
\r
return Status;\r
UDP_IO_PORT *ConnectUdp;\r
};\r
\r
+typedef struct {\r
+ EFI_MTFTP4_PACKET **Packet;\r
+ UINT32 *PacketLen;\r
+ EFI_STATUS Status;\r
+} MTFTP4_GETINFO_STATE;\r
+\r
struct _MTFTP4_PROTOCOL {\r
UINT32 Signature;\r
NET_LIST_ENTRY Link;\r
UINT16 McastPort;\r
BOOLEAN Master;\r
UDP_IO_PORT *McastUdpPort;\r
-};\r
\r
-typedef struct {\r
- EFI_MTFTP4_PACKET **Packet;\r
- UINT32 *PacketLen;\r
- EFI_STATUS Status;\r
-} MTFTP4_GETINFO_STATE;\r
+ MTFTP4_GETINFO_STATE GetInfoState;\r
+};\r
\r
VOID\r
Mtftp4CleanOperation (\r