.TH "globus_ftp_client_handle" 3 "Sun Dec 13 2020" "Version 9.5" "globus_ftp_client" \" -*- nroff -*- .ad l .nh .SH NAME globus_ftp_client_handle \- Handle Management .PP \- Handle Management\&. .SH SYNOPSIS .br .PP .SS "Data Structures" .in +1c .ti -1c .RI "struct \fBglobus_i_ftp_client_data_target_t\fP" .br .RI "Data connection caching information\&. " .ti -1c .RI "struct \fBglobus_i_ftp_client_handle_t\fP" .br .RI "FTP Client handle implementation\&. " .in -1c .SS "Typedefs" .in +1c .ti -1c .RI "typedef struct \fBglobus_i_ftp_client_handle_t\fP * \fBglobus_ftp_client_handle_t\fP" .br .RI "FTP Client Handle\&. " .ti -1c .RI "typedef struct \fBglobus_i_ftp_client_handle_t\fP \fBglobus_i_ftp_client_handle_t\fP" .br .RI "FTP Client handle implementation\&. " .in -1c .SS "Initialize" .in +1c .ti -1c .RI "globus_result_t \fBglobus_ftp_client_handle_init\fP (\fBglobus_ftp_client_handle_t\fP *handle, \fBglobus_ftp_client_handleattr_t\fP *attr)" .br .in -1c .SS "Destroy" .in +1c .ti -1c .RI "globus_result_t \fBglobus_ftp_client_handle_destroy\fP (\fBglobus_ftp_client_handle_t\fP *handle)" .br .in -1c .SS "URL Caching" .in +1c .ti -1c .RI "globus_result_t \fBglobus_ftp_client_handle_cache_url_state\fP (\fBglobus_ftp_client_handle_t\fP *handle, const char *url)" .br .ti -1c .RI "globus_result_t \fBglobus_ftp_client_handle_flush_url_state\fP (\fBglobus_ftp_client_handle_t\fP *handle, const char *url)" .br .in -1c .SS "User Pointer" .in +1c .ti -1c .RI "globus_result_t \fBglobus_ftp_client_handle_set_user_pointer\fP (\fBglobus_ftp_client_handle_t\fP *handle, void *user_pointer)" .br .ti -1c .RI "globus_result_t \fBglobus_ftp_client_handle_get_user_pointer\fP (const \fBglobus_ftp_client_handle_t\fP *handle, void **user_pointer)" .br .ti -1c .RI "globus_result_t \fBglobus_ftp_client_handle_get_restart_marker\fP (const \fBglobus_ftp_client_handle_t\fP *handle, \fBglobus_ftp_client_restart_marker_t\fP *marker)" .br .in -1c .SS "Plugins" .in +1c .ti -1c .RI "globus_result_t \fBglobus_ftp_client_handle_add_plugin\fP (\fBglobus_ftp_client_handle_t\fP *handle, \fBglobus_ftp_client_plugin_t\fP *plugin)" .br .ti -1c .RI "globus_result_t \fBglobus_ftp_client_handle_remove_plugin\fP (\fBglobus_ftp_client_handle_t\fP *handle, \fBglobus_ftp_client_plugin_t\fP *plugin)" .br .in -1c .SH "Detailed Description" .PP Handle Management\&. Create/Destroy/Modify an FTP Client Handle\&. .PP 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\&. .PP This section defines operations to create and destroy FTP Client handles, as well as to modify handles' connection caches\&. .SH "Typedef Documentation" .PP .SS "typedef struct \fBglobus_i_ftp_client_handle_t\fP* \fBglobus_ftp_client_handle_t\fP" .PP FTP Client Handle\&. An FTP client handle is used to associate state with a group of operations\&. Handles can have \fBattributes\fP associated with them\&. All FTP \fBoperations \fP take a handle pointer as a parameter\&. .PP \fBSee also\fP .RS 4 \fBglobus_ftp_client_handle_init()\fP, \fBglobus_ftp_client_handle_destroy()\fP, \fBglobus_ftp_client_handleattr_t\fP .RE .PP .SH "Function Documentation" .PP .SS "globus_result_t globus_ftp_client_handle_add_plugin (\fBglobus_ftp_client_handle_t\fP * handle, \fBglobus_ftp_client_plugin_t\fP * plugin)" Add a plugin to an FTP client handle\&. .PP 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\&. .PP Only one instance of a particular plugin may be added to a particular handle\&. .PP Plugins may be removed from a handle by calling globus_ftp_client_remove_plugin()\&. .PP \fBParameters\fP .RS 4 \fIhandle\fP The FTP client handle to set or query\&. .br \fIplugin\fP A pointer to the plugin structure to add to this handle\&. .RE .PP \fBSee also\fP .RS 4 globus_ftp_client_remove_plugin(), globus_ftp_clent_handleattr_add_plugin(), globus_ftp_clent_handleattr_remove_plugin() .RE .PP .SS "globus_result_t globus_ftp_client_handle_cache_url_state (\fBglobus_ftp_client_handle_t\fP * handle, const char * url)" Cache connections to an FTP server\&. .PP 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\&. .PP \fBParameters\fP .RS 4 \fIhandle\fP Handle which will contain a cached connection to the URL server\&. .br \fIurl\fP The URL of the FTP or GSIFTP server to cache\&. .RE .PP \fBSee also\fP .RS 4 globus_ftp_client_flush_url_state() .RE .PP .SS "globus_result_t globus_ftp_client_handle_destroy (\fBglobus_ftp_client_handle_t\fP * handle)" Destroy a client FTP handle\&. .PP A FTP client handle may not be destroyed if a get, put, or third-party transfer is in progress\&. .PP \fBParameters\fP .RS 4 \fIhandle\fP The handle to be destroyed\&. .RE .PP \fBSee also\fP .RS 4 \fBglobus_ftp_client_handle_init()\fP .RE .PP .SS "globus_result_t globus_ftp_client_handle_flush_url_state (\fBglobus_ftp_client_handle_t\fP * handle, const char * url)" Remove a cached connection from the FTP client handle\&. .PP 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\&. .PP \fBParameters\fP .RS 4 \fIhandle\fP Handle which will contain a cached connection to the URL server\&. .br \fIurl\fP The URL of the FTP or GSIFTP server to cache\&. .RE .PP .SS "globus_result_t globus_ftp_client_handle_init (\fBglobus_ftp_client_handle_t\fP * handle, \fBglobus_ftp_client_handleattr_t\fP * attr)" Initialize a client FTP handle\&. .PP 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\&. .PP \fBParameters\fP .RS 4 \fIhandle\fP The handle to be initialized\&. .br \fIattr\fP Initial attributes to be used to create this handle\&. .RE .PP \fBSee also\fP .RS 4 \fBglobus_ftp_client_handle_destroy()\fP .RE .PP .SS "globus_result_t globus_ftp_client_handle_remove_plugin (\fBglobus_ftp_client_handle_t\fP * handle, \fBglobus_ftp_client_plugin_t\fP * plugin)" Remove a plugin to an FTP client handle\&. .PP 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\&. .PP This function can remove plugins which were added at \fBhandle initialization time\fP or by calling \fBglobus_ftp_client_handle_add_plugin()\fP\&. .PP \fBParameters\fP .RS 4 \fIhandle\fP The FTP client handle to set or query\&. .br \fIplugin\fP A pointer to the plugin structure to remove from this handle\&. .RE .PP \fBSee also\fP .RS 4 globus_ftp_client_add_plugin(), globus_ftp_clent_handleattr_add_plugin(), globus_ftp_clent_handleattr_remove_plugin() .RE .PP .SS "globus_result_t globus_ftp_client_handle_set_user_pointer (\fBglobus_ftp_client_handle_t\fP * handle, void * user_pointer)" Set/Get the user pointer field from an ftp client handle\&. .PP The user pointer is provided to all the user of the FTP client library to assocate a pointer to any application-specific data to an FTP client handle\&. This pointer is never internally used by the client library\&. .PP \fBParameters\fP .RS 4 \fIhandle\fP The FTP client handle to set or query\&. .br \fIuser_pointer\fP The value of the user pointer field\&. .RE .PP \fBNote\fP .RS 4 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\&. .RE .PP .SH "Author" .PP Generated automatically by Doxygen for globus_ftp_client from the source code\&.