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

enum globus_gass_copy_status_t

Status States. enum globus_gass_copy_url_mode_t

URL Modes. enum globus_gass_copy_glob_entry_t

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 (\fBglobus_gass_copy_handle_t\fP *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 (\fBglobus_gass_copy_handle_t\fP *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 (\fBglobus_gass_copy_handle_t\fP *handle, globus_io_handle_t *source_handle, char *dest_url, \fBglobus_gass_copy_attr_t\fP *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 (\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\fPcallback_func, void *callback_arg)

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()

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\fPcallback_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 (\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\fPcallback_func, void *callback_arg)

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()

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)

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 (\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)

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.