Addr address(Rune*, String*); int alnum(int); void control(void); char* cstr(Rune*, long); Page* curpage(void); void cut(Text*, int); void doubleclick(Text*, ulong); void* emalloc(ulong); Rune* endslash(Rune*); void* erealloc(void*, ulong); void error(char*); void err(char*, ...); void errs(uchar*); void execute(Text*, ulong, ulong); Page* findopen(Rune*, int); ulong gettime(void); void highlight(Text*); void io(void); long max(long, long); long min(long, long); Page* newpage(Page*, Page*); Proc* newproc(void (*)(void), void*); void newsel(Text*); Page* pageadd(Page*, int); void pagedraw(Page*, Rectangle, int); Page* pagelookup(int); void pagetop(Page*, Point, int); Page* pagesplit(Page*, int); void paste(Text*); void pick(Frame*, Mouse*, int); void pick2(Frame*, Mouse*, int, ulong*, ulong*); void puttag(Page*, char*, ulong); long rstrlen(Rune*); Rune* rstrchr(Rune*, Rune); int rstrncmp(Rune*, Rune*, int); void run(Proc*); void sched(void); void scrdraw(Text*); void scroll(Text*, int); void scrorigin(Text*, int, long); void setoutline(Text*, int); void show(Text*, ulong); void snarf(Text*); void Strinsert(String*, Rune*, int, ulong); void Strdelete(String*, ulong, ulong); void textdraw(Text*); void textinsert(Text*, Rune*, ulong, int, int); void textureinit(void); Rune* tmprstr(char*); void type(int); void unputtag(Page*, char*); Page* whichpage(Page*, int); void xtrn(int, char*[], Page*, Text*); void xtrndelete(Client*); void xtrnwrite(Client*, int, uchar*, int);