summaryrefslogtreecommitdiff
path: root/ecp/src/ecp/vconn/vconn.h
diff options
context:
space:
mode:
Diffstat (limited to 'ecp/src/ecp/vconn/vconn.h')
-rw-r--r--ecp/src/ecp/vconn/vconn.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/ecp/src/ecp/vconn/vconn.h b/ecp/src/ecp/vconn/vconn.h
new file mode 100644
index 0000000..73d9fd6
--- /dev/null
+++ b/ecp/src/ecp/vconn/vconn.h
@@ -0,0 +1,22 @@
+#define ECP_CTYPE_VCONN 1
+#define ECP_CTYPE_VLINK 2
+
+#define ECP_MTYPE_RELAY 0x08
+#define ECP_MTYPE_EXEC 0x09
+
+typedef struct ECPVConnOut {
+ ECPConnection b;
+ ECPConnection *next;
+} ECPVConnOut;
+
+typedef struct ECPVConnIn {
+ ECPConnection b;
+ unsigned char key_next[ECP_MAX_NODE_KEY][ECP_ECDH_SIZE_KEY];
+ unsigned char key_next_curr;
+ unsigned char key_out[ECP_ECDH_SIZE_KEY];
+} ECPVConnIn;
+
+ssize_t ecp_vconn_handle_exec(ECPConnection *conn, ecp_seq_t seq, unsigned char mtype, unsigned char *msg, ssize_t size, ECP2Buffer *b);
+int ecp_vconn_ctx_init(ECPContext *ctx);
+int ecp_vconn_create_parent(ECPConnection *conn, ECPNode *conn_node, ECPVConnOut vconn[], ECPNode vconn_node[], int size);
+int ecp_vconn_open(ECPConnection *conn, ECPNode *conn_node, ECPVConnOut vconn[], ECPNode vconn_node[], int size);