18#ifndef MYSQLND_WIREPROTOCOL_H
19#define MYSQLND_WIREPROTOCOL_H
21#define MYSQLND_HEADER_SIZE 4
22#define COMPRESSED_HEADER_SIZE 3
24#define MYSQLND_NULL_LENGTH (zend_ulong) ~0
32#define PACKET_WRITE(conn, packet) ((packet)->header.m->write_to_net((conn), (packet)))
33#define PACKET_READ(conn, packet) ((packet)->header.m->read_from_net((conn), (packet)))
34#define PACKET_FREE(packet) \
36 DBG_INF_FMT("PACKET_FREE(%p)", packet); \
37 if ((packet)->header.m->free_mem) { \
38 ((packet)->header.m->free_mem((packet))); \
307 unsigned int field_count,
const MYSQLND_FIELD * fields_metadata,
312 unsigned int field_count,
const MYSQLND_FIELD * fields_metadata,
#define MYSQLND_ERRMSG_SIZE
php_mysqlnd_server_command
#define MYSQLND_SQLSTATE_LENGTH
enum func_status enum_func_status
struct st_mysqlnd_field MYSQLND_FIELD
struct st_mysqlnd_connection_data MYSQLND_CONN_DATA
struct st_mysqlnd_string MYSQLND_STRING
struct st_mysqlnd_const_string MYSQLND_CSTRING
struct st_mysqlnd_memory_pool MYSQLND_MEMORY_POOL
struct st_mysqlnd_stats MYSQLND_STATS
struct st_mysqlnd_protocol_payload_decoder_factory MYSQLND_PROTOCOL_PAYLOAD_DECODER_FACTORY
struct st_mysqlnd_row_buffer MYSQLND_ROW_BUFFER
struct st_mysqlnd_error_info MYSQLND_ERROR_INFO
const char mysqlnd_read_body_name[]
const char mysqlnd_read_header_name[]
const char *const mysqlnd_command_to_text[COM_END]
const char *const mysqlnd_empty_string
struct st_mysqlnd_packet_prepare_response MYSQLND_PACKET_PREPARE_RESPONSE
enum_func_status php_mysqlnd_rowp_read_text_protocol(MYSQLND_ROW_BUFFER *row_buffer, zval *fields, unsigned int field_count, const MYSQLND_FIELD *fields_metadata, bool as_int_or_float, MYSQLND_STATS *stats)
struct st_mysqlnd_packet_eof MYSQLND_PACKET_EOF
size_t php_mysqlnd_net_store_length_size(uint64_t length)
struct st_mysqlnd_packet_res_field MYSQLND_PACKET_RES_FIELD
struct st_mysqlnd_packet_sha256_pk_request MYSQLND_PACKET_SHA256_PK_REQUEST
struct st_mysqlnd_packet_stats MYSQLND_PACKET_STATS
PHPAPI void mysqlnd_protocol_payload_decoder_factory_free(MYSQLND_PROTOCOL_PAYLOAD_DECODER_FACTORY *const payload_decoder_factory)
struct st_mysqlnd_packet_command MYSQLND_PACKET_COMMAND
struct st_mysqlnd_packet_cached_sha2_result MYSQLND_PACKET_CACHED_SHA2_RESULT
struct st_mysqlnd_packet_header MYSQLND_PACKET_HEADER
struct st_mysqlnd_packet_ok MYSQLND_PACKET_OK
struct st_mysqlnd_packet_rset_header MYSQLND_PACKET_RSET_HEADER
PHPAPI MYSQLND_PROTOCOL_PAYLOAD_DECODER_FACTORY * mysqlnd_protocol_payload_decoder_factory_init(MYSQLND_CONN_DATA *conn, const bool persistent)
struct st_mysqlnd_packet_sha256_pk_request_response MYSQLND_PACKET_SHA256_PK_REQUEST_RESPONSE
struct st_mysqlnd_packet_auth MYSQLND_PACKET_AUTH
struct st_mysqlnd_packet_change_auth_response MYSQLND_PACKET_CHANGE_AUTH_RESPONSE
struct st_mysqlnd_packet_auth_response MYSQLND_PACKET_AUTH_RESPONSE
zend_ulong php_mysqlnd_net_field_length(const zend_uchar **packet)
struct st_mysqlnd_packet_greet MYSQLND_PACKET_GREET
zend_uchar * php_mysqlnd_net_store_length(zend_uchar *packet, const uint64_t length)
enum_func_status php_mysqlnd_rowp_read_binary_protocol(MYSQLND_ROW_BUFFER *row_buffer, zval *fields, unsigned int field_count, const MYSQLND_FIELD *fields_metadata, bool as_int_or_float, MYSQLND_STATS *stats)
struct st_mysqlnd_packet_row MYSQLND_PACKET_ROW
struct st_mysqlnd_packet_chg_user_resp MYSQLND_PACKET_CHG_USER_RESPONSE
struct st_mysqlnd_packet_methods mysqlnd_packet_methods
zend_uchar * new_auth_protocol_data
size_t new_auth_protocol_data_len
size_t new_auth_protocol_len
char error[MYSQLND_ERRMSG_SIZE+1]
MYSQLND_PACKET_HEADER header
char sqlstate[MYSQLND_SQLSTATE_LENGTH+1]
MYSQLND_PACKET_HEADER header
bool is_change_user_packet
const zend_uchar * auth_data
const char * auth_plugin_name
zend_uchar * new_auth_protocol_data
size_t new_auth_protocol_data_len
size_t new_auth_protocol_len
MYSQLND_PACKET_HEADER header
char sqlstate[MYSQLND_SQLSTATE_LENGTH+1]
char error[MYSQLND_ERRMSG_SIZE+1]
MYSQLND_PACKET_HEADER header
const zend_uchar * auth_data
size_t new_auth_protocol_data_len
MYSQLND_PACKET_HEADER header
size_t new_auth_protocol_len
uint16_t server_capabilities
MYSQLND_ERROR_INFO error_info
zend_uchar * new_auth_protocol_data
bool server_asked_323_auth
MYSQLND_PACKET_HEADER header
enum php_mysqlnd_server_command command
MYSQLND_PACKET_HEADER header
char error[MYSQLND_ERRMSG_SIZE+1]
char sqlstate[MYSQLND_SQLSTATE_LENGTH+1]
char sqlstate[MYSQLND_SQLSTATE_LENGTH+1]
char intern_auth_plugin_data[SCRAMBLE_LENGTH]
uint32_t server_capabilities
MYSQLND_PACKET_HEADER header
char error[MYSQLND_ERRMSG_SIZE+1]
MYSQLND_STRING authentication_plugin_data
enum_func_status(* read_from_net)(MYSQLND_CONN_DATA *conn, void *packet)
void(* free_mem)(void *packet)
size_t(* write_to_net)(MYSQLND_CONN_DATA *conn, void *packet)
char sqlstate[MYSQLND_SQLSTATE_LENGTH+1]
char error[MYSQLND_ERRMSG_SIZE+1]
MYSQLND_PACKET_HEADER header
unsigned int warning_count
MYSQLND_PACKET_HEADER header
MYSQLND_ERROR_INFO error_info
MYSQLND_MEMORY_POOL * memory_pool
MYSQLND_PACKET_HEADER header
MYSQLND_ERROR_INFO error_info
MYSQLND_PACKET_HEADER header
MYSQLND_FIELD * fields_metadata
MYSQLND_ROW_BUFFER row_buffer
MYSQLND_ERROR_INFO error_info
MYSQLND_MEMORY_POOL * result_set_memory_pool
MYSQLND_PACKET_HEADER header
MYSQLND_PACKET_HEADER header
MYSQLND_PACKET_HEADER header
ZEND_API void(ZEND_FASTCALL *zend_touch_vm_stack_data)(void *vm_stack_data)
struct _zend_array HashTable