summaryrefslogtreecommitdiff
path: root/ext/mysqlnd/mysqlnd_wireprotocol.h
diff options
context:
space:
mode:
Diffstat (limited to 'ext/mysqlnd/mysqlnd_wireprotocol.h')
-rw-r--r--ext/mysqlnd/mysqlnd_wireprotocol.h90
1 files changed, 47 insertions, 43 deletions
diff --git a/ext/mysqlnd/mysqlnd_wireprotocol.h b/ext/mysqlnd/mysqlnd_wireprotocol.h
index 71af6e11c9..d27baac85b 100644
--- a/ext/mysqlnd/mysqlnd_wireprotocol.h
+++ b/ext/mysqlnd/mysqlnd_wireprotocol.h
@@ -27,6 +27,10 @@
#define MYSQLND_NULL_LENGTH (unsigned long) ~0
+typedef zend_uchar mysqlnd_1b;
+typedef zend_ushort mysqlnd_2b;
+typedef zend_uint mysqlnd_4b;
+
/* Used in mysqlnd_debug.c */
extern char * mysqlnd_read_header_name;
extern char * mysqlnd_read_body_name;
@@ -133,19 +137,19 @@ typedef struct st_mysqlnd_packet_header {
/* Server greets the client */
typedef struct st_php_mysql_packet_greet {
mysqlnd_packet_header header;
- uint8_t protocol_version;
- char *server_version;
- uint32_t thread_id;
- zend_uchar scramble_buf[SCRAMBLE_LENGTH];
+ mysqlnd_1b protocol_version;
+ char *server_version;
+ mysqlnd_4b thread_id;
+ zend_uchar scramble_buf[SCRAMBLE_LENGTH];
/* 1 byte pad */
- uint16_t server_capabilities;
- uint8_t charset_no;
- uint16_t server_status;
+ mysqlnd_2b server_capabilities;
+ mysqlnd_1b charset_no;
+ mysqlnd_2b server_status;
/* 13 byte pad*/
- zend_bool pre41;
+ zend_bool pre41;
/* If error packet, we use these */
- char error[MYSQLND_ERRMSG_SIZE+1];
- char sqlstate[MYSQLND_SQLSTATE_LENGTH + 1];
+ char error[MYSQLND_ERRMSG_SIZE+1];
+ char sqlstate[MYSQLND_SQLSTATE_LENGTH + 1];
unsigned int error_no;
} php_mysql_packet_greet;
@@ -153,9 +157,9 @@ typedef struct st_php_mysql_packet_greet {
/* Client authenticates */
typedef struct st_php_mysql_packet_auth {
mysqlnd_packet_header header;
- uint32_t client_flags;
- uint32_t max_packet_size;
- uint8_t charset_no;
+ mysqlnd_4b client_flags;
+ uint32 max_packet_size;
+ mysqlnd_1b charset_no;
/* 23 byte pad */
const char *user;
/* 8 byte scramble */
@@ -172,16 +176,16 @@ typedef struct st_php_mysql_packet_auth {
/* OK packet */
typedef struct st_php_mysql_packet_ok {
mysqlnd_packet_header header;
- uint8_t field_count; /* always 0x0 */
- uint64_t affected_rows;
- uint64_t last_insert_id;
- uint16_t server_status;
- uint16_t warning_count;
- char *message;
- size_t message_len;
+ mysqlnd_1b field_count; /* always 0x0 */
+ uint64 affected_rows;
+ uint64 last_insert_id;
+ mysqlnd_2b server_status;
+ mysqlnd_2b warning_count;
+ char *message;
+ size_t message_len;
/* If error packet, we use these */
- char error[MYSQLND_ERRMSG_SIZE+1];
- char sqlstate[MYSQLND_SQLSTATE_LENGTH + 1];
+ char error[MYSQLND_ERRMSG_SIZE+1];
+ char sqlstate[MYSQLND_SQLSTATE_LENGTH + 1];
unsigned int error_no;
} php_mysql_packet_ok;
@@ -198,12 +202,12 @@ typedef struct st_php_mysql_packet_command {
/* EOF packet */
typedef struct st_php_mysql_packet_eof {
mysqlnd_packet_header header;
- uint8_t field_count; /* 0xFE */
- uint16_t warning_count;
- uint16_t server_status;
+ mysqlnd_1b field_count; /* 0xFE */
+ mysqlnd_2b warning_count;
+ mysqlnd_2b server_status;
/* If error packet, we use these */
- char error[MYSQLND_ERRMSG_SIZE+1];
- char sqlstate[MYSQLND_SQLSTATE_LENGTH + 1];
+ char error[MYSQLND_ERRMSG_SIZE+1];
+ char sqlstate[MYSQLND_SQLSTATE_LENGTH + 1];
unsigned int error_no;
} php_mysql_packet_eof;
/* EOF packet */
@@ -223,13 +227,13 @@ typedef struct st_php_mysql_packet_rset_header {
These are filled if no SELECT query. For SELECT warning_count
and server status are in the last row packet, the EOF packet.
*/
- uint16_t warning_count;
- uint16_t server_status;
- uint64_t affected_rows;
- uint64_t last_insert_id;
+ mysqlnd_2b warning_count;
+ mysqlnd_2b server_status;
+ uint64 affected_rows;
+ uint64 last_insert_id;
/* This is for both LOAD DATA or info, when no result set */
- char *info_or_local_file;
- size_t info_or_local_file_len;
+ char *info_or_local_file;
+ size_t info_or_local_file_len;
/* If error packet, we use these */
mysqlnd_error_info error_info;
} php_mysql_packet_rset_header;
@@ -248,15 +252,15 @@ typedef struct st_php_mysql_packet_res_field {
/* Row packet */
struct st_php_mysql_packet_row {
mysqlnd_packet_header header;
- zval **fields;
- uint32_t field_count;
- zend_bool eof;
+ zval **fields;
+ mysqlnd_4b field_count;
+ zend_bool eof;
/*
These are, of course, only for SELECT in the EOF packet,
which is detected by this packet
*/
- uint16_t warning_count;
- uint16_t server_status;
+ mysqlnd_2b warning_count;
+ mysqlnd_2b server_status;
struct st_mysqlnd_memory_pool_chunk *row_buffer;
@@ -300,10 +304,10 @@ typedef struct st_php_mysql_packet_prepare_response {
/* Statistics packet */
typedef struct st_php_mysql_packet_chg_user_resp {
mysqlnd_packet_header header;
- uint32_t field_count;
+ mysqlnd_4b field_count;
/* message_len is not part of the packet*/
- uint16_t server_capabilities;
+ mysqlnd_2b server_capabilities;
/* If error packet, we use these */
mysqlnd_error_info error_info;
} php_mysql_packet_chg_user_resp;
@@ -319,16 +323,16 @@ size_t php_mysqlnd_consume_uneaten_data(MYSQLND * const conn, enum php_mysqlnd_s
void php_mysqlnd_scramble(zend_uchar * const buffer, const zend_uchar * const scramble, const zend_uchar * const pass);
unsigned long php_mysqlnd_net_field_length(zend_uchar **packet);
-zend_uchar * php_mysqlnd_net_store_length(zend_uchar *packet, uint64_t length);
+zend_uchar * php_mysqlnd_net_store_length(zend_uchar *packet, uint64 length);
extern char * const mysqlnd_empty_string;
void php_mysqlnd_rowp_read_binary_protocol(MYSQLND_MEMORY_POOL_CHUNK * row_buffer, zval ** fields,
- unsigned int field_count, MYSQLND_FIELD *fields_metadata, MYSQLND *conn TSRMLS_DC);
+ uint field_count, MYSQLND_FIELD *fields_metadata, MYSQLND *conn TSRMLS_DC);
void php_mysqlnd_rowp_read_text_protocol(MYSQLND_MEMORY_POOL_CHUNK * row_buffer, zval ** fields,
- unsigned int field_count, MYSQLND_FIELD *fields_metadata, MYSQLND *conn TSRMLS_DC);
+ uint field_count, MYSQLND_FIELD *fields_metadata, MYSQLND *conn TSRMLS_DC);
#endif /* MYSQLND_WIREPROTOCOL_H */