![]() |
|||||
|
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: 3rd January 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, 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 00061 #ifndef _SYNSOFT_INCL_H_DLFCN 00062 #define _SYNSOFT_INCL_H_DLFCN 00063 00064 #ifndef _SYNSOFT_DOCUMENTATION_SKIP_SECTION 00065 # define _SYNSOFT_VER_H_DLFCN_MAJOR 1 00066 # define _SYNSOFT_VER_H_DLFCN_MINOR 0 00067 # define _SYNSOFT_VER_H_DLFCN_REVISION 2 00068 # define _SYNSOFT_VER_H_DLFCN_EDIT 2 00069 #endif /* !_SYNSOFT_DOCUMENTATION_SKIP_SECTION */ 00070 00071 #include <sys/types.h> 00072 00073 /* 00074 00075 #ifndef WIN32 00076 # error This file is only currently defined for Win32 compilation units 00077 #endif /* WIN32 */ 00078 00079 /* 00080 * Constants and definitions 00081 */ 00082 00083 #define RTLD_LAZY 0x00001 00084 #define RTLD_NOW 0x00002 00086 /* 00087 * API functions 00088 */ 00089 00090 #ifdef __cplusplus 00091 extern "C" 00092 { 00093 #endif /* __cplusplus */ 00094 00104 void *dlopen(char const *moduleName, int mode); 00105 00112 int dlclose(void *hModule); 00113 00121 void *dlsym(void *hModule, char const *symbolName); 00122 00129 char const *dlerror(void); 00130 00131 #ifdef __cplusplus 00132 } // extern "C" 00133 #endif /* __cplusplus */ 00134 00135 /* 00136 00137 #endif /* _SYNSOFT_INCL_H_DLFCN */ 00138 00139 /*
|
UNIX Emulation for Win32 Libraries documentation © Synesis Software Pty Ltd, 2001-2003 |