#ifndef _PASSWORDS_H_ #define _PASSWORDS_H_ char authenticate_user(const char *username, const char *pwd); char isallowed(const char *username, const char *perm); // Initialise the list of of user passwords permissions from file void init_passwords(const char *filename); // Free all space used for internal data structures void close_passwords(void); #define MAX_USERS 128 // Maximum number of users #define USERNAME_LENGTH 12 // Max length of user name #define PWDHASH_LENGTH 40 // Max lenght of pwd hash typedef struct { char username[USERNAME_LENGTH + 1]; char pwdhash[PWDHASH_LENGTH + 1]; char *perms; // pointer to string containing ":" delimited permissions } pwdentry; typedef pwdentry *p_pwdentry; #define GUEST_USER "guest" #endif