Tor  0.4.7.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-2021, 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/dos_sys.h"
18 #include "core/or/or_sys.h"
22 #include "lib/err/torerr_sys.h"
23 #include "lib/log/log_sys.h"
24 #include "lib/net/network_sys.h"
27 #include "lib/thread/thread_sys.h"
28 #include "lib/time/time_sys.h"
29 #include "lib/tls/tortls_sys.h"
30 #include "lib/trace/trace_sys.h"
32 #include "lib/evloop/evloop_sys.h"
33 
35 #include "feature/hs/hs_sys.h"
38 
39 #include <stddef.h>
40 
41 /**
42  * Global list of the subsystems in Tor, in the order of their initialization.
43  * Want to know the exact level numbers?
44  * We'll implement a level dump command in #31614.
45  **/
47  &sys_winprocess,
48  &sys_torerr,
49 
51  &sys_logging,
52  &sys_threads,
53 
54  &sys_tracing,
55 
56  &sys_time,
57 
58  &sys_crypto,
59  &sys_compress,
60  &sys_network,
61  &sys_tortls,
62 
63  &sys_evloop,
64  &sys_process,
65 
66  &sys_mainloop,
67  &sys_or,
68  &sys_dos,
69 
70  &sys_relay,
71  &sys_hs,
72 
73  &sys_btrack,
74 
75  &sys_dirauth,
76  &sys_metrics,
77 };
78 
79 const unsigned n_tor_subsystems = ARRAY_LENGTH(tor_subsystems);
const subsys_fns_t sys_wallclock
Definition: approx_time.c:60
Declare subsystem object for the bootstrap tracker susbystem.
Utility macros to handle different features and behavior in different compilers.
#define ARRAY_LENGTH(x)
Declare subsystem object for the compress module.
Declare subsystem object for the crypto module.
Header for dirauth_sys.c.
Header for core/or/dos_sys.c.
Declare subsystem object for the event loop module.
Header for feature/hs/hs_sys.c.
Declare subsystem object for the logging module.
Header for mainloop_sys.c.
Header for feature/metrics/metrics_sys.c.
Declare subsystem object for the network module.
Header for core/or/or_sys.c.
Declare subsystem object for the process module.
Header for feature/relay/relay_sys.c.
Header for subsysmgr.c.
const subsys_fns_t * tor_subsystems[]
Declare subsystem object for threads library.
Declare subsystem object for the time module.
Declare subsystem object for torerr.c.
Integer definitions used throughout Tor.
Declare subsystem object for the tortls module.
Declare subsystem object for the wallclock module.
Declare subsystem object for winprocess.c.