hs: New metrics module
[tor.git] / src / app / main / subsystem_list.c
blobcb79909e697f2afeca35b1f700339db964f1f862
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 */
6 /**
7 * @file subsystem_list.c
8 * @brief List of Tor's subsystems.
9 **/
11 #include "orconfig.h"
12 #include "app/main/subsysmgr.h"
13 #include "lib/cc/compat_compiler.h"
14 #include "lib/cc/torint.h"
16 #include "core/mainloop/mainloop_sys.h"
17 #include "core/or/or_sys.h"
18 #include "feature/control/btrack_sys.h"
19 #include "lib/compress/compress_sys.h"
20 #include "lib/crypt_ops/crypto_sys.h"
21 #include "lib/err/torerr_sys.h"
22 #include "lib/log/log_sys.h"
23 #include "lib/net/network_sys.h"
24 #include "lib/process/process_sys.h"
25 #include "lib/llharden/winprocess_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"
30 #include "lib/wallclock/wallclock_sys.h"
31 #include "lib/evloop/evloop_sys.h"
33 #include "feature/dirauth/dirauth_sys.h"
34 #include "feature/hs/hs_sys.h"
35 #include "feature/metrics/metrics_sys.h"
36 #include "feature/relay/relay_sys.h"
38 #include <stddef.h>
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 **/
45 const subsys_fns_t *tor_subsystems[] = {
46 &sys_winprocess,
47 &sys_torerr,
49 &sys_wallclock,
50 &sys_logging,
51 &sys_threads,
53 &sys_tracing,
55 &sys_time,
57 &sys_crypto,
58 &sys_compress,
59 &sys_network,
60 &sys_tortls,
62 &sys_evloop,
63 &sys_process,
65 &sys_mainloop,
66 &sys_or,
68 &sys_relay,
69 &sys_hs,
71 &sys_btrack,
73 &sys_dirauth,
74 &sys_metrics,
77 const unsigned n_tor_subsystems = ARRAY_LENGTH(tor_subsystems);