Tor  0.4.6.0-alpha-dev
subsystem_list.c
Go to the documentation of this file.
1 /* Copyright (c) 2003-2004, Roger Dingledine
2  * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
3  * Copyright (c) 2007-2020, The Tor Project, Inc. */
4 /* See LICENSE for licensing information */
5 
6 /**
7  * @file subsystem_list.c
8  * @brief List of Tor's subsystems.
9  **/
10 
11 #include "orconfig.h"
12 #include "app/main/subsysmgr.h"
13 #include "lib/cc/compat_compiler.h"
14 #include "lib/cc/torint.h"
15 
17 #include "core/or/or_sys.h"
21 #include "lib/err/torerr_sys.h"
22 #include "lib/log/log_sys.h"
23 #include "lib/net/network_sys.h"
26 #include "lib/thread/thread_sys.h"
27 #include "lib/time/time_sys.h"
28 #include "lib/tls/tortls_sys.h"
29 #include "lib/trace/trace_sys.h"
31 #include "lib/evloop/evloop_sys.h"
32 
34 #include "feature/hs/hs_sys.h"
37 
38 #include <stddef.h>
39 
40 /**
41  * Global list of the subsystems in Tor, in the order of their initialization.
42  * Want to know the exact level numbers?
43  * We'll implement a level dump command in #31614.
44  **/
46  &sys_winprocess,
47  &sys_torerr,
48 
50  &sys_logging,
51  &sys_threads,
52 
53  &sys_tracing,
54 
55  &sys_time,
56 
57  &sys_crypto,
58  &sys_compress,
59  &sys_network,
60  &sys_tortls,
61 
62  &sys_evloop,
63  &sys_process,
64 
65  &sys_mainloop,
66  &sys_or,
67 
68  &sys_relay,
69  &sys_hs,
70 
71  &sys_btrack,
72 
73  &sys_dirauth,
74  &sys_metrics,
75 };
76 
77 const unsigned n_tor_subsystems = ARRAY_LENGTH(tor_subsystems);
btrack_sys.h
Declare subsystem object for the bootstrap tracker susbystem.
sys_wallclock
const subsys_fns_t sys_wallclock
Definition: approx_time.c:60
mainloop_sys.h
Header for mainloop_sys.c.
compress_sys.h
Declare subsystem object for the compress module.
hs_sys.h
Header for feature/hs/hs_sys.c.
torint.h
Integer definitions used throughout Tor.
evloop_sys.h
Declare subsystem object for the event loop module.
log_sys.h
Declare subsystem object for the logging module.
crypto_sys.h
Declare subsystem object for the crypto module.
thread_sys.h
Declare subsystem object for threads library.
time_sys.h
Declare subsystem object for the time module.
metrics_sys.h
Header for feature/metrics/metrics_sys.c.
wallclock_sys.h
Declare subsystem object for the wallclock module.
relay_sys.h
Header for feature/relay/relay_sys.c.
process_sys.h
Declare subsystem object for the process module.
winprocess_sys.h
Declare subsystem object for winprocess.c.
ARRAY_LENGTH
#define ARRAY_LENGTH(x)
Definition: compat_compiler.h:222
subsysmgr.h
Header for subsysmgr.c.
network_sys.h
Declare subsystem object for the network module.
dirauth_sys.h
Header for dirauth_sys.c.
or_sys.h
Header for core/or/or_sys.c.
torerr_sys.h
Declare subsystem object for torerr.c.
tor_subsystems
const subsys_fns_t * tor_subsystems[]
Definition: subsystem_list.c:45
subsys_fns_t
Definition: subsys.h:38
compat_compiler.h
Utility macros to handle different features and behavior in different compilers.
tortls_sys.h
Declare subsystem object for the tortls module.