Single-threaded plumber that can run "start" rules.
Thanks to Caerwyn Jones.
This commit is contained in:
parent
169aba14a4
commit
3d7e9092a4
8 changed files with 731 additions and 2 deletions
48
include/plumb.h
Normal file
48
include/plumb.h
Normal file
|
|
@ -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*);
|
||||
Loading…
Add table
Add a link
Reference in a new issue