xref: /plan9/acme/bin/source/adict/win.h (revision 9a747e4fd48b9f4522c70c07e8f882a15030f964)
1*9a747e4fSDavid du Colombier enum
2*9a747e4fSDavid du Colombier {
3*9a747e4fSDavid du Colombier 	False,
4*9a747e4fSDavid du Colombier 	True,
5*9a747e4fSDavid du Colombier 	EVENTSIZE=256,
6*9a747e4fSDavid du Colombier };
7*9a747e4fSDavid du Colombier 
8*9a747e4fSDavid du Colombier 
9*9a747e4fSDavid du Colombier typedef struct Event Event;
10*9a747e4fSDavid du Colombier struct Event
11*9a747e4fSDavid du Colombier {
12*9a747e4fSDavid du Colombier 	int	c1;
13*9a747e4fSDavid du Colombier 	int	c2;
14*9a747e4fSDavid du Colombier 	int	q0;
15*9a747e4fSDavid du Colombier 	int	q1;
16*9a747e4fSDavid du Colombier 	int	flag;
17*9a747e4fSDavid du Colombier 	int	nb;
18*9a747e4fSDavid du Colombier 	int	nr;
19*9a747e4fSDavid du Colombier 	char	b[EVENTSIZE*UTFmax+1];
20*9a747e4fSDavid du Colombier 	Rune	r[EVENTSIZE+1];
21*9a747e4fSDavid du Colombier };
22*9a747e4fSDavid du Colombier 
23*9a747e4fSDavid du Colombier 
24*9a747e4fSDavid du Colombier typedef struct Win Win;
25*9a747e4fSDavid du Colombier struct Win
26*9a747e4fSDavid du Colombier {
27*9a747e4fSDavid du Colombier 	int	winid;
28*9a747e4fSDavid du Colombier 	int	addr;
29*9a747e4fSDavid du Colombier 	Biobuf *body;
30*9a747e4fSDavid du Colombier 	int	ctl;
31*9a747e4fSDavid du Colombier 	int	data;
32*9a747e4fSDavid du Colombier 	int	event;
33*9a747e4fSDavid du Colombier 	char	buf[512];
34*9a747e4fSDavid du Colombier 	char	*bufp;
35*9a747e4fSDavid du Colombier 	int	nbuf;
36*9a747e4fSDavid du Colombier };
37*9a747e4fSDavid du Colombier 
38*9a747e4fSDavid du Colombier int     dead(Win*);
39*9a747e4fSDavid du Colombier void	wnew(Win*);
40*9a747e4fSDavid du Colombier void	wwritebody(Win*, char *s, int n);
41*9a747e4fSDavid du Colombier void	wread(Win*, uint, uint, char*);
42*9a747e4fSDavid du Colombier void	wclean(Win*);
43*9a747e4fSDavid du Colombier void	wname(Win*, char*);
44*9a747e4fSDavid du Colombier void	wdormant(Win*);
45*9a747e4fSDavid du Colombier void	wevent(Win*, Event*);
46*9a747e4fSDavid du Colombier void	wtagwrite(Win*, char*, int);
47*9a747e4fSDavid du Colombier void	wwriteevent(Win*, Event*);
48*9a747e4fSDavid du Colombier void	wslave(Win*, Channel*);	/* chan(Event) */
49*9a747e4fSDavid du Colombier void	wreplace(Win*, char*, char*, int);
50*9a747e4fSDavid du Colombier void	wselect(Win*, char*);
51*9a747e4fSDavid du Colombier int	wdel(Win*);
52*9a747e4fSDavid du Colombier int	wreadall(Win*, char**);
53*9a747e4fSDavid du Colombier 
54*9a747e4fSDavid du Colombier void	ctlwrite(Win*, char*);
55*9a747e4fSDavid du Colombier int	getec(Win*);
56*9a747e4fSDavid du Colombier int	geten(Win*);
57*9a747e4fSDavid du Colombier int	geter(Win*, char*, int*);
58*9a747e4fSDavid du Colombier int	openfile(Win*, char*);
59*9a747e4fSDavid du Colombier void	openbody(Win*, int);
60