19a747e4fSDavid du Colombier /* buf.c */ 29a747e4fSDavid du Colombier void initibuf(Ibuf*, Ioproc*, int); 39a747e4fSDavid du Colombier int readibuf(Ibuf*, char*, int); 49a747e4fSDavid du Colombier void unreadline(Ibuf*, char*); 59a747e4fSDavid du Colombier int readline(Ibuf*, char*, int); 69a747e4fSDavid du Colombier 79a747e4fSDavid du Colombier /* client.c */ 89a747e4fSDavid du Colombier int newclient(int); 99a747e4fSDavid du Colombier void closeclient(Client*); 109a747e4fSDavid du Colombier void clonectl(Ctl*); 119a747e4fSDavid du Colombier int ctlwrite(Req*, Ctl*, char*, char*); 129a747e4fSDavid du Colombier int clientctlwrite(Req*, Client*, char*, char*); 139a747e4fSDavid du Colombier int globalctlwrite(Req*, char*, char*); 149a747e4fSDavid du Colombier void ctlread(Req*, Client*); 159a747e4fSDavid du Colombier void globalctlread(Req*); 169a747e4fSDavid du Colombier void plumburl(char*, char*); 179a747e4fSDavid du Colombier 189a747e4fSDavid du Colombier /* cookies.c */ 199a747e4fSDavid du Colombier void cookieread(Req*); 209a747e4fSDavid du Colombier void cookiewrite(Req*); 219a747e4fSDavid du Colombier void cookieopen(Req*); 229a747e4fSDavid du Colombier void cookieclunk(Fid*); 239a747e4fSDavid du Colombier void initcookies(char*); 249a747e4fSDavid du Colombier void closecookies(void); 259a747e4fSDavid du Colombier void httpsetcookie(char*, char*, char*); 269a747e4fSDavid du Colombier char* httpcookies(char*, char*, int); 279a747e4fSDavid du Colombier 289a747e4fSDavid du Colombier /* fs.c */ 299a747e4fSDavid du Colombier void initfs(void); 309a747e4fSDavid du Colombier 319a747e4fSDavid du Colombier /* http.c */ 329a747e4fSDavid du Colombier int httpopen(Client*, Url*); 339a747e4fSDavid du Colombier int httpread(Client*, Req*); 349a747e4fSDavid du Colombier void httpclose(Client*); 359a747e4fSDavid du Colombier 369a747e4fSDavid du Colombier /* io.c */ 37*3ff48bf5SDavid du Colombier int iotlsdial(Ioproc*, char*, char*, char*, int*, int); 38*3ff48bf5SDavid du Colombier int ioprint(Ioproc*, int, char*, ...); 39*3ff48bf5SDavid du Colombier #pragma varargck argpos ioprint 3 409a747e4fSDavid du Colombier 419a747e4fSDavid du Colombier /* plumb.c */ 429a747e4fSDavid du Colombier void plumbinit(void); 439a747e4fSDavid du Colombier void plumbstart(void); 449a747e4fSDavid du Colombier void replumb(Client*); 459a747e4fSDavid du Colombier 469a747e4fSDavid du Colombier /* url.c */ 479a747e4fSDavid du Colombier Url* parseurl(char*, Url*); 489a747e4fSDavid du Colombier void freeurl(Url*); 499a747e4fSDavid du Colombier void rewriteurl(Url*); 509a747e4fSDavid du Colombier int seturlquery(Url*, char*); 519a747e4fSDavid du Colombier Url* copyurl(Url*); 529a747e4fSDavid du Colombier char* escapeurl(char*, int(*)(int)); 539a747e4fSDavid du Colombier char* unescapeurl(char*); 549a747e4fSDavid du Colombier void initurl(void); 559a747e4fSDavid du Colombier 569a747e4fSDavid du Colombier /* util.c */ 579a747e4fSDavid du Colombier char* estrdup(char*); 589a747e4fSDavid du Colombier char* estrmanydup(char*, ...); 599a747e4fSDavid du Colombier char* estredup(char*, char*); 609a747e4fSDavid du Colombier void* emalloc(uint); 619a747e4fSDavid du Colombier void* erealloc(void*, uint); 629a747e4fSDavid du Colombier char* strlower(char*); 63