Annotation of embedaddon/php/ext/mysqlnd/mysqlnd.h, revision 1.1.1.4

1.1       misho       1: /*
                      2:   +----------------------------------------------------------------------+
                      3:   | PHP Version 5                                                        |
                      4:   +----------------------------------------------------------------------+
1.1.1.4 ! misho       5:   | Copyright (c) 2006-2014 The PHP Group                                |
1.1       misho       6:   +----------------------------------------------------------------------+
                      7:   | This source file is subject to version 3.01 of the PHP license,      |
                      8:   | that is bundled with this package in the file LICENSE, and is        |
                      9:   | available through the world-wide-web at the following url:           |
                     10:   | http://www.php.net/license/3_01.txt                                  |
                     11:   | If you did not receive a copy of the PHP license and are unable to   |
                     12:   | obtain it through the world-wide-web, please send a note to          |
                     13:   | license@php.net so we can mail you a copy immediately.               |
                     14:   +----------------------------------------------------------------------+
1.1.1.2   misho      15:   | Authors: Andrey Hristov <andrey@mysql.com>                           |
1.1       misho      16:   |          Ulf Wendel <uwendel@mysql.com>                              |
1.1.1.2   misho      17:   |          Georg Richter <georg@mysql.com>                             |
1.1       misho      18:   +----------------------------------------------------------------------+
                     19: */
1.1.1.4 ! misho      20: /* $Id: c85105d7c6f7d70d609bb4c000257868a40840ab $ */
1.1       misho      21: 
                     22: #ifndef MYSQLND_H
                     23: #define MYSQLND_H
                     24: 
1.1.1.4 ! misho      25: #define MYSQLND_VERSION "mysqlnd 5.0.10 - 20111026 - $Id: c85105d7c6f7d70d609bb4c000257868a40840ab $"
1.1.1.2   misho      26: #define MYSQLND_VERSION_ID 50010
1.1       misho      27: 
1.1.1.2   misho      28: #define MYSQLND_PLUGIN_API_VERSION 1
1.1       misho      29: 
                     30: #define MYSQLND_STRING_TO_INT_CONVERSION
                     31: /*
                     32:   This force mysqlnd to do a single (or more depending on ammount of data)
                     33:   non-blocking read() calls before sending a command to the server. Useful
                     34:   for debugging, if previous function hasn't consumed all the output sent
                     35:   to it - like stmt_send_long_data() error because the data was larger that
                     36:   max_allowed_packet_size, and COM_STMT_SEND_LONG_DATA by protocol doesn't
                     37:   use response packets, thus letting the next command to fail miserably, if
                     38:   the connector implementor is not aware of this deficiency. Should be off
                     39:   on production systems, if of course measured performance degradation is not
                     40:   minimal.
                     41: */
                     42: #if A0 && PHP_DEBUG
                     43: #define MYSQLND_DO_WIRE_CHECK_BEFORE_COMMAND 1
                     44: #endif
                     45: 
                     46: #if PHP_DEBUG
                     47: #define MYSQLND_DBG_ENABLED 1
                     48: #else
                     49: #define MYSQLND_DBG_ENABLED 0
                     50: #endif
                     51: 
                     52: #if defined(MYSQLND_COMPRESSION_WANTED) && defined(HAVE_ZLIB)
                     53: #define MYSQLND_COMPRESSION_ENABLED 1
                     54: #endif
                     55: 
                     56: #ifdef ZTS
                     57: #include "TSRM.h"
                     58: #endif
                     59: 
                     60: #include "mysqlnd_portability.h"
                     61: #include "mysqlnd_enum_n_def.h"
                     62: #include "mysqlnd_structs.h"
                     63: 
                     64: 
                     65: /* Library related */
                     66: PHPAPI void mysqlnd_library_init(TSRMLS_D);
                     67: PHPAPI void mysqlnd_library_end(TSRMLS_D);
                     68: 
                     69: PHPAPI unsigned int mysqlnd_plugin_register();
1.1.1.2   misho      70: PHPAPI unsigned int mysqlnd_plugin_register_ex(struct st_mysqlnd_plugin_header * plugin TSRMLS_DC);
1.1       misho      71: PHPAPI unsigned int mysqlnd_plugin_count();
1.1.1.2   misho      72: PHPAPI void * _mysqlnd_plugin_find(const char * const name TSRMLS_DC);
                     73: #define mysqlnd_plugin_find(name) _mysqlnd_plugin_find((name) TSRMLS_CC);
1.1       misho      74: 
1.1.1.2   misho      75: PHPAPI void _mysqlnd_plugin_apply_with_argument(apply_func_arg_t apply_func, void * argument TSRMLS_DC);
                     76: #define mysqlnd_plugin_apply_with_argument(func, argument) _mysqlnd_plugin_apply_with_argument((func), (argument) TSRMLS_CC);
1.1       misho      77: 
1.1.1.2   misho      78: #define mysqlnd_restart_psession(conn) ((conn)->data)->m->restart_psession((conn)->data TSRMLS_CC)
                     79: #define mysqlnd_end_psession(conn)             ((conn)->data)->m->end_psession((conn)->data TSRMLS_CC)
1.1       misho      80: PHPAPI void mysqlnd_minfo_print_hash(zval *values);
                     81: #define mysqlnd_thread_safe()  TRUE
                     82: 
                     83: PHPAPI const MYSQLND_CHARSET * mysqlnd_find_charset_nr(unsigned int charsetno);
                     84: PHPAPI const MYSQLND_CHARSET * mysqlnd_find_charset_name(const char * const charsetname);
                     85: 
                     86: 
                     87: /* Connect */
                     88: #define mysqlnd_init(persistent) _mysqlnd_init((persistent) TSRMLS_CC)
                     89: PHPAPI MYSQLND * _mysqlnd_init(zend_bool persistent TSRMLS_DC);
1.1.1.2   misho      90: PHPAPI MYSQLND * mysqlnd_connect(MYSQLND * conn,
                     91:                                                  const char * host, const char * user,
                     92:                                                  const char * passwd, unsigned int passwd_len,
                     93:                                                  const char * db, unsigned int db_len,
1.1       misho      94:                                                  unsigned int port,
1.1.1.2   misho      95:                                                  const char * socket_or_pipe,
1.1       misho      96:                                                  unsigned int mysql_flags
                     97:                                                  TSRMLS_DC);
                     98: 
1.1.1.2   misho      99: #define mysqlnd_change_user(conn, user, passwd, db, silent)            ((conn)->data)->m->change_user((conn)->data, (user), (passwd), (db), (silent), strlen((passwd)) TSRMLS_CC)
                    100: #define mysqlnd_change_user_ex(conn, user, passwd, db, silent, passwd_len)     ((conn)->data)->m->change_user((conn)->data, (user), (passwd), (db), (silent), (passwd_len) TSRMLS_CC)
1.1       misho     101: 
                    102: #define mysqlnd_debug(x)                                                               _mysqlnd_debug((x) TSRMLS_CC)
                    103: PHPAPI void _mysqlnd_debug(const char *mode TSRMLS_DC);
                    104: 
                    105: /* Query */
                    106: #define mysqlnd_fetch_into(result, flags, ret_val, ext)        (result)->m.fetch_into((result), (flags), (ret_val), (ext) TSRMLS_CC ZEND_FILE_LINE_CC)
                    107: #define mysqlnd_fetch_row_c(result)                                            (result)->m.fetch_row_c((result) TSRMLS_CC)
                    108: #define mysqlnd_fetch_all(result, flags, return_value) (result)->m.fetch_all((result), (flags), (return_value) TSRMLS_CC ZEND_FILE_LINE_CC)
                    109: #define mysqlnd_result_fetch_field_data(res,offset,ret)        (res)->m.fetch_field_data((res), (offset), (ret) TSRMLS_CC)
1.1.1.2   misho     110: #define mysqlnd_get_connection_stats(conn, values)             ((conn)->data)->m->get_statistics((conn)->data,  (values) TSRMLS_CC ZEND_FILE_LINE_CC)
1.1       misho     111: #define mysqlnd_get_client_stats(values)                               _mysqlnd_get_client_stats((values) TSRMLS_CC ZEND_FILE_LINE_CC)
                    112: 
                    113: #define mysqlnd_close(conn,is_forced)                                  (conn)->m->close((conn), (is_forced) TSRMLS_CC)
1.1.1.2   misho     114: #define mysqlnd_query(conn, query_str, query_len)              ((conn)->data)->m->query((conn)->data, (query_str), (query_len) TSRMLS_CC)
                    115: #define mysqlnd_async_query(conn, query_str, query_len)        ((conn)->data)->m->send_query((conn)->data, (query_str), (query_len) TSRMLS_CC)
1.1       misho     116: #define mysqlnd_poll(r, err, d_pull,sec,usec,desc_num) _mysqlnd_poll((r), (err), (d_pull), (sec), (usec), (desc_num) TSRMLS_CC)
1.1.1.2   misho     117: #define mysqlnd_reap_async_query(conn)                                 ((conn)->data)->m->reap_query((conn)->data TSRMLS_CC)
1.1       misho     118: #define mysqlnd_unbuffered_skip_result(result)                 (result)->m.skip_result((result) TSRMLS_CC)
                    119: 
1.1.1.4 ! misho     120: PHPAPI enum_func_status _mysqlnd_poll(MYSQLND **r_array, MYSQLND **e_array, MYSQLND ***dont_poll, long sec, long usec, int * desc_num TSRMLS_DC);
1.1       misho     121: 
1.1.1.2   misho     122: #define mysqlnd_use_result(conn)               ((conn)->data)->m->use_result((conn)->data TSRMLS_CC)
                    123: #define mysqlnd_store_result(conn)             ((conn)->data)->m->store_result((conn)->data TSRMLS_CC)
                    124: #define mysqlnd_next_result(conn)              ((conn)->data)->m->next_result((conn)->data TSRMLS_CC)
                    125: #define mysqlnd_more_results(conn)             ((conn)->data)->m->more_results((conn)->data TSRMLS_CC)
1.1       misho     126: #define mysqlnd_free_result(r,e_or_i)  ((MYSQLND_RES*)r)->m.free_result(((MYSQLND_RES*)(r)), (e_or_i) TSRMLS_CC)
                    127: #define mysqlnd_data_seek(result, row) (result)->m.seek_data((result), (row) TSRMLS_CC)
                    128: 
                    129: /* Errors */
1.1.1.2   misho     130: #define mysqlnd_errno(conn)                            ((conn)->data)->m->get_error_no((conn)->data TSRMLS_CC)
                    131: #define mysqlnd_error(conn)                            ((conn)->data)->m->get_error_str((conn)->data TSRMLS_CC)
                    132: #define mysqlnd_sqlstate(conn)                 ((conn)->data)->m->get_sqlstate((conn)->data TSRMLS_CC)
1.1       misho     133: 
                    134: /* Charset */
1.1.1.2   misho     135: #define mysqlnd_character_set_name(conn) ((conn)->data)->m->charset_name((conn)->data TSRMLS_CC)
1.1       misho     136: 
                    137: /* Simple metadata */
1.1.1.2   misho     138: #define mysqlnd_field_count(conn)              ((conn)->data)->m->get_field_count((conn)->data TSRMLS_CC)
                    139: #define mysqlnd_insert_id(conn)                        ((conn)->data)->m->get_last_insert_id((conn)->data TSRMLS_CC)
                    140: #define mysqlnd_affected_rows(conn)            ((conn)->data)->m->get_affected_rows((conn)->data TSRMLS_CC)
                    141: #define mysqlnd_warning_count(conn)            ((conn)->data)->m->get_warning_count((conn)->data TSRMLS_CC)
                    142: #define mysqlnd_info(conn)                             ((conn)->data)->m->get_last_message((conn)->data TSRMLS_CC)
                    143: #define mysqlnd_get_server_info(conn)  ((conn)->data)->m->get_server_information((conn)->data TSRMLS_CC)
                    144: #define mysqlnd_get_server_version(conn) ((conn)->data)->m->get_server_version((conn)->data TSRMLS_CC)
                    145: #define mysqlnd_get_host_info(conn)            ((conn)->data)->m->get_host_information((conn)->data TSRMLS_CC)
                    146: #define mysqlnd_get_proto_info(conn)   ((conn)->data)->m->get_protocol_information((conn)->data TSRMLS_CC)
                    147: #define mysqlnd_thread_id(conn)                        ((conn)->data)->m->get_thread_id((conn)->data TSRMLS_CC)
                    148: #define mysqlnd_get_server_status(conn)        ((conn)->data)->m->get_server_status((conn)->data TSRMLS_CC)
1.1       misho     149: 
                    150: #define mysqlnd_num_rows(result)               (result)->m.num_rows((result) TSRMLS_CC)
                    151: #define mysqlnd_num_fields(result)             (result)->m.num_fields((result) TSRMLS_CC)
                    152: 
                    153: #define mysqlnd_fetch_lengths(result)  _mysqlnd_fetch_lengths((result) TSRMLS_CC)
                    154: PHPAPI unsigned long * _mysqlnd_fetch_lengths(MYSQLND_RES * const result  TSRMLS_DC);
                    155: 
                    156: #define mysqlnd_field_seek(result, ofs)                        (result)->m.seek_field((result), (ofs) TSRMLS_CC)
                    157: #define mysqlnd_field_tell(result)                             (result)->m.field_tell((result) TSRMLS_CC)
                    158: #define mysqlnd_fetch_field(result)                            (result)->m.fetch_field((result) TSRMLS_CC)
                    159: #define mysqlnd_fetch_field_direct(result,fnr) (result)->m.fetch_field_direct((result), (fnr) TSRMLS_CC)
                    160: #define mysqlnd_fetch_fields(result)                   (result)->m.fetch_fields((result) TSRMLS_CC)
                    161: 
                    162: /* mysqlnd metadata */
                    163: PHPAPI const char *    mysqlnd_get_client_info();
                    164: PHPAPI unsigned int    mysqlnd_get_client_version();
                    165: 
1.1.1.2   misho     166: #define mysqlnd_ssl_set(conn, key, cert, ca, capath, cipher) ((conn)->data)->m->ssl_set((conn)->data, (key), (cert), (ca), (capath), (cipher) TSRMLS_CC)
1.1       misho     167: 
                    168: /* PS */
                    169: #define mysqlnd_stmt_insert_id(stmt)           (stmt)->m->get_last_insert_id((stmt) TSRMLS_CC)
                    170: #define mysqlnd_stmt_affected_rows(stmt)       (stmt)->m->get_affected_rows((stmt) TSRMLS_CC)
                    171: #define mysqlnd_stmt_num_rows(stmt)                    (stmt)->m->get_num_rows((stmt) TSRMLS_CC)
                    172: #define mysqlnd_stmt_param_count(stmt)         (stmt)->m->get_param_count((stmt) TSRMLS_CC)
                    173: #define mysqlnd_stmt_field_count(stmt)         (stmt)->m->get_field_count((stmt) TSRMLS_CC)
                    174: #define mysqlnd_stmt_warning_count(stmt)       (stmt)->m->get_warning_count((stmt) TSRMLS_CC)
                    175: #define mysqlnd_stmt_server_status(stmt)       (stmt)->m->get_server_status((stmt) TSRMLS_CC)
                    176: #define mysqlnd_stmt_errno(stmt)                       (stmt)->m->get_error_no((stmt) TSRMLS_CC)
                    177: #define mysqlnd_stmt_error(stmt)                       (stmt)->m->get_error_str((stmt) TSRMLS_CC)
                    178: #define mysqlnd_stmt_sqlstate(stmt)                    (stmt)->m->get_sqlstate((stmt) TSRMLS_CC)
                    179: 
                    180: 
                    181: PHPAPI void mysqlnd_efree_param_bind_dtor(MYSQLND_PARAM_BIND * param_bind TSRMLS_DC);
                    182: PHPAPI void mysqlnd_efree_result_bind_dtor(MYSQLND_RESULT_BIND * result_bind TSRMLS_DC);
                    183: PHPAPI void mysqlnd_free_param_bind_dtor(MYSQLND_PARAM_BIND * param_bind TSRMLS_DC);
                    184: PHPAPI void mysqlnd_free_result_bind_dtor(MYSQLND_RESULT_BIND * result_bind TSRMLS_DC);
                    185: 
                    186: 
                    187: PHPAPI const char * mysqlnd_field_type_name(enum mysqlnd_field_types field_type);
                    188: 
                    189: /* LOAD DATA LOCAL */
1.1.1.2   misho     190: PHPAPI void mysqlnd_local_infile_default(MYSQLND_CONN_DATA * conn);
                    191: PHPAPI void mysqlnd_set_local_infile_handler(MYSQLND_CONN_DATA * const conn, const char * const funcname);
1.1       misho     192: 
                    193: /* Simple commands */
1.1.1.2   misho     194: #define mysqlnd_autocommit(conn, mode)         ((conn)->data)->m->set_autocommit((conn)->data, (mode) TSRMLS_CC)
                    195: #define mysqlnd_commit(conn)                           ((conn)->data)->m->tx_commit((conn)->data TSRMLS_CC)
                    196: #define mysqlnd_rollback(conn)                         ((conn)->data)->m->tx_rollback((conn)->data TSRMLS_CC)
                    197: #define mysqlnd_list_dbs(conn, wild)           ((conn)->data)->m->list_method((conn)->data, wild? "SHOW DATABASES LIKE %s":"SHOW DATABASES", (wild), NULL TSRMLS_CC)
                    198: #define mysqlnd_list_fields(conn, tab,wild)    ((conn)->data)->m->list_fields((conn)->data, (tab), (wild) TSRMLS_CC)
                    199: #define mysqlnd_list_processes(conn)           ((conn)->data)->m->list_method((conn)->data, "SHOW PROCESSLIST", NULL, NULL TSRMLS_CC)
                    200: #define mysqlnd_list_tables(conn, wild)                ((conn)->data)->m->list_method((conn)->data, wild? "SHOW TABLES LIKE %s":"SHOW TABLES", (wild), NULL TSRMLS_CC)
                    201: #define mysqlnd_dump_debug_info(conn)          ((conn)->data)->m->server_dump_debug_information((conn)->data TSRMLS_CC)
                    202: #define mysqlnd_select_db(conn, db, db_len)    ((conn)->data)->m->select_db((conn)->data, (db), (db_len) TSRMLS_CC)
                    203: #define mysqlnd_ping(conn)                                     ((conn)->data)->m->ping((conn)->data TSRMLS_CC)
                    204: #define mysqlnd_kill(conn, pid)                                ((conn)->data)->m->kill_connection((conn)->data, (pid) TSRMLS_CC)
                    205: #define mysqlnd_refresh(conn, options)         ((conn)->data)->m->refresh_server((conn)->data, (options) TSRMLS_CC)
                    206: #define mysqlnd_shutdown(conn, level)          ((conn)->data)->m->shutdown_server((conn)->data, (level) TSRMLS_CC)
                    207: #define mysqlnd_set_character_set(conn, cs)    ((conn)->data)->m->set_charset((conn)->data, (cs) TSRMLS_CC)
                    208: #define mysqlnd_stat(conn, msg, msg_len)       ((conn)->data)->m->get_server_statistics(((conn)->data), (msg), (msg_len) TSRMLS_CC)
                    209: #define mysqlnd_options(conn, opt, value)      ((conn)->data)->m->set_client_option((conn)->data, (opt), (value) TSRMLS_CC)
                    210: #define mysqlnd_set_server_option(conn, op)    ((conn)->data)->m->set_server_option((conn)->data, (op) TSRMLS_CC)
1.1       misho     211: 
                    212: /* Escaping */
                    213: #define mysqlnd_real_escape_string(conn, newstr, escapestr, escapestr_len) \
1.1.1.2   misho     214:                ((conn)->data)->m->escape_string((conn)->data, (newstr), (escapestr), (escapestr_len) TSRMLS_CC)
1.1       misho     215: #define mysqlnd_escape_string(newstr, escapestr, escapestr_len) \
                    216:                mysqlnd_old_escape_string((newstr), (escapestr), (escapestr_len) TSRMLS_CC)
                    217: 
1.1.1.2   misho     218: PHPAPI ulong mysqlnd_old_escape_string(char * newstr, const char * escapestr, size_t escapestr_len TSRMLS_DC);
1.1       misho     219: 
                    220: 
                    221: /* PS */
1.1.1.2   misho     222: #define mysqlnd_stmt_init(conn)                                ((conn)->data)->m->stmt_init(((conn)->data) TSRMLS_CC)
1.1       misho     223: #define mysqlnd_stmt_store_result(stmt)                (!mysqlnd_stmt_field_count((stmt)) ? PASS:((stmt)->m->store_result((stmt) TSRMLS_CC)? PASS:FAIL))
                    224: #define mysqlnd_stmt_get_result(stmt)          (stmt)->m->get_result((stmt) TSRMLS_CC)
                    225: #define mysqlnd_stmt_more_results(stmt)                (stmt)->m->more_results((stmt) TSRMLS_CC)
                    226: #define mysqlnd_stmt_next_result(stmt)         (stmt)->m->next_result((stmt) TSRMLS_CC)
                    227: #define mysqlnd_stmt_data_seek(stmt, row)      (stmt)->m->seek_data((stmt), (row) TSRMLS_CC)
                    228: #define mysqlnd_stmt_prepare(stmt, q, qlen)    (stmt)->m->prepare((stmt), (q), (qlen) TSRMLS_CC)
                    229: #define mysqlnd_stmt_execute(stmt)                     (stmt)->m->execute((stmt) TSRMLS_CC)
                    230: #define mysqlnd_stmt_send_long_data(stmt,p,d,l)        (stmt)->m->send_long_data((stmt), (p), (d), (l) TSRMLS_CC)
                    231: #define mysqlnd_stmt_alloc_param_bind(stmt)                    (stmt)->m->alloc_parameter_bind((stmt) TSRMLS_CC)
                    232: #define mysqlnd_stmt_free_param_bind(stmt,bind)                (stmt)->m->free_parameter_bind((stmt), (bind) TSRMLS_CC)
                    233: #define mysqlnd_stmt_bind_param(stmt,bind)                     (stmt)->m->bind_parameters((stmt), (bind) TSRMLS_CC)
                    234: #define mysqlnd_stmt_bind_one_param(stmt,n,z,t)                (stmt)->m->bind_one_parameter((stmt), (n), (z), (t) TSRMLS_CC)
                    235: #define mysqlnd_stmt_refresh_bind_param(s)                     (s)->m->refresh_bind_param((s) TSRMLS_CC)
                    236: #define mysqlnd_stmt_alloc_result_bind(stmt)           (stmt)->m->alloc_result_bind((stmt) TSRMLS_CC)
                    237: #define mysqlnd_stmt_free_result_bind(stmt,bind)       (stmt)->m->free_result_bind((stmt), (bind) TSRMLS_CC)
                    238: #define mysqlnd_stmt_bind_result(stmt,bind)                    (stmt)->m->bind_result((stmt), (bind) TSRMLS_CC)
                    239: #define mysqlnd_stmt_bind_one_result(s,no)                     (s)->m->bind_one_result((s), (no) TSRMLS_CC)
                    240: #define mysqlnd_stmt_param_metadata(stmt)                      (stmt)->m->get_parameter_metadata((stmt))
                    241: #define mysqlnd_stmt_result_metadata(stmt)                     (stmt)->m->get_result_metadata((stmt) TSRMLS_CC)
                    242: 
                    243: #define        mysqlnd_stmt_free_result(stmt)          (stmt)->m->free_result((stmt) TSRMLS_CC)
                    244: #define        mysqlnd_stmt_close(stmt, implicit)      (stmt)->m->dtor((stmt), (implicit) TSRMLS_CC)
                    245: #define        mysqlnd_stmt_reset(stmt)                        (stmt)->m->reset((stmt) TSRMLS_CC)
1.1.1.2   misho     246: #define        mysqlnd_stmt_flush(stmt)                        (stmt)->m->flush((stmt) TSRMLS_CC)
1.1       misho     247: 
                    248: 
                    249: #define mysqlnd_stmt_attr_get(stmt, attr, value)       (stmt)->m->get_attribute((stmt), (attr), (value) TSRMLS_CC)
                    250: #define mysqlnd_stmt_attr_set(stmt, attr, value)       (stmt)->m->set_attribute((stmt), (attr), (value) TSRMLS_CC)
                    251: 
                    252: #define mysqlnd_stmt_fetch(stmt, fetched)      (stmt)->m->fetch((stmt), (fetched) TSRMLS_CC)
                    253: 
                    254: 
                    255: /* Performance statistics */
                    256: PHPAPI void                    _mysqlnd_get_client_stats(zval *return_value TSRMLS_DC ZEND_FILE_LINE_DC);
                    257: 
                    258: /* double check the class name to avoid naming conflicts when using these: */
                    259: #define MYSQLND_METHOD(class, method) php_##class##_##method##_pub
                    260: #define MYSQLND_METHOD_PRIVATE(class, method) php_##class##_##method##_priv
                    261: 
                    262: ZEND_BEGIN_MODULE_GLOBALS(mysqlnd)
                    263:        zend_bool               collect_statistics;
                    264:        zend_bool               collect_memory_statistics;
                    265:        char*                   debug;  /* The actual string */
                    266:        MYSQLND_DEBUG   *dbg;   /* The DBG object */
                    267:        long                    net_cmd_buffer_size;
                    268:        long                    net_read_buffer_size;
                    269:        long                    log_mask;
                    270:        long                    net_read_timeout;
                    271:        long                    mempool_default_size;
                    272:        long                    debug_emalloc_fail_threshold;
                    273:        long                    debug_ecalloc_fail_threshold;
                    274:        long                    debug_erealloc_fail_threshold;
                    275:        long                    debug_malloc_fail_threshold;
                    276:        long                    debug_calloc_fail_threshold;
                    277:        long                    debug_realloc_fail_threshold;
                    278: ZEND_END_MODULE_GLOBALS(mysqlnd)
                    279: 
                    280: PHPAPI ZEND_EXTERN_MODULE_GLOBALS(mysqlnd)
                    281: 
                    282: #ifdef ZTS
                    283: #define MYSQLND_G(v) TSRMG(mysqlnd_globals_id, zend_mysqlnd_globals *, v)
                    284: #else
                    285: #define MYSQLND_G(v) (mysqlnd_globals.v)
                    286: #endif
                    287: 
                    288: 
                    289: PHPAPI void mysqlnd_minfo_print_hash(zval *values);
                    290: 
                    291: #endif /* MYSQLND_H */
                    292: 
                    293: 
                    294: /*
                    295:  * Local variables:
                    296:  * tab-width: 4
                    297:  * c-basic-offset: 4
                    298:  * End:
                    299:  * vim600: noet sw=4 ts=4 fdm=marker
                    300:  * vim<600: noet sw=4 ts=4
                    301:  */

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>