This source file includes following definitions.
- MPI_Type_get_envelope
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 #include "ompi_config.h"
22
23 #include "ompi/mpi/c/bindings.h"
24 #include "ompi/runtime/params.h"
25 #include "ompi/communicator/communicator.h"
26 #include "ompi/errhandler/errhandler.h"
27 #include "ompi/datatype/ompi_datatype.h"
28 #include "ompi/memchecker.h"
29
30 #if OMPI_BUILD_MPI_PROFILING
31 #if OPAL_HAVE_WEAK_SYMBOLS
32 #pragma weak MPI_Type_get_envelope = PMPI_Type_get_envelope
33 #endif
34 #define MPI_Type_get_envelope PMPI_Type_get_envelope
35 #endif
36
37 static const char FUNC_NAME[] = "MPI_Type_get_envelope";
38
39
40 int MPI_Type_get_envelope(MPI_Datatype type,
41 int *num_integers,
42 int *num_addresses,
43 int *num_datatypes,
44 int *combiner)
45 {
46 int rc;
47
48 MEMCHECKER(
49 memchecker_datatype(type);
50 );
51
52 if( MPI_PARAM_CHECK ) {
53 OMPI_ERR_INIT_FINALIZE(FUNC_NAME);
54 if (NULL == type || MPI_DATATYPE_NULL == type) {
55 return OMPI_ERRHANDLER_INVOKE(MPI_COMM_WORLD, MPI_ERR_TYPE,
56 FUNC_NAME );
57 } else if (NULL == num_integers || NULL == num_addresses ||
58 NULL == num_datatypes || NULL == combiner) {
59 return OMPI_ERRHANDLER_INVOKE(MPI_COMM_WORLD, MPI_ERR_ARG,
60 FUNC_NAME );
61 }
62 }
63
64 OPAL_CR_ENTER_LIBRARY();
65
66 rc = ompi_datatype_get_args( type, 0, num_integers, NULL, num_addresses, NULL,
67 num_datatypes, NULL, combiner );
68 OMPI_ERRHANDLER_RETURN( rc, MPI_COMM_WORLD, rc, FUNC_NAME );
69 }