summaryrefslogtreecommitdiff
path: root/ecp/src/ecp/dir/dir.h
diff options
context:
space:
mode:
Diffstat (limited to 'ecp/src/ecp/dir/dir.h')
-rw-r--r--ecp/src/ecp/dir/dir.h26
1 files changed, 9 insertions, 17 deletions
diff --git a/ecp/src/ecp/dir/dir.h b/ecp/src/ecp/dir/dir.h
index e9f8e1e..b28f801 100644
--- a/ecp/src/ecp/dir/dir.h
+++ b/ecp/src/ecp/dir/dir.h
@@ -1,32 +1,24 @@
-#define ECP_MAX_DIR_ITEM 30
#define ECP_SIZE_DIR_ITEM 40
#define ECP_MTYPE_DIR_UPD 0x00
#define ECP_MTYPE_DIR_REQ 0x01
-#define ECP_MTYPE_DIR_REP 0x02
+#define ECP_MTYPE_DIR_ANN 0x02
+#define ECP_MTYPE_DIR_REP 0x03
+#define ECP_MTYPE_DIR_SHADOW 0x04
#define ECP_CTYPE_DIR (0x00 | ECP_CTYPE_FLAG_SYS)
+#define ECP_DIR_CAP_DIR 0x01
+#define ECP_DIR_CAP_VCONN 0x02
+
typedef struct ECPDirItem {
ECPNode node;
uint16_t capabilities;
} ECPDirItem;
-typedef struct ECPDirList {
- ECPDirItem item[ECP_MAX_DIR_ITEM];
- uint16_t count;
-} ECPDirList;
-
-ssize_t ecp_dir_parse(ECPDirList *list, unsigned char *buf, size_t buf_size);
-ssize_t ecp_dir_serialize(ECPDirList *list, unsigned char *buf, size_t buf_size);
-
-void ecp_dir_item_parse(ECPDirItem *item, unsigned char *buf);
-void ecp_dir_item_serialize(ECPDirItem *item, unsigned char *buf);
-
-ssize_t ecp_dir_handle(ECPConnection *conn, unsigned char *msg, size_t msg_size, ECP2Buffer *b);
+size_t ecp_dir_item_parse(ECPDirItem *item, unsigned char *buf);
+size_t ecp_dir_item_serialize(ECPDirItem *item, unsigned char *buf);
int ecp_dir_handle_open(ECPConnection *conn, ECP2Buffer *b);
-ssize_t ecp_dir_handle_msg(ECPConnection *conn, ecp_seq_t seq, unsigned char mtype, unsigned char *msg, size_t msg_size, ECP2Buffer *b);
-
ssize_t ecp_dir_send_req(ECPConnection *conn);
-int ecp_dir_get(ECPConnection *conn, ECPSocket *sock, ECPNode *node); \ No newline at end of file
+void ecp_dir_conn_init(ECPConnection *conn, ECPSocket *sock); \ No newline at end of file