9 #ifndef TOR_CHANNELTLS_H
10 #define TOR_CHANNELTLS_H
18 #define TLS_PER_CELL_OVERHEAD 29
20 #define BASE_CHAN_TO_TLS(c) (channel_tls_from_base((c)))
21 #define TLS_CHAN_TO_BASE(c) (channel_tls_to_base((c)))
22 #define CONST_BASE_CHAN_TO_TLS(c) (channel_tls_from_base_const((c)))
23 #define CONST_TLS_CHAN_TO_BASE(c) (channel_tls_to_base_const((c)))
25 #define TLS_CHAN_MAGIC 0x8a192427U
27 #ifdef CHANNEL_OBJECT_PRIVATE
29 struct channel_tls_t {
39 const char *id_digest,
72 #ifdef CHANNELTLS_PRIVATE
74 channel_tls_t *tlschan);
76 channel_tls_t *tlschan);
79 channel_tls_t *tlschan);
Header file for channel.c.
STATIC void channel_tls_process_authenticate_cell(var_cell_t *cell, channel_tls_t *chan)
STATIC void channel_tls_process_auth_challenge_cell(var_cell_t *cell, channel_tls_t *chan)
STATIC void channel_tls_process_certs_cell(var_cell_t *cell, channel_tls_t *chan)
channel_t * channel_tls_connect(const tor_addr_t *addr, uint16_t port, const char *id_digest, const ed25519_public_key_t *ed_id)
STATIC void channel_tls_common_init(channel_tls_t *tlschan)
void channel_tls_free_all(void)
void channel_tls_handle_var_cell(var_cell_t *var_cell, or_connection_t *conn)
channel_t * channel_tls_to_base(channel_tls_t *tlschan)
const channel_t * channel_tls_to_base_const(const channel_tls_t *tlschan)
void channel_tls_handle_state_change_on_orconn(channel_tls_t *chan, or_connection_t *conn, uint8_t state)
channel_listener_t * channel_tls_get_listener(void)
void channel_tls_handle_cell(cell_t *cell, or_connection_t *conn)
uint64_t stats_n_certs_cells_processed
uint64_t stats_n_auth_challenge_cells_processed
const channel_tls_t * channel_tls_from_base_const(const channel_t *chan)
void channel_tls_update_marks(or_connection_t *conn)
uint64_t stats_n_authorize_cells_processed
uint64_t stats_n_versions_cells_processed
channel_listener_t * channel_tls_start_listener(void)
uint64_t stats_n_authenticate_cells_processed
channel_tls_t * channel_tls_from_base(channel_t *chan)
uint64_t stats_n_vpadding_cells_processed
channel_t * channel_tls_handle_incoming(or_connection_t *orconn)
uint64_t stats_n_netinfo_cells_processed
Master header file for Tor-specific functionality.