123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- /*
- * This file is part of the UCB release of Plan 9. It is subject to the license
- * terms in the LICENSE file found in the top-level directory of this
- * distribution and at http://akaros.cs.berkeley.edu/files/Plan9License. No
- * part of the UCB release of Plan 9, including this file, may be copied,
- * modified, propagated, or distributed except according to the terms contained
- * in the LICENSE file.
- */
- /*
- * 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*);
- int plumbsendtext(int, char*, char*, char*,
- char*);
- 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*);
|