From f3b8bf7f4ee326d9de31947584c6e9dbbfa75ce6 Mon Sep 17 00:00:00 2001 From: rsc Date: Thu, 25 May 2006 06:25:28 +0000 Subject: new libacme --- include/acme.h | 76 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 include/acme.h (limited to 'include/acme.h') diff --git a/include/acme.h b/include/acme.h new file mode 100644 index 00000000..372a9095 --- /dev/null +++ b/include/acme.h @@ -0,0 +1,76 @@ +AUTOLIB(acme); + +typedef struct Event Event; +typedef struct Win Win; + +#define EVENTSIZE 256 +struct Event +{ + int c1; + int c2; + int oq0; + int oq1; + int q0; + int q1; + 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); -- cgit v1.2.3