aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/mux.h9
1 files changed, 5 insertions, 4 deletions
diff --git a/include/mux.h b/include/mux.h
index 53321fa5..e9890fc3 100644
--- a/include/mux.h
+++ b/include/mux.h
@@ -19,6 +19,7 @@ struct Muxrpc
uint tag;
void *p;
int waiting;
+ int async;
};
struct Mux
@@ -27,7 +28,7 @@ struct Mux
uint maxtag;
int (*send)(Mux*, void*);
void *(*recv)(Mux*);
- void *(*nbrecv)(Mux*);
+ int (*nbrecv)(Mux*, void**);
int (*gettag)(Mux*, void*);
int (*settag)(Mux*, void*, uint);
void *aux; /* for private use by client */
@@ -52,18 +53,18 @@ void muxinit(Mux*);
void* muxrpc(Mux*, void*);
void muxprocs(Mux*);
Muxrpc* muxrpcstart(Mux*, void*);
-void* muxrpccanfinish(Muxrpc*);
+int muxrpccanfinish(Muxrpc*, void**);
/* private */
int _muxsend(Mux*, void*);
-void* _muxrecv(Mux*, int);
+int _muxrecv(Mux*, int, void**);
void _muxsendproc(void*);
void _muxrecvproc(void*);
Muxqueue *_muxqalloc(void);
int _muxqsend(Muxqueue*, void*);
void *_muxqrecv(Muxqueue*);
void _muxqhangup(Muxqueue*);
-void *_muxnbqrecv(Muxqueue*);
+int _muxnbqrecv(Muxqueue*, void**);
#if defined(__cplusplus)
}