Synesis Software

Main Page   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:     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