FORTRAN_API void FORT_CALL mpi_file_set_size_(MPI_Fint * fh, MPI_Offset * size, MPI_Fint * ierr) { MPI_File fh_c; fh_c = MPI_File_f2c(*fh); *ierr = MPI_File_set_size(fh_c, *size); }
void mpi_file_get_view_(MPI_Fint *fh,MPI_Offset *disp,MPI_Fint *etype, MPI_Fint *filetype,char *datarep, MPI_Fint *ierr, int str_len ) { MPI_File fh_c; MPI_Datatype etype_c, filetype_c; int i, tmpreplen; char *tmprep; if (datarep <= (char *) 0) { FPRINTF(stderr, "MPI_File_get_view: datarep is an invalid address\n"); MPI_Abort(MPI_COMM_WORLD, 1); } tmprep = (char *) ADIOI_Malloc((MPI_MAX_DATAREP_STRING+1) * sizeof(char)); fh_c = MPI_File_f2c(*fh); *ierr = MPI_File_get_view(fh_c, disp, &etype_c, &filetype_c, tmprep); tmpreplen = strlen(tmprep); if (tmpreplen <= str_len) { ADIOI_Strncpy(datarep, tmprep, tmpreplen); /* blank pad the remaining space */ for (i=tmpreplen; i<str_len; i++) datarep[i] = ' '; } else { /* not enough space */ ADIOI_Strncpy(datarep, tmprep, str_len); /* this should be flagged as an error. */ *ierr = MPI_ERR_UNKNOWN; } *etype = MPI_Type_c2f(etype_c); *filetype = MPI_Type_c2f(filetype_c); ADIOI_Free(tmprep); }
FORT_DLL_SPEC void FORT_CALL mpi_file_iread_shared_ ( MPI_Fint *v1, void*v2, MPI_Fint *v3, MPI_Fint *v4, MPIO_Request*v5, MPI_Fint *ierr ){ #ifdef MPI_MODE_RDONLY if (v2 == MPIR_F_MPI_BOTTOM) v2 = MPI_BOTTOM; *ierr = MPI_File_iread_shared( MPI_File_f2c(*v1), v2, (int)*v3, (MPI_Datatype)(*v4), v5 ); #else *ierr = MPI_ERR_INTERN; #endif }
FORT_DLL_SPEC void FORT_CALL mpi_file_write_at_all_begin_ ( MPI_Fint *v1, MPI_Offset *v2, void*v3, MPI_Fint *v4, MPI_Fint *v5, MPI_Fint *ierr ){ #ifdef MPI_MODE_RDONLY if (v3 == MPIR_F_MPI_BOTTOM) v3 = MPI_BOTTOM; *ierr = MPI_File_write_at_all_begin( MPI_File_f2c(*v1), (MPI_Offset)*v2, v3, (int)*v4, (MPI_Datatype)(*v5) ); #else *ierr = MPI_ERR_INTERN; #endif }
void mpi_file_set_errhandler_f(MPI_Fint *fh, MPI_Fint *errhandler, MPI_Fint *ierr) { MPI_File c_fh = MPI_File_f2c(*fh); MPI_Errhandler c_err = MPI_Errhandler_f2c(*errhandler); *ierr = OMPI_INT_2_FINT(MPI_File_set_errhandler(c_fh, c_err)); }
FORTRAN_API void FORT_CALL mpi_file_write_at_all_end_(MPI_Fint *fh,void *buf,MPI_Status *status, MPI_Fint *ierr ) { MPI_File fh_c; fh_c = MPI_File_f2c(*fh); *ierr = MPI_File_write_at_all_end(fh_c,buf,status); }
FORTRAN_API void FORT_CALL mpi_file_close_(MPI_Fint *fh, MPI_Fint *ierr ) { MPI_File fh_c; fh_c = MPI_File_f2c(*fh); *ierr = MPI_File_close(&fh_c); *fh = MPI_File_c2f(fh_c); }
FORT_DLL_SPEC void FORT_CALL mpi_file_read_ordered_begin_ ( MPI_Fint *v1, void*v2, MPI_Fint *v3, MPI_Fint *v4, MPI_Fint *ierr ){ #ifdef MPI_MODE_RDONLY if (v2 == MPIR_F_MPI_BOTTOM) v2 = MPI_BOTTOM; *ierr = MPI_File_read_ordered_begin( MPI_File_f2c(*v1), v2, (int)*v3, (MPI_Datatype)(*v4) ); #else *ierr = MPI_ERR_INTERN; #endif }
void FORTRAN_API mpi_file_read_all_end_(MPI_Fint *fh,void *buf,MPI_Status *status, int *ierr ) { MPI_File fh_c; fh_c = MPI_File_f2c(*fh); *ierr = MPI_File_read_all_end(fh_c,buf,status); }
void ompi_file_preallocate_f(MPI_Fint *fh, MPI_Offset *size, MPI_Fint *ierr) { int c_ierr; MPI_File c_fh = MPI_File_f2c(*fh); c_ierr = MPI_File_preallocate(c_fh, (MPI_Offset) *size); if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr); }
FORTRAN_API void FORT_CALL mpi_file_read_ordered_end_(MPI_Fint *fh,void *buf,MPI_Status *status, MPI_Fint *ierr ) { MPI_File fh_c; fh_c = MPI_File_f2c(*fh); *ierr = MPI_File_read_ordered_end(fh_c,buf,status); }
void FORTRAN_API mpi_file_read_(MPI_Fint *fh,void *buf,int *count, MPI_Datatype *datatype,MPI_Status *status, int *ierr ) { MPI_File fh_c; fh_c = MPI_File_f2c(*fh); *ierr = MPI_File_read(fh_c,buf,*count,*datatype,status); }
FORTRAN_API void FORT_CALL mpi_file_read_at_(MPI_Fint *fh,MPI_Offset *offset,void *buf, MPI_Fint *count,MPI_Fint *datatype,MPI_Status *status, MPI_Fint *ierr ) { MPI_File fh_c; fh_c = MPI_File_f2c(*fh); *ierr = MPI_File_read_at(fh_c,*offset,buf,*count,(MPI_Datatype)*datatype,status); }
FORTRAN_API void FORT_CALL mpi_file_read_shared_(MPI_Fint *fh,void *buf,MPI_Fint *count, MPI_Fint *datatype,MPI_Status *status, MPI_Fint *ierr ) { MPI_File fh_c; fh_c = MPI_File_f2c(*fh); *ierr = MPI_File_read_shared(fh_c,buf,*count,(MPI_Datatype)*datatype,status); }
void FORTRAN_API mpi_file_read_at_all_begin_(MPI_Fint *fh,MPI_Offset *offset,void *buf, int *count,MPI_Datatype *datatype, int *ierr ) { MPI_File fh_c; fh_c = MPI_File_f2c(*fh); *ierr = MPI_File_read_at_all_begin(fh_c,*offset,buf,*count,*datatype); }
void FORTRAN_API mpi_file_write_at_all_(MPI_Fint *fh,MPI_Offset *offset,void *buf, int *count,MPI_Datatype *datatype, MPI_Status *status, int *ierr ) { MPI_File fh_c; fh_c = MPI_File_f2c(*fh); *ierr = MPI_File_write_at_all(fh_c,*offset,buf,*count,*datatype,status); }
FORTRAN_API void FORT_CALL mpi_file_write_ordered_(MPI_Fint * fh, void *buf, MPI_Fint * count, MPI_Fint * datatype, MPI_Status * status, MPI_Fint * ierr) { MPI_File fh_c; fh_c = MPI_File_f2c(*fh); *ierr = MPI_File_write_ordered(fh_c, buf, *count, *datatype, status); }
FORT_DLL_SPEC void FORT_CALL mpi_file_get_atomicity_ ( MPI_Fint *v1, MPI_Fint *v2, MPI_Fint *ierr ){ #ifdef MPI_MODE_RDONLY int l2; *ierr = MPI_File_get_atomicity( MPI_File_f2c(*v1), &l2 ); *v2 = MPIR_TO_FLOG(l2); #else *ierr = MPI_ERR_INTERN; #endif }
FORT_DLL_SPEC void FORT_CALL mpi_file_close_ ( MPI_Fint *v1, MPI_Fint *ierr ) { #ifdef MPI_MODE_RDONLY MPI_File l1 = MPI_File_f2c(*v1); *ierr = MPI_File_close( &l1 ); *v1 = MPI_File_c2f(l1); #else *ierr = MPI_ERR_INTERN; #endif }
void mpi_file_get_group_(MPI_Fint *fh, MPI_Fint *group, MPI_Fint *ierr ) { MPI_File fh_c; MPI_Group group_c; fh_c = MPI_File_f2c(*fh); *ierr = MPI_File_get_group(fh_c, &group_c); *group = MPI_Group_c2f(group_c); }
void mpi_file_write_all_begin_(MPI_Fint *fh,void *buf,int *count, MPI_Fint *datatype, int *ierr ){ MPI_File fh_c; MPI_Datatype datatype_c; fh_c = MPI_File_f2c(*fh); datatype_c = MPI_Type_f2c(*datatype); *ierr = MPI_File_write_all_begin(fh_c,buf,*count,datatype_c); }
void FORTRAN_API mpi_file_iwrite_shared_(MPI_Fint *fh,void *buf,int *count, MPI_Datatype *datatype,MPI_Fint *request, int *ierr ) { MPI_File fh_c; MPIO_Request req_c; fh_c = MPI_File_f2c(*fh); *ierr = MPI_File_iwrite_shared(fh_c,buf,*count,*datatype,&req_c); *request = MPIO_Request_c2f(req_c); }
void mpi_file_read_ordered_begin_f(MPI_Fint *fh, char *buf, MPI_Fint *count, MPI_Fint *datatype, MPI_Fint *ierr) { MPI_File c_fh = MPI_File_f2c(*fh); MPI_Datatype c_type = MPI_Type_f2c(*datatype); *ierr = OMPI_INT_2_FINT(MPI_File_read_ordered_begin(c_fh, OMPI_F2C_BOTTOM(buf), OMPI_FINT_2_INT(*count), c_type)); }
FORTRAN_API void FORT_CALL mpi_file_iread_(MPI_Fint *fh,void *buf,MPI_Fint *count, MPI_Datatype *datatype,MPI_Fint *request, MPI_Fint *ierr ) { MPI_File fh_c; MPIO_Request req_c; fh_c = MPI_File_f2c(*fh); *ierr = MPI_File_iread(fh_c,buf,*count,*datatype,&req_c); *request = MPIO_Request_c2f(req_c); }
void mpi_file_write_all_(MPI_Fint *fh,void *buf,int *count, MPI_Fint *datatype,MPI_Status *status, int *ierr ){ MPI_File fh_c; MPI_Datatype datatype_c; fh_c = MPI_File_f2c(*fh); datatype_c = MPI_Type_f2c(*datatype); *ierr = MPI_File_write_all(fh_c,buf,*count,datatype_c,status); }
void ompi_file_seek_f(MPI_Fint *fh, MPI_Offset *offset, MPI_Fint *whence, MPI_Fint *ierr) { int c_ierr; MPI_File c_fh = MPI_File_f2c(*fh); c_ierr = MPI_File_seek(c_fh, (MPI_Offset) *offset, OMPI_FINT_2_INT(*whence)); if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr); }
FORTRAN_API void FORT_CALL mpi_file_get_type_extent_(MPI_Fint * fh, MPI_Datatype * datatype, MPI_Fint * extent, MPI_Fint * ierr) { MPI_File fh_c; MPI_Aint extent_c; fh_c = MPI_File_f2c(*fh); *ierr = MPI_File_get_type_extent(fh_c, *datatype, &extent_c); *(MPI_Aint *) extent = extent_c; /* Have to assume it's really an MPI_Aint? */ }
FORTRAN_API void FORT_CALL mpi_file_set_info_(MPI_Fint *fh, MPI_Fint *info, int *ierr ) { MPI_File fh_c; MPI_Info info_c; fh_c = MPI_File_f2c(*fh); info_c = MPI_Info_f2c(*info); *ierr = MPI_File_set_info(fh_c, info_c); }
FORTRAN_API void FORT_CALL mpi_file_set_errhandler_(MPI_Fint *fh, MPI_Fint *err_handler, MPI_Fint *ierr) { MPI_File fh_c; MPI_Errhandler err_handler_c; fh_c = MPI_File_f2c(*fh); err_handler_c = MPI_Errhandler_f2c(*err_handler); *ierr = MPI_File_set_errhandler(fh_c,err_handler_c); }
void mpi_file_get_group_f(MPI_Fint *fh, MPI_Fint *group, MPI_Fint *ierr) { MPI_File c_fh = MPI_File_f2c(*fh); MPI_Group c_grp; *ierr = OMPI_INT_2_FINT(MPI_File_get_group(c_fh, &c_grp)); if (MPI_SUCCESS == OMPI_FINT_2_INT(*ierr)) { *group = MPI_Group_c2f(c_grp); } }