1 /*-------------------------------------------------------------------------
2  *
3  * fe-auth.h
4  *
5  *	  Definitions for network authentication routines
6  *
7  * Portions Copyright (c) 1996-2019, 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 void pg_fe_scram_free(void *opaq);
30 extern void pg_fe_scram_exchange(void *opaq, char *input, int inputlen,
31 								 char **output, int *outputlen,
32 								 bool *done, bool *success);
33 extern char *pg_fe_scram_build_verifier(const char *password);
34 
35 #endif							/* FE_AUTH_H */
36