Lines Matching defs:Sock

58   @param  Sock                 Pointer to the instance's socket.
67 IN SOCKET *Sock,
72 if (SockTokenExistedInList (&Sock->SndTokenList, Event) ||
73 SockTokenExistedInList (&Sock->ProcessingSndTokenList, Event) ||
74 SockTokenExistedInList (&Sock->RcvTokenList, Event) ||
75 SockTokenExistedInList (&Sock->ListenTokenList, Event)) {
80 if ((Sock->ConnectionToken != NULL) &&
81 (Sock->ConnectionToken->Event == Event)) {
86 if ((Sock->CloseToken != NULL) && (Sock->CloseToken->Event == Event)) {
95 Buffer a token into the specific list of socket Sock.
97 @param Sock Pointer to the instance's socket.
107 IN SOCKET *Sock,
124 SockToken->Sock = Sock;
134 Destory the socket Sock and its associated protocol control block.
136 @param Sock The socket to be destroyed.
138 @retval EFI_SUCCESS The socket Sock is destroyed successfully.
144 IN SOCKET *Sock
149 ASSERT ((Sock != NULL) && (Sock->ProtoHandler != NULL));
151 if (Sock->IsDestroyed) {
155 Sock->IsDestroyed = TRUE;
157 Status = EfiAcquireLockOrFail (&(Sock->Lock));
169 Status = Sock->ProtoHandler (Sock, SOCK_DETACH, NULL);
176 Sock->IsDestroyed = FALSE;
177 } else if (SOCK_IS_CONFIGURED (Sock)) {
179 SockConnFlush (Sock);
180 SockSetState (Sock, SO_CLOSED);
182 Sock->ConfigureState = SO_UNCONFIGURED;
185 EfiReleaseLock (&(Sock->Lock));
191 SockDestroy (Sock);
211 SOCKET *Sock;
217 Sock = SockCreate (SockInitData);
218 if (NULL == Sock) {
226 Status = EfiAcquireLockOrFail (&(Sock->Lock));
232 SockDestroy (Sock);
239 Status = Sock->ProtoHandler (Sock, SOCK_ATTACH, NULL);
240 EfiReleaseLock (&(Sock->Lock));
246 SockDestroy (Sock);
247 Sock = NULL;
250 return Sock;
255 Configure the specific socket Sock using configuration data ConfigData.
257 @param Sock Pointer to the socket to be configured.
267 IN SOCKET *Sock,
273 Status = EfiAcquireLockOrFail (&(Sock->Lock));
282 if (SOCK_IS_CONFIGURED (Sock)) {
287 ASSERT (Sock->State == SO_CLOSED);
289 Status = Sock->ProtoHandler (Sock, SOCK_CONFIGURE, ConfigData);
292 EfiReleaseLock (&(Sock->Lock));
301 @param Sock Pointer to the socket to initiate the initate the
318 IN SOCKET *Sock,
325 Status = EfiAcquireLockOrFail (&(Sock->Lock));
334 if (SOCK_IS_NO_MAPPING (Sock)) {
339 if (SOCK_IS_UNCONFIGURED (Sock)) {
345 if (!SOCK_IS_CLOSED (Sock) || !SOCK_IS_CONFIGURED_ACTIVE (Sock)) {
353 if (SockTokenExisted (Sock, Event)) {
359 Sock->ConnectionToken = (SOCK_COMPLETION_TOKEN *) Token;
360 SockSetState (Sock, SO_CONNECTING);
361 Status = Sock->ProtoHandler (Sock, SOCK_CONNECT, NULL);
364 EfiReleaseLock (&(Sock->Lock));
373 @param Sock Pointer to the socket to accept connections.
390 IN SOCKET *Sock,
400 ASSERT (SockStream == Sock->Type);
402 Status = EfiAcquireLockOrFail (&(Sock->Lock));
411 if (SOCK_IS_NO_MAPPING (Sock)) {
416 if (SOCK_IS_UNCONFIGURED (Sock)) {
422 if (!SOCK_IS_LISTENING (Sock)) {
430 if (SockTokenExisted (Sock, Event)) {
439 // Check if a connection has already in this Sock->ConnectionList
441 NET_LIST_FOR_EACH (ListEntry, &Sock->ConnectionList) {
469 if (NULL == SockBufferToken (Sock, &(Sock->ListenTokenList), Token, 0)) {
475 EfiReleaseLock (&(Sock->Lock));
484 @param Sock Pointer to the socket to process the token with
501 IN SOCKET *Sock,
513 ASSERT (SockStream == Sock->Type);
515 Status = EfiAcquireLockOrFail (&(Sock->Lock));
524 if (SOCK_IS_NO_MAPPING (Sock)) {
532 if (SOCK_IS_UNCONFIGURED (Sock)) {
537 if (!(SOCK_IS_CONNECTING (Sock) || SOCK_IS_CONNECTED (Sock))) {
548 if (SockTokenExisted (Sock, Event)) {
558 FreeSpace = SockGetFreeSpace (Sock, SOCK_SND_BUF);
560 if ((FreeSpace < Sock->SndBuffer.LowWater) || !SOCK_IS_CONNECTED (Sock)) {
563 Sock,
564 &Sock->SndTokenList,
575 Sock,
576 &Sock->ProcessingSndTokenList,
589 Status = SockProcessTcpSndData (Sock, TxData);
601 EfiReleaseLock (&(Sock->Lock));
609 @param Sock Pointer to the socket to get data from.
627 IN SOCKET *Sock,
636 ASSERT (SockStream == Sock->Type);
638 Status = EfiAcquireLockOrFail (&(Sock->Lock));
647 if (SOCK_IS_NO_MAPPING (Sock)) {
653 if (SOCK_IS_UNCONFIGURED (Sock)) {
659 if (!(SOCK_IS_CONNECTED (Sock) || SOCK_IS_CONNECTING (Sock))) {
671 if (SockTokenExisted (Sock, Event)) {
677 RcvdBytes = GET_RCV_DATASIZE (Sock);
682 if (EFI_ABORTED != Sock->SockError) {
684 SIGNAL_TOKEN (&(RcvToken->Token), Sock->SockError);
685 Sock->SockError = EFI_ABORTED;
691 // data buffered in Sock->RcvBuffer
693 if (SOCK_IS_NO_MORE_DATA (Sock) && (0 == RcvdBytes)) {
700 Status = SockProcessRcvToken (Sock, RcvToken);
706 Status = Sock->ProtoHandler (Sock, SOCK_CONSUMED, NULL);
709 if (NULL == SockBufferToken (Sock, &Sock->RcvTokenList, RcvToken, 0)) {
715 EfiReleaseLock (&(Sock->Lock));
723 @param Sock Pointer to the socket to be flushed.
731 IN SOCKET *Sock
736 ASSERT (SockStream == Sock->Type);
738 Status = EfiAcquireLockOrFail (&(Sock->Lock));
747 if (!SOCK_IS_CONFIGURED (Sock)) {
751 Status = Sock->ProtoHandler (Sock, SOCK_FLUSH, NULL);
760 SOCK_ERROR (Sock, EFI_ABORTED);
761 SockConnFlush (Sock);
762 SockSetState (Sock, SO_CLOSED);
764 Sock->ConfigureState = SO_UNCONFIGURED;
767 EfiReleaseLock (&(Sock->Lock));
775 @param Sock Pointer to the socket of the connection to close or
793 IN SOCKET *Sock,
801 ASSERT (SockStream == Sock->Type);
803 Status = EfiAcquireLockOrFail (&(Sock->Lock));
811 if (SOCK_IS_NO_MAPPING (Sock)) {
816 if (SOCK_IS_UNCONFIGURED (Sock)) {
821 if (SOCK_IS_DISCONNECTING (Sock)) {
828 if (SockTokenExisted (Sock, Event)) {
833 Sock->CloseToken = Token;
834 SockSetState (Sock, SO_DISCONNECTING);
837 Status = Sock->ProtoHandler (Sock, SOCK_ABORT, NULL);
839 Status = Sock->ProtoHandler (Sock, SOCK_CLOSE, NULL);
843 EfiReleaseLock (&(Sock->Lock));
851 @param Sock Pointer to the socket to get mode data from.
861 IN SOCKET *Sock,
865 return Sock->ProtoHandler (Sock, SOCK_MODE, Mode);
873 @param Sock Pointer to the socket of the connection to join the
884 IN SOCKET *Sock,
890 Status = EfiAcquireLockOrFail (&(Sock->Lock));
900 if (SOCK_IS_UNCONFIGURED (Sock)) {
905 Status = Sock->ProtoHandler (Sock, SOCK_GROUP, GroupInfo);
908 EfiReleaseLock (&(Sock->Lock));
917 @param Sock Pointer to the socket associated with the IP route
930 IN SOCKET *Sock,
936 Status = EfiAcquireLockOrFail (&(Sock->Lock));
944 if (SOCK_IS_NO_MAPPING (Sock)) {
949 if (SOCK_IS_UNCONFIGURED (Sock)) {
954 Status = Sock->ProtoHandler (Sock, SOCK_ROUTE, RouteInfo);
957 EfiReleaseLock (&(Sock->Lock));