Tor 0.4.9.0-alpha-dev
vote_routerstatus_st.h
Go to the documentation of this file.
1/* Copyright (c) 2001 Matej Pfajfar.
2 * Copyright (c) 2001-2004, Roger Dingledine.
3 * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
4 * Copyright (c) 2007-2021, The Tor Project, Inc. */
5/* See LICENSE for licensing information */
6
7/**
8 * @file vote_routerstatus_st.h
9 * @brief Routerstatus (vote entry) structure
10 **/
11#ifndef VOTE_ROUTERSTATUS_ST_H
12#define VOTE_ROUTERSTATUS_ST_H
13
16
17/** The claim about a single router, made in a vote. */
19 routerstatus_t status; /**< Underlying 'status' object for this router.
20 * Flags are redundant. */
21 time_t published_on; /**< When was this router published? */
22 /** How many known-flags are allowed in a vote? This is the width of
23 * the flags field of vote_routerstatus_t */
24#define MAX_KNOWN_FLAGS_IN_VOTE 64
25 uint64_t flags; /**< Bit-field for all recognized flags; index into
26 * networkstatus_t.known_flags. */
27 char *version; /**< The version that the authority says this router is
28 * running. */
29 char *protocols; /**< The protocols that this authority says this router
30 * provides. */
31 unsigned int has_measured_bw:1; /**< The vote had a measured bw */
32 /** True iff the vote included an entry for ed25519 ID, or included
33 * "id ed25519 none" to indicate that there was no ed25519 ID. */
34 unsigned int has_ed25519_listing:1;
35 /** True if the Ed25519 listing here is the consensus-opinion for the
36 * Ed25519 listing; false if there was no consensus on Ed25519 key status,
37 * or if this VRS doesn't reflect it. */
39 uint32_t measured_bw_kb; /**< Measured bandwidth (capacity) of the router */
40 /** The hash or hashes that the authority claims this microdesc has. */
42 /** Ed25519 identity for this router, or zero if it has none. */
44};
45
46#endif /* !defined(VOTE_ROUTERSTATUS_ST_H) */
Routerstatus (consensus entry) structure.
uint8_t ed25519_id[ED25519_PUBKEY_LEN]
unsigned int has_ed25519_listing
vote_microdesc_hash_t * microdesc
unsigned int ed25519_reflects_consensus
Definitions for sizes of x25519 keys and elements.
#define ED25519_PUBKEY_LEN
Definition: x25519_sizes.h:27