Plan 9 from Bell Labs’s /usr/web/sources/contrib/nemo/root/acme/msgs/src/dat.h

Copyright © 2021 Plan 9 Foundation.
Distributed under the MIT License.
Download the Plan 9 distribution.


typedef struct Event Event;
typedef struct Msgs Msgs;
typedef struct Window Window;

enum
{
	Stack		= 8192,

	EVENTSIZE	= 256,
	NEVENT		= 5,

	/* mailbox types */
	Mdir 		= 0,
	Mfile,
	
};

struct Msgs
{
	char*	path;
	char*	month;
	int	type;
	int	edited;
	int	warned;
	Window*	win;

	void	(*list)(Msgs*);
};

struct Event
{
	int	c1;
	int	c2;
	int	q0;
	int	q1;
	int	flag;
	int	nb;
	int	nr;
	char	b[EVENTSIZE*UTFmax+1];
	Rune	r[EVENTSIZE+1];
};

struct Window
{
	/* file descriptors */
	int	ctl;
	int	event;
	int	addr;
	int	data;
	Biobuf*	body;

	/* event input */
	char	buf[512];
	char*	bufp;
	int	nbuf;
	Event	e[NEVENT];

	int	id;
	int	open;
	Channel*cevent;
};


char*	cleanpath(char* file, char* dir);
void	ctlprint(int fd, char *fmt, ...);
void*	emalloc(uint n);
void*	erealloc(void *p, uint n);
void	error(char *fmt, ...);
char*	esmprint(char *fmt, ...);
char*	estrdup(char *s);
void	main(int, char**);
Window*	newwindow(void);
char*	readfile(char *file, int *np);
char*	tcmdoutput(char* cmd, long *noutp);
void	winclean(Window *w);
void	winclosebody(Window *w);
int	windel(Window *w, int sure);
void	windormant(Window *w);
void	wineventproc(void *v);
void	wingetevent(Window *w, Event *e);
void	winname(Window *w, char *s);
void	winopenbody(Window *w, int mode);
int	winopenfile(Window *w, char *f);
void	winread(Window *w, uint q0, uint q1, char *data);
char*	winreadbody(Window *w, int *np);
char*	winselection(Window *w);
int	winsetaddr(Window *w, char *addr, int errok);
void	wintagwrite(Window *w, char *s, int n);
void	winwritebody(Window *w, char *s, int n);
int	winwritedata(Window *w, char *addr, char *s, int n);
void	winwriteevent(Window *w, Event *e);

#pragma	varargck	argpos	error	1
#pragma	varargck	argpos	ctlprint	2
#pragma	varargck	argpos	esmprint	1


Bell Labs OSI certified Powered by Plan 9

(Return to Plan 9 Home Page)

Copyright © 2021 Plan 9 Foundation. All Rights Reserved.
Comments to webmaster@9p.io.