Added driver settings support to the FS shell.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21233 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -22,6 +22,7 @@
|
||||
#include "fssh_defs.h"
|
||||
#include "fssh_disk_device_defs.h"
|
||||
#include "fssh_disk_device_manager.h"
|
||||
#include "fssh_driver_settings.h"
|
||||
#include "fssh_drivers.h"
|
||||
#include "fssh_errors.h"
|
||||
#include "fssh_fs_attr.h"
|
||||
@@ -350,6 +351,24 @@
|
||||
#define update_disk_device_job_interrupt_properties fssh_update_disk_device_job_interrupt_properties
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// #pragma mark - fssh_driver_settings.h
|
||||
|
||||
#define driver_parameter fssh_driver_parameter
|
||||
#define driver_settings fssh_driver_settings
|
||||
|
||||
#define load_driver_settings fssh_load_driver_settings
|
||||
#define unload_driver_settings fssh_unload_driver_settings
|
||||
#define parse_driver_settings_string fssh_parse_driver_settings_string
|
||||
#define get_driver_settings_string fssh_get_driver_settings_string
|
||||
#define delete_driver_settings fssh_delete_driver_settings
|
||||
#define get_driver_parameter fssh_get_driver_parameter
|
||||
#define get_driver_boolean_parameter fssh_get_driver_boolean_parameter
|
||||
#define get_driver_settings fssh_get_driver_settings
|
||||
|
||||
#define B_SAFEMODE_DRIVER_SETTINGS FSSH_B_SAFEMODE_DRIVER_SETTINGS
|
||||
#define B_SAFEMODE_SAFE_MODE FSSH_B_SAFEMODE_SAFE_MODE
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// #pragma mark - fssh_drivers.h
|
||||
|
||||
@@ -0,0 +1,56 @@
|
||||
#ifndef _FSSH_DRIVER_SETTINGS_H
|
||||
#define _FSSH_DRIVER_SETTINGS_H
|
||||
|
||||
|
||||
#include "fssh_defs.h"
|
||||
|
||||
|
||||
typedef struct fssh_driver_parameter {
|
||||
char *name;
|
||||
int value_count;
|
||||
char **values;
|
||||
int parameter_count;
|
||||
struct fssh_driver_parameter *parameters;
|
||||
} fssh_driver_parameter;
|
||||
|
||||
typedef struct fssh_driver_settings {
|
||||
int parameter_count;
|
||||
struct fssh_driver_parameter *parameters;
|
||||
} fssh_driver_settings;
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
|
||||
extern void* fssh_load_driver_settings(const char *driverName);
|
||||
extern fssh_status_t fssh_unload_driver_settings(void *handle);
|
||||
|
||||
extern void* fssh_parse_driver_settings_string(
|
||||
const char *settingsString);
|
||||
extern fssh_status_t fssh_get_driver_settings_string(void *_handle,
|
||||
char *buffer, fssh_size_t *_bufferSize, bool flat);
|
||||
extern fssh_status_t fssh_delete_driver_settings(void *handle);
|
||||
|
||||
extern const char* fssh_get_driver_parameter(void *handle, const char *key,
|
||||
const char *unknownValue, /* key not present */
|
||||
const char *noargValue); /* key has no value */
|
||||
extern bool fssh_get_driver_boolean_parameter(void *handle,
|
||||
const char *key, bool unknownValue,
|
||||
bool noargValue);
|
||||
|
||||
extern const fssh_driver_settings *fssh_get_driver_settings(void *handle);
|
||||
|
||||
/* Pass this in as drivername to access safe mode settings */
|
||||
#define FSSH_B_SAFEMODE_DRIVER_SETTINGS "/safemode/"
|
||||
|
||||
/* Pass this as the key value to check if safe mode is enabled */
|
||||
#define FSSH_B_SAFEMODE_SAFE_MODE "safemode"
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif // _FSSH_DRIVER_SETTINGS_H
|
||||
Reference in New Issue
Block a user