.TH "globus_gass_copy.h" 3 "Wed Feb 27 2019" "Version 10.4" "globus_gass_copy" \" -*- nroff -*- .ad l .nh .SH NAME globus_gass_copy.h \- GASS Copy Library\&. .SH SYNOPSIS .br .PP \fC#include \fP .br \fC#include 'globus_gass_transfer\&.h'\fP .br \fC#include 'globus_ftp_client\&.h'\fP .br \fC#include 'globus_io\&.h'\fP .br .SS "Data Structures" .in +1c .ti -1c .RI "struct \fBglobus_gass_copy_handle_s\fP" .br .RI "Copy Handle\&. " .ti -1c .RI "struct \fBglobus_gass_copy_attr_s\fP" .br .RI "Attributes\&. " .ti -1c .RI "struct \fBglobus_gass_copy_handleattr_s\fP" .br .RI "Handle Attributes\&. " .ti -1c .RI "struct \fBglobus_gass_copy_glob_stat_t\fP" .br .RI "Glob expanded entry information\&. " .in -1c .SS "Macros" .in +1c .ti -1c .RI "#define \fBGLOBUS_GASS_COPY_MODULE\fP (&globus_i_gass_copy_module)" .br .RI "Module Descriptor\&. " .in -1c .SS "Typedefs" .in +1c .ti -1c .RI "typedef void(* \fBglobus_gass_copy_performance_cb_t\fP) (void *user_arg, \fBglobus_gass_copy_handle_t\fP *handle, globus_off_t total_bytes, float instantaneous_throughput, float avg_throughput)" .br .RI "Performance Callback\&. " .ti -1c .RI "typedef void(* \fBglobus_gass_copy_callback_t\fP) (void *callback_arg, \fBglobus_gass_copy_handle_t\fP *handle, globus_object_t *error)" .br .RI "Copy Callback\&. " .ti -1c .RI "typedef struct \fBglobus_gass_copy_attr_s\fP \fBglobus_gass_copy_attr_t\fP" .br .RI "Attributes\&. " .ti -1c .RI "typedef struct \fBglobus_gass_copy_handleattr_s\fP \fBglobus_gass_copy_handleattr_t\fP" .br .RI "Handle Attributes\&. " .ti -1c .RI "typedef void(* \fBglobus_gass_copy_glob_entry_cb_t\fP) (const char *url, const \fBglobus_gass_copy_glob_stat_t\fP *info_stat, void *user_arg)" .br .RI "Gass copy glob entry callback\&. " .in -1c .SS "Enumerations" .in +1c .ti -1c .RI "enum \fBglobus_gass_copy_status_t\fP .RI "Status States\&. "" .br .ti -1c .RI "enum \fBglobus_gass_copy_url_mode_t\fP .RI "URL Modes\&. "" .br .ti -1c .RI "enum \fBglobus_gass_copy_glob_entry_t\fP " .br .in -1c .SS "Functions" .in +1c .ti -1c .RI "globus_result_t \fBglobus_gass_copy_handle_init\fP (\fBglobus_gass_copy_handle_t\fP *handle, \fBglobus_gass_copy_handleattr_t\fP *handle_attr)" .br .RI "Initialize a GASS Copy handle\&. " .ti -1c .RI "globus_result_t \fBglobus_gass_copy_handle_destroy\fP (\fBglobus_gass_copy_handle_t\fP *handle)" .br .RI "Destroy a GASS Copy handle\&. " .ti -1c .RI "globus_result_t \fBglobus_gass_copy_set_buffer_length\fP (\fBglobus_gass_copy_handle_t\fP *handle, int length)" .br .RI "Set the size of the buffer to be used for doing transfers\&. " .ti -1c .RI "globus_result_t \fBglobus_gass_copy_get_buffer_length\fP (\fBglobus_gass_copy_handle_t\fP *handle, int *length)" .br .RI "Get the size of the transfer buffer\&. " .ti -1c .RI "globus_result_t \fBglobus_gass_copy_set_no_third_party_transfers\fP (\fBglobus_gass_copy_handle_t\fP *handle, globus_bool_t no_third_party_transfers)" .br .RI "Enable/Disable third-party transfers\&. " .ti -1c .RI "globus_result_t \fBglobus_gass_copy_get_no_third_party_transfers\fP (\fBglobus_gass_copy_handle_t\fP *handle, globus_bool_t *no_third_party_transfers)" .br .RI "Query third-party transfer status\&. " .ti -1c .RI "globus_result_t \fBglobus_gass_copy_get_partial_offsets\fP (\fBglobus_gass_copy_handle_t\fP *handle, globus_off_t *offset, globus_off_t *end_offset)" .br .RI "Get partial transfer offsets\&. " .ti -1c .RI "globus_result_t \fBglobus_gass_copy_set_partial_offsets\fP (\fBglobus_gass_copy_handle_t\fP *handle, globus_off_t offset, globus_off_t end_offset)" .br .RI "Set partial file offsets\&. " .ti -1c .RI "globus_result_t \fBglobus_gass_copy_set_allocate\fP (\fBglobus_gass_copy_handle_t\fP *handle, globus_bool_t send_allo)" .br .RI "Set allo on or off\&. " .ti -1c .RI "globus_result_t \fBglobus_gass_copy_set_stat_on_expand\fP (\fBglobus_gass_copy_handle_t\fP *handle, globus_bool_t always_stat)" .br .RI "Make globus_gass_copy_expand_url() always send stat info\&. " .ti -1c .RI "globus_result_t \fBglobus_gass_copy_set_checksum_algo\fP (\fBglobus_gass_copy_handle_t\fP *handle, char *algo, \fBglobus_gass_copy_handle_t\fP *cksm_handle)" .br .RI "Stores the checksum algorithm to use with all checksum operations\&. " .ti -1c .RI "globus_result_t \fBglobus_gass_copy_set_checksum\fP (\fBglobus_gass_copy_handle_t\fP *handle, char *cksm)" .br .RI "Copies the checksum to the handle's checksum parameter\&. " .ti -1c .RI "globus_result_t \fBglobus_gass_copy_get_url_mode\fP (char *url, \fBglobus_gass_copy_url_mode_t\fP *mode)" .br .RI "Get URL scheme\&. " .ti -1c .RI "globus_result_t \fBglobus_gass_copy_attr_init\fP (\fBglobus_gass_copy_attr_t\fP *attr)" .br .RI "Initialize an attribute structure\&. " .ti -1c .RI "globus_result_t \fBglobus_gass_copy_attr_set_ftp\fP (\fBglobus_gass_copy_attr_t\fP *attr, globus_ftp_client_operationattr_t *ftp_attr)" .br .RI "Set the attributes for ftp/gsiftp transfers\&. " .ti -1c .RI "globus_result_t \fBglobus_gass_copy_attr_set_io\fP (\fBglobus_gass_copy_attr_t\fP *attr, globus_io_attr_t *io_attr)" .br .RI "Set file transfers attributes\&. " .ti -1c .RI "globus_result_t \fBglobus_gass_copy_attr_set_gass\fP (\fBglobus_gass_copy_attr_t\fP *attr, globus_gass_transfer_requestattr_t *gass_attr)" .br .RI "Set the http/https attributes\&. " .ti -1c .RI "globus_result_t \fBglobus_gass_copy_url_to_url\fP (\fBglobus_gass_copy_handle_t\fP *handle, char *source_url, \fBglobus_gass_copy_attr_t\fP *source_attr, char *dest_url, \fBglobus_gass_copy_attr_t\fP *dest_attr)" .br .RI "Blocking Transfer between URLs\&. " .ti -1c .RI "globus_result_t \fBglobus_gass_copy_url_to_handle\fP (\fBglobus_gass_copy_handle_t\fP *handle, char *source_url, \fBglobus_gass_copy_attr_t\fP *source_attr, globus_io_handle_t *dest_handle)" .br .RI "Blocking Transfer from an URL to an IO handle\&. " .ti -1c .RI "globus_result_t \fBglobus_gass_copy_handle_to_url\fP (\fBglobus_gass_copy_handle_t\fP *handle, globus_io_handle_t *source_handle, char *dest_url, \fBglobus_gass_copy_attr_t\fP *dest_attr)" .br .RI "Blocking transfer from an IO handle to an URL\&. " .ti -1c .RI "globus_result_t \fBglobus_gass_copy_register_url_to_url\fP (\fBglobus_gass_copy_handle_t\fP *handle, char *source_url, \fBglobus_gass_copy_attr_t\fP *dest_attr, char *dest_url, \fBglobus_gass_copy_attr_t\fP *source_attr, \fBglobus_gass_copy_callback_t\fP callback_func, void *callback_arg)" .br .ti -1c .RI "globus_result_t \fBglobus_gass_copy_register_url_to_handle\fP (\fBglobus_gass_copy_handle_t\fP *handle, char *source_url, \fBglobus_gass_copy_attr_t\fP *source_attr, globus_io_handle_t *dest_handle, \fBglobus_gass_copy_callback_t\fP callback_func, void *callback_arg)" .br .RI "Nonblocking transfer from an URL to an IO handle\&. " .ti -1c .RI "globus_result_t \fBglobus_gass_copy_register_handle_to_url\fP (\fBglobus_gass_copy_handle_t\fP *handle, globus_io_handle_t *source_handle, char *dest_url, \fBglobus_gass_copy_attr_t\fP *dest_attr, \fBglobus_gass_copy_callback_t\fP callback_func, void *callback_arg)" .br .ti -1c .RI "globus_result_t \fBglobus_gass_copy_get_status\fP (\fBglobus_gass_copy_handle_t\fP *handle, \fBglobus_gass_copy_status_t\fP *status)" .br .RI "Get the status code of a transfer\&. " .ti -1c .RI "const char * \fBglobus_gass_copy_get_status_string\fP (\fBglobus_gass_copy_handle_t\fP *handle)" .br .RI "Get the status string of a transfer\&. " .ti -1c .RI "globus_result_t \fBglobus_gass_copy_cancel\fP (\fBglobus_gass_copy_handle_t\fP *handle, \fBglobus_gass_copy_callback_t\fP cancel_callback, void *cancel_callback_arg)" .br .RI "Cancel a transfer\&. " .ti -1c .RI "globus_result_t \fBglobus_gass_copy_cache_url_state\fP (\fBglobus_gass_copy_handle_t\fP *handle, char *url)" .br .RI "Cache connections to an FTP or GridFTP server\&. " .ti -1c .RI "globus_result_t \fBglobus_gass_copy_flush_url_state\fP (\fBglobus_gass_copy_handle_t\fP *handle, char *url)" .br .RI "Remove an FTP or GridFTP cached connection\&. " .ti -1c .RI "globus_result_t \fBglobus_gass_copy_set_user_pointer\fP (\fBglobus_gass_copy_handle_t\fP *handle, void *user_data)" .br .RI "Set the user pointer in a handle\&. " .ti -1c .RI "globus_result_t \fBglobus_gass_copy_get_user_pointer\fP (\fBglobus_gass_copy_handle_t\fP *handle, void **user_data)" .br .RI "Get the user pointer in a handle\&. " .ti -1c .RI "globus_result_t \fBglobus_gass_copy_register_performance_cb\fP (\fBglobus_gass_copy_handle_t\fP *handle, \fBglobus_gass_copy_performance_cb_t\fP callback, void *user_arg)" .br .RI "Register a performance information callback\&. " .ti -1c .RI "globus_result_t \fBglobus_gass_copy_glob_expand_url\fP (\fBglobus_gass_copy_handle_t\fP *handle, const char *url, \fBglobus_gass_copy_attr_t\fP *attr, \fBglobus_gass_copy_glob_entry_cb_t\fP entry_cb, void *user_arg)" .br .RI "Expand globbed url\&. " .ti -1c .RI "globus_result_t \fBglobus_gass_copy_mkdir\fP (\fBglobus_gass_copy_handle_t\fP *handle, char *url, \fBglobus_gass_copy_attr_t\fP *attr)" .br .RI "Make directory\&. " .in -1c .SH "Detailed Description" .PP GASS Copy Library\&. .SH "Function Documentation" .PP .SS "globus_result_t globus_gass_copy_cache_url_state (\fBglobus_gass_copy_handle_t\fP * handle, char * url)" .PP Cache connections to an FTP or GridFTP server\&. Explicitly cache connections to URL server\&. When an URL is cached, the connection to the URL server will not be closed 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 \fBReturns:\fP .RS 4 This function returns GLOBUS_SUCCESS if successful, or a globus_result_t indicating the error that occurred\&. .RE .PP .SS "globus_result_t globus_gass_copy_flush_url_state (\fBglobus_gass_copy_handle_t\fP * handle, char * url)" .PP Remove an FTP or GridFTP cached connection\&. Explicitly remove a cached connection to an FTP or GSIFTP server\&. If an idle connection to an FTP server exists, it will be closed\&. .PP \fBParameters:\fP .RS 4 \fIhandle\fP Handle which contains a cached connection to the URL server\&. .br \fIurl\fP The URL of the FTP or GSIFTP server to remove\&. .RE .PP \fBReturns:\fP .RS 4 This function returns GLOBUS_SUCCESS if successful, or a globus_result_t indicating the error that occurred\&. .RE .PP .SS "globus_result_t globus_gass_copy_handle_to_url (\fBglobus_gass_copy_handle_t\fP * handle, globus_io_handle_t * source_handle, char * dest_url, \fBglobus_gass_copy_attr_t\fP * dest_attr)" .PP Blocking transfer from an IO handle to an URL\&. .PP \fBParameters:\fP .RS 4 \fIhandle\fP The handle to perform the copy operation .br \fIsource_handle\fP transfer data from this IO handle .br \fIdest_url\fP transfer data to this URL .br \fIdest_attr\fP Attributes describing how the transfer to the destination should be done .RE .PP \fBReturns:\fP .RS 4 This function returns GLOBUS_SUCCESS if the transfer was completed successfully, or a result pointing to an object of one of the the following error types: .RE .PP \fBReturn values:\fP .RS 4 \fIGLOBUS_GASS_COPY_ERROR_TYPE_NULL_PARAMETER\fP The handle was equal to GLOBUS_NULL, so the transfer could not processed\&. .br \fIGLOBUS_GASS_COPY_ERROR_TYPE_next_error\fP next error description .RE .PP \fBSee also:\fP .RS 4 \fBglobus_gass_copy_url_to_url()\fP \fBglobus_gass_copy_url_to_handle()\fP .RE .PP .SS "globus_result_t globus_gass_copy_register_handle_to_url (\fBglobus_gass_copy_handle_t\fP * handle, globus_io_handle_t * source_handle, char * dest_url, \fBglobus_gass_copy_attr_t\fP * dest_attr, \fBglobus_gass_copy_callback_t\fP callback_func, void * callback_arg)" Nonblocking Transfer From an IO handle to an URL .PP This functions initiates a transfer from an IO handle to destination URL, then returns immediately\&. .PP When the transfer is completed or if the transfer is aborted, the callback_func will be invoked with the final status of the transfer\&. .PP \fBParameters:\fP .RS 4 \fIhandle\fP The handle to perform the copy operation .br \fIsource_handle\fP transfer data from this IO handle .br \fIdest_url\fP transfer data to this URL .br \fIdest_attr\fP Attributes describing how the transfer to the destination should be done .br \fIcallback_func\fP Callback to be invoked once the transfer is completed\&. .br \fIcallback_arg\fP Argument to be passed to the callback_func\&. .RE .PP \fBReturns:\fP .RS 4 This function returns GLOBUS_SUCCESS if the transfer was initiated successfully, or a result pointing to an object of one of the the following error types: .RE .PP \fBReturn values:\fP .RS 4 \fIGLOBUS_GASS_COPY_ERROR_TYPE_NULL_PARAMETER\fP The handle was equal to GLOBUS_NULL, so the transfer could not processed\&. .br \fIGLOBUS_GASS_COPY_ERROR_TYPE_next_error\fP next error description .RE .PP \fBSee also:\fP .RS 4 \fBglobus_gass_copy_register_url_to_url()\fP, \fBglobus_gass_copy_register_url_to_handle()\fP .RE .PP .SS "globus_result_t globus_gass_copy_register_url_to_handle (\fBglobus_gass_copy_handle_t\fP * handle, char * source_url, \fBglobus_gass_copy_attr_t\fP * source_attr, globus_io_handle_t * dest_handle, \fBglobus_gass_copy_callback_t\fP callback_func, void * callback_arg)" .PP Nonblocking transfer from an URL to an IO handle\&. This functions initiates a transfer from source URL to an IO handle, then returns immediately\&. .PP When the transfer is completed or if the transfer is aborted, the callback_func will be invoked with the final status of the transfer\&. .PP \fBParameters:\fP .RS 4 \fIhandle\fP The handle to perform the copy operation .br \fIsource_url\fP transfer data from this URL .br \fIsource_attr\fP Attributes describing how the transfer form the source should be done .br \fIdest_handle\fP transfer data to this IO handle .br \fIcallback_func\fP Callback to be invoked once the transfer is completed\&. .br \fIcallback_arg\fP Argument to be passed to the callback_func\&. .RE .PP \fBReturns:\fP .RS 4 This function returns GLOBUS_SUCCESS if the transfer was initiated successfully, or a result pointing to an object of one of the the following error types: .RE .PP \fBReturn values:\fP .RS 4 \fIGLOBUS_GASS_COPY_ERROR_TYPE_NULL_PARAMETER\fP The handle was equal to GLOBUS_NULL, so the transfer could not processed\&. .br \fIGLOBUS_GASS_COPY_ERROR_TYPE_next_error\fP next error description .RE .PP \fBSee also:\fP .RS 4 \fBglobus_gass_copy_register_url_to_url()\fP, \fBglobus_gass_copy_register_handle_to_url()\fP .RE .PP .SS "globus_result_t globus_gass_copy_register_url_to_url (\fBglobus_gass_copy_handle_t\fP * handle, char * source_url, \fBglobus_gass_copy_attr_t\fP * source_attr, char * dest_url, \fBglobus_gass_copy_attr_t\fP * dest_attr, \fBglobus_gass_copy_callback_t\fP callback_func, void * callback_arg)" Nonblocking Transfer between URLs .PP This functions initiates a transfer from source URL to destination URL, then returns immediately\&. .PP When the transfer is completed or if the transfer is aborted, the callback_func will be invoked with the final status of the transfer\&. .PP \fBParameters:\fP .RS 4 \fIhandle\fP The handle to perform the copy operation .br \fIsource_url\fP transfer data from this URL .br \fIsource_attr\fP Attributes describing how the transfer form the source should be done .br \fIdest_url\fP transfer data to this URL .br \fIdest_attr\fP Attributes describing how the transfer to the destination should be done .br \fIcallback_func\fP Callback to be invoked once the transfer is completed\&. .br \fIcallback_arg\fP Argument to be passed to the callback_func\&. .RE .PP \fBReturns:\fP .RS 4 This function returns GLOBUS_SUCCESS if the transfer was initiated successfully, or a result pointing to an object of one of the the following error types: .RE .PP \fBReturn values:\fP .RS 4 \fIGLOBUS_GASS_COPY_ERROR_TYPE_NULL_PARAMETER\fP The handle was equal to GLOBUS_NULL, so the transfer could not processed\&. .br \fIGLOBUS_GASS_COPY_ERROR_TYPE_next_error\fP next error description .RE .PP \fBSee also:\fP .RS 4 \fBglobus_gass_copy_register_url_to_handle()\fP, \fBglobus_gass_copy_register_handle_to_url()\fP .RE .PP .SS "globus_result_t globus_gass_copy_url_to_handle (\fBglobus_gass_copy_handle_t\fP * handle, char * source_url, \fBglobus_gass_copy_attr_t\fP * source_attr, globus_io_handle_t * dest_handle)" .PP Blocking Transfer from an URL to an IO handle\&. .PP \fBParameters:\fP .RS 4 \fIhandle\fP The handle to perform the copy operation .br \fIsource_url\fP transfer data from this URL .br \fIsource_attr\fP Attributes describing how the transfer form the source should be done .br \fIdest_handle\fP transfer data to this IO handle .RE .PP \fBReturns:\fP .RS 4 This function returns GLOBUS_SUCCESS if the transfer was completed successfully, or a result pointing to an object of one of the the following error types: .RE .PP \fBReturn values:\fP .RS 4 \fIGLOBUS_GASS_COPY_ERROR_TYPE_NULL_PARAMETER\fP The handle was equal to GLOBUS_NULL, so the transfer could not processed\&. .br \fIGLOBUS_GASS_COPY_ERROR_TYPE_next_error\fP next error description .RE .PP \fBSee also:\fP .RS 4 \fBglobus_gass_copy_url_to_url()\fP \fBglobus_gass_copy_handle_to_url()\fP .RE .PP .SS "globus_result_t globus_gass_copy_url_to_url (\fBglobus_gass_copy_handle_t\fP * handle, char * source_url, \fBglobus_gass_copy_attr_t\fP * source_attr, char * dest_url, \fBglobus_gass_copy_attr_t\fP * dest_attr)" .PP Blocking Transfer between URLs\&. .PP \fBParameters:\fP .RS 4 \fIhandle\fP The handle to perform the copy operation .br \fIsource_url\fP transfer data from this URL .br \fIsource_attr\fP Attributes describing how the transfer form the source should be done .br \fIdest_url\fP transfer data to this URL .br \fIdest_attr\fP Attributes describing how the transfer to the destination should be done .RE .PP \fBReturns:\fP .RS 4 This function returns GLOBUS_SUCCESS if the transfer was completed successfully, or a result pointing to an object of one of the the following error types: .RE .PP \fBReturn values:\fP .RS 4 \fIGLOBUS_GASS_COPY_ERROR_TYPE_NULL_PARAMETER\fP The handle was equal to GLOBUS_NULL, so the transfer could not processed\&. .br \fIGLOBUS_GASS_COPY_ERROR_TYPE_next_error\fP next error description .RE .PP \fBSee also:\fP .RS 4 \fBglobus_gass_copy_url_to_handle()\fP \fBglobus_gass_copy_handle_to_url()\fP .RE .PP .SH "Author" .PP Generated automatically by Doxygen for globus_gass_copy from the source code\&.