Synesis Software

Main Page   Modules   Compound List   File List   Compound Members   File Members  

/freelibs/unixem/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:     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