17 #ifndef GLOBUS_GASS_COPY_H
18 #define GLOBUS_GASS_COPY_H
25 #ifndef GLOBUS_GLOBAL_DOCUMENT_SET
54 #include "globus_gass_transfer.h"
55 #include "globus_ftp_client.h"
56 #include "globus_io.h"
93 #define GLOBUS_GASS_COPY_MODULE (&globus_i_gass_copy_module)
96 globus_module_descriptor_t globus_i_gass_copy_module;
98 #define _GASCSL(s) globus_common_i18n_get_string( \
99 GLOBUS_GASS_COPY_MODULE, \
103 typedef struct globus_gass_copy_state_s globus_gass_copy_state_t;
105 typedef struct globus_gass_copy_perf_info_s globus_gass_copy_perf_info_t;
142 globus_off_t total_bytes,
143 float instantaneous_throughput,
144 float avg_throughput);
156 globus_object_t * error);
164 GLOBUS_GASS_COPY_STATUS_NONE,
165 GLOBUS_GASS_COPY_STATUS_PENDING,
166 GLOBUS_GASS_COPY_STATUS_INITIAL,
167 GLOBUS_GASS_COPY_STATUS_SOURCE_READY,
168 GLOBUS_GASS_COPY_STATUS_TRANSFER_IN_PROGRESS,
169 GLOBUS_GASS_COPY_STATUS_READ_COMPLETE,
170 GLOBUS_GASS_COPY_STATUS_WRITE_COMPLETE,
171 GLOBUS_GASS_COPY_STATUS_DONE,
172 GLOBUS_GASS_COPY_STATUS_FAILURE,
173 GLOBUS_GASS_COPY_STATUS_CANCEL,
174 GLOBUS_GASS_COPY_STATUS_DONE_SUCCESS,
175 GLOBUS_GASS_COPY_STATUS_DONE_FAILURE,
176 GLOBUS_GASS_COPY_STATUS_DONE_CANCELLED
185 GLOBUS_GASS_COPY_URL_MODE_UNSUPPORTED,
186 GLOBUS_GASS_COPY_URL_MODE_FTP,
187 GLOBUS_GASS_COPY_URL_MODE_GASS,
188 GLOBUS_GASS_COPY_URL_MODE_IO
263 globus_ftp_client_handle_t ftp_handle;
274 globus_off_t partial_end_offset;
275 globus_off_t partial_bytes_remaining;
297 globus_ftp_client_operationattr_t * ftp_attr;
298 globus_io_attr_t * io;
299 globus_gass_transfer_requestattr_t * gass_requestattr;
311 globus_ftp_client_handleattr_t * ftp_attr;
325 globus_gass_copy_handleattr_init(
329 globus_gass_copy_handleattr_destroy(
333 globus_gass_copy_handleattr_set_ftp_attr(
335 globus_ftp_client_handleattr_t * ftp_attr);
354 globus_bool_t no_third_party_transfers);
360 globus_bool_t * no_third_party_transfers);
366 globus_off_t * offset,
367 globus_off_t * end_offset);
374 globus_off_t end_offset);
380 globus_bool_t send_allo);
390 globus_bool_t always_stat);
401 globus_gass_copy_get_ftp_handle(
403 globus_ftp_client_handle_t * ftp_handle);
414 globus_ftp_client_operationattr_t * ftp_attr);
419 globus_io_attr_t * io_attr);
424 globus_gass_transfer_requestattr_t * gass_attr);
430 globus_gass_copy_url_to_url(
438 globus_gass_copy_url_to_handle(
442 globus_io_handle_t * dest_handle);
445 globus_gass_copy_handle_to_url(
447 globus_io_handle_t * source_handle,
455 globus_gass_copy_register_url_to_url(
462 void * callback_arg);
465 globus_gass_copy_register_url_to_handle(
469 globus_io_handle_t * dest_handle,
471 void * callback_arg);
474 globus_gass_copy_register_handle_to_url(
476 globus_io_handle_t * source_handle,
480 void * callback_arg);
502 globus_gass_copy_cancel(
505 void * cancel_callback_arg);
513 globus_gass_copy_cache_url_state(
518 globus_gass_copy_flush_url_state(
526 globus_gass_copy_set_user_pointer(
531 globus_gass_copy_get_user_pointer(
548 globus_gass_copy_attr_set_tcpbuffer(
550 globus_ftp_control_tcpbuffer_t * tcpbuffer_info);
554 globus_gass_copy_attr_set_parallelism(
556 globus_ftp_control_parallelism_t * parallelism_info);
560 globus_gass_copy_attr_set_striping(
562 globus_ftp_control_striping_t * striping_info);
566 globus_gass_copy_attr_set_authorization(
568 globus_io_authorization_t * authorization_info);
572 globus_gass_copy_attr_set_secure_channel(
574 globus_io_secure_channel_t * secure_channel_info);
582 GLOBUS_GASS_COPY_GLOB_ENTRY_UNKNOWN,
583 GLOBUS_GASS_COPY_GLOB_ENTRY_FILE,
584 GLOBUS_GASS_COPY_GLOB_ENTRY_DIR,
585 GLOBUS_GASS_COPY_GLOB_ENTRY_OTHER
722 globus_gass_copy_cksm(
728 const char * algorithm,
732 globus_gass_copy_cksm_async(
738 const char * algorithm,
741 void * callback_arg);
744 globus_gass_copy_stat(