4 * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
6 * Contact: DongGi Jang <dg0402.jang@samsung.com>
8 * Licensed under the Apache License, Version 2.0 (the "License");
9 * you may not use this file except in compliance with the License.
10 * You may obtain a copy of the License at
12 * http://www.apache.org/licenses/LICENSE-2.0
14 * Unless required by applicable law or agreed to in writing, software
15 * distributed under the License is distributed on an "AS IS" BASIS,
16 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 * See the License for the specific language governing permissions and
18 * limitations under the License.
25 #include "device_plugin.h"
27 static void *dlopen_handle;
29 static void __attribute__ ((constructor)) module_init()
33 dlopen_handle = dlopen(DEVMAN_PLUGIN_PATH, RTLD_NOW);
35 ERR("dlopen() failed");
39 const OEM_sys_devman_plugin_interface *(*OEM_sys_get_devman_plugin_interface) ();
40 OEM_sys_get_devman_plugin_interface = dlsym(dlopen_handle, "OEM_sys_get_devman_plugin_interface");
41 if ((error = dlerror()) != NULL) {
42 ERR("dlsym() failed: %s", error);
43 dlclose(dlopen_handle);
47 plugin_intf = OEM_sys_get_devman_plugin_interface();
49 ERR("get_devman_plugin_interface() failed");
50 dlclose(dlopen_handle);
56 static void __attribute__ ((destructor)) module_fini()
59 dlclose(dlopen_handle);