From 3d7e9092a436b707f2160fb869ab68e2a222bc4e Mon Sep 17 00:00:00 2001 From: rsc Date: Tue, 14 Oct 2003 02:35:00 +0000 Subject: Single-threaded plumber that can run "start" rules. Thanks to Caerwyn Jones. --- include/plumb.h | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 include/plumb.h (limited to 'include/plumb.h') diff --git a/include/plumb.h b/include/plumb.h new file mode 100644 index 00000000..abc56d08 --- /dev/null +++ b/include/plumb.h @@ -0,0 +1,48 @@ +#pragma lib "libplumb.a" +#pragma src "/sys/src/libplumb" + +/* + * Message format: + * source application\n + * destination port\n + * working directory\n + * type\n + * attributes\n + * nbytes\n + * n bytes of data + */ + +typedef struct Plumbattr Plumbattr; +typedef struct Plumbmsg Plumbmsg; + +struct Plumbmsg +{ + char *src; + char *dst; + char *wdir; + char *type; + Plumbattr *attr; + int ndata; + char *data; +}; + +struct Plumbattr +{ + char *name; + char *value; + Plumbattr *next; +}; + +int plumbsend(int, Plumbmsg*); +Plumbmsg* plumbrecv(int); +char* plumbpack(Plumbmsg*, int*); +Plumbmsg* plumbunpack(char*, int); +Plumbmsg* plumbunpackpartial(char*, int, int*); +char* plumbpackattr(Plumbattr*); +Plumbattr* plumbunpackattr(char*); +Plumbattr* plumbaddattr(Plumbattr*, Plumbattr*); +Plumbattr* plumbdelattr(Plumbattr*, char*); +void plumbfree(Plumbmsg*); +char* plumblookup(Plumbattr*, char*); +int plumbopen(char*, int); +int eplumb(int, char*); -- cgit v1.2.3