Skip to main content

quex_mariadb_sys/
bindings.rs

1/* automatically generated by rust-bindgen 0.72.1 */
2
3pub const MYSQL_AUTODETECT_CHARSET_NAME: &[u8; 5] = b"auto\0";
4pub const CLIENT_MYSQL: u32 = 1;
5pub const CLIENT_FOUND_ROWS: u32 = 2;
6pub const CLIENT_LONG_FLAG: u32 = 4;
7pub const CLIENT_CONNECT_WITH_DB: u32 = 8;
8pub const CLIENT_NO_SCHEMA: u32 = 16;
9pub const CLIENT_COMPRESS: u32 = 32;
10pub const CLIENT_ODBC: u32 = 64;
11pub const CLIENT_LOCAL_FILES: u32 = 128;
12pub const CLIENT_IGNORE_SPACE: u32 = 256;
13pub const CLIENT_INTERACTIVE: u32 = 1024;
14pub const CLIENT_SSL: u32 = 2048;
15pub const CLIENT_IGNORE_SIGPIPE: u32 = 4096;
16pub const CLIENT_TRANSACTIONS: u32 = 8192;
17pub const CLIENT_PROTOCOL_41: u32 = 512;
18pub const CLIENT_RESERVED: u32 = 16384;
19pub const CLIENT_SECURE_CONNECTION: u32 = 32768;
20pub const CLIENT_MULTI_STATEMENTS: u32 = 65536;
21pub const CLIENT_MULTI_RESULTS: u32 = 131072;
22pub const CLIENT_PS_MULTI_RESULTS: u32 = 262144;
23pub const CLIENT_PLUGIN_AUTH: u32 = 524288;
24pub const CLIENT_CONNECT_ATTRS: u32 = 1048576;
25pub const CLIENT_PLUGIN_AUTH_LENENC_CLIENT_DATA: u32 = 2097152;
26pub const CLIENT_CAN_HANDLE_EXPIRED_PASSWORDS: u32 = 4194304;
27pub const CLIENT_SESSION_TRACKING: u32 = 8388608;
28pub const CLIENT_ZSTD_COMPRESSION: u32 = 67108864;
29pub const CLIENT_PROGRESS: u32 = 536870912;
30pub const CLIENT_PROGRESS_OBSOLETE: u32 = 536870912;
31pub const CLIENT_SSL_VERIFY_SERVER_CERT: u32 = 1073741824;
32pub const CLIENT_SSL_VERIFY_SERVER_CERT_OBSOLETE: u32 = 1073741824;
33pub const CLIENT_REMEMBER_OPTIONS: u32 = 2147483648;
34pub const MARIADB_CLIENT_FLAGS: i64 = -4294967296;
35pub const MARIADB_CLIENT_PROGRESS: u64 = 4294967296;
36pub const MARIADB_CLIENT_RESERVED_1: u64 = 8589934592;
37pub const MARIADB_CLIENT_STMT_BULK_OPERATIONS: u64 = 17179869184;
38pub const MARIADB_CLIENT_EXTENDED_METADATA: u64 = 34359738368;
39pub const MARIADB_CLIENT_CACHE_METADATA: u64 = 68719476736;
40pub const MARIADB_CLIENT_BULK_UNIT_RESULTS: u64 = 137438953472;
41pub const MARIADB_CLIENT_SUPPORTED_FLAGS: u64 = 261993005056;
42pub const CLIENT_SUPPORTED_FLAGS: u32 = 3768319999;
43pub const CLIENT_ALLOWED_FLAGS: u32 = 3841982463;
44pub const CLIENT_CAPABILITIES: u32 = 12493317;
45pub const CLIENT_DEFAULT_FLAGS: u32 = 3768317919;
46pub const CLIENT_DEFAULT_EXTENDED_FLAGS: u64 = 124554051584;
47pub const MYSQL_ERRMSG_SIZE: u32 = 512;
48pub const MARIADB_CONNECTION_UNIXSOCKET: u32 = 0;
49pub const MARIADB_CONNECTION_TCP: u32 = 1;
50pub const MARIADB_CONNECTION_NAMEDPIPE: u32 = 2;
51pub const MARIADB_CONNECTION_SHAREDMEM: u32 = 3;
52pub const MARIADB_CLIENT_VERSION_STR: &[u8; 7] = b"12.2.2\0";
53pub const MARIADB_BASE_VERSION: &[u8; 13] = b"mariadb-12.2\0";
54pub const MARIADB_VERSION_ID: u32 = 120202;
55pub const MARIADB_PORT: u32 = 3306;
56pub const MARIADB_UNIX_ADDR: &[u8; 24] = b"/run/mysqld/mysqld.sock\0";
57pub const MYSQL_UNIX_ADDR: &[u8; 24] = b"/run/mysqld/mysqld.sock\0";
58pub const MYSQL_PORT: u32 = 3306;
59pub const MYSQL_CONFIG_NAME: &[u8; 3] = b"my\0";
60pub const MYSQL_VERSION_ID: u32 = 120202;
61pub const MYSQL_SERVER_VERSION: &[u8; 15] = b"12.2.2-MariaDB\0";
62pub const MARIADB_PACKAGE_VERSION: &[u8; 6] = b"3.4.9\0";
63pub const MARIADB_PACKAGE_VERSION_ID: u32 = 30409;
64pub const MARIADB_SYSTEM_TYPE: &[u8; 6] = b"Linux\0";
65pub const MARIADB_MACHINE_TYPE: &[u8; 7] = b"x86_64\0";
66pub const MARIADB_PLUGINDIR: &[u8; 22] = b"/usr/lib/mysql/plugin\0";
67pub const MYSQL_CHARSET: &[u8; 1] = b"\0";
68pub const MARIADB_INVALID_SOCKET: i32 = -1;
69pub const MYSQL_WAIT_READ: u32 = 1;
70pub const MYSQL_WAIT_WRITE: u32 = 2;
71pub const MYSQL_WAIT_EXCEPT: u32 = 4;
72pub const MYSQL_WAIT_TIMEOUT: u32 = 8;
73pub const MARIADB_TLS_VERIFY_OK: u32 = 0;
74pub const MARIADB_TLS_VERIFY_TRUST: u32 = 1;
75pub const MARIADB_TLS_VERIFY_HOST: u32 = 2;
76pub const MARIADB_TLS_VERIFY_FINGERPRINT: u32 = 4;
77pub const MARIADB_TLS_VERIFY_PERIOD: u32 = 8;
78pub const MARIADB_TLS_VERIFY_REVOKED: u32 = 16;
79pub const MARIADB_TLS_VERIFY_UNKNOWN: u32 = 32;
80pub const MARIADB_TLS_VERIFY_ERROR: u32 = 128;
81pub const MYSQL_NO_DATA: u32 = 100;
82pub const MYSQL_DATA_TRUNCATED: u32 = 101;
83pub const MYSQL_PS_SKIP_RESULT_W_LEN: i32 = -1;
84pub const MYSQL_PS_SKIP_RESULT_STR: i32 = -2;
85pub type va_list = __builtin_va_list;
86#[repr(C)]
87#[derive(Debug, Copy, Clone)]
88pub struct tm {
89    pub tm_sec: ::std::os::raw::c_int,
90    pub tm_min: ::std::os::raw::c_int,
91    pub tm_hour: ::std::os::raw::c_int,
92    pub tm_mday: ::std::os::raw::c_int,
93    pub tm_mon: ::std::os::raw::c_int,
94    pub tm_year: ::std::os::raw::c_int,
95    pub tm_wday: ::std::os::raw::c_int,
96    pub tm_yday: ::std::os::raw::c_int,
97    pub tm_isdst: ::std::os::raw::c_int,
98    pub tm_gmtoff: ::std::os::raw::c_long,
99    pub tm_zone: *const ::std::os::raw::c_char,
100}
101#[allow(clippy::unnecessary_operation, clippy::identity_op)]
102const _: () = {
103    ["Size of tm"][::std::mem::size_of::<tm>() - 56usize];
104    ["Alignment of tm"][::std::mem::align_of::<tm>() - 8usize];
105    ["Offset of field: tm::tm_sec"][::std::mem::offset_of!(tm, tm_sec) - 0usize];
106    ["Offset of field: tm::tm_min"][::std::mem::offset_of!(tm, tm_min) - 4usize];
107    ["Offset of field: tm::tm_hour"][::std::mem::offset_of!(tm, tm_hour) - 8usize];
108    ["Offset of field: tm::tm_mday"][::std::mem::offset_of!(tm, tm_mday) - 12usize];
109    ["Offset of field: tm::tm_mon"][::std::mem::offset_of!(tm, tm_mon) - 16usize];
110    ["Offset of field: tm::tm_year"][::std::mem::offset_of!(tm, tm_year) - 20usize];
111    ["Offset of field: tm::tm_wday"][::std::mem::offset_of!(tm, tm_wday) - 24usize];
112    ["Offset of field: tm::tm_yday"][::std::mem::offset_of!(tm, tm_yday) - 28usize];
113    ["Offset of field: tm::tm_isdst"][::std::mem::offset_of!(tm, tm_isdst) - 32usize];
114    ["Offset of field: tm::tm_gmtoff"][::std::mem::offset_of!(tm, tm_gmtoff) - 40usize];
115    ["Offset of field: tm::tm_zone"][::std::mem::offset_of!(tm, tm_zone) - 48usize];
116};
117pub type my_bool = ::std::os::raw::c_char;
118pub type my_ulonglong = ::std::os::raw::c_ulonglong;
119pub type my_socket = ::std::os::raw::c_int;
120pub const mysql_enum_shutdown_level_SHUTDOWN_DEFAULT: mysql_enum_shutdown_level = 0;
121pub const mysql_enum_shutdown_level_KILL_QUERY: mysql_enum_shutdown_level = 254;
122pub const mysql_enum_shutdown_level_KILL_CONNECTION: mysql_enum_shutdown_level = 255;
123pub type mysql_enum_shutdown_level = ::std::os::raw::c_uint;
124pub const enum_server_command_COM_SLEEP: enum_server_command = 0;
125pub const enum_server_command_COM_QUIT: enum_server_command = 1;
126pub const enum_server_command_COM_INIT_DB: enum_server_command = 2;
127pub const enum_server_command_COM_QUERY: enum_server_command = 3;
128pub const enum_server_command_COM_FIELD_LIST: enum_server_command = 4;
129pub const enum_server_command_COM_CREATE_DB: enum_server_command = 5;
130pub const enum_server_command_COM_DROP_DB: enum_server_command = 6;
131pub const enum_server_command_COM_REFRESH: enum_server_command = 7;
132pub const enum_server_command_COM_SHUTDOWN: enum_server_command = 8;
133pub const enum_server_command_COM_STATISTICS: enum_server_command = 9;
134pub const enum_server_command_COM_PROCESS_INFO: enum_server_command = 10;
135pub const enum_server_command_COM_CONNECT: enum_server_command = 11;
136pub const enum_server_command_COM_PROCESS_KILL: enum_server_command = 12;
137pub const enum_server_command_COM_DEBUG: enum_server_command = 13;
138pub const enum_server_command_COM_PING: enum_server_command = 14;
139pub const enum_server_command_COM_TIME: enum_server_command = 15;
140pub const enum_server_command_COM_DELAYED_INSERT: enum_server_command = 16;
141pub const enum_server_command_COM_CHANGE_USER: enum_server_command = 17;
142pub const enum_server_command_COM_BINLOG_DUMP: enum_server_command = 18;
143pub const enum_server_command_COM_TABLE_DUMP: enum_server_command = 19;
144pub const enum_server_command_COM_CONNECT_OUT: enum_server_command = 20;
145pub const enum_server_command_COM_REGISTER_SLAVE: enum_server_command = 21;
146pub const enum_server_command_COM_STMT_PREPARE: enum_server_command = 22;
147pub const enum_server_command_COM_STMT_EXECUTE: enum_server_command = 23;
148pub const enum_server_command_COM_STMT_SEND_LONG_DATA: enum_server_command = 24;
149pub const enum_server_command_COM_STMT_CLOSE: enum_server_command = 25;
150pub const enum_server_command_COM_STMT_RESET: enum_server_command = 26;
151pub const enum_server_command_COM_SET_OPTION: enum_server_command = 27;
152pub const enum_server_command_COM_STMT_FETCH: enum_server_command = 28;
153pub const enum_server_command_COM_DAEMON: enum_server_command = 29;
154pub const enum_server_command_COM_UNSUPPORTED: enum_server_command = 30;
155pub const enum_server_command_COM_RESET_CONNECTION: enum_server_command = 31;
156pub const enum_server_command_COM_STMT_BULK_EXECUTE: enum_server_command = 250;
157pub const enum_server_command_COM_RESERVED_1: enum_server_command = 254;
158pub const enum_server_command_COM_END: enum_server_command = 255;
159pub type enum_server_command = ::std::os::raw::c_uint;
160#[repr(C)]
161#[derive(Debug, Copy, Clone)]
162pub struct st_ma_pvio {
163    _unused: [u8; 0],
164}
165pub type MARIADB_PVIO = st_ma_pvio;
166#[repr(C)]
167#[derive(Debug, Copy, Clone)]
168pub struct st_net {
169    pub pvio: *mut MARIADB_PVIO,
170    pub buff: *mut ::std::os::raw::c_uchar,
171    pub buff_end: *mut ::std::os::raw::c_uchar,
172    pub write_pos: *mut ::std::os::raw::c_uchar,
173    pub read_pos: *mut ::std::os::raw::c_uchar,
174    pub fd: my_socket,
175    pub remain_in_buf: ::std::os::raw::c_ulong,
176    pub length: ::std::os::raw::c_ulong,
177    pub buf_length: ::std::os::raw::c_ulong,
178    pub where_b: ::std::os::raw::c_ulong,
179    pub max_packet: ::std::os::raw::c_ulong,
180    pub max_packet_size: ::std::os::raw::c_ulong,
181    pub pkt_nr: ::std::os::raw::c_uint,
182    pub compress_pkt_nr: ::std::os::raw::c_uint,
183    pub write_timeout: ::std::os::raw::c_uint,
184    pub read_timeout: ::std::os::raw::c_uint,
185    pub retry_count: ::std::os::raw::c_uint,
186    pub fcntl: ::std::os::raw::c_int,
187    pub return_status: *mut ::std::os::raw::c_uint,
188    pub reading_or_writing: ::std::os::raw::c_uchar,
189    pub save_char: ::std::os::raw::c_char,
190    pub unused_1: ::std::os::raw::c_char,
191    pub tls_verify_status: ::std::os::raw::c_uchar,
192    pub compress: my_bool,
193    pub unused_2: my_bool,
194    pub unused_3: *mut ::std::os::raw::c_char,
195    pub last_errno: ::std::os::raw::c_uint,
196    pub error: ::std::os::raw::c_uchar,
197    pub unused_5: my_bool,
198    pub unused_6: my_bool,
199    pub last_error: [::std::os::raw::c_char; 512usize],
200    pub sqlstate: [::std::os::raw::c_char; 6usize],
201    pub extension: *mut st_mariadb_net_extension,
202}
203#[allow(clippy::unnecessary_operation, clippy::identity_op)]
204const _: () = {
205    ["Size of st_net"][::std::mem::size_of::<st_net>() - 680usize];
206    ["Alignment of st_net"][::std::mem::align_of::<st_net>() - 8usize];
207    ["Offset of field: st_net::pvio"][::std::mem::offset_of!(st_net, pvio) - 0usize];
208    ["Offset of field: st_net::buff"][::std::mem::offset_of!(st_net, buff) - 8usize];
209    ["Offset of field: st_net::buff_end"][::std::mem::offset_of!(st_net, buff_end) - 16usize];
210    ["Offset of field: st_net::write_pos"][::std::mem::offset_of!(st_net, write_pos) - 24usize];
211    ["Offset of field: st_net::read_pos"][::std::mem::offset_of!(st_net, read_pos) - 32usize];
212    ["Offset of field: st_net::fd"][::std::mem::offset_of!(st_net, fd) - 40usize];
213    ["Offset of field: st_net::remain_in_buf"]
214        [::std::mem::offset_of!(st_net, remain_in_buf) - 48usize];
215    ["Offset of field: st_net::length"][::std::mem::offset_of!(st_net, length) - 56usize];
216    ["Offset of field: st_net::buf_length"][::std::mem::offset_of!(st_net, buf_length) - 64usize];
217    ["Offset of field: st_net::where_b"][::std::mem::offset_of!(st_net, where_b) - 72usize];
218    ["Offset of field: st_net::max_packet"][::std::mem::offset_of!(st_net, max_packet) - 80usize];
219    ["Offset of field: st_net::max_packet_size"]
220        [::std::mem::offset_of!(st_net, max_packet_size) - 88usize];
221    ["Offset of field: st_net::pkt_nr"][::std::mem::offset_of!(st_net, pkt_nr) - 96usize];
222    ["Offset of field: st_net::compress_pkt_nr"]
223        [::std::mem::offset_of!(st_net, compress_pkt_nr) - 100usize];
224    ["Offset of field: st_net::write_timeout"]
225        [::std::mem::offset_of!(st_net, write_timeout) - 104usize];
226    ["Offset of field: st_net::read_timeout"]
227        [::std::mem::offset_of!(st_net, read_timeout) - 108usize];
228    ["Offset of field: st_net::retry_count"]
229        [::std::mem::offset_of!(st_net, retry_count) - 112usize];
230    ["Offset of field: st_net::fcntl"][::std::mem::offset_of!(st_net, fcntl) - 116usize];
231    ["Offset of field: st_net::return_status"]
232        [::std::mem::offset_of!(st_net, return_status) - 120usize];
233    ["Offset of field: st_net::reading_or_writing"]
234        [::std::mem::offset_of!(st_net, reading_or_writing) - 128usize];
235    ["Offset of field: st_net::save_char"][::std::mem::offset_of!(st_net, save_char) - 129usize];
236    ["Offset of field: st_net::unused_1"][::std::mem::offset_of!(st_net, unused_1) - 130usize];
237    ["Offset of field: st_net::tls_verify_status"]
238        [::std::mem::offset_of!(st_net, tls_verify_status) - 131usize];
239    ["Offset of field: st_net::compress"][::std::mem::offset_of!(st_net, compress) - 132usize];
240    ["Offset of field: st_net::unused_2"][::std::mem::offset_of!(st_net, unused_2) - 133usize];
241    ["Offset of field: st_net::unused_3"][::std::mem::offset_of!(st_net, unused_3) - 136usize];
242    ["Offset of field: st_net::last_errno"][::std::mem::offset_of!(st_net, last_errno) - 144usize];
243    ["Offset of field: st_net::error"][::std::mem::offset_of!(st_net, error) - 148usize];
244    ["Offset of field: st_net::unused_5"][::std::mem::offset_of!(st_net, unused_5) - 149usize];
245    ["Offset of field: st_net::unused_6"][::std::mem::offset_of!(st_net, unused_6) - 150usize];
246    ["Offset of field: st_net::last_error"][::std::mem::offset_of!(st_net, last_error) - 151usize];
247    ["Offset of field: st_net::sqlstate"][::std::mem::offset_of!(st_net, sqlstate) - 663usize];
248    ["Offset of field: st_net::extension"][::std::mem::offset_of!(st_net, extension) - 672usize];
249};
250pub type NET = st_net;
251pub const enum_mysql_set_option_MYSQL_OPTION_MULTI_STATEMENTS_ON: enum_mysql_set_option = 0;
252pub const enum_mysql_set_option_MYSQL_OPTION_MULTI_STATEMENTS_OFF: enum_mysql_set_option = 1;
253pub type enum_mysql_set_option = ::std::os::raw::c_uint;
254pub const enum_session_state_type_SESSION_TRACK_SYSTEM_VARIABLES: enum_session_state_type = 0;
255pub const enum_session_state_type_SESSION_TRACK_SCHEMA: enum_session_state_type = 1;
256pub const enum_session_state_type_SESSION_TRACK_STATE_CHANGE: enum_session_state_type = 2;
257pub const enum_session_state_type_SESSION_TRACK_GTIDS: enum_session_state_type = 3;
258pub const enum_session_state_type_SESSION_TRACK_TRANSACTION_CHARACTERISTICS:
259    enum_session_state_type = 4;
260pub const enum_session_state_type_SESSION_TRACK_TRANSACTION_STATE: enum_session_state_type = 5;
261pub type enum_session_state_type = ::std::os::raw::c_uint;
262pub const enum_field_types_MYSQL_TYPE_DECIMAL: enum_field_types = 0;
263pub const enum_field_types_MYSQL_TYPE_TINY: enum_field_types = 1;
264pub const enum_field_types_MYSQL_TYPE_SHORT: enum_field_types = 2;
265pub const enum_field_types_MYSQL_TYPE_LONG: enum_field_types = 3;
266pub const enum_field_types_MYSQL_TYPE_FLOAT: enum_field_types = 4;
267pub const enum_field_types_MYSQL_TYPE_DOUBLE: enum_field_types = 5;
268pub const enum_field_types_MYSQL_TYPE_NULL: enum_field_types = 6;
269pub const enum_field_types_MYSQL_TYPE_TIMESTAMP: enum_field_types = 7;
270pub const enum_field_types_MYSQL_TYPE_LONGLONG: enum_field_types = 8;
271pub const enum_field_types_MYSQL_TYPE_INT24: enum_field_types = 9;
272pub const enum_field_types_MYSQL_TYPE_DATE: enum_field_types = 10;
273pub const enum_field_types_MYSQL_TYPE_TIME: enum_field_types = 11;
274pub const enum_field_types_MYSQL_TYPE_DATETIME: enum_field_types = 12;
275pub const enum_field_types_MYSQL_TYPE_YEAR: enum_field_types = 13;
276pub const enum_field_types_MYSQL_TYPE_NEWDATE: enum_field_types = 14;
277pub const enum_field_types_MYSQL_TYPE_VARCHAR: enum_field_types = 15;
278pub const enum_field_types_MYSQL_TYPE_BIT: enum_field_types = 16;
279pub const enum_field_types_MYSQL_TYPE_TIMESTAMP2: enum_field_types = 17;
280pub const enum_field_types_MYSQL_TYPE_DATETIME2: enum_field_types = 18;
281pub const enum_field_types_MYSQL_TYPE_TIME2: enum_field_types = 19;
282pub const enum_field_types_MYSQL_TYPE_JSON: enum_field_types = 245;
283pub const enum_field_types_MYSQL_TYPE_NEWDECIMAL: enum_field_types = 246;
284pub const enum_field_types_MYSQL_TYPE_ENUM: enum_field_types = 247;
285pub const enum_field_types_MYSQL_TYPE_SET: enum_field_types = 248;
286pub const enum_field_types_MYSQL_TYPE_TINY_BLOB: enum_field_types = 249;
287pub const enum_field_types_MYSQL_TYPE_MEDIUM_BLOB: enum_field_types = 250;
288pub const enum_field_types_MYSQL_TYPE_LONG_BLOB: enum_field_types = 251;
289pub const enum_field_types_MYSQL_TYPE_BLOB: enum_field_types = 252;
290pub const enum_field_types_MYSQL_TYPE_VAR_STRING: enum_field_types = 253;
291pub const enum_field_types_MYSQL_TYPE_STRING: enum_field_types = 254;
292pub const enum_field_types_MYSQL_TYPE_GEOMETRY: enum_field_types = 255;
293pub const enum_field_types_MAX_NO_FIELD_TYPES: enum_field_types = 256;
294pub type enum_field_types = ::std::os::raw::c_uint;
295unsafe extern "C" {
296    pub fn mariadb_load_defaults(
297        conf_file: *const ::std::os::raw::c_char,
298        groups: *mut *const ::std::os::raw::c_char,
299        argc: *mut ::std::os::raw::c_int,
300        argv: *mut *mut *mut ::std::os::raw::c_char,
301    );
302}
303#[repr(C)]
304#[derive(Debug, Copy, Clone)]
305pub struct st_list {
306    pub prev: *mut st_list,
307    pub next: *mut st_list,
308    pub data: *mut ::std::os::raw::c_void,
309}
310#[allow(clippy::unnecessary_operation, clippy::identity_op)]
311const _: () = {
312    ["Size of st_list"][::std::mem::size_of::<st_list>() - 24usize];
313    ["Alignment of st_list"][::std::mem::align_of::<st_list>() - 8usize];
314    ["Offset of field: st_list::prev"][::std::mem::offset_of!(st_list, prev) - 0usize];
315    ["Offset of field: st_list::next"][::std::mem::offset_of!(st_list, next) - 8usize];
316    ["Offset of field: st_list::data"][::std::mem::offset_of!(st_list, data) - 16usize];
317};
318pub type LIST = st_list;
319#[repr(C)]
320#[derive(Debug, Copy, Clone)]
321pub struct ma_charset_info_st {
322    pub nr: ::std::os::raw::c_uint,
323    pub state: ::std::os::raw::c_uint,
324    pub csname: *const ::std::os::raw::c_char,
325    pub name: *const ::std::os::raw::c_char,
326    pub dir: *const ::std::os::raw::c_char,
327    pub codepage: ::std::os::raw::c_uint,
328    pub encoding: *const ::std::os::raw::c_char,
329    pub char_minlen: ::std::os::raw::c_uint,
330    pub char_maxlen: ::std::os::raw::c_uint,
331    pub mb_charlen: ::std::option::Option<
332        unsafe extern "C" fn(c: ::std::os::raw::c_uint) -> ::std::os::raw::c_uint,
333    >,
334    pub mb_valid: ::std::option::Option<
335        unsafe extern "C" fn(
336            start: *const ::std::os::raw::c_char,
337            end: *const ::std::os::raw::c_char,
338        ) -> ::std::os::raw::c_uint,
339    >,
340}
341#[allow(clippy::unnecessary_operation, clippy::identity_op)]
342const _: () = {
343    ["Size of ma_charset_info_st"][::std::mem::size_of::<ma_charset_info_st>() - 72usize];
344    ["Alignment of ma_charset_info_st"][::std::mem::align_of::<ma_charset_info_st>() - 8usize];
345    ["Offset of field: ma_charset_info_st::nr"]
346        [::std::mem::offset_of!(ma_charset_info_st, nr) - 0usize];
347    ["Offset of field: ma_charset_info_st::state"]
348        [::std::mem::offset_of!(ma_charset_info_st, state) - 4usize];
349    ["Offset of field: ma_charset_info_st::csname"]
350        [::std::mem::offset_of!(ma_charset_info_st, csname) - 8usize];
351    ["Offset of field: ma_charset_info_st::name"]
352        [::std::mem::offset_of!(ma_charset_info_st, name) - 16usize];
353    ["Offset of field: ma_charset_info_st::dir"]
354        [::std::mem::offset_of!(ma_charset_info_st, dir) - 24usize];
355    ["Offset of field: ma_charset_info_st::codepage"]
356        [::std::mem::offset_of!(ma_charset_info_st, codepage) - 32usize];
357    ["Offset of field: ma_charset_info_st::encoding"]
358        [::std::mem::offset_of!(ma_charset_info_st, encoding) - 40usize];
359    ["Offset of field: ma_charset_info_st::char_minlen"]
360        [::std::mem::offset_of!(ma_charset_info_st, char_minlen) - 48usize];
361    ["Offset of field: ma_charset_info_st::char_maxlen"]
362        [::std::mem::offset_of!(ma_charset_info_st, char_maxlen) - 52usize];
363    ["Offset of field: ma_charset_info_st::mb_charlen"]
364        [::std::mem::offset_of!(ma_charset_info_st, mb_charlen) - 56usize];
365    ["Offset of field: ma_charset_info_st::mb_valid"]
366        [::std::mem::offset_of!(ma_charset_info_st, mb_valid) - 64usize];
367};
368pub type MARIADB_CHARSET_INFO = ma_charset_info_st;
369unsafe extern "C" {
370    pub fn mysql_cset_escape_quotes(
371        cset: *const MARIADB_CHARSET_INFO,
372        newstr: *mut ::std::os::raw::c_char,
373        escapestr: *const ::std::os::raw::c_char,
374        escapestr_len: usize,
375    ) -> usize;
376}
377unsafe extern "C" {
378    pub fn mysql_cset_escape_slashes(
379        cset: *const MARIADB_CHARSET_INFO,
380        newstr: *mut ::std::os::raw::c_char,
381        escapestr: *const ::std::os::raw::c_char,
382        escapestr_len: usize,
383    ) -> usize;
384}
385#[repr(C)]
386#[derive(Debug, Copy, Clone)]
387pub struct st_ma_const_string {
388    pub str_: *const ::std::os::raw::c_char,
389    pub length: usize,
390}
391#[allow(clippy::unnecessary_operation, clippy::identity_op)]
392const _: () = {
393    ["Size of st_ma_const_string"][::std::mem::size_of::<st_ma_const_string>() - 16usize];
394    ["Alignment of st_ma_const_string"][::std::mem::align_of::<st_ma_const_string>() - 8usize];
395    ["Offset of field: st_ma_const_string::str_"]
396        [::std::mem::offset_of!(st_ma_const_string, str_) - 0usize];
397    ["Offset of field: st_ma_const_string::length"]
398        [::std::mem::offset_of!(st_ma_const_string, length) - 8usize];
399};
400pub type MARIADB_CONST_STRING = st_ma_const_string;
401#[repr(C)]
402#[derive(Debug, Copy, Clone)]
403pub struct st_ma_const_data {
404    pub data: *const ::std::os::raw::c_uchar,
405    pub length: usize,
406}
407#[allow(clippy::unnecessary_operation, clippy::identity_op)]
408const _: () = {
409    ["Size of st_ma_const_data"][::std::mem::size_of::<st_ma_const_data>() - 16usize];
410    ["Alignment of st_ma_const_data"][::std::mem::align_of::<st_ma_const_data>() - 8usize];
411    ["Offset of field: st_ma_const_data::data"]
412        [::std::mem::offset_of!(st_ma_const_data, data) - 0usize];
413    ["Offset of field: st_ma_const_data::length"]
414        [::std::mem::offset_of!(st_ma_const_data, length) - 8usize];
415};
416pub type MARIADB_CONST_DATA = st_ma_const_data;
417#[repr(C)]
418#[derive(Debug, Copy, Clone)]
419pub struct st_ma_used_mem {
420    pub next: *mut st_ma_used_mem,
421    pub left: usize,
422    pub size: usize,
423}
424#[allow(clippy::unnecessary_operation, clippy::identity_op)]
425const _: () = {
426    ["Size of st_ma_used_mem"][::std::mem::size_of::<st_ma_used_mem>() - 24usize];
427    ["Alignment of st_ma_used_mem"][::std::mem::align_of::<st_ma_used_mem>() - 8usize];
428    ["Offset of field: st_ma_used_mem::next"]
429        [::std::mem::offset_of!(st_ma_used_mem, next) - 0usize];
430    ["Offset of field: st_ma_used_mem::left"]
431        [::std::mem::offset_of!(st_ma_used_mem, left) - 8usize];
432    ["Offset of field: st_ma_used_mem::size"]
433        [::std::mem::offset_of!(st_ma_used_mem, size) - 16usize];
434};
435pub type MA_USED_MEM = st_ma_used_mem;
436#[repr(C)]
437#[derive(Debug, Copy, Clone)]
438pub struct st_ma_mem_root {
439    pub free: *mut MA_USED_MEM,
440    pub used: *mut MA_USED_MEM,
441    pub pre_alloc: *mut MA_USED_MEM,
442    pub min_malloc: usize,
443    pub block_size: usize,
444    pub block_num: ::std::os::raw::c_uint,
445    pub first_block_usage: ::std::os::raw::c_uint,
446    pub error_handler: ::std::option::Option<unsafe extern "C" fn()>,
447}
448#[allow(clippy::unnecessary_operation, clippy::identity_op)]
449const _: () = {
450    ["Size of st_ma_mem_root"][::std::mem::size_of::<st_ma_mem_root>() - 56usize];
451    ["Alignment of st_ma_mem_root"][::std::mem::align_of::<st_ma_mem_root>() - 8usize];
452    ["Offset of field: st_ma_mem_root::free"]
453        [::std::mem::offset_of!(st_ma_mem_root, free) - 0usize];
454    ["Offset of field: st_ma_mem_root::used"]
455        [::std::mem::offset_of!(st_ma_mem_root, used) - 8usize];
456    ["Offset of field: st_ma_mem_root::pre_alloc"]
457        [::std::mem::offset_of!(st_ma_mem_root, pre_alloc) - 16usize];
458    ["Offset of field: st_ma_mem_root::min_malloc"]
459        [::std::mem::offset_of!(st_ma_mem_root, min_malloc) - 24usize];
460    ["Offset of field: st_ma_mem_root::block_size"]
461        [::std::mem::offset_of!(st_ma_mem_root, block_size) - 32usize];
462    ["Offset of field: st_ma_mem_root::block_num"]
463        [::std::mem::offset_of!(st_ma_mem_root, block_num) - 40usize];
464    ["Offset of field: st_ma_mem_root::first_block_usage"]
465        [::std::mem::offset_of!(st_ma_mem_root, first_block_usage) - 44usize];
466    ["Offset of field: st_ma_mem_root::error_handler"]
467        [::std::mem::offset_of!(st_ma_mem_root, error_handler) - 48usize];
468};
469pub type MA_MEM_ROOT = st_ma_mem_root;
470#[repr(C)]
471#[derive(Debug, Copy, Clone)]
472pub struct st_mysql_field {
473    pub name: *mut ::std::os::raw::c_char,
474    pub org_name: *mut ::std::os::raw::c_char,
475    pub table: *mut ::std::os::raw::c_char,
476    pub org_table: *mut ::std::os::raw::c_char,
477    pub db: *mut ::std::os::raw::c_char,
478    pub catalog: *mut ::std::os::raw::c_char,
479    pub def: *mut ::std::os::raw::c_char,
480    pub length: ::std::os::raw::c_ulong,
481    pub max_length: ::std::os::raw::c_ulong,
482    pub name_length: ::std::os::raw::c_uint,
483    pub org_name_length: ::std::os::raw::c_uint,
484    pub table_length: ::std::os::raw::c_uint,
485    pub org_table_length: ::std::os::raw::c_uint,
486    pub db_length: ::std::os::raw::c_uint,
487    pub catalog_length: ::std::os::raw::c_uint,
488    pub def_length: ::std::os::raw::c_uint,
489    pub flags: ::std::os::raw::c_uint,
490    pub decimals: ::std::os::raw::c_uint,
491    pub charsetnr: ::std::os::raw::c_uint,
492    pub type_: enum_field_types,
493    pub extension: *mut ::std::os::raw::c_void,
494}
495#[allow(clippy::unnecessary_operation, clippy::identity_op)]
496const _: () = {
497    ["Size of st_mysql_field"][::std::mem::size_of::<st_mysql_field>() - 128usize];
498    ["Alignment of st_mysql_field"][::std::mem::align_of::<st_mysql_field>() - 8usize];
499    ["Offset of field: st_mysql_field::name"]
500        [::std::mem::offset_of!(st_mysql_field, name) - 0usize];
501    ["Offset of field: st_mysql_field::org_name"]
502        [::std::mem::offset_of!(st_mysql_field, org_name) - 8usize];
503    ["Offset of field: st_mysql_field::table"]
504        [::std::mem::offset_of!(st_mysql_field, table) - 16usize];
505    ["Offset of field: st_mysql_field::org_table"]
506        [::std::mem::offset_of!(st_mysql_field, org_table) - 24usize];
507    ["Offset of field: st_mysql_field::db"][::std::mem::offset_of!(st_mysql_field, db) - 32usize];
508    ["Offset of field: st_mysql_field::catalog"]
509        [::std::mem::offset_of!(st_mysql_field, catalog) - 40usize];
510    ["Offset of field: st_mysql_field::def"][::std::mem::offset_of!(st_mysql_field, def) - 48usize];
511    ["Offset of field: st_mysql_field::length"]
512        [::std::mem::offset_of!(st_mysql_field, length) - 56usize];
513    ["Offset of field: st_mysql_field::max_length"]
514        [::std::mem::offset_of!(st_mysql_field, max_length) - 64usize];
515    ["Offset of field: st_mysql_field::name_length"]
516        [::std::mem::offset_of!(st_mysql_field, name_length) - 72usize];
517    ["Offset of field: st_mysql_field::org_name_length"]
518        [::std::mem::offset_of!(st_mysql_field, org_name_length) - 76usize];
519    ["Offset of field: st_mysql_field::table_length"]
520        [::std::mem::offset_of!(st_mysql_field, table_length) - 80usize];
521    ["Offset of field: st_mysql_field::org_table_length"]
522        [::std::mem::offset_of!(st_mysql_field, org_table_length) - 84usize];
523    ["Offset of field: st_mysql_field::db_length"]
524        [::std::mem::offset_of!(st_mysql_field, db_length) - 88usize];
525    ["Offset of field: st_mysql_field::catalog_length"]
526        [::std::mem::offset_of!(st_mysql_field, catalog_length) - 92usize];
527    ["Offset of field: st_mysql_field::def_length"]
528        [::std::mem::offset_of!(st_mysql_field, def_length) - 96usize];
529    ["Offset of field: st_mysql_field::flags"]
530        [::std::mem::offset_of!(st_mysql_field, flags) - 100usize];
531    ["Offset of field: st_mysql_field::decimals"]
532        [::std::mem::offset_of!(st_mysql_field, decimals) - 104usize];
533    ["Offset of field: st_mysql_field::charsetnr"]
534        [::std::mem::offset_of!(st_mysql_field, charsetnr) - 108usize];
535    ["Offset of field: st_mysql_field::type_"]
536        [::std::mem::offset_of!(st_mysql_field, type_) - 112usize];
537    ["Offset of field: st_mysql_field::extension"]
538        [::std::mem::offset_of!(st_mysql_field, extension) - 120usize];
539};
540pub type MYSQL_FIELD = st_mysql_field;
541pub type MYSQL_ROW = *mut *mut ::std::os::raw::c_char;
542pub type MYSQL_FIELD_OFFSET = ::std::os::raw::c_uint;
543#[repr(C)]
544#[derive(Debug, Copy, Clone)]
545pub struct st_mysql_rows {
546    pub next: *mut st_mysql_rows,
547    pub data: MYSQL_ROW,
548    pub length: ::std::os::raw::c_ulong,
549}
550#[allow(clippy::unnecessary_operation, clippy::identity_op)]
551const _: () = {
552    ["Size of st_mysql_rows"][::std::mem::size_of::<st_mysql_rows>() - 24usize];
553    ["Alignment of st_mysql_rows"][::std::mem::align_of::<st_mysql_rows>() - 8usize];
554    ["Offset of field: st_mysql_rows::next"][::std::mem::offset_of!(st_mysql_rows, next) - 0usize];
555    ["Offset of field: st_mysql_rows::data"][::std::mem::offset_of!(st_mysql_rows, data) - 8usize];
556    ["Offset of field: st_mysql_rows::length"]
557        [::std::mem::offset_of!(st_mysql_rows, length) - 16usize];
558};
559pub type MYSQL_ROWS = st_mysql_rows;
560pub type MYSQL_ROW_OFFSET = *mut MYSQL_ROWS;
561#[repr(C)]
562#[derive(Debug, Copy, Clone)]
563pub struct st_mysql_data {
564    pub data: *mut MYSQL_ROWS,
565    pub embedded_info: *mut ::std::os::raw::c_void,
566    pub alloc: MA_MEM_ROOT,
567    pub rows: ::std::os::raw::c_ulonglong,
568    pub fields: ::std::os::raw::c_uint,
569    pub extension: *mut ::std::os::raw::c_void,
570}
571#[allow(clippy::unnecessary_operation, clippy::identity_op)]
572const _: () = {
573    ["Size of st_mysql_data"][::std::mem::size_of::<st_mysql_data>() - 96usize];
574    ["Alignment of st_mysql_data"][::std::mem::align_of::<st_mysql_data>() - 8usize];
575    ["Offset of field: st_mysql_data::data"][::std::mem::offset_of!(st_mysql_data, data) - 0usize];
576    ["Offset of field: st_mysql_data::embedded_info"]
577        [::std::mem::offset_of!(st_mysql_data, embedded_info) - 8usize];
578    ["Offset of field: st_mysql_data::alloc"]
579        [::std::mem::offset_of!(st_mysql_data, alloc) - 16usize];
580    ["Offset of field: st_mysql_data::rows"][::std::mem::offset_of!(st_mysql_data, rows) - 72usize];
581    ["Offset of field: st_mysql_data::fields"]
582        [::std::mem::offset_of!(st_mysql_data, fields) - 80usize];
583    ["Offset of field: st_mysql_data::extension"]
584        [::std::mem::offset_of!(st_mysql_data, extension) - 88usize];
585};
586pub type MYSQL_DATA = st_mysql_data;
587pub const mysql_option_MYSQL_OPT_CONNECT_TIMEOUT: mysql_option = 0;
588pub const mysql_option_MYSQL_OPT_COMPRESS: mysql_option = 1;
589pub const mysql_option_MYSQL_OPT_NAMED_PIPE: mysql_option = 2;
590pub const mysql_option_MYSQL_INIT_COMMAND: mysql_option = 3;
591pub const mysql_option_MYSQL_READ_DEFAULT_FILE: mysql_option = 4;
592pub const mysql_option_MYSQL_READ_DEFAULT_GROUP: mysql_option = 5;
593pub const mysql_option_MYSQL_SET_CHARSET_DIR: mysql_option = 6;
594pub const mysql_option_MYSQL_SET_CHARSET_NAME: mysql_option = 7;
595pub const mysql_option_MYSQL_OPT_LOCAL_INFILE: mysql_option = 8;
596pub const mysql_option_MYSQL_OPT_PROTOCOL: mysql_option = 9;
597pub const mysql_option_MYSQL_SHARED_MEMORY_BASE_NAME: mysql_option = 10;
598pub const mysql_option_MYSQL_OPT_READ_TIMEOUT: mysql_option = 11;
599pub const mysql_option_MYSQL_OPT_WRITE_TIMEOUT: mysql_option = 12;
600pub const mysql_option_MYSQL_OPT_USE_RESULT: mysql_option = 13;
601pub const mysql_option_MYSQL_OPT_USE_REMOTE_CONNECTION: mysql_option = 14;
602pub const mysql_option_MYSQL_OPT_USE_EMBEDDED_CONNECTION: mysql_option = 15;
603pub const mysql_option_MYSQL_OPT_GUESS_CONNECTION: mysql_option = 16;
604pub const mysql_option_MYSQL_SET_CLIENT_IP: mysql_option = 17;
605pub const mysql_option_MYSQL_SECURE_AUTH: mysql_option = 18;
606pub const mysql_option_MYSQL_REPORT_DATA_TRUNCATION: mysql_option = 19;
607pub const mysql_option_MYSQL_OPT_RECONNECT: mysql_option = 20;
608pub const mysql_option_MYSQL_OPT_SSL_VERIFY_SERVER_CERT: mysql_option = 21;
609pub const mysql_option_MYSQL_PLUGIN_DIR: mysql_option = 22;
610pub const mysql_option_MYSQL_DEFAULT_AUTH: mysql_option = 23;
611pub const mysql_option_MYSQL_OPT_BIND: mysql_option = 24;
612pub const mysql_option_MYSQL_OPT_SSL_KEY: mysql_option = 25;
613pub const mysql_option_MYSQL_OPT_SSL_CERT: mysql_option = 26;
614pub const mysql_option_MYSQL_OPT_SSL_CA: mysql_option = 27;
615pub const mysql_option_MYSQL_OPT_SSL_CAPATH: mysql_option = 28;
616pub const mysql_option_MYSQL_OPT_SSL_CIPHER: mysql_option = 29;
617pub const mysql_option_MYSQL_OPT_SSL_CRL: mysql_option = 30;
618pub const mysql_option_MYSQL_OPT_SSL_CRLPATH: mysql_option = 31;
619pub const mysql_option_MYSQL_OPT_CONNECT_ATTR_RESET: mysql_option = 32;
620pub const mysql_option_MYSQL_OPT_CONNECT_ATTR_ADD: mysql_option = 33;
621pub const mysql_option_MYSQL_OPT_CONNECT_ATTR_DELETE: mysql_option = 34;
622pub const mysql_option_MYSQL_SERVER_PUBLIC_KEY: mysql_option = 35;
623pub const mysql_option_MYSQL_ENABLE_CLEARTEXT_PLUGIN: mysql_option = 36;
624pub const mysql_option_MYSQL_OPT_CAN_HANDLE_EXPIRED_PASSWORDS: mysql_option = 37;
625pub const mysql_option_MYSQL_OPT_SSL_ENFORCE: mysql_option = 38;
626pub const mysql_option_MYSQL_OPT_MAX_ALLOWED_PACKET: mysql_option = 39;
627pub const mysql_option_MYSQL_OPT_NET_BUFFER_LENGTH: mysql_option = 40;
628pub const mysql_option_MYSQL_OPT_TLS_VERSION: mysql_option = 41;
629pub const mysql_option_MYSQL_OPT_ZSTD_COMPRESSION_LEVEL: mysql_option = 42;
630pub const mysql_option_MYSQL_PROGRESS_CALLBACK: mysql_option = 5999;
631pub const mysql_option_MYSQL_OPT_NONBLOCK: mysql_option = 6000;
632pub const mysql_option_MYSQL_DATABASE_DRIVER: mysql_option = 7000;
633pub const mysql_option_MARIADB_OPT_SSL_FP: mysql_option = 7001;
634pub const mysql_option_MARIADB_OPT_SSL_FP_LIST: mysql_option = 7002;
635pub const mysql_option_MARIADB_OPT_TLS_PASSPHRASE: mysql_option = 7003;
636pub const mysql_option_MARIADB_OPT_TLS_CIPHER_STRENGTH: mysql_option = 7004;
637pub const mysql_option_MARIADB_OPT_TLS_VERSION: mysql_option = 7005;
638pub const mysql_option_MARIADB_OPT_TLS_PEER_FP: mysql_option = 7006;
639pub const mysql_option_MARIADB_OPT_TLS_PEER_FP_LIST: mysql_option = 7007;
640pub const mysql_option_MARIADB_OPT_CONNECTION_READ_ONLY: mysql_option = 7008;
641pub const mysql_option_MYSQL_OPT_CONNECT_ATTRS: mysql_option = 7009;
642pub const mysql_option_MARIADB_OPT_USERDATA: mysql_option = 7010;
643pub const mysql_option_MARIADB_OPT_CONNECTION_HANDLER: mysql_option = 7011;
644pub const mysql_option_MARIADB_OPT_PORT: mysql_option = 7012;
645pub const mysql_option_MARIADB_OPT_UNIXSOCKET: mysql_option = 7013;
646pub const mysql_option_MARIADB_OPT_PASSWORD: mysql_option = 7014;
647pub const mysql_option_MARIADB_OPT_HOST: mysql_option = 7015;
648pub const mysql_option_MARIADB_OPT_USER: mysql_option = 7016;
649pub const mysql_option_MARIADB_OPT_SCHEMA: mysql_option = 7017;
650pub const mysql_option_MARIADB_OPT_DEBUG: mysql_option = 7018;
651pub const mysql_option_MARIADB_OPT_FOUND_ROWS: mysql_option = 7019;
652pub const mysql_option_MARIADB_OPT_MULTI_RESULTS: mysql_option = 7020;
653pub const mysql_option_MARIADB_OPT_MULTI_STATEMENTS: mysql_option = 7021;
654pub const mysql_option_MARIADB_OPT_INTERACTIVE: mysql_option = 7022;
655pub const mysql_option_MARIADB_OPT_PROXY_HEADER: mysql_option = 7023;
656pub const mysql_option_MARIADB_OPT_IO_WAIT: mysql_option = 7024;
657pub const mysql_option_MARIADB_OPT_SKIP_READ_RESPONSE: mysql_option = 7025;
658pub const mysql_option_MARIADB_OPT_RESTRICTED_AUTH: mysql_option = 7026;
659pub const mysql_option_MARIADB_OPT_RPL_REGISTER_REPLICA: mysql_option = 7027;
660pub const mysql_option_MARIADB_OPT_STATUS_CALLBACK: mysql_option = 7028;
661pub const mysql_option_MARIADB_OPT_SERVER_PLUGINS: mysql_option = 7029;
662pub const mysql_option_MARIADB_OPT_BULK_UNIT_RESULTS: mysql_option = 7030;
663pub const mysql_option_MARIADB_OPT_TLS_VERIFICATION_CALLBACK: mysql_option = 7031;
664pub type mysql_option = ::std::os::raw::c_uint;
665pub const mariadb_value_MARIADB_CHARSET_ID: mariadb_value = 0;
666pub const mariadb_value_MARIADB_CHARSET_NAME: mariadb_value = 1;
667pub const mariadb_value_MARIADB_CLIENT_ERRORS: mariadb_value = 2;
668pub const mariadb_value_MARIADB_CLIENT_VERSION: mariadb_value = 3;
669pub const mariadb_value_MARIADB_CLIENT_VERSION_ID: mariadb_value = 4;
670pub const mariadb_value_MARIADB_CONNECTION_ASYNC_TIMEOUT: mariadb_value = 5;
671pub const mariadb_value_MARIADB_CONNECTION_ASYNC_TIMEOUT_MS: mariadb_value = 6;
672pub const mariadb_value_MARIADB_CONNECTION_MARIADB_CHARSET_INFO: mariadb_value = 7;
673pub const mariadb_value_MARIADB_CONNECTION_ERROR: mariadb_value = 8;
674pub const mariadb_value_MARIADB_CONNECTION_ERROR_ID: mariadb_value = 9;
675pub const mariadb_value_MARIADB_CONNECTION_HOST: mariadb_value = 10;
676pub const mariadb_value_MARIADB_CONNECTION_INFO: mariadb_value = 11;
677pub const mariadb_value_MARIADB_CONNECTION_PORT: mariadb_value = 12;
678pub const mariadb_value_MARIADB_CONNECTION_PROTOCOL_VERSION_ID: mariadb_value = 13;
679pub const mariadb_value_MARIADB_CONNECTION_PVIO_TYPE: mariadb_value = 14;
680pub const mariadb_value_MARIADB_CONNECTION_SCHEMA: mariadb_value = 15;
681pub const mariadb_value_MARIADB_CONNECTION_SERVER_TYPE: mariadb_value = 16;
682pub const mariadb_value_MARIADB_CONNECTION_SERVER_VERSION: mariadb_value = 17;
683pub const mariadb_value_MARIADB_CONNECTION_SERVER_VERSION_ID: mariadb_value = 18;
684pub const mariadb_value_MARIADB_CONNECTION_SOCKET: mariadb_value = 19;
685pub const mariadb_value_MARIADB_CONNECTION_SQLSTATE: mariadb_value = 20;
686pub const mariadb_value_MARIADB_CONNECTION_SSL_CIPHER: mariadb_value = 21;
687pub const mariadb_value_MARIADB_TLS_LIBRARY: mariadb_value = 22;
688pub const mariadb_value_MARIADB_CONNECTION_TLS_VERSION: mariadb_value = 23;
689pub const mariadb_value_MARIADB_CONNECTION_TLS_VERSION_ID: mariadb_value = 24;
690pub const mariadb_value_MARIADB_CONNECTION_TYPE: mariadb_value = 25;
691pub const mariadb_value_MARIADB_CONNECTION_UNIX_SOCKET: mariadb_value = 26;
692pub const mariadb_value_MARIADB_CONNECTION_USER: mariadb_value = 27;
693pub const mariadb_value_MARIADB_MAX_ALLOWED_PACKET: mariadb_value = 28;
694pub const mariadb_value_MARIADB_NET_BUFFER_LENGTH: mariadb_value = 29;
695pub const mariadb_value_MARIADB_CONNECTION_SERVER_STATUS: mariadb_value = 30;
696pub const mariadb_value_MARIADB_CONNECTION_SERVER_CAPABILITIES: mariadb_value = 31;
697pub const mariadb_value_MARIADB_CONNECTION_EXTENDED_SERVER_CAPABILITIES: mariadb_value = 32;
698pub const mariadb_value_MARIADB_CONNECTION_CLIENT_CAPABILITIES: mariadb_value = 33;
699pub const mariadb_value_MARIADB_CONNECTION_BYTES_READ: mariadb_value = 34;
700pub const mariadb_value_MARIADB_CONNECTION_BYTES_SENT: mariadb_value = 35;
701pub const mariadb_value_MARIADB_TLS_PEER_CERT_INFO: mariadb_value = 36;
702pub const mariadb_value_MARIADB_TLS_VERIFY_STATUS: mariadb_value = 37;
703pub type mariadb_value = ::std::os::raw::c_uint;
704pub const mysql_status_MYSQL_STATUS_READY: mysql_status = 0;
705pub const mysql_status_MYSQL_STATUS_GET_RESULT: mysql_status = 1;
706pub const mysql_status_MYSQL_STATUS_USE_RESULT: mysql_status = 2;
707pub const mysql_status_MYSQL_STATUS_QUERY_SENT: mysql_status = 3;
708pub const mysql_status_MYSQL_STATUS_SENDING_LOAD_DATA: mysql_status = 4;
709pub const mysql_status_MYSQL_STATUS_FETCHING_DATA: mysql_status = 5;
710pub const mysql_status_MYSQL_STATUS_NEXT_RESULT_PENDING: mysql_status = 6;
711pub const mysql_status_MYSQL_STATUS_QUIT_SENT: mysql_status = 7;
712pub const mysql_status_MYSQL_STATUS_STMT_RESULT: mysql_status = 8;
713pub type mysql_status = ::std::os::raw::c_uint;
714#[repr(C)]
715#[derive(Debug, Copy, Clone)]
716pub struct st_mysql_options {
717    pub connect_timeout: ::std::os::raw::c_uint,
718    pub read_timeout: ::std::os::raw::c_uint,
719    pub write_timeout: ::std::os::raw::c_uint,
720    pub port: ::std::os::raw::c_uint,
721    pub protocol: ::std::os::raw::c_uint,
722    pub client_flag: ::std::os::raw::c_ulong,
723    pub host: *mut ::std::os::raw::c_char,
724    pub user: *mut ::std::os::raw::c_char,
725    pub password: *mut ::std::os::raw::c_char,
726    pub unix_socket: *mut ::std::os::raw::c_char,
727    pub db: *mut ::std::os::raw::c_char,
728    pub init_command: *mut st_dynamic_array,
729    pub my_cnf_file: *mut ::std::os::raw::c_char,
730    pub my_cnf_group: *mut ::std::os::raw::c_char,
731    pub charset_dir: *mut ::std::os::raw::c_char,
732    pub charset_name: *mut ::std::os::raw::c_char,
733    pub ssl_key: *mut ::std::os::raw::c_char,
734    pub ssl_cert: *mut ::std::os::raw::c_char,
735    pub ssl_ca: *mut ::std::os::raw::c_char,
736    pub ssl_capath: *mut ::std::os::raw::c_char,
737    pub ssl_cipher: *mut ::std::os::raw::c_char,
738    pub shared_memory_base_name: *mut ::std::os::raw::c_char,
739    pub max_allowed_packet: ::std::os::raw::c_ulong,
740    pub use_ssl: my_bool,
741    pub compress: my_bool,
742    pub named_pipe: my_bool,
743    pub reconnect: my_bool,
744    pub unused_1: my_bool,
745    pub unused_2: my_bool,
746    pub unused_3: my_bool,
747    pub methods_to_use: mysql_option,
748    pub bind_address: *mut ::std::os::raw::c_char,
749    pub secure_auth: my_bool,
750    pub report_data_truncation: my_bool,
751    pub local_infile_init: ::std::option::Option<
752        unsafe extern "C" fn(
753            arg1: *mut *mut ::std::os::raw::c_void,
754            arg2: *const ::std::os::raw::c_char,
755            arg3: *mut ::std::os::raw::c_void,
756        ) -> ::std::os::raw::c_int,
757    >,
758    pub local_infile_read: ::std::option::Option<
759        unsafe extern "C" fn(
760            arg1: *mut ::std::os::raw::c_void,
761            arg2: *mut ::std::os::raw::c_char,
762            arg3: ::std::os::raw::c_uint,
763        ) -> ::std::os::raw::c_int,
764    >,
765    pub local_infile_end:
766        ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
767    pub local_infile_error: ::std::option::Option<
768        unsafe extern "C" fn(
769            arg1: *mut ::std::os::raw::c_void,
770            arg2: *mut ::std::os::raw::c_char,
771            arg3: ::std::os::raw::c_uint,
772        ) -> ::std::os::raw::c_int,
773    >,
774    pub local_infile_userdata: *mut ::std::os::raw::c_void,
775    pub extension: *mut st_mysql_options_extension,
776}
777#[allow(clippy::unnecessary_operation, clippy::identity_op)]
778const _: () = {
779    ["Size of st_mysql_options"][::std::mem::size_of::<st_mysql_options>() - 248usize];
780    ["Alignment of st_mysql_options"][::std::mem::align_of::<st_mysql_options>() - 8usize];
781    ["Offset of field: st_mysql_options::connect_timeout"]
782        [::std::mem::offset_of!(st_mysql_options, connect_timeout) - 0usize];
783    ["Offset of field: st_mysql_options::read_timeout"]
784        [::std::mem::offset_of!(st_mysql_options, read_timeout) - 4usize];
785    ["Offset of field: st_mysql_options::write_timeout"]
786        [::std::mem::offset_of!(st_mysql_options, write_timeout) - 8usize];
787    ["Offset of field: st_mysql_options::port"]
788        [::std::mem::offset_of!(st_mysql_options, port) - 12usize];
789    ["Offset of field: st_mysql_options::protocol"]
790        [::std::mem::offset_of!(st_mysql_options, protocol) - 16usize];
791    ["Offset of field: st_mysql_options::client_flag"]
792        [::std::mem::offset_of!(st_mysql_options, client_flag) - 24usize];
793    ["Offset of field: st_mysql_options::host"]
794        [::std::mem::offset_of!(st_mysql_options, host) - 32usize];
795    ["Offset of field: st_mysql_options::user"]
796        [::std::mem::offset_of!(st_mysql_options, user) - 40usize];
797    ["Offset of field: st_mysql_options::password"]
798        [::std::mem::offset_of!(st_mysql_options, password) - 48usize];
799    ["Offset of field: st_mysql_options::unix_socket"]
800        [::std::mem::offset_of!(st_mysql_options, unix_socket) - 56usize];
801    ["Offset of field: st_mysql_options::db"]
802        [::std::mem::offset_of!(st_mysql_options, db) - 64usize];
803    ["Offset of field: st_mysql_options::init_command"]
804        [::std::mem::offset_of!(st_mysql_options, init_command) - 72usize];
805    ["Offset of field: st_mysql_options::my_cnf_file"]
806        [::std::mem::offset_of!(st_mysql_options, my_cnf_file) - 80usize];
807    ["Offset of field: st_mysql_options::my_cnf_group"]
808        [::std::mem::offset_of!(st_mysql_options, my_cnf_group) - 88usize];
809    ["Offset of field: st_mysql_options::charset_dir"]
810        [::std::mem::offset_of!(st_mysql_options, charset_dir) - 96usize];
811    ["Offset of field: st_mysql_options::charset_name"]
812        [::std::mem::offset_of!(st_mysql_options, charset_name) - 104usize];
813    ["Offset of field: st_mysql_options::ssl_key"]
814        [::std::mem::offset_of!(st_mysql_options, ssl_key) - 112usize];
815    ["Offset of field: st_mysql_options::ssl_cert"]
816        [::std::mem::offset_of!(st_mysql_options, ssl_cert) - 120usize];
817    ["Offset of field: st_mysql_options::ssl_ca"]
818        [::std::mem::offset_of!(st_mysql_options, ssl_ca) - 128usize];
819    ["Offset of field: st_mysql_options::ssl_capath"]
820        [::std::mem::offset_of!(st_mysql_options, ssl_capath) - 136usize];
821    ["Offset of field: st_mysql_options::ssl_cipher"]
822        [::std::mem::offset_of!(st_mysql_options, ssl_cipher) - 144usize];
823    ["Offset of field: st_mysql_options::shared_memory_base_name"]
824        [::std::mem::offset_of!(st_mysql_options, shared_memory_base_name) - 152usize];
825    ["Offset of field: st_mysql_options::max_allowed_packet"]
826        [::std::mem::offset_of!(st_mysql_options, max_allowed_packet) - 160usize];
827    ["Offset of field: st_mysql_options::use_ssl"]
828        [::std::mem::offset_of!(st_mysql_options, use_ssl) - 168usize];
829    ["Offset of field: st_mysql_options::compress"]
830        [::std::mem::offset_of!(st_mysql_options, compress) - 169usize];
831    ["Offset of field: st_mysql_options::named_pipe"]
832        [::std::mem::offset_of!(st_mysql_options, named_pipe) - 170usize];
833    ["Offset of field: st_mysql_options::reconnect"]
834        [::std::mem::offset_of!(st_mysql_options, reconnect) - 171usize];
835    ["Offset of field: st_mysql_options::unused_1"]
836        [::std::mem::offset_of!(st_mysql_options, unused_1) - 172usize];
837    ["Offset of field: st_mysql_options::unused_2"]
838        [::std::mem::offset_of!(st_mysql_options, unused_2) - 173usize];
839    ["Offset of field: st_mysql_options::unused_3"]
840        [::std::mem::offset_of!(st_mysql_options, unused_3) - 174usize];
841    ["Offset of field: st_mysql_options::methods_to_use"]
842        [::std::mem::offset_of!(st_mysql_options, methods_to_use) - 176usize];
843    ["Offset of field: st_mysql_options::bind_address"]
844        [::std::mem::offset_of!(st_mysql_options, bind_address) - 184usize];
845    ["Offset of field: st_mysql_options::secure_auth"]
846        [::std::mem::offset_of!(st_mysql_options, secure_auth) - 192usize];
847    ["Offset of field: st_mysql_options::report_data_truncation"]
848        [::std::mem::offset_of!(st_mysql_options, report_data_truncation) - 193usize];
849    ["Offset of field: st_mysql_options::local_infile_init"]
850        [::std::mem::offset_of!(st_mysql_options, local_infile_init) - 200usize];
851    ["Offset of field: st_mysql_options::local_infile_read"]
852        [::std::mem::offset_of!(st_mysql_options, local_infile_read) - 208usize];
853    ["Offset of field: st_mysql_options::local_infile_end"]
854        [::std::mem::offset_of!(st_mysql_options, local_infile_end) - 216usize];
855    ["Offset of field: st_mysql_options::local_infile_error"]
856        [::std::mem::offset_of!(st_mysql_options, local_infile_error) - 224usize];
857    ["Offset of field: st_mysql_options::local_infile_userdata"]
858        [::std::mem::offset_of!(st_mysql_options, local_infile_userdata) - 232usize];
859    ["Offset of field: st_mysql_options::extension"]
860        [::std::mem::offset_of!(st_mysql_options, extension) - 240usize];
861};
862#[repr(C)]
863#[derive(Debug, Copy, Clone)]
864pub struct st_mysql {
865    pub net: NET,
866    pub unused_0: *mut ::std::os::raw::c_void,
867    pub host: *mut ::std::os::raw::c_char,
868    pub user: *mut ::std::os::raw::c_char,
869    pub passwd: *mut ::std::os::raw::c_char,
870    pub unix_socket: *mut ::std::os::raw::c_char,
871    pub server_version: *mut ::std::os::raw::c_char,
872    pub host_info: *mut ::std::os::raw::c_char,
873    pub info: *mut ::std::os::raw::c_char,
874    pub db: *mut ::std::os::raw::c_char,
875    pub charset: *const ma_charset_info_st,
876    pub fields: *mut MYSQL_FIELD,
877    pub field_alloc: MA_MEM_ROOT,
878    pub affected_rows: ::std::os::raw::c_ulonglong,
879    pub insert_id: ::std::os::raw::c_ulonglong,
880    pub extra_info: ::std::os::raw::c_ulonglong,
881    pub thread_id: ::std::os::raw::c_ulong,
882    pub packet_length: ::std::os::raw::c_ulong,
883    pub port: ::std::os::raw::c_uint,
884    pub client_flag: ::std::os::raw::c_ulong,
885    pub server_capabilities: ::std::os::raw::c_ulong,
886    pub protocol_version: ::std::os::raw::c_uint,
887    pub field_count: ::std::os::raw::c_uint,
888    pub server_status: ::std::os::raw::c_uint,
889    pub server_language: ::std::os::raw::c_uint,
890    pub warning_count: ::std::os::raw::c_uint,
891    pub options: st_mysql_options,
892    pub status: mysql_status,
893    pub free_me: my_bool,
894    pub unused_1: my_bool,
895    pub scramble_buff: [::std::os::raw::c_char; 21usize],
896    pub unused_2: my_bool,
897    pub unused_3: *mut ::std::os::raw::c_void,
898    pub unused_4: *mut ::std::os::raw::c_void,
899    pub unused_5: *mut ::std::os::raw::c_void,
900    pub unused_6: *mut ::std::os::raw::c_void,
901    pub stmts: *mut LIST,
902    pub methods: *const st_mariadb_methods,
903    pub thd: *mut ::std::os::raw::c_void,
904    pub unbuffered_fetch_owner: *mut my_bool,
905    pub info_buffer: *mut ::std::os::raw::c_char,
906    pub extension: *mut st_mariadb_extension,
907}
908#[allow(clippy::unnecessary_operation, clippy::identity_op)]
909const _: () = {
910    ["Size of st_mysql"][::std::mem::size_of::<st_mysql>() - 1272usize];
911    ["Alignment of st_mysql"][::std::mem::align_of::<st_mysql>() - 8usize];
912    ["Offset of field: st_mysql::net"][::std::mem::offset_of!(st_mysql, net) - 0usize];
913    ["Offset of field: st_mysql::unused_0"][::std::mem::offset_of!(st_mysql, unused_0) - 680usize];
914    ["Offset of field: st_mysql::host"][::std::mem::offset_of!(st_mysql, host) - 688usize];
915    ["Offset of field: st_mysql::user"][::std::mem::offset_of!(st_mysql, user) - 696usize];
916    ["Offset of field: st_mysql::passwd"][::std::mem::offset_of!(st_mysql, passwd) - 704usize];
917    ["Offset of field: st_mysql::unix_socket"]
918        [::std::mem::offset_of!(st_mysql, unix_socket) - 712usize];
919    ["Offset of field: st_mysql::server_version"]
920        [::std::mem::offset_of!(st_mysql, server_version) - 720usize];
921    ["Offset of field: st_mysql::host_info"]
922        [::std::mem::offset_of!(st_mysql, host_info) - 728usize];
923    ["Offset of field: st_mysql::info"][::std::mem::offset_of!(st_mysql, info) - 736usize];
924    ["Offset of field: st_mysql::db"][::std::mem::offset_of!(st_mysql, db) - 744usize];
925    ["Offset of field: st_mysql::charset"][::std::mem::offset_of!(st_mysql, charset) - 752usize];
926    ["Offset of field: st_mysql::fields"][::std::mem::offset_of!(st_mysql, fields) - 760usize];
927    ["Offset of field: st_mysql::field_alloc"]
928        [::std::mem::offset_of!(st_mysql, field_alloc) - 768usize];
929    ["Offset of field: st_mysql::affected_rows"]
930        [::std::mem::offset_of!(st_mysql, affected_rows) - 824usize];
931    ["Offset of field: st_mysql::insert_id"]
932        [::std::mem::offset_of!(st_mysql, insert_id) - 832usize];
933    ["Offset of field: st_mysql::extra_info"]
934        [::std::mem::offset_of!(st_mysql, extra_info) - 840usize];
935    ["Offset of field: st_mysql::thread_id"]
936        [::std::mem::offset_of!(st_mysql, thread_id) - 848usize];
937    ["Offset of field: st_mysql::packet_length"]
938        [::std::mem::offset_of!(st_mysql, packet_length) - 856usize];
939    ["Offset of field: st_mysql::port"][::std::mem::offset_of!(st_mysql, port) - 864usize];
940    ["Offset of field: st_mysql::client_flag"]
941        [::std::mem::offset_of!(st_mysql, client_flag) - 872usize];
942    ["Offset of field: st_mysql::server_capabilities"]
943        [::std::mem::offset_of!(st_mysql, server_capabilities) - 880usize];
944    ["Offset of field: st_mysql::protocol_version"]
945        [::std::mem::offset_of!(st_mysql, protocol_version) - 888usize];
946    ["Offset of field: st_mysql::field_count"]
947        [::std::mem::offset_of!(st_mysql, field_count) - 892usize];
948    ["Offset of field: st_mysql::server_status"]
949        [::std::mem::offset_of!(st_mysql, server_status) - 896usize];
950    ["Offset of field: st_mysql::server_language"]
951        [::std::mem::offset_of!(st_mysql, server_language) - 900usize];
952    ["Offset of field: st_mysql::warning_count"]
953        [::std::mem::offset_of!(st_mysql, warning_count) - 904usize];
954    ["Offset of field: st_mysql::options"][::std::mem::offset_of!(st_mysql, options) - 912usize];
955    ["Offset of field: st_mysql::status"][::std::mem::offset_of!(st_mysql, status) - 1160usize];
956    ["Offset of field: st_mysql::free_me"][::std::mem::offset_of!(st_mysql, free_me) - 1164usize];
957    ["Offset of field: st_mysql::unused_1"][::std::mem::offset_of!(st_mysql, unused_1) - 1165usize];
958    ["Offset of field: st_mysql::scramble_buff"]
959        [::std::mem::offset_of!(st_mysql, scramble_buff) - 1166usize];
960    ["Offset of field: st_mysql::unused_2"][::std::mem::offset_of!(st_mysql, unused_2) - 1187usize];
961    ["Offset of field: st_mysql::unused_3"][::std::mem::offset_of!(st_mysql, unused_3) - 1192usize];
962    ["Offset of field: st_mysql::unused_4"][::std::mem::offset_of!(st_mysql, unused_4) - 1200usize];
963    ["Offset of field: st_mysql::unused_5"][::std::mem::offset_of!(st_mysql, unused_5) - 1208usize];
964    ["Offset of field: st_mysql::unused_6"][::std::mem::offset_of!(st_mysql, unused_6) - 1216usize];
965    ["Offset of field: st_mysql::stmts"][::std::mem::offset_of!(st_mysql, stmts) - 1224usize];
966    ["Offset of field: st_mysql::methods"][::std::mem::offset_of!(st_mysql, methods) - 1232usize];
967    ["Offset of field: st_mysql::thd"][::std::mem::offset_of!(st_mysql, thd) - 1240usize];
968    ["Offset of field: st_mysql::unbuffered_fetch_owner"]
969        [::std::mem::offset_of!(st_mysql, unbuffered_fetch_owner) - 1248usize];
970    ["Offset of field: st_mysql::info_buffer"]
971        [::std::mem::offset_of!(st_mysql, info_buffer) - 1256usize];
972    ["Offset of field: st_mysql::extension"]
973        [::std::mem::offset_of!(st_mysql, extension) - 1264usize];
974};
975pub type MYSQL = st_mysql;
976#[repr(C)]
977#[derive(Debug, Copy, Clone)]
978pub struct st_mysql_res {
979    pub row_count: ::std::os::raw::c_ulonglong,
980    pub field_count: ::std::os::raw::c_uint,
981    pub current_field: ::std::os::raw::c_uint,
982    pub fields: *mut MYSQL_FIELD,
983    pub data: *mut MYSQL_DATA,
984    pub data_cursor: *mut MYSQL_ROWS,
985    pub field_alloc: MA_MEM_ROOT,
986    pub row: MYSQL_ROW,
987    pub current_row: MYSQL_ROW,
988    pub lengths: *mut ::std::os::raw::c_ulong,
989    pub handle: *mut MYSQL,
990    pub eof: my_bool,
991    pub is_ps: my_bool,
992}
993#[allow(clippy::unnecessary_operation, clippy::identity_op)]
994const _: () = {
995    ["Size of st_mysql_res"][::std::mem::size_of::<st_mysql_res>() - 136usize];
996    ["Alignment of st_mysql_res"][::std::mem::align_of::<st_mysql_res>() - 8usize];
997    ["Offset of field: st_mysql_res::row_count"]
998        [::std::mem::offset_of!(st_mysql_res, row_count) - 0usize];
999    ["Offset of field: st_mysql_res::field_count"]
1000        [::std::mem::offset_of!(st_mysql_res, field_count) - 8usize];
1001    ["Offset of field: st_mysql_res::current_field"]
1002        [::std::mem::offset_of!(st_mysql_res, current_field) - 12usize];
1003    ["Offset of field: st_mysql_res::fields"]
1004        [::std::mem::offset_of!(st_mysql_res, fields) - 16usize];
1005    ["Offset of field: st_mysql_res::data"][::std::mem::offset_of!(st_mysql_res, data) - 24usize];
1006    ["Offset of field: st_mysql_res::data_cursor"]
1007        [::std::mem::offset_of!(st_mysql_res, data_cursor) - 32usize];
1008    ["Offset of field: st_mysql_res::field_alloc"]
1009        [::std::mem::offset_of!(st_mysql_res, field_alloc) - 40usize];
1010    ["Offset of field: st_mysql_res::row"][::std::mem::offset_of!(st_mysql_res, row) - 96usize];
1011    ["Offset of field: st_mysql_res::current_row"]
1012        [::std::mem::offset_of!(st_mysql_res, current_row) - 104usize];
1013    ["Offset of field: st_mysql_res::lengths"]
1014        [::std::mem::offset_of!(st_mysql_res, lengths) - 112usize];
1015    ["Offset of field: st_mysql_res::handle"]
1016        [::std::mem::offset_of!(st_mysql_res, handle) - 120usize];
1017    ["Offset of field: st_mysql_res::eof"][::std::mem::offset_of!(st_mysql_res, eof) - 128usize];
1018    ["Offset of field: st_mysql_res::is_ps"]
1019        [::std::mem::offset_of!(st_mysql_res, is_ps) - 129usize];
1020};
1021pub type MYSQL_RES = st_mysql_res;
1022#[repr(C)]
1023#[derive(Debug, Copy, Clone)]
1024pub struct MYSQL_PARAMETERS {
1025    pub p_max_allowed_packet: *mut ::std::os::raw::c_ulong,
1026    pub p_net_buffer_length: *mut ::std::os::raw::c_ulong,
1027    pub extension: *mut ::std::os::raw::c_void,
1028}
1029#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1030const _: () = {
1031    ["Size of MYSQL_PARAMETERS"][::std::mem::size_of::<MYSQL_PARAMETERS>() - 24usize];
1032    ["Alignment of MYSQL_PARAMETERS"][::std::mem::align_of::<MYSQL_PARAMETERS>() - 8usize];
1033    ["Offset of field: MYSQL_PARAMETERS::p_max_allowed_packet"]
1034        [::std::mem::offset_of!(MYSQL_PARAMETERS, p_max_allowed_packet) - 0usize];
1035    ["Offset of field: MYSQL_PARAMETERS::p_net_buffer_length"]
1036        [::std::mem::offset_of!(MYSQL_PARAMETERS, p_net_buffer_length) - 8usize];
1037    ["Offset of field: MYSQL_PARAMETERS::extension"]
1038        [::std::mem::offset_of!(MYSQL_PARAMETERS, extension) - 16usize];
1039};
1040pub const mariadb_field_attr_t_MARIADB_FIELD_ATTR_DATA_TYPE_NAME: mariadb_field_attr_t = 0;
1041pub const mariadb_field_attr_t_MARIADB_FIELD_ATTR_FORMAT_NAME: mariadb_field_attr_t = 1;
1042pub type mariadb_field_attr_t = ::std::os::raw::c_uint;
1043unsafe extern "C" {
1044    pub fn mariadb_field_attr(
1045        attr: *mut MARIADB_CONST_STRING,
1046        field: *const MYSQL_FIELD,
1047        type_: mariadb_field_attr_t,
1048    ) -> ::std::os::raw::c_int;
1049}
1050pub const enum_mysql_timestamp_type_MYSQL_TIMESTAMP_NONE: enum_mysql_timestamp_type = -2;
1051pub const enum_mysql_timestamp_type_MYSQL_TIMESTAMP_ERROR: enum_mysql_timestamp_type = -1;
1052pub const enum_mysql_timestamp_type_MYSQL_TIMESTAMP_DATE: enum_mysql_timestamp_type = 0;
1053pub const enum_mysql_timestamp_type_MYSQL_TIMESTAMP_DATETIME: enum_mysql_timestamp_type = 1;
1054pub const enum_mysql_timestamp_type_MYSQL_TIMESTAMP_TIME: enum_mysql_timestamp_type = 2;
1055pub type enum_mysql_timestamp_type = ::std::os::raw::c_int;
1056#[repr(C)]
1057#[derive(Debug, Copy, Clone)]
1058pub struct st_mysql_time {
1059    pub year: ::std::os::raw::c_uint,
1060    pub month: ::std::os::raw::c_uint,
1061    pub day: ::std::os::raw::c_uint,
1062    pub hour: ::std::os::raw::c_uint,
1063    pub minute: ::std::os::raw::c_uint,
1064    pub second: ::std::os::raw::c_uint,
1065    pub second_part: ::std::os::raw::c_ulong,
1066    pub neg: my_bool,
1067    pub time_type: enum_mysql_timestamp_type,
1068}
1069#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1070const _: () = {
1071    ["Size of st_mysql_time"][::std::mem::size_of::<st_mysql_time>() - 40usize];
1072    ["Alignment of st_mysql_time"][::std::mem::align_of::<st_mysql_time>() - 8usize];
1073    ["Offset of field: st_mysql_time::year"][::std::mem::offset_of!(st_mysql_time, year) - 0usize];
1074    ["Offset of field: st_mysql_time::month"]
1075        [::std::mem::offset_of!(st_mysql_time, month) - 4usize];
1076    ["Offset of field: st_mysql_time::day"][::std::mem::offset_of!(st_mysql_time, day) - 8usize];
1077    ["Offset of field: st_mysql_time::hour"][::std::mem::offset_of!(st_mysql_time, hour) - 12usize];
1078    ["Offset of field: st_mysql_time::minute"]
1079        [::std::mem::offset_of!(st_mysql_time, minute) - 16usize];
1080    ["Offset of field: st_mysql_time::second"]
1081        [::std::mem::offset_of!(st_mysql_time, second) - 20usize];
1082    ["Offset of field: st_mysql_time::second_part"]
1083        [::std::mem::offset_of!(st_mysql_time, second_part) - 24usize];
1084    ["Offset of field: st_mysql_time::neg"][::std::mem::offset_of!(st_mysql_time, neg) - 32usize];
1085    ["Offset of field: st_mysql_time::time_type"]
1086        [::std::mem::offset_of!(st_mysql_time, time_type) - 36usize];
1087};
1088pub type MYSQL_TIME = st_mysql_time;
1089#[repr(C)]
1090#[derive(Debug, Copy, Clone)]
1091pub struct character_set {
1092    pub number: ::std::os::raw::c_uint,
1093    pub state: ::std::os::raw::c_uint,
1094    pub csname: *const ::std::os::raw::c_char,
1095    pub name: *const ::std::os::raw::c_char,
1096    pub comment: *const ::std::os::raw::c_char,
1097    pub dir: *const ::std::os::raw::c_char,
1098    pub mbminlen: ::std::os::raw::c_uint,
1099    pub mbmaxlen: ::std::os::raw::c_uint,
1100}
1101#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1102const _: () = {
1103    ["Size of character_set"][::std::mem::size_of::<character_set>() - 48usize];
1104    ["Alignment of character_set"][::std::mem::align_of::<character_set>() - 8usize];
1105    ["Offset of field: character_set::number"]
1106        [::std::mem::offset_of!(character_set, number) - 0usize];
1107    ["Offset of field: character_set::state"]
1108        [::std::mem::offset_of!(character_set, state) - 4usize];
1109    ["Offset of field: character_set::csname"]
1110        [::std::mem::offset_of!(character_set, csname) - 8usize];
1111    ["Offset of field: character_set::name"][::std::mem::offset_of!(character_set, name) - 16usize];
1112    ["Offset of field: character_set::comment"]
1113        [::std::mem::offset_of!(character_set, comment) - 24usize];
1114    ["Offset of field: character_set::dir"][::std::mem::offset_of!(character_set, dir) - 32usize];
1115    ["Offset of field: character_set::mbminlen"]
1116        [::std::mem::offset_of!(character_set, mbminlen) - 40usize];
1117    ["Offset of field: character_set::mbmaxlen"]
1118        [::std::mem::offset_of!(character_set, mbmaxlen) - 44usize];
1119};
1120pub type MY_CHARSET_INFO = character_set;
1121pub type MYSQL_STMT = st_mysql_stmt;
1122pub type mysql_stmt_use_or_store_func =
1123    ::std::option::Option<unsafe extern "C" fn(arg1: *mut MYSQL_STMT) -> *mut MYSQL_RES>;
1124pub const enum_stmt_attr_type_STMT_ATTR_UPDATE_MAX_LENGTH: enum_stmt_attr_type = 0;
1125pub const enum_stmt_attr_type_STMT_ATTR_CURSOR_TYPE: enum_stmt_attr_type = 1;
1126pub const enum_stmt_attr_type_STMT_ATTR_PREFETCH_ROWS: enum_stmt_attr_type = 2;
1127pub const enum_stmt_attr_type_STMT_ATTR_PREBIND_PARAMS: enum_stmt_attr_type = 200;
1128pub const enum_stmt_attr_type_STMT_ATTR_ARRAY_SIZE: enum_stmt_attr_type = 201;
1129pub const enum_stmt_attr_type_STMT_ATTR_ROW_SIZE: enum_stmt_attr_type = 202;
1130pub const enum_stmt_attr_type_STMT_ATTR_STATE: enum_stmt_attr_type = 203;
1131pub const enum_stmt_attr_type_STMT_ATTR_CB_USER_DATA: enum_stmt_attr_type = 204;
1132pub const enum_stmt_attr_type_STMT_ATTR_CB_PARAM: enum_stmt_attr_type = 205;
1133pub const enum_stmt_attr_type_STMT_ATTR_CB_RESULT: enum_stmt_attr_type = 206;
1134pub const enum_stmt_attr_type_STMT_ATTR_SQL_STATEMENT: enum_stmt_attr_type = 207;
1135pub type enum_stmt_attr_type = ::std::os::raw::c_uint;
1136pub const mysql_stmt_state_MYSQL_STMT_INITTED: mysql_stmt_state = 0;
1137pub const mysql_stmt_state_MYSQL_STMT_PREPARED: mysql_stmt_state = 1;
1138pub const mysql_stmt_state_MYSQL_STMT_EXECUTED: mysql_stmt_state = 2;
1139pub const mysql_stmt_state_MYSQL_STMT_WAITING_USE_OR_STORE: mysql_stmt_state = 3;
1140pub const mysql_stmt_state_MYSQL_STMT_USE_OR_STORE_CALLED: mysql_stmt_state = 4;
1141pub const mysql_stmt_state_MYSQL_STMT_USER_FETCHING: mysql_stmt_state = 5;
1142pub const mysql_stmt_state_MYSQL_STMT_FETCH_DONE: mysql_stmt_state = 6;
1143pub type mysql_stmt_state = ::std::os::raw::c_uint;
1144pub use self::mysql_stmt_state as enum_mysqlnd_stmt_state;
1145#[repr(C)]
1146#[derive(Copy, Clone)]
1147pub struct st_mysql_bind {
1148    pub length: *mut ::std::os::raw::c_ulong,
1149    pub is_null: *mut my_bool,
1150    pub buffer: *mut ::std::os::raw::c_void,
1151    pub error: *mut my_bool,
1152    pub u: st_mysql_bind__bindgen_ty_1,
1153    pub store_param_func:
1154        ::std::option::Option<unsafe extern "C" fn(net: *mut NET, param: *mut st_mysql_bind)>,
1155    pub fetch_result: ::std::option::Option<
1156        unsafe extern "C" fn(
1157            arg1: *mut st_mysql_bind,
1158            arg2: *mut MYSQL_FIELD,
1159            row: *mut *mut ::std::os::raw::c_uchar,
1160        ),
1161    >,
1162    pub skip_result: ::std::option::Option<
1163        unsafe extern "C" fn(
1164            arg1: *mut st_mysql_bind,
1165            arg2: *mut MYSQL_FIELD,
1166            row: *mut *mut ::std::os::raw::c_uchar,
1167        ),
1168    >,
1169    pub buffer_length: ::std::os::raw::c_ulong,
1170    pub offset: ::std::os::raw::c_ulong,
1171    pub length_value: ::std::os::raw::c_ulong,
1172    pub flags: ::std::os::raw::c_uint,
1173    pub pack_length: ::std::os::raw::c_uint,
1174    pub buffer_type: enum_field_types,
1175    pub error_value: my_bool,
1176    pub is_unsigned: my_bool,
1177    pub long_data_used: my_bool,
1178    pub is_null_value: my_bool,
1179    pub extension: *mut ::std::os::raw::c_void,
1180}
1181#[repr(C)]
1182#[derive(Copy, Clone)]
1183pub union st_mysql_bind__bindgen_ty_1 {
1184    pub row_ptr: *mut ::std::os::raw::c_uchar,
1185    pub indicator: *mut ::std::os::raw::c_char,
1186}
1187#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1188const _: () = {
1189    ["Size of st_mysql_bind__bindgen_ty_1"]
1190        [::std::mem::size_of::<st_mysql_bind__bindgen_ty_1>() - 8usize];
1191    ["Alignment of st_mysql_bind__bindgen_ty_1"]
1192        [::std::mem::align_of::<st_mysql_bind__bindgen_ty_1>() - 8usize];
1193    ["Offset of field: st_mysql_bind__bindgen_ty_1::row_ptr"]
1194        [::std::mem::offset_of!(st_mysql_bind__bindgen_ty_1, row_ptr) - 0usize];
1195    ["Offset of field: st_mysql_bind__bindgen_ty_1::indicator"]
1196        [::std::mem::offset_of!(st_mysql_bind__bindgen_ty_1, indicator) - 0usize];
1197};
1198#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1199const _: () = {
1200    ["Size of st_mysql_bind"][::std::mem::size_of::<st_mysql_bind>() - 112usize];
1201    ["Alignment of st_mysql_bind"][::std::mem::align_of::<st_mysql_bind>() - 8usize];
1202    ["Offset of field: st_mysql_bind::length"]
1203        [::std::mem::offset_of!(st_mysql_bind, length) - 0usize];
1204    ["Offset of field: st_mysql_bind::is_null"]
1205        [::std::mem::offset_of!(st_mysql_bind, is_null) - 8usize];
1206    ["Offset of field: st_mysql_bind::buffer"]
1207        [::std::mem::offset_of!(st_mysql_bind, buffer) - 16usize];
1208    ["Offset of field: st_mysql_bind::error"]
1209        [::std::mem::offset_of!(st_mysql_bind, error) - 24usize];
1210    ["Offset of field: st_mysql_bind::u"][::std::mem::offset_of!(st_mysql_bind, u) - 32usize];
1211    ["Offset of field: st_mysql_bind::store_param_func"]
1212        [::std::mem::offset_of!(st_mysql_bind, store_param_func) - 40usize];
1213    ["Offset of field: st_mysql_bind::fetch_result"]
1214        [::std::mem::offset_of!(st_mysql_bind, fetch_result) - 48usize];
1215    ["Offset of field: st_mysql_bind::skip_result"]
1216        [::std::mem::offset_of!(st_mysql_bind, skip_result) - 56usize];
1217    ["Offset of field: st_mysql_bind::buffer_length"]
1218        [::std::mem::offset_of!(st_mysql_bind, buffer_length) - 64usize];
1219    ["Offset of field: st_mysql_bind::offset"]
1220        [::std::mem::offset_of!(st_mysql_bind, offset) - 72usize];
1221    ["Offset of field: st_mysql_bind::length_value"]
1222        [::std::mem::offset_of!(st_mysql_bind, length_value) - 80usize];
1223    ["Offset of field: st_mysql_bind::flags"]
1224        [::std::mem::offset_of!(st_mysql_bind, flags) - 88usize];
1225    ["Offset of field: st_mysql_bind::pack_length"]
1226        [::std::mem::offset_of!(st_mysql_bind, pack_length) - 92usize];
1227    ["Offset of field: st_mysql_bind::buffer_type"]
1228        [::std::mem::offset_of!(st_mysql_bind, buffer_type) - 96usize];
1229    ["Offset of field: st_mysql_bind::error_value"]
1230        [::std::mem::offset_of!(st_mysql_bind, error_value) - 100usize];
1231    ["Offset of field: st_mysql_bind::is_unsigned"]
1232        [::std::mem::offset_of!(st_mysql_bind, is_unsigned) - 101usize];
1233    ["Offset of field: st_mysql_bind::long_data_used"]
1234        [::std::mem::offset_of!(st_mysql_bind, long_data_used) - 102usize];
1235    ["Offset of field: st_mysql_bind::is_null_value"]
1236        [::std::mem::offset_of!(st_mysql_bind, is_null_value) - 103usize];
1237    ["Offset of field: st_mysql_bind::extension"]
1238        [::std::mem::offset_of!(st_mysql_bind, extension) - 104usize];
1239};
1240pub type MYSQL_BIND = st_mysql_bind;
1241#[repr(C)]
1242#[derive(Debug, Copy, Clone)]
1243pub struct st_mysqlnd_upsert_result {
1244    pub warning_count: ::std::os::raw::c_uint,
1245    pub server_status: ::std::os::raw::c_uint,
1246    pub affected_rows: ::std::os::raw::c_ulonglong,
1247    pub last_insert_id: ::std::os::raw::c_ulonglong,
1248}
1249#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1250const _: () = {
1251    ["Size of st_mysqlnd_upsert_result"]
1252        [::std::mem::size_of::<st_mysqlnd_upsert_result>() - 24usize];
1253    ["Alignment of st_mysqlnd_upsert_result"]
1254        [::std::mem::align_of::<st_mysqlnd_upsert_result>() - 8usize];
1255    ["Offset of field: st_mysqlnd_upsert_result::warning_count"]
1256        [::std::mem::offset_of!(st_mysqlnd_upsert_result, warning_count) - 0usize];
1257    ["Offset of field: st_mysqlnd_upsert_result::server_status"]
1258        [::std::mem::offset_of!(st_mysqlnd_upsert_result, server_status) - 4usize];
1259    ["Offset of field: st_mysqlnd_upsert_result::affected_rows"]
1260        [::std::mem::offset_of!(st_mysqlnd_upsert_result, affected_rows) - 8usize];
1261    ["Offset of field: st_mysqlnd_upsert_result::last_insert_id"]
1262        [::std::mem::offset_of!(st_mysqlnd_upsert_result, last_insert_id) - 16usize];
1263};
1264pub type mysql_upsert_status = st_mysqlnd_upsert_result;
1265#[repr(C)]
1266#[derive(Debug, Copy, Clone)]
1267pub struct st_mysql_cmd_buffer {
1268    pub buffer: *mut ::std::os::raw::c_uchar,
1269    pub length: usize,
1270}
1271#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1272const _: () = {
1273    ["Size of st_mysql_cmd_buffer"][::std::mem::size_of::<st_mysql_cmd_buffer>() - 16usize];
1274    ["Alignment of st_mysql_cmd_buffer"][::std::mem::align_of::<st_mysql_cmd_buffer>() - 8usize];
1275    ["Offset of field: st_mysql_cmd_buffer::buffer"]
1276        [::std::mem::offset_of!(st_mysql_cmd_buffer, buffer) - 0usize];
1277    ["Offset of field: st_mysql_cmd_buffer::length"]
1278        [::std::mem::offset_of!(st_mysql_cmd_buffer, length) - 8usize];
1279};
1280pub type MYSQL_CMD_BUFFER = st_mysql_cmd_buffer;
1281pub type mysql_stmt_fetch_row_func = ::std::option::Option<
1282    unsafe extern "C" fn(
1283        stmt: *mut MYSQL_STMT,
1284        row: *mut *mut ::std::os::raw::c_uchar,
1285    ) -> ::std::os::raw::c_int,
1286>;
1287pub type ps_result_callback = ::std::option::Option<
1288    unsafe extern "C" fn(
1289        data: *mut ::std::os::raw::c_void,
1290        column: ::std::os::raw::c_uint,
1291        row: *mut *mut ::std::os::raw::c_uchar,
1292    ),
1293>;
1294pub type ps_param_callback = ::std::option::Option<
1295    unsafe extern "C" fn(
1296        data: *mut ::std::os::raw::c_void,
1297        bind: *mut MYSQL_BIND,
1298        row_nr: ::std::os::raw::c_uint,
1299    ) -> my_bool,
1300>;
1301#[repr(C)]
1302#[derive(Debug, Copy, Clone)]
1303pub struct st_mysql_stmt {
1304    pub mem_root: MA_MEM_ROOT,
1305    pub mysql: *mut MYSQL,
1306    pub stmt_id: ::std::os::raw::c_ulong,
1307    pub flags: ::std::os::raw::c_ulong,
1308    pub state: enum_mysqlnd_stmt_state,
1309    pub fields: *mut MYSQL_FIELD,
1310    pub field_count: ::std::os::raw::c_uint,
1311    pub param_count: ::std::os::raw::c_uint,
1312    pub send_types_to_server: ::std::os::raw::c_uchar,
1313    pub params: *mut MYSQL_BIND,
1314    pub bind: *mut MYSQL_BIND,
1315    pub result: MYSQL_DATA,
1316    pub result_cursor: *mut MYSQL_ROWS,
1317    pub bind_result_done: my_bool,
1318    pub bind_param_done: my_bool,
1319    pub upsert_status: mysql_upsert_status,
1320    pub last_errno: ::std::os::raw::c_uint,
1321    pub last_error: [::std::os::raw::c_char; 513usize],
1322    pub sqlstate: [::std::os::raw::c_char; 6usize],
1323    pub update_max_length: my_bool,
1324    pub prefetch_rows: ::std::os::raw::c_ulong,
1325    pub list: LIST,
1326    pub cursor_exists: my_bool,
1327    pub extension: *mut ::std::os::raw::c_void,
1328    pub fetch_row_func: mysql_stmt_fetch_row_func,
1329    pub execute_count: ::std::os::raw::c_uint,
1330    pub default_rset_handler: mysql_stmt_use_or_store_func,
1331    pub request_buffer: *mut ::std::os::raw::c_uchar,
1332    pub array_size: ::std::os::raw::c_uint,
1333    pub row_size: usize,
1334    pub prebind_params: ::std::os::raw::c_uint,
1335    pub user_data: *mut ::std::os::raw::c_void,
1336    pub result_callback: ps_result_callback,
1337    pub param_callback: ps_param_callback,
1338    pub request_length: usize,
1339    pub sql: MARIADB_CONST_STRING,
1340}
1341#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1342const _: () = {
1343    ["Size of st_mysql_stmt"][::std::mem::size_of::<st_mysql_stmt>() - 944usize];
1344    ["Alignment of st_mysql_stmt"][::std::mem::align_of::<st_mysql_stmt>() - 8usize];
1345    ["Offset of field: st_mysql_stmt::mem_root"]
1346        [::std::mem::offset_of!(st_mysql_stmt, mem_root) - 0usize];
1347    ["Offset of field: st_mysql_stmt::mysql"]
1348        [::std::mem::offset_of!(st_mysql_stmt, mysql) - 56usize];
1349    ["Offset of field: st_mysql_stmt::stmt_id"]
1350        [::std::mem::offset_of!(st_mysql_stmt, stmt_id) - 64usize];
1351    ["Offset of field: st_mysql_stmt::flags"]
1352        [::std::mem::offset_of!(st_mysql_stmt, flags) - 72usize];
1353    ["Offset of field: st_mysql_stmt::state"]
1354        [::std::mem::offset_of!(st_mysql_stmt, state) - 80usize];
1355    ["Offset of field: st_mysql_stmt::fields"]
1356        [::std::mem::offset_of!(st_mysql_stmt, fields) - 88usize];
1357    ["Offset of field: st_mysql_stmt::field_count"]
1358        [::std::mem::offset_of!(st_mysql_stmt, field_count) - 96usize];
1359    ["Offset of field: st_mysql_stmt::param_count"]
1360        [::std::mem::offset_of!(st_mysql_stmt, param_count) - 100usize];
1361    ["Offset of field: st_mysql_stmt::send_types_to_server"]
1362        [::std::mem::offset_of!(st_mysql_stmt, send_types_to_server) - 104usize];
1363    ["Offset of field: st_mysql_stmt::params"]
1364        [::std::mem::offset_of!(st_mysql_stmt, params) - 112usize];
1365    ["Offset of field: st_mysql_stmt::bind"]
1366        [::std::mem::offset_of!(st_mysql_stmt, bind) - 120usize];
1367    ["Offset of field: st_mysql_stmt::result"]
1368        [::std::mem::offset_of!(st_mysql_stmt, result) - 128usize];
1369    ["Offset of field: st_mysql_stmt::result_cursor"]
1370        [::std::mem::offset_of!(st_mysql_stmt, result_cursor) - 224usize];
1371    ["Offset of field: st_mysql_stmt::bind_result_done"]
1372        [::std::mem::offset_of!(st_mysql_stmt, bind_result_done) - 232usize];
1373    ["Offset of field: st_mysql_stmt::bind_param_done"]
1374        [::std::mem::offset_of!(st_mysql_stmt, bind_param_done) - 233usize];
1375    ["Offset of field: st_mysql_stmt::upsert_status"]
1376        [::std::mem::offset_of!(st_mysql_stmt, upsert_status) - 240usize];
1377    ["Offset of field: st_mysql_stmt::last_errno"]
1378        [::std::mem::offset_of!(st_mysql_stmt, last_errno) - 264usize];
1379    ["Offset of field: st_mysql_stmt::last_error"]
1380        [::std::mem::offset_of!(st_mysql_stmt, last_error) - 268usize];
1381    ["Offset of field: st_mysql_stmt::sqlstate"]
1382        [::std::mem::offset_of!(st_mysql_stmt, sqlstate) - 781usize];
1383    ["Offset of field: st_mysql_stmt::update_max_length"]
1384        [::std::mem::offset_of!(st_mysql_stmt, update_max_length) - 787usize];
1385    ["Offset of field: st_mysql_stmt::prefetch_rows"]
1386        [::std::mem::offset_of!(st_mysql_stmt, prefetch_rows) - 792usize];
1387    ["Offset of field: st_mysql_stmt::list"]
1388        [::std::mem::offset_of!(st_mysql_stmt, list) - 800usize];
1389    ["Offset of field: st_mysql_stmt::cursor_exists"]
1390        [::std::mem::offset_of!(st_mysql_stmt, cursor_exists) - 824usize];
1391    ["Offset of field: st_mysql_stmt::extension"]
1392        [::std::mem::offset_of!(st_mysql_stmt, extension) - 832usize];
1393    ["Offset of field: st_mysql_stmt::fetch_row_func"]
1394        [::std::mem::offset_of!(st_mysql_stmt, fetch_row_func) - 840usize];
1395    ["Offset of field: st_mysql_stmt::execute_count"]
1396        [::std::mem::offset_of!(st_mysql_stmt, execute_count) - 848usize];
1397    ["Offset of field: st_mysql_stmt::default_rset_handler"]
1398        [::std::mem::offset_of!(st_mysql_stmt, default_rset_handler) - 856usize];
1399    ["Offset of field: st_mysql_stmt::request_buffer"]
1400        [::std::mem::offset_of!(st_mysql_stmt, request_buffer) - 864usize];
1401    ["Offset of field: st_mysql_stmt::array_size"]
1402        [::std::mem::offset_of!(st_mysql_stmt, array_size) - 872usize];
1403    ["Offset of field: st_mysql_stmt::row_size"]
1404        [::std::mem::offset_of!(st_mysql_stmt, row_size) - 880usize];
1405    ["Offset of field: st_mysql_stmt::prebind_params"]
1406        [::std::mem::offset_of!(st_mysql_stmt, prebind_params) - 888usize];
1407    ["Offset of field: st_mysql_stmt::user_data"]
1408        [::std::mem::offset_of!(st_mysql_stmt, user_data) - 896usize];
1409    ["Offset of field: st_mysql_stmt::result_callback"]
1410        [::std::mem::offset_of!(st_mysql_stmt, result_callback) - 904usize];
1411    ["Offset of field: st_mysql_stmt::param_callback"]
1412        [::std::mem::offset_of!(st_mysql_stmt, param_callback) - 912usize];
1413    ["Offset of field: st_mysql_stmt::request_length"]
1414        [::std::mem::offset_of!(st_mysql_stmt, request_length) - 920usize];
1415    ["Offset of field: st_mysql_stmt::sql"][::std::mem::offset_of!(st_mysql_stmt, sql) - 928usize];
1416};
1417pub type ps_field_fetch_func = ::std::option::Option<
1418    unsafe extern "C" fn(
1419        r_param: *mut MYSQL_BIND,
1420        field: *const MYSQL_FIELD,
1421        row: *mut *mut ::std::os::raw::c_uchar,
1422    ),
1423>;
1424#[repr(C)]
1425#[derive(Debug, Copy, Clone)]
1426pub struct st_mysql_perm_bind {
1427    pub func: ps_field_fetch_func,
1428    pub pack_len: ::std::os::raw::c_int,
1429    pub max_len: ::std::os::raw::c_ulong,
1430}
1431#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1432const _: () = {
1433    ["Size of st_mysql_perm_bind"][::std::mem::size_of::<st_mysql_perm_bind>() - 24usize];
1434    ["Alignment of st_mysql_perm_bind"][::std::mem::align_of::<st_mysql_perm_bind>() - 8usize];
1435    ["Offset of field: st_mysql_perm_bind::func"]
1436        [::std::mem::offset_of!(st_mysql_perm_bind, func) - 0usize];
1437    ["Offset of field: st_mysql_perm_bind::pack_len"]
1438        [::std::mem::offset_of!(st_mysql_perm_bind, pack_len) - 8usize];
1439    ["Offset of field: st_mysql_perm_bind::max_len"]
1440        [::std::mem::offset_of!(st_mysql_perm_bind, max_len) - 16usize];
1441};
1442pub type MYSQL_PS_CONVERSION = st_mysql_perm_bind;
1443unsafe extern "C" {
1444    pub fn mysql_init_ps_subsystem();
1445}
1446unsafe extern "C" {
1447    pub fn mysql_stmt_init(mysql: *mut MYSQL) -> *mut MYSQL_STMT;
1448}
1449unsafe extern "C" {
1450    pub fn mysql_stmt_prepare(
1451        stmt: *mut MYSQL_STMT,
1452        query: *const ::std::os::raw::c_char,
1453        length: ::std::os::raw::c_ulong,
1454    ) -> ::std::os::raw::c_int;
1455}
1456unsafe extern "C" {
1457    pub fn mysql_stmt_execute(stmt: *mut MYSQL_STMT) -> ::std::os::raw::c_int;
1458}
1459unsafe extern "C" {
1460    pub fn mysql_stmt_fetch(stmt: *mut MYSQL_STMT) -> ::std::os::raw::c_int;
1461}
1462unsafe extern "C" {
1463    pub fn mysql_stmt_fetch_column(
1464        stmt: *mut MYSQL_STMT,
1465        bind_arg: *mut MYSQL_BIND,
1466        column: ::std::os::raw::c_uint,
1467        offset: ::std::os::raw::c_ulong,
1468    ) -> ::std::os::raw::c_int;
1469}
1470unsafe extern "C" {
1471    pub fn mysql_stmt_store_result(stmt: *mut MYSQL_STMT) -> ::std::os::raw::c_int;
1472}
1473unsafe extern "C" {
1474    pub fn mysql_stmt_param_count(stmt: *mut MYSQL_STMT) -> ::std::os::raw::c_ulong;
1475}
1476unsafe extern "C" {
1477    pub fn mysql_stmt_attr_set(
1478        stmt: *mut MYSQL_STMT,
1479        attr_type: enum_stmt_attr_type,
1480        attr: *const ::std::os::raw::c_void,
1481    ) -> my_bool;
1482}
1483unsafe extern "C" {
1484    pub fn mysql_stmt_attr_get(
1485        stmt: *mut MYSQL_STMT,
1486        attr_type: enum_stmt_attr_type,
1487        attr: *mut ::std::os::raw::c_void,
1488    ) -> my_bool;
1489}
1490unsafe extern "C" {
1491    pub fn mysql_stmt_bind_param(stmt: *mut MYSQL_STMT, bnd: *mut MYSQL_BIND) -> my_bool;
1492}
1493unsafe extern "C" {
1494    pub fn mysql_stmt_bind_result(stmt: *mut MYSQL_STMT, bnd: *mut MYSQL_BIND) -> my_bool;
1495}
1496unsafe extern "C" {
1497    pub fn mysql_stmt_close(stmt: *mut MYSQL_STMT) -> my_bool;
1498}
1499unsafe extern "C" {
1500    pub fn mysql_stmt_reset(stmt: *mut MYSQL_STMT) -> my_bool;
1501}
1502unsafe extern "C" {
1503    pub fn mysql_stmt_free_result(stmt: *mut MYSQL_STMT) -> my_bool;
1504}
1505unsafe extern "C" {
1506    pub fn mysql_stmt_send_long_data(
1507        stmt: *mut MYSQL_STMT,
1508        param_number: ::std::os::raw::c_uint,
1509        data: *const ::std::os::raw::c_char,
1510        length: ::std::os::raw::c_ulong,
1511    ) -> my_bool;
1512}
1513unsafe extern "C" {
1514    pub fn mysql_stmt_result_metadata(stmt: *mut MYSQL_STMT) -> *mut MYSQL_RES;
1515}
1516unsafe extern "C" {
1517    pub fn mysql_stmt_param_metadata(stmt: *mut MYSQL_STMT) -> *mut MYSQL_RES;
1518}
1519unsafe extern "C" {
1520    pub fn mysql_stmt_errno(stmt: *mut MYSQL_STMT) -> ::std::os::raw::c_uint;
1521}
1522unsafe extern "C" {
1523    pub fn mysql_stmt_error(stmt: *mut MYSQL_STMT) -> *const ::std::os::raw::c_char;
1524}
1525unsafe extern "C" {
1526    pub fn mysql_stmt_sqlstate(stmt: *mut MYSQL_STMT) -> *const ::std::os::raw::c_char;
1527}
1528unsafe extern "C" {
1529    pub fn mysql_stmt_row_seek(stmt: *mut MYSQL_STMT, offset: MYSQL_ROW_OFFSET)
1530    -> MYSQL_ROW_OFFSET;
1531}
1532unsafe extern "C" {
1533    pub fn mysql_stmt_row_tell(stmt: *mut MYSQL_STMT) -> MYSQL_ROW_OFFSET;
1534}
1535unsafe extern "C" {
1536    pub fn mysql_stmt_data_seek(stmt: *mut MYSQL_STMT, offset: ::std::os::raw::c_ulonglong);
1537}
1538unsafe extern "C" {
1539    pub fn mysql_stmt_num_rows(stmt: *mut MYSQL_STMT) -> ::std::os::raw::c_ulonglong;
1540}
1541unsafe extern "C" {
1542    pub fn mysql_stmt_affected_rows(stmt: *mut MYSQL_STMT) -> ::std::os::raw::c_ulonglong;
1543}
1544unsafe extern "C" {
1545    pub fn mysql_stmt_insert_id(stmt: *mut MYSQL_STMT) -> ::std::os::raw::c_ulonglong;
1546}
1547unsafe extern "C" {
1548    pub fn mysql_stmt_field_count(stmt: *mut MYSQL_STMT) -> ::std::os::raw::c_uint;
1549}
1550unsafe extern "C" {
1551    pub fn mysql_stmt_next_result(stmt: *mut MYSQL_STMT) -> ::std::os::raw::c_int;
1552}
1553unsafe extern "C" {
1554    pub fn mysql_stmt_more_results(stmt: *mut MYSQL_STMT) -> my_bool;
1555}
1556unsafe extern "C" {
1557    pub fn mariadb_stmt_execute_direct(
1558        stmt: *mut MYSQL_STMT,
1559        stmt_str: *const ::std::os::raw::c_char,
1560        length: usize,
1561    ) -> ::std::os::raw::c_int;
1562}
1563unsafe extern "C" {
1564    pub fn mariadb_stmt_fetch_fields(stmt: *mut MYSQL_STMT) -> *mut MYSQL_FIELD;
1565}
1566#[repr(C)]
1567#[derive(Debug, Copy, Clone)]
1568pub struct st_mysql_client_plugin {
1569    pub type_: ::std::os::raw::c_int,
1570    pub interface_version: ::std::os::raw::c_uint,
1571    pub name: *const ::std::os::raw::c_char,
1572    pub author: *const ::std::os::raw::c_char,
1573    pub desc: *const ::std::os::raw::c_char,
1574    pub version: [::std::os::raw::c_uint; 3usize],
1575    pub license: *const ::std::os::raw::c_char,
1576    pub mysql_api: *mut ::std::os::raw::c_void,
1577    pub init: ::std::option::Option<
1578        unsafe extern "C" fn(
1579            arg1: *mut ::std::os::raw::c_char,
1580            arg2: usize,
1581            arg3: ::std::os::raw::c_int,
1582            arg4: *mut __va_list_tag,
1583        ) -> ::std::os::raw::c_int,
1584    >,
1585    pub deinit: ::std::option::Option<unsafe extern "C" fn() -> ::std::os::raw::c_int>,
1586    pub options: ::std::option::Option<
1587        unsafe extern "C" fn(
1588            option: *const ::std::os::raw::c_char,
1589            arg1: *const ::std::os::raw::c_void,
1590        ) -> ::std::os::raw::c_int,
1591    >,
1592}
1593#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1594const _: () = {
1595    ["Size of st_mysql_client_plugin"][::std::mem::size_of::<st_mysql_client_plugin>() - 88usize];
1596    ["Alignment of st_mysql_client_plugin"]
1597        [::std::mem::align_of::<st_mysql_client_plugin>() - 8usize];
1598    ["Offset of field: st_mysql_client_plugin::type_"]
1599        [::std::mem::offset_of!(st_mysql_client_plugin, type_) - 0usize];
1600    ["Offset of field: st_mysql_client_plugin::interface_version"]
1601        [::std::mem::offset_of!(st_mysql_client_plugin, interface_version) - 4usize];
1602    ["Offset of field: st_mysql_client_plugin::name"]
1603        [::std::mem::offset_of!(st_mysql_client_plugin, name) - 8usize];
1604    ["Offset of field: st_mysql_client_plugin::author"]
1605        [::std::mem::offset_of!(st_mysql_client_plugin, author) - 16usize];
1606    ["Offset of field: st_mysql_client_plugin::desc"]
1607        [::std::mem::offset_of!(st_mysql_client_plugin, desc) - 24usize];
1608    ["Offset of field: st_mysql_client_plugin::version"]
1609        [::std::mem::offset_of!(st_mysql_client_plugin, version) - 32usize];
1610    ["Offset of field: st_mysql_client_plugin::license"]
1611        [::std::mem::offset_of!(st_mysql_client_plugin, license) - 48usize];
1612    ["Offset of field: st_mysql_client_plugin::mysql_api"]
1613        [::std::mem::offset_of!(st_mysql_client_plugin, mysql_api) - 56usize];
1614    ["Offset of field: st_mysql_client_plugin::init"]
1615        [::std::mem::offset_of!(st_mysql_client_plugin, init) - 64usize];
1616    ["Offset of field: st_mysql_client_plugin::deinit"]
1617        [::std::mem::offset_of!(st_mysql_client_plugin, deinit) - 72usize];
1618    ["Offset of field: st_mysql_client_plugin::options"]
1619        [::std::mem::offset_of!(st_mysql_client_plugin, options) - 80usize];
1620};
1621#[repr(C)]
1622#[derive(Debug, Copy, Clone)]
1623pub struct MARIADB_X509_INFO {
1624    pub version: ::std::os::raw::c_int,
1625    pub issuer: *mut ::std::os::raw::c_char,
1626    pub subject: *mut ::std::os::raw::c_char,
1627    pub fingerprint: [::std::os::raw::c_char; 129usize],
1628    pub not_before: tm,
1629    pub not_after: tm,
1630}
1631#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1632const _: () = {
1633    ["Size of MARIADB_X509_INFO"][::std::mem::size_of::<MARIADB_X509_INFO>() - 272usize];
1634    ["Alignment of MARIADB_X509_INFO"][::std::mem::align_of::<MARIADB_X509_INFO>() - 8usize];
1635    ["Offset of field: MARIADB_X509_INFO::version"]
1636        [::std::mem::offset_of!(MARIADB_X509_INFO, version) - 0usize];
1637    ["Offset of field: MARIADB_X509_INFO::issuer"]
1638        [::std::mem::offset_of!(MARIADB_X509_INFO, issuer) - 8usize];
1639    ["Offset of field: MARIADB_X509_INFO::subject"]
1640        [::std::mem::offset_of!(MARIADB_X509_INFO, subject) - 16usize];
1641    ["Offset of field: MARIADB_X509_INFO::fingerprint"]
1642        [::std::mem::offset_of!(MARIADB_X509_INFO, fingerprint) - 24usize];
1643    ["Offset of field: MARIADB_X509_INFO::not_before"]
1644        [::std::mem::offset_of!(MARIADB_X509_INFO, not_before) - 160usize];
1645    ["Offset of field: MARIADB_X509_INFO::not_after"]
1646        [::std::mem::offset_of!(MARIADB_X509_INFO, not_after) - 216usize];
1647};
1648unsafe extern "C" {
1649    pub fn mysql_load_plugin(
1650        mysql: *mut st_mysql,
1651        name: *const ::std::os::raw::c_char,
1652        type_: ::std::os::raw::c_int,
1653        argc: ::std::os::raw::c_int,
1654        ...
1655    ) -> *mut st_mysql_client_plugin;
1656}
1657unsafe extern "C" {
1658    pub fn mysql_load_plugin_v(
1659        mysql: *mut st_mysql,
1660        name: *const ::std::os::raw::c_char,
1661        type_: ::std::os::raw::c_int,
1662        argc: ::std::os::raw::c_int,
1663        args: *mut __va_list_tag,
1664    ) -> *mut st_mysql_client_plugin;
1665}
1666unsafe extern "C" {
1667    pub fn mysql_client_find_plugin(
1668        mysql: *mut st_mysql,
1669        name: *const ::std::os::raw::c_char,
1670        type_: ::std::os::raw::c_int,
1671    ) -> *mut st_mysql_client_plugin;
1672}
1673unsafe extern "C" {
1674    pub fn mysql_client_register_plugin(
1675        mysql: *mut st_mysql,
1676        plugin: *mut st_mysql_client_plugin,
1677    ) -> *mut st_mysql_client_plugin;
1678}
1679unsafe extern "C" {
1680    pub fn mysql_set_local_infile_handler(
1681        mysql: *mut MYSQL,
1682        local_infile_init: ::std::option::Option<
1683            unsafe extern "C" fn(
1684                arg1: *mut *mut ::std::os::raw::c_void,
1685                arg2: *const ::std::os::raw::c_char,
1686                arg3: *mut ::std::os::raw::c_void,
1687            ) -> ::std::os::raw::c_int,
1688        >,
1689        local_infile_read: ::std::option::Option<
1690            unsafe extern "C" fn(
1691                arg1: *mut ::std::os::raw::c_void,
1692                arg2: *mut ::std::os::raw::c_char,
1693                arg3: ::std::os::raw::c_uint,
1694            ) -> ::std::os::raw::c_int,
1695        >,
1696        local_infile_end: ::std::option::Option<
1697            unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void),
1698        >,
1699        local_infile_error: ::std::option::Option<
1700            unsafe extern "C" fn(
1701                arg1: *mut ::std::os::raw::c_void,
1702                arg2: *mut ::std::os::raw::c_char,
1703                arg3: ::std::os::raw::c_uint,
1704            ) -> ::std::os::raw::c_int,
1705        >,
1706        arg1: *mut ::std::os::raw::c_void,
1707    );
1708}
1709unsafe extern "C" {
1710    pub fn mysql_set_local_infile_default(mysql: *mut MYSQL);
1711}
1712unsafe extern "C" {
1713    pub fn mysql_num_rows(res: *mut MYSQL_RES) -> my_ulonglong;
1714}
1715unsafe extern "C" {
1716    pub fn mysql_num_fields(res: *mut MYSQL_RES) -> ::std::os::raw::c_uint;
1717}
1718unsafe extern "C" {
1719    pub fn mysql_eof(res: *mut MYSQL_RES) -> my_bool;
1720}
1721unsafe extern "C" {
1722    pub fn mysql_fetch_field_direct(
1723        res: *mut MYSQL_RES,
1724        fieldnr: ::std::os::raw::c_uint,
1725    ) -> *mut MYSQL_FIELD;
1726}
1727unsafe extern "C" {
1728    pub fn mysql_fetch_fields(res: *mut MYSQL_RES) -> *mut MYSQL_FIELD;
1729}
1730unsafe extern "C" {
1731    pub fn mysql_row_tell(res: *mut MYSQL_RES) -> *mut MYSQL_ROWS;
1732}
1733unsafe extern "C" {
1734    pub fn mysql_field_tell(res: *mut MYSQL_RES) -> ::std::os::raw::c_uint;
1735}
1736unsafe extern "C" {
1737    pub fn mysql_field_count(mysql: *mut MYSQL) -> ::std::os::raw::c_uint;
1738}
1739unsafe extern "C" {
1740    pub fn mysql_more_results(mysql: *mut MYSQL) -> my_bool;
1741}
1742unsafe extern "C" {
1743    pub fn mysql_next_result(mysql: *mut MYSQL) -> ::std::os::raw::c_int;
1744}
1745unsafe extern "C" {
1746    pub fn mysql_affected_rows(mysql: *mut MYSQL) -> my_ulonglong;
1747}
1748unsafe extern "C" {
1749    pub fn mysql_autocommit(mysql: *mut MYSQL, mode: my_bool) -> my_bool;
1750}
1751unsafe extern "C" {
1752    pub fn mysql_commit(mysql: *mut MYSQL) -> my_bool;
1753}
1754unsafe extern "C" {
1755    pub fn mysql_rollback(mysql: *mut MYSQL) -> my_bool;
1756}
1757unsafe extern "C" {
1758    pub fn mysql_insert_id(mysql: *mut MYSQL) -> my_ulonglong;
1759}
1760unsafe extern "C" {
1761    pub fn mysql_errno(mysql: *mut MYSQL) -> ::std::os::raw::c_uint;
1762}
1763unsafe extern "C" {
1764    pub fn mysql_error(mysql: *mut MYSQL) -> *const ::std::os::raw::c_char;
1765}
1766unsafe extern "C" {
1767    pub fn mysql_info(mysql: *mut MYSQL) -> *const ::std::os::raw::c_char;
1768}
1769unsafe extern "C" {
1770    pub fn mysql_thread_id(mysql: *mut MYSQL) -> ::std::os::raw::c_ulong;
1771}
1772unsafe extern "C" {
1773    pub fn mysql_character_set_name(mysql: *mut MYSQL) -> *const ::std::os::raw::c_char;
1774}
1775unsafe extern "C" {
1776    pub fn mysql_get_character_set_info(mysql: *mut MYSQL, cs: *mut MY_CHARSET_INFO);
1777}
1778unsafe extern "C" {
1779    pub fn mysql_set_character_set(
1780        mysql: *mut MYSQL,
1781        csname: *const ::std::os::raw::c_char,
1782    ) -> ::std::os::raw::c_int;
1783}
1784unsafe extern "C" {
1785    pub fn mariadb_get_infov(
1786        mysql: *mut MYSQL,
1787        value: mariadb_value,
1788        arg: *mut ::std::os::raw::c_void,
1789        ...
1790    ) -> my_bool;
1791}
1792unsafe extern "C" {
1793    pub fn mariadb_get_info(
1794        mysql: *mut MYSQL,
1795        value: mariadb_value,
1796        arg: *mut ::std::os::raw::c_void,
1797    ) -> my_bool;
1798}
1799unsafe extern "C" {
1800    pub fn mysql_init(mysql: *mut MYSQL) -> *mut MYSQL;
1801}
1802unsafe extern "C" {
1803    pub fn mysql_ssl_set(
1804        mysql: *mut MYSQL,
1805        key: *const ::std::os::raw::c_char,
1806        cert: *const ::std::os::raw::c_char,
1807        ca: *const ::std::os::raw::c_char,
1808        capath: *const ::std::os::raw::c_char,
1809        cipher: *const ::std::os::raw::c_char,
1810    ) -> ::std::os::raw::c_int;
1811}
1812unsafe extern "C" {
1813    pub fn mysql_get_ssl_cipher(mysql: *mut MYSQL) -> *const ::std::os::raw::c_char;
1814}
1815unsafe extern "C" {
1816    pub fn mysql_change_user(
1817        mysql: *mut MYSQL,
1818        user: *const ::std::os::raw::c_char,
1819        passwd: *const ::std::os::raw::c_char,
1820        db: *const ::std::os::raw::c_char,
1821    ) -> my_bool;
1822}
1823unsafe extern "C" {
1824    pub fn mysql_real_connect(
1825        mysql: *mut MYSQL,
1826        host: *const ::std::os::raw::c_char,
1827        user: *const ::std::os::raw::c_char,
1828        passwd: *const ::std::os::raw::c_char,
1829        db: *const ::std::os::raw::c_char,
1830        port: ::std::os::raw::c_uint,
1831        unix_socket: *const ::std::os::raw::c_char,
1832        clientflag: ::std::os::raw::c_ulong,
1833    ) -> *mut MYSQL;
1834}
1835unsafe extern "C" {
1836    pub fn mysql_close(sock: *mut MYSQL);
1837}
1838unsafe extern "C" {
1839    pub fn mysql_select_db(
1840        mysql: *mut MYSQL,
1841        db: *const ::std::os::raw::c_char,
1842    ) -> ::std::os::raw::c_int;
1843}
1844unsafe extern "C" {
1845    pub fn mysql_query(
1846        mysql: *mut MYSQL,
1847        q: *const ::std::os::raw::c_char,
1848    ) -> ::std::os::raw::c_int;
1849}
1850unsafe extern "C" {
1851    pub fn mysql_send_query(
1852        mysql: *mut MYSQL,
1853        q: *const ::std::os::raw::c_char,
1854        length: ::std::os::raw::c_ulong,
1855    ) -> ::std::os::raw::c_int;
1856}
1857unsafe extern "C" {
1858    pub fn mysql_read_query_result(mysql: *mut MYSQL) -> my_bool;
1859}
1860unsafe extern "C" {
1861    pub fn mysql_real_query(
1862        mysql: *mut MYSQL,
1863        q: *const ::std::os::raw::c_char,
1864        length: ::std::os::raw::c_ulong,
1865    ) -> ::std::os::raw::c_int;
1866}
1867unsafe extern "C" {
1868    pub fn mysql_shutdown(
1869        mysql: *mut MYSQL,
1870        shutdown_level: mysql_enum_shutdown_level,
1871    ) -> ::std::os::raw::c_int;
1872}
1873unsafe extern "C" {
1874    pub fn mysql_dump_debug_info(mysql: *mut MYSQL) -> ::std::os::raw::c_int;
1875}
1876unsafe extern "C" {
1877    pub fn mysql_refresh(
1878        mysql: *mut MYSQL,
1879        refresh_options: ::std::os::raw::c_uint,
1880    ) -> ::std::os::raw::c_int;
1881}
1882unsafe extern "C" {
1883    pub fn mysql_kill(mysql: *mut MYSQL, pid: ::std::os::raw::c_ulong) -> ::std::os::raw::c_int;
1884}
1885unsafe extern "C" {
1886    pub fn mysql_ping(mysql: *mut MYSQL) -> ::std::os::raw::c_int;
1887}
1888unsafe extern "C" {
1889    pub fn mysql_stat(mysql: *mut MYSQL) -> *mut ::std::os::raw::c_char;
1890}
1891unsafe extern "C" {
1892    pub fn mysql_get_server_info(mysql: *mut MYSQL) -> *mut ::std::os::raw::c_char;
1893}
1894unsafe extern "C" {
1895    pub fn mysql_get_server_version(mysql: *mut MYSQL) -> ::std::os::raw::c_ulong;
1896}
1897unsafe extern "C" {
1898    pub fn mysql_get_host_info(mysql: *mut MYSQL) -> *mut ::std::os::raw::c_char;
1899}
1900unsafe extern "C" {
1901    pub fn mysql_get_proto_info(mysql: *mut MYSQL) -> ::std::os::raw::c_uint;
1902}
1903unsafe extern "C" {
1904    pub fn mysql_list_dbs(mysql: *mut MYSQL, wild: *const ::std::os::raw::c_char)
1905    -> *mut MYSQL_RES;
1906}
1907unsafe extern "C" {
1908    pub fn mysql_list_tables(
1909        mysql: *mut MYSQL,
1910        wild: *const ::std::os::raw::c_char,
1911    ) -> *mut MYSQL_RES;
1912}
1913unsafe extern "C" {
1914    pub fn mysql_list_fields(
1915        mysql: *mut MYSQL,
1916        table: *const ::std::os::raw::c_char,
1917        wild: *const ::std::os::raw::c_char,
1918    ) -> *mut MYSQL_RES;
1919}
1920unsafe extern "C" {
1921    pub fn mysql_list_processes(mysql: *mut MYSQL) -> *mut MYSQL_RES;
1922}
1923unsafe extern "C" {
1924    pub fn mysql_store_result(mysql: *mut MYSQL) -> *mut MYSQL_RES;
1925}
1926unsafe extern "C" {
1927    pub fn mysql_use_result(mysql: *mut MYSQL) -> *mut MYSQL_RES;
1928}
1929unsafe extern "C" {
1930    pub fn mysql_options(
1931        mysql: *mut MYSQL,
1932        option: mysql_option,
1933        arg: *const ::std::os::raw::c_void,
1934    ) -> ::std::os::raw::c_int;
1935}
1936unsafe extern "C" {
1937    pub fn mysql_options4(
1938        mysql: *mut MYSQL,
1939        option: mysql_option,
1940        arg1: *const ::std::os::raw::c_void,
1941        arg2: *const ::std::os::raw::c_void,
1942    ) -> ::std::os::raw::c_int;
1943}
1944unsafe extern "C" {
1945    pub fn mysql_free_result(result: *mut MYSQL_RES);
1946}
1947unsafe extern "C" {
1948    pub fn mysql_data_seek(result: *mut MYSQL_RES, offset: ::std::os::raw::c_ulonglong);
1949}
1950unsafe extern "C" {
1951    pub fn mysql_row_seek(result: *mut MYSQL_RES, arg1: MYSQL_ROW_OFFSET) -> MYSQL_ROW_OFFSET;
1952}
1953unsafe extern "C" {
1954    pub fn mysql_field_seek(
1955        result: *mut MYSQL_RES,
1956        offset: MYSQL_FIELD_OFFSET,
1957    ) -> MYSQL_FIELD_OFFSET;
1958}
1959unsafe extern "C" {
1960    pub fn mysql_fetch_row(result: *mut MYSQL_RES) -> MYSQL_ROW;
1961}
1962unsafe extern "C" {
1963    pub fn mysql_fetch_lengths(result: *mut MYSQL_RES) -> *mut ::std::os::raw::c_ulong;
1964}
1965unsafe extern "C" {
1966    pub fn mysql_fetch_field(result: *mut MYSQL_RES) -> *mut MYSQL_FIELD;
1967}
1968unsafe extern "C" {
1969    pub fn mysql_escape_string(
1970        to: *mut ::std::os::raw::c_char,
1971        from: *const ::std::os::raw::c_char,
1972        from_length: ::std::os::raw::c_ulong,
1973    ) -> ::std::os::raw::c_ulong;
1974}
1975unsafe extern "C" {
1976    pub fn mysql_real_escape_string(
1977        mysql: *mut MYSQL,
1978        to: *mut ::std::os::raw::c_char,
1979        from: *const ::std::os::raw::c_char,
1980        length: ::std::os::raw::c_ulong,
1981    ) -> ::std::os::raw::c_ulong;
1982}
1983unsafe extern "C" {
1984    pub fn mysql_thread_safe() -> ::std::os::raw::c_uint;
1985}
1986unsafe extern "C" {
1987    pub fn mysql_warning_count(mysql: *mut MYSQL) -> ::std::os::raw::c_uint;
1988}
1989unsafe extern "C" {
1990    pub fn mysql_sqlstate(mysql: *mut MYSQL) -> *const ::std::os::raw::c_char;
1991}
1992unsafe extern "C" {
1993    pub fn mysql_server_init(
1994        argc: ::std::os::raw::c_int,
1995        argv: *mut *mut ::std::os::raw::c_char,
1996        groups: *mut *mut ::std::os::raw::c_char,
1997    ) -> ::std::os::raw::c_int;
1998}
1999unsafe extern "C" {
2000    pub fn mysql_server_end();
2001}
2002unsafe extern "C" {
2003    pub fn mysql_thread_end();
2004}
2005unsafe extern "C" {
2006    pub fn mysql_thread_init() -> my_bool;
2007}
2008unsafe extern "C" {
2009    pub fn mysql_set_server_option(
2010        mysql: *mut MYSQL,
2011        option: enum_mysql_set_option,
2012    ) -> ::std::os::raw::c_int;
2013}
2014unsafe extern "C" {
2015    pub fn mysql_get_client_info() -> *const ::std::os::raw::c_char;
2016}
2017unsafe extern "C" {
2018    pub fn mysql_get_client_version() -> ::std::os::raw::c_ulong;
2019}
2020unsafe extern "C" {
2021    pub fn mariadb_connection(mysql: *mut MYSQL) -> my_bool;
2022}
2023unsafe extern "C" {
2024    pub fn mysql_get_server_name(mysql: *mut MYSQL) -> *const ::std::os::raw::c_char;
2025}
2026unsafe extern "C" {
2027    pub fn mariadb_get_charset_by_name(
2028        csname: *const ::std::os::raw::c_char,
2029    ) -> *mut MARIADB_CHARSET_INFO;
2030}
2031unsafe extern "C" {
2032    pub fn mariadb_get_charset_by_nr(csnr: ::std::os::raw::c_uint) -> *mut MARIADB_CHARSET_INFO;
2033}
2034unsafe extern "C" {
2035    pub fn mariadb_convert_string(
2036        from: *const ::std::os::raw::c_char,
2037        from_len: *mut usize,
2038        from_cs: *mut MARIADB_CHARSET_INFO,
2039        to: *mut ::std::os::raw::c_char,
2040        to_len: *mut usize,
2041        to_cs: *mut MARIADB_CHARSET_INFO,
2042        errorcode: *mut ::std::os::raw::c_int,
2043    ) -> usize;
2044}
2045unsafe extern "C" {
2046    pub fn mysql_optionsv(mysql: *mut MYSQL, option: mysql_option, ...) -> ::std::os::raw::c_int;
2047}
2048unsafe extern "C" {
2049    pub fn mysql_get_optionv(
2050        mysql: *mut MYSQL,
2051        option: mysql_option,
2052        arg: *mut ::std::os::raw::c_void,
2053        ...
2054    ) -> ::std::os::raw::c_int;
2055}
2056unsafe extern "C" {
2057    pub fn mysql_get_option(
2058        mysql: *mut MYSQL,
2059        option: mysql_option,
2060        arg: *mut ::std::os::raw::c_void,
2061    ) -> ::std::os::raw::c_int;
2062}
2063unsafe extern "C" {
2064    pub fn mysql_hex_string(
2065        to: *mut ::std::os::raw::c_char,
2066        from: *const ::std::os::raw::c_char,
2067        len: ::std::os::raw::c_ulong,
2068    ) -> ::std::os::raw::c_ulong;
2069}
2070unsafe extern "C" {
2071    pub fn mysql_get_socket(mysql: *mut MYSQL) -> my_socket;
2072}
2073unsafe extern "C" {
2074    pub fn mysql_get_timeout_value(mysql: *const MYSQL) -> ::std::os::raw::c_uint;
2075}
2076unsafe extern "C" {
2077    pub fn mysql_get_timeout_value_ms(mysql: *const MYSQL) -> ::std::os::raw::c_uint;
2078}
2079unsafe extern "C" {
2080    pub fn mariadb_reconnect(mysql: *mut MYSQL) -> my_bool;
2081}
2082unsafe extern "C" {
2083    pub fn mariadb_cancel(mysql: *mut MYSQL) -> ::std::os::raw::c_int;
2084}
2085unsafe extern "C" {
2086    pub fn mysql_debug(debug: *const ::std::os::raw::c_char);
2087}
2088unsafe extern "C" {
2089    pub fn mysql_net_read_packet(mysql: *mut MYSQL) -> ::std::os::raw::c_ulong;
2090}
2091unsafe extern "C" {
2092    pub fn mysql_net_field_length(
2093        packet: *mut *mut ::std::os::raw::c_uchar,
2094    ) -> ::std::os::raw::c_ulong;
2095}
2096unsafe extern "C" {
2097    pub fn mysql_embedded() -> my_bool;
2098}
2099unsafe extern "C" {
2100    pub fn mysql_get_parameters() -> *mut MYSQL_PARAMETERS;
2101}
2102unsafe extern "C" {
2103    pub fn mysql_close_start(sock: *mut MYSQL) -> ::std::os::raw::c_int;
2104}
2105unsafe extern "C" {
2106    pub fn mysql_close_cont(
2107        sock: *mut MYSQL,
2108        status: ::std::os::raw::c_int,
2109    ) -> ::std::os::raw::c_int;
2110}
2111unsafe extern "C" {
2112    pub fn mysql_commit_start(ret: *mut my_bool, mysql: *mut MYSQL) -> ::std::os::raw::c_int;
2113}
2114unsafe extern "C" {
2115    pub fn mysql_commit_cont(
2116        ret: *mut my_bool,
2117        mysql: *mut MYSQL,
2118        status: ::std::os::raw::c_int,
2119    ) -> ::std::os::raw::c_int;
2120}
2121unsafe extern "C" {
2122    pub fn mysql_dump_debug_info_cont(
2123        ret: *mut ::std::os::raw::c_int,
2124        mysql: *mut MYSQL,
2125        ready_status: ::std::os::raw::c_int,
2126    ) -> ::std::os::raw::c_int;
2127}
2128unsafe extern "C" {
2129    pub fn mysql_dump_debug_info_start(
2130        ret: *mut ::std::os::raw::c_int,
2131        mysql: *mut MYSQL,
2132    ) -> ::std::os::raw::c_int;
2133}
2134unsafe extern "C" {
2135    pub fn mysql_rollback_start(ret: *mut my_bool, mysql: *mut MYSQL) -> ::std::os::raw::c_int;
2136}
2137unsafe extern "C" {
2138    pub fn mysql_rollback_cont(
2139        ret: *mut my_bool,
2140        mysql: *mut MYSQL,
2141        status: ::std::os::raw::c_int,
2142    ) -> ::std::os::raw::c_int;
2143}
2144unsafe extern "C" {
2145    pub fn mysql_autocommit_start(
2146        ret: *mut my_bool,
2147        mysql: *mut MYSQL,
2148        auto_mode: my_bool,
2149    ) -> ::std::os::raw::c_int;
2150}
2151unsafe extern "C" {
2152    pub fn mysql_list_fields_cont(
2153        ret: *mut *mut MYSQL_RES,
2154        mysql: *mut MYSQL,
2155        ready_status: ::std::os::raw::c_int,
2156    ) -> ::std::os::raw::c_int;
2157}
2158unsafe extern "C" {
2159    pub fn mysql_list_fields_start(
2160        ret: *mut *mut MYSQL_RES,
2161        mysql: *mut MYSQL,
2162        table: *const ::std::os::raw::c_char,
2163        wild: *const ::std::os::raw::c_char,
2164    ) -> ::std::os::raw::c_int;
2165}
2166unsafe extern "C" {
2167    pub fn mysql_autocommit_cont(
2168        ret: *mut my_bool,
2169        mysql: *mut MYSQL,
2170        status: ::std::os::raw::c_int,
2171    ) -> ::std::os::raw::c_int;
2172}
2173unsafe extern "C" {
2174    pub fn mysql_next_result_start(
2175        ret: *mut ::std::os::raw::c_int,
2176        mysql: *mut MYSQL,
2177    ) -> ::std::os::raw::c_int;
2178}
2179unsafe extern "C" {
2180    pub fn mysql_next_result_cont(
2181        ret: *mut ::std::os::raw::c_int,
2182        mysql: *mut MYSQL,
2183        status: ::std::os::raw::c_int,
2184    ) -> ::std::os::raw::c_int;
2185}
2186unsafe extern "C" {
2187    pub fn mysql_select_db_start(
2188        ret: *mut ::std::os::raw::c_int,
2189        mysql: *mut MYSQL,
2190        db: *const ::std::os::raw::c_char,
2191    ) -> ::std::os::raw::c_int;
2192}
2193unsafe extern "C" {
2194    pub fn mysql_select_db_cont(
2195        ret: *mut ::std::os::raw::c_int,
2196        mysql: *mut MYSQL,
2197        ready_status: ::std::os::raw::c_int,
2198    ) -> ::std::os::raw::c_int;
2199}
2200unsafe extern "C" {
2201    pub fn mysql_stmt_warning_count(stmt: *mut MYSQL_STMT) -> ::std::os::raw::c_int;
2202}
2203unsafe extern "C" {
2204    pub fn mysql_stmt_next_result_start(
2205        ret: *mut ::std::os::raw::c_int,
2206        stmt: *mut MYSQL_STMT,
2207    ) -> ::std::os::raw::c_int;
2208}
2209unsafe extern "C" {
2210    pub fn mysql_stmt_next_result_cont(
2211        ret: *mut ::std::os::raw::c_int,
2212        stmt: *mut MYSQL_STMT,
2213        status: ::std::os::raw::c_int,
2214    ) -> ::std::os::raw::c_int;
2215}
2216unsafe extern "C" {
2217    pub fn mysql_set_character_set_start(
2218        ret: *mut ::std::os::raw::c_int,
2219        mysql: *mut MYSQL,
2220        csname: *const ::std::os::raw::c_char,
2221    ) -> ::std::os::raw::c_int;
2222}
2223unsafe extern "C" {
2224    pub fn mysql_set_character_set_cont(
2225        ret: *mut ::std::os::raw::c_int,
2226        mysql: *mut MYSQL,
2227        status: ::std::os::raw::c_int,
2228    ) -> ::std::os::raw::c_int;
2229}
2230unsafe extern "C" {
2231    pub fn mysql_change_user_start(
2232        ret: *mut my_bool,
2233        mysql: *mut MYSQL,
2234        user: *const ::std::os::raw::c_char,
2235        passwd: *const ::std::os::raw::c_char,
2236        db: *const ::std::os::raw::c_char,
2237    ) -> ::std::os::raw::c_int;
2238}
2239unsafe extern "C" {
2240    pub fn mysql_change_user_cont(
2241        ret: *mut my_bool,
2242        mysql: *mut MYSQL,
2243        status: ::std::os::raw::c_int,
2244    ) -> ::std::os::raw::c_int;
2245}
2246unsafe extern "C" {
2247    pub fn mysql_real_connect_start(
2248        ret: *mut *mut MYSQL,
2249        mysql: *mut MYSQL,
2250        host: *const ::std::os::raw::c_char,
2251        user: *const ::std::os::raw::c_char,
2252        passwd: *const ::std::os::raw::c_char,
2253        db: *const ::std::os::raw::c_char,
2254        port: ::std::os::raw::c_uint,
2255        unix_socket: *const ::std::os::raw::c_char,
2256        clientflag: ::std::os::raw::c_ulong,
2257    ) -> ::std::os::raw::c_int;
2258}
2259unsafe extern "C" {
2260    pub fn mysql_real_connect_cont(
2261        ret: *mut *mut MYSQL,
2262        mysql: *mut MYSQL,
2263        status: ::std::os::raw::c_int,
2264    ) -> ::std::os::raw::c_int;
2265}
2266unsafe extern "C" {
2267    pub fn mysql_query_start(
2268        ret: *mut ::std::os::raw::c_int,
2269        mysql: *mut MYSQL,
2270        q: *const ::std::os::raw::c_char,
2271    ) -> ::std::os::raw::c_int;
2272}
2273unsafe extern "C" {
2274    pub fn mysql_query_cont(
2275        ret: *mut ::std::os::raw::c_int,
2276        mysql: *mut MYSQL,
2277        status: ::std::os::raw::c_int,
2278    ) -> ::std::os::raw::c_int;
2279}
2280unsafe extern "C" {
2281    pub fn mysql_send_query_start(
2282        ret: *mut ::std::os::raw::c_int,
2283        mysql: *mut MYSQL,
2284        q: *const ::std::os::raw::c_char,
2285        length: ::std::os::raw::c_ulong,
2286    ) -> ::std::os::raw::c_int;
2287}
2288unsafe extern "C" {
2289    pub fn mysql_send_query_cont(
2290        ret: *mut ::std::os::raw::c_int,
2291        mysql: *mut MYSQL,
2292        status: ::std::os::raw::c_int,
2293    ) -> ::std::os::raw::c_int;
2294}
2295unsafe extern "C" {
2296    pub fn mysql_real_query_start(
2297        ret: *mut ::std::os::raw::c_int,
2298        mysql: *mut MYSQL,
2299        q: *const ::std::os::raw::c_char,
2300        length: ::std::os::raw::c_ulong,
2301    ) -> ::std::os::raw::c_int;
2302}
2303unsafe extern "C" {
2304    pub fn mysql_real_query_cont(
2305        ret: *mut ::std::os::raw::c_int,
2306        mysql: *mut MYSQL,
2307        status: ::std::os::raw::c_int,
2308    ) -> ::std::os::raw::c_int;
2309}
2310unsafe extern "C" {
2311    pub fn mysql_store_result_start(
2312        ret: *mut *mut MYSQL_RES,
2313        mysql: *mut MYSQL,
2314    ) -> ::std::os::raw::c_int;
2315}
2316unsafe extern "C" {
2317    pub fn mysql_store_result_cont(
2318        ret: *mut *mut MYSQL_RES,
2319        mysql: *mut MYSQL,
2320        status: ::std::os::raw::c_int,
2321    ) -> ::std::os::raw::c_int;
2322}
2323unsafe extern "C" {
2324    pub fn mysql_shutdown_start(
2325        ret: *mut ::std::os::raw::c_int,
2326        mysql: *mut MYSQL,
2327        shutdown_level: mysql_enum_shutdown_level,
2328    ) -> ::std::os::raw::c_int;
2329}
2330unsafe extern "C" {
2331    pub fn mysql_shutdown_cont(
2332        ret: *mut ::std::os::raw::c_int,
2333        mysql: *mut MYSQL,
2334        status: ::std::os::raw::c_int,
2335    ) -> ::std::os::raw::c_int;
2336}
2337unsafe extern "C" {
2338    pub fn mysql_refresh_start(
2339        ret: *mut ::std::os::raw::c_int,
2340        mysql: *mut MYSQL,
2341        refresh_options: ::std::os::raw::c_uint,
2342    ) -> ::std::os::raw::c_int;
2343}
2344unsafe extern "C" {
2345    pub fn mysql_refresh_cont(
2346        ret: *mut ::std::os::raw::c_int,
2347        mysql: *mut MYSQL,
2348        status: ::std::os::raw::c_int,
2349    ) -> ::std::os::raw::c_int;
2350}
2351unsafe extern "C" {
2352    pub fn mysql_kill_start(
2353        ret: *mut ::std::os::raw::c_int,
2354        mysql: *mut MYSQL,
2355        pid: ::std::os::raw::c_ulong,
2356    ) -> ::std::os::raw::c_int;
2357}
2358unsafe extern "C" {
2359    pub fn mysql_kill_cont(
2360        ret: *mut ::std::os::raw::c_int,
2361        mysql: *mut MYSQL,
2362        status: ::std::os::raw::c_int,
2363    ) -> ::std::os::raw::c_int;
2364}
2365unsafe extern "C" {
2366    pub fn mysql_set_server_option_start(
2367        ret: *mut ::std::os::raw::c_int,
2368        mysql: *mut MYSQL,
2369        option: enum_mysql_set_option,
2370    ) -> ::std::os::raw::c_int;
2371}
2372unsafe extern "C" {
2373    pub fn mysql_set_server_option_cont(
2374        ret: *mut ::std::os::raw::c_int,
2375        mysql: *mut MYSQL,
2376        status: ::std::os::raw::c_int,
2377    ) -> ::std::os::raw::c_int;
2378}
2379unsafe extern "C" {
2380    pub fn mysql_ping_start(
2381        ret: *mut ::std::os::raw::c_int,
2382        mysql: *mut MYSQL,
2383    ) -> ::std::os::raw::c_int;
2384}
2385unsafe extern "C" {
2386    pub fn mysql_ping_cont(
2387        ret: *mut ::std::os::raw::c_int,
2388        mysql: *mut MYSQL,
2389        status: ::std::os::raw::c_int,
2390    ) -> ::std::os::raw::c_int;
2391}
2392unsafe extern "C" {
2393    pub fn mysql_stat_start(
2394        ret: *mut *const ::std::os::raw::c_char,
2395        mysql: *mut MYSQL,
2396    ) -> ::std::os::raw::c_int;
2397}
2398unsafe extern "C" {
2399    pub fn mysql_stat_cont(
2400        ret: *mut *const ::std::os::raw::c_char,
2401        mysql: *mut MYSQL,
2402        status: ::std::os::raw::c_int,
2403    ) -> ::std::os::raw::c_int;
2404}
2405unsafe extern "C" {
2406    pub fn mysql_free_result_start(result: *mut MYSQL_RES) -> ::std::os::raw::c_int;
2407}
2408unsafe extern "C" {
2409    pub fn mysql_free_result_cont(
2410        result: *mut MYSQL_RES,
2411        status: ::std::os::raw::c_int,
2412    ) -> ::std::os::raw::c_int;
2413}
2414unsafe extern "C" {
2415    pub fn mysql_fetch_row_start(
2416        ret: *mut MYSQL_ROW,
2417        result: *mut MYSQL_RES,
2418    ) -> ::std::os::raw::c_int;
2419}
2420unsafe extern "C" {
2421    pub fn mysql_fetch_row_cont(
2422        ret: *mut MYSQL_ROW,
2423        result: *mut MYSQL_RES,
2424        status: ::std::os::raw::c_int,
2425    ) -> ::std::os::raw::c_int;
2426}
2427unsafe extern "C" {
2428    pub fn mysql_read_query_result_start(
2429        ret: *mut my_bool,
2430        mysql: *mut MYSQL,
2431    ) -> ::std::os::raw::c_int;
2432}
2433unsafe extern "C" {
2434    pub fn mysql_read_query_result_cont(
2435        ret: *mut my_bool,
2436        mysql: *mut MYSQL,
2437        status: ::std::os::raw::c_int,
2438    ) -> ::std::os::raw::c_int;
2439}
2440unsafe extern "C" {
2441    pub fn mysql_reset_connection_start(
2442        ret: *mut ::std::os::raw::c_int,
2443        mysql: *mut MYSQL,
2444    ) -> ::std::os::raw::c_int;
2445}
2446unsafe extern "C" {
2447    pub fn mysql_reset_connection_cont(
2448        ret: *mut ::std::os::raw::c_int,
2449        mysql: *mut MYSQL,
2450        status: ::std::os::raw::c_int,
2451    ) -> ::std::os::raw::c_int;
2452}
2453unsafe extern "C" {
2454    pub fn mysql_session_track_get_next(
2455        mysql: *mut MYSQL,
2456        type_: enum_session_state_type,
2457        data: *mut *const ::std::os::raw::c_char,
2458        length: *mut usize,
2459    ) -> ::std::os::raw::c_int;
2460}
2461unsafe extern "C" {
2462    pub fn mysql_session_track_get_first(
2463        mysql: *mut MYSQL,
2464        type_: enum_session_state_type,
2465        data: *mut *const ::std::os::raw::c_char,
2466        length: *mut usize,
2467    ) -> ::std::os::raw::c_int;
2468}
2469unsafe extern "C" {
2470    pub fn mysql_stmt_prepare_start(
2471        ret: *mut ::std::os::raw::c_int,
2472        stmt: *mut MYSQL_STMT,
2473        query: *const ::std::os::raw::c_char,
2474        length: ::std::os::raw::c_ulong,
2475    ) -> ::std::os::raw::c_int;
2476}
2477unsafe extern "C" {
2478    pub fn mysql_stmt_prepare_cont(
2479        ret: *mut ::std::os::raw::c_int,
2480        stmt: *mut MYSQL_STMT,
2481        status: ::std::os::raw::c_int,
2482    ) -> ::std::os::raw::c_int;
2483}
2484unsafe extern "C" {
2485    pub fn mysql_stmt_execute_start(
2486        ret: *mut ::std::os::raw::c_int,
2487        stmt: *mut MYSQL_STMT,
2488    ) -> ::std::os::raw::c_int;
2489}
2490unsafe extern "C" {
2491    pub fn mysql_stmt_execute_cont(
2492        ret: *mut ::std::os::raw::c_int,
2493        stmt: *mut MYSQL_STMT,
2494        status: ::std::os::raw::c_int,
2495    ) -> ::std::os::raw::c_int;
2496}
2497unsafe extern "C" {
2498    pub fn mysql_stmt_fetch_start(
2499        ret: *mut ::std::os::raw::c_int,
2500        stmt: *mut MYSQL_STMT,
2501    ) -> ::std::os::raw::c_int;
2502}
2503unsafe extern "C" {
2504    pub fn mysql_stmt_fetch_cont(
2505        ret: *mut ::std::os::raw::c_int,
2506        stmt: *mut MYSQL_STMT,
2507        status: ::std::os::raw::c_int,
2508    ) -> ::std::os::raw::c_int;
2509}
2510unsafe extern "C" {
2511    pub fn mysql_stmt_store_result_start(
2512        ret: *mut ::std::os::raw::c_int,
2513        stmt: *mut MYSQL_STMT,
2514    ) -> ::std::os::raw::c_int;
2515}
2516unsafe extern "C" {
2517    pub fn mysql_stmt_store_result_cont(
2518        ret: *mut ::std::os::raw::c_int,
2519        stmt: *mut MYSQL_STMT,
2520        status: ::std::os::raw::c_int,
2521    ) -> ::std::os::raw::c_int;
2522}
2523unsafe extern "C" {
2524    pub fn mysql_stmt_close_start(
2525        ret: *mut my_bool,
2526        stmt: *mut MYSQL_STMT,
2527    ) -> ::std::os::raw::c_int;
2528}
2529unsafe extern "C" {
2530    pub fn mysql_stmt_close_cont(
2531        ret: *mut my_bool,
2532        stmt: *mut MYSQL_STMT,
2533        status: ::std::os::raw::c_int,
2534    ) -> ::std::os::raw::c_int;
2535}
2536unsafe extern "C" {
2537    pub fn mysql_stmt_reset_start(
2538        ret: *mut my_bool,
2539        stmt: *mut MYSQL_STMT,
2540    ) -> ::std::os::raw::c_int;
2541}
2542unsafe extern "C" {
2543    pub fn mysql_stmt_reset_cont(
2544        ret: *mut my_bool,
2545        stmt: *mut MYSQL_STMT,
2546        status: ::std::os::raw::c_int,
2547    ) -> ::std::os::raw::c_int;
2548}
2549unsafe extern "C" {
2550    pub fn mysql_stmt_free_result_start(
2551        ret: *mut my_bool,
2552        stmt: *mut MYSQL_STMT,
2553    ) -> ::std::os::raw::c_int;
2554}
2555unsafe extern "C" {
2556    pub fn mysql_stmt_free_result_cont(
2557        ret: *mut my_bool,
2558        stmt: *mut MYSQL_STMT,
2559        status: ::std::os::raw::c_int,
2560    ) -> ::std::os::raw::c_int;
2561}
2562unsafe extern "C" {
2563    pub fn mysql_stmt_send_long_data_start(
2564        ret: *mut my_bool,
2565        stmt: *mut MYSQL_STMT,
2566        param_number: ::std::os::raw::c_uint,
2567        data: *const ::std::os::raw::c_char,
2568        len: ::std::os::raw::c_ulong,
2569    ) -> ::std::os::raw::c_int;
2570}
2571unsafe extern "C" {
2572    pub fn mysql_stmt_send_long_data_cont(
2573        ret: *mut my_bool,
2574        stmt: *mut MYSQL_STMT,
2575        status: ::std::os::raw::c_int,
2576    ) -> ::std::os::raw::c_int;
2577}
2578unsafe extern "C" {
2579    pub fn mysql_reset_connection(mysql: *mut MYSQL) -> ::std::os::raw::c_int;
2580}
2581#[repr(C)]
2582#[derive(Debug, Copy, Clone)]
2583pub struct st_mariadb_api {
2584    pub mysql_num_rows: ::std::option::Option<
2585        unsafe extern "C" fn(res: *mut MYSQL_RES) -> ::std::os::raw::c_ulonglong,
2586    >,
2587    pub mysql_num_fields:
2588        ::std::option::Option<unsafe extern "C" fn(res: *mut MYSQL_RES) -> ::std::os::raw::c_uint>,
2589    pub mysql_eof: ::std::option::Option<unsafe extern "C" fn(res: *mut MYSQL_RES) -> my_bool>,
2590    pub mysql_fetch_field_direct: ::std::option::Option<
2591        unsafe extern "C" fn(
2592            res: *mut MYSQL_RES,
2593            fieldnr: ::std::os::raw::c_uint,
2594        ) -> *mut MYSQL_FIELD,
2595    >,
2596    pub mysql_fetch_fields:
2597        ::std::option::Option<unsafe extern "C" fn(res: *mut MYSQL_RES) -> *mut MYSQL_FIELD>,
2598    pub mysql_row_tell:
2599        ::std::option::Option<unsafe extern "C" fn(res: *mut MYSQL_RES) -> *mut MYSQL_ROWS>,
2600    pub mysql_field_tell:
2601        ::std::option::Option<unsafe extern "C" fn(res: *mut MYSQL_RES) -> ::std::os::raw::c_uint>,
2602    pub mysql_field_count:
2603        ::std::option::Option<unsafe extern "C" fn(mysql: *mut MYSQL) -> ::std::os::raw::c_uint>,
2604    pub mysql_more_results:
2605        ::std::option::Option<unsafe extern "C" fn(mysql: *mut MYSQL) -> my_bool>,
2606    pub mysql_next_result:
2607        ::std::option::Option<unsafe extern "C" fn(mysql: *mut MYSQL) -> ::std::os::raw::c_int>,
2608    pub mysql_affected_rows: ::std::option::Option<
2609        unsafe extern "C" fn(mysql: *mut MYSQL) -> ::std::os::raw::c_ulonglong,
2610    >,
2611    pub mysql_autocommit:
2612        ::std::option::Option<unsafe extern "C" fn(mysql: *mut MYSQL, mode: my_bool) -> my_bool>,
2613    pub mysql_commit: ::std::option::Option<unsafe extern "C" fn(mysql: *mut MYSQL) -> my_bool>,
2614    pub mysql_rollback: ::std::option::Option<unsafe extern "C" fn(mysql: *mut MYSQL) -> my_bool>,
2615    pub mysql_insert_id: ::std::option::Option<
2616        unsafe extern "C" fn(mysql: *mut MYSQL) -> ::std::os::raw::c_ulonglong,
2617    >,
2618    pub mysql_errno:
2619        ::std::option::Option<unsafe extern "C" fn(mysql: *mut MYSQL) -> ::std::os::raw::c_uint>,
2620    pub mysql_error: ::std::option::Option<
2621        unsafe extern "C" fn(mysql: *mut MYSQL) -> *const ::std::os::raw::c_char,
2622    >,
2623    pub mysql_info: ::std::option::Option<
2624        unsafe extern "C" fn(mysql: *mut MYSQL) -> *const ::std::os::raw::c_char,
2625    >,
2626    pub mysql_thread_id:
2627        ::std::option::Option<unsafe extern "C" fn(mysql: *mut MYSQL) -> ::std::os::raw::c_ulong>,
2628    pub mysql_character_set_name: ::std::option::Option<
2629        unsafe extern "C" fn(mysql: *mut MYSQL) -> *const ::std::os::raw::c_char,
2630    >,
2631    pub mysql_get_character_set_info:
2632        ::std::option::Option<unsafe extern "C" fn(mysql: *mut MYSQL, cs: *mut MY_CHARSET_INFO)>,
2633    pub mysql_set_character_set: ::std::option::Option<
2634        unsafe extern "C" fn(
2635            mysql: *mut MYSQL,
2636            csname: *const ::std::os::raw::c_char,
2637        ) -> ::std::os::raw::c_int,
2638    >,
2639    pub mariadb_get_infov: ::std::option::Option<
2640        unsafe extern "C" fn(
2641            mysql: *mut MYSQL,
2642            value: mariadb_value,
2643            arg: *mut ::std::os::raw::c_void,
2644            ...
2645        ) -> my_bool,
2646    >,
2647    pub mariadb_get_info: ::std::option::Option<
2648        unsafe extern "C" fn(
2649            mysql: *mut MYSQL,
2650            value: mariadb_value,
2651            arg: *mut ::std::os::raw::c_void,
2652        ) -> my_bool,
2653    >,
2654    pub mysql_init: ::std::option::Option<unsafe extern "C" fn(mysql: *mut MYSQL) -> *mut MYSQL>,
2655    pub mysql_ssl_set: ::std::option::Option<
2656        unsafe extern "C" fn(
2657            mysql: *mut MYSQL,
2658            key: *const ::std::os::raw::c_char,
2659            cert: *const ::std::os::raw::c_char,
2660            ca: *const ::std::os::raw::c_char,
2661            capath: *const ::std::os::raw::c_char,
2662            cipher: *const ::std::os::raw::c_char,
2663        ) -> ::std::os::raw::c_int,
2664    >,
2665    pub mysql_get_ssl_cipher: ::std::option::Option<
2666        unsafe extern "C" fn(mysql: *mut MYSQL) -> *const ::std::os::raw::c_char,
2667    >,
2668    pub mysql_change_user: ::std::option::Option<
2669        unsafe extern "C" fn(
2670            mysql: *mut MYSQL,
2671            user: *const ::std::os::raw::c_char,
2672            passwd: *const ::std::os::raw::c_char,
2673            db: *const ::std::os::raw::c_char,
2674        ) -> my_bool,
2675    >,
2676    pub mysql_real_connect: ::std::option::Option<
2677        unsafe extern "C" fn(
2678            mysql: *mut MYSQL,
2679            host: *const ::std::os::raw::c_char,
2680            user: *const ::std::os::raw::c_char,
2681            passwd: *const ::std::os::raw::c_char,
2682            db: *const ::std::os::raw::c_char,
2683            port: ::std::os::raw::c_uint,
2684            unix_socket: *const ::std::os::raw::c_char,
2685            clientflag: ::std::os::raw::c_ulong,
2686        ) -> *mut MYSQL,
2687    >,
2688    pub mysql_close: ::std::option::Option<unsafe extern "C" fn(sock: *mut MYSQL)>,
2689    pub mysql_select_db: ::std::option::Option<
2690        unsafe extern "C" fn(
2691            mysql: *mut MYSQL,
2692            db: *const ::std::os::raw::c_char,
2693        ) -> ::std::os::raw::c_int,
2694    >,
2695    pub mysql_query: ::std::option::Option<
2696        unsafe extern "C" fn(
2697            mysql: *mut MYSQL,
2698            q: *const ::std::os::raw::c_char,
2699        ) -> ::std::os::raw::c_int,
2700    >,
2701    pub mysql_send_query: ::std::option::Option<
2702        unsafe extern "C" fn(
2703            mysql: *mut MYSQL,
2704            q: *const ::std::os::raw::c_char,
2705            length: ::std::os::raw::c_ulong,
2706        ) -> ::std::os::raw::c_int,
2707    >,
2708    pub mysql_read_query_result:
2709        ::std::option::Option<unsafe extern "C" fn(mysql: *mut MYSQL) -> my_bool>,
2710    pub mysql_real_query: ::std::option::Option<
2711        unsafe extern "C" fn(
2712            mysql: *mut MYSQL,
2713            q: *const ::std::os::raw::c_char,
2714            length: ::std::os::raw::c_ulong,
2715        ) -> ::std::os::raw::c_int,
2716    >,
2717    pub mysql_shutdown: ::std::option::Option<
2718        unsafe extern "C" fn(
2719            mysql: *mut MYSQL,
2720            shutdown_level: mysql_enum_shutdown_level,
2721        ) -> ::std::os::raw::c_int,
2722    >,
2723    pub mysql_dump_debug_info:
2724        ::std::option::Option<unsafe extern "C" fn(mysql: *mut MYSQL) -> ::std::os::raw::c_int>,
2725    pub mysql_refresh: ::std::option::Option<
2726        unsafe extern "C" fn(
2727            mysql: *mut MYSQL,
2728            refresh_options: ::std::os::raw::c_uint,
2729        ) -> ::std::os::raw::c_int,
2730    >,
2731    pub mysql_kill: ::std::option::Option<
2732        unsafe extern "C" fn(
2733            mysql: *mut MYSQL,
2734            pid: ::std::os::raw::c_ulong,
2735        ) -> ::std::os::raw::c_int,
2736    >,
2737    pub mysql_ping:
2738        ::std::option::Option<unsafe extern "C" fn(mysql: *mut MYSQL) -> ::std::os::raw::c_int>,
2739    pub mysql_stat: ::std::option::Option<
2740        unsafe extern "C" fn(mysql: *mut MYSQL) -> *mut ::std::os::raw::c_char,
2741    >,
2742    pub mysql_get_server_info: ::std::option::Option<
2743        unsafe extern "C" fn(mysql: *mut MYSQL) -> *mut ::std::os::raw::c_char,
2744    >,
2745    pub mysql_get_server_version:
2746        ::std::option::Option<unsafe extern "C" fn(mysql: *mut MYSQL) -> ::std::os::raw::c_ulong>,
2747    pub mysql_get_host_info: ::std::option::Option<
2748        unsafe extern "C" fn(mysql: *mut MYSQL) -> *mut ::std::os::raw::c_char,
2749    >,
2750    pub mysql_get_proto_info:
2751        ::std::option::Option<unsafe extern "C" fn(mysql: *mut MYSQL) -> ::std::os::raw::c_uint>,
2752    pub mysql_list_dbs: ::std::option::Option<
2753        unsafe extern "C" fn(
2754            mysql: *mut MYSQL,
2755            wild: *const ::std::os::raw::c_char,
2756        ) -> *mut MYSQL_RES,
2757    >,
2758    pub mysql_list_tables: ::std::option::Option<
2759        unsafe extern "C" fn(
2760            mysql: *mut MYSQL,
2761            wild: *const ::std::os::raw::c_char,
2762        ) -> *mut MYSQL_RES,
2763    >,
2764    pub mysql_list_fields: ::std::option::Option<
2765        unsafe extern "C" fn(
2766            mysql: *mut MYSQL,
2767            table: *const ::std::os::raw::c_char,
2768            wild: *const ::std::os::raw::c_char,
2769        ) -> *mut MYSQL_RES,
2770    >,
2771    pub mysql_list_processes:
2772        ::std::option::Option<unsafe extern "C" fn(mysql: *mut MYSQL) -> *mut MYSQL_RES>,
2773    pub mysql_store_result:
2774        ::std::option::Option<unsafe extern "C" fn(mysql: *mut MYSQL) -> *mut MYSQL_RES>,
2775    pub mysql_use_result:
2776        ::std::option::Option<unsafe extern "C" fn(mysql: *mut MYSQL) -> *mut MYSQL_RES>,
2777    pub mysql_options: ::std::option::Option<
2778        unsafe extern "C" fn(
2779            mysql: *mut MYSQL,
2780            option: mysql_option,
2781            arg: *const ::std::os::raw::c_void,
2782        ) -> ::std::os::raw::c_int,
2783    >,
2784    pub mysql_free_result: ::std::option::Option<unsafe extern "C" fn(result: *mut MYSQL_RES)>,
2785    pub mysql_data_seek: ::std::option::Option<
2786        unsafe extern "C" fn(result: *mut MYSQL_RES, offset: ::std::os::raw::c_ulonglong),
2787    >,
2788    pub mysql_row_seek: ::std::option::Option<
2789        unsafe extern "C" fn(result: *mut MYSQL_RES, arg1: MYSQL_ROW_OFFSET) -> MYSQL_ROW_OFFSET,
2790    >,
2791    pub mysql_field_seek: ::std::option::Option<
2792        unsafe extern "C" fn(
2793            result: *mut MYSQL_RES,
2794            offset: MYSQL_FIELD_OFFSET,
2795        ) -> MYSQL_FIELD_OFFSET,
2796    >,
2797    pub mysql_fetch_row:
2798        ::std::option::Option<unsafe extern "C" fn(result: *mut MYSQL_RES) -> MYSQL_ROW>,
2799    pub mysql_fetch_lengths: ::std::option::Option<
2800        unsafe extern "C" fn(result: *mut MYSQL_RES) -> *mut ::std::os::raw::c_ulong,
2801    >,
2802    pub mysql_fetch_field:
2803        ::std::option::Option<unsafe extern "C" fn(result: *mut MYSQL_RES) -> *mut MYSQL_FIELD>,
2804    pub mysql_escape_string: ::std::option::Option<
2805        unsafe extern "C" fn(
2806            to: *mut ::std::os::raw::c_char,
2807            from: *const ::std::os::raw::c_char,
2808            from_length: ::std::os::raw::c_ulong,
2809        ) -> ::std::os::raw::c_ulong,
2810    >,
2811    pub mysql_real_escape_string: ::std::option::Option<
2812        unsafe extern "C" fn(
2813            mysql: *mut MYSQL,
2814            to: *mut ::std::os::raw::c_char,
2815            from: *const ::std::os::raw::c_char,
2816            length: ::std::os::raw::c_ulong,
2817        ) -> ::std::os::raw::c_ulong,
2818    >,
2819    pub mysql_thread_safe: ::std::option::Option<unsafe extern "C" fn() -> ::std::os::raw::c_uint>,
2820    pub mysql_warning_count:
2821        ::std::option::Option<unsafe extern "C" fn(mysql: *mut MYSQL) -> ::std::os::raw::c_uint>,
2822    pub mysql_sqlstate: ::std::option::Option<
2823        unsafe extern "C" fn(mysql: *mut MYSQL) -> *const ::std::os::raw::c_char,
2824    >,
2825    pub mysql_server_init: ::std::option::Option<
2826        unsafe extern "C" fn(
2827            argc: ::std::os::raw::c_int,
2828            argv: *mut *mut ::std::os::raw::c_char,
2829            groups: *mut *mut ::std::os::raw::c_char,
2830        ) -> ::std::os::raw::c_int,
2831    >,
2832    pub mysql_server_end: ::std::option::Option<unsafe extern "C" fn()>,
2833    pub mysql_thread_end: ::std::option::Option<unsafe extern "C" fn()>,
2834    pub mysql_thread_init: ::std::option::Option<unsafe extern "C" fn() -> my_bool>,
2835    pub mysql_set_server_option: ::std::option::Option<
2836        unsafe extern "C" fn(
2837            mysql: *mut MYSQL,
2838            option: enum_mysql_set_option,
2839        ) -> ::std::os::raw::c_int,
2840    >,
2841    pub mysql_get_client_info:
2842        ::std::option::Option<unsafe extern "C" fn() -> *const ::std::os::raw::c_char>,
2843    pub mysql_get_client_version:
2844        ::std::option::Option<unsafe extern "C" fn() -> ::std::os::raw::c_ulong>,
2845    pub mariadb_connection:
2846        ::std::option::Option<unsafe extern "C" fn(mysql: *mut MYSQL) -> my_bool>,
2847    pub mysql_get_server_name: ::std::option::Option<
2848        unsafe extern "C" fn(mysql: *mut MYSQL) -> *const ::std::os::raw::c_char,
2849    >,
2850    pub mariadb_get_charset_by_name: ::std::option::Option<
2851        unsafe extern "C" fn(csname: *const ::std::os::raw::c_char) -> *mut MARIADB_CHARSET_INFO,
2852    >,
2853    pub mariadb_get_charset_by_nr: ::std::option::Option<
2854        unsafe extern "C" fn(csnr: ::std::os::raw::c_uint) -> *mut MARIADB_CHARSET_INFO,
2855    >,
2856    pub mariadb_convert_string: ::std::option::Option<
2857        unsafe extern "C" fn(
2858            from: *const ::std::os::raw::c_char,
2859            from_len: *mut usize,
2860            from_cs: *mut MARIADB_CHARSET_INFO,
2861            to: *mut ::std::os::raw::c_char,
2862            to_len: *mut usize,
2863            to_cs: *mut MARIADB_CHARSET_INFO,
2864            errorcode: *mut ::std::os::raw::c_int,
2865        ) -> usize,
2866    >,
2867    pub mysql_optionsv: ::std::option::Option<
2868        unsafe extern "C" fn(mysql: *mut MYSQL, option: mysql_option, ...) -> ::std::os::raw::c_int,
2869    >,
2870    pub mysql_get_optionv: ::std::option::Option<
2871        unsafe extern "C" fn(
2872            mysql: *mut MYSQL,
2873            option: mysql_option,
2874            arg: *mut ::std::os::raw::c_void,
2875            ...
2876        ) -> ::std::os::raw::c_int,
2877    >,
2878    pub mysql_get_option: ::std::option::Option<
2879        unsafe extern "C" fn(
2880            mysql: *mut MYSQL,
2881            option: mysql_option,
2882            arg: *mut ::std::os::raw::c_void,
2883        ) -> ::std::os::raw::c_int,
2884    >,
2885    pub mysql_hex_string: ::std::option::Option<
2886        unsafe extern "C" fn(
2887            to: *mut ::std::os::raw::c_char,
2888            from: *const ::std::os::raw::c_char,
2889            len: ::std::os::raw::c_ulong,
2890        ) -> ::std::os::raw::c_ulong,
2891    >,
2892    pub mysql_get_socket:
2893        ::std::option::Option<unsafe extern "C" fn(mysql: *mut MYSQL) -> my_socket>,
2894    pub mysql_get_timeout_value:
2895        ::std::option::Option<unsafe extern "C" fn(mysql: *const MYSQL) -> ::std::os::raw::c_uint>,
2896    pub mysql_get_timeout_value_ms:
2897        ::std::option::Option<unsafe extern "C" fn(mysql: *const MYSQL) -> ::std::os::raw::c_uint>,
2898    pub mariadb_reconnect:
2899        ::std::option::Option<unsafe extern "C" fn(mysql: *mut MYSQL) -> my_bool>,
2900    pub mysql_stmt_init:
2901        ::std::option::Option<unsafe extern "C" fn(mysql: *mut MYSQL) -> *mut MYSQL_STMT>,
2902    pub mysql_stmt_prepare: ::std::option::Option<
2903        unsafe extern "C" fn(
2904            stmt: *mut MYSQL_STMT,
2905            query: *const ::std::os::raw::c_char,
2906            length: ::std::os::raw::c_ulong,
2907        ) -> ::std::os::raw::c_int,
2908    >,
2909    pub mysql_stmt_execute:
2910        ::std::option::Option<unsafe extern "C" fn(stmt: *mut MYSQL_STMT) -> ::std::os::raw::c_int>,
2911    pub mysql_stmt_fetch:
2912        ::std::option::Option<unsafe extern "C" fn(stmt: *mut MYSQL_STMT) -> ::std::os::raw::c_int>,
2913    pub mysql_stmt_fetch_column: ::std::option::Option<
2914        unsafe extern "C" fn(
2915            stmt: *mut MYSQL_STMT,
2916            bind_arg: *mut MYSQL_BIND,
2917            column: ::std::os::raw::c_uint,
2918            offset: ::std::os::raw::c_ulong,
2919        ) -> ::std::os::raw::c_int,
2920    >,
2921    pub mysql_stmt_store_result:
2922        ::std::option::Option<unsafe extern "C" fn(stmt: *mut MYSQL_STMT) -> ::std::os::raw::c_int>,
2923    pub mysql_stmt_param_count: ::std::option::Option<
2924        unsafe extern "C" fn(stmt: *mut MYSQL_STMT) -> ::std::os::raw::c_ulong,
2925    >,
2926    pub mysql_stmt_attr_set: ::std::option::Option<
2927        unsafe extern "C" fn(
2928            stmt: *mut MYSQL_STMT,
2929            attr_type: enum_stmt_attr_type,
2930            attr: *const ::std::os::raw::c_void,
2931        ) -> my_bool,
2932    >,
2933    pub mysql_stmt_attr_get: ::std::option::Option<
2934        unsafe extern "C" fn(
2935            stmt: *mut MYSQL_STMT,
2936            attr_type: enum_stmt_attr_type,
2937            attr: *mut ::std::os::raw::c_void,
2938        ) -> my_bool,
2939    >,
2940    pub mysql_stmt_bind_param: ::std::option::Option<
2941        unsafe extern "C" fn(stmt: *mut MYSQL_STMT, bnd: *mut MYSQL_BIND) -> my_bool,
2942    >,
2943    pub mysql_stmt_bind_result: ::std::option::Option<
2944        unsafe extern "C" fn(stmt: *mut MYSQL_STMT, bnd: *mut MYSQL_BIND) -> my_bool,
2945    >,
2946    pub mysql_stmt_close:
2947        ::std::option::Option<unsafe extern "C" fn(stmt: *mut MYSQL_STMT) -> my_bool>,
2948    pub mysql_stmt_reset:
2949        ::std::option::Option<unsafe extern "C" fn(stmt: *mut MYSQL_STMT) -> my_bool>,
2950    pub mysql_stmt_free_result:
2951        ::std::option::Option<unsafe extern "C" fn(stmt: *mut MYSQL_STMT) -> my_bool>,
2952    pub mysql_stmt_send_long_data: ::std::option::Option<
2953        unsafe extern "C" fn(
2954            stmt: *mut MYSQL_STMT,
2955            param_number: ::std::os::raw::c_uint,
2956            data: *const ::std::os::raw::c_char,
2957            length: ::std::os::raw::c_ulong,
2958        ) -> my_bool,
2959    >,
2960    pub mysql_stmt_result_metadata:
2961        ::std::option::Option<unsafe extern "C" fn(stmt: *mut MYSQL_STMT) -> *mut MYSQL_RES>,
2962    pub mysql_stmt_param_metadata:
2963        ::std::option::Option<unsafe extern "C" fn(stmt: *mut MYSQL_STMT) -> *mut MYSQL_RES>,
2964    pub mysql_stmt_errno: ::std::option::Option<
2965        unsafe extern "C" fn(stmt: *mut MYSQL_STMT) -> ::std::os::raw::c_uint,
2966    >,
2967    pub mysql_stmt_error: ::std::option::Option<
2968        unsafe extern "C" fn(stmt: *mut MYSQL_STMT) -> *const ::std::os::raw::c_char,
2969    >,
2970    pub mysql_stmt_sqlstate: ::std::option::Option<
2971        unsafe extern "C" fn(stmt: *mut MYSQL_STMT) -> *const ::std::os::raw::c_char,
2972    >,
2973    pub mysql_stmt_row_seek: ::std::option::Option<
2974        unsafe extern "C" fn(stmt: *mut MYSQL_STMT, offset: MYSQL_ROW_OFFSET) -> MYSQL_ROW_OFFSET,
2975    >,
2976    pub mysql_stmt_row_tell:
2977        ::std::option::Option<unsafe extern "C" fn(stmt: *mut MYSQL_STMT) -> MYSQL_ROW_OFFSET>,
2978    pub mysql_stmt_data_seek: ::std::option::Option<
2979        unsafe extern "C" fn(stmt: *mut MYSQL_STMT, offset: ::std::os::raw::c_ulonglong),
2980    >,
2981    pub mysql_stmt_num_rows: ::std::option::Option<
2982        unsafe extern "C" fn(stmt: *mut MYSQL_STMT) -> ::std::os::raw::c_ulonglong,
2983    >,
2984    pub mysql_stmt_affected_rows: ::std::option::Option<
2985        unsafe extern "C" fn(stmt: *mut MYSQL_STMT) -> ::std::os::raw::c_ulonglong,
2986    >,
2987    pub mysql_stmt_insert_id: ::std::option::Option<
2988        unsafe extern "C" fn(stmt: *mut MYSQL_STMT) -> ::std::os::raw::c_ulonglong,
2989    >,
2990    pub mysql_stmt_field_count: ::std::option::Option<
2991        unsafe extern "C" fn(stmt: *mut MYSQL_STMT) -> ::std::os::raw::c_uint,
2992    >,
2993    pub mysql_stmt_next_result:
2994        ::std::option::Option<unsafe extern "C" fn(stmt: *mut MYSQL_STMT) -> ::std::os::raw::c_int>,
2995    pub mysql_stmt_more_results:
2996        ::std::option::Option<unsafe extern "C" fn(stmt: *mut MYSQL_STMT) -> my_bool>,
2997    pub mariadb_stmt_execute_direct: ::std::option::Option<
2998        unsafe extern "C" fn(
2999            stmt: *mut MYSQL_STMT,
3000            stmtstr: *const ::std::os::raw::c_char,
3001            length: usize,
3002        ) -> ::std::os::raw::c_int,
3003    >,
3004    pub mysql_reset_connection:
3005        ::std::option::Option<unsafe extern "C" fn(mysql: *mut MYSQL) -> ::std::os::raw::c_int>,
3006}
3007#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3008const _: () = {
3009    ["Size of st_mariadb_api"][::std::mem::size_of::<st_mariadb_api>() - 920usize];
3010    ["Alignment of st_mariadb_api"][::std::mem::align_of::<st_mariadb_api>() - 8usize];
3011    ["Offset of field: st_mariadb_api::mysql_num_rows"]
3012        [::std::mem::offset_of!(st_mariadb_api, mysql_num_rows) - 0usize];
3013    ["Offset of field: st_mariadb_api::mysql_num_fields"]
3014        [::std::mem::offset_of!(st_mariadb_api, mysql_num_fields) - 8usize];
3015    ["Offset of field: st_mariadb_api::mysql_eof"]
3016        [::std::mem::offset_of!(st_mariadb_api, mysql_eof) - 16usize];
3017    ["Offset of field: st_mariadb_api::mysql_fetch_field_direct"]
3018        [::std::mem::offset_of!(st_mariadb_api, mysql_fetch_field_direct) - 24usize];
3019    ["Offset of field: st_mariadb_api::mysql_fetch_fields"]
3020        [::std::mem::offset_of!(st_mariadb_api, mysql_fetch_fields) - 32usize];
3021    ["Offset of field: st_mariadb_api::mysql_row_tell"]
3022        [::std::mem::offset_of!(st_mariadb_api, mysql_row_tell) - 40usize];
3023    ["Offset of field: st_mariadb_api::mysql_field_tell"]
3024        [::std::mem::offset_of!(st_mariadb_api, mysql_field_tell) - 48usize];
3025    ["Offset of field: st_mariadb_api::mysql_field_count"]
3026        [::std::mem::offset_of!(st_mariadb_api, mysql_field_count) - 56usize];
3027    ["Offset of field: st_mariadb_api::mysql_more_results"]
3028        [::std::mem::offset_of!(st_mariadb_api, mysql_more_results) - 64usize];
3029    ["Offset of field: st_mariadb_api::mysql_next_result"]
3030        [::std::mem::offset_of!(st_mariadb_api, mysql_next_result) - 72usize];
3031    ["Offset of field: st_mariadb_api::mysql_affected_rows"]
3032        [::std::mem::offset_of!(st_mariadb_api, mysql_affected_rows) - 80usize];
3033    ["Offset of field: st_mariadb_api::mysql_autocommit"]
3034        [::std::mem::offset_of!(st_mariadb_api, mysql_autocommit) - 88usize];
3035    ["Offset of field: st_mariadb_api::mysql_commit"]
3036        [::std::mem::offset_of!(st_mariadb_api, mysql_commit) - 96usize];
3037    ["Offset of field: st_mariadb_api::mysql_rollback"]
3038        [::std::mem::offset_of!(st_mariadb_api, mysql_rollback) - 104usize];
3039    ["Offset of field: st_mariadb_api::mysql_insert_id"]
3040        [::std::mem::offset_of!(st_mariadb_api, mysql_insert_id) - 112usize];
3041    ["Offset of field: st_mariadb_api::mysql_errno"]
3042        [::std::mem::offset_of!(st_mariadb_api, mysql_errno) - 120usize];
3043    ["Offset of field: st_mariadb_api::mysql_error"]
3044        [::std::mem::offset_of!(st_mariadb_api, mysql_error) - 128usize];
3045    ["Offset of field: st_mariadb_api::mysql_info"]
3046        [::std::mem::offset_of!(st_mariadb_api, mysql_info) - 136usize];
3047    ["Offset of field: st_mariadb_api::mysql_thread_id"]
3048        [::std::mem::offset_of!(st_mariadb_api, mysql_thread_id) - 144usize];
3049    ["Offset of field: st_mariadb_api::mysql_character_set_name"]
3050        [::std::mem::offset_of!(st_mariadb_api, mysql_character_set_name) - 152usize];
3051    ["Offset of field: st_mariadb_api::mysql_get_character_set_info"]
3052        [::std::mem::offset_of!(st_mariadb_api, mysql_get_character_set_info) - 160usize];
3053    ["Offset of field: st_mariadb_api::mysql_set_character_set"]
3054        [::std::mem::offset_of!(st_mariadb_api, mysql_set_character_set) - 168usize];
3055    ["Offset of field: st_mariadb_api::mariadb_get_infov"]
3056        [::std::mem::offset_of!(st_mariadb_api, mariadb_get_infov) - 176usize];
3057    ["Offset of field: st_mariadb_api::mariadb_get_info"]
3058        [::std::mem::offset_of!(st_mariadb_api, mariadb_get_info) - 184usize];
3059    ["Offset of field: st_mariadb_api::mysql_init"]
3060        [::std::mem::offset_of!(st_mariadb_api, mysql_init) - 192usize];
3061    ["Offset of field: st_mariadb_api::mysql_ssl_set"]
3062        [::std::mem::offset_of!(st_mariadb_api, mysql_ssl_set) - 200usize];
3063    ["Offset of field: st_mariadb_api::mysql_get_ssl_cipher"]
3064        [::std::mem::offset_of!(st_mariadb_api, mysql_get_ssl_cipher) - 208usize];
3065    ["Offset of field: st_mariadb_api::mysql_change_user"]
3066        [::std::mem::offset_of!(st_mariadb_api, mysql_change_user) - 216usize];
3067    ["Offset of field: st_mariadb_api::mysql_real_connect"]
3068        [::std::mem::offset_of!(st_mariadb_api, mysql_real_connect) - 224usize];
3069    ["Offset of field: st_mariadb_api::mysql_close"]
3070        [::std::mem::offset_of!(st_mariadb_api, mysql_close) - 232usize];
3071    ["Offset of field: st_mariadb_api::mysql_select_db"]
3072        [::std::mem::offset_of!(st_mariadb_api, mysql_select_db) - 240usize];
3073    ["Offset of field: st_mariadb_api::mysql_query"]
3074        [::std::mem::offset_of!(st_mariadb_api, mysql_query) - 248usize];
3075    ["Offset of field: st_mariadb_api::mysql_send_query"]
3076        [::std::mem::offset_of!(st_mariadb_api, mysql_send_query) - 256usize];
3077    ["Offset of field: st_mariadb_api::mysql_read_query_result"]
3078        [::std::mem::offset_of!(st_mariadb_api, mysql_read_query_result) - 264usize];
3079    ["Offset of field: st_mariadb_api::mysql_real_query"]
3080        [::std::mem::offset_of!(st_mariadb_api, mysql_real_query) - 272usize];
3081    ["Offset of field: st_mariadb_api::mysql_shutdown"]
3082        [::std::mem::offset_of!(st_mariadb_api, mysql_shutdown) - 280usize];
3083    ["Offset of field: st_mariadb_api::mysql_dump_debug_info"]
3084        [::std::mem::offset_of!(st_mariadb_api, mysql_dump_debug_info) - 288usize];
3085    ["Offset of field: st_mariadb_api::mysql_refresh"]
3086        [::std::mem::offset_of!(st_mariadb_api, mysql_refresh) - 296usize];
3087    ["Offset of field: st_mariadb_api::mysql_kill"]
3088        [::std::mem::offset_of!(st_mariadb_api, mysql_kill) - 304usize];
3089    ["Offset of field: st_mariadb_api::mysql_ping"]
3090        [::std::mem::offset_of!(st_mariadb_api, mysql_ping) - 312usize];
3091    ["Offset of field: st_mariadb_api::mysql_stat"]
3092        [::std::mem::offset_of!(st_mariadb_api, mysql_stat) - 320usize];
3093    ["Offset of field: st_mariadb_api::mysql_get_server_info"]
3094        [::std::mem::offset_of!(st_mariadb_api, mysql_get_server_info) - 328usize];
3095    ["Offset of field: st_mariadb_api::mysql_get_server_version"]
3096        [::std::mem::offset_of!(st_mariadb_api, mysql_get_server_version) - 336usize];
3097    ["Offset of field: st_mariadb_api::mysql_get_host_info"]
3098        [::std::mem::offset_of!(st_mariadb_api, mysql_get_host_info) - 344usize];
3099    ["Offset of field: st_mariadb_api::mysql_get_proto_info"]
3100        [::std::mem::offset_of!(st_mariadb_api, mysql_get_proto_info) - 352usize];
3101    ["Offset of field: st_mariadb_api::mysql_list_dbs"]
3102        [::std::mem::offset_of!(st_mariadb_api, mysql_list_dbs) - 360usize];
3103    ["Offset of field: st_mariadb_api::mysql_list_tables"]
3104        [::std::mem::offset_of!(st_mariadb_api, mysql_list_tables) - 368usize];
3105    ["Offset of field: st_mariadb_api::mysql_list_fields"]
3106        [::std::mem::offset_of!(st_mariadb_api, mysql_list_fields) - 376usize];
3107    ["Offset of field: st_mariadb_api::mysql_list_processes"]
3108        [::std::mem::offset_of!(st_mariadb_api, mysql_list_processes) - 384usize];
3109    ["Offset of field: st_mariadb_api::mysql_store_result"]
3110        [::std::mem::offset_of!(st_mariadb_api, mysql_store_result) - 392usize];
3111    ["Offset of field: st_mariadb_api::mysql_use_result"]
3112        [::std::mem::offset_of!(st_mariadb_api, mysql_use_result) - 400usize];
3113    ["Offset of field: st_mariadb_api::mysql_options"]
3114        [::std::mem::offset_of!(st_mariadb_api, mysql_options) - 408usize];
3115    ["Offset of field: st_mariadb_api::mysql_free_result"]
3116        [::std::mem::offset_of!(st_mariadb_api, mysql_free_result) - 416usize];
3117    ["Offset of field: st_mariadb_api::mysql_data_seek"]
3118        [::std::mem::offset_of!(st_mariadb_api, mysql_data_seek) - 424usize];
3119    ["Offset of field: st_mariadb_api::mysql_row_seek"]
3120        [::std::mem::offset_of!(st_mariadb_api, mysql_row_seek) - 432usize];
3121    ["Offset of field: st_mariadb_api::mysql_field_seek"]
3122        [::std::mem::offset_of!(st_mariadb_api, mysql_field_seek) - 440usize];
3123    ["Offset of field: st_mariadb_api::mysql_fetch_row"]
3124        [::std::mem::offset_of!(st_mariadb_api, mysql_fetch_row) - 448usize];
3125    ["Offset of field: st_mariadb_api::mysql_fetch_lengths"]
3126        [::std::mem::offset_of!(st_mariadb_api, mysql_fetch_lengths) - 456usize];
3127    ["Offset of field: st_mariadb_api::mysql_fetch_field"]
3128        [::std::mem::offset_of!(st_mariadb_api, mysql_fetch_field) - 464usize];
3129    ["Offset of field: st_mariadb_api::mysql_escape_string"]
3130        [::std::mem::offset_of!(st_mariadb_api, mysql_escape_string) - 472usize];
3131    ["Offset of field: st_mariadb_api::mysql_real_escape_string"]
3132        [::std::mem::offset_of!(st_mariadb_api, mysql_real_escape_string) - 480usize];
3133    ["Offset of field: st_mariadb_api::mysql_thread_safe"]
3134        [::std::mem::offset_of!(st_mariadb_api, mysql_thread_safe) - 488usize];
3135    ["Offset of field: st_mariadb_api::mysql_warning_count"]
3136        [::std::mem::offset_of!(st_mariadb_api, mysql_warning_count) - 496usize];
3137    ["Offset of field: st_mariadb_api::mysql_sqlstate"]
3138        [::std::mem::offset_of!(st_mariadb_api, mysql_sqlstate) - 504usize];
3139    ["Offset of field: st_mariadb_api::mysql_server_init"]
3140        [::std::mem::offset_of!(st_mariadb_api, mysql_server_init) - 512usize];
3141    ["Offset of field: st_mariadb_api::mysql_server_end"]
3142        [::std::mem::offset_of!(st_mariadb_api, mysql_server_end) - 520usize];
3143    ["Offset of field: st_mariadb_api::mysql_thread_end"]
3144        [::std::mem::offset_of!(st_mariadb_api, mysql_thread_end) - 528usize];
3145    ["Offset of field: st_mariadb_api::mysql_thread_init"]
3146        [::std::mem::offset_of!(st_mariadb_api, mysql_thread_init) - 536usize];
3147    ["Offset of field: st_mariadb_api::mysql_set_server_option"]
3148        [::std::mem::offset_of!(st_mariadb_api, mysql_set_server_option) - 544usize];
3149    ["Offset of field: st_mariadb_api::mysql_get_client_info"]
3150        [::std::mem::offset_of!(st_mariadb_api, mysql_get_client_info) - 552usize];
3151    ["Offset of field: st_mariadb_api::mysql_get_client_version"]
3152        [::std::mem::offset_of!(st_mariadb_api, mysql_get_client_version) - 560usize];
3153    ["Offset of field: st_mariadb_api::mariadb_connection"]
3154        [::std::mem::offset_of!(st_mariadb_api, mariadb_connection) - 568usize];
3155    ["Offset of field: st_mariadb_api::mysql_get_server_name"]
3156        [::std::mem::offset_of!(st_mariadb_api, mysql_get_server_name) - 576usize];
3157    ["Offset of field: st_mariadb_api::mariadb_get_charset_by_name"]
3158        [::std::mem::offset_of!(st_mariadb_api, mariadb_get_charset_by_name) - 584usize];
3159    ["Offset of field: st_mariadb_api::mariadb_get_charset_by_nr"]
3160        [::std::mem::offset_of!(st_mariadb_api, mariadb_get_charset_by_nr) - 592usize];
3161    ["Offset of field: st_mariadb_api::mariadb_convert_string"]
3162        [::std::mem::offset_of!(st_mariadb_api, mariadb_convert_string) - 600usize];
3163    ["Offset of field: st_mariadb_api::mysql_optionsv"]
3164        [::std::mem::offset_of!(st_mariadb_api, mysql_optionsv) - 608usize];
3165    ["Offset of field: st_mariadb_api::mysql_get_optionv"]
3166        [::std::mem::offset_of!(st_mariadb_api, mysql_get_optionv) - 616usize];
3167    ["Offset of field: st_mariadb_api::mysql_get_option"]
3168        [::std::mem::offset_of!(st_mariadb_api, mysql_get_option) - 624usize];
3169    ["Offset of field: st_mariadb_api::mysql_hex_string"]
3170        [::std::mem::offset_of!(st_mariadb_api, mysql_hex_string) - 632usize];
3171    ["Offset of field: st_mariadb_api::mysql_get_socket"]
3172        [::std::mem::offset_of!(st_mariadb_api, mysql_get_socket) - 640usize];
3173    ["Offset of field: st_mariadb_api::mysql_get_timeout_value"]
3174        [::std::mem::offset_of!(st_mariadb_api, mysql_get_timeout_value) - 648usize];
3175    ["Offset of field: st_mariadb_api::mysql_get_timeout_value_ms"]
3176        [::std::mem::offset_of!(st_mariadb_api, mysql_get_timeout_value_ms) - 656usize];
3177    ["Offset of field: st_mariadb_api::mariadb_reconnect"]
3178        [::std::mem::offset_of!(st_mariadb_api, mariadb_reconnect) - 664usize];
3179    ["Offset of field: st_mariadb_api::mysql_stmt_init"]
3180        [::std::mem::offset_of!(st_mariadb_api, mysql_stmt_init) - 672usize];
3181    ["Offset of field: st_mariadb_api::mysql_stmt_prepare"]
3182        [::std::mem::offset_of!(st_mariadb_api, mysql_stmt_prepare) - 680usize];
3183    ["Offset of field: st_mariadb_api::mysql_stmt_execute"]
3184        [::std::mem::offset_of!(st_mariadb_api, mysql_stmt_execute) - 688usize];
3185    ["Offset of field: st_mariadb_api::mysql_stmt_fetch"]
3186        [::std::mem::offset_of!(st_mariadb_api, mysql_stmt_fetch) - 696usize];
3187    ["Offset of field: st_mariadb_api::mysql_stmt_fetch_column"]
3188        [::std::mem::offset_of!(st_mariadb_api, mysql_stmt_fetch_column) - 704usize];
3189    ["Offset of field: st_mariadb_api::mysql_stmt_store_result"]
3190        [::std::mem::offset_of!(st_mariadb_api, mysql_stmt_store_result) - 712usize];
3191    ["Offset of field: st_mariadb_api::mysql_stmt_param_count"]
3192        [::std::mem::offset_of!(st_mariadb_api, mysql_stmt_param_count) - 720usize];
3193    ["Offset of field: st_mariadb_api::mysql_stmt_attr_set"]
3194        [::std::mem::offset_of!(st_mariadb_api, mysql_stmt_attr_set) - 728usize];
3195    ["Offset of field: st_mariadb_api::mysql_stmt_attr_get"]
3196        [::std::mem::offset_of!(st_mariadb_api, mysql_stmt_attr_get) - 736usize];
3197    ["Offset of field: st_mariadb_api::mysql_stmt_bind_param"]
3198        [::std::mem::offset_of!(st_mariadb_api, mysql_stmt_bind_param) - 744usize];
3199    ["Offset of field: st_mariadb_api::mysql_stmt_bind_result"]
3200        [::std::mem::offset_of!(st_mariadb_api, mysql_stmt_bind_result) - 752usize];
3201    ["Offset of field: st_mariadb_api::mysql_stmt_close"]
3202        [::std::mem::offset_of!(st_mariadb_api, mysql_stmt_close) - 760usize];
3203    ["Offset of field: st_mariadb_api::mysql_stmt_reset"]
3204        [::std::mem::offset_of!(st_mariadb_api, mysql_stmt_reset) - 768usize];
3205    ["Offset of field: st_mariadb_api::mysql_stmt_free_result"]
3206        [::std::mem::offset_of!(st_mariadb_api, mysql_stmt_free_result) - 776usize];
3207    ["Offset of field: st_mariadb_api::mysql_stmt_send_long_data"]
3208        [::std::mem::offset_of!(st_mariadb_api, mysql_stmt_send_long_data) - 784usize];
3209    ["Offset of field: st_mariadb_api::mysql_stmt_result_metadata"]
3210        [::std::mem::offset_of!(st_mariadb_api, mysql_stmt_result_metadata) - 792usize];
3211    ["Offset of field: st_mariadb_api::mysql_stmt_param_metadata"]
3212        [::std::mem::offset_of!(st_mariadb_api, mysql_stmt_param_metadata) - 800usize];
3213    ["Offset of field: st_mariadb_api::mysql_stmt_errno"]
3214        [::std::mem::offset_of!(st_mariadb_api, mysql_stmt_errno) - 808usize];
3215    ["Offset of field: st_mariadb_api::mysql_stmt_error"]
3216        [::std::mem::offset_of!(st_mariadb_api, mysql_stmt_error) - 816usize];
3217    ["Offset of field: st_mariadb_api::mysql_stmt_sqlstate"]
3218        [::std::mem::offset_of!(st_mariadb_api, mysql_stmt_sqlstate) - 824usize];
3219    ["Offset of field: st_mariadb_api::mysql_stmt_row_seek"]
3220        [::std::mem::offset_of!(st_mariadb_api, mysql_stmt_row_seek) - 832usize];
3221    ["Offset of field: st_mariadb_api::mysql_stmt_row_tell"]
3222        [::std::mem::offset_of!(st_mariadb_api, mysql_stmt_row_tell) - 840usize];
3223    ["Offset of field: st_mariadb_api::mysql_stmt_data_seek"]
3224        [::std::mem::offset_of!(st_mariadb_api, mysql_stmt_data_seek) - 848usize];
3225    ["Offset of field: st_mariadb_api::mysql_stmt_num_rows"]
3226        [::std::mem::offset_of!(st_mariadb_api, mysql_stmt_num_rows) - 856usize];
3227    ["Offset of field: st_mariadb_api::mysql_stmt_affected_rows"]
3228        [::std::mem::offset_of!(st_mariadb_api, mysql_stmt_affected_rows) - 864usize];
3229    ["Offset of field: st_mariadb_api::mysql_stmt_insert_id"]
3230        [::std::mem::offset_of!(st_mariadb_api, mysql_stmt_insert_id) - 872usize];
3231    ["Offset of field: st_mariadb_api::mysql_stmt_field_count"]
3232        [::std::mem::offset_of!(st_mariadb_api, mysql_stmt_field_count) - 880usize];
3233    ["Offset of field: st_mariadb_api::mysql_stmt_next_result"]
3234        [::std::mem::offset_of!(st_mariadb_api, mysql_stmt_next_result) - 888usize];
3235    ["Offset of field: st_mariadb_api::mysql_stmt_more_results"]
3236        [::std::mem::offset_of!(st_mariadb_api, mysql_stmt_more_results) - 896usize];
3237    ["Offset of field: st_mariadb_api::mariadb_stmt_execute_direct"]
3238        [::std::mem::offset_of!(st_mariadb_api, mariadb_stmt_execute_direct) - 904usize];
3239    ["Offset of field: st_mariadb_api::mysql_reset_connection"]
3240        [::std::mem::offset_of!(st_mariadb_api, mysql_reset_connection) - 912usize];
3241};
3242#[repr(C)]
3243#[derive(Debug, Copy, Clone)]
3244pub struct st_mariadb_methods {
3245    pub db_connect: ::std::option::Option<
3246        unsafe extern "C" fn(
3247            mysql: *mut MYSQL,
3248            host: *const ::std::os::raw::c_char,
3249            user: *const ::std::os::raw::c_char,
3250            passwd: *const ::std::os::raw::c_char,
3251            db: *const ::std::os::raw::c_char,
3252            port: ::std::os::raw::c_uint,
3253            unix_socket: *const ::std::os::raw::c_char,
3254            clientflag: ::std::os::raw::c_ulong,
3255        ) -> *mut MYSQL,
3256    >,
3257    pub db_close: ::std::option::Option<unsafe extern "C" fn(mysql: *mut MYSQL)>,
3258    pub db_command: ::std::option::Option<
3259        unsafe extern "C" fn(
3260            mysql: *mut MYSQL,
3261            command: enum_server_command,
3262            arg: *const ::std::os::raw::c_char,
3263            length: usize,
3264            skip_check: my_bool,
3265            opt_arg: *mut ::std::os::raw::c_void,
3266        ) -> ::std::os::raw::c_int,
3267    >,
3268    pub db_skip_result: ::std::option::Option<unsafe extern "C" fn(mysql: *mut MYSQL)>,
3269    pub db_read_query_result:
3270        ::std::option::Option<unsafe extern "C" fn(mysql: *mut MYSQL) -> ::std::os::raw::c_int>,
3271    pub db_read_rows: ::std::option::Option<
3272        unsafe extern "C" fn(
3273            mysql: *mut MYSQL,
3274            fields: *mut MYSQL_FIELD,
3275            field_count: ::std::os::raw::c_uint,
3276        ) -> *mut MYSQL_DATA,
3277    >,
3278    pub db_read_one_row: ::std::option::Option<
3279        unsafe extern "C" fn(
3280            mysql: *mut MYSQL,
3281            fields: ::std::os::raw::c_uint,
3282            row: MYSQL_ROW,
3283            lengths: *mut ::std::os::raw::c_ulong,
3284        ) -> ::std::os::raw::c_int,
3285    >,
3286    pub db_supported_buffer_type:
3287        ::std::option::Option<unsafe extern "C" fn(type_: enum_field_types) -> my_bool>,
3288    pub db_read_prepare_response:
3289        ::std::option::Option<unsafe extern "C" fn(stmt: *mut MYSQL_STMT) -> my_bool>,
3290    pub db_read_stmt_result:
3291        ::std::option::Option<unsafe extern "C" fn(mysql: *mut MYSQL) -> ::std::os::raw::c_int>,
3292    pub db_stmt_get_result_metadata:
3293        ::std::option::Option<unsafe extern "C" fn(stmt: *mut MYSQL_STMT) -> my_bool>,
3294    pub db_stmt_get_param_metadata:
3295        ::std::option::Option<unsafe extern "C" fn(stmt: *mut MYSQL_STMT) -> my_bool>,
3296    pub db_stmt_read_all_rows:
3297        ::std::option::Option<unsafe extern "C" fn(stmt: *mut MYSQL_STMT) -> ::std::os::raw::c_int>,
3298    pub db_stmt_fetch: ::std::option::Option<
3299        unsafe extern "C" fn(
3300            stmt: *mut MYSQL_STMT,
3301            row: *mut *mut ::std::os::raw::c_uchar,
3302        ) -> ::std::os::raw::c_int,
3303    >,
3304    pub db_stmt_fetch_to_bind: ::std::option::Option<
3305        unsafe extern "C" fn(
3306            stmt: *mut MYSQL_STMT,
3307            row: *mut ::std::os::raw::c_uchar,
3308        ) -> ::std::os::raw::c_int,
3309    >,
3310    pub db_stmt_flush_unbuffered:
3311        ::std::option::Option<unsafe extern "C" fn(stmt: *mut MYSQL_STMT)>,
3312    pub set_error: ::std::option::Option<
3313        unsafe extern "C" fn(
3314            mysql: *mut MYSQL,
3315            error_nr: ::std::os::raw::c_uint,
3316            sqlstate: *const ::std::os::raw::c_char,
3317            format: *const ::std::os::raw::c_char,
3318            ...
3319        ),
3320    >,
3321    pub invalidate_stmts: ::std::option::Option<
3322        unsafe extern "C" fn(mysql: *mut MYSQL, function_name: *const ::std::os::raw::c_char),
3323    >,
3324    pub api: *mut st_mariadb_api,
3325    pub db_read_execute_response:
3326        ::std::option::Option<unsafe extern "C" fn(stmt: *mut MYSQL_STMT) -> ::std::os::raw::c_int>,
3327    pub db_execute_generate_request: ::std::option::Option<
3328        unsafe extern "C" fn(
3329            stmt: *mut MYSQL_STMT,
3330            request_len: *mut usize,
3331            internal: my_bool,
3332        ) -> *mut ::std::os::raw::c_uchar,
3333    >,
3334}
3335#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3336const _: () = {
3337    ["Size of st_mariadb_methods"][::std::mem::size_of::<st_mariadb_methods>() - 168usize];
3338    ["Alignment of st_mariadb_methods"][::std::mem::align_of::<st_mariadb_methods>() - 8usize];
3339    ["Offset of field: st_mariadb_methods::db_connect"]
3340        [::std::mem::offset_of!(st_mariadb_methods, db_connect) - 0usize];
3341    ["Offset of field: st_mariadb_methods::db_close"]
3342        [::std::mem::offset_of!(st_mariadb_methods, db_close) - 8usize];
3343    ["Offset of field: st_mariadb_methods::db_command"]
3344        [::std::mem::offset_of!(st_mariadb_methods, db_command) - 16usize];
3345    ["Offset of field: st_mariadb_methods::db_skip_result"]
3346        [::std::mem::offset_of!(st_mariadb_methods, db_skip_result) - 24usize];
3347    ["Offset of field: st_mariadb_methods::db_read_query_result"]
3348        [::std::mem::offset_of!(st_mariadb_methods, db_read_query_result) - 32usize];
3349    ["Offset of field: st_mariadb_methods::db_read_rows"]
3350        [::std::mem::offset_of!(st_mariadb_methods, db_read_rows) - 40usize];
3351    ["Offset of field: st_mariadb_methods::db_read_one_row"]
3352        [::std::mem::offset_of!(st_mariadb_methods, db_read_one_row) - 48usize];
3353    ["Offset of field: st_mariadb_methods::db_supported_buffer_type"]
3354        [::std::mem::offset_of!(st_mariadb_methods, db_supported_buffer_type) - 56usize];
3355    ["Offset of field: st_mariadb_methods::db_read_prepare_response"]
3356        [::std::mem::offset_of!(st_mariadb_methods, db_read_prepare_response) - 64usize];
3357    ["Offset of field: st_mariadb_methods::db_read_stmt_result"]
3358        [::std::mem::offset_of!(st_mariadb_methods, db_read_stmt_result) - 72usize];
3359    ["Offset of field: st_mariadb_methods::db_stmt_get_result_metadata"]
3360        [::std::mem::offset_of!(st_mariadb_methods, db_stmt_get_result_metadata) - 80usize];
3361    ["Offset of field: st_mariadb_methods::db_stmt_get_param_metadata"]
3362        [::std::mem::offset_of!(st_mariadb_methods, db_stmt_get_param_metadata) - 88usize];
3363    ["Offset of field: st_mariadb_methods::db_stmt_read_all_rows"]
3364        [::std::mem::offset_of!(st_mariadb_methods, db_stmt_read_all_rows) - 96usize];
3365    ["Offset of field: st_mariadb_methods::db_stmt_fetch"]
3366        [::std::mem::offset_of!(st_mariadb_methods, db_stmt_fetch) - 104usize];
3367    ["Offset of field: st_mariadb_methods::db_stmt_fetch_to_bind"]
3368        [::std::mem::offset_of!(st_mariadb_methods, db_stmt_fetch_to_bind) - 112usize];
3369    ["Offset of field: st_mariadb_methods::db_stmt_flush_unbuffered"]
3370        [::std::mem::offset_of!(st_mariadb_methods, db_stmt_flush_unbuffered) - 120usize];
3371    ["Offset of field: st_mariadb_methods::set_error"]
3372        [::std::mem::offset_of!(st_mariadb_methods, set_error) - 128usize];
3373    ["Offset of field: st_mariadb_methods::invalidate_stmts"]
3374        [::std::mem::offset_of!(st_mariadb_methods, invalidate_stmts) - 136usize];
3375    ["Offset of field: st_mariadb_methods::api"]
3376        [::std::mem::offset_of!(st_mariadb_methods, api) - 144usize];
3377    ["Offset of field: st_mariadb_methods::db_read_execute_response"]
3378        [::std::mem::offset_of!(st_mariadb_methods, db_read_execute_response) - 152usize];
3379    ["Offset of field: st_mariadb_methods::db_execute_generate_request"]
3380        [::std::mem::offset_of!(st_mariadb_methods, db_execute_generate_request) - 160usize];
3381};
3382pub type __builtin_va_list = [__va_list_tag; 1usize];
3383#[repr(C)]
3384#[derive(Debug, Copy, Clone)]
3385pub struct __va_list_tag {
3386    pub gp_offset: ::std::os::raw::c_uint,
3387    pub fp_offset: ::std::os::raw::c_uint,
3388    pub overflow_arg_area: *mut ::std::os::raw::c_void,
3389    pub reg_save_area: *mut ::std::os::raw::c_void,
3390}
3391#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3392const _: () = {
3393    ["Size of __va_list_tag"][::std::mem::size_of::<__va_list_tag>() - 24usize];
3394    ["Alignment of __va_list_tag"][::std::mem::align_of::<__va_list_tag>() - 8usize];
3395    ["Offset of field: __va_list_tag::gp_offset"]
3396        [::std::mem::offset_of!(__va_list_tag, gp_offset) - 0usize];
3397    ["Offset of field: __va_list_tag::fp_offset"]
3398        [::std::mem::offset_of!(__va_list_tag, fp_offset) - 4usize];
3399    ["Offset of field: __va_list_tag::overflow_arg_area"]
3400        [::std::mem::offset_of!(__va_list_tag, overflow_arg_area) - 8usize];
3401    ["Offset of field: __va_list_tag::reg_save_area"]
3402        [::std::mem::offset_of!(__va_list_tag, reg_save_area) - 16usize];
3403};
3404#[repr(C)]
3405#[derive(Debug, Copy, Clone)]
3406pub struct st_mariadb_net_extension {
3407    pub _address: u8,
3408}
3409#[repr(C)]
3410#[derive(Debug, Copy, Clone)]
3411pub struct st_dynamic_array {
3412    pub _address: u8,
3413}
3414#[repr(C)]
3415#[derive(Debug, Copy, Clone)]
3416pub struct st_mysql_options_extension {
3417    pub _address: u8,
3418}
3419#[repr(C)]
3420#[derive(Debug, Copy, Clone)]
3421pub struct st_mariadb_extension {
3422    pub _address: u8,
3423}