diff options
author | cnlohr <lohr85@gmail.com> | 2017-02-26 10:28:56 -0500 |
---|---|---|
committer | cnlohr <lohr85@gmail.com> | 2017-02-26 10:28:56 -0500 |
commit | 51751d4a9f407f526de2b626d44e14690fbef004 (patch) | |
tree | b7d81c89b3a4ccb72d46e5194929b47df88345b7 /src/survive_driverman.h | |
parent | f4ab8c084c1e23e850f436c2c0bb6777da3d942a (diff) | |
download | libsurvive-51751d4a9f407f526de2b626d44e14690fbef004.tar.gz libsurvive-51751d4a9f407f526de2b626d44e14690fbef004.tar.bz2 |
cleanup
Diffstat (limited to 'src/survive_driverman.h')
-rw-r--r-- | src/survive_driverman.h | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/src/survive_driverman.h b/src/survive_driverman.h index fb385da..5e13caf 100644 --- a/src/survive_driverman.h +++ b/src/survive_driverman.h @@ -1,3 +1,12 @@ +// (C) 2017 <>< C. N. Lohr, Under MIT/x11 License. +// +// This file is intended to be used for self-registering functions. By using +// this it means that you do not need to have complicated switch statements or +// #defines for dfferent inclusion of drivers/other code. You can simply +// register your function and it will be put into a list. +// +// + #ifndef SURVIVE_DRIVERMAN_H #define SURVIVE_DRIVERMAN_H @@ -12,11 +21,18 @@ void ListDrivers(); #define REGISTER_LINKTIME( func ) \ void __attribute__((constructor)) Register##func() { RegisterDriver( #func, &func ); } + +// +// Specific types of drivers. +// + struct SurviveContext; +//Device drivers (prefix your drivers with "DriverReg") i.e. +// REGISTER_LINKTIME( DriverRegHTCVive ); typedef int (*DeviceDriver)( struct SurviveContext * ctx ); -typedef int (*DeviceDriverCb)( struct SurviveContext * ctx, void * driver ); -typedef int (*DeviceDriverMagicCb)( struct SurviveContext * ctx, void * driver, int magic_code, void * data, int datalen ); + +//more driver types here? i.e. posefinders, etc. #endif |