summaryrefslogtreecommitdiff
path: root/src/or/main.h
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2018-07-05 16:31:38 -0400
committerNick Mathewson <nickm@torproject.org>2018-07-05 17:15:50 -0400
commit63b4ea22af8e8314dd718f02046de5f4b91edf9d (patch)
treeaf52b6fba37f22c86447fd5267dd5eb557807c8b /src/or/main.h
parentce84200542f48a92e8b56a8d032401ecd153e90c (diff)
downloadtor-63b4ea22af8e8314dd718f02046de5f4b91edf9d.tar.gz
tor-63b4ea22af8e8314dd718f02046de5f4b91edf9d.zip
Move literally everything out of src/or
This commit won't build yet -- it just puts everything in a slightly more logical place. The reasoning here is that "src/core" will hold the stuff that every (or nearly every) tor instance will need in order to do onion routing. Other features (including some necessary ones) will live in "src/feature". The "src/app" directory will hold the stuff needed to have Tor be an application you can actually run. This commit DOES NOT refactor the former contents of src/or into a logical set of acyclic libraries, or change any code at all. That will have to come in the future. We will continue to move things around and split them in the future, but I hope this lays a reasonable groundwork for doing so.
Diffstat (limited to 'src/or/main.h')
-rw-r--r--src/or/main.h122
1 files changed, 0 insertions, 122 deletions
diff --git a/src/or/main.h b/src/or/main.h
deleted file mode 100644
index 90146f4bd4..0000000000
--- a/src/or/main.h
+++ /dev/null
@@ -1,122 +0,0 @@
-/* Copyright (c) 2001 Matej Pfajfar.
- * Copyright (c) 2001-2004, Roger Dingledine.
- * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
- * Copyright (c) 2007-2018, The Tor Project, Inc. */
-/* See LICENSE for licensing information */
-
-/**
- * \file main.h
- * \brief Header file for main.c.
- **/
-
-#ifndef TOR_MAIN_H
-#define TOR_MAIN_H
-
-int have_completed_a_circuit(void);
-void note_that_we_completed_a_circuit(void);
-void note_that_we_maybe_cant_complete_circuits(void);
-
-int connection_add_impl(connection_t *conn, int is_connecting);
-#define connection_add(conn) connection_add_impl((conn), 0)
-#define connection_add_connecting(conn) connection_add_impl((conn), 1)
-int connection_remove(connection_t *conn);
-void connection_unregister_events(connection_t *conn);
-int connection_in_array(connection_t *conn);
-void add_connection_to_closeable_list(connection_t *conn);
-int connection_is_on_closeable_list(connection_t *conn);
-
-MOCK_DECL(smartlist_t *, get_connection_array, (void));
-MOCK_DECL(uint64_t,get_bytes_read,(void));
-MOCK_DECL(uint64_t,get_bytes_written,(void));
-void stats_increment_bytes_read_and_written(uint64_t r, uint64_t w);
-
-/** Bitmask for events that we can turn on and off with
- * connection_watch_events. */
-typedef enum watchable_events {
- /* Yes, it is intentional that these match Libevent's EV_READ and EV_WRITE */
- READ_EVENT=0x02, /**< We want to know when a connection is readable */
- WRITE_EVENT=0x04 /**< We want to know when a connection is writable */
-} watchable_events_t;
-void connection_watch_events(connection_t *conn, watchable_events_t events);
-int connection_is_reading(connection_t *conn);
-MOCK_DECL(void,connection_stop_reading,(connection_t *conn));
-MOCK_DECL(void,connection_start_reading,(connection_t *conn));
-
-int connection_is_writing(connection_t *conn);
-MOCK_DECL(void,connection_stop_writing,(connection_t *conn));
-MOCK_DECL(void,connection_start_writing,(connection_t *conn));
-
-void tor_shutdown_event_loop_and_exit(int exitcode);
-int tor_event_loop_shutdown_is_pending(void);
-
-void connection_stop_reading_from_linked_conn(connection_t *conn);
-
-MOCK_DECL(int, connection_count_moribund, (void));
-
-void directory_all_unreachable(time_t now);
-void directory_info_has_arrived(time_t now, int from_cache, int suppress_logs);
-
-void ip_address_changed(int at_interface);
-void dns_servers_relaunch_checks(void);
-void reset_all_main_loop_timers(void);
-void reschedule_descriptor_update_check(void);
-void reschedule_directory_downloads(void);
-void reschedule_or_state_save(void);
-void reschedule_dirvote(const or_options_t *options);
-void mainloop_schedule_postloop_cleanup(void);
-void rescan_periodic_events(const or_options_t *options);
-
-void update_current_time(time_t now);
-
-MOCK_DECL(long,get_uptime,(void));
-MOCK_DECL(void,reset_uptime,(void));
-
-unsigned get_signewnym_epoch(void);
-
-void handle_signals(void);
-void activate_signal(int signal_num);
-
-int try_locking(const or_options_t *options, int err_if_locked);
-int have_lockfile(void);
-void release_lockfile(void);
-
-void tor_remove_file(const char *filename);
-
-void tor_cleanup(void);
-void tor_free_all(int postfork);
-
-int do_main_loop(void);
-int tor_init(int argc, char **argv);
-
-void reset_main_loop_counters(void);
-uint64_t get_main_loop_success_count(void);
-uint64_t get_main_loop_error_count(void);
-uint64_t get_main_loop_idle_count(void);
-
-void periodic_events_on_new_options(const or_options_t *options);
-void reschedule_per_second_timer(void);
-
-struct token_bucket_rw_t;
-
-extern time_t time_of_process_start;
-extern int quiet_level;
-extern struct token_bucket_rw_t global_bucket;
-extern struct token_bucket_rw_t global_relayed_bucket;
-
-#ifdef MAIN_PRIVATE
-STATIC void init_connection_lists(void);
-STATIC void initialize_mainloop_events(void);
-STATIC void close_closeable_connections(void);
-STATIC void initialize_periodic_events(void);
-STATIC void teardown_periodic_events(void);
-STATIC int get_my_roles(const or_options_t *options);
-#ifdef TOR_UNIT_TESTS
-extern smartlist_t *connection_array;
-
-/* We need the periodic_event_item_t definition. */
-#include "or/periodic.h"
-extern periodic_event_item_t periodic_events[];
-#endif
-#endif /* defined(MAIN_PRIVATE) */
-
-#endif /* !defined(TOR_MAIN_H) */