db-checkpassword.h revision b3c3d6f46f165cee9f9e80145b9ab5f636a81ba7
51ead2f4c04ee85615d23c453924633b9ed8a4c2Timo Sirainen#ifndef CHECKPASSWORD_COMMON_H
51ead2f4c04ee85615d23c453924633b9ed8a4c2Timo Sirainen#define CHECKPASSWORD_COMMON_H
51ead2f4c04ee85615d23c453924633b9ed8a4c2Timo Sirainen
51ead2f4c04ee85615d23c453924633b9ed8a4c2Timo Sirainen#include "auth-request.h"
51ead2f4c04ee85615d23c453924633b9ed8a4c2Timo Sirainen
b3c3d6f46f165cee9f9e80145b9ab5f636a81ba7Timo Sirainenenum db_checkpassword_status {
b3c3d6f46f165cee9f9e80145b9ab5f636a81ba7Timo Sirainen DB_CHECKPASSWORD_STATUS_INTERNAL_FAILURE = -1,
b3c3d6f46f165cee9f9e80145b9ab5f636a81ba7Timo Sirainen /* auth unsuccessful / user not found */
b3c3d6f46f165cee9f9e80145b9ab5f636a81ba7Timo Sirainen DB_CHECKPASSWORD_STATUS_FAILURE = 0,
b3c3d6f46f165cee9f9e80145b9ab5f636a81ba7Timo Sirainen DB_CHECKPASSWORD_STATUS_OK = 1
51ead2f4c04ee85615d23c453924633b9ed8a4c2Timo Sirainen};
51ead2f4c04ee85615d23c453924633b9ed8a4c2Timo Sirainen
b3c3d6f46f165cee9f9e80145b9ab5f636a81ba7Timo Sirainentypedef void db_checkpassword_callback_t(struct auth_request *request,
b3c3d6f46f165cee9f9e80145b9ab5f636a81ba7Timo Sirainen enum db_checkpassword_status status,
b3c3d6f46f165cee9f9e80145b9ab5f636a81ba7Timo Sirainen void *context);
51ead2f4c04ee85615d23c453924633b9ed8a4c2Timo Sirainen
b3c3d6f46f165cee9f9e80145b9ab5f636a81ba7Timo Sirainenstruct db_checkpassword *
b3c3d6f46f165cee9f9e80145b9ab5f636a81ba7Timo Sirainendb_checkpassword_init(const char *checkpassword_path,
51821162b1df9a8a9398b8b64ceca410b9cc3092Timo Sirainen const char *checkpassword_reply_path);
b3c3d6f46f165cee9f9e80145b9ab5f636a81ba7Timo Sirainenvoid db_checkpassword_deinit(struct db_checkpassword **db);
51821162b1df9a8a9398b8b64ceca410b9cc3092Timo Sirainen
b3c3d6f46f165cee9f9e80145b9ab5f636a81ba7Timo Sirainenvoid db_checkpassword_call(struct db_checkpassword *db,
b3c3d6f46f165cee9f9e80145b9ab5f636a81ba7Timo Sirainen struct auth_request *request,
b3c3d6f46f165cee9f9e80145b9ab5f636a81ba7Timo Sirainen const char *auth_password,
b3c3d6f46f165cee9f9e80145b9ab5f636a81ba7Timo Sirainen db_checkpassword_callback_t *callback,
b3c3d6f46f165cee9f9e80145b9ab5f636a81ba7Timo Sirainen void *context);
51ead2f4c04ee85615d23c453924633b9ed8a4c2Timo Sirainen
51ead2f4c04ee85615d23c453924633b9ed8a4c2Timo Sirainen#endif