struct sModule *Next; //!< Next module in list (not to be touched by the driver)
const char *Name; //!< Module Name/Identifier
int (*Init)(char **Arguments); //!< Module initialiser / entrypoint
- void (*Deinit)(void); //!< Cleanup Function
+ int (*Deinit)(void); //!< Cleanup Function
const char **Dependencies; //!< NULL terminated list of dependencies
} PACKED tModule;
struct sModuleLoader *Next; //!< Kernel Only - Next loader in list
char *Name; //!< Friendly name for the loader
int (*Detector)(void *Base); //!< Simple detector function
- int (*Loader)(void *Base); //!< Initialises the module
+ int (*Loader)(void *Base, const char *ArgumentString); //!< Initialises the module
int (*Unloader)(void *Base); //!< Calls module's cleanup
} PACKED tModuleLoader;