Lines Matching refs:sock

56 	php_netstream_data_t *sock = (php_netstream_data_t*)stream->abstract;  in php_sockop_write()  local
60 if (sock->socket == -1) { in php_sockop_write()
64 if (sock->timeout.tv_sec == -1) in php_sockop_write()
67 ptimeout = &sock->timeout; in php_sockop_write()
70 didwrite = send(sock->socket, buf, count, (sock->is_blocked && ptimeout) ? MSG_DONTWAIT : 0); in php_sockop_write()
76 if (sock->is_blocked && err == EWOULDBLOCK) { in php_sockop_write()
79 sock->timeout_event = 0; in php_sockop_write()
82 retval = php_pollfd_for(sock->socket, POLLOUT, ptimeout); in php_sockop_write()
85 sock->timeout_event = 1; in php_sockop_write()
114 static void php_sock_stream_wait_for_data(php_stream *stream, php_netstream_data_t *sock TSRMLS_DC) in php_sock_stream_wait_for_data()
119 if (sock->socket == -1) { in php_sock_stream_wait_for_data()
123 sock->timeout_event = 0; in php_sock_stream_wait_for_data()
125 if (sock->timeout.tv_sec == -1) in php_sock_stream_wait_for_data()
128 ptimeout = &sock->timeout; in php_sock_stream_wait_for_data()
131 retval = php_pollfd_for(sock->socket, PHP_POLLREADABLE, ptimeout); in php_sock_stream_wait_for_data()
134 sock->timeout_event = 1; in php_sock_stream_wait_for_data()
146 php_netstream_data_t *sock = (php_netstream_data_t*)stream->abstract; in php_sockop_read() local
149 if (sock->socket == -1) { in php_sockop_read()
153 if (sock->is_blocked) { in php_sockop_read()
154 php_sock_stream_wait_for_data(stream, sock TSRMLS_CC); in php_sockop_read()
155 if (sock->timeout_event) in php_sockop_read()
159 …nr_bytes = recv(sock->socket, buf, count, (sock->is_blocked && sock->timeout.tv_sec != -1) ? MSG_D… in php_sockop_read()
177 php_netstream_data_t *sock = (php_netstream_data_t*)stream->abstract; in php_sockop_close() local
185 if (sock->socket == -1) in php_sockop_close()
186 sock->socket = SOCK_ERR; in php_sockop_close()
188 if (sock->socket != SOCK_ERR) { in php_sockop_close()
191 shutdown(sock->socket, SHUT_RD); in php_sockop_close()
200 n = php_pollfd_for_ms(sock->socket, POLLOUT, 500); in php_sockop_close()
203 closesocket(sock->socket); in php_sockop_close()
204 sock->socket = SOCK_ERR; in php_sockop_close()
209 pefree(sock, php_stream_is_persistent(stream)); in php_sockop_close()
217 php_netstream_data_t *sock = (php_netstream_data_t*)stream->abstract; in php_sockop_flush()
218 return fsync(sock->socket); in php_sockop_flush()
225 php_netstream_data_t *sock = (php_netstream_data_t*)stream->abstract; in php_sockop_stat() local
229 return fstat(sock->socket, &ssb->sb); in php_sockop_stat()
233 static inline int sock_sendto(php_netstream_data_t *sock, char *buf, size_t buflen, int flags, in sock_sendto() argument
239 ret = sendto(sock->socket, buf, buflen, flags, addr, addrlen); in sock_sendto()
242 return ((ret = send(sock->socket, buf, buflen, flags)) == SOCK_CONN_ERR) ? -1 : ret; in sock_sendto()
245 static inline int sock_recvfrom(php_netstream_data_t *sock, char *buf, size_t buflen, int flags, in sock_recvfrom() argument
256 ret = recvfrom(sock->socket, buf, buflen, flags, (struct sockaddr*)&sa, &sl); in sock_recvfrom()
261 ret = recv(sock->socket, buf, buflen, flags); in sock_recvfrom()
271 php_netstream_data_t *sock = (php_netstream_data_t*)stream->abstract; in php_sockop_set_option() local
282 if (sock->timeout.tv_sec == -1) { in php_sockop_set_option()
286 tv = sock->timeout; in php_sockop_set_option()
293 if (sock->socket == -1) { in php_sockop_set_option()
295 } else if (php_pollfd_for(sock->socket, PHP_POLLREADABLE|POLLPRI, &tv) > 0) { in php_sockop_set_option()
296 … if (0 >= recv(sock->socket, &buf, sizeof(buf), MSG_PEEK) && php_socket_errno() != EWOULDBLOCK) { in php_sockop_set_option()
304 oldmode = sock->is_blocked; in php_sockop_set_option()
305 if (SUCCESS == php_set_sock_blocking(sock->socket, value TSRMLS_CC)) { in php_sockop_set_option()
306 sock->is_blocked = value; in php_sockop_set_option()
312 sock->timeout = *(struct timeval*)ptrparam; in php_sockop_set_option()
313 sock->timeout_event = 0; in php_sockop_set_option()
317 add_assoc_bool((zval *)ptrparam, "timed_out", sock->timeout_event); in php_sockop_set_option()
318 add_assoc_bool((zval *)ptrparam, "blocked", sock->is_blocked); in php_sockop_set_option()
327 xparam->outputs.returncode = (listen(sock->socket, xparam->inputs.backlog) == 0) ? 0: -1; in php_sockop_set_option()
331 xparam->outputs.returncode = php_network_get_sock_name(sock->socket, in php_sockop_set_option()
340 xparam->outputs.returncode = php_network_get_peer_name(sock->socket, in php_sockop_set_option()
353 xparam->outputs.returncode = sock_sendto(sock, in php_sockop_set_option()
374 xparam->outputs.returncode = sock_recvfrom(sock, in php_sockop_set_option()
398 xparam->outputs.returncode = shutdown(sock->socket, shutdown_how[xparam->how]); in php_sockop_set_option()
414 php_netstream_data_t *sock = (php_netstream_data_t*)stream->abstract; in php_sockop_cast() local
419 *(FILE**)ret = fdopen(sock->socket, stream->mode); in php_sockop_cast()
429 *(php_socket_t *)ret = sock->socket; in php_sockop_cast()
568 static inline int php_tcp_sockop_bind(php_stream *stream, php_netstream_data_t *sock, in php_tcp_sockop_bind() argument
578sock->socket = socket(PF_UNIX, stream->ops == &php_stream_unix_socket_ops ? SOCK_STREAM : SOCK_DGR… in php_tcp_sockop_bind()
580 if (sock->socket == SOCK_ERR) { in php_tcp_sockop_bind()
591 return bind(sock->socket, (const struct sockaddr *)&unix_addr, in php_tcp_sockop_bind()
602 sock->socket = php_network_bind_socket_to_local_addr(host, portno, in php_tcp_sockop_bind()
612 return sock->socket == -1 ? -1 : 0; in php_tcp_sockop_bind()
615 static inline int php_tcp_sockop_connect(php_stream *stream, php_netstream_data_t *sock, in php_tcp_sockop_connect() argument
628sock->socket = socket(PF_UNIX, stream->ops == &php_stream_unix_socket_ops ? SOCK_STREAM : SOCK_DGR… in php_tcp_sockop_connect()
630 if (sock->socket == SOCK_ERR) { in php_tcp_sockop_connect()
639 ret = php_network_connect_socket(sock->socket, in php_tcp_sockop_connect()
672 sock->socket = php_network_connect_socket_to_host(host, portno, in php_tcp_sockop_connect()
682 ret = sock->socket == -1 ? -1 : 0; in php_tcp_sockop_connect()
704 static inline int php_tcp_sockop_accept(php_stream *stream, php_netstream_data_t *sock, in php_tcp_sockop_accept() argument
711 clisock = php_network_accept_incoming(sock->socket, in php_tcp_sockop_accept()
730 memcpy(clisockdata, sock, sizeof(*clisockdata)); in php_tcp_sockop_accept()
748 php_netstream_data_t *sock = (php_netstream_data_t*)stream->abstract; in php_tcp_sockop_set_option() local
758 xparam->outputs.returncode = php_tcp_sockop_connect(stream, sock, xparam TSRMLS_CC); in php_tcp_sockop_set_option()
762 xparam->outputs.returncode = php_tcp_sockop_bind(stream, sock, xparam TSRMLS_CC); in php_tcp_sockop_set_option()
767 xparam->outputs.returncode = php_tcp_sockop_accept(stream, sock, xparam STREAMS_CC TSRMLS_CC); in php_tcp_sockop_set_option()
785 php_netstream_data_t *sock; in php_stream_generic_socket_factory() local
806 sock = pemalloc(sizeof(php_netstream_data_t), persistent_id ? 1 : 0); in php_stream_generic_socket_factory()
807 memset(sock, 0, sizeof(php_netstream_data_t)); in php_stream_generic_socket_factory()
809 sock->is_blocked = 1; in php_stream_generic_socket_factory()
810 sock->timeout.tv_sec = FG(default_socket_timeout); in php_stream_generic_socket_factory()
811 sock->timeout.tv_usec = 0; in php_stream_generic_socket_factory()
815 sock->socket = -1; in php_stream_generic_socket_factory()
817 stream = php_stream_alloc_rel(ops, sock, persistent_id, "r+"); in php_stream_generic_socket_factory()
820 pefree(sock, persistent_id ? 1 : 0); in php_stream_generic_socket_factory()