pq_sys/home/jenkins/workspace/PermaplanT-Release/backend/target/debug/build/pq-sys-be72e069370f782e/out/
bindings.rs

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