tor  0.4.0.1-alpha
circuit_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 CIRCUIT_ST_H
8 #define CIRCUIT_ST_H
9 
10 #include "core/or/or.h"
11 
12 #include "core/or/cell_queue_st.h"
13 
14 struct hs_token_t;
17 
19 #define CIRCPAD_MAX_MACHINES (2)
20 
22 #define ORIGIN_CIRCUIT_MAGIC 0x35315243u
23 
24 #define OR_CIRCUIT_MAGIC 0x98ABC04Fu
25 
28 #define DEAD_CIRCUIT_MAGIC 0xdeadc14c
29 
53 struct circuit_t {
54  uint32_t magic;
59 
68 
74 
77 
83 
86  unsigned int streams_blocked_on_n_chan : 1;
89  unsigned int streams_blocked_on_p_chan : 1;
90 
93  unsigned int p_delete_pending : 1;
96  unsigned int n_delete_pending : 1;
97 
99  unsigned int received_destroy : 1;
100 
101  uint8_t state;
102  uint8_t purpose;
113 
115  uint32_t age_tmp;
116 
119 
131 
134 
153 
154  uint16_t marked_for_close;
157  const char *marked_for_close_file;
167 
169  uint64_t dirreq_id;
170 
173 
178 
181  struct hs_token_t *hs_token;
184  HT_ENTRY(circuit_t) hs_circuitmap_node;
185 
195 
206 };
207 
208 #endif
int package_window
Definition: circuit_st.h:107
int marked_for_close_orig_reason
Definition: circuit_st.h:166
uint16_t marked_for_close
Definition: circuit_st.h:154
uint32_t age_tmp
Definition: circuit_st.h:115
struct hs_token_t * hs_token
Definition: circuit_st.h:181
uint8_t purpose
Definition: circuit_st.h:102
unsigned int n_delete_pending
Definition: circuit_st.h:96
cell_queue_t n_chan_cells
Definition: circuit_st.h:76
extend_info_t * n_hop
Definition: circuit_st.h:82
struct create_cell_t * n_chan_create_cell
Definition: circuit_st.h:118
time_t timestamp_dirty
Definition: circuit_st.h:152
uint8_t state
Definition: circuit_st.h:101
circid_t n_circ_id
Definition: circuit_st.h:67
unsigned int received_destroy
Definition: circuit_st.h:99
Master header file for Tor-specific functionality.
#define CIRCPAD_MAX_MACHINES
int marked_for_close_reason
Definition: circuit_st.h:162
HT_ENTRY(circuit_t) hs_circuitmap_node
smartlist_t * testing_cell_stats
Definition: circuit_st.h:177
unsigned int streams_blocked_on_p_chan
Definition: circuit_st.h:89
struct circpad_machine_state_t * padding_info[CIRCPAD_MAX_MACHINES]
Definition: circuit_st.h:205
uint64_t dirreq_id
Definition: circuit_st.h:169
unsigned int streams_blocked_on_n_chan
Definition: circuit_st.h:86
uint32_t circid_t
Definition: or.h:608
struct timeval timestamp_began
Definition: circuit_st.h:130
int deliver_window
Definition: circuit_st.h:112
unsigned int p_delete_pending
Definition: circuit_st.h:93
uint32_t magic
Definition: circuit_st.h:54
struct timeval timestamp_created
Definition: circuit_st.h:133
const struct circpad_machine_spec_t * padding_machine[CIRCPAD_MAX_MACHINES]
Definition: circuit_st.h:194
circuitmux_t * n_mux
Definition: circuit_st.h:73
int global_circuitlist_idx
Definition: circuit_st.h:172
const char * marked_for_close_file
Definition: circuit_st.h:157
channel_t * n_chan
Definition: circuit_st.h:58