globus_url_copy.h

00001 /*
00002  * Copyright 1999-2006 University of Chicago
00003  * 
00004  * Licensed under the Apache License, Version 2.0 (the "License");
00005  * you may not use this file except in compliance with the License.
00006  * You may obtain a copy of the License at
00007  * 
00008  * http://www.apache.org/licenses/LICENSE-2.0
00009  * 
00010  * Unless required by applicable law or agreed to in writing, software
00011  * distributed under the License is distributed on an "AS IS" BASIS,
00012  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00013  * See the License for the specific language governing permissions and
00014  * limitations under the License.
00015  */
00016 
00017 #ifndef GLOBUS_GLOBUS_URL_COPY_H
00018 #define GLOBUS_GLOBUS_URL_COPY_H 1
00019 
00020 #define GLOBUS_URL_COPY_ARG_ASCII       1
00021 #define GLOBUS_URL_COPY_ARG_BINARY      2
00022 #define GLOBUS_URL_COPY_ARG_VERBOSE     4
00023 
00024 #include "globus_ftp_client_plugin.h"
00025 #include "gssapi.h"
00026 
00027 typedef struct globus_guc_src_dst_pair_s
00028 {
00029     char *                              src_url;
00030     char *                              dst_url;
00031 } globus_guc_src_dst_pair_t;
00032 
00033 typedef struct globus_guc_info_s
00034 {
00035     globus_fifo_t *                     user_url_list;
00036 
00037     char *                              source_subject;
00038     char *                              dest_subject;
00039     unsigned long                       options;
00040     globus_size_t                       block_size;
00041     globus_size_t                       tcp_buffer_size;
00042     int                                 num_streams;
00043     int                                 conc;
00044     globus_bool_t                       no_3pt;
00045     globus_bool_t                       no_dcau;
00046     globus_bool_t                       data_safe;
00047     globus_bool_t                       data_private;
00048     globus_bool_t                       cancelled;
00049     globus_bool_t                       recurse;
00050     int                                 restart_retries;
00051     int                                 restart_interval;
00052     int                                 restart_timeout;
00053     int                                 stall_timeout;
00054     globus_size_t                       stripe_bs;
00055     globus_bool_t                       striped;
00056     globus_bool_t                       rfc1738;
00057     globus_bool_t                       create_dest;
00058     globus_off_t                        partial_offset;
00059     globus_off_t                        partial_length;
00060     globus_bool_t                       list_uses_data_mode;
00061     globus_bool_t                       ipv6;
00062     globus_bool_t                       gridftp2;
00063     globus_bool_t                       udt;
00064     globus_bool_t                       allo;
00065     char *                              src_net_stack_str;
00066     char *                              src_disk_stack_str;
00067     char *                              dst_net_stack_str;
00068     char *                              dst_disk_stack_str;
00069     char *                              src_authz_assert;
00070     char *                              dst_authz_assert;
00071     globus_bool_t                       cache_src_authz_assert;
00072     globus_bool_t                       cache_dst_authz_assert;
00073     gss_cred_id_t                       src_cred;
00074     gss_cred_id_t                       dst_cred;
00075     gss_cred_id_t                       data_cred;
00076 
00077     globus_bool_t                       verbose;
00078     globus_bool_t                       quiet;
00079     globus_bool_t                       delayed_pasv;
00080     globus_bool_t                       pipeline;
00081 } globus_guc_info_t;
00082 
00083 typedef struct globus_l_guc_plugin_op_s * globus_guc_plugin_op_t;
00084 
00085 void
00086 globus_guc_copy_performance_update(
00087     globus_off_t                        total_bytes,
00088     float                               instantaneous_throughput,
00089     float                               avg_throughput);
00090 
00091 void
00092 globus_guc_transfer_update(
00093     const char *                        src_url,
00094     const char *                        dst_url,
00095     const char *                        src_fname,
00096     const char *                        dst_fname);
00097 
00098 void
00099 globus_guc_plugin_finished(
00100     globus_guc_plugin_op_t              done_op,
00101     globus_result_t                     result);
00102 
00103 typedef globus_result_t
00104 (*globus_guc_plugin_start_t)(
00105     void **                             handle,
00106     globus_guc_info_t *                 guc_info,
00107     globus_guc_plugin_op_t              done_op,
00108     int                                 argc,
00109     char **                             argv);
00110 
00111 typedef void
00112 (*globus_guc_plugin_cancel_t)(
00113     void *                              handle);
00114 
00115 typedef void
00116 (*globus_guc_plugin_cleanup_t)(
00117     void *                              handle);
00118 
00119 typedef struct globus_guc_plugin_funcs_s
00120 {
00121     globus_guc_plugin_start_t           start_func;
00122     globus_guc_plugin_cancel_t          cancel_func;
00123     globus_guc_plugin_cleanup_t         cleanup_func;
00124 } globus_guc_plugin_funcs_t;
00125 
00126 typedef globus_result_t
00127 (*globus_guc_client_plugin_init_t)(
00128     globus_ftp_client_plugin_t *        plugin,
00129     char *                              in_args);
00130     
00131 typedef struct globus_guc_client_plugin_funcs_s
00132 {   
00133     globus_guc_client_plugin_init_t     init_func;
00134 } globus_guc_client_plugin_funcs_t;
00135 
00136 extern globus_extension_registry_t      globus_guc_client_plugin_registry; 
00137 extern globus_extension_registry_t      globus_guc_plugin_registry;
00138 
00139 #define GUC_PLUGIN_FUNCS                "guc_funcs"
00140 
00141 #endif
00142 
00143 

Generated on 27 Jan 2015 for globus_gass_copy by  doxygen 1.4.7