summaryrefslogtreecommitdiffstats
path: root/contrib/syslinux-4.02/com32/cmenu/libmenu/passwords.h
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/syslinux-4.02/com32/cmenu/libmenu/passwords.h')
-rw-r--r--contrib/syslinux-4.02/com32/cmenu/libmenu/passwords.h27
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