---
name: "dpm_putdone"
section: "3"
platform: "linux"
package: "libdpm-dev"
version: "1.10.0-2+b3"
release: "Debian 10 (Buster)"
platforms: ["linux"]
url: "https://new.carta.tech/dpm_putdone"
---

# dpm\_putdone(3)

mark a set of files as complete

## NAME

dpm\_putdone - mark a set of files as complete

## SYNOPSIS

**#include \<sys/types.h\>**\
 **#include "dpm\_api.h"**

**int dpm\_putdone (char \****r\_token***,** **int** *nbsurls***,** **char \*\****surls***,** **int \****nbreplies***,** **struct dpm\_filestatus \*\****filestatuses***)**

## DESCRIPTION

**dpm\_putdone** marks a set of files as complete.

The input arguments are:

- *r\_token*

  specifies the token returned by a previous put request.

- *nbsurls*

  specifies the number of files belonging to the request.

- *surls*

  specifies the array of file names.

The output arguments are:

- *nbreplies*

  will be set to the number of replies in the array of file statuses.

- *filestatuses*

  will be set to the address of an array of dpm\_filestatus structures allocated by the API. The client application is responsible for freeing the array when not needed anymore.

```
struct dpm_filestatus {
	char		*surl;
	int		status;
	char		*errstring;
};
```

## RETURN VALUE

This routine returns 0 if the operation was successful or -1 if the operation failed. In the latter case, **serrno** is set appropriately.

## ERRORS

- **EFAULT**

  *r\_token*, *surls*, *nbreplies* or *filestatuses* is a NULL pointer.

- **ENOMEM**

  Memory could not be allocated for marshalling the request.

- **EINVAL**

  *nbsurls* is not strictly positive, the token is too long or not known or all file requests have errors.

- **SENOSHOST**

  Host unknown.

- **SEINTERNAL**

  Database error.

- **SECOMERR**

  Communication error.
