00001 /* 00002 * dlfcn-win32 00003 * Copyright (c) 2007 Ramiro Polla 00004 * 00005 * This library is free software; you can redistribute it and/or 00006 * modify it under the terms of the GNU Lesser General Public 00007 * License as published by the Free Software Foundation; either 00008 * version 2.1 of the License, or (at your option) any later version. 00009 * 00010 * This library is distributed in the hope that it will be useful, 00011 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00013 * Lesser General Public License for more details. 00014 * 00015 * You should have received a copy of the GNU Lesser General Public 00016 * License along with this library; if not, write to the Free Software 00017 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 00018 */ 00019 00020 #ifndef DLFCN_H 00021 #define DLFCN_H 00022 00023 #include "../../rtt-config.h" 00024 00025 /* POSIX says these are implementation-defined. 00026 * To simplify use with Windows API, we treat them the same way. 00027 */ 00028 00029 #ifndef RTLD_LAZY 00030 #define RTLD_LAZY 0 00031 #endif 00032 #ifndef RTLD_NOW 00033 #define RTLD_NOW 0 00034 #endif 00035 00036 #ifndef RTLD_GLOBAL 00037 #define RTLD_GLOBAL (1 << 1) 00038 #endif 00039 #ifndef RTLD_LOCAL 00040 #define RTLD_LOCAL (1 << 2) 00041 #endif 00042 00043 /* These two were added in The Open Group Base Specifications Issue 6. 00044 * Note: All other RTLD_* flags in any dlfcn.h are not standard compliant. 00045 */ 00046 00047 #define RTLD_DEFAULT 0 00048 #define RTLD_NEXT 0 00049 00050 #ifdef __cplusplus 00051 extern "C" { 00052 #endif 00053 00054 RTT_API void *dlopen ( const char *file, int mode ); 00055 RTT_API int dlclose( void *handle ); 00056 RTT_API void *dlsym ( void *handle, const char *name ); 00057 RTT_API char *dlerror( void ); 00058 00059 #ifdef __cplusplus 00060 } 00061 #endif 00062 00063 #endif /* DLFCN_H */