Eine aufbereitete Darstellung der Quelle

 
     
 
 
Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 

Benutzer

Quelle  oauth-utils.h

  Sprache: C
 

/*-------------------------------------------------------------------------
 *
 * oauth-utils.h
 *
 *   Definitions providing missing libpq internal APIs
 *
 * Portions Copyright (c) 1996-2025, PostgreSQL Global Development Group
 * Portions Copyright (c) 1994, Regents of the University of California
 *
 * src/interfaces/libpq-oauth/oauth-utils.h
 *
 *-------------------------------------------------------------------------
 */


#ifndef OAUTH_UTILS_H
#define OAUTH_UTILS_H

#include "fe-auth-oauth.h"
#include "libpq-fe.h"
#include "pqexpbuffer.h"

/*
 * A bank of callbacks to safely access members of PGconn, which are all passed
 * to libpq_oauth_init() by libpq.
 *
 * Keep these aligned with the definitions in fe-auth-oauth.c as well as the
 * static declarations in oauth-curl.c.
 */

#define DECLARE_GETTER(TYPE, MEMBER) \
 typedef TYPE (*conn_ ## MEMBER ## _func) (PGconn *conn); \
 extern conn_ ## MEMBER ## _func conn_ ## MEMBER;

#define DECLARE_SETTER(TYPE, MEMBER) \
 typedef void (*set_conn_ ## MEMBER ## _func) (PGconn *conn, TYPE val); \
 extern set_conn_ ## MEMBER ## _func set_conn_ ## MEMBER;

DECLARE_GETTER(PQExpBuffer, errorMessage);
DECLARE_GETTER(char *, oauth_client_id);
DECLARE_GETTER(char *, oauth_client_secret);
DECLARE_GETTER(char *, oauth_discovery_uri);
DECLARE_GETTER(char *, oauth_issuer_id);
DECLARE_GETTER(char *, oauth_scope);
DECLARE_GETTER(fe_oauth_state *, sasl_state);

DECLARE_SETTER(pgsocket, altsock);
DECLARE_SETTER(char *, oauth_token);

#undef DECLARE_GETTER
#undef DECLARE_SETTER

typedef char *(*libpq_gettext_func) (const char *msgid);

/* Initializes libpq-oauth. */
extern 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);

/*
 * Duplicated APIs, copied from libpq (primarily libpq-int.h, which we cannot
 * depend on here).
 */


typedef enum
{
 PG_BOOL_UNKNOWN = 0,  /* Currently unknown */
 PG_BOOL_YES,    /* Yes (true) */
 PG_BOOL_NO     /* No (false) */
} PGTernaryBool;

extern void libpq_append_conn_error(PGconn *conn, const char *fmt,...) pg_attribute_printf(23);
extern bool oauth_unsafe_debugging_enabled(void);
extern int pq_block_sigpipe(sigset_t *osigset, bool *sigpipe_pending);
extern void pq_reset_sigpipe(sigset_t *osigset, bool sigpipe_pending, bool got_epipe);

#ifdef ENABLE_NLS
extern char *libpq_gettext(const char *msgid) pg_attribute_format_arg(1);
#else
#define libpq_gettext(x) (x)
#endif

extern pgthreadlock_t pg_g_threadlock;

#define pglock_thread()  pg_g_threadlock(true)
#define pgunlock_thread() pg_g_threadlock(false)

#endif       /* OAUTH_UTILS_H */

Messung V0.5 in Prozent
C=92 H=100 G=95

¤ Dauer der Verarbeitung: 0.10 Sekunden  (vorverarbeitet am  2026-08-06) ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Open Source Software

     Quellcodebibliothek
     Eigene Quellcodes
     Fremde Quellcodes
     Suchen

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik

Statistik
#Sources=277311
#Domains=752002