X-Git-Url: http://git.dolda2000.com/gitweb/?a=blobdiff_plain;f=include%2Fhttp.h;h=8403e358dad3153dad1383b486e58780d18f3211;hb=7665d29ddb2ab55ab455a4cfcd840ea38af06c04;hp=e6d10204d13803f28902cf22b459847f34585d71;hpb=f4663439b18d84214325e4d3ba50b79c029b79e9;p=doldaconnect.git diff --git a/include/http.h b/include/http.h index e6d1020..8403e35 100644 --- a/include/http.h +++ b/include/http.h @@ -1,6 +1,6 @@ /* * Dolda Connect - Modular multiuser Direct Connect-style client - * Copyright (C) 2007 Fredrik Tolf (fredrik@dolda2000.com) + * Copyright (C) 2007 Fredrik Tolf * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -22,21 +22,30 @@ #include +#include "utils.h" + struct hturlinfo { char *host; int port; char *path; char *query; + char *fragment; }; struct htconn { int state; int fd; struct addrinfo *ailist, *curai; - char *outbuf, *inbuf; + char *outbuf, *inbuf, *databuf; size_t outbufsize, outbufdata; size_t inbufsize, inbufdata; + size_t databufsize, databufdata; struct hturlinfo *url; + int rescode; + char *resstr; + struct strpair *headers; + ssize_t tlen, rxd, chl; + int autoredir; }; struct htcookie { @@ -46,7 +55,9 @@ struct htcookie { struct hturlinfo *parseurl(char *url); void freeurl(struct hturlinfo *ui); +void freehtconn(struct htconn *cn); struct htconn *htconnect(struct hturlinfo *ui); int htpollflags(struct htconn *hc); +int htprocess(struct htconn *hc, int pollflags); #endif