75 lines
734 B
C
75 lines
734 B
C
typedef struct Url Url;
|
|
typedef struct Buq Buq;
|
|
typedef struct Buf Buf;
|
|
typedef struct Key Key;
|
|
|
|
typedef struct {
|
|
char *s1;
|
|
char *s2;
|
|
} Str2;
|
|
|
|
/* 9p */
|
|
typedef struct Req Req;
|
|
|
|
struct Url
|
|
{
|
|
char *scheme;
|
|
char *user;
|
|
char *pass;
|
|
char *host;
|
|
char *port;
|
|
char *path;
|
|
char *query;
|
|
char *fragment;
|
|
};
|
|
|
|
struct Buf
|
|
{
|
|
Buf *next;
|
|
uchar *rp;
|
|
uchar *ep;
|
|
Req *wreq;
|
|
uchar end[];
|
|
};
|
|
|
|
struct Key
|
|
{
|
|
Key *next;
|
|
char *val;
|
|
char key[];
|
|
};
|
|
|
|
struct Buq
|
|
{
|
|
Ref;
|
|
QLock;
|
|
|
|
Url *url;
|
|
Key *hdr;
|
|
char *error;
|
|
|
|
int closed;
|
|
int limit;
|
|
int size;
|
|
int nwq;
|
|
|
|
/* write buffers */
|
|
Buf *bh;
|
|
Buf **bt;
|
|
|
|
/* read requests */
|
|
Req *rh;
|
|
Req **rt;
|
|
|
|
Rendez rz;
|
|
};
|
|
|
|
int debug;
|
|
Url *proxy;
|
|
int timeout;
|
|
char *whitespace;
|
|
|
|
enum {
|
|
Domlen = 256,
|
|
};
|