pgdog_plugin/
bindings.rs

1/* automatically generated by rust-bindgen 0.71.1 */
2
3pub const __WORDSIZE: u32 = 64;
4pub const __has_safe_buffers: u32 = 1;
5pub const __DARWIN_ONLY_64_BIT_INO_T: u32 = 1;
6pub const __DARWIN_ONLY_UNIX_CONFORMANCE: u32 = 1;
7pub const __DARWIN_ONLY_VERS_1050: u32 = 1;
8pub const __DARWIN_UNIX03: u32 = 1;
9pub const __DARWIN_64_BIT_INO_T: u32 = 1;
10pub const __DARWIN_VERS_1050: u32 = 1;
11pub const __DARWIN_NON_CANCELABLE: u32 = 0;
12pub const __DARWIN_SUF_EXTSN: &[u8; 14] = b"$DARWIN_EXTSN\0";
13pub const __DARWIN_C_ANSI: u32 = 4096;
14pub const __DARWIN_C_FULL: u32 = 900000;
15pub const __DARWIN_C_LEVEL: u32 = 900000;
16pub const __STDC_WANT_LIB_EXT1__: u32 = 1;
17pub const __DARWIN_NO_LONG_LONG: u32 = 0;
18pub const _DARWIN_FEATURE_64_BIT_INODE: u32 = 1;
19pub const _DARWIN_FEATURE_ONLY_64_BIT_INODE: u32 = 1;
20pub const _DARWIN_FEATURE_ONLY_VERS_1050: u32 = 1;
21pub const _DARWIN_FEATURE_ONLY_UNIX_CONFORMANCE: u32 = 1;
22pub const _DARWIN_FEATURE_UNIX_CONFORMANCE: u32 = 3;
23pub const __has_ptrcheck: u32 = 0;
24pub const USE_CLANG_TYPES: u32 = 0;
25pub const __PTHREAD_SIZE__: u32 = 8176;
26pub const __PTHREAD_ATTR_SIZE__: u32 = 56;
27pub const __PTHREAD_MUTEXATTR_SIZE__: u32 = 8;
28pub const __PTHREAD_MUTEX_SIZE__: u32 = 56;
29pub const __PTHREAD_CONDATTR_SIZE__: u32 = 8;
30pub const __PTHREAD_COND_SIZE__: u32 = 40;
31pub const __PTHREAD_ONCE_SIZE__: u32 = 8;
32pub const __PTHREAD_RWLOCK_SIZE__: u32 = 192;
33pub const __PTHREAD_RWLOCKATTR_SIZE__: u32 = 16;
34pub const INT8_MAX: u32 = 127;
35pub const INT16_MAX: u32 = 32767;
36pub const INT32_MAX: u32 = 2147483647;
37pub const INT64_MAX: u64 = 9223372036854775807;
38pub const INT8_MIN: i32 = -128;
39pub const INT16_MIN: i32 = -32768;
40pub const INT32_MIN: i32 = -2147483648;
41pub const INT64_MIN: i64 = -9223372036854775808;
42pub const UINT8_MAX: u32 = 255;
43pub const UINT16_MAX: u32 = 65535;
44pub const UINT32_MAX: u32 = 4294967295;
45pub const UINT64_MAX: i32 = -1;
46pub const INT_LEAST8_MIN: i32 = -128;
47pub const INT_LEAST16_MIN: i32 = -32768;
48pub const INT_LEAST32_MIN: i32 = -2147483648;
49pub const INT_LEAST64_MIN: i64 = -9223372036854775808;
50pub const INT_LEAST8_MAX: u32 = 127;
51pub const INT_LEAST16_MAX: u32 = 32767;
52pub const INT_LEAST32_MAX: u32 = 2147483647;
53pub const INT_LEAST64_MAX: u64 = 9223372036854775807;
54pub const UINT_LEAST8_MAX: u32 = 255;
55pub const UINT_LEAST16_MAX: u32 = 65535;
56pub const UINT_LEAST32_MAX: u32 = 4294967295;
57pub const UINT_LEAST64_MAX: i32 = -1;
58pub const INT_FAST8_MIN: i32 = -128;
59pub const INT_FAST16_MIN: i32 = -32768;
60pub const INT_FAST32_MIN: i32 = -2147483648;
61pub const INT_FAST64_MIN: i64 = -9223372036854775808;
62pub const INT_FAST8_MAX: u32 = 127;
63pub const INT_FAST16_MAX: u32 = 32767;
64pub const INT_FAST32_MAX: u32 = 2147483647;
65pub const INT_FAST64_MAX: u64 = 9223372036854775807;
66pub const UINT_FAST8_MAX: u32 = 255;
67pub const UINT_FAST16_MAX: u32 = 65535;
68pub const UINT_FAST32_MAX: u32 = 4294967295;
69pub const UINT_FAST64_MAX: i32 = -1;
70pub const INTPTR_MAX: u64 = 9223372036854775807;
71pub const INTPTR_MIN: i64 = -9223372036854775808;
72pub const UINTPTR_MAX: i32 = -1;
73pub const SIZE_MAX: i32 = -1;
74pub const RSIZE_MAX: i32 = -1;
75pub const WINT_MIN: i32 = -2147483648;
76pub const WINT_MAX: u32 = 2147483647;
77pub const SIG_ATOMIC_MIN: i32 = -2147483648;
78pub const SIG_ATOMIC_MAX: u32 = 2147483647;
79pub type wchar_t = ::std::os::raw::c_int;
80pub type max_align_t = f64;
81pub type int_least8_t = i8;
82pub type int_least16_t = i16;
83pub type int_least32_t = i32;
84pub type int_least64_t = i64;
85pub type uint_least8_t = u8;
86pub type uint_least16_t = u16;
87pub type uint_least32_t = u32;
88pub type uint_least64_t = u64;
89pub type int_fast8_t = i8;
90pub type int_fast16_t = i16;
91pub type int_fast32_t = i32;
92pub type int_fast64_t = i64;
93pub type uint_fast8_t = u8;
94pub type uint_fast16_t = u16;
95pub type uint_fast32_t = u32;
96pub type uint_fast64_t = u64;
97pub type __int8_t = ::std::os::raw::c_schar;
98pub type __uint8_t = ::std::os::raw::c_uchar;
99pub type __int16_t = ::std::os::raw::c_short;
100pub type __uint16_t = ::std::os::raw::c_ushort;
101pub type __int32_t = ::std::os::raw::c_int;
102pub type __uint32_t = ::std::os::raw::c_uint;
103pub type __int64_t = ::std::os::raw::c_longlong;
104pub type __uint64_t = ::std::os::raw::c_ulonglong;
105pub type __darwin_intptr_t = ::std::os::raw::c_long;
106pub type __darwin_natural_t = ::std::os::raw::c_uint;
107pub type __darwin_ct_rune_t = ::std::os::raw::c_int;
108#[repr(C)]
109#[derive(Copy, Clone)]
110pub union __mbstate_t {
111    pub __mbstate8: [::std::os::raw::c_char; 128usize],
112    pub _mbstateL: ::std::os::raw::c_longlong,
113}
114#[allow(clippy::unnecessary_operation, clippy::identity_op)]
115const _: () = {
116    ["Size of __mbstate_t"][::std::mem::size_of::<__mbstate_t>() - 128usize];
117    ["Alignment of __mbstate_t"][::std::mem::align_of::<__mbstate_t>() - 8usize];
118    ["Offset of field: __mbstate_t::__mbstate8"]
119        [::std::mem::offset_of!(__mbstate_t, __mbstate8) - 0usize];
120    ["Offset of field: __mbstate_t::_mbstateL"]
121        [::std::mem::offset_of!(__mbstate_t, _mbstateL) - 0usize];
122};
123pub type __darwin_mbstate_t = __mbstate_t;
124pub type __darwin_ptrdiff_t = ::std::os::raw::c_long;
125pub type __darwin_size_t = ::std::os::raw::c_ulong;
126pub type __darwin_va_list = __builtin_va_list;
127pub type __darwin_wchar_t = ::std::os::raw::c_int;
128pub type __darwin_rune_t = __darwin_wchar_t;
129pub type __darwin_wint_t = ::std::os::raw::c_int;
130pub type __darwin_clock_t = ::std::os::raw::c_ulong;
131pub type __darwin_socklen_t = __uint32_t;
132pub type __darwin_ssize_t = ::std::os::raw::c_long;
133pub type __darwin_time_t = ::std::os::raw::c_long;
134pub type __darwin_blkcnt_t = __int64_t;
135pub type __darwin_blksize_t = __int32_t;
136pub type __darwin_dev_t = __int32_t;
137pub type __darwin_fsblkcnt_t = ::std::os::raw::c_uint;
138pub type __darwin_fsfilcnt_t = ::std::os::raw::c_uint;
139pub type __darwin_gid_t = __uint32_t;
140pub type __darwin_id_t = __uint32_t;
141pub type __darwin_ino64_t = __uint64_t;
142pub type __darwin_ino_t = __darwin_ino64_t;
143pub type __darwin_mach_port_name_t = __darwin_natural_t;
144pub type __darwin_mach_port_t = __darwin_mach_port_name_t;
145pub type __darwin_mode_t = __uint16_t;
146pub type __darwin_off_t = __int64_t;
147pub type __darwin_pid_t = __int32_t;
148pub type __darwin_sigset_t = __uint32_t;
149pub type __darwin_suseconds_t = __int32_t;
150pub type __darwin_uid_t = __uint32_t;
151pub type __darwin_useconds_t = __uint32_t;
152pub type __darwin_uuid_t = [::std::os::raw::c_uchar; 16usize];
153pub type __darwin_uuid_string_t = [::std::os::raw::c_char; 37usize];
154#[repr(C)]
155#[derive(Debug, Copy, Clone)]
156pub struct __darwin_pthread_handler_rec {
157    pub __routine: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
158    pub __arg: *mut ::std::os::raw::c_void,
159    pub __next: *mut __darwin_pthread_handler_rec,
160}
161#[allow(clippy::unnecessary_operation, clippy::identity_op)]
162const _: () = {
163    ["Size of __darwin_pthread_handler_rec"]
164        [::std::mem::size_of::<__darwin_pthread_handler_rec>() - 24usize];
165    ["Alignment of __darwin_pthread_handler_rec"]
166        [::std::mem::align_of::<__darwin_pthread_handler_rec>() - 8usize];
167    ["Offset of field: __darwin_pthread_handler_rec::__routine"]
168        [::std::mem::offset_of!(__darwin_pthread_handler_rec, __routine) - 0usize];
169    ["Offset of field: __darwin_pthread_handler_rec::__arg"]
170        [::std::mem::offset_of!(__darwin_pthread_handler_rec, __arg) - 8usize];
171    ["Offset of field: __darwin_pthread_handler_rec::__next"]
172        [::std::mem::offset_of!(__darwin_pthread_handler_rec, __next) - 16usize];
173};
174#[repr(C)]
175#[derive(Debug, Copy, Clone)]
176pub struct _opaque_pthread_attr_t {
177    pub __sig: ::std::os::raw::c_long,
178    pub __opaque: [::std::os::raw::c_char; 56usize],
179}
180#[allow(clippy::unnecessary_operation, clippy::identity_op)]
181const _: () = {
182    ["Size of _opaque_pthread_attr_t"][::std::mem::size_of::<_opaque_pthread_attr_t>() - 64usize];
183    ["Alignment of _opaque_pthread_attr_t"]
184        [::std::mem::align_of::<_opaque_pthread_attr_t>() - 8usize];
185    ["Offset of field: _opaque_pthread_attr_t::__sig"]
186        [::std::mem::offset_of!(_opaque_pthread_attr_t, __sig) - 0usize];
187    ["Offset of field: _opaque_pthread_attr_t::__opaque"]
188        [::std::mem::offset_of!(_opaque_pthread_attr_t, __opaque) - 8usize];
189};
190#[repr(C)]
191#[derive(Debug, Copy, Clone)]
192pub struct _opaque_pthread_cond_t {
193    pub __sig: ::std::os::raw::c_long,
194    pub __opaque: [::std::os::raw::c_char; 40usize],
195}
196#[allow(clippy::unnecessary_operation, clippy::identity_op)]
197const _: () = {
198    ["Size of _opaque_pthread_cond_t"][::std::mem::size_of::<_opaque_pthread_cond_t>() - 48usize];
199    ["Alignment of _opaque_pthread_cond_t"]
200        [::std::mem::align_of::<_opaque_pthread_cond_t>() - 8usize];
201    ["Offset of field: _opaque_pthread_cond_t::__sig"]
202        [::std::mem::offset_of!(_opaque_pthread_cond_t, __sig) - 0usize];
203    ["Offset of field: _opaque_pthread_cond_t::__opaque"]
204        [::std::mem::offset_of!(_opaque_pthread_cond_t, __opaque) - 8usize];
205};
206#[repr(C)]
207#[derive(Debug, Copy, Clone)]
208pub struct _opaque_pthread_condattr_t {
209    pub __sig: ::std::os::raw::c_long,
210    pub __opaque: [::std::os::raw::c_char; 8usize],
211}
212#[allow(clippy::unnecessary_operation, clippy::identity_op)]
213const _: () = {
214    ["Size of _opaque_pthread_condattr_t"]
215        [::std::mem::size_of::<_opaque_pthread_condattr_t>() - 16usize];
216    ["Alignment of _opaque_pthread_condattr_t"]
217        [::std::mem::align_of::<_opaque_pthread_condattr_t>() - 8usize];
218    ["Offset of field: _opaque_pthread_condattr_t::__sig"]
219        [::std::mem::offset_of!(_opaque_pthread_condattr_t, __sig) - 0usize];
220    ["Offset of field: _opaque_pthread_condattr_t::__opaque"]
221        [::std::mem::offset_of!(_opaque_pthread_condattr_t, __opaque) - 8usize];
222};
223#[repr(C)]
224#[derive(Debug, Copy, Clone)]
225pub struct _opaque_pthread_mutex_t {
226    pub __sig: ::std::os::raw::c_long,
227    pub __opaque: [::std::os::raw::c_char; 56usize],
228}
229#[allow(clippy::unnecessary_operation, clippy::identity_op)]
230const _: () = {
231    ["Size of _opaque_pthread_mutex_t"][::std::mem::size_of::<_opaque_pthread_mutex_t>() - 64usize];
232    ["Alignment of _opaque_pthread_mutex_t"]
233        [::std::mem::align_of::<_opaque_pthread_mutex_t>() - 8usize];
234    ["Offset of field: _opaque_pthread_mutex_t::__sig"]
235        [::std::mem::offset_of!(_opaque_pthread_mutex_t, __sig) - 0usize];
236    ["Offset of field: _opaque_pthread_mutex_t::__opaque"]
237        [::std::mem::offset_of!(_opaque_pthread_mutex_t, __opaque) - 8usize];
238};
239#[repr(C)]
240#[derive(Debug, Copy, Clone)]
241pub struct _opaque_pthread_mutexattr_t {
242    pub __sig: ::std::os::raw::c_long,
243    pub __opaque: [::std::os::raw::c_char; 8usize],
244}
245#[allow(clippy::unnecessary_operation, clippy::identity_op)]
246const _: () = {
247    ["Size of _opaque_pthread_mutexattr_t"]
248        [::std::mem::size_of::<_opaque_pthread_mutexattr_t>() - 16usize];
249    ["Alignment of _opaque_pthread_mutexattr_t"]
250        [::std::mem::align_of::<_opaque_pthread_mutexattr_t>() - 8usize];
251    ["Offset of field: _opaque_pthread_mutexattr_t::__sig"]
252        [::std::mem::offset_of!(_opaque_pthread_mutexattr_t, __sig) - 0usize];
253    ["Offset of field: _opaque_pthread_mutexattr_t::__opaque"]
254        [::std::mem::offset_of!(_opaque_pthread_mutexattr_t, __opaque) - 8usize];
255};
256#[repr(C)]
257#[derive(Debug, Copy, Clone)]
258pub struct _opaque_pthread_once_t {
259    pub __sig: ::std::os::raw::c_long,
260    pub __opaque: [::std::os::raw::c_char; 8usize],
261}
262#[allow(clippy::unnecessary_operation, clippy::identity_op)]
263const _: () = {
264    ["Size of _opaque_pthread_once_t"][::std::mem::size_of::<_opaque_pthread_once_t>() - 16usize];
265    ["Alignment of _opaque_pthread_once_t"]
266        [::std::mem::align_of::<_opaque_pthread_once_t>() - 8usize];
267    ["Offset of field: _opaque_pthread_once_t::__sig"]
268        [::std::mem::offset_of!(_opaque_pthread_once_t, __sig) - 0usize];
269    ["Offset of field: _opaque_pthread_once_t::__opaque"]
270        [::std::mem::offset_of!(_opaque_pthread_once_t, __opaque) - 8usize];
271};
272#[repr(C)]
273#[derive(Debug, Copy, Clone)]
274pub struct _opaque_pthread_rwlock_t {
275    pub __sig: ::std::os::raw::c_long,
276    pub __opaque: [::std::os::raw::c_char; 192usize],
277}
278#[allow(clippy::unnecessary_operation, clippy::identity_op)]
279const _: () = {
280    ["Size of _opaque_pthread_rwlock_t"]
281        [::std::mem::size_of::<_opaque_pthread_rwlock_t>() - 200usize];
282    ["Alignment of _opaque_pthread_rwlock_t"]
283        [::std::mem::align_of::<_opaque_pthread_rwlock_t>() - 8usize];
284    ["Offset of field: _opaque_pthread_rwlock_t::__sig"]
285        [::std::mem::offset_of!(_opaque_pthread_rwlock_t, __sig) - 0usize];
286    ["Offset of field: _opaque_pthread_rwlock_t::__opaque"]
287        [::std::mem::offset_of!(_opaque_pthread_rwlock_t, __opaque) - 8usize];
288};
289#[repr(C)]
290#[derive(Debug, Copy, Clone)]
291pub struct _opaque_pthread_rwlockattr_t {
292    pub __sig: ::std::os::raw::c_long,
293    pub __opaque: [::std::os::raw::c_char; 16usize],
294}
295#[allow(clippy::unnecessary_operation, clippy::identity_op)]
296const _: () = {
297    ["Size of _opaque_pthread_rwlockattr_t"]
298        [::std::mem::size_of::<_opaque_pthread_rwlockattr_t>() - 24usize];
299    ["Alignment of _opaque_pthread_rwlockattr_t"]
300        [::std::mem::align_of::<_opaque_pthread_rwlockattr_t>() - 8usize];
301    ["Offset of field: _opaque_pthread_rwlockattr_t::__sig"]
302        [::std::mem::offset_of!(_opaque_pthread_rwlockattr_t, __sig) - 0usize];
303    ["Offset of field: _opaque_pthread_rwlockattr_t::__opaque"]
304        [::std::mem::offset_of!(_opaque_pthread_rwlockattr_t, __opaque) - 8usize];
305};
306#[repr(C)]
307#[derive(Debug, Copy, Clone)]
308pub struct _opaque_pthread_t {
309    pub __sig: ::std::os::raw::c_long,
310    pub __cleanup_stack: *mut __darwin_pthread_handler_rec,
311    pub __opaque: [::std::os::raw::c_char; 8176usize],
312}
313#[allow(clippy::unnecessary_operation, clippy::identity_op)]
314const _: () = {
315    ["Size of _opaque_pthread_t"][::std::mem::size_of::<_opaque_pthread_t>() - 8192usize];
316    ["Alignment of _opaque_pthread_t"][::std::mem::align_of::<_opaque_pthread_t>() - 8usize];
317    ["Offset of field: _opaque_pthread_t::__sig"]
318        [::std::mem::offset_of!(_opaque_pthread_t, __sig) - 0usize];
319    ["Offset of field: _opaque_pthread_t::__cleanup_stack"]
320        [::std::mem::offset_of!(_opaque_pthread_t, __cleanup_stack) - 8usize];
321    ["Offset of field: _opaque_pthread_t::__opaque"]
322        [::std::mem::offset_of!(_opaque_pthread_t, __opaque) - 16usize];
323};
324pub type __darwin_pthread_attr_t = _opaque_pthread_attr_t;
325pub type __darwin_pthread_cond_t = _opaque_pthread_cond_t;
326pub type __darwin_pthread_condattr_t = _opaque_pthread_condattr_t;
327pub type __darwin_pthread_key_t = ::std::os::raw::c_ulong;
328pub type __darwin_pthread_mutex_t = _opaque_pthread_mutex_t;
329pub type __darwin_pthread_mutexattr_t = _opaque_pthread_mutexattr_t;
330pub type __darwin_pthread_once_t = _opaque_pthread_once_t;
331pub type __darwin_pthread_rwlock_t = _opaque_pthread_rwlock_t;
332pub type __darwin_pthread_rwlockattr_t = _opaque_pthread_rwlockattr_t;
333pub type __darwin_pthread_t = *mut _opaque_pthread_t;
334pub type intmax_t = ::std::os::raw::c_long;
335pub type uintmax_t = ::std::os::raw::c_ulong;
336#[doc = " Wrapper around Rust's [`&str`], without allocating memory, unlike [`std::ffi::CString`].\n The caller must use it as a Rust string. This is not a C-string."]
337#[repr(C)]
338#[derive(Debug, Copy, Clone)]
339pub struct PdStr {
340    pub len: usize,
341    pub data: *mut ::std::os::raw::c_void,
342}
343#[allow(clippy::unnecessary_operation, clippy::identity_op)]
344const _: () = {
345    ["Size of PdStr"][::std::mem::size_of::<PdStr>() - 16usize];
346    ["Alignment of PdStr"][::std::mem::align_of::<PdStr>() - 8usize];
347    ["Offset of field: PdStr::len"][::std::mem::offset_of!(PdStr, len) - 0usize];
348    ["Offset of field: PdStr::data"][::std::mem::offset_of!(PdStr, data) - 8usize];
349};
350#[doc = " Wrapper around Rust's [`&str`], without allocating memory, unlike [`std::ffi::CString`].\n The caller must use it as a Rust string. This is not a C-string."]
351pub type RustString = PdStr;
352#[doc = " Wrapper around output by pg_query."]
353#[repr(C)]
354#[derive(Debug, Copy, Clone)]
355pub struct PdStatement {
356    #[doc = " Parser version."]
357    pub version: i32,
358    #[doc = " Size of the statement pointer."]
359    pub len: u64,
360    #[doc = " The statement pointer."]
361    pub data: *mut ::std::os::raw::c_void,
362}
363#[allow(clippy::unnecessary_operation, clippy::identity_op)]
364const _: () = {
365    ["Size of PdStatement"][::std::mem::size_of::<PdStatement>() - 24usize];
366    ["Alignment of PdStatement"][::std::mem::align_of::<PdStatement>() - 8usize];
367    ["Offset of field: PdStatement::version"]
368        [::std::mem::offset_of!(PdStatement, version) - 0usize];
369    ["Offset of field: PdStatement::len"][::std::mem::offset_of!(PdStatement, len) - 8usize];
370    ["Offset of field: PdStatement::data"][::std::mem::offset_of!(PdStatement, data) - 16usize];
371};
372#[doc = " Wrapper around bound prepared statement parameters."]
373#[repr(C)]
374#[derive(Debug, Copy, Clone)]
375pub struct PdParameters {
376    #[doc = " Number of parameters."]
377    pub num_params: u64,
378    #[doc = " Pointer to a `Vec` of parameters."]
379    pub params: *mut ::std::os::raw::c_void,
380    #[doc = " Number of parameter format codes."]
381    pub num_format_codes: u64,
382    #[doc = " Pointer to a `Vec` of parameter format codes."]
383    pub format_codes: *mut ::std::os::raw::c_void,
384}
385#[allow(clippy::unnecessary_operation, clippy::identity_op)]
386const _: () = {
387    ["Size of PdParameters"][::std::mem::size_of::<PdParameters>() - 32usize];
388    ["Alignment of PdParameters"][::std::mem::align_of::<PdParameters>() - 8usize];
389    ["Offset of field: PdParameters::num_params"]
390        [::std::mem::offset_of!(PdParameters, num_params) - 0usize];
391    ["Offset of field: PdParameters::params"]
392        [::std::mem::offset_of!(PdParameters, params) - 8usize];
393    ["Offset of field: PdParameters::num_format_codes"]
394        [::std::mem::offset_of!(PdParameters, num_format_codes) - 16usize];
395    ["Offset of field: PdParameters::format_codes"]
396        [::std::mem::offset_of!(PdParameters, format_codes) - 24usize];
397};
398#[doc = " Context on the database cluster configuration and the currently processed\n PostgreSQL statement.\n\n This struct is C FFI-safe and therefore uses C types. Use public methods to interact with it instead\n of reading the data directly."]
399#[repr(C)]
400#[derive(Debug, Copy, Clone)]
401pub struct PdRouterContext {
402    #[doc = " How many shards are configured."]
403    pub shards: u64,
404    #[doc = " Does the database cluster have replicas? `1` = `true`, `0` = `false`."]
405    pub has_replicas: u8,
406    #[doc = " Does the database cluster have a primary? `1` = `true`, `0` = `false`."]
407    pub has_primary: u8,
408    #[doc = " Is the query being executed inside a transaction? `1` = `true`, `0` = `false`."]
409    pub in_transaction: u8,
410    #[doc = " PgDog strongly believes this statement should go to a primary. `1` = `true`, `0` = `false`."]
411    pub write_override: u8,
412    #[doc = " pg_query generated Abstract Syntax Tree of the statement."]
413    pub query: PdStatement,
414    #[doc = " Bound parameters."]
415    pub params: PdParameters,
416}
417#[allow(clippy::unnecessary_operation, clippy::identity_op)]
418const _: () = {
419    ["Size of PdRouterContext"][::std::mem::size_of::<PdRouterContext>() - 72usize];
420    ["Alignment of PdRouterContext"][::std::mem::align_of::<PdRouterContext>() - 8usize];
421    ["Offset of field: PdRouterContext::shards"]
422        [::std::mem::offset_of!(PdRouterContext, shards) - 0usize];
423    ["Offset of field: PdRouterContext::has_replicas"]
424        [::std::mem::offset_of!(PdRouterContext, has_replicas) - 8usize];
425    ["Offset of field: PdRouterContext::has_primary"]
426        [::std::mem::offset_of!(PdRouterContext, has_primary) - 9usize];
427    ["Offset of field: PdRouterContext::in_transaction"]
428        [::std::mem::offset_of!(PdRouterContext, in_transaction) - 10usize];
429    ["Offset of field: PdRouterContext::write_override"]
430        [::std::mem::offset_of!(PdRouterContext, write_override) - 11usize];
431    ["Offset of field: PdRouterContext::query"]
432        [::std::mem::offset_of!(PdRouterContext, query) - 16usize];
433    ["Offset of field: PdRouterContext::params"]
434        [::std::mem::offset_of!(PdRouterContext, params) - 40usize];
435};
436#[doc = " Routing decision returned by the plugin."]
437#[repr(C)]
438#[derive(Debug, Copy, Clone)]
439pub struct PdRoute {
440    #[doc = " Which shard the query should go to.\n\n `-1` for all shards, `-2` for unknown, this setting is ignored."]
441    pub shard: i64,
442    #[doc = " Is the query a read and should go to a replica?\n\n `1` for `true`, `0` for `false`, `2` for unknown, this setting is ignored."]
443    pub read_write: u8,
444}
445#[allow(clippy::unnecessary_operation, clippy::identity_op)]
446const _: () = {
447    ["Size of PdRoute"][::std::mem::size_of::<PdRoute>() - 16usize];
448    ["Alignment of PdRoute"][::std::mem::align_of::<PdRoute>() - 8usize];
449    ["Offset of field: PdRoute::shard"][::std::mem::offset_of!(PdRoute, shard) - 0usize];
450    ["Offset of field: PdRoute::read_write"][::std::mem::offset_of!(PdRoute, read_write) - 8usize];
451};
452pub type __builtin_va_list = *mut ::std::os::raw::c_char;