Lines Matching refs:php_sock

398 	php_socket *php_sock = emalloc(sizeof *php_sock);  in php_create_socket()  local
400 php_sock->bsd_socket = -1; /* invalid socket */ in php_create_socket()
401 php_sock->type = PF_UNSPEC; in php_create_socket()
402 php_sock->error = 0; in php_create_socket()
403 php_sock->blocking = 1; in php_create_socket()
404 php_sock->zstream = NULL; in php_create_socket()
406 return php_sock; in php_create_socket()
412 php_socket *php_sock = rsrc->ptr; in php_destroy_socket() local
414 if (php_sock->zstream == NULL) { in php_destroy_socket()
415 if (!IS_INVALID_SOCKET(php_sock)) { in php_destroy_socket()
416 close(php_sock->bsd_socket); in php_destroy_socket()
419 zval_ptr_dtor(&php_sock->zstream); in php_destroy_socket()
421 efree(php_sock); in php_destroy_socket()
425 static int php_open_listen_sock(php_socket **php_sock, int port, int backlog TSRMLS_DC) /* {{{ */ argument
431 *php_sock = sock;
613 static int php_set_inet6_addr(struct sockaddr_in6 *sin6, char *string, php_socket *php_sock TSRMLS_…
632 PHP_SOCKET_ERROR(php_sock, "Host lookup failed", WSAGetLastError());
634 PHP_SOCKET_ERROR(php_sock, "Host lookup failed", (-10000 - h_errno));
677 static int php_set_inet_addr(struct sockaddr_in *sin, char *string, php_socket *php_sock TSRMLS_DC)…
688 PHP_SOCKET_ERROR(php_sock, "Host lookup failed", WSAGetLastError());
690 PHP_SOCKET_ERROR(php_sock, "Host lookup failed", (-10000 - h_errno));
707 …(php_sockaddr_storage *ss, socklen_t *ss_len, char *string, php_socket *php_sock TSRMLS_DC) /* {{{…
709 if (php_sock->type == AF_INET) {
711 if (php_set_inet_addr(&t, string, php_sock TSRMLS_CC)) {
719 else if (php_sock->type == AF_INET6) {
721 if (php_set_inet6_addr(&t, string, php_sock TSRMLS_CC)) {
954 php_socket *php_sock; local
963php_sock = (php_socket*) zend_fetch_resource(element TSRMLS_CC, -1, le_socket_name, NULL, 1, le_so…
964 if (!php_sock) continue; /* If element is not a resource, skip it */
966 PHP_SAFE_FD_SET(php_sock->bsd_socket, fds);
967 if (php_sock->bsd_socket > *max_fd) {
968 *max_fd = php_sock->bsd_socket;
981 php_socket *php_sock; local
996php_sock = (php_socket*) zend_fetch_resource(element TSRMLS_CC, -1, le_socket_name, NULL, 1, le_so…
997 if (!php_sock) continue; /* If element is not a resource, skip it */
999 if (PHP_SAFE_FD_ISSET(php_sock->bsd_socket, fds)) {
1103 php_socket *php_sock; local
1110 if (!php_open_listen_sock(&php_sock, port, backlog TSRMLS_CC)) {
1114 php_sock->error = 0;
1115 php_sock->blocking = 1;
1117 ZEND_REGISTER_RESOURCE(return_value, php_sock, le_socket);
1126 php_socket *php_sock, *new_sock; local
1134 ZEND_FETCH_RESOURCE(php_sock, php_socket *, &arg1, -1, le_socket_name, le_socket);
1136 if (!php_accept_connect(php_sock, &new_sock, (struct sockaddr*)&sa, &php_sa_len TSRMLS_CC)) {
1149 php_socket *php_sock; local
1155 ZEND_FETCH_RESOURCE(php_sock, php_socket *, &arg1, -1, le_socket_name, le_socket);
1157 if (php_sock->zstream != NULL) {
1160 stream = zend_fetch_resource(&php_sock->zstream TSRMLS_CC, -1,
1165 php_sock->blocking = 0;
1171 if (php_set_sock_blocking(php_sock->bsd_socket, 0 TSRMLS_CC) == SUCCESS) {
1172 php_sock->blocking = 0;
1175 PHP_SOCKET_ERROR(php_sock, "unable to set nonblocking mode", errno);
1186 php_socket *php_sock; local
1192 ZEND_FETCH_RESOURCE(php_sock, php_socket *, &arg1, -1, le_socket_name, le_socket);
1197 if (php_sock->zstream != NULL) {
1199 stream = zend_fetch_resource(&php_sock->zstream TSRMLS_CC, -1,
1204 php_sock->blocking = 1;
1210 if (php_set_sock_blocking(php_sock->bsd_socket, 1 TSRMLS_CC) == SUCCESS) {
1211 php_sock->blocking = 1;
1214 PHP_SOCKET_ERROR(php_sock, "unable to set blocking mode", errno);
1225 php_socket *php_sock; local
1232 ZEND_FETCH_RESOURCE(php_sock, php_socket *, &arg1, -1, le_socket_name, le_socket);
1234 if (listen(php_sock->bsd_socket, backlog) != 0) {
1235 PHP_SOCKET_ERROR(php_sock, "unable to listen on socket", errno);
1247 php_socket *php_sock; local
1253 ZEND_FETCH_RESOURCE(php_sock, php_socket *, &arg1, -1, le_socket_name, le_socket);
1254 if (php_sock->zstream != NULL) {
1256 php_stream_from_zval_no_verify(stream, &php_sock->zstream);
1273 php_socket *php_sock; local
1282 ZEND_FETCH_RESOURCE(php_sock, php_socket *, &arg1, -1, le_socket_name, le_socket);
1289 retval = write(php_sock->bsd_socket, str, MIN(length, str_len));
1291 retval = send(php_sock->bsd_socket, str, min(length, str_len), 0);
1295 PHP_SOCKET_ERROR(php_sock, "unable to write to socket", errno);
1308 php_socket *php_sock; local
1324 ZEND_FETCH_RESOURCE(php_sock, php_socket *, &arg1, -1, le_socket_name, le_socket);
1327 retval = php_read(php_sock, tmpbuf, length, 0);
1329 retval = recv(php_sock->bsd_socket, tmpbuf, length, 0);
1340 php_sock->error = errno;
1343 PHP_SOCKET_ERROR(php_sock, "unable to read from socket", errno);
1366 php_socket *php_sock; local
1381 ZEND_FETCH_RESOURCE(php_sock, php_socket *, &arg1, -1, le_socket_name, le_socket);
1385 if (getsockname(php_sock->bsd_socket, sa, &salen) != 0) {
1386 PHP_SOCKET_ERROR(php_sock, "unable to retrieve socket name", errno);
1443 php_socket *php_sock; local
1458 ZEND_FETCH_RESOURCE(php_sock, php_socket *, &arg1, -1, le_socket_name, le_socket);
1462 if (getpeername(php_sock->bsd_socket, sa, &salen) < 0) {
1463 PHP_SOCKET_ERROR(php_sock, "unable to retrieve peer name", errno);
1521 php_socket *php_sock = php_create_socket(); local
1524 efree(php_sock);
1542 php_sock->bsd_socket = socket(arg1, arg2, arg3);
1543 php_sock->type = arg1;
1545 if (IS_INVALID_SOCKET(php_sock)) {
1548 efree(php_sock);
1552 php_sock->error = 0;
1553 php_sock->blocking = 1;
1555 ZEND_REGISTER_RESOURCE(return_value, php_sock, le_socket);
1564 php_socket *php_sock; local
1574 ZEND_FETCH_RESOURCE(php_sock, php_socket *, &arg1, -1, le_socket_name, le_socket);
1576 switch(php_sock->type) {
1591 if (! php_set_inet6_addr(&sin6, addr, php_sock TSRMLS_CC)) {
1595 retval = connect(php_sock->bsd_socket, (struct sockaddr *)&sin6, sizeof(struct sockaddr_in6));
1610 if (! php_set_inet_addr(&sin, addr, php_sock TSRMLS_CC)) {
1614 retval = connect(php_sock->bsd_socket, (struct sockaddr *)&sin, sizeof(struct sockaddr_in));
1628 retval = connect(php_sock->bsd_socket, (struct sockaddr *) &s_un,
1634 php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unsupported socket type %d", php_sock->type);
1639 PHP_SOCKET_ERROR(php_sock, "unable to connect", errno);
1668 php_socket *php_sock; local
1678 ZEND_FETCH_RESOURCE(php_sock, php_socket *, &arg1, -1, le_socket_name, le_socket);
1680 switch(php_sock->type) {
1687 retval = bind(php_sock->bsd_socket, (struct sockaddr *) sa, SUN_LEN(sa));
1700 if (! php_set_inet_addr(sa, addr, php_sock TSRMLS_CC)) {
1704 retval = bind(php_sock->bsd_socket, (struct sockaddr *)sa, sizeof(struct sockaddr_in));
1717 if (! php_set_inet6_addr(sa, addr, php_sock TSRMLS_CC)) {
1721 retval = bind(php_sock->bsd_socket, (struct sockaddr *)sa, sizeof(struct sockaddr_in6));
1726 … E_WARNING, "unsupported socket type '%d', must be AF_UNIX, AF_INET, or AF_INET6", php_sock->type);
1731 PHP_SOCKET_ERROR(php_sock, "unable to bind address", errno);
1745 php_socket *php_sock; local
1753 ZEND_FETCH_RESOURCE(php_sock, php_socket *, &php_sock_res, -1, le_socket_name, le_socket);
1763 if ((retval = recv(php_sock->bsd_socket, recv_buf, len, flags)) < 1) {
1780 PHP_SOCKET_ERROR(php_sock, "unable to read from socket", errno);
1793 php_socket *php_sock; local
1802 ZEND_FETCH_RESOURCE(php_sock, php_socket *, &arg1, -1, le_socket_name, le_socket);
1804 retval = send(php_sock->bsd_socket, buf, (buf_len < len ? buf_len : len), flags);
1807 PHP_SOCKET_ERROR(php_sock, "unable to write to socket", errno);
1820 php_socket *php_sock; local
1836 ZEND_FETCH_RESOURCE(php_sock, php_socket *, &arg1, -1, le_socket_name, le_socket);
1846 switch (php_sock->type) {
1850 …retval = recvfrom(php_sock->bsd_socket, recv_buf, arg3, arg4, (struct sockaddr *)&s_un, (socklen_t…
1853 PHP_SOCKET_ERROR(php_sock, "unable to recvfrom", errno);
1875 …retval = recvfrom(php_sock->bsd_socket, recv_buf, arg3, arg4, (struct sockaddr *)&sin, (socklen_t …
1878 PHP_SOCKET_ERROR(php_sock, "unable to recvfrom", errno);
1904 …retval = recvfrom(php_sock->bsd_socket, recv_buf, arg3, arg4, (struct sockaddr *)&sin6, (socklen_t…
1907 PHP_SOCKET_ERROR(php_sock, "unable to recvfrom", errno);
1925 php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unsupported socket type %d", php_sock->type);
1938 php_socket *php_sock; local
1953 ZEND_FETCH_RESOURCE(php_sock, php_socket *, &arg1, -1, le_socket_name, le_socket);
1955 switch (php_sock->type) {
1961 …retval = sendto(php_sock->bsd_socket, buf, (len > buf_len) ? buf_len : len, flags, (struct sockadd…
1973 if (! php_set_inet_addr(&sin, addr, php_sock TSRMLS_CC)) {
1977 …retval = sendto(php_sock->bsd_socket, buf, (len > buf_len) ? buf_len : len, flags, (struct sockadd…
1989 if (! php_set_inet6_addr(&sin6, addr, php_sock TSRMLS_CC)) {
1993 …retval = sendto(php_sock->bsd_socket, buf, (len > buf_len) ? buf_len : len, flags, (struct sockadd…
1997 php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unsupported socket type %d", php_sock->type);
2002 PHP_SOCKET_ERROR(php_sock, "unable to write to socket", errno);
2021 php_socket *php_sock; local
2029 ZEND_FETCH_RESOURCE(php_sock, php_socket *, &arg1, -1, le_socket_name, le_socket);
2037 if (getsockopt(php_sock->bsd_socket, level, optname, (char*)&if_addr, &optlen) != 0) {
2038 PHP_SOCKET_ERROR(php_sock, "unable to retrieve socket option", errno);
2041 if (php_add4_to_if_index(&if_addr, php_sock, &if_index TSRMLS_CC) == SUCCESS) {
2055 if (getsockopt(php_sock->bsd_socket, level, optname, (char*)&linger_val, &optlen) != 0) {
2056 PHP_SOCKET_ERROR(php_sock, "unable to retrieve socket option", errno);
2070 if (getsockopt(php_sock->bsd_socket, level, optname, (char*)&tv, &optlen) != 0) {
2071 PHP_SOCKET_ERROR(php_sock, "unable to retrieve socket option", errno);
2077 if (getsockopt(php_sock->bsd_socket, level, optname, (char*)&timeout, &optlen) != 0) {
2078 PHP_SOCKET_ERROR(php_sock, "unable to retrieve socket option", errno);
2095 if (getsockopt(php_sock->bsd_socket, level, optname, (char*)&other_val, &optlen) != 0) {
2096 PHP_SOCKET_ERROR(php_sock, "unable to retrieve socket option", errno);
2108 static int php_do_mcast_opt(php_socket *php_sock, int level, int optname, zval **arg4 TSRMLS_DC) argument
2134 if (php_get_address_from_array(opt_ht, "group", php_sock, &group,
2138 if (php_get_if_index_from_array(opt_ht, "interface", php_sock,
2143 retval = mcast_req_fun(php_sock, level, (struct sockaddr*)&group,
2170 if (php_get_address_from_array(opt_ht, "group", php_sock, &group,
2174 if (php_get_address_from_array(opt_ht, "source", php_sock, &source,
2178 if (php_get_if_index_from_array(opt_ht, "interface", php_sock,
2183 retval = mcast_sreq_fun(php_sock, level, (struct sockaddr*)&group,
2197 PHP_SOCKET_ERROR(php_sock, "unable to set socket option", errno);
2210 php_socket *php_sock; local
2232 ZEND_FETCH_RESOURCE(php_sock, php_socket *, &arg1, -1, le_socket_name, le_socket);
2246 if (php_do_mcast_opt(php_sock, level, optname, arg4 TSRMLS_CC) == FAILURE) {
2257 if (php_if_index_to_addr4(if_index, php_sock, &if_addr TSRMLS_CC) == FAILURE) {
2293 if (php_do_mcast_opt(php_sock, level, optname, arg4 TSRMLS_CC) == FAILURE) {
2409 retval = setsockopt(php_sock->bsd_socket, level, optname, opt_ptr, optlen);
2412 PHP_SOCKET_ERROR(php_sock, "unable to set socket option", errno);
2427 php_socket *php_sock[2]; local
2435 php_sock[0] = php_create_socket();
2436 php_sock[1] = php_create_socket();
2455 efree(php_sock[0]);
2456 efree(php_sock[1]);
2466 php_sock[0]->bsd_socket = fds_array[0];
2467 php_sock[1]->bsd_socket = fds_array[1];
2468 php_sock[0]->type = domain;
2469 php_sock[1]->type = domain;
2470 php_sock[0]->error = 0;
2471 php_sock[1]->error = 0;
2472 php_sock[0]->blocking = 1;
2473 php_sock[1]->blocking = 1;
2475 ZEND_REGISTER_RESOURCE(retval[0], php_sock[0], le_socket);
2476 ZEND_REGISTER_RESOURCE(retval[1], php_sock[1], le_socket);
2493 php_socket *php_sock; local
2499 ZEND_FETCH_RESOURCE(php_sock, php_socket*, &arg1, -1, le_socket_name, le_socket);
2501 if (shutdown(php_sock->bsd_socket, how_shutdown) != 0) {
2502 PHP_SOCKET_ERROR(php_sock, "unable to shutdown socket", errno);
2516 php_socket *php_sock; local
2523 ZEND_FETCH_RESOURCE(php_sock, php_socket*, &arg1, -1, le_socket_name, le_socket);
2524 RETVAL_LONG(php_sock->error);
2536 php_socket *php_sock; local
2543 ZEND_FETCH_RESOURCE(php_sock, php_socket*, &arg1, -1, le_socket_name, le_socket);
2544 php_sock->error = 0;