)\r
{\r
TCP_CB *Clone;\r
- TCP4_SERVICE_DATA *TcpService;\r
- EFI_IP4_PROTOCOL *Ip4;\r
\r
Clone = NetAllocatePool (sizeof (TCP_CB));\r
\r
\r
((TCP4_PROTO_DATA *) (Clone->Sk->ProtoReserved))->TcpPcb = Clone;\r
\r
- TcpService = ((TCP4_PROTO_DATA *) (Clone->Sk->ProtoReserved))->TcpService;\r
-\r
- NetListInsertTail (&TcpService->SocketList, &Clone->Sk->Link);\r
-\r
- //\r
- // Open the device path on the handle where service binding resides on.\r
- //\r
- gBS->OpenProtocol (\r
- TcpService->ControllerHandle,\r
- &gEfiDevicePathProtocolGuid,\r
- (VOID **) &Clone->Sk->ParentDevicePath,\r
- TcpService->DriverBindingHandle,\r
- Clone->Sk->SockHandle,\r
- EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER\r
- );\r
-\r
- //\r
- // Open the ip protocol by child controller.\r
- //\r
- gBS->OpenProtocol (\r
- TcpService->IpIo->ChildHandle,\r
- &gEfiIp4ProtocolGuid,\r
- (VOID **) &Ip4,\r
- TcpService->DriverBindingHandle,\r
- Clone->Sk->SockHandle,\r
- EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER\r
- );\r
-\r
return Clone;\r
}\r
\r