---
name: "XmTransferDone"
section: "3"
platform: "linux"
package: "openmotif"
version: "2.3.8-4"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/XmTransferDone"
---

# XmTransferDone(3)

A toolkit function that completes a data transfer

## NAME

**XmTransferDone** — A toolkit function that completes a data transfer

## SYNOPSIS

```
#include <Xm/Xm.h>

void XmTransferDone(
XtPointer transfer_id,
XmTransferStatus status);
```

## DESCRIPTION

**XmTransferDone** completes an already-initiated data transfer operation. An application can call this routine from an **XmNdestinationCallback** procedure or any function called as a result, including the selection procedures called as a result of calls to **XmTransferValue**.

The caller of **XmTransferDone** supplies an identifier for the transfer operation and an indication of the completion status. **XmTransferDone** causes any remaining transfers for the operation to be discarded.

- **transfer\_id**

  Specifies a unique indentifier for the data transfer operation. The value must be the same as the value of the **transfer\_id** member of the **XmDestinationCallbackStruct** passed to the **XmNdestinationCallback** procedure.

- *status*

  Specifies the completion status of the data transfer. Following are the possible values:

  - **XmTRANSFER\_DONE\_SUCCEED**

    The transfer was completed successfully. This status has the following additional effects:

    - •

      For a move operation, the selection owner receives a request to convert the selection to the **DELETE** target.

    - •

      If a **TRANSACT** operation is in progress, the owner receives a request to commit the transaction.

    - •

      If a **PERSIST** or **\_MOTIF\_SNAPSHOT** operation is in progress, the owner receives a notification that the operation is finished.

    - •

      The widget class destination procedure is not called.

  - **XmTRANSFER\_DONE\_FAIL**

    The transfer was completed unsuccessfully. This status has the following additional effects:

    - •

      For a move operation, the selection owner does not receive a request to convert the selection to the **DELETE** target.

    - •

      For a drag and drop operation, the DropTransfer's **XmNtransferStatus** is set to **XmTRANSFER\_FAILURE**.

    - •

      If a **TRANSACT** operation is in progress, the owner receives a request to abort the transaction.

    - •

      If a **PERSIST** or **\_MOTIF\_SNAPSHOT** operation is in progress, the owner receives a notification that the operation is finished.

    - •

      The widget class destination procedure is not called.

  - **XmTRANSFER\_DONE\_CONTINUE**

    This status has the same effect as **XmTRANSFER\_DONE\_SUCCEED**, except that if a **PERSIST** or **\_MOTIF\_SNAPSHOT** operation is in progress, the owner does not receive a notification that the operation is finished.

  - **XmTRANSFER\_DONE\_DEFAULT**

    The widget class destination procedure is called. Further effects depend on the actions of that procedure.

## RELATED

[**XmTransferSendRequest**(3)](/XmTransferSendRequest/3.md), [**XmTransferStartRequest**(3)](/XmTransferStartRequest/3.md), [**XmTransferStartRequest**(3)](/XmTransferStartRequest/3.md), and [**XmTransferValue**(3)](/XmTransferValue/3.md).
