SYNTAX

C Syntax

int MPI_Unpack_external(const char datarep[], const void* inbuf,
    MPI_Aint insize, MPI_Aint* position, void* outbuf, int outcount,
    MPI_Datatype datatype)

int MPI_Unpack_external_c(const char datarep[], const void* inbuf,
    MPI_Count insize, MPI_Count* position, void* outbuf, MPI_Count
    outcount, MPI_Datatype datatype)

Fortran Syntax

USE MPI
! or the older form: INCLUDE 'mpif.h'
MPI_UNPACK_EXTERNAL(DATAREP, INBUF, INSIZE, POSITION, OUTBUF, OUTCOUNT, DATATYPE, IERROR)
    CHARACTER*(*) DATAREP
    <type> INBUF(*), OUTBUF(*)
    INTEGER(KIND=MPI_ADDRESS_KIND) INSIZE, POSITION
    INTEGER OUTCOUNT, DATATYPE, IERROR

Fortran 2008 Syntax

USE mpi_f08
MPI_Unpack_external(datarep, inbuf, insize, position, outbuf, outcount, datatype, ierror)
    CHARACTER(LEN=*), INTENT(IN) :: datarep
    TYPE(*), DIMENSION(..), INTENT(IN) :: inbuf
    INTEGER(KIND=MPI_ADDRESS_KIND), INTENT(IN) :: insize
    INTEGER(KIND=MPI_ADDRESS_KIND), INTENT(INOUT) :: position
    TYPE(*), DIMENSION(..) :: outbuf
    INTEGER, INTENT(IN) :: outcount
    TYPE(MPI_Datatype), INTENT(IN) :: datatype
    INTEGER, OPTIONAL, INTENT(OUT) :: ierror

MPI_Unpack_external(datarep, inbuf, insize, position, outbuf, outcount, datatype, ierror)
    CHARACTER(LEN=*), INTENT(IN) :: datarep
    TYPE(*), DIMENSION(..), INTENT(IN) :: inbuf
    INTEGER(KIND=MPI_COUNT_KIND), INTENT(IN) :: insize, outcount
    INTEGER(KIND=MPI_COUNT_KIND), INTENT(INOUT) :: position
    TYPE(*), DIMENSION(..) :: outbuf
    TYPE(MPI_Datatype), INTENT(IN) :: datatype
    INTEGER, OPTIONAL, INTENT(OUT) :: ierror