tor

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

cpuworker.h (1423B)


      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-2024, The Tor Project, Inc. */
      5 /* See LICENSE for licensing information */
      6 
      7 /**
      8 * \file cpuworker.h
      9 * \brief Header file for cpuworker.c.
     10 **/
     11 
     12 #ifndef TOR_CPUWORKER_H
     13 #define TOR_CPUWORKER_H
     14 
     15 int cpuworker_init(void);
     16 void cpuworker_free_all(void);
     17 void cpuworkers_rotate_keyinfo(void);
     18 
     19 void cpuworker_consensus_has_changed(const networkstatus_t *ns);
     20 
     21 struct workqueue_entry_t;
     22 enum workqueue_reply_t;
     23 enum workqueue_priority_t;
     24 MOCK_DECL(struct workqueue_entry_t *, cpuworker_queue_work, (
     25                    enum workqueue_priority_t priority,
     26                    enum workqueue_reply_t (*fn)(void *, void *),
     27                    void (*reply_fn)(void *),
     28                    void *arg));
     29 
     30 struct create_cell_t;
     31 int assign_onionskin_to_cpuworker(or_circuit_t *circ,
     32                                  struct create_cell_t *onionskin);
     33 
     34 uint64_t estimated_usec_for_onionskins(uint32_t n_requests,
     35                                       uint16_t onionskin_type);
     36 void cpuworker_log_onionskin_overhead(int severity, int onionskin_type,
     37                                      const char *onionskin_type_name);
     38 void cpuworker_cancel_circ_handshake(or_circuit_t *circ);
     39 
     40 unsigned int cpuworker_get_n_threads(void);
     41 
     42 #endif /* !defined(TOR_CPUWORKER_H) */