1*10465441SEvalZero /* 2*10465441SEvalZero * Copyright (c) 2006-2018, RT-Thread Development Team 3*10465441SEvalZero * 4*10465441SEvalZero * SPDX-License-Identifier: Apache-2.0 5*10465441SEvalZero * 6*10465441SEvalZero * Change Logs: 7*10465441SEvalZero * Date Author Notes 8*10465441SEvalZero * 2010-11-17 yi.qiu first version 9*10465441SEvalZero */ 10*10465441SEvalZero 11*10465441SEvalZero #include <rtthread.h> 12*10465441SEvalZero #include <rtm.h> 13*10465441SEvalZero 14*10465441SEvalZero #include "dlmodule.h" 15*10465441SEvalZero dlsym(void * handle,const char * symbol)16*10465441SEvalZerovoid* dlsym(void *handle, const char* symbol) 17*10465441SEvalZero { 18*10465441SEvalZero int i; 19*10465441SEvalZero struct rt_dlmodule *module; 20*10465441SEvalZero 21*10465441SEvalZero RT_ASSERT(handle != RT_NULL); 22*10465441SEvalZero 23*10465441SEvalZero module = (struct rt_dlmodule *)handle; 24*10465441SEvalZero 25*10465441SEvalZero for(i=0; i<module->nsym; i++) 26*10465441SEvalZero { 27*10465441SEvalZero if (rt_strcmp(module->symtab[i].name, symbol) == 0) 28*10465441SEvalZero return (void*)module->symtab[i].addr; 29*10465441SEvalZero } 30*10465441SEvalZero 31*10465441SEvalZero return RT_NULL; 32*10465441SEvalZero } 33*10465441SEvalZero RTM_EXPORT(dlsym) 34