diff options
author | rsc <devnull@localhost> | 2003-10-14 02:35:00 +0000 |
---|---|---|
committer | rsc <devnull@localhost> | 2003-10-14 02:35:00 +0000 |
commit | 3d7e9092a436b707f2160fb869ab68e2a222bc4e (patch) | |
tree | 1ef451afc85f7ecba3c8f97ad5222b7ccc515454 /include | |
parent | 169aba14a4766b3d15695ef27681d0f1d04f8521 (diff) | |
download | plan9port-3d7e9092a436b707f2160fb869ab68e2a222bc4e.tar.gz plan9port-3d7e9092a436b707f2160fb869ab68e2a222bc4e.tar.bz2 plan9port-3d7e9092a436b707f2160fb869ab68e2a222bc4e.zip |
Single-threaded plumber that can run "start" rules.
Thanks to Caerwyn Jones.
Diffstat (limited to 'include')
-rw-r--r-- | include/plumb.h | 48 |
1 files changed, 48 insertions, 0 deletions
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*); |