OpenMPI 0.1.1

- Main Page
- Related Pages
- Modules
- Data Structures
- Files

- File List
- Globals

vt_fbindings.h
1 /**
2 * VampirTrace
3 * http://www.tu-dresden.de/zih/vampirtrace
4 *
5 * Copyright (c) 2005-2012, ZIH, TU Dresden, Federal Republic of Germany
6 *
7 * Copyright (c) 1998-2005, Forschungszentrum Juelich, Juelich Supercomputing
8 * Centre, Federal Republic of Germany
9 *
10 * See the file COPYING in the package base directory for details
11 **/
12
13 #ifndef _VT_FBINDINGS_H
14 #define _VT_FBINDINGS_H
15
16 #ifdef __cplusplus
17 # define EXTERN extern "C"
18 #else
19 # define EXTERN extern
20 #endif
21
22 /* define all possible Fortran bindings for a function */
23 #define VT_GENERATE_F77_BINDINGS(lower_case, \
24 upper_case, \
25 wrapper_function, \
26 signature, \
27 params) \
28 void lower_case signature; \
29 void lower_case signature { wrapper_function params; } \
30 void lower_case##_ signature; \
31 void lower_case##_ signature { wrapper_function params; } \
32 void lower_case##__ signature; \
33 void lower_case##__ signature { wrapper_function params; } \
34 void upper_case signature; \
35 void upper_case signature { wrapper_function params; }
36
37 /* create a C string from an F77 string (allocates *cstr if NULL) */
38 EXTERN void vt_string_f2c(const char* fstr, int len, char** cstr);
39
40 /* create a F77 string from a C string */
41 EXTERN void vt_string_c2f(const char* cstr, char* fstr, int len);
42
43 #endif /* _VT_FBINDINGS_H */