-
Notifications
You must be signed in to change notification settings - Fork 0
/
impl-keyval-map.h
106 lines (70 loc) · 4.12 KB
/
impl-keyval-map.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
// SPDX-License-Identifier: MIT
#ifndef IMPL_KEYVAL_MAP_H
#define IMPL_KEYVAL_MAP_H
// C declarations of the map stuff written in C++ in impl-keyval-map.cc
// this header is only used to determine the MPI ABI we are compiling against,
// and then only the scalar types (impl-scalar-types.h) it seems.
#include <mpi.h>
#include "muk-predefined.h"
#include "wrap-handle-typedefs.h"
// return values are 0=failure 1=success but are int not bool because C and C++ bool
// are not guaranteed to be the same.
// OP USERFN
int add_comm_op_callback(MPI_Op op,
WRAP_User_function * user_fn,
WRAP_User_function_c * user_fn_c);
int find_comm_op_callback(MPI_Op op,
WRAP_User_function ** user_fn,
WRAP_User_function_c ** user_fn_c);
int remove_comm_op_callback(MPI_Op op);
// COMM KEYVAL
int add_comm_keyval_callbacks(int keyval,
WRAP_Comm_copy_attr_function * comm_copy_attr_fn,
WRAP_Comm_delete_attr_function * comm_delete_attr_fn);
int find_comm_keyval_callbacks(int keyval,
WRAP_Comm_copy_attr_function ** comm_copy_attr_fn,
WRAP_Comm_delete_attr_function ** comm_delete_attr_fn);
int remove_comm_keyval_callbacks(int keyval);
// TYPE KEYVAL
int add_type_keyval_callbacks(int keyval,
WRAP_Type_copy_attr_function * type_copy_attr_fn,
WRAP_Type_delete_attr_function * type_delete_attr_fn);
int find_type_keyval_callbacks(int keyval,
WRAP_Type_copy_attr_function ** type_copy_attr_fn,
WRAP_Type_delete_attr_function ** type_delete_attr_fn);
int remove_type_keyval_callbacks(int keyval);
// WIN KEYVAL
int add_win_keyval_callbacks(int keyval,
WRAP_Win_copy_attr_function * win_copy_attr_fn,
WRAP_Win_delete_attr_function * win_delete_attr_fn);
int find_win_keyval_callbacks(int keyval,
WRAP_Win_copy_attr_function ** win_copy_attr_fn,
WRAP_Win_delete_attr_function ** win_delete_attr_fn);
int remove_win_keyval_callbacks(int keyval);
// COMM ERRH
int add_comm_errhandler_callback(MPI_Errhandler errhandler, WRAP_Comm_errhandler_function * user_fn);
int find_comm_errhandler_callback(MPI_Errhandler errhandler, WRAP_Comm_errhandler_function ** user_fn);
int remove_comm_errhandler_callback(MPI_Errhandler errhandler);
// WIN ERRH
int add_win_errhandler_callback(MPI_Errhandler errhandler, WRAP_Win_errhandler_function * user_fn);
int find_win_errhandler_callback(MPI_Errhandler errhandler, WRAP_Win_errhandler_function ** user_fn);
int remove_win_errhandler_callback(MPI_Errhandler errhandler);
// FILE ERRH
int add_file_errhandler_callback(MPI_Errhandler errhandler, WRAP_File_errhandler_function * user_fn);
int find_file_errhandler_callback(MPI_Errhandler errhandler, WRAP_File_errhandler_function ** user_fn);
int remove_file_errhandler_callback(MPI_Errhandler errhandler);
// FILE ERRH 2
int add_file_errhandler_callback_2(MPI_File file, WRAP_File_errhandler_function * user_fn);
int find_file_errhandler_callback_2(MPI_File file, WRAP_File_errhandler_function ** user_fn);
int remove_file_errhandler_callback_2(MPI_File file);
// ALLTOALLW - NONBLOCKING
int add_nonblocking_request_alltoallw_buffers(MPI_Request request, MPI_Datatype * sendtypes, MPI_Datatype * recvtypes);
int find_nonblocking_request_alltoallw_buffers(MPI_Request request, MPI_Datatype ** sendtypes, MPI_Datatype ** recvtypes);
int remove_nonblocking_request_alltoallw_buffers(MPI_Request request);
// ALLTOALLW - PERSISTENT
int add_persistent_request_alltoallw_buffers(MPI_Request request, MPI_Datatype * sendtypes, MPI_Datatype * recvtypes);
int find_persistent_request_alltoallw_buffers(MPI_Request request, MPI_Datatype ** sendtypes, MPI_Datatype ** recvtypes);
int remove_persistent_request_alltoallw_buffers(MPI_Request request);
// AGGREGATE REQUEST CLEANUP
int cleanup_mapped_request(MPI_Request request);
#endif // IMPL_KEYVAL_MAP_H