fixed useragent
[syren.git] / src / sylib / syren_proxy.h
blob7f952119caf35df070f476c46aa0ad096094bdc1
1 /*
2 Syren -- a lightweight downloader for Linux/BSD/MacOSX
3 inspired by Axel Copyright 2001-2002 Wilmer van der Gaast
4 version 0.0.6 (atomic alien)
5 coded by Ketmar // Vampire Avalon
7 This program is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 3 of the License, or
10 (at your option) any later version.
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
17 You should have received a copy of the GNU General Public License with
18 the Debian GNU/Linux distribution in file /usr/doc/copyright/GPL;
19 if not, write to the Free Software Foundation, Inc., 59 Temple Place,
20 Suite 330, Boston, MA 02111-1307 USA
23 Syren proxy connections (HTTP CONNECT, SOCKS)
25 #ifndef _SYREN_PROXY_H
26 #define _SYREN_PROXY_H
28 #ifdef __cplusplus
29 extern "C" {
30 #endif
33 #include "syren_os.h"
34 #include "syren_common.h"
35 #include "syren_msg.h"
36 #include "syren_str.h"
37 #include "syren_tcp.h"
38 #include "syren_hdrs.h"
39 #include "syren_http.h"
42 typedef enum {
43 SY_PROXY_NONE=-1,
44 SY_PROXY_HTTP=0,
45 SY_PROXY_HTTP_CONNECT,
46 SY_PROXY_SOCKS,
48 SY_PROXY_MAX = SY_PROXY_SOCKS
49 } TSyProxyType;
52 typedef struct {
53 TSyURL *url;
54 TSyProxyType ptype;
55 char *userAgent; /* for HTTP CONNECT */
57 int retCode; /* for HTTP CONNECT or SOCKS */
58 } TSyProxy;
61 TSyProxy *SyProxyNew (const TSyURL *url, TSyProxyType ptype, const char *userAgent);
62 void SyProxyFree (TSyProxy *proxy);
64 TSyResult SyProxyConnect (TSySocket *fd, TSyProxy *proxy, const char *host, int port, const TSyPrintStr *pfn);
67 #ifdef __cplusplus
69 #endif
71 #endif