php-internal-docs 8.4.8
Unofficial docs for php/php-src
Loading...
Searching...
No Matches
mysqlnd_ext_plugin.h
Go to the documentation of this file.
1/*
2 +----------------------------------------------------------------------+
3 | Copyright (c) The PHP Group |
4 +----------------------------------------------------------------------+
5 | This source file is subject to version 3.01 of the PHP license, |
6 | that is bundled with this package in the file LICENSE, and is |
7 | available through the world-wide-web at the following url: |
8 | https://www.php.net/license/3_01.txt |
9 | If you did not receive a copy of the PHP license and are unable to |
10 | obtain it through the world-wide-web, please send a note to |
11 | license@php.net so we can mail you a copy immediately. |
12 +----------------------------------------------------------------------+
13 | Authors: Andrey Hristov <andrey@php.net> |
14 | Johannes Schlüter <johannes@php.net> |
15 | Ulf Wendel <uw@php.net> |
16 +----------------------------------------------------------------------+
17*/
18
19#ifndef MYSQLND_EXT_PLUGIN_H
20#define MYSQLND_EXT_PLUGIN_H
21
23{
24 void ** (*get_connection_area)(const MYSQLND * conn, const unsigned int plugin_id);
25 void ** (*get_connection_data_area)(const MYSQLND_CONN_DATA * conn, const unsigned int plugin_id);
26 void ** (*get_result_area)(const MYSQLND_RES * result, const unsigned int plugin_id);
27 void ** (*get_unbuffered_area)(const MYSQLND_RES_UNBUFFERED * result, const unsigned int plugin_id);
28 void ** (*get_result_buffered_aread)(const MYSQLND_RES_BUFFERED * result, const unsigned int plugin_id);
29 void ** (*get_stmt_area)(const MYSQLND_STMT * stmt, const unsigned int plugin_id);
30 void ** (*get_protocol_decoder_area)(const MYSQLND_PROTOCOL_PAYLOAD_DECODER_FACTORY * factory, const unsigned int plugin_id);
31 void ** (*get_pfc_area)(const MYSQLND_PFC * pfc, const unsigned int plugin_id);
32 void ** (*get_vio_area)(const MYSQLND_VIO * vio, const unsigned int plugin_id);
33};
34
36
37#define mysqlnd_plugin_get_plugin_connection_data(c, p_id) mysqlnd_plugin_area_getters.get_connection_area((c), (p_id))
38#define mysqlnd_plugin_get_plugin_connection_data_data(c, p_id) mysqlnd_plugin_area_getters.get_connection_data_area((c), (p_id))
39#define mysqlnd_plugin_get_plugin_result_data(res, p_id) mysqlnd_plugin_area_getters.get_result_area((res), (p_id))
40#define mysqlnd_plugin_get_plugin_result_unbuffered_data(res, p_id) mysqlnd_plugin_area_getters.get_unbuffered_area((res), (p_id))
41#define mysqlnd_plugin_get_plugin_result_buffered_data_c(res, p_id) mysqlnd_plugin_area_getters.get_result_buffered_aread((res), (p_id))
42#define mysqlnd_plugin_get_plugin_stmt_data(stmt, p_id) mysqlnd_plugin_area_getters.get_stmt_area((stmt), (p_id))
43#define mysqlnd_plugin_get_plugin_protocol_data(proto, p_id) mysqlnd_plugin_area_getters.get_protocol_decoder_area((proto), (p_id))
44#define mysqlnd_plugin_get_plugin_pfc_data(pfc, p_id) mysqlnd_plugin_area_getters.get_pfc_area((pfc), (p_id))
45#define mysqlnd_plugin_get_plugin_vio_data(vio, p_id) mysqlnd_plugin_area_getters.get_pfc_area((vio), (p_id))
46
47
49{
51 {
52 MYSQLND_CLASS_METHODS_TYPE(mysqlnd_object_factory) * (*get)(void);
53 void (*set)(MYSQLND_CLASS_METHODS_TYPE(mysqlnd_object_factory) *methods);
55
57 {
58 MYSQLND_CLASS_METHODS_TYPE(mysqlnd_conn) * (*get)(void);
59 void (*set)(MYSQLND_CLASS_METHODS_TYPE(mysqlnd_conn) *methods);
61
63 {
64 MYSQLND_CLASS_METHODS_TYPE(mysqlnd_conn_data) * (*get)(void);
65 void (*set)(MYSQLND_CLASS_METHODS_TYPE(mysqlnd_conn_data) *methods);
67
69 {
70 MYSQLND_CLASS_METHODS_TYPE(mysqlnd_res) * (*get)(void);
71 void (*set)(MYSQLND_CLASS_METHODS_TYPE(mysqlnd_res) *methods);
73
75 {
76 MYSQLND_CLASS_METHODS_TYPE(mysqlnd_result_unbuffered) * (*get)(void);
77 void (*set)(MYSQLND_CLASS_METHODS_TYPE(mysqlnd_result_unbuffered) *methods);
79
81 {
82 MYSQLND_CLASS_METHODS_TYPE(mysqlnd_result_buffered)* (*get)(void);
83 void (*set)(MYSQLND_CLASS_METHODS_TYPE(mysqlnd_result_buffered) *methods);
85
87 {
88 MYSQLND_CLASS_METHODS_TYPE(mysqlnd_stmt) * (*get)(void);
89 void (*set)(MYSQLND_CLASS_METHODS_TYPE(mysqlnd_stmt) * methods);
90 } statement;
91
93 {
94 MYSQLND_CLASS_METHODS_TYPE(mysqlnd_protocol_payload_decoder_factory)* (*get)(void);
95 void (*set)(MYSQLND_CLASS_METHODS_TYPE(mysqlnd_protocol_payload_decoder_factory) *methods);
97
99 {
100 MYSQLND_CLASS_METHODS_TYPE(mysqlnd_protocol_packet_frame_codec) * (*get)(void);
101 void (*set)(MYSQLND_CLASS_METHODS_TYPE(mysqlnd_protocol_packet_frame_codec) * methods);
103
105 {
106 MYSQLND_CLASS_METHODS_TYPE(mysqlnd_vio) * (*get)(void);
107 void (*set)(MYSQLND_CLASS_METHODS_TYPE(mysqlnd_vio) * methods);
109
111 {
112 MYSQLND_CLASS_METHODS_TYPE(mysqlnd_error_info) * (*get)(void);
113 void (*set)(MYSQLND_CLASS_METHODS_TYPE(mysqlnd_error_info) * methods);
115
117 {
118 MYSQLND_CLASS_METHODS_TYPE(mysqlnd_command) * (*get)(void);
119 void (*set)(MYSQLND_CLASS_METHODS_TYPE(mysqlnd_command) * methods);
121};
122
124
125
126#define mysqlnd_object_factory_get_methods() mysqlnd_plugin_methods_xetters.object_factory.get()
127#define mysqlnd_object_factory_set_methods(m) mysqlnd_plugin_methods_xetters.object_factory.set((m))
128
129#define mysqlnd_conn_get_methods() mysqlnd_plugin_methods_xetters.connection.get()
130#define mysqlnd_conn_set_methods(m) mysqlnd_plugin_methods_xetters.connection.set((m))
131
132#define mysqlnd_conn_data_get_methods() mysqlnd_plugin_methods_xetters.connection_data.get()
133#define mysqlnd_conn_data_set_methods(m) mysqlnd_plugin_methods_xetters.connection_data.set((m))
134
135#define mysqlnd_result_get_methods() mysqlnd_plugin_methods_xetters.result.get()
136#define mysqlnd_result_set_methods(m) mysqlnd_plugin_methods_xetters.result.set((m))
137
138#define mysqlnd_result_unbuffered_get_methods() mysqlnd_plugin_methods_xetters.unbuffered_result.get()
139#define mysqlnd_result_unbuffered_set_methods(m) mysqlnd_plugin_methods_xetters.unbuffered_result.set((m))
140
141#define mysqlnd_result_buffered_get_methods() mysqlnd_plugin_methods_xetters.buffered_result.get()
142#define mysqlnd_result_buffered_set_methods(m) mysqlnd_plugin_methods_xetters.buffered_result.set((m))
143
144#define mysqlnd_stmt_get_methods() mysqlnd_plugin_methods_xetters.statement.get()
145#define mysqlnd_stmt_set_methods(m) mysqlnd_plugin_methods_xetters.statement.set((m))
146
147#define mysqlnd_protocol_get_methods() mysqlnd_plugin_methods_xetters.protocol.get()
148#define mysqlnd_protocol_set_methods(m) mysqlnd_plugin_methods_xetters.protocol.set((m))
149
150#define mysqlnd_pfc_get_methods() mysqlnd_plugin_methods_xetters.pfc.get()
151#define mysqlnd_pfc_set_methods(m) mysqlnd_plugin_methods_xetters.pfc.set((m))
152
153#define mysqlnd_vio_get_methods() mysqlnd_plugin_methods_xetters.vio.get()
154#define mysqlnd_vio_set_methods(m) mysqlnd_plugin_methods_xetters.vio.set((m))
155
156#define mysqlnd_command_get_methods() mysqlnd_plugin_methods_xetters.command.get()
157#define mysqlnd_command_set_methods(m) mysqlnd_plugin_methods_xetters.command.set((m))
158
159#define mysqlnd_error_info_get_methods() mysqlnd_plugin_methods_xetters.error_info.get()
160#define mysqlnd_error_info_set_methods(m) mysqlnd_plugin_methods_xetters.error_info.set((m))
161
162#endif /* MYSQLND_EXT_PLUGIN_H */
const php_stream_filter_factory * factory
Definition filters.c:1900
struct st_mysqlnd_plugin__plugin_area_getters mysqlnd_plugin_area_getters
struct st_mysqlnd_plugin_methods_xetters mysqlnd_plugin_methods_xetters
struct st_mysqlnd_vio MYSQLND_VIO
struct st_mysqlnd_connection_data MYSQLND_CONN_DATA
#define MYSQLND_CLASS_METHODS_TYPE(class)
struct st_mysqlnd_protocol_frame_codec MYSQLND_PFC
struct st_mysqlnd_buffered_result MYSQLND_RES_BUFFERED
struct st_mysqlnd_unbuffered_result MYSQLND_RES_UNBUFFERED
struct st_mysqlnd_protocol_payload_decoder_factory MYSQLND_PROTOCOL_PAYLOAD_DECODER_FACTORY
struct st_mysqlnd_connection MYSQLND
struct st_mysqlnd_stmt MYSQLND_STMT
struct st_mysqlnd_res MYSQLND_RES
#define PHPAPI
Definition php.h:71
MYSQLND_CLASS_METHODS_TYPE(mysqlnd_result_buffered) *(*get)(void)
void(* set)(MYSQLND_CLASS_METHODS_TYPE(mysqlnd_result_buffered) *methods)
void(* set)(MYSQLND_CLASS_METHODS_TYPE(mysqlnd_command) *methods)
MYSQLND_CLASS_METHODS_TYPE(mysqlnd_command) *(*get)(void)
void(* set)(MYSQLND_CLASS_METHODS_TYPE(mysqlnd_conn_data) *methods)
void(* set)(MYSQLND_CLASS_METHODS_TYPE(mysqlnd_conn) *methods)
void(* set)(MYSQLND_CLASS_METHODS_TYPE(mysqlnd_error_info) *methods)
MYSQLND_CLASS_METHODS_TYPE(mysqlnd_error_info) *(*get)(void)
void(* set)(MYSQLND_CLASS_METHODS_TYPE(mysqlnd_object_factory) *methods)
MYSQLND_CLASS_METHODS_TYPE(mysqlnd_object_factory) *(*get)(void)
MYSQLND_CLASS_METHODS_TYPE(mysqlnd_protocol_packet_frame_codec) *(*get)(void)
void(* set)(MYSQLND_CLASS_METHODS_TYPE(mysqlnd_protocol_packet_frame_codec) *methods)
void(* set)(MYSQLND_CLASS_METHODS_TYPE(mysqlnd_protocol_payload_decoder_factory) *methods)
MYSQLND_CLASS_METHODS_TYPE(mysqlnd_protocol_payload_decoder_factory) *(*get)(void)
void(* set)(MYSQLND_CLASS_METHODS_TYPE(mysqlnd_res) *methods)
void(* set)(MYSQLND_CLASS_METHODS_TYPE(mysqlnd_stmt) *methods)
void(* set)(MYSQLND_CLASS_METHODS_TYPE(mysqlnd_result_unbuffered) *methods)
MYSQLND_CLASS_METHODS_TYPE(mysqlnd_result_unbuffered) *(*get)(void)
void(* set)(MYSQLND_CLASS_METHODS_TYPE(mysqlnd_vio) *methods)
struct st_mysqlnd_plugin_methods_xetters::st_mnd_connection_data_xetters connection_data
struct st_mysqlnd_plugin_methods_xetters::st_mnd_object_factory_xetters object_factory
struct st_mysqlnd_plugin_methods_xetters::st_mnd_pfc_xetters pfc
struct st_mysqlnd_plugin_methods_xetters::st_mnd_vio_xetters vio
struct st_mysqlnd_plugin_methods_xetters::st_mnd_protocol_xetters protocol
struct st_mysqlnd_plugin_methods_xetters::st_mnd_command_xetters command
struct st_mysqlnd_plugin_methods_xetters::st_mnd_unbuffered_result_xetters unbuffered_result
struct st_mysqlnd_plugin_methods_xetters::st_mnd_error_info_xetters error_info
struct st_mysqlnd_plugin_methods_xetters::st_mnd_buffered_result_xetters buffered_result
struct st_mysqlnd_plugin_methods_xetters::st_mnd_connection_xetters connection
ZEND_API void(ZEND_FASTCALL *zend_touch_vm_stack_data)(void *vm_stack_data)
bool result