Version 1.8.0.0
[socat.git] / xio-socks.h
blob4844b4bb89c4e86a2e9fc1a44e8030f5e234e57f
1 /* source: xio-socks.h */
2 /* Copyright Gerhard Rieger and contributors (see file CHANGES) */
3 /* Published under the GNU General Public License V.2, see file COPYING */
5 #ifndef __xio_socks_h_included
6 #define __xio_socks_h_included 1
8 struct socks4 {
9 uint8_t version;
10 uint8_t action;
11 uint16_t port;
12 uint32_t dest;
13 char userid[1]; /* just to have access via this struct */
14 } ;
15 #define SIZEOF_STRUCT_SOCKS4 8
17 extern const struct optdesc opt_socksport;
18 extern const struct optdesc opt_socksuser;
20 extern const struct addrdesc xioaddr_socks4_connect;
21 extern const struct addrdesc xioaddr_socks4a_connect;
23 extern int _xioopen_socks4_prepare(const char *targetport, struct opt *opts, char **socksport, struct socks4 *sockhead, size_t *headlen);
24 extern int
25 _xioopen_socks4_connect0(struct single *xfd,
26 const char *hostname, /* socks target host */
27 int socks4a,
28 struct socks4 *sockhead,
29 ssize_t *headlen, /* get available space,
30 return used length*/
31 int level);
32 extern int _xioopen_socks4_connect(struct single *xfd,
33 struct socks4 *sockhead,
34 size_t headlen,
35 int level);
37 #endif /* !defined(__xio_socks_h_included) */