summaryrefslogtreecommitdiffstats
path: root/src/auth/db-checkpassword.h
blob: 64eedd8a2f08c6431e732045c1c05c5b67b0bcde (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#ifndef CHECKPASSWORD_COMMON_H
#define CHECKPASSWORD_COMMON_H

#include "auth-request.h"

enum db_checkpassword_status {
	DB_CHECKPASSWORD_STATUS_INTERNAL_FAILURE = -1,
	/* auth unsuccessful / user not found */
	DB_CHECKPASSWORD_STATUS_FAILURE = 0,
	DB_CHECKPASSWORD_STATUS_OK = 1
};

typedef void db_checkpassword_callback_t(struct auth_request *request,
					 enum db_checkpassword_status status,
					 const char *const *extra_fields,
					 void (*request_callback)());

struct db_checkpassword *
db_checkpassword_init(const char *checkpassword_path,
		      const char *checkpassword_reply_path);
void db_checkpassword_deinit(struct db_checkpassword **db);

void db_checkpassword_call(struct db_checkpassword *db,
			   struct auth_request *request,
			   const char *auth_password,
			   db_checkpassword_callback_t *callback,
			   void (*request_callback)()) ATTR_NULL(3);

#endif