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 */
22extern int pg_fe_sendauth(AuthRequest areq, int payloadlen, PGconn *conn);
23extern char *pg_fe_getauthname(PQExpBuffer errorMessage);
24
25/* Prototypes for functions in fe-auth-scram.c */
26extern void *pg_fe_scram_init(PGconn *conn,
27 const char *password,
28 const char *sasl_mechanism);
29extern void pg_fe_scram_free(void *opaq);
30extern void pg_fe_scram_exchange(void *opaq, char *input, int inputlen,
31 char **output, int *outputlen,
32 bool *done, bool *success);
33extern char *pg_fe_scram_build_verifier(const char *password);
34
35#endif /* FE_AUTH_H */
36