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)