blob: ffbaea3b1698a17ce776d166d61c7c2f798811be [file] [log] [blame]
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);