159cc4ca5SDavid du Colombier #pragma varargck argpos warning 2 259cc4ca5SDavid du Colombier 359cc4ca5SDavid du Colombier void warning(Mntdir*, char*, ...); 459cc4ca5SDavid du Colombier 559cc4ca5SDavid du Colombier #define fbufalloc() emalloc(BUFSIZE) 659cc4ca5SDavid du Colombier #define fbuffree(x) free(x) 759cc4ca5SDavid du Colombier 87dd7cddfSDavid du Colombier void plumblook(Plumbmsg*m); 97dd7cddfSDavid du Colombier void plumbshow(Plumbmsg*m); 107dd7cddfSDavid du Colombier void putsnarf(void); 117dd7cddfSDavid du Colombier void getsnarf(void); 127dd7cddfSDavid du Colombier int tempfile(void); 137dd7cddfSDavid du Colombier void scrlresize(void); 147dd7cddfSDavid du Colombier Font* getfont(int, int, char*); 157dd7cddfSDavid du Colombier char* getarg(Text*, int, int, Rune**, int*); 167dd7cddfSDavid du Colombier char* getbytearg(Text*, int, int, char**); 17219b2ee8SDavid du Colombier void new(Text*, Text*, Text*, int, int, Rune*, int); 1859cc4ca5SDavid du Colombier void undo(Text*, Text*, Text*, int, int, Rune*, int); 19671dfc47SDavid du Colombier char* getname(Text*, Text*, Rune*, int, int); 20219b2ee8SDavid du Colombier void scrsleep(uint); 21219b2ee8SDavid du Colombier void savemouse(Window*); 22*588d0145SDavid du Colombier int restoremouse(Window*); 237dd7cddfSDavid du Colombier void clearmouse(void); 2459cc4ca5SDavid du Colombier void allwindows(void(*)(Window*, void*), void*); 2559cc4ca5SDavid du Colombier uint loadfile(int, uint, int*, int(*)(void*, uint, Rune*, int), void*); 26*588d0145SDavid du Colombier void movetodel(Window*); 277dd7cddfSDavid du Colombier 284fec87e5SDavid du Colombier Window* errorwin(Mntdir*, int); 29673c3d8aSDavid du Colombier Window* errorwinforwin(Window*); 307dd7cddfSDavid du Colombier Runestr cleanrname(Runestr); 3159cc4ca5SDavid du Colombier void run(Window*, char*, Rune*, int, int, char*, char*, int); 327dd7cddfSDavid du Colombier void fsysclose(void); 33219b2ee8SDavid du Colombier void setcurtext(Text*, int); 34219b2ee8SDavid du Colombier int isfilec(Rune); 357dd7cddfSDavid du Colombier void rxinit(void); 367dd7cddfSDavid du Colombier int rxnull(void); 377dd7cddfSDavid du Colombier Runestr dirname(Text*, Rune*, int); 387dd7cddfSDavid du Colombier void error(char*); 397dd7cddfSDavid du Colombier void cvttorunes(char*, int, Rune*, int*, int*, int*); 40219b2ee8SDavid du Colombier void* tmalloc(uint); 417dd7cddfSDavid du Colombier void tfree(void); 427dd7cddfSDavid du Colombier void killprocs(void); 437dd7cddfSDavid du Colombier void killtasks(void); 44219b2ee8SDavid du Colombier int runeeq(Rune*, uint, Rune*, uint); 457dd7cddfSDavid du Colombier int ALEF_tid(void); 467dd7cddfSDavid du Colombier void iconinit(void); 47219b2ee8SDavid du Colombier Timer* timerstart(int); 48219b2ee8SDavid du Colombier void timerstop(Timer*); 497dd7cddfSDavid du Colombier void timercancel(Timer*); 507dd7cddfSDavid du Colombier void timerinit(void); 51219b2ee8SDavid du Colombier void cut(Text*, Text*, Text*, int, int, Rune*, int); 52219b2ee8SDavid du Colombier void paste(Text*, Text*, Text*, int, int, Rune*, int); 53219b2ee8SDavid du Colombier void get(Text*, Text*, Text*, int, int, Rune*, int); 54219b2ee8SDavid du Colombier void put(Text*, Text*, Text*, int, int, Rune*, int); 5559cc4ca5SDavid du Colombier void putfile(File*, int, int, Rune*, int); 56219b2ee8SDavid du Colombier void fontx(Text*, Text*, Text*, int, int, Rune*, int); 57219b2ee8SDavid du Colombier int isalnum(Rune); 58219b2ee8SDavid du Colombier void execute(Text*, uint, uint, int, Text*); 59219b2ee8SDavid du Colombier int search(Text*, Rune*, uint); 60219b2ee8SDavid du Colombier void look3(Text*, uint, uint, int); 6159cc4ca5SDavid du Colombier void editcmd(Text*, Rune*, uint); 62219b2ee8SDavid du Colombier uint min(uint, uint); 63219b2ee8SDavid du Colombier uint max(uint, uint); 64219b2ee8SDavid du Colombier Window* lookfile(Rune*, int); 65219b2ee8SDavid du Colombier Window* lookid(int, int); 667dd7cddfSDavid du Colombier char* runetobyte(Rune*, int); 677dd7cddfSDavid du Colombier Rune* bytetorune(char*, int*); 687dd7cddfSDavid du Colombier void fsysinit(void); 69219b2ee8SDavid du Colombier Mntdir* fsysmount(Rune*, int, Rune**, int); 703df12bc6SDavid du Colombier void fsysincid(Mntdir*); 71219b2ee8SDavid du Colombier void fsysdelid(Mntdir*); 727dd7cddfSDavid du Colombier Xfid* respond(Xfid*, Fcall*, char*); 73219b2ee8SDavid du Colombier int rxcompile(Rune*); 747dd7cddfSDavid du Colombier int rgetc(void*, uint); 757dd7cddfSDavid du Colombier int tgetc(void*, uint); 76219b2ee8SDavid du Colombier int isaddrc(int); 777dd7cddfSDavid du Colombier int isregexc(int); 787dd7cddfSDavid du Colombier void *emalloc(uint); 7959cc4ca5SDavid du Colombier void *erealloc(void*, uint); 8059cc4ca5SDavid du Colombier char *estrdup(char*); 8159cc4ca5SDavid du Colombier Range address(Mntdir*, Text*, Range, Range, void*, uint, uint, int (*)(void*, uint), int*, uint*); 8259cc4ca5SDavid du Colombier int rxexecute(Text*, Rune*, uint, uint, Rangeset*); 837dd7cddfSDavid du Colombier int rxbexecute(Text*, uint, Rangeset*); 84d9306527SDavid du Colombier Window* makenewwindow(Text *t); 85219b2ee8SDavid du Colombier int expand(Text*, uint, uint, Expand*); 867dd7cddfSDavid du Colombier Rune* skipbl(Rune*, int, int*); 877dd7cddfSDavid du Colombier Rune* findbl(Rune*, int, int*); 88e288d156SDavid du Colombier char* edittext(Window*, int, Rune*, int); 894fec87e5SDavid du Colombier void flushwarnings(void); 90219b2ee8SDavid du Colombier 917dd7cddfSDavid du Colombier #define runemalloc(a) (Rune*)emalloc((a)*sizeof(Rune)) 9259cc4ca5SDavid du Colombier #define runerealloc(a, b) (Rune*)erealloc((a), (b)*sizeof(Rune)) 93219b2ee8SDavid du Colombier #define runemove(a, b, c) memmove((a), (b), (c)*sizeof(Rune)) 94