Grid Community Toolkit  6.2.1705709074 (tag: v6.2.20240202)
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
globus_url_copy.h
1 /*
2  * Copyright 1999-2006 University of Chicago
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 #ifndef GLOBUS_GLOBUS_URL_COPY_H
18 #define GLOBUS_GLOBUS_URL_COPY_H 1
19 
20 #define GLOBUS_URL_COPY_ARG_ASCII 1
21 #define GLOBUS_URL_COPY_ARG_BINARY 2
22 #define GLOBUS_URL_COPY_ARG_VERBOSE 4
23 
25 #include "gssapi.h"
26 
27 typedef struct globus_guc_src_dst_pair_s
28 {
29  char * src_url;
30  char * dst_url;
31 } globus_guc_src_dst_pair_t;
32 
33 typedef struct globus_guc_info_s
34 {
35  globus_fifo_t * user_url_list;
36 
37  char * source_subject;
38  char * dest_subject;
39  unsigned long options;
40  globus_size_t block_size;
41  globus_size_t tcp_buffer_size;
42  int num_streams;
43  int conc;
44  globus_bool_t no_3pt;
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;
50  int restart_retries;
51  int restart_interval;
52  int restart_timeout;
53  int stall_timeout;
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;
61  globus_bool_t ipv6;
62  globus_bool_t gridftp2;
63  globus_bool_t udt;
64  globus_bool_t allo;
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;
76 
77  globus_bool_t verbose;
78  globus_bool_t quiet;
79  globus_bool_t delayed_pasv;
80  globus_bool_t pipeline;
81 } globus_guc_info_t;
82 
83 typedef struct globus_l_guc_plugin_op_s * globus_guc_plugin_op_t;
84 
85 void
86 globus_guc_copy_performance_update(
87  globus_off_t total_bytes,
88  float instantaneous_throughput,
89  float avg_throughput);
90 
91 void
92 globus_guc_transfer_update(
93  const char * src_url,
94  const char * dst_url,
95  const char * src_fname,
96  const char * dst_fname);
97 
98 void
99 globus_guc_plugin_finished(
100  globus_guc_plugin_op_t done_op,
101  globus_result_t result);
102 
103 typedef globus_result_t
104 (*globus_guc_plugin_start_t)(
105  void ** handle,
106  globus_guc_info_t * guc_info,
107  globus_guc_plugin_op_t done_op,
108  int argc,
109  char ** argv);
110 
111 typedef void
112 (*globus_guc_plugin_cancel_t)(
113  void * handle);
114 
115 typedef void
116 (*globus_guc_plugin_cleanup_t)(
117  void * handle);
118 
119 typedef struct globus_guc_plugin_funcs_s
120 {
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;
125 
126 typedef globus_result_t
127 (*globus_guc_client_plugin_init_t)(
129  char * in_args);
130 
131 typedef struct globus_guc_client_plugin_funcs_s
132 {
133  globus_guc_client_plugin_init_t init_func;
134 } globus_guc_client_plugin_funcs_t;
135 
136 extern globus_extension_registry_t globus_guc_client_plugin_registry;
137 extern globus_extension_registry_t globus_guc_plugin_registry;
138 
139 #define GUC_PLUGIN_FUNCS "guc_funcs"
140 
141 #endif
142 
143 
int globus_bool_t
Boolean type.
Definition: globus_types.h:93
struct globus_fifo_s * globus_fifo_t
Definition: globus_fifo.h:48
size_t globus_size_t
Standard size of memory objectThe globus_size_t is the size of a memory object. It is identical to si...
Definition: globus_types.h:48
uint32_t globus_result_t
Definition: globus_types.h:99
Plugin Implementation.
FTP Client Plugin.Each plugin implementation should define a method for initializing one of these str...
Definition: globus_i_ftp_client.h:798