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