db-checkpassword.h revision 1294c06fcf841b62b0e40de3388354107c7fc012
7cb128dc4cae2a03a742f63ba7afee23c78e3af0Phil Carmody#ifndef CHECKPASSWORD_COMMON_H
9cf4bb70f014849735aab4226691edcdf56b3271Timo Sirainen#define CHECKPASSWORD_COMMON_H
9cf4bb70f014849735aab4226691edcdf56b3271Timo Sirainen
9cf4bb70f014849735aab4226691edcdf56b3271Timo Sirainen#include "auth-request.h"
e09c7dc961cb9cab04ec7cc79215c2f6318fbde0Timo Sirainen
636f017be100bce67d66fd3ae1544a47681efd33Timo Sirainenenum db_checkpassword_status {
e09c7dc961cb9cab04ec7cc79215c2f6318fbde0Timo Sirainen DB_CHECKPASSWORD_STATUS_INTERNAL_FAILURE = -1,
9cf4bb70f014849735aab4226691edcdf56b3271Timo Sirainen /* auth unsuccessful / user not found */
9cf4bb70f014849735aab4226691edcdf56b3271Timo Sirainen DB_CHECKPASSWORD_STATUS_FAILURE = 0,
9cf4bb70f014849735aab4226691edcdf56b3271Timo Sirainen DB_CHECKPASSWORD_STATUS_OK = 1
7ed711d973b319320da100d3e905ef7b99ed69d6Timo Sirainen};
5fbccc935e3f7b916aa7c6e302a212821072e83aTimo Sirainen
9cf4bb70f014849735aab4226691edcdf56b3271Timo Sirainentypedef void db_checkpassword_callback_t(struct auth_request *request,
9cf4bb70f014849735aab4226691edcdf56b3271Timo Sirainen enum db_checkpassword_status status,
9cf4bb70f014849735aab4226691edcdf56b3271Timo Sirainen const char *const *extra_fields,
9cf4bb70f014849735aab4226691edcdf56b3271Timo Sirainen void *context);
e09c7dc961cb9cab04ec7cc79215c2f6318fbde0Timo Sirainen
9cf4bb70f014849735aab4226691edcdf56b3271Timo Sirainenstruct db_checkpassword *
4ca6f6e2ae7be7c5f04ea5ef176a7c4a47ea3d33Timo Sirainendb_checkpassword_init(const char *checkpassword_path,
e09c7dc961cb9cab04ec7cc79215c2f6318fbde0Timo Sirainen const char *checkpassword_reply_path);
e09c7dc961cb9cab04ec7cc79215c2f6318fbde0Timo Sirainenvoid db_checkpassword_deinit(struct db_checkpassword **db);
e09c7dc961cb9cab04ec7cc79215c2f6318fbde0Timo Sirainen
e09c7dc961cb9cab04ec7cc79215c2f6318fbde0Timo Sirainenvoid db_checkpassword_call(struct db_checkpassword *db,
9cf4bb70f014849735aab4226691edcdf56b3271Timo Sirainen struct auth_request *request,
9cf4bb70f014849735aab4226691edcdf56b3271Timo Sirainen const char *auth_password,
9cf4bb70f014849735aab4226691edcdf56b3271Timo Sirainen db_checkpassword_callback_t *callback,
bada94029be451d716948d6e03a4fc329447486aTimo Sirainen void *context);
bada94029be451d716948d6e03a4fc329447486aTimo Sirainen
bada94029be451d716948d6e03a4fc329447486aTimo Sirainen#endif
bada94029be451d716948d6e03a4fc329447486aTimo Sirainen