From b2fb4be8111ae46ca64e4b135cfd47895900a0e1 Mon Sep 17 00:00:00 2001 From: qiuyiuestc Date: Wed, 17 Nov 2010 15:41:10 +0000 Subject: add initial libdl git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1052 bbd45198-f89e-11dd-88c7-29a3b14d5316 --- components/libdl/dlopen.c | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 components/libdl/dlopen.c (limited to 'components/libdl/dlopen.c') diff --git a/components/libdl/dlopen.c b/components/libdl/dlopen.c new file mode 100644 index 0000000000..d392a94523 --- /dev/null +++ b/components/libdl/dlopen.c @@ -0,0 +1,39 @@ +/* + * File : dlopen.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 +#include + +void* rt_dlopen(const char *filename, int flags) +{ + rt_module_t module; + + RT_ASSERT(filename != RT_NULL); + + /* find in module list */ + module = rt_module_find(filename); + + if(module) + { + module->nref++; + return (void*)module; + } + else + { + module = rt_module_open(filename); + } +} + +RTM_EXPORT(rt_dlopen) + -- cgit v1.3.1