SYNOPSIS
#include 'globus_gass_transfer.h'
#include 'globus_ftp_client.h'
#include 'globus_io.h'
Data Structures
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.
Macros
#define GLOBUS_GASS_COPY_MODULE (&globus_i_gass_copy_module)
Module Descriptor.
Typedefs
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.
Enumerations
Functions
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.
Detailed Description
GASS Copy Library.
Function Documentation
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. 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.
globus_result_t globus_gass_copy_flush_url_state (globus_gass_copy_handle_t * handle, char * url)
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.
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.
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()
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)
Nonblocking Transfer From an IO handle to an URLThis 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()
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. 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()
globus_result_t globus_gass_copy_register_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, globus_gass_copy_callback_t callback_func, void * callback_arg)
Nonblocking Transfer between URLsThis 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()
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.
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()
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.
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()
Author
Generated automatically by Doxygen for globus_gass_copy from the source code.