58 lines · 1.4 KB · C
RawDownload
/*  * 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. */ #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*);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*);