OpenMPI  0.1.1
vt_user_message.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_USER_H
14 # error "vt_user_message.h should only be included from vt_user.h"
15 #endif /* _VT_USER_H */
16 
17 #ifndef VT_USER_MESSAGE_H_
18 #define VT_USER_MESSAGE_H_
19 
20 #define VT_MSG_DEFCOMM -1
21 
22 #if (defined(VTRACE)) && !(defined(VTRACE_NO_MSG))
23 
24  __VT_EXTERN_DECL unsigned int VT_User_msg_comm_def__(const char* cname);
25  __VT_EXTERN_DECL void VT_User_msg_send__(unsigned int cid, unsigned int tag,
26  unsigned int sent);
27  __VT_EXTERN_DECL void VT_User_msg_recv__(unsigned int cid, unsigned int tag,
28  unsigned int recvd);
29 
30 # define VT_MSG_COMM_DEF(n) VT_User_msg_comm_def__((n))
31 # define VT_MSG_SEND(c, t, s) VT_User_msg_send__((c), (t), (s))
32 # define VT_MSG_RECV(c, t, r) VT_User_msg_recv__((c), (t), (r))
33 
34 #else /* VTRACE && !VTRACE_NO_MSG */
35 
36 # define VT_MSG_COMM_DEF(n) 0
37 # define VT_MSG_SEND(c, t, s)
38 # define VT_MSG_RECV(c, t, r)
39 
40 #endif /* VTRACE && !VTRACE_NO_MSG */
41 
42 /* macros for more convenient access */
43 #define VT_COMM_WORLD VT_MSG_DEFCOMM
44 #define VT_COMM_DEF VT_MSG_COMM_DEF
45 #define VT_SEND VT_MSG_SEND
46 #define VT_RECV VT_MSG_RECV
47 
48 #endif /* VT_USER_MESSAGE_H_ */