PostgreSQL Source Code: src/interfaces/libpq-oauth/oauth-utils.h Source File (original) (raw)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15#ifndef OAUTH_UTILS_H
16#define OAUTH_UTILS_H
17
21
22
23
24
25
26
27
28
29#define DECLARE_GETTER(TYPE, MEMBER) \
30 typedef TYPE (*conn_ ## MEMBER ## _func) (PGconn *conn); \
31 extern conn_ ## MEMBER ## _func conn_ ## MEMBER;
32
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;
36
44
47
48#undef DECLARE_GETTER
49#undef DECLARE_SETTER
50
51typedef char *(*libpq_gettext_func) (const char *msgid);
52
53
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);
65
66
67
68
69
70
71typedef enum
72{
77
80extern int pq_block_sigpipe(sigset_t *osigset, bool *sigpipe_pending);
81extern void pq_reset_sigpipe(sigset_t *osigset, bool sigpipe_pending, bool got_epipe);
82
83#ifdef ENABLE_NLS
85#else
86#define libpq_gettext(x) (x)
87#endif
88
90
91#define pglock_thread() pg_g_threadlock(true)
92#define pgunlock_thread() pg_g_threadlock(false)
93
94#endif
#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)