---
name: "globus_ftp_client_plugin.h"
section: "3"
platform: "linux"
package: "libglobus-ftp-client-doc"
version: "9.8-4"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/globus_ftp_client_plugin.h"
---

# globus\_ftp\_client\_plugin.h(3)

Plugin Implementation.

## NAME

globus\_ftp\_client\_plugin.h - Plugin Implementation.

## SYNOPSIS

`#include 'globus_ftp_client.h'`\

### Typedefs

typedef **globus\_ftp\_client\_plugin\_t** \*(\* **globus\_ftp\_client\_plugin\_copy\_t**) (**globus\_ftp\_client\_plugin\_t** \*plugin\_template, void \*plugin\_specific)\
 typedef void(\* **globus\_ftp\_client\_plugin\_destroy\_t**) (**globus\_ftp\_client\_plugin\_t** \*plugin, void \*plugin\_specific)\
 typedef void(\* **globus\_ftp\_client\_plugin\_connect\_t**) (**globus\_ftp\_client\_plugin\_t** \*plugin, void \*plugin\_specific, **globus\_ftp\_client\_handle\_t** \*handle, const char \*url)\
 typedef void(\* **globus\_ftp\_client\_plugin\_authenticate\_t**) (**globus\_ftp\_client\_plugin\_t** \*plugin, void \*plugin\_specific, **globus\_ftp\_client\_handle\_t** \*handle, const char \*url, const globus\_ftp\_control\_auth\_info\_t \*auth\_info)\
 typedef void(\* **globus\_ftp\_client\_plugin\_chmod\_t**) (**globus\_ftp\_client\_plugin\_t** \*plugin, void \*plugin\_specific, **globus\_ftp\_client\_handle\_t** \*handle, const char \*url, int mode, const **globus\_ftp\_client\_operationattr\_t** \*attr, globus\_bool\_t restart)\
 typedef void(\* **globus\_ftp\_client\_plugin\_chgrp\_t**) (**globus\_ftp\_client\_plugin\_t** \*plugin, void \*plugin\_specific, **globus\_ftp\_client\_handle\_t** \*handle, const char \*url, const char \*group, const **globus\_ftp\_client\_operationattr\_t** \*attr, globus\_bool\_t restart)\
 typedef void(\* **globus\_ftp\_client\_plugin\_utime\_t**) (**globus\_ftp\_client\_plugin\_t** \*plugin, void \*plugin\_specific, **globus\_ftp\_client\_handle\_t** \*handle, const char \*url, const struct tm \*utime\_time, const **globus\_ftp\_client\_operationattr\_t** \*attr, globus\_bool\_t restart)\
 typedef void(\* **globus\_ftp\_client\_plugin\_symlink\_t**) (**globus\_ftp\_client\_plugin\_t** \*plugin, void \*plugin\_specific, **globus\_ftp\_client\_handle\_t** \*handle, const char \*url, const char \*link\_url, const **globus\_ftp\_client\_operationattr\_t** \*attr, globus\_bool\_t restart)\
 typedef void(\* **globus\_ftp\_client\_plugin\_cksm\_t**) (**globus\_ftp\_client\_plugin\_t** \*plugin, void \*plugin\_specific, **globus\_ftp\_client\_handle\_t** \*handle, const char \*url, globus\_off\_t offset, globus\_off\_t length, const char \*algorithm, const **globus\_ftp\_client\_operationattr\_t** \*attr, globus\_bool\_t restart)\
 typedef void(\* **globus\_ftp\_client\_plugin\_delete\_t**) (**globus\_ftp\_client\_plugin\_t** \*plugin, void \*plugin\_specific, **globus\_ftp\_client\_handle\_t** \*handle, const char \*url, const **globus\_ftp\_client\_operationattr\_t** \*attr, globus\_bool\_t restart)\
 typedef void(\* **globus\_ftp\_client\_plugin\_feat\_t**) (**globus\_ftp\_client\_plugin\_t** \*plugin, void \*plugin\_specific, **globus\_ftp\_client\_handle\_t** \*handle, const char \*url, const **globus\_ftp\_client\_operationattr\_t** \*attr, globus\_bool\_t restart)\
 typedef void(\* **globus\_ftp\_client\_plugin\_mkdir\_t**) (**globus\_ftp\_client\_plugin\_t** \*plugin, void \*plugin\_specific, **globus\_ftp\_client\_handle\_t** \*handle, const char \*url, const **globus\_ftp\_client\_operationattr\_t** \*attr, globus\_bool\_t restart)\
 typedef void(\* **globus\_ftp\_client\_plugin\_rmdir\_t**) (**globus\_ftp\_client\_plugin\_t** \*plugin, void \*plugin\_specific, **globus\_ftp\_client\_handle\_t** \*handle, const char \*url, const **globus\_ftp\_client\_operationattr\_t** \*attr, globus\_bool\_t restart)\
 typedef void(\* **globus\_ftp\_client\_plugin\_list\_t**) (**globus\_ftp\_client\_plugin\_t** \*plugin, void \*plugin\_specific, **globus\_ftp\_client\_handle\_t** \*handle, const char \*url, const **globus\_ftp\_client\_operationattr\_t** \*attr, globus\_bool\_t restart)\
 typedef void(\* **globus\_ftp\_client\_plugin\_verbose\_list\_t**) (**globus\_ftp\_client\_plugin\_t** \*plugin, void \*plugin\_specific, **globus\_ftp\_client\_handle\_t** \*handle, const char \*url, const **globus\_ftp\_client\_operationattr\_t** \*attr, globus\_bool\_t restart)\
 typedef void(\* **globus\_ftp\_client\_plugin\_machine\_list\_t**) (**globus\_ftp\_client\_plugin\_t** \*plugin, void \*plugin\_specific, **globus\_ftp\_client\_handle\_t** \*handle, const char \*url, const **globus\_ftp\_client\_operationattr\_t** \*attr, globus\_bool\_t restart)\
 typedef void(\* **globus\_ftp\_client\_plugin\_recursive\_list\_t**) (**globus\_ftp\_client\_plugin\_t** \*plugin, void \*plugin\_specific, **globus\_ftp\_client\_handle\_t** \*handle, const char \*url, const **globus\_ftp\_client\_operationattr\_t** \*attr, globus\_bool\_t restart)\
 typedef void(\* **globus\_ftp\_client\_plugin\_mlst\_t**) (**globus\_ftp\_client\_plugin\_t** \*plugin, void \*plugin\_specific, **globus\_ftp\_client\_handle\_t** \*handle, const char \*url, const **globus\_ftp\_client\_operationattr\_t** \*attr, globus\_bool\_t restart)\
 typedef void(\* **globus\_ftp\_client\_plugin\_stat\_t**) (**globus\_ftp\_client\_plugin\_t** \*plugin, void \*plugin\_specific, **globus\_ftp\_client\_handle\_t** \*handle, const char \*url, const **globus\_ftp\_client\_operationattr\_t** \*attr, globus\_bool\_t restart)\
 typedef void(\* **globus\_ftp\_client\_plugin\_move\_t**) (**globus\_ftp\_client\_plugin\_t** \*plugin, void \*plugin\_specific, **globus\_ftp\_client\_handle\_t** \*handle, const char \*source\_url, const char \*dest\_url, const **globus\_ftp\_client\_operationattr\_t** \*attr, globus\_bool\_t restart)\
 typedef void(\* **globus\_ftp\_client\_plugin\_get\_t**) (**globus\_ftp\_client\_plugin\_t** \*plugin, void \*plugin\_specific, **globus\_ftp\_client\_handle\_t** \*handle, const char \*url, const **globus\_ftp\_client\_operationattr\_t** \*attr, globus\_bool\_t restart)\
 typedef void(\* **globus\_ftp\_client\_plugin\_put\_t**) (**globus\_ftp\_client\_plugin\_t** \*plugin, void \*plugin\_specific, **globus\_ftp\_client\_handle\_t** \*handle, const char \*url, const **globus\_ftp\_client\_operationattr\_t** \*attr, globus\_bool\_t restart)\
 typedef void(\* **globus\_ftp\_client\_plugin\_third\_party\_transfer\_t**) (**globus\_ftp\_client\_plugin\_t** \*plugin, void \*plugin\_specific, **globus\_ftp\_client\_handle\_t** \*handle, const char \*source\_url, const **globus\_ftp\_client\_operationattr\_t** \*source\_attr, const char \*dest\_url, const **globus\_ftp\_client\_operationattr\_t** \*dest\_attr, globus\_bool\_t restart)\
 typedef void(\* **globus\_ftp\_client\_plugin\_modification\_time\_t**) (**globus\_ftp\_client\_plugin\_t** \*plugin, void \*plugin\_specific, **globus\_ftp\_client\_handle\_t** \*handle, const char \*url, const **globus\_ftp\_client\_operationattr\_t** \*attr, globus\_bool\_t restart)\
 typedef void(\* **globus\_ftp\_client\_plugin\_size\_t**) (**globus\_ftp\_client\_plugin\_t** \*plugin, void \*plugin\_specific, **globus\_ftp\_client\_handle\_t** \*handle, const char \*url, const **globus\_ftp\_client\_operationattr\_t** \*attr, globus\_bool\_t restart)\
 typedef void(\* **globus\_ftp\_client\_plugin\_abort\_t**) (**globus\_ftp\_client\_plugin\_t** \*plugin, void \*plugin\_specific, **globus\_ftp\_client\_handle\_t** \*handle)\
 typedef void(\* **globus\_ftp\_client\_plugin\_read\_t**) (**globus\_ftp\_client\_plugin\_t** \*plugin, void \*plugin\_specific, **globus\_ftp\_client\_handle\_t** \*handle, const globus\_byte\_t \*buffer, globus\_size\_t buffer\_length)\
 typedef void(\* **globus\_ftp\_client\_plugin\_write\_t**) (**globus\_ftp\_client\_plugin\_t** \*plugin, void \*plugin\_specific, **globus\_ftp\_client\_handle\_t** \*handle, const globus\_byte\_t \*buffer, globus\_size\_t buffer\_length, globus\_off\_t offset, globus\_bool\_t eof)\
 typedef void(\* **globus\_ftp\_client\_plugin\_data\_t**) (**globus\_ftp\_client\_plugin\_t** \*plugin, void \*plugin\_specific, **globus\_ftp\_client\_handle\_t** \*handle, globus\_object\_t \*error, const globus\_byte\_t \*buffer, globus\_size\_t length, globus\_off\_t offset, globus\_bool\_t eof)\
 typedef void(\* **globus\_ftp\_client\_plugin\_command\_t**) (**globus\_ftp\_client\_plugin\_t** \*plugin, void \*plugin\_specific, **globus\_ftp\_client\_handle\_t** \*handle, const char \*url, const char \*command)\
 typedef void(\* **globus\_ftp\_client\_plugin\_response\_t**) (**globus\_ftp\_client\_plugin\_t** \*plugin, void \*plugin\_specific, **globus\_ftp\_client\_handle\_t** \*handle, const char \*url, globus\_object\_t \*error, const globus\_ftp\_control\_response\_t \*ftp\_response)\
 typedef void(\* **globus\_ftp\_client\_plugin\_fault\_t**) (**globus\_ftp\_client\_plugin\_t** \*plugin, void \*plugin\_specific, **globus\_ftp\_client\_handle\_t** \*handle, const char \*url, globus\_object\_t \*error)\
 typedef void(\* **globus\_ftp\_client\_plugin\_complete\_t**) (**globus\_ftp\_client\_plugin\_t** \*plugin, void \*plugin\_specific, **globus\_ftp\_client\_handle\_t** \*handle)\

### Enumerations

enum **globus\_ftp\_client\_plugin\_command\_mask\_t** {  }\

### Functions

globus\_result\_t **globus\_ftp\_client\_plugin\_restart\_list** (**globus\_ftp\_client\_handle\_t** \*handle, const char \*url, const **globus\_ftp\_client\_operationattr\_t** \*attr, const globus\_abstime\_t \*when)\
 globus\_result\_t **globus\_ftp\_client\_plugin\_restart\_verbose\_list** (**globus\_ftp\_client\_handle\_t** \*handle, const char \*url, const **globus\_ftp\_client\_operationattr\_t** \*attr, const globus\_abstime\_t \*when)\
 globus\_result\_t **globus\_ftp\_client\_plugin\_restart\_machine\_list** (**globus\_ftp\_client\_handle\_t** \*handle, const char \*url, const **globus\_ftp\_client\_operationattr\_t** \*attr, const globus\_abstime\_t \*when)\
 globus\_result\_t **globus\_ftp\_client\_plugin\_restart\_recursive\_list** (**globus\_ftp\_client\_handle\_t** \*handle, const char \*url, const **globus\_ftp\_client\_operationattr\_t** \*attr, const globus\_abstime\_t \*when)\
 globus\_result\_t **globus\_ftp\_client\_plugin\_restart\_mlst** (**globus\_ftp\_client\_handle\_t** \*handle, const char \*url, const **globus\_ftp\_client\_operationattr\_t** \*attr, const globus\_abstime\_t \*when)\
 globus\_result\_t **globus\_ftp\_client\_plugin\_restart\_stat** (**globus\_ftp\_client\_handle\_t** \*handle, const char \*url, const **globus\_ftp\_client\_operationattr\_t** \*attr, const globus\_abstime\_t \*when)\
 globus\_result\_t **globus\_ftp\_client\_plugin\_restart\_delete** (**globus\_ftp\_client\_handle\_t** \*handle, const char \*url, const **globus\_ftp\_client\_operationattr\_t** \*attr, const globus\_abstime\_t \*when)\
 globus\_result\_t **globus\_ftp\_client\_plugin\_restart\_chmod** (**globus\_ftp\_client\_handle\_t** \*handle, const char \*url, int mode, const **globus\_ftp\_client\_operationattr\_t** \*attr, const globus\_abstime\_t \*when)\
 globus\_result\_t **globus\_ftp\_client\_plugin\_restart\_chgrp** (**globus\_ftp\_client\_handle\_t** \*handle, const char \*url, const char \*group, const **globus\_ftp\_client\_operationattr\_t** \*attr, const globus\_abstime\_t \*when)\
 globus\_result\_t **globus\_ftp\_client\_plugin\_restart\_utime** (**globus\_ftp\_client\_handle\_t** \*handle, const char \*url, const struct tm \*utime\_time, const **globus\_ftp\_client\_operationattr\_t** \*attr, const globus\_abstime\_t \*when)\
 globus\_result\_t **globus\_ftp\_client\_plugin\_restart\_symlink** (**globus\_ftp\_client\_handle\_t** \*handle, const char \*url, const char \*link\_url, const **globus\_ftp\_client\_operationattr\_t** \*attr, const globus\_abstime\_t \*when)\
 globus\_result\_t **globus\_ftp\_client\_plugin\_restart\_cksm** (**globus\_ftp\_client\_handle\_t** \*handle, const char \*url, globus\_off\_t offset, globus\_off\_t length, const char \*algorithm, const **globus\_ftp\_client\_operationattr\_t** \*attr, const globus\_abstime\_t \*when)\
 globus\_result\_t **globus\_ftp\_client\_plugin\_restart\_feat** (**globus\_ftp\_client\_handle\_t** \*handle, const char \*url, const **globus\_ftp\_client\_operationattr\_t** \*attr, const globus\_abstime\_t \*when)\
 globus\_result\_t **globus\_ftp\_client\_plugin\_restart\_mkdir** (**globus\_ftp\_client\_handle\_t** \*handle, const char \*url, const **globus\_ftp\_client\_operationattr\_t** \*attr, const globus\_abstime\_t \*when)\
 globus\_result\_t **globus\_ftp\_client\_plugin\_restart\_rmdir** (**globus\_ftp\_client\_handle\_t** \*handle, const char \*url, const **globus\_ftp\_client\_operationattr\_t** \*attr, const globus\_abstime\_t \*when)\
 globus\_result\_t **globus\_ftp\_client\_plugin\_restart\_move** (**globus\_ftp\_client\_handle\_t** \*handle, const char \*source\_url, const char \*dest\_url, const **globus\_ftp\_client\_operationattr\_t** \*attr, const globus\_abstime\_t \*when)\
 globus\_result\_t **globus\_ftp\_client\_plugin\_restart\_get** (**globus\_ftp\_client\_handle\_t** \*handle, const char \*url, const **globus\_ftp\_client\_operationattr\_t** \*attr, **globus\_ftp\_client\_restart\_marker\_t** \*restart\_marker, const globus\_abstime\_t \*when)\
 globus\_result\_t **globus\_ftp\_client\_plugin\_restart\_put** (**globus\_ftp\_client\_handle\_t** \*handle, const char \*url, const **globus\_ftp\_client\_operationattr\_t** \*attr, **globus\_ftp\_client\_restart\_marker\_t** \*restart\_marker, const globus\_abstime\_t \*when)\
 globus\_result\_t **globus\_ftp\_client\_plugin\_restart\_third\_party\_transfer** (**globus\_ftp\_client\_handle\_t** \*handle, const char \*source\_url, const **globus\_ftp\_client\_operationattr\_t** \*source\_attr, const char \*dest\_url, const **globus\_ftp\_client\_operationattr\_t** \*dest\_attr, **globus\_ftp\_client\_restart\_marker\_t** \*restart\_marker, const globus\_abstime\_t \*when)\
 globus\_result\_t **globus\_ftp\_client\_plugin\_restart\_size** (**globus\_ftp\_client\_handle\_t** \*handle, const char \*url, const **globus\_ftp\_client\_operationattr\_t** \*attr, const globus\_abstime\_t \*when)\
 globus\_result\_t **globus\_ftp\_client\_plugin\_restart\_modification\_time** (**globus\_ftp\_client\_handle\_t** \*handle, const char \*url, const **globus\_ftp\_client\_operationattr\_t** \*attr, const globus\_abstime\_t \*when)\
 globus\_result\_t **globus\_ftp\_client\_plugin\_restart\_get\_marker** (**globus\_ftp\_client\_handle\_t** \*handle, **globus\_ftp\_client\_restart\_marker\_t** \*marker)\
 globus\_result\_t **globus\_ftp\_client\_plugin\_abort** (**globus\_ftp\_client\_handle\_t** \*handle)\
 globus\_result\_t **globus\_ftp\_client\_plugin\_add\_data\_channels** (**globus\_ftp\_client\_handle\_t** \*handle, unsigned int num\_channels, unsigned int stripe)\
 globus\_result\_t **globus\_ftp\_client\_plugin\_remove\_data\_channels** (**globus\_ftp\_client\_handle\_t** \*handle, unsigned int num\_channels, unsigned int stripe)\

## Detailed Description

Plugin Implementation.

## Author

Generated automatically by Doxygen for globus\_ftp\_client from the source code.
