void die(char*, ...); void sinit(Str*, char*, int); void sclear(Str*); void sputr(Str*, Rune); void spopr(Str*); void sappend(Str*, Str*); int scmp(Str*, Str*); int stoutf(Str*, char*, int); Rune slastr(Str*); Hmap* hmapalloc(int); void hmapfree(Hmap*); void hmapset(Hmap**, Str*, const char*, int); Hnode* hmapget(Hmap*, Str*); int mapget(Trie*, Str*, Str*); Trie* trieopen(char*); void trieclose(Trie*); char* trieget(Trie*, char*, int, int*); int trielookup(Trie*, char*, int, char**, int*); Lang* getlang(int); void mapinit(char*); void dictinit(char*); void dictthread(void*); void dictlookup(Dictreq*, Dictres*); void drawthread(void*); void popupposition(Caret*, int, int, int, int, int, int, int*, int*); int pagemarker(char*, int, int, int, int); void imthread(void*); Emit transmap(Im*, Rune); Emit transko(Im*, Rune); Emit transvi(Im*, Rune); void backko(Im*); void backvi(Im*); void srvinit(void); void srvthread(void*); void ibusthread(void*); void ximthread(void*); void ximownernotify(void); void* emalloc(ulong); void* erealloc(void*, ulong); int textinit(void); int textwidth(Str*); void textdraw(u32int*, int, int, int, int, Str*); void textdrawfit(u32int*, int, int, int, int, int, Str*);