tor  0.4.1.0-alpha-dev
edge_connection_st.h
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-2019, The Tor Project, Inc. */
5 /* See LICENSE for licensing information */
6 
7 #ifndef EDGE_CONNECTION_ST_H
8 #define EDGE_CONNECTION_ST_H
9 
10 #include "core/or/or.h"
11 
12 #include "core/or/connection_st.h"
13 
17  connection_t base_;
18 
34 
35  /* Hidden service connection identifier for edge connections. Used by the HS
36  * client-side code to identify client SOCKS connections and by the
37  * service-side code to match HS circuits with their streams. */
38  struct hs_ident_edge_conn_t *hs_ident;
39 
40  uint32_t address_ttl;
42  uint32_t begincell_flags;
49  uint16_t end_reason;
50 
52  uint32_t n_read;
53 
55  uint32_t n_written;
56 
58  unsigned int is_dns_request:1;
60  unsigned int is_reverse_dns_lookup:1;
61 
62  unsigned int edge_has_sent_end:1;
68  unsigned int edge_blocked_on_circ:1;
69 
73  uint64_t dirreq_id;
74 };
75 
76 #endif
77 
unsigned int is_reverse_dns_lookup
unsigned int is_dns_request
struct crypt_path_t * cpath_layer
Master header file for Tor-specific functionality.
uint16_t streamid_t
Definition: or.h:610
unsigned int edge_has_sent_end
struct circuit_t * on_circuit
unsigned int edge_blocked_on_circ
struct edge_connection_t * next_stream
rend_data_t * rend_data