summaryrefslogtreecommitdiff
path: root/src/ipcpd/common/enroll.h
diff options
context:
space:
mode:
authorDimitri Staessens <[email protected]>2021-03-26 20:47:25 +0100
committerSander Vrijders <[email protected]>2021-03-28 12:46:32 +0200
commit809e4d1957daa701a3390b0526b125cc263bfe26 (patch)
tree207564cc3fd5d3218624cfa114a92fd9b152fd37 /src/ipcpd/common/enroll.h
parent994465e34a732db3bce542ee021674473f32d572 (diff)
downloadouroboros-809e4d1957daa701a3390b0526b125cc263bfe26.tar.gz
ouroboros-809e4d1957daa701a3390b0526b125cc263bfe26.zip
build: Move connmgr and enrolment to common ground
The connection manager and enrolment components of the unicast and broadcast IPCP have a lot in common, as conjectured in the paper. The initial implementation of the broadcast IPCP just duplicated the code. This moves the shared functionality to common ground. Signed-off-by: Dimitri Staessens <[email protected]> Signed-off-by: Sander Vrijders <[email protected]>
Diffstat (limited to 'src/ipcpd/common/enroll.h')
-rw-r--r--src/ipcpd/common/enroll.h47
1 files changed, 47 insertions, 0 deletions
diff --git a/src/ipcpd/common/enroll.h b/src/ipcpd/common/enroll.h
new file mode 100644
index 00000000..fb866416
--- /dev/null
+++ b/src/ipcpd/common/enroll.h
@@ -0,0 +1,47 @@
+/*
+ * Ouroboros - Copyright (C) 2016 - 2021
+ *
+ * Enrollment Task
+ *
+ * Dimitri Staessens <[email protected]>
+ * Sander Vrijders <[email protected]>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., http://www.fsf.org/about/contact/.
+ */
+
+#ifndef OUROBOROS_IPCPD_COMMON_ENROLL_H
+#define OUROBOROS_IPCPD_COMMON_ENROLL_H
+
+#include <ouroboros/ipcp.h>
+
+#include "comp.h"
+
+int enroll_init(void);
+
+void enroll_fini(void);
+
+int enroll_start(void);
+
+void enroll_stop(void);
+
+void enroll_bootstrap(const struct ipcp_config * conf);
+
+int enroll_boot(struct conn * conn);
+
+int enroll_done(struct conn * conn,
+ int result);
+
+struct ipcp_config * enroll_get_conf(void);
+
+#endif /* OUROBOROS_IPCPD_COMMON_ENROLL_H */