summaryrefslogtreecommitdiff
path: root/include/ouroboros/cacep.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/ouroboros/cacep.h')
-rw-r--r--include/ouroboros/cacep.h29
1 files changed, 20 insertions, 9 deletions
diff --git a/include/ouroboros/cacep.h b/include/ouroboros/cacep.h
index ae615e6e..e0737c47 100644
--- a/include/ouroboros/cacep.h
+++ b/include/ouroboros/cacep.h
@@ -24,24 +24,35 @@
#ifndef OUROBOROS_CACEP_H
#define OUROBOROS_CACEP_H
-#include <stdint.h>
-#include <unistd.h>
+#include <ouroboros/irm_config.h>
-struct cacep;
+enum proto_concrete_syntax {
+ PROTO_GPB = 0,
+ PROTO_ASN_1,
+ PROTO_FIXED
+};
struct cacep_info {
+ struct {
+ char * protocol;
+ uint32_t pref_version;
+ enum proto_concrete_syntax pref_syntax;
+ } proto;
char * name;
uint64_t addr;
+ void * data;
};
-struct cacep * cacep_create(int fd,
- const char * name,
- uint64_t address);
+int cacep_info_init(struct cacep_info * info);
-int cacep_destroy(struct cacep * instance);
+void cacep_info_fini(struct cacep_info * info);
-struct cacep_info * cacep_auth(struct cacep * instance);
+struct cacep_info * cacep_auth(int fd,
+ enum pol_cacep pc,
+ const struct cacep_info * info);
-struct cacep_info * cacep_auth_wait(struct cacep * instance);
+struct cacep_info * cacep_auth_wait(int fd,
+ enum pol_cacep pc,
+ const struct cacep_info * info);
#endif /* OUROBOROS_CACEP_H */