diff --git a/include/mux.h b/include/mux.h
new file mode 100644
index 0000000..c43ce79
--- /dev/null
+++ b/include/mux.h
@@ -0,0 +1,54 @@
+typedef struct Mux Mux;
+typedef struct Muxrpc Muxrpc;
+typedef struct Muxqueue Muxqueue;
+
+struct Muxrpc
+{
+	Muxrpc *next;
+	Muxrpc *prev;
+	Rendez r;
+	uint tag;
+	void *p;
+};
+
+struct Mux
+{
+	uint mintag;	/* to be filled by client */
+	uint maxtag;
+	int (*send)(Mux*, void*);
+	void *(*recv)(Mux*);
+	int (*gettag)(Mux*, void*);
+	int (*settag)(Mux*, void*, uint);
+	void *aux;	/* for private use by client */
+
+/* private */
+	QLock lk;
+	QLock inlk;
+	QLock outlk;
+	Rendez tagrend;
+	Rendez rpcfork;
+	Muxqueue *readq;
+	Muxqueue *writeq;
+	uint nwait;
+	uint mwait;
+	uint freetag;
+	Muxrpc **wait;
+	uint muxer;
+	Muxrpc sleep;
+};
+
+void	muxinit(Mux*);
+void*	muxrpc(Mux*, void*);
+void	muxthreads(Mux*);
+
+/* private */
+int	_muxsend(Mux*, void*);
+void*	_muxrecv(Mux*);
+void	_muxsendproc(void*);
+void	_muxrecvproc(void*);
+Muxqueue *_muxqalloc(void);
+int _muxqsend(Muxqueue*, void*);
+void *_muxqrecv(Muxqueue*);
+void _muxqhangup(Muxqueue*);
+void *_muxnbqrecv(Muxqueue*);
+
