tor  0.4.1.0-alpha-dev
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 
71 
77 
80  unsigned int streams_blocked_on_n_chan : 1;
83  unsigned int streams_blocked_on_p_chan : 1;
84 
87  unsigned int p_delete_pending : 1;
90  unsigned int n_delete_pending : 1;
91 
93  unsigned int received_destroy : 1;
94 
95  uint8_t state;
96  uint8_t purpose;
107 
109  uint32_t age_tmp;
110 
113 
125 
128 
147 
148  uint16_t marked_for_close;
151  const char *marked_for_close_file;
161 
163  uint64_t dirreq_id;
164 
167 
172 
175  struct hs_token_t *hs_token;
178  HT_ENTRY(circuit_t) hs_circuitmap_node;
179 
189 
200 };
201 
202 #endif
int package_window
Definition: circuit_st.h:101
int marked_for_close_orig_reason
Definition: circuit_st.h:160
uint16_t marked_for_close
Definition: circuit_st.h:148
uint32_t age_tmp
Definition: circuit_st.h:109
struct hs_token_t * hs_token
Definition: circuit_st.h:175
uint8_t purpose
Definition: circuit_st.h:96
unsigned int n_delete_pending
Definition: circuit_st.h:90
cell_queue_t n_chan_cells
Definition: circuit_st.h:70
extend_info_t * n_hop
Definition: circuit_st.h:76
struct create_cell_t * n_chan_create_cell
Definition: circuit_st.h:112
struct circpad_machine_runtime_t * padding_info[CIRCPAD_MAX_MACHINES]
Definition: circuit_st.h:199
time_t timestamp_dirty
Definition: circuit_st.h:146
uint8_t state
Definition: circuit_st.h:95
circid_t n_circ_id
Definition: circuit_st.h:67
unsigned int received_destroy
Definition: circuit_st.h:93
Master header file for Tor-specific functionality.
#define CIRCPAD_MAX_MACHINES
int marked_for_close_reason
Definition: circuit_st.h:156
HT_ENTRY(circuit_t) hs_circuitmap_node
smartlist_t * testing_cell_stats
Definition: circuit_st.h:171
unsigned int streams_blocked_on_p_chan
Definition: circuit_st.h:83
uint64_t dirreq_id
Definition: circuit_st.h:163
unsigned int streams_blocked_on_n_chan
Definition: circuit_st.h:80
uint32_t circid_t
Definition: or.h:608
struct timeval timestamp_began
Definition: circuit_st.h:124
int deliver_window
Definition: circuit_st.h:106
unsigned int p_delete_pending
Definition: circuit_st.h:87
uint32_t magic
Definition: circuit_st.h:54
struct timeval timestamp_created
Definition: circuit_st.h:127
const struct circpad_machine_spec_t * padding_machine[CIRCPAD_MAX_MACHINES]
Definition: circuit_st.h:188
int global_circuitlist_idx
Definition: circuit_st.h:166
const char * marked_for_close_file
Definition: circuit_st.h:151
channel_t * n_chan
Definition: circuit_st.h:58