Subversion Repositories planix.SVN

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 - 1
/* acme */
2
typedef struct Event Event;
3
typedef struct Window Window;
4
 
5
enum
6
{
7
	STACK		= 8192,
8
	EVENTSIZE	= 256,
9
	NEVENT		= 5,
10
};
11
 
12
struct Event
13
{
14
	int	c1;
15
	int	c2;
16
	int	q0;
17
	int	q1;
18
	int	flag;
19
	int	nb;
20
	int	nr;
21
	char	b[EVENTSIZE*UTFmax+1];
22
	Rune	r[EVENTSIZE+1];
23
};
24
 
25
struct Window
26
{
27
	/* file descriptors */
28
	int		ctl;
29
	int		event;
30
	int		addr;
31
	int		data;
32
	Biobuf	*body;
33
 
34
	/* event input */
35
	char		buf[512];
36
	char		*bufp;
37
	int		nbuf;
38
	Event	e[NEVENT];
39
 
40
	int		dirtied;
41
	int		id;
42
	int		open;
43
	Channel	*cevent;	/* chan(Event*) */
44
};
45
 
46
extern	Window*	newwindow(void);
47
extern	int		winopenfile(Window*, char*);
48
extern	void		winopenbody(Window*, int);
49
extern	void		winclosebody(Window*);
50
extern	void		wintagwrite(Window*, char*, int);
51
extern	void		winname(Window*, char*);
52
extern	void		winwriteevent(Window*, Event*);
53
extern	void		winread(Window*, uint, uint, char*);
54
extern	int		windel(Window*, int);
55
extern	void		wingetevent(Window*, Event*);
56
extern	void		wineventproc(void*);
57
extern	void		winwritebody(Window*, char*, int);
58
extern	void		winclean(Window*);
59
extern	int		winselect(Window*, char*, int);
60
extern	int		winsetaddr(Window*, char*, int);
61
extern	char*	winreadbody(Window*, int*);
62
extern	void		windormant(Window*);
63
extern	void		winsetdump(Window*, char*, char*);
64
 
65
extern	char*	readfile(char*, char*, int*);
66
extern	void		ctlprint(int, char*, ...);
67
extern	void*	emalloc(uint);
68
extern	char*	estrdup(char*);
69
extern	char*	estrstrdup(char*, char*);
70
extern	char*	estrstrstrdup(char*, char*, char*);
71
extern	char*	egrow(char*, char*, char*);
72
extern	char*	eappend(char*, char*, char*);
73
extern	void		error(char*, ...);
74
extern	int		tokenizec(char*, char**, int, char*);
75