29#define DECLARE_GETTER(TYPE, MEMBER) \
30 typedef TYPE (*conn_ ## MEMBER ## _func) (PGconn *conn); \
31 extern conn_ ## MEMBER ## _func conn_ ## MEMBER;
33#define DECLARE_SETTER(TYPE, MEMBER) \
34 typedef void (*set_conn_ ## MEMBER ## _func) (PGconn *conn, TYPE val); \
35 extern set_conn_ ## MEMBER ## _func set_conn_ ## MEMBER;
51typedef char *(*libpq_gettext_func) (
const char *msgid);
56 conn_errorMessage_func errmsg_impl,
57 conn_oauth_client_id_func clientid_impl,
58 conn_oauth_client_secret_func clientsecret_impl,
59 conn_oauth_discovery_uri_func discoveryuri_impl,
60 conn_oauth_issuer_id_func issuerid_impl,
61 conn_oauth_scope_func scope_impl,
62 conn_sasl_state_func saslstate_impl,
63 set_conn_altsock_func setaltsock_impl,
64 set_conn_oauth_token_func settoken_impl);
81extern
void pq_reset_sigpipe(sigset_t *osigset,
bool sigpipe_pending,
bool got_epipe);
86#define libpq_gettext(x) (x)
91#define pglock_thread() pg_g_threadlock(true)
92#define pgunlock_thread() pg_g_threadlock(false)
#define pg_attribute_format_arg(a)
#define pg_attribute_printf(f, a)
void(* pgthreadlock_t)(int acquire)
void pq_reset_sigpipe(sigset_t *osigset, bool sigpipe_pending, bool got_epipe)
void bool oauth_unsafe_debugging_enabled(void)
int pq_block_sigpipe(sigset_t *osigset, bool *sigpipe_pending)
pgthreadlock_t pg_g_threadlock
#define DECLARE_GETTER(TYPE, MEMBER)
void libpq_append_conn_error(PGconn *conn, const char *fmt,...) pg_attribute_printf(2
PGDLLEXPORT void libpq_oauth_init(pgthreadlock_t threadlock, libpq_gettext_func gettext_impl, conn_errorMessage_func errmsg_impl, conn_oauth_client_id_func clientid_impl, conn_oauth_client_secret_func clientsecret_impl, conn_oauth_discovery_uri_func discoveryuri_impl, conn_oauth_issuer_id_func issuerid_impl, conn_oauth_scope_func scope_impl, conn_sasl_state_func saslstate_impl, set_conn_altsock_func setaltsock_impl, set_conn_oauth_token_func settoken_impl)
char *(* libpq_gettext_func)(const char *msgid)
#define DECLARE_SETTER(TYPE, MEMBER)