Lines Matching refs:Sock

45   IN OUT SOCKET *Sock
158 IN SOCKET *Sock, in SockSetTcpRxData() argument
185 Sock->RcvBuffer.DataQueue, in SockSetTcpRxData()
209 IN SOCKET *Sock, in SockProcessRcvToken() argument
217 ASSERT (Sock != NULL); in SockProcessRcvToken()
219 ASSERT (SockStream == Sock->Type); in SockProcessRcvToken()
224 &Sock->RcvBuffer, in SockProcessRcvToken()
233 SockSetTcpRxData (Sock, RxData, TokenRcvdBytes, IsUrg); in SockProcessRcvToken()
235 NetbufQueTrim (Sock->RcvBuffer.DataQueue, TokenRcvdBytes); in SockProcessRcvToken()
255 IN SOCKET *Sock, in SockProcessTcpSndData() argument
285 NetbufQueAppend (Sock->SndBuffer.DataQueue, SndData); in SockProcessTcpSndData()
291 Status = Sock->ProtoHandler (Sock, SOCK_SNDURG, NULL); in SockProcessTcpSndData()
299 Status = Sock->ProtoHandler (Sock, SOCK_SNDPUSH, NULL); in SockProcessTcpSndData()
310 Status = Sock->ProtoHandler (Sock, SOCK_SND, NULL); in SockProcessTcpSndData()
329 IN SOCKET *Sock, in SockFlushPendingToken() argument
336 ASSERT ((Sock != NULL) && (PendingTokenList != NULL)); in SockFlushPendingToken()
346 SIGNAL_TOKEN (Token, Sock->SockError); in SockFlushPendingToken()
363 IN OUT SOCKET *Sock in SockWakeConnToken() argument
366 ASSERT (Sock->ConnectionToken != NULL); in SockWakeConnToken()
368 SIGNAL_TOKEN (Sock->ConnectionToken, EFI_SUCCESS); in SockWakeConnToken()
369 Sock->ConnectionToken = NULL; in SockWakeConnToken()
374 SockProcessSndToken (Sock); in SockWakeConnToken()
387 IN OUT SOCKET *Sock in SockWakeListenToken() argument
394 Parent = Sock->Parent; in SockWakeListenToken()
396 ASSERT ((Parent != NULL) && SOCK_IS_LISTENING (Parent) && SOCK_IS_CONNECTED (Sock)); in SockWakeListenToken()
406 ListenToken->NewChildHandle = Sock->SockHandle; in SockWakeListenToken()
413 RemoveEntryList (&Sock->ConnectionList); in SockWakeListenToken()
418 Sock->Parent = NULL; in SockWakeListenToken()
431 IN SOCKET *Sock in SockWakeRcvToken() argument
439 ASSERT (Sock->RcvBuffer.DataQueue != NULL); in SockWakeRcvToken()
441 RcvdBytes = (Sock->RcvBuffer.DataQueue)->BufSize; in SockWakeRcvToken()
445 while (RcvdBytes > 0 && !IsListEmpty (&Sock->RcvTokenList)) { in SockWakeRcvToken()
448 &Sock->RcvTokenList, in SockWakeRcvToken()
454 TokenRcvdBytes = SockProcessRcvToken (Sock, RcvToken); in SockWakeRcvToken()
475 IN OUT SOCKET *Sock in SockProcessSndToken() argument
485 ASSERT ((Sock != NULL) && (SockStream == Sock->Type)); in SockProcessSndToken()
487 FreeSpace = SockGetFreeSpace (Sock, SOCK_SND_BUF); in SockProcessSndToken()
493 while ((FreeSpace >= Sock->SndBuffer.LowWater) && in SockProcessSndToken()
494 !IsListEmpty (&Sock->SndTokenList)) { in SockProcessSndToken()
497 &(Sock->SndTokenList), in SockProcessSndToken()
507 &(Sock->ProcessingSndTokenList), in SockProcessSndToken()
518 Status = SockProcessTcpSndData (Sock, TxData); in SockProcessSndToken()
556 SOCKET *Sock; in SockCreate() local
578 Sock = AllocateZeroPool (sizeof (SOCKET)); in SockCreate()
579 if (NULL == Sock) { in SockCreate()
585 InitializeListHead (&Sock->Link); in SockCreate()
586 InitializeListHead (&Sock->ConnectionList); in SockCreate()
587 InitializeListHead (&Sock->ListenTokenList); in SockCreate()
588 InitializeListHead (&Sock->RcvTokenList); in SockCreate()
589 InitializeListHead (&Sock->SndTokenList); in SockCreate()
590 InitializeListHead (&Sock->ProcessingSndTokenList); in SockCreate()
592 EfiInitializeLock (&(Sock->Lock), TPL_CALLBACK); in SockCreate()
594 Sock->SndBuffer.DataQueue = NetbufQueAlloc (); in SockCreate()
595 if (NULL == Sock->SndBuffer.DataQueue) { in SockCreate()
602 Sock->RcvBuffer.DataQueue = NetbufQueAlloc (); in SockCreate()
603 if (NULL == Sock->RcvBuffer.DataQueue) { in SockCreate()
610 Sock->Signature = SOCK_SIGNATURE; in SockCreate()
612 Sock->Parent = Parent; in SockCreate()
613 Sock->BackLog = SockInitData->BackLog; in SockCreate()
614 Sock->ProtoHandler = SockInitData->ProtoHandler; in SockCreate()
615 Sock->SndBuffer.HighWater = SockInitData->SndBufferSize; in SockCreate()
616 Sock->RcvBuffer.HighWater = SockInitData->RcvBufferSize; in SockCreate()
617 Sock->Type = SockInitData->Type; in SockCreate()
618 Sock->DriverBinding = SockInitData->DriverBinding; in SockCreate()
619 Sock->State = SockInitData->State; in SockCreate()
620 Sock->CreateCallback = SockInitData->CreateCallback; in SockCreate()
621 Sock->DestroyCallback = SockInitData->DestroyCallback; in SockCreate()
622 Sock->Context = SockInitData->Context; in SockCreate()
624 Sock->SockError = EFI_ABORTED; in SockCreate()
625 Sock->SndBuffer.LowWater = SOCK_BUFF_LOW_WATER; in SockCreate()
626 Sock->RcvBuffer.LowWater = SOCK_BUFF_LOW_WATER; in SockCreate()
632 &(Sock->NetProtocol.TcpProtocol), in SockCreate()
640 CopyMem (Sock->ProtoReserved, SockInitData->ProtoData, SockInitData->DataSize); in SockCreate()
643 &Sock->SockHandle, in SockCreate()
645 &(Sock->NetProtocol.TcpProtocol), in SockCreate()
672 InsertTailList (&Parent->ConnectionList, &Sock->ConnectionList); in SockCreate()
675 if (Sock->CreateCallback != NULL) { in SockCreate()
676 Status = Sock->CreateCallback (Sock, Sock->Context); in SockCreate()
682 return Sock; in SockCreate()
686 if (Sock->SockHandle != NULL) { in SockCreate()
688 Sock->SockHandle, in SockCreate()
690 &(Sock->NetProtocol.TcpProtocol), in SockCreate()
695 if (NULL != Sock->SndBuffer.DataQueue) { in SockCreate()
696 NetbufQueFree (Sock->SndBuffer.DataQueue); in SockCreate()
699 if (NULL != Sock->RcvBuffer.DataQueue) { in SockCreate()
700 NetbufQueFree (Sock->RcvBuffer.DataQueue); in SockCreate()
703 FreePool (Sock); in SockCreate()
717 IN OUT SOCKET *Sock in SockDestroy() argument
724 ASSERT (SockStream == Sock->Type); in SockDestroy()
726 if (Sock->DestroyCallback != NULL) { in SockDestroy()
727 Sock->DestroyCallback (Sock, Sock->Context); in SockDestroy()
734 if (!SOCK_IS_UNCONFIGURED (Sock)) { in SockDestroy()
736 SockConnFlush (Sock); in SockDestroy()
737 SockSetState (Sock, SO_CLOSED); in SockDestroy()
738 Sock->ConfigureState = SO_UNCONFIGURED; in SockDestroy()
744 NetbufQueFree (Sock->RcvBuffer.DataQueue); in SockDestroy()
745 NetbufQueFree (Sock->SndBuffer.DataQueue); in SockDestroy()
750 if (Sock->Parent != NULL) { in SockDestroy()
752 RemoveEntryList (&(Sock->ConnectionList)); in SockDestroy()
753 (Sock->Parent->ConnCnt)--; in SockDestroy()
759 Sock->Parent->ConnCnt) in SockDestroy()
762 Sock->Parent = NULL; in SockDestroy()
775 Sock->SockHandle, in SockDestroy()
778 Sock->DriverBinding, in SockDestroy()
779 Sock->SockHandle, in SockDestroy()
796 Sock->SockHandle, in SockDestroy()
803 FreePool (Sock); in SockDestroy()
816 IN OUT SOCKET *Sock in SockConnFlush() argument
821 ASSERT (Sock != NULL); in SockConnFlush()
826 Sock->Flag = 0; in SockConnFlush()
831 NetbufQueFlush (Sock->SndBuffer.DataQueue); in SockConnFlush()
832 NetbufQueFlush (Sock->RcvBuffer.DataQueue); in SockConnFlush()
837 if (Sock->ConnectionToken != NULL) { in SockConnFlush()
838 SIGNAL_TOKEN (Sock->ConnectionToken, Sock->SockError); in SockConnFlush()
839 Sock->ConnectionToken = NULL; in SockConnFlush()
842 if (Sock->CloseToken != NULL) { in SockConnFlush()
843 SIGNAL_TOKEN (Sock->CloseToken, Sock->SockError); in SockConnFlush()
844 Sock->CloseToken = NULL; in SockConnFlush()
847 SockFlushPendingToken (Sock, &(Sock->ListenTokenList)); in SockConnFlush()
848 SockFlushPendingToken (Sock, &(Sock->RcvTokenList)); in SockConnFlush()
849 SockFlushPendingToken (Sock, &(Sock->SndTokenList)); in SockConnFlush()
850 SockFlushPendingToken (Sock, &(Sock->ProcessingSndTokenList)); in SockConnFlush()
855 if (SOCK_IS_LISTENING (Sock)) { in SockConnFlush()
856 while (!IsListEmpty (&Sock->ConnectionList)) { in SockConnFlush()
858 &Sock->ConnectionList, in SockConnFlush()
866 Sock->ConnCnt = 0; in SockConnFlush()
882 IN OUT SOCKET *Sock, in SockSetState() argument
886 Sock->State = State; in SockSetState()
900 IN SOCKET *Sock in SockClone() argument
906 InitData.BackLog = Sock->BackLog; in SockClone()
907 InitData.Parent = Sock; in SockClone()
908 InitData.State = Sock->State; in SockClone()
909 InitData.ProtoHandler = Sock->ProtoHandler; in SockClone()
910 InitData.Type = Sock->Type; in SockClone()
911 InitData.RcvBufferSize = Sock->RcvBuffer.HighWater; in SockClone()
912 InitData.SndBufferSize = Sock->SndBuffer.HighWater; in SockClone()
913 InitData.DriverBinding = Sock->DriverBinding; in SockClone()
914 InitData.Protocol = &(Sock->NetProtocol); in SockClone()
915 InitData.CreateCallback = Sock->CreateCallback; in SockClone()
916 InitData.DestroyCallback = Sock->DestroyCallback; in SockClone()
917 InitData.Context = Sock->Context; in SockClone()
918 InitData.ProtoData = Sock->ProtoReserved; in SockClone()
919 InitData.DataSize = sizeof (Sock->ProtoReserved); in SockClone()
929 ClonedSock->ConfigureState = Sock->ConfigureState; in SockClone()
947 IN SOCKET *Sock in SockConnEstablished() argument
951 ASSERT (SO_CONNECTING == Sock->State); in SockConnEstablished()
953 SockSetState (Sock, SO_CONNECTED); in SockConnEstablished()
955 if (NULL == Sock->Parent) { in SockConnEstablished()
956 SockWakeConnToken (Sock); in SockConnEstablished()
958 SockWakeListenToken (Sock); in SockConnEstablished()
977 IN OUT SOCKET *Sock in SockConnClosed() argument
980 if (Sock->CloseToken != NULL) { in SockConnClosed()
981 SIGNAL_TOKEN (Sock->CloseToken, EFI_SUCCESS); in SockConnClosed()
982 Sock->CloseToken = NULL; in SockConnClosed()
985 SockConnFlush (Sock); in SockConnClosed()
986 SockSetState (Sock, SO_CLOSED); in SockConnClosed()
988 if (Sock->Parent != NULL) { in SockConnClosed()
989 SockDestroyChild (Sock); in SockConnClosed()
1007 IN SOCKET *Sock, in SockDataSent() argument
1014 ASSERT (!IsListEmpty (&Sock->ProcessingSndTokenList)); in SockDataSent()
1015 ASSERT (Count <= (Sock->SndBuffer.DataQueue)->BufSize); in SockDataSent()
1017 NetbufQueTrim (Sock->SndBuffer.DataQueue, Count); in SockDataSent()
1024 &(Sock->ProcessingSndTokenList), in SockDataSent()
1048 SockProcessSndToken (Sock); in SockDataSent()
1068 IN SOCKET *Sock, in SockGetDataToSend() argument
1074 ASSERT ((Sock != NULL) && SockStream == Sock->Type); in SockGetDataToSend()
1077 Sock->SndBuffer.DataQueue, in SockGetDataToSend()
1099 IN SOCKET *Sock, in SockDataRcvd() argument
1104 ASSERT ((Sock != NULL) && (Sock->RcvBuffer.DataQueue != NULL) && in SockDataRcvd()
1111 NetbufQueAppend (Sock->RcvBuffer.DataQueue, NetBuffer); in SockDataRcvd()
1113 SockWakeRcvToken (Sock); in SockDataRcvd()
1130 IN SOCKET *Sock, in SockGetFreeSpace() argument
1137 ASSERT ((Sock != NULL) && ((SOCK_SND_BUF == Which) || (SOCK_RCV_BUF == Which))); in SockGetFreeSpace()
1140 SockBuffer = &(Sock->SndBuffer); in SockGetFreeSpace()
1142 SockBuffer = &(Sock->RcvBuffer); in SockGetFreeSpace()
1166 IN OUT SOCKET *Sock, in SockRcvdErr() argument
1172 if (!IsListEmpty (&Sock->RcvTokenList)) { in SockRcvdErr()
1175 &Sock->RcvTokenList, in SockRcvdErr()
1187 SOCK_ERROR (Sock, Error); in SockRcvdErr()
1204 IN OUT SOCKET *Sock in SockNoMoreData() argument
1209 SOCK_NO_MORE_DATA (Sock); in SockNoMoreData()
1211 if (!IsListEmpty (&Sock->RcvTokenList)) { in SockNoMoreData()
1213 ASSERT (0 == GET_RCV_DATASIZE (Sock)); in SockNoMoreData()
1215 Err = Sock->SockError; in SockNoMoreData()
1217 SOCK_ERROR (Sock, EFI_CONNECTION_FIN); in SockNoMoreData()
1219 SockFlushPendingToken (Sock, &Sock->RcvTokenList); in SockNoMoreData()
1221 SOCK_ERROR (Sock, Err); in SockNoMoreData()