Grid Community Toolkit  6.2.1550507116
globus_ftp_client.h
Go to the documentation of this file.
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_FTP_CLIENT_H
18 #define GLOBUS_FTP_CLIENT_H
19 
25 #ifndef GLOBUS_GLOBAL_DOCUMENT_SET
26 
30 #endif
31 
78 #include "globus_ftp_control.h"
79 #include "globus_priority_q.h"
80 
81 #ifdef __cplusplus
82 extern "C" {
83 #endif
84 
113 #define GLOBUS_FTP_CLIENT_MODULE (&globus_i_ftp_client_module)
114 
116 
120 typedef enum
121 {
122  GLOBUS_FTP_CLIENT_ERROR_PARAMETER,
123  GLOBUS_FTP_CLIENT_ERROR_MEMORY,
124  GLOBUS_FTP_CLIENT_ERROR_ABORTED,
125  GLOBUS_FTP_CLIENT_ERROR_INTERNAL,
126  GLOBUS_FTP_CLIENT_ERROR_IN_USE,
127  GLOBUS_FTP_CLIENT_ERROR_NOT_IN_USE,
128  GLOBUS_FTP_CLIENT_ERROR_COMPLETED,
129  GLOBUS_FTP_CLIENT_ERROR_INVALID_OPERATION,
130  GLOBUS_FTP_CLIENT_ERROR_UNEXPECTED_EOF,
131  GLOBUS_FTP_CLIENT_ERROR_NO_SUCH_FILE,
132  GLOBUS_FTP_CLIENT_ERROR_PROTOCOL,
133  GLOBUS_FTP_CLIENT_ERROR_RESPONSE,
134  GLOBUS_FTP_CLIENT_ERROR_FEATURE,
135  GLOBUS_FTP_CLIENT_ERROR_NO_RESTART_MARKER
137 
146 typedef enum
147 {
148  GLOBUS_FTP_CLIENT_RESTART_NONE,
149  GLOBUS_FTP_CLIENT_RESTART_STREAM,
150  GLOBUS_FTP_CLIENT_RESTART_EXTENDED_BLOCK
151 }
153 
165 typedef struct
166 {
176  globus_off_t offset;
181  globus_off_t ascii_offset;
182 }
184 
196 typedef struct
197 {
207  globus_fifo_t ranges;
208 }
210 
224 typedef union
225 {
229 }
231 
247 
262 
283  void * user_arg,
285  globus_object_t * error);
286 
316  void * user_arg,
318  globus_object_t * error,
319  globus_byte_t * buffer,
320  globus_size_t length,
321  globus_off_t offset,
322  globus_bool_t eof);
323 
339 
350 typedef struct
366 #ifndef DOXYGEN
370 
374 
379 
383  globus_off_t offset,
384  globus_off_t end_offset);
385 
389  globus_off_t offset);
390 
394  globus_off_t offset,
395  globus_off_t ascii_offset);
396 
400  globus_off_t * total_bytes);
401 
403 globus_ftp_client_restart_marker_get_first_block(
405  globus_off_t * offset,
406  globus_off_t * end_offset);
407 
411  char ** marker_string);
412 
416  const char * marker_string);
417 #endif
418 
434 #ifndef DOXYGEN
439 
442  globus_ftp_client_handle_t * handle);
443 
445 globus_ftp_client_handle_borrow_connection(
446  globus_ftp_client_handle_t * from_handle,
447  globus_bool_t from_is_source,
448  globus_ftp_client_handle_t * to_handle,
449  globus_bool_t to_is_source);
450 
454  const char * url);
455 
459  const char * url);
460 
464  void * user_pointer);
465 
467 globus_ftp_client_handle_get_user_pointer(
468  const globus_ftp_client_handle_t * handle,
469  void ** user_pointer);
470 
472 globus_ftp_client_handle_get_restart_marker(
473  const globus_ftp_client_handle_t * handle,
475 
479  globus_ftp_client_plugin_t * plugin);
480 
484  globus_ftp_client_plugin_t * plugin);
485 
486 #endif
487 
502 #ifndef DOXYGEN
506 
510 
515 
519  const char * url);
520 
522 globus_ftp_client_handleattr_remove_cached_url(
524  const char * url);
525 
529  globus_bool_t cache_all);
530 
532 globus_ftp_client_handleattr_get_cache_all(
533  const globus_ftp_client_handleattr_t * attr,
534  globus_bool_t * cache_all);
535 
539  globus_bool_t rfc1738_url);
540 
542 globus_ftp_client_handleattr_get_rfc1738_url(
543  const globus_ftp_client_handleattr_t * attr,
544  globus_bool_t * rfc1738_url);
545 
546 typedef void (*globus_ftp_client_pipeline_callback_t)(
548  char ** source_url,
549  char ** dest_url,
550  void * user_arg);
551 
555  globus_size_t outstanding_commands,
556  globus_ftp_client_pipeline_callback_t pipeline_callback,
557  void * pipeline_arg);
558 
560 globus_ftp_client_handleattr_get_pipeline(
561  const globus_ftp_client_handleattr_t * attr,
562  globus_size_t * outstanding_commands,
563  globus_ftp_client_pipeline_callback_t * pipeline_callback,
564  void ** pipeline_arg);
565 
569  globus_bool_t gridftp2);
570 
572 globus_ftp_client_handleattr_get_gridftp2(
573  const globus_ftp_client_handleattr_t * attr,
574  globus_bool_t * gridftp2);
575 
579  globus_netlogger_handle_t * nl_handle);
580 
584  const char * app_name,
585  const char * app_version,
586  const char * other);
587 
589 globus_ftp_client_handleattr_get_clientinfo(
591  char ** app_name,
592  char ** app_version,
593  char ** other);
594 
596 globus_ftp_client_handleattr_set_netlogger_ftp_io(
598  globus_netlogger_handle_t * nl_handle,
599  globus_bool_t ftp,
600  globus_bool_t io);
601 
603 globus_ftp_client_handleattr_remove_plugin(
605  globus_ftp_client_plugin_t * plugin);
606 
610  globus_ftp_client_plugin_t * plugin);
611 #endif
612 
623 #ifndef DOXYGEN
624 
627  globus_ftp_client_handle_t * u_handle,
628  const char * url,
629  int mode,
631  globus_ftp_client_complete_callback_t complete_callback,
632  void * callback_arg);
633 
636  globus_ftp_client_handle_t * u_handle,
637  const char * url,
638  const char * group,
640  globus_ftp_client_complete_callback_t complete_callback,
641  void * callback_arg);
642 
645  globus_ftp_client_handle_t * u_handle,
646  const char * url,
647  const struct tm * utime_time,
649  globus_ftp_client_complete_callback_t complete_callback,
650  void * callback_arg);
651 
654  globus_ftp_client_handle_t * u_handle,
655  const char * url,
656  const char * link_url,
658  globus_ftp_client_complete_callback_t complete_callback,
659  void * callback_arg);
660 
664  const char * url,
666  char * cksm,
667  globus_off_t offset,
668  globus_off_t length,
669  const char * algorithm,
670  globus_ftp_client_complete_callback_t complete_callback,
671  void * callback_arg);
672 
676  const char * url,
678  globus_ftp_client_complete_callback_t complete_callback,
679  void * callback_arg);
680 
684  const char * url,
686  globus_ftp_client_complete_callback_t complete_callback,
687  void * callback_arg);
688 
692  const char * url,
694  globus_ftp_client_complete_callback_t complete_callback,
695  void * callback_arg);
696 
700  const char * url,
702  globus_ftp_client_complete_callback_t complete_callback,
703  void * callback_arg);
704 
708  const char * url,
710  globus_ftp_client_complete_callback_t complete_callback,
711  void * callback_arg);
712 
716  const char * url,
718  globus_ftp_client_complete_callback_t complete_callback,
719  void * callback_arg);
720 
724  const char * url,
726  globus_ftp_client_complete_callback_t complete_callback,
727  void * callback_arg);
728 
731  globus_ftp_client_handle_t * u_handle,
732  const char * url,
734  globus_byte_t ** mlst_buffer,
735  globus_size_t * mlst_buffer_length,
736  globus_ftp_client_complete_callback_t complete_callback,
737  void * callback_arg);
738 
741  globus_ftp_client_handle_t * u_handle,
742  const char * url,
744  globus_byte_t ** cwd_buffer,
745  globus_size_t * cwd_buffer_length,
746  globus_ftp_client_complete_callback_t complete_callback,
747  void * callback_arg);
748 
751  globus_ftp_client_handle_t * u_handle,
752  const char * url,
754  globus_byte_t ** stat_buffer,
755  globus_size_t * stat_buffer_length,
756  globus_ftp_client_complete_callback_t complete_callback,
757  void * callback_arg);
758 
762  const char * source_url,
763  const char * dest_url,
765  globus_ftp_client_complete_callback_t complete_callback,
766  void * callback_arg);
767 
771  const char * url,
774  globus_ftp_client_complete_callback_t complete_callback,
775  void * callback_arg);
776 
780  const char * url,
783  globus_ftp_client_complete_callback_t complete_callback,
784  void * callback_arg);
785 
789  const char * source_url,
790  globus_ftp_client_operationattr_t * source_attr,
791  const char * dest_url,
794  globus_ftp_client_complete_callback_t complete_callback,
795  void * callback_arg);
796 
800  const char * url,
803  globus_off_t partial_offset,
804  globus_off_t partial_end_offset,
805  globus_ftp_client_complete_callback_t complete_callback,
806  void * callback_arg);
807 
811  const char * url,
814  globus_off_t partial_offset,
815  globus_off_t partial_end_offset,
816  globus_ftp_client_complete_callback_t complete_callback,
817  void * callback_arg);
818 
822  const char * source_url,
823  globus_ftp_client_operationattr_t * source_attr,
824  const char * dest_url,
827  globus_off_t partial_offset,
828  globus_off_t partial_end_offset,
829  globus_ftp_client_complete_callback_t complete_callback,
830  void * callback_arg);
831 
835  const char * url,
838  const char * eret_alg_str,
839  globus_ftp_client_complete_callback_t complete_callback,
840  void * callback_arg);
841 
845  const char * url,
848  const char * esto_alg_str,
849  globus_ftp_client_complete_callback_t complete_callback,
850  void * callback_arg);
851 
855  const char * source_url,
856  globus_ftp_client_operationattr_t * source_attr,
857  const char * eret_alg_str,
858  const char * dest_url,
860  const char * esto_alg_str,
862  globus_ftp_client_complete_callback_t complete_callback,
863  void * callback_arg);
864 
867  globus_ftp_client_handle_t * handle);
868 
872  const char * url,
874  globus_abstime_t * modification_time,
875  globus_ftp_client_complete_callback_t complete_callback,
876  void * callback_arg);
877 
881  const char * url,
883  globus_off_t * size,
884  globus_ftp_client_complete_callback_t complete_callback,
885  void * callback_arg);
886 
890  const char * url,
892  globus_ftp_client_complete_callback_t complete_callback,
893  void * callback_arg);
894 #endif
895 
905 #ifndef DOXYGEN
909 
913 
917  const globus_ftp_control_parallelism_t * parallelism);
918 
920 globus_ftp_client_operationattr_get_parallelism(
922  globus_ftp_control_parallelism_t * parallelism);
923 
927  const char * module_name,
928  const char * module_args);
929 
931 globus_ftp_client_operationattr_get_storage_module(
933  char ** module_name,
934  char ** module_args);
935 
939  const char * driver_list);
940 
942 globus_ftp_client_operationattr_get_net_stack(
944  char ** driver_list);
945 
949  const char * driver_list);
950 
952 globus_ftp_client_operationattr_get_disk_stack(
954  char ** driver_list);
955 
959  const char * authz_assert,
960  globus_bool_t cache_authz_assert);
961 
963 globus_ftp_client_operationattr_get_authz_assert(
965  char ** authz_assert,
966  globus_bool_t * cache_authz_assert);
967 
971  globus_bool_t striped);
972 
974 globus_ftp_client_operationattr_get_striped(
976  globus_bool_t * striped);
977 
981  const globus_ftp_control_layout_t * layout);
982 
984 globus_ftp_client_operationattr_get_layout(
986  globus_ftp_control_layout_t * layout);
987 
991  const globus_ftp_control_tcpbuffer_t * tcp_buffer);
992 
994 globus_ftp_client_operationattr_get_tcp_buffer(
996  globus_ftp_control_tcpbuffer_t * tcp_buffer);
997 
1002 
1004 globus_ftp_client_operationattr_get_type(
1005  const globus_ftp_client_operationattr_t * attr,
1006  globus_ftp_control_type_t * type);
1007 
1012 
1014 globus_ftp_client_operationattr_get_mode(
1015  const globus_ftp_client_operationattr_t * attr,
1016  globus_ftp_control_mode_t * mode);
1017 
1020  const globus_ftp_client_operationattr_t * attr,
1021  globus_bool_t list_uses_data_mode);
1022 
1024 globus_ftp_client_operationattr_get_list_uses_data_mode(
1025  const globus_ftp_client_operationattr_t * attr,
1026  globus_bool_t * list_uses_data_mode);
1027 
1030  const globus_ftp_client_operationattr_t * attr,
1031  globus_bool_t delayed_pasv);
1032 
1034 globus_ftp_client_operationattr_get_delayed_pasv(
1035  const globus_ftp_client_operationattr_t * attr,
1036  globus_bool_t * delayed_pasv);
1037 
1041  const globus_ftp_control_dcau_t * dcau);
1042 
1044 globus_ftp_client_operationattr_get_dcau(
1045  const globus_ftp_client_operationattr_t * attr,
1046  globus_ftp_control_dcau_t * dcau);
1047 
1051  globus_ftp_control_protection_t protection);
1052 
1054 globus_ftp_client_operationattr_get_data_protection(
1055  const globus_ftp_client_operationattr_t * attr,
1056  globus_ftp_control_protection_t * protection);
1057 
1061  globus_ftp_control_protection_t protection);
1062 
1064 globus_ftp_client_operationattr_get_control_protection(
1065  const globus_ftp_client_operationattr_t * attr,
1066  globus_ftp_control_protection_t * protection);
1067 
1071  int type,
1072  void * credential);
1073 
1075 globus_ftp_client_operationattr_get_data_security(
1076  const globus_ftp_client_operationattr_t * attr,
1077  int * type,
1078  void ** credential);
1079 
1081 globus_ftp_client_operationattr_set_resume_third_party_transfer(
1083  globus_bool_t resume);
1084 
1086 globus_ftp_client_operationattr_get_resume_third_party_transfer(
1087  const globus_ftp_client_operationattr_t * attr,
1088  globus_bool_t * resume);
1089 
1093  gss_cred_id_t credential,
1094  const char * user,
1095  const char * password,
1096  const char * account,
1097  const char * subject);
1098 
1100 globus_ftp_client_operationattr_get_authorization(
1101  const globus_ftp_client_operationattr_t * attr,
1102  gss_cred_id_t * credential,
1103  char ** user,
1104  char ** password,
1105  char ** account,
1106  char ** subject);
1107 
1111  globus_bool_t append);
1112 
1114 globus_ftp_client_operationattr_get_append(
1115  const globus_ftp_client_operationattr_t * attr,
1116  globus_bool_t * append);
1117 
1121  globus_bool_t read_all,
1122  globus_ftp_client_data_callback_t intermediate_callbacks,
1123  void * intermediate_callback_arg);
1124 
1126 globus_ftp_client_operationattr_get_read_all(
1127  const globus_ftp_client_operationattr_t * attr,
1128  globus_bool_t * read_all,
1129  globus_ftp_client_data_callback_t * intermediate_callbacks,
1130  void ** intermediate_callback_arg);
1131 
1135  globus_bool_t allow);
1136 
1138 globus_ftp_client_operationattr_get_allow_ipv6(
1139  const globus_ftp_client_operationattr_t * attr,
1140  globus_bool_t * allow);
1141 
1145  const globus_off_t allocated_size);
1146 
1148 globus_ftp_client_operationattr_get_allocate(
1149  const globus_ftp_client_operationattr_t * attr,
1150  globus_off_t * allocated_size);
1151 
1155  const globus_ftp_client_operationattr_t * src);
1156 
1158 globus_ftp_client_operationattr_set_rfc1738_url(
1160  globus_bool_t rfc1738_url);
1161 
1163 globus_ftp_client_operationattr_get_rfc1738_url(
1164  const globus_ftp_client_operationattr_t * attr,
1165  globus_bool_t * rfc1738_url);
1166 #endif
1167 
1190 #ifndef DOXYGEN
1193  globus_ftp_client_handle_t * handle,
1194  globus_byte_t * buffer,
1195  globus_size_t buffer_length,
1197  void * callback_arg);
1198 
1201  globus_ftp_client_handle_t * handle,
1202  globus_byte_t * buffer,
1203  globus_size_t buffer_length,
1204  globus_off_t offset,
1205  globus_bool_t eof,
1207  void * callback_arg);
1208 #endif
1209 
1216 typedef enum
1217 {
1218  GLOBUS_FTP_CLIENT_FALSE = GLOBUS_FALSE,
1219  GLOBUS_FTP_CLIENT_TRUE = GLOBUS_TRUE,
1220  GLOBUS_FTP_CLIENT_MAYBE
1221 }
1223 
1228 typedef enum
1229 {
1230  /* Buffer-size setting commands; keep these at the beginning of
1231  * the enum
1232  */
1233  GLOBUS_FTP_CLIENT_FEATURE_RETRBUFSIZE = 0,
1234  GLOBUS_FTP_CLIENT_FEATURE_RBUFSZ,
1235  GLOBUS_FTP_CLIENT_FEATURE_RBUFSIZ,
1236  GLOBUS_FTP_CLIENT_FEATURE_STORBUFSIZE,
1237  GLOBUS_FTP_CLIENT_FEATURE_SBUSSZ,
1238  GLOBUS_FTP_CLIENT_FEATURE_SBUFSIZ,
1239  GLOBUS_FTP_CLIENT_FEATURE_BUFSIZE,
1240  GLOBUS_FTP_CLIENT_FEATURE_SBUF,
1241  GLOBUS_FTP_CLIENT_FEATURE_ABUF,
1242 
1243  GLOBUS_FTP_CLIENT_FEATURE_REST_STREAM,
1244  GLOBUS_FTP_CLIENT_FEATURE_PARALLELISM,
1245  GLOBUS_FTP_CLIENT_FEATURE_DCAU,
1246  GLOBUS_FTP_CLIENT_FEATURE_DCSC,
1247  GLOBUS_FTP_CLIENT_FEATURE_ESTO,
1248  GLOBUS_FTP_CLIENT_FEATURE_ERET,
1249  GLOBUS_FTP_CLIENT_FEATURE_SIZE,
1250  GLOBUS_FTP_CLIENT_FEATURE_CKSM,
1251  GLOBUS_FTP_CLIENT_FEATURE_CHMOD,
1252  GLOBUS_FTP_CLIENT_FEATURE_AUTHZ_ASSERT,
1253  GLOBUS_FTP_CLIENT_FEATURE_CLIENTINFO,
1254  GLOBUS_FTP_CLIENT_FEATURE_SITE_SETNETSTACK,
1255  GLOBUS_FTP_CLIENT_FEATURE_DELAYED_PASV,
1256  GLOBUS_FTP_CLIENT_FEATURE_GETPUT,
1257  GLOBUS_FTP_CLIENT_FEATURE_MLST,
1258  GLOBUS_FTP_CLIENT_FEATURE_CHGRP,
1259  GLOBUS_FTP_CLIENT_FEATURE_UTIME,
1260  GLOBUS_FTP_CLIENT_FEATURE_SYMLINK,
1261  GLOBUS_FTP_CLIENT_FEATURE_MAX,
1262  GLOBUS_FTP_CLIENT_LAST_BUFFER_COMMAND = GLOBUS_FTP_CLIENT_FEATURE_ABUF,
1263  GLOBUS_FTP_CLIENT_FIRST_FEAT_FEATURE = GLOBUS_FTP_CLIENT_FEATURE_SBUF,
1264  GLOBUS_FTP_CLIENT_LAST_FEAT_FEATURE = GLOBUS_FTP_CLIENT_FEATURE_MLST
1265 }
1277 #ifndef DOXYGEN
1278 
1281  globus_ftp_client_handle_t * u_handle,
1282  char * url,
1284  globus_ftp_client_features_t * u_features,
1285  globus_ftp_client_complete_callback_t complete_callback,
1286  void * callback_arg);
1287 
1290  const globus_ftp_client_features_t * u_features,
1292  const globus_ftp_client_probed_feature_t feature);
1293 
1298 
1310 int
1311 globus_error_ftp_error_get_code(
1312  globus_object_t * error);
1313 
1314 #define GLOBUS_ERROR_TYPE_FTP (&GLOBUS_ERROR_TYPE_FTP_DEFINITION)
1315 extern const globus_object_type_t GLOBUS_ERROR_TYPE_FTP_DEFINITION;
1316 
1317 #endif
1318 EXTERN_C_END
1319 
1320 #endif /* GLOBUS_FTP_CLIENT_H */
globus_result_t globus_ftp_client_get(globus_ftp_client_handle_t *handle, const char *url, globus_ftp_client_operationattr_t *attr, globus_ftp_client_restart_marker_t *restart, globus_ftp_client_complete_callback_t complete_callback, void *callback_arg)
Definition: globus_ftp_client_transfer.c:3215
globus_result_t globus_ftp_client_handleattr_add_cached_url(globus_ftp_client_handleattr_t *attr, const char *url)
Definition: globus_ftp_client_attr.c:872
globus_result_t globus_ftp_client_operationattr_set_control_protection(globus_ftp_client_operationattr_t *attr, globus_ftp_control_protection_t protection)
Definition: globus_ftp_client_attr.c:3322
globus_ftp_client_restart_type_t
Definition: globus_ftp_client.h:146
GridFTP Control Connection API.
struct globus_i_ftp_client_features_s * globus_ftp_client_features_t
Feature HandleHandle used to associate state with feature operations.
Definition: globus_ftp_client.h:1276
#define GLOBUS_TRUE
True value for globus_bool_t.
Definition: globus_types.h:107
globus_result_t globus_ftp_client_mlst(globus_ftp_client_handle_t *u_handle, const char *url, globus_ftp_client_operationattr_t *attr, globus_byte_t **mlst_buffer, globus_size_t *mlst_buffer_length, globus_ftp_client_complete_callback_t complete_callback, void *callback_arg)
Definition: globus_ftp_client_transfer.c:1638
globus_result_t globus_ftp_client_symlink(globus_ftp_client_handle_t *u_handle, const char *source_url, const char *link_url, globus_ftp_client_operationattr_t *attr, globus_ftp_client_complete_callback_t complete_callback, void *callback_arg)
Definition: globus_ftp_client_transfer.c:2923
globus_result_t globus_ftp_client_handleattr_set_clientinfo(globus_ftp_client_handleattr_t *attr, const char *app_name, const char *app_version, const char *other)
Definition: globus_ftp_client_attr.c:593
enum globus_ftp_control_mode_e globus_ftp_control_mode_t
GridFTP MODE values.
globus_result_t globus_ftp_client_operationattr_set_tcp_buffer(globus_ftp_client_operationattr_t *attr, const globus_ftp_control_tcpbuffer_t *tcp_buffer)
Definition: globus_ftp_client_attr.c:2211
globus_result_t globus_ftp_client_operationattr_set_layout(globus_ftp_client_operationattr_t *attr, const globus_ftp_control_layout_t *layout)
Definition: globus_ftp_client_attr.c:2096
void(* globus_ftp_client_complete_callback_t)(void *user_arg, globus_ftp_client_handle_t *handle, globus_object_t *error)
Definition: globus_ftp_client.h:282
globus_result_t globus_ftp_client_operationattr_set_striped(globus_ftp_client_operationattr_t *attr, globus_bool_t striped)
Definition: globus_ftp_client_attr.c:2003
FTP Client handle implementation.
Definition: globus_i_ftp_client.h:522
globus_result_t globus_ftp_client_operationattr_set_append(globus_ftp_client_operationattr_t *attr, globus_bool_t append)
Definition: globus_ftp_client_attr.c:3418
Handle attributes.
Definition: globus_i_ftp_client.h:193
FTP server features we are interested in.
Definition: globus_i_ftp_client.h:436
globus_result_t globus_ftp_client_operationattr_set_delayed_pasv(const globus_ftp_client_operationattr_t *attr, globus_bool_t delayed_pasv)
Definition: globus_ftp_client_attr.c:2582
Control DCAU union.
Definition: globus_ftp_control.h:172
struct globus_i_ftp_client_operationattr_t * globus_ftp_client_operationattr_t
Operation Attributes.FTP Client attributes are used to control the parameters needed to access an URL...
Definition: globus_ftp_client.h:337
globus_ftp_client_error_t
Definition: globus_ftp_client.h:120
globus_result_t globus_ftp_client_operationattr_set_storage_module(globus_ftp_client_operationattr_t *attr, const char *module_name, const char *module_args)
Definition: globus_ftp_client_attr.c:1367
globus_result_t globus_ftp_client_list(globus_ftp_client_handle_t *u_handle, const char *url, globus_ftp_client_operationattr_t *attr, globus_ftp_client_complete_callback_t complete_callback, void *callback_arg)
Definition: globus_ftp_client_transfer.c:1129
globus_result_t globus_ftp_client_utime(globus_ftp_client_handle_t *u_handle, const char *url, const struct tm *utime_time, globus_ftp_client_operationattr_t *attr, globus_ftp_client_complete_callback_t complete_callback, void *callback_arg)
Definition: globus_ftp_client_transfer.c:2676
globus_result_t globus_ftp_client_extended_third_party_transfer(globus_ftp_client_handle_t *handle, const char *source_url, globus_ftp_client_operationattr_t *source_attr, const char *eret_alg_str, const char *dest_url, globus_ftp_client_operationattr_t *dest_attr, const char *esto_alg_str, globus_ftp_client_restart_marker_t *restart, globus_ftp_client_complete_callback_t complete_callback, void *callback_arg)
Definition: globus_ftp_client_transfer.c:4466
int globus_bool_t
Boolean type.
Definition: globus_types.h:93
globus_result_t globus_ftp_client_restart_marker_set_ascii_offset(globus_ftp_client_restart_marker_t *marker, globus_off_t offset, globus_off_t ascii_offset)
Definition: globus_ftp_client_restart_marker.c:354
globus_result_t globus_ftp_client_operationattr_set_type(globus_ftp_client_operationattr_t *attr, globus_ftp_control_type_t type)
Definition: globus_ftp_client_attr.c:2311
globus_result_t globus_ftp_client_operationattr_set_net_stack(globus_ftp_client_operationattr_t *attr, const char *driver_list)
Definition: globus_ftp_client_attr.c:1498
struct globus_fifo_s * globus_fifo_t
Definition: globus_fifo.h:48
globus_result_t globus_ftp_client_handle_init(globus_ftp_client_handle_t *handle, globus_ftp_client_handleattr_t *attr)
Definition: globus_ftp_client_handle.c:243
globus_result_t globus_ftp_client_register_read(globus_ftp_client_handle_t *handle, globus_byte_t *buffer, globus_size_t buffer_length, globus_ftp_client_data_callback_t callback, void *callback_arg)
Definition: globus_ftp_client_data.c:122
globus_ftp_client_tristate_t
Definition: globus_ftp_client.h:1216
globus_result_t globus_ftp_client_partial_put(globus_ftp_client_handle_t *handle, const char *url, globus_ftp_client_operationattr_t *attr, globus_ftp_client_restart_marker_t *restart, globus_off_t partial_offset, globus_off_t partial_end_offset, globus_ftp_client_complete_callback_t complete_callback, void *callback_arg)
Definition: globus_ftp_client_transfer.c:3835
globus_result_t globus_ftp_client_operationattr_init(globus_ftp_client_operationattr_t *attr)
Definition: globus_ftp_client_attr.c:1147
globus_ftp_client_probed_feature_t
Definition: globus_ftp_client.h:1228
globus_result_t globus_ftp_client_chmod(globus_ftp_client_handle_t *u_handle, const char *url, int mode, globus_ftp_client_operationattr_t *attr, globus_ftp_client_complete_callback_t complete_callback, void *callback_arg)
Definition: globus_ftp_client_transfer.c:2186
globus_result_t globus_ftp_client_partial_get(globus_ftp_client_handle_t *handle, const char *url, globus_ftp_client_operationattr_t *attr, globus_ftp_client_restart_marker_t *restart, globus_off_t partial_offset, globus_off_t partial_end_offset, globus_ftp_client_complete_callback_t complete_callback, void *callback_arg)
Definition: globus_ftp_client_transfer.c:3286
globus_result_t globus_ftp_client_move(globus_ftp_client_handle_t *u_handle, const char *source_url, const char *dest_url, globus_ftp_client_operationattr_t *attr, globus_ftp_client_complete_callback_t complete_callback, void *callback_arg)
Definition: globus_ftp_client_transfer.c:1896
Control tcpbuffer attribute structure.
Definition: globus_ftp_control.h:383
Control striping attribute union.
Definition: globus_ftp_control.h:210
globus_result_t globus_ftp_client_operationattr_set_dcau(globus_ftp_client_operationattr_t *attr, const globus_ftp_control_dcau_t *dcau)
Definition: globus_ftp_client_attr.c:2988
globus_result_t globus_ftp_client_operationattr_set_data_security(globus_ftp_client_operationattr_t *attr, int type, void *credential)
Definition: globus_ftp_client_attr.c:3171
globus_result_t globus_ftp_client_operationattr_set_allocate(globus_ftp_client_operationattr_t *attr, const globus_off_t allocated_size)
Definition: globus_ftp_client_attr.c:1809
globus_result_t globus_ftp_client_restart_marker_set_offset(globus_ftp_client_restart_marker_t *marker, globus_off_t offset)
Definition: globus_ftp_client_restart_marker.c:409
globus_result_t globus_ftp_client_handleattr_set_pipeline(globus_ftp_client_handleattr_t *attr, globus_size_t outstanding_commands, globus_ftp_client_pipeline_callback_t pipeline_callback, void *pipeline_arg)
Definition: globus_ftp_client_attr.c:781
globus_module_descriptor_t globus_i_ftp_client_module
Definition: globus_ftp_client.c:94
globus_result_t globus_ftp_client_features_destroy(globus_ftp_client_features_t *u_features)
Definition: globus_ftp_client_feature.c:113
The globus_i_ftp_client_operationattr_t is a pointer to this structure type.
Definition: globus_i_ftp_client.h:131
globus_result_t globus_ftp_client_operationattr_set_list_uses_data_mode(const globus_ftp_client_operationattr_t *attr, globus_bool_t list_uses_data_mode)
Definition: globus_ftp_client_attr.c:2513
globus_result_t globus_ftp_client_restart_marker_copy(globus_ftp_client_restart_marker_t *new_marker, globus_ftp_client_restart_marker_t *marker)
Definition: globus_ftp_client_restart_marker.c:69
globus_result_t globus_ftp_client_restart_marker_from_string(globus_ftp_client_restart_marker_t *marker, const char *marker_string)
Definition: globus_ftp_client_restart_marker.c:708
globus_result_t globus_ftp_client_stat(globus_ftp_client_handle_t *u_handle, const char *url, globus_ftp_client_operationattr_t *attr, globus_byte_t **stat_buffer, globus_size_t *stat_buffer_length, globus_ftp_client_complete_callback_t complete_callback, void *callback_arg)
Definition: globus_ftp_client_transfer.c:1256
globus_result_t globus_ftp_client_modification_time(globus_ftp_client_handle_t *u_handle, const char *url, globus_ftp_client_operationattr_t *attr, globus_abstime_t *modification_time, globus_ftp_client_complete_callback_t complete_callback, void *callback_arg)
Definition: globus_ftp_client_transfer.c:4905
struct globus_i_ftp_client_handleattr_t * globus_ftp_client_handleattr_t
Handle Attributes.Handle attributes are used to control the caching behavior of the ftp client handle...
Definition: globus_ftp_client.h:350
globus_result_t globus_ftp_client_operationattr_set_allow_ipv6(globus_ftp_client_operationattr_t *attr, globus_bool_t allow_ipv6)
Definition: globus_ftp_client_attr.c:3502
globus_result_t globus_ftp_client_handle_add_plugin(globus_ftp_client_handle_t *handle, globus_ftp_client_plugin_t *plugin)
Definition: globus_ftp_client_handle.c:695
globus_result_t globus_ftp_client_handleattr_set_rfc1738_url(globus_ftp_client_handleattr_t *attr, globus_bool_t rfc1738_url)
Definition: globus_ftp_client_attr.c:512
globus_result_t globus_ftp_client_operationattr_set_parallelism(globus_ftp_client_operationattr_t *attr, const globus_ftp_control_parallelism_t *parallelism)
Definition: globus_ftp_client_attr.c:1710
globus_result_t globus_ftp_client_restart_marker_destroy(globus_ftp_client_restart_marker_t *marker)
Definition: globus_ftp_client_restart_marker.c:141
Stream mode restart marker.
Definition: globus_ftp_client.h:165
globus_result_t globus_ftp_client_operationattr_set_mode(globus_ftp_client_operationattr_t *attr, globus_ftp_control_mode_t mode)
Definition: globus_ftp_client_attr.c:2415
globus_result_t globus_ftp_client_size(globus_ftp_client_handle_t *u_handle, const char *url, globus_ftp_client_operationattr_t *attr, globus_off_t *size, globus_ftp_client_complete_callback_t complete_callback, void *callback_arg)
Definition: globus_ftp_client_transfer.c:5155
globus_result_t globus_ftp_client_handleattr_copy(globus_ftp_client_handleattr_t *dest, globus_ftp_client_handleattr_t *src)
Definition: globus_ftp_client_attr.c:378
globus_result_t globus_ftp_client_restart_marker_insert_range(globus_ftp_client_restart_marker_t *marker, globus_off_t offset, globus_off_t end_offset)
Definition: globus_ftp_client_restart_marker.c:206
globus_result_t globus_ftp_client_register_write(globus_ftp_client_handle_t *handle, globus_byte_t *buffer, globus_size_t buffer_length, globus_off_t offset, globus_bool_t eof, globus_ftp_client_data_callback_t callback, void *callback_arg)
Definition: globus_ftp_client_data.c:337
globus_result_t globus_ftp_client_handle_destroy(globus_ftp_client_handle_t *handle)
Definition: globus_ftp_client_handle.c:365
globus_result_t globus_ftp_client_operationattr_set_authorization(globus_ftp_client_operationattr_t *attr, gss_cred_id_t credential, const char *user, const char *password, const char *account, const char *subject)
Definition: globus_ftp_client_attr.c:2756
globus_result_t globus_ftp_client_handleattr_set_gridftp2(globus_ftp_client_handleattr_t *attr, globus_bool_t gridftp2)
Definition: globus_ftp_client_attr.c:702
Priority Queue.
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
globus_result_t globus_ftp_client_extended_put(globus_ftp_client_handle_t *handle, const char *url, globus_ftp_client_operationattr_t *attr, globus_ftp_client_restart_marker_t *restart, const char *esto_alg_str, globus_ftp_client_complete_callback_t complete_callback, void *callback_arg)
Definition: globus_ftp_client_transfer.c:3908
globus_result_t globus_ftp_client_restart_marker_to_string(globus_ftp_client_restart_marker_t *marker, char **marker_string)
Definition: globus_ftp_client_restart_marker.c:571
enum globus_ftp_control_type_e globus_ftp_control_type_t
GridFTP TYPE values.
unsigned char globus_byte_t
Unsigned byte datatypeThis is used for byte-addressable arrays of arbitrary data which is not subject...
Definition: globus_types.h:85
globus_result_t globus_ftp_client_handleattr_add_plugin(globus_ftp_client_handleattr_t *attr, globus_ftp_client_plugin_t *plugin)
Definition: globus_ftp_client_attr.c:1004
globus_result_t globus_ftp_client_operationattr_destroy(globus_ftp_client_operationattr_t *attr)
Definition: globus_ftp_client_attr.c:1252
globus_result_t globus_ftp_client_exists(globus_ftp_client_handle_t *u_handle, const char *url, globus_ftp_client_operationattr_t *attr, globus_ftp_client_complete_callback_t complete_callback, void *callback_arg)
Definition: globus_ftp_client_exists.c:174
globus_result_t globus_ftp_client_restart_marker_get_total(globus_ftp_client_restart_marker_t *marker, globus_off_t *total_bytes)
Definition: globus_ftp_client_restart_marker.c:452
globus_result_t globus_ftp_client_abort(globus_ftp_client_handle_t *u_handle)
Definition: globus_ftp_client_transfer.c:5638
globus_result_t globus_ftp_client_put(globus_ftp_client_handle_t *handle, const char *url, globus_ftp_client_operationattr_t *attr, globus_ftp_client_restart_marker_t *restart, globus_ftp_client_complete_callback_t complete_callback, void *callback_arg)
Definition: globus_ftp_client_transfer.c:3772
globus_result_t globus_ftp_client_handleattr_set_netlogger(globus_ftp_client_handleattr_t *attr, globus_netlogger_handle_t *nl_handle)
Definition: globus_ftp_client_attr.c:938
uint32_t globus_result_t
Definition: globus_types.h:99
globus_result_t globus_ftp_client_operationattr_set_data_protection(globus_ftp_client_operationattr_t *attr, globus_ftp_control_protection_t protection)
Definition: globus_ftp_client_attr.c:3097
globus_result_t globus_ftp_client_handle_set_user_pointer(globus_ftp_client_handle_t *handle, void *user_pointer)
Definition: globus_ftp_client_handle.c:559
struct globus_i_ftp_client_handle_t * globus_ftp_client_handle_t
FTP Client Handle.An FTP client handle is used to associate state with a group of operations...
Definition: globus_ftp_client.h:246
globus_result_t globus_ftp_client_handle_remove_plugin(globus_ftp_client_handle_t *handle, globus_ftp_client_plugin_t *plugin)
Definition: globus_ftp_client_handle.c:818
globus_result_t globus_ftp_client_recursive_list(globus_ftp_client_handle_t *u_handle, const char *url, globus_ftp_client_operationattr_t *attr, globus_ftp_client_complete_callback_t complete_callback, void *callback_arg)
Definition: globus_ftp_client_transfer.c:1568
globus_result_t globus_ftp_client_cksm(globus_ftp_client_handle_t *u_handle, const char *url, globus_ftp_client_operationattr_t *attr, char *cksm, globus_off_t offset, globus_off_t length, const char *algorithm, globus_ftp_client_complete_callback_t complete_callback, void *callback_arg)
Definition: globus_ftp_client_transfer.c:5409
void(* globus_ftp_client_data_callback_t)(void *user_arg, globus_ftp_client_handle_t *handle, globus_object_t *error, globus_byte_t *buffer, globus_size_t length, globus_off_t offset, globus_bool_t eof)
Definition: globus_ftp_client.h:315
globus_result_t globus_ftp_client_cwd(globus_ftp_client_handle_t *u_handle, const char *url, globus_ftp_client_operationattr_t *attr, globus_byte_t **cwd_buffer, globus_size_t *cwd_buffer_length, globus_ftp_client_complete_callback_t complete_callback, void *callback_arg)
Definition: globus_ftp_client_transfer.c:643
globus_result_t globus_ftp_client_machine_list(globus_ftp_client_handle_t *u_handle, const char *url, globus_ftp_client_operationattr_t *attr, globus_ftp_client_complete_callback_t complete_callback, void *callback_arg)
Definition: globus_ftp_client_transfer.c:1510
struct globus_i_ftp_client_plugin_t * globus_ftp_client_plugin_t
FTP Client pluginAn FTP Client plugin is used to add restart, monitoring, and performance tuning oper...
Definition: globus_ftp_client.h:261
globus_result_t globus_ftp_client_chgrp(globus_ftp_client_handle_t *u_handle, const char *url, const char *group, globus_ftp_client_operationattr_t *attr, globus_ftp_client_complete_callback_t complete_callback, void *callback_arg)
Definition: globus_ftp_client_transfer.c:2424
globus_result_t globus_ftp_client_verbose_list(globus_ftp_client_handle_t *u_handle, const char *url, globus_ftp_client_operationattr_t *attr, globus_ftp_client_complete_callback_t complete_callback, void *callback_arg)
Definition: globus_ftp_client_transfer.c:1187
globus_result_t globus_ftp_client_mkdir(globus_ftp_client_handle_t *u_handle, const char *url, globus_ftp_client_operationattr_t *attr, globus_ftp_client_complete_callback_t complete_callback, void *callback_arg)
Definition: globus_ftp_client_transfer.c:171
globus_result_t globus_ftp_client_operationattr_copy(globus_ftp_client_operationattr_t *dst, const globus_ftp_client_operationattr_t *src)
Definition: globus_ftp_client_attr.c:3693
globus_result_t globus_ftp_client_delete(globus_ftp_client_handle_t *u_handle, const char *url, globus_ftp_client_operationattr_t *attr, globus_ftp_client_complete_callback_t complete_callback, void *callback_arg)
Definition: globus_ftp_client_transfer.c:893
globus_result_t globus_ftp_client_handleattr_set_cache_all(globus_ftp_client_handleattr_t *attr, globus_bool_t cache_all)
Definition: globus_ftp_client_attr.c:440
globus_result_t globus_ftp_client_operationattr_set_disk_stack(globus_ftp_client_operationattr_t *attr, const char *driver_list)
Definition: globus_ftp_client_attr.c:1600
FTP Client Plugin.Each plugin implementation should define a method for initializing one of these str...
Definition: globus_i_ftp_client.h:798
#define GLOBUS_FALSE
False value for globus_bool_t.
Definition: globus_types.h:112
globus_result_t globus_ftp_client_handle_cache_url_state(globus_ftp_client_handle_t *handle, const char *url)
Definition: globus_ftp_client_handle.c:450
globus_result_t globus_ftp_client_features_init(globus_ftp_client_features_t *u_features)
Definition: globus_ftp_client_feature.c:90
globus_result_t globus_ftp_client_partial_third_party_transfer(globus_ftp_client_handle_t *handle, const char *source_url, globus_ftp_client_operationattr_t *source_attr, const char *dest_url, globus_ftp_client_operationattr_t *dest_attr, globus_ftp_client_restart_marker_t *restart, globus_off_t partial_offset, globus_off_t partial_end_offset, globus_ftp_client_complete_callback_t complete_callback, void *callback_arg)
Definition: globus_ftp_client_transfer.c:4310
Restart marker.This structure is may be either a stream mode transfer offset, or an extended block mo...
Definition: globus_ftp_client.h:224
globus_result_t globus_ftp_client_rmdir(globus_ftp_client_handle_t *u_handle, const char *url, globus_ftp_client_operationattr_t *attr, globus_ftp_client_complete_callback_t complete_callback, void *callback_arg)
Definition: globus_ftp_client_transfer.c:402
globus_result_t globus_ftp_client_handle_flush_url_state(globus_ftp_client_handle_t *handle, const char *url)
Definition: globus_ftp_client_handle.c:499
globus_result_t globus_ftp_client_operationattr_set_authz_assert(globus_ftp_client_operationattr_t *attr, const char *authz_assert, globus_bool_t cache_authz_assert)
Definition: globus_ftp_client_attr.c:1894
globus_result_t globus_ftp_client_handleattr_init(globus_ftp_client_handleattr_t *attr)
Definition: globus_ftp_client_attr.c:244
globus_result_t globus_ftp_client_restart_marker_init(globus_ftp_client_restart_marker_t *marker)
Definition: globus_ftp_client_restart_marker.c:37
Control parallelism attribute structure
Definition: globus_ftp_control.h:261
globus_result_t globus_ftp_client_operationattr_set_read_all(globus_ftp_client_operationattr_t *attr, globus_bool_t read_all, globus_ftp_client_data_callback_t intermediate_callback, void *intermediate_callback_arg)
Definition: globus_ftp_client_attr.c:3592
globus_result_t globus_ftp_client_is_feature_supported(const globus_ftp_client_features_t *u_features, globus_ftp_client_tristate_t *answer, globus_ftp_client_probed_feature_t feature)
Definition: globus_ftp_client_feature.c:358
globus_result_t globus_ftp_client_feat(globus_ftp_client_handle_t *u_handle, char *url, globus_ftp_client_operationattr_t *attr, globus_ftp_client_features_t *u_features, globus_ftp_client_complete_callback_t complete_callback, void *callback_arg)
Definition: globus_ftp_client_feature.c:160
Extended block mode restart marker.
Definition: globus_ftp_client.h:196
globus_ftp_control_protection_t
GridFTP Protection Types.
Definition: globus_ftp_control.h:185
globus_result_t globus_ftp_client_handleattr_destroy(globus_ftp_client_handleattr_t *attr)
Definition: globus_ftp_client_attr.c:307
globus_result_t globus_ftp_client_third_party_transfer(globus_ftp_client_handle_t *handle, const char *source_url, globus_ftp_client_operationattr_t *source_attr, const char *dest_url, globus_ftp_client_operationattr_t *dest_attr, globus_ftp_client_restart_marker_t *restart, globus_ftp_client_complete_callback_t complete_callback, void *callback_arg)
Definition: globus_ftp_client_transfer.c:4238
globus_result_t globus_ftp_client_extended_get(globus_ftp_client_handle_t *handle, const char *url, globus_ftp_client_operationattr_t *attr, globus_ftp_client_restart_marker_t *restart, const char *eret_alg_str, globus_ftp_client_complete_callback_t complete_callback, void *callback_arg)
Definition: globus_ftp_client_transfer.c:3439
Module Descriptor.
Definition: globus_module.h:71