18#include "config.w32.h"
22#ifdef HAVE_SYS_SOCKET_H
23# include <sys/socket.h>
27 const char *resourcename,
size_t resourcenamelen,
29 struct timeval *timeout,
37#define STREAM_XPORT_CLIENT 0
38#define STREAM_XPORT_SERVER 1
40#define STREAM_XPORT_CONNECT 2
41#define STREAM_XPORT_BIND 4
42#define STREAM_XPORT_LISTEN 8
43#define STREAM_XPORT_CONNECT_ASYNC 16
47 int flags,
const char *persistent_id,
48 struct timeval *timeout,
54#define php_stream_xport_create(name, namelen, options, flags, persistent_id, timeout, context, estr, ecode) \
55 _php_stream_xport_create(name, namelen, options, flags, persistent_id, timeout, context, estr, ecode STREAMS_CC)
67 struct timeval *timeout,
83 struct timeval *timeout,
152 struct sockaddr *
addr;
zend_ffi_ctype_name_buf buf
const php_stream_filter_factory * factory
PHP_JSON_API size_t int options
php_json_error_code error_code
PHPAPI php_stream_transport_factory_func php_stream_generic_socket_factory
PHPAPI int php_stream_xport_connect(php_stream *stream, const char *name, size_t namelen, int asynchronous, struct timeval *timeout, zend_string **error_text, int *error_code)
struct _php_stream_xport_crypto_param php_stream_xport_crypto_param
PHPAPI int php_stream_xport_crypto_enable(php_stream *stream, int activate)
php_stream * php_stream_transport_factory_func(const char *proto, size_t protolen, const char *resourcename, size_t resourcenamelen, const char *persistent_id, int options, int flags, struct timeval *timeout, php_stream_context *context STREAMS_DC)
PHPAPI int php_stream_xport_listen(php_stream *stream, int backlog, zend_string **error_text)
PHPAPI int php_stream_xport_accept(php_stream *stream, php_stream **client, zend_string **textaddr, void **addr, socklen_t *addrlen, struct timeval *timeout, zend_string **error_text)
PHPAPI HashTable * php_stream_xport_get_hash(void)
php_stream_xport_crypt_method_t
@ STREAM_CRYPTO_METHOD_SSLv23_SERVER
@ STREAM_CRYPTO_METHOD_SSLv3_CLIENT
@ STREAM_CRYPTO_METHOD_TLSv1_2_SERVER
@ STREAM_CRYPTO_METHOD_SSLv2_SERVER
@ STREAM_CRYPTO_METHOD_SSLv3_SERVER
@ STREAM_CRYPTO_METHOD_TLS_ANY_CLIENT
@ STREAM_CRYPTO_METHOD_TLSv1_1_CLIENT
@ STREAM_CRYPTO_METHOD_ANY_SERVER
@ STREAM_CRYPTO_METHOD_TLS_SERVER
@ STREAM_CRYPTO_METHOD_TLSv1_3_CLIENT
@ STREAM_CRYPTO_METHOD_TLSv1_3_SERVER
@ STREAM_CRYPTO_METHOD_ANY_CLIENT
@ STREAM_CRYPTO_METHOD_TLS_CLIENT
@ STREAM_CRYPTO_METHOD_TLSv1_1_SERVER
@ STREAM_CRYPTO_METHOD_TLSv1_0_SERVER
@ STREAM_CRYPTO_METHOD_TLSv1_0_CLIENT
@ STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT
@ STREAM_CRYPTO_METHOD_SSLv23_CLIENT
@ STREAM_CRYPTO_METHOD_SSLv2_CLIENT
@ STREAM_CRYPTO_METHOD_TLS_ANY_SERVER
PHPAPI int php_stream_xport_shutdown(php_stream *stream, stream_shutdown_t how)
struct _php_stream_xport_param php_stream_xport_param
PHPAPI int php_stream_xport_register(const char *protocol, php_stream_transport_factory factory)
PHPAPI int php_stream_xport_get_name(php_stream *stream, int want_peer, zend_string **textaddr, void **addr, socklen_t *addrlen)
PHPAPI php_stream * _php_stream_xport_create(const char *name, size_t namelen, int options, int flags, const char *persistent_id, struct timeval *timeout, php_stream_context *context, zend_string **error_string, int *error_code STREAMS_DC)
PHPAPI int php_stream_xport_unregister(const char *protocol)
php_stream_transport_factory_func * php_stream_transport_factory
PHPAPI int php_stream_xport_crypto_setup(php_stream *stream, php_stream_xport_crypt_method_t crypto_method, php_stream *session_stream)
PHPAPI int php_stream_xport_bind(php_stream *stream, const char *name, size_t namelen, zend_string **error_text)
php_stream_xport_send_recv_flags
PHPAPI int php_stream_xport_recvfrom(php_stream *stream, char *buf, size_t buflen, int flags, void **addr, socklen_t *addrlen, zend_string **textaddr)
PHPAPI int php_stream_xport_sendto(php_stream *stream, const char *buf, size_t buflen, int flags, void *addr, socklen_t addrlen)
struct _php_stream php_stream
struct _php_stream_context php_stream_context
@ STREAM_XPORT_CRYPTO_OP_ENABLE
@ STREAM_XPORT_CRYPTO_OP_SETUP
php_stream_xport_crypt_method_t method
@ STREAM_XPORT_OP_GET_NAME
@ STREAM_XPORT_OP_SHUTDOWN
@ STREAM_XPORT_OP_CONNECT
@ STREAM_XPORT_OP_CONNECT_ASYNC
@ STREAM_XPORT_OP_GET_PEER_NAME
unsigned int want_textaddr
unsigned int want_errortext
struct _zend_string zend_string
struct _zend_array HashTable