1 typedef struct Mux Mux;
2 typedef struct Muxrpc Muxrpc;
3 typedef struct Muxqueue Muxqueue;
16 uint mintag; /* to be filled by client */
18 int (*send)(Mux*, void*);
20 int (*gettag)(Mux*, void*);
21 int (*settag)(Mux*, void*, uint);
22 void *aux; /* for private use by client */
25 QLock lk; /* must be first for muxinit */
41 void* muxrpc(Mux*, void*);
42 void muxthreads(Mux*);
45 int _muxsend(Mux*, void*);
47 void _muxsendproc(void*);
48 void _muxrecvproc(void*);
49 Muxqueue *_muxqalloc(void);
50 int _muxqsend(Muxqueue*, void*);
51 void *_muxqrecv(Muxqueue*);
52 void _muxqhangup(Muxqueue*);
53 void *_muxnbqrecv(Muxqueue*);