tplumb.h - plan9port - [fork] Plan 9 from user space | |
git clone git://src.adamsgaard.dk/plan9port | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
tplumb.h (1283B) | |
--- | |
1 #ifndef _LIBPLUMB_H_ | |
2 #define _LIBPLUMB_H_ 1 | |
3 #if defined(__cplusplus) | |
4 extern "C" { | |
5 #endif | |
6 | |
7 AUTOLIB(plumb) | |
8 /* | |
9 #pragma lib "libplumb.a" | |
10 #pragma src "/sys/src/libplumb" | |
11 */ | |
12 | |
13 /* | |
14 * Message format: | |
15 * source application\n | |
16 * destination port\n | |
17 * working directory\n | |
18 * type\n | |
19 * attributes\n | |
20 * nbytes\n | |
21 * n bytes of data | |
22 */ | |
23 | |
24 typedef struct Plumbattr Plumbattr; | |
25 typedef struct Plumbmsg Plumbmsg; | |
26 | |
27 struct Plumbmsg | |
28 { | |
29 char *src; | |
30 char *dst; | |
31 char *wdir; | |
32 char *type; | |
33 Plumbattr *attr; | |
34 int ndata; | |
35 char *data; | |
36 }; | |
37 | |
38 struct Plumbattr | |
39 { | |
40 char *name; | |
41 char *value; | |
42 Plumbattr *next; | |
43 }; | |
44 | |
45 int plumbsend(int, Plumbmsg*); | |
46 Plumbmsg* plumbrecv(int); | |
47 char* plumbpack(Plumbmsg*, int*); | |
48 Plumbmsg* plumbunpack(char*, int); | |
49 Plumbmsg* plumbunpackpartial(char*, int, int*); | |
50 char* plumbpackattr(Plumbattr*); | |
51 Plumbattr* plumbunpackattr(char*); | |
52 Plumbattr* plumbaddattr(Plumbattr*, Plumbattr*); | |
53 Plumbattr* plumbdelattr(Plumbattr*, char*); | |
54 void plumbfree(Plumbmsg*); | |
55 char* plumblookup(Plumbattr*, char*); | |
56 int plumbopen(char*, int); | |
57 int eplumb(int, char*); | |
58 int plumbunmount(void); | |
59 | |
60 #ifdef _9PCLIENT_H_ | |
61 CFid* plumbopenfid(char*, int); | |
62 Plumbmsg* plumbrecvfid(CFid*); | |
63 Plumbmsg* threadplumbrecvfid(CFid*); | |
64 int plumbsendtofid(CFid*, Plumbmsg*); | |
65 #endif | |
66 | |
67 #if defined(__cplusplus) | |
68 } | |
69 #endif | |
70 #endif |