Poster of Linux kernelThe best gift for a Linux geek
globus_gass_copy.c

globus_gass_copy.c

Section: globus gass copy (3) Updated: Sat Oct 16 2010
Local index Up
 

NAME

globus_gass_copy.c -

Globus GASS Copy library.

 

SYNOPSIS


 

Functions


globus_result_t globus_gass_copy_handle_init (globus_gass_copy_handle_t *handle, globus_gass_copy_handleattr_t *attr)

globus_result_t globus_gass_copy_handle_destroy (globus_gass_copy_handle_t *handle)

globus_result_t globus_gass_copy_set_buffer_length (globus_gass_copy_handle_t *handle, int length)

globus_result_t globus_gass_copy_get_buffer_length (globus_gass_copy_handle_t *handle, int *length)

globus_result_t globus_gass_copy_set_no_third_party_transfers (globus_gass_copy_handle_t *handle, globus_bool_t no_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)

globus_result_t globus_gass_copy_set_allocate (globus_gass_copy_handle_t *handle, globus_bool_t send_allo)

globus_result_t globus_gass_copy_set_stat_on_expand (globus_gass_copy_handle_t *handle, globus_bool_t always_stat)

globus_result_t globus_gass_copy_set_partial_offsets (globus_gass_copy_handle_t *handle, globus_off_t offset, globus_off_t end_offset)

globus_result_t globus_gass_copy_get_partial_offsets (globus_gass_copy_handle_t *handle, globus_off_t *offset, globus_off_t *end_offset)

globus_result_t globus_gass_copy_attr_init (globus_gass_copy_attr_t *attr)

globus_result_t globus_gass_copy_attr_set_ftp (globus_gass_copy_attr_t *attr, globus_ftp_client_operationattr_t *ftp_attr)

globus_result_t globus_gass_copy_attr_set_io (globus_gass_copy_attr_t *attr, globus_io_attr_t *io_attr)

globus_result_t globus_gass_copy_attr_set_gass (globus_gass_copy_attr_t *attr, globus_gass_transfer_requestattr_t *gass_attr)

globus_result_t globus_gass_copy_get_url_mode (char *url, globus_gass_copy_url_mode_t *mode)

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)

globus_result_t globus_gass_copy_get_status (globus_gass_copy_handle_t *handle, globus_gass_copy_status_t *status)

const char * globus_gass_copy_get_status_string (globus_gass_copy_handle_t *handle)

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)

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)

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)

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)

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)

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_cache_url_state (globus_gass_copy_handle_t *handle, char *url)

globus_result_t globus_gass_copy_flush_url_state (globus_gass_copy_handle_t *handle, char *url)

globus_result_t globus_gass_copy_set_user_pointer (globus_gass_copy_handle_t *handle, void *user_pointer)

globus_result_t globus_gass_copy_get_user_pointer (globus_gass_copy_handle_t *handle, void **user_data)

globus_result_t globus_gass_copy_cancel (globus_gass_copy_handle_t *handle, globus_gass_copy_callback_t cancel_callback, void *cancel_callback_arg)

globus_result_t globus_l_gass_copy_target_cancel (globus_i_gass_copy_cancel_t *cancel_info)
 

Detailed Description

Globus GASS Copy library.

See also:

See the detailed description in globus_gass_copy.h

 

Function Documentation

 

globus_result_t globus_gass_copy_handle_init (globus_gass_copy_handle_t * handle, globus_gass_copy_handleattr_t * attr)

Initialize a GASS Copy handle. A globus_gass_copy_handle must be initialized before any transfers may be associated with it. This function initializes a globus_gass_copy_handle to be used for doing transfers, this includes initializing a globus_ftp_client_handle which will be used for doing any ftp/gsiftp transfers. The same handle may be used to perform multiple, consecutive transfers. However, there can only be one transfer associated with a particular handle at any given time. After all transfers to be associated with this handle have completed, the handle should be destroyed by calling globus_gass_copy_handle_destroy().

Parameters:

handle The handle to be initialized
attr The handle attributes used to use with this handle

Returns:

This function returns GLOBUS_SUCCESS if successful, or a globus_result_t indicating the error that occurred.

See also:

globus_gass_copy_handle_destroy() , globus_gass_copy_handleattr_init(), globus_ftp_client_hande_init()

References GLOBUS_GASS_COPY_MODULE.  

globus_result_t globus_gass_copy_handle_destroy (globus_gass_copy_handle_t * handle)

Destroy a GASS Copy handle. Destroy a gass_copy_handle, which was initialized using globus_gass_copy_handle_init(), that will no longer be used for doing transfers. Once the handle is detroyed, no further transfers should be associated with it.

Parameters:

handle The handle to be destroyed

Returns:

This function returns GLOBUS_SUCCESS if successful, or a globus_result_t indicating the error that occurred.

See also:

globus_gass_copy_handle_init(), globus_ftp_client_handle_destroy()

References GLOBUS_GASS_COPY_MODULE.  

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. This function allows the user to set the size of the buffer that will be used for doing transfers, if this function is not called the buffer size will default to 1M.

Parameters:

handle Set the buffer length for transfers associated with this handle.
length The length, in bytes, to make the buffer.

Returns:

This function returns GLOBUS_SUCCESS if successful, or a globus_result_t indicating the error that occurred.

References GLOBUS_GASS_COPY_MODULE.  

globus_result_t globus_gass_copy_get_buffer_length (globus_gass_copy_handle_t * handle, int * length)

Get the size of the buffer being used for doing transfers. This function allows the user to get the size of the buffer that is being used for doing transfers.

Parameters:

handle Get the buffer length for transfers associated with this handle.
length The length, in bytes, of the buffer.

Returns:

This function returns GLOBUS_SUCCESS if successful, or a globus_result_t indicating the error that occurred.

References GLOBUS_GASS_COPY_MODULE.  

globus_result_t globus_gass_copy_set_no_third_party_transfers (globus_gass_copy_handle_t * handle, globus_bool_t no_third_party_transfers)

Turn third-party transfers on or off. (They are on by default.)

This function allows the user to turn third-party transfers on or off for ftp to ftp transfers associated with a particular handle. This is often desired if one of the servers involved in the transfer does not allow third-party transfers.

Parameters:

handle Turn third-party transfers on or off for transfers associated with this handle. They are on by default.
no_third_party_transfers GLOBUS_FALSE if third-party transfers should be used. GLOBUS_TRUE if third-party transfers should not be used.

Returns:

This function returns GLOBUS_SUCCESS if successful, or a globus_result_t indicating the error that occurred.

References globus_gass_copy_get_status(), and GLOBUS_GASS_COPY_MODULE.  

globus_result_t globus_gass_copy_get_no_third_party_transfers (globus_gass_copy_handle_t * handle, globus_bool_t * no_third_party_transfers)

See if third-party transfers are turned on or off. (They are on by default.)

This function allows the user to see if third-party transfers are turned on or off for ftp to ftp transfers associated with a particular handle. This is often desired if one of the servers involved in the transfer does not allow third-party transfers.

Parameters:

handle See if third-party transfers are turned on or off for transfers associated with this handle. They are on by default.
no_third_party_transfers GLOBUS_FALSE if third-party transfers should be used. GLOBUS_TRUE if third-party transfers should not be used.

Returns:

This function returns GLOBUS_SUCCESS if successful, or a globus_result_t indicating the error that occurred.

References GLOBUS_GASS_COPY_MODULE.  

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_set_partial_offsets (globus_gass_copy_handle_t * handle, globus_off_t offset, globus_off_t end_offset)

Set the offsets to be used for doing partial transfers. This function allows the user to set the offsets that will be used for doing partial transfers. An offset of -1 will disable partial transfers. An end_offset of -1 means EOF.

Parameters:

handle Set the offsets for partial transfers associated with this handle.
offset The starting offset for the partial transfer.
end_offset The ending offset for the partial transfer.

Returns:

This function returns GLOBUS_SUCCESS if successful, or a globus_result_t indicating the error that occurred.

References GLOBUS_GASS_COPY_MODULE.  

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 the offsets being used for doing partial transfers. This function allows the user to get the offsets that are being used for doing partial transfers. An offset of -1 means partial transfers are disabled.

Parameters:

handle Get the offsets for partial transfers associated with this handle.
offset The starting offset for the partial transfer.
end_offset The ending offset for the partial transfer.

Returns:

This function returns GLOBUS_SUCCESS if successful, or a globus_result_t indicating the error that occurred.

References GLOBUS_GASS_COPY_MODULE.  

globus_result_t globus_gass_copy_attr_init (globus_gass_copy_attr_t * attr)

Initialize an attribute structure. The globus_gass_copy_attr_t can be used to pass the globus_gass_copy library information about how a transfer should be performed. It must first be initialized by calling this function. Then any or all of the following functions may be called to set attributes associated with a particular protocol: globus_gass_copy_attr_set_ftp(), globus_gass_copy_attr_set_gass(), globus_gass_copy_attr_set_io(). Any function which takes a globus_gass_copy_attr_t as an argument will also accept GLOBUS_NULL, in which case the appropriate set of default attributes will be used.

Parameters:

attr The attribute structure to be initialized

Returns:

This function returns GLOBUS_SUCCESS if successful, or a globus_result_t indicating the error that occurred.

See also:

globus_gass_copy_attr_set_ftp(), globus_gass_copy_attr_set_gass(), globus_gass_copy_attr_set_io(), globus_gass_copy_get_url_mode().

References GLOBUS_GASS_COPY_MODULE.  

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. In order to specify attributes for ftp/gsiftp transfers, a globus_ftp_client_operationattr_t should be initialized and its values set using the appropriate globus_ftp_client_operationattr_* functions. The globus_ftp_client_operationattr_t * can then be passed to the globus_gass_copy_attr_t via this function.

Parameters:

attr A globus_gass_copy attribute structure
ftp_attr The ftp/gsiftp attributes to be used

Returns:

This function returns GLOBUS_SUCCESS if successful, or a globus_result_t indicating the error that occurred.

See also:

globus_gass_copy_attr_init(), globus_gass_copy_attr_set_gass(), globus_gass_copy_attr_set_io(), globus_gass_copy_get_url_mode(), globus_ftp_client_operationattr_*

References GLOBUS_GASS_COPY_MODULE.  

globus_result_t globus_gass_copy_attr_set_io (globus_gass_copy_attr_t * attr, globus_io_attr_t * io_attr)

Set the attributes for file transfers. In order to specify attributes for file transfers, a globus_io_attr_t should be initialized and its values set using the appropriate globus_io_attr_* functions. The globus_io_attr_t can then be passed to the globus_gass_copy_attr_t via this function.

Parameters:

attr A globus_gass_copy attribute structure
io_attr The file attributes to be used

Returns:

This function returns GLOBUS_SUCCESS if successful, or a globus_result_t indicating the error that occurred.

See also:

globus_gass_copy_attr_init(), globus_gass_copy_attr_set_gass(), globus_gass_copy_attr_set_ftp(), globus_gass_copy_get_url_mode(), globus_io_attr_*

References GLOBUS_GASS_COPY_MODULE.  

globus_result_t globus_gass_copy_attr_set_gass (globus_gass_copy_attr_t * attr, globus_gass_transfer_requestattr_t * gass_attr)

Set the attributes for http/https transfers. In order to specify attributes for http/https transfers, a globus_gass_transfer_requestattr_t should be initialized and its values set using the appropriate globus_gass_transfer_requestattr_* functions. The globus_gass_transfer_requestattr_t can then be passed to the globus_gass_copy_attr_t via this function.

Parameters:

attr A globus_gass_copy attribute structure
gass_attr The http/https attributes to be used

Returns:

This function returns GLOBUS_SUCCESS if successful, or a globus_result_t indicating the error that occurred.

See also:

globus_gass_copy_attr_init(), globus_gass_copy_attr_set_io(), globus_gass_copy_attr_set_ftp(), globus_gass_copy_get_url_mode(), globus_gass_transfer_requestattr_*

References GLOBUS_GASS_COPY_MODULE.  

globus_result_t globus_gass_copy_get_url_mode (char * url, globus_gass_copy_url_mode_t * mode)

Classify the URL schema into the transfer method that will be used to do the actual tranfer. This function enables the user to determine what protocol will be used to transfer data to/from a particular url. This information can then be used to specify the appropriate attributes when initiating a transfer.

Parameters:

url The URL for schema checking
mode the filled in schema type of the URL param

Returns:

This function returns GLOBUS_SUCCESS if successful, or a globus_result_t indicating the error that occurred.

See also:

globus_gass_copy_attr_init(), globus_gass_copy_attr_set_io(), globus_gass_copy_attr_set_ftp(), globus_gass_copy_set_gass()

References GLOBUS_GASS_COPY_MODULE.  

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. Use this to register a performance information callback. You change or set to GLOBUS_NULL the callback any time a transfer is not occurring.

Parameters:

handle an initialized gass copy handle for which you would like to see performance info
callback the performance callback
user_arg a user pointer that will be passed to all callbacks for a given handle

Returns:

GLOBUS_SUCCESS
error on a NULL or busy handle

See also:

globus_gass_copy_performance_cb_t

References GLOBUS_GASS_COPY_MODULE.  

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 the current transfer. Get the status of the last transfer to be initiated using the given handle. Only one transfer can be active on a handle at a given time, therefore new transfers may only be initiated when the current status is one of the following: GLOBUS_GASS_COPY_STATUS_NONE, GLOBUS_GASS_COPY_STATUS_DONE_SUCCESS, GLOBUS_GASS_COPY_STATUS_DONE_FAILURE, GLOBUS_GASS_COPY_STATUS_DONE_CANCELLED

Parameters:

handle A globus_gass_copy_handle
status Will be one of the following: GLOBUS_GASS_COPY_STATUS_NONE (No transfers have been initiated using this handle.) GLOBUS_GASS_COPY_STATUS_PENDING (A transfer is currently being set up.) GLOBUS_GASS_COPY_STATUS_TRANSFER_IN_PROGRESS (There is currently a transfer in progress.) GLOBUS_GASS_COPY_STATUS_CANCEL (The last transfer initiated using this handle has been cancelled by the user before completing, and is in the process of being cleaned up.) GLOBUS_GASS_COPY_STATUS_FAILURE (The last transfer initiated using this handle failed, and is in the process of being cleaned up.) GLOBUS_GASS_COPY_STATUS_DONE_SUCCESS (The last transfer initiated using this handle has completed successfully.) GLOBUS_GASS_COPY_STATUS_DONE_FAILURE (The last transfer initiated using this handle failed and has finished cleaning up.) GLOBUS_GASS_COPY_STATUS_DONE_CANCELLED (The last transfer initiated using this handle was cancelled and has finished cleaning up.)

Returns:

This function returns GLOBUS_SUCCESS if successful, or a globus_result_t indicating the error that occurred.

References GLOBUS_GASS_COPY_MODULE.  

const char* globus_gass_copy_get_status_string (globus_gass_copy_handle_t * handle)

Get the status string of the current transfer. Get the status of the last transfer to be initiated using the given handle. Only one transfer can be active on a handle at a given time, therefore new transfers may only be initiated when the current status is one of the following: GLOBUS_GASS_COPY_STATUS_NONE, GLOBUS_GASS_COPY_STATUS_DONE_SUCCESS, GLOBUS_GASS_COPY_STATUS_DONE_FAILURE, GLOBUS_GASS_COPY_STATUS_DONE_CANCELLED

Parameters:

handle A globus_gass_copy_handle

Returns:

Returns a pointer to a character string describing the current status

References globus_gass_copy_get_status().  

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)

Transfer data from source URL to destination URL (blocking). 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()

References GLOBUS_GASS_COPY_MODULE, and globus_gass_copy_register_url_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)

Transfer data from source URL to an IO handle (blocking). 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()

References GLOBUS_GASS_COPY_MODULE, and globus_gass_copy_register_url_to_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)

Transfer data from an IO handle to destination URL (blocking). 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()

References GLOBUS_GASS_COPY_MODULE, and 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)

Transfer data from source URL to destination URL (non-blocking). 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()

References globus_i_gass_copy_state_target_s::attr, globus_gass_copy_state_s::cancel, globus_gass_copy_state_s::dest, globus_gass_copy_get_url_mode(), GLOBUS_GASS_COPY_MODULE, and globus_gass_copy_state_s::source.  

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)

Transfer data from source URL to an IO handle (non-blocking). 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()

References globus_gass_copy_state_s::cancel, globus_gass_copy_state_s::dest, globus_gass_copy_get_url_mode(), GLOBUS_GASS_COPY_MODULE, and globus_gass_copy_state_s::source.  

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)

Transfer data from an IO handle to destination URL (non-blocking). 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()

References globus_gass_copy_state_s::cancel, globus_gass_copy_state_s::dest, globus_gass_copy_get_url_mode(), GLOBUS_GASS_COPY_MODULE, and globus_gass_copy_state_s::source.  

globus_result_t globus_gass_copy_cache_url_state (globus_gass_copy_handle_t * handle, char * url)

Cache connections to an FTP or GSIFTP 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.

References GLOBUS_GASS_COPY_MODULE.  

globus_result_t globus_gass_copy_flush_url_state (globus_gass_copy_handle_t * handle, char * url)

Remove a cached connection to an FTP or GSIFTP server. 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.

References GLOBUS_GASS_COPY_MODULE.  

globus_result_t globus_gass_copy_set_user_pointer (globus_gass_copy_handle_t * handle, void * user_pointer)

Set a pointer in the handle to point at user-allocated memory.

References GLOBUS_GASS_COPY_MODULE.  

globus_result_t globus_gass_copy_get_user_pointer (globus_gass_copy_handle_t * handle, void ** user_data)

Get the pointer in the handle that points to user-allocated memory.

References GLOBUS_GASS_COPY_MODULE.  

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 the current transfer associated with this handle,.

store the cancel_callback and cancel_callback_arg in the handle. Needed because the ftp callback will be the one given from the original globus_ftp_client_third_party_transfer() call.

References GLOBUS_GASS_COPY_MODULE, and globus_l_gass_copy_target_cancel().  

globus_result_t globus_l_gass_copy_target_cancel (globus_i_gass_copy_cancel_t * cancel_info)

Cancel the source or destination transfer in progress.

References globus_i_gass_copy_state_target_s::data, globus_i_gass_copy_state_target_s::ftp, globus_i_gass_copy_state_target_s::gass, GLOBUS_GASS_COPY_MODULE, globus_i_gass_copy_state_target_s::io, globus_i_gass_copy_state_target_s::mode, and globus_i_gass_copy_state_target_s::url.  

Author

Generated automatically by Doxygen for globus gass copy from the source code.


 

Index

NAME
SYNOPSIS
Functions
Detailed Description
Function Documentation
globus_result_t globus_gass_copy_handle_init (globus_gass_copy_handle_t * handle, globus_gass_copy_handleattr_t * attr)
globus_result_t globus_gass_copy_handle_destroy (globus_gass_copy_handle_t * handle)
globus_result_t globus_gass_copy_set_buffer_length (globus_gass_copy_handle_t * handle, int length)
globus_result_t globus_gass_copy_get_buffer_length (globus_gass_copy_handle_t * handle, int * length)
globus_result_t globus_gass_copy_set_no_third_party_transfers (globus_gass_copy_handle_t * handle, globus_bool_t no_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)
globus_result_t globus_gass_copy_set_allocate (globus_gass_copy_handle_t * handle, globus_bool_t send_allo)
globus_result_t globus_gass_copy_set_stat_on_expand (globus_gass_copy_handle_t * handle, globus_bool_t always_stat)
globus_result_t globus_gass_copy_set_partial_offsets (globus_gass_copy_handle_t * handle, globus_off_t offset, globus_off_t end_offset)
globus_result_t globus_gass_copy_get_partial_offsets (globus_gass_copy_handle_t * handle, globus_off_t * offset, globus_off_t * end_offset)
globus_result_t globus_gass_copy_attr_init (globus_gass_copy_attr_t * attr)
globus_result_t globus_gass_copy_attr_set_ftp (globus_gass_copy_attr_t * attr, globus_ftp_client_operationattr_t * ftp_attr)
globus_result_t globus_gass_copy_attr_set_io (globus_gass_copy_attr_t * attr, globus_io_attr_t * io_attr)
globus_result_t globus_gass_copy_attr_set_gass (globus_gass_copy_attr_t * attr, globus_gass_transfer_requestattr_t * gass_attr)
globus_result_t globus_gass_copy_get_url_mode (char * url, globus_gass_copy_url_mode_t * mode)
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)
globus_result_t globus_gass_copy_get_status (globus_gass_copy_handle_t * handle, globus_gass_copy_status_t * status)
const char* globus_gass_copy_get_status_string (globus_gass_copy_handle_t * handle)
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)
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)
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)
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)
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)
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_cache_url_state (globus_gass_copy_handle_t * handle, char * url)
globus_result_t globus_gass_copy_flush_url_state (globus_gass_copy_handle_t * handle, char * url)
globus_result_t globus_gass_copy_set_user_pointer (globus_gass_copy_handle_t * handle, void * user_pointer)
globus_result_t globus_gass_copy_get_user_pointer (globus_gass_copy_handle_t * handle, void ** user_data)
globus_result_t globus_gass_copy_cancel (globus_gass_copy_handle_t * handle, globus_gass_copy_callback_t cancel_callback, void * cancel_callback_arg)
globus_result_t globus_l_gass_copy_target_cancel (globus_i_gass_copy_cancel_t * cancel_info)
Author

This document was created by man2html, using the manual pages.
Time: 21:47:01 GMT, April 16, 2011