int whide(Window*); int wunhide(Window*); void freescrtemps(void); int parsewctl(char**, Rectangle, Rectangle*, int*, int*, int*, int*, char**, char*, char*); int writewctl(Xfid*, char*); Window *new(Image*, int, int, int, char*, char*, char**); void riosetcursor(Cursor*); int min(int, int); int max(int, int); Rune* strrune(Rune*, Rune); int isalnum(Rune); void timerstop(Timer*); void timercancel(Timer*); Timer* timerstart(int); void error(char*); void killprocs(void); int shutdown(void*, char*); void iconinit(char*); void *erealloc(void*, uint); void *emalloc(uint); char *estrdup(char*); void button3menu(void); void button2menu(Window*); void cvttorunes(char*, int, Rune*, int*, int*, int*); /* was (byte*,int) runetobyte(Rune*, int); */ char* runetobyte(Rune*, int, int*); void putsnarf(void); void getsnarf(void); void timerinit(void); int goodrect(Rectangle); int inborder(Rectangle, Point); #define runemalloc(n) malloc((n)*sizeof(Rune)) #define runerealloc(a, n) realloc(a, (n)*sizeof(Rune)) #define runemove(a, b, n) memmove(a, b, (n)*sizeof(Rune))