tor

The Tor anonymity network
git clone https://git.dasho.dev/tor.git
Log | Files | Refs | README | LICENSE

crypt_path.h (993B)


      1 /**
      2 * \file crypt_path.h
      3 * \brief Header file for crypt_path.c.
      4 **/
      5 
      6 #ifndef CRYPT_PATH_H
      7 #define CRYPT_PATH_H
      8 
      9 #include "core/crypto/relay_crypto.h"
     10 
     11 void cpath_assert_layer_ok(const crypt_path_t *cp);
     12 
     13 void cpath_assert_ok(const crypt_path_t *cp);
     14 
     15 int cpath_append_hop(crypt_path_t **head_ptr, extend_info_t *choice);
     16 
     17 int cpath_init_circuit_crypto(relay_crypto_alg_t alg,
     18                              crypt_path_t *cpath,
     19                              const char *key_data, size_t key_data_len);
     20 
     21 void
     22 cpath_free(crypt_path_t *victim);
     23 
     24 void cpath_extend_linked_list(crypt_path_t **head_ptr, crypt_path_t *new_hop);
     25 
     26 crypt_path_t *cpath_get_next_non_open_hop(crypt_path_t *cpath);
     27 
     28 void cpath_sendme_circuit_record_inbound_cell(crypt_path_t *cpath);
     29 
     30 const uint8_t *cpath_get_sendme_tag(crypt_path_t *cpath, size_t *len_out);
     31 
     32 #if defined(TOR_UNIT_TESTS)
     33 unsigned int cpath_get_n_hops(crypt_path_t **head_ptr);
     34 #endif /* defined(TOR_UNIT_TESTS) */
     35 
     36 #endif /* !defined(CRYPT_PATH_H) */