Grid Community Toolkit  6.2.1541705016
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 
76 #include "globus_ftp_control.h"
77 #include "globus_priority_q.h"
78 
79 #ifdef __cplusplus
80 extern "C" {
81 #endif
82 
109 #define GLOBUS_FTP_CLIENT_MODULE (&globus_i_ftp_client_module)
110 
112 
116 typedef enum
117 {
118  GLOBUS_FTP_CLIENT_ERROR_PARAMETER,
119  GLOBUS_FTP_CLIENT_ERROR_MEMORY,
120  GLOBUS_FTP_CLIENT_ERROR_ABORTED,
121  GLOBUS_FTP_CLIENT_ERROR_INTERNAL,
122  GLOBUS_FTP_CLIENT_ERROR_IN_USE,
123  GLOBUS_FTP_CLIENT_ERROR_NOT_IN_USE,
124  GLOBUS_FTP_CLIENT_ERROR_COMPLETED,
125  GLOBUS_FTP_CLIENT_ERROR_INVALID_OPERATION,
126  GLOBUS_FTP_CLIENT_ERROR_UNEXPECTED_EOF,
127  GLOBUS_FTP_CLIENT_ERROR_NO_SUCH_FILE,
128  GLOBUS_FTP_CLIENT_ERROR_PROTOCOL,
129  GLOBUS_FTP_CLIENT_ERROR_RESPONSE,
130  GLOBUS_FTP_CLIENT_ERROR_FEATURE,
131  GLOBUS_FTP_CLIENT_ERROR_NO_RESTART_MARKER
133 
142 typedef enum
143 {
144  GLOBUS_FTP_CLIENT_RESTART_NONE,
145  GLOBUS_FTP_CLIENT_RESTART_STREAM,
146  GLOBUS_FTP_CLIENT_RESTART_EXTENDED_BLOCK
147 }
149 
161 typedef struct
162 {
172  globus_off_t offset;
177  globus_off_t ascii_offset;
178 }
180 
192 typedef struct
193 {
203  globus_fifo_t ranges;
204 }
206 
220 typedef union
221 {
225 }
227 
243 
258 
279  void * user_arg,
281  globus_object_t * error);
282 
312  void * user_arg,
314  globus_object_t * error,
315  globus_byte_t * buffer,
316  globus_size_t length,
317  globus_off_t offset,
318  globus_bool_t eof);
319 
335 
346 typedef struct
360 #ifndef DOXYGEN
364 
368 
373 
377  globus_off_t offset,
378  globus_off_t end_offset);
379 
383  globus_off_t offset);
384 
388  globus_off_t offset,
389  globus_off_t ascii_offset);
390 
394  globus_off_t * total_bytes);
395 
397 globus_ftp_client_restart_marker_get_first_block(
399  globus_off_t * offset,
400  globus_off_t * end_offset);
401 
405  char ** marker_string);
406 
410  const char * marker_string);
411 #endif
412 
426 #ifndef DOXYGEN
431 
434  globus_ftp_client_handle_t * handle);
435 
437 globus_ftp_client_handle_borrow_connection(
438  globus_ftp_client_handle_t * from_handle,
439  globus_bool_t from_is_source,
440  globus_ftp_client_handle_t * to_handle,
441  globus_bool_t to_is_source);
442 
446  const char * url);
447 
451  const char * url);
452 
456  void * user_pointer);
457 
459 globus_ftp_client_handle_get_user_pointer(
460  const globus_ftp_client_handle_t * handle,
461  void ** user_pointer);
462 
464 globus_ftp_client_handle_get_restart_marker(
465  const globus_ftp_client_handle_t * handle,
467 
471  globus_ftp_client_plugin_t * plugin);
472 
476  globus_ftp_client_plugin_t * plugin);
477 
478 #endif
479 
492 #ifndef DOXYGEN
496 
500 
505 
509  const char * url);
510 
512 globus_ftp_client_handleattr_remove_cached_url(
514  const char * url);
515 
519  globus_bool_t cache_all);
520 
522 globus_ftp_client_handleattr_get_cache_all(
523  const globus_ftp_client_handleattr_t * attr,
524  globus_bool_t * cache_all);
525 
529  globus_bool_t rfc1738_url);
530 
532 globus_ftp_client_handleattr_get_rfc1738_url(
533  const globus_ftp_client_handleattr_t * attr,
534  globus_bool_t * rfc1738_url);
535 
536 typedef void (*globus_ftp_client_pipeline_callback_t)(
538  char ** source_url,
539  char ** dest_url,
540  void * user_arg);
541 
545  globus_size_t outstanding_commands,
546  globus_ftp_client_pipeline_callback_t pipeline_callback,
547  void * pipeline_arg);
548 
550 globus_ftp_client_handleattr_get_pipeline(
551  const globus_ftp_client_handleattr_t * attr,
552  globus_size_t * outstanding_commands,
553  globus_ftp_client_pipeline_callback_t * pipeline_callback,
554  void ** pipeline_arg);
555 
559  globus_bool_t gridftp2);
560 
562 globus_ftp_client_handleattr_get_gridftp2(
563  const globus_ftp_client_handleattr_t * attr,
564  globus_bool_t * gridftp2);
565 
569  globus_netlogger_handle_t * nl_handle);
570 
574  const char * app_name,
575  const char * app_version,
576  const char * other);
577 
579 globus_ftp_client_handleattr_get_clientinfo(
581  char ** app_name,
582  char ** app_version,
583  char ** other);
584 
586 globus_ftp_client_handleattr_set_netlogger_ftp_io(
588  globus_netlogger_handle_t * nl_handle,
589  globus_bool_t ftp,
590  globus_bool_t io);
591 
593 globus_ftp_client_handleattr_remove_plugin(
595  globus_ftp_client_plugin_t * plugin);
596 
600  globus_ftp_client_plugin_t * plugin);
601 #endif
602 
611 #ifndef DOXYGEN
612 
615  globus_ftp_client_handle_t * u_handle,
616  const char * url,
617  int mode,
619  globus_ftp_client_complete_callback_t complete_callback,
620  void * callback_arg);
621 
624  globus_ftp_client_handle_t * u_handle,
625  const char * url,
626  const char * group,
628  globus_ftp_client_complete_callback_t complete_callback,
629  void * callback_arg);
630 
633  globus_ftp_client_handle_t * u_handle,
634  const char * url,
635  const struct tm * utime_time,
637  globus_ftp_client_complete_callback_t complete_callback,
638  void * callback_arg);
639 
642  globus_ftp_client_handle_t * u_handle,
643  const char * url,
644  const char * link_url,
646  globus_ftp_client_complete_callback_t complete_callback,
647  void * callback_arg);
648 
652  const char * url,
654  char * cksm,
655  globus_off_t offset,
656  globus_off_t length,
657  const char * algorithm,
658  globus_ftp_client_complete_callback_t complete_callback,
659  void * callback_arg);
660 
664  const char * url,
666  globus_ftp_client_complete_callback_t complete_callback,
667  void * callback_arg);
668 
672  const char * url,
674  globus_ftp_client_complete_callback_t complete_callback,
675  void * callback_arg);
676 
680  const char * url,
682  globus_ftp_client_complete_callback_t complete_callback,
683  void * callback_arg);
684 
688  const char * url,
690  globus_ftp_client_complete_callback_t complete_callback,
691  void * callback_arg);
692 
696  const char * url,
698  globus_ftp_client_complete_callback_t complete_callback,
699  void * callback_arg);
700 
704  const char * url,
706  globus_ftp_client_complete_callback_t complete_callback,
707  void * callback_arg);
708 
712  const char * url,
714  globus_ftp_client_complete_callback_t complete_callback,
715  void * callback_arg);
716 
719  globus_ftp_client_handle_t * u_handle,
720  const char * url,
722  globus_byte_t ** mlst_buffer,
723  globus_size_t * mlst_buffer_length,
724  globus_ftp_client_complete_callback_t complete_callback,
725  void * callback_arg);
726 
729  globus_ftp_client_handle_t * u_handle,
730  const char * url,
732  globus_byte_t ** cwd_buffer,
733  globus_size_t * cwd_buffer_length,
734  globus_ftp_client_complete_callback_t complete_callback,
735  void * callback_arg);
736 
739  globus_ftp_client_handle_t * u_handle,
740  const char * url,
742  globus_byte_t ** stat_buffer,
743  globus_size_t * stat_buffer_length,
744  globus_ftp_client_complete_callback_t complete_callback,
745  void * callback_arg);
746 
750  const char * source_url,
751  const char * dest_url,
753  globus_ftp_client_complete_callback_t complete_callback,
754  void * callback_arg);
755 
759  const char * url,
762  globus_ftp_client_complete_callback_t complete_callback,
763  void * callback_arg);
764 
768  const char * url,
771  globus_ftp_client_complete_callback_t complete_callback,
772  void * callback_arg);
773 
777  const char * source_url,
778  globus_ftp_client_operationattr_t * source_attr,
779  const char * dest_url,
782  globus_ftp_client_complete_callback_t complete_callback,
783  void * callback_arg);
784 
788  const char * url,
791  globus_off_t partial_offset,
792  globus_off_t partial_end_offset,
793  globus_ftp_client_complete_callback_t complete_callback,
794  void * callback_arg);
795 
799  const char * url,
802  globus_off_t partial_offset,
803  globus_off_t partial_end_offset,
804  globus_ftp_client_complete_callback_t complete_callback,
805  void * callback_arg);
806 
810  const char * source_url,
811  globus_ftp_client_operationattr_t * source_attr,
812  const char * dest_url,
815  globus_off_t partial_offset,
816  globus_off_t partial_end_offset,
817  globus_ftp_client_complete_callback_t complete_callback,
818  void * callback_arg);
819 
823  const char * url,
826  const char * eret_alg_str,
827  globus_ftp_client_complete_callback_t complete_callback,
828  void * callback_arg);
829 
833  const char * url,
836  const char * esto_alg_str,
837  globus_ftp_client_complete_callback_t complete_callback,
838  void * callback_arg);
839 
843  const char * source_url,
844  globus_ftp_client_operationattr_t * source_attr,
845  const char * eret_alg_str,
846  const char * dest_url,
848  const char * esto_alg_str,
850  globus_ftp_client_complete_callback_t complete_callback,
851  void * callback_arg);
852 
855  globus_ftp_client_handle_t * handle);
856 
860  const char * url,
862  globus_abstime_t * modification_time,
863  globus_ftp_client_complete_callback_t complete_callback,
864  void * callback_arg);
865 
869  const char * url,
871  globus_off_t * size,
872  globus_ftp_client_complete_callback_t complete_callback,
873  void * callback_arg);
874 
878  const char * url,
880  globus_ftp_client_complete_callback_t complete_callback,
881  void * callback_arg);
882 #endif
883 
891 #ifndef DOXYGEN
895 
899 
903  const globus_ftp_control_parallelism_t * parallelism);
904 
906 globus_ftp_client_operationattr_get_parallelism(
908  globus_ftp_control_parallelism_t * parallelism);
909 
913  const char * module_name,
914  const char * module_args);
915 
917 globus_ftp_client_operationattr_get_storage_module(
919  char ** module_name,
920  char ** module_args);
921 
925  const char * driver_list);
926 
928 globus_ftp_client_operationattr_get_net_stack(
930  char ** driver_list);
931 
935  const char * driver_list);
936 
938 globus_ftp_client_operationattr_get_disk_stack(
940  char ** driver_list);
941 
945  const char * authz_assert,
946  globus_bool_t cache_authz_assert);
947 
949 globus_ftp_client_operationattr_get_authz_assert(
951  char ** authz_assert,
952  globus_bool_t * cache_authz_assert);
953 
957  globus_bool_t striped);
958 
960 globus_ftp_client_operationattr_get_striped(
962  globus_bool_t * striped);
963 
967  const globus_ftp_control_layout_t * layout);
968 
970 globus_ftp_client_operationattr_get_layout(
972  globus_ftp_control_layout_t * layout);
973 
977  const globus_ftp_control_tcpbuffer_t * tcp_buffer);
978 
980 globus_ftp_client_operationattr_get_tcp_buffer(
982  globus_ftp_control_tcpbuffer_t * tcp_buffer);
983 
988 
990 globus_ftp_client_operationattr_get_type(
993 
998 
1000 globus_ftp_client_operationattr_get_mode(
1001  const globus_ftp_client_operationattr_t * attr,
1002  globus_ftp_control_mode_t * mode);
1003 
1006  const globus_ftp_client_operationattr_t * attr,
1007  globus_bool_t list_uses_data_mode);
1008 
1010 globus_ftp_client_operationattr_get_list_uses_data_mode(
1011  const globus_ftp_client_operationattr_t * attr,
1012  globus_bool_t * list_uses_data_mode);
1013 
1016  const globus_ftp_client_operationattr_t * attr,
1017  globus_bool_t delayed_pasv);
1018 
1020 globus_ftp_client_operationattr_get_delayed_pasv(
1021  const globus_ftp_client_operationattr_t * attr,
1022  globus_bool_t * delayed_pasv);
1023 
1027  const globus_ftp_control_dcau_t * dcau);
1028 
1030 globus_ftp_client_operationattr_get_dcau(
1031  const globus_ftp_client_operationattr_t * attr,
1032  globus_ftp_control_dcau_t * dcau);
1033 
1037  globus_ftp_control_protection_t protection);
1038 
1040 globus_ftp_client_operationattr_get_data_protection(
1041  const globus_ftp_client_operationattr_t * attr,
1042  globus_ftp_control_protection_t * protection);
1043 
1047  globus_ftp_control_protection_t protection);
1048 
1050 globus_ftp_client_operationattr_get_control_protection(
1051  const globus_ftp_client_operationattr_t * attr,
1052  globus_ftp_control_protection_t * protection);
1053 
1057  int type,
1058  void * credential);
1059 
1061 globus_ftp_client_operationattr_get_data_security(
1062  const globus_ftp_client_operationattr_t * attr,
1063  int * type,
1064  void ** credential);
1065 
1067 globus_ftp_client_operationattr_set_resume_third_party_transfer(
1069  globus_bool_t resume);
1070 
1072 globus_ftp_client_operationattr_get_resume_third_party_transfer(
1073  const globus_ftp_client_operationattr_t * attr,
1074  globus_bool_t * resume);
1075 
1079  gss_cred_id_t credential,
1080  const char * user,
1081  const char * password,
1082  const char * account,
1083  const char * subject);
1084 
1086 globus_ftp_client_operationattr_get_authorization(
1087  const globus_ftp_client_operationattr_t * attr,
1088  gss_cred_id_t * credential,
1089  char ** user,
1090  char ** password,
1091  char ** account,
1092  char ** subject);
1093 
1097  globus_bool_t append);
1098 
1100 globus_ftp_client_operationattr_get_append(
1101  const globus_ftp_client_operationattr_t * attr,
1102  globus_bool_t * append);
1103 
1107  globus_bool_t read_all,
1108  globus_ftp_client_data_callback_t intermediate_callbacks,
1109  void * intermediate_callback_arg);
1110 
1112 globus_ftp_client_operationattr_get_read_all(
1113  const globus_ftp_client_operationattr_t * attr,
1114  globus_bool_t * read_all,
1115  globus_ftp_client_data_callback_t * intermediate_callbacks,
1116  void ** intermediate_callback_arg);
1117 
1121  globus_bool_t allow);
1122 
1124 globus_ftp_client_operationattr_get_allow_ipv6(
1125  const globus_ftp_client_operationattr_t * attr,
1126  globus_bool_t * allow);
1127 
1131  const globus_off_t allocated_size);
1132 
1134 globus_ftp_client_operationattr_get_allocate(
1135  const globus_ftp_client_operationattr_t * attr,
1136  globus_off_t * allocated_size);
1137 
1141  const globus_ftp_client_operationattr_t * src);
1142 
1144 globus_ftp_client_operationattr_set_rfc1738_url(
1146  globus_bool_t rfc1738_url);
1147 
1149 globus_ftp_client_operationattr_get_rfc1738_url(
1150  const globus_ftp_client_operationattr_t * attr,
1151  globus_bool_t * rfc1738_url);
1152 #endif
1153 
1174 #ifndef DOXYGEN
1177  globus_ftp_client_handle_t * handle,
1178  globus_byte_t * buffer,
1179  globus_size_t buffer_length,
1181  void * callback_arg);
1182 
1185  globus_ftp_client_handle_t * handle,
1186  globus_byte_t * buffer,
1187  globus_size_t buffer_length,
1188  globus_off_t offset,
1189  globus_bool_t eof,
1191  void * callback_arg);
1192 #endif
1193 
1200 typedef enum
1201 {
1202  GLOBUS_FTP_CLIENT_FALSE = GLOBUS_FALSE,
1203  GLOBUS_FTP_CLIENT_TRUE = GLOBUS_TRUE,
1204  GLOBUS_FTP_CLIENT_MAYBE
1205 }
1207 
1212 typedef enum
1213 {
1214  /* Buffer-size setting commands; keep these at the beginning of
1215  * the enum
1216  */
1217  GLOBUS_FTP_CLIENT_FEATURE_RETRBUFSIZE = 0,
1218  GLOBUS_FTP_CLIENT_FEATURE_RBUFSZ,
1219  GLOBUS_FTP_CLIENT_FEATURE_RBUFSIZ,
1220  GLOBUS_FTP_CLIENT_FEATURE_STORBUFSIZE,
1221  GLOBUS_FTP_CLIENT_FEATURE_SBUSSZ,
1222  GLOBUS_FTP_CLIENT_FEATURE_SBUFSIZ,
1223  GLOBUS_FTP_CLIENT_FEATURE_BUFSIZE,
1224  GLOBUS_FTP_CLIENT_FEATURE_SBUF,
1225  GLOBUS_FTP_CLIENT_FEATURE_ABUF,
1226 
1227  GLOBUS_FTP_CLIENT_FEATURE_REST_STREAM,
1228  GLOBUS_FTP_CLIENT_FEATURE_PARALLELISM,
1229  GLOBUS_FTP_CLIENT_FEATURE_DCAU,
1230  GLOBUS_FTP_CLIENT_FEATURE_DCSC,
1231  GLOBUS_FTP_CLIENT_FEATURE_ESTO,
1232  GLOBUS_FTP_CLIENT_FEATURE_ERET,
1233  GLOBUS_FTP_CLIENT_FEATURE_SIZE,
1234  GLOBUS_FTP_CLIENT_FEATURE_CKSM,
1235  GLOBUS_FTP_CLIENT_FEATURE_CHMOD,
1236  GLOBUS_FTP_CLIENT_FEATURE_AUTHZ_ASSERT,
1237  GLOBUS_FTP_CLIENT_FEATURE_CLIENTINFO,
1238  GLOBUS_FTP_CLIENT_FEATURE_SITE_SETNETSTACK,
1239  GLOBUS_FTP_CLIENT_FEATURE_DELAYED_PASV,
1240  GLOBUS_FTP_CLIENT_FEATURE_GETPUT,
1241  GLOBUS_FTP_CLIENT_FEATURE_MLST,
1242  GLOBUS_FTP_CLIENT_FEATURE_CHGRP,
1243  GLOBUS_FTP_CLIENT_FEATURE_UTIME,
1244  GLOBUS_FTP_CLIENT_FEATURE_SYMLINK,
1245  GLOBUS_FTP_CLIENT_FEATURE_MAX,
1246  GLOBUS_FTP_CLIENT_LAST_BUFFER_COMMAND = GLOBUS_FTP_CLIENT_FEATURE_ABUF,
1247  GLOBUS_FTP_CLIENT_FIRST_FEAT_FEATURE = GLOBUS_FTP_CLIENT_FEATURE_SBUF,
1248  GLOBUS_FTP_CLIENT_LAST_FEAT_FEATURE = GLOBUS_FTP_CLIENT_FEATURE_MLST
1249 }
1261 #ifndef DOXYGEN
1262 
1265  globus_ftp_client_handle_t * u_handle,
1266  char * url,
1268  globus_ftp_client_features_t * u_features,
1269  globus_ftp_client_complete_callback_t complete_callback,
1270  void * callback_arg);
1271 
1274  const globus_ftp_client_features_t * u_features,
1276  const globus_ftp_client_probed_feature_t feature);
1277 
1282 
1294 int
1295 globus_error_ftp_error_get_code(
1296  globus_object_t * error);
1297 
1298 #define GLOBUS_ERROR_TYPE_FTP (&GLOBUS_ERROR_TYPE_FTP_DEFINITION)
1299 extern const globus_object_type_t GLOBUS_ERROR_TYPE_FTP_DEFINITION;
1300 
1301 #endif
1302 EXTERN_C_END
1303 
1304 #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:142
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:1260
#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:278
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:171
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:333
globus_ftp_client_error_t
Definition: globus_ftp_client.h:116
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:1200
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:1212
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:382
Control striping attribute union.
Definition: globus_ftp_control.h:209
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:346
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:161
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:242
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:311
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:257
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:220
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:260
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:192
globus_ftp_control_protection_t
GridFTP Protection Types.
Definition: globus_ftp_control.h:184
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:69