Tor 0.4.9.0-alpha-dev
unitparse.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 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. */
19typedef 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 */
23
24extern const unit_table_t memory_units[];
25extern const unit_table_t time_units[];
26extern const struct unit_table_t time_msec_units[];
27
28uint64_t config_parse_units(const char *val, const unit_table_t *u, int *ok,
29 char **errmsg_out);
30
31uint64_t config_parse_memunit(const char *s, int *ok);
32int config_parse_msec_interval(const char *s, int *ok);
33int config_parse_interval(const char *s, int *ok);
34
35#endif /* !defined(TOR_LIB_CONFMGT_UNITPARSE_H) */
uint64_t multiplier
Definition: unitparse.h:21
const char * unit
Definition: unitparse.h:20
Integer definitions used throughout Tor.
const unit_table_t memory_units[]
Definition: unitparse.c:27
const struct unit_table_t time_msec_units[]
Definition: unitparse.c:97
const unit_table_t time_units[]
Definition: unitparse.c:76
int config_parse_interval(const char *s, int *ok)
Definition: unitparse.c:250
uint64_t config_parse_memunit(const char *s, int *ok)
Definition: unitparse.c:222
uint64_t config_parse_units(const char *val, const unit_table_t *u, int *ok, char **errmsg_out)
Definition: unitparse.c:127
int config_parse_msec_interval(const char *s, int *ok)
Definition: unitparse.c:233