---
name: "globus_ftp_client_handle_remove_plugin"
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_handle"
---

# globus\_ftp\_client\_handle\_remove\_plugin(3)

Handle Management - Handle Management.

Part of [globus\_ftp\_client\_handle(3)](/globus_ftp_client_handle/3.md).

## NAME

globus\_ftp\_client\_handle - Handle Management

 \- Handle Management.

## SYNOPSIS

### Data Structures

struct **globus\_i\_ftp\_client\_data\_target\_t**\
 Data connection caching information.  struct **globus\_i\_ftp\_client\_handle\_t**\
 FTP Client handle implementation.

### Typedefs

typedef struct **globus\_i\_ftp\_client\_handle\_t** \* **globus\_ftp\_client\_handle\_t**\
 FTP Client Handle.  typedef struct **globus\_i\_ftp\_client\_handle\_t** **globus\_i\_ftp\_client\_handle\_t**\
 FTP Client handle implementation.

### Initialize

globus\_result\_t **globus\_ftp\_client\_handle\_init** (**globus\_ftp\_client\_handle\_t** \*handle, **globus\_ftp\_client\_handleattr\_t** \*attr)\

### Destroy

globus\_result\_t **globus\_ftp\_client\_handle\_destroy** (**globus\_ftp\_client\_handle\_t** \*handle)\

### URL Caching

globus\_result\_t **globus\_ftp\_client\_handle\_cache\_url\_state** (**globus\_ftp\_client\_handle\_t** \*handle, const char \*url)\
 globus\_result\_t **globus\_ftp\_client\_handle\_flush\_url\_state** (**globus\_ftp\_client\_handle\_t** \*handle, const char \*url)\

### User Pointer

globus\_result\_t **globus\_ftp\_client\_handle\_set\_user\_pointer** (**globus\_ftp\_client\_handle\_t** \*handle, void \*user\_pointer)\

### Plugins

globus\_result\_t **globus\_ftp\_client\_handle\_add\_plugin** (**globus\_ftp\_client\_handle\_t** \*handle, **globus\_ftp\_client\_plugin\_t** \*plugin)\
 globus\_result\_t **globus\_ftp\_client\_handle\_remove\_plugin** (**globus\_ftp\_client\_handle\_t** \*handle, **globus\_ftp\_client\_plugin\_t** \*plugin)\

## Detailed Description

Handle Management.

Create/Destroy/Modify an FTP Client Handle.

Within the Globus FTP Client Library, all FTP operations require a handle parameter. Currently, only one FTP operation may be in progress at once per FTP handle. FTP connections may be cached between FTP operations, for improved performance.

This section defines operations to create and destroy FTP Client handles, as well as to modify handles' connection caches.

## Typedef Documentation

### typedef struct globus\_i\_ftp\_client\_handle\_t\* globus\_ftp\_client\_handle\_t

FTP Client Handle. An FTP client handle is used to associate state with a group of operations. Handles can have **attributes** associated with them. All FTP **operations**  take a handle pointer as a parameter.

**See also**

**globus\_ftp\_client\_handle\_init()**, **globus\_ftp\_client\_handle\_destroy()**, **globus\_ftp\_client\_handleattr\_t**

## Function Documentation

### globus\_result\_t globus\_ftp\_client\_handle\_add\_plugin (globus\_ftp\_client\_handle\_t \* handle, globus\_ftp\_client\_plugin\_t \* plugin)

Add a plugin to an FTP client handle.

This function adds a plugin to an FTP client handle after it has been created. Plugins may be added to an ftp client handle whenever an operation is not in progress. The plugin will be appended to the list of plugins present in the handle, and will be invoked during any subsequent operations processed with this handle.

Only one instance of a particular plugin may be added to a particular handle.

Plugins may be removed from a handle by calling globus\_ftp\_client\_remove\_plugin().

**Parameters**

*handle* The FTP client handle to set or query. \
 *plugin* A pointer to the plugin structure to add to this handle.

**See also**

globus\_ftp\_client\_remove\_plugin(), globus\_ftp\_clent\_handleattr\_add\_plugin(), globus\_ftp\_clent\_handleattr\_remove\_plugin()

### globus\_result\_t globus\_ftp\_client\_handle\_cache\_url\_state (globus\_ftp\_client\_handle\_t \* handle, const char \* url)

Cache connections to an FTP server.

Explicitly cache connections to URL server in an FTP handle. When an URL is cached, the client library will not close the connection to the URL server after a file transfer completes.

**Parameters**

*handle* Handle which will contain a cached connection to the URL server. \
 *url* The URL of the FTP or GSIFTP server to cache.

**See also**

globus\_ftp\_client\_flush\_url\_state()

### globus\_result\_t globus\_ftp\_client\_handle\_destroy (globus\_ftp\_client\_handle\_t \* handle)

Destroy a client FTP handle.

A FTP client handle may not be destroyed if a get, put, or third-party transfer is in progress.

**Parameters**

*handle* The handle to be destroyed.

**See also**

**globus\_ftp\_client\_handle\_init()**

### globus\_result\_t globus\_ftp\_client\_handle\_flush\_url\_state (globus\_ftp\_client\_handle\_t \* handle, const char \* url)

Remove a cached connection from the FTP client handle.

Explicitly remove a cached connection to an FTP server from the FTP handle. If an idle connection to an FTP server exists, it will be closed.

**Parameters**

*handle* Handle which will contain a cached connection to the URL server. \
 *url* The URL of the FTP or GSIFTP server to cache.

### globus\_result\_t globus\_ftp\_client\_handle\_init (globus\_ftp\_client\_handle\_t \* handle, globus\_ftp\_client\_handleattr\_t \* attr)

Initialize a client FTP handle.

Initialize an FTP handle which can be used in subsequent get, put, or transfer requests. A handle may have at most one get, put, or third-party transfer in progress.

**Parameters**

*handle* The handle to be initialized. \
 *attr* Initial attributes to be used to create this handle.

**See also**

**globus\_ftp\_client\_handle\_destroy()**

### globus\_result\_t globus\_ftp\_client\_handle\_remove\_plugin (globus\_ftp\_client\_handle\_t \* handle, globus\_ftp\_client\_plugin\_t \* plugin)

Remove a plugin to an FTP client handle.

This function removes a plugin from an FTP client handle after it has been created. Plugins may be removed from an ftp client handle whenever an operation is not in progress. The plugin will be removed from the list of plugins, and will not be used during any subsequent operations processed with this handle.

This function can remove plugins which were added at **handle initialization time** or by calling **globus\_ftp\_client\_handle\_add\_plugin()**.

**Parameters**

*handle* The FTP client handle to set or query. \
 *plugin* A pointer to the plugin structure to remove from this handle.

**See also**

globus\_ftp\_client\_add\_plugin(), globus\_ftp\_clent\_handleattr\_add\_plugin(), globus\_ftp\_clent\_handleattr\_remove\_plugin()

### globus\_result\_t globus\_ftp\_client\_handle\_set\_user\_pointer (globus\_ftp\_client\_handle\_t \* handle, void \* user\_pointer)

Set/Get the user pointer field from an ftp client handle.

The user pointer is provided to all the user of the FTP client library to associate a pointer to any application-specific data to an FTP client handle. This pointer is never internally used by the client library.

**Parameters**

*handle* The FTP client handle to set or query. \
 *user\_pointer* The value of the user pointer field.

**Note**

Access to the user\_pointer are not synchronized, the user must take care to make sure that multiple threads are not modifying it's value.

## Author

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