diff options
author | Joseph Hunkeler <jhunkeler@gmail.com> | 2020-02-11 11:43:25 -0500 |
---|---|---|
committer | Joseph Hunkeler <jhunkeler@gmail.com> | 2020-02-11 11:43:25 -0500 |
commit | 9bd603b639d7dd08fbe0af7e8669358bd066b7cd (patch) | |
tree | 8207b9680cc33846ff7d9ce0c8917aa052766c43 /include/conf.h | |
parent | b828cc647f63de48c6e24f5a1043e052eb99b2a2 (diff) | |
download | spmc-9bd603b639d7dd08fbe0af7e8669358bd066b7cd.tar.gz |
Refactor project structure:
* Move prototypes and definitions to respective header files
* Renamed strings.h to str.h to avoid collision with standard library header
Diffstat (limited to 'include/conf.h')
-rw-r--r-- | include/conf.h | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/include/conf.h b/include/conf.h new file mode 100644 index 0000000..e1ab93a --- /dev/null +++ b/include/conf.h @@ -0,0 +1,54 @@ +#ifndef SPM_CONF_H +#define SPM_CONF_H + +#define CONFIG_BUFFER_SIZE 1024 +#define PKG_DIR SPM_GLOBAL.package_dir +#define TMP_DIR SPM_GLOBAL.tmp_dir + +typedef struct { + char *key; + char *value; + size_t key_length; + size_t value_length; +} ConfigItem; + +typedef struct { + char *binpath; + char *includepath; + char *libpath; + char *datapath; + char *manpath; +} SPM_Hierarchy; + +typedef struct { + char *package_dir; + char *tmp_dir; + char *package_manifest; + char *mirror_config; + char **mirror_list; + char *repo_target; + char *user_config_basedir; + char *user_config_file; + int verbose; + ConfigItem **config; + struct utsname sysinfo; + SPM_Hierarchy fs; +} spm_vars; + +ConfigItem **config_read(const char *filename); +ConfigItem *config_get(ConfigItem **item, const char *key); +void config_free(ConfigItem **item); +void config_test(void); + +char *get_user_conf_dir(void); +char *get_user_config_file(void); +char *get_user_tmp_dir(void); +char *get_user_package_dir(void); +char *get_package_manifest(void); + +void init_config_global(void); +void free_global_config(void); +void show_global_config(void); +void check_runtime_environment(void); + +#endif //SPM_CONF_H |