diff options
Diffstat (limited to 'contrib/syslinux-4.02/com32/cmenu/libmenu/passwords.h')
-rw-r--r-- | contrib/syslinux-4.02/com32/cmenu/libmenu/passwords.h | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/contrib/syslinux-4.02/com32/cmenu/libmenu/passwords.h b/contrib/syslinux-4.02/com32/cmenu/libmenu/passwords.h new file mode 100644 index 0000000..2e0ec27 --- /dev/null +++ b/contrib/syslinux-4.02/com32/cmenu/libmenu/passwords.h @@ -0,0 +1,27 @@ +#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 |