Blob


1 typedef struct Event Event;
2 typedef struct Win Win;
4 #define EVENTSIZE 256
5 struct Event
6 {
7 int c1;
8 int c2;
9 int oq0;
10 int oq1;
11 int q0;
12 int q1;
13 int flag;
14 int nb;
15 int nr;
16 char text[EVENTSIZE*UTFmax+1];
17 char arg[EVENTSIZE*UTFmax+1];
18 char loc[EVENTSIZE*UTFmax+1];
19 };
21 struct Win
22 {
23 int id;
24 CFid *ctl;
25 CFid *tag;
26 CFid *body;
27 CFid *addr;
28 CFid *event;
29 CFid *data;
30 CFid *xdata;
31 Channel *c; /* chan(Event) */
32 Win *next;
33 Win *prev;
35 /* events */
36 int nbuf;
37 char name[1024];
38 char buf[1024];
39 char *bufp;
40 jmp_buf jmp;
41 Event e2;
42 Event e3;
43 Event e4;
44 };
46 Win *newwin(void);
48 int eventfmt(Fmt*);
49 int pipewinto(Win *w, char *name, int, char *fmt, ...);
50 int pipetowin(Win *w, char *name, int, char *fmt, ...);
51 char *sysrun(int errto, char*, ...);
52 int winaddr(Win *w, char *fmt, ...);
53 int winctl(Win *w, char *fmt, ...);
54 int windel(Win *w, int sure);
55 int winfd(Win *w, char *name, int);
56 char *winmread(Win *w, char *file);
57 int winname(Win *w, char *fmt, ...);
58 int winprint(Win *w, char *name, char *fmt, ...);
59 int winread(Win *w, char *file, void *a, int n);
60 int winseek(Win *w, char *file, int n, int off);
61 int winreadaddr(Win *w, uint*);
62 int winreadevent(Win *w, Event *e);
63 int winwrite(Win *w, char *file, void *a, int n);
64 int winwriteevent(Win *w, Event *e);
65 int winopenfd(Win *w, char *name, int mode);
66 void windeleteall(void);
67 void winfree(Win *w);
68 void winclosefiles(Win *w);
69 Channel *wineventchan(Win *w);
70 char *winindex(void);
71 void mountacme(void);
72 char *wingetname(Win *w);
74 void *erealloc(void*, uint);
75 void *emalloc(uint);
76 char *estrdup(char*);
77 char *evsmprint(char*, va_list);
79 int twait(int);
80 void twaitinit(void);
82 extern Win *windows;