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