aboutsummaryrefslogtreecommitdiff
path: root/mpiosh/cfgio.h
diff options
context:
space:
mode:
Diffstat (limited to 'mpiosh/cfgio.h')
-rw-r--r--mpiosh/cfgio.h453
1 files changed, 0 insertions, 453 deletions
diff --git a/mpiosh/cfgio.h b/mpiosh/cfgio.h
deleted file mode 100644
index d58cd3f..0000000
--- a/mpiosh/cfgio.h
+++ /dev/null
@@ -1,453 +0,0 @@
-/* configreader and -writer
- *
- * Source in ANSI C, except function strdup
- * needs _BSD_SOURCE or _SVID_SOURCE defined, if compiled ANSI
- * Thomas Buntrock (bunti@tzi.de)
- *
- * Comments in configfile are allowed, but ONLY at the BEGINNING of a line
- * When reading a config then writing the same, all comments will be removed
- *
- * The groupname MUST be put exactly between two square braces, e.g. [Name].
- * Any Spaces in between are interpreted as part of the name.
- *
- * Keys and their value are separated by "=". Leading and following spaces
- * are removed.
- * Spaces right before and after the "=" are removed. Spaces in the value
- * will remain.
- * Keys without value are accepted, BUT the "=" is MANDATORY.
- *
- * A config line MUST NOT be longer than _CFG_MAX_LINE_SIZE (default: 256)
- *
- */
-
-#ifndef _CFG_IO_H
-#define _CFG_IO_H
-
-#include <stdio.h>
-#include <errno.h>
-#include <string.h>
-#include <stdlib.h>
-#include <pwd.h>
-#include <sys/types.h>
-#include <ctype.h>
-
-#define _CFG_MAX_LINE_SIZE 256
-
-/* define bool */
-#ifndef TRUE
-#define TRUE 1
-#define FALSE 0
-#endif
-
-typedef unsigned char bool;
-
-struct _CFG_Key {
- char *name;
- char *value;
- struct _CFG_Key* prev;
- struct _CFG_Key* next;
- struct _CFG_Group* pp;
-};
-
-struct _CFG_Group {
- char *name;
- struct _CFG_Group* prev;
- struct _CFG_Group* next;
- struct _CFG_Key* first;
- struct _CFG_Key* last;
- struct _CFG_Handle* pp;
-};
-
-struct _CFG_Handle {
- FILE *file;
- char *filename;
- struct _CFG_Group *first;
- struct _CFG_Group *last;
-};
-
-
-typedef struct _CFG_Key CfgKey;
-typedef struct _CFG_Group CfgGroup;
-typedef struct _CFG_Handle CfgHandle;
-typedef int (*cfg_key_func)(CfgKey *key);
-
-char *cfg_resolve_path(const char *filename);
-
-/*
- * files: a list of files
- * e.g. char *files[] = { ".blarc", ".bla", "blarc", NULL };
- *
- * paths: a list of paths
- * e.g. char *paths[] = { "~/", "/etc/" "etc/", NULL};
- *
- * select the first path and iterates through the files,
- * then select the next path...
- *
- * returns the first match of: path/file
- */
-char *cfg_find_file (char **files, char **paths);
-
-/*
- * Save the config
- *
- * close: close the file after saving
- *
- * returns 0 on success or -1 on failure
- */
-int cfg_save (CfgHandle *handle, int close);
-
-/*
- * Save the config with another filename
- *
- * handle : the config handle
- * filename : the new filename
- * reportErrors: 0 does not report errors the stderr
- * close : close the file after saving
- *
- * returns 0 on success or -1 on failure
- */
-int cfg_save_as (CfgHandle *handle, const char* filename,
- int reportErrors, int close);
-/*
- * Read config file
- * requires the Handle to be associated to a file and being opened
- *
- * handle: the config handle
- * close : close the file after reading
- *
- * returns 0 on success or -1 on failure
- */
-int cfg_read (CfgHandle *handle, int close);
-
-/*
- * Open a file to read or save
- *
- * handle : the config handle
- * reportErrors: write errors to stderr
- * mode : the mode the file should be opened with (man 3 fopen)
- *
- * returns 0 on success or -1 on failure
- */
-int cfg_open (CfgHandle *handle, int reportErrors,
- const char* mode);
-/*
- * Open a file in read mode
- *
- * handle : the config handle
- * filename : the filename of the config file
- * reportErrors: write errors to stderr
- * close : close the file after reading
- *
- * returns 0 on success or -1 on failure
- */
-int cfg_open_read (CfgHandle *handle, const char* filename,
- int reportErrors, int close);
-/*
- * Close the file
- *
- * h: the config handle
- *
- * returns 0 on success or -1 if the handle was NULL or the was already closed
- */
-int cfg_close (CfgHandle *h);
-
-/*
- * Create a new empty file handle
- *
- * returns the pointer to the new handle
- */
-CfgHandle* cfg_handle_new ();
-
-/*
- * Create a new filehandle
- *
- * filename: the filename of the configfile
- * read : read the config file
- *
- * returns the pointer to the new handle
- */
-CfgHandle* cfg_handle_new_with_filename (const char* filename, int read);
-
-/*
- * Change the filename of the config file
- * only the internal filename ist changed, to apply on disk you need to call
- * cfg_save
- *
- * filename: new filename
- *
- * returns 0 on success or -1 on failure
- */
-int cfg_handle_change_filename (CfgHandle *h, const char* filename);
-
-/*
- * Delete the handle
- * An opened file will be closed
- *
- * h: the config handle
- */
-void cfg_handle_free (CfgHandle* h);
-
-/*
- * Create a new group within the config
- *
- * handle: the config handle
- * name : name of the group
- *
- * returns 0 on success or -1 on failure
- */
-int cfg_group_new (CfgHandle* handle, const char* name);
-
-/*
- * Delete a group within the config
- * All keys within this group will be delete as well
- *
- * handle: the config handle
- * name : the name of the group
- */
-void cfg_group_free (CfgHandle* handle, const char* name);
-
-/*
- * returns a handle to the group g if found.
- *
- * handle: the config handle
- * name : the name of the group to search for
- */
-CfgGroup* cfg_find_group(CfgHandle* h, const char* g);
-
-/*
- * Create a new key within a group within the config
- *
- * h : the config handle
- * g : name of the group
- * key: name of the key
- *
- * returns 0 on success or -1 on failure
- */
-int cfg_key_new (CfgHandle* h, const char* g, const char* key);
-
-/*
- * Create a new key within the group within the config and set its value
- *
- * h : the config handle
- * g : name of the group
- * key : name of the key
- * value: value for the key
- *
- * returns 0 on success or -1 on failure
- */
-int cfg_key_new_with_value (CfgHandle* h, const char* g, const char* key,
- const char* value);
-
-/*
- * Set the value for a specific key within a group of the config
- *
- * h : the config handle
- * g : name of the group
- * key : name of the key
- * value: value for the key
- *
- * returns 0 on success or -1 on failure
- */
-int cfg_key_set_value (CfgHandle* h, const char* g, const char* key,
- const char* value);
-
-/*
- * Set the value for a specific key within a group of the config
- *
- * h : the config handle
- * g : name of the group
- * key : name of the key
- * value: value for the key
- *
- * returns 0 on success or -1 on failure
- */
-int cfg_key_set_uint_value (CfgHandle *h, const char* g, const char* key,
- unsigned int value);
-
-/*
- * Set the value for a specific key within a group of the config
- *
- * h : the config handle
- * g : name of the group
- * key : name of the key
- * value: value for the key
- *
- * returns 0 on success or -1 on failure
- */
-int cfg_key_set_int_value (CfgHandle *h, const char* g, const char* key,
- int value);
-
-/*
- * Set the value for a specific key within a group of the config
- *
- * h : the config handle
- * g : name of the group
- * key : name of the key
- * value: value for the key
- *
- * returns 0 on success or -1 on failure
- */
-int cfg_key_set_double_value (CfgHandle *h, const char* g, const char* key,
- double value);
-
-/*
- * Set the value for a specific key within a group of the config
- *
- * h : the config handle
- * g : name of the group
- * key : name of the key
- * value: value for the key
- *
- * returns 0 on success or -1 on failure
- */
-int cfg_key_set_float_value (CfgHandle *h, const char* g, const char* key,
- float value);
-
-/*
- * Set the value for a specific key within a group of the config
- *
- * h : the config handle
- * g : name of the group
- * key : name of the key
- * value: value for the key
- *
- * returns 0 on success or -1 on failure
- */
-int cfg_key_set_bool_value (CfgHandle *h, const char* g, const char* key,
- bool value);
-
-/*
- * Set the value for a specific key within a group of the config
- *
- * h : the config handle
- * g : name of the group
- * key : name of the key
- * value: value for the key
- *
- * returns 0 on success or -1 on failure
- */
-int cfg_key_set_char_value (CfgHandle *h, const char* g, const char* key,
- char value);
-
-/*
- * Delete a key of a group within the config
- *
- * h : the config handle
- * g : name of the group
- * key : name of the key
- */
-void cfg_key_free (CfgHandle* h, const char* g, const char* key);
-
-/*
- * Get the value of a key within a group of the config
- *
- * h : the config handle
- * g : name of the group
- * key: name of the key
- * res: the result will be stored in this variable
- *
- * returns 0 on success or -1 on failure
- */
-int cfg_key_get_value_as_bool (CfgHandle* h, const char* g, const char* key,
- bool *res);
-
-/*
- * Get the value of a key within a group of the config
- *
- * h : the config handle
- * g : name of the group
- * key: name of the key
- * res: the result will be stored in this variable
- *
- * returns 0 on success or -1 on failure
- */
-int cfg_key_get_value_as_uint (CfgHandle* h, const char* g, const char* key,
- unsigned int *res);
-
-/*
- * Get the value of a key within a group of the config
- *
- * h : the config handle
- * g : name of the group
- * key: name of the key
- * res: the result will be stored in this variable
- *
- * returns 0 on success or -1 on failure
- */
-int cfg_key_get_value_as_int (CfgHandle* h, const char* g, const char* key,
- int *res);
-
-/*
- * Get the value of a key within a group of the config
- *
- * h : the config handle
- * g : name of the group
- * key: name of the key
- * res: the result will be stored in this variable
- *
- * returns 0 on success or -1 on failure
- */
-int cfg_key_get_value_as_ushort (CfgHandle* h, const char* g, const char* key,
- unsigned short *res);
-
-/*
- * Get the value of a key within a group of the config
- *
- * h : the config handle
- * g : name of the group
- * key: name of the key
- * res: the result will be stored in this variable
- *
- * returns 0 on success or -1 on failure
- */
-int cfg_key_get_value_as_short (CfgHandle* h, const char* g, const char* key,
- short *res);
-
-/*
- * Get the value of a key within a group of the config
- *
- * h : the config handle
- * g : name of the group
- * key: name of the key
- * res: the result will be stored in this variable
- *
- * returns 0 on success or -1 on failure
- */
-int cfg_key_get_value_as_double (CfgHandle* h, const char* g, const char* key,
- double *res);
-
-/*
- * Get the value of a key within a group of the config
- *
- * h : the config handle
- * g : name of the group
- * key: name of the key
- * res: the result will be stored in this variable
- *
- * returns 0 on success or -1 on failure
- */
-int cfg_key_get_value_as_float (CfgHandle* h, const char* g, const char* key,
- float *res);
-
-/*
- * Get the value of a key within a group of the config
- *
- * h : the config handle
- * g : name of the group
- * key: name of the key
- *
- * returns the value of the key or NULL if empty
- */
-const char* cfg_key_get_value (CfgHandle* h, const char* g, const char* key);
-
-/*
- * iterators through key value pairs of a group
- *
- * h : the config handle
- * grp : name of the group
- * func: pointer to the function to call with each element
- *
- * returns the value of the key or NULL if empty
- */
-void cfg_key_for_each (CfgHandle* h, const char* grp, cfg_key_func func);
-#endif /* _CFG_IO_H */