SYNTAX

C Syntax

int MPI_Register_datarep(const char* datarep,
    MPI_Datarep_conversion_function* read_conversion_fn,
    MPI_Datarep_conversion_function* write_conversion_fn,
    MPI_Datarep_extent_function* dtype_file_extent_fn, void*
    extra_state)

int MPI_Register_datarep_c(const char* datarep,
    MPI_Datarep_conversion_function_c* read_conversion_fn,
    MPI_Datarep_conversion_function_c* write_conversion_fn,
    MPI_Datarep_extent_function* dtype_file_extent_fn, void*
    extra_state)

Fortran Syntax

USE MPI
! or the older form: INCLUDE 'mpif.h'
MPI_REGISTER_DATAREP(DATAREP, READ_CONVERSION_FN, WRITE_CONVERSION_FN, DTYPE_FILE_EXTENT_FN, EXTRA_STATE, IERROR)
    CHARACTER*(*) DATAREP
    EXTERNAL READ_CONVERSION_FN, WRITE_CONVERSION_FN, DTYPE_FILE_EXTENT_FN
    INTEGER(KIND=MPI_ADDRESS_KIND) EXTRA_STATE
    INTEGER IERROR

Fortran 2008 Syntax

USE mpi_f08
MPI_Register_datarep(datarep, read_conversion_fn, write_conversion_fn, dtype_file_extent_fn, extra_state, ierror)
    CHARACTER(LEN=*), INTENT(IN) :: datarep
    PROCEDURE(MPI_Datarep_conversion_function) :: read_conversion_fn, write_conversion_fn
    PROCEDURE(MPI_Datarep_extent_function) :: dtype_file_extent_fn
    INTEGER(KIND=MPI_ADDRESS_KIND), INTENT(IN) :: extra_state
    INTEGER, OPTIONAL, INTENT(OUT) :: ierror

MPI_Register_datarep_c(datarep, read_conversion_fn, write_conversion_fn, dtype_file_extent_fn, extra_state, ierror)
    CHARACTER(LEN=*), INTENT(IN) :: datarep
    PROCEDURE(MPI_Datarep_conversion_function_c) :: read_conversion_fn, write_conversion_fn
    PROCEDURE(MPI_Datarep_extent_function) :: dtype_file_extent_fn
    INTEGER(KIND=MPI_ADDRESS_KIND), INTENT(IN) :: extra_state
    INTEGER, OPTIONAL, INTENT(OUT) :: ierror