Synesis Software

Main Page   Modules   Alphabetical List   Compound List   File List   Compound Members   File Members  

/include/dlfcn.h

Go to the documentation of this file.
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: 19th September 2005
00009  *
00010  * Home:    http://synesis.com.au/software/
00011  *
00012  * Copyright (c) 2004-2005, Matthew Wilson and Synesis Software
00013  * All rights reserved.
00014  *
00015  * Redistribution and use in source and binary forms, with or without 
00016  * modification, are permitted provided that the following conditions are met:
00017  *
00018  * - Redistributions of source code must retain the above copyright notice, this
00019  *   list of conditions and the following disclaimer. 
00020  * - Redistributions in binary form must reproduce the above copyright notice,
00021  *   this list of conditions and the following disclaimer in the documentation
00022  *   and/or other materials provided with the distribution.
00023  * - Neither the names of Matthew Wilson and Synesis Software nor the names of
00024  *   any contributors may be used to endorse or promote products derived from
00025  *   this software without specific prior written permission.
00026  *
00027  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
00028  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00029  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
00030  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
00031  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
00032  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
00033  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
00034  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
00035  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
00036  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
00037  * POSSIBILITY OF SUCH DAMAGE.
00038  *
00039  * 
00040 
00041 
00047 #ifndef SYNSOFT_UNIXEM_INCL_H_DLFCN
00048 #define SYNSOFT_UNIXEM_INCL_H_DLFCN
00049 
00050 #ifndef UNIXEM_DOCUMENTATION_SKIP_SECTION
00051 # define SYNSOFT_UNIXEM_VER_H_DLFCN_MAJOR       2
00052 # define SYNSOFT_UNIXEM_VER_H_DLFCN_MINOR       1
00053 # define SYNSOFT_UNIXEM_VER_H_DLFCN_REVISION    2
00054 # define SYNSOFT_UNIXEM_VER_H_DLFCN_EDIT        12
00055 #endif /* !UNIXEM_DOCUMENTATION_SKIP_SECTION */
00056 
00057 #include <sys/types.h>
00058 
00059 /* 
00060 
00072 /* 
00073 
00074 #ifndef _WIN32
00075 # error This file is only currently defined for compilation on Win32 systems
00076 #endif /* _WIN32 */
00077 
00078 /* 
00079  * Constants and definitions
00080  */
00081 
00082 #define RTLD_LAZY           (0x00001)       
00083 #define RTLD_NOW            (0x00002)       
00085 /* 
00086  * API functions
00087  */
00088 
00089 #ifdef __cplusplus
00090 extern "C"
00091 {
00092 #endif /* __cplusplus */
00093 
00103 void        *dlopen(char const *moduleName, int mode);
00104 
00111 int         dlclose(void *hModule);
00112 
00120 void        *dlsym(void *hModule, char const *symbolName);
00121 
00128 char const  *dlerror(void);
00129 
00130 #ifdef __cplusplus
00131 } /* extern "C" */
00132 #endif /* __cplusplus */
00133 
00134 /* 
00135 
00138 /* 
00139 
00140 #endif /* SYNSOFT_UNIXEM_INCL_H_DLFCN */
00141 
00142 /* 

UNIX Emulation for Win32 Libraries documentation © Synesis Software Pty Ltd, 2002-2005