diff options
| author | Bernard Xiong <[email protected]> | 2016-05-10 09:22:01 +0800 |
|---|---|---|
| committer | Bernard Xiong <[email protected]> | 2016-05-10 09:22:01 +0800 |
| commit | 64feef0dde9d8353ffe4a3f257ab17848ccf6f53 (patch) | |
| tree | dd3f096b8a3c249e5327cc34a0c105c5125099e1 /components/libc/libdl/dlsym.c | |
| parent | eb320a0104bbaa6c1235fe899b6d099fdabe8c25 (diff) | |
[LIBC] mv pthreads/libdl to libc and rename dfs_lwip to dfs_net
Diffstat (limited to 'components/libc/libdl/dlsym.c')
| -rw-r--r-- | components/libc/libdl/dlsym.c | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/components/libc/libdl/dlsym.c b/components/libc/libdl/dlsym.c new file mode 100644 index 0000000000..36c7b01fce --- /dev/null +++ b/components/libc/libdl/dlsym.c @@ -0,0 +1,37 @@ +/* + * File : dlsym.c + * This file is part of RT-Thread RTOS + * COPYRIGHT (C) 2006 - 2010, RT-Thread Development Team + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rt-thread.org/license/LICENSE + * + * Change Logs: + * Date Author Notes + * 2010-11-17 yi.qiu first version + */ + +#include <rtthread.h> +#include <rtm.h> + +void* dlsym(void *handle, const char* symbol) +{ + int i; + rt_module_t module; + + RT_ASSERT(handle != RT_NULL); + + module = (rt_module_t)handle; + + for(i=0; i<module->nsym; i++) + { + if (rt_strcmp(module->symtab[i].name, symbol) == 0) + return (void*)module->symtab[i].addr; + } + + return RT_NULL; +} + +RTM_EXPORT(dlsym) + |
