00001 #ifndef AMPI_FUNCPTR_LOADER_H_
00002 #define AMPI_FUNCPTR_LOADER_H_
00003
00004 #ifndef __STDC_FORMAT_MACROS
00005 # define __STDC_FORMAT_MACROS
00006 #endif
00007 #ifndef __STDC_LIMIT_MACROS
00008 # define __STDC_LIMIT_MACROS
00009 #endif
00010 #include <inttypes.h>
00011 #include <limits.h>
00012
00013 #include "ampiimpl.h"
00014 #include "ampi_funcptr.h"
00015
00016 #define STRINGIZE_INTERNAL(x) #x
00017 #define STRINGIZE(x) STRINGIZE_INTERNAL(x)
00018
00019
00020 #ifdef _WIN32
00021
00022 #ifndef WIN32_LEAN_AND_MEAN
00023 # define WIN32_LEAN_AND_MEAN
00024 #endif
00025 #ifndef NOMINMAX
00026 # define NOMINMAX
00027 #endif
00028 #include <windows.h>
00029
00030 typedef HMODULE SharedObject;
00031
00032 #define dlopen(name, flags) LoadLibrary(name)
00033 #define dlsym(handle, name) GetProcAddress((handle), (name))
00034 #define dlclose(handle) FreeLibrary(handle)
00035
00036 #else
00037
00038 #ifndef _GNU_SOURCE
00039 # define _GNU_SOURCE
00040 #endif
00041 #ifndef __USE_GNU
00042 # define __USE_GNU
00043 #endif
00044 #include <dlfcn.h>
00045
00046 typedef void * SharedObject;
00047
00048 #endif
00049
00050
00051 int AMPI_FuncPtr_Loader(SharedObject, int, char **);
00052
00053 #endif