25#define arginfo_socket_set_block arginfo_socket_set_nonblock
54#define arginfo_socket_getpeername arginfo_socket_getsockname
116#define arginfo_socket_getopt arginfo_socket_get_option
125#define arginfo_socket_setopt arginfo_socket_set_option
127#if defined(HAVE_SOCKETPAIR)
136#if defined(HAVE_SHUTDOWN)
143#if defined(HAVE_SOCKATMARK)
193#define arginfo_socket_addrinfo_bind arginfo_socket_addrinfo_connect
199#if defined(PHP_WIN32)
235#if defined(HAVE_SOCKETPAIR)
238#if defined(HAVE_SHUTDOWN)
241#if defined(HAVE_SOCKATMARK)
255#if defined(PHP_WIN32)
285#if defined(HAVE_SOCKETPAIR)
288#if defined(HAVE_SHUTDOWN)
291#if defined(HAVE_SOCKATMARK)
305#if defined(PHP_WIN32)
313static void register_sockets_symbols(
int module_number)
317#if defined(HAVE_IPV6)
320#if defined(AF_DIVERT)
330#if defined(SOCK_CONN_DGRAM)
333#if defined(SOCK_DCCP)
336#if defined(SOCK_CLOEXEC)
339#if defined(SOCK_NONBLOCK)
354#if defined(MSG_CONFIRM)
357#if defined(MSG_ERRQUEUE)
360#if defined(MSG_NOSIGNAL)
363#if defined(MSG_DONTWAIT)
369#if defined(MSG_WAITFORONE)
372#if defined(MSG_CMSG_CLOEXEC)
375#if defined(MSG_ZEROCOPY)
380#if defined(SO_REUSEPORT)
383#if defined(SO_REUSEPORT_LB)
389#if defined(SO_LINGER_SEC)
401#if defined(SO_FAMILY)
405#if defined(SO_BINDTODEVICE)
408#if defined(SO_BINDTOIFINDEX)
411#if defined(SO_USER_COOKIE)
414#if defined(SO_USER_COOKIE)
417#if defined(SO_USER_COOKIE)
420#if defined(SO_USER_COOKIE)
423#if defined(SO_USER_COOKIE)
426#if defined(SO_SETFIB)
429#if defined(SO_ACCEPTFILTER)
432#if defined(SO_RERROR)
435#if defined(SO_SOPLICE)
438#if defined(SO_ZEROIZE)
441#if defined(SOL_FILTER)
444#if defined(SOL_FILTER)
447#if defined(SOL_FILTER)
450#if defined(SO_DONTTRUNC)
453#if defined(SO_WANTMORE)
461#if defined(SO_RTABLE)
464#if defined(SO_INCOMING_CPU)
467#if defined(SO_MEMINFO)
470#if defined(SO_BPF_EXTENSIONS)
473#if defined(SO_EXCLBIND)
476#if defined(SKF_AD_OFF)
479#if defined(SKF_AD_PROTOCOL)
482#if defined(SKF_AD_PKTTYPE)
485#if defined(SKF_AD_IFINDEX)
488#if defined(SKF_AD_NLATTR)
491#if defined(SKF_AD_NLATTR_NEST)
494#if defined(SKF_AD_MARK)
497#if defined(SKF_AD_QUEUE)
500#if defined(SKF_AD_HATYPE)
503#if defined(SKF_AD_RXHASH)
506#if defined(SKF_AD_CPU)
509#if defined(SKF_AD_ALU_XOR_X)
512#if defined(SKF_AD_VLAN_TAG)
515#if defined(SKF_AD_VLAN_TAG_PRESENT)
518#if defined(SKF_AD_PAY_OFFSET)
521#if defined(SKF_AD_RANDOM)
524#if defined(SKF_AD_VLAN_TPID)
527#if defined(SKF_AD_MAX)
530#if defined(TCP_CONGESTION)
533#if defined(TCP_SYNCNT)
536#if defined(SO_ZEROCOPY)
539#if defined(TCP_NODELAY)
542#if defined(TCP_NOTSENT_LOWAT)
545#if defined(TCP_DEFER_ACCEPT)
548#if defined(TCP_KEEPALIVE)
551#if defined(TCP_KEEPIDLE)
554#if defined(TCP_KEEPIDLE)
557#if defined(TCP_KEEPIDLE)
564#if defined(HAS_MCAST_EXT)
567#if defined(HAS_MCAST_EXT)
570#if defined(HAS_MCAST_EXT)
573#if defined(HAS_MCAST_EXT)
579#if defined(IP_BIND_ADDRESS_NO_PORT)
582#if defined(HAVE_IPV6)
585#if defined(HAVE_IPV6)
588#if defined(HAVE_IPV6)
591#if defined(IPV6_V6ONLY)
594#if defined(IP_PORTRANGE)
597#if defined(IP_PORTRANGE)
600#if defined(IP_PORTRANGE)
603#if defined(IP_PORTRANGE)
612#if defined(PHP_SOCKET_EINTR)
624#if defined(PHP_SOCKET_EBADF)
633#if defined(PHP_SOCKET_EACCES)
636#if defined(PHP_SOCKET_EFAULT)
660#if defined(PHP_SOCKET_EINVAL)
663#if defined(PHP_SOCKET_ENFILE)
666#if defined(PHP_SOCKET_EMFILE)
687#if defined(PHP_SOCKET_ENAMETOOLONG)
696#if defined(PHP_SOCKET_ENOTEMPTY)
699#if defined(PHP_SOCKET_ELOOP)
702#if defined(PHP_SOCKET_EWOULDBLOCK)
768#if defined(PHP_SOCKET_EREMOTE)
786#if defined(EMULTIHOP)
807#if defined(PHP_SOCKET_EUSERS)
810#if defined(PHP_SOCKET_ENOTSOCK)
813#if defined(PHP_SOCKET_EDESTADDRREQ)
816#if defined(PHP_SOCKET_EMSGSIZE)
819#if defined(PHP_SOCKET_EPROTOTYPE)
822#if defined(PHP_SOCKET_ENOPROTOOPT)
825#if defined(PHP_SOCKET_EPROTONOSUPPORT)
828#if defined(PHP_SOCKET_ESOCKTNOSUPPORT)
831#if defined(PHP_SOCKET_EOPNOTSUPP)
834#if defined(PHP_SOCKET_EPFNOSUPPORT)
837#if defined(PHP_SOCKET_EAFNOSUPPORT)
840#if defined(PHP_SOCKET_EADDRINUSE)
843#if defined(PHP_SOCKET_EADDRNOTAVAIL)
846#if defined(PHP_SOCKET_ENETDOWN)
849#if defined(PHP_SOCKET_ENETUNREACH)
852#if defined(PHP_SOCKET_ENETRESET)
855#if defined(PHP_SOCKET_ECONNABORTED)
858#if defined(PHP_SOCKET_ECONNRESET)
861#if defined(PHP_SOCKET_ENOBUFS)
864#if defined(PHP_SOCKET_EISCONN)
867#if defined(PHP_SOCKET_ENOTCONN)
870#if defined(PHP_SOCKET_ESHUTDOWN)
873#if defined(PHP_SOCKET_ETOOMANYREFS)
876#if defined(PHP_SOCKET_ETIMEDOUT)
879#if defined(PHP_SOCKET_ECONNREFUSED)
882#if defined(PHP_SOCKET_EHOSTDOWN)
885#if defined(PHP_SOCKET_EHOSTUNREACH)
888#if defined(PHP_SOCKET_EALREADY)
891#if defined(PHP_SOCKET_EINPROGRESS)
897#if defined(EREMOTEIO)
900#if defined(PHP_SOCKET_EDQUOT)
903#if defined(ENOMEDIUM)
906#if defined(EMEDIUMTYPE)
909#if defined(PHP_WIN32)
912#if defined(PHP_WIN32)
915#if defined(PHP_WIN32)
918#if defined(PHP_WIN32)
921#if defined(PHP_WIN32)
924#if defined(PHP_WIN32)
927#if defined(PHP_WIN32)
930#if defined(PHP_WIN32)
933#if defined(PHP_WIN32)
936#if defined(PHP_WIN32)
940#if defined(HAVE_IPV6)
945#if defined(IPPROTO_UDPLITE)
948#if defined(HAVE_IPV6)
954#if defined(AI_V4MAPPED)
967#if defined(AI_NUMERICSERV)
970#if defined(SOL_LOCAL)
973#if (defined(IPV6_RECVPKTINFO) && defined(HAVE_IPV6))
976#if (defined(IPV6_RECVPKTINFO) && defined(HAVE_IPV6))
979#if (defined(IPV6_RECVHOPLIMIT) && defined(HAVE_IPV6))
982#if (defined(IPV6_RECVHOPLIMIT) && defined(HAVE_IPV6))
985#if (defined(IPV6_RECVTCLASS) && defined(HAVE_IPV6))
988#if (defined(IPV6_RECVTCLASS) && defined(HAVE_IPV6))
991#if defined(SCM_RIGHTS)
994#if defined(SO_PASSCRED) && defined(SCM_CREDENTIALS)
997#if defined(SO_PASSCRED) && !(defined(SCM_CREDENTIALS))
1000#if defined(SO_PASSCRED)
1003#if defined(LOCAL_CREDS_PERSISTENT)
1006#if defined(LOCAL_CREDS_PERSISTENT)
1009#if (!defined(LOCAL_CREDS_PERSISTENT) && defined(LOCAL_CREDS))
1012#if (!defined(LOCAL_CREDS_PERSISTENT) && defined(LOCAL_CREDS))
1015#if defined(SO_ATTACH_REUSEPORT_CBPF)
1018#if defined(SO_DETACH_FILTER)
1021#if defined(SO_DETACH_BPF)
1024#if defined(SO_EXCLUSIVEADDRUSE)
1027#if defined(SO_NOSIGPIPE)
1030#if defined(TCP_QUICKACK)
1033#if defined(TCP_REPAIR)
1036#if defined(IP_DONTFRAG)
1039#if defined(IP_MTU_DISCOVER)
1042#if defined(IP_PMTUDISC_DO)
1045#if defined(IP_PMTUDISC_DONT)
1048#if defined(IP_PMTUDISC_WANT)
1051#if defined(IP_PMTUDISC_PROBE)
1054#if defined(IP_PMTUDISC_INTERFACE)
1057#if defined(IP_PMTUDISC_OMIT)
1060#if defined(UDPLITE_SEND_CSCOV)
1063#if defined(UDPLITE_RECV_CSCOV)
#define PHP_MCAST_LEAVE_GROUP
#define PHP_MCAST_JOIN_GROUP
php_json_error_code error_code
socket_addrinfo_bind(AddressInfo $address)
const SO_ATTACH_REUSEPORT_CBPF
socket_last_error(?Socket $socket=null)
socket_addrinfo_connect(AddressInfo $address)
socket_select(?array &$read, ?array &$write, ?array &$except, ?int $seconds, int $microseconds=0)
socket_close(Socket $socket)
socket_accept(Socket $socket)
const IPV6_MULTICAST_LOOP
const IP_PMTUDISC_INTERFACE
socket_clear_error(?Socket $socket=null)
socket_set_nonblock(Socket $socket)
socket_addrinfo_lookup(string $host, ?string $service=null, array $hints=[])
socket_connect(Socket $socket, string $address, ?int $port=null)
socket_read(Socket $socket, int $length, int $mode=PHP_BINARY_READ)
const IP_PORTRANGE_DEFAULT
socket_recvfrom(Socket $socket, &$data, int $length, int $flags, &$address, &$port=null)
socket_wsaprotocol_info_export(Socket $socket, int $process_id)
socket_sendto(Socket $socket, string $data, int $length, int $flags, string $address, ?int $port=null)
const IP_BIND_ADDRESS_NO_PORT
socket_create(int $domain, int $type, int $protocol)
socket_set_option(Socket $socket, int $level, int $option, $value)
socket_addrinfo_explain(AddressInfo $address)
socket_getsockname(Socket $socket, &$address, &$port=null)
const SKF_AD_VLAN_TAG_PRESENT
const LOCAL_CREDS_PERSISTENT
socket_cmsg_space(int $level, int $type, int $num=0)
socket_wsaprotocol_info_release(string $info_id)
socket_recv(Socket $socket, &$data, int $length, int $flags)
socket_atmark(Socket $socket)
socket_bind(Socket $socket, string $address, int $port=0)
socket_write(Socket $socket, string $data, ?int $length=null)
socket_shutdown(Socket $socket, int $mode=2)
socket_getpeername(Socket $socket, &$address, &$port=null)
socket_import_stream($stream)
socket_listen(Socket $socket, int $backlog=0)
socket_wsaprotocol_info_import(string $info_id)
socket_export_stream(Socket $socket)
socket_set_block(Socket $socket)
const SO_EXCLUSIVEADDRUSE
socket_sendmsg(Socket $socket, array $message, int $flags=0)
socket_strerror(int $error_code)
socket_send(Socket $socket, string $data, int $length, int $flags)
socket_create_pair(int $domain, int $type, int $protocol, &$pair)
socket_get_option(Socket $socket, int $level, int $option)
socket_create_listen(int $port, int $backlog=SOMAXCONN)
const IPV6_MULTICAST_HOPS
socket_recvmsg(Socket $socket, array &$message, int $flags=0)
#define arginfo_socket_getopt
#define arginfo_socket_set_block
#define arginfo_socket_addrinfo_bind
#define arginfo_socket_getpeername
#define arginfo_socket_setopt
ZEND_API zend_class_entry * zend_register_internal_class_with_flags(zend_class_entry *class_entry, zend_class_entry *parent_ce, uint32_t ce_flags)
#define ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(name, return_reference, required_num_args, class_name, type)
#define ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(name, return_reference, required_num_args, type)
#define ZEND_ARG_OBJ_INFO_WITH_DEFAULT_VALUE(pass_by_ref, name, class_name, allow_null, default_value)
struct _zend_function_entry zend_function_entry
#define ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(name, return_reference, required_num_args, type, allow_null)
#define INIT_CLASS_ENTRY(class_container, class_name, functions)
#define ZEND_RAW_FENTRY(zend_name, name, arg_info, flags, frameless_function_infos, doc_comment)
#define ZEND_ARG_INFO(pass_by_ref, name)
#define ZEND_END_ARG_INFO()
#define ZEND_ARG_OBJ_INFO(pass_by_ref, name, class_name, allow_null)
#define ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(pass_by_ref, name, type_hint, allow_null, default_value)
#define ZEND_ARG_TYPE_INFO(pass_by_ref, name, type_hint, allow_null)
#define ZEND_BEGIN_ARG_INFO_EX(name, _unused, return_reference, required_num_args)
#define ZEND_FE(name, arg_info)
#define ZEND_FUNCTION(name)
#define ZEND_ARG_INFO_WITH_DEFAULT_VALUE(pass_by_ref, name, default_value)
#define ZEND_ACC_NO_DYNAMIC_PROPERTIES
#define ZEND_ACC_NOT_SERIALIZABLE
#define REGISTER_LONG_CONSTANT(name, lval, flags)
struct _zend_class_entry zend_class_entry