]> git.proxmox.com Git - ceph.git/blob - ceph/src/pmdk/src/tools/rpmemd/rpmemd_config.h
import ceph 16.2.7
[ceph.git] / ceph / src / pmdk / src / tools / rpmemd / rpmemd_config.h
1 /* SPDX-License-Identifier: BSD-3-Clause */
2 /* Copyright 2016-2020, Intel Corporation */
3
4 /*
5 * rpmemd_config.h -- internal definitions for rpmemd config
6 */
7
8 #include <stdint.h>
9 #include <stdbool.h>
10
11 #ifndef RPMEMD_DEFAULT_LOG_FILE
12 #define RPMEMD_DEFAULT_LOG_FILE ("/var/log/" DAEMON_NAME ".log")
13 #endif
14
15 #ifndef RPMEMD_GLOBAL_CONFIG_FILE
16 #define RPMEMD_GLOBAL_CONFIG_FILE ("/etc/" DAEMON_NAME "/" DAEMON_NAME\
17 ".conf")
18 #endif
19
20 #define RPMEMD_USER_CONFIG_FILE ("." DAEMON_NAME ".conf")
21
22 #define RPMEM_DEFAULT_MAX_LANES 1024
23
24 #define RPMEM_DEFAULT_NTHREADS 0
25
26 #define HOME_ENV "HOME"
27
28 #define HOME_STR_PLACEHOLDER ("$" HOME_ENV)
29
30 struct rpmemd_config {
31 char *log_file;
32 char *poolset_dir;
33 const char *rm_poolset;
34 bool force;
35 bool pool_set;
36 bool persist_apm;
37 bool persist_general;
38 bool use_syslog;
39 uint64_t max_lanes;
40 enum rpmemd_log_level log_level;
41 size_t nthreads;
42 };
43
44 int rpmemd_config_read(struct rpmemd_config *config, int argc, char *argv[]);
45 void rpmemd_config_free(struct rpmemd_config *config);