![]() |
|||||
|
00001 /* 00002 * File: dlfcn.h 00003 * 00004 * Purpose: Declaration of the dlopen, dlclose(), dlsym() and dlerror() API 00005 * functions. 00006 * 00007 * Created 1st January 2004 00008 * Updated: 16th June 2004 00009 * 00010 * Author: Matthew Wilson, Synesis Software Pty Ltd. 00011 * 00012 * License: (Licensed under the Synesis Software Standard Source License) 00013 * 00014 * Copyright (C) 2002-2004, Synesis Software Pty Ltd. 00015 * 00016 * All rights reserved. 00017 * 00018 * www: http://www.synesis.com.au/ 00019 * http://www.synesis.com.au/software/ 00020 * 00021 * email: software@synesis.com.au 00022 * software@synesis-group.com 00023 * 00024 * Redistribution and use in source and binary forms, with or 00025 * without modification, are permitted provided that the following 00026 * conditions are met: 00027 * 00028 * (i) Redistributions of source code must retain the above 00029 * copyright notice and contact information, this list of 00030 * conditions and the following disclaimer. 00031 * 00032 * (ii) Any derived versions of this software (howsoever modified) 00033 * remain the sole property of Synesis Software. 00034 * 00035 * (iii) Any derived versions of this software (howsoever modified) 00036 * remain subject to all these conditions. 00037 * 00038 * (iv) Neither the name of Synesis Software nor the names of any 00039 * subdivisions, employees or agents of Synesis Software, nor the 00040 * names of any other contributors to this software may be used to 00041 * endorse or promote products derived from this software without 00042 * specific prior written permission. 00043 * 00044 * This source code is provided by Synesis Software "as is" and any 00045 * warranties, whether expressed or implied, including, but not 00046 * limited to, the implied warranties of merchantability and 00047 * fitness for a particular purpose are disclaimed. In no event 00048 * shall the Synesis Software be liable for any direct, indirect, 00049 * incidental, special, exemplary, or consequential damages 00050 * (including, but not limited to, procurement of substitute goods 00051 * or services; loss of use, data, or profits; or business 00052 * interruption) however caused and on any theory of liability, 00053 * whether in contract, strict liability, or tort (including 00054 * negligence or otherwise) arising in any way out of the use of 00055 * this software, even if advised of the possibility of such 00056 * damage. 00057 * 00058 * 00059 00060 00066 #ifndef _SYNSOFT_INCL_H_DLFCN 00067 #define _SYNSOFT_INCL_H_DLFCN 00068 00069 #ifndef _SYNSOFT_DOCUMENTATION_SKIP_SECTION 00070 # define _SYNSOFT_VER_H_DLFCN_MAJOR 1 00071 # define _SYNSOFT_VER_H_DLFCN_MINOR 0 00072 # define _SYNSOFT_VER_H_DLFCN_REVISION 4 00073 # define _SYNSOFT_VER_H_DLFCN_EDIT 4 00074 #endif /* !_SYNSOFT_DOCUMENTATION_SKIP_SECTION */ 00075 00076 #include <sys/types.h> 00077 00078 /* 00079 00091 /* 00092 00093 #ifndef WIN32 00094 # error This file is only currently defined for Win32 compilation units 00095 #endif /* WIN32 */ 00096 00097 /* 00098 * Constants and definitions 00099 */ 00100 00101 #define RTLD_LAZY 0x00001 00102 #define RTLD_NOW 0x00002 00104 /* 00105 * API functions 00106 */ 00107 00108 #ifdef __cplusplus 00109 extern "C" 00110 { 00111 #endif /* __cplusplus */ 00112 00122 void *dlopen(char const *moduleName, int mode); 00123 00130 int dlclose(void *hModule); 00131 00139 void *dlsym(void *hModule, char const *symbolName); 00140 00147 char const *dlerror(void); 00148 00149 #ifdef __cplusplus 00150 } // extern "C" 00151 #endif /* __cplusplus */ 00152 00153 /* 00154 00157 /* 00158 00159 #endif /* _SYNSOFT_INCL_H_DLFCN */ 00160 00161 /*
|
UNIX Emulation for Win32 Libraries documentation © Synesis Software Pty Ltd, 2001-2003 |