Gass copy library.
#include 'globus_gass_transfer.h'
#include 'globus_ftp_client.h'
#include 'globus_io.h'
struct globus_gass_copy_handle_s
Copy Handle. struct globus_gass_copy_attr_s
Attributes. struct globus_gass_copy_handleattr_s
Handle Attributes. struct globus_gass_copy_glob_stat_t
Glob expanded entry information.
#define GLOBUS_GASS_COPY_MODULE (&globus_i_gass_copy_module)
Module Descriptor.
typedef void(* globus_gass_copy_performance_cb_t )(void *user_arg, globus_gass_copy_handle_t *handle, globus_off_t total_bytes, float instantaneous_throughput, float avg_throughput)
Performance Callback. typedef void(* globus_gass_copy_callback_t )(void *callback_arg, globus_gass_copy_handle_t *handle, globus_object_t *error)
Copy Callback. typedef struct
globus_gass_copy_attr_s globus_gass_copy_attr_t"
Attributes. typedef struct
globus_gass_copy_handleattr_s globus_gass_copy_handleattr_t"
Handle Attributes. typedef void(* globus_gass_copy_glob_entry_cb_t )(const char *url, const globus_gass_copy_glob_stat_t *info_stat, void *user_arg)
Gass copy glob entry callback.
enum globus_gass_copy_status_t
Status States. enum globus_gass_copy_url_mode_t
URL Modes. enum globus_gass_copy_glob_entry_t
globus_result_t globus_gass_copy_handle_init (globus_gass_copy_handle_t *handle, globus_gass_copy_handleattr_t *handle_attr)
Initialize a GASS Copy handle. globus_result_t globus_gass_copy_handle_destroy (globus_gass_copy_handle_t *handle)
Destroy a GASS Copy handle. globus_result_t globus_gass_copy_set_buffer_length (globus_gass_copy_handle_t *handle, int length)
Set the size of the buffer to be used for doing transfers. globus_result_t globus_gass_copy_get_buffer_length (globus_gass_copy_handle_t *handle, int *length)
Get the size of the transfer buffer. globus_result_t globus_gass_copy_set_no_third_party_transfers (globus_gass_copy_handle_t *handle, globus_bool_t no_third_party_transfers)
Enable/Disable third-party transfers. globus_result_t globus_gass_copy_get_no_third_party_transfers (globus_gass_copy_handle_t *handle, globus_bool_t *no_third_party_transfers)
Query third-party transfer status. globus_result_t globus_gass_copy_get_partial_offsets (globus_gass_copy_handle_t *handle, globus_off_t *offset, globus_off_t *end_offset)
Get partial transfer offsets. globus_result_t globus_gass_copy_set_partial_offsets (globus_gass_copy_handle_t *handle, globus_off_t offset, globus_off_t end_offset)
Set partial file offsets. globus_result_t globus_gass_copy_set_allocate (globus_gass_copy_handle_t *handle, globus_bool_t send_allo)
Set allo on or off. globus_result_t globus_gass_copy_set_stat_on_expand (globus_gass_copy_handle_t *handle, globus_bool_t always_stat)
Make globus_gass_copy_expand_url() always send stat info. globus_result_t globus_gass_copy_get_url_mode (char *url, globus_gass_copy_url_mode_t *mode)
Get URL scheme. globus_result_t globus_gass_copy_attr_init (globus_gass_copy_attr_t *attr)
Initialize an attribute structure. globus_result_t globus_gass_copy_attr_set_ftp (globus_gass_copy_attr_t *attr, globus_ftp_client_operationattr_t *ftp_attr)
Set the attributes for ftp/gsiftp transfers. globus_result_t globus_gass_copy_attr_set_io (globus_gass_copy_attr_t *attr, globus_io_attr_t *io_attr)
Set file transfers attributes. globus_result_t globus_gass_copy_attr_set_gass (globus_gass_copy_attr_t *attr, globus_gass_transfer_requestattr_t *gass_attr)
Set the http/https attributes. globus_result_t globus_gass_copy_url_to_url (globus_gass_copy_handle_t *handle, char *source_url, globus_gass_copy_attr_t *source_attr, char *dest_url, globus_gass_copy_attr_t *dest_attr)
Blocking Transfer between URLs. globus_result_t globus_gass_copy_url_to_handle (globus_gass_copy_handle_t *handle, char *source_url, globus_gass_copy_attr_t *source_attr, globus_io_handle_t *dest_handle)
Blocking Transfer from an URL to an IO handle. globus_result_t globus_gass_copy_handle_to_url (globus_gass_copy_handle_t *handle, globus_io_handle_t *source_handle, char *dest_url, globus_gass_copy_attr_t *dest_attr)
Blocking transfer from an IO handle to an URL. globus_result_t globus_gass_copy_register_url_to_url (globus_gass_copy_handle_t *handle, char *source_url, globus_gass_copy_attr_t *dest_attr, char *dest_url, globus_gass_copy_attr_t *source_attr, globus_gass_copy_callback_t callback_func, void *callback_arg)
globus_result_t globus_gass_copy_register_url_to_handle (globus_gass_copy_handle_t *handle, char *source_url, globus_gass_copy_attr_t *source_attr, globus_io_handle_t *dest_handle, globus_gass_copy_callback_t callback_func, void *callback_arg)
Nonblocking transfer from an URL to an IO handle. globus_result_t globus_gass_copy_register_handle_to_url (globus_gass_copy_handle_t *handle, globus_io_handle_t *source_handle, char *dest_url, globus_gass_copy_attr_t *dest_attr, globus_gass_copy_callback_t callback_func, void *callback_arg)
globus_result_t globus_gass_copy_get_status (globus_gass_copy_handle_t *handle, globus_gass_copy_status_t *status)
Get the status code of a transfer. const char * globus_gass_copy_get_status_string (globus_gass_copy_handle_t *handle)
Get the status string of a transfer. globus_result_t globus_gass_copy_cancel (globus_gass_copy_handle_t *handle, globus_gass_copy_callback_t cancel_callback, void *cancel_callback_arg)
Cancel a transfer. globus_result_t globus_gass_copy_cache_url_state (globus_gass_copy_handle_t *handle, char *url)
Cache connections to an FTP or GridFTP server. globus_result_t globus_gass_copy_flush_url_state (globus_gass_copy_handle_t *handle, char *url)
Remove an FTP or GridFTP cached connection. globus_result_t globus_gass_copy_set_user_pointer (globus_gass_copy_handle_t *handle, void *user_data)
Set the user pointer in a handle. globus_result_t globus_gass_copy_get_user_pointer (globus_gass_copy_handle_t *handle, void **user_data)
Get the user pointer in a handle. globus_result_t globus_gass_copy_register_performance_cb (globus_gass_copy_handle_t *handle, globus_gass_copy_performance_cb_t callback, void *user_arg)
Register a performance information callback. globus_result_t globus_gass_copy_glob_expand_url (globus_gass_copy_handle_t *handle, const char *url, globus_gass_copy_attr_t *attr, globus_gass_copy_glob_entry_cb_t entry_cb, void *user_arg)
Expand globbed url. globus_result_t globus_gass_copy_mkdir (globus_gass_copy_handle_t *handle, char *url, globus_gass_copy_attr_t *attr)
Make directory.
GASS Copy Library.
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.
Parameters:
handle Handle which will contain a cached connection to the URL server.
url The URL of the FTP or GSIFTP server to cache.
Returns:
This function returns GLOBUS_SUCCESS if successful, or a globus_result_t indicating the error that occurred.
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.
Parameters:
handle Handle which contains a cached connection to the URL server.
url The URL of the FTP or GSIFTP server to remove.
Returns:
This function returns GLOBUS_SUCCESS if successful, or a globus_result_t indicating the error that occurred.
Blocking transfer from an IO handle to an URL.
Parameters:
handle The handle to perform the copy operation
source_handle transfer data from this IO handle
dest_url transfer data to this URL
dest_attr Attributes describing how the transfer to the destination should be done
Returns:
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:
Return values:
GLOBUS_GASS_COPY_ERROR_TYPE_NULL_PARAMETER The handle was equal to GLOBUS_NULL, so the transfer could not processed.
GLOBUS_GASS_COPY_ERROR_TYPE_next_error next error description
See also:
globus_gass_copy_url_to_url() globus_gass_copy_url_to_handle()
Nonblocking Transfer From an IO handle to an URL
This functions initiates a transfer from an IO handle to destination URL, then returns immediately.
When the transfer is completed or if the transfer is aborted, the callback_func will be invoked with the final status of the transfer.
Parameters:
handle The handle to perform the copy operation
source_handle transfer data from this IO handle
dest_url transfer data to this URL
dest_attr Attributes describing how the transfer to the destination should be done
callback_func Callback to be invoked once the transfer is completed.
callback_arg Argument to be passed to the callback_func.
Returns:
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:
Return values:
GLOBUS_GASS_COPY_ERROR_TYPE_NULL_PARAMETER The handle was equal to GLOBUS_NULL, so the transfer could not processed.
GLOBUS_GASS_COPY_ERROR_TYPE_next_error next error description
See also:
globus_gass_copy_register_url_to_url(), globus_gass_copy_register_url_to_handle()
Nonblocking transfer from an URL to an IO handle. This functions initiates a transfer from source URL to an IO handle, then returns immediately.
When the transfer is completed or if the transfer is aborted, the callback_func will be invoked with the final status of the transfer.
Parameters:
handle The handle to perform the copy operation
source_url transfer data from this URL
source_attr Attributes describing how the transfer form the source should be done
dest_handle transfer data to this IO handle
callback_func Callback to be invoked once the transfer is completed.
callback_arg Argument to be passed to the callback_func.
Returns:
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:
Return values:
GLOBUS_GASS_COPY_ERROR_TYPE_NULL_PARAMETER The handle was equal to GLOBUS_NULL, so the transfer could not processed.
GLOBUS_GASS_COPY_ERROR_TYPE_next_error next error description
See also:
globus_gass_copy_register_url_to_url(), globus_gass_copy_register_handle_to_url()
Nonblocking Transfer between URLs
This functions initiates a transfer from source URL to destination URL, then returns immediately.
When the transfer is completed or if the transfer is aborted, the callback_func will be invoked with the final status of the transfer.
Parameters:
handle The handle to perform the copy operation
source_url transfer data from this URL
source_attr Attributes describing how the transfer form the source should be done
dest_url transfer data to this URL
dest_attr Attributes describing how the transfer to the destination should be done
callback_func Callback to be invoked once the transfer is completed.
callback_arg Argument to be passed to the callback_func.
Returns:
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:
Return values:
GLOBUS_GASS_COPY_ERROR_TYPE_NULL_PARAMETER The handle was equal to GLOBUS_NULL, so the transfer could not processed.
GLOBUS_GASS_COPY_ERROR_TYPE_next_error next error description
See also:
globus_gass_copy_register_url_to_handle(), globus_gass_copy_register_handle_to_url()
Blocking Transfer from an URL to an IO handle.
Parameters:
handle The handle to perform the copy operation
source_url transfer data from this URL
source_attr Attributes describing how the transfer form the source should be done
dest_handle transfer data to this IO handle
Returns:
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:
Return values:
GLOBUS_GASS_COPY_ERROR_TYPE_NULL_PARAMETER The handle was equal to GLOBUS_NULL, so the transfer could not processed.
GLOBUS_GASS_COPY_ERROR_TYPE_next_error next error description
See also:
globus_gass_copy_url_to_url() globus_gass_copy_handle_to_url()
Blocking Transfer between URLs.
Parameters:
handle The handle to perform the copy operation
source_url transfer data from this URL
source_attr Attributes describing how the transfer form the source should be done
dest_url transfer data to this URL
dest_attr Attributes describing how the transfer to the destination should be done
Returns:
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:
Return values:
GLOBUS_GASS_COPY_ERROR_TYPE_NULL_PARAMETER The handle was equal to GLOBUS_NULL, so the transfer could not processed.
GLOBUS_GASS_COPY_ERROR_TYPE_next_error next error description
See also:
globus_gass_copy_url_to_handle() globus_gass_copy_handle_to_url()
Generated automatically by Doxygen for globus_gass_copy from the source code.