globus_gass_copy  9.32
 All Data Structures Files Functions Variables Typedefs Enumerations Groups Pages
globus_url_copy.h
1 
2 #ifndef GLOBUS_GLOBUS_URL_COPY_H
3 #define GLOBUS_GLOBUS_URL_COPY_H 1
4 
5 #define GLOBUS_URL_COPY_ARG_ASCII 1
6 #define GLOBUS_URL_COPY_ARG_BINARY 2
7 #define GLOBUS_URL_COPY_ARG_VERBOSE 4
8 
9 #include "globus_ftp_client_plugin.h"
10 #include "gssapi.h"
11 
12 typedef struct globus_guc_src_dst_pair_s
13 {
14  char * src_url;
15  char * dst_url;
16 } globus_guc_src_dst_pair_t;
17 
18 typedef struct globus_guc_info_s
19 {
20  globus_fifo_t * user_url_list;
21 
22  char * source_subject;
23  char * dest_subject;
24  unsigned long options;
25  globus_size_t block_size;
26  globus_size_t tcp_buffer_size;
27  int num_streams;
28  int conc;
29  globus_bool_t no_3pt;
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;
35  int restart_retries;
36  int restart_interval;
37  int restart_timeout;
38  int stall_timeout;
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;
46  globus_bool_t ipv6;
47  globus_bool_t gridftp2;
48  globus_bool_t udt;
49  globus_bool_t allo;
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;
61 
62  globus_bool_t verbose;
63  globus_bool_t quiet;
64  globus_bool_t delayed_pasv;
65  globus_bool_t pipeline;
66 } globus_guc_info_t;
67 
68 typedef struct globus_l_guc_plugin_op_s * globus_guc_plugin_op_t;
69 
70 void
71 globus_guc_copy_performance_update(
72  globus_off_t total_bytes,
73  float instantaneous_throughput,
74  float avg_throughput);
75 
76 void
77 globus_guc_transfer_update(
78  const char * src_url,
79  const char * dst_url,
80  const char * src_fname,
81  const char * dst_fname);
82 
83 void
84 globus_guc_plugin_finished(
85  globus_guc_plugin_op_t done_op,
86  globus_result_t result);
87 
88 typedef globus_result_t
89 (*globus_guc_plugin_start_t)(
90  void ** handle,
91  globus_guc_info_t * guc_info,
92  globus_guc_plugin_op_t done_op,
93  int argc,
94  char ** argv);
95 
96 typedef void
97 (*globus_guc_plugin_cancel_t)(
98  void * handle);
99 
100 typedef void
101 (*globus_guc_plugin_cleanup_t)(
102  void * handle);
103 
104 typedef struct globus_guc_plugin_funcs_s
105 {
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;
110 
111 typedef globus_result_t
112 (*globus_guc_client_plugin_init_t)(
113  globus_ftp_client_plugin_t * plugin,
114  char * in_args);
115 
116 typedef struct globus_guc_client_plugin_funcs_s
117 {
118  globus_guc_client_plugin_init_t init_func;
119 } globus_guc_client_plugin_funcs_t;
120 
121 extern globus_extension_registry_t globus_guc_client_plugin_registry;
122 extern globus_extension_registry_t globus_guc_plugin_registry;
123 
124 #define GUC_PLUGIN_FUNCS "guc_funcs"
125 
126 #endif
127 
128