2 #ifndef GLOBUS_GLOBUS_URL_COPY_H
3 #define GLOBUS_GLOBUS_URL_COPY_H 1
5 #define GLOBUS_URL_COPY_ARG_ASCII 1
6 #define GLOBUS_URL_COPY_ARG_BINARY 2
7 #define GLOBUS_URL_COPY_ARG_VERBOSE 4
9 #include "globus_ftp_client_plugin.h"
12 typedef struct globus_guc_src_dst_pair_s
16 } globus_guc_src_dst_pair_t;
18 typedef struct globus_guc_info_s
20 globus_fifo_t * user_url_list;
22 char * source_subject;
24 unsigned long options;
25 globus_size_t block_size;
26 globus_size_t tcp_buffer_size;
30 globus_bool_t no_dcau;
31 globus_bool_t data_safe;
32 globus_bool_t data_private;
33 globus_bool_t cancelled;
34 globus_bool_t recurse;
39 globus_size_t stripe_bs;
40 globus_bool_t striped;
41 globus_bool_t rfc1738;
42 globus_bool_t create_dest;
43 globus_off_t partial_offset;
44 globus_off_t partial_length;
45 globus_bool_t list_uses_data_mode;
47 globus_bool_t gridftp2;
50 char * src_net_stack_str;
51 char * src_disk_stack_str;
52 char * dst_net_stack_str;
53 char * dst_disk_stack_str;
54 char * src_authz_assert;
55 char * dst_authz_assert;
56 globus_bool_t cache_src_authz_assert;
57 globus_bool_t cache_dst_authz_assert;
58 gss_cred_id_t src_cred;
59 gss_cred_id_t dst_cred;
60 gss_cred_id_t data_cred;
62 globus_bool_t verbose;
64 globus_bool_t delayed_pasv;
65 globus_bool_t pipeline;
68 typedef struct globus_l_guc_plugin_op_s * globus_guc_plugin_op_t;
71 globus_guc_copy_performance_update(
72 globus_off_t total_bytes,
73 float instantaneous_throughput,
74 float avg_throughput);
77 globus_guc_transfer_update(
80 const char * src_fname,
81 const char * dst_fname);
84 globus_guc_plugin_finished(
85 globus_guc_plugin_op_t done_op,
86 globus_result_t result);
88 typedef globus_result_t
89 (*globus_guc_plugin_start_t)(
91 globus_guc_info_t * guc_info,
92 globus_guc_plugin_op_t done_op,
97 (*globus_guc_plugin_cancel_t)(
101 (*globus_guc_plugin_cleanup_t)(
104 typedef struct globus_guc_plugin_funcs_s
106 globus_guc_plugin_start_t start_func;
107 globus_guc_plugin_cancel_t cancel_func;
108 globus_guc_plugin_cleanup_t cleanup_func;
109 } globus_guc_plugin_funcs_t;
111 typedef globus_result_t
112 (*globus_guc_client_plugin_init_t)(
113 globus_ftp_client_plugin_t * plugin,
116 typedef struct globus_guc_client_plugin_funcs_s
118 globus_guc_client_plugin_init_t init_func;
119 } globus_guc_client_plugin_funcs_t;
121 extern globus_extension_registry_t globus_guc_client_plugin_registry;
122 extern globus_extension_registry_t globus_guc_plugin_registry;
124 #define GUC_PLUGIN_FUNCS "guc_funcs"