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