acme.h (1658B)
1 typedef struct Event Event; 2 typedef struct Win Win; 3 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 }; 20 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; 34 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 }; 45 46 Win *newwin(void); 47 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); 73 74 void *erealloc(void*, uint); 75 void *emalloc(uint); 76 char *estrdup(char*); 77 char *evsmprint(char*, va_list); 78 79 int twait(int); 80 void twaitinit(void); 81 82 extern Win *windows;