00001
00002
00003 #ifndef AMPI_USE_FUNCPTR
00004 # error This file requires -ampi-funcptr-shim.
00005 #endif
00006 #include "ampi_funcptr.h"
00007
00008
00009
00010
00011 #define AMPI_FUNC AMPI_FUNCPTR_DEF
00012 #define AMPI_FUNC_NOIMPL AMPI_FUNC
00013 #define AMPI_CUSTOM_FUNC AMPI_CUSTOM_FUNCPTR_DEF
00014
00015 #include "ampi_functions.h"
00016
00017 #undef AMPI_FUNC
00018 #undef AMPI_FUNC_NOIMPL
00019 #undef AMPI_CUSTOM_FUNC
00020
00021
00022
00023
00024 extern "C" void AMPI_FuncPtr_Unpack(struct AMPI_FuncPtr_Transport * x)
00025 {
00026 #define AMPI_CUSTOM_FUNC(return_type, function_name, ...) \
00027 function_name = x->function_name;
00028 #if AMPI_HAVE_PMPI
00029 #define AMPI_FUNC(return_type, function_name, ...) \
00030 function_name = x->function_name; \
00031 P##function_name = x->P##function_name;
00032 #else
00033 #define AMPI_FUNC AMPI_CUSTOM_FUNC
00034 #endif
00035 #define AMPI_FUNC_NOIMPL AMPI_FUNC
00036
00037 #include "ampi_functions.h"
00038
00039 #undef AMPI_FUNC
00040 #undef AMPI_FUNC_NOIMPL
00041 #undef AMPI_CUSTOM_FUNC
00042 }
00043
00044
00045
00046
00047 #include <stdio.h>
00048
00049 #ifdef main
00050 # undef main
00051 #endif
00052 int main()
00053 {
00054 fprintf(stderr, "Do not run this binary directly!\n");
00055 return 1;
00056 }