plan9port

[fork] Plan 9 from user space
git clone git://src.adamsgaard.dk/plan9port # fast
git clone https://src.adamsgaard.dk/plan9port.git # slow
Log | Files | Refs | README | LICENSE Back to index

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;