1/* See LICENSE file for copyright and license details. */
2#ifndef ARUU_PASSWD_H
3#define ARUU_PASSWD_H
4
5#include <pwd.h>
6#include <sys/types.h>
7
8struct pwdb_entry {
9 char *name;
10 char *hash;
11 uid_t uid;
12 gid_t gid;
13};
14
15int pw_init(void);
16int pw_check(const struct passwd *pw, const char *pass);
17int pwdb_lookup(struct pwdb_entry *ent, const char *name);
18
19#define PW_SALT_MAX 64
20int pw_gensalt(char *salt, size_t salt_sz);
21int pw_gensalt_cipher(char *salt, size_t salt_sz, const char *prefix, size_t rand_len);
22int pwdb_update(const char *name, const char *newhash);
23
24#endif