Blame


1 f7012583 2003-11-25 devnull #ifndef _LIBPLUMB_H_
2 f7012583 2003-11-25 devnull #define _LIBPLUMB_H_ 1
3 f7012583 2003-11-25 devnull #if defined(__cplusplus)
4 f7012583 2003-11-25 devnull extern "C" {
5 f7012583 2003-11-25 devnull #endif
6 97a5e5f2 2003-11-23 devnull /*
7 3d7e9092 2003-10-14 devnull #pragma lib "libplumb.a"
8 3d7e9092 2003-10-14 devnull #pragma src "/sys/src/libplumb"
9 97a5e5f2 2003-11-23 devnull */
10 3d7e9092 2003-10-14 devnull
11 3d7e9092 2003-10-14 devnull /*
12 3d7e9092 2003-10-14 devnull * Message format:
13 3d7e9092 2003-10-14 devnull * source application\n
14 3d7e9092 2003-10-14 devnull * destination port\n
15 3d7e9092 2003-10-14 devnull * working directory\n
16 3d7e9092 2003-10-14 devnull * type\n
17 3d7e9092 2003-10-14 devnull * attributes\n
18 3d7e9092 2003-10-14 devnull * nbytes\n
19 3d7e9092 2003-10-14 devnull * n bytes of data
20 3d7e9092 2003-10-14 devnull */
21 3d7e9092 2003-10-14 devnull
22 3d7e9092 2003-10-14 devnull typedef struct Plumbattr Plumbattr;
23 3d7e9092 2003-10-14 devnull typedef struct Plumbmsg Plumbmsg;
24 3d7e9092 2003-10-14 devnull
25 3d7e9092 2003-10-14 devnull struct Plumbmsg
26 3d7e9092 2003-10-14 devnull {
27 3d7e9092 2003-10-14 devnull char *src;
28 3d7e9092 2003-10-14 devnull char *dst;
29 3d7e9092 2003-10-14 devnull char *wdir;
30 3d7e9092 2003-10-14 devnull char *type;
31 3d7e9092 2003-10-14 devnull Plumbattr *attr;
32 3d7e9092 2003-10-14 devnull int ndata;
33 3d7e9092 2003-10-14 devnull char *data;
34 3d7e9092 2003-10-14 devnull };
35 3d7e9092 2003-10-14 devnull
36 3d7e9092 2003-10-14 devnull struct Plumbattr
37 3d7e9092 2003-10-14 devnull {
38 3d7e9092 2003-10-14 devnull char *name;
39 3d7e9092 2003-10-14 devnull char *value;
40 3d7e9092 2003-10-14 devnull Plumbattr *next;
41 3d7e9092 2003-10-14 devnull };
42 3d7e9092 2003-10-14 devnull
43 3d7e9092 2003-10-14 devnull int plumbsend(int, Plumbmsg*);
44 3d7e9092 2003-10-14 devnull Plumbmsg* plumbrecv(int);
45 91c13e54 2004-02-29 devnull Plumbmsg* threadplumbrecv(int);
46 3d7e9092 2003-10-14 devnull char* plumbpack(Plumbmsg*, int*);
47 3d7e9092 2003-10-14 devnull Plumbmsg* plumbunpack(char*, int);
48 3d7e9092 2003-10-14 devnull Plumbmsg* plumbunpackpartial(char*, int, int*);
49 3d7e9092 2003-10-14 devnull char* plumbpackattr(Plumbattr*);
50 3d7e9092 2003-10-14 devnull Plumbattr* plumbunpackattr(char*);
51 3d7e9092 2003-10-14 devnull Plumbattr* plumbaddattr(Plumbattr*, Plumbattr*);
52 3d7e9092 2003-10-14 devnull Plumbattr* plumbdelattr(Plumbattr*, char*);
53 3d7e9092 2003-10-14 devnull void plumbfree(Plumbmsg*);
54 3d7e9092 2003-10-14 devnull char* plumblookup(Plumbattr*, char*);
55 3d7e9092 2003-10-14 devnull int plumbopen(char*, int);
56 3d7e9092 2003-10-14 devnull int eplumb(int, char*);
57 f7012583 2003-11-25 devnull
58 eacbfb24 2004-03-15 devnull #ifdef _FS_H_
59 eacbfb24 2004-03-15 devnull Fid* plumbopenfid(char*, int);
60 eacbfb24 2004-03-15 devnull Plumbmsg* plumbrecvfid(Fid*);
61 eacbfb24 2004-03-15 devnull Plumbmsg* threadplumbrecvfid(Fid*);
62 eacbfb24 2004-03-15 devnull int plumbsendtofid(Fid*, Plumbmsg*);
63 eacbfb24 2004-03-15 devnull #endif
64 eacbfb24 2004-03-15 devnull
65 f7012583 2003-11-25 devnull #if defined(__cplusplus)
66 f7012583 2003-11-25 devnull }
67 f7012583 2003-11-25 devnull #endif
68 f7012583 2003-11-25 devnull #endif