remove member context from _EFI_MTFTP4_TOKEN structure.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4308 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
vanjeff 2007-11-20 06:06:18 +00:00
parent 36ee91ca36
commit 61066b8d74
2 changed files with 19 additions and 13 deletions

View File

@ -260,11 +260,13 @@ Mtftp4GetInfoCheckPacket (
IN EFI_MTFTP4_PACKET *Packet IN EFI_MTFTP4_PACKET *Packet
) )
{ {
MTFTP4_PROTOCOL *Instance;
MTFTP4_GETINFO_STATE *State; MTFTP4_GETINFO_STATE *State;
EFI_STATUS Status; EFI_STATUS Status;
UINT16 OpCode; UINT16 OpCode;
State = (MTFTP4_GETINFO_STATE *) Token->Context; Instance = MTFTP4_PROTOCOL_FROM_THIS (This);
State = &Instance->GetInfoState;
OpCode = NTOHS (Packet->OpCode); OpCode = NTOHS (Packet->OpCode);
// //
@ -335,7 +337,8 @@ EfiMtftp4GetInfo (
) )
{ {
EFI_MTFTP4_TOKEN Token; EFI_MTFTP4_TOKEN Token;
MTFTP4_GETINFO_STATE State; MTFTP4_PROTOCOL *Instance;
MTFTP4_GETINFO_STATE *State;
EFI_STATUS Status; EFI_STATUS Status;
if ((This == NULL) || (Filename == NULL) || (PacketLength == NULL) || if ((This == NULL) || (Filename == NULL) || (PacketLength == NULL) ||
@ -348,9 +351,11 @@ EfiMtftp4GetInfo (
} }
*PacketLength = 0; *PacketLength = 0;
State.Packet = Packet; Instance = MTFTP4_PROTOCOL_FROM_THIS (This);
State.PacketLen = PacketLength; State = &Instance->GetInfoState;
State.Status = EFI_SUCCESS; State->Packet = Packet;
State->PacketLen = PacketLength;
State->Status = EFI_SUCCESS;
// //
// Fill in the Token to issue an synchronous ReadFile operation // Fill in the Token to issue an synchronous ReadFile operation
@ -364,7 +369,6 @@ EfiMtftp4GetInfo (
Token.OptionList = OptionList; Token.OptionList = OptionList;
Token.BufferSize = 0; Token.BufferSize = 0;
Token.Buffer = NULL; Token.Buffer = NULL;
Token.Context = &State;
Token.CheckPacket = Mtftp4GetInfoCheckPacket; Token.CheckPacket = Mtftp4GetInfoCheckPacket;
Token.TimeoutCallback = NULL; Token.TimeoutCallback = NULL;
Token.PacketNeeded = NULL; Token.PacketNeeded = NULL;
@ -372,7 +376,7 @@ EfiMtftp4GetInfo (
Status = EfiMtftp4ReadFile (This, &Token); Status = EfiMtftp4ReadFile (This, &Token);
if (EFI_ABORTED == Status) { if (EFI_ABORTED == Status) {
return State.Status; return State->Status;
} }
return Status; return Status;

View File

@ -86,6 +86,12 @@ struct _MTFTP4_SERVICE {
UDP_IO_PORT *ConnectUdp; UDP_IO_PORT *ConnectUdp;
}; };
typedef struct {
EFI_MTFTP4_PACKET **Packet;
UINT32 *PacketLen;
EFI_STATUS Status;
} MTFTP4_GETINFO_STATE;
struct _MTFTP4_PROTOCOL { struct _MTFTP4_PROTOCOL {
UINT32 Signature; UINT32 Signature;
NET_LIST_ENTRY Link; NET_LIST_ENTRY Link;
@ -140,13 +146,9 @@ struct _MTFTP4_PROTOCOL {
UINT16 McastPort; UINT16 McastPort;
BOOLEAN Master; BOOLEAN Master;
UDP_IO_PORT *McastUdpPort; UDP_IO_PORT *McastUdpPort;
};
typedef struct { MTFTP4_GETINFO_STATE GetInfoState;
EFI_MTFTP4_PACKET **Packet; };
UINT32 *PacketLen;
EFI_STATUS Status;
} MTFTP4_GETINFO_STATE;
VOID VOID
Mtftp4CleanOperation ( Mtftp4CleanOperation (