Lines Matching refs:sock
412 deSocket* sock = (deSocket*)deCalloc(sizeof(deSocket)); in deSocket_create() local
413 if (!sock) in deSocket_create()
414 return sock; in deSocket_create()
422 sock->stateLock = deMutex_create(0); in deSocket_create()
423 sock->handle = DE_INVALID_SOCKET_HANDLE; in deSocket_create()
424 sock->state = DE_SOCKETSTATE_CLOSED; in deSocket_create()
426 return sock; in deSocket_create()
429 void deSocket_destroy (deSocket* sock) in deSocket_destroy() argument
431 if (sock->state != DE_SOCKETSTATE_CLOSED) in deSocket_destroy()
432 deSocket_close(sock); in deSocket_destroy()
434 deMutex_destroy(sock->stateLock); in deSocket_destroy()
435 deFree(sock); in deSocket_destroy()
438 deSocketState deSocket_getState (const deSocket* sock) in deSocket_getState() argument
440 return sock->state; in deSocket_getState()
443 deUint32 deSocket_getOpenChannels (const deSocket* sock) in deSocket_getOpenChannels() argument
445 return sock->openChannels; in deSocket_getOpenChannels()
448 deBool deSocket_setFlags (deSocket* sock, deUint32 flags) in deSocket_setFlags() argument
450 deSocketHandle fd = sock->handle; in deSocket_setFlags()
452 if (sock->state == DE_SOCKETSTATE_CLOSED) in deSocket_setFlags()
496 deBool deSocket_listen (deSocket* sock, const deSocketAddress* address) in deSocket_listen() argument
503 if (sock->state != DE_SOCKETSTATE_CLOSED) in deSocket_listen()
511 …sock->handle = socket(bsdAddr->sa_family, deSocketTypeToBsdType(address->type), deSocketProtocolTo… in deSocket_listen()
512 if (!deSocketHandleIsValid(sock->handle)) in deSocket_listen()
515 sock->state = DE_SOCKETSTATE_DISCONNECTED; in deSocket_listen()
520 setsockopt(sock->handle, SOL_SOCKET, SO_REUSEADDR, (const char*)&reuseVal, (int)sizeof(reuseVal)); in deSocket_listen()
524 if (bind(sock->handle, bsdAddr, (NativeSocklen)bsdAddrLen) != 0) in deSocket_listen()
526 deSocket_close(sock); in deSocket_listen()
531 if (listen(sock->handle, backlogSize) != 0) in deSocket_listen()
533 deSocket_close(sock); in deSocket_listen()
537 sock->state = DE_SOCKETSTATE_LISTENING; in deSocket_listen()
542 deSocket* deSocket_accept (deSocket* sock, deSocketAddress* clientAddress) in deSocket_accept() argument
552 newFd = accept(sock->handle, bsdAddr, &bsdAddrLen); in deSocket_accept()
578 deBool deSocket_connect (deSocket* sock, const deSocketAddress* address) in deSocket_connect() argument
589 …sock->handle = socket(bsdAddr->sa_family, deSocketTypeToBsdType(address->type), deSocketProtocolTo… in deSocket_connect()
590 if (!deSocketHandleIsValid(sock->handle)) in deSocket_connect()
594 if (connect(sock->handle, bsdAddr, bsdAddrLen) != 0) in deSocket_connect()
597 closesocket(sock->handle); in deSocket_connect()
599 close(sock->handle); in deSocket_connect()
601 sock->handle = DE_INVALID_SOCKET_HANDLE; in deSocket_connect()
605 sock->state = DE_SOCKETSTATE_CONNECTED; in deSocket_connect()
606 sock->openChannels = DE_SOCKETCHANNEL_BOTH; in deSocket_connect()
611 deBool deSocket_shutdown (deSocket* sock, deUint32 channels) in deSocket_shutdown() argument
615 deMutex_lock(sock->stateLock); in deSocket_shutdown()
617 if (sock->state == DE_SOCKETSTATE_DISCONNECTED || in deSocket_shutdown()
618 sock->state == DE_SOCKETSTATE_CLOSED) in deSocket_shutdown()
620 deMutex_unlock(sock->stateLock); in deSocket_shutdown()
627 channels &= sock->openChannels; in deSocket_shutdown()
631 deMutex_unlock(sock->stateLock); in deSocket_shutdown()
646 if (shutdown(sock->handle, how) == 0) in deSocket_shutdown()
657 deMutex_unlock(sock->stateLock); in deSocket_shutdown()
673 if (shutdown(sock->handle, how) == 0) in deSocket_shutdown()
681 deMutex_unlock(sock->stateLock); in deSocket_shutdown()
688 sock->openChannels &= ~closedChannels; in deSocket_shutdown()
689 if (sock->openChannels == 0) in deSocket_shutdown()
690 sock->state = DE_SOCKETSTATE_DISCONNECTED; in deSocket_shutdown()
692 deMutex_unlock(sock->stateLock); in deSocket_shutdown()
696 deBool deSocket_close (deSocket* sock) in deSocket_close() argument
698 deMutex_lock(sock->stateLock); in deSocket_close()
700 if (sock->state == DE_SOCKETSTATE_CLOSED) in deSocket_close()
702 deMutex_unlock(sock->stateLock); in deSocket_close()
707 if (sock->state == DE_SOCKETSTATE_LISTENING) in deSocket_close()
710 shutdown(sock->handle, SHUT_RDWR); in deSocket_close()
715 if (closesocket(sock->handle) != 0) in deSocket_close()
718 if (close(sock->handle) != 0) in deSocket_close()
721 sock->state = DE_SOCKETSTATE_CLOSED; in deSocket_close()
722 sock->handle = DE_INVALID_SOCKET_HANDLE; in deSocket_close()
723 sock->openChannels = 0; in deSocket_close()
725 deMutex_unlock(sock->stateLock); in deSocket_close()
761 DE_INLINE void deSocket_setChannelsClosed (deSocket* sock, deUint32 channels) in deSocket_setChannelsClosed() argument
763 deMutex_lock(sock->stateLock); in deSocket_setChannelsClosed()
765 sock->openChannels &= ~channels; in deSocket_setChannelsClosed()
766 if (sock->openChannels == 0) in deSocket_setChannelsClosed()
767 sock->state = DE_SOCKETSTATE_DISCONNECTED; in deSocket_setChannelsClosed()
769 deMutex_unlock(sock->stateLock); in deSocket_setChannelsClosed()
772 deSocketResult deSocket_send (deSocket* sock, const void* buf, size_t bufSize, size_t* numSentPtr) in deSocket_send() argument
774 int numSent = (int)send(sock->handle, (const char*)buf, (NativeSize)bufSize, 0); in deSocket_send()
782 deSocket_setChannelsClosed(sock, DE_SOCKETCHANNEL_SEND); in deSocket_send()
784 deSocket_setChannelsClosed(sock, DE_SOCKETCHANNEL_BOTH); in deSocket_send()
789 deSocketResult deSocket_receive (deSocket* sock, void* buf, size_t bufSize, size_t* numReceivedPtr) in deSocket_receive() argument
791 int numRecv = (int)recv(sock->handle, (char*)buf, (NativeSize)bufSize, 0); in deSocket_receive()
799 deSocket_setChannelsClosed(sock, DE_SOCKETCHANNEL_RECEIVE); in deSocket_receive()
801 deSocket_setChannelsClosed(sock, DE_SOCKETCHANNEL_BOTH); in deSocket_receive()