]> git.lizzy.rs Git - plan9front.git/blob - sys/src/cmd/webfs/fns.h
merge
[plan9front.git] / sys / src / cmd / webfs / fns.h
1 /* sub */
2 void*   emalloc(int n);
3 char*   estrdup(char *s);
4
5 void    nstrcpy(char *to, char *from, int n);
6
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);
13
14 /* url */
15 #pragma varargck type "U" Url*
16 #pragma varargck type "E" Str2
17 #pragma varargck type "N" char*
18
19 int     Efmt(Fmt*);
20 int     Nfmt(Fmt*);
21 int     Ufmt(Fmt*);
22 char*   Upath(Url *);
23 Url*    url(char *s, Url *b);
24 Url*    saneurl(Url *u);
25 int     matchurl(Url *u, Url *s);
26 void    freeurl(Url *u);
27
28 /* idn */
29 char*   idn2utf(char *name, char *buf, int nbuf);
30 char*   utf2idn(char *name, char *buf, int nbuf);
31
32 /* buq */
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);
37 void    bufree(Buq *q);
38
39 void    bureq(Buq *q, Req *r);
40 void    buflushreq(Buq *q, Req *r);
41
42 /* http */
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);