tor

The Tor anonymity network
git clone https://git.dasho.dev/tor.git
Log | Files | Refs | README | LICENSE

ns_parse.h (2191B)


      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 ns_parse.h
      9 * \brief Header file for ns_parse.c.
     10 **/
     11 
     12 #ifndef TOR_NS_PARSE_H
     13 #define TOR_NS_PARSE_H
     14 
     15 int router_get_networkstatus_v3_hashes(const char *s, size_t len,
     16                                       common_digests_t *digests);
     17 int router_get_networkstatus_v3_signed_boundaries(const char *s, size_t len,
     18                                                  const char **start_out,
     19                                                  const char **end_out);
     20 int router_get_networkstatus_v3_sha3_as_signed(uint8_t *digest_out,
     21                                               const char *s, size_t len);
     22 int compare_vote_routerstatus_entries(const void **_a, const void **_b);
     23 
     24 int networkstatus_verify_bw_weights(networkstatus_t *ns, int);
     25 enum networkstatus_type_t;
     26 networkstatus_t *networkstatus_parse_vote_from_string(const char *s,
     27                                           size_t len,
     28                                           const char **eos_out,
     29                                           enum networkstatus_type_t ns_type);
     30 
     31 #ifdef NS_PARSE_PRIVATE
     32 STATIC int routerstatus_parse_guardfraction(const char *guardfraction_str,
     33                                            networkstatus_t *vote,
     34                                            vote_routerstatus_t *vote_rs,
     35                                            routerstatus_t *rs);
     36 struct memarea_t;
     37 STATIC routerstatus_t *routerstatus_parse_entry_from_string(
     38                                     struct memarea_t *area,
     39                                     const char **s, const char *eos,
     40                                     smartlist_t *tokens,
     41                                     networkstatus_t *vote,
     42                                     vote_routerstatus_t *vote_rs,
     43                                     int consensus_method,
     44                                     consensus_flavor_t flav);
     45 #endif /* defined(NS_PARSE_PRIVATE) */
     46 
     47 #endif /* !defined(TOR_NS_PARSE_H) */