]> git.lizzy.rs Git - dragonnet.git/blobdiff - recv.h
Refactor type hooks
[dragonnet.git] / recv.h
diff --git a/recv.h b/recv.h
index 61ddc8688a0e5048782f244afdd1865adbc65994..b0938d9b52df78f5e838111589a3ce8f4750d3a1 100644 (file)
--- a/recv.h
+++ b/recv.h
@@ -3,6 +3,15 @@
 
 #include <dragonnet/peer.h>
 
-void recv_raw(DragonnetPeer *p, const void *buf, size_t n);
+typedef struct {
+       size_t siz;
+       void (*deserialize)(DragonnetPeer *, void *);
+} DragonnetType;
+
+extern u16 dragonnet_num_types;
+extern DragonnetType dragonnet_types[];
+
+void dragonnet_recv_raw(DragonnetPeer *p, void *buf, size_t n);
+void dragonnet_read_raw(u8 **buf, size_t *n, void *data, size_t len);
 
 #endif