Tor
0.4.7.0-alpha-dev
feature
control
control_connection_st.h
Go to the documentation of this file.
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 */
6
7
/**
8
* @file control_connection_st.h
9
* @brief Controller connection structure.
10
**/
11
12
#ifndef CONTROL_CONNECTION_ST_H
13
#define CONTROL_CONNECTION_ST_H
14
15
#include "
core/or/or.h
"
16
#include "
core/or/connection_st.h
"
17
18
/** Subtype of connection_t for an connection to a controller. */
19
struct
control_connection_t
{
20
connection_t
base_;
21
22
uint64_t
event_mask
;
/**< Bitfield: which events does this controller
23
* care about?
24
* EVENT_MAX_ is >31, so we need a 64 bit mask */
25
26
/** True if we have sent a protocolinfo reply on this connection. */
27
unsigned
int
have_sent_protocolinfo
:1;
28
/** True if we have received a takeownership command on this
29
* connection. */
30
unsigned
int
is_owning_control_connection
:1;
31
32
/** List of ephemeral onion services belonging to this connection. */
33
smartlist_t
*
ephemeral_onion_services
;
34
35
/** If we have sent an AUTHCHALLENGE reply on this connection and
36
* have not received a successful AUTHENTICATE command, points to
37
* the value which the client must send to authenticate itself;
38
* otherwise, NULL. */
39
char
*
safecookie_client_hash
;
40
41
/** Amount of space allocated in incoming_cmd. */
42
uint32_t
incoming_cmd_len
;
43
/** Number of bytes currently stored in incoming_cmd. */
44
uint32_t
incoming_cmd_cur_len
;
45
/** A control command that we're reading from the inbuf, but which has not
46
* yet arrived completely. */
47
char
*
incoming_cmd
;
48
/** The control command that we are currently processing. */
49
char
*
current_cmd
;
50
};
51
52
#endif
/* !defined(CONTROL_CONNECTION_ST_H) */
connection_st.h
Base connection structure.
or.h
Master header file for Tor-specific functionality.
connection_t
Definition:
connection_st.h:45
control_connection_t
Definition:
control_connection_st.h:19
control_connection_t::ephemeral_onion_services
smartlist_t * ephemeral_onion_services
Definition:
control_connection_st.h:33
control_connection_t::safecookie_client_hash
char * safecookie_client_hash
Definition:
control_connection_st.h:39
control_connection_t::is_owning_control_connection
unsigned int is_owning_control_connection
Definition:
control_connection_st.h:30
control_connection_t::incoming_cmd
char * incoming_cmd
Definition:
control_connection_st.h:47
control_connection_t::event_mask
uint64_t event_mask
Definition:
control_connection_st.h:22
control_connection_t::incoming_cmd_cur_len
uint32_t incoming_cmd_cur_len
Definition:
control_connection_st.h:44
control_connection_t::incoming_cmd_len
uint32_t incoming_cmd_len
Definition:
control_connection_st.h:42
control_connection_t::have_sent_protocolinfo
unsigned int have_sent_protocolinfo
Definition:
control_connection_st.h:27
control_connection_t::current_cmd
char * current_cmd
Definition:
control_connection_st.h:49
smartlist_t
Definition:
smartlist_core.h:26
Generated by
1.9.1