.TH "globus_ftp_client_operations" 3 "Version 9.8" "globus_ftp_client" \" -*- nroff -*- .ad l .nh .SH NAME globus_ftp_client_operations \- FTP Operations .PP \- FTP Operations\&. .SH SYNOPSIS .br .PP .SS "Typedefs" .in +1c .ti -1c .RI "typedef void(* \fBglobus_ftp_client_complete_callback_t\fP) (void *user_arg, \fBglobus_ftp_client_handle_t\fP *handle, globus_object_t *error)" .br .ti -1c .RI "typedef struct \fBglobus_i_ftp_client_features_s\fP * \fBglobus_ftp_client_features_t\fP" .br .RI "Feature Handle\&. " .in -1c .SS "Enumerations" .in +1c .ti -1c .RI "enum \fBglobus_ftp_client_tristate_t\fP " .br .ti -1c .RI "enum \fBglobus_ftp_client_probed_feature_t\fP " .br .in -1c .SS "File or Directory Existence" .in +1c .ti -1c .RI "globus_result_t \fBglobus_ftp_client_exists\fP (\fBglobus_ftp_client_handle_t\fP *u_handle, const char *url, \fBglobus_ftp_client_operationattr_t\fP *attr, \fBglobus_ftp_client_complete_callback_t\fP complete_callback, void *callback_arg)" .br .in -1c .SS "Features" .in +1c .ti -1c .RI "globus_result_t \fBglobus_ftp_client_features_init\fP (\fBglobus_ftp_client_features_t\fP *u_features)" .br .ti -1c .RI "globus_result_t \fBglobus_ftp_client_features_destroy\fP (\fBglobus_ftp_client_features_t\fP *u_features)" .br .ti -1c .RI "globus_result_t \fBglobus_ftp_client_feat\fP (\fBglobus_ftp_client_handle_t\fP *u_handle, char *url, \fBglobus_ftp_client_operationattr_t\fP *attr, \fBglobus_ftp_client_features_t\fP *u_features, \fBglobus_ftp_client_complete_callback_t\fP complete_callback, void *callback_arg)" .br .ti -1c .RI "globus_result_t \fBglobus_ftp_client_is_feature_supported\fP (const \fBglobus_ftp_client_features_t\fP *u_features, \fBglobus_ftp_client_tristate_t\fP *answer, \fBglobus_ftp_client_probed_feature_t\fP feature)" .br .in -1c .SS "Make Directory" .in +1c .ti -1c .RI "globus_result_t \fBglobus_ftp_client_mkdir\fP (\fBglobus_ftp_client_handle_t\fP *u_handle, const char *url, \fBglobus_ftp_client_operationattr_t\fP *attr, \fBglobus_ftp_client_complete_callback_t\fP complete_callback, void *callback_arg)" .br .in -1c .SS "Remove Directory" .in +1c .ti -1c .RI "globus_result_t \fBglobus_ftp_client_rmdir\fP (\fBglobus_ftp_client_handle_t\fP *u_handle, const char *url, \fBglobus_ftp_client_operationattr_t\fP *attr, \fBglobus_ftp_client_complete_callback_t\fP complete_callback, void *callback_arg)" .br .in -1c .SS "Change Working Directory" .in +1c .ti -1c .RI "globus_result_t \fBglobus_ftp_client_cwd\fP (\fBglobus_ftp_client_handle_t\fP *u_handle, const char *url, \fBglobus_ftp_client_operationattr_t\fP *attr, globus_byte_t **cwd_buffer, globus_size_t *cwd_buffer_length, \fBglobus_ftp_client_complete_callback_t\fP complete_callback, void *callback_arg)" .br .in -1c .SS "Delete" .in +1c .ti -1c .RI "globus_result_t \fBglobus_ftp_client_delete\fP (\fBglobus_ftp_client_handle_t\fP *u_handle, const char *url, \fBglobus_ftp_client_operationattr_t\fP *attr, \fBglobus_ftp_client_complete_callback_t\fP complete_callback, void *callback_arg)" .br .in -1c .SS "List" .in +1c .ti -1c .RI "globus_result_t \fBglobus_ftp_client_list\fP (\fBglobus_ftp_client_handle_t\fP *u_handle, const char *url, \fBglobus_ftp_client_operationattr_t\fP *attr, \fBglobus_ftp_client_complete_callback_t\fP complete_callback, void *callback_arg)" .br .ti -1c .RI "globus_result_t \fBglobus_ftp_client_verbose_list\fP (\fBglobus_ftp_client_handle_t\fP *u_handle, const char *url, \fBglobus_ftp_client_operationattr_t\fP *attr, \fBglobus_ftp_client_complete_callback_t\fP complete_callback, void *callback_arg)" .br .in -1c .SS "STAT" .in +1c .ti -1c .RI "globus_result_t \fBglobus_ftp_client_stat\fP (\fBglobus_ftp_client_handle_t\fP *u_handle, const char *url, \fBglobus_ftp_client_operationattr_t\fP *attr, globus_byte_t **stat_buffer, globus_size_t *stat_buffer_length, \fBglobus_ftp_client_complete_callback_t\fP complete_callback, void *callback_arg)" .br .ti -1c .RI "globus_result_t \fBglobus_ftp_client_machine_list\fP (\fBglobus_ftp_client_handle_t\fP *u_handle, const char *url, \fBglobus_ftp_client_operationattr_t\fP *attr, \fBglobus_ftp_client_complete_callback_t\fP complete_callback, void *callback_arg)" .br .ti -1c .RI "globus_result_t \fBglobus_ftp_client_recursive_list\fP (\fBglobus_ftp_client_handle_t\fP *u_handle, const char *url, \fBglobus_ftp_client_operationattr_t\fP *attr, \fBglobus_ftp_client_complete_callback_t\fP complete_callback, void *callback_arg)" .br .in -1c .SS "MLST" .in +1c .ti -1c .RI "globus_result_t \fBglobus_ftp_client_mlst\fP (\fBglobus_ftp_client_handle_t\fP *u_handle, const char *url, \fBglobus_ftp_client_operationattr_t\fP *attr, globus_byte_t **mlst_buffer, globus_size_t *mlst_buffer_length, \fBglobus_ftp_client_complete_callback_t\fP complete_callback, void *callback_arg)" .br .in -1c .SS "Move" .in +1c .ti -1c .RI "globus_result_t \fBglobus_ftp_client_move\fP (\fBglobus_ftp_client_handle_t\fP *u_handle, const char *source_url, const char *dest_url, \fBglobus_ftp_client_operationattr_t\fP *attr, \fBglobus_ftp_client_complete_callback_t\fP complete_callback, void *callback_arg)" .br .in -1c .SS "chmod" .in +1c .ti -1c .RI "globus_result_t \fBglobus_ftp_client_chmod\fP (\fBglobus_ftp_client_handle_t\fP *u_handle, const char *url, int mode, \fBglobus_ftp_client_operationattr_t\fP *attr, \fBglobus_ftp_client_complete_callback_t\fP complete_callback, void *callback_arg)" .br .in -1c .SS "chgrp" .in +1c .ti -1c .RI "globus_result_t \fBglobus_ftp_client_chgrp\fP (\fBglobus_ftp_client_handle_t\fP *u_handle, const char *url, const char *group, \fBglobus_ftp_client_operationattr_t\fP *attr, \fBglobus_ftp_client_complete_callback_t\fP complete_callback, void *callback_arg)" .br .in -1c .SS "utime" .in +1c .ti -1c .RI "globus_result_t \fBglobus_ftp_client_utime\fP (\fBglobus_ftp_client_handle_t\fP *u_handle, const char *url, const struct tm *utime_time, \fBglobus_ftp_client_operationattr_t\fP *attr, \fBglobus_ftp_client_complete_callback_t\fP complete_callback, void *callback_arg)" .br .in -1c .SS "symlink" .in +1c .ti -1c .RI "globus_result_t \fBglobus_ftp_client_symlink\fP (\fBglobus_ftp_client_handle_t\fP *u_handle, const char *source_url, const char *link_url, \fBglobus_ftp_client_operationattr_t\fP *attr, \fBglobus_ftp_client_complete_callback_t\fP complete_callback, void *callback_arg)" .br .in -1c .SS "Get" .in +1c .ti -1c .RI "globus_result_t \fBglobus_ftp_client_get\fP (\fBglobus_ftp_client_handle_t\fP *handle, const char *url, \fBglobus_ftp_client_operationattr_t\fP *attr, \fBglobus_ftp_client_restart_marker_t\fP *restart, \fBglobus_ftp_client_complete_callback_t\fP complete_callback, void *callback_arg)" .br .ti -1c .RI "globus_result_t \fBglobus_ftp_client_partial_get\fP (\fBglobus_ftp_client_handle_t\fP *handle, const char *url, \fBglobus_ftp_client_operationattr_t\fP *attr, \fBglobus_ftp_client_restart_marker_t\fP *restart, globus_off_t partial_offset, globus_off_t partial_end_offset, \fBglobus_ftp_client_complete_callback_t\fP complete_callback, void *callback_arg)" .br .ti -1c .RI "globus_result_t \fBglobus_ftp_client_extended_get\fP (\fBglobus_ftp_client_handle_t\fP *handle, const char *url, \fBglobus_ftp_client_operationattr_t\fP *attr, \fBglobus_ftp_client_restart_marker_t\fP *restart, const char *eret_alg_str, \fBglobus_ftp_client_complete_callback_t\fP complete_callback, void *callback_arg)" .br .in -1c .SS "Put" .in +1c .ti -1c .RI "globus_result_t \fBglobus_ftp_client_put\fP (\fBglobus_ftp_client_handle_t\fP *handle, const char *url, \fBglobus_ftp_client_operationattr_t\fP *attr, \fBglobus_ftp_client_restart_marker_t\fP *restart, \fBglobus_ftp_client_complete_callback_t\fP complete_callback, void *callback_arg)" .br .ti -1c .RI "globus_result_t \fBglobus_ftp_client_partial_put\fP (\fBglobus_ftp_client_handle_t\fP *handle, const char *url, \fBglobus_ftp_client_operationattr_t\fP *attr, \fBglobus_ftp_client_restart_marker_t\fP *restart, globus_off_t partial_offset, globus_off_t partial_end_offset, \fBglobus_ftp_client_complete_callback_t\fP complete_callback, void *callback_arg)" .br .ti -1c .RI "globus_result_t \fBglobus_ftp_client_extended_put\fP (\fBglobus_ftp_client_handle_t\fP *handle, const char *url, \fBglobus_ftp_client_operationattr_t\fP *attr, \fBglobus_ftp_client_restart_marker_t\fP *restart, const char *esto_alg_str, \fBglobus_ftp_client_complete_callback_t\fP complete_callback, void *callback_arg)" .br .in -1c .SS "3rd Party Transfer" .in +1c .ti -1c .RI "globus_result_t \fBglobus_ftp_client_third_party_transfer\fP (\fBglobus_ftp_client_handle_t\fP *handle, const char *source_url, \fBglobus_ftp_client_operationattr_t\fP *source_attr, const char *dest_url, \fBglobus_ftp_client_operationattr_t\fP *dest_attr, \fBglobus_ftp_client_restart_marker_t\fP *restart, \fBglobus_ftp_client_complete_callback_t\fP complete_callback, void *callback_arg)" .br .ti -1c .RI "globus_result_t \fBglobus_ftp_client_partial_third_party_transfer\fP (\fBglobus_ftp_client_handle_t\fP *handle, const char *source_url, \fBglobus_ftp_client_operationattr_t\fP *source_attr, const char *dest_url, \fBglobus_ftp_client_operationattr_t\fP *dest_attr, \fBglobus_ftp_client_restart_marker_t\fP *restart, globus_off_t partial_offset, globus_off_t partial_end_offset, \fBglobus_ftp_client_complete_callback_t\fP complete_callback, void *callback_arg)" .br .ti -1c .RI "globus_result_t \fBglobus_ftp_client_extended_third_party_transfer\fP (\fBglobus_ftp_client_handle_t\fP *handle, const char *source_url, \fBglobus_ftp_client_operationattr_t\fP *source_attr, const char *eret_alg_str, const char *dest_url, \fBglobus_ftp_client_operationattr_t\fP *dest_attr, const char *esto_alg_str, \fBglobus_ftp_client_restart_marker_t\fP *restart, \fBglobus_ftp_client_complete_callback_t\fP complete_callback, void *callback_arg)" .br .in -1c .SS "Modification Time" .in +1c .ti -1c .RI "globus_result_t \fBglobus_ftp_client_modification_time\fP (\fBglobus_ftp_client_handle_t\fP *u_handle, const char *url, \fBglobus_ftp_client_operationattr_t\fP *attr, globus_abstime_t *modification_time, \fBglobus_ftp_client_complete_callback_t\fP complete_callback, void *callback_arg)" .br .in -1c .SS "Size" .in +1c .ti -1c .RI "globus_result_t \fBglobus_ftp_client_size\fP (\fBglobus_ftp_client_handle_t\fP *u_handle, const char *url, \fBglobus_ftp_client_operationattr_t\fP *attr, globus_off_t *size, \fBglobus_ftp_client_complete_callback_t\fP complete_callback, void *callback_arg)" .br .in -1c .SS "Cksm" .in +1c .ti -1c .RI "globus_result_t \fBglobus_ftp_client_cksm\fP (\fBglobus_ftp_client_handle_t\fP *u_handle, const char *url, \fBglobus_ftp_client_operationattr_t\fP *attr, char *cksm, globus_off_t offset, globus_off_t length, const char *algorithm, \fBglobus_ftp_client_complete_callback_t\fP complete_callback, void *callback_arg)" .br .in -1c .SS "Abort" .in +1c .ti -1c .RI "globus_result_t \fBglobus_ftp_client_abort\fP (\fBglobus_ftp_client_handle_t\fP *u_handle)" .br .in -1c .SH "Detailed Description" .PP FTP Operations\&. Initiate an FTP operation\&. .PP This module contains the API functions for a user to request a get, put, third-party transfer, or other FTP file operation\&. .SH "Typedef Documentation" .PP .SS "typedef void(* globus_ftp_client_complete_callback_t) (void *user_arg, \fBglobus_ftp_client_handle_t\fP *handle, globus_object_t *error)" Operation complete callback\&. .PP Every FTP Client operation (get, put, transfer, mkdir, etc) is asynchronous\&. A callback of this type is passed to each of the operation function calls to let the user know when the operation is complete\&. The completion callback is called only once per operation, after all other callbacks for the operation have returned\&. .PP \fBParameters\fP .RS 4 \fIuser_arg\fP The user_arg parameter passed to the operation\&. .br \fIhandle\fP The handle on which the operation was done\&. .br \fIerror\fP A Globus error object indicating any problem which occurred, or GLOBUS_SUCCESS, if the operation completed successfully\&. .RE .PP .SS "typedef struct \fBglobus_i_ftp_client_features_s\fP* \fBglobus_ftp_client_features_t\fP" .PP Feature Handle\&. Handle used to associate state with feature operations\&. .PP \fBSee also\fP .RS 4 \fBglobus_ftp_client_feat\fP, \fBglobus_ftp_client_features_init\fP, \fBglobus_ftp_client_features_destroy\fP .RE .PP .SH "Enumeration Type Documentation" .PP .SS "enum \fBglobus_ftp_client_probed_feature_t\fP" Types of features .SS "enum \fBglobus_ftp_client_tristate_t\fP" Types for feature existence .PP FALSE and TRUE are known to be fact that a feature does or does not exist MAYBE means that the feature may exist .SH "Function Documentation" .PP .SS "globus_result_t globus_ftp_client_abort (\fBglobus_ftp_client_handle_t\fP * u_handle)" Abort the operation currently in progress\&. .PP \fBParameters\fP .RS 4 \fIu_handle\fP Handle which to abort\&. .RE .PP .SS "globus_result_t globus_ftp_client_chgrp (\fBglobus_ftp_client_handle_t\fP * u_handle, const char * url, const char * group, \fBglobus_ftp_client_operationattr_t\fP * attr, \fBglobus_ftp_client_complete_callback_t\fP complete_callback, void * callback_arg)" Change group membership on a file\&. .PP This function changes file group membership .PP When the response to the group change request has been received the complete_callback will be invoked with the result of the operation\&. .PP \fBParameters\fP .RS 4 \fIu_handle\fP An FTP Client handle to use for the change operation\&. .br \fIurl\fP The URL of the file to modify group membership\&. .br \fIgroup\fP The group name or numeric identifier for the group that the file should become a member of\&. .br .br \fIattr\fP Attributes for this operation\&. .br \fIcomplete_callback\fP Callback to be invoked once the change is completed\&. .br \fIcallback_arg\fP Argument to be passed to the complete_callback\&. .RE .PP \fBReturns\fP .RS 4 This function returns an error when any of these conditions are true: .IP "\(bu" 2 handle is GLOBUS_NULL .IP "\(bu" 2 url is GLOBUS_NULL .IP "\(bu" 2 url cannot be parsed .IP "\(bu" 2 url is not a ftp or gsiftp url .IP "\(bu" 2 complete_callback is GLOBUS_NULL .IP "\(bu" 2 handle already has an operation in progress .PP .RE .PP .SS "globus_result_t globus_ftp_client_chmod (\fBglobus_ftp_client_handle_t\fP * u_handle, const char * url, int mode, \fBglobus_ftp_client_operationattr_t\fP * attr, \fBglobus_ftp_client_complete_callback_t\fP complete_callback, void * callback_arg)" Change permissions on a file\&. .PP This function changes file permissions .PP When the response to the move request has been received the complete_callback will be invoked with the result of the operation\&. .PP \fBParameters\fP .RS 4 \fIu_handle\fP An FTP Client handle to use for the move operation\&. .br \fIurl\fP The URL of the file to modify permissions\&. .br \fImode\fP The integer file mode to change to\&. Be sure that the integer is in the proper base, i\&.e\&. 0777 (octal) vs 777 (decimal)\&. .br .br \fIattr\fP Attributes for this operation\&. .br \fIcomplete_callback\fP Callback to be invoked once the move is completed\&. .br \fIcallback_arg\fP Argument to be passed to the complete_callback\&. .RE .PP \fBReturns\fP .RS 4 This function returns an error when any of these conditions are true: .IP "\(bu" 2 handle is GLOBUS_NULL .IP "\(bu" 2 url is GLOBUS_NULL .IP "\(bu" 2 url cannot be parsed .IP "\(bu" 2 url is not a ftp or gsiftp url .IP "\(bu" 2 complete_callback is GLOBUS_NULL .IP "\(bu" 2 handle already has an operation in progress .PP .RE .PP .SS "globus_result_t globus_ftp_client_cksm (\fBglobus_ftp_client_handle_t\fP * u_handle, const char * url, \fBglobus_ftp_client_operationattr_t\fP * attr, char * cksm, globus_off_t offset, globus_off_t length, const char * algorithm, \fBglobus_ftp_client_complete_callback_t\fP complete_callback, void * callback_arg)" Get a file's checksum from an FTP server\&. .PP This function requests the checksum of a file from an FTP server\&. .PP When the request is completed or aborted, the complete_callback will be invoked with the final status of the operation\&. If the callback is returns without an error, the checksum will be stored in the char * buffer provided in the 'checksum' parameter to this function\&. The buffer must be large enough to hold the expected checksum result\&. .PP \fBParameters\fP .RS 4 \fIu_handle\fP An FTP Client handle to use for the list operation\&. .br \fIurl\fP The URL to list\&. The URL may be an ftp or gsiftp URL\&. .br \fIattr\fP Attributes for this file transfer\&. .br \fIcksm\fP A pointer to a buffer to be filled with the checksum of the file\&. On error the buffer contents are undefined\&. .br .br \fIoffset\fP File offset to start calculating checksum\&. .br .br \fIlength\fP Length of data to read from the starting offset\&. Use -1 to read the entire file\&. .br \fIalgorithm\fP A pointer to a string to specifying the desired algorithm Currently, GridFTP servers only support the MD5 algorithm\&. .br .br \fIcomplete_callback\fP Callback to be invoked once the checksum is completed\&. .br \fIcallback_arg\fP Argument to be passed to the complete_callback\&. .RE .PP \fBReturns\fP .RS 4 This function returns an error when any of these conditions are true: .IP "\(bu" 2 handle is GLOBUS_NULL .IP "\(bu" 2 url is GLOBUS_NULL .IP "\(bu" 2 url cannot be parsed .IP "\(bu" 2 url is not a ftp or gsiftp url .IP "\(bu" 2 size is GLOBUS_NULL .IP "\(bu" 2 complete_callback is GLOBUS_NULL .IP "\(bu" 2 handle already has an operation in progress .PP .RE .PP .SS "globus_result_t globus_ftp_client_cwd (\fBglobus_ftp_client_handle_t\fP * u_handle, const char * url, \fBglobus_ftp_client_operationattr_t\fP * attr, globus_byte_t ** cwd_buffer, globus_size_t * cwd_buffer_length, \fBglobus_ftp_client_complete_callback_t\fP complete_callback, void * callback_arg)" Make a directory on an FTP server\&. .PP This function starts a cwd operation on a FTP server\&. .PP When the response to the cwd request has been received the complete_callback will be invoked with the result of the cwd operation\&. .PP \fBParameters\fP .RS 4 \fIu_handle\fP An FTP Client handle to use for the cwd operation\&. .br \fIurl\fP The URL for the directory to cd into\&. The URL may be an ftp or gsiftp URL\&. .br \fIattr\fP Attributes for this operation\&. .br \fIcwd_buffer\fP A pointer to a globus_byte_t * to be allocated and filled with the directory name returned by the CWD, if it succeeds\&. Otherwise, the value pointed to by it is undefined\&. It is up the user to free this memory\&. .br \fIcwd_buffer_length\fP A pointer to a globus_size_t to be filled with the length of the data in cwd_buffer\&. .br \fIcomplete_callback\fP Callback to be invoked once the cwd is completed\&. .br \fIcallback_arg\fP Argument to be passed to the complete_callback\&. .RE .PP \fBReturns\fP .RS 4 This function returns an error when any of these conditions are true: .IP "\(bu" 2 u_handle is GLOBUS_NULL .IP "\(bu" 2 url is GLOBUS_NULL .IP "\(bu" 2 url cannot be parsed .IP "\(bu" 2 url is not a ftp or gsiftp url .IP "\(bu" 2 cwd_buffer is GLOBUS_NULL .IP "\(bu" 2 cwd_buffer_length is GLOBUS_NULL .IP "\(bu" 2 complete_callback is GLOBUS_NULL .IP "\(bu" 2 handle already has an operation in progress .PP .RE .PP .SS "globus_result_t globus_ftp_client_delete (\fBglobus_ftp_client_handle_t\fP * u_handle, const char * url, \fBglobus_ftp_client_operationattr_t\fP * attr, \fBglobus_ftp_client_complete_callback_t\fP complete_callback, void * callback_arg)" Delete a file on an FTP server\&. .PP This function starts a delete operation on a FTP server\&. Note that this functions will only delete files, not directories\&. .PP When the response to the delete request has been received the complete_callback will be invoked with the result of the delete operation\&. .PP \fBParameters\fP .RS 4 \fIu_handle\fP An FTP Client handle to use for the delete operation\&. .br \fIurl\fP The URL for the file to delete\&. The URL may be an ftp or gsiftp URL\&. .br \fIattr\fP Attributes for this file transfer\&. .br \fIcomplete_callback\fP Callback to be invoked once the delete is completed\&. .br \fIcallback_arg\fP Argument to be passed to the complete_callback\&. .RE .PP \fBReturns\fP .RS 4 This function returns an error when any of these conditions are true: .IP "\(bu" 2 u_handle is GLOBUS_NULL .IP "\(bu" 2 url is GLOBUS_NULL .IP "\(bu" 2 url cannot be parsed .IP "\(bu" 2 url is not a ftp or gsiftp url .IP "\(bu" 2 complete_callback is GLOBUS_NULL .IP "\(bu" 2 handle already has an operation in progress .PP .RE .PP .SS "globus_result_t globus_ftp_client_exists (\fBglobus_ftp_client_handle_t\fP * u_handle, const char * url, \fBglobus_ftp_client_operationattr_t\fP * attr, \fBglobus_ftp_client_complete_callback_t\fP complete_callback, void * callback_arg)" Check for the existence of a file or directory on an FTP server\&. .PP This function attempts to determine whether the specified URL points to a valid file or directory\&. The \fIcomplete_callback\fP will be invoked with the result of the existence check passed as a globus error object, or GLOBUS_SUCCESS\&. .PP \fBParameters\fP .RS 4 \fIu_handle\fP An FTP Client handle to use for the existence check operation\&. .br \fIurl\fP The URL of the directory or file to check\&. The URL may be an ftp or gsiftp URL\&. .br \fIattr\fP Attributes to use for this operation\&. .br \fIcomplete_callback\fP Callback to be invoked once the existence operation is completed\&. .br \fIcallback_arg\fP Argument to be passed to the complete_callback\&. .RE .PP \fBReturns\fP .RS 4 This function returns an error when any of these conditions are true: .IP "\(bu" 2 u_handle is GLOBUS_NULL .IP "\(bu" 2 url is GLOBUS_NULL .IP "\(bu" 2 url cannot be parsed .IP "\(bu" 2 url is not a ftp or gsiftp url .IP "\(bu" 2 complete_callback is GLOBUS_NULL .IP "\(bu" 2 handle already has an operation in progress .PP .RE .PP .SS "globus_result_t globus_ftp_client_extended_get (\fBglobus_ftp_client_handle_t\fP * handle, const char * url, \fBglobus_ftp_client_operationattr_t\fP * attr, \fBglobus_ftp_client_restart_marker_t\fP * restart, const char * eret_alg_str, \fBglobus_ftp_client_complete_callback_t\fP complete_callback, void * callback_arg)" Get a file from an FTP server with server-side processing\&. .PP This function starts a 'get' file transfer from an FTP server\&. If this function returns GLOBUS_SUCCESS, then the user may immediately begin calling \fBglobus_ftp_client_register_read()\fP to retrieve the data associated with this URL\&. .PP When all of the data associated with this URL is retrieved, and all of the data callbacks have been called, or if the get request is aborted, the complete_callback will be invoked with the final status of the get\&. .PP This function differs from the \fBglobus_ftp_client_get()\fP function by allowing the user to invoke server-side data processing algorithms\&. GridFTP servers may support support algorithms for data reduction or other customized data storage requirements\&. There is no client-side verification done on the algorithm string provided by the user\&. If the server does not understand the requested algorithm, the transfer will fail\&. .PP \fBParameters\fP .RS 4 \fIhandle\fP An FTP Client handle to use for the get operation\&. .br \fIurl\fP The URL to download\&. The URL may be an ftp or gsiftp URL\&. .br \fIattr\fP Attributes for this file transfer\&. .br \fIrestart\fP Pointer to a restart marker\&. .br \fIeret_alg_str\fP The ERET algorithm string\&. This string contains information needed to invoke a server-specific data reduction algorithm on the file being retrieved\&. .br \fIcomplete_callback\fP Callback to be invoked once the 'get' is completed\&. .br \fIcallback_arg\fP Argument to be passed to the complete_callback\&. .RE .PP \fBReturns\fP .RS 4 This function returns an error when any of these conditions are true: .IP "\(bu" 2 handle is GLOBUS_NULL .IP "\(bu" 2 url is GLOBUS_NULL .IP "\(bu" 2 url cannot be parsed .IP "\(bu" 2 url is not a ftp or gsiftp url .IP "\(bu" 2 complete_callback is GLOBUS_NULL .IP "\(bu" 2 handle already has an operation in progress .PP .RE .PP \fBSee also\fP .RS 4 \fBglobus_ftp_client_register_read()\fP .RE .PP .SS "globus_result_t globus_ftp_client_extended_put (\fBglobus_ftp_client_handle_t\fP * handle, const char * url, \fBglobus_ftp_client_operationattr_t\fP * attr, \fBglobus_ftp_client_restart_marker_t\fP * restart, const char * esto_alg_str, \fBglobus_ftp_client_complete_callback_t\fP complete_callback, void * callback_arg)" Store a file on an FTP server with server-side processing\&. .PP This function starts a 'put' file transfer to an FTP server\&. If this function returns GLOBUS_SUCCESS, then the user may immediately begin calling \fBglobus_ftp_client_register_write()\fP to send the data associated with this URL\&. .PP When all of the data associated with this URL is sent, and all of the data callbacks have been called, or if the put request is aborted, the complete_callback will be invoked with the final status of the put\&. .PP This function differs from the \fBglobus_ftp_client_put()\fP function by allowing the user to invoke server-side data processing algorithms\&. GridFTP servers may support algorithms for data reduction or other customized data storage requirements\&. There is no client-side verification done on the algorithm string provided by the user\&. if the server does not understand the requested algorithm, the transfer will fail\&. .PP \fBParameters\fP .RS 4 \fIhandle\fP An FTP Client handle to use for the put operation\&. .br \fIurl\fP The URL to store the data to\&. The URL may be an ftp or gsiftp URL\&. .br \fIattr\fP Attributes for this file transfer\&. .br \fIrestart\fP Pointer to a restart marker\&. .br \fIesto_alg_str\fP .br \fIcomplete_callback\fP Callback to be invoked once the 'put' is completed\&. .br \fIcallback_arg\fP Argument to be passed to the complete_callback\&. .RE .PP \fBSee also\fP .RS 4 \fBglobus_ftp_client_register_write()\fP .RE .PP .SS "globus_result_t globus_ftp_client_extended_third_party_transfer (\fBglobus_ftp_client_handle_t\fP * handle, const char * source_url, \fBglobus_ftp_client_operationattr_t\fP * source_attr, const char * eret_alg_str, const char * dest_url, \fBglobus_ftp_client_operationattr_t\fP * dest_attr, const char * esto_alg_str, \fBglobus_ftp_client_restart_marker_t\fP * restart, \fBglobus_ftp_client_complete_callback_t\fP complete_callback, void * callback_arg)" Transfer a file between two FTP servers with server-side processing\&. .PP This function starts up a third-party file transfer between FTP server\&. This function returns immediately\&. .PP When the transfer is completed or if the transfer is aborted, the complete_callback will be invoked with the final status of the transfer\&. .PP This function differes from the \fBglobus_ftp_client_third_party_transfer()\fP function by allowing the user to invoke server-side data processing algorithms\&. GridFTP servers may support algorithms for data reduction or other customized data storage requirements\&. There is no client-side verification done on the algorithm string provided by the user\&. if the server does not understand * the requested algorithm, the transfer will fail\&. .PP \fBParameters\fP .RS 4 \fIhandle\fP An FTP Client handle to use for the get operation\&. .br \fIsource_url\fP The URL to transfer\&. The URL may be an ftp or gsiftp URL\&. .br \fIsource_attr\fP Attributes for the source URL\&. .br \fIeret_alg_str\fP .br \fIdest_url\fP The destination URL for the transfer\&. The URL may be an ftp or gsiftp URL\&. .br \fIdest_attr\fP Attributes for the destination URL\&. .br \fIesto_alg_str\fP .br \fIrestart\fP Pointer to a restart marker\&. .br \fIcomplete_callback\fP Callback to be invoked once the 'put' is completed\&. .br \fIcallback_arg\fP Argument to be passed to the complete_callback\&. .RE .PP \fBNote\fP .RS 4 The source_attr and dest_attr MUST be compatible\&. For example, the MODE and TYPE should match for both the source and destination\&. .RE .PP .SS "globus_result_t globus_ftp_client_feat (\fBglobus_ftp_client_handle_t\fP * u_handle, char * url, \fBglobus_ftp_client_operationattr_t\fP * attr, \fBglobus_ftp_client_features_t\fP * u_features, \fBglobus_ftp_client_complete_callback_t\fP complete_callback, void * callback_arg)" Check the features supported by the server (FTP FEAT command)\&. After this procedure completes, the features set (parameter u_features) represents the features supported by the server\&. Prior to calling this procedure, the structure should have been initialized by \fBglobus_ftp_client_features_init()\fP; afterwards, it should be destroyed by \fBglobus_ftp_client_features_destroy()\fP\&. After \fBglobus_ftp_client_feat()\fP returns, each feature in the list has one of the values: GLOBUS_FTP_CLIENT_TRUE, GLOBUS_FTP_CLIENT_FALSE, or GLOBUS_FTP_CLIENT_MAYBE\&. The first two denote the server supporting, or not supporting, the given feature\&. The last one means that the test has not been performed\&. This is not necessarily caused by error; there might have been no reason to check for this particular feature\&. .PP \fBParameters\fP .RS 4 \fIu_handle\fP An FTP Client handle to use for the list operation\&. .br \fIurl\fP The URL to list\&. The URL may be an ftp or gsiftp URL\&. .br \fIattr\fP Attributes for this file transfer\&. .br \fIu_features\fP A pointer to a globus_ftp_client_features_t to be filled with the feature set supported by the server\&. .br \fIcomplete_callback\fP Callback to be invoked once the size check is completed\&. .br \fIcallback_arg\fP Argument to be passed to the complete_callback\&. .RE .PP \fBReturns\fP .RS 4 This function returns an error when any of these conditions are true: .IP "\(bu" 2 u_handle is GLOBUS_NULL .IP "\(bu" 2 source_url is GLOBUS_NULL .IP "\(bu" 2 source_url cannot be parsed .IP "\(bu" 2 source_url is not a ftp or gsiftp url .IP "\(bu" 2 u_features is GLOBUS_NULL or badly initialized .IP "\(bu" 2 complete_callback is GLOBUS_NULL .IP "\(bu" 2 handle already has an operation in progress .PP .RE .PP .SS "globus_result_t globus_ftp_client_features_destroy (\fBglobus_ftp_client_features_t\fP * u_features)" Destroy the feature set\&. .PP \fBNote\fP .RS 4 Structure passed to this function must have been previously initialized by \fBglobus_ftp_client_features_init()\fP\&. .RE .PP \fBReturns\fP .RS 4 GLOBUS_SUCCESS on success, otherwise error\&. .RE .PP .SS "globus_result_t globus_ftp_client_features_init (\fBglobus_ftp_client_features_t\fP * u_features)" Initialize the feature set, to be later used by \fBglobus_ftp_client_feat()\fP\&. Each feature gets initial value GLOBUS_FTP_CLIENT_MAYBE\&. .PP \fBNote\fP .RS 4 Structure initialized by this function must be destroyed using \fBglobus_ftp_client_features_destroy()\fP .RE .PP \fBReturns\fP .RS 4 GLOBUS_SUCCESS on success, otherwise error\&. .RE .PP .SS "globus_result_t globus_ftp_client_get (\fBglobus_ftp_client_handle_t\fP * handle, const char * url, \fBglobus_ftp_client_operationattr_t\fP * attr, \fBglobus_ftp_client_restart_marker_t\fP * restart, \fBglobus_ftp_client_complete_callback_t\fP complete_callback, void * callback_arg)" Get a file from an FTP server\&. .PP This function starts a 'get' file transfer from an FTP server\&. If this function returns GLOBUS_SUCCESS, then the user may immediately begin calling \fBglobus_ftp_client_register_read()\fP to retrieve the data associated with this URL\&. .PP When all of the data associated with this URL is retrieved, and all of the data callbacks have been called, or if the get request is aborted, the complete_callback will be invoked with the final status of the get\&. .PP \fBParameters\fP .RS 4 \fIhandle\fP An FTP Client handle to use for the get operation\&. .br \fIurl\fP The URL to download\&. The URL may be an ftp or gsiftp URL\&. .br \fIattr\fP Attributes for this file transfer\&. .br \fIrestart\fP Pointer to a restart marker\&. .br \fIcomplete_callback\fP Callback to be invoked once the 'get' is completed\&. .br \fIcallback_arg\fP Argument to be passed to the complete_callback\&. .RE .PP \fBReturns\fP .RS 4 This function returns an error when any of these conditions are true: .IP "\(bu" 2 handle is GLOBUS_NULL .IP "\(bu" 2 url is GLOBUS_NULL .IP "\(bu" 2 url cannot be parsed .IP "\(bu" 2 url is not a ftp or gsiftp url .IP "\(bu" 2 complete_callback is GLOBUS_NULL .IP "\(bu" 2 handle already has an operation in progress .PP .RE .PP \fBSee also\fP .RS 4 \fBglobus_ftp_client_register_read()\fP .RE .PP .SS "globus_result_t globus_ftp_client_is_feature_supported (const \fBglobus_ftp_client_features_t\fP * u_features, \fBglobus_ftp_client_tristate_t\fP * answer, \fBglobus_ftp_client_probed_feature_t\fP feature)" Check if the feature is supported by the server\&. After the function completes, parameter answer contains the state of the server support of the given function\&. It can have one of the values: GLOBUS_FTP_CLIENT_TRUE, .br GLOBUS_FTP_CLIENT_FALSE, or GLOBUS_FTP_CLIENT_MAYBE\&. .PP \fBParameters\fP .RS 4 \fIu_features\fP list of features, as returned by \fBglobus_ftp_client_feat()\fP .br \fIanswer\fP this variable will contain the answer .br \fIfeature\fP feature number, 0 <= feature < GLOBUS_FTP_CLIENT_FEATURE_MAX .RE .PP \fBReturns\fP .RS 4 error when any of the parameters is null or badly initialized .RE .PP .SS "globus_result_t globus_ftp_client_list (\fBglobus_ftp_client_handle_t\fP * u_handle, const char * url, \fBglobus_ftp_client_operationattr_t\fP * attr, \fBglobus_ftp_client_complete_callback_t\fP complete_callback, void * callback_arg)" Get a file listing from an FTP server\&. .PP This function starts a 'NLST' transfer from an FTP server\&. If this function returns GLOBUS_SUCCESS, then the user may immediately begin calling \fBglobus_ftp_client_register_read()\fP to retrieve the data associated with this listing\&. .PP When all of the data associated with the listing is retrieved, and all of the data callbacks have been called, or if the list request is aborted, the complete_callback will be invoked with the final status of the list\&. .PP \fBParameters\fP .RS 4 \fIu_handle\fP An FTP Client handle to use for the list operation\&. .br \fIurl\fP The URL to list\&. The URL may be an ftp or gsiftp URL\&. .br \fIattr\fP Attributes for this file transfer\&. .br \fIcomplete_callback\fP Callback to be invoked once the 'list' is completed\&. .br \fIcallback_arg\fP Argument to be passed to the complete_callback\&. .RE .PP \fBReturns\fP .RS 4 This function returns an error when any of these conditions are true: .IP "\(bu" 2 handle is GLOBUS_NULL .IP "\(bu" 2 url is GLOBUS_NULL .IP "\(bu" 2 url cannot be parsed .IP "\(bu" 2 url is not a ftp or gsiftp url .IP "\(bu" 2 complete_callback is GLOBUS_NULL .IP "\(bu" 2 handle already has an operation in progress .PP .RE .PP \fBSee also\fP .RS 4 \fBglobus_ftp_client_register_read()\fP .RE .PP .SS "globus_result_t globus_ftp_client_machine_list (\fBglobus_ftp_client_handle_t\fP * u_handle, const char * url, \fBglobus_ftp_client_operationattr_t\fP * attr, \fBglobus_ftp_client_complete_callback_t\fP complete_callback, void * callback_arg)" Get a machine parseable file listing from an FTP server\&. .PP This function starts a 'MLSD' transfer from an FTP server\&. If this function returns GLOBUS_SUCCESS, then the user may immediately begin calling \fBglobus_ftp_client_register_read()\fP to retrieve the data associated with this listing\&. .PP When all of the data associated with the listing is retrieved, and all of the data callbacks have been called, or if the list request is aborted, the complete_callback will be invoked with the final status of the list\&. .PP \fBParameters\fP .RS 4 \fIu_handle\fP An FTP Client handle to use for the list operation\&. .br \fIurl\fP The URL to list\&. The URL may be an ftp or gsiftp URL\&. .br \fIattr\fP Attributes for this file transfer\&. .br \fIcomplete_callback\fP Callback to be invoked once the 'list' is completed\&. .br \fIcallback_arg\fP Argument to be passed to the complete_callback\&. .RE .PP \fBReturns\fP .RS 4 This function returns an error when any of these conditions are true: .IP "\(bu" 2 handle is GLOBUS_NULL .IP "\(bu" 2 url is GLOBUS_NULL .IP "\(bu" 2 url cannot be parsed .IP "\(bu" 2 url is not a ftp or gsiftp url .IP "\(bu" 2 complete_callback is GLOBUS_NULL .IP "\(bu" 2 handle already has an operation in progress .PP .RE .PP \fBSee also\fP .RS 4 \fBglobus_ftp_client_register_read()\fP .RE .PP .SS "globus_result_t globus_ftp_client_mkdir (\fBglobus_ftp_client_handle_t\fP * u_handle, const char * url, \fBglobus_ftp_client_operationattr_t\fP * attr, \fBglobus_ftp_client_complete_callback_t\fP complete_callback, void * callback_arg)" Make a directory on an FTP server\&. .PP This function starts a mkdir operation on a FTP server\&. .PP When the response to the mkdir request has been received the complete_callback will be invoked with the result of the mkdir operation\&. .PP \fBParameters\fP .RS 4 \fIu_handle\fP An FTP Client handle to use for the mkdir operation\&. .br \fIurl\fP The URL for the directory to create\&. The URL may be an ftp or gsiftp URL\&. .br \fIattr\fP Attributes for this operation\&. .br \fIcomplete_callback\fP Callback to be invoked once the mkdir is completed\&. .br \fIcallback_arg\fP Argument to be passed to the complete_callback\&. .RE .PP \fBReturns\fP .RS 4 This function returns an error when any of these conditions are true: .IP "\(bu" 2 u_handle is GLOBUS_NULL .IP "\(bu" 2 url is GLOBUS_NULL .IP "\(bu" 2 url cannot be parsed .IP "\(bu" 2 url is not a ftp or gsiftp url .IP "\(bu" 2 complete_callback is GLOBUS_NULL .IP "\(bu" 2 handle already has an operation in progress .PP .RE .PP .SS "globus_result_t globus_ftp_client_mlst (\fBglobus_ftp_client_handle_t\fP * u_handle, const char * url, \fBglobus_ftp_client_operationattr_t\fP * attr, globus_byte_t ** mlst_buffer, globus_size_t * mlst_buffer_length, \fBglobus_ftp_client_complete_callback_t\fP complete_callback, void * callback_arg)" Get information about a file or directory from a FTP server\&. .PP This function requests the MLST fact string of a file or directory from an FTP server\&. .PP When the MLST request is completed or aborted, the complete_callback will be invoked with the final status of the operation\&. If the callback is returns without an error, the MLST fact string will be stored in the globus_byte_t * pointed to by the mlst_buffer parameter to this function\&. .PP \fBParameters\fP .RS 4 \fIu_handle\fP An FTP Client handle to use for the list operation\&. .br \fIurl\fP The URL of a file or directory to list\&. The URL may be an ftp or gsiftp URL\&. .br \fIattr\fP Attributes for this file transfer\&. .br \fImlst_buffer\fP A pointer to a globus_byte_t * to be allocated and filled with the MLST fact string of the file, if it exists\&. Otherwise, the value pointed to by it is undefined\&. It is up to the user to free this memory\&. .br \fImlst_buffer_length\fP A pointer to a globus_size_t to be filled with the length of the data in mlst_buffer\&. .br \fIcomplete_callback\fP Callback to be invoked once the MLST command is completed\&. .br \fIcallback_arg\fP Argument to be passed to the complete_callback\&. .RE .PP \fBReturns\fP .RS 4 This function returns an error when any of these conditions are true: .IP "\(bu" 2 handle is GLOBUS_NULL .IP "\(bu" 2 url is GLOBUS_NULL .IP "\(bu" 2 url cannot be parsed .IP "\(bu" 2 url is not a ftp or gsiftp url .IP "\(bu" 2 mlst_buffer is GLOBUS_NULL .IP "\(bu" 2 mlst_buffer_length is GLOBUS_NULL .IP "\(bu" 2 complete_callback is GLOBUS_NULL .IP "\(bu" 2 handle already has an operation in progress .PP .RE .PP .SS "globus_result_t globus_ftp_client_modification_time (\fBglobus_ftp_client_handle_t\fP * u_handle, const char * url, \fBglobus_ftp_client_operationattr_t\fP * attr, globus_abstime_t * modification_time, \fBglobus_ftp_client_complete_callback_t\fP complete_callback, void * callback_arg)" Get a file's modification time from an FTP server\&. .PP This function requests the modification time of a file from an FTP server\&. .PP When the modification time request is completed or aborted, the complete_callback will be invoked with the final status of the operation\&. If the callback is returns without an error, the modification time will be stored in the globus_abstime_t value pointed to by the modification_time parameter to this function\&. .PP \fBParameters\fP .RS 4 \fIu_handle\fP An FTP Client handle to use for the list operation\&. .br \fIurl\fP The URL to list\&. The URL may be an ftp or gsiftp URL\&. .br \fIattr\fP Attributes for this file transfer\&. .br \fImodification_time\fP A pointer to a globus_abstime_t to be filled with the modification time of the file, if it exists\&. Otherwise, the value pointed to by it is undefined\&. .br \fIcomplete_callback\fP Callback to be invoked once the modification time check is completed\&. .br \fIcallback_arg\fP Argument to be passed to the complete_callback\&. .RE .PP \fBReturns\fP .RS 4 This function returns an error when any of these conditions are true: .IP "\(bu" 2 handle is GLOBUS_NULL .IP "\(bu" 2 url is GLOBUS_NULL .IP "\(bu" 2 url cannot be parsed .IP "\(bu" 2 url is not a ftp or gsiftp url .IP "\(bu" 2 modification time is GLOBUS_NULL .IP "\(bu" 2 complete_callback is GLOBUS_NULL .IP "\(bu" 2 handle already has an operation in progress .PP .RE .PP .SS "globus_result_t globus_ftp_client_move (\fBglobus_ftp_client_handle_t\fP * u_handle, const char * source_url, const char * dest_url, \fBglobus_ftp_client_operationattr_t\fP * attr, \fBglobus_ftp_client_complete_callback_t\fP complete_callback, void * callback_arg)" Move a file on an FTP server\&. .PP This function starts a move (rename) operation on an FTP server\&. Note that this function does not move files between FTP servers and that the host:port part of the destination url is ignored\&. .PP When the response to the move request has been received the complete_callback will be invoked with the result of the move operation\&. .PP \fBParameters\fP .RS 4 \fIu_handle\fP An FTP Client handle to use for the move operation\&. .br \fIsource_url\fP The URL for the file to move\&. .br \fIdest_url\fP The URL for the target of the move\&. The host:port part of this URL is ignored\&. .br \fIattr\fP Attributes for this operation\&. .br \fIcomplete_callback\fP Callback to be invoked once the move is completed\&. .br \fIcallback_arg\fP Argument to be passed to the complete_callback\&. .RE .PP \fBReturns\fP .RS 4 This function returns an error when any of these conditions are true: .IP "\(bu" 2 handle is GLOBUS_NULL .IP "\(bu" 2 source_url is GLOBUS_NULL .IP "\(bu" 2 source_url cannot be parsed .IP "\(bu" 2 source_url is not a ftp or gsiftp url .IP "\(bu" 2 complete_callback is GLOBUS_NULL .IP "\(bu" 2 handle already has an operation in progress .PP .RE .PP .SS "globus_result_t globus_ftp_client_partial_get (\fBglobus_ftp_client_handle_t\fP * handle, const char * url, \fBglobus_ftp_client_operationattr_t\fP * attr, \fBglobus_ftp_client_restart_marker_t\fP * restart, globus_off_t partial_offset, globus_off_t partial_end_offset, \fBglobus_ftp_client_complete_callback_t\fP complete_callback, void * callback_arg)" Get a file from an FTP server\&. .PP This function starts a 'get' file transfer from an FTP server\&. If this function returns GLOBUS_SUCCESS, then the user may immediately begin calling \fBglobus_ftp_client_register_read()\fP to retrieve the data associated with this URL\&. .PP When all of the data associated with this URL is retrieved, and all of the data callbacks have been called, or if the get request is aborted, the complete_callback will be invoked with the final status of the get\&. .PP \fBParameters\fP .RS 4 \fIhandle\fP An FTP Client handle to use for the get operation\&. .br \fIurl\fP The URL to download\&. The URL may be an ftp or gsiftp URL\&. .br \fIattr\fP Attributes for this file transfer\&. .br \fIrestart\fP Pointer to a restart marker\&. .br \fIpartial_offset\fP Starting offset for a partial file get\&. .br \fIpartial_end_offset\fP Ending offset for a partial file get\&. Use -1 for EOF\&. .br \fIcomplete_callback\fP Callback to be invoked once the 'get' is completed\&. .br \fIcallback_arg\fP Argument to be passed to the complete_callback\&. .RE .PP \fBReturns\fP .RS 4 This function returns an error when any of these conditions are true: .IP "\(bu" 2 handle is GLOBUS_NULL .IP "\(bu" 2 url is GLOBUS_NULL .IP "\(bu" 2 url cannot be parsed .IP "\(bu" 2 url is not a ftp or gsiftp url .IP "\(bu" 2 complete_callback is GLOBUS_NULL .IP "\(bu" 2 handle already has an operation in progress .PP .RE .PP .SS "globus_result_t globus_ftp_client_partial_put (\fBglobus_ftp_client_handle_t\fP * handle, const char * url, \fBglobus_ftp_client_operationattr_t\fP * attr, \fBglobus_ftp_client_restart_marker_t\fP * restart, globus_off_t partial_offset, globus_off_t partial_end_offset, \fBglobus_ftp_client_complete_callback_t\fP complete_callback, void * callback_arg)" Store a file on an FTP server\&. .PP This function starts a 'put' file transfer to an FTP server\&. If this function returns GLOBUS_SUCCESS, then the user may immediately begin calling \fBglobus_ftp_client_register_write()\fP to send the data associated with this URL\&. .PP When all of the data associated with this URL is sent, and all of the data callbacks have been called, or if the put request is aborted, the complete_callback will be invoked with the final status of the put\&. .PP \fBParameters\fP .RS 4 \fIhandle\fP An FTP Client handle to use for the put operation\&. .br \fIurl\fP The URL to store the data to\&. The URL may be an ftp or gsiftp URL\&. .br \fIattr\fP Attributes for this file transfer\&. .br \fIrestart\fP Pointer to a restart marker\&. .br \fIpartial_offset\fP Starting offset for a partial file put\&. .br \fIpartial_end_offset\fP Ending offset for a partial file put\&. .br \fIcomplete_callback\fP Callback to be invoked once the 'put' is completed\&. .br \fIcallback_arg\fP Argument to be passed to the complete_callback\&. .RE .PP \fBSee also\fP .RS 4 \fBglobus_ftp_client_register_write()\fP .RE .PP .SS "globus_result_t globus_ftp_client_partial_third_party_transfer (\fBglobus_ftp_client_handle_t\fP * handle, const char * source_url, \fBglobus_ftp_client_operationattr_t\fP * source_attr, const char * dest_url, \fBglobus_ftp_client_operationattr_t\fP * dest_attr, \fBglobus_ftp_client_restart_marker_t\fP * restart, globus_off_t partial_offset, globus_off_t partial_end_offset, \fBglobus_ftp_client_complete_callback_t\fP complete_callback, void * callback_arg)" Transfer a file between two FTP servers\&. .PP This function starts up a third-party file transfer between FTP server\&. This function returns immediately\&. .PP When the transfer is completed or if the transfer is aborted, the complete_callback will be invoked with the final status of the transfer\&. .PP \fBParameters\fP .RS 4 \fIhandle\fP An FTP Client handle to use for the get operation\&. .br \fIsource_url\fP The URL to transfer\&. The URL may be an ftp or gsiftp URL\&. .br \fIsource_attr\fP Attributes for the source URL\&. .br \fIdest_url\fP The destination URL for the transfer\&. The URL may be an ftp or gsiftp URL\&. .br \fIdest_attr\fP Attributes for the destination URL\&. .br \fIrestart\fP Pointer to a restart marker\&. .br \fIpartial_offset\fP Starting offset for a partial file get\&. .br \fIpartial_end_offset\fP Ending offset for a partial file get\&. Use -1 for EOF\&. .br \fIcomplete_callback\fP Callback to be invoked once the 'put' is completed\&. .br \fIcallback_arg\fP Argument to be passed to the complete_callback\&. .RE .PP \fBNote\fP .RS 4 The source_attr and dest_attr MUST be compatible\&. For example, the MODE and TYPE should match for both the source and destination\&. .RE .PP .SS "globus_result_t globus_ftp_client_put (\fBglobus_ftp_client_handle_t\fP * handle, const char * url, \fBglobus_ftp_client_operationattr_t\fP * attr, \fBglobus_ftp_client_restart_marker_t\fP * restart, \fBglobus_ftp_client_complete_callback_t\fP complete_callback, void * callback_arg)" Store a file on an FTP server\&. .PP This function starts a 'put' file transfer to an FTP server\&. If this function returns GLOBUS_SUCCESS, then the user may immediately begin calling \fBglobus_ftp_client_register_write()\fP to send the data associated with this URL\&. .PP When all of the data associated with this URL is sent, and all of the data callbacks have been called, or if the put request is aborted, the complete_callback will be invoked with the final status of the put\&. .PP \fBParameters\fP .RS 4 \fIhandle\fP An FTP Client handle to use for the put operation\&. .br \fIurl\fP The URL to store the data to\&. The URL may be an ftp or gsiftp URL\&. .br \fIattr\fP Attributes for this file transfer\&. .br \fIrestart\fP Pointer to a restart marker\&. .br \fIcomplete_callback\fP Callback to be invoked once the 'put' is completed\&. .br \fIcallback_arg\fP Argument to be passed to the complete_callback\&. .RE .PP \fBSee also\fP .RS 4 \fBglobus_ftp_client_register_write()\fP .RE .PP .SS "globus_result_t globus_ftp_client_recursive_list (\fBglobus_ftp_client_handle_t\fP * u_handle, const char * url, \fBglobus_ftp_client_operationattr_t\fP * attr, \fBglobus_ftp_client_complete_callback_t\fP complete_callback, void * callback_arg)" Get a machine parseable recursive file listing from an FTP server\&. .PP This function starts a 'MLSR' transfer from an FTP server\&. If this function returns GLOBUS_SUCCESS, then the user may immediately begin calling \fBglobus_ftp_client_register_read()\fP to retrieve the data associated with this listing\&. .PP When all of the data associated with the listing is retrieved, and all of the data callbacks have been called, or if the list request is aborted, the complete_callback will be invoked with the final status of the list\&. .PP \fBParameters\fP .RS 4 \fIu_handle\fP An FTP Client handle to use for the list operation\&. .br \fIurl\fP The URL to list\&. The URL may be an ftp or gsiftp URL\&. .br \fIattr\fP Attributes for this file transfer\&. .br \fIcomplete_callback\fP Callback to be invoked once the 'list' is completed\&. .br \fIcallback_arg\fP Argument to be passed to the complete_callback\&. .RE .PP \fBReturns\fP .RS 4 This function returns an error when any of these conditions are true: .IP "\(bu" 2 handle is GLOBUS_NULL .IP "\(bu" 2 url is GLOBUS_NULL .IP "\(bu" 2 url cannot be parsed .IP "\(bu" 2 url is not a ftp or gsiftp url .IP "\(bu" 2 complete_callback is GLOBUS_NULL .IP "\(bu" 2 handle already has an operation in progress .PP .RE .PP \fBSee also\fP .RS 4 \fBglobus_ftp_client_register_read()\fP .RE .PP .SS "globus_result_t globus_ftp_client_rmdir (\fBglobus_ftp_client_handle_t\fP * u_handle, const char * url, \fBglobus_ftp_client_operationattr_t\fP * attr, \fBglobus_ftp_client_complete_callback_t\fP complete_callback, void * callback_arg)" Make a directory on an FTP server\&. .PP This function starts a rmdir operation on a FTP server\&. .PP When the response to the rmdir request has been received the complete_callback will be invoked with the result of the rmdir operation\&. .PP \fBParameters\fP .RS 4 \fIu_handle\fP An FTP Client handle to use for the rmdir operation\&. .br \fIurl\fP The URL for the directory to create\&. The URL may be an ftp or gsiftp URL\&. .br \fIattr\fP Attributes for this operation\&. .br \fIcomplete_callback\fP Callback to be invoked once the rmdir is completed\&. .br \fIcallback_arg\fP Argument to be passed to the complete_callback\&. .RE .PP \fBReturns\fP .RS 4 This function returns an error when any of these conditions are true: .IP "\(bu" 2 u_handle is GLOBUS_NULL .IP "\(bu" 2 url is GLOBUS_NULL .IP "\(bu" 2 url cannot be parsed .IP "\(bu" 2 url is not a ftp or gsiftp url .IP "\(bu" 2 complete_callback is GLOBUS_NULL .IP "\(bu" 2 handle already has an operation in progress .PP .RE .PP .SS "globus_result_t globus_ftp_client_size (\fBglobus_ftp_client_handle_t\fP * u_handle, const char * url, \fBglobus_ftp_client_operationattr_t\fP * attr, globus_off_t * size, \fBglobus_ftp_client_complete_callback_t\fP complete_callback, void * callback_arg)" Get a file's size from an FTP server\&. .PP This function requests the size of a file from an FTP server\&. .PP When the size request is completed or aborted, the complete_callback will be invoked with the final status of the operation\&. If the callback is returns without an error, the size will be stored in the globus_off_t value pointed to by the size parameter to this function\&. .PP \fBNote\fP .RS 4 In ASCII mode, the size will be the size of the file after conversion to ASCII mode\&. The actual amount of data which is returned in the data callbacks may be less than this amount\&. .RE .PP \fBParameters\fP .RS 4 \fIu_handle\fP An FTP Client handle to use for the list operation\&. .br \fIurl\fP The URL to list\&. The URL may be an ftp or gsiftp URL\&. .br \fIattr\fP Attributes for this file transfer\&. .br \fIsize\fP A pointer to a globus_off_t to be filled with the total size of the file, if it exists\&. Otherwise, the value pointed to by it is undefined\&. .br \fIcomplete_callback\fP Callback to be invoked once the size check is completed\&. .br \fIcallback_arg\fP Argument to be passed to the complete_callback\&. .RE .PP \fBReturns\fP .RS 4 This function returns an error when any of these conditions are true: .IP "\(bu" 2 handle is GLOBUS_NULL .IP "\(bu" 2 url is GLOBUS_NULL .IP "\(bu" 2 url cannot be parsed .IP "\(bu" 2 url is not a ftp or gsiftp url .IP "\(bu" 2 size is GLOBUS_NULL .IP "\(bu" 2 complete_callback is GLOBUS_NULL .IP "\(bu" 2 handle already has an operation in progress .PP .RE .PP .SS "globus_result_t globus_ftp_client_stat (\fBglobus_ftp_client_handle_t\fP * u_handle, const char * url, \fBglobus_ftp_client_operationattr_t\fP * attr, globus_byte_t ** stat_buffer, globus_size_t * stat_buffer_length, \fBglobus_ftp_client_complete_callback_t\fP complete_callback, void * callback_arg)" Get information about a file or directory from a FTP server\&. .PP This function requests the STAT listing of a file or directory from an FTP server\&. .PP When the STAT request is completed or aborted, the complete_callback will be invoked with the final status of the operation\&. If the callback is returns without an error, the STAT fact string will be stored in the globus_byte_t * pointed to by the stat_buffer parameter to this function\&. .PP \fBParameters\fP .RS 4 \fIu_handle\fP An FTP Client handle to use for the list operation\&. .br \fIurl\fP The URL of a file or directory to list\&. The URL may be an ftp or gsiftp URL\&. .br \fIattr\fP Attributes for this file transfer\&. .br \fIstat_buffer\fP A pointer to a globus_byte_t * to be allocated and filled with the STAT listing of the file, if it exists\&. Otherwise, the value pointed to by it is undefined\&. It is up to the user to free this memory\&. .br \fIstat_buffer_length\fP A pointer to a globus_size_t to be filled with the length of the data in stat_buffer\&. .br \fIcomplete_callback\fP Callback to be invoked once the STAT command is completed\&. .br \fIcallback_arg\fP Argument to be passed to the complete_callback\&. .RE .PP \fBReturns\fP .RS 4 This function returns an error when any of these conditions are true: .IP "\(bu" 2 handle is GLOBUS_NULL .IP "\(bu" 2 url is GLOBUS_NULL .IP "\(bu" 2 url cannot be parsed .IP "\(bu" 2 url is not a ftp or gsiftp url .IP "\(bu" 2 stat_buffer is GLOBUS_NULL .IP "\(bu" 2 stat_buffer_length is GLOBUS_NULL .IP "\(bu" 2 complete_callback is GLOBUS_NULL .IP "\(bu" 2 handle already has an operation in progress .PP .RE .PP .SS "globus_result_t globus_ftp_client_symlink (\fBglobus_ftp_client_handle_t\fP * u_handle, const char * source_url, const char * link_url, \fBglobus_ftp_client_operationattr_t\fP * attr, \fBglobus_ftp_client_complete_callback_t\fP complete_callback, void * callback_arg)" Create a symbolic link on the FTP server\&. .PP This function creates a symbolic link on the FTP server pointing to a given path\&. Note that this function does not link files between FTP servers and that the host:port part of the link url is ignored\&. .PP When the response to the symlink request has been received the complete_callback will be invoked with the result of the move operation\&. .PP \fBParameters\fP .RS 4 \fIu_handle\fP An FTP Client handle to use for the move operation\&. .br \fIsource_url\fP The URL for the symbolic link to create\&. .br \fIlink_url\fP The URL for the target of the link\&. The host:port part of this URL is ignored\&. .br \fIattr\fP Attributes for this operation\&. .br \fIcomplete_callback\fP Callback to be invoked once the symlink is completed\&. .br \fIcallback_arg\fP Argument to be passed to the complete_callback\&. .RE .PP \fBReturns\fP .RS 4 This function returns an error when any of these conditions are true: .IP "\(bu" 2 handle is GLOBUS_NULL .IP "\(bu" 2 source_url is GLOBUS_NULL .IP "\(bu" 2 source_url cannot be parsed .IP "\(bu" 2 source_url is not a ftp or gsiftp url .IP "\(bu" 2 complete_callback is GLOBUS_NULL .IP "\(bu" 2 handle already has an operation in progress .PP .RE .PP .SS "globus_result_t globus_ftp_client_third_party_transfer (\fBglobus_ftp_client_handle_t\fP * handle, const char * source_url, \fBglobus_ftp_client_operationattr_t\fP * source_attr, const char * dest_url, \fBglobus_ftp_client_operationattr_t\fP * dest_attr, \fBglobus_ftp_client_restart_marker_t\fP * restart, \fBglobus_ftp_client_complete_callback_t\fP complete_callback, void * callback_arg)" Transfer a file between two FTP servers\&. .PP This function starts up a third-party file transfer between FTP server\&. This function returns immediately\&. .PP When the transfer is completed or if the transfer is aborted, the complete_callback will be invoked with the final status of the transfer\&. .PP \fBParameters\fP .RS 4 \fIhandle\fP An FTP Client handle to use for the get operation\&. .br \fIsource_url\fP The URL to transfer\&. The URL may be an ftp or gsiftp URL\&. .br \fIsource_attr\fP Attributes for the source URL\&. .br \fIdest_url\fP The destination URL for the transfer\&. The URL may be an ftp or gsiftp URL\&. .br \fIdest_attr\fP Attributes for the destination URL\&. .br \fIrestart\fP Pointer to a restart marker\&. .br \fIcomplete_callback\fP Callback to be invoked once the 'put' is completed\&. .br \fIcallback_arg\fP Argument to be passed to the complete_callback\&. .RE .PP \fBNote\fP .RS 4 The source_attr and dest_attr MUST be compatible\&. For example, the MODE and TYPE should match for both the source and destination\&. .RE .PP .SS "globus_result_t globus_ftp_client_utime (\fBglobus_ftp_client_handle_t\fP * u_handle, const char * url, const struct tm * utime_time, \fBglobus_ftp_client_operationattr_t\fP * attr, \fBglobus_ftp_client_complete_callback_t\fP complete_callback, void * callback_arg)" Set the modification time on a file\&. .PP This function changes file modification time .PP When the response to the modification time request has been received the complete_callback will be invoked with the result of the operation\&. .PP \fBParameters\fP .RS 4 \fIu_handle\fP An FTP Client handle to use for the change operation\&. .br \fIurl\fP The URL of the file to modify group membership\&. .br \fIutime_time\fP The absolute time to which the file's modification time should be set\&. .br .br \fIattr\fP Attributes for this operation\&. .br \fIcomplete_callback\fP Callback to be invoked once the change is completed\&. .br \fIcallback_arg\fP Argument to be passed to the complete_callback\&. .RE .PP \fBReturns\fP .RS 4 This function returns an error when any of these conditions are true: .IP "\(bu" 2 handle is GLOBUS_NULL .IP "\(bu" 2 url is GLOBUS_NULL .IP "\(bu" 2 url cannot be parsed .IP "\(bu" 2 url is not a ftp or gsiftp url .IP "\(bu" 2 complete_callback is GLOBUS_NULL .IP "\(bu" 2 handle already has an operation in progress .PP .RE .PP .SS "globus_result_t globus_ftp_client_verbose_list (\fBglobus_ftp_client_handle_t\fP * u_handle, const char * url, \fBglobus_ftp_client_operationattr_t\fP * attr, \fBglobus_ftp_client_complete_callback_t\fP complete_callback, void * callback_arg)" Get a file listing from an FTP server\&. .PP This function starts a 'LIST' transfer from an FTP server\&. If this function returns GLOBUS_SUCCESS, then the user may immediately begin calling \fBglobus_ftp_client_register_read()\fP to retrieve the data associated with this listing\&. .PP When all of the data associated with the listing is retrieved, and all of the data callbacks have been called, or if the list request is aborted, the complete_callback will be invoked with the final status of the list\&. .PP \fBParameters\fP .RS 4 \fIu_handle\fP An FTP Client handle to use for the list operation\&. .br \fIurl\fP The URL to list\&. The URL may be an ftp or gsiftp URL\&. .br \fIattr\fP Attributes for this file transfer\&. .br \fIcomplete_callback\fP Callback to be invoked once the 'list' is completed\&. .br \fIcallback_arg\fP Argument to be passed to the complete_callback\&. .RE .PP \fBReturns\fP .RS 4 This function returns an error when any of these conditions are true: .IP "\(bu" 2 handle is GLOBUS_NULL .IP "\(bu" 2 url is GLOBUS_NULL .IP "\(bu" 2 url cannot be parsed .IP "\(bu" 2 url is not a ftp or gsiftp url .IP "\(bu" 2 complete_callback is GLOBUS_NULL .IP "\(bu" 2 handle already has an operation in progress .PP .RE .PP \fBSee also\fP .RS 4 \fBglobus_ftp_client_register_read()\fP .RE .PP .SH "Author" .PP Generated automatically by Doxygen for globus_ftp_client from the source code\&.