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

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

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