17 #ifndef GLOBUS_GLOBUS_URL_COPY_H
18 #define GLOBUS_GLOBUS_URL_COPY_H 1
20 #define GLOBUS_URL_COPY_ARG_ASCII 1
21 #define GLOBUS_URL_COPY_ARG_BINARY 2
22 #define GLOBUS_URL_COPY_ARG_VERBOSE 4
24 #include "globus_ftp_client_plugin.h"
27 typedef struct globus_guc_src_dst_pair_s
31 } globus_guc_src_dst_pair_t;
33 typedef struct globus_guc_info_s
35 globus_fifo_t * user_url_list;
37 char * source_subject;
39 unsigned long options;
40 globus_size_t block_size;
41 globus_size_t tcp_buffer_size;
45 globus_bool_t no_dcau;
46 globus_bool_t data_safe;
47 globus_bool_t data_private;
48 globus_bool_t cancelled;
49 globus_bool_t recurse;
54 globus_size_t stripe_bs;
55 globus_bool_t striped;
56 globus_bool_t rfc1738;
57 globus_bool_t create_dest;
58 globus_off_t partial_offset;
59 globus_off_t partial_length;
60 globus_bool_t list_uses_data_mode;
62 globus_bool_t gridftp2;
65 char * src_net_stack_str;
66 char * src_disk_stack_str;
67 char * dst_net_stack_str;
68 char * dst_disk_stack_str;
69 char * src_authz_assert;
70 char * dst_authz_assert;
71 globus_bool_t cache_src_authz_assert;
72 globus_bool_t cache_dst_authz_assert;
73 gss_cred_id_t src_cred;
74 gss_cred_id_t dst_cred;
75 gss_cred_id_t data_cred;
77 globus_bool_t verbose;
79 globus_bool_t delayed_pasv;
80 globus_bool_t pipeline;
83 typedef struct globus_l_guc_plugin_op_s * globus_guc_plugin_op_t;
86 globus_guc_copy_performance_update(
87 globus_off_t total_bytes,
88 float instantaneous_throughput,
89 float avg_throughput);
92 globus_guc_transfer_update(
95 const char * src_fname,
96 const char * dst_fname);
99 globus_guc_plugin_finished(
100 globus_guc_plugin_op_t done_op,
101 globus_result_t result);
103 typedef globus_result_t
104 (*globus_guc_plugin_start_t)(
106 globus_guc_info_t * guc_info,
107 globus_guc_plugin_op_t done_op,
112 (*globus_guc_plugin_cancel_t)(
116 (*globus_guc_plugin_cleanup_t)(
119 typedef struct globus_guc_plugin_funcs_s
121 globus_guc_plugin_start_t start_func;
122 globus_guc_plugin_cancel_t cancel_func;
123 globus_guc_plugin_cleanup_t cleanup_func;
124 } globus_guc_plugin_funcs_t;
126 typedef globus_result_t
127 (*globus_guc_client_plugin_init_t)(
128 globus_ftp_client_plugin_t * plugin,
131 typedef struct globus_guc_client_plugin_funcs_s
133 globus_guc_client_plugin_init_t init_func;
134 } globus_guc_client_plugin_funcs_t;
136 extern globus_extension_registry_t globus_guc_client_plugin_registry;
137 extern globus_extension_registry_t globus_guc_plugin_registry;
139 #define GUC_PLUGIN_FUNCS "guc_funcs"