3 #if defined(__cplusplus)
9 typedef struct Mux Mux;
10 typedef struct Muxrpc Muxrpc;
11 typedef struct Muxqueue Muxqueue;
26 uint mintag; /* to be filled by client */
28 int (*send)(Mux*, void*);
30 void *(*nbrecv)(Mux*);
31 int (*gettag)(Mux*, void*);
32 int (*settag)(Mux*, void*, uint);
33 void *aux; /* for private use by client */
36 QLock lk; /* must be first for muxinit */
52 void* muxrpc(Mux*, void*);
54 Muxrpc* muxrpcstart(Mux*, void*);
55 void* muxrpccanfinish(Muxrpc*);
58 int _muxsend(Mux*, void*);
59 void* _muxrecv(Mux*, int);
60 void _muxsendproc(void*);
61 void _muxrecvproc(void*);
62 Muxqueue *_muxqalloc(void);
63 int _muxqsend(Muxqueue*, void*);
64 void *_muxqrecv(Muxqueue*);
65 void _muxqhangup(Muxqueue*);
66 void *_muxnbqrecv(Muxqueue*);
68 #if defined(__cplusplus)