1#ifndef _FSSH_DRIVER_SETTINGS_H
2#define _FSSH_DRIVER_SETTINGS_H
3
4
5#include "fssh_defs.h"
6
7
8typedef struct fssh_driver_parameter {
9	char *name;
10	int	value_count;
11	char **values;
12	int parameter_count;
13	struct fssh_driver_parameter *parameters;
14} fssh_driver_parameter;
15
16typedef struct fssh_driver_settings {
17	int parameter_count;
18	struct fssh_driver_parameter *parameters;
19} fssh_driver_settings;
20
21
22#ifdef __cplusplus
23extern "C" {
24#endif
25
26
27extern void*			fssh_load_driver_settings(const char *driverName);
28extern fssh_status_t	fssh_unload_driver_settings(void *handle);
29
30extern void*			fssh_parse_driver_settings_string(
31							const char *settingsString);
32extern fssh_status_t	fssh_get_driver_settings_string(void *_handle,
33							char *buffer, fssh_size_t *_bufferSize, bool flat);
34extern fssh_status_t	fssh_delete_driver_settings(void *handle);
35
36extern const char*		fssh_get_driver_parameter(void *handle, const char *key,
37							const char *unknownValue,	/* key not present */
38							const char *noargValue);	/* key has no value */
39extern bool				fssh_get_driver_boolean_parameter(void *handle,
40							const char *key, bool unknownValue,
41							bool noargValue);
42
43extern const fssh_driver_settings *fssh_get_driver_settings(void *handle);
44
45/* Pass this in as drivername to access safe mode settings */
46#define FSSH_B_SAFEMODE_DRIVER_SETTINGS	"/safemode/"
47
48/* Pass this as the key value to check if safe mode is enabled */
49#define FSSH_B_SAFEMODE_SAFE_MODE		"safemode"
50
51
52#ifdef __cplusplus
53}
54#endif
55
56#endif	// _FSSH_DRIVER_SETTINGS_H
57