.TH "globus_ftp_client_operationattr" 3 "Wed Feb 27 2019" "Version 9.2" "globus_ftp_client" \" -*- nroff -*- .ad l .nh .SH NAME globus_ftp_client_operationattr \- FTP Operation Attributes\&. .SH SYNOPSIS .br .PP .SS "Data Structures" .in +1c .ti -1c .RI "struct \fBglobus_i_ftp_client_range_t\fP" .br .RI "Byte range report\&. .PP This structure contains information about a single extent of data stored on an FTP server\&. A report structure is generated from each part of an extended-block mode restart marker message from an FTP server\&. " .in -1c .SS "Typedefs" .in +1c .ti -1c .RI "typedef struct \fBglobus_i_ftp_client_operationattr_t\fP * \fBglobus_ftp_client_operationattr_t\fP" .br .RI "Operation Attributes\&. .PP FTP Client attributes are used to control the parameters needed to access an URL using the FTP protocol\&. Attributes are created and manipulated using the functions in the \fBattributes \fP section of the library\&. " .in -1c .SS "Functions" .in +1c .ti -1c .RI "globus_result_t \fBglobus_ftp_client_operationattr_init\fP (\fBglobus_ftp_client_operationattr_t\fP *attr)" .br .ti -1c .RI "globus_result_t \fBglobus_ftp_client_operationattr_destroy\fP (\fBglobus_ftp_client_operationattr_t\fP *attr)" .br .ti -1c .RI "globus_result_t \fBglobus_ftp_client_operationattr_set_delayed_pasv\fP (const \fBglobus_ftp_client_operationattr_t\fP *attr, globus_bool_t delayed_pasv)" .br .ti -1c .RI "globus_result_t \fBglobus_ftp_client_operationattr_copy\fP (\fBglobus_ftp_client_operationattr_t\fP *dst, const \fBglobus_ftp_client_operationattr_t\fP *src)" .br .in -1c .SS "Storage Module" .in +1c .ti -1c .RI "globus_result_t \fBglobus_ftp_client_operationattr_set_storage_module\fP (\fBglobus_ftp_client_operationattr_t\fP *attr, const char *module_name, const char *module_args)" .br .ti -1c .RI "globus_result_t \fBglobus_ftp_client_operationattr_get_storage_module\fP (const \fBglobus_ftp_client_operationattr_t\fP *attr, char **module_name, char **module_args)" .br .in -1c .SS "Custom Data Channel Driver Stack" .in +1c .ti -1c .RI "globus_result_t \fBglobus_ftp_client_operationattr_set_net_stack\fP (\fBglobus_ftp_client_operationattr_t\fP *attr, const char *driver_list)" .br .ti -1c .RI "globus_result_t \fBglobus_ftp_client_operationattr_get_net_stack\fP (const \fBglobus_ftp_client_operationattr_t\fP *attr, char **driver_list)" .br .in -1c .SS "Custom Server File Driver Stack" .in +1c .ti -1c .RI "globus_result_t \fBglobus_ftp_client_operationattr_set_disk_stack\fP (\fBglobus_ftp_client_operationattr_t\fP *attr, const char *driver_list)" .br .ti -1c .RI "globus_result_t \fBglobus_ftp_client_operationattr_get_disk_stack\fP (const \fBglobus_ftp_client_operationattr_t\fP *attr, char **driver_list)" .br .in -1c .SS "Parallelism" .in +1c .ti -1c .RI "globus_result_t \fBglobus_ftp_client_operationattr_set_parallelism\fP (\fBglobus_ftp_client_operationattr_t\fP *attr, const globus_ftp_control_parallelism_t *parallelism)" .br .ti -1c .RI "globus_result_t \fBglobus_ftp_client_operationattr_get_parallelism\fP (const \fBglobus_ftp_client_operationattr_t\fP *attr, globus_ftp_control_parallelism_t *parallelism)" .br .in -1c .SS "allocate" .in +1c .ti -1c .RI "globus_result_t \fBglobus_ftp_client_operationattr_set_allocate\fP (\fBglobus_ftp_client_operationattr_t\fP *attr, const globus_off_t allocated_size)" .br .ti -1c .RI "globus_result_t \fBglobus_ftp_client_operationattr_get_allocate\fP (const \fBglobus_ftp_client_operationattr_t\fP *attr, globus_off_t *allocated_size)" .br .in -1c .SS "authz_assert" .in +1c .ti -1c .RI "globus_result_t \fBglobus_ftp_client_operationattr_set_authz_assert\fP (\fBglobus_ftp_client_operationattr_t\fP *attr, const char *authz_assert, globus_bool_t cache_authz_assert)" .br .ti -1c .RI "globus_result_t \fBglobus_ftp_client_operationattr_get_authz_assert\fP (const \fBglobus_ftp_client_operationattr_t\fP *attr, char **authz_assert, globus_bool_t *cache_authz_assert)" .br .in -1c .SS "Striped Data Movement" .in +1c .ti -1c .RI "globus_result_t \fBglobus_ftp_client_operationattr_set_striped\fP (\fBglobus_ftp_client_operationattr_t\fP *attr, globus_bool_t striped)" .br .ti -1c .RI "globus_result_t \fBglobus_ftp_client_operationattr_get_striped\fP (const \fBglobus_ftp_client_operationattr_t\fP *attr, globus_bool_t *striped)" .br .in -1c .SS "Striped File Layout" .in +1c .ti -1c .RI "globus_result_t \fBglobus_ftp_client_operationattr_set_layout\fP (\fBglobus_ftp_client_operationattr_t\fP *attr, const globus_ftp_control_layout_t *layout)" .br .ti -1c .RI "globus_result_t \fBglobus_ftp_client_operationattr_get_layout\fP (const \fBglobus_ftp_client_operationattr_t\fP *attr, globus_ftp_control_layout_t *layout)" .br .in -1c .SS "TCP Buffer" .in +1c .ti -1c .RI "globus_result_t \fBglobus_ftp_client_operationattr_set_tcp_buffer\fP (\fBglobus_ftp_client_operationattr_t\fP *attr, const globus_ftp_control_tcpbuffer_t *tcp_buffer)" .br .ti -1c .RI "globus_result_t \fBglobus_ftp_client_operationattr_get_tcp_buffer\fP (const \fBglobus_ftp_client_operationattr_t\fP *attr, globus_ftp_control_tcpbuffer_t *tcp_buffer)" .br .in -1c .SS "File Type" .in +1c .ti -1c .RI "globus_result_t \fBglobus_ftp_client_operationattr_set_type\fP (\fBglobus_ftp_client_operationattr_t\fP *attr, globus_ftp_control_type_t type)" .br .ti -1c .RI "globus_result_t \fBglobus_ftp_client_operationattr_get_type\fP (const \fBglobus_ftp_client_operationattr_t\fP *attr, globus_ftp_control_type_t *type)" .br .in -1c .SS "Transfer Mode" .in +1c .ti -1c .RI "globus_result_t \fBglobus_ftp_client_operationattr_set_mode\fP (\fBglobus_ftp_client_operationattr_t\fP *attr, globus_ftp_control_mode_t mode)" .br .ti -1c .RI "globus_result_t \fBglobus_ftp_client_operationattr_get_mode\fP (const \fBglobus_ftp_client_operationattr_t\fP *attr, globus_ftp_control_mode_t *mode)" .br .in -1c .in +1c .ti -1c .RI "globus_result_t \fBglobus_ftp_client_operationattr_set_list_uses_data_mode\fP (const \fBglobus_ftp_client_operationattr_t\fP *attr, globus_bool_t list_uses_data_mode)" .br .in -1c .SS "Authorization" .in +1c .ti -1c .RI "globus_result_t \fBglobus_ftp_client_operationattr_set_authorization\fP (\fBglobus_ftp_client_operationattr_t\fP *attr, gss_cred_id_t credential, const char *user, const char *password, const char *account, const char *subject)" .br .ti -1c .RI "globus_result_t \fBglobus_ftp_client_operationattr_get_authorization\fP (const \fBglobus_ftp_client_operationattr_t\fP *attr, gss_cred_id_t *credential, char **user, char **password, char **account, char **subject)" .br .in -1c .SS "Data Channel Authentication" .in +1c .ti -1c .RI "globus_result_t \fBglobus_ftp_client_operationattr_set_dcau\fP (\fBglobus_ftp_client_operationattr_t\fP *attr, const globus_ftp_control_dcau_t *dcau)" .br .ti -1c .RI "globus_result_t \fBglobus_ftp_client_operationattr_get_dcau\fP (const \fBglobus_ftp_client_operationattr_t\fP *attr, globus_ftp_control_dcau_t *dcau)" .br .in -1c .SS "Data Channel Protection" .in +1c .ti -1c .RI "globus_result_t \fBglobus_ftp_client_operationattr_set_data_protection\fP (\fBglobus_ftp_client_operationattr_t\fP *attr, globus_ftp_control_protection_t protection)" .br .ti -1c .RI "globus_result_t \fBglobus_ftp_client_operationattr_get_data_protection\fP (const \fBglobus_ftp_client_operationattr_t\fP *attr, globus_ftp_control_protection_t *protection)" .br .in -1c .SS "Data Channel Security Context" .in +1c .ti -1c .RI "globus_result_t \fBglobus_ftp_client_operationattr_set_data_security\fP (\fBglobus_ftp_client_operationattr_t\fP *attr, int type, void *credential)" .br .ti -1c .RI "globus_result_t \fBglobus_ftp_client_operationattr_get_data_security\fP (const \fBglobus_ftp_client_operationattr_t\fP *attr, int *type, void **credential)" .br .in -1c .SS "Control Channel Protection" .in +1c .ti -1c .RI "globus_result_t \fBglobus_ftp_client_operationattr_set_control_protection\fP (\fBglobus_ftp_client_operationattr_t\fP *attr, globus_ftp_control_protection_t protection)" .br .ti -1c .RI "globus_result_t \fBglobus_ftp_client_operationattr_get_control_protection\fP (const \fBglobus_ftp_client_operationattr_t\fP *attr, globus_ftp_control_protection_t *protection)" .br .in -1c .SS "Append" .in +1c .ti -1c .RI "globus_result_t \fBglobus_ftp_client_operationattr_set_append\fP (\fBglobus_ftp_client_operationattr_t\fP *attr, globus_bool_t append)" .br .ti -1c .RI "globus_result_t \fBglobus_ftp_client_operationattr_get_append\fP (const \fBglobus_ftp_client_operationattr_t\fP *attr, globus_bool_t *append)" .br .in -1c .SS "IPv6" .in +1c .ti -1c .RI "globus_result_t \fBglobus_ftp_client_operationattr_set_allow_ipv6\fP (\fBglobus_ftp_client_operationattr_t\fP *attr, globus_bool_t allow_ipv6)" .br .ti -1c .RI "globus_result_t \fBglobus_ftp_client_operationattr_get_allow_ipv6\fP (const \fBglobus_ftp_client_operationattr_t\fP *attr, globus_bool_t *allow_ipv6)" .br .in -1c .SS "Read into a Single Buffer" .in +1c .ti -1c .RI "globus_result_t \fBglobus_ftp_client_operationattr_set_read_all\fP (\fBglobus_ftp_client_operationattr_t\fP *attr, globus_bool_t read_all, \fBglobus_ftp_client_data_callback_t\fP intermediate_callback, void *intermediate_callback_arg)" .br .ti -1c .RI "globus_result_t \fBglobus_ftp_client_operationattr_get_read_all\fP (const \fBglobus_ftp_client_operationattr_t\fP *attr, globus_bool_t *read_all, \fBglobus_ftp_client_data_callback_t\fP *intermediate_callback, void **intermediate_callback_arg)" .br .in -1c .SH "Detailed Description" .PP FTP Operation Attributes\&. Operation attributes are used to control the security and performance of an FTP operation\&. These features are often dependent on the capabilities of the FTP server which you are going to access\&. .SH "Typedef Documentation" .PP .SS "typedef struct \fBglobus_i_ftp_client_operationattr_t\fP* \fBglobus_ftp_client_operationattr_t\fP" .PP Operation Attributes\&. .PP FTP Client attributes are used to control the parameters needed to access an URL using the FTP protocol\&. Attributes are created and manipulated using the functions in the \fBattributes \fP section of the library\&. .PP \fBSee also:\fP .RS 4 \fBglobus_ftp_client_operationattr_init()\fP, \fBglobus_ftp_client_operationattr_destroy()\fP .RE .PP .SH "Function Documentation" .PP .SS "globus_result_t globus_ftp_client_operationattr_copy (\fBglobus_ftp_client_operationattr_t\fP * dst, const \fBglobus_ftp_client_operationattr_t\fP * src)" Create a duplicate of an attribute set\&. .PP The duplicated attribute set has a deep copy of all data in the attribute set, so the original may be destroyed, while the copy is still valid\&. .PP \fBParameters:\fP .RS 4 \fIdst\fP The attribute set to be initialized to the same values as src\&. .br \fIsrc\fP The original attribute set to duplicate\&. .RE .PP .SS "globus_result_t globus_ftp_client_operationattr_destroy (\fBglobus_ftp_client_operationattr_t\fP * attr)" Destroy an FTP client attribute set\&. .PP \fBParameters:\fP .RS 4 \fIattr\fP A pointer to the attribute to destroy\&. .RE .PP .SS "globus_result_t globus_ftp_client_operationattr_init (\fBglobus_ftp_client_operationattr_t\fP * attr)" Initialize an FTP client attribute set\&. .PP \fBParameters:\fP .RS 4 \fIattr\fP A pointer to the new attribute set\&. .RE .PP .SS "globus_result_t globus_ftp_client_operationattr_set_allocate (\fBglobus_ftp_client_operationattr_t\fP * attr, const globus_off_t allocated_size)" Set/Get the allocate attribute for an ftp client attribute set\&. .PP This attribute lets the user set a size to be passed to the server before a put operation\&. .PP This attribute is ignored for get operations\&. .PP \fBParameters:\fP .RS 4 \fIattr\fP The attribute set to query or modify\&. .br \fIallocated_size\fP The size to direct server to allocate\&. .RE .PP .SS "globus_result_t globus_ftp_client_operationattr_set_allow_ipv6 (\fBglobus_ftp_client_operationattr_t\fP * attr, globus_bool_t allow_ipv6)" Set/Get the allow ipv6 attribute for an ftp client attribute set\&. .PP This attribute allows client library to make use of ipv6 when possible\&. .PP Use of this is currently very experimental\&. .PP \fBParameters:\fP .RS 4 \fIattr\fP The attribute set to query or modify\&. .br \fIallow_ipv6\fP GLOBUS_TRUE to allow ipv6 or GLOBUS_FALSE to disallow(default) .RE .PP .SS "globus_result_t globus_ftp_client_operationattr_set_append (\fBglobus_ftp_client_operationattr_t\fP * attr, globus_bool_t append)" Set/Get the append attribute for an ftp client attribute set\&. .PP This attribute allows the user to append to a file on an FTP server, instead of replacing the existing file when doing a \fBglobus_ftp_client_put()\fP or globus_ftp_client_transfer()\&. .PP This attribute is ignored on the retrieving side of a transfer, or a \fBglobus_ftp_client_get()\fP\&. .PP \fBParameters:\fP .RS 4 \fIattr\fP The attribute set to query or modify\&. .br \fIappend\fP The value of append attribute\&. .RE .PP .SS "globus_result_t globus_ftp_client_operationattr_set_authorization (\fBglobus_ftp_client_operationattr_t\fP * attr, gss_cred_id_t credential, const char * user, const char * password, const char * account, const char * subject)" Set/Get the authorization attribute for an ftp client attribute set\&. .PP This attribute allows the user to pass authentication information to the ftp client library\&. This information is used to authenticate with the ftp server\&. .PP The Globus FTP client library supports authentication using either the GSSAPI, or standard plaintext username and passwords\&. The type of authentication is determined by the URL scheme which is used for the individual get, put, or 3rd party transfer calls\&. .PP \fBParameters:\fP .RS 4 \fIattr\fP The attribute set to query or modify\&. .br \fIcredential\fP The credential to use for authenticating with a GSIFTP server\&. This may be GSS_C_NO_CREDENTIAL to use the default credential\&. .br \fIuser\fP The user name to send to the FTP server\&. When doing a gsiftp transfer, this may be set to NULL, and the default globusmap entry for the user's GSI identity will be usd\&. .br \fIpassword\fP The password to send to the FTP server\&. When doing a gsiftp transfer, this may be set to NULL\&. .br \fIaccount\fP The account to use for the data transfer\&. Most FTP servers do not require this\&. .br \fIsubject\fP The subject name of the FTP server\&. This is only used when doing a gsiftp transfer, and then only when the security subject name does not match the hostname of the server (ie, when the server is being run by a user)\&. .RE .PP .SS "globus_result_t globus_ftp_client_operationattr_set_authz_assert (\fBglobus_ftp_client_operationattr_t\fP * attr, const char * authz_assert, globus_bool_t cache_authz_assert)" Set/Get the authz_assert attribute for an ftp client attribute set\&. .PP This attribute lets the user set an AUTHORIZATION assertion to be passed to the server .PP \fBParameters:\fP .RS 4 \fIattr\fP The attribute set to query or modify\&. .br \fIauthz_assert\fP The AUTHORIZATION assertion\&. .br \fIcache_authz_assert\fP Boolean that specifies whether to cache this assertion for subsequent operations .RE .PP .SS "globus_result_t globus_ftp_client_operationattr_set_control_protection (\fBglobus_ftp_client_operationattr_t\fP * attr, globus_ftp_control_protection_t protection)" Set/Get the control channel protection attribute for an ftp client attribute set\&. .PP The control channel protection attribute allows the user to decide whether to encrypt or integrity check the command session between the client and the FTP server\&. This attribute is only relevant if used with a gsiftp URL\&. .PP \fBParameters:\fP .RS 4 \fIattr\fP The attribute set to query or modify\&. .br \fIprotection\fP The value of control channel protection attribute\&. .RE .PP \fBNote:\fP .RS 4 The clear and safe protection levels are treated identically, with the client integrity checking all commands\&. The confidential and private protection levels are treated identically, with the client encrypting all commands\&. .RE .PP .SS "globus_result_t globus_ftp_client_operationattr_set_data_protection (\fBglobus_ftp_client_operationattr_t\fP * attr, globus_ftp_control_protection_t protection)" Set/Get the data channel protection attribute for an ftp client attribute set\&. .PP \fBParameters:\fP .RS 4 \fIattr\fP The attribute set to query or modify\&. .br \fIprotection\fP The value of data channel protection attribute\&. .RE .PP \fBNote:\fP .RS 4 Only safe and private protection levels are supported by gsiftp\&. .RE .PP .SS "globus_result_t globus_ftp_client_operationattr_set_data_security (\fBglobus_ftp_client_operationattr_t\fP * attr, int type, void * credential)" Set/Get the data channel security context type and credential\&. .PP \fBParameters:\fP .RS 4 \fIattr\fP The attribute set to query or modify\&. .br \fItype\fP The type of credential\&. Currently only 'P' is supported, and requires a gss_cred_id_t for the credential\&. .br \fIcredential\fP A credential appropriate for the type specified\&. .RE .PP .SS "globus_result_t globus_ftp_client_operationattr_set_dcau (\fBglobus_ftp_client_operationattr_t\fP * attr, const globus_ftp_control_dcau_t * dcau)" Set/Get the data channel authentication attribute for an ftp client attribute set\&. .PP Data channel authentication is a GridFTP extension, and may not be supported by all servers\&. If a server supports it, then the default is to delegate a credential to the server, and authenticate all data channels with that delegated credential\&. .PP \fBParameters:\fP .RS 4 \fIattr\fP The attribute set to query or modify\&. .br \fIdcau\fP The value of data channel authentication attribute\&. .RE .PP .SS "globus_result_t globus_ftp_client_operationattr_set_delayed_pasv (const \fBglobus_ftp_client_operationattr_t\fP * attr, globus_bool_t delayed_pasv)" Set/Get whether or not delayed passive should be used .PP This attribute allows the user to enable delayed passive so the server can provide the passive address after it knows the filename to be transferred\&. .PP \fBParameters:\fP .RS 4 \fIattr\fP The attribute set to query or modify\&. .br \fIdelayed_pasv\fP globus_bool_t .RE .PP \fBNote:\fP .RS 4 Delayed passive is a GridFTP extension, and may not be supported on all FTP servers\&. .RE .PP .SS "globus_result_t globus_ftp_client_operationattr_set_disk_stack (\fBglobus_ftp_client_operationattr_t\fP * attr, const char * driver_list)" Set/Get the gridftp xio driver stack used for the file storage\&. .PP This attribute allows the user to control which xio drivers will be used for file DSI only\&. This is an experimental feature of the gridftp server\&. Only works for third party transfers\&. .PP \fBParameters:\fP .RS 4 \fIattr\fP The attribute set to query or modify\&. .br \fIdriver_list\fP driver list in the following format: driver1[:driver1opts][,driver2[:driver2opts]][\&.\&.\&.]\&. The string 'default' will reset the stack list to the server default\&. .RE .PP \fBNote:\fP .RS 4 This is a GridFTP extension, and may not be supported on all FTP servers\&. .RE .PP .SS "globus_result_t globus_ftp_client_operationattr_set_layout (\fBglobus_ftp_client_operationattr_t\fP * attr, const globus_ftp_control_layout_t * layout)" Set/Get the layout attribute for an ftp client attribute set\&. .PP This attribute allows the user to control the layout of a file being transferred to a striped Grid-FTP server\&. The striping layout defines what regions of a file will be stored on each stripe of a multiple-striped ftp server\&. .PP The layout attribute is used only when the data is being stored on the server (on a put or 3rd party transfer)\&. This attribute is ignored for stream mode data transfers\&. .PP \fBParameters:\fP .RS 4 \fIattr\fP The attribute set to query or modify\&. .br \fIlayout\fP The value of layout attribute\&. .RE .PP \fBSee also:\fP .RS 4 \fBglobus_ftp_client_operationattr_set_parallelism()\fP, \fBglobus_ftp_client_operationattr_set_mode()\fP .RE .PP \fBNote:\fP .RS 4 This is a Grid-FTP extension, and may not be supported on all FTP servers\&. .RE .PP .SS "globus_result_t globus_ftp_client_operationattr_set_list_uses_data_mode (const \fBglobus_ftp_client_operationattr_t\fP * attr, globus_bool_t list_uses_data_mode)" Set/Get whether or not list data will use the current data mode .PP This attribute allows the user to allow list data to be transferred using the current data channel mode\&. .PP \fBParameters:\fP .RS 4 \fIattr\fP The attribute set to query or modify\&. .br \fIlist_uses_data_mode\fP globus_bool_t .RE .PP \fBNote:\fP .RS 4 List data transfers in nonstandard modes is a Grid-FTP extension, and may not be supported on all FTP servers\&. .RE .PP .SS "globus_result_t globus_ftp_client_operationattr_set_mode (\fBglobus_ftp_client_operationattr_t\fP * attr, globus_ftp_control_mode_t mode)" Set/Get the file transfer mode attribute for an ftp client attribute set\&. .PP This attribute allows the user to choose the data channel protocol used to transfer a file\&. There are two modes supported by this library: stream mode and extended block mode\&. .PP Stream mode is a file transfer mode where all data is sent over a single TCP socket, without any data framing\&. In stream mode, data will arrive in sequential order\&. This mode is supported by nearly all FTP servers\&. .PP Extended block mode is a file transfer mode where data can be sent over multiple parallel connections and to multiple data storage nodes to provide a high-performance data transfer\&. In extended block mode, data may arrive out-of-order\&. ASCII type files are not supported in extended block mode\&. .PP \fBParameters:\fP .RS 4 \fIattr\fP The attribute set to query or modify\&. .br \fImode\fP The value of mode attribute .RE .PP \fBSee also:\fP .RS 4 \fBglobus_ftp_client_operationattr_set_parallelism()\fP, \fBglobus_ftp_client_operationattr_set_layout()\fP .RE .PP \fBNote:\fP .RS 4 Extended block mode is a Grid-FTP extension, and may not be supported on all FTP servers\&. .RE .PP .SS "globus_result_t globus_ftp_client_operationattr_set_net_stack (\fBglobus_ftp_client_operationattr_t\fP * attr, const char * driver_list)" Set/Get the gridftp xio driver stack used for the data channel\&. .PP This attribute allows the user to control which xio drivers will be used for data transport\&. The driver MUST be installed and allowed by the server or the transfer/get/put will result in an error\&. .PP \fBParameters:\fP .RS 4 \fIattr\fP The attribute set to query or modify\&. .br \fIdriver_list\fP driver list in the following format: driver1[:driver1opts][,driver2[:driver2opts]][\&.\&.\&.]\&. The string 'default' will reset the stack list to the server default\&. .RE .PP \fBNote:\fP .RS 4 This is a GridFTP extension, and may not be supported on all FTP servers\&. .RE .PP .SS "globus_result_t globus_ftp_client_operationattr_set_parallelism (\fBglobus_ftp_client_operationattr_t\fP * attr, const globus_ftp_control_parallelism_t * parallelism)" Set/Get the parallelism attribute for an ftp client attribute set\&. .PP This attribute allows the user to control the level of parallelism to be used on an extended block mode file transfer\&. Currently, only a 'fixed' parallelism level is supported\&. This is interpreted by the FTP server as the number of parallel data connections to be allowed for each stripe of data\&. Currently, only the 'fixed' parallelism type is .PP This attribute is ignored in stream mode\&. .PP \fBParameters:\fP .RS 4 \fIattr\fP The attribute set to query or modify\&. .br \fIparallelism\fP The value of parallelism attribute\&. .RE .PP \fBSee also:\fP .RS 4 \fBglobus_ftp_client_operationattr_set_layout()\fP, \fBglobus_ftp_client_operationattr_set_mode()\fP .RE .PP \fBNote:\fP .RS 4 This is a Grid-FTP extension, and may not be supported on all FTP servers\&. .RE .PP .SS "globus_result_t globus_ftp_client_operationattr_set_read_all (\fBglobus_ftp_client_operationattr_t\fP * attr, globus_bool_t read_all, \fBglobus_ftp_client_data_callback_t\fP intermediate_callback, void * intermediate_callback_arg)" Set/Get the read_all attribute for an ftp client attribute set\&. .PP This attribute allows the user to pass in a single buffer to receive all of the data for the current transfer\&. This buffer must be large enough to hold all of the data for the transfer\&. Only one buffer may be registered with \fBglobus_ftp_client_register_read()\fP when this attribute is used for a get\&. .PP In extended block mode, this attribute will cause data to be stored directly into the buffer from multiple streams without any extra data copies\&. .PP If the user sets the intermediate callback to a non-null value, this function will be called whenever an intermediate sub-section of the data is received into the buffer\&. .PP This attribute is ignored for \fBglobus_ftp_client_put()\fP or \fBglobus_ftp_client_third_party_transfer()\fP operations\&. .PP \fBParameters:\fP .RS 4 \fIattr\fP The attribute set to query or modify\&. .br \fIread_all\fP The value of read_all attribute\&. .br \fIintermediate_callback\fP Callback to be invoked when a subsection of the data has been retreived\&. This callback may be GLOBUS_NULL, if the user only wants to be notified when the data transfer is completed\&. .br \fIintermediate_callback_arg\fP User data to be passed to the intermediate callback function\&. .RE .PP .SS "globus_result_t globus_ftp_client_operationattr_set_storage_module (\fBglobus_ftp_client_operationattr_t\fP * attr, const char * module_name, const char * module_args)" Set/Get the gridftp storage module (DSI)\&. .PP This attribute allows the user to control what backend module they use with the gridftp server\&. The module MUST be implemented by the server or the transfer/get/put will result in an error\&. .PP This attribute is ignored in stream mode\&. .PP \fBParameters:\fP .RS 4 \fIattr\fP The attribute set to query or modify\&. .br \fImodule_name\fP The backend storage module name .br \fImodule_args\fP The backend storage module parameters .RE .PP .PP \fBNote:\fP .RS 4 This is a Grid-FTP extension, and may not be supported on all FTP servers\&. .RE .PP .SS "globus_result_t globus_ftp_client_operationattr_set_striped (\fBglobus_ftp_client_operationattr_t\fP * attr, globus_bool_t striped)" Set/Get the striped attribute for an ftp client attribute set\&. .PP This attribute allows the user to force the client library to used the FTP commands to do a striped data transfer, even when the user has not requested a specific file layout via the layout attribute\&. This is useful when transferring files between servers which use the server side processing commands ERET or ESTO to transform data and send it to particular stripes on the destination server\&. .PP The layout attribute is used only when the data is being stored the server (on a put or 3rd party transfer)\&. This attribute is ignored for stream mode data transfers\&. .PP \fBParameters:\fP .RS 4 \fIattr\fP The attribute set to query or modify\&. .br \fIstriped\fP The value of striped attribute\&. .RE .PP \fBSee also:\fP .RS 4 \fBglobus_ftp_client_operationattr_set_parallelism()\fP, \fBglobus_ftp_client_operationattr_set_layout()\fP \fBglobus_ftp_client_operationattr_set_mode()\fP .RE .PP \fBNote:\fP .RS 4 This is a Grid-FTP extension, and may not be supported on all FTP servers\&. .RE .PP .SS "globus_result_t globus_ftp_client_operationattr_set_tcp_buffer (\fBglobus_ftp_client_operationattr_t\fP * attr, const globus_ftp_control_tcpbuffer_t * tcp_buffer)" Set/Get the TCP buffer attribute for an ftp client attribute set\&. .PP This attribute allows the user to control the TCP buffer size used for all data channels used in a file transfer\&. The size of the TCP buffer can make a significant impact on the performance of a file transfer\&. The user may set the buffer to either a system-dependent default value, or to a fixed value\&. .PP The actual implementation of this attribute is designed to be as widely interoperable as possible\&. In addition to supporting the SBUF command described in the GridFTP protocol extensions document, it also supports other commands and site commands which are used by other servers to set TCP buffer sizes\&. These are .IP "\(bu" 2 SITE RETRBUFSIZE .IP "\(bu" 2 SITE RBUFSZ .IP "\(bu" 2 SITE RBUFSIZ .IP "\(bu" 2 SITE STORBUFIZE .IP "\(bu" 2 SITE SBUFSZ .IP "\(bu" 2 SITE SBUFSIZ .IP "\(bu" 2 SITE BUFSIZE .PP .PP This attribute is affects any type of data transfer done with the ftp client library\&. .PP \fBParameters:\fP .RS 4 \fIattr\fP The attribute set to query or modify\&. .br \fItcp_buffer\fP The value of tcp_buffer attribute\&. .RE .PP .SS "globus_result_t globus_ftp_client_operationattr_set_type (\fBglobus_ftp_client_operationattr_t\fP * attr, globus_ftp_control_type_t type)" Set/Get the file representation type attribute for an ftp client attribute set\&. .PP This attribute allows the user to choose the file type used for an FTP file transfer\&. The file may be transferred as either ASCII or a binary image\&. .PP When transferring an ASCII file, the data will be transformed in the following way .IP "\(bu" 2 the high-order bit will be set to zero .IP "\(bu" 2 end-of line characters will be converted to a CRLF pair for the data transfer, and then converted to native format before being returned to the user's data callbacks\&. .PP .PP The default type for the ftp client library is binary\&. .PP \fBParameters:\fP .RS 4 \fIattr\fP The attribute set to query or modify\&. .br \fItype\fP The value of type attribute\&. .RE .PP .SH "Author" .PP Generated automatically by Doxygen for globus_ftp_client from the source code\&.