globus_gass_copy 10.13
Loading...
Searching...
No Matches
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
24#include "globus_ftp_client_plugin.h"
25#include "gssapi.h"
26
27typedef struct globus_guc_src_dst_pair_s
28{
29 char * src_url;
30 char * dst_url;
31} globus_guc_src_dst_pair_t;
32
33typedef 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
83typedef struct globus_l_guc_plugin_op_s * globus_guc_plugin_op_t;
84
85void
86globus_guc_copy_performance_update(
87 globus_off_t total_bytes,
88 float instantaneous_throughput,
89 float avg_throughput);
90
91void
92globus_guc_transfer_update(
93 const char * src_url,
94 const char * dst_url,
95 const char * src_fname,
96 const char * dst_fname);
97
98void
99globus_guc_plugin_finished(
100 globus_guc_plugin_op_t done_op,
101 globus_result_t result);
102
103typedef 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
111typedef void
112(*globus_guc_plugin_cancel_t)(
113 void * handle);
114
115typedef void
116(*globus_guc_plugin_cleanup_t)(
117 void * handle);
118
119typedef 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
126typedef globus_result_t
127(*globus_guc_client_plugin_init_t)(
128 globus_ftp_client_plugin_t * plugin,
129 char * in_args);
130
131typedef 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
136extern globus_extension_registry_t globus_guc_client_plugin_registry;
137extern globus_extension_registry_t globus_guc_plugin_registry;
138
139#define GUC_PLUGIN_FUNCS "guc_funcs"
140
141#endif
142
143