summaryrefslogtreecommitdiffstats
path: root/src/conf.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/conf.h')
-rw-r--r--src/conf.h55
1 files changed, 55 insertions, 0 deletions
diff --git a/src/conf.h b/src/conf.h
new file mode 100644
index 0000000..4fce884
--- /dev/null
+++ b/src/conf.h
@@ -0,0 +1,55 @@
+#ifndef CONF_H_
+#define CONF_H_
+
+/**
+ * Initialises the libconfig code, called once at the
+ * start of nwipe, prior to any attempts to access
+ * nwipe's config file /etc/nwipe/nwipe.conf
+ * @param none
+ * @return int
+ * 0 = success
+ * -1 = error
+ */
+int nwipe_conf_init();
+
+/**
+ * Before exiting nwipe, this function should be called
+ * to free up libconfig's memory usage
+ * @param none
+ * @return void
+ */
+void nwipe_conf_close();
+
+void save_selected_customer( char** );
+
+/**
+ * int nwipe_conf_update_setting( char *, char * );
+ * Use this function to update a setting in nwipe.conf
+ * @param char * this is the group name and setting name separated by a period '.'
+ * i.e "PDF_Certificate.PDF_Enable"
+ * @param char * this is the setting, i.e ENABLED
+ * @return int 0 = Success
+ * 1 = Unable to update memory copy
+ * 2 = Unable to write new configuration to /etc/nwipe/nwipe.conf
+ */
+int nwipe_conf_update_setting( char*, char* );
+
+/**
+ * int nwipe_conf_read_setting( char *, char *, const char ** )
+ * Use this function to read a setting value in nwipe.conf
+ * @param char * this is the group name
+ * @param char * this is the setting name
+ * @param char ** this is a pointer to the setting value
+ * @return int 0 = Success
+ * -1 = Unable to find the specified group name
+ * -2 = Unable to find the specified setting name
+ */
+int nwipe_conf_read_setting( char*, const char** );
+
+int nwipe_conf_populate( char* path, char* value );
+
+#define FIELD_LENGTH 256
+#define NUMBER_OF_FIELDS 4
+#define MAX_GROUP_DEPTH 4
+
+#endif /* CONF_H_ */