void OSLoadDLL( char *cmd_name, char *dll_name, char *ent_name ) /**************************************************************/ { DLL_CMD *n; // we want newer !loaddlls to take precedence n = MallocSafe( sizeof( *n ) ); n->cmd_name = StrDupSafe( cmd_name ); n->next = dllCommandList; dllCommandList = n; IdeDrvInit( &n->inf, StrDupSafe( dll_name ), (ent_name == NULL) ? NULL : StrDupSafe( ent_name ) ); }
bool ExecDLLPgm( char *pname, char *cmdline ) /********************************************/ // return TRUE if an error { IDEDRV inf; IDEDRV_STATUS status; status = IDEDRV_ERR_LOAD; IdeDrvInit( &inf, pname, NULL ); IdeDrvChainCallbacks( IdeCB, &InitInfo ); status = IdeDrvExecDLL( &inf, cmdline ); IdeDrvUnloadDLL( &inf ); return( status != IDEDRV_SUCCESS ); }