xref: /haiku/src/add-ons/kernel/file_systems/userlandfs/kernel_add_on/Settings.h (revision 83812f67529c88d4fb4b942162a9f21142e683fa)
1*83812f67SIngo Weinhold // Settings.h
2*83812f67SIngo Weinhold 
3*83812f67SIngo Weinhold #ifndef USERLAND_FS_SETTINGS_H
4*83812f67SIngo Weinhold #define USERLAND_FS_SETTINGS_H
5*83812f67SIngo Weinhold 
6*83812f67SIngo Weinhold #include <SupportDefs.h>
7*83812f67SIngo Weinhold 
8*83812f67SIngo Weinhold struct driver_settings;
9*83812f67SIngo Weinhold struct driver_parameter;
10*83812f67SIngo Weinhold struct IOCtlInfo;
11*83812f67SIngo Weinhold 
12*83812f67SIngo Weinhold // Settings
13*83812f67SIngo Weinhold class Settings {
14*83812f67SIngo Weinhold public:
15*83812f67SIngo Weinhold 								Settings();
16*83812f67SIngo Weinhold 								~Settings();
17*83812f67SIngo Weinhold 
18*83812f67SIngo Weinhold 			status_t			SetTo(const char *fsName);
19*83812f67SIngo Weinhold 			void				Unset();
20*83812f67SIngo Weinhold 
21*83812f67SIngo Weinhold 			const IOCtlInfo*	GetIOCtlInfo(int command) const;
22*83812f67SIngo Weinhold 
23*83812f67SIngo Weinhold 			void				Dump() const;
24*83812f67SIngo Weinhold 
25*83812f67SIngo Weinhold private:
26*83812f67SIngo Weinhold 			status_t			_Init(const driver_settings *settings,
27*83812f67SIngo Weinhold 									const driver_parameter *fsParams);
28*83812f67SIngo Weinhold 
29*83812f67SIngo Weinhold private:
30*83812f67SIngo Weinhold 			struct IOCtlInfoMap;
31*83812f67SIngo Weinhold 
32*83812f67SIngo Weinhold 			IOCtlInfoMap*		fIOCtlInfos;
33*83812f67SIngo Weinhold };
34*83812f67SIngo Weinhold 
35*83812f67SIngo Weinhold #endif	// USERLAND_FS_SETTINGS_H
36