From 0daa3f2af3683b7a700a5e29bb533fa21974fc42 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Wed, 7 Aug 2002 22:36:49 +0000 Subject: [PATCH] Added Be's driver_settings.h header file (hey, they don't even include any license stuff in it :-). Some cleanup on the other headers. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@638 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- headers/os/drivers/ISA.h | 4 +-- headers/os/drivers/PCI.h | 2 +- headers/os/drivers/bus_manager.h | 2 +- headers/os/drivers/config_manager.h | 10 ++++-- headers/os/drivers/driver_settings.h | 48 ++++++++++++++++++++++++++++ 5 files changed, 59 insertions(+), 7 deletions(-) create mode 100644 headers/os/drivers/driver_settings.h diff --git a/headers/os/drivers/ISA.h b/headers/os/drivers/ISA.h index 9fc929f5aa..3d2e39af05 100644 --- a/headers/os/drivers/ISA.h +++ b/headers/os/drivers/ISA.h @@ -9,7 +9,7 @@ *******************************************************************************/ #ifndef _ISA_H -#define _ISA_H 1 +#define _ISA_H //#include #include @@ -81,4 +81,4 @@ struct isa_module_info { } #endif -#endif +#endif /* _ISA_H */ diff --git a/headers/os/drivers/PCI.h b/headers/os/drivers/PCI.h index 154019a73b..b17ce4fbe5 100644 --- a/headers/os/drivers/PCI.h +++ b/headers/os/drivers/PCI.h @@ -596,4 +596,4 @@ struct pci_module_info { } #endif -#endif +#endif /* _PCI_H */ diff --git a/headers/os/drivers/bus_manager.h b/headers/os/drivers/bus_manager.h index a19f217294..e894f7f0f4 100644 --- a/headers/os/drivers/bus_manager.h +++ b/headers/os/drivers/bus_manager.h @@ -28,4 +28,4 @@ struct bus_manager_info { } #endif -#endif +#endif /* _BUS_MANAGER_H */ diff --git a/headers/os/drivers/config_manager.h b/headers/os/drivers/config_manager.h index c4644a799c..e93e27772a 100644 --- a/headers/os/drivers/config_manager.h +++ b/headers/os/drivers/config_manager.h @@ -35,8 +35,12 @@ typedef struct { uint32 cookie; } resource_range_descriptor; -typedef enum { B_IRQ_RESOURCE, B_DMA_RESOURCE, - B_IO_PORT_RESOURCE, B_MEMORY_RESOURCE } resource_type; +typedef enum { + B_IRQ_RESOURCE, + B_DMA_RESOURCE, + B_IO_PORT_RESOURCE, + B_MEMORY_RESOURCE +} resource_type; typedef struct { resource_type type; @@ -108,4 +112,4 @@ typedef struct config_manager_for_driver_module_info { } #endif -#endif +#endif /* _CONFIG_MANAGER_H */ diff --git a/headers/os/drivers/driver_settings.h b/headers/os/drivers/driver_settings.h new file mode 100644 index 0000000000..85beeff1c6 --- /dev/null +++ b/headers/os/drivers/driver_settings.h @@ -0,0 +1,48 @@ +#ifndef _DRIVER_SETTINGS_H +#define _DRIVER_SETTINGS_H + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct driver_parameter { + char *name; + int value_count; + char **values; + int parameter_count; + struct driver_parameter *parameters; +} driver_parameter; + +typedef struct driver_settings { + int parameter_count; + struct driver_parameter *parameters; +} driver_settings; + +extern void *load_driver_settings(const char *drivername); +extern status_t unload_driver_settings(void *handle); +extern const char *get_driver_parameter( + void *handle, + const char *keyname, + const char *unknownvalue, /* key not present */ + const char *noargvalue); /* key has no value */ +extern bool get_driver_boolean_parameter( + void *handle, + const char *keyname, + bool unknownvalue, + bool noargvalue); + +extern const driver_settings *get_driver_settings(void *handle); + +/* Pass this in as drivername to access safe mode settings */ +#define B_SAFEMODE_DRIVER_SETTINGS "/safemode/" + +/* Pass this as the key value to check if safe mode is enabled */ +#define B_SAFEMODE_SAFE_MODE "safemode" + +#ifdef __cplusplus +} +#endif + +#endif /* _DRIVER_SETTINGS_H */