aboutsummaryrefslogtreecommitdiff
path: root/src/feature/rend/rendclient.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/feature/rend/rendclient.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/feature/rend/rendclient.h')
-rw-r--r--src/feature/rend/rendclient.h54
1 files changed, 54 insertions, 0 deletions
diff --git a/src/feature/rend/rendclient.h b/src/feature/rend/rendclient.h
new file mode 100644
index 0000000000..77395d6cb8
--- /dev/null
+++ b/src/feature/rend/rendclient.h
@@ -0,0 +1,54 @@
+/* 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 rendclient.h
+ * \brief Header file for rendclient.c.
+ **/
+
+#ifndef TOR_RENDCLIENT_H
+#define TOR_RENDCLIENT_H
+
+#include "or/rendcache.h"
+
+void rend_client_purge_state(void);
+
+void rend_client_introcirc_has_opened(origin_circuit_t *circ);
+void rend_client_rendcirc_has_opened(origin_circuit_t *circ);
+int rend_client_introduction_acked(origin_circuit_t *circ,
+ const uint8_t *request,
+ size_t request_len);
+void rend_client_refetch_v2_renddesc(rend_data_t *rend_query);
+int rend_client_fetch_v2_desc(rend_data_t *query, smartlist_t *hsdirs);
+void rend_client_cancel_descriptor_fetches(void);
+
+int rend_client_report_intro_point_failure(extend_info_t *failed_intro,
+ rend_data_t *rend_data,
+ unsigned int failure_type);
+
+int rend_client_receive_rendezvous(origin_circuit_t *circ,
+ const uint8_t *request,
+ size_t request_len);
+void rend_client_desc_trynow(const char *query);
+
+void rend_client_note_connection_attempt_ended(const rend_data_t *rend_data);
+
+extend_info_t *rend_client_get_random_intro(const rend_data_t *rend_query);
+int rend_client_any_intro_points_usable(const rend_cache_entry_t *entry);
+
+int rend_client_send_introduction(origin_circuit_t *introcirc,
+ origin_circuit_t *rendcirc);
+int rend_parse_service_authorization(const or_options_t *options,
+ int validate_only);
+rend_service_authorization_t *rend_client_lookup_service_authorization(
+ const char *onion_address);
+void rend_service_authorization_free_all(void);
+
+int rend_client_allow_non_anonymous_connection(const or_options_t *options);
+int rend_client_non_anonymous_mode_enabled(const or_options_t *options);
+
+#endif /* !defined(TOR_RENDCLIENT_H) */
+