1 /* Copyright (c) 2001 Matej Pfajfar.
2 * Copyright (c) 2001-2004, Roger Dingledine.
3 * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
4 * Copyright (c) 2007-2021, The Tor Project, Inc. */
5 /* See LICENSE for licensing information */
9 * @brief Header for proto_socks.c
12 #ifndef TOR_PROTO_SOCKS_H
13 #define TOR_PROTO_SOCKS_H
15 struct socks_request_t
;
18 struct socks_request_t
*socks_request_new(void);
19 void socks_request_free_(struct socks_request_t
*req
);
20 #define socks_request_free(req) \
21 FREE_AND_NULL(socks_request_t, socks_request_free_, (req))
22 int fetch_from_buf_socks(struct buf_t
*buf
, socks_request_t
*req
,
23 int log_sockstype
, int safe_socks
);
24 int fetch_from_buf_socks_client(buf_t
*buf
, int state
, char **reason
);
26 #endif /* !defined(TOR_PROTO_SOCKS_H) */