From bc25e14b448edb9f41260a23cf6567e6632db267 Mon Sep 17 00:00:00 2001 From: gramanas Date: Sun, 15 Apr 2018 00:43:08 +0300 Subject: dummy init done action parser conf parser db layer --- src/confparser.h | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 src/confparser.h (limited to 'src/confparser.h') diff --git a/src/confparser.h b/src/confparser.h new file mode 100644 index 0000000..2ed8f82 --- /dev/null +++ b/src/confparser.h @@ -0,0 +1,45 @@ +/* confparser.h - Configuration file parser for ck -------------*- C -*- + * + * This file is part of ck, the config keeper + * + * --------------------------------------------------------------------- + * The code here and in confparser.c is responsible parsing + * the configuration and get the values set there + * ------------------------------------------------------------------ */ +#ifndef CONFPARSER_H +#define CONFPARSER_H +#define CONFIG_VARIABLES_TABLE \ + X(VC_dir, " version_control_dir = %s ", "Version Control directory") \ + X(SCRT_dir, " secret_dir = %s " , "Secret directory") + + +typedef enum ConfingVariables ConfVar; +#define X(var, str, name) CV_##var, +enum ConfingVariables { + CV_NO_VAL_OR_COMMENT, + CONFIG_VARIABLES_TABLE +}; +#undef X + +typedef enum ConfigParserResults ConfigParserResult; +#define X(var, str, name) \ + CPR_WRONG_##var, +enum ConfigParserResults { + CPR_OK, + CPR_NO_CONFIG_FILE, + CPR_WRONG_CONFIG, + CONFIG_VARIABLES_TABLE +}; +#undef X + +typedef struct ConfigValues Conf; +#define X(var, str, name) char* var; +struct ConfigValues { + ConfigParserResult result; + CONFIG_VARIABLES_TABLE +}; +#undef X + +extern int config_file_parse(Conf *conf); + +#endif // CONFPARSER_H -- cgit v1.2.3