remove member context from _EFI_MTFTP4_TOKEN structure.
[mirror_edk2.git] / MdeModulePkg / Universal / Network / Mtftp4Dxe / Mtftp4Impl.c
index 5bfd253..3ce8792 100644 (file)
@@ -59,9 +59,9 @@ EfiMtftp4GetModeData (
   OldTpl = NET_RAISE_TPL (NET_TPL_LOCK);\r
 \r
   Instance                         = MTFTP4_PROTOCOL_FROM_THIS (This);\r
-  ModeData->ConfigData             = Instance->Config;\r
+  CopyMem(&ModeData->ConfigData, &Instance->Config, sizeof (Instance->Config));\r
   ModeData->SupportedOptionCount   = MTFTP4_SUPPORTED_OPTIONS;\r
-  ModeData->SupportedOptoins       = mMtftp4SupportedOptions;\r
+  ModeData->SupportedOptoins       = (UINT8 **) mMtftp4SupportedOptions;\r
   ModeData->UnsupportedOptionCount = 0;\r
   ModeData->UnsupportedOptoins     = NULL;\r
 \r
@@ -228,7 +228,7 @@ EfiMtftp4Configure (
       return EFI_ACCESS_DENIED;\r
     }\r
 \r
-    Instance->Config = *ConfigData;\r
+    CopyMem(&Instance->Config, ConfigData, sizeof (*ConfigData));;\r
     Instance->State = MTFTP4_STATE_CONFIGED;\r
 \r
     NET_RESTORE_TPL (OldTpl);\r
@@ -260,12 +260,14 @@ Mtftp4GetInfoCheckPacket (
   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
-  OpCode  = NTOHS (Packet->OpCode);\r
+  Instance = MTFTP4_PROTOCOL_FROM_THIS (This);\r
+  State    = &Instance->GetInfoState;\r
+  OpCode   = NTOHS (Packet->OpCode);\r
 \r
   //\r
   // Set the GetInfo's return status according to the OpCode.\r
@@ -335,7 +337,8 @@ EfiMtftp4GetInfo (
   )\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
@@ -348,9 +351,11 @@ EfiMtftp4GetInfo (
   }\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
@@ -364,7 +369,6 @@ EfiMtftp4GetInfo (
   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
@@ -372,7 +376,7 @@ EfiMtftp4GetInfo (
   Status                = EfiMtftp4ReadFile (This, &Token);\r
 \r
   if (EFI_ABORTED == Status) {\r
-    return State.Status;\r
+    return State->Status;\r
   }\r
 \r
   return Status;\r