]> git.lizzy.rs Git - plan9front.git/blob - sys/include/plumb.h
libFLAC/mkfile: update version and build with -DNDEBUG
[plan9front.git] / sys / include / plumb.h
1 #pragma lib     "libplumb.a"
2 #pragma src     "/sys/src/libplumb"
3
4 /*
5  * Message format:
6  *      source application\n
7  *      destination port\n
8  *      working directory\n
9  *      type\n
10  *      attributes\n
11  *      nbytes\n
12  *      n bytes of data
13  */
14
15 typedef struct Plumbattr Plumbattr;
16 typedef struct Plumbmsg Plumbmsg;
17
18 struct Plumbmsg
19 {
20         char            *src;
21         char            *dst;
22         char            *wdir;
23         char            *type;
24         Plumbattr       *attr;
25         int             ndata;
26         char            *data;
27 };
28
29 struct Plumbattr
30 {
31         char            *name;
32         char            *value;
33         Plumbattr       *next;
34 };
35
36 int                     plumbsend(int, Plumbmsg*);
37 int                     plumbsendtext(int, char*, char*, char*, char*);
38 Plumbmsg*       plumbrecv(int);
39 char*           plumbpack(Plumbmsg*, int*);
40 Plumbmsg*       plumbunpack(char*, int);
41 Plumbmsg*       plumbunpackpartial(char*, int, int*);
42 char*           plumbpackattr(Plumbattr*);
43 Plumbattr*      plumbunpackattr(char*);
44 Plumbattr*      plumbaddattr(Plumbattr*, Plumbattr*);
45 Plumbattr*      plumbdelattr(Plumbattr*, char*);
46 void                    plumbfree(Plumbmsg*);
47 char*           plumblookup(Plumbattr*, char*);
48 int                     plumbopen(char*, int);
49 int                     eplumb(int, char*);