Move from directly referencing an aggregated structure to using a

pointer to a structure. The structure is still aggregated but we add
a level of indirection for possible plugins to overwrite the storage
This commit is contained in:
Andrey Hristov 2011-10-25 23:01:49 +00:00
parent 5e8bcbb08a
commit 845d8fa10c
26 changed files with 430 additions and 406 deletions

View file

@ -13,22 +13,27 @@
| license@php.net so we can mail you a copy immediately. |
+----------------------------------------------------------------------+
| Authors: Andrey Hristov <andrey@mysql.com> |
| Georg Richter <georg@mysql.com> |
| Ulf Wendel <uwendel@mysql.com> |
| Georg Richter <georg@mysql.com> |
+----------------------------------------------------------------------+
*/
/* $Id: mysqlnd.h 318051 2011-10-12 16:18:02Z andrey $ */
#ifndef MYSQLND_REVERSE_API_H
#define MYSQLND_REVERSE_API_H
struct st_mysqlnd_api_extension;
typedef struct st_mysqlnd_reverse_api
{
zend_module_entry * module;
MYSQLND *(*conversion_cb)(zval * zv TSRMLS_DC);
} MYSQLND_REVERSE_API;
PHPAPI void mysqlnd_reverse_api_init(TSRMLS_D);
PHPAPI void mysqlnd_reverse_api_end(TSRMLS_D);
PHPAPI HashTable * mysqlnd_reverse_api_get_api_list(TSRMLS_D);
PHPAPI void mysqlnd_reverse_api_register_api(struct st_mysqlnd_api_extension * apiext TSRMLS_DC);
PHPAPI void mysqlnd_reverse_api_register_api(MYSQLND_REVERSE_API * apiext TSRMLS_DC);
PHPAPI MYSQLND * zval_to_mysqlnd(zval * zv TSRMLS_DC);