22 #ifndef GLOBUS_INCLUDE_FTP_CONTROL_H
23 #define GLOBUS_INCLUDE_FTP_CONTROL_H 1
25 #include "globus_common.h"
26 #include "globus_error_string.h"
27 #include "globus_io.h"
28 #include "globus_gss_assist.h"
29 #include "globus_handle_table.h"
35 #ifndef GLOBUS_GLOBAL_DOCUMENT_SET
148 GLOBUS_FTP_CONTROL_STRIPING_NONE,
149 GLOBUS_FTP_CONTROL_STRIPING_PARTITIONED,
150 GLOBUS_FTP_CONTROL_STRIPING_BLOCKED_ROUND_ROBIN
159 globus_size_t block_size;
162 typedef struct globus_ftp_control_partitioned_s
166 } globus_ftp_control_partitioned_t;
201 GLOBUS_FTP_CONTROL_DELAYED_SINGLE_PASSIVE =
'S',
202 GLOBUS_FTP_CONTROL_DELAYED_STRIPED_PASSIVE =
'M',
203 GLOBUS_FTP_CONTROL_NORMAL_PASSIVE =
'N'
213 globus_ftp_control_partitioned_t partitioned;
226 GLOBUS_FTP_CONTROL_STRUCTURE_NONE,
227 GLOBUS_FTP_CONTROL_STRUCTURE_FILE,
228 GLOBUS_FTP_CONTROL_STRUCTURE_PAGE,
229 GLOBUS_FTP_CONTROL_STRUCTURE_RECORD
237 GLOBUS_FTP_CONTROL_PARALLELISM_NONE,
238 GLOBUS_FTP_CONTROL_PARALLELISM_FIXED
245 typedef struct globus_i_ftp_parallelism_base_s
249 } globus_i_ftp_parallelism_base_t;
251 typedef struct globus_ftp_parallelism_fixed_s
255 } globus_ftp_parallelism_fixed_t;
263 globus_i_ftp_parallelism_base_t base;
264 globus_ftp_parallelism_fixed_t fixed;
267 typedef struct globus_ftp_control_host_port_s
281 } globus_ftp_control_host_port_t;
308 #define GLOBUS_FTP_CONTROL_MODULE (&globus_i_ftp_control_module)
310 extern globus_module_descriptor_t globus_i_ftp_control_module;
312 #define _FCSL(s) globus_common_i18n_get_string(GLOBUS_FTP_CONTROL_MODULE,s)
316 typedef enum globus_ftp_control_response_class_e
318 GLOBUS_FTP_UNKNOWN_REPLY,
319 GLOBUS_FTP_POSITIVE_PRELIMINARY_REPLY,
320 GLOBUS_FTP_POSITIVE_COMPLETION_REPLY,
321 GLOBUS_FTP_POSITIVE_INTERMEDIATE_REPLY,
322 GLOBUS_FTP_TRANSIENT_NEGATIVE_COMPLETION_REPLY,
323 GLOBUS_FTP_PERMANENT_NEGATIVE_COMPLETION_REPLY
324 } globus_ftp_control_response_class_t;
327 typedef struct globus_ftp_control_response_s
330 globus_ftp_control_response_class_t response_class;
331 globus_byte_t * response_buffer;
332 globus_size_t response_length;
333 globus_size_t response_buffer_size;
334 } globus_ftp_control_response_t;
374 unsigned int initial_size;
375 unsigned int minimum_size;
376 unsigned int maximum_size;
395 typedef enum globus_ftp_data_connection_state_e
397 GLOBUS_FTP_DATA_STATE_NONE,
398 GLOBUS_FTP_DATA_STATE_PASV,
399 GLOBUS_FTP_DATA_STATE_PORT,
400 GLOBUS_FTP_DATA_STATE_SPOR,
401 GLOBUS_FTP_DATA_STATE_CONNECT_READ,
402 GLOBUS_FTP_DATA_STATE_CONNECT_WRITE,
403 GLOBUS_FTP_DATA_STATE_CLOSING,
404 GLOBUS_FTP_DATA_STATE_EOF,
405 GLOBUS_FTP_DATA_STATE_SEND_EOF
406 } globus_ftp_data_connection_state_t;
408 #define GLOBUS_FTP_CONTROL_READ_BUFFER_SIZE 1000
409 #define GLOBUS_FTP_CONTROL_HOSTENT_BUFFER_SIZE 8192
413 GLOBUS_FTP_CONTROL_UNCONNECTED,
414 GLOBUS_FTP_CONTROL_CONNECTING,
415 GLOBUS_FTP_CONTROL_CONNECTED,
416 GLOBUS_FTP_CONTROL_CLOSING
418 globus_ftp_cc_state_t;
420 struct globus_ftp_control_handle_s;
421 struct globus_i_ftp_dc_transfer_handle_t;
423 union globus_ftp_control_command_u;
425 typedef enum globus_ftp_control_command_code_e
427 GLOBUS_FTP_CONTROL_COMMAND_OPTS,
428 GLOBUS_FTP_CONTROL_COMMAND_AUTH,
429 GLOBUS_FTP_CONTROL_COMMAND_ADAT,
430 GLOBUS_FTP_CONTROL_COMMAND_SPAS,
431 GLOBUS_FTP_CONTROL_COMMAND_SPOR,
432 GLOBUS_FTP_CONTROL_COMMAND_PORT,
433 GLOBUS_FTP_CONTROL_COMMAND_PASV,
434 GLOBUS_FTP_CONTROL_COMMAND_SITE,
435 GLOBUS_FTP_CONTROL_COMMAND_TYPE,
436 GLOBUS_FTP_CONTROL_COMMAND_DELE,
437 GLOBUS_FTP_CONTROL_COMMAND_FEAT,
438 GLOBUS_FTP_CONTROL_COMMAND_ERET,
439 GLOBUS_FTP_CONTROL_COMMAND_ESTO,
440 GLOBUS_FTP_CONTROL_COMMAND_RMD,
441 GLOBUS_FTP_CONTROL_COMMAND_MKD,
442 GLOBUS_FTP_CONTROL_COMMAND_PWD,
443 GLOBUS_FTP_CONTROL_COMMAND_CWD,
444 GLOBUS_FTP_CONTROL_COMMAND_CDUP,
445 GLOBUS_FTP_CONTROL_COMMAND_NLST,
446 GLOBUS_FTP_CONTROL_COMMAND_HELP,
447 GLOBUS_FTP_CONTROL_COMMAND_STAT,
448 GLOBUS_FTP_CONTROL_COMMAND_NOOP,
449 GLOBUS_FTP_CONTROL_COMMAND_SYST,
450 GLOBUS_FTP_CONTROL_COMMAND_STOU,
451 GLOBUS_FTP_CONTROL_COMMAND_QUIT,
452 GLOBUS_FTP_CONTROL_COMMAND_REIN,
453 GLOBUS_FTP_CONTROL_COMMAND_ABOR,
454 GLOBUS_FTP_CONTROL_COMMAND_ALLO,
455 GLOBUS_FTP_CONTROL_COMMAND_MODE,
456 GLOBUS_FTP_CONTROL_COMMAND_STRU,
457 GLOBUS_FTP_CONTROL_COMMAND_ACCT,
458 GLOBUS_FTP_CONTROL_COMMAND_PASS,
459 GLOBUS_FTP_CONTROL_COMMAND_USER,
460 GLOBUS_FTP_CONTROL_COMMAND_SMNT,
461 GLOBUS_FTP_CONTROL_COMMAND_LIST,
462 GLOBUS_FTP_CONTROL_COMMAND_RETR,
463 GLOBUS_FTP_CONTROL_COMMAND_REST,
464 GLOBUS_FTP_CONTROL_COMMAND_SBUF,
465 GLOBUS_FTP_CONTROL_COMMAND_SIZE,
466 GLOBUS_FTP_CONTROL_COMMAND_STOR,
467 GLOBUS_FTP_CONTROL_COMMAND_APPE,
468 GLOBUS_FTP_CONTROL_COMMAND_RNFR,
469 GLOBUS_FTP_CONTROL_COMMAND_RNTO,
470 GLOBUS_FTP_CONTROL_COMMAND_LANG,
471 GLOBUS_FTP_CONTROL_COMMAND_UNKNOWN
472 } globus_ftp_control_command_code_t;
485 globus_bool_t authenticated;
486 globus_ftp_control_command_code_t prev_cmd;
487 char * auth_gssapi_subject;
488 gss_ctx_id_t auth_gssapi_context;
489 gss_cred_id_t credential_handle;
490 globus_bool_t locally_acquired_credential;
491 gss_name_t target_name;
496 gss_cred_id_t delegated_credential_handle;
497 globus_bool_t encrypt;
528 struct globus_ftp_control_handle_s * handle,
529 globus_object_t * error,
530 globus_ftp_control_response_t * ftp_response);
548 struct globus_ftp_control_handle_s * handle,
549 globus_object_t * error);
553 (*globus_ftp_control_data_connect_callback_t)(
555 struct globus_ftp_control_handle_s * handle,
556 unsigned int stripe_ndx,
557 globus_bool_t reused,
558 globus_object_t * error);
589 struct globus_ftp_control_handle_s * handle,
590 globus_object_t * error,
591 union globus_ftp_control_command_u * command);
619 struct globus_ftp_control_handle_s * handle,
620 globus_object_t * error,
635 #define GLOBUS_FTP_CONTROL_AUTH_REQ_NONE 1
636 #define GLOBUS_FTP_CONTROL_AUTH_REQ_GSSAPI 2
637 #define GLOBUS_FTP_CONTROL_AUTH_REQ_USER 4
638 #define GLOBUS_FTP_CONTROL_AUTH_REQ_PASS 8
639 #define GLOBUS_FTP_CONTROL_AUTH_REQ_ACCT 16
641 typedef struct globus_ftp_control_rw_queue_element_s
646 globus_byte_t * write_buf;
648 globus_io_write_callback_t write_callback;
649 globus_io_read_callback_t read_callback;
650 globus_bool_t expect_response;
652 globus_ftp_control_rw_queue_element_t;
654 typedef struct globus_ftp_cc_handle_s
656 globus_io_attr_t io_attr;
657 globus_netlogger_handle_t nl_handle;
658 globus_bool_t nl_handle_set;
660 globus_fifo_t readers;
661 globus_fifo_t writers;
663 void * command_cb_arg;
667 void * accept_cb_arg;
671 globus_ftp_control_auth_requirements_t auth_requirements;
672 globus_ftp_control_response_t response;
673 globus_byte_t * read_buffer;
674 globus_size_t read_buffer_size;
675 globus_size_t bytes_read;
677 globus_bool_t use_auth;
678 globus_io_handle_t io_handle;
679 globus_ftp_cc_state_t cc_state;
680 char serverhost[MAXHOSTNAMELEN];
681 struct hostent server;
683 GLOBUS_FTP_CONTROL_HOSTENT_BUFFER_SIZE];
684 globus_list_t * list_elem;
686 globus_mutex_t mutex;
687 globus_bool_t do_close;
691 globus_object_t * close_result;
692 globus_ftp_control_response_t quit_response;
693 globus_bool_t signal_deactivate;
695 globus_ftp_cc_handle_t;
697 struct globus_ftp_control_data_write_info_s;
699 typedef globus_result_t (*globus_ftp_control_layout_func_t)(
700 struct globus_ftp_control_handle_s * handle,
701 struct globus_ftp_control_data_write_info_s * data_info,
702 globus_byte_t * buffer,
703 globus_size_t length,
710 typedef globus_result_t (*globus_ftp_control_layout_verify_func_t)(
713 typedef struct globus_i_ftp_dc_handle_s
721 globus_ftp_data_connection_state_t state;
730 globus_io_attr_t io_attr;
731 char * interface_addr;
733 struct globus_i_ftp_dc_transfer_handle_s * transfer_handle;
734 globus_list_t * transfer_list;
735 globus_bool_t send_eof;
737 globus_ftp_control_layout_func_t layout_func;
740 void * layout_user_arg;
742 globus_bool_t initialized;
743 globus_mutex_t mutex;
746 void * close_callback_arg;
748 globus_netlogger_handle_t nl_io_handle;
749 globus_bool_t nl_io_handle_set;
751 globus_netlogger_handle_t nl_ftp_handle;
752 globus_bool_t nl_ftp_handle_set;
754 globus_object_t * connect_error;
755 struct globus_ftp_control_handle_s * whos_my_daddy;
756 } globus_i_ftp_dc_handle_t;
758 typedef struct globus_ftp_control_handle_s
760 struct globus_i_ftp_dc_handle_s dc_handle;
761 struct globus_ftp_cc_handle_s cc_handle;
762 } globus_ftp_control_handle_t;
812 globus_ftp_control_handle_t * handle,
813 globus_object_t * error,
814 globus_byte_t * buffer,
815 globus_size_t length,
819 typedef struct globus_ftp_control_data_write_info_s
823 globus_handle_t callback_table_handle;
824 } globus_ftp_control_data_write_info_t;
827 globus_ftp_control_layout_register_func(
829 globus_ftp_control_layout_func_t enqueue_func,
830 globus_ftp_control_layout_verify_func_t verify_func);
833 globus_X_ftp_control_local_layout(
834 globus_ftp_control_handle_t * handle,
840 globus_ftp_control_handle_t * handle,
842 globus_size_t data_size);
848 globus_ftp_control_set_netlogger(
849 globus_ftp_control_handle_t * handle,
850 globus_netlogger_handle_t * nl_handle,
851 globus_bool_t nl_ftp_control,
852 globus_bool_t nl_globus_io);
856 globus_ftp_control_handle_t * handle,
857 const char * interface_addr);
860 globus_i_ftp_control_data_set_stack(
861 globus_ftp_control_handle_t * handle,
862 globus_xio_stack_t stack);
865 globus_i_ftp_control_data_get_attr(
866 globus_ftp_control_handle_t * handle,
867 globus_xio_attr_t * attr);
870 globus_i_ftp_control_client_get_attr(
871 globus_ftp_control_handle_t * handle,
872 globus_xio_attr_t * attr);
875 globus_i_ftp_control_client_set_stack(
876 globus_ftp_control_handle_t * handle,
877 globus_xio_stack_t stack);
880 globus_i_ftp_control_load_xio_drivers(
881 char * driver_string,
882 globus_list_t ** driver_list);
885 globus_i_ftp_control_unload_xio_drivers(
886 globus_list_t * driver_list);
889 globus_i_ftp_control_create_stack(
890 globus_ftp_control_handle_t * handle,
891 globus_list_t * driver_list,
892 globus_xio_stack_t * stack);
903 globus_ftp_control_layout_blocked_verify(
907 globus_ftp_control_layout_blocked_user_arg_create();
910 globus_ftp_control_layout_blocked_user_arg_destroy(
914 globus_ftp_control_layout_blocked(
915 globus_ftp_control_handle_t * handle,
916 globus_ftp_control_data_write_info_t * data_info,
917 globus_byte_t * buffer,
918 globus_size_t length,
919 globus_off_t in_offset,
929 globus_ftp_control_layout_partitioned_verify(
933 globus_ftp_control_layout_partitioned_user_arg_create(
934 globus_size_t file_size);
937 globus_ftp_control_layout_partitioned_user_arg_destroy(
941 globus_ftp_control_layout_partitioned(
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,
946 globus_off_t in_offset,
957 globus_ftp_control_handle_t * handle,
958 globus_ftp_control_data_write_info_t * data_info,
959 globus_byte_t * buffer,
960 globus_size_t length,
964 void * callback_arg);
968 globus_ftp_control_handle_t * handle,
969 globus_ftp_control_data_write_info_t * data_info);
973 globus_ftp_control_handle_t * handle,
974 globus_byte_t * buffer,
975 globus_size_t length,
980 void * callback_arg);
984 globus_ftp_control_handle_t * handle,
985 globus_byte_t * buffer,
986 globus_size_t length,
990 globus_ftp_control_data_write_info_t * data_info);
1003 struct globus_ftp_control_server_s;
1021 void * callback_arg,
1022 struct globus_ftp_control_server_s * server_handle,
1023 globus_object_t * error);
1026 typedef enum globus_ftp_control_server_state_n
1028 GLOBUS_FTP_CONTROL_SERVER_LISTENING,
1029 GLOBUS_FTP_CONTROL_SERVER_DEAF
1031 globus_ftp_control_server_state_t;
1033 typedef struct globus_ftp_control_server_s
1035 globus_io_handle_t io_handle;
1036 globus_ftp_control_server_state_t state;
1038 void * callback_arg;
1039 globus_list_t * list_elem;
1040 globus_mutex_t mutex;
1041 } globus_ftp_control_server_t;
1045 typedef struct globus_ftp_control_command_str_s
1047 globus_ftp_control_command_code_t code;
1050 } globus_ftp_control_command_str_t;
1056 typedef struct globus_ftp_control_command_stru_s
1058 globus_ftp_control_command_code_t code;
1061 } globus_ftp_control_command_stru_t;
1063 typedef struct globus_ftp_control_command_port_s
1065 globus_ftp_control_command_code_t code;
1067 globus_ftp_control_host_port_t host_port;
1068 } globus_ftp_control_command_port_t;
1070 typedef struct globus_ftp_control_command_spor_s
1072 globus_ftp_control_command_code_t code;
1075 globus_ftp_control_host_port_t * host_port;
1076 } globus_ftp_control_command_spor_t;
1078 typedef struct globus_ftp_control_command_mode_s
1080 globus_ftp_control_command_code_t code;
1083 } globus_ftp_control_command_mode_t;
1085 typedef struct globus_ftp_control_command_allo_s
1087 globus_ftp_control_command_code_t code;
1091 } globus_ftp_control_command_allo_t;
1093 typedef struct globus_ftp_control_command_sbuf_s
1095 globus_ftp_control_command_code_t code;
1098 } globus_ftp_control_command_sbuf_t;
1109 typedef enum globus_ftp_control_type_option_e
1111 GLOBUS_FTP_CONTROL_TYPE_NO_OPTION,
1112 GLOBUS_FTP_CONTROL_TYPE_OPTION_N,
1113 GLOBUS_FTP_CONTROL_TYPE_OPTION_T,
1114 GLOBUS_FTP_CONTROL_TYPE_OPTION_C
1115 } globus_ftp_control_type_option_t;
1117 typedef struct globus_ftp_control_command_type_s
1119 globus_ftp_control_command_code_t code;
1122 globus_ftp_control_type_option_t option;
1123 unsigned int bytesize;
1124 } globus_ftp_control_command_type_t;
1126 typedef enum globus_ftp_control_auth_type_e
1128 GLOBUS_FTP_CONTROL_AUTH_GSSAPI,
1129 GLOBUS_FTP_CONTROL_AUTH_UNKNOWN
1130 } globus_ftp_control_auth_type_t;
1132 typedef struct globus_ftp_control_command_auth_s
1134 globus_ftp_control_command_code_t code;
1136 globus_ftp_control_auth_type_t type;
1137 } globus_ftp_control_command_auth_t;
1139 typedef struct globus_ftp_control_command_opts_s
1141 globus_ftp_control_command_code_t code;
1145 } globus_ftp_control_command_opts_t;
1151 typedef globus_ftp_control_command_str_t
1152 globus_ftp_control_command_site_t;
1154 typedef globus_ftp_control_command_str_t
1155 globus_ftp_control_command_acct_t;
1157 typedef globus_ftp_control_command_str_t
1158 globus_ftp_control_command_cwd_t;
1160 typedef globus_ftp_control_command_str_t
1161 globus_ftp_control_command_cdup_t;
1163 typedef globus_ftp_control_command_str_t
1164 globus_ftp_control_command_pass_t;
1166 typedef globus_ftp_control_command_str_t
1167 globus_ftp_control_command_user_t;
1169 typedef globus_ftp_control_command_str_t
1170 globus_ftp_control_command_smnt_t;
1172 typedef globus_ftp_control_command_str_t
1173 globus_ftp_control_command_list_t;
1175 typedef globus_ftp_control_command_str_t
1176 globus_ftp_control_command_retr_t;
1178 typedef globus_ftp_control_command_str_t
1179 globus_ftp_control_command_size_t;
1181 typedef globus_ftp_control_command_str_t
1182 globus_ftp_control_command_stor_t;
1184 typedef globus_ftp_control_command_str_t
1185 globus_ftp_control_command_appe_t;
1187 typedef globus_ftp_control_command_str_t
1188 globus_ftp_control_command_rnfr_t;
1190 typedef globus_ftp_control_command_str_t
1191 globus_ftp_control_command_rnto_t;
1193 typedef globus_ftp_control_command_str_t
1194 globus_ftp_control_command_feat_t;
1196 typedef globus_ftp_control_command_str_t
1197 globus_ftp_control_command_dele_t;
1199 typedef globus_ftp_control_command_str_t
1200 globus_ftp_control_command_rmd_t;
1202 typedef globus_ftp_control_command_str_t
1203 globus_ftp_control_command_mkd_t;
1205 typedef globus_ftp_control_command_str_t
1206 globus_ftp_control_command_nlst_t;
1208 typedef globus_ftp_control_command_str_t
1209 globus_ftp_control_command_help_t;
1211 typedef globus_ftp_control_command_str_t
1212 globus_ftp_control_command_stou_t;
1214 typedef globus_ftp_control_command_str_t
1215 globus_ftp_control_command_rest_t;
1217 typedef globus_ftp_control_command_str_t
1218 globus_ftp_control_command_eret_t;
1220 typedef globus_ftp_control_command_str_t
1221 globus_ftp_control_command_esto_t;
1226 typedef globus_ftp_control_command_str_t
1227 globus_ftp_control_command_pasv_t;
1229 typedef globus_ftp_control_command_str_t
1230 globus_ftp_control_command_spas_t;
1232 typedef globus_ftp_control_command_str_t
1233 globus_ftp_control_command_stat_t;
1235 typedef globus_ftp_control_command_str_t
1236 globus_ftp_control_command_noop_t;
1238 typedef globus_ftp_control_command_str_t
1239 globus_ftp_control_command_syst_t;
1241 typedef globus_ftp_control_command_str_t
1242 globus_ftp_control_command_quit_t;
1244 typedef globus_ftp_control_command_str_t
1245 globus_ftp_control_command_rein_t;
1247 typedef globus_ftp_control_command_str_t
1248 globus_ftp_control_command_abor_t;
1250 typedef globus_ftp_control_command_str_t
1251 globus_ftp_control_command_pwd_t;
1253 typedef globus_ftp_control_command_str_t
1254 globus_ftp_control_command_adat_t;
1259 typedef union globus_ftp_control_command_u
1261 globus_ftp_control_command_code_t code;
1262 globus_ftp_control_command_site_t site;
1263 globus_ftp_control_command_sbuf_t sbuf;
1264 globus_ftp_control_command_type_t type;
1265 globus_ftp_control_command_rest_t rest;
1266 globus_ftp_control_command_allo_t allo;
1267 globus_ftp_control_command_eret_t eret;
1268 globus_ftp_control_command_esto_t esto;
1269 globus_ftp_control_command_mode_t mode;
1270 globus_ftp_control_command_port_t port;
1271 globus_ftp_control_command_spor_t spor;
1272 globus_ftp_control_command_stru_t stru;
1273 globus_ftp_control_command_auth_t auth;
1275 globus_ftp_control_command_adat_t adat;
1276 globus_ftp_control_command_acct_t acct;
1277 globus_ftp_control_command_cwd_t cwd;
1278 globus_ftp_control_command_cdup_t cdup;
1279 globus_ftp_control_command_pass_t pass;
1280 globus_ftp_control_command_user_t user;
1281 globus_ftp_control_command_smnt_t smnt;
1282 globus_ftp_control_command_opts_t opts;
1283 globus_ftp_control_command_list_t list;
1284 globus_ftp_control_command_retr_t retr;
1285 globus_ftp_control_command_size_t size;
1286 globus_ftp_control_command_stor_t stor;
1287 globus_ftp_control_command_appe_t appe;
1288 globus_ftp_control_command_rnfr_t rnfr;
1289 globus_ftp_control_command_rnto_t rnto;
1290 globus_ftp_control_command_dele_t dele;
1291 globus_ftp_control_command_feat_t feat;
1292 globus_ftp_control_command_rmd_t rmd;
1293 globus_ftp_control_command_mkd_t mkd;
1294 globus_ftp_control_command_nlst_t nlst;
1295 globus_ftp_control_command_help_t help;
1297 globus_ftp_control_command_pasv_t pasv;
1298 globus_ftp_control_command_spas_t spas;
1299 globus_ftp_control_command_stat_t stat;
1300 globus_ftp_control_command_noop_t noop;
1301 globus_ftp_control_command_syst_t syst;
1302 globus_ftp_control_command_stou_t stou;
1303 globus_ftp_control_command_quit_t quit;
1304 globus_ftp_control_command_rein_t rein;
1305 globus_ftp_control_command_abor_t abor;
1306 globus_ftp_control_command_pwd_t pwd;
1308 globus_ftp_control_command_str_t base;
1309 } globus_ftp_control_command_t;
1312 typedef struct globus_ftp_data_server_s
1315 } globus_ftp_data_server_t;
1325 gss_cred_id_t credential_handle,
1326 globus_bool_t encrypt,
1339 globus_ftp_control_handle_t * handle);
1343 globus_ftp_control_handle_t * handle);
1347 globus_ftp_control_server_t * handle);
1351 globus_ftp_control_server_t * handle);
1355 globus_ftp_control_response_t * response);
1359 globus_ftp_control_response_t * src,
1360 globus_ftp_control_response_t * dest);
1365 globus_ftp_control_handle_t * handle,
1367 unsigned short port,
1369 void * callback_arg);
1373 globus_ftp_control_handle_t * handle,
1375 globus_bool_t use_auth,
1377 void * callback_arg);
1381 globus_ftp_control_handle_t * handle,
1383 globus_bool_t use_auth,
1385 void * callback_arg);
1389 globus_ftp_control_handle_t * handle,
1391 void * callback_arg);
1395 globus_ftp_control_handle_t * handle,
1397 void * callback_arg);
1401 globus_ftp_control_handle_t * handle,
1403 void * callback_arg);
1408 globus_ftp_control_handle_t * handle,
1409 const char * cmdspec,
1411 void * callback_arg,
1416 globus_ftp_control_handle_t * handle,
1417 unsigned long bufsize);
1421 globus_ftp_control_handle_t * handle,
1422 unsigned long * bufsize);
1427 globus_ftp_control_server_t * handle,
1428 unsigned short * port,
1430 void * callback_arg);
1434 globus_ftp_control_server_t * handle,
1435 globus_io_attr_t * attr,
1436 unsigned short * port,
1438 void * callback_arg);
1442 globus_ftp_control_server_t * listener,
1444 void * callback_arg);
1448 globus_ftp_control_server_t * listener,
1449 globus_ftp_control_handle_t * handle,
1451 void * callback_arg);
1455 globus_ftp_control_handle_t * handle,
1456 globus_ftp_control_auth_requirements_t auth_requirements,
1458 void * callback_arg);
1462 globus_ftp_control_handle_t * handle,
1464 void * callback_arg);
1468 globus_ftp_control_handle_t * handle,
1469 const char * respspec,
1471 void * callback_arg,
1475 globus_ftp_control_close(
1476 globus_ftp_control_server_t * listener,
1478 void * callback_arg);
1481 globus_ftp_data_close(
1482 globus_ftp_data_server_t * listener,
1484 void * callback_arg);
1487 globus_i_ftp_queue_size(
1488 globus_ftp_control_handle_t * handle,
1494 globus_ftp_control_command_t * dest,
1495 globus_ftp_control_command_t * src);
1499 globus_ftp_control_command_t * command,
1505 globus_ftp_control_command_t * command);
1513 globus_i_ftp_control_data_cc_init(
1514 globus_ftp_control_handle_t * control_handle);
1517 globus_i_ftp_control_data_cc_destroy(
1518 globus_ftp_control_handle_t * control_handle);
1522 globus_ftp_control_handle_t * control_handle,
1524 void * destroy_callback_arg);
1528 globus_ftp_control_handle_t * handle,
1529 globus_bool_t send_eof);
1533 globus_ftp_control_handle_t * handle,
1536 globus_bool_t eof_message,
1541 globus_ftp_control_get_stripe_count(
1542 globus_ftp_control_handle_t * handle,
1543 int * stripe_count);
1547 globus_ftp_control_handle_t * handle,
1548 globus_ftp_control_data_connect_callback_t callback,
1553 globus_ftp_control_handle_t * handle,
1554 globus_ftp_control_data_connect_callback_t callback,
1559 globus_ftp_control_handle_t * handle,
1560 unsigned int num_channels,
1561 unsigned int stripe);
1565 globus_ftp_control_handle_t * handle,
1566 unsigned int num_channels,
1567 unsigned int stripe);
1571 globus_ftp_control_handle_t * handle,
1572 unsigned int * num_channels,
1573 unsigned int stripe);
1577 globus_ftp_control_handle_t * handle,
1578 unsigned int * num_channels,
1579 unsigned int stripe_ndx);
1582 globus_ftp_control_data_get_remote_hosts(
1583 globus_ftp_control_handle_t * handle,
1584 globus_ftp_control_host_port_t * address,
1588 globus_ftp_control_get_parallelism(
1589 globus_ftp_control_handle_t * handle,
1594 globus_ftp_control_handle_t * handle,
1599 globus_ftp_control_handle_t * handle,
1600 globus_ftp_control_host_port_t * address);
1604 globus_ftp_control_handle_t * handle,
1605 globus_ftp_control_host_port_t addresses[],
1606 unsigned int num_addresses);
1610 globus_ftp_control_handle_t * handle,
1611 globus_ftp_control_host_port_t * address);
1615 globus_ftp_control_handle_t * handle,
1616 globus_ftp_control_host_port_t addresses[],
1617 unsigned int num_addresses);
1620 globus_ftp_control_get_spor(
1621 globus_ftp_control_handle_t * handle,
1622 globus_ftp_control_host_port_t addresses[],
1623 unsigned int * num_addresses);
1627 globus_ftp_control_handle_t * handle,
1633 globus_ftp_control_handle_t * handle,
1638 globus_ftp_control_handle_t * handle,
1642 globus_ftp_control_get_mode(
1643 globus_ftp_control_handle_t * handle,
1647 globus_ftp_control_get_type(
1648 globus_ftp_control_handle_t * handle,
1653 globus_ftp_control_handle_t * handle,
1655 gss_cred_id_t delegated_credential_handle);
1658 globus_ftp_control_get_dcau(
1659 globus_ftp_control_handle_t * handle,
1663 globus_ftp_control_local_prot(
1664 globus_ftp_control_handle_t * handle,
1668 globus_ftp_control_get_prot(
1669 globus_ftp_control_handle_t * handle,
1674 globus_ftp_control_handle_t * handle,
1679 globus_ftp_control_handle_t * handle,
1680 globus_byte_t * buffer,
1681 globus_size_t length,
1682 globus_off_t offset,
1685 void * callback_arg);
1689 globus_ftp_control_handle_t * handle,
1690 globus_byte_t * buffer,
1691 globus_size_t max_length,
1693 void * callback_arg);
1696 globus_ftp_control_data_read_all(
1697 globus_ftp_control_handle_t * handle,
1698 globus_byte_t * buffer,
1699 globus_size_t length,
1701 void * callback_arg);
1708 globus_ftp_control_handle_t * handle,
1709 globus_bool_t allow);
1715 globus_i_ftp_parallelism_copy(
1720 globus_i_ftp_parallelism_get_size(
1724 globus_i_ftp_parallelism_get_min_size(
1728 globus_i_ftp_parallelism_get_max_size(
1732 globus_ftp_control_host_port_init(
1733 globus_ftp_control_host_port_t * host_port,
1735 unsigned short port);
1738 globus_ftp_control_host_port_destroy(
1739 globus_ftp_control_host_port_t * host_port);
1742 globus_ftp_control_host_port_get_host(
1743 globus_ftp_control_host_port_t * host_port,
1747 globus_ftp_control_host_port_get_port(
1748 globus_ftp_control_host_port_t * host_port);
1751 globus_ftp_control_host_port_copy(
1752 globus_ftp_control_host_port_t * dest,
1753 globus_ftp_control_host_port_t * src);
1755 #define globus_i_ftp_control_client_get_connection_info \
1756 globus_ftp_control_client_get_connection_info
1758 globus_ftp_control_client_get_connection_info(
1759 globus_ftp_control_handle_t * handle,
1761 unsigned short * localport,
1763 unsigned short * remoteport);
1767 globus_ftp_control_handle_t * handle,
1768 globus_ftp_control_host_port_t * local_info,
1769 globus_ftp_control_host_port_t * remote_info);
1772 globus_ftp_control_data_get_socket_buf(
1773 globus_ftp_control_handle_t * handle,
1778 globus_ftp_control_data_get_retransmit_count(
1779 globus_ftp_control_handle_t * handle,
1780 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:2792
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:587
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:164
Definition: globus_ftp_control.h:125
Definition: globus_ftp_control.h:121
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:1247
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:617
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:5840
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:635
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:526
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:329
Definition: globus_ftp_control.h:107
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:705
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:5643
Definition: globus_ftp_control.h:346
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:1904
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:2961
Definition: globus_ftp_control.h:105
Definition: globus_ftp_control.h:81
Control DCAU union.
Definition: globus_ftp_control.h:171
globus_ftp_control_structure_e
Definition: globus_ftp_control.h:224
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:214
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:2989
globus_ftp_control_parallelism_mode_e
Definition: globus_ftp_control.h:235
Definition: globus_ftp_control.h:87
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:1466
globus_ftp_control_delay_passive_t
Definition: globus_ftp_control.h:199
union globus_ftp_control_dcau_u globus_ftp_control_dcau_t
Control DCAU union.
Definition: globus_ftp_control.h:340
Definition: globus_ftp_control.h:85
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:1837
Definition: globus_ftp_control.h:83
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:810
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:1129
Definition: globus_ftp_control.h:187
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:5742
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:3430
Definition: globus_ftp_control.h:191
Definition: globus_ftp_control.h:109
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:2362
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:1020
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:530
Definition: globus_ftp_control.h:127
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:382
Control striping attribute union.
Definition: globus_ftp_control.h:209
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:4640
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:5367
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:1212
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:3609
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:4253
Definition: globus_ftp_control.h:103
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:2588
Automatically set the TCP buffer/window size.
Definition: globus_ftp_control.h:371
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:4305
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:2544
Control striping round robin attribute structure.
Definition: globus_ftp_control.h:156
union globus_ftp_control_layout_u globus_ftp_control_layout_t
Control striping attribute union.
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:1823
Definition: globus_ftp_control.h:89
globus_ftp_control_dcau_mode_e
GridFTP DCAU values.
Definition: globus_ftp_control.h:118
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:132
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:279
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:1647
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:3887
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:4596
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:863
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:352
Definition: globus_ftp_control.h:343
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:7743
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:1017
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:2275
struct globus_ftp_control_round_robin_s globus_ftp_control_round_robin_t
Control striping round robin attribute structure.
Definition: globus_ftp_control.h:189
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:2169
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:1022
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:4392
globus_ftp_control_tcpbuffer_mode_e
Definition: globus_ftp_control.h:337
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:193
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:3502
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:2365
enum globus_ftp_control_dcau_mode_e globus_ftp_control_dcau_mode_t
GridFTP DCAU values.
Definition: globus_ftp_control.h:101
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:3259
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:2262
Set the TCP buffer/window size to a fixed value.
Definition: globus_ftp_control.h:361
Control DCAU subject authentication type.
Definition: globus_ftp_control.h:133
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:4933
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:3841
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:3169
globus_ftp_control_type_e
GridFTP TYPE values.
Definition: globus_ftp_control.h:78
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:546
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:4190
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:1595
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:235
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:3822
globus_ftp_control_striping_mode_e
GridFTP Striping Types.
Definition: globus_ftp_control.h:146
globus_ftp_control_mode_e
GridFTP MODE values.
Definition: globus_ftp_control.h:98
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:2662
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:5971
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:443
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:1431
unsigned long globus_ftp_control_auth_requirements_t
Definition: globus_ftp_control.h:633
Authentication Values.
Definition: globus_ftp_control.h:483
Definition: globus_ftp_control.h:123
Control parallelism attribute structure.
Definition: globus_ftp_control.h:260
globus_ftp_control_protection_t
GridFTP Protection Types.
Definition: globus_ftp_control.h:184
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:2704