| AUTOLIB(acme) |
| |
| typedef struct Event Event; |
| typedef struct Win Win; |
| |
| #define EVENTSIZE 256 |
| struct Event |
| { |
| int c1; |
| int c2; |
| int q0; |
| int q1; |
| int oq0; |
| int oq1; |
| int flag; |
| int nb; |
| int nr; |
| char text[EVENTSIZE*UTFmax+1]; |
| char arg[EVENTSIZE*UTFmax+1]; |
| char loc[EVENTSIZE*UTFmax+1]; |
| }; |
| |
| struct Win |
| { |
| int id; |
| CFid *ctl; |
| CFid *tag; |
| CFid *body; |
| CFid *addr; |
| CFid *event; |
| CFid *data; |
| CFid *xdata; |
| Channel *c; /* chan(Event) */ |
| Win *next; |
| Win *prev; |
| |
| /* events */ |
| int nbuf; |
| char buf[1024]; |
| char *bufp; |
| jmp_buf jmp; |
| Event e2; |
| Event e3; |
| Event e4; |
| }; |
| |
| Win *newwin(void); |
| Win *openwin(int, CFid*); |
| |
| int eventfmt(Fmt*); |
| int pipewinto(Win *w, char *name, int, char *fmt, ...); |
| int pipetowin(Win *w, char *name, int, char *fmt, ...); |
| char *sysrun(char*, ...); |
| int winaddr(Win *w, char *fmt, ...); |
| int winctl(Win *w, char *fmt, ...); |
| int windel(Win *w, int sure); |
| int winfd(Win *w, char *name, int); |
| char *winmread(Win *w, char *file); |
| int winname(Win *w, char *fmt, ...); |
| int winprint(Win *w, char *name, char *fmt, ...); |
| int winread(Win *w, char *file, void *a, int n); |
| int winseek(Win *w, char *file, int n, int off); |
| int winreadaddr(Win *w, uint*); |
| int winreadevent(Win *w, Event *e); |
| int winwrite(Win *w, char *file, void *a, int n); |
| int winwriteevent(Win *w, Event *e); |
| int winopenfd(Win *w, char *name, int mode); |
| void windeleteall(void); |
| void winfree(Win *w); |
| void winclosefiles(Win *w); |
| Channel *wineventchan(Win *w); |
| |
| void *erealloc(void*, uint); |
| void *emalloc(uint); |
| char *estrdup(char*); |
| char *evsmprint(char*, va_list); |