Lines Matching defs:Sock

56   @param[in]  Sock             Pointer to the instance's socket.
65 IN SOCKET *Sock,
70 if (SockTokenExistedInList (&Sock->SndTokenList, Event) ||
71 SockTokenExistedInList (&Sock->ProcessingSndTokenList, Event) ||
72 SockTokenExistedInList (&Sock->RcvTokenList, Event) ||
73 SockTokenExistedInList (&Sock->ListenTokenList, Event)
79 if ((Sock->ConnectionToken != NULL) && (Sock->ConnectionToken->Event == Event)) {
84 if ((Sock->CloseToken != NULL) && (Sock->CloseToken->Event == Event)) {
92 Buffer a token into the specific list of the socket Sock.
94 @param[in] Sock Pointer to the instance's socket.
104 IN SOCKET *Sock,
123 SockToken->Sock = Sock;
132 Destory the socket Sock and its associated protocol control block.
134 @param[in, out] Sock The socket to be destroyed.
136 @retval EFI_SUCCESS The socket Sock was destroyed successfully.
142 IN OUT SOCKET *Sock
147 ASSERT ((Sock != NULL) && (Sock->ProtoHandler != NULL));
149 if (Sock->IsDestroyed) {
153 Sock->IsDestroyed = TRUE;
155 Status = EfiAcquireLockOrFail (&(Sock->Lock));
170 Status = Sock->ProtoHandler (Sock, SOCK_DETACH, NULL);
180 Sock->IsDestroyed = FALSE;
181 } else if (SOCK_IS_CONFIGURED (Sock)) {
183 SockConnFlush (Sock);
184 SockSetState (Sock, SO_CLOSED);
186 Sock->ConfigureState = SO_UNCONFIGURED;
189 EfiReleaseLock (&(Sock->Lock));
195 SockDestroy (Sock);
214 SOCKET *Sock;
220 Sock = SockCreate (SockInitData);
221 if (NULL == Sock) {
231 Status = EfiAcquireLockOrFail (&(Sock->Lock));
240 SockDestroy (Sock);
247 Status = Sock->ProtoHandler (Sock, SOCK_ATTACH, NULL);
248 EfiReleaseLock (&(Sock->Lock));
257 SockDestroy (Sock);
258 Sock = NULL;
261 return Sock;
265 Configure the specific socket Sock using configuration data ConfigData.
267 @param[in] Sock Pointer to the socket to be configured.
277 IN SOCKET *Sock,
283 Status = EfiAcquireLockOrFail (&(Sock->Lock));
295 if (SOCK_IS_CONFIGURED (Sock)) {
300 ASSERT (Sock->State == SO_CLOSED);
302 Status = Sock->ProtoHandler (Sock, SOCK_CONFIGURE, ConfigData);
305 EfiReleaseLock (&(Sock->Lock));
313 @param[in] Sock Pointer to the socket to initiate the initate the
330 IN SOCKET *Sock,
337 Status = EfiAcquireLockOrFail (&(Sock->Lock));
349 if (SOCK_IS_NO_MAPPING (Sock)) {
354 if (SOCK_IS_UNCONFIGURED (Sock)) {
360 if (!SOCK_IS_CLOSED (Sock) || !SOCK_IS_CONFIGURED_ACTIVE (Sock)) {
368 if (SockTokenExisted (Sock, Event)) {
374 Sock->ConnectionToken = (SOCK_COMPLETION_TOKEN *) Token;
375 SockSetState (Sock, SO_CONNECTING);
376 Status = Sock->ProtoHandler (Sock, SOCK_CONNECT, NULL);
379 EfiReleaseLock (&(Sock->Lock));
387 @param[in] Sock Pointer to the socket to accept connections.
404 IN SOCKET *Sock,
414 ASSERT (SockStream == Sock->Type);
416 Status = EfiAcquireLockOrFail (&(Sock->Lock));
428 if (SOCK_IS_NO_MAPPING (Sock)) {
433 if (SOCK_IS_UNCONFIGURED (Sock)) {
439 if (!SOCK_IS_LISTENING (Sock)) {
447 if (SockTokenExisted (Sock, Event)) {
456 // Check if a connection has already in this Sock->ConnectionList
458 NET_LIST_FOR_EACH (ListEntry, &Sock->ConnectionList) {
486 if (NULL == SockBufferToken (Sock, &(Sock->ListenTokenList), Token, 0)) {
492 EfiReleaseLock (&(Sock->Lock));
500 @param[in] Sock Pointer to the socket to process the token with
517 IN SOCKET *Sock,
529 ASSERT (SockStream == Sock->Type);
531 Status = EfiAcquireLockOrFail (&(Sock->Lock));
543 if (SOCK_IS_NO_MAPPING (Sock)) {
551 if (SOCK_IS_UNCONFIGURED (Sock)) {
556 if (!(SOCK_IS_CONNECTING (Sock) || SOCK_IS_CONNECTED (Sock))) {
567 if (SockTokenExisted (Sock, Event)) {
577 FreeSpace = SockGetFreeSpace (Sock, SOCK_SND_BUF);
579 if ((FreeSpace < Sock->SndBuffer.LowWater) || !SOCK_IS_CONNECTED (Sock)) {
582 Sock,
583 &Sock->SndTokenList,
594 Sock,
595 &Sock->ProcessingSndTokenList,
611 Status = SockProcessTcpSndData (Sock, TxData);
626 EfiReleaseLock (&(Sock->Lock));
633 @param[in] Sock Pointer to the socket to get data from.
651 IN SOCKET *Sock,
660 ASSERT (SockStream == Sock->Type);
662 Status = EfiAcquireLockOrFail (&(Sock->Lock));
674 if (SOCK_IS_NO_MAPPING (Sock)) {
680 if (SOCK_IS_UNCONFIGURED (Sock)) {
686 if (!(SOCK_IS_CONNECTED (Sock) || SOCK_IS_CONNECTING (Sock))) {
698 if (SockTokenExisted (Sock, Event)) {
704 RcvdBytes = GET_RCV_DATASIZE (Sock);
709 if (EFI_ABORTED != Sock->SockError) {
711 SIGNAL_TOKEN (&(RcvToken->Token), Sock->SockError);
712 Sock->SockError = EFI_ABORTED;
718 // data buffered in Sock->RcvBuffer
720 if (SOCK_IS_NO_MORE_DATA (Sock) && (0 == RcvdBytes)) {
727 Status = SockProcessRcvToken (Sock, RcvToken);
733 Status = Sock->ProtoHandler (Sock, SOCK_CONSUMED, NULL);
736 if (NULL == SockBufferToken (Sock, &Sock->RcvTokenList, RcvToken, 0)) {
742 EfiReleaseLock (&(Sock->Lock));
749 @param[in, out] Sock Pointer to the socket to be flushed.
757 IN OUT SOCKET *Sock
762 ASSERT (SockStream == Sock->Type);
764 Status = EfiAcquireLockOrFail (&(Sock->Lock));
776 if (!SOCK_IS_CONFIGURED (Sock)) {
782 Status = Sock->ProtoHandler (Sock, SOCK_FLUSH, NULL);
794 SOCK_ERROR (Sock, EFI_ABORTED);
795 SockConnFlush (Sock);
796 SockSetState (Sock, SO_CLOSED);
798 Sock->ConfigureState = SO_UNCONFIGURED;
801 EfiReleaseLock (&(Sock->Lock));
808 @param[in, out] Sock Pointer to the socket of the connection to close
826 IN OUT SOCKET *Sock,
834 ASSERT (SockStream == Sock->Type);
836 Status = EfiAcquireLockOrFail (&(Sock->Lock));
847 if (SOCK_IS_NO_MAPPING (Sock)) {
852 if (SOCK_IS_UNCONFIGURED (Sock)) {
857 if (SOCK_IS_DISCONNECTING (Sock)) {
864 if (SockTokenExisted (Sock, Event)) {
869 Sock->CloseToken = Token;
870 SockSetState (Sock, SO_DISCONNECTING);
873 Status = Sock->ProtoHandler (Sock, SOCK_ABORT, NULL);
875 Status = Sock->ProtoHandler (Sock, SOCK_CLOSE, NULL);
879 EfiReleaseLock (&(Sock->Lock));
886 @param[in] Sock Pointer to the socket to get mode data from.
896 IN SOCKET *Sock,
900 return Sock->ProtoHandler (Sock, SOCK_MODE, Mode);
907 @param[in] Sock Pointer to the socket of the connection to join the
918 IN SOCKET *Sock,
924 Status = EfiAcquireLockOrFail (&(Sock->Lock));
937 if (SOCK_IS_UNCONFIGURED (Sock)) {
942 Status = Sock->ProtoHandler (Sock, SOCK_GROUP, GroupInfo);
945 EfiReleaseLock (&(Sock->Lock));
953 @param[in] Sock Pointer to the socket associated with the IP route
966 IN SOCKET *Sock,
972 Status = EfiAcquireLockOrFail (&(Sock->Lock));
983 if (SOCK_IS_NO_MAPPING (Sock)) {
988 if (SOCK_IS_UNCONFIGURED (Sock)) {
993 Status = Sock->ProtoHandler (Sock, SOCK_ROUTE, RouteInfo);
996 EfiReleaseLock (&(Sock->Lock));