Back to index

Class List
Here are the classes, structs, unions and interfaces with brief descriptions:
addr_policy_tA reference-counted address policy rule
addressmap_entry_tA client-side struct to remember requests to rewrite addresses to new addresses
aes_cnt_cipherImplements an AES counter-mode cipher
aes_cnt_cipher.keyThis next element (however it's defined) is the AES key
authdir_config_tList of nickname->identity fingerprint mappings for all the routers that we name
authority_cert_tCertificate for v3 directory protocol: binds long-term authority identity keys to medium-term authority signing keys
backends_tThis is our meta storage type - it holds information about each helper including the total number of helper backends, function pointers, and helper state
bidi_map_entry_tEntry in a map from connection ID to the number of read and written bytes on this connection in a BIDI_INTERVAL second interval
bridge_info_tInformation about a configured bridge
broken_state_count_tHelper type used to sort connection states and find the most frequent
buf_pos_tInternal structure: represents a position in a buffer
buf_tA resizeable buffer, optimized for reading and writing
bw_array_tStructure to track bandwidth use, and remember the maxima for a given time period
c_hist_tHelper type: used to sort per-country totals by value
cached_dir_tA cached_dir_t represents a cacheable directory object, along with its compressed form
cached_resolve_tA DNS request: possibly completed, possibly pending; cached_resolve structs are stored at the OR side in a hash table, and as a linked list from oldest to newest
cell_ewma_tThe cell_ewma_t structure keeps track of how many cells a circuit has transferred recently
cell_queue_tA queue of cells on a circuit, waiting to be added to the or_connection_t's outbuf
cell_tParsed onion routing cell
cert_list_tList of for a given authority, and download status for latest certificate
chunk_tA single chunk on a buffer or in a freelist
cipher_info_tHolds a cipher that we want to advertise, and its 2-byte ID
circ_buffer_stats_tStatistics from a single circuit
circuit_build_times_tStructure for circuit build times history
circuit_tA circuit is a path over the onion routing network
clientmap_entry_tEntry in a map from IP address to the last time we've seen an incoming connection from that IP address
config_abbrev_tAn abbreviation for a configuration option allowed on the command line
config_format_tInformation on the keys, value types, key-to-struct-member mappings, variable descriptions, validation functions, and abbreviations for a configuration or storage format
config_line_tA linked list of lines in a config file
config_var_description_tRepresents an English description of a configuration variable; used when generating configuration file comments
config_var_tA variable allowed in the configuration file or on the command line
connection_tDescription of a connection to another host or process, and associated data
consensus_waiting_for_certs_tA v3 consensus networkstatus that we've received, but which we don't have enough certificates to be happy about
control_connection_tSubtype of connection_t for an connection to a controller
control_event_tHelper structure: maps event values to their names
cpath_build_state_tInformation used to build a circuit
crypt_path_reference_tA reference-counted pointer to a crypt_path_t, used only to share the final rendezvous cpath to be used on a service-side rendezvous circuit among multiple circuits built in parallel to the same destination rendezvous point
crypt_path_tHolds accounting information for a single step in the layered encryption performed by a circuit
crypto_cipher_tKey and stream information for a stream cipher
crypto_dh_tA structure to hold the first half (x, g^x) of a Diffie-Hellman handshake while we're waiting for the second
crypto_digest_tIntermediate information about the digest of a stream of data
crypto_pk_tA public key, or a public/private key-pair
desc_store_tA 'store' is a set of descriptors saved on disk, with accompanying journal, mmaped as needed, rebuilt as needed
digests_tA set of all the digests we know how to compute, taken on a single string
digestset_tA set of digests, implemented as a Bloom filter
dir_connection_tSubtype of connection_t for an "directory connection" -- that is, an HTTP connection to retrieve or serve directory material
dir_src_ent_tTemporary structure used in constructing a list of dir-source entries for a consensus
directory_token_tStructure to hold a single directory token
dirreq_map_entry_tEntry in a map from either conn->global_identifier for direct requests or a unique circuit identifier for tunneled requests to request time, response size, and completion time of a network status request
document_signature_tA signature of some document by an authority
download_status_tInformation about our plans for retrying downloads for a downloadable object
duration_idx_tInternal type used to represent how long an old descriptor was valid, where it appeared in the list of old descriptors, and whether it's extra old
edge_connection_tSubtype of connection_t for an "edge connection" -- that is, an entry (ap) connection, or an exit
entry_connection_tSubtype of edge_connection_t for an "entry connection" -- that is, a SOCKS connection, a DNS request, a TransPort connection or a NATD connection
entry_guard_tAn entry_guard_t represents our information about a chosen long-term first hop, known as a "helper" node in the literature
extend_info_tInformation on router used when extending a circuit
extrainfo_tInformation needed to keep and cache a signed extra-info document
fp_pair_tA pair of digests created by dir_split_resource_info_fingerprint_pairs()
geoip_country_tA per-country record for GeoIP request history
geoip_entry_tAn entry from the GeoIP file: maps an IP range to a country
getinfo_item_tA single item for the GETINFO question-to-answer-function table
in6_addrImplementation of struct in6_addr for platforms that do not have it
insertion_time_elem_tNumber of cells added to a circuit queue including their insertion time on 10 millisecond detail; used for buffer statistics
insertion_time_queue_tQueue of insertion times
link_history_tHistory of an OR->OR link
listener_connection_tSubtype of connection_t; used for a listener socket
log_severity_list_tConfigures which severities are logged for each logging domain for a given log target
logfile_tInformation for a single logfile; only used in log.c
memarea_chunk_tImplements part of a memarea
memarea_tA memarea_t is an allocation region for a set of small memory requests that will all be freed at once
microdesc_cache_tA data structure to hold a bunch of cached microdescriptors
microdesc_tA microdescriptor is the smallest amount of information needed to build a circuit through a router
mp_allocated_tHolds a single allocated item, allocated as part of a chunk
mp_chunk_tA chunk of memory
network_liveness_tInformation about the state of our local network connection
networkstatus_tA common structure to hold a v3 network status vote, or a v3 network status consensus
networkstatus_v2_tContents of a v2 (non-consensus, non-vote) network status object
networkstatus_voter_info_tInformation about a single voter in a vote or a consensus
node_tA node_t represents a Tor router
nodelist_tA nodelist_t holds a node_t object for every router we're "willing to use for something"
ns_detached_signatures_tA set of signatures for a networkstatus consensus
onion_queue_tType for a linked list of circuits that are waiting for a free CPU worker to process a waiting onion handshake
open_file_tRepresents a file that we're writing to, with support for atomic commit: we can write into a temporary file, and either remove the file on failure, or replace the original file on success
or_circuit_tAn or_circuit_t holds information needed to implement a circuit at an OR
or_connection_tSubtype of connection_t for an "OR connection" -- that is, one that speaks cells over TLS
or_handshake_state_tStores flags and information related to the portion of a v2/v3 Tor OR connection handshake that happens after the TLS handshake is finished
or_history_tHistory of an OR
or_options_tConfiguration options for a Tor process
or_state_tPersistent state for an onion router, as saved to disk
orconn_circid_circuit_map_tA map from OR connection and circuit ID to circuit
origin_circuit_tAn origin_circuit_t holds data necessary to build and use a circuit
packed_cell_tA cell as packed for writing to the network
pending_cb_message_tRepresents a log message that we are going to send to callback-driven loggers once we can do so in a non-reentrant way
pending_connection_tLinked list of connections waiting for a DNS answer
pending_consensus_tA consensus that we have built and are appending signatures to
pending_vote_tA vote networkstatus_t and its unparsed body: held around so we can use it to generate a consensus (at voting_ends) and so we can serve it to other authorities that might want it
periodic_timer_tRepresents a timer that's run every N microseconds by Libevent
policy_map_ent_tNode in hashtable used to store address policy entries
policy_summary_item_tElement of an exit policy summary
port_cfg_tConfiguration for a single port that we're listening on
predicted_port_tA single predicted port: used to remember which ports we've made connections to, so that we can try to keep making circuits that can handle those ports
ratelim_tA ratelim_t remembers how often an event is occurring, and how often it's allowed to occur
relay_header_tBeginning of a RELAY cell payload
rend_authorized_client_tHidden-service side configuration of client authorization
rend_cache_entry_tA cached rendezvous descriptor
rend_data_tClient- and server-side data that is used for hidden service connection establishment
rend_encoded_v2_service_descriptor_tASCII-encoded v2 hidden service descriptor
rend_intro_point_tIntroduction point information
rend_service_authorization_tClient-side configuration of authorization for a hidden service
rend_service_descriptor_tInformation used to connect to a hidden service
rend_service_port_config_tRepresents the mapping from a virtual port of a rendezvous service to a real port on some IP
rend_service_tRepresents a single hidden service running at this OP
router_status_tEncapsulate a nickname and an FP_* status; target of status_by_digest map
routerinfo_tInformation about another onion router in the network
routerlist_tContents of a directory of onion routers
routerset_tA routerset specifies constraints on a set of possible routerinfos, based on their names, identities, or addresses
routerstatus_tContents of a single router entry in a network status object
service_fnsStruct to hold dynamically loaded NT-service related function pointers
short_policy_entry_tA single entry in a parsed policy summary, describing a range of ports
short_policy_tA short_poliy_t is the parsed version of a policy summary
signed_descriptor_tInformation need to cache an onion router's descriptor
sized_chunk_tAn ad-hoc type to hold a string of characters and a count; used by write_chunks_to_file
smartlist_tA resizeable list of pointers, with associated helpful functionality
sockaddr_in6Implementation of struct sockaddr_in6 on platforms that do not have it
socks_request_tState of a SOCKS request from a user to an OP
testcase_setup_tFunctions to initialize/teardown a structure for a testcase
testcase_tA single test-case that you can run
testgroup_tA group of tests that are selectable together
timevalImplementation of timeval for platforms that don't have it
token_rule_tDetermines the parsing rules for a single token type
tor_addr_port_tHolds an IP address and a TCP/UDP port
tor_addr_tHolds an IPv4 or IPv6 address
tor_cert_tStructure that we use for a single certificate
tor_fw_backend_tThis is our main structure that defines our backend helper API; each helper must conform to these public methods if it expects to be handled in a non-special way
tor_fw_options_tThis is where we store parsed commandline options
tor_libevent_cfgDefines a configuration for using libevent with Tor: passed as an argument to tor_libevent_initialize() to describe how we want to set up
tor_lockfile_tRepresents a lockfile on which we hold the lock
tor_mmap_tRepresents an mmaped file
tor_mutex_tA generic lock structure for multithreaded builds
tor_tls_context_tHolds a SSL_CTX object and related state used to configure TLS connections
tor_tls_tHolds a SSL object and its associated data
tor_version_tStructure to hold parsed Tor versions
tor_zlib_state_tInternal state for an incremental zlib compression/decompression
transport_tRepresents a pluggable transport proxy used by a bridge
trusted_dir_server_tRepresents information about a single trusted directory server
unit_table_tMapping from a unit name to a multiplier for converting that unit into a base unit
var_cell_tParsed variable-length onion routing cell
virtaddress_entry_tEntry for mapping addresses to which virtual address we mapped them to
vote_microdesc_hash_tLinked list of microdesc hash lines for a single router in a directory vote
vote_routerstatus_tThe claim about a single router, made in a vote
vote_timing_tDescribes the schedule by which votes should be generated