3 char* estrdup(char *s);
5 Key* addkey(Key *h, char *key, char *val);
6 Key* delkey(Key *h, char *key);
7 char* lookkey(Key *k, char *key);
8 Key* parsehdr(char *s);
9 char* unquote(char *s, char **ps);
12 #pragma varargck type "U" Url*
13 #pragma varargck type "E" Str2
18 Url* url(char *s, Url *b);
20 int matchurl(Url *u, Url *s);
24 int buread(Buq *q, void *v, int l);
25 int buwrite(Buq *q, void *v, int l);
26 void buclose(Buq *q, char *error);
27 Buq* bualloc(int limit);
30 void bureq(Buq *q, Req *r);
31 void buflushreq(Buq *q, Req *r);
34 void flushauth(Url *u, char *t);
35 void http(char *m, Url *u, Key *shdr, Buq *qbody, Buq *qpost);