Lines Matching refs:sock

61 	php_netstream_data_t *sock = (php_netstream_data_t*)stream->abstract;  in php_sockop_write()  local
65 if (!sock || sock->socket == -1) { in php_sockop_write()
69 if (sock->timeout.tv_sec == -1) in php_sockop_write()
72 ptimeout = &sock->timeout; in php_sockop_write()
75 …didwrite = send(sock->socket, buf, XP_SOCK_BUF_SIZE(count), (sock->is_blocked && ptimeout) ? MSG_D… in php_sockop_write()
81 if (sock->is_blocked) { in php_sockop_write()
84 sock->timeout_event = 0; in php_sockop_write()
87 retval = php_pollfd_for(sock->socket, POLLOUT, ptimeout); in php_sockop_write()
90 sock->timeout_event = 1; in php_sockop_write()
121 static void php_sock_stream_wait_for_data(php_stream *stream, php_netstream_data_t *sock) in php_sock_stream_wait_for_data() argument
126 if (!sock || sock->socket == -1) { in php_sock_stream_wait_for_data()
130 sock->timeout_event = 0; in php_sock_stream_wait_for_data()
132 if (sock->timeout.tv_sec == -1) in php_sock_stream_wait_for_data()
135 ptimeout = &sock->timeout; in php_sock_stream_wait_for_data()
138 retval = php_pollfd_for(sock->socket, PHP_POLLREADABLE, ptimeout); in php_sock_stream_wait_for_data()
141 sock->timeout_event = 1; in php_sock_stream_wait_for_data()
153 php_netstream_data_t *sock = (php_netstream_data_t*)stream->abstract; in php_sockop_read() local
157 if (!sock || sock->socket == -1) { in php_sockop_read()
161 if (sock->is_blocked) { in php_sockop_read()
162 php_sock_stream_wait_for_data(stream, sock); in php_sockop_read()
163 if (sock->timeout_event) in php_sockop_read()
167 …nr_bytes = recv(sock->socket, buf, XP_SOCK_BUF_SIZE(count), (sock->is_blocked && sock->timeout.tv_… in php_sockop_read()
190 php_netstream_data_t *sock = (php_netstream_data_t*)stream->abstract; in php_sockop_close() local
195 if (!sock) { in php_sockop_close()
202 if (sock->socket == -1) in php_sockop_close()
203 sock->socket = SOCK_ERR; in php_sockop_close()
205 if (sock->socket != SOCK_ERR) { in php_sockop_close()
208 shutdown(sock->socket, SHUT_RD); in php_sockop_close()
217 n = php_pollfd_for_ms(sock->socket, POLLOUT, 500); in php_sockop_close()
220 closesocket(sock->socket); in php_sockop_close()
221 sock->socket = SOCK_ERR; in php_sockop_close()
226 pefree(sock, php_stream_is_persistent(stream)); in php_sockop_close()
234 php_netstream_data_t *sock = (php_netstream_data_t*)stream->abstract; in php_sockop_flush()
235 return fsync(sock->socket); in php_sockop_flush()
245 php_netstream_data_t *sock = (php_netstream_data_t*)stream->abstract; in php_sockop_stat()
247 return zend_fstat(sock->socket, &ssb->sb); in php_sockop_stat()
251 static inline int sock_sendto(php_netstream_data_t *sock, const char *buf, size_t buflen, int flags, in sock_sendto() argument
257 ret = sendto(sock->socket, buf, XP_SOCK_BUF_SIZE(buflen), flags, addr, XP_SOCK_BUF_SIZE(addrlen)); in sock_sendto()
262 …return ((ret = send(sock->socket, buf, buflen > INT_MAX ? INT_MAX : (int)buflen, flags)) == SOCK_C… in sock_sendto()
264 return ((ret = send(sock->socket, buf, buflen, flags)) == SOCK_CONN_ERR) ? -1 : ret; in sock_sendto()
268 static inline int sock_recvfrom(php_netstream_data_t *sock, char *buf, size_t buflen, int flags, in sock_recvfrom() argument
279 ret = recvfrom(sock->socket, buf, XP_SOCK_BUF_SIZE(buflen), flags, (struct sockaddr*)&sa, &sl); in sock_recvfrom()
300 ret = recv(sock->socket, buf, XP_SOCK_BUF_SIZE(buflen), flags); in sock_recvfrom()
310 php_netstream_data_t *sock = (php_netstream_data_t*)stream->abstract; in php_sockop_set_option() local
313 if (!sock) { in php_sockop_set_option()
325 if (sock->timeout.tv_sec == -1) { in php_sockop_set_option()
329 tv = sock->timeout; in php_sockop_set_option()
336 if (sock->socket == -1) { in php_sockop_set_option()
338 } else if (php_pollfd_for(sock->socket, PHP_POLLREADABLE|POLLPRI, &tv) > 0) { in php_sockop_set_option()
346 ret = recv(sock->socket, &buf, sizeof(buf), MSG_PEEK); in php_sockop_set_option()
357 oldmode = sock->is_blocked; in php_sockop_set_option()
358 if (SUCCESS == php_set_sock_blocking(sock->socket, value)) { in php_sockop_set_option()
359 sock->is_blocked = value; in php_sockop_set_option()
365 sock->timeout = *(struct timeval*)ptrparam; in php_sockop_set_option()
366 sock->timeout_event = 0; in php_sockop_set_option()
370 add_assoc_bool((zval *)ptrparam, "timed_out", sock->timeout_event); in php_sockop_set_option()
371 add_assoc_bool((zval *)ptrparam, "blocked", sock->is_blocked); in php_sockop_set_option()
380 xparam->outputs.returncode = (listen(sock->socket, xparam->inputs.backlog) == 0) ? 0: -1; in php_sockop_set_option()
384 xparam->outputs.returncode = php_network_get_sock_name(sock->socket, in php_sockop_set_option()
392 xparam->outputs.returncode = php_network_get_peer_name(sock->socket, in php_sockop_set_option()
404 xparam->outputs.returncode = sock_sendto(sock, in php_sockop_set_option()
425 xparam->outputs.returncode = sock_recvfrom(sock, in php_sockop_set_option()
448 xparam->outputs.returncode = shutdown(sock->socket, shutdown_how[xparam->how]); in php_sockop_set_option()
464 php_netstream_data_t *sock = (php_netstream_data_t*)stream->abstract; in php_sockop_cast() local
466 if (!sock) { in php_sockop_cast()
473 *(FILE**)ret = fdopen(sock->socket, stream->mode); in php_sockop_cast()
483 *(php_socket_t *)ret = sock->socket; in php_sockop_cast()
622 static inline int php_tcp_sockop_bind(php_stream *stream, php_netstream_data_t *sock, in php_tcp_sockop_bind() argument
634sock->socket = socket(PF_UNIX, stream->ops == &php_stream_unix_socket_ops ? SOCK_STREAM : SOCK_DGR… in php_tcp_sockop_bind()
636 if (sock->socket == SOCK_ERR) { in php_tcp_sockop_bind()
647 return bind(sock->socket, (const struct sockaddr *)&unix_addr, in php_tcp_sockop_bind()
687 sock->socket = php_network_bind_socket_to_local_addr(host, portno, in php_tcp_sockop_bind()
698 return sock->socket == -1 ? -1 : 0; in php_tcp_sockop_bind()
701 static inline int php_tcp_sockop_connect(php_stream *stream, php_netstream_data_t *sock, in php_tcp_sockop_connect() argument
715sock->socket = socket(PF_UNIX, stream->ops == &php_stream_unix_socket_ops ? SOCK_STREAM : SOCK_DGR… in php_tcp_sockop_connect()
717 if (sock->socket == SOCK_ERR) { in php_tcp_sockop_connect()
726 ret = php_network_connect_socket(sock->socket, in php_tcp_sockop_connect()
781 sock->socket = php_network_connect_socket_to_host(host, portno, in php_tcp_sockop_connect()
792 ret = sock->socket == -1 ? -1 : 0; in php_tcp_sockop_connect()
814 static inline int php_tcp_sockop_accept(php_stream *stream, php_netstream_data_t *sock, in php_tcp_sockop_accept() argument
829 clisock = php_network_accept_incoming(sock->socket, in php_tcp_sockop_accept()
841 memcpy(clisockdata, sock, sizeof(*clisockdata)); in php_tcp_sockop_accept()
858 php_netstream_data_t *sock = (php_netstream_data_t*)stream->abstract; in php_tcp_sockop_set_option() local
868 xparam->outputs.returncode = php_tcp_sockop_connect(stream, sock, xparam); in php_tcp_sockop_set_option()
872 xparam->outputs.returncode = php_tcp_sockop_bind(stream, sock, xparam); in php_tcp_sockop_set_option()
877 xparam->outputs.returncode = php_tcp_sockop_accept(stream, sock, xparam STREAMS_CC); in php_tcp_sockop_set_option()
895 php_netstream_data_t *sock; in php_stream_generic_socket_factory() local
916 sock = pemalloc(sizeof(php_netstream_data_t), persistent_id ? 1 : 0); in php_stream_generic_socket_factory()
917 memset(sock, 0, sizeof(php_netstream_data_t)); in php_stream_generic_socket_factory()
919 sock->is_blocked = 1; in php_stream_generic_socket_factory()
920 sock->timeout.tv_sec = FG(default_socket_timeout); in php_stream_generic_socket_factory()
921 sock->timeout.tv_usec = 0; in php_stream_generic_socket_factory()
925 sock->socket = -1; in php_stream_generic_socket_factory()
927 stream = php_stream_alloc_rel(ops, sock, persistent_id, "r+"); in php_stream_generic_socket_factory()
930 pefree(sock, persistent_id ? 1 : 0); in php_stream_generic_socket_factory()