master xplshn/aruu / shared / passwd.h
 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