1use 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}