14 #ifndef SION_SION_MPI_CB_GEN_H
15 #define SION_SION_MPI_CB_GEN_H
24 typedef struct _ompi_api_commdata_struct _ompi_api_commdata;
25 struct _ompi_api_commdata_struct {
35 _ompi_api_commdata *lcommgroup;
44 int _sion_register_callbacks_ompi(
void);
46 int _sion_ompi_create_lcg_cb(
void **local_commgroup,
void *global_commgroup,
49 int filenumber,
int numfiles
51 int _sion_ompi_free_lcg_cb(
void *local_commgroup);
54 int _sion_ompi_barrier_cb(
void *commdata);
55 int _sion_ompi_bcastr_cb(
void *data,
void *commdata,
int dtype,
int nelem,
int root);
56 int _sion_ompi_gatherr_cb(
void *indata,
void *outdata,
void *commdata,
int dtype,
int nelem,
int root);
57 int _sion_ompi_scatterr_cb(
void *indata,
void *outdata,
void *commdata,
int dtype,
int nelem,
int root);
58 int _sion_ompi_gathervr_cb(
void *indata,
void *outdata,
void *commdata,
int dtype,
int *counts,
int nelem,
int root);
59 int _sion_ompi_scattervr_cb(
void *indata,
void *outdata,
void *commdata,
int dtype,
int *counts,
int nelem,
int root);
73 int _sion_ompi_gather_process_cb(
const void *indata, sion_int64 *spec,
int spec_len, sion_int64 fsblksize,
74 void *commdata,
int collector,
int range_start,
int range_end,
int sid,
75 int process_cb(
const void *,sion_int64 *,
int ) );
77 int _sion_ompi_process_scatter_cb(
void *outdata, sion_int64 *spec,
int spec_len, sion_int64 fsblksize,
78 void *commdata,
int collector,
int range_start,
int range_end,
int sid,
79 int process_cb(
void *,sion_int64 *,
int ) );
81 int _sion_ompi_get_capability_cb(
void *commdata );