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