7 #ifndef GLOBUS_INCLUDE_FTP_CONTROL_H
8 #define GLOBUS_INCLUDE_FTP_CONTROL_H 1
10 #include "globus_common.h"
11 #include "globus_error_string.h"
12 #include "globus_io.h"
13 #include "globus_gss_assist.h"
14 #include "globus_handle_table.h"
20 #ifndef GLOBUS_GLOBAL_DOCUMENT_SET
133 GLOBUS_FTP_CONTROL_STRIPING_NONE,
134 GLOBUS_FTP_CONTROL_STRIPING_PARTITIONED,
135 GLOBUS_FTP_CONTROL_STRIPING_BLOCKED_ROUND_ROBIN
144 globus_size_t block_size;
147 typedef struct globus_ftp_control_partitioned_s
151 } globus_ftp_control_partitioned_t;
186 GLOBUS_FTP_CONTROL_DELAYED_SINGLE_PASSIVE =
'S',
187 GLOBUS_FTP_CONTROL_DELAYED_STRIPED_PASSIVE =
'M',
188 GLOBUS_FTP_CONTROL_NORMAL_PASSIVE =
'N'
198 globus_ftp_control_partitioned_t partitioned;
211 GLOBUS_FTP_CONTROL_STRUCTURE_NONE,
212 GLOBUS_FTP_CONTROL_STRUCTURE_FILE,
213 GLOBUS_FTP_CONTROL_STRUCTURE_PAGE,
214 GLOBUS_FTP_CONTROL_STRUCTURE_RECORD
222 GLOBUS_FTP_CONTROL_PARALLELISM_NONE,
223 GLOBUS_FTP_CONTROL_PARALLELISM_FIXED
230 typedef struct globus_i_ftp_parallelism_base_s
234 } globus_i_ftp_parallelism_base_t;
236 typedef struct globus_ftp_parallelism_fixed_s
240 } globus_ftp_parallelism_fixed_t;
248 globus_i_ftp_parallelism_base_t base;
249 globus_ftp_parallelism_fixed_t fixed;
252 typedef struct globus_ftp_control_host_port_s
266 } globus_ftp_control_host_port_t;
293 #define GLOBUS_FTP_CONTROL_MODULE (&globus_i_ftp_control_module)
295 extern globus_module_descriptor_t globus_i_ftp_control_module;
297 #define _FCSL(s) globus_common_i18n_get_string(GLOBUS_FTP_CONTROL_MODULE,s)
301 typedef enum globus_ftp_control_response_class_e
303 GLOBUS_FTP_UNKNOWN_REPLY,
304 GLOBUS_FTP_POSITIVE_PRELIMINARY_REPLY,
305 GLOBUS_FTP_POSITIVE_COMPLETION_REPLY,
306 GLOBUS_FTP_POSITIVE_INTERMEDIATE_REPLY,
307 GLOBUS_FTP_TRANSIENT_NEGATIVE_COMPLETION_REPLY,
308 GLOBUS_FTP_PERMANENT_NEGATIVE_COMPLETION_REPLY
309 } globus_ftp_control_response_class_t;
312 typedef struct globus_ftp_control_response_s
315 globus_ftp_control_response_class_t response_class;
316 globus_byte_t * response_buffer;
317 globus_size_t response_length;
318 globus_size_t response_buffer_size;
319 } globus_ftp_control_response_t;
359 unsigned int initial_size;
360 unsigned int minimum_size;
361 unsigned int maximum_size;
380 typedef enum globus_ftp_data_connection_state_e
382 GLOBUS_FTP_DATA_STATE_NONE,
383 GLOBUS_FTP_DATA_STATE_PASV,
384 GLOBUS_FTP_DATA_STATE_PORT,
385 GLOBUS_FTP_DATA_STATE_SPOR,
386 GLOBUS_FTP_DATA_STATE_CONNECT_READ,
387 GLOBUS_FTP_DATA_STATE_CONNECT_WRITE,
388 GLOBUS_FTP_DATA_STATE_CLOSING,
389 GLOBUS_FTP_DATA_STATE_EOF,
390 GLOBUS_FTP_DATA_STATE_SEND_EOF
391 } globus_ftp_data_connection_state_t;
393 #define GLOBUS_FTP_CONTROL_READ_BUFFER_SIZE 1000
394 #define GLOBUS_FTP_CONTROL_HOSTENT_BUFFER_SIZE 8192
398 GLOBUS_FTP_CONTROL_UNCONNECTED,
399 GLOBUS_FTP_CONTROL_CONNECTING,
400 GLOBUS_FTP_CONTROL_CONNECTED,
401 GLOBUS_FTP_CONTROL_CLOSING
403 globus_ftp_cc_state_t;
405 struct globus_ftp_control_handle_s;
406 struct globus_i_ftp_dc_transfer_handle_t;
408 union globus_ftp_control_command_u;
410 typedef enum globus_ftp_control_command_code_e
412 GLOBUS_FTP_CONTROL_COMMAND_OPTS,
413 GLOBUS_FTP_CONTROL_COMMAND_AUTH,
414 GLOBUS_FTP_CONTROL_COMMAND_ADAT,
415 GLOBUS_FTP_CONTROL_COMMAND_SPAS,
416 GLOBUS_FTP_CONTROL_COMMAND_SPOR,
417 GLOBUS_FTP_CONTROL_COMMAND_PORT,
418 GLOBUS_FTP_CONTROL_COMMAND_PASV,
419 GLOBUS_FTP_CONTROL_COMMAND_SITE,
420 GLOBUS_FTP_CONTROL_COMMAND_TYPE,
421 GLOBUS_FTP_CONTROL_COMMAND_DELE,
422 GLOBUS_FTP_CONTROL_COMMAND_FEAT,
423 GLOBUS_FTP_CONTROL_COMMAND_ERET,
424 GLOBUS_FTP_CONTROL_COMMAND_ESTO,
425 GLOBUS_FTP_CONTROL_COMMAND_RMD,
426 GLOBUS_FTP_CONTROL_COMMAND_MKD,
427 GLOBUS_FTP_CONTROL_COMMAND_PWD,
428 GLOBUS_FTP_CONTROL_COMMAND_CWD,
429 GLOBUS_FTP_CONTROL_COMMAND_CDUP,
430 GLOBUS_FTP_CONTROL_COMMAND_NLST,
431 GLOBUS_FTP_CONTROL_COMMAND_HELP,
432 GLOBUS_FTP_CONTROL_COMMAND_STAT,
433 GLOBUS_FTP_CONTROL_COMMAND_NOOP,
434 GLOBUS_FTP_CONTROL_COMMAND_SYST,
435 GLOBUS_FTP_CONTROL_COMMAND_STOU,
436 GLOBUS_FTP_CONTROL_COMMAND_QUIT,
437 GLOBUS_FTP_CONTROL_COMMAND_REIN,
438 GLOBUS_FTP_CONTROL_COMMAND_ABOR,
439 GLOBUS_FTP_CONTROL_COMMAND_ALLO,
440 GLOBUS_FTP_CONTROL_COMMAND_MODE,
441 GLOBUS_FTP_CONTROL_COMMAND_STRU,
442 GLOBUS_FTP_CONTROL_COMMAND_ACCT,
443 GLOBUS_FTP_CONTROL_COMMAND_PASS,
444 GLOBUS_FTP_CONTROL_COMMAND_USER,
445 GLOBUS_FTP_CONTROL_COMMAND_SMNT,
446 GLOBUS_FTP_CONTROL_COMMAND_LIST,
447 GLOBUS_FTP_CONTROL_COMMAND_RETR,
448 GLOBUS_FTP_CONTROL_COMMAND_REST,
449 GLOBUS_FTP_CONTROL_COMMAND_SBUF,
450 GLOBUS_FTP_CONTROL_COMMAND_SIZE,
451 GLOBUS_FTP_CONTROL_COMMAND_STOR,
452 GLOBUS_FTP_CONTROL_COMMAND_APPE,
453 GLOBUS_FTP_CONTROL_COMMAND_RNFR,
454 GLOBUS_FTP_CONTROL_COMMAND_RNTO,
455 GLOBUS_FTP_CONTROL_COMMAND_LANG,
456 GLOBUS_FTP_CONTROL_COMMAND_UNKNOWN
457 } globus_ftp_control_command_code_t;
469 globus_bool_t authenticated;
470 globus_ftp_control_command_code_t prev_cmd;
471 char * auth_gssapi_subject;
472 gss_ctx_id_t auth_gssapi_context;
473 gss_cred_id_t credential_handle;
474 globus_bool_t locally_acquired_credential;
475 gss_name_t target_name;
480 gss_cred_id_t delegated_credential_handle;
481 globus_bool_t encrypt;
512 struct globus_ftp_control_handle_s * handle,
513 globus_object_t * error,
514 globus_ftp_control_response_t * ftp_response);
532 struct globus_ftp_control_handle_s * handle,
533 globus_object_t * error);
537 (*globus_ftp_control_data_connect_callback_t)(
539 struct globus_ftp_control_handle_s * handle,
540 unsigned int stripe_ndx,
541 globus_bool_t reused,
542 globus_object_t * error);
573 struct globus_ftp_control_handle_s * handle,
574 globus_object_t * error,
575 union globus_ftp_control_command_u * command);
603 struct globus_ftp_control_handle_s * handle,
604 globus_object_t * error,
619 #define GLOBUS_FTP_CONTROL_AUTH_REQ_NONE 1
620 #define GLOBUS_FTP_CONTROL_AUTH_REQ_GSSAPI 2
621 #define GLOBUS_FTP_CONTROL_AUTH_REQ_USER 4
622 #define GLOBUS_FTP_CONTROL_AUTH_REQ_PASS 8
623 #define GLOBUS_FTP_CONTROL_AUTH_REQ_ACCT 16
624 #define GLOBUS_FTP_CONTROL_AUTH_REQ_TLS 32
626 typedef struct globus_ftp_control_rw_queue_element_s
631 globus_byte_t * write_buf;
633 globus_io_write_callback_t write_callback;
634 globus_io_read_callback_t read_callback;
635 globus_bool_t expect_response;
637 globus_ftp_control_rw_queue_element_t;
639 typedef struct globus_ftp_cc_handle_s
641 globus_io_attr_t io_attr;
642 globus_netlogger_handle_t nl_handle;
643 globus_bool_t nl_handle_set;
645 globus_fifo_t readers;
646 globus_fifo_t writers;
648 void * command_cb_arg;
652 void * accept_cb_arg;
656 globus_ftp_control_auth_requirements_t auth_requirements;
657 globus_ftp_control_response_t response;
658 globus_byte_t * read_buffer;
659 globus_size_t read_buffer_size;
660 globus_size_t bytes_read;
662 globus_bool_t use_auth;
663 globus_io_handle_t io_handle;
664 globus_ftp_cc_state_t cc_state;
665 char serverhost[MAXHOSTNAMELEN];
666 struct hostent server;
668 GLOBUS_FTP_CONTROL_HOSTENT_BUFFER_SIZE];
669 globus_list_t * list_elem;
671 globus_mutex_t mutex;
672 globus_bool_t do_close;
676 globus_object_t * close_result;
677 globus_ftp_control_response_t quit_response;
678 globus_bool_t signal_deactivate;
680 globus_ftp_cc_handle_t;
682 struct globus_ftp_control_data_write_info_s;
684 typedef globus_result_t (*globus_ftp_control_layout_func_t)(
685 struct globus_ftp_control_handle_s * handle,
686 struct globus_ftp_control_data_write_info_s * data_info,
687 globus_byte_t * buffer,
688 globus_size_t length,
695 typedef globus_result_t (*globus_ftp_control_layout_verify_func_t)(
698 typedef struct globus_i_ftp_dc_handle_s
706 globus_ftp_data_connection_state_t state;
715 globus_io_attr_t io_attr;
716 char * interface_addr;
718 struct globus_i_ftp_dc_transfer_handle_s * transfer_handle;
719 globus_list_t * transfer_list;
720 globus_bool_t send_eof;
722 globus_ftp_control_layout_func_t layout_func;
725 void * layout_user_arg;
727 globus_bool_t initialized;
728 globus_mutex_t mutex;
731 void * close_callback_arg;
733 globus_netlogger_handle_t nl_io_handle;
734 globus_bool_t nl_io_handle_set;
736 globus_netlogger_handle_t nl_ftp_handle;
737 globus_bool_t nl_ftp_handle_set;
739 globus_object_t * connect_error;
740 struct globus_ftp_control_handle_s * whos_my_daddy;
741 } globus_i_ftp_dc_handle_t;
743 typedef struct globus_ftp_control_handle_s
745 struct globus_i_ftp_dc_handle_s dc_handle;
746 struct globus_ftp_cc_handle_s cc_handle;
747 } globus_ftp_control_handle_t;
797 globus_ftp_control_handle_t * handle,
798 globus_object_t * error,
799 globus_byte_t * buffer,
800 globus_size_t length,
804 typedef struct globus_ftp_control_data_write_info_s
808 globus_handle_t callback_table_handle;
809 } globus_ftp_control_data_write_info_t;
812 globus_ftp_control_layout_register_func(
814 globus_ftp_control_layout_func_t enqueue_func,
815 globus_ftp_control_layout_verify_func_t verify_func);
818 globus_X_ftp_control_local_layout(
819 globus_ftp_control_handle_t * handle,
825 globus_ftp_control_handle_t * handle,
827 globus_size_t data_size);
833 globus_ftp_control_set_netlogger(
834 globus_ftp_control_handle_t * handle,
835 globus_netlogger_handle_t * nl_handle,
836 globus_bool_t nl_ftp_control,
837 globus_bool_t nl_globus_io);
841 globus_ftp_control_handle_t * handle,
842 const char * interface_addr);
845 globus_i_ftp_control_data_set_stack(
846 globus_ftp_control_handle_t * handle,
847 globus_xio_stack_t stack);
850 globus_i_ftp_control_data_get_attr(
851 globus_ftp_control_handle_t * handle,
852 globus_xio_attr_t * attr);
855 globus_i_ftp_control_client_get_attr(
856 globus_ftp_control_handle_t * handle,
857 globus_xio_attr_t * attr);
860 globus_i_ftp_control_client_set_stack(
861 globus_ftp_control_handle_t * handle,
862 globus_xio_stack_t stack);
865 globus_i_ftp_control_load_xio_drivers(
866 char * driver_string,
867 globus_list_t ** driver_list);
870 globus_i_ftp_control_unload_xio_drivers(
871 globus_list_t * driver_list);
874 globus_i_ftp_control_create_stack(
875 globus_ftp_control_handle_t * handle,
876 globus_list_t * driver_list,
877 globus_xio_stack_t * stack);
888 globus_ftp_control_layout_blocked_verify(
892 globus_ftp_control_layout_blocked_user_arg_create();
895 globus_ftp_control_layout_blocked_user_arg_destroy(
899 globus_ftp_control_layout_blocked(
900 globus_ftp_control_handle_t * handle,
901 globus_ftp_control_data_write_info_t * data_info,
902 globus_byte_t * buffer,
903 globus_size_t length,
904 globus_off_t in_offset,
914 globus_ftp_control_layout_partitioned_verify(
918 globus_ftp_control_layout_partitioned_user_arg_create(
919 globus_size_t file_size);
922 globus_ftp_control_layout_partitioned_user_arg_destroy(
926 globus_ftp_control_layout_partitioned(
927 globus_ftp_control_handle_t * handle,
928 globus_ftp_control_data_write_info_t * data_info,
929 globus_byte_t * buffer,
930 globus_size_t length,
931 globus_off_t in_offset,
942 globus_ftp_control_handle_t * handle,
943 globus_ftp_control_data_write_info_t * data_info,
944 globus_byte_t * buffer,
945 globus_size_t length,
949 void * callback_arg);
953 globus_ftp_control_handle_t * handle,
954 globus_ftp_control_data_write_info_t * data_info);
958 globus_ftp_control_handle_t * handle,
959 globus_byte_t * buffer,
960 globus_size_t length,
965 void * callback_arg);
969 globus_ftp_control_handle_t * handle,
970 globus_byte_t * buffer,
971 globus_size_t length,
975 globus_ftp_control_data_write_info_t * data_info);
988 struct globus_ftp_control_server_s;
1006 void * callback_arg,
1007 struct globus_ftp_control_server_s * server_handle,
1008 globus_object_t * error);
1011 typedef enum globus_ftp_control_server_state_n
1013 GLOBUS_FTP_CONTROL_SERVER_LISTENING,
1014 GLOBUS_FTP_CONTROL_SERVER_DEAF
1016 globus_ftp_control_server_state_t;
1018 typedef struct globus_ftp_control_server_s
1020 globus_io_handle_t io_handle;
1021 globus_ftp_control_server_state_t state;
1023 void * callback_arg;
1024 globus_list_t * list_elem;
1025 globus_mutex_t mutex;
1026 } globus_ftp_control_server_t;
1030 typedef struct globus_ftp_control_command_str_s
1032 globus_ftp_control_command_code_t code;
1035 } globus_ftp_control_command_str_t;
1041 typedef struct globus_ftp_control_command_stru_s
1043 globus_ftp_control_command_code_t code;
1046 } globus_ftp_control_command_stru_t;
1048 typedef struct globus_ftp_control_command_port_s
1050 globus_ftp_control_command_code_t code;
1052 globus_ftp_control_host_port_t host_port;
1053 } globus_ftp_control_command_port_t;
1055 typedef struct globus_ftp_control_command_spor_s
1057 globus_ftp_control_command_code_t code;
1060 globus_ftp_control_host_port_t * host_port;
1061 } globus_ftp_control_command_spor_t;
1063 typedef struct globus_ftp_control_command_mode_s
1065 globus_ftp_control_command_code_t code;
1068 } globus_ftp_control_command_mode_t;
1070 typedef struct globus_ftp_control_command_allo_s
1072 globus_ftp_control_command_code_t code;
1076 } globus_ftp_control_command_allo_t;
1078 typedef struct globus_ftp_control_command_sbuf_s
1080 globus_ftp_control_command_code_t code;
1083 } globus_ftp_control_command_sbuf_t;
1094 typedef enum globus_ftp_control_type_option_e
1096 GLOBUS_FTP_CONTROL_TYPE_NO_OPTION,
1097 GLOBUS_FTP_CONTROL_TYPE_OPTION_N,
1098 GLOBUS_FTP_CONTROL_TYPE_OPTION_T,
1099 GLOBUS_FTP_CONTROL_TYPE_OPTION_C
1100 } globus_ftp_control_type_option_t;
1102 typedef struct globus_ftp_control_command_type_s
1104 globus_ftp_control_command_code_t code;
1107 globus_ftp_control_type_option_t option;
1108 unsigned int bytesize;
1109 } globus_ftp_control_command_type_t;
1111 typedef enum globus_ftp_control_auth_type_e
1113 GLOBUS_FTP_CONTROL_AUTH_GSSAPI,
1114 GLOBUS_FTP_CONTROL_AUTH_UNKNOWN
1115 } globus_ftp_control_auth_type_t;
1117 typedef struct globus_ftp_control_command_auth_s
1119 globus_ftp_control_command_code_t code;
1121 globus_ftp_control_auth_type_t type;
1122 } globus_ftp_control_command_auth_t;
1124 typedef struct globus_ftp_control_command_opts_s
1126 globus_ftp_control_command_code_t code;
1130 } globus_ftp_control_command_opts_t;
1136 typedef globus_ftp_control_command_str_t
1137 globus_ftp_control_command_site_t;
1139 typedef globus_ftp_control_command_str_t
1140 globus_ftp_control_command_acct_t;
1142 typedef globus_ftp_control_command_str_t
1143 globus_ftp_control_command_cwd_t;
1145 typedef globus_ftp_control_command_str_t
1146 globus_ftp_control_command_cdup_t;
1148 typedef globus_ftp_control_command_str_t
1149 globus_ftp_control_command_pass_t;
1151 typedef globus_ftp_control_command_str_t
1152 globus_ftp_control_command_user_t;
1154 typedef globus_ftp_control_command_str_t
1155 globus_ftp_control_command_smnt_t;
1157 typedef globus_ftp_control_command_str_t
1158 globus_ftp_control_command_list_t;
1160 typedef globus_ftp_control_command_str_t
1161 globus_ftp_control_command_retr_t;
1163 typedef globus_ftp_control_command_str_t
1164 globus_ftp_control_command_size_t;
1166 typedef globus_ftp_control_command_str_t
1167 globus_ftp_control_command_stor_t;
1169 typedef globus_ftp_control_command_str_t
1170 globus_ftp_control_command_appe_t;
1172 typedef globus_ftp_control_command_str_t
1173 globus_ftp_control_command_rnfr_t;
1175 typedef globus_ftp_control_command_str_t
1176 globus_ftp_control_command_rnto_t;
1178 typedef globus_ftp_control_command_str_t
1179 globus_ftp_control_command_feat_t;
1181 typedef globus_ftp_control_command_str_t
1182 globus_ftp_control_command_dele_t;
1184 typedef globus_ftp_control_command_str_t
1185 globus_ftp_control_command_rmd_t;
1187 typedef globus_ftp_control_command_str_t
1188 globus_ftp_control_command_mkd_t;
1190 typedef globus_ftp_control_command_str_t
1191 globus_ftp_control_command_nlst_t;
1193 typedef globus_ftp_control_command_str_t
1194 globus_ftp_control_command_help_t;
1196 typedef globus_ftp_control_command_str_t
1197 globus_ftp_control_command_stou_t;
1199 typedef globus_ftp_control_command_str_t
1200 globus_ftp_control_command_rest_t;
1202 typedef globus_ftp_control_command_str_t
1203 globus_ftp_control_command_eret_t;
1205 typedef globus_ftp_control_command_str_t
1206 globus_ftp_control_command_esto_t;
1211 typedef globus_ftp_control_command_str_t
1212 globus_ftp_control_command_pasv_t;
1214 typedef globus_ftp_control_command_str_t
1215 globus_ftp_control_command_spas_t;
1217 typedef globus_ftp_control_command_str_t
1218 globus_ftp_control_command_stat_t;
1220 typedef globus_ftp_control_command_str_t
1221 globus_ftp_control_command_noop_t;
1223 typedef globus_ftp_control_command_str_t
1224 globus_ftp_control_command_syst_t;
1226 typedef globus_ftp_control_command_str_t
1227 globus_ftp_control_command_quit_t;
1229 typedef globus_ftp_control_command_str_t
1230 globus_ftp_control_command_rein_t;
1232 typedef globus_ftp_control_command_str_t
1233 globus_ftp_control_command_abor_t;
1235 typedef globus_ftp_control_command_str_t
1236 globus_ftp_control_command_pwd_t;
1238 typedef globus_ftp_control_command_str_t
1239 globus_ftp_control_command_adat_t;
1244 typedef union globus_ftp_control_command_u
1246 globus_ftp_control_command_code_t code;
1247 globus_ftp_control_command_site_t site;
1248 globus_ftp_control_command_sbuf_t sbuf;
1249 globus_ftp_control_command_type_t type;
1250 globus_ftp_control_command_rest_t rest;
1251 globus_ftp_control_command_allo_t allo;
1252 globus_ftp_control_command_eret_t eret;
1253 globus_ftp_control_command_esto_t esto;
1254 globus_ftp_control_command_mode_t mode;
1255 globus_ftp_control_command_port_t port;
1256 globus_ftp_control_command_spor_t spor;
1257 globus_ftp_control_command_stru_t stru;
1258 globus_ftp_control_command_auth_t auth;
1260 globus_ftp_control_command_adat_t adat;
1261 globus_ftp_control_command_acct_t acct;
1262 globus_ftp_control_command_cwd_t cwd;
1263 globus_ftp_control_command_cdup_t cdup;
1264 globus_ftp_control_command_pass_t pass;
1265 globus_ftp_control_command_user_t user;
1266 globus_ftp_control_command_smnt_t smnt;
1267 globus_ftp_control_command_opts_t opts;
1268 globus_ftp_control_command_list_t list;
1269 globus_ftp_control_command_retr_t retr;
1270 globus_ftp_control_command_size_t size;
1271 globus_ftp_control_command_stor_t stor;
1272 globus_ftp_control_command_appe_t appe;
1273 globus_ftp_control_command_rnfr_t rnfr;
1274 globus_ftp_control_command_rnto_t rnto;
1275 globus_ftp_control_command_dele_t dele;
1276 globus_ftp_control_command_feat_t feat;
1277 globus_ftp_control_command_rmd_t rmd;
1278 globus_ftp_control_command_mkd_t mkd;
1279 globus_ftp_control_command_nlst_t nlst;
1280 globus_ftp_control_command_help_t help;
1282 globus_ftp_control_command_pasv_t pasv;
1283 globus_ftp_control_command_spas_t spas;
1284 globus_ftp_control_command_stat_t stat;
1285 globus_ftp_control_command_noop_t noop;
1286 globus_ftp_control_command_syst_t syst;
1287 globus_ftp_control_command_stou_t stou;
1288 globus_ftp_control_command_quit_t quit;
1289 globus_ftp_control_command_rein_t rein;
1290 globus_ftp_control_command_abor_t abor;
1291 globus_ftp_control_command_pwd_t pwd;
1293 globus_ftp_control_command_str_t base;
1294 } globus_ftp_control_command_t;
1297 typedef struct globus_ftp_data_server_s
1300 } globus_ftp_data_server_t;
1310 gss_cred_id_t credential_handle,
1311 globus_bool_t encrypt,
1324 globus_ftp_control_handle_t * handle);
1328 globus_ftp_control_handle_t * handle);
1332 globus_ftp_control_server_t * handle);
1336 globus_ftp_control_server_t * handle);
1340 globus_ftp_control_response_t * response);
1344 globus_ftp_control_response_t * src,
1345 globus_ftp_control_response_t * dest);
1350 globus_ftp_control_handle_t * handle,
1352 unsigned short port,
1354 void * callback_arg);
1358 globus_ftp_control_use_tls(
1359 globus_ftp_control_handle_t * handle,
1364 globus_ftp_control_handle_t * handle,
1366 globus_bool_t use_auth,
1368 void * callback_arg);
1372 globus_ftp_control_handle_t * handle,
1374 globus_bool_t use_auth,
1376 void * callback_arg);
1380 globus_ftp_control_handle_t * handle,
1382 void * callback_arg);
1386 globus_ftp_control_handle_t * handle,
1388 void * callback_arg);
1392 globus_ftp_control_handle_t * handle,
1394 void * callback_arg);
1399 globus_ftp_control_handle_t * handle,
1400 const char * cmdspec,
1402 void * callback_arg,
1407 globus_ftp_control_handle_t * handle,
1408 unsigned long bufsize);
1412 globus_ftp_control_handle_t * handle,
1413 unsigned long * bufsize);
1418 globus_ftp_control_server_t * handle,
1419 unsigned short * port,
1421 void * callback_arg);
1425 globus_ftp_control_server_t * handle,
1426 globus_io_attr_t * attr,
1427 unsigned short * port,
1429 void * callback_arg);
1433 globus_ftp_control_server_t * listener,
1435 void * callback_arg);
1439 globus_ftp_control_server_t * listener,
1440 globus_ftp_control_handle_t * handle,
1442 void * callback_arg);
1446 globus_ftp_control_handle_t * handle,
1447 globus_ftp_control_auth_requirements_t auth_requirements,
1449 void * callback_arg);
1453 globus_ftp_control_handle_t * handle,
1455 void * callback_arg);
1459 globus_ftp_control_handle_t * handle,
1460 const char * respspec,
1462 void * callback_arg,
1466 globus_ftp_control_close(
1467 globus_ftp_control_server_t * listener,
1469 void * callback_arg);
1472 globus_ftp_data_close(
1473 globus_ftp_data_server_t * listener,
1475 void * callback_arg);
1478 globus_i_ftp_queue_size(
1479 globus_ftp_control_handle_t * handle,
1485 globus_ftp_control_command_t * dest,
1486 globus_ftp_control_command_t * src);
1490 globus_ftp_control_command_t * command,
1496 globus_ftp_control_command_t * command);
1504 globus_i_ftp_control_data_cc_init(
1505 globus_ftp_control_handle_t * control_handle);
1508 globus_i_ftp_control_data_cc_destroy(
1509 globus_ftp_control_handle_t * control_handle);
1513 globus_ftp_control_handle_t * control_handle,
1515 void * destroy_callback_arg);
1519 globus_ftp_control_handle_t * handle,
1520 globus_bool_t send_eof);
1524 globus_ftp_control_handle_t * handle,
1527 globus_bool_t eof_message,
1532 globus_ftp_control_get_stripe_count(
1533 globus_ftp_control_handle_t * handle,
1534 int * stripe_count);
1538 globus_ftp_control_handle_t * handle,
1539 globus_ftp_control_data_connect_callback_t callback,
1544 globus_ftp_control_handle_t * handle,
1545 globus_ftp_control_data_connect_callback_t callback,
1550 globus_ftp_control_handle_t * handle,
1551 unsigned int num_channels,
1552 unsigned int stripe);
1556 globus_ftp_control_handle_t * handle,
1557 unsigned int num_channels,
1558 unsigned int stripe);
1562 globus_ftp_control_handle_t * handle,
1563 unsigned int * num_channels,
1564 unsigned int stripe);
1568 globus_ftp_control_handle_t * handle,
1569 unsigned int * num_channels,
1570 unsigned int stripe_ndx);
1573 globus_ftp_control_data_get_remote_hosts(
1574 globus_ftp_control_handle_t * handle,
1575 globus_ftp_control_host_port_t * address,
1579 globus_ftp_control_get_parallelism(
1580 globus_ftp_control_handle_t * handle,
1585 globus_ftp_control_handle_t * handle,
1590 globus_ftp_control_handle_t * handle,
1591 globus_ftp_control_host_port_t * address);
1595 globus_ftp_control_handle_t * handle,
1596 globus_ftp_control_host_port_t addresses[],
1597 unsigned int num_addresses);
1601 globus_ftp_control_handle_t * handle,
1602 globus_ftp_control_host_port_t * address);
1606 globus_ftp_control_handle_t * handle,
1607 globus_ftp_control_host_port_t addresses[],
1608 unsigned int num_addresses);
1611 globus_ftp_control_get_spor(
1612 globus_ftp_control_handle_t * handle,
1613 globus_ftp_control_host_port_t addresses[],
1614 unsigned int * num_addresses);
1618 globus_ftp_control_handle_t * handle,
1624 globus_ftp_control_handle_t * handle,
1629 globus_ftp_control_handle_t * handle,
1633 globus_ftp_control_get_mode(
1634 globus_ftp_control_handle_t * handle,
1638 globus_ftp_control_get_type(
1639 globus_ftp_control_handle_t * handle,
1644 globus_ftp_control_handle_t * handle,
1646 gss_cred_id_t delegated_credential_handle);
1649 globus_ftp_control_get_dcau(
1650 globus_ftp_control_handle_t * handle,
1654 globus_ftp_control_local_prot(
1655 globus_ftp_control_handle_t * handle,
1659 globus_ftp_control_get_prot(
1660 globus_ftp_control_handle_t * handle,
1665 globus_ftp_control_handle_t * handle,
1670 globus_ftp_control_handle_t * handle,
1671 globus_byte_t * buffer,
1672 globus_size_t length,
1673 globus_off_t offset,
1676 void * callback_arg);
1680 globus_ftp_control_handle_t * handle,
1681 globus_byte_t * buffer,
1682 globus_size_t max_length,
1684 void * callback_arg);
1687 globus_ftp_control_data_read_all(
1688 globus_ftp_control_handle_t * handle,
1689 globus_byte_t * buffer,
1690 globus_size_t length,
1692 void * callback_arg);
1696 globus_ftp_control_handle_t * handle,
1697 globus_bool_t order_data,
1698 globus_off_t starting_offset);
1705 globus_ftp_control_handle_t * handle,
1706 globus_bool_t allow);
1712 globus_i_ftp_parallelism_copy(
1717 globus_i_ftp_parallelism_get_size(
1721 globus_i_ftp_parallelism_get_min_size(
1725 globus_i_ftp_parallelism_get_max_size(
1729 globus_ftp_control_host_port_init(
1730 globus_ftp_control_host_port_t * host_port,
1732 unsigned short port);
1735 globus_ftp_control_host_port_destroy(
1736 globus_ftp_control_host_port_t * host_port);
1739 globus_ftp_control_host_port_get_host(
1740 globus_ftp_control_host_port_t * host_port,
1744 globus_ftp_control_host_port_get_port(
1745 globus_ftp_control_host_port_t * host_port);
1748 globus_ftp_control_host_port_copy(
1749 globus_ftp_control_host_port_t * dest,
1750 globus_ftp_control_host_port_t * src);
1752 #define globus_i_ftp_control_client_get_connection_info \
1753 globus_ftp_control_client_get_connection_info
1755 globus_ftp_control_client_get_connection_info(
1756 globus_ftp_control_handle_t * handle,
1758 unsigned short * localport,
1760 unsigned short * remoteport);
1764 globus_ftp_control_handle_t * handle,
1765 globus_ftp_control_host_port_t * local_info,
1766 globus_ftp_control_host_port_t * remote_info);
1769 globus_ftp_control_data_get_socket_buf(
1770 globus_ftp_control_handle_t * handle,
1775 globus_ftp_control_data_get_retransmit_count(
1776 globus_ftp_control_handle_t * handle,
1777 char ** retransmit_count);
globus_result_t globus_ftp_control_local_pasv(globus_ftp_control_handle_t *handle, globus_ftp_control_host_port_t *address)
Create a passive socket.
Definition: globus_ftp_control_data.c:2811
enum globus_ftp_control_striping_mode_e globus_ftp_control_striping_mode_t
GridFTP Striping Types.
globus_result_t globus_ftp_control_server_handle_init(globus_ftp_control_server_t *handle)
Initialize a GridFTP server handle.
Definition: globus_ftp_control_server.c:149
Definition: globus_ftp_control.h:110
Definition: globus_ftp_control.h:106
globus_result_t globus_ftp_control_server_authenticate(globus_ftp_control_handle_t *handle, globus_ftp_control_auth_requirements_t auth_requirements, globus_ftp_control_auth_callback_t callback, void *callback_arg)
Authenticate a GridFTP Client Connection.
Definition: globus_ftp_control_server.c:1235
enum globus_ftp_control_mode_e globus_ftp_control_mode_t
GridFTP MODE values.
globus_result_t globus_ftp_control_data_write_stripe(globus_ftp_control_handle_t *handle, globus_byte_t *buffer, globus_size_t length, globus_off_t offset, globus_bool_t eof, int stripe_ndx, globus_ftp_control_data_callback_t callback, void *callback_arg)
Write FTP data to a stripe.
Definition: globus_ftp_control_data.c:5936
enum globus_ftp_control_tcpbuffer_mode_e globus_ftp_control_tcpbuffer_mode_t
globus_result_t globus_ftp_control_command_destroy(globus_ftp_control_command_t *command)
Destroy a GridFTP command.
Definition: globus_ftp_control_server.c:624
globus_result_t globus_ftp_control_server_listen_ex(globus_ftp_control_server_t *handle, globus_io_attr_t *attr, unsigned short *port, globus_ftp_control_server_callback_t callback, void *callback_arg)
Listen on for FTP Client Connections.
Definition: globus_ftp_control_server.c:318
void(* globus_ftp_control_auth_callback_t)(void *callback_arg, struct globus_ftp_control_handle_s *handle, globus_object_t *error, globus_ftp_control_auth_info_t *auth_result)
Definition: globus_ftp_control.h:601
Definition: globus_ftp_control.h:92
globus_result_t globus_ftp_control_command_copy(globus_ftp_control_command_t *dest, globus_ftp_control_command_t *src)
Copy of GridFTP command.
Definition: globus_ftp_control_server.c:694
globus_result_t globus_ftp_control_create_data_info(globus_ftp_control_handle_t *handle, globus_ftp_control_data_write_info_t *data_info, globus_byte_t *buffer, globus_size_t length, globus_off_t offset, globus_bool_t eof, globus_ftp_control_data_callback_t callback, void *callback_arg)
Create a globus_ftp_control_data_write_info_t structure.
Definition: globus_ftp_control_data.c:5739
Definition: globus_ftp_control.h:331
struct globus_ftp_control_auth_info_s globus_ftp_control_auth_info_t
Authentication Values.
globus_result_t globus_ftp_control_data_send_eof(globus_ftp_control_handle_t *handle, int count[], int array_size, globus_bool_t eof_message, globus_ftp_control_callback_t cb, void *user_arg)
Send EOF.
Definition: globus_ftp_control_data.c:1923
globus_result_t globus_ftp_control_local_spas(globus_ftp_control_handle_t *handle, globus_ftp_control_host_port_t addresses[], unsigned int num_addresses)
Create multiple passive sockets.
Definition: globus_ftp_control_data.c:2980
Definition: globus_ftp_control.h:90
Definition: globus_ftp_control.h:66
Control DCAU union.
Definition: globus_ftp_control.h:156
globus_ftp_control_structure_e
Definition: globus_ftp_control.h:209
globus_result_t globus_ftp_control_server_handle_destroy(globus_ftp_control_server_t *handle)
Destroy a GridFTP server handle.
Definition: globus_ftp_control_server.c:199
globus_result_t globus_ftp_control_local_port(globus_ftp_control_handle_t *handle, globus_ftp_control_host_port_t *address)
Set remote data address.
Definition: globus_ftp_control_data.c:3008
globus_ftp_control_parallelism_mode_e
Definition: globus_ftp_control.h:220
Definition: globus_ftp_control.h:72
globus_result_t globus_ftp_control_response_copy(globus_ftp_control_response_t *src, globus_ftp_control_response_t *dest)
Copy a response structure.
Definition: globus_ftp_control_client.c:1604
globus_ftp_control_delay_passive_t
Definition: globus_ftp_control.h:184
union globus_ftp_control_dcau_u globus_ftp_control_dcau_t
Control DCAU union.
Definition: globus_ftp_control.h:325
Definition: globus_ftp_control.h:70
globus_result_t globus_ftp_control_send_command(globus_ftp_control_handle_t *handle, const char *cmdspec, globus_ftp_control_response_callback_t callback, void *callback_arg,...)
Send an FTP protocol command.
Definition: globus_ftp_control_client.c:1988
Definition: globus_ftp_control.h:68
globus_result_t globus_ftp_control_data_set_interface(globus_ftp_control_handle_t *handle, const char *interface_addr)
Create an outgoing FTP data connection.
Definition: globus_ftp_control_data.c:1148
Definition: globus_ftp_control.h:172
globus_result_t globus_ftp_control_release_data_info(globus_ftp_control_handle_t *handle, globus_ftp_control_data_write_info_t *data_info)
Release a data_info structure.
Definition: globus_ftp_control_data.c:5838
globus_result_t globus_ftp_control_local_mode(globus_ftp_control_handle_t *handle, globus_ftp_control_mode_t mode)
Set data handle mode.
Definition: globus_ftp_control_data.c:3449
Definition: globus_ftp_control.h:176
Definition: globus_ftp_control.h:94
globus_result_t globus_ftp_control_read_commands(globus_ftp_control_handle_t *handle, globus_ftp_control_command_callback_t callback, void *callback_arg)
Read GridFTP commands.
Definition: globus_ftp_control_server.c:2455
globus_result_t globus_ftp_control_command_init(globus_ftp_control_command_t *command, char *raw_command, globus_ftp_control_auth_info_t *auth_info)
Initialize a GridFTP command.
Definition: globus_ftp_control_server.c:519
Definition: globus_ftp_control.h:112
struct globus_ftp_control_dcau_subject_s globus_ftp_control_dcau_subject_t
Control DCAU subject authentication type.
Control tcpbuffer attribute structure.
Definition: globus_ftp_control.h:367
Control striping attribute union.
Definition: globus_ftp_control.h:194
globus_result_t globus_ftp_control_client_get_connection_info_ex(globus_ftp_control_handle_t *handle, globus_ftp_control_host_port_t *local_info, globus_ftp_control_host_port_t *remote_info)
Not documented yet.
Definition: globus_ftp_control_client.c:4792
globus_result_t globus_ftp_control_local_layout(globus_ftp_control_handle_t *handle, globus_ftp_control_layout_t *layout, globus_size_t data_size)
Set data layout.
Definition: globus_ftp_control_data.c:5463
globus_result_t globus_ftp_control_data_connect_write(globus_ftp_control_handle_t *handle, globus_ftp_control_data_connect_callback_t callback, void *user_arg)
Create an outgoing FTP data connection.
Definition: globus_ftp_control_data.c:1231
enum globus_ftp_control_structure_e globus_ftp_control_structure_t
globus_result_t globus_ftp_control_force_close(globus_ftp_control_handle_t *handle, globus_ftp_control_response_callback_t callback, void *callback_arg)
Force a control connection to close.
Definition: globus_ftp_control_client.c:3760
globus_result_t globus_ftp_control_get_pbsz(globus_ftp_control_handle_t *handle, unsigned long *bufsize)
Get data channel protection buffer size.
Definition: globus_ftp_control_data.c:4347
Definition: globus_ftp_control.h:88
globus_result_t globus_ftp_control_local_send_eof(globus_ftp_control_handle_t *handle, globus_bool_t send_eof)
Enable or disable automatic EOF handling.
Definition: globus_ftp_control_data.c:2607
Automatically set the TCP buffer/window size.
Definition: globus_ftp_control.h:356
globus_result_t globus_ftp_control_local_stru(globus_ftp_control_handle_t *handle, globus_ftp_control_structure_t structure)
Set data channel structure.
Definition: globus_ftp_control_data.c:4399
void(* globus_ftp_control_command_callback_t)(void *callback_arg, struct globus_ftp_control_handle_s *handle, globus_object_t *error, union globus_ftp_control_command_u *command)
Definition: globus_ftp_control.h:571
globus_result_t globus_ftp_control_quit(globus_ftp_control_handle_t *handle, globus_ftp_control_response_callback_t callback, void *callback_arg)
Send a GridFTP QUIT.
Definition: globus_ftp_control_client.c:2695
Control striping round robin attribute structure.
Definition: globus_ftp_control.h:141
void(* globus_ftp_control_callback_t)(void *callback_arg, struct globus_ftp_control_handle_s *handle, globus_object_t *error)
Definition: globus_ftp_control.h:530
union globus_ftp_control_layout_u globus_ftp_control_layout_t
Control striping attribute union.
void(* globus_ftp_control_data_callback_t)(void *callback_arg, globus_ftp_control_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_control.h:795
globus_result_t globus_ftp_control_data_add_channels(globus_ftp_control_handle_t *handle, unsigned int num_channels, unsigned int stripe)
Add data channels.
Definition: globus_ftp_control_data.c:1842
Definition: globus_ftp_control.h:74
globus_ftp_control_dcau_mode_e
GridFTP DCAU values.
Definition: globus_ftp_control.h:103
globus_result_t globus_ftp_control_handle_init(globus_ftp_control_handle_t *handle)
Initialize a globus ftp handle.
Definition: globus_ftp_control_client.c:117
globus_result_t globus_ftp_control_server_listen(globus_ftp_control_server_t *handle, unsigned short *port, globus_ftp_control_server_callback_t callback, void *callback_arg)
Listen on for FTP Client Connections.
Definition: globus_ftp_control_server.c:264
globus_result_t globus_ftp_control_authenticate_ex(globus_ftp_control_handle_t *handle, globus_ftp_control_auth_info_t *auth_info, globus_bool_t use_auth, globus_ftp_control_response_callback_t callback, void *callback_arg)
Authenticate the user to the FTP server.
Definition: globus_ftp_control_client.c:1785
int globus_ftp_control_auth_info_compare(globus_ftp_control_auth_info_t *auth_info_1, globus_ftp_control_auth_info_t *auth_info_2)
Compare authentication information.
Definition: globus_ftp_control_client.c:4038
globus_result_t globus_ftp_control_data_read(globus_ftp_control_handle_t *handle, globus_byte_t *buffer, globus_size_t max_length, globus_ftp_control_data_callback_t callback, void *callback_arg)
Read data from data connections.
Definition: globus_ftp_control_data.c:4690
union globus_ftp_control_parallelism_u globus_ftp_control_parallelism_t
Control parallelism attribute structure.
globus_result_t globus_ftp_control_server_stop(globus_ftp_control_server_t *listener, globus_ftp_control_server_callback_t callback, void *callback_arg)
Stop listening for GridFTP client connections.
Definition: globus_ftp_control_server.c:852
enum globus_ftp_control_type_e globus_ftp_control_type_t
GridFTP TYPE values.
Don't change the TCP buffer/window size from the system default.
Definition: globus_ftp_control.h:337
Definition: globus_ftp_control.h:328
void(* globus_ftp_control_server_callback_t)(void *callback_arg, struct globus_ftp_control_server_s *server_handle, globus_object_t *error)
Server callbackA function with this signature can be used as general callbacks for the GridFTP server...
Definition: globus_ftp_control.h:1005
globus_result_t globus_ftp_control_data_force_close(globus_ftp_control_handle_t *control_handle, globus_ftp_control_callback_t destroy_callback, void *destroy_callback_arg)
Close data connections.
Definition: globus_ftp_control_data.c:7956
enum globus_ftp_control_parallelism_mode_e globus_ftp_control_parallelism_mode_t
globus_result_t globus_ftp_control_data_connect_read(globus_ftp_control_handle_t *handle, globus_ftp_control_data_connect_callback_t callback, void *user_arg)
Create an incoming FTP data connection.
Definition: globus_ftp_control_data.c:1036
globus_result_t globus_ftp_control_data_query_channels(globus_ftp_control_handle_t *handle, unsigned int *num_channels, unsigned int stripe)
Number of data channels.
Definition: globus_ftp_control_data.c:2294
void(* globus_ftp_control_response_callback_t)(void *callback_arg, struct globus_ftp_control_handle_s *handle, globus_object_t *error, globus_ftp_control_response_t *ftp_response)
Definition: globus_ftp_control.h:510
struct globus_ftp_control_round_robin_s globus_ftp_control_round_robin_t
Control striping round robin attribute structure.
Definition: globus_ftp_control.h:174
globus_result_t globus_ftp_control_data_remove_channels(globus_ftp_control_handle_t *handle, unsigned int num_channels, unsigned int stripe)
Remove Data Channels.
Definition: globus_ftp_control_data.c:2188
globus_result_t globus_ftp_control_server_accept(globus_ftp_control_server_t *listener, globus_ftp_control_handle_t *handle, globus_ftp_control_callback_t callback, void *callback_arg)
Accept a Client Connection.
Definition: globus_ftp_control_server.c:1011
globus_result_t globus_ftp_control_data_write(globus_ftp_control_handle_t *handle, globus_byte_t *buffer, globus_size_t length, globus_off_t offset, globus_bool_t eof, globus_ftp_control_data_callback_t callback, void *callback_arg)
Write data to data connections.
Definition: globus_ftp_control_data.c:4486
globus_ftp_control_tcpbuffer_mode_e
Definition: globus_ftp_control.h:322
struct globus_ftp_control_tcpbuffer_automatic_s globus_ftp_control_tcpbuffer_automatic_t
Automatically set the TCP buffer/window size.
Definition: globus_ftp_control.h:178
globus_result_t globus_ftp_control_set_force_order(globus_ftp_control_handle_t *handle, globus_bool_t order_data, globus_off_t starting_offset)
Set data handle to return read mode E data in order.
Definition: globus_ftp_control_data.c:3524
globus_result_t globus_ftp_control_local_tcp_buffer(globus_ftp_control_handle_t *handle, globus_ftp_control_tcpbuffer_t *tcp_buffer)
Set data handle TCP buffer size.
Definition: globus_ftp_control_data.c:3596
globus_result_t globus_ftp_control_data_get_total_data_channels(globus_ftp_control_handle_t *handle, unsigned int *num_channels, unsigned int stripe_ndx)
Get Total Data Channels For a Stripe.
Definition: globus_ftp_control_data.c:2384
enum globus_ftp_control_dcau_mode_e globus_ftp_control_dcau_mode_t
GridFTP DCAU values.
Definition: globus_ftp_control.h:86
globus_result_t globus_ftp_control_local_type(globus_ftp_control_handle_t *handle, globus_ftp_control_type_t type, int form_code)
Set control handle TYPE value.
Definition: globus_ftp_control_data.c:3278
globus_result_t globus_ftp_control_abort(globus_ftp_control_handle_t *handle, globus_ftp_control_response_callback_t callback, void *callback_arg)
Send a GridFTP ABORT.
Definition: globus_ftp_control_client.c:2413
Set the TCP buffer/window size to a fixed value.
Definition: globus_ftp_control.h:346
Control DCAU subject authentication type.
Definition: globus_ftp_control.h:118
globus_result_t globus_ftp_control_ipv6_allow(globus_ftp_control_handle_t *handle, globus_bool_t allow)
Not documented yet.
Definition: globus_ftp_control_client.c:5085
globus_result_t globus_ftp_control_local_dcau(globus_ftp_control_handle_t *handle, const globus_ftp_control_dcau_t *dcau, gss_cred_id_t delegated_credential_handle)
Set data channel DCAU.
Definition: globus_ftp_control_data.c:3935
globus_result_t globus_ftp_control_local_spor(globus_ftp_control_handle_t *handle, globus_ftp_control_host_port_t addresses[], unsigned int num_addresses)
Set remote data addresses.
Definition: globus_ftp_control_data.c:3188
globus_ftp_control_type_e
GridFTP TYPE values.
Definition: globus_ftp_control.h:63
globus_result_t globus_ftp_control_local_pbsz(globus_ftp_control_handle_t *handle, unsigned long bufsize)
Set data channel protection buffer size.
Definition: globus_ftp_control_data.c:4284
union globus_ftp_control_tcpbuffer_t globus_ftp_control_tcpbuffer_t
Control tcpbuffer attribute structure.
globus_result_t globus_ftp_control_authenticate(globus_ftp_control_handle_t *handle, globus_ftp_control_auth_info_t *auth_info, globus_bool_t use_auth, globus_ftp_control_response_callback_t callback, void *callback_arg)
Authenticate the user to the FTP server.
Definition: globus_ftp_control_client.c:1733
globus_result_t globus_ftp_control_handle_destroy(globus_ftp_control_handle_t *handle)
Destroy a globus ftp handle.
Definition: globus_ftp_control_client.c:220
globus_result_t globus_ftp_control_auth_info_init(globus_ftp_control_auth_info_t *auth_info, gss_cred_id_t credential_handle, globus_bool_t encrypt, char *user, char *password, char *account, char *subject)
Initialize authentication information.
Definition: globus_ftp_control_client.c:3973
globus_ftp_control_striping_mode_e
GridFTP Striping Types.
Definition: globus_ftp_control.h:131
globus_ftp_control_mode_e
GridFTP MODE values.
Definition: globus_ftp_control.h:83
globus_result_t globus_ftp_control_send_response(globus_ftp_control_handle_t *handle, const char *respspec, globus_ftp_control_callback_t callback, void *callback_arg,...)
Send a GridFTP response.
Definition: globus_ftp_control_server.c:2755
globus_result_t globus_X_ftp_control_data_write_stripe(globus_ftp_control_handle_t *handle, globus_byte_t *buffer, globus_size_t length, globus_off_t offset, globus_bool_t eof, int stripe_ndx, globus_ftp_control_data_write_info_t *data_info)
Write data to a stripe from an enqueue callback.
Definition: globus_ftp_control_data.c:6067
globus_result_t globus_ftp_control_connect(globus_ftp_control_handle_t *handle, char *host, unsigned short port, globus_ftp_control_response_callback_t callback, void *callback_arg)
Create a new control connection to an FTP server.
Definition: globus_ftp_control_client.c:579
globus_result_t globus_ftp_control_response_destroy(globus_ftp_control_response_t *response)
Free the memory associated with a response.
Definition: globus_ftp_control_client.c:1569
unsigned long globus_ftp_control_auth_requirements_t
Definition: globus_ftp_control.h:617
Authentication Values.
Definition: globus_ftp_control.h:467
Definition: globus_ftp_control.h:108
Control parallelism attribute structure.
Definition: globus_ftp_control.h:245
globus_ftp_control_protection_t
GridFTP Protection Types.
Definition: globus_ftp_control.h:169
globus_result_t globus_ftp_control_local_parallelism(globus_ftp_control_handle_t *handle, globus_ftp_control_parallelism_t *parallelism)
Set control handle parallelism.
Definition: globus_ftp_control_data.c:2723