tor

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

unitparse.h (1190B)


      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 unitparse.h
      9 * @brief Header for lib/confmgt/unitparse.c
     10 **/
     11 
     12 #ifndef TOR_LIB_CONFMGT_UNITPARSE_H
     13 #define TOR_LIB_CONFMGT_UNITPARSE_H
     14 
     15 #include <lib/cc/torint.h>
     16 
     17 /** Mapping from a unit name to a multiplier for converting that unit into a
     18 * base unit.  Used by config_parse_unit. */
     19 typedef struct unit_table_t {
     20  const char *unit; /**< The name of the unit */
     21  uint64_t multiplier; /**< How many of the base unit appear in this unit */
     22 } unit_table_t;
     23 
     24 extern const unit_table_t memory_units[];
     25 extern const unit_table_t time_units[];
     26 extern const struct unit_table_t time_msec_units[];
     27 
     28 uint64_t config_parse_units(const char *val, const unit_table_t *u, int *ok,
     29                            char **errmsg_out);
     30 
     31 uint64_t config_parse_memunit(const char *s, int *ok);
     32 int config_parse_msec_interval(const char *s, int *ok);
     33 int config_parse_interval(const char *s, int *ok);
     34 
     35 #endif /* !defined(TOR_LIB_CONFMGT_UNITPARSE_H) */