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;
// === PROTOTYPES ===
int UDI_Install(char **Arguments);
int UDI_DetectDriver(void *Base);
- int UDI_LoadDriver(void *Base);
+ int UDI_LoadDriver(void *Base, const char *ArgumentString);
tUDI_DriverModule *UDI_int_LoadDriver(void *LoadBase, const udi_init_t *info, const char *udiprops, size_t udiprops_size);
const tUDI_MetaLang *UDI_int_GetMetaLangByName(const char *Name);
/**
* \fn int UDI_LoadDriver(void *Base)
*/
-int UDI_LoadDriver(void *Base)
+int UDI_LoadDriver(void *Base, const char *ArgumentString)
{
udi_init_t *info;
char *udiprops = NULL;
UDI_int_LoadDriver(Base, info, udiprops, udiprops_end - udiprops);
+ // TODO: Parse 'ArgumentString' and extract properties for module/instances
+ // - Including debug flag
+
return 0;
}