1 /*------------------------------------------------------------------------- 2 * 3 * fe-auth.h 4 * 5 * Definitions for network authentication routines 6 * 7 * Portions Copyright (c) 1996-2021, PostgreSQL Global Development Group 8 * Portions Copyright (c) 1994, Regents of the University of California 9 * 10 * src/interfaces/libpq/fe-auth.h 11 * 12 *------------------------------------------------------------------------- 13 */ 14 #ifndef FE_AUTH_H 15 #define FE_AUTH_H 16 17 #include "libpq-fe.h" 18 #include "libpq-int.h" 19 20 21 /* Prototypes for functions in fe-auth.c */ 22 extern int pg_fe_sendauth(AuthRequest areq, int payloadlen, PGconn *conn); 23 extern char *pg_fe_getauthname(PQExpBuffer errorMessage); 24 25 /* Prototypes for functions in fe-auth-scram.c */ 26 extern void *pg_fe_scram_init(PGconn *conn, 27 const char *password, 28 const char *sasl_mechanism); 29 extern bool pg_fe_scram_channel_bound(void *opaq); 30 extern void pg_fe_scram_free(void *opaq); 31 extern void pg_fe_scram_exchange(void *opaq, char *input, int inputlen, 32 char **output, int *outputlen, 33 bool *done, bool *success); 34 extern char *pg_fe_scram_build_secret(const char *password); 35 36 #endif /* FE_AUTH_H */ 37