3 char* estrdup(char *s);
5 void nstrcpy(char *to, char *from, int n);
7 Key* addkey(Key *h, char *key, char *val);
8 Key* delkey(Key *h, char *key);
9 Key* getkey(Key *h, char *key);
10 char* lookkey(Key *k, char *key);
11 Key* parsehdr(char *s);
12 char* unquote(char *s, char **ps);
15 #pragma varargck type "U" Url*
16 #pragma varargck type "E" Str2
17 #pragma varargck type "N" char*
23 Url* url(char *s, Url *b);
25 int matchurl(Url *u, Url *s);
29 char* idn2utf(char *name, char *buf, int nbuf);
30 char* utf2idn(char *name, char *buf, int nbuf);
33 int buread(Buq *q, void *v, int l);
34 int buwrite(Buq *q, void *v, int l);
35 void buclose(Buq *q, char *error);
36 Buq* bualloc(int limit);
39 void bureq(Buq *q, Req *r);
40 void buflushreq(Buq *q, Req *r);
43 int authenticate(Url *u, Url *ru, char *method, char *s);
44 void flushauth(Url *u, char *t);
45 void http(char *m, Url *u, Key *shdr, Buq *qbody, Buq *qpost);