summaryrefslogtreecommitdiff
path: root/src/dged/settings.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/dged/settings.h')
-rw-r--r--src/dged/settings.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/dged/settings.h b/src/dged/settings.h
index 5d245d9..80f6b0f 100644
--- a/src/dged/settings.h
+++ b/src/dged/settings.h
@@ -135,3 +135,25 @@ void setting_set_value(struct setting *setting, struct setting_value val);
* @param n Size in bytes of @ref buf.
*/
void setting_to_string(struct setting *setting, char *buf, size_t n);
+
+/**
+ * Parse settings from a string in TOML format.
+ *
+ * @param toml Pointer to a NULL-terminated string containing TOML settings.
+ * @param errmsgs Pointer to a string array where error messages will be placed. These
+ * messages must be freed after use.
+ * @returns 0 on success, n > 0 where n denotes the number of error messages in
+ * @ref errmsgs
+ */
+int32_t settings_from_string(const char *toml, char **errmsgs[]);
+
+/**
+ * Parse settings from a file in TOML format.
+ *
+ * @param toml Pointer to a NULL-terminated string describing a path to a TOML file with settings.
+ * @param errmsgs Pointer to a string array where error messages will be placed. These
+ * messages must be freed after use.
+ * @returns 0 on success, n > 0 where n denotes the number of error messages in
+ * @ref errmsgs
+ */
+int32_t settings_from_file(const char *path, char **errmsgs[]);