summaryrefslogtreecommitdiff
path: root/ecp/server/acl.h
diff options
context:
space:
mode:
Diffstat (limited to 'ecp/server/acl.h')
-rw-r--r--ecp/server/acl.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/ecp/server/acl.h b/ecp/server/acl.h
new file mode 100644
index 0000000..5e3f83c
--- /dev/null
+++ b/ecp/server/acl.h
@@ -0,0 +1,21 @@
+#define ACL_MAX_KEY 50
+
+typedef struct ACLItem {
+ ecp_ecdh_public_t key[ACL_MAX_KEY];
+ unsigned short key_cnt;
+ struct ACLItem *next;
+} ACLItem;
+
+ACLItem *acl_create_item(void);
+void acl_destroy_item(ACLItem *acl_item);
+void acl_destroy_list(ACLItem *head);
+
+int acl_add_key(ECPDirItem *dir_item);
+int acl_inlist(ecp_ecdh_public_t *public);
+int acl_dir_inlist(ecp_ecdh_public_t *public);
+
+int acl_reset_ht(void);
+int acl_load_ht(void);
+
+int acl_load(void);
+int acl_init(void);