#ifndef LIBPW_PW_H #define LIBPW_PW_H #include #include #include typedef struct pw_context pw_context; typedef enum pw_status { PW_OK, PW_SQLITE_ERROR, PW_CRYPT_ERROR, PW_NO_MEM, PW_NO_USER, PW_BAD_PASS, PW_BAD_TOKEN } pw_status; pw_status pw_init_context(sqlite3 *db, pw_context **ctx); pw_status pw_set(pw_context *, char *user, char *pass); pw_status pw_check(pw_context *, char *user, char *pass); pw_status pw_reset_with_token( pw_context *, char *user, char *newpass, char *token ); pw_status pw_token_create( pw_context *ctx, char *user, unsigned char **token, unsigned int *token_len ); pw_status pw_token_redeem(pw_context *, char *token); pw_status pw_token_revoke(pw_context *, char *token); #endif