/* automatically generated by rust-bindgen 0.72.1 */

pub const MYSQL_AUTODETECT_CHARSET_NAME: &[u8; 5] = b"auto\0";
pub const MARIADB_CLIENT_FLAGS: i64 = -4294967296;
pub const MARIADB_CLIENT_PROGRESS: u64 = 4294967296;
pub const MARIADB_CLIENT_RESERVED_1: u64 = 8589934592;
pub const MARIADB_CLIENT_STMT_BULK_OPERATIONS: u64 = 17179869184;
pub const MARIADB_CLIENT_EXTENDED_METADATA: u64 = 34359738368;
pub const MARIADB_CLIENT_CACHE_METADATA: u64 = 68719476736;
pub const MARIADB_CLIENT_SUPPORTED_FLAGS: u64 = 124554051584;
pub const MYSQL_ERRMSG_SIZE: u32 = 512;
pub const MYSQL50_TABLE_NAME_PREFIX: &[u8; 10] = b"#mysql50#\0";
pub const MARIADB_CONNECTION_UNIXSOCKET: u32 = 0;
pub const MARIADB_CONNECTION_TCP: u32 = 1;
pub const MARIADB_CONNECTION_NAMEDPIPE: u32 = 2;
pub const MARIADB_CONNECTION_SHAREDMEM: u32 = 3;
pub const MARIADB_CLIENT_VERSION_STR: &[u8; 7] = b"10.8.8\0";
pub const MARIADB_BASE_VERSION: &[u8; 13] = b"mariadb-10.8\0";
pub const MARIADB_VERSION_ID: u32 = 100808;
pub const MARIADB_PORT: u32 = 3306;
pub const MARIADB_UNIX_ADDR: &[u8; 16] = b"/tmp/mysql.sock\0";
pub const MYSQL_UNIX_ADDR: &[u8; 16] = b"/tmp/mysql.sock\0";
pub const MYSQL_PORT: u32 = 3306;
pub const MYSQL_CONFIG_NAME: &[u8; 3] = b"my\0";
pub const MYSQL_VERSION_ID: u32 = 100808;
pub const MYSQL_SERVER_VERSION: &[u8; 15] = b"10.8.8-MariaDB\0";
pub const MARIADB_PACKAGE_VERSION: &[u8; 7] = b"3.3.14\0";
pub const MARIADB_PACKAGE_VERSION_ID: u32 = 30314;
pub const MARIADB_SYSTEM_TYPE: &[u8; 6] = b"Linux\0";
pub const MARIADB_MACHINE_TYPE: &[u8; 7] = b"x86_64\0";
pub const MARIADB_PLUGINDIR: &[u8; 30] = b"/usr/local/lib/mariadb/plugin\0";
pub const MYSQL_CHARSET: &[u8; 1] = b"\0";
pub const MARIADB_INVALID_SOCKET: i32 = -1;
pub const MYSQL_WAIT_READ: u32 = 1;
pub const MYSQL_WAIT_WRITE: u32 = 2;
pub const MYSQL_WAIT_EXCEPT: u32 = 4;
pub const MYSQL_WAIT_TIMEOUT: u32 = 8;
pub const MYSQL_NO_DATA: u32 = 100;
pub const MYSQL_DATA_TRUNCATED: u32 = 101;
pub const MYSQL_PS_SKIP_RESULT_W_LEN: i32 = -1;
pub const MYSQL_PS_SKIP_RESULT_STR: i32 = -2;
pub type va_list = __builtin_va_list;
pub type my_bool = ::std::os::raw::c_char;
pub type my_ulonglong = ::std::os::raw::c_ulonglong;
pub type my_socket = ::std::os::raw::c_int;
#[repr(u32)]
#[non_exhaustive]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum mysql_enum_shutdown_level {
    SHUTDOWN_DEFAULT = 0,
    KILL_QUERY = 254,
    KILL_CONNECTION = 255,
}
#[repr(u32)]
#[non_exhaustive]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum enum_server_command {
    COM_SLEEP = 0,
    COM_QUIT = 1,
    COM_INIT_DB = 2,
    COM_QUERY = 3,
    COM_FIELD_LIST = 4,
    COM_CREATE_DB = 5,
    COM_DROP_DB = 6,
    COM_REFRESH = 7,
    COM_SHUTDOWN = 8,
    COM_STATISTICS = 9,
    COM_PROCESS_INFO = 10,
    COM_CONNECT = 11,
    COM_PROCESS_KILL = 12,
    COM_DEBUG = 13,
    COM_PING = 14,
    COM_TIME = 15,
    COM_DELAYED_INSERT = 16,
    COM_CHANGE_USER = 17,
    COM_BINLOG_DUMP = 18,
    COM_TABLE_DUMP = 19,
    COM_CONNECT_OUT = 20,
    COM_REGISTER_SLAVE = 21,
    COM_STMT_PREPARE = 22,
    COM_STMT_EXECUTE = 23,
    COM_STMT_SEND_LONG_DATA = 24,
    COM_STMT_CLOSE = 25,
    COM_STMT_RESET = 26,
    COM_SET_OPTION = 27,
    COM_STMT_FETCH = 28,
    COM_DAEMON = 29,
    COM_UNSUPPORTED = 30,
    COM_RESET_CONNECTION = 31,
    COM_STMT_BULK_EXECUTE = 250,
    COM_RESERVED_1 = 254,
    COM_END = 255,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct st_ma_pvio {
    _unused: [u8; 0],
}
pub type MARIADB_PVIO = st_ma_pvio;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct st_net {
    pub pvio: *mut MARIADB_PVIO,
    pub buff: *mut ::std::os::raw::c_uchar,
    pub buff_end: *mut ::std::os::raw::c_uchar,
    pub write_pos: *mut ::std::os::raw::c_uchar,
    pub read_pos: *mut ::std::os::raw::c_uchar,
    pub fd: my_socket,
    pub remain_in_buf: ::std::os::raw::c_ulong,
    pub length: ::std::os::raw::c_ulong,
    pub buf_length: ::std::os::raw::c_ulong,
    pub where_b: ::std::os::raw::c_ulong,
    pub max_packet: ::std::os::raw::c_ulong,
    pub max_packet_size: ::std::os::raw::c_ulong,
    pub pkt_nr: ::std::os::raw::c_uint,
    pub compress_pkt_nr: ::std::os::raw::c_uint,
    pub write_timeout: ::std::os::raw::c_uint,
    pub read_timeout: ::std::os::raw::c_uint,
    pub retry_count: ::std::os::raw::c_uint,
    pub fcntl: ::std::os::raw::c_int,
    pub return_status: *mut ::std::os::raw::c_uint,
    pub reading_or_writing: ::std::os::raw::c_uchar,
    pub save_char: ::std::os::raw::c_char,
    pub unused_1: ::std::os::raw::c_char,
    pub unused_2: my_bool,
    pub compress: my_bool,
    pub unused_3: my_bool,
    pub unused_4: *mut ::std::os::raw::c_void,
    pub last_errno: ::std::os::raw::c_uint,
    pub error: ::std::os::raw::c_uchar,
    pub unused_5: my_bool,
    pub unused_6: my_bool,
    pub last_error: [::std::os::raw::c_char; 512usize],
    pub sqlstate: [::std::os::raw::c_char; 6usize],
    pub extension: *mut st_mariadb_net_extension,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of st_net"][::std::mem::size_of::<st_net>() - 620usize];
    ["Alignment of st_net"][::std::mem::align_of::<st_net>() - 4usize];
    ["Offset of field: st_net::pvio"][::std::mem::offset_of!(st_net, pvio) - 0usize];
    ["Offset of field: st_net::buff"][::std::mem::offset_of!(st_net, buff) - 4usize];
    ["Offset of field: st_net::buff_end"][::std::mem::offset_of!(st_net, buff_end) - 8usize];
    ["Offset of field: st_net::write_pos"][::std::mem::offset_of!(st_net, write_pos) - 12usize];
    ["Offset of field: st_net::read_pos"][::std::mem::offset_of!(st_net, read_pos) - 16usize];
    ["Offset of field: st_net::fd"][::std::mem::offset_of!(st_net, fd) - 20usize];
    ["Offset of field: st_net::remain_in_buf"]
        [::std::mem::offset_of!(st_net, remain_in_buf) - 24usize];
    ["Offset of field: st_net::length"][::std::mem::offset_of!(st_net, length) - 28usize];
    ["Offset of field: st_net::buf_length"][::std::mem::offset_of!(st_net, buf_length) - 32usize];
    ["Offset of field: st_net::where_b"][::std::mem::offset_of!(st_net, where_b) - 36usize];
    ["Offset of field: st_net::max_packet"][::std::mem::offset_of!(st_net, max_packet) - 40usize];
    ["Offset of field: st_net::max_packet_size"]
        [::std::mem::offset_of!(st_net, max_packet_size) - 44usize];
    ["Offset of field: st_net::pkt_nr"][::std::mem::offset_of!(st_net, pkt_nr) - 48usize];
    ["Offset of field: st_net::compress_pkt_nr"]
        [::std::mem::offset_of!(st_net, compress_pkt_nr) - 52usize];
    ["Offset of field: st_net::write_timeout"]
        [::std::mem::offset_of!(st_net, write_timeout) - 56usize];
    ["Offset of field: st_net::read_timeout"]
        [::std::mem::offset_of!(st_net, read_timeout) - 60usize];
    ["Offset of field: st_net::retry_count"][::std::mem::offset_of!(st_net, retry_count) - 64usize];
    ["Offset of field: st_net::fcntl"][::std::mem::offset_of!(st_net, fcntl) - 68usize];
    ["Offset of field: st_net::return_status"]
        [::std::mem::offset_of!(st_net, return_status) - 72usize];
    ["Offset of field: st_net::reading_or_writing"]
        [::std::mem::offset_of!(st_net, reading_or_writing) - 76usize];
    ["Offset of field: st_net::save_char"][::std::mem::offset_of!(st_net, save_char) - 77usize];
    ["Offset of field: st_net::unused_1"][::std::mem::offset_of!(st_net, unused_1) - 78usize];
    ["Offset of field: st_net::unused_2"][::std::mem::offset_of!(st_net, unused_2) - 79usize];
    ["Offset of field: st_net::compress"][::std::mem::offset_of!(st_net, compress) - 80usize];
    ["Offset of field: st_net::unused_3"][::std::mem::offset_of!(st_net, unused_3) - 81usize];
    ["Offset of field: st_net::unused_4"][::std::mem::offset_of!(st_net, unused_4) - 84usize];
    ["Offset of field: st_net::last_errno"][::std::mem::offset_of!(st_net, last_errno) - 88usize];
    ["Offset of field: st_net::error"][::std::mem::offset_of!(st_net, error) - 92usize];
    ["Offset of field: st_net::unused_5"][::std::mem::offset_of!(st_net, unused_5) - 93usize];
    ["Offset of field: st_net::unused_6"][::std::mem::offset_of!(st_net, unused_6) - 94usize];
    ["Offset of field: st_net::last_error"][::std::mem::offset_of!(st_net, last_error) - 95usize];
    ["Offset of field: st_net::sqlstate"][::std::mem::offset_of!(st_net, sqlstate) - 607usize];
    ["Offset of field: st_net::extension"][::std::mem::offset_of!(st_net, extension) - 616usize];
};
pub type NET = st_net;
#[repr(u32)]
#[non_exhaustive]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum enum_mysql_set_option {
    MYSQL_OPTION_MULTI_STATEMENTS_ON = 0,
    MYSQL_OPTION_MULTI_STATEMENTS_OFF = 1,
}
#[repr(u32)]
#[non_exhaustive]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum enum_session_state_type {
    SESSION_TRACK_SYSTEM_VARIABLES = 0,
    SESSION_TRACK_SCHEMA = 1,
    SESSION_TRACK_STATE_CHANGE = 2,
    SESSION_TRACK_GTIDS = 3,
    SESSION_TRACK_TRANSACTION_CHARACTERISTICS = 4,
    SESSION_TRACK_TRANSACTION_STATE = 5,
}
#[repr(u32)]
#[non_exhaustive]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum enum_field_types {
    MYSQL_TYPE_DECIMAL = 0,
    MYSQL_TYPE_TINY = 1,
    MYSQL_TYPE_SHORT = 2,
    MYSQL_TYPE_LONG = 3,
    MYSQL_TYPE_FLOAT = 4,
    MYSQL_TYPE_DOUBLE = 5,
    MYSQL_TYPE_NULL = 6,
    MYSQL_TYPE_TIMESTAMP = 7,
    MYSQL_TYPE_LONGLONG = 8,
    MYSQL_TYPE_INT24 = 9,
    MYSQL_TYPE_DATE = 10,
    MYSQL_TYPE_TIME = 11,
    MYSQL_TYPE_DATETIME = 12,
    MYSQL_TYPE_YEAR = 13,
    MYSQL_TYPE_NEWDATE = 14,
    MYSQL_TYPE_VARCHAR = 15,
    MYSQL_TYPE_BIT = 16,
    MYSQL_TYPE_TIMESTAMP2 = 17,
    MYSQL_TYPE_DATETIME2 = 18,
    MYSQL_TYPE_TIME2 = 19,
    MYSQL_TYPE_JSON = 245,
    MYSQL_TYPE_NEWDECIMAL = 246,
    MYSQL_TYPE_ENUM = 247,
    MYSQL_TYPE_SET = 248,
    MYSQL_TYPE_TINY_BLOB = 249,
    MYSQL_TYPE_MEDIUM_BLOB = 250,
    MYSQL_TYPE_LONG_BLOB = 251,
    MYSQL_TYPE_BLOB = 252,
    MYSQL_TYPE_VAR_STRING = 253,
    MYSQL_TYPE_STRING = 254,
    MYSQL_TYPE_GEOMETRY = 255,
    MAX_NO_FIELD_TYPES = 256,
}
unsafe extern "C" {
    pub fn mariadb_load_defaults(
        conf_file: *const ::std::os::raw::c_char,
        groups: *mut *const ::std::os::raw::c_char,
        argc: *mut ::std::os::raw::c_int,
        argv: *mut *mut *mut ::std::os::raw::c_char,
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct st_list {
    pub prev: *mut st_list,
    pub next: *mut st_list,
    pub data: *mut ::std::os::raw::c_void,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of st_list"][::std::mem::size_of::<st_list>() - 12usize];
    ["Alignment of st_list"][::std::mem::align_of::<st_list>() - 4usize];
    ["Offset of field: st_list::prev"][::std::mem::offset_of!(st_list, prev) - 0usize];
    ["Offset of field: st_list::next"][::std::mem::offset_of!(st_list, next) - 4usize];
    ["Offset of field: st_list::data"][::std::mem::offset_of!(st_list, data) - 8usize];
};
pub type LIST = st_list;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ma_charset_info_st {
    pub nr: ::std::os::raw::c_uint,
    pub state: ::std::os::raw::c_uint,
    pub csname: *const ::std::os::raw::c_char,
    pub name: *const ::std::os::raw::c_char,
    pub dir: *const ::std::os::raw::c_char,
    pub codepage: ::std::os::raw::c_uint,
    pub encoding: *const ::std::os::raw::c_char,
    pub char_minlen: ::std::os::raw::c_uint,
    pub char_maxlen: ::std::os::raw::c_uint,
    pub mb_charlen: ::std::option::Option<
        unsafe extern "C" fn(c: ::std::os::raw::c_uint) -> ::std::os::raw::c_uint,
    >,
    pub mb_valid: ::std::option::Option<
        unsafe extern "C" fn(
            start: *const ::std::os::raw::c_char,
            end: *const ::std::os::raw::c_char,
        ) -> ::std::os::raw::c_uint,
    >,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of ma_charset_info_st"][::std::mem::size_of::<ma_charset_info_st>() - 44usize];
    ["Alignment of ma_charset_info_st"][::std::mem::align_of::<ma_charset_info_st>() - 4usize];
    ["Offset of field: ma_charset_info_st::nr"]
        [::std::mem::offset_of!(ma_charset_info_st, nr) - 0usize];
    ["Offset of field: ma_charset_info_st::state"]
        [::std::mem::offset_of!(ma_charset_info_st, state) - 4usize];
    ["Offset of field: ma_charset_info_st::csname"]
        [::std::mem::offset_of!(ma_charset_info_st, csname) - 8usize];
    ["Offset of field: ma_charset_info_st::name"]
        [::std::mem::offset_of!(ma_charset_info_st, name) - 12usize];
    ["Offset of field: ma_charset_info_st::dir"]
        [::std::mem::offset_of!(ma_charset_info_st, dir) - 16usize];
    ["Offset of field: ma_charset_info_st::codepage"]
        [::std::mem::offset_of!(ma_charset_info_st, codepage) - 20usize];
    ["Offset of field: ma_charset_info_st::encoding"]
        [::std::mem::offset_of!(ma_charset_info_st, encoding) - 24usize];
    ["Offset of field: ma_charset_info_st::char_minlen"]
        [::std::mem::offset_of!(ma_charset_info_st, char_minlen) - 28usize];
    ["Offset of field: ma_charset_info_st::char_maxlen"]
        [::std::mem::offset_of!(ma_charset_info_st, char_maxlen) - 32usize];
    ["Offset of field: ma_charset_info_st::mb_charlen"]
        [::std::mem::offset_of!(ma_charset_info_st, mb_charlen) - 36usize];
    ["Offset of field: ma_charset_info_st::mb_valid"]
        [::std::mem::offset_of!(ma_charset_info_st, mb_valid) - 40usize];
};
pub type MARIADB_CHARSET_INFO = ma_charset_info_st;
unsafe extern "C" {
    pub fn mysql_cset_escape_quotes(
        cset: *const MARIADB_CHARSET_INFO,
        newstr: *mut ::std::os::raw::c_char,
        escapestr: *const ::std::os::raw::c_char,
        escapestr_len: usize,
    ) -> usize;
}
unsafe extern "C" {
    pub fn mysql_cset_escape_slashes(
        cset: *const MARIADB_CHARSET_INFO,
        newstr: *mut ::std::os::raw::c_char,
        escapestr: *const ::std::os::raw::c_char,
        escapestr_len: usize,
    ) -> usize;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct st_ma_const_string {
    pub str_: *const ::std::os::raw::c_char,
    pub length: usize,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of st_ma_const_string"][::std::mem::size_of::<st_ma_const_string>() - 8usize];
    ["Alignment of st_ma_const_string"][::std::mem::align_of::<st_ma_const_string>() - 4usize];
    ["Offset of field: st_ma_const_string::str_"]
        [::std::mem::offset_of!(st_ma_const_string, str_) - 0usize];
    ["Offset of field: st_ma_const_string::length"]
        [::std::mem::offset_of!(st_ma_const_string, length) - 4usize];
};
pub type MARIADB_CONST_STRING = st_ma_const_string;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct st_ma_const_data {
    pub data: *const ::std::os::raw::c_uchar,
    pub length: usize,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of st_ma_const_data"][::std::mem::size_of::<st_ma_const_data>() - 8usize];
    ["Alignment of st_ma_const_data"][::std::mem::align_of::<st_ma_const_data>() - 4usize];
    ["Offset of field: st_ma_const_data::data"]
        [::std::mem::offset_of!(st_ma_const_data, data) - 0usize];
    ["Offset of field: st_ma_const_data::length"]
        [::std::mem::offset_of!(st_ma_const_data, length) - 4usize];
};
pub type MARIADB_CONST_DATA = st_ma_const_data;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct st_ma_used_mem {
    pub next: *mut st_ma_used_mem,
    pub left: usize,
    pub size: usize,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of st_ma_used_mem"][::std::mem::size_of::<st_ma_used_mem>() - 12usize];
    ["Alignment of st_ma_used_mem"][::std::mem::align_of::<st_ma_used_mem>() - 4usize];
    ["Offset of field: st_ma_used_mem::next"]
        [::std::mem::offset_of!(st_ma_used_mem, next) - 0usize];
    ["Offset of field: st_ma_used_mem::left"]
        [::std::mem::offset_of!(st_ma_used_mem, left) - 4usize];
    ["Offset of field: st_ma_used_mem::size"]
        [::std::mem::offset_of!(st_ma_used_mem, size) - 8usize];
};
pub type MA_USED_MEM = st_ma_used_mem;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct st_ma_mem_root {
    pub free: *mut MA_USED_MEM,
    pub used: *mut MA_USED_MEM,
    pub pre_alloc: *mut MA_USED_MEM,
    pub min_malloc: usize,
    pub block_size: usize,
    pub block_num: ::std::os::raw::c_uint,
    pub first_block_usage: ::std::os::raw::c_uint,
    pub error_handler: ::std::option::Option<unsafe extern "C" fn()>,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of st_ma_mem_root"][::std::mem::size_of::<st_ma_mem_root>() - 32usize];
    ["Alignment of st_ma_mem_root"][::std::mem::align_of::<st_ma_mem_root>() - 4usize];
    ["Offset of field: st_ma_mem_root::free"]
        [::std::mem::offset_of!(st_ma_mem_root, free) - 0usize];
    ["Offset of field: st_ma_mem_root::used"]
        [::std::mem::offset_of!(st_ma_mem_root, used) - 4usize];
    ["Offset of field: st_ma_mem_root::pre_alloc"]
        [::std::mem::offset_of!(st_ma_mem_root, pre_alloc) - 8usize];
    ["Offset of field: st_ma_mem_root::min_malloc"]
        [::std::mem::offset_of!(st_ma_mem_root, min_malloc) - 12usize];
    ["Offset of field: st_ma_mem_root::block_size"]
        [::std::mem::offset_of!(st_ma_mem_root, block_size) - 16usize];
    ["Offset of field: st_ma_mem_root::block_num"]
        [::std::mem::offset_of!(st_ma_mem_root, block_num) - 20usize];
    ["Offset of field: st_ma_mem_root::first_block_usage"]
        [::std::mem::offset_of!(st_ma_mem_root, first_block_usage) - 24usize];
    ["Offset of field: st_ma_mem_root::error_handler"]
        [::std::mem::offset_of!(st_ma_mem_root, error_handler) - 28usize];
};
pub type MA_MEM_ROOT = st_ma_mem_root;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct st_mysql_field {
    pub name: *mut ::std::os::raw::c_char,
    pub org_name: *mut ::std::os::raw::c_char,
    pub table: *mut ::std::os::raw::c_char,
    pub org_table: *mut ::std::os::raw::c_char,
    pub db: *mut ::std::os::raw::c_char,
    pub catalog: *mut ::std::os::raw::c_char,
    pub def: *mut ::std::os::raw::c_char,
    pub length: ::std::os::raw::c_ulong,
    pub max_length: ::std::os::raw::c_ulong,
    pub name_length: ::std::os::raw::c_uint,
    pub org_name_length: ::std::os::raw::c_uint,
    pub table_length: ::std::os::raw::c_uint,
    pub org_table_length: ::std::os::raw::c_uint,
    pub db_length: ::std::os::raw::c_uint,
    pub catalog_length: ::std::os::raw::c_uint,
    pub def_length: ::std::os::raw::c_uint,
    pub flags: ::std::os::raw::c_uint,
    pub decimals: ::std::os::raw::c_uint,
    pub charsetnr: ::std::os::raw::c_uint,
    pub type_: enum_field_types,
    pub extension: *mut ::std::os::raw::c_void,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of st_mysql_field"][::std::mem::size_of::<st_mysql_field>() - 84usize];
    ["Alignment of st_mysql_field"][::std::mem::align_of::<st_mysql_field>() - 4usize];
    ["Offset of field: st_mysql_field::name"]
        [::std::mem::offset_of!(st_mysql_field, name) - 0usize];
    ["Offset of field: st_mysql_field::org_name"]
        [::std::mem::offset_of!(st_mysql_field, org_name) - 4usize];
    ["Offset of field: st_mysql_field::table"]
        [::std::mem::offset_of!(st_mysql_field, table) - 8usize];
    ["Offset of field: st_mysql_field::org_table"]
        [::std::mem::offset_of!(st_mysql_field, org_table) - 12usize];
    ["Offset of field: st_mysql_field::db"][::std::mem::offset_of!(st_mysql_field, db) - 16usize];
    ["Offset of field: st_mysql_field::catalog"]
        [::std::mem::offset_of!(st_mysql_field, catalog) - 20usize];
    ["Offset of field: st_mysql_field::def"][::std::mem::offset_of!(st_mysql_field, def) - 24usize];
    ["Offset of field: st_mysql_field::length"]
        [::std::mem::offset_of!(st_mysql_field, length) - 28usize];
    ["Offset of field: st_mysql_field::max_length"]
        [::std::mem::offset_of!(st_mysql_field, max_length) - 32usize];
    ["Offset of field: st_mysql_field::name_length"]
        [::std::mem::offset_of!(st_mysql_field, name_length) - 36usize];
    ["Offset of field: st_mysql_field::org_name_length"]
        [::std::mem::offset_of!(st_mysql_field, org_name_length) - 40usize];
    ["Offset of field: st_mysql_field::table_length"]
        [::std::mem::offset_of!(st_mysql_field, table_length) - 44usize];
    ["Offset of field: st_mysql_field::org_table_length"]
        [::std::mem::offset_of!(st_mysql_field, org_table_length) - 48usize];
    ["Offset of field: st_mysql_field::db_length"]
        [::std::mem::offset_of!(st_mysql_field, db_length) - 52usize];
    ["Offset of field: st_mysql_field::catalog_length"]
        [::std::mem::offset_of!(st_mysql_field, catalog_length) - 56usize];
    ["Offset of field: st_mysql_field::def_length"]
        [::std::mem::offset_of!(st_mysql_field, def_length) - 60usize];
    ["Offset of field: st_mysql_field::flags"]
        [::std::mem::offset_of!(st_mysql_field, flags) - 64usize];
    ["Offset of field: st_mysql_field::decimals"]
        [::std::mem::offset_of!(st_mysql_field, decimals) - 68usize];
    ["Offset of field: st_mysql_field::charsetnr"]
        [::std::mem::offset_of!(st_mysql_field, charsetnr) - 72usize];
    ["Offset of field: st_mysql_field::type_"]
        [::std::mem::offset_of!(st_mysql_field, type_) - 76usize];
    ["Offset of field: st_mysql_field::extension"]
        [::std::mem::offset_of!(st_mysql_field, extension) - 80usize];
};
pub type MYSQL_FIELD = st_mysql_field;
pub type MYSQL_ROW = *mut *mut ::std::os::raw::c_char;
pub type MYSQL_FIELD_OFFSET = ::std::os::raw::c_uint;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct st_mysql_rows {
    pub next: *mut st_mysql_rows,
    pub data: MYSQL_ROW,
    pub length: ::std::os::raw::c_ulong,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of st_mysql_rows"][::std::mem::size_of::<st_mysql_rows>() - 12usize];
    ["Alignment of st_mysql_rows"][::std::mem::align_of::<st_mysql_rows>() - 4usize];
    ["Offset of field: st_mysql_rows::next"][::std::mem::offset_of!(st_mysql_rows, next) - 0usize];
    ["Offset of field: st_mysql_rows::data"][::std::mem::offset_of!(st_mysql_rows, data) - 4usize];
    ["Offset of field: st_mysql_rows::length"]
        [::std::mem::offset_of!(st_mysql_rows, length) - 8usize];
};
pub type MYSQL_ROWS = st_mysql_rows;
pub type MYSQL_ROW_OFFSET = *mut MYSQL_ROWS;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct st_mysql_data {
    pub data: *mut MYSQL_ROWS,
    pub embedded_info: *mut ::std::os::raw::c_void,
    pub alloc: MA_MEM_ROOT,
    pub rows: ::std::os::raw::c_ulonglong,
    pub fields: ::std::os::raw::c_uint,
    pub extension: *mut ::std::os::raw::c_void,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of st_mysql_data"][::std::mem::size_of::<st_mysql_data>() - 56usize];
    ["Alignment of st_mysql_data"][::std::mem::align_of::<st_mysql_data>() - 4usize];
    ["Offset of field: st_mysql_data::data"][::std::mem::offset_of!(st_mysql_data, data) - 0usize];
    ["Offset of field: st_mysql_data::embedded_info"]
        [::std::mem::offset_of!(st_mysql_data, embedded_info) - 4usize];
    ["Offset of field: st_mysql_data::alloc"]
        [::std::mem::offset_of!(st_mysql_data, alloc) - 8usize];
    ["Offset of field: st_mysql_data::rows"][::std::mem::offset_of!(st_mysql_data, rows) - 40usize];
    ["Offset of field: st_mysql_data::fields"]
        [::std::mem::offset_of!(st_mysql_data, fields) - 48usize];
    ["Offset of field: st_mysql_data::extension"]
        [::std::mem::offset_of!(st_mysql_data, extension) - 52usize];
};
pub type MYSQL_DATA = st_mysql_data;
#[repr(u32)]
#[non_exhaustive]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum mysql_option {
    MYSQL_OPT_CONNECT_TIMEOUT = 0,
    MYSQL_OPT_COMPRESS = 1,
    MYSQL_OPT_NAMED_PIPE = 2,
    MYSQL_INIT_COMMAND = 3,
    MYSQL_READ_DEFAULT_FILE = 4,
    MYSQL_READ_DEFAULT_GROUP = 5,
    MYSQL_SET_CHARSET_DIR = 6,
    MYSQL_SET_CHARSET_NAME = 7,
    MYSQL_OPT_LOCAL_INFILE = 8,
    MYSQL_OPT_PROTOCOL = 9,
    MYSQL_SHARED_MEMORY_BASE_NAME = 10,
    MYSQL_OPT_READ_TIMEOUT = 11,
    MYSQL_OPT_WRITE_TIMEOUT = 12,
    MYSQL_OPT_USE_RESULT = 13,
    MYSQL_OPT_USE_REMOTE_CONNECTION = 14,
    MYSQL_OPT_USE_EMBEDDED_CONNECTION = 15,
    MYSQL_OPT_GUESS_CONNECTION = 16,
    MYSQL_SET_CLIENT_IP = 17,
    MYSQL_SECURE_AUTH = 18,
    MYSQL_REPORT_DATA_TRUNCATION = 19,
    MYSQL_OPT_RECONNECT = 20,
    MYSQL_OPT_SSL_VERIFY_SERVER_CERT = 21,
    MYSQL_PLUGIN_DIR = 22,
    MYSQL_DEFAULT_AUTH = 23,
    MYSQL_OPT_BIND = 24,
    MYSQL_OPT_SSL_KEY = 25,
    MYSQL_OPT_SSL_CERT = 26,
    MYSQL_OPT_SSL_CA = 27,
    MYSQL_OPT_SSL_CAPATH = 28,
    MYSQL_OPT_SSL_CIPHER = 29,
    MYSQL_OPT_SSL_CRL = 30,
    MYSQL_OPT_SSL_CRLPATH = 31,
    MYSQL_OPT_CONNECT_ATTR_RESET = 32,
    MYSQL_OPT_CONNECT_ATTR_ADD = 33,
    MYSQL_OPT_CONNECT_ATTR_DELETE = 34,
    MYSQL_SERVER_PUBLIC_KEY = 35,
    MYSQL_ENABLE_CLEARTEXT_PLUGIN = 36,
    MYSQL_OPT_CAN_HANDLE_EXPIRED_PASSWORDS = 37,
    MYSQL_OPT_SSL_ENFORCE = 38,
    MYSQL_OPT_MAX_ALLOWED_PACKET = 39,
    MYSQL_OPT_NET_BUFFER_LENGTH = 40,
    MYSQL_OPT_TLS_VERSION = 41,
    MYSQL_OPT_ZSTD_COMPRESSION_LEVEL = 42,
    MYSQL_PROGRESS_CALLBACK = 5999,
    MYSQL_OPT_NONBLOCK = 6000,
    MYSQL_DATABASE_DRIVER = 7000,
    MARIADB_OPT_SSL_FP = 7001,
    MARIADB_OPT_SSL_FP_LIST = 7002,
    MARIADB_OPT_TLS_PASSPHRASE = 7003,
    MARIADB_OPT_TLS_CIPHER_STRENGTH = 7004,
    MARIADB_OPT_TLS_VERSION = 7005,
    MARIADB_OPT_TLS_PEER_FP = 7006,
    MARIADB_OPT_TLS_PEER_FP_LIST = 7007,
    MARIADB_OPT_CONNECTION_READ_ONLY = 7008,
    MYSQL_OPT_CONNECT_ATTRS = 7009,
    MARIADB_OPT_USERDATA = 7010,
    MARIADB_OPT_CONNECTION_HANDLER = 7011,
    MARIADB_OPT_PORT = 7012,
    MARIADB_OPT_UNIXSOCKET = 7013,
    MARIADB_OPT_PASSWORD = 7014,
    MARIADB_OPT_HOST = 7015,
    MARIADB_OPT_USER = 7016,
    MARIADB_OPT_SCHEMA = 7017,
    MARIADB_OPT_DEBUG = 7018,
    MARIADB_OPT_FOUND_ROWS = 7019,
    MARIADB_OPT_MULTI_RESULTS = 7020,
    MARIADB_OPT_MULTI_STATEMENTS = 7021,
    MARIADB_OPT_INTERACTIVE = 7022,
    MARIADB_OPT_PROXY_HEADER = 7023,
    MARIADB_OPT_IO_WAIT = 7024,
    MARIADB_OPT_SKIP_READ_RESPONSE = 7025,
    MARIADB_OPT_RESTRICTED_AUTH = 7026,
    MARIADB_OPT_RPL_REGISTER_REPLICA = 7027,
    MARIADB_OPT_STATUS_CALLBACK = 7028,
    MARIADB_OPT_SERVER_PLUGINS = 7029,
}
#[repr(u32)]
#[non_exhaustive]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum mariadb_value {
    MARIADB_CHARSET_ID = 0,
    MARIADB_CHARSET_NAME = 1,
    MARIADB_CLIENT_ERRORS = 2,
    MARIADB_CLIENT_VERSION = 3,
    MARIADB_CLIENT_VERSION_ID = 4,
    MARIADB_CONNECTION_ASYNC_TIMEOUT = 5,
    MARIADB_CONNECTION_ASYNC_TIMEOUT_MS = 6,
    MARIADB_CONNECTION_MARIADB_CHARSET_INFO = 7,
    MARIADB_CONNECTION_ERROR = 8,
    MARIADB_CONNECTION_ERROR_ID = 9,
    MARIADB_CONNECTION_HOST = 10,
    MARIADB_CONNECTION_INFO = 11,
    MARIADB_CONNECTION_PORT = 12,
    MARIADB_CONNECTION_PROTOCOL_VERSION_ID = 13,
    MARIADB_CONNECTION_PVIO_TYPE = 14,
    MARIADB_CONNECTION_SCHEMA = 15,
    MARIADB_CONNECTION_SERVER_TYPE = 16,
    MARIADB_CONNECTION_SERVER_VERSION = 17,
    MARIADB_CONNECTION_SERVER_VERSION_ID = 18,
    MARIADB_CONNECTION_SOCKET = 19,
    MARIADB_CONNECTION_SQLSTATE = 20,
    MARIADB_CONNECTION_SSL_CIPHER = 21,
    MARIADB_TLS_LIBRARY = 22,
    MARIADB_CONNECTION_TLS_VERSION = 23,
    MARIADB_CONNECTION_TLS_VERSION_ID = 24,
    MARIADB_CONNECTION_TYPE = 25,
    MARIADB_CONNECTION_UNIX_SOCKET = 26,
    MARIADB_CONNECTION_USER = 27,
    MARIADB_MAX_ALLOWED_PACKET = 28,
    MARIADB_NET_BUFFER_LENGTH = 29,
    MARIADB_CONNECTION_SERVER_STATUS = 30,
    MARIADB_CONNECTION_SERVER_CAPABILITIES = 31,
    MARIADB_CONNECTION_EXTENDED_SERVER_CAPABILITIES = 32,
    MARIADB_CONNECTION_CLIENT_CAPABILITIES = 33,
    MARIADB_CONNECTION_BYTES_READ = 34,
    MARIADB_CONNECTION_BYTES_SENT = 35,
}
#[repr(u32)]
#[non_exhaustive]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum mysql_status {
    MYSQL_STATUS_READY = 0,
    MYSQL_STATUS_GET_RESULT = 1,
    MYSQL_STATUS_USE_RESULT = 2,
    MYSQL_STATUS_QUERY_SENT = 3,
    MYSQL_STATUS_SENDING_LOAD_DATA = 4,
    MYSQL_STATUS_FETCHING_DATA = 5,
    MYSQL_STATUS_NEXT_RESULT_PENDING = 6,
    MYSQL_STATUS_QUIT_SENT = 7,
    MYSQL_STATUS_STMT_RESULT = 8,
}
#[repr(u32)]
#[non_exhaustive]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum mysql_protocol_type {
    MYSQL_PROTOCOL_DEFAULT = 0,
    MYSQL_PROTOCOL_TCP = 1,
    MYSQL_PROTOCOL_SOCKET = 2,
    MYSQL_PROTOCOL_PIPE = 3,
    MYSQL_PROTOCOL_MEMORY = 4,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct st_mysql_options {
    pub connect_timeout: ::std::os::raw::c_uint,
    pub read_timeout: ::std::os::raw::c_uint,
    pub write_timeout: ::std::os::raw::c_uint,
    pub port: ::std::os::raw::c_uint,
    pub protocol: ::std::os::raw::c_uint,
    pub client_flag: ::std::os::raw::c_ulong,
    pub host: *mut ::std::os::raw::c_char,
    pub user: *mut ::std::os::raw::c_char,
    pub password: *mut ::std::os::raw::c_char,
    pub unix_socket: *mut ::std::os::raw::c_char,
    pub db: *mut ::std::os::raw::c_char,
    pub init_command: *mut st_dynamic_array,
    pub my_cnf_file: *mut ::std::os::raw::c_char,
    pub my_cnf_group: *mut ::std::os::raw::c_char,
    pub charset_dir: *mut ::std::os::raw::c_char,
    pub charset_name: *mut ::std::os::raw::c_char,
    pub ssl_key: *mut ::std::os::raw::c_char,
    pub ssl_cert: *mut ::std::os::raw::c_char,
    pub ssl_ca: *mut ::std::os::raw::c_char,
    pub ssl_capath: *mut ::std::os::raw::c_char,
    pub ssl_cipher: *mut ::std::os::raw::c_char,
    pub shared_memory_base_name: *mut ::std::os::raw::c_char,
    pub max_allowed_packet: ::std::os::raw::c_ulong,
    pub use_ssl: my_bool,
    pub compress: my_bool,
    pub named_pipe: my_bool,
    pub reconnect: my_bool,
    pub unused_1: my_bool,
    pub unused_2: my_bool,
    pub unused_3: my_bool,
    pub methods_to_use: mysql_option,
    pub bind_address: *mut ::std::os::raw::c_char,
    pub secure_auth: my_bool,
    pub report_data_truncation: my_bool,
    pub local_infile_init: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut *mut ::std::os::raw::c_void,
            arg2: *const ::std::os::raw::c_char,
            arg3: *mut ::std::os::raw::c_void,
        ) -> ::std::os::raw::c_int,
    >,
    pub local_infile_read: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut ::std::os::raw::c_void,
            arg2: *mut ::std::os::raw::c_char,
            arg3: ::std::os::raw::c_uint,
        ) -> ::std::os::raw::c_int,
    >,
    pub local_infile_end:
        ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
    pub local_infile_error: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut ::std::os::raw::c_void,
            arg2: *mut ::std::os::raw::c_char,
            arg3: ::std::os::raw::c_uint,
        ) -> ::std::os::raw::c_int,
    >,
    pub local_infile_userdata: *mut ::std::os::raw::c_void,
    pub extension: *mut st_mysql_options_extension,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of st_mysql_options"][::std::mem::size_of::<st_mysql_options>() - 136usize];
    ["Alignment of st_mysql_options"][::std::mem::align_of::<st_mysql_options>() - 4usize];
    ["Offset of field: st_mysql_options::connect_timeout"]
        [::std::mem::offset_of!(st_mysql_options, connect_timeout) - 0usize];
    ["Offset of field: st_mysql_options::read_timeout"]
        [::std::mem::offset_of!(st_mysql_options, read_timeout) - 4usize];
    ["Offset of field: st_mysql_options::write_timeout"]
        [::std::mem::offset_of!(st_mysql_options, write_timeout) - 8usize];
    ["Offset of field: st_mysql_options::port"]
        [::std::mem::offset_of!(st_mysql_options, port) - 12usize];
    ["Offset of field: st_mysql_options::protocol"]
        [::std::mem::offset_of!(st_mysql_options, protocol) - 16usize];
    ["Offset of field: st_mysql_options::client_flag"]
        [::std::mem::offset_of!(st_mysql_options, client_flag) - 20usize];
    ["Offset of field: st_mysql_options::host"]
        [::std::mem::offset_of!(st_mysql_options, host) - 24usize];
    ["Offset of field: st_mysql_options::user"]
        [::std::mem::offset_of!(st_mysql_options, user) - 28usize];
    ["Offset of field: st_mysql_options::password"]
        [::std::mem::offset_of!(st_mysql_options, password) - 32usize];
    ["Offset of field: st_mysql_options::unix_socket"]
        [::std::mem::offset_of!(st_mysql_options, unix_socket) - 36usize];
    ["Offset of field: st_mysql_options::db"]
        [::std::mem::offset_of!(st_mysql_options, db) - 40usize];
    ["Offset of field: st_mysql_options::init_command"]
        [::std::mem::offset_of!(st_mysql_options, init_command) - 44usize];
    ["Offset of field: st_mysql_options::my_cnf_file"]
        [::std::mem::offset_of!(st_mysql_options, my_cnf_file) - 48usize];
    ["Offset of field: st_mysql_options::my_cnf_group"]
        [::std::mem::offset_of!(st_mysql_options, my_cnf_group) - 52usize];
    ["Offset of field: st_mysql_options::charset_dir"]
        [::std::mem::offset_of!(st_mysql_options, charset_dir) - 56usize];
    ["Offset of field: st_mysql_options::charset_name"]
        [::std::mem::offset_of!(st_mysql_options, charset_name) - 60usize];
    ["Offset of field: st_mysql_options::ssl_key"]
        [::std::mem::offset_of!(st_mysql_options, ssl_key) - 64usize];
    ["Offset of field: st_mysql_options::ssl_cert"]
        [::std::mem::offset_of!(st_mysql_options, ssl_cert) - 68usize];
    ["Offset of field: st_mysql_options::ssl_ca"]
        [::std::mem::offset_of!(st_mysql_options, ssl_ca) - 72usize];
    ["Offset of field: st_mysql_options::ssl_capath"]
        [::std::mem::offset_of!(st_mysql_options, ssl_capath) - 76usize];
    ["Offset of field: st_mysql_options::ssl_cipher"]
        [::std::mem::offset_of!(st_mysql_options, ssl_cipher) - 80usize];
    ["Offset of field: st_mysql_options::shared_memory_base_name"]
        [::std::mem::offset_of!(st_mysql_options, shared_memory_base_name) - 84usize];
    ["Offset of field: st_mysql_options::max_allowed_packet"]
        [::std::mem::offset_of!(st_mysql_options, max_allowed_packet) - 88usize];
    ["Offset of field: st_mysql_options::use_ssl"]
        [::std::mem::offset_of!(st_mysql_options, use_ssl) - 92usize];
    ["Offset of field: st_mysql_options::compress"]
        [::std::mem::offset_of!(st_mysql_options, compress) - 93usize];
    ["Offset of field: st_mysql_options::named_pipe"]
        [::std::mem::offset_of!(st_mysql_options, named_pipe) - 94usize];
    ["Offset of field: st_mysql_options::reconnect"]
        [::std::mem::offset_of!(st_mysql_options, reconnect) - 95usize];
    ["Offset of field: st_mysql_options::unused_1"]
        [::std::mem::offset_of!(st_mysql_options, unused_1) - 96usize];
    ["Offset of field: st_mysql_options::unused_2"]
        [::std::mem::offset_of!(st_mysql_options, unused_2) - 97usize];
    ["Offset of field: st_mysql_options::unused_3"]
        [::std::mem::offset_of!(st_mysql_options, unused_3) - 98usize];
    ["Offset of field: st_mysql_options::methods_to_use"]
        [::std::mem::offset_of!(st_mysql_options, methods_to_use) - 100usize];
    ["Offset of field: st_mysql_options::bind_address"]
        [::std::mem::offset_of!(st_mysql_options, bind_address) - 104usize];
    ["Offset of field: st_mysql_options::secure_auth"]
        [::std::mem::offset_of!(st_mysql_options, secure_auth) - 108usize];
    ["Offset of field: st_mysql_options::report_data_truncation"]
        [::std::mem::offset_of!(st_mysql_options, report_data_truncation) - 109usize];
    ["Offset of field: st_mysql_options::local_infile_init"]
        [::std::mem::offset_of!(st_mysql_options, local_infile_init) - 112usize];
    ["Offset of field: st_mysql_options::local_infile_read"]
        [::std::mem::offset_of!(st_mysql_options, local_infile_read) - 116usize];
    ["Offset of field: st_mysql_options::local_infile_end"]
        [::std::mem::offset_of!(st_mysql_options, local_infile_end) - 120usize];
    ["Offset of field: st_mysql_options::local_infile_error"]
        [::std::mem::offset_of!(st_mysql_options, local_infile_error) - 124usize];
    ["Offset of field: st_mysql_options::local_infile_userdata"]
        [::std::mem::offset_of!(st_mysql_options, local_infile_userdata) - 128usize];
    ["Offset of field: st_mysql_options::extension"]
        [::std::mem::offset_of!(st_mysql_options, extension) - 132usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct st_mysql {
    pub net: NET,
    pub unused_0: *mut ::std::os::raw::c_void,
    pub host: *mut ::std::os::raw::c_char,
    pub user: *mut ::std::os::raw::c_char,
    pub passwd: *mut ::std::os::raw::c_char,
    pub unix_socket: *mut ::std::os::raw::c_char,
    pub server_version: *mut ::std::os::raw::c_char,
    pub host_info: *mut ::std::os::raw::c_char,
    pub info: *mut ::std::os::raw::c_char,
    pub db: *mut ::std::os::raw::c_char,
    pub charset: *const ma_charset_info_st,
    pub fields: *mut MYSQL_FIELD,
    pub field_alloc: MA_MEM_ROOT,
    pub affected_rows: ::std::os::raw::c_ulonglong,
    pub insert_id: ::std::os::raw::c_ulonglong,
    pub extra_info: ::std::os::raw::c_ulonglong,
    pub thread_id: ::std::os::raw::c_ulong,
    pub packet_length: ::std::os::raw::c_ulong,
    pub port: ::std::os::raw::c_uint,
    pub client_flag: ::std::os::raw::c_ulong,
    pub server_capabilities: ::std::os::raw::c_ulong,
    pub protocol_version: ::std::os::raw::c_uint,
    pub field_count: ::std::os::raw::c_uint,
    pub server_status: ::std::os::raw::c_uint,
    pub server_language: ::std::os::raw::c_uint,
    pub warning_count: ::std::os::raw::c_uint,
    pub options: st_mysql_options,
    pub status: mysql_status,
    pub free_me: my_bool,
    pub unused_1: my_bool,
    pub scramble_buff: [::std::os::raw::c_char; 21usize],
    pub unused_2: my_bool,
    pub unused_3: *mut ::std::os::raw::c_void,
    pub unused_4: *mut ::std::os::raw::c_void,
    pub unused_5: *mut ::std::os::raw::c_void,
    pub unused_6: *mut ::std::os::raw::c_void,
    pub stmts: *mut LIST,
    pub methods: *const st_mariadb_methods,
    pub thd: *mut ::std::os::raw::c_void,
    pub unbuffered_fetch_owner: *mut my_bool,
    pub info_buffer: *mut ::std::os::raw::c_char,
    pub extension: *mut st_mariadb_extension,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of st_mysql"][::std::mem::size_of::<st_mysql>() - 964usize];
    ["Alignment of st_mysql"][::std::mem::align_of::<st_mysql>() - 4usize];
    ["Offset of field: st_mysql::net"][::std::mem::offset_of!(st_mysql, net) - 0usize];
    ["Offset of field: st_mysql::unused_0"][::std::mem::offset_of!(st_mysql, unused_0) - 620usize];
    ["Offset of field: st_mysql::host"][::std::mem::offset_of!(st_mysql, host) - 624usize];
    ["Offset of field: st_mysql::user"][::std::mem::offset_of!(st_mysql, user) - 628usize];
    ["Offset of field: st_mysql::passwd"][::std::mem::offset_of!(st_mysql, passwd) - 632usize];
    ["Offset of field: st_mysql::unix_socket"]
        [::std::mem::offset_of!(st_mysql, unix_socket) - 636usize];
    ["Offset of field: st_mysql::server_version"]
        [::std::mem::offset_of!(st_mysql, server_version) - 640usize];
    ["Offset of field: st_mysql::host_info"]
        [::std::mem::offset_of!(st_mysql, host_info) - 644usize];
    ["Offset of field: st_mysql::info"][::std::mem::offset_of!(st_mysql, info) - 648usize];
    ["Offset of field: st_mysql::db"][::std::mem::offset_of!(st_mysql, db) - 652usize];
    ["Offset of field: st_mysql::charset"][::std::mem::offset_of!(st_mysql, charset) - 656usize];
    ["Offset of field: st_mysql::fields"][::std::mem::offset_of!(st_mysql, fields) - 660usize];
    ["Offset of field: st_mysql::field_alloc"]
        [::std::mem::offset_of!(st_mysql, field_alloc) - 664usize];
    ["Offset of field: st_mysql::affected_rows"]
        [::std::mem::offset_of!(st_mysql, affected_rows) - 696usize];
    ["Offset of field: st_mysql::insert_id"]
        [::std::mem::offset_of!(st_mysql, insert_id) - 704usize];
    ["Offset of field: st_mysql::extra_info"]
        [::std::mem::offset_of!(st_mysql, extra_info) - 712usize];
    ["Offset of field: st_mysql::thread_id"]
        [::std::mem::offset_of!(st_mysql, thread_id) - 720usize];
    ["Offset of field: st_mysql::packet_length"]
        [::std::mem::offset_of!(st_mysql, packet_length) - 724usize];
    ["Offset of field: st_mysql::port"][::std::mem::offset_of!(st_mysql, port) - 728usize];
    ["Offset of field: st_mysql::client_flag"]
        [::std::mem::offset_of!(st_mysql, client_flag) - 732usize];
    ["Offset of field: st_mysql::server_capabilities"]
        [::std::mem::offset_of!(st_mysql, server_capabilities) - 736usize];
    ["Offset of field: st_mysql::protocol_version"]
        [::std::mem::offset_of!(st_mysql, protocol_version) - 740usize];
    ["Offset of field: st_mysql::field_count"]
        [::std::mem::offset_of!(st_mysql, field_count) - 744usize];
    ["Offset of field: st_mysql::server_status"]
        [::std::mem::offset_of!(st_mysql, server_status) - 748usize];
    ["Offset of field: st_mysql::server_language"]
        [::std::mem::offset_of!(st_mysql, server_language) - 752usize];
    ["Offset of field: st_mysql::warning_count"]
        [::std::mem::offset_of!(st_mysql, warning_count) - 756usize];
    ["Offset of field: st_mysql::options"][::std::mem::offset_of!(st_mysql, options) - 760usize];
    ["Offset of field: st_mysql::status"][::std::mem::offset_of!(st_mysql, status) - 896usize];
    ["Offset of field: st_mysql::free_me"][::std::mem::offset_of!(st_mysql, free_me) - 900usize];
    ["Offset of field: st_mysql::unused_1"][::std::mem::offset_of!(st_mysql, unused_1) - 901usize];
    ["Offset of field: st_mysql::scramble_buff"]
        [::std::mem::offset_of!(st_mysql, scramble_buff) - 902usize];
    ["Offset of field: st_mysql::unused_2"][::std::mem::offset_of!(st_mysql, unused_2) - 923usize];
    ["Offset of field: st_mysql::unused_3"][::std::mem::offset_of!(st_mysql, unused_3) - 924usize];
    ["Offset of field: st_mysql::unused_4"][::std::mem::offset_of!(st_mysql, unused_4) - 928usize];
    ["Offset of field: st_mysql::unused_5"][::std::mem::offset_of!(st_mysql, unused_5) - 932usize];
    ["Offset of field: st_mysql::unused_6"][::std::mem::offset_of!(st_mysql, unused_6) - 936usize];
    ["Offset of field: st_mysql::stmts"][::std::mem::offset_of!(st_mysql, stmts) - 940usize];
    ["Offset of field: st_mysql::methods"][::std::mem::offset_of!(st_mysql, methods) - 944usize];
    ["Offset of field: st_mysql::thd"][::std::mem::offset_of!(st_mysql, thd) - 948usize];
    ["Offset of field: st_mysql::unbuffered_fetch_owner"]
        [::std::mem::offset_of!(st_mysql, unbuffered_fetch_owner) - 952usize];
    ["Offset of field: st_mysql::info_buffer"]
        [::std::mem::offset_of!(st_mysql, info_buffer) - 956usize];
    ["Offset of field: st_mysql::extension"]
        [::std::mem::offset_of!(st_mysql, extension) - 960usize];
};
pub type MYSQL = st_mysql;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct st_mysql_res {
    pub row_count: ::std::os::raw::c_ulonglong,
    pub field_count: ::std::os::raw::c_uint,
    pub current_field: ::std::os::raw::c_uint,
    pub fields: *mut MYSQL_FIELD,
    pub data: *mut MYSQL_DATA,
    pub data_cursor: *mut MYSQL_ROWS,
    pub field_alloc: MA_MEM_ROOT,
    pub row: MYSQL_ROW,
    pub current_row: MYSQL_ROW,
    pub lengths: *mut ::std::os::raw::c_ulong,
    pub handle: *mut MYSQL,
    pub eof: my_bool,
    pub is_ps: my_bool,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of st_mysql_res"][::std::mem::size_of::<st_mysql_res>() - 80usize];
    ["Alignment of st_mysql_res"][::std::mem::align_of::<st_mysql_res>() - 4usize];
    ["Offset of field: st_mysql_res::row_count"]
        [::std::mem::offset_of!(st_mysql_res, row_count) - 0usize];
    ["Offset of field: st_mysql_res::field_count"]
        [::std::mem::offset_of!(st_mysql_res, field_count) - 8usize];
    ["Offset of field: st_mysql_res::current_field"]
        [::std::mem::offset_of!(st_mysql_res, current_field) - 12usize];
    ["Offset of field: st_mysql_res::fields"]
        [::std::mem::offset_of!(st_mysql_res, fields) - 16usize];
    ["Offset of field: st_mysql_res::data"][::std::mem::offset_of!(st_mysql_res, data) - 20usize];
    ["Offset of field: st_mysql_res::data_cursor"]
        [::std::mem::offset_of!(st_mysql_res, data_cursor) - 24usize];
    ["Offset of field: st_mysql_res::field_alloc"]
        [::std::mem::offset_of!(st_mysql_res, field_alloc) - 28usize];
    ["Offset of field: st_mysql_res::row"][::std::mem::offset_of!(st_mysql_res, row) - 60usize];
    ["Offset of field: st_mysql_res::current_row"]
        [::std::mem::offset_of!(st_mysql_res, current_row) - 64usize];
    ["Offset of field: st_mysql_res::lengths"]
        [::std::mem::offset_of!(st_mysql_res, lengths) - 68usize];
    ["Offset of field: st_mysql_res::handle"]
        [::std::mem::offset_of!(st_mysql_res, handle) - 72usize];
    ["Offset of field: st_mysql_res::eof"][::std::mem::offset_of!(st_mysql_res, eof) - 76usize];
    ["Offset of field: st_mysql_res::is_ps"][::std::mem::offset_of!(st_mysql_res, is_ps) - 77usize];
};
pub type MYSQL_RES = st_mysql_res;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct MYSQL_PARAMETERS {
    pub p_max_allowed_packet: *mut ::std::os::raw::c_ulong,
    pub p_net_buffer_length: *mut ::std::os::raw::c_ulong,
    pub extension: *mut ::std::os::raw::c_void,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of MYSQL_PARAMETERS"][::std::mem::size_of::<MYSQL_PARAMETERS>() - 12usize];
    ["Alignment of MYSQL_PARAMETERS"][::std::mem::align_of::<MYSQL_PARAMETERS>() - 4usize];
    ["Offset of field: MYSQL_PARAMETERS::p_max_allowed_packet"]
        [::std::mem::offset_of!(MYSQL_PARAMETERS, p_max_allowed_packet) - 0usize];
    ["Offset of field: MYSQL_PARAMETERS::p_net_buffer_length"]
        [::std::mem::offset_of!(MYSQL_PARAMETERS, p_net_buffer_length) - 4usize];
    ["Offset of field: MYSQL_PARAMETERS::extension"]
        [::std::mem::offset_of!(MYSQL_PARAMETERS, extension) - 8usize];
};
#[repr(u32)]
#[non_exhaustive]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum mariadb_field_attr_t {
    MARIADB_FIELD_ATTR_DATA_TYPE_NAME = 0,
    MARIADB_FIELD_ATTR_FORMAT_NAME = 1,
}
unsafe extern "C" {
    pub fn mariadb_field_attr(
        attr: *mut MARIADB_CONST_STRING,
        field: *const MYSQL_FIELD,
        type_: mariadb_field_attr_t,
    ) -> ::std::os::raw::c_int;
}
#[repr(i32)]
#[non_exhaustive]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum enum_mysql_timestamp_type {
    MYSQL_TIMESTAMP_NONE = -2,
    MYSQL_TIMESTAMP_ERROR = -1,
    MYSQL_TIMESTAMP_DATE = 0,
    MYSQL_TIMESTAMP_DATETIME = 1,
    MYSQL_TIMESTAMP_TIME = 2,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct st_mysql_time {
    pub year: ::std::os::raw::c_uint,
    pub month: ::std::os::raw::c_uint,
    pub day: ::std::os::raw::c_uint,
    pub hour: ::std::os::raw::c_uint,
    pub minute: ::std::os::raw::c_uint,
    pub second: ::std::os::raw::c_uint,
    pub second_part: ::std::os::raw::c_ulong,
    pub neg: my_bool,
    pub time_type: enum_mysql_timestamp_type,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of st_mysql_time"][::std::mem::size_of::<st_mysql_time>() - 36usize];
    ["Alignment of st_mysql_time"][::std::mem::align_of::<st_mysql_time>() - 4usize];
    ["Offset of field: st_mysql_time::year"][::std::mem::offset_of!(st_mysql_time, year) - 0usize];
    ["Offset of field: st_mysql_time::month"]
        [::std::mem::offset_of!(st_mysql_time, month) - 4usize];
    ["Offset of field: st_mysql_time::day"][::std::mem::offset_of!(st_mysql_time, day) - 8usize];
    ["Offset of field: st_mysql_time::hour"][::std::mem::offset_of!(st_mysql_time, hour) - 12usize];
    ["Offset of field: st_mysql_time::minute"]
        [::std::mem::offset_of!(st_mysql_time, minute) - 16usize];
    ["Offset of field: st_mysql_time::second"]
        [::std::mem::offset_of!(st_mysql_time, second) - 20usize];
    ["Offset of field: st_mysql_time::second_part"]
        [::std::mem::offset_of!(st_mysql_time, second_part) - 24usize];
    ["Offset of field: st_mysql_time::neg"][::std::mem::offset_of!(st_mysql_time, neg) - 28usize];
    ["Offset of field: st_mysql_time::time_type"]
        [::std::mem::offset_of!(st_mysql_time, time_type) - 32usize];
};
pub type MYSQL_TIME = st_mysql_time;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct character_set {
    pub number: ::std::os::raw::c_uint,
    pub state: ::std::os::raw::c_uint,
    pub csname: *const ::std::os::raw::c_char,
    pub name: *const ::std::os::raw::c_char,
    pub comment: *const ::std::os::raw::c_char,
    pub dir: *const ::std::os::raw::c_char,
    pub mbminlen: ::std::os::raw::c_uint,
    pub mbmaxlen: ::std::os::raw::c_uint,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of character_set"][::std::mem::size_of::<character_set>() - 32usize];
    ["Alignment of character_set"][::std::mem::align_of::<character_set>() - 4usize];
    ["Offset of field: character_set::number"]
        [::std::mem::offset_of!(character_set, number) - 0usize];
    ["Offset of field: character_set::state"]
        [::std::mem::offset_of!(character_set, state) - 4usize];
    ["Offset of field: character_set::csname"]
        [::std::mem::offset_of!(character_set, csname) - 8usize];
    ["Offset of field: character_set::name"][::std::mem::offset_of!(character_set, name) - 12usize];
    ["Offset of field: character_set::comment"]
        [::std::mem::offset_of!(character_set, comment) - 16usize];
    ["Offset of field: character_set::dir"][::std::mem::offset_of!(character_set, dir) - 20usize];
    ["Offset of field: character_set::mbminlen"]
        [::std::mem::offset_of!(character_set, mbminlen) - 24usize];
    ["Offset of field: character_set::mbmaxlen"]
        [::std::mem::offset_of!(character_set, mbmaxlen) - 28usize];
};
pub type MY_CHARSET_INFO = character_set;
pub type MYSQL_STMT = st_mysql_stmt;
pub type mysql_stmt_use_or_store_func =
    ::std::option::Option<unsafe extern "C" fn(arg1: *mut MYSQL_STMT) -> *mut MYSQL_RES>;
#[repr(u32)]
#[non_exhaustive]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum enum_stmt_attr_type {
    STMT_ATTR_UPDATE_MAX_LENGTH = 0,
    STMT_ATTR_CURSOR_TYPE = 1,
    STMT_ATTR_PREFETCH_ROWS = 2,
    STMT_ATTR_PREBIND_PARAMS = 200,
    STMT_ATTR_ARRAY_SIZE = 201,
    STMT_ATTR_ROW_SIZE = 202,
    STMT_ATTR_STATE = 203,
    STMT_ATTR_CB_USER_DATA = 204,
    STMT_ATTR_CB_PARAM = 205,
    STMT_ATTR_CB_RESULT = 206,
}
#[repr(u32)]
#[non_exhaustive]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum mysql_stmt_state {
    MYSQL_STMT_INITTED = 0,
    MYSQL_STMT_PREPARED = 1,
    MYSQL_STMT_EXECUTED = 2,
    MYSQL_STMT_WAITING_USE_OR_STORE = 3,
    MYSQL_STMT_USE_OR_STORE_CALLED = 4,
    MYSQL_STMT_USER_FETCHING = 5,
    MYSQL_STMT_FETCH_DONE = 6,
}
pub use self::mysql_stmt_state as enum_mysqlnd_stmt_state;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct st_mysql_bind {
    pub length: *mut ::std::os::raw::c_ulong,
    pub is_null: *mut my_bool,
    pub buffer: *mut ::std::os::raw::c_void,
    pub error: *mut my_bool,
    pub u: st_mysql_bind__bindgen_ty_1,
    pub store_param_func:
        ::std::option::Option<unsafe extern "C" fn(net: *mut NET, param: *mut st_mysql_bind)>,
    pub fetch_result: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut st_mysql_bind,
            arg2: *mut MYSQL_FIELD,
            row: *mut *mut ::std::os::raw::c_uchar,
        ),
    >,
    pub skip_result: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut st_mysql_bind,
            arg2: *mut MYSQL_FIELD,
            row: *mut *mut ::std::os::raw::c_uchar,
        ),
    >,
    pub buffer_length: ::std::os::raw::c_ulong,
    pub offset: ::std::os::raw::c_ulong,
    pub length_value: ::std::os::raw::c_ulong,
    pub flags: ::std::os::raw::c_uint,
    pub pack_length: ::std::os::raw::c_uint,
    pub buffer_type: enum_field_types,
    pub error_value: my_bool,
    pub is_unsigned: my_bool,
    pub long_data_used: my_bool,
    pub is_null_value: my_bool,
    pub extension: *mut ::std::os::raw::c_void,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union st_mysql_bind__bindgen_ty_1 {
    pub row_ptr: *mut ::std::os::raw::c_uchar,
    pub indicator: *mut ::std::os::raw::c_char,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of st_mysql_bind__bindgen_ty_1"]
        [::std::mem::size_of::<st_mysql_bind__bindgen_ty_1>() - 4usize];
    ["Alignment of st_mysql_bind__bindgen_ty_1"]
        [::std::mem::align_of::<st_mysql_bind__bindgen_ty_1>() - 4usize];
    ["Offset of field: st_mysql_bind__bindgen_ty_1::row_ptr"]
        [::std::mem::offset_of!(st_mysql_bind__bindgen_ty_1, row_ptr) - 0usize];
    ["Offset of field: st_mysql_bind__bindgen_ty_1::indicator"]
        [::std::mem::offset_of!(st_mysql_bind__bindgen_ty_1, indicator) - 0usize];
};
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of st_mysql_bind"][::std::mem::size_of::<st_mysql_bind>() - 64usize];
    ["Alignment of st_mysql_bind"][::std::mem::align_of::<st_mysql_bind>() - 4usize];
    ["Offset of field: st_mysql_bind::length"]
        [::std::mem::offset_of!(st_mysql_bind, length) - 0usize];
    ["Offset of field: st_mysql_bind::is_null"]
        [::std::mem::offset_of!(st_mysql_bind, is_null) - 4usize];
    ["Offset of field: st_mysql_bind::buffer"]
        [::std::mem::offset_of!(st_mysql_bind, buffer) - 8usize];
    ["Offset of field: st_mysql_bind::error"]
        [::std::mem::offset_of!(st_mysql_bind, error) - 12usize];
    ["Offset of field: st_mysql_bind::u"][::std::mem::offset_of!(st_mysql_bind, u) - 16usize];
    ["Offset of field: st_mysql_bind::store_param_func"]
        [::std::mem::offset_of!(st_mysql_bind, store_param_func) - 20usize];
    ["Offset of field: st_mysql_bind::fetch_result"]
        [::std::mem::offset_of!(st_mysql_bind, fetch_result) - 24usize];
    ["Offset of field: st_mysql_bind::skip_result"]
        [::std::mem::offset_of!(st_mysql_bind, skip_result) - 28usize];
    ["Offset of field: st_mysql_bind::buffer_length"]
        [::std::mem::offset_of!(st_mysql_bind, buffer_length) - 32usize];
    ["Offset of field: st_mysql_bind::offset"]
        [::std::mem::offset_of!(st_mysql_bind, offset) - 36usize];
    ["Offset of field: st_mysql_bind::length_value"]
        [::std::mem::offset_of!(st_mysql_bind, length_value) - 40usize];
    ["Offset of field: st_mysql_bind::flags"]
        [::std::mem::offset_of!(st_mysql_bind, flags) - 44usize];
    ["Offset of field: st_mysql_bind::pack_length"]
        [::std::mem::offset_of!(st_mysql_bind, pack_length) - 48usize];
    ["Offset of field: st_mysql_bind::buffer_type"]
        [::std::mem::offset_of!(st_mysql_bind, buffer_type) - 52usize];
    ["Offset of field: st_mysql_bind::error_value"]
        [::std::mem::offset_of!(st_mysql_bind, error_value) - 56usize];
    ["Offset of field: st_mysql_bind::is_unsigned"]
        [::std::mem::offset_of!(st_mysql_bind, is_unsigned) - 57usize];
    ["Offset of field: st_mysql_bind::long_data_used"]
        [::std::mem::offset_of!(st_mysql_bind, long_data_used) - 58usize];
    ["Offset of field: st_mysql_bind::is_null_value"]
        [::std::mem::offset_of!(st_mysql_bind, is_null_value) - 59usize];
    ["Offset of field: st_mysql_bind::extension"]
        [::std::mem::offset_of!(st_mysql_bind, extension) - 60usize];
};
pub type MYSQL_BIND = st_mysql_bind;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct st_mysqlnd_upsert_result {
    pub warning_count: ::std::os::raw::c_uint,
    pub server_status: ::std::os::raw::c_uint,
    pub affected_rows: ::std::os::raw::c_ulonglong,
    pub last_insert_id: ::std::os::raw::c_ulonglong,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of st_mysqlnd_upsert_result"]
        [::std::mem::size_of::<st_mysqlnd_upsert_result>() - 24usize];
    ["Alignment of st_mysqlnd_upsert_result"]
        [::std::mem::align_of::<st_mysqlnd_upsert_result>() - 4usize];
    ["Offset of field: st_mysqlnd_upsert_result::warning_count"]
        [::std::mem::offset_of!(st_mysqlnd_upsert_result, warning_count) - 0usize];
    ["Offset of field: st_mysqlnd_upsert_result::server_status"]
        [::std::mem::offset_of!(st_mysqlnd_upsert_result, server_status) - 4usize];
    ["Offset of field: st_mysqlnd_upsert_result::affected_rows"]
        [::std::mem::offset_of!(st_mysqlnd_upsert_result, affected_rows) - 8usize];
    ["Offset of field: st_mysqlnd_upsert_result::last_insert_id"]
        [::std::mem::offset_of!(st_mysqlnd_upsert_result, last_insert_id) - 16usize];
};
pub type mysql_upsert_status = st_mysqlnd_upsert_result;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct st_mysql_cmd_buffer {
    pub buffer: *mut ::std::os::raw::c_uchar,
    pub length: usize,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of st_mysql_cmd_buffer"][::std::mem::size_of::<st_mysql_cmd_buffer>() - 8usize];
    ["Alignment of st_mysql_cmd_buffer"][::std::mem::align_of::<st_mysql_cmd_buffer>() - 4usize];
    ["Offset of field: st_mysql_cmd_buffer::buffer"]
        [::std::mem::offset_of!(st_mysql_cmd_buffer, buffer) - 0usize];
    ["Offset of field: st_mysql_cmd_buffer::length"]
        [::std::mem::offset_of!(st_mysql_cmd_buffer, length) - 4usize];
};
pub type MYSQL_CMD_BUFFER = st_mysql_cmd_buffer;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct st_mysql_error_info {
    pub error_no: ::std::os::raw::c_uint,
    pub error: [::std::os::raw::c_char; 513usize],
    pub sqlstate: [::std::os::raw::c_char; 6usize],
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of st_mysql_error_info"][::std::mem::size_of::<st_mysql_error_info>() - 524usize];
    ["Alignment of st_mysql_error_info"][::std::mem::align_of::<st_mysql_error_info>() - 4usize];
    ["Offset of field: st_mysql_error_info::error_no"]
        [::std::mem::offset_of!(st_mysql_error_info, error_no) - 0usize];
    ["Offset of field: st_mysql_error_info::error"]
        [::std::mem::offset_of!(st_mysql_error_info, error) - 4usize];
    ["Offset of field: st_mysql_error_info::sqlstate"]
        [::std::mem::offset_of!(st_mysql_error_info, sqlstate) - 517usize];
};
pub type mysql_error_info = st_mysql_error_info;
pub type mysql_stmt_fetch_row_func = ::std::option::Option<
    unsafe extern "C" fn(
        stmt: *mut MYSQL_STMT,
        row: *mut *mut ::std::os::raw::c_uchar,
    ) -> ::std::os::raw::c_int,
>;
pub type ps_result_callback = ::std::option::Option<
    unsafe extern "C" fn(
        data: *mut ::std::os::raw::c_void,
        column: ::std::os::raw::c_uint,
        row: *mut *mut ::std::os::raw::c_uchar,
    ),
>;
pub type ps_param_callback = ::std::option::Option<
    unsafe extern "C" fn(
        data: *mut ::std::os::raw::c_void,
        bind: *mut MYSQL_BIND,
        row_nr: ::std::os::raw::c_uint,
    ) -> my_bool,
>;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct st_mysql_stmt {
    pub mem_root: MA_MEM_ROOT,
    pub mysql: *mut MYSQL,
    pub stmt_id: ::std::os::raw::c_ulong,
    pub flags: ::std::os::raw::c_ulong,
    pub state: enum_mysqlnd_stmt_state,
    pub fields: *mut MYSQL_FIELD,
    pub field_count: ::std::os::raw::c_uint,
    pub param_count: ::std::os::raw::c_uint,
    pub send_types_to_server: ::std::os::raw::c_uchar,
    pub params: *mut MYSQL_BIND,
    pub bind: *mut MYSQL_BIND,
    pub result: MYSQL_DATA,
    pub result_cursor: *mut MYSQL_ROWS,
    pub bind_result_done: my_bool,
    pub bind_param_done: my_bool,
    pub upsert_status: mysql_upsert_status,
    pub last_errno: ::std::os::raw::c_uint,
    pub last_error: [::std::os::raw::c_char; 513usize],
    pub sqlstate: [::std::os::raw::c_char; 6usize],
    pub update_max_length: my_bool,
    pub prefetch_rows: ::std::os::raw::c_ulong,
    pub list: LIST,
    pub cursor_exists: my_bool,
    pub extension: *mut ::std::os::raw::c_void,
    pub fetch_row_func: mysql_stmt_fetch_row_func,
    pub execute_count: ::std::os::raw::c_uint,
    pub default_rset_handler: mysql_stmt_use_or_store_func,
    pub request_buffer: *mut ::std::os::raw::c_uchar,
    pub array_size: ::std::os::raw::c_uint,
    pub row_size: usize,
    pub prebind_params: ::std::os::raw::c_uint,
    pub user_data: *mut ::std::os::raw::c_void,
    pub result_callback: ps_result_callback,
    pub param_callback: ps_param_callback,
    pub request_length: usize,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of st_mysql_stmt"][::std::mem::size_of::<st_mysql_stmt>() - 752usize];
    ["Alignment of st_mysql_stmt"][::std::mem::align_of::<st_mysql_stmt>() - 4usize];
    ["Offset of field: st_mysql_stmt::mem_root"]
        [::std::mem::offset_of!(st_mysql_stmt, mem_root) - 0usize];
    ["Offset of field: st_mysql_stmt::mysql"]
        [::std::mem::offset_of!(st_mysql_stmt, mysql) - 32usize];
    ["Offset of field: st_mysql_stmt::stmt_id"]
        [::std::mem::offset_of!(st_mysql_stmt, stmt_id) - 36usize];
    ["Offset of field: st_mysql_stmt::flags"]
        [::std::mem::offset_of!(st_mysql_stmt, flags) - 40usize];
    ["Offset of field: st_mysql_stmt::state"]
        [::std::mem::offset_of!(st_mysql_stmt, state) - 44usize];
    ["Offset of field: st_mysql_stmt::fields"]
        [::std::mem::offset_of!(st_mysql_stmt, fields) - 48usize];
    ["Offset of field: st_mysql_stmt::field_count"]
        [::std::mem::offset_of!(st_mysql_stmt, field_count) - 52usize];
    ["Offset of field: st_mysql_stmt::param_count"]
        [::std::mem::offset_of!(st_mysql_stmt, param_count) - 56usize];
    ["Offset of field: st_mysql_stmt::send_types_to_server"]
        [::std::mem::offset_of!(st_mysql_stmt, send_types_to_server) - 60usize];
    ["Offset of field: st_mysql_stmt::params"]
        [::std::mem::offset_of!(st_mysql_stmt, params) - 64usize];
    ["Offset of field: st_mysql_stmt::bind"][::std::mem::offset_of!(st_mysql_stmt, bind) - 68usize];
    ["Offset of field: st_mysql_stmt::result"]
        [::std::mem::offset_of!(st_mysql_stmt, result) - 72usize];
    ["Offset of field: st_mysql_stmt::result_cursor"]
        [::std::mem::offset_of!(st_mysql_stmt, result_cursor) - 128usize];
    ["Offset of field: st_mysql_stmt::bind_result_done"]
        [::std::mem::offset_of!(st_mysql_stmt, bind_result_done) - 132usize];
    ["Offset of field: st_mysql_stmt::bind_param_done"]
        [::std::mem::offset_of!(st_mysql_stmt, bind_param_done) - 133usize];
    ["Offset of field: st_mysql_stmt::upsert_status"]
        [::std::mem::offset_of!(st_mysql_stmt, upsert_status) - 136usize];
    ["Offset of field: st_mysql_stmt::last_errno"]
        [::std::mem::offset_of!(st_mysql_stmt, last_errno) - 160usize];
    ["Offset of field: st_mysql_stmt::last_error"]
        [::std::mem::offset_of!(st_mysql_stmt, last_error) - 164usize];
    ["Offset of field: st_mysql_stmt::sqlstate"]
        [::std::mem::offset_of!(st_mysql_stmt, sqlstate) - 677usize];
    ["Offset of field: st_mysql_stmt::update_max_length"]
        [::std::mem::offset_of!(st_mysql_stmt, update_max_length) - 683usize];
    ["Offset of field: st_mysql_stmt::prefetch_rows"]
        [::std::mem::offset_of!(st_mysql_stmt, prefetch_rows) - 684usize];
    ["Offset of field: st_mysql_stmt::list"]
        [::std::mem::offset_of!(st_mysql_stmt, list) - 688usize];
    ["Offset of field: st_mysql_stmt::cursor_exists"]
        [::std::mem::offset_of!(st_mysql_stmt, cursor_exists) - 700usize];
    ["Offset of field: st_mysql_stmt::extension"]
        [::std::mem::offset_of!(st_mysql_stmt, extension) - 704usize];
    ["Offset of field: st_mysql_stmt::fetch_row_func"]
        [::std::mem::offset_of!(st_mysql_stmt, fetch_row_func) - 708usize];
    ["Offset of field: st_mysql_stmt::execute_count"]
        [::std::mem::offset_of!(st_mysql_stmt, execute_count) - 712usize];
    ["Offset of field: st_mysql_stmt::default_rset_handler"]
        [::std::mem::offset_of!(st_mysql_stmt, default_rset_handler) - 716usize];
    ["Offset of field: st_mysql_stmt::request_buffer"]
        [::std::mem::offset_of!(st_mysql_stmt, request_buffer) - 720usize];
    ["Offset of field: st_mysql_stmt::array_size"]
        [::std::mem::offset_of!(st_mysql_stmt, array_size) - 724usize];
    ["Offset of field: st_mysql_stmt::row_size"]
        [::std::mem::offset_of!(st_mysql_stmt, row_size) - 728usize];
    ["Offset of field: st_mysql_stmt::prebind_params"]
        [::std::mem::offset_of!(st_mysql_stmt, prebind_params) - 732usize];
    ["Offset of field: st_mysql_stmt::user_data"]
        [::std::mem::offset_of!(st_mysql_stmt, user_data) - 736usize];
    ["Offset of field: st_mysql_stmt::result_callback"]
        [::std::mem::offset_of!(st_mysql_stmt, result_callback) - 740usize];
    ["Offset of field: st_mysql_stmt::param_callback"]
        [::std::mem::offset_of!(st_mysql_stmt, param_callback) - 744usize];
    ["Offset of field: st_mysql_stmt::request_length"]
        [::std::mem::offset_of!(st_mysql_stmt, request_length) - 748usize];
};
pub type ps_field_fetch_func = ::std::option::Option<
    unsafe extern "C" fn(
        r_param: *mut MYSQL_BIND,
        field: *const MYSQL_FIELD,
        row: *mut *mut ::std::os::raw::c_uchar,
    ),
>;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct st_mysql_perm_bind {
    pub func: ps_field_fetch_func,
    pub pack_len: ::std::os::raw::c_int,
    pub max_len: ::std::os::raw::c_ulong,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of st_mysql_perm_bind"][::std::mem::size_of::<st_mysql_perm_bind>() - 12usize];
    ["Alignment of st_mysql_perm_bind"][::std::mem::align_of::<st_mysql_perm_bind>() - 4usize];
    ["Offset of field: st_mysql_perm_bind::func"]
        [::std::mem::offset_of!(st_mysql_perm_bind, func) - 0usize];
    ["Offset of field: st_mysql_perm_bind::pack_len"]
        [::std::mem::offset_of!(st_mysql_perm_bind, pack_len) - 4usize];
    ["Offset of field: st_mysql_perm_bind::max_len"]
        [::std::mem::offset_of!(st_mysql_perm_bind, max_len) - 8usize];
};
pub type MYSQL_PS_CONVERSION = st_mysql_perm_bind;
unsafe extern "C" {
    pub fn mysql_init_ps_subsystem();
}
unsafe extern "C" {
    pub fn mysql_stmt_init(mysql: *mut MYSQL) -> *mut MYSQL_STMT;
}
unsafe extern "C" {
    pub fn mysql_stmt_prepare(
        stmt: *mut MYSQL_STMT,
        query: *const ::std::os::raw::c_char,
        length: ::std::os::raw::c_ulong,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_stmt_execute(stmt: *mut MYSQL_STMT) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_stmt_fetch(stmt: *mut MYSQL_STMT) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_stmt_fetch_column(
        stmt: *mut MYSQL_STMT,
        bind_arg: *mut MYSQL_BIND,
        column: ::std::os::raw::c_uint,
        offset: ::std::os::raw::c_ulong,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_stmt_store_result(stmt: *mut MYSQL_STMT) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_stmt_param_count(stmt: *mut MYSQL_STMT) -> ::std::os::raw::c_ulong;
}
unsafe extern "C" {
    pub fn mysql_stmt_attr_set(
        stmt: *mut MYSQL_STMT,
        attr_type: enum_stmt_attr_type,
        attr: *const ::std::os::raw::c_void,
    ) -> my_bool;
}
unsafe extern "C" {
    pub fn mysql_stmt_attr_get(
        stmt: *mut MYSQL_STMT,
        attr_type: enum_stmt_attr_type,
        attr: *mut ::std::os::raw::c_void,
    ) -> my_bool;
}
unsafe extern "C" {
    pub fn mysql_stmt_bind_param(stmt: *mut MYSQL_STMT, bnd: *mut MYSQL_BIND) -> my_bool;
}
unsafe extern "C" {
    pub fn mysql_stmt_bind_result(stmt: *mut MYSQL_STMT, bnd: *mut MYSQL_BIND) -> my_bool;
}
unsafe extern "C" {
    pub fn mysql_stmt_close(stmt: *mut MYSQL_STMT) -> my_bool;
}
unsafe extern "C" {
    pub fn mysql_stmt_reset(stmt: *mut MYSQL_STMT) -> my_bool;
}
unsafe extern "C" {
    pub fn mysql_stmt_free_result(stmt: *mut MYSQL_STMT) -> my_bool;
}
unsafe extern "C" {
    pub fn mysql_stmt_send_long_data(
        stmt: *mut MYSQL_STMT,
        param_number: ::std::os::raw::c_uint,
        data: *const ::std::os::raw::c_char,
        length: ::std::os::raw::c_ulong,
    ) -> my_bool;
}
unsafe extern "C" {
    pub fn mysql_stmt_result_metadata(stmt: *mut MYSQL_STMT) -> *mut MYSQL_RES;
}
unsafe extern "C" {
    pub fn mysql_stmt_param_metadata(stmt: *mut MYSQL_STMT) -> *mut MYSQL_RES;
}
unsafe extern "C" {
    pub fn mysql_stmt_errno(stmt: *mut MYSQL_STMT) -> ::std::os::raw::c_uint;
}
unsafe extern "C" {
    pub fn mysql_stmt_error(stmt: *mut MYSQL_STMT) -> *const ::std::os::raw::c_char;
}
unsafe extern "C" {
    pub fn mysql_stmt_sqlstate(stmt: *mut MYSQL_STMT) -> *const ::std::os::raw::c_char;
}
unsafe extern "C" {
    pub fn mysql_stmt_row_seek(stmt: *mut MYSQL_STMT, offset: MYSQL_ROW_OFFSET)
        -> MYSQL_ROW_OFFSET;
}
unsafe extern "C" {
    pub fn mysql_stmt_row_tell(stmt: *mut MYSQL_STMT) -> MYSQL_ROW_OFFSET;
}
unsafe extern "C" {
    pub fn mysql_stmt_data_seek(stmt: *mut MYSQL_STMT, offset: ::std::os::raw::c_ulonglong);
}
unsafe extern "C" {
    pub fn mysql_stmt_num_rows(stmt: *mut MYSQL_STMT) -> ::std::os::raw::c_ulonglong;
}
unsafe extern "C" {
    pub fn mysql_stmt_affected_rows(stmt: *mut MYSQL_STMT) -> ::std::os::raw::c_ulonglong;
}
unsafe extern "C" {
    pub fn mysql_stmt_insert_id(stmt: *mut MYSQL_STMT) -> ::std::os::raw::c_ulonglong;
}
unsafe extern "C" {
    pub fn mysql_stmt_field_count(stmt: *mut MYSQL_STMT) -> ::std::os::raw::c_uint;
}
unsafe extern "C" {
    pub fn mysql_stmt_next_result(stmt: *mut MYSQL_STMT) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_stmt_more_results(stmt: *mut MYSQL_STMT) -> my_bool;
}
unsafe extern "C" {
    pub fn mariadb_stmt_execute_direct(
        stmt: *mut MYSQL_STMT,
        stmt_str: *const ::std::os::raw::c_char,
        length: usize,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mariadb_stmt_fetch_fields(stmt: *mut MYSQL_STMT) -> *mut MYSQL_FIELD;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct st_mysql_client_plugin {
    pub type_: ::std::os::raw::c_int,
    pub interface_version: ::std::os::raw::c_uint,
    pub name: *const ::std::os::raw::c_char,
    pub author: *const ::std::os::raw::c_char,
    pub desc: *const ::std::os::raw::c_char,
    pub version: [::std::os::raw::c_uint; 3usize],
    pub license: *const ::std::os::raw::c_char,
    pub mysql_api: *mut ::std::os::raw::c_void,
    pub init: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut ::std::os::raw::c_char,
            arg2: usize,
            arg3: ::std::os::raw::c_int,
            arg4: va_list,
        ) -> ::std::os::raw::c_int,
    >,
    pub deinit: ::std::option::Option<unsafe extern "C" fn() -> ::std::os::raw::c_int>,
    pub options: ::std::option::Option<
        unsafe extern "C" fn(
            option: *const ::std::os::raw::c_char,
            arg1: *const ::std::os::raw::c_void,
        ) -> ::std::os::raw::c_int,
    >,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of st_mysql_client_plugin"][::std::mem::size_of::<st_mysql_client_plugin>() - 52usize];
    ["Alignment of st_mysql_client_plugin"]
        [::std::mem::align_of::<st_mysql_client_plugin>() - 4usize];
    ["Offset of field: st_mysql_client_plugin::type_"]
        [::std::mem::offset_of!(st_mysql_client_plugin, type_) - 0usize];
    ["Offset of field: st_mysql_client_plugin::interface_version"]
        [::std::mem::offset_of!(st_mysql_client_plugin, interface_version) - 4usize];
    ["Offset of field: st_mysql_client_plugin::name"]
        [::std::mem::offset_of!(st_mysql_client_plugin, name) - 8usize];
    ["Offset of field: st_mysql_client_plugin::author"]
        [::std::mem::offset_of!(st_mysql_client_plugin, author) - 12usize];
    ["Offset of field: st_mysql_client_plugin::desc"]
        [::std::mem::offset_of!(st_mysql_client_plugin, desc) - 16usize];
    ["Offset of field: st_mysql_client_plugin::version"]
        [::std::mem::offset_of!(st_mysql_client_plugin, version) - 20usize];
    ["Offset of field: st_mysql_client_plugin::license"]
        [::std::mem::offset_of!(st_mysql_client_plugin, license) - 32usize];
    ["Offset of field: st_mysql_client_plugin::mysql_api"]
        [::std::mem::offset_of!(st_mysql_client_plugin, mysql_api) - 36usize];
    ["Offset of field: st_mysql_client_plugin::init"]
        [::std::mem::offset_of!(st_mysql_client_plugin, init) - 40usize];
    ["Offset of field: st_mysql_client_plugin::deinit"]
        [::std::mem::offset_of!(st_mysql_client_plugin, deinit) - 44usize];
    ["Offset of field: st_mysql_client_plugin::options"]
        [::std::mem::offset_of!(st_mysql_client_plugin, options) - 48usize];
};
unsafe extern "C" {
    pub fn mysql_load_plugin(
        mysql: *mut st_mysql,
        name: *const ::std::os::raw::c_char,
        type_: ::std::os::raw::c_int,
        argc: ::std::os::raw::c_int,
        ...
    ) -> *mut st_mysql_client_plugin;
}
unsafe extern "C" {
    pub fn mysql_load_plugin_v(
        mysql: *mut st_mysql,
        name: *const ::std::os::raw::c_char,
        type_: ::std::os::raw::c_int,
        argc: ::std::os::raw::c_int,
        args: va_list,
    ) -> *mut st_mysql_client_plugin;
}
unsafe extern "C" {
    pub fn mysql_client_find_plugin(
        mysql: *mut st_mysql,
        name: *const ::std::os::raw::c_char,
        type_: ::std::os::raw::c_int,
    ) -> *mut st_mysql_client_plugin;
}
unsafe extern "C" {
    pub fn mysql_client_register_plugin(
        mysql: *mut st_mysql,
        plugin: *mut st_mysql_client_plugin,
    ) -> *mut st_mysql_client_plugin;
}
unsafe extern "C" {
    pub fn mysql_set_local_infile_handler(
        mysql: *mut MYSQL,
        local_infile_init: ::std::option::Option<
            unsafe extern "C" fn(
                arg1: *mut *mut ::std::os::raw::c_void,
                arg2: *const ::std::os::raw::c_char,
                arg3: *mut ::std::os::raw::c_void,
            ) -> ::std::os::raw::c_int,
        >,
        local_infile_read: ::std::option::Option<
            unsafe extern "C" fn(
                arg1: *mut ::std::os::raw::c_void,
                arg2: *mut ::std::os::raw::c_char,
                arg3: ::std::os::raw::c_uint,
            ) -> ::std::os::raw::c_int,
        >,
        local_infile_end: ::std::option::Option<
            unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void),
        >,
        local_infile_error: ::std::option::Option<
            unsafe extern "C" fn(
                arg1: *mut ::std::os::raw::c_void,
                arg2: *mut ::std::os::raw::c_char,
                arg3: ::std::os::raw::c_uint,
            ) -> ::std::os::raw::c_int,
        >,
        arg1: *mut ::std::os::raw::c_void,
    );
}
unsafe extern "C" {
    pub fn mysql_set_local_infile_default(mysql: *mut MYSQL);
}
unsafe extern "C" {
    pub fn mysql_num_rows(res: *mut MYSQL_RES) -> my_ulonglong;
}
unsafe extern "C" {
    pub fn mysql_num_fields(res: *mut MYSQL_RES) -> ::std::os::raw::c_uint;
}
unsafe extern "C" {
    pub fn mysql_eof(res: *mut MYSQL_RES) -> my_bool;
}
unsafe extern "C" {
    pub fn mysql_fetch_field_direct(
        res: *mut MYSQL_RES,
        fieldnr: ::std::os::raw::c_uint,
    ) -> *mut MYSQL_FIELD;
}
unsafe extern "C" {
    pub fn mysql_fetch_fields(res: *mut MYSQL_RES) -> *mut MYSQL_FIELD;
}
unsafe extern "C" {
    pub fn mysql_row_tell(res: *mut MYSQL_RES) -> *mut MYSQL_ROWS;
}
unsafe extern "C" {
    pub fn mysql_field_tell(res: *mut MYSQL_RES) -> ::std::os::raw::c_uint;
}
unsafe extern "C" {
    pub fn mysql_field_count(mysql: *mut MYSQL) -> ::std::os::raw::c_uint;
}
unsafe extern "C" {
    pub fn mysql_more_results(mysql: *mut MYSQL) -> my_bool;
}
unsafe extern "C" {
    pub fn mysql_next_result(mysql: *mut MYSQL) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_affected_rows(mysql: *mut MYSQL) -> my_ulonglong;
}
unsafe extern "C" {
    pub fn mysql_autocommit(mysql: *mut MYSQL, mode: my_bool) -> my_bool;
}
unsafe extern "C" {
    pub fn mysql_commit(mysql: *mut MYSQL) -> my_bool;
}
unsafe extern "C" {
    pub fn mysql_rollback(mysql: *mut MYSQL) -> my_bool;
}
unsafe extern "C" {
    pub fn mysql_insert_id(mysql: *mut MYSQL) -> my_ulonglong;
}
unsafe extern "C" {
    pub fn mysql_errno(mysql: *mut MYSQL) -> ::std::os::raw::c_uint;
}
unsafe extern "C" {
    pub fn mysql_error(mysql: *mut MYSQL) -> *const ::std::os::raw::c_char;
}
unsafe extern "C" {
    pub fn mysql_info(mysql: *mut MYSQL) -> *const ::std::os::raw::c_char;
}
unsafe extern "C" {
    pub fn mysql_thread_id(mysql: *mut MYSQL) -> ::std::os::raw::c_ulong;
}
unsafe extern "C" {
    pub fn mysql_character_set_name(mysql: *mut MYSQL) -> *const ::std::os::raw::c_char;
}
unsafe extern "C" {
    pub fn mysql_get_character_set_info(mysql: *mut MYSQL, cs: *mut MY_CHARSET_INFO);
}
unsafe extern "C" {
    pub fn mysql_set_character_set(
        mysql: *mut MYSQL,
        csname: *const ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mariadb_get_infov(
        mysql: *mut MYSQL,
        value: mariadb_value,
        arg: *mut ::std::os::raw::c_void,
        ...
    ) -> my_bool;
}
unsafe extern "C" {
    pub fn mariadb_get_info(
        mysql: *mut MYSQL,
        value: mariadb_value,
        arg: *mut ::std::os::raw::c_void,
    ) -> my_bool;
}
unsafe extern "C" {
    pub fn mysql_init(mysql: *mut MYSQL) -> *mut MYSQL;
}
unsafe extern "C" {
    pub fn mysql_ssl_set(
        mysql: *mut MYSQL,
        key: *const ::std::os::raw::c_char,
        cert: *const ::std::os::raw::c_char,
        ca: *const ::std::os::raw::c_char,
        capath: *const ::std::os::raw::c_char,
        cipher: *const ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_get_ssl_cipher(mysql: *mut MYSQL) -> *const ::std::os::raw::c_char;
}
unsafe extern "C" {
    pub fn mysql_change_user(
        mysql: *mut MYSQL,
        user: *const ::std::os::raw::c_char,
        passwd: *const ::std::os::raw::c_char,
        db: *const ::std::os::raw::c_char,
    ) -> my_bool;
}
unsafe extern "C" {
    pub fn mysql_real_connect(
        mysql: *mut MYSQL,
        host: *const ::std::os::raw::c_char,
        user: *const ::std::os::raw::c_char,
        passwd: *const ::std::os::raw::c_char,
        db: *const ::std::os::raw::c_char,
        port: ::std::os::raw::c_uint,
        unix_socket: *const ::std::os::raw::c_char,
        clientflag: ::std::os::raw::c_ulong,
    ) -> *mut MYSQL;
}
unsafe extern "C" {
    pub fn mysql_close(sock: *mut MYSQL);
}
unsafe extern "C" {
    pub fn mysql_select_db(
        mysql: *mut MYSQL,
        db: *const ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_query(
        mysql: *mut MYSQL,
        q: *const ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_send_query(
        mysql: *mut MYSQL,
        q: *const ::std::os::raw::c_char,
        length: ::std::os::raw::c_ulong,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_read_query_result(mysql: *mut MYSQL) -> my_bool;
}
unsafe extern "C" {
    pub fn mysql_real_query(
        mysql: *mut MYSQL,
        q: *const ::std::os::raw::c_char,
        length: ::std::os::raw::c_ulong,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_shutdown(
        mysql: *mut MYSQL,
        shutdown_level: mysql_enum_shutdown_level,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_dump_debug_info(mysql: *mut MYSQL) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_refresh(
        mysql: *mut MYSQL,
        refresh_options: ::std::os::raw::c_uint,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_kill(mysql: *mut MYSQL, pid: ::std::os::raw::c_ulong) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_ping(mysql: *mut MYSQL) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_stat(mysql: *mut MYSQL) -> *mut ::std::os::raw::c_char;
}
unsafe extern "C" {
    pub fn mysql_get_server_info(mysql: *mut MYSQL) -> *mut ::std::os::raw::c_char;
}
unsafe extern "C" {
    pub fn mysql_get_server_version(mysql: *mut MYSQL) -> ::std::os::raw::c_ulong;
}
unsafe extern "C" {
    pub fn mysql_get_host_info(mysql: *mut MYSQL) -> *mut ::std::os::raw::c_char;
}
unsafe extern "C" {
    pub fn mysql_get_proto_info(mysql: *mut MYSQL) -> ::std::os::raw::c_uint;
}
unsafe extern "C" {
    pub fn mysql_list_dbs(mysql: *mut MYSQL, wild: *const ::std::os::raw::c_char)
        -> *mut MYSQL_RES;
}
unsafe extern "C" {
    pub fn mysql_list_tables(
        mysql: *mut MYSQL,
        wild: *const ::std::os::raw::c_char,
    ) -> *mut MYSQL_RES;
}
unsafe extern "C" {
    pub fn mysql_list_fields(
        mysql: *mut MYSQL,
        table: *const ::std::os::raw::c_char,
        wild: *const ::std::os::raw::c_char,
    ) -> *mut MYSQL_RES;
}
unsafe extern "C" {
    pub fn mysql_list_processes(mysql: *mut MYSQL) -> *mut MYSQL_RES;
}
unsafe extern "C" {
    pub fn mysql_store_result(mysql: *mut MYSQL) -> *mut MYSQL_RES;
}
unsafe extern "C" {
    pub fn mysql_use_result(mysql: *mut MYSQL) -> *mut MYSQL_RES;
}
unsafe extern "C" {
    pub fn mysql_options(
        mysql: *mut MYSQL,
        option: mysql_option,
        arg: *const ::std::os::raw::c_void,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_options4(
        mysql: *mut MYSQL,
        option: mysql_option,
        arg1: *const ::std::os::raw::c_void,
        arg2: *const ::std::os::raw::c_void,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_free_result(result: *mut MYSQL_RES);
}
unsafe extern "C" {
    pub fn mysql_data_seek(result: *mut MYSQL_RES, offset: ::std::os::raw::c_ulonglong);
}
unsafe extern "C" {
    pub fn mysql_row_seek(result: *mut MYSQL_RES, arg1: MYSQL_ROW_OFFSET) -> MYSQL_ROW_OFFSET;
}
unsafe extern "C" {
    pub fn mysql_field_seek(
        result: *mut MYSQL_RES,
        offset: MYSQL_FIELD_OFFSET,
    ) -> MYSQL_FIELD_OFFSET;
}
unsafe extern "C" {
    pub fn mysql_fetch_row(result: *mut MYSQL_RES) -> MYSQL_ROW;
}
unsafe extern "C" {
    pub fn mysql_fetch_lengths(result: *mut MYSQL_RES) -> *mut ::std::os::raw::c_ulong;
}
unsafe extern "C" {
    pub fn mysql_fetch_field(result: *mut MYSQL_RES) -> *mut MYSQL_FIELD;
}
unsafe extern "C" {
    pub fn mysql_escape_string(
        to: *mut ::std::os::raw::c_char,
        from: *const ::std::os::raw::c_char,
        from_length: ::std::os::raw::c_ulong,
    ) -> ::std::os::raw::c_ulong;
}
unsafe extern "C" {
    pub fn mysql_real_escape_string(
        mysql: *mut MYSQL,
        to: *mut ::std::os::raw::c_char,
        from: *const ::std::os::raw::c_char,
        length: ::std::os::raw::c_ulong,
    ) -> ::std::os::raw::c_ulong;
}
unsafe extern "C" {
    pub fn mysql_thread_safe() -> ::std::os::raw::c_uint;
}
unsafe extern "C" {
    pub fn mysql_warning_count(mysql: *mut MYSQL) -> ::std::os::raw::c_uint;
}
unsafe extern "C" {
    pub fn mysql_sqlstate(mysql: *mut MYSQL) -> *const ::std::os::raw::c_char;
}
unsafe extern "C" {
    pub fn mysql_server_init(
        argc: ::std::os::raw::c_int,
        argv: *mut *mut ::std::os::raw::c_char,
        groups: *mut *mut ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_server_end();
}
unsafe extern "C" {
    pub fn mysql_thread_end();
}
unsafe extern "C" {
    pub fn mysql_thread_init() -> my_bool;
}
unsafe extern "C" {
    pub fn mysql_set_server_option(
        mysql: *mut MYSQL,
        option: enum_mysql_set_option,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_get_client_info() -> *const ::std::os::raw::c_char;
}
unsafe extern "C" {
    pub fn mysql_get_client_version() -> ::std::os::raw::c_ulong;
}
unsafe extern "C" {
    pub fn mariadb_connection(mysql: *mut MYSQL) -> my_bool;
}
unsafe extern "C" {
    pub fn mysql_get_server_name(mysql: *mut MYSQL) -> *const ::std::os::raw::c_char;
}
unsafe extern "C" {
    pub fn mariadb_get_charset_by_name(
        csname: *const ::std::os::raw::c_char,
    ) -> *mut MARIADB_CHARSET_INFO;
}
unsafe extern "C" {
    pub fn mariadb_get_charset_by_nr(csnr: ::std::os::raw::c_uint) -> *mut MARIADB_CHARSET_INFO;
}
unsafe extern "C" {
    pub fn mariadb_convert_string(
        from: *const ::std::os::raw::c_char,
        from_len: *mut usize,
        from_cs: *mut MARIADB_CHARSET_INFO,
        to: *mut ::std::os::raw::c_char,
        to_len: *mut usize,
        to_cs: *mut MARIADB_CHARSET_INFO,
        errorcode: *mut ::std::os::raw::c_int,
    ) -> usize;
}
unsafe extern "C" {
    pub fn mysql_optionsv(mysql: *mut MYSQL, option: mysql_option, ...) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_get_optionv(
        mysql: *mut MYSQL,
        option: mysql_option,
        arg: *mut ::std::os::raw::c_void,
        ...
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_get_option(
        mysql: *mut MYSQL,
        option: mysql_option,
        arg: *mut ::std::os::raw::c_void,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_hex_string(
        to: *mut ::std::os::raw::c_char,
        from: *const ::std::os::raw::c_char,
        len: ::std::os::raw::c_ulong,
    ) -> ::std::os::raw::c_ulong;
}
unsafe extern "C" {
    pub fn mysql_get_socket(mysql: *mut MYSQL) -> my_socket;
}
unsafe extern "C" {
    pub fn mysql_get_timeout_value(mysql: *const MYSQL) -> ::std::os::raw::c_uint;
}
unsafe extern "C" {
    pub fn mysql_get_timeout_value_ms(mysql: *const MYSQL) -> ::std::os::raw::c_uint;
}
unsafe extern "C" {
    pub fn mariadb_reconnect(mysql: *mut MYSQL) -> my_bool;
}
unsafe extern "C" {
    pub fn mariadb_cancel(mysql: *mut MYSQL) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_debug(debug: *const ::std::os::raw::c_char);
}
unsafe extern "C" {
    pub fn mysql_net_read_packet(mysql: *mut MYSQL) -> ::std::os::raw::c_ulong;
}
unsafe extern "C" {
    pub fn mysql_net_field_length(
        packet: *mut *mut ::std::os::raw::c_uchar,
    ) -> ::std::os::raw::c_ulong;
}
unsafe extern "C" {
    pub fn mysql_embedded() -> my_bool;
}
unsafe extern "C" {
    pub fn mysql_get_parameters() -> *mut MYSQL_PARAMETERS;
}
unsafe extern "C" {
    pub fn mysql_close_start(sock: *mut MYSQL) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_close_cont(
        sock: *mut MYSQL,
        status: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_commit_start(ret: *mut my_bool, mysql: *mut MYSQL) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_commit_cont(
        ret: *mut my_bool,
        mysql: *mut MYSQL,
        status: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_dump_debug_info_cont(
        ret: *mut ::std::os::raw::c_int,
        mysql: *mut MYSQL,
        ready_status: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_dump_debug_info_start(
        ret: *mut ::std::os::raw::c_int,
        mysql: *mut MYSQL,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_rollback_start(ret: *mut my_bool, mysql: *mut MYSQL) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_rollback_cont(
        ret: *mut my_bool,
        mysql: *mut MYSQL,
        status: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_autocommit_start(
        ret: *mut my_bool,
        mysql: *mut MYSQL,
        auto_mode: my_bool,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_list_fields_cont(
        ret: *mut *mut MYSQL_RES,
        mysql: *mut MYSQL,
        ready_status: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_list_fields_start(
        ret: *mut *mut MYSQL_RES,
        mysql: *mut MYSQL,
        table: *const ::std::os::raw::c_char,
        wild: *const ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_autocommit_cont(
        ret: *mut my_bool,
        mysql: *mut MYSQL,
        status: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_next_result_start(
        ret: *mut ::std::os::raw::c_int,
        mysql: *mut MYSQL,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_next_result_cont(
        ret: *mut ::std::os::raw::c_int,
        mysql: *mut MYSQL,
        status: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_select_db_start(
        ret: *mut ::std::os::raw::c_int,
        mysql: *mut MYSQL,
        db: *const ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_select_db_cont(
        ret: *mut ::std::os::raw::c_int,
        mysql: *mut MYSQL,
        ready_status: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_stmt_warning_count(stmt: *mut MYSQL_STMT) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_stmt_next_result_start(
        ret: *mut ::std::os::raw::c_int,
        stmt: *mut MYSQL_STMT,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_stmt_next_result_cont(
        ret: *mut ::std::os::raw::c_int,
        stmt: *mut MYSQL_STMT,
        status: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_set_character_set_start(
        ret: *mut ::std::os::raw::c_int,
        mysql: *mut MYSQL,
        csname: *const ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_set_character_set_cont(
        ret: *mut ::std::os::raw::c_int,
        mysql: *mut MYSQL,
        status: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_change_user_start(
        ret: *mut my_bool,
        mysql: *mut MYSQL,
        user: *const ::std::os::raw::c_char,
        passwd: *const ::std::os::raw::c_char,
        db: *const ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_change_user_cont(
        ret: *mut my_bool,
        mysql: *mut MYSQL,
        status: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_real_connect_start(
        ret: *mut *mut MYSQL,
        mysql: *mut MYSQL,
        host: *const ::std::os::raw::c_char,
        user: *const ::std::os::raw::c_char,
        passwd: *const ::std::os::raw::c_char,
        db: *const ::std::os::raw::c_char,
        port: ::std::os::raw::c_uint,
        unix_socket: *const ::std::os::raw::c_char,
        clientflag: ::std::os::raw::c_ulong,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_real_connect_cont(
        ret: *mut *mut MYSQL,
        mysql: *mut MYSQL,
        status: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_query_start(
        ret: *mut ::std::os::raw::c_int,
        mysql: *mut MYSQL,
        q: *const ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_query_cont(
        ret: *mut ::std::os::raw::c_int,
        mysql: *mut MYSQL,
        status: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_send_query_start(
        ret: *mut ::std::os::raw::c_int,
        mysql: *mut MYSQL,
        q: *const ::std::os::raw::c_char,
        length: ::std::os::raw::c_ulong,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_send_query_cont(
        ret: *mut ::std::os::raw::c_int,
        mysql: *mut MYSQL,
        status: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_real_query_start(
        ret: *mut ::std::os::raw::c_int,
        mysql: *mut MYSQL,
        q: *const ::std::os::raw::c_char,
        length: ::std::os::raw::c_ulong,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_real_query_cont(
        ret: *mut ::std::os::raw::c_int,
        mysql: *mut MYSQL,
        status: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_store_result_start(
        ret: *mut *mut MYSQL_RES,
        mysql: *mut MYSQL,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_store_result_cont(
        ret: *mut *mut MYSQL_RES,
        mysql: *mut MYSQL,
        status: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_shutdown_start(
        ret: *mut ::std::os::raw::c_int,
        mysql: *mut MYSQL,
        shutdown_level: mysql_enum_shutdown_level,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_shutdown_cont(
        ret: *mut ::std::os::raw::c_int,
        mysql: *mut MYSQL,
        status: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_refresh_start(
        ret: *mut ::std::os::raw::c_int,
        mysql: *mut MYSQL,
        refresh_options: ::std::os::raw::c_uint,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_refresh_cont(
        ret: *mut ::std::os::raw::c_int,
        mysql: *mut MYSQL,
        status: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_kill_start(
        ret: *mut ::std::os::raw::c_int,
        mysql: *mut MYSQL,
        pid: ::std::os::raw::c_ulong,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_kill_cont(
        ret: *mut ::std::os::raw::c_int,
        mysql: *mut MYSQL,
        status: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_set_server_option_start(
        ret: *mut ::std::os::raw::c_int,
        mysql: *mut MYSQL,
        option: enum_mysql_set_option,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_set_server_option_cont(
        ret: *mut ::std::os::raw::c_int,
        mysql: *mut MYSQL,
        status: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_ping_start(
        ret: *mut ::std::os::raw::c_int,
        mysql: *mut MYSQL,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_ping_cont(
        ret: *mut ::std::os::raw::c_int,
        mysql: *mut MYSQL,
        status: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_stat_start(
        ret: *mut *const ::std::os::raw::c_char,
        mysql: *mut MYSQL,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_stat_cont(
        ret: *mut *const ::std::os::raw::c_char,
        mysql: *mut MYSQL,
        status: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_free_result_start(result: *mut MYSQL_RES) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_free_result_cont(
        result: *mut MYSQL_RES,
        status: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_fetch_row_start(
        ret: *mut MYSQL_ROW,
        result: *mut MYSQL_RES,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_fetch_row_cont(
        ret: *mut MYSQL_ROW,
        result: *mut MYSQL_RES,
        status: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_read_query_result_start(
        ret: *mut my_bool,
        mysql: *mut MYSQL,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_read_query_result_cont(
        ret: *mut my_bool,
        mysql: *mut MYSQL,
        status: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_reset_connection_start(
        ret: *mut ::std::os::raw::c_int,
        mysql: *mut MYSQL,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_reset_connection_cont(
        ret: *mut ::std::os::raw::c_int,
        mysql: *mut MYSQL,
        status: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_session_track_get_next(
        mysql: *mut MYSQL,
        type_: enum_session_state_type,
        data: *mut *const ::std::os::raw::c_char,
        length: *mut usize,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_session_track_get_first(
        mysql: *mut MYSQL,
        type_: enum_session_state_type,
        data: *mut *const ::std::os::raw::c_char,
        length: *mut usize,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_stmt_prepare_start(
        ret: *mut ::std::os::raw::c_int,
        stmt: *mut MYSQL_STMT,
        query: *const ::std::os::raw::c_char,
        length: ::std::os::raw::c_ulong,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_stmt_prepare_cont(
        ret: *mut ::std::os::raw::c_int,
        stmt: *mut MYSQL_STMT,
        status: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_stmt_execute_start(
        ret: *mut ::std::os::raw::c_int,
        stmt: *mut MYSQL_STMT,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_stmt_execute_cont(
        ret: *mut ::std::os::raw::c_int,
        stmt: *mut MYSQL_STMT,
        status: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_stmt_fetch_start(
        ret: *mut ::std::os::raw::c_int,
        stmt: *mut MYSQL_STMT,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_stmt_fetch_cont(
        ret: *mut ::std::os::raw::c_int,
        stmt: *mut MYSQL_STMT,
        status: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_stmt_store_result_start(
        ret: *mut ::std::os::raw::c_int,
        stmt: *mut MYSQL_STMT,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_stmt_store_result_cont(
        ret: *mut ::std::os::raw::c_int,
        stmt: *mut MYSQL_STMT,
        status: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_stmt_close_start(
        ret: *mut my_bool,
        stmt: *mut MYSQL_STMT,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_stmt_close_cont(
        ret: *mut my_bool,
        stmt: *mut MYSQL_STMT,
        status: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_stmt_reset_start(
        ret: *mut my_bool,
        stmt: *mut MYSQL_STMT,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_stmt_reset_cont(
        ret: *mut my_bool,
        stmt: *mut MYSQL_STMT,
        status: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_stmt_free_result_start(
        ret: *mut my_bool,
        stmt: *mut MYSQL_STMT,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_stmt_free_result_cont(
        ret: *mut my_bool,
        stmt: *mut MYSQL_STMT,
        status: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_stmt_send_long_data_start(
        ret: *mut my_bool,
        stmt: *mut MYSQL_STMT,
        param_number: ::std::os::raw::c_uint,
        data: *const ::std::os::raw::c_char,
        len: ::std::os::raw::c_ulong,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_stmt_send_long_data_cont(
        ret: *mut my_bool,
        stmt: *mut MYSQL_STMT,
        status: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn mysql_reset_connection(mysql: *mut MYSQL) -> ::std::os::raw::c_int;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct st_mariadb_api {
    pub mysql_num_rows: ::std::option::Option<
        unsafe extern "C" fn(res: *mut MYSQL_RES) -> ::std::os::raw::c_ulonglong,
    >,
    pub mysql_num_fields:
        ::std::option::Option<unsafe extern "C" fn(res: *mut MYSQL_RES) -> ::std::os::raw::c_uint>,
    pub mysql_eof: ::std::option::Option<unsafe extern "C" fn(res: *mut MYSQL_RES) -> my_bool>,
    pub mysql_fetch_field_direct: ::std::option::Option<
        unsafe extern "C" fn(
            res: *mut MYSQL_RES,
            fieldnr: ::std::os::raw::c_uint,
        ) -> *mut MYSQL_FIELD,
    >,
    pub mysql_fetch_fields:
        ::std::option::Option<unsafe extern "C" fn(res: *mut MYSQL_RES) -> *mut MYSQL_FIELD>,
    pub mysql_row_tell:
        ::std::option::Option<unsafe extern "C" fn(res: *mut MYSQL_RES) -> *mut MYSQL_ROWS>,
    pub mysql_field_tell:
        ::std::option::Option<unsafe extern "C" fn(res: *mut MYSQL_RES) -> ::std::os::raw::c_uint>,
    pub mysql_field_count:
        ::std::option::Option<unsafe extern "C" fn(mysql: *mut MYSQL) -> ::std::os::raw::c_uint>,
    pub mysql_more_results:
        ::std::option::Option<unsafe extern "C" fn(mysql: *mut MYSQL) -> my_bool>,
    pub mysql_next_result:
        ::std::option::Option<unsafe extern "C" fn(mysql: *mut MYSQL) -> ::std::os::raw::c_int>,
    pub mysql_affected_rows: ::std::option::Option<
        unsafe extern "C" fn(mysql: *mut MYSQL) -> ::std::os::raw::c_ulonglong,
    >,
    pub mysql_autocommit:
        ::std::option::Option<unsafe extern "C" fn(mysql: *mut MYSQL, mode: my_bool) -> my_bool>,
    pub mysql_commit: ::std::option::Option<unsafe extern "C" fn(mysql: *mut MYSQL) -> my_bool>,
    pub mysql_rollback: ::std::option::Option<unsafe extern "C" fn(mysql: *mut MYSQL) -> my_bool>,
    pub mysql_insert_id: ::std::option::Option<
        unsafe extern "C" fn(mysql: *mut MYSQL) -> ::std::os::raw::c_ulonglong,
    >,
    pub mysql_errno:
        ::std::option::Option<unsafe extern "C" fn(mysql: *mut MYSQL) -> ::std::os::raw::c_uint>,
    pub mysql_error: ::std::option::Option<
        unsafe extern "C" fn(mysql: *mut MYSQL) -> *const ::std::os::raw::c_char,
    >,
    pub mysql_info: ::std::option::Option<
        unsafe extern "C" fn(mysql: *mut MYSQL) -> *const ::std::os::raw::c_char,
    >,
    pub mysql_thread_id:
        ::std::option::Option<unsafe extern "C" fn(mysql: *mut MYSQL) -> ::std::os::raw::c_ulong>,
    pub mysql_character_set_name: ::std::option::Option<
        unsafe extern "C" fn(mysql: *mut MYSQL) -> *const ::std::os::raw::c_char,
    >,
    pub mysql_get_character_set_info:
        ::std::option::Option<unsafe extern "C" fn(mysql: *mut MYSQL, cs: *mut MY_CHARSET_INFO)>,
    pub mysql_set_character_set: ::std::option::Option<
        unsafe extern "C" fn(
            mysql: *mut MYSQL,
            csname: *const ::std::os::raw::c_char,
        ) -> ::std::os::raw::c_int,
    >,
    pub mariadb_get_infov: ::std::option::Option<
        unsafe extern "C" fn(
            mysql: *mut MYSQL,
            value: mariadb_value,
            arg: *mut ::std::os::raw::c_void,
            ...
        ) -> my_bool,
    >,
    pub mariadb_get_info: ::std::option::Option<
        unsafe extern "C" fn(
            mysql: *mut MYSQL,
            value: mariadb_value,
            arg: *mut ::std::os::raw::c_void,
        ) -> my_bool,
    >,
    pub mysql_init: ::std::option::Option<unsafe extern "C" fn(mysql: *mut MYSQL) -> *mut MYSQL>,
    pub mysql_ssl_set: ::std::option::Option<
        unsafe extern "C" fn(
            mysql: *mut MYSQL,
            key: *const ::std::os::raw::c_char,
            cert: *const ::std::os::raw::c_char,
            ca: *const ::std::os::raw::c_char,
            capath: *const ::std::os::raw::c_char,
            cipher: *const ::std::os::raw::c_char,
        ) -> ::std::os::raw::c_int,
    >,
    pub mysql_get_ssl_cipher: ::std::option::Option<
        unsafe extern "C" fn(mysql: *mut MYSQL) -> *const ::std::os::raw::c_char,
    >,
    pub mysql_change_user: ::std::option::Option<
        unsafe extern "C" fn(
            mysql: *mut MYSQL,
            user: *const ::std::os::raw::c_char,
            passwd: *const ::std::os::raw::c_char,
            db: *const ::std::os::raw::c_char,
        ) -> my_bool,
    >,
    pub mysql_real_connect: ::std::option::Option<
        unsafe extern "C" fn(
            mysql: *mut MYSQL,
            host: *const ::std::os::raw::c_char,
            user: *const ::std::os::raw::c_char,
            passwd: *const ::std::os::raw::c_char,
            db: *const ::std::os::raw::c_char,
            port: ::std::os::raw::c_uint,
            unix_socket: *const ::std::os::raw::c_char,
            clientflag: ::std::os::raw::c_ulong,
        ) -> *mut MYSQL,
    >,
    pub mysql_close: ::std::option::Option<unsafe extern "C" fn(sock: *mut MYSQL)>,
    pub mysql_select_db: ::std::option::Option<
        unsafe extern "C" fn(
            mysql: *mut MYSQL,
            db: *const ::std::os::raw::c_char,
        ) -> ::std::os::raw::c_int,
    >,
    pub mysql_query: ::std::option::Option<
        unsafe extern "C" fn(
            mysql: *mut MYSQL,
            q: *const ::std::os::raw::c_char,
        ) -> ::std::os::raw::c_int,
    >,
    pub mysql_send_query: ::std::option::Option<
        unsafe extern "C" fn(
            mysql: *mut MYSQL,
            q: *const ::std::os::raw::c_char,
            length: ::std::os::raw::c_ulong,
        ) -> ::std::os::raw::c_int,
    >,
    pub mysql_read_query_result:
        ::std::option::Option<unsafe extern "C" fn(mysql: *mut MYSQL) -> my_bool>,
    pub mysql_real_query: ::std::option::Option<
        unsafe extern "C" fn(
            mysql: *mut MYSQL,
            q: *const ::std::os::raw::c_char,
            length: ::std::os::raw::c_ulong,
        ) -> ::std::os::raw::c_int,
    >,
    pub mysql_shutdown: ::std::option::Option<
        unsafe extern "C" fn(
            mysql: *mut MYSQL,
            shutdown_level: mysql_enum_shutdown_level,
        ) -> ::std::os::raw::c_int,
    >,
    pub mysql_dump_debug_info:
        ::std::option::Option<unsafe extern "C" fn(mysql: *mut MYSQL) -> ::std::os::raw::c_int>,
    pub mysql_refresh: ::std::option::Option<
        unsafe extern "C" fn(
            mysql: *mut MYSQL,
            refresh_options: ::std::os::raw::c_uint,
        ) -> ::std::os::raw::c_int,
    >,
    pub mysql_kill: ::std::option::Option<
        unsafe extern "C" fn(
            mysql: *mut MYSQL,
            pid: ::std::os::raw::c_ulong,
        ) -> ::std::os::raw::c_int,
    >,
    pub mysql_ping:
        ::std::option::Option<unsafe extern "C" fn(mysql: *mut MYSQL) -> ::std::os::raw::c_int>,
    pub mysql_stat: ::std::option::Option<
        unsafe extern "C" fn(mysql: *mut MYSQL) -> *mut ::std::os::raw::c_char,
    >,
    pub mysql_get_server_info: ::std::option::Option<
        unsafe extern "C" fn(mysql: *mut MYSQL) -> *mut ::std::os::raw::c_char,
    >,
    pub mysql_get_server_version:
        ::std::option::Option<unsafe extern "C" fn(mysql: *mut MYSQL) -> ::std::os::raw::c_ulong>,
    pub mysql_get_host_info: ::std::option::Option<
        unsafe extern "C" fn(mysql: *mut MYSQL) -> *mut ::std::os::raw::c_char,
    >,
    pub mysql_get_proto_info:
        ::std::option::Option<unsafe extern "C" fn(mysql: *mut MYSQL) -> ::std::os::raw::c_uint>,
    pub mysql_list_dbs: ::std::option::Option<
        unsafe extern "C" fn(
            mysql: *mut MYSQL,
            wild: *const ::std::os::raw::c_char,
        ) -> *mut MYSQL_RES,
    >,
    pub mysql_list_tables: ::std::option::Option<
        unsafe extern "C" fn(
            mysql: *mut MYSQL,
            wild: *const ::std::os::raw::c_char,
        ) -> *mut MYSQL_RES,
    >,
    pub mysql_list_fields: ::std::option::Option<
        unsafe extern "C" fn(
            mysql: *mut MYSQL,
            table: *const ::std::os::raw::c_char,
            wild: *const ::std::os::raw::c_char,
        ) -> *mut MYSQL_RES,
    >,
    pub mysql_list_processes:
        ::std::option::Option<unsafe extern "C" fn(mysql: *mut MYSQL) -> *mut MYSQL_RES>,
    pub mysql_store_result:
        ::std::option::Option<unsafe extern "C" fn(mysql: *mut MYSQL) -> *mut MYSQL_RES>,
    pub mysql_use_result:
        ::std::option::Option<unsafe extern "C" fn(mysql: *mut MYSQL) -> *mut MYSQL_RES>,
    pub mysql_options: ::std::option::Option<
        unsafe extern "C" fn(
            mysql: *mut MYSQL,
            option: mysql_option,
            arg: *const ::std::os::raw::c_void,
        ) -> ::std::os::raw::c_int,
    >,
    pub mysql_free_result: ::std::option::Option<unsafe extern "C" fn(result: *mut MYSQL_RES)>,
    pub mysql_data_seek: ::std::option::Option<
        unsafe extern "C" fn(result: *mut MYSQL_RES, offset: ::std::os::raw::c_ulonglong),
    >,
    pub mysql_row_seek: ::std::option::Option<
        unsafe extern "C" fn(result: *mut MYSQL_RES, arg1: MYSQL_ROW_OFFSET) -> MYSQL_ROW_OFFSET,
    >,
    pub mysql_field_seek: ::std::option::Option<
        unsafe extern "C" fn(
            result: *mut MYSQL_RES,
            offset: MYSQL_FIELD_OFFSET,
        ) -> MYSQL_FIELD_OFFSET,
    >,
    pub mysql_fetch_row:
        ::std::option::Option<unsafe extern "C" fn(result: *mut MYSQL_RES) -> MYSQL_ROW>,
    pub mysql_fetch_lengths: ::std::option::Option<
        unsafe extern "C" fn(result: *mut MYSQL_RES) -> *mut ::std::os::raw::c_ulong,
    >,
    pub mysql_fetch_field:
        ::std::option::Option<unsafe extern "C" fn(result: *mut MYSQL_RES) -> *mut MYSQL_FIELD>,
    pub mysql_escape_string: ::std::option::Option<
        unsafe extern "C" fn(
            to: *mut ::std::os::raw::c_char,
            from: *const ::std::os::raw::c_char,
            from_length: ::std::os::raw::c_ulong,
        ) -> ::std::os::raw::c_ulong,
    >,
    pub mysql_real_escape_string: ::std::option::Option<
        unsafe extern "C" fn(
            mysql: *mut MYSQL,
            to: *mut ::std::os::raw::c_char,
            from: *const ::std::os::raw::c_char,
            length: ::std::os::raw::c_ulong,
        ) -> ::std::os::raw::c_ulong,
    >,
    pub mysql_thread_safe: ::std::option::Option<unsafe extern "C" fn() -> ::std::os::raw::c_uint>,
    pub mysql_warning_count:
        ::std::option::Option<unsafe extern "C" fn(mysql: *mut MYSQL) -> ::std::os::raw::c_uint>,
    pub mysql_sqlstate: ::std::option::Option<
        unsafe extern "C" fn(mysql: *mut MYSQL) -> *const ::std::os::raw::c_char,
    >,
    pub mysql_server_init: ::std::option::Option<
        unsafe extern "C" fn(
            argc: ::std::os::raw::c_int,
            argv: *mut *mut ::std::os::raw::c_char,
            groups: *mut *mut ::std::os::raw::c_char,
        ) -> ::std::os::raw::c_int,
    >,
    pub mysql_server_end: ::std::option::Option<unsafe extern "C" fn()>,
    pub mysql_thread_end: ::std::option::Option<unsafe extern "C" fn()>,
    pub mysql_thread_init: ::std::option::Option<unsafe extern "C" fn() -> my_bool>,
    pub mysql_set_server_option: ::std::option::Option<
        unsafe extern "C" fn(
            mysql: *mut MYSQL,
            option: enum_mysql_set_option,
        ) -> ::std::os::raw::c_int,
    >,
    pub mysql_get_client_info:
        ::std::option::Option<unsafe extern "C" fn() -> *const ::std::os::raw::c_char>,
    pub mysql_get_client_version:
        ::std::option::Option<unsafe extern "C" fn() -> ::std::os::raw::c_ulong>,
    pub mariadb_connection:
        ::std::option::Option<unsafe extern "C" fn(mysql: *mut MYSQL) -> my_bool>,
    pub mysql_get_server_name: ::std::option::Option<
        unsafe extern "C" fn(mysql: *mut MYSQL) -> *const ::std::os::raw::c_char,
    >,
    pub mariadb_get_charset_by_name: ::std::option::Option<
        unsafe extern "C" fn(csname: *const ::std::os::raw::c_char) -> *mut MARIADB_CHARSET_INFO,
    >,
    pub mariadb_get_charset_by_nr: ::std::option::Option<
        unsafe extern "C" fn(csnr: ::std::os::raw::c_uint) -> *mut MARIADB_CHARSET_INFO,
    >,
    pub mariadb_convert_string: ::std::option::Option<
        unsafe extern "C" fn(
            from: *const ::std::os::raw::c_char,
            from_len: *mut usize,
            from_cs: *mut MARIADB_CHARSET_INFO,
            to: *mut ::std::os::raw::c_char,
            to_len: *mut usize,
            to_cs: *mut MARIADB_CHARSET_INFO,
            errorcode: *mut ::std::os::raw::c_int,
        ) -> usize,
    >,
    pub mysql_optionsv: ::std::option::Option<
        unsafe extern "C" fn(mysql: *mut MYSQL, option: mysql_option, ...) -> ::std::os::raw::c_int,
    >,
    pub mysql_get_optionv: ::std::option::Option<
        unsafe extern "C" fn(
            mysql: *mut MYSQL,
            option: mysql_option,
            arg: *mut ::std::os::raw::c_void,
            ...
        ) -> ::std::os::raw::c_int,
    >,
    pub mysql_get_option: ::std::option::Option<
        unsafe extern "C" fn(
            mysql: *mut MYSQL,
            option: mysql_option,
            arg: *mut ::std::os::raw::c_void,
        ) -> ::std::os::raw::c_int,
    >,
    pub mysql_hex_string: ::std::option::Option<
        unsafe extern "C" fn(
            to: *mut ::std::os::raw::c_char,
            from: *const ::std::os::raw::c_char,
            len: ::std::os::raw::c_ulong,
        ) -> ::std::os::raw::c_ulong,
    >,
    pub mysql_get_socket:
        ::std::option::Option<unsafe extern "C" fn(mysql: *mut MYSQL) -> my_socket>,
    pub mysql_get_timeout_value:
        ::std::option::Option<unsafe extern "C" fn(mysql: *const MYSQL) -> ::std::os::raw::c_uint>,
    pub mysql_get_timeout_value_ms:
        ::std::option::Option<unsafe extern "C" fn(mysql: *const MYSQL) -> ::std::os::raw::c_uint>,
    pub mariadb_reconnect:
        ::std::option::Option<unsafe extern "C" fn(mysql: *mut MYSQL) -> my_bool>,
    pub mysql_stmt_init:
        ::std::option::Option<unsafe extern "C" fn(mysql: *mut MYSQL) -> *mut MYSQL_STMT>,
    pub mysql_stmt_prepare: ::std::option::Option<
        unsafe extern "C" fn(
            stmt: *mut MYSQL_STMT,
            query: *const ::std::os::raw::c_char,
            length: ::std::os::raw::c_ulong,
        ) -> ::std::os::raw::c_int,
    >,
    pub mysql_stmt_execute:
        ::std::option::Option<unsafe extern "C" fn(stmt: *mut MYSQL_STMT) -> ::std::os::raw::c_int>,
    pub mysql_stmt_fetch:
        ::std::option::Option<unsafe extern "C" fn(stmt: *mut MYSQL_STMT) -> ::std::os::raw::c_int>,
    pub mysql_stmt_fetch_column: ::std::option::Option<
        unsafe extern "C" fn(
            stmt: *mut MYSQL_STMT,
            bind_arg: *mut MYSQL_BIND,
            column: ::std::os::raw::c_uint,
            offset: ::std::os::raw::c_ulong,
        ) -> ::std::os::raw::c_int,
    >,
    pub mysql_stmt_store_result:
        ::std::option::Option<unsafe extern "C" fn(stmt: *mut MYSQL_STMT) -> ::std::os::raw::c_int>,
    pub mysql_stmt_param_count: ::std::option::Option<
        unsafe extern "C" fn(stmt: *mut MYSQL_STMT) -> ::std::os::raw::c_ulong,
    >,
    pub mysql_stmt_attr_set: ::std::option::Option<
        unsafe extern "C" fn(
            stmt: *mut MYSQL_STMT,
            attr_type: enum_stmt_attr_type,
            attr: *const ::std::os::raw::c_void,
        ) -> my_bool,
    >,
    pub mysql_stmt_attr_get: ::std::option::Option<
        unsafe extern "C" fn(
            stmt: *mut MYSQL_STMT,
            attr_type: enum_stmt_attr_type,
            attr: *mut ::std::os::raw::c_void,
        ) -> my_bool,
    >,
    pub mysql_stmt_bind_param: ::std::option::Option<
        unsafe extern "C" fn(stmt: *mut MYSQL_STMT, bnd: *mut MYSQL_BIND) -> my_bool,
    >,
    pub mysql_stmt_bind_result: ::std::option::Option<
        unsafe extern "C" fn(stmt: *mut MYSQL_STMT, bnd: *mut MYSQL_BIND) -> my_bool,
    >,
    pub mysql_stmt_close:
        ::std::option::Option<unsafe extern "C" fn(stmt: *mut MYSQL_STMT) -> my_bool>,
    pub mysql_stmt_reset:
        ::std::option::Option<unsafe extern "C" fn(stmt: *mut MYSQL_STMT) -> my_bool>,
    pub mysql_stmt_free_result:
        ::std::option::Option<unsafe extern "C" fn(stmt: *mut MYSQL_STMT) -> my_bool>,
    pub mysql_stmt_send_long_data: ::std::option::Option<
        unsafe extern "C" fn(
            stmt: *mut MYSQL_STMT,
            param_number: ::std::os::raw::c_uint,
            data: *const ::std::os::raw::c_char,
            length: ::std::os::raw::c_ulong,
        ) -> my_bool,
    >,
    pub mysql_stmt_result_metadata:
        ::std::option::Option<unsafe extern "C" fn(stmt: *mut MYSQL_STMT) -> *mut MYSQL_RES>,
    pub mysql_stmt_param_metadata:
        ::std::option::Option<unsafe extern "C" fn(stmt: *mut MYSQL_STMT) -> *mut MYSQL_RES>,
    pub mysql_stmt_errno: ::std::option::Option<
        unsafe extern "C" fn(stmt: *mut MYSQL_STMT) -> ::std::os::raw::c_uint,
    >,
    pub mysql_stmt_error: ::std::option::Option<
        unsafe extern "C" fn(stmt: *mut MYSQL_STMT) -> *const ::std::os::raw::c_char,
    >,
    pub mysql_stmt_sqlstate: ::std::option::Option<
        unsafe extern "C" fn(stmt: *mut MYSQL_STMT) -> *const ::std::os::raw::c_char,
    >,
    pub mysql_stmt_row_seek: ::std::option::Option<
        unsafe extern "C" fn(stmt: *mut MYSQL_STMT, offset: MYSQL_ROW_OFFSET) -> MYSQL_ROW_OFFSET,
    >,
    pub mysql_stmt_row_tell:
        ::std::option::Option<unsafe extern "C" fn(stmt: *mut MYSQL_STMT) -> MYSQL_ROW_OFFSET>,
    pub mysql_stmt_data_seek: ::std::option::Option<
        unsafe extern "C" fn(stmt: *mut MYSQL_STMT, offset: ::std::os::raw::c_ulonglong),
    >,
    pub mysql_stmt_num_rows: ::std::option::Option<
        unsafe extern "C" fn(stmt: *mut MYSQL_STMT) -> ::std::os::raw::c_ulonglong,
    >,
    pub mysql_stmt_affected_rows: ::std::option::Option<
        unsafe extern "C" fn(stmt: *mut MYSQL_STMT) -> ::std::os::raw::c_ulonglong,
    >,
    pub mysql_stmt_insert_id: ::std::option::Option<
        unsafe extern "C" fn(stmt: *mut MYSQL_STMT) -> ::std::os::raw::c_ulonglong,
    >,
    pub mysql_stmt_field_count: ::std::option::Option<
        unsafe extern "C" fn(stmt: *mut MYSQL_STMT) -> ::std::os::raw::c_uint,
    >,
    pub mysql_stmt_next_result:
        ::std::option::Option<unsafe extern "C" fn(stmt: *mut MYSQL_STMT) -> ::std::os::raw::c_int>,
    pub mysql_stmt_more_results:
        ::std::option::Option<unsafe extern "C" fn(stmt: *mut MYSQL_STMT) -> my_bool>,
    pub mariadb_stmt_execute_direct: ::std::option::Option<
        unsafe extern "C" fn(
            stmt: *mut MYSQL_STMT,
            stmtstr: *const ::std::os::raw::c_char,
            length: usize,
        ) -> ::std::os::raw::c_int,
    >,
    pub mysql_reset_connection:
        ::std::option::Option<unsafe extern "C" fn(mysql: *mut MYSQL) -> ::std::os::raw::c_int>,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of st_mariadb_api"][::std::mem::size_of::<st_mariadb_api>() - 460usize];
    ["Alignment of st_mariadb_api"][::std::mem::align_of::<st_mariadb_api>() - 4usize];
    ["Offset of field: st_mariadb_api::mysql_num_rows"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_num_rows) - 0usize];
    ["Offset of field: st_mariadb_api::mysql_num_fields"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_num_fields) - 4usize];
    ["Offset of field: st_mariadb_api::mysql_eof"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_eof) - 8usize];
    ["Offset of field: st_mariadb_api::mysql_fetch_field_direct"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_fetch_field_direct) - 12usize];
    ["Offset of field: st_mariadb_api::mysql_fetch_fields"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_fetch_fields) - 16usize];
    ["Offset of field: st_mariadb_api::mysql_row_tell"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_row_tell) - 20usize];
    ["Offset of field: st_mariadb_api::mysql_field_tell"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_field_tell) - 24usize];
    ["Offset of field: st_mariadb_api::mysql_field_count"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_field_count) - 28usize];
    ["Offset of field: st_mariadb_api::mysql_more_results"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_more_results) - 32usize];
    ["Offset of field: st_mariadb_api::mysql_next_result"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_next_result) - 36usize];
    ["Offset of field: st_mariadb_api::mysql_affected_rows"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_affected_rows) - 40usize];
    ["Offset of field: st_mariadb_api::mysql_autocommit"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_autocommit) - 44usize];
    ["Offset of field: st_mariadb_api::mysql_commit"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_commit) - 48usize];
    ["Offset of field: st_mariadb_api::mysql_rollback"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_rollback) - 52usize];
    ["Offset of field: st_mariadb_api::mysql_insert_id"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_insert_id) - 56usize];
    ["Offset of field: st_mariadb_api::mysql_errno"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_errno) - 60usize];
    ["Offset of field: st_mariadb_api::mysql_error"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_error) - 64usize];
    ["Offset of field: st_mariadb_api::mysql_info"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_info) - 68usize];
    ["Offset of field: st_mariadb_api::mysql_thread_id"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_thread_id) - 72usize];
    ["Offset of field: st_mariadb_api::mysql_character_set_name"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_character_set_name) - 76usize];
    ["Offset of field: st_mariadb_api::mysql_get_character_set_info"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_get_character_set_info) - 80usize];
    ["Offset of field: st_mariadb_api::mysql_set_character_set"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_set_character_set) - 84usize];
    ["Offset of field: st_mariadb_api::mariadb_get_infov"]
        [::std::mem::offset_of!(st_mariadb_api, mariadb_get_infov) - 88usize];
    ["Offset of field: st_mariadb_api::mariadb_get_info"]
        [::std::mem::offset_of!(st_mariadb_api, mariadb_get_info) - 92usize];
    ["Offset of field: st_mariadb_api::mysql_init"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_init) - 96usize];
    ["Offset of field: st_mariadb_api::mysql_ssl_set"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_ssl_set) - 100usize];
    ["Offset of field: st_mariadb_api::mysql_get_ssl_cipher"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_get_ssl_cipher) - 104usize];
    ["Offset of field: st_mariadb_api::mysql_change_user"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_change_user) - 108usize];
    ["Offset of field: st_mariadb_api::mysql_real_connect"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_real_connect) - 112usize];
    ["Offset of field: st_mariadb_api::mysql_close"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_close) - 116usize];
    ["Offset of field: st_mariadb_api::mysql_select_db"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_select_db) - 120usize];
    ["Offset of field: st_mariadb_api::mysql_query"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_query) - 124usize];
    ["Offset of field: st_mariadb_api::mysql_send_query"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_send_query) - 128usize];
    ["Offset of field: st_mariadb_api::mysql_read_query_result"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_read_query_result) - 132usize];
    ["Offset of field: st_mariadb_api::mysql_real_query"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_real_query) - 136usize];
    ["Offset of field: st_mariadb_api::mysql_shutdown"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_shutdown) - 140usize];
    ["Offset of field: st_mariadb_api::mysql_dump_debug_info"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_dump_debug_info) - 144usize];
    ["Offset of field: st_mariadb_api::mysql_refresh"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_refresh) - 148usize];
    ["Offset of field: st_mariadb_api::mysql_kill"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_kill) - 152usize];
    ["Offset of field: st_mariadb_api::mysql_ping"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_ping) - 156usize];
    ["Offset of field: st_mariadb_api::mysql_stat"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_stat) - 160usize];
    ["Offset of field: st_mariadb_api::mysql_get_server_info"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_get_server_info) - 164usize];
    ["Offset of field: st_mariadb_api::mysql_get_server_version"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_get_server_version) - 168usize];
    ["Offset of field: st_mariadb_api::mysql_get_host_info"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_get_host_info) - 172usize];
    ["Offset of field: st_mariadb_api::mysql_get_proto_info"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_get_proto_info) - 176usize];
    ["Offset of field: st_mariadb_api::mysql_list_dbs"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_list_dbs) - 180usize];
    ["Offset of field: st_mariadb_api::mysql_list_tables"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_list_tables) - 184usize];
    ["Offset of field: st_mariadb_api::mysql_list_fields"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_list_fields) - 188usize];
    ["Offset of field: st_mariadb_api::mysql_list_processes"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_list_processes) - 192usize];
    ["Offset of field: st_mariadb_api::mysql_store_result"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_store_result) - 196usize];
    ["Offset of field: st_mariadb_api::mysql_use_result"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_use_result) - 200usize];
    ["Offset of field: st_mariadb_api::mysql_options"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_options) - 204usize];
    ["Offset of field: st_mariadb_api::mysql_free_result"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_free_result) - 208usize];
    ["Offset of field: st_mariadb_api::mysql_data_seek"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_data_seek) - 212usize];
    ["Offset of field: st_mariadb_api::mysql_row_seek"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_row_seek) - 216usize];
    ["Offset of field: st_mariadb_api::mysql_field_seek"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_field_seek) - 220usize];
    ["Offset of field: st_mariadb_api::mysql_fetch_row"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_fetch_row) - 224usize];
    ["Offset of field: st_mariadb_api::mysql_fetch_lengths"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_fetch_lengths) - 228usize];
    ["Offset of field: st_mariadb_api::mysql_fetch_field"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_fetch_field) - 232usize];
    ["Offset of field: st_mariadb_api::mysql_escape_string"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_escape_string) - 236usize];
    ["Offset of field: st_mariadb_api::mysql_real_escape_string"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_real_escape_string) - 240usize];
    ["Offset of field: st_mariadb_api::mysql_thread_safe"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_thread_safe) - 244usize];
    ["Offset of field: st_mariadb_api::mysql_warning_count"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_warning_count) - 248usize];
    ["Offset of field: st_mariadb_api::mysql_sqlstate"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_sqlstate) - 252usize];
    ["Offset of field: st_mariadb_api::mysql_server_init"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_server_init) - 256usize];
    ["Offset of field: st_mariadb_api::mysql_server_end"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_server_end) - 260usize];
    ["Offset of field: st_mariadb_api::mysql_thread_end"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_thread_end) - 264usize];
    ["Offset of field: st_mariadb_api::mysql_thread_init"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_thread_init) - 268usize];
    ["Offset of field: st_mariadb_api::mysql_set_server_option"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_set_server_option) - 272usize];
    ["Offset of field: st_mariadb_api::mysql_get_client_info"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_get_client_info) - 276usize];
    ["Offset of field: st_mariadb_api::mysql_get_client_version"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_get_client_version) - 280usize];
    ["Offset of field: st_mariadb_api::mariadb_connection"]
        [::std::mem::offset_of!(st_mariadb_api, mariadb_connection) - 284usize];
    ["Offset of field: st_mariadb_api::mysql_get_server_name"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_get_server_name) - 288usize];
    ["Offset of field: st_mariadb_api::mariadb_get_charset_by_name"]
        [::std::mem::offset_of!(st_mariadb_api, mariadb_get_charset_by_name) - 292usize];
    ["Offset of field: st_mariadb_api::mariadb_get_charset_by_nr"]
        [::std::mem::offset_of!(st_mariadb_api, mariadb_get_charset_by_nr) - 296usize];
    ["Offset of field: st_mariadb_api::mariadb_convert_string"]
        [::std::mem::offset_of!(st_mariadb_api, mariadb_convert_string) - 300usize];
    ["Offset of field: st_mariadb_api::mysql_optionsv"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_optionsv) - 304usize];
    ["Offset of field: st_mariadb_api::mysql_get_optionv"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_get_optionv) - 308usize];
    ["Offset of field: st_mariadb_api::mysql_get_option"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_get_option) - 312usize];
    ["Offset of field: st_mariadb_api::mysql_hex_string"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_hex_string) - 316usize];
    ["Offset of field: st_mariadb_api::mysql_get_socket"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_get_socket) - 320usize];
    ["Offset of field: st_mariadb_api::mysql_get_timeout_value"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_get_timeout_value) - 324usize];
    ["Offset of field: st_mariadb_api::mysql_get_timeout_value_ms"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_get_timeout_value_ms) - 328usize];
    ["Offset of field: st_mariadb_api::mariadb_reconnect"]
        [::std::mem::offset_of!(st_mariadb_api, mariadb_reconnect) - 332usize];
    ["Offset of field: st_mariadb_api::mysql_stmt_init"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_stmt_init) - 336usize];
    ["Offset of field: st_mariadb_api::mysql_stmt_prepare"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_stmt_prepare) - 340usize];
    ["Offset of field: st_mariadb_api::mysql_stmt_execute"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_stmt_execute) - 344usize];
    ["Offset of field: st_mariadb_api::mysql_stmt_fetch"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_stmt_fetch) - 348usize];
    ["Offset of field: st_mariadb_api::mysql_stmt_fetch_column"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_stmt_fetch_column) - 352usize];
    ["Offset of field: st_mariadb_api::mysql_stmt_store_result"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_stmt_store_result) - 356usize];
    ["Offset of field: st_mariadb_api::mysql_stmt_param_count"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_stmt_param_count) - 360usize];
    ["Offset of field: st_mariadb_api::mysql_stmt_attr_set"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_stmt_attr_set) - 364usize];
    ["Offset of field: st_mariadb_api::mysql_stmt_attr_get"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_stmt_attr_get) - 368usize];
    ["Offset of field: st_mariadb_api::mysql_stmt_bind_param"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_stmt_bind_param) - 372usize];
    ["Offset of field: st_mariadb_api::mysql_stmt_bind_result"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_stmt_bind_result) - 376usize];
    ["Offset of field: st_mariadb_api::mysql_stmt_close"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_stmt_close) - 380usize];
    ["Offset of field: st_mariadb_api::mysql_stmt_reset"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_stmt_reset) - 384usize];
    ["Offset of field: st_mariadb_api::mysql_stmt_free_result"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_stmt_free_result) - 388usize];
    ["Offset of field: st_mariadb_api::mysql_stmt_send_long_data"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_stmt_send_long_data) - 392usize];
    ["Offset of field: st_mariadb_api::mysql_stmt_result_metadata"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_stmt_result_metadata) - 396usize];
    ["Offset of field: st_mariadb_api::mysql_stmt_param_metadata"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_stmt_param_metadata) - 400usize];
    ["Offset of field: st_mariadb_api::mysql_stmt_errno"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_stmt_errno) - 404usize];
    ["Offset of field: st_mariadb_api::mysql_stmt_error"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_stmt_error) - 408usize];
    ["Offset of field: st_mariadb_api::mysql_stmt_sqlstate"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_stmt_sqlstate) - 412usize];
    ["Offset of field: st_mariadb_api::mysql_stmt_row_seek"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_stmt_row_seek) - 416usize];
    ["Offset of field: st_mariadb_api::mysql_stmt_row_tell"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_stmt_row_tell) - 420usize];
    ["Offset of field: st_mariadb_api::mysql_stmt_data_seek"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_stmt_data_seek) - 424usize];
    ["Offset of field: st_mariadb_api::mysql_stmt_num_rows"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_stmt_num_rows) - 428usize];
    ["Offset of field: st_mariadb_api::mysql_stmt_affected_rows"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_stmt_affected_rows) - 432usize];
    ["Offset of field: st_mariadb_api::mysql_stmt_insert_id"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_stmt_insert_id) - 436usize];
    ["Offset of field: st_mariadb_api::mysql_stmt_field_count"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_stmt_field_count) - 440usize];
    ["Offset of field: st_mariadb_api::mysql_stmt_next_result"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_stmt_next_result) - 444usize];
    ["Offset of field: st_mariadb_api::mysql_stmt_more_results"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_stmt_more_results) - 448usize];
    ["Offset of field: st_mariadb_api::mariadb_stmt_execute_direct"]
        [::std::mem::offset_of!(st_mariadb_api, mariadb_stmt_execute_direct) - 452usize];
    ["Offset of field: st_mariadb_api::mysql_reset_connection"]
        [::std::mem::offset_of!(st_mariadb_api, mysql_reset_connection) - 456usize];
};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct st_mariadb_methods {
    pub db_connect: ::std::option::Option<
        unsafe extern "C" fn(
            mysql: *mut MYSQL,
            host: *const ::std::os::raw::c_char,
            user: *const ::std::os::raw::c_char,
            passwd: *const ::std::os::raw::c_char,
            db: *const ::std::os::raw::c_char,
            port: ::std::os::raw::c_uint,
            unix_socket: *const ::std::os::raw::c_char,
            clientflag: ::std::os::raw::c_ulong,
        ) -> *mut MYSQL,
    >,
    pub db_close: ::std::option::Option<unsafe extern "C" fn(mysql: *mut MYSQL)>,
    pub db_command: ::std::option::Option<
        unsafe extern "C" fn(
            mysql: *mut MYSQL,
            command: enum_server_command,
            arg: *const ::std::os::raw::c_char,
            length: usize,
            skip_check: my_bool,
            opt_arg: *mut ::std::os::raw::c_void,
        ) -> ::std::os::raw::c_int,
    >,
    pub db_skip_result: ::std::option::Option<unsafe extern "C" fn(mysql: *mut MYSQL)>,
    pub db_read_query_result:
        ::std::option::Option<unsafe extern "C" fn(mysql: *mut MYSQL) -> ::std::os::raw::c_int>,
    pub db_read_rows: ::std::option::Option<
        unsafe extern "C" fn(
            mysql: *mut MYSQL,
            fields: *mut MYSQL_FIELD,
            field_count: ::std::os::raw::c_uint,
        ) -> *mut MYSQL_DATA,
    >,
    pub db_read_one_row: ::std::option::Option<
        unsafe extern "C" fn(
            mysql: *mut MYSQL,
            fields: ::std::os::raw::c_uint,
            row: MYSQL_ROW,
            lengths: *mut ::std::os::raw::c_ulong,
        ) -> ::std::os::raw::c_int,
    >,
    pub db_supported_buffer_type:
        ::std::option::Option<unsafe extern "C" fn(type_: enum_field_types) -> my_bool>,
    pub db_read_prepare_response:
        ::std::option::Option<unsafe extern "C" fn(stmt: *mut MYSQL_STMT) -> my_bool>,
    pub db_read_stmt_result:
        ::std::option::Option<unsafe extern "C" fn(mysql: *mut MYSQL) -> ::std::os::raw::c_int>,
    pub db_stmt_get_result_metadata:
        ::std::option::Option<unsafe extern "C" fn(stmt: *mut MYSQL_STMT) -> my_bool>,
    pub db_stmt_get_param_metadata:
        ::std::option::Option<unsafe extern "C" fn(stmt: *mut MYSQL_STMT) -> my_bool>,
    pub db_stmt_read_all_rows:
        ::std::option::Option<unsafe extern "C" fn(stmt: *mut MYSQL_STMT) -> ::std::os::raw::c_int>,
    pub db_stmt_fetch: ::std::option::Option<
        unsafe extern "C" fn(
            stmt: *mut MYSQL_STMT,
            row: *mut *mut ::std::os::raw::c_uchar,
        ) -> ::std::os::raw::c_int,
    >,
    pub db_stmt_fetch_to_bind: ::std::option::Option<
        unsafe extern "C" fn(
            stmt: *mut MYSQL_STMT,
            row: *mut ::std::os::raw::c_uchar,
        ) -> ::std::os::raw::c_int,
    >,
    pub db_stmt_flush_unbuffered:
        ::std::option::Option<unsafe extern "C" fn(stmt: *mut MYSQL_STMT)>,
    pub set_error: ::std::option::Option<
        unsafe extern "C" fn(
            mysql: *mut MYSQL,
            error_nr: ::std::os::raw::c_uint,
            sqlstate: *const ::std::os::raw::c_char,
            format: *const ::std::os::raw::c_char,
            ...
        ),
    >,
    pub invalidate_stmts: ::std::option::Option<
        unsafe extern "C" fn(mysql: *mut MYSQL, function_name: *const ::std::os::raw::c_char),
    >,
    pub api: *mut st_mariadb_api,
    pub db_read_execute_response:
        ::std::option::Option<unsafe extern "C" fn(stmt: *mut MYSQL_STMT) -> ::std::os::raw::c_int>,
    pub db_execute_generate_request: ::std::option::Option<
        unsafe extern "C" fn(
            stmt: *mut MYSQL_STMT,
            request_len: *mut usize,
            internal: my_bool,
        ) -> *mut ::std::os::raw::c_uchar,
    >,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of st_mariadb_methods"][::std::mem::size_of::<st_mariadb_methods>() - 84usize];
    ["Alignment of st_mariadb_methods"][::std::mem::align_of::<st_mariadb_methods>() - 4usize];
    ["Offset of field: st_mariadb_methods::db_connect"]
        [::std::mem::offset_of!(st_mariadb_methods, db_connect) - 0usize];
    ["Offset of field: st_mariadb_methods::db_close"]
        [::std::mem::offset_of!(st_mariadb_methods, db_close) - 4usize];
    ["Offset of field: st_mariadb_methods::db_command"]
        [::std::mem::offset_of!(st_mariadb_methods, db_command) - 8usize];
    ["Offset of field: st_mariadb_methods::db_skip_result"]
        [::std::mem::offset_of!(st_mariadb_methods, db_skip_result) - 12usize];
    ["Offset of field: st_mariadb_methods::db_read_query_result"]
        [::std::mem::offset_of!(st_mariadb_methods, db_read_query_result) - 16usize];
    ["Offset of field: st_mariadb_methods::db_read_rows"]
        [::std::mem::offset_of!(st_mariadb_methods, db_read_rows) - 20usize];
    ["Offset of field: st_mariadb_methods::db_read_one_row"]
        [::std::mem::offset_of!(st_mariadb_methods, db_read_one_row) - 24usize];
    ["Offset of field: st_mariadb_methods::db_supported_buffer_type"]
        [::std::mem::offset_of!(st_mariadb_methods, db_supported_buffer_type) - 28usize];
    ["Offset of field: st_mariadb_methods::db_read_prepare_response"]
        [::std::mem::offset_of!(st_mariadb_methods, db_read_prepare_response) - 32usize];
    ["Offset of field: st_mariadb_methods::db_read_stmt_result"]
        [::std::mem::offset_of!(st_mariadb_methods, db_read_stmt_result) - 36usize];
    ["Offset of field: st_mariadb_methods::db_stmt_get_result_metadata"]
        [::std::mem::offset_of!(st_mariadb_methods, db_stmt_get_result_metadata) - 40usize];
    ["Offset of field: st_mariadb_methods::db_stmt_get_param_metadata"]
        [::std::mem::offset_of!(st_mariadb_methods, db_stmt_get_param_metadata) - 44usize];
    ["Offset of field: st_mariadb_methods::db_stmt_read_all_rows"]
        [::std::mem::offset_of!(st_mariadb_methods, db_stmt_read_all_rows) - 48usize];
    ["Offset of field: st_mariadb_methods::db_stmt_fetch"]
        [::std::mem::offset_of!(st_mariadb_methods, db_stmt_fetch) - 52usize];
    ["Offset of field: st_mariadb_methods::db_stmt_fetch_to_bind"]
        [::std::mem::offset_of!(st_mariadb_methods, db_stmt_fetch_to_bind) - 56usize];
    ["Offset of field: st_mariadb_methods::db_stmt_flush_unbuffered"]
        [::std::mem::offset_of!(st_mariadb_methods, db_stmt_flush_unbuffered) - 60usize];
    ["Offset of field: st_mariadb_methods::set_error"]
        [::std::mem::offset_of!(st_mariadb_methods, set_error) - 64usize];
    ["Offset of field: st_mariadb_methods::invalidate_stmts"]
        [::std::mem::offset_of!(st_mariadb_methods, invalidate_stmts) - 68usize];
    ["Offset of field: st_mariadb_methods::api"]
        [::std::mem::offset_of!(st_mariadb_methods, api) - 72usize];
    ["Offset of field: st_mariadb_methods::db_read_execute_response"]
        [::std::mem::offset_of!(st_mariadb_methods, db_read_execute_response) - 76usize];
    ["Offset of field: st_mariadb_methods::db_execute_generate_request"]
        [::std::mem::offset_of!(st_mariadb_methods, db_execute_generate_request) - 80usize];
};
pub type __builtin_va_list = *mut ::std::os::raw::c_char;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct st_mariadb_net_extension {
    pub _address: u8,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct st_dynamic_array {
    pub _address: u8,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct st_mysql_options_extension {
    pub _address: u8,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct st_mariadb_extension {
    pub _address: u8,
}
