summaryrefslogtreecommitdiff
path: root/include/ouroboros/cacep.h
diff options
context:
space:
mode:
authorSander Vrijders <sander.vrijders@intec.ugent.be>2017-01-09 16:05:57 +0100
committerSander Vrijders <sander.vrijders@intec.ugent.be>2017-01-09 16:05:57 +0100
commit0b6a6d6445b5addcf38eb67a001b792456242481 (patch)
tree76cc7bae73b4fba0ab67417d78be9d3eeeca84df /include/ouroboros/cacep.h
parent0a071a42d4e80f54e92f34911cafda3d666d35d5 (diff)
downloadouroboros-0b6a6d6445b5addcf38eb67a001b792456242481.tar.gz
ouroboros-0b6a6d6445b5addcf38eb67a001b792456242481.zip
lib: Add Common Application Connection Establishment Phase
This adds CACEP to the library, which can be used for authenticating the other party after flow allocation and for obtaining other relevant information.
Diffstat (limited to 'include/ouroboros/cacep.h')
-rw-r--r--include/ouroboros/cacep.h47
1 files changed, 47 insertions, 0 deletions
diff --git a/include/ouroboros/cacep.h b/include/ouroboros/cacep.h
new file mode 100644
index 00000000..7b22b4a2
--- /dev/null
+++ b/include/ouroboros/cacep.h
@@ -0,0 +1,47 @@
+/*
+ * Ouroboros - Copyright (C) 2016 - 2017
+ *
+ * The Common Application Connection Establishment Phase
+ *
+ * Sander Vrijders <sander.vrijders@intec.ugent.be>
+ * Dimitri Staessens <dimitri.staessens@intec.ugent.be>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * version 2.1 as published by the Free Software Foundation.
+ *
+ * This library 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
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301 USA
+ */
+
+#ifndef OUROBOROS_CACEP_H
+#define OUROBOROS_CACEP_H
+
+#include <stdint.h>
+#include <unistd.h>
+
+struct cacep;
+
+struct cacep_info {
+ char * name;
+ uint64_t addr;
+};
+
+struct cacep * cacep_create(int fd,
+ char * name,
+ uint64_t address);
+
+int cacep_destroy(struct cacep * instance);
+
+struct cacep_info * cacep_auth(struct cacep * instance);
+
+struct cacep_info * cacep_auth_wait(struct cacep * instance);
+
+#endif /* OUROBOROS_CACEP_H */