globus_gass_copy(3) | globus_gass_copy | globus_gass_copy(3) |
globus_gass_copy - GASS Copy
- Protocol-Independent File Transfer.
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 *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_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_checksum_algo (globus_gass_copy_handle_t
*handle, char *algo, globus_gass_copy_handle_t *cksm_handle)
Stores the checksum algorithm to use with all checksum operations.
globus_result_t globus_gass_copy_set_checksum
(globus_gass_copy_handle_t *handle, char *cksm)
Copies the checksum to the handle's checksum parameter. 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_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_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_get_url_mode (char *url,
globus_gass_copy_url_mode_t *mode)
Get URL scheme. 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_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_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.
Protocol-Independent File Transfer.
The Globus GASS Copy library is motivated by the desire to provide a uniform interface to transfer files specified by different protocols.
The goals in doing this are to:
Any program that uses Globus GASS Copy functions must include 'globus_gass_copy.h'.
Globus GASS Copy uses standard Globus module activation and deactivation. Before any Globus GASS Copy functions are called, the following function must be called:
globus_module_activate(GLOBUS_GASS_COPY_MODULE)
This function returns GLOBUS_SUCCESS if Globus GASS Copy was successfully initialized, and you are therefore allowed to subsequently call Globus GASS Copy functions. Otherwise, an error code is returned, and Globus GASS Copy functions should not be subsequently called. This function may be called multiple times.
To deactivate Globus GASS Copy, the following function must be called:
globus_module_deactivate(GLOBUS_GASS_COPY_MODULE)
This function should be called once for each time Globus GASS Copy was activated.
Attributes. Contains any/all attributes that are required to perform the supported transfer methods (ftp, gass, io).
Copy Callback. Signature of a callback from globus_gass_copy_register_*() functions. (nonblocking transfer functions)
Gass copy glob entry callback. This callback is passed as a parameter to globus_gass_copy_glob_expand_url(). It is called once for each entry that the original expands to.
Parameters
See also
Handle Attributes. Contains any/all attributes that are required to create lower-level handles (ftp, gass, io).
Performance Callback. This callback is registered with 'globus_gass_copy_register_performance_cb' It will be called during a transfer to supply performance information on current transfer. Its frequency will be at most one per second, but it is possible to receive no callbacks. This is possible in very short transfers and in ftp transfers in which the server does not provide performance information.
Parameters
Returns
globbed entry types
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
Returns
See also
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
Returns
See also
Set the http/https attributes. 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
Returns
See also
Set file transfers attributes. 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
Returns
See also
Get the size of the transfer buffer. This function allows the user to get the size of the buffer that is being used for doing transfers.
Parameters
Returns
Query third-party transfer status. 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
Returns
Get partial transfer offsets. 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
Returns
Get the status code of a 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
Returns
Get the status string of a 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
Returns
Get URL scheme. 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
Returns
See also
Expand globbed url. This function expands wildcards in a globbed url, and calls entry_cb() on each one.
Parameters
Returns
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
Returns
See also
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
Returns
See also
Make directory. This function creates a directory given a ftp or file url.
Parameters
Returns
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
Returns
See also
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
Returns
Copies the checksum to the handle's checksum parameter. This function frees any existing checksum value stored in the handle, then copies the passed in checksum to the handle.
Parameters
Returns
Stores the checksum algorithm to use with all checksum operations. This function sets the checksum algorithm and the handle to be used for checksum calculations to the passed in handle.
Parameters
Returns
Enable/Disable third-party transfers. 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
Returns
Set partial file offsets. 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
Returns
Generated automatically by Doxygen for globus_gass_copy from the source code.
Mon Dec 14 2020 | Version 10.8 |