or_options_st.h: Add an include and a struct declaration.

This frees us from some dependencies on include order.
This commit is contained in:
Nick Mathewson 2019-12-16 13:04:07 -05:00
parent 8bb686d8a0
commit d7b8377c28

View file

@ -13,6 +13,7 @@
#ifndef TOR_OR_OPTIONS_ST_H #ifndef TOR_OR_OPTIONS_ST_H
#define TOR_OR_OPTIONS_ST_H #define TOR_OR_OPTIONS_ST_H
#include "core/or/or.h"
#include "lib/cc/torint.h" #include "lib/cc/torint.h"
#include "lib/net/address.h" #include "lib/net/address.h"
#include "app/config/tor_cmdline_mode.h" #include "app/config/tor_cmdline_mode.h"
@ -20,6 +21,7 @@
struct smartlist_t; struct smartlist_t;
struct config_line_t; struct config_line_t;
struct config_suite_t; struct config_suite_t;
struct routerset_t;
/** Enumeration of outbound address configuration types: /** Enumeration of outbound address configuration types:
* Exit-only, OR-only, or both */ * Exit-only, OR-only, or both */
@ -66,28 +68,29 @@ struct or_options_t {
char *Address; /**< OR only: configured address for this onion router. */ char *Address; /**< OR only: configured address for this onion router. */
char *PidFile; /**< Where to store PID of Tor process. */ char *PidFile; /**< Where to store PID of Tor process. */
routerset_t *ExitNodes; /**< Structure containing nicknames, digests, struct routerset_t *ExitNodes; /**< Structure containing nicknames, digests,
* country codes and IP address patterns of ORs to * country codes and IP address patterns of ORs to
* consider as exits. */ * consider as exits. */
routerset_t *MiddleNodes; /**< Structure containing nicknames, digests, struct routerset_t *MiddleNodes; /**< Structure containing nicknames,
* country codes and IP address patterns of ORs to * digests, country codes and IP address patterns
* consider as middles. */ * of ORs to consider as middles. */
routerset_t *EntryNodes;/**< Structure containing nicknames, digests, struct routerset_t *EntryNodes;/**< Structure containing nicknames, digests,
* country codes and IP address patterns of ORs to * country codes and IP address patterns of ORs to
* consider as entry points. */ * consider as entry points. */
int StrictNodes; /**< Boolean: When none of our EntryNodes or ExitNodes int StrictNodes; /**< Boolean: When none of our EntryNodes or ExitNodes
* are up, or we need to access a node in ExcludeNodes, * are up, or we need to access a node in ExcludeNodes,
* do we just fail instead? */ * do we just fail instead? */
routerset_t *ExcludeNodes;/**< Structure containing nicknames, digests, struct routerset_t *ExcludeNodes;/**< Structure containing nicknames,
* country codes and IP address patterns of ORs * digests, country codes and IP address patterns
* not to use in circuits. But see StrictNodes * of ORs not to use in circuits. But see
* above. */ * StrictNodes above. */
routerset_t *ExcludeExitNodes;/**< Structure containing nicknames, digests, struct routerset_t *ExcludeExitNodes;/**< Structure containing nicknames,
* country codes and IP address patterns of * digests, country codes and IP address
* ORs not to consider as exits. */ * patterns of ORs not to consider as
* exits. */
/** Union of ExcludeNodes and ExcludeExitNodes */ /** Union of ExcludeNodes and ExcludeExitNodes */
routerset_t *ExcludeExitNodesUnion_; struct routerset_t *ExcludeExitNodesUnion_;
int DisableAllSwap; /**< Boolean: Attempt to call mlockall() on our int DisableAllSwap; /**< Boolean: Attempt to call mlockall() on our
* process for all current and future memory. */ * process for all current and future memory. */
@ -274,11 +277,11 @@ struct or_options_t {
/** A routerset that should be used when picking middle nodes for HS /** A routerset that should be used when picking middle nodes for HS
* circuits. */ * circuits. */
routerset_t *HSLayer2Nodes; struct routerset_t *HSLayer2Nodes;
/** A routerset that should be used when picking third-hop nodes for HS /** A routerset that should be used when picking third-hop nodes for HS
* circuits. */ * circuits. */
routerset_t *HSLayer3Nodes; struct routerset_t *HSLayer3Nodes;
/** Onion Services in HiddenServiceSingleHopMode make one-hop (direct) /** Onion Services in HiddenServiceSingleHopMode make one-hop (direct)
* circuits between the onion service server, and the introduction and * circuits between the onion service server, and the introduction and
@ -811,17 +814,17 @@ struct or_options_t {
/** Relays in a testing network which should be voted Exit /** Relays in a testing network which should be voted Exit
* regardless of exit policy. */ * regardless of exit policy. */
routerset_t *TestingDirAuthVoteExit; struct routerset_t *TestingDirAuthVoteExit;
int TestingDirAuthVoteExitIsStrict; int TestingDirAuthVoteExitIsStrict;
/** Relays in a testing network which should be voted Guard /** Relays in a testing network which should be voted Guard
* regardless of uptime and bandwidth. */ * regardless of uptime and bandwidth. */
routerset_t *TestingDirAuthVoteGuard; struct routerset_t *TestingDirAuthVoteGuard;
int TestingDirAuthVoteGuardIsStrict; int TestingDirAuthVoteGuardIsStrict;
/** Relays in a testing network which should be voted HSDir /** Relays in a testing network which should be voted HSDir
* regardless of uptime and DirPort. */ * regardless of uptime and DirPort. */
routerset_t *TestingDirAuthVoteHSDir; struct routerset_t *TestingDirAuthVoteHSDir;
int TestingDirAuthVoteHSDirIsStrict; int TestingDirAuthVoteHSDirIsStrict;
/** Enable CONN_BW events. Only altered on testing networks. */ /** Enable CONN_BW events. Only altered on testing networks. */