コード例 #1
0
ファイル: VxWorksDLL.cpp プロジェクト: jjpopski/ACS
void* vxworks_dlsym(ACE_SHLIB_HANDLE lib, char *szName)
{
    SymbolIteratorStruct sis;

    sis.ptr = 0;
    sis.szName = szName;
    sis.lib = (MODULE_ID)lib;

    symEach(sysSymTbl, (FUNCPTR)SymbolIterator, (int)&sis);

    return sis.ptr;
}
コード例 #2
0
ファイル: SharedLibrary_VX.cpp プロジェクト: JMQCode/WiEngine
void* SharedLibraryImpl::findSymbolImpl(const std::string& name)
{
    poco_assert (_moduleId != 0);

    FastMutex::ScopedLock lock(_mutex);

    MODULE_INFO mi;
    if (!moduleInfoGet(_moduleId, &mi)) return 0;
    SymLookup symLookup;
    symLookup.name  = name.c_str();
    symLookup.group = mi.group;
    symLookup.addr  = 0;
    symEach(sysSymTbl, reinterpret_cast<FUNCPTR>(lookupFunc), reinterpret_cast<int>(&symLookup));
    return symLookup.addr;
}
コード例 #3
0
void * dbgsysFindLibraryEntry(void *handle, const char *name)
{
    MODULE_ID mid;
    MODULE_INFO mInfo;
    struct CallbackInfo info;
    SYMBOL *sym;

    mid = (MODULE_ID) handle;
    if (moduleInfoGet(mid, &mInfo) == ERROR)
	return NULL;
    info.name = (char *) name;
    info.group = (UINT16) mInfo.group;
    sym = symEach(sysSymTbl, (FUNCPTR) &findSymbolCB, (int) &info);
    if (sym == NULL)
	return NULL;
    return info.val;
}