Annotation of embedaddon/php/ext/mysqlnd/mysqlnd_ext_plugin.c, revision 1.1.1.3

1.1       misho       1: /*
                      2:   +----------------------------------------------------------------------+
                      3:   | PHP Version 5                                                        |
                      4:   +----------------------------------------------------------------------+
1.1.1.3 ! 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:   +----------------------------------------------------------------------+
                     15:   | Authors: Andrey Hristov <andrey@mysql.com>                           |
                     16:   |          Ulf Wendel <uwendel@mysql.com>                              |
                     17:   |          Georg Richter <georg@mysql.com>                             |
                     18:   +----------------------------------------------------------------------+
                     19: */
                     20: 
                     21: /* $Id: mysqlnd.c 318221 2011-10-19 15:04:12Z andrey $ */
                     22: #include "php.h"
                     23: #include "mysqlnd.h"
                     24: #include "mysqlnd_priv.h"
                     25: #include "mysqlnd_result.h"
                     26: #include "mysqlnd_debug.h"
                     27: 
                     28: static struct st_mysqlnd_conn_methods * mysqlnd_conn_methods;
                     29: static struct st_mysqlnd_conn_data_methods * mysqlnd_conn_data_methods;
                     30: static struct st_mysqlnd_stmt_methods * mysqlnd_stmt_methods;
                     31: 
                     32: /* {{{ _mysqlnd_plugin_get_plugin_connection_data */
                     33: PHPAPI void **
                     34: _mysqlnd_plugin_get_plugin_connection_data(const MYSQLND * conn, unsigned int plugin_id TSRMLS_DC)
                     35: {
                     36:        DBG_ENTER("_mysqlnd_plugin_get_plugin_connection_data");
                     37:        DBG_INF_FMT("plugin_id=%u", plugin_id);
                     38:        if (!conn || plugin_id >= mysqlnd_plugin_count()) {
                     39:                return NULL;
                     40:        }
                     41:        DBG_RETURN((void *)((char *)conn + sizeof(MYSQLND) + plugin_id * sizeof(void *)));
                     42: }
                     43: /* }}} */
                     44: 
                     45: 
                     46: /* {{{ _mysqlnd_plugin_get_plugin_connection_data_data */
                     47: PHPAPI void **
                     48: _mysqlnd_plugin_get_plugin_connection_data_data(const MYSQLND_CONN_DATA * conn, unsigned int plugin_id TSRMLS_DC)
                     49: {
                     50:        DBG_ENTER("_mysqlnd_plugin_get_plugin_connection_data_data");
                     51:        DBG_INF_FMT("plugin_id=%u", plugin_id);
                     52:        if (!conn || plugin_id >= mysqlnd_plugin_count()) {
                     53:                return NULL;
                     54:        }
                     55:        DBG_RETURN((void *)((char *)conn + sizeof(MYSQLND_CONN_DATA) + plugin_id * sizeof(void *)));
                     56: }
                     57: /* }}} */
                     58: 
                     59: 
                     60: /* {{{ _mysqlnd_plugin_get_plugin_result_data */
                     61: PHPAPI void ** _mysqlnd_plugin_get_plugin_result_data(const MYSQLND_RES * result, unsigned int plugin_id TSRMLS_DC)
                     62: {
                     63:        DBG_ENTER("_mysqlnd_plugin_get_plugin_result_data");
                     64:        DBG_INF_FMT("plugin_id=%u", plugin_id);
                     65:        if (!result || plugin_id >= mysqlnd_plugin_count()) {
                     66:                return NULL;
                     67:        }
                     68:        DBG_RETURN((void *)((char *)result + sizeof(MYSQLND_RES) + plugin_id * sizeof(void *)));
                     69: }
                     70: /* }}} */
                     71: 
                     72: 
                     73: /* {{{ _mysqlnd_plugin_get_plugin_protocol_data */
                     74: PHPAPI void **
                     75: _mysqlnd_plugin_get_plugin_protocol_data(const MYSQLND_PROTOCOL * protocol, unsigned int plugin_id TSRMLS_DC)
                     76: {
                     77:        DBG_ENTER("_mysqlnd_plugin_get_plugin_protocol_data");
                     78:        DBG_INF_FMT("plugin_id=%u", plugin_id);
                     79:        if (!protocol || plugin_id >= mysqlnd_plugin_count()) {
                     80:                return NULL;
                     81:        }
                     82:        DBG_RETURN((void *)((char *)protocol + sizeof(MYSQLND_PROTOCOL) + plugin_id * sizeof(void *)));
                     83: }
                     84: /* }}} */
                     85: 
                     86: 
                     87: /* {{{ _mysqlnd_plugin_get_plugin_stmt_data */
                     88: PHPAPI void ** _mysqlnd_plugin_get_plugin_stmt_data(const MYSQLND_STMT * stmt, unsigned int plugin_id TSRMLS_DC)
                     89: {
                     90:        DBG_ENTER("_mysqlnd_plugin_get_plugin_stmt_data");
                     91:        DBG_INF_FMT("plugin_id=%u", plugin_id);
                     92:        if (!stmt || plugin_id >= mysqlnd_plugin_count()) {
                     93:                return NULL;
                     94:        }
                     95:        DBG_RETURN((void *)((char *)stmt + sizeof(MYSQLND_STMT) + plugin_id * sizeof(void *)));
                     96: }
                     97: /* }}} */
                     98: 
                     99: 
                    100: /* {{{ _mysqlnd_plugin_get_plugin_net_data */
                    101: PHPAPI void ** _mysqlnd_plugin_get_plugin_net_data(const MYSQLND_NET * net, unsigned int plugin_id TSRMLS_DC)
                    102: {
                    103:        DBG_ENTER("_mysqlnd_plugin_get_plugin_net_data");
                    104:        DBG_INF_FMT("plugin_id=%u", plugin_id);
                    105:        if (!net || plugin_id >= mysqlnd_plugin_count()) {
                    106:                return NULL;
                    107:        }
                    108:        DBG_RETURN((void *)((char *)net + sizeof(MYSQLND_NET) + plugin_id * sizeof(void *)));
                    109: }
                    110: /* }}} */
                    111: 
                    112: 
                    113: 
                    114: /* {{{ mysqlnd_conn_get_methods */
                    115: PHPAPI struct st_mysqlnd_conn_methods *
                    116: mysqlnd_conn_get_methods()
                    117: {
                    118:        return mysqlnd_conn_methods;
                    119: }
                    120: /* }}} */
                    121: 
                    122: /* {{{ mysqlnd_conn_set_methods */
                    123: PHPAPI void mysqlnd_conn_set_methods(struct st_mysqlnd_conn_methods *methods)
                    124: {
                    125:        mysqlnd_conn_methods = methods;
                    126: }
                    127: /* }}} */
                    128: 
                    129: 
                    130: /* {{{ mysqlnd_conn_get_methods */
                    131: PHPAPI struct st_mysqlnd_conn_data_methods *
                    132: mysqlnd_conn_data_get_methods()
                    133: {
                    134:        return mysqlnd_conn_data_methods;
                    135: }
                    136: /* }}} */
                    137: 
                    138: /* {{{ mysqlnd_conn_set_methods */
                    139: PHPAPI void mysqlnd_conn_data_set_methods(struct st_mysqlnd_conn_data_methods * methods)
                    140: {
                    141:        mysqlnd_conn_data_methods = methods;
                    142: }
                    143: /* }}} */
                    144: 
                    145: 
                    146: /* {{{ mysqlnd_result_get_methods */
                    147: PHPAPI struct st_mysqlnd_res_methods *
                    148: mysqlnd_result_get_methods()
                    149: {
                    150:        return &MYSQLND_CLASS_METHOD_TABLE_NAME(mysqlnd_res);
                    151: }
                    152: /* }}} */
                    153: 
                    154: 
                    155: /* {{{ mysqlnd_result_set_methods */
                    156: PHPAPI void
                    157: mysqlnd_result_set_methods(struct st_mysqlnd_res_methods * methods)
                    158: {
                    159:        MYSQLND_CLASS_METHOD_TABLE_NAME(mysqlnd_res) = *methods;
                    160: }
                    161: /* }}} */
                    162: 
                    163: 
                    164: /* {{{ mysqlnd_stmt_get_methods */
                    165: PHPAPI struct st_mysqlnd_stmt_methods *
                    166: mysqlnd_stmt_get_methods()
                    167: {
                    168:        return mysqlnd_stmt_methods;
                    169: }
                    170: /* }}} */
                    171: 
                    172: 
                    173: /* {{{ mysqlnd_stmt_set_methods */
                    174: PHPAPI void
                    175: mysqlnd_stmt_set_methods(struct st_mysqlnd_stmt_methods *methods)
                    176: {
                    177:        mysqlnd_stmt_methods = methods;
                    178: }
                    179: /* }}} */
                    180: 
                    181: 
                    182: /* {{{ mysqlnd_protocol_get_methods */
                    183: PHPAPI struct st_mysqlnd_protocol_methods *
                    184: mysqlnd_protocol_get_methods()
                    185: {
                    186:        return &MYSQLND_CLASS_METHOD_TABLE_NAME(mysqlnd_protocol);
                    187: }
                    188: /* }}} */
                    189: 
                    190: 
                    191: /* {{{ mysqlnd_protocol_set_methods */
                    192: PHPAPI void
                    193: mysqlnd_protocol_set_methods(struct st_mysqlnd_protocol_methods * methods)
                    194: {
                    195:        MYSQLND_CLASS_METHOD_TABLE_NAME(mysqlnd_protocol) = *methods;
                    196: }
                    197: /* }}} */
                    198: 
                    199: 
                    200: /* {{{ mysqlnd_net_get_methods */
                    201: PHPAPI struct st_mysqlnd_net_methods *
                    202: mysqlnd_net_get_methods()
                    203: {
                    204:        return &MYSQLND_CLASS_METHOD_TABLE_NAME(mysqlnd_net);
                    205: }
                    206: /* }}} */
                    207: 
                    208: 
                    209: /* {{{ mysqlnd_net_set_methods */
                    210: PHPAPI void
                    211: mysqlnd_net_set_methods(struct st_mysqlnd_net_methods * methods)
                    212: {
                    213:        MYSQLND_CLASS_METHOD_TABLE_NAME(mysqlnd_net) = *methods;
                    214: }
                    215: /* }}} */
                    216: 
                    217: 
                    218: 
                    219: /*
                    220:  * Local variables:
                    221:  * tab-width: 4
                    222:  * c-basic-offset: 4
                    223:  * End:
                    224:  * vim600: noet sw=4 ts=4 fdm=marker
                    225:  * vim<600: noet sw=4 ts=4
                    226:  */

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