pq_sys/home/jenkins/workspace/PermaplanT_dev/backend/target/debug/build/pq-sys-9b65f509532f172e/out/
bindings.rs

1/* automatically generated by rust-bindgen 0.72.1 */
2
3use libc::FILE;
4
5pub const PG_DIAG_SEVERITY: u8 = 83u8;
6pub const PG_DIAG_SEVERITY_NONLOCALIZED: u8 = 86u8;
7pub const PG_DIAG_SQLSTATE: u8 = 67u8;
8pub const PG_DIAG_MESSAGE_PRIMARY: u8 = 77u8;
9pub const PG_DIAG_MESSAGE_DETAIL: u8 = 68u8;
10pub const PG_DIAG_MESSAGE_HINT: u8 = 72u8;
11pub const PG_DIAG_STATEMENT_POSITION: u8 = 80u8;
12pub const PG_DIAG_INTERNAL_POSITION: u8 = 112u8;
13pub const PG_DIAG_INTERNAL_QUERY: u8 = 113u8;
14pub const PG_DIAG_CONTEXT: u8 = 87u8;
15pub const PG_DIAG_SCHEMA_NAME: u8 = 115u8;
16pub const PG_DIAG_TABLE_NAME: u8 = 116u8;
17pub const PG_DIAG_COLUMN_NAME: u8 = 99u8;
18pub const PG_DIAG_DATATYPE_NAME: u8 = 100u8;
19pub const PG_DIAG_CONSTRAINT_NAME: u8 = 110u8;
20pub const PG_DIAG_SOURCE_FILE: u8 = 70u8;
21pub const PG_DIAG_SOURCE_LINE: u8 = 76u8;
22pub const PG_DIAG_SOURCE_FUNCTION: u8 = 82u8;
23pub const LIBPQ_HAS_PIPELINING: u32 = 1;
24pub const LIBPQ_HAS_TRACE_FLAGS: u32 = 1;
25pub const LIBPQ_HAS_SSL_LIBRARY_DETECTION: u32 = 1;
26pub const LIBPQ_HAS_ASYNC_CANCEL: u32 = 1;
27pub const LIBPQ_HAS_CHANGE_PASSWORD: u32 = 1;
28pub const LIBPQ_HAS_CHUNK_MODE: u32 = 1;
29pub const LIBPQ_HAS_CLOSE_PREPARED: u32 = 1;
30pub const LIBPQ_HAS_SEND_PIPELINE_SYNC: u32 = 1;
31pub const LIBPQ_HAS_SOCKET_POLL: u32 = 1;
32pub const LIBPQ_HAS_FULL_PROTOCOL_VERSION: u32 = 1;
33pub const LIBPQ_HAS_PROMPT_OAUTH_DEVICE: u32 = 1;
34pub const PG_COPYRES_ATTRS: u32 = 1;
35pub const PG_COPYRES_TUPLES: u32 = 2;
36pub const PG_COPYRES_EVENTS: u32 = 4;
37pub const PG_COPYRES_NOTICEHOOKS: u32 = 8;
38pub const PQTRACE_SUPPRESS_TIMESTAMPS: u32 = 1;
39pub const PQTRACE_REGRESS_MODE: u32 = 2;
40pub const PQ_QUERY_PARAM_MAX_LIMIT: u32 = 65535;
41pub const PQnoPasswordSupplied: &[u8; 35] = b"fe_sendauth: no password supplied\n\0";
42pub type Oid = ::std::os::raw::c_uint;
43pub type pg_int64 = i64;
44#[repr(u32)]
45#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
46pub enum ConnStatusType {
47    CONNECTION_OK = 0,
48    CONNECTION_BAD = 1,
49    CONNECTION_STARTED = 2,
50    CONNECTION_MADE = 3,
51    CONNECTION_AWAITING_RESPONSE = 4,
52    CONNECTION_AUTH_OK = 5,
53    CONNECTION_SETENV = 6,
54    CONNECTION_SSL_STARTUP = 7,
55    CONNECTION_NEEDED = 8,
56    CONNECTION_CHECK_WRITABLE = 9,
57    CONNECTION_CONSUME = 10,
58    CONNECTION_GSS_STARTUP = 11,
59    CONNECTION_CHECK_TARGET = 12,
60    CONNECTION_CHECK_STANDBY = 13,
61    CONNECTION_ALLOCATED = 14,
62    CONNECTION_AUTHENTICATING = 15,
63}
64#[repr(u32)]
65#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
66pub enum PostgresPollingStatusType {
67    PGRES_POLLING_FAILED = 0,
68    PGRES_POLLING_READING = 1,
69    PGRES_POLLING_WRITING = 2,
70    PGRES_POLLING_OK = 3,
71    PGRES_POLLING_ACTIVE = 4,
72}
73#[repr(u32)]
74#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
75pub enum ExecStatusType {
76    PGRES_EMPTY_QUERY = 0,
77    PGRES_COMMAND_OK = 1,
78    PGRES_TUPLES_OK = 2,
79    PGRES_COPY_OUT = 3,
80    PGRES_COPY_IN = 4,
81    PGRES_BAD_RESPONSE = 5,
82    PGRES_NONFATAL_ERROR = 6,
83    PGRES_FATAL_ERROR = 7,
84    PGRES_COPY_BOTH = 8,
85    PGRES_SINGLE_TUPLE = 9,
86    PGRES_PIPELINE_SYNC = 10,
87    PGRES_PIPELINE_ABORTED = 11,
88    PGRES_TUPLES_CHUNK = 12,
89}
90#[repr(u32)]
91#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
92pub enum PGTransactionStatusType {
93    PQTRANS_IDLE = 0,
94    PQTRANS_ACTIVE = 1,
95    PQTRANS_INTRANS = 2,
96    PQTRANS_INERROR = 3,
97    PQTRANS_UNKNOWN = 4,
98}
99#[repr(u32)]
100#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
101pub enum PGVerbosity {
102    PQERRORS_TERSE = 0,
103    PQERRORS_DEFAULT = 1,
104    PQERRORS_VERBOSE = 2,
105    PQERRORS_SQLSTATE = 3,
106}
107#[repr(u32)]
108#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
109pub enum PGContextVisibility {
110    PQSHOW_CONTEXT_NEVER = 0,
111    PQSHOW_CONTEXT_ERRORS = 1,
112    PQSHOW_CONTEXT_ALWAYS = 2,
113}
114#[repr(u32)]
115#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
116pub enum PGPing {
117    PQPING_OK = 0,
118    PQPING_REJECT = 1,
119    PQPING_NO_RESPONSE = 2,
120    PQPING_NO_ATTEMPT = 3,
121}
122#[repr(u32)]
123#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
124pub enum PGpipelineStatus {
125    PQ_PIPELINE_OFF = 0,
126    PQ_PIPELINE_ON = 1,
127    PQ_PIPELINE_ABORTED = 2,
128}
129#[repr(u32)]
130#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
131pub enum PGauthData {
132    PQAUTHDATA_PROMPT_OAUTH_DEVICE = 0,
133    PQAUTHDATA_OAUTH_BEARER_TOKEN = 1,
134}
135#[repr(C)]
136#[derive(Debug, Copy, Clone)]
137pub struct pg_conn {
138    _unused: [u8; 0],
139}
140pub type PGconn = pg_conn;
141#[repr(C)]
142#[derive(Debug, Copy, Clone)]
143pub struct pg_cancel_conn {
144    _unused: [u8; 0],
145}
146pub type PGcancelConn = pg_cancel_conn;
147#[repr(C)]
148#[derive(Debug, Copy, Clone)]
149pub struct pg_result {
150    _unused: [u8; 0],
151}
152pub type PGresult = pg_result;
153#[repr(C)]
154#[derive(Debug, Copy, Clone)]
155pub struct pg_cancel {
156    _unused: [u8; 0],
157}
158pub type PGcancel = pg_cancel;
159#[repr(C)]
160#[derive(Debug, Copy, Clone)]
161pub struct pgNotify {
162    pub relname: *mut ::std::os::raw::c_char,
163    pub be_pid: ::std::os::raw::c_int,
164    pub extra: *mut ::std::os::raw::c_char,
165    pub next: *mut pgNotify,
166}
167#[allow(clippy::unnecessary_operation, clippy::identity_op)]
168const _: () = {
169    ["Size of pgNotify"][::std::mem::size_of::<pgNotify>() - 32usize];
170    ["Alignment of pgNotify"][::std::mem::align_of::<pgNotify>() - 8usize];
171    ["Offset of field: pgNotify::relname"][::std::mem::offset_of!(pgNotify, relname) - 0usize];
172    ["Offset of field: pgNotify::be_pid"][::std::mem::offset_of!(pgNotify, be_pid) - 8usize];
173    ["Offset of field: pgNotify::extra"][::std::mem::offset_of!(pgNotify, extra) - 16usize];
174    ["Offset of field: pgNotify::next"][::std::mem::offset_of!(pgNotify, next) - 24usize];
175};
176pub type PGnotify = pgNotify;
177pub type pg_usec_time_t = i64;
178pub type PQnoticeReceiver = ::std::option::Option<
179    unsafe extern "C" fn(arg: *mut ::std::os::raw::c_void, res: *const PGresult),
180>;
181pub type PQnoticeProcessor = ::std::option::Option<
182    unsafe extern "C" fn(arg: *mut ::std::os::raw::c_void, message: *const ::std::os::raw::c_char),
183>;
184pub type pqbool = ::std::os::raw::c_char;
185#[repr(C)]
186#[derive(Debug, Copy, Clone)]
187pub struct _PQprintOpt {
188    pub header: pqbool,
189    pub align: pqbool,
190    pub standard: pqbool,
191    pub html3: pqbool,
192    pub expanded: pqbool,
193    pub pager: pqbool,
194    pub fieldSep: *mut ::std::os::raw::c_char,
195    pub tableOpt: *mut ::std::os::raw::c_char,
196    pub caption: *mut ::std::os::raw::c_char,
197    pub fieldName: *mut *mut ::std::os::raw::c_char,
198}
199#[allow(clippy::unnecessary_operation, clippy::identity_op)]
200const _: () = {
201    ["Size of _PQprintOpt"][::std::mem::size_of::<_PQprintOpt>() - 40usize];
202    ["Alignment of _PQprintOpt"][::std::mem::align_of::<_PQprintOpt>() - 8usize];
203    ["Offset of field: _PQprintOpt::header"][::std::mem::offset_of!(_PQprintOpt, header) - 0usize];
204    ["Offset of field: _PQprintOpt::align"][::std::mem::offset_of!(_PQprintOpt, align) - 1usize];
205    ["Offset of field: _PQprintOpt::standard"]
206        [::std::mem::offset_of!(_PQprintOpt, standard) - 2usize];
207    ["Offset of field: _PQprintOpt::html3"][::std::mem::offset_of!(_PQprintOpt, html3) - 3usize];
208    ["Offset of field: _PQprintOpt::expanded"]
209        [::std::mem::offset_of!(_PQprintOpt, expanded) - 4usize];
210    ["Offset of field: _PQprintOpt::pager"][::std::mem::offset_of!(_PQprintOpt, pager) - 5usize];
211    ["Offset of field: _PQprintOpt::fieldSep"]
212        [::std::mem::offset_of!(_PQprintOpt, fieldSep) - 8usize];
213    ["Offset of field: _PQprintOpt::tableOpt"]
214        [::std::mem::offset_of!(_PQprintOpt, tableOpt) - 16usize];
215    ["Offset of field: _PQprintOpt::caption"]
216        [::std::mem::offset_of!(_PQprintOpt, caption) - 24usize];
217    ["Offset of field: _PQprintOpt::fieldName"]
218        [::std::mem::offset_of!(_PQprintOpt, fieldName) - 32usize];
219};
220pub type PQprintOpt = _PQprintOpt;
221#[repr(C)]
222#[derive(Debug, Copy, Clone)]
223pub struct _PQconninfoOption {
224    pub keyword: *mut ::std::os::raw::c_char,
225    pub envvar: *mut ::std::os::raw::c_char,
226    pub compiled: *mut ::std::os::raw::c_char,
227    pub val: *mut ::std::os::raw::c_char,
228    pub label: *mut ::std::os::raw::c_char,
229    pub dispchar: *mut ::std::os::raw::c_char,
230    pub dispsize: ::std::os::raw::c_int,
231}
232#[allow(clippy::unnecessary_operation, clippy::identity_op)]
233const _: () = {
234    ["Size of _PQconninfoOption"][::std::mem::size_of::<_PQconninfoOption>() - 56usize];
235    ["Alignment of _PQconninfoOption"][::std::mem::align_of::<_PQconninfoOption>() - 8usize];
236    ["Offset of field: _PQconninfoOption::keyword"]
237        [::std::mem::offset_of!(_PQconninfoOption, keyword) - 0usize];
238    ["Offset of field: _PQconninfoOption::envvar"]
239        [::std::mem::offset_of!(_PQconninfoOption, envvar) - 8usize];
240    ["Offset of field: _PQconninfoOption::compiled"]
241        [::std::mem::offset_of!(_PQconninfoOption, compiled) - 16usize];
242    ["Offset of field: _PQconninfoOption::val"]
243        [::std::mem::offset_of!(_PQconninfoOption, val) - 24usize];
244    ["Offset of field: _PQconninfoOption::label"]
245        [::std::mem::offset_of!(_PQconninfoOption, label) - 32usize];
246    ["Offset of field: _PQconninfoOption::dispchar"]
247        [::std::mem::offset_of!(_PQconninfoOption, dispchar) - 40usize];
248    ["Offset of field: _PQconninfoOption::dispsize"]
249        [::std::mem::offset_of!(_PQconninfoOption, dispsize) - 48usize];
250};
251pub type PQconninfoOption = _PQconninfoOption;
252#[repr(C)]
253#[derive(Copy, Clone)]
254pub struct PQArgBlock {
255    pub len: ::std::os::raw::c_int,
256    pub isint: ::std::os::raw::c_int,
257    pub u: PQArgBlock__bindgen_ty_1,
258}
259#[repr(C)]
260#[derive(Copy, Clone)]
261pub union PQArgBlock__bindgen_ty_1 {
262    pub ptr: *mut ::std::os::raw::c_int,
263    pub integer: ::std::os::raw::c_int,
264}
265#[allow(clippy::unnecessary_operation, clippy::identity_op)]
266const _: () = {
267    ["Size of PQArgBlock__bindgen_ty_1"]
268        [::std::mem::size_of::<PQArgBlock__bindgen_ty_1>() - 8usize];
269    ["Alignment of PQArgBlock__bindgen_ty_1"]
270        [::std::mem::align_of::<PQArgBlock__bindgen_ty_1>() - 8usize];
271    ["Offset of field: PQArgBlock__bindgen_ty_1::ptr"]
272        [::std::mem::offset_of!(PQArgBlock__bindgen_ty_1, ptr) - 0usize];
273    ["Offset of field: PQArgBlock__bindgen_ty_1::integer"]
274        [::std::mem::offset_of!(PQArgBlock__bindgen_ty_1, integer) - 0usize];
275};
276#[allow(clippy::unnecessary_operation, clippy::identity_op)]
277const _: () = {
278    ["Size of PQArgBlock"][::std::mem::size_of::<PQArgBlock>() - 16usize];
279    ["Alignment of PQArgBlock"][::std::mem::align_of::<PQArgBlock>() - 8usize];
280    ["Offset of field: PQArgBlock::len"][::std::mem::offset_of!(PQArgBlock, len) - 0usize];
281    ["Offset of field: PQArgBlock::isint"][::std::mem::offset_of!(PQArgBlock, isint) - 4usize];
282    ["Offset of field: PQArgBlock::u"][::std::mem::offset_of!(PQArgBlock, u) - 8usize];
283};
284#[repr(C)]
285#[derive(Debug, Copy, Clone)]
286pub struct pgresAttDesc {
287    pub name: *mut ::std::os::raw::c_char,
288    pub tableid: Oid,
289    pub columnid: ::std::os::raw::c_int,
290    pub format: ::std::os::raw::c_int,
291    pub typid: Oid,
292    pub typlen: ::std::os::raw::c_int,
293    pub atttypmod: ::std::os::raw::c_int,
294}
295#[allow(clippy::unnecessary_operation, clippy::identity_op)]
296const _: () = {
297    ["Size of pgresAttDesc"][::std::mem::size_of::<pgresAttDesc>() - 32usize];
298    ["Alignment of pgresAttDesc"][::std::mem::align_of::<pgresAttDesc>() - 8usize];
299    ["Offset of field: pgresAttDesc::name"][::std::mem::offset_of!(pgresAttDesc, name) - 0usize];
300    ["Offset of field: pgresAttDesc::tableid"]
301        [::std::mem::offset_of!(pgresAttDesc, tableid) - 8usize];
302    ["Offset of field: pgresAttDesc::columnid"]
303        [::std::mem::offset_of!(pgresAttDesc, columnid) - 12usize];
304    ["Offset of field: pgresAttDesc::format"]
305        [::std::mem::offset_of!(pgresAttDesc, format) - 16usize];
306    ["Offset of field: pgresAttDesc::typid"][::std::mem::offset_of!(pgresAttDesc, typid) - 20usize];
307    ["Offset of field: pgresAttDesc::typlen"]
308        [::std::mem::offset_of!(pgresAttDesc, typlen) - 24usize];
309    ["Offset of field: pgresAttDesc::atttypmod"]
310        [::std::mem::offset_of!(pgresAttDesc, atttypmod) - 28usize];
311};
312pub type PGresAttDesc = pgresAttDesc;
313unsafe extern "C" {
314    pub fn PQconnectStart(conninfo: *const ::std::os::raw::c_char) -> *mut PGconn;
315}
316unsafe extern "C" {
317    pub fn PQconnectStartParams(
318        keywords: *const *const ::std::os::raw::c_char,
319        values: *const *const ::std::os::raw::c_char,
320        expand_dbname: ::std::os::raw::c_int,
321    ) -> *mut PGconn;
322}
323unsafe extern "C" {
324    pub fn PQconnectPoll(conn: *mut PGconn) -> PostgresPollingStatusType;
325}
326unsafe extern "C" {
327    pub fn PQconnectdb(conninfo: *const ::std::os::raw::c_char) -> *mut PGconn;
328}
329unsafe extern "C" {
330    pub fn PQconnectdbParams(
331        keywords: *const *const ::std::os::raw::c_char,
332        values: *const *const ::std::os::raw::c_char,
333        expand_dbname: ::std::os::raw::c_int,
334    ) -> *mut PGconn;
335}
336unsafe extern "C" {
337    pub fn PQsetdbLogin(
338        pghost: *const ::std::os::raw::c_char,
339        pgport: *const ::std::os::raw::c_char,
340        pgoptions: *const ::std::os::raw::c_char,
341        pgtty: *const ::std::os::raw::c_char,
342        dbName: *const ::std::os::raw::c_char,
343        login: *const ::std::os::raw::c_char,
344        pwd: *const ::std::os::raw::c_char,
345    ) -> *mut PGconn;
346}
347unsafe extern "C" {
348    pub fn PQfinish(conn: *mut PGconn);
349}
350unsafe extern "C" {
351    pub fn PQconndefaults() -> *mut PQconninfoOption;
352}
353unsafe extern "C" {
354    pub fn PQconninfoParse(
355        conninfo: *const ::std::os::raw::c_char,
356        errmsg: *mut *mut ::std::os::raw::c_char,
357    ) -> *mut PQconninfoOption;
358}
359unsafe extern "C" {
360    pub fn PQconninfo(conn: *mut PGconn) -> *mut PQconninfoOption;
361}
362unsafe extern "C" {
363    pub fn PQconninfoFree(connOptions: *mut PQconninfoOption);
364}
365unsafe extern "C" {
366    pub fn PQresetStart(conn: *mut PGconn) -> ::std::os::raw::c_int;
367}
368unsafe extern "C" {
369    pub fn PQresetPoll(conn: *mut PGconn) -> PostgresPollingStatusType;
370}
371unsafe extern "C" {
372    pub fn PQreset(conn: *mut PGconn);
373}
374unsafe extern "C" {
375    pub fn PQcancelCreate(conn: *mut PGconn) -> *mut PGcancelConn;
376}
377unsafe extern "C" {
378    pub fn PQcancelStart(cancelConn: *mut PGcancelConn) -> ::std::os::raw::c_int;
379}
380unsafe extern "C" {
381    pub fn PQcancelBlocking(cancelConn: *mut PGcancelConn) -> ::std::os::raw::c_int;
382}
383unsafe extern "C" {
384    pub fn PQcancelPoll(cancelConn: *mut PGcancelConn) -> PostgresPollingStatusType;
385}
386unsafe extern "C" {
387    pub fn PQcancelStatus(cancelConn: *const PGcancelConn) -> ConnStatusType;
388}
389unsafe extern "C" {
390    pub fn PQcancelSocket(cancelConn: *const PGcancelConn) -> ::std::os::raw::c_int;
391}
392unsafe extern "C" {
393    pub fn PQcancelErrorMessage(cancelConn: *const PGcancelConn) -> *mut ::std::os::raw::c_char;
394}
395unsafe extern "C" {
396    pub fn PQcancelReset(cancelConn: *mut PGcancelConn);
397}
398unsafe extern "C" {
399    pub fn PQcancelFinish(cancelConn: *mut PGcancelConn);
400}
401unsafe extern "C" {
402    pub fn PQgetCancel(conn: *mut PGconn) -> *mut PGcancel;
403}
404unsafe extern "C" {
405    pub fn PQfreeCancel(cancel: *mut PGcancel);
406}
407unsafe extern "C" {
408    pub fn PQcancel(
409        cancel: *mut PGcancel,
410        errbuf: *mut ::std::os::raw::c_char,
411        errbufsize: ::std::os::raw::c_int,
412    ) -> ::std::os::raw::c_int;
413}
414unsafe extern "C" {
415    pub fn PQrequestCancel(conn: *mut PGconn) -> ::std::os::raw::c_int;
416}
417unsafe extern "C" {
418    pub fn PQdb(conn: *const PGconn) -> *mut ::std::os::raw::c_char;
419}
420unsafe extern "C" {
421    pub fn PQuser(conn: *const PGconn) -> *mut ::std::os::raw::c_char;
422}
423unsafe extern "C" {
424    pub fn PQpass(conn: *const PGconn) -> *mut ::std::os::raw::c_char;
425}
426unsafe extern "C" {
427    pub fn PQhost(conn: *const PGconn) -> *mut ::std::os::raw::c_char;
428}
429unsafe extern "C" {
430    pub fn PQhostaddr(conn: *const PGconn) -> *mut ::std::os::raw::c_char;
431}
432unsafe extern "C" {
433    pub fn PQport(conn: *const PGconn) -> *mut ::std::os::raw::c_char;
434}
435unsafe extern "C" {
436    pub fn PQtty(conn: *const PGconn) -> *mut ::std::os::raw::c_char;
437}
438unsafe extern "C" {
439    pub fn PQoptions(conn: *const PGconn) -> *mut ::std::os::raw::c_char;
440}
441unsafe extern "C" {
442    pub fn PQstatus(conn: *const PGconn) -> ConnStatusType;
443}
444unsafe extern "C" {
445    pub fn PQtransactionStatus(conn: *const PGconn) -> PGTransactionStatusType;
446}
447unsafe extern "C" {
448    pub fn PQparameterStatus(
449        conn: *const PGconn,
450        paramName: *const ::std::os::raw::c_char,
451    ) -> *const ::std::os::raw::c_char;
452}
453unsafe extern "C" {
454    pub fn PQprotocolVersion(conn: *const PGconn) -> ::std::os::raw::c_int;
455}
456unsafe extern "C" {
457    pub fn PQfullProtocolVersion(conn: *const PGconn) -> ::std::os::raw::c_int;
458}
459unsafe extern "C" {
460    pub fn PQserverVersion(conn: *const PGconn) -> ::std::os::raw::c_int;
461}
462unsafe extern "C" {
463    pub fn PQerrorMessage(conn: *const PGconn) -> *mut ::std::os::raw::c_char;
464}
465unsafe extern "C" {
466    pub fn PQsocket(conn: *const PGconn) -> ::std::os::raw::c_int;
467}
468unsafe extern "C" {
469    pub fn PQbackendPID(conn: *const PGconn) -> ::std::os::raw::c_int;
470}
471unsafe extern "C" {
472    pub fn PQpipelineStatus(conn: *const PGconn) -> PGpipelineStatus;
473}
474unsafe extern "C" {
475    pub fn PQconnectionNeedsPassword(conn: *const PGconn) -> ::std::os::raw::c_int;
476}
477unsafe extern "C" {
478    pub fn PQconnectionUsedPassword(conn: *const PGconn) -> ::std::os::raw::c_int;
479}
480unsafe extern "C" {
481    pub fn PQconnectionUsedGSSAPI(conn: *const PGconn) -> ::std::os::raw::c_int;
482}
483unsafe extern "C" {
484    pub fn PQclientEncoding(conn: *const PGconn) -> ::std::os::raw::c_int;
485}
486unsafe extern "C" {
487    pub fn PQsetClientEncoding(
488        conn: *mut PGconn,
489        encoding: *const ::std::os::raw::c_char,
490    ) -> ::std::os::raw::c_int;
491}
492unsafe extern "C" {
493    pub fn PQsslInUse(conn: *mut PGconn) -> ::std::os::raw::c_int;
494}
495unsafe extern "C" {
496    pub fn PQsslStruct(
497        conn: *mut PGconn,
498        struct_name: *const ::std::os::raw::c_char,
499    ) -> *mut ::std::os::raw::c_void;
500}
501unsafe extern "C" {
502    pub fn PQsslAttribute(
503        conn: *mut PGconn,
504        attribute_name: *const ::std::os::raw::c_char,
505    ) -> *const ::std::os::raw::c_char;
506}
507unsafe extern "C" {
508    pub fn PQsslAttributeNames(conn: *mut PGconn) -> *const *const ::std::os::raw::c_char;
509}
510unsafe extern "C" {
511    pub fn PQgetssl(conn: *mut PGconn) -> *mut ::std::os::raw::c_void;
512}
513unsafe extern "C" {
514    pub fn PQinitSSL(do_init: ::std::os::raw::c_int);
515}
516unsafe extern "C" {
517    pub fn PQinitOpenSSL(do_ssl: ::std::os::raw::c_int, do_crypto: ::std::os::raw::c_int);
518}
519unsafe extern "C" {
520    pub fn PQgssEncInUse(conn: *mut PGconn) -> ::std::os::raw::c_int;
521}
522unsafe extern "C" {
523    pub fn PQgetgssctx(conn: *mut PGconn) -> *mut ::std::os::raw::c_void;
524}
525unsafe extern "C" {
526    pub fn PQsetErrorVerbosity(conn: *mut PGconn, verbosity: PGVerbosity) -> PGVerbosity;
527}
528unsafe extern "C" {
529    pub fn PQsetErrorContextVisibility(
530        conn: *mut PGconn,
531        show_context: PGContextVisibility,
532    ) -> PGContextVisibility;
533}
534unsafe extern "C" {
535    pub fn PQsetNoticeReceiver(
536        conn: *mut PGconn,
537        proc_: PQnoticeReceiver,
538        arg: *mut ::std::os::raw::c_void,
539    ) -> PQnoticeReceiver;
540}
541unsafe extern "C" {
542    pub fn PQsetNoticeProcessor(
543        conn: *mut PGconn,
544        proc_: PQnoticeProcessor,
545        arg: *mut ::std::os::raw::c_void,
546    ) -> PQnoticeProcessor;
547}
548pub type pgthreadlock_t =
549    ::std::option::Option<unsafe extern "C" fn(acquire: ::std::os::raw::c_int)>;
550unsafe extern "C" {
551    pub fn PQregisterThreadLock(newhandler: pgthreadlock_t) -> pgthreadlock_t;
552}
553unsafe extern "C" {
554    pub fn PQtrace(conn: *mut PGconn, debug_port: *mut FILE);
555}
556unsafe extern "C" {
557    pub fn PQuntrace(conn: *mut PGconn);
558}
559unsafe extern "C" {
560    pub fn PQsetTraceFlags(conn: *mut PGconn, flags: ::std::os::raw::c_int);
561}
562unsafe extern "C" {
563    pub fn PQexec(conn: *mut PGconn, query: *const ::std::os::raw::c_char) -> *mut PGresult;
564}
565unsafe extern "C" {
566    pub fn PQexecParams(
567        conn: *mut PGconn,
568        command: *const ::std::os::raw::c_char,
569        nParams: ::std::os::raw::c_int,
570        paramTypes: *const Oid,
571        paramValues: *const *const ::std::os::raw::c_char,
572        paramLengths: *const ::std::os::raw::c_int,
573        paramFormats: *const ::std::os::raw::c_int,
574        resultFormat: ::std::os::raw::c_int,
575    ) -> *mut PGresult;
576}
577unsafe extern "C" {
578    pub fn PQprepare(
579        conn: *mut PGconn,
580        stmtName: *const ::std::os::raw::c_char,
581        query: *const ::std::os::raw::c_char,
582        nParams: ::std::os::raw::c_int,
583        paramTypes: *const Oid,
584    ) -> *mut PGresult;
585}
586unsafe extern "C" {
587    pub fn PQexecPrepared(
588        conn: *mut PGconn,
589        stmtName: *const ::std::os::raw::c_char,
590        nParams: ::std::os::raw::c_int,
591        paramValues: *const *const ::std::os::raw::c_char,
592        paramLengths: *const ::std::os::raw::c_int,
593        paramFormats: *const ::std::os::raw::c_int,
594        resultFormat: ::std::os::raw::c_int,
595    ) -> *mut PGresult;
596}
597unsafe extern "C" {
598    pub fn PQsendQuery(
599        conn: *mut PGconn,
600        query: *const ::std::os::raw::c_char,
601    ) -> ::std::os::raw::c_int;
602}
603unsafe extern "C" {
604    pub fn PQsendQueryParams(
605        conn: *mut PGconn,
606        command: *const ::std::os::raw::c_char,
607        nParams: ::std::os::raw::c_int,
608        paramTypes: *const Oid,
609        paramValues: *const *const ::std::os::raw::c_char,
610        paramLengths: *const ::std::os::raw::c_int,
611        paramFormats: *const ::std::os::raw::c_int,
612        resultFormat: ::std::os::raw::c_int,
613    ) -> ::std::os::raw::c_int;
614}
615unsafe extern "C" {
616    pub fn PQsendPrepare(
617        conn: *mut PGconn,
618        stmtName: *const ::std::os::raw::c_char,
619        query: *const ::std::os::raw::c_char,
620        nParams: ::std::os::raw::c_int,
621        paramTypes: *const Oid,
622    ) -> ::std::os::raw::c_int;
623}
624unsafe extern "C" {
625    pub fn PQsendQueryPrepared(
626        conn: *mut PGconn,
627        stmtName: *const ::std::os::raw::c_char,
628        nParams: ::std::os::raw::c_int,
629        paramValues: *const *const ::std::os::raw::c_char,
630        paramLengths: *const ::std::os::raw::c_int,
631        paramFormats: *const ::std::os::raw::c_int,
632        resultFormat: ::std::os::raw::c_int,
633    ) -> ::std::os::raw::c_int;
634}
635unsafe extern "C" {
636    pub fn PQsetSingleRowMode(conn: *mut PGconn) -> ::std::os::raw::c_int;
637}
638unsafe extern "C" {
639    pub fn PQsetChunkedRowsMode(
640        conn: *mut PGconn,
641        chunkSize: ::std::os::raw::c_int,
642    ) -> ::std::os::raw::c_int;
643}
644unsafe extern "C" {
645    pub fn PQgetResult(conn: *mut PGconn) -> *mut PGresult;
646}
647unsafe extern "C" {
648    pub fn PQisBusy(conn: *mut PGconn) -> ::std::os::raw::c_int;
649}
650unsafe extern "C" {
651    pub fn PQconsumeInput(conn: *mut PGconn) -> ::std::os::raw::c_int;
652}
653unsafe extern "C" {
654    pub fn PQenterPipelineMode(conn: *mut PGconn) -> ::std::os::raw::c_int;
655}
656unsafe extern "C" {
657    pub fn PQexitPipelineMode(conn: *mut PGconn) -> ::std::os::raw::c_int;
658}
659unsafe extern "C" {
660    pub fn PQpipelineSync(conn: *mut PGconn) -> ::std::os::raw::c_int;
661}
662unsafe extern "C" {
663    pub fn PQsendFlushRequest(conn: *mut PGconn) -> ::std::os::raw::c_int;
664}
665unsafe extern "C" {
666    pub fn PQsendPipelineSync(conn: *mut PGconn) -> ::std::os::raw::c_int;
667}
668unsafe extern "C" {
669    pub fn PQnotifies(conn: *mut PGconn) -> *mut PGnotify;
670}
671unsafe extern "C" {
672    pub fn PQputCopyData(
673        conn: *mut PGconn,
674        buffer: *const ::std::os::raw::c_char,
675        nbytes: ::std::os::raw::c_int,
676    ) -> ::std::os::raw::c_int;
677}
678unsafe extern "C" {
679    pub fn PQputCopyEnd(
680        conn: *mut PGconn,
681        errormsg: *const ::std::os::raw::c_char,
682    ) -> ::std::os::raw::c_int;
683}
684unsafe extern "C" {
685    pub fn PQgetCopyData(
686        conn: *mut PGconn,
687        buffer: *mut *mut ::std::os::raw::c_char,
688        async_: ::std::os::raw::c_int,
689    ) -> ::std::os::raw::c_int;
690}
691unsafe extern "C" {
692    pub fn PQgetline(
693        conn: *mut PGconn,
694        buffer: *mut ::std::os::raw::c_char,
695        length: ::std::os::raw::c_int,
696    ) -> ::std::os::raw::c_int;
697}
698unsafe extern "C" {
699    pub fn PQputline(
700        conn: *mut PGconn,
701        string: *const ::std::os::raw::c_char,
702    ) -> ::std::os::raw::c_int;
703}
704unsafe extern "C" {
705    pub fn PQgetlineAsync(
706        conn: *mut PGconn,
707        buffer: *mut ::std::os::raw::c_char,
708        bufsize: ::std::os::raw::c_int,
709    ) -> ::std::os::raw::c_int;
710}
711unsafe extern "C" {
712    pub fn PQputnbytes(
713        conn: *mut PGconn,
714        buffer: *const ::std::os::raw::c_char,
715        nbytes: ::std::os::raw::c_int,
716    ) -> ::std::os::raw::c_int;
717}
718unsafe extern "C" {
719    pub fn PQendcopy(conn: *mut PGconn) -> ::std::os::raw::c_int;
720}
721unsafe extern "C" {
722    pub fn PQsetnonblocking(conn: *mut PGconn, arg: ::std::os::raw::c_int)
723        -> ::std::os::raw::c_int;
724}
725unsafe extern "C" {
726    pub fn PQisnonblocking(conn: *const PGconn) -> ::std::os::raw::c_int;
727}
728unsafe extern "C" {
729    pub fn PQisthreadsafe() -> ::std::os::raw::c_int;
730}
731unsafe extern "C" {
732    pub fn PQping(conninfo: *const ::std::os::raw::c_char) -> PGPing;
733}
734unsafe extern "C" {
735    pub fn PQpingParams(
736        keywords: *const *const ::std::os::raw::c_char,
737        values: *const *const ::std::os::raw::c_char,
738        expand_dbname: ::std::os::raw::c_int,
739    ) -> PGPing;
740}
741unsafe extern "C" {
742    pub fn PQflush(conn: *mut PGconn) -> ::std::os::raw::c_int;
743}
744unsafe extern "C" {
745    pub fn PQfn(
746        conn: *mut PGconn,
747        fnid: ::std::os::raw::c_int,
748        result_buf: *mut ::std::os::raw::c_int,
749        result_len: *mut ::std::os::raw::c_int,
750        result_is_int: ::std::os::raw::c_int,
751        args: *const PQArgBlock,
752        nargs: ::std::os::raw::c_int,
753    ) -> *mut PGresult;
754}
755unsafe extern "C" {
756    pub fn PQresultStatus(res: *const PGresult) -> ExecStatusType;
757}
758unsafe extern "C" {
759    pub fn PQresStatus(status: ExecStatusType) -> *mut ::std::os::raw::c_char;
760}
761unsafe extern "C" {
762    pub fn PQresultErrorMessage(res: *const PGresult) -> *mut ::std::os::raw::c_char;
763}
764unsafe extern "C" {
765    pub fn PQresultVerboseErrorMessage(
766        res: *const PGresult,
767        verbosity: PGVerbosity,
768        show_context: PGContextVisibility,
769    ) -> *mut ::std::os::raw::c_char;
770}
771unsafe extern "C" {
772    pub fn PQresultErrorField(
773        res: *const PGresult,
774        fieldcode: ::std::os::raw::c_int,
775    ) -> *mut ::std::os::raw::c_char;
776}
777unsafe extern "C" {
778    pub fn PQntuples(res: *const PGresult) -> ::std::os::raw::c_int;
779}
780unsafe extern "C" {
781    pub fn PQnfields(res: *const PGresult) -> ::std::os::raw::c_int;
782}
783unsafe extern "C" {
784    pub fn PQbinaryTuples(res: *const PGresult) -> ::std::os::raw::c_int;
785}
786unsafe extern "C" {
787    pub fn PQfname(
788        res: *const PGresult,
789        field_num: ::std::os::raw::c_int,
790    ) -> *mut ::std::os::raw::c_char;
791}
792unsafe extern "C" {
793    pub fn PQfnumber(
794        res: *const PGresult,
795        field_name: *const ::std::os::raw::c_char,
796    ) -> ::std::os::raw::c_int;
797}
798unsafe extern "C" {
799    pub fn PQftable(res: *const PGresult, field_num: ::std::os::raw::c_int) -> Oid;
800}
801unsafe extern "C" {
802    pub fn PQftablecol(
803        res: *const PGresult,
804        field_num: ::std::os::raw::c_int,
805    ) -> ::std::os::raw::c_int;
806}
807unsafe extern "C" {
808    pub fn PQfformat(
809        res: *const PGresult,
810        field_num: ::std::os::raw::c_int,
811    ) -> ::std::os::raw::c_int;
812}
813unsafe extern "C" {
814    pub fn PQftype(res: *const PGresult, field_num: ::std::os::raw::c_int) -> Oid;
815}
816unsafe extern "C" {
817    pub fn PQfsize(res: *const PGresult, field_num: ::std::os::raw::c_int)
818        -> ::std::os::raw::c_int;
819}
820unsafe extern "C" {
821    pub fn PQfmod(res: *const PGresult, field_num: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
822}
823unsafe extern "C" {
824    pub fn PQcmdStatus(res: *mut PGresult) -> *mut ::std::os::raw::c_char;
825}
826unsafe extern "C" {
827    pub fn PQoidStatus(res: *const PGresult) -> *mut ::std::os::raw::c_char;
828}
829unsafe extern "C" {
830    pub fn PQoidValue(res: *const PGresult) -> Oid;
831}
832unsafe extern "C" {
833    pub fn PQcmdTuples(res: *mut PGresult) -> *mut ::std::os::raw::c_char;
834}
835unsafe extern "C" {
836    pub fn PQgetvalue(
837        res: *const PGresult,
838        tup_num: ::std::os::raw::c_int,
839        field_num: ::std::os::raw::c_int,
840    ) -> *mut ::std::os::raw::c_char;
841}
842unsafe extern "C" {
843    pub fn PQgetlength(
844        res: *const PGresult,
845        tup_num: ::std::os::raw::c_int,
846        field_num: ::std::os::raw::c_int,
847    ) -> ::std::os::raw::c_int;
848}
849unsafe extern "C" {
850    pub fn PQgetisnull(
851        res: *const PGresult,
852        tup_num: ::std::os::raw::c_int,
853        field_num: ::std::os::raw::c_int,
854    ) -> ::std::os::raw::c_int;
855}
856unsafe extern "C" {
857    pub fn PQnparams(res: *const PGresult) -> ::std::os::raw::c_int;
858}
859unsafe extern "C" {
860    pub fn PQparamtype(res: *const PGresult, param_num: ::std::os::raw::c_int) -> Oid;
861}
862unsafe extern "C" {
863    pub fn PQdescribePrepared(
864        conn: *mut PGconn,
865        stmt: *const ::std::os::raw::c_char,
866    ) -> *mut PGresult;
867}
868unsafe extern "C" {
869    pub fn PQdescribePortal(
870        conn: *mut PGconn,
871        portal: *const ::std::os::raw::c_char,
872    ) -> *mut PGresult;
873}
874unsafe extern "C" {
875    pub fn PQsendDescribePrepared(
876        conn: *mut PGconn,
877        stmt: *const ::std::os::raw::c_char,
878    ) -> ::std::os::raw::c_int;
879}
880unsafe extern "C" {
881    pub fn PQsendDescribePortal(
882        conn: *mut PGconn,
883        portal: *const ::std::os::raw::c_char,
884    ) -> ::std::os::raw::c_int;
885}
886unsafe extern "C" {
887    pub fn PQclosePrepared(conn: *mut PGconn, stmt: *const ::std::os::raw::c_char)
888        -> *mut PGresult;
889}
890unsafe extern "C" {
891    pub fn PQclosePortal(conn: *mut PGconn, portal: *const ::std::os::raw::c_char)
892        -> *mut PGresult;
893}
894unsafe extern "C" {
895    pub fn PQsendClosePrepared(
896        conn: *mut PGconn,
897        stmt: *const ::std::os::raw::c_char,
898    ) -> ::std::os::raw::c_int;
899}
900unsafe extern "C" {
901    pub fn PQsendClosePortal(
902        conn: *mut PGconn,
903        portal: *const ::std::os::raw::c_char,
904    ) -> ::std::os::raw::c_int;
905}
906unsafe extern "C" {
907    pub fn PQclear(res: *mut PGresult);
908}
909unsafe extern "C" {
910    pub fn PQfreemem(ptr: *mut ::std::os::raw::c_void);
911}
912unsafe extern "C" {
913    pub fn PQmakeEmptyPGresult(conn: *mut PGconn, status: ExecStatusType) -> *mut PGresult;
914}
915unsafe extern "C" {
916    pub fn PQcopyResult(src: *const PGresult, flags: ::std::os::raw::c_int) -> *mut PGresult;
917}
918unsafe extern "C" {
919    pub fn PQsetResultAttrs(
920        res: *mut PGresult,
921        numAttributes: ::std::os::raw::c_int,
922        attDescs: *mut PGresAttDesc,
923    ) -> ::std::os::raw::c_int;
924}
925unsafe extern "C" {
926    pub fn PQresultAlloc(res: *mut PGresult, nBytes: usize) -> *mut ::std::os::raw::c_void;
927}
928unsafe extern "C" {
929    pub fn PQresultMemorySize(res: *const PGresult) -> usize;
930}
931unsafe extern "C" {
932    pub fn PQsetvalue(
933        res: *mut PGresult,
934        tup_num: ::std::os::raw::c_int,
935        field_num: ::std::os::raw::c_int,
936        value: *mut ::std::os::raw::c_char,
937        len: ::std::os::raw::c_int,
938    ) -> ::std::os::raw::c_int;
939}
940unsafe extern "C" {
941    pub fn PQescapeStringConn(
942        conn: *mut PGconn,
943        to: *mut ::std::os::raw::c_char,
944        from: *const ::std::os::raw::c_char,
945        length: usize,
946        error: *mut ::std::os::raw::c_int,
947    ) -> usize;
948}
949unsafe extern "C" {
950    pub fn PQescapeLiteral(
951        conn: *mut PGconn,
952        str_: *const ::std::os::raw::c_char,
953        len: usize,
954    ) -> *mut ::std::os::raw::c_char;
955}
956unsafe extern "C" {
957    pub fn PQescapeIdentifier(
958        conn: *mut PGconn,
959        str_: *const ::std::os::raw::c_char,
960        len: usize,
961    ) -> *mut ::std::os::raw::c_char;
962}
963unsafe extern "C" {
964    pub fn PQescapeByteaConn(
965        conn: *mut PGconn,
966        from: *const ::std::os::raw::c_uchar,
967        from_length: usize,
968        to_length: *mut usize,
969    ) -> *mut ::std::os::raw::c_uchar;
970}
971unsafe extern "C" {
972    pub fn PQunescapeBytea(
973        strtext: *const ::std::os::raw::c_uchar,
974        retbuflen: *mut usize,
975    ) -> *mut ::std::os::raw::c_uchar;
976}
977unsafe extern "C" {
978    pub fn PQescapeString(
979        to: *mut ::std::os::raw::c_char,
980        from: *const ::std::os::raw::c_char,
981        length: usize,
982    ) -> usize;
983}
984unsafe extern "C" {
985    pub fn PQescapeBytea(
986        from: *const ::std::os::raw::c_uchar,
987        from_length: usize,
988        to_length: *mut usize,
989    ) -> *mut ::std::os::raw::c_uchar;
990}
991unsafe extern "C" {
992    pub fn PQprint(fout: *mut FILE, res: *const PGresult, po: *const PQprintOpt);
993}
994unsafe extern "C" {
995    pub fn PQdisplayTuples(
996        res: *const PGresult,
997        fp: *mut FILE,
998        fillAlign: ::std::os::raw::c_int,
999        fieldSep: *const ::std::os::raw::c_char,
1000        printHeader: ::std::os::raw::c_int,
1001        quiet: ::std::os::raw::c_int,
1002    );
1003}
1004unsafe extern "C" {
1005    pub fn PQprintTuples(
1006        res: *const PGresult,
1007        fout: *mut FILE,
1008        PrintAttNames: ::std::os::raw::c_int,
1009        TerseOutput: ::std::os::raw::c_int,
1010        colWidth: ::std::os::raw::c_int,
1011    );
1012}
1013unsafe extern "C" {
1014    pub fn lo_open(
1015        conn: *mut PGconn,
1016        lobjId: Oid,
1017        mode: ::std::os::raw::c_int,
1018    ) -> ::std::os::raw::c_int;
1019}
1020unsafe extern "C" {
1021    pub fn lo_close(conn: *mut PGconn, fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
1022}
1023unsafe extern "C" {
1024    pub fn lo_read(
1025        conn: *mut PGconn,
1026        fd: ::std::os::raw::c_int,
1027        buf: *mut ::std::os::raw::c_char,
1028        len: usize,
1029    ) -> ::std::os::raw::c_int;
1030}
1031unsafe extern "C" {
1032    pub fn lo_write(
1033        conn: *mut PGconn,
1034        fd: ::std::os::raw::c_int,
1035        buf: *const ::std::os::raw::c_char,
1036        len: usize,
1037    ) -> ::std::os::raw::c_int;
1038}
1039unsafe extern "C" {
1040    pub fn lo_lseek(
1041        conn: *mut PGconn,
1042        fd: ::std::os::raw::c_int,
1043        offset: ::std::os::raw::c_int,
1044        whence: ::std::os::raw::c_int,
1045    ) -> ::std::os::raw::c_int;
1046}
1047unsafe extern "C" {
1048    pub fn lo_lseek64(
1049        conn: *mut PGconn,
1050        fd: ::std::os::raw::c_int,
1051        offset: i64,
1052        whence: ::std::os::raw::c_int,
1053    ) -> i64;
1054}
1055unsafe extern "C" {
1056    pub fn lo_creat(conn: *mut PGconn, mode: ::std::os::raw::c_int) -> Oid;
1057}
1058unsafe extern "C" {
1059    pub fn lo_create(conn: *mut PGconn, lobjId: Oid) -> Oid;
1060}
1061unsafe extern "C" {
1062    pub fn lo_tell(conn: *mut PGconn, fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
1063}
1064unsafe extern "C" {
1065    pub fn lo_tell64(conn: *mut PGconn, fd: ::std::os::raw::c_int) -> i64;
1066}
1067unsafe extern "C" {
1068    pub fn lo_truncate(
1069        conn: *mut PGconn,
1070        fd: ::std::os::raw::c_int,
1071        len: usize,
1072    ) -> ::std::os::raw::c_int;
1073}
1074unsafe extern "C" {
1075    pub fn lo_truncate64(
1076        conn: *mut PGconn,
1077        fd: ::std::os::raw::c_int,
1078        len: i64,
1079    ) -> ::std::os::raw::c_int;
1080}
1081unsafe extern "C" {
1082    pub fn lo_unlink(conn: *mut PGconn, lobjId: Oid) -> ::std::os::raw::c_int;
1083}
1084unsafe extern "C" {
1085    pub fn lo_import(conn: *mut PGconn, filename: *const ::std::os::raw::c_char) -> Oid;
1086}
1087unsafe extern "C" {
1088    pub fn lo_import_with_oid(
1089        conn: *mut PGconn,
1090        filename: *const ::std::os::raw::c_char,
1091        lobjId: Oid,
1092    ) -> Oid;
1093}
1094unsafe extern "C" {
1095    pub fn lo_export(
1096        conn: *mut PGconn,
1097        lobjId: Oid,
1098        filename: *const ::std::os::raw::c_char,
1099    ) -> ::std::os::raw::c_int;
1100}
1101unsafe extern "C" {
1102    pub fn PQlibVersion() -> ::std::os::raw::c_int;
1103}
1104unsafe extern "C" {
1105    pub fn PQsocketPoll(
1106        sock: ::std::os::raw::c_int,
1107        forRead: ::std::os::raw::c_int,
1108        forWrite: ::std::os::raw::c_int,
1109        end_time: pg_usec_time_t,
1110    ) -> ::std::os::raw::c_int;
1111}
1112unsafe extern "C" {
1113    pub fn PQgetCurrentTimeUSec() -> pg_usec_time_t;
1114}
1115unsafe extern "C" {
1116    pub fn PQmblen(
1117        s: *const ::std::os::raw::c_char,
1118        encoding: ::std::os::raw::c_int,
1119    ) -> ::std::os::raw::c_int;
1120}
1121unsafe extern "C" {
1122    pub fn PQmblenBounded(
1123        s: *const ::std::os::raw::c_char,
1124        encoding: ::std::os::raw::c_int,
1125    ) -> ::std::os::raw::c_int;
1126}
1127unsafe extern "C" {
1128    pub fn PQdsplen(
1129        s: *const ::std::os::raw::c_char,
1130        encoding: ::std::os::raw::c_int,
1131    ) -> ::std::os::raw::c_int;
1132}
1133unsafe extern "C" {
1134    pub fn PQenv2encoding() -> ::std::os::raw::c_int;
1135}
1136#[repr(C)]
1137#[derive(Debug, Copy, Clone)]
1138pub struct _PGpromptOAuthDevice {
1139    pub verification_uri: *const ::std::os::raw::c_char,
1140    pub user_code: *const ::std::os::raw::c_char,
1141    pub verification_uri_complete: *const ::std::os::raw::c_char,
1142    pub expires_in: ::std::os::raw::c_int,
1143}
1144#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1145const _: () = {
1146    ["Size of _PGpromptOAuthDevice"][::std::mem::size_of::<_PGpromptOAuthDevice>() - 32usize];
1147    ["Alignment of _PGpromptOAuthDevice"][::std::mem::align_of::<_PGpromptOAuthDevice>() - 8usize];
1148    ["Offset of field: _PGpromptOAuthDevice::verification_uri"]
1149        [::std::mem::offset_of!(_PGpromptOAuthDevice, verification_uri) - 0usize];
1150    ["Offset of field: _PGpromptOAuthDevice::user_code"]
1151        [::std::mem::offset_of!(_PGpromptOAuthDevice, user_code) - 8usize];
1152    ["Offset of field: _PGpromptOAuthDevice::verification_uri_complete"]
1153        [::std::mem::offset_of!(_PGpromptOAuthDevice, verification_uri_complete) - 16usize];
1154    ["Offset of field: _PGpromptOAuthDevice::expires_in"]
1155        [::std::mem::offset_of!(_PGpromptOAuthDevice, expires_in) - 24usize];
1156};
1157pub type PGpromptOAuthDevice = _PGpromptOAuthDevice;
1158#[repr(C)]
1159#[derive(Debug, Copy, Clone)]
1160pub struct PGoauthBearerRequest {
1161    pub openid_configuration: *const ::std::os::raw::c_char,
1162    pub scope: *const ::std::os::raw::c_char,
1163    pub async_: ::std::option::Option<
1164        unsafe extern "C" fn(
1165            conn: *mut PGconn,
1166            request: *mut PGoauthBearerRequest,
1167            altsock: *mut ::std::os::raw::c_int,
1168        ) -> PostgresPollingStatusType,
1169    >,
1170    pub cleanup: ::std::option::Option<
1171        unsafe extern "C" fn(conn: *mut PGconn, request: *mut PGoauthBearerRequest),
1172    >,
1173    pub token: *mut ::std::os::raw::c_char,
1174    pub user: *mut ::std::os::raw::c_void,
1175}
1176#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1177const _: () = {
1178    ["Size of PGoauthBearerRequest"][::std::mem::size_of::<PGoauthBearerRequest>() - 48usize];
1179    ["Alignment of PGoauthBearerRequest"][::std::mem::align_of::<PGoauthBearerRequest>() - 8usize];
1180    ["Offset of field: PGoauthBearerRequest::openid_configuration"]
1181        [::std::mem::offset_of!(PGoauthBearerRequest, openid_configuration) - 0usize];
1182    ["Offset of field: PGoauthBearerRequest::scope"]
1183        [::std::mem::offset_of!(PGoauthBearerRequest, scope) - 8usize];
1184    ["Offset of field: PGoauthBearerRequest::async_"]
1185        [::std::mem::offset_of!(PGoauthBearerRequest, async_) - 16usize];
1186    ["Offset of field: PGoauthBearerRequest::cleanup"]
1187        [::std::mem::offset_of!(PGoauthBearerRequest, cleanup) - 24usize];
1188    ["Offset of field: PGoauthBearerRequest::token"]
1189        [::std::mem::offset_of!(PGoauthBearerRequest, token) - 32usize];
1190    ["Offset of field: PGoauthBearerRequest::user"]
1191        [::std::mem::offset_of!(PGoauthBearerRequest, user) - 40usize];
1192};
1193unsafe extern "C" {
1194    pub fn PQencryptPassword(
1195        passwd: *const ::std::os::raw::c_char,
1196        user: *const ::std::os::raw::c_char,
1197    ) -> *mut ::std::os::raw::c_char;
1198}
1199unsafe extern "C" {
1200    pub fn PQencryptPasswordConn(
1201        conn: *mut PGconn,
1202        passwd: *const ::std::os::raw::c_char,
1203        user: *const ::std::os::raw::c_char,
1204        algorithm: *const ::std::os::raw::c_char,
1205    ) -> *mut ::std::os::raw::c_char;
1206}
1207unsafe extern "C" {
1208    pub fn PQchangePassword(
1209        conn: *mut PGconn,
1210        user: *const ::std::os::raw::c_char,
1211        passwd: *const ::std::os::raw::c_char,
1212    ) -> *mut PGresult;
1213}
1214pub type PQauthDataHook_type = ::std::option::Option<
1215    unsafe extern "C" fn(
1216        type_: PGauthData,
1217        conn: *mut PGconn,
1218        data: *mut ::std::os::raw::c_void,
1219    ) -> ::std::os::raw::c_int,
1220>;
1221unsafe extern "C" {
1222    pub fn PQsetAuthDataHook(hook: PQauthDataHook_type);
1223}
1224unsafe extern "C" {
1225    pub fn PQgetAuthDataHook() -> PQauthDataHook_type;
1226}
1227unsafe extern "C" {
1228    pub fn PQdefaultAuthDataHook(
1229        type_: PGauthData,
1230        conn: *mut PGconn,
1231        data: *mut ::std::os::raw::c_void,
1232    ) -> ::std::os::raw::c_int;
1233}
1234unsafe extern "C" {
1235    pub fn pg_char_to_encoding(name: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
1236}
1237unsafe extern "C" {
1238    pub fn pg_encoding_to_char(encoding: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
1239}
1240unsafe extern "C" {
1241    pub fn pg_valid_server_encoding_id(encoding: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
1242}
1243pub type PQsslKeyPassHook_OpenSSL_type = ::std::option::Option<
1244    unsafe extern "C" fn(
1245        buf: *mut ::std::os::raw::c_char,
1246        size: ::std::os::raw::c_int,
1247        conn: *mut PGconn,
1248    ) -> ::std::os::raw::c_int,
1249>;
1250unsafe extern "C" {
1251    pub fn PQgetSSLKeyPassHook_OpenSSL() -> PQsslKeyPassHook_OpenSSL_type;
1252}
1253unsafe extern "C" {
1254    pub fn PQsetSSLKeyPassHook_OpenSSL(hook: PQsslKeyPassHook_OpenSSL_type);
1255}
1256unsafe extern "C" {
1257    pub fn PQdefaultSSLKeyPassHook_OpenSSL(
1258        buf: *mut ::std::os::raw::c_char,
1259        size: ::std::os::raw::c_int,
1260        conn: *mut PGconn,
1261    ) -> ::std::os::raw::c_int;
1262}