---
name: "MPI_TYPE_DUP_FN"
section: "3"
platform: "linux"
package: "lam4-dev"
version: "7.1.4-7.2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/MPI_TYPE_DUP_FN"
---

# MPI\_TYPE\_DUP\_FN(3)

Built-in MPI function to simple-mindedly copy datatype attributes.

## NAME

MPI\_TYPE\_DUP\_FN -  Built-in MPI function to simple-mindedly copy datatype attributes.

## SYNOPSIS

```
#include <mpi.h>
int MPI_TYPE_DUP_FN(MPI_Datatype dtype, int key,
                   void *extra, void *attrin, void *attrout,
                   int *flag)
```

## INPUT PARAMETERS

- **dtype**

  \- communicator (handle)

- **key**

  \- key value (integer)

- **extra**

  \- extra state

- **attrin**

  \- in value for attribute

## OUTPUT PARAMETERS

- **attrout**

  \- out value for attribute

- **flag**

  \- 1 if attribute copied successfully, 0 otherwise (logical)

## NOTES

This function blindly byte-copies attributes on datatypes.  It is the default atrribute-copying function for datatypes.  This function will always return  *MPI\_SUCCESS* , and  *flag* will always be set to 1.

The actual copy is performed by the code

```
*((void **) attrout) = attrin;
```

If this simple assignment is not sufficient for your attributes, you will need to reassign the attribute-copying function on relevant keyvals on datatypes with the  *MPI\_Type\_keyval\_create* function.

## NOTES FOR FORTRAN

All MPI routines in Fortran (except for  *MPI\_WTIME* and  *MPI\_WTICK* ) have an additional argument  *ierr* at the end of the argument list. *ierr* is an integer and has the same meaning as the return value of the routine in C.  In Fortran, MPI routines are subroutines, and are invoked with the  *call* statement.

All MPI objects (e.g.,  *MPI\_Datatype* ,  *MPI\_Comm* ) are of type *INTEGER* in Fortran.

## SEE ALSO

MPI\_Type\_keyval\_create\

## MORE INFORMATION

For more information, please see the official MPI Forum web site, which contains the text of both the MPI-1 and MPI-2 standards.  These documents contain detailed information about each MPI function (most of which is not duplicated in these man pages).

*http://www.mpi-forum.org/*

## ACKNOWLEDGEMENTS

The LAM Team would like the thank the MPICH Team for the handy program to generate man pages ("doctext" from *ftp://ftp.mcs.anl.gov/pub/sowing/sowing.tar.gz* ), the initial formatting, and some initial text for most of the MPI-1 man pages.

## LOCATION

dupfn.c
