NAME
FTP Operation Attributes -
Operation attributes are used to control the security and performance
of an FTP operation.
Typedefs
typedef struct globus_i_ftp_client_operationattr_t *
globus_ftp_client_operationattr_t
Functions
globus_result_t globus_ftp_client_operationattr_init
(globus_ftp_client_operationattr_t *attr)
globus_result_t globus_ftp_client_operationattr_destroy
(globus_ftp_client_operationattr_t *attr)
globus_result_t globus_ftp_client_operationattr_set_delayed_pasv (const
globus_ftp_client_operationattr_t *attr, globus_bool_t
delayed_pasv)
globus_result_t globus_ftp_client_operationattr_copy
(globus_ftp_client_operationattr_t *dst, const
globus_ftp_client_operationattr_t *src)
Storage Module
globus_result_t globus_ftp_client_operationattr_set_storage_module
(globus_ftp_client_operationattr_t *attr, const char *module_name,
const char *module_args)
globus_result_t globus_ftp_client_operationattr_get_storage_module
(const globus_ftp_client_operationattr_t *attr, char **module_name,
char **module_args)
Custom Data Channel Driver Stack
globus_result_t globus_ftp_client_operationattr_set_net_stack
(globus_ftp_client_operationattr_t *attr, const char *driver_list)
globus_result_t globus_ftp_client_operationattr_get_net_stack (const
globus_ftp_client_operationattr_t *attr, char **driver_list)
Custom Server File Driver Stack
globus_result_t globus_ftp_client_operationattr_set_disk_stack
(globus_ftp_client_operationattr_t *attr, const char *driver_list)
globus_result_t globus_ftp_client_operationattr_get_disk_stack (const
globus_ftp_client_operationattr_t *attr, char **driver_list)
Parallelism
globus_result_t globus_ftp_client_operationattr_set_parallelism
(globus_ftp_client_operationattr_t *attr, const
globus_ftp_control_parallelism_t *parallelism)
globus_result_t globus_ftp_client_operationattr_get_parallelism (const
globus_ftp_client_operationattr_t *attr,
globus_ftp_control_parallelism_t *parallelism)
allocate
globus_result_t globus_ftp_client_operationattr_set_allocate
(globus_ftp_client_operationattr_t *attr, const globus_off_t
allocated_size)
globus_result_t globus_ftp_client_operationattr_get_allocate (const
globus_ftp_client_operationattr_t *attr, globus_off_t
*allocated_size)
authz_assert
globus_result_t globus_ftp_client_operationattr_set_authz_assert
(globus_ftp_client_operationattr_t *attr, const char *authz_assert,
globus_bool_t cache_authz_assert)
globus_result_t globus_ftp_client_operationattr_get_authz_assert (const
globus_ftp_client_operationattr_t *attr, char **authz_assert,
globus_bool_t *cache_authz_assert)
Striped Data Movement
globus_result_t globus_ftp_client_operationattr_set_striped
(globus_ftp_client_operationattr_t *attr, globus_bool_t striped)
globus_result_t globus_ftp_client_operationattr_get_striped (const
globus_ftp_client_operationattr_t *attr, globus_bool_t *striped)
Striped File Layout
globus_result_t globus_ftp_client_operationattr_set_layout
(globus_ftp_client_operationattr_t *attr, const
globus_ftp_control_layout_t *layout)
globus_result_t globus_ftp_client_operationattr_get_layout (const
globus_ftp_client_operationattr_t *attr,
globus_ftp_control_layout_t *layout)
TCP Buffer
globus_result_t globus_ftp_client_operationattr_set_tcp_buffer
(globus_ftp_client_operationattr_t *attr, const
globus_ftp_control_tcpbuffer_t *tcp_buffer)
globus_result_t globus_ftp_client_operationattr_get_tcp_buffer (const
globus_ftp_client_operationattr_t *attr,
globus_ftp_control_tcpbuffer_t *tcp_buffer)
File Type
globus_result_t globus_ftp_client_operationattr_set_type
(globus_ftp_client_operationattr_t *attr, globus_ftp_control_type_t
type)
globus_result_t globus_ftp_client_operationattr_get_type (const
globus_ftp_client_operationattr_t *attr, globus_ftp_control_type_t
*type)
Transfer Mode
globus_result_t globus_ftp_client_operationattr_set_mode
(globus_ftp_client_operationattr_t *attr, globus_ftp_control_mode_t
mode)
globus_result_t globus_ftp_client_operationattr_get_mode (const
globus_ftp_client_operationattr_t *attr, globus_ftp_control_mode_t
*mode)
globus_result_t globus_ftp_client_operationattr_set_list_uses_data_mode
(const globus_ftp_client_operationattr_t *attr, globus_bool_t
list_uses_data_mode)
globus_result_t globus_ftp_client_operationattr_get_list_uses_data_mode
(const globus_ftp_client_operationattr_t *attr, globus_bool_t
*list_uses_data_mode)
Authorization
globus_result_t globus_ftp_client_operationattr_set_authorization
(globus_ftp_client_operationattr_t *attr, gss_cred_id_t credential,
const char *user, const char *password, const char *account, const
char *subject)
globus_result_t globus_ftp_client_operationattr_get_authorization
(const globus_ftp_client_operationattr_t *attr, gss_cred_id_t
*credential, char **user, char **password, char **account, char
**subject)
Data Channel Authentication
globus_result_t globus_ftp_client_operationattr_set_dcau
(globus_ftp_client_operationattr_t *attr, const
globus_ftp_control_dcau_t *dcau)
globus_result_t globus_ftp_client_operationattr_get_dcau (const
globus_ftp_client_operationattr_t *attr, globus_ftp_control_dcau_t
*dcau)
Data Channel Protection
globus_result_t globus_ftp_client_operationattr_set_data_protection
(globus_ftp_client_operationattr_t *attr,
globus_ftp_control_protection_t protection)
globus_result_t globus_ftp_client_operationattr_get_data_protection
(const globus_ftp_client_operationattr_t *attr,
globus_ftp_control_protection_t *protection)
Control Channel Protection
globus_result_t globus_ftp_client_operationattr_set_control_protection
(globus_ftp_client_operationattr_t *attr,
globus_ftp_control_protection_t protection)
globus_result_t globus_ftp_client_operationattr_get_control_protection
(const globus_ftp_client_operationattr_t *attr,
globus_ftp_control_protection_t *protection)
Append
globus_result_t globus_ftp_client_operationattr_set_append
(globus_ftp_client_operationattr_t *attr, globus_bool_t append)
globus_result_t globus_ftp_client_operationattr_get_append (const
globus_ftp_client_operationattr_t *attr, globus_bool_t *append)
IPv6
globus_result_t globus_ftp_client_operationattr_set_allow_ipv6
(globus_ftp_client_operationattr_t *attr, globus_bool_t allow_ipv6)
globus_result_t globus_ftp_client_operationattr_get_allow_ipv6 (const
globus_ftp_client_operationattr_t *attr, globus_bool_t *allow_ipv6)
Read into a Single Buffer
globus_result_t globus_ftp_client_operationattr_set_read_all
(globus_ftp_client_operationattr_t *attr, globus_bool_t read_all,
globus_ftp_client_data_callback_t intermediate_callback, void
*intermediate_callback_arg)
globus_result_t globus_ftp_client_operationattr_get_read_all (const
globus_ftp_client_operationattr_t *attr, globus_bool_t *read_all,
globus_ftp_client_data_callback_t *intermediate_callback, void
**intermediate_callback_arg)
Detailed Description
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.
Typedef Documentation
typedef struct globus_i_ftp_client_operationattr_t*
globus_ftp_client_operationattr_t
Operation Attributes. FTP Client attributes are used to control the
parameters needed to access an URL using the FTP protocol. Attributes
are created and manipulated using the functions in the attributes
section of the library.
See also:
globus_ftp_client_operationattr_init(),
globus_ftp_client_operationattr_destroy()
Function Documentation
globus_result_t globus_ftp_client_operationattr_init
(globus_ftp_client_operationattr_t * attr)
Initialize an FTP client attribute set. Parameters:
attr A pointer to the new attribute set.
globus_result_t globus_ftp_client_operationattr_destroy
(globus_ftp_client_operationattr_t * attr)
Destroy an FTP client attribute set. Parameters:
attr A pointer to the attribute to destroy.
globus_result_t globus_ftp_client_operationattr_set_storage_module
(globus_ftp_client_operationattr_t * attr, const char * module_name,
const char * module_args)
Set/Get the gridftp storage module (DSI). 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.
This attribute is ignored in stream mode.
Parameters:
attr The attribute set to query or modify.
module_name The backend storage module name
module_args The backend storage module parameters
See also:
globus_gsiftp_control_parallelism_t,
globus_ftp_client_operationattr_set_layout(),
globus_ftp_client_operationattr_set_mode()
Note:
This is a Grid-FTP extension, and may not be supported on all FTP
servers.
globus_result_t globus_ftp_client_operationattr_set_net_stack
(globus_ftp_client_operationattr_t * attr, const char * driver_list)
Set/Get the gridftp xio driver stack used for the data channel. 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.
Parameters:
attr The attribute set to query or modify.
driver_list driver list in the following format:
driver1[:driver1opts][,driver2[:driver2opts]][...]. The string
’default’ will reset the stack list to the server default.
Note:
This is a GridFTP extension, and may not be supported on all FTP
servers.
globus_result_t globus_ftp_client_operationattr_set_disk_stack
(globus_ftp_client_operationattr_t * attr, const char * driver_list)
Set/Get the gridftp xio driver stack used for the file storage. 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.
Parameters:
attr The attribute set to query or modify.
driver_list driver list in the following format:
driver1[:driver1opts][,driver2[:driver2opts]][...]. The string
’default’ will reset the stack list to the server default.
Note:
This is a GridFTP extension, and may not be supported on all FTP
servers.
globus_result_t globus_ftp_client_operationattr_set_parallelism
(globus_ftp_client_operationattr_t * attr, const
globus_ftp_control_parallelism_t * parallelism)
Set/Get the parallelism attribute for an ftp client attribute set. 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
This attribute is ignored in stream mode.
Parameters:
attr The attribute set to query or modify.
parallelism The value of parallelism attribute.
See also:
globus_gsiftp_control_parallelism_t,
globus_ftp_client_operationattr_set_layout(),
globus_ftp_client_operationattr_set_mode()
Note:
This is a Grid-FTP extension, and may not be supported on all FTP
servers.
globus_result_t globus_ftp_client_operationattr_set_allocate
(globus_ftp_client_operationattr_t * attr, const globus_off_t
allocated_size)
Set/Get the allocate attribute for an ftp client attribute set. This
attribute lets the user set a size to be passed to the server before a
put operation.
This attribute is ignored for get operations.
Parameters:
attr The attribute set to query or modify.
allocated_size The size to direct server to allocate.
globus_result_t globus_ftp_client_operationattr_set_authz_assert
(globus_ftp_client_operationattr_t * attr, const char * authz_assert,
globus_bool_t cache_authz_assert)
Set/Get the authz_assert attribute for an ftp client attribute set.
This attribute lets the user set an AUTHORIZATION assertion to be
passed to the server
Parameters:
attr The attribute set to query or modify.
authz_assert The AUTHORIZATION assertion.
cache_authz_assert Boolean that specifies whether to cache this
assertion for subsequent operations
globus_result_t globus_ftp_client_operationattr_set_striped
(globus_ftp_client_operationattr_t * attr, globus_bool_t striped)
Set/Get the striped attribute for an ftp client attribute set. 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.
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.
Parameters:
attr The attribute set to query or modify.
striped The value of striped attribute.
See also:
globus_ftp_client_operationattr_set_parallelism(),
globus_ftp_client_operationattr_set_layout()
globus_ftp_client_operationattr_set_mode()
Note:
This is a Grid-FTP extension, and may not be supported on all FTP
servers.
globus_result_t globus_ftp_client_operationattr_set_layout
(globus_ftp_client_operationattr_t * attr, const
globus_ftp_control_layout_t * layout)
Set/Get the layout attribute for an ftp client attribute set. This
attribute allows the user to control the layout of a file being
transfered 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.
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.
Parameters:
attr The attribute set to query or modify.
layout The value of layout attribute.
See also:
globus_ftp_control_layout_t,
globus_ftp_client_operationattr_set_parallelism(),
globus_ftp_client_operationattr_set_mode()
Note:
This is a Grid-FTP extension, and may not be supported on all FTP
servers.
globus_result_t globus_ftp_client_operationattr_set_tcp_buffer
(globus_ftp_client_operationattr_t * attr, const
globus_ftp_control_tcpbuffer_t * tcp_buffer)
Set/Get the TCP buffer attribute for an ftp client attribute set. 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.
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
· SITE RETRBUFSIZE
· SITE RBUFSZ
· SITE RBUFSIZ
· SITE STORBUFIZE
· SITE SBUFSZ
· SITE SBUFSIZ
· SITE BUFSIZE
This attribute is affects any type of data transfer done with the ftp
client library.
Parameters:
attr The attribute set to query or modify.
tcp_buffer The value of tcp_buffer attribute.
See also:
globus_gsiftp_control_tcpbuffer_t
globus_result_t globus_ftp_client_operationattr_set_type
(globus_ftp_client_operationattr_t * attr, globus_ftp_control_type_t
type)
Set/Get the file representation type attribute for an ftp client
attribute set. 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.
When transferring an ASCII file, the data will be transformed in the
following way
· the high-order bit will be set to zero
· 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.
The default type for the ftp client library is binary.
Parameters:
attr The attribute set to query or modify.
type The value of type attribute.
See also:
globus_ftp_control_type_t
globus_result_t globus_ftp_client_operationattr_set_mode
(globus_ftp_client_operationattr_t * attr, globus_ftp_control_mode_t
mode)
Set/Get the file transfer mode attribute for an ftp client attribute
set. 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.
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.
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.
Parameters:
attr The attribute set to query or modify.
mode The value of mode attribute
See also:
globus_ftp_control_mode_t,
globus_ftp_client_operationattr_set_parallelism(),
globus_ftp_client_operationattr_set_layout()
Note:
Extended block mode is a Grid-FTP extension, and may not be
supported on all FTP servers.
globus_result_t globus_ftp_client_operationattr_set_list_uses_data_mode
(const globus_ftp_client_operationattr_t * attr, globus_bool_t
list_uses_data_mode)
Set/Get whether or not list data will use the current data mode
This attribute allows the user to allow list data to be transferred
using the current data channel mode. Parameters:
attr The attribute set to query or modify.
list_uses_data_mode globus_bool_t
Note:
List data transfers in nonstandard modes is a Grid-FTP extension,
and may not be supported on all FTP servers.
globus_result_t globus_ftp_client_operationattr_set_delayed_pasv (const
globus_ftp_client_operationattr_t * attr, globus_bool_t delayed_pasv)
Set/Get whether or not delayed passive should be used
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. Parameters:
attr The attribute set to query or modify.
delayed_pasv globus_bool_t
Note:
Delayed passive is a GridFTP extension, and may not be supported on
all FTP servers.
globus_result_t globus_ftp_client_operationattr_set_authorization
(globus_ftp_client_operationattr_t * attr, gss_cred_id_t credential,
const char * user, const char * password, const char * account, const
char * subject)
Set/Get the authorization attribute for an ftp client attribute set.
This attribute allows the user to pass authentication information to
the ftp client library. This information is used to authenticate with
the ftp server.
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.
Parameters:
attr The attribute set to query or modify.
credential The credential to use for authenticating with a GSIFTP
server. This may be GSS_C_NO_CREDENTIAL to use the default
credential.
user 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.
password The password to send to the FTP server. When doing a
gsiftp transfer, this may be set to NULL.
account The account to use for the data transfer. Most FTP servers
do not require this.
subject 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).
globus_result_t globus_ftp_client_operationattr_set_dcau
(globus_ftp_client_operationattr_t * attr, const
globus_ftp_control_dcau_t * dcau)
Set/Get the data channel authentication attribute for an ftp client
attribute set. 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.
Parameters:
attr The attribute set to query or modify.
dcau The value of data channel authentication attribute.
globus_result_t globus_ftp_client_operationattr_set_data_protection
(globus_ftp_client_operationattr_t * attr,
globus_ftp_control_protection_t protection)
Set/Get the data channel protection attribute for an ftp client
attribute set. Parameters:
attr The attribute set to query or modify.
protection The value of data channel protection attribute.
Bug
Only safe and private protection levels are supported by gsiftp.
globus_result_t globus_ftp_client_operationattr_set_control_protection
(globus_ftp_client_operationattr_t * attr,
globus_ftp_control_protection_t protection)
Set/Get the control channel protection attribute for an ftp client
attribute set. 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.
Parameters:
attr The attribute set to query or modify.
protection The value of control channel protection attribute.
Bug
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.
globus_result_t globus_ftp_client_operationattr_set_append
(globus_ftp_client_operationattr_t * attr, globus_bool_t append)
Set/Get the append attribute for an ftp client attribute set. This
attribute allows the user to append to a file on an FTP server, instead
of replacing the existing file when doing a globus_ftp_client_put() or
globus_ftp_client_transfer().
This attribute is ignored on the retrieving side of a transfer, or a
globus_ftp_client_get().
Parameters:
attr The attribute set to query or modify.
append The value of append attribute.
globus_result_t globus_ftp_client_operationattr_set_allow_ipv6
(globus_ftp_client_operationattr_t * attr, globus_bool_t allow_ipv6)
Set/Get the allow ipv6 attribute for an ftp client attribute set. This
attribute allows client library to make use of ipv6 when possible.
Use of this is currently very experimental.
Parameters:
attr The attribute set to query or modify.
allow_ipv6 GLOBUS_TRUE to allow ipv6 or GLOBUS_FALSE to
disallow(default)
globus_result_t globus_ftp_client_operationattr_set_read_all
(globus_ftp_client_operationattr_t * attr, globus_bool_t read_all,
globus_ftp_client_data_callback_t intermediate_callback, void *
intermediate_callback_arg)
Set/Get the read_all attribute for an ftp client attribute set. 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 globus_ftp_client_register_read() when this attribute
is used for a get.
In extended block mode, this attribute will cause data to be stored
directly into the buffer from multiple streams without any extra data
copies.
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.
This attribute is ignored for globus_ftp_client_put() or
globus_ftp_client_third_party_transfer() operations.
Parameters:
attr The attribute set to query or modify.
read_all The value of read_all attribute.
intermediate_callback 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.
intermediate_callback_arg User data to be passed to the
intermediate callback function.
globus_result_t globus_ftp_client_operationattr_copy
(globus_ftp_client_operationattr_t * dst, const
globus_ftp_client_operationattr_t * src)
Create a duplicate of an attribute set. 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.
Parameters:
dst The attribute set to be initialized to the same values as src.
src The original attribute set to duplicate.
globus_result_t globus_ftp_client_operationattr_get_storage_module (const
globus_ftp_client_operationattr_t * attr, char ** module_name, char **
module_args)
Set/Get the gridftp storage module (DSI). 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.
This attribute is ignored in stream mode.
Parameters:
attr The attribute set to query or modify.
module_name The backend storage module name
module_args The backend storage module parameters
See also:
globus_gsiftp_control_parallelism_t,
globus_ftp_client_operationattr_set_layout(),
globus_ftp_client_operationattr_set_mode()
Note:
This is a Grid-FTP extension, and may not be supported on all FTP
servers.
globus_result_t globus_ftp_client_operationattr_get_net_stack (const
globus_ftp_client_operationattr_t * attr, char ** driver_list)
Set/Get the gridftp xio driver stack used for the data channel. 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.
Parameters:
attr The attribute set to query or modify.
driver_list driver list in the following format:
driver1[:driver1opts][,driver2[:driver2opts]][...]. The string
’default’ will reset the stack list to the server default.
Note:
This is a GridFTP extension, and may not be supported on all FTP
servers.
globus_result_t globus_ftp_client_operationattr_get_disk_stack (const
globus_ftp_client_operationattr_t * attr, char ** driver_list)
Set/Get the gridftp xio driver stack used for the file storage. 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.
Parameters:
attr The attribute set to query or modify.
driver_list driver list in the following format:
driver1[:driver1opts][,driver2[:driver2opts]][...]. The string
’default’ will reset the stack list to the server default.
Note:
This is a GridFTP extension, and may not be supported on all FTP
servers.
globus_result_t globus_ftp_client_operationattr_get_parallelism (const
globus_ftp_client_operationattr_t * attr,
globus_ftp_control_parallelism_t * parallelism)
Set/Get the parallelism attribute for an ftp client attribute set. 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
This attribute is ignored in stream mode.
Parameters:
attr The attribute set to query or modify.
parallelism The value of parallelism attribute.
See also:
globus_gsiftp_control_parallelism_t,
globus_ftp_client_operationattr_set_layout(),
globus_ftp_client_operationattr_set_mode()
Note:
This is a Grid-FTP extension, and may not be supported on all FTP
servers.
globus_result_t globus_ftp_client_operationattr_get_allocate (const
globus_ftp_client_operationattr_t * attr, globus_off_t *
allocated_size)
Set/Get the allocate attribute for an ftp client attribute set. This
attribute lets the user set a size to be passed to the server before a
put operation.
This attribute is ignored for get operations.
Parameters:
attr The attribute set to query or modify.
allocated_size The size to direct server to allocate.
globus_result_t globus_ftp_client_operationattr_get_authz_assert (const
globus_ftp_client_operationattr_t * attr, char ** authz_assert,
globus_bool_t * cache_authz_assert)
Set/Get the authz_assert attribute for an ftp client attribute set.
This attribute lets the user set an AUTHORIZATION assertion to be
passed to the server
Parameters:
attr The attribute set to query or modify.
authz_assert The AUTHORIZATION assertion.
cache_authz_assert Boolean that specifies whether to cache this
assertion for subsequent operations
globus_result_t globus_ftp_client_operationattr_get_striped (const
globus_ftp_client_operationattr_t * attr, globus_bool_t * striped)
Set/Get the striped attribute for an ftp client attribute set. 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.
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.
Parameters:
attr The attribute set to query or modify.
striped The value of striped attribute.
See also:
globus_ftp_client_operationattr_set_parallelism(),
globus_ftp_client_operationattr_set_layout()
globus_ftp_client_operationattr_set_mode()
Note:
This is a Grid-FTP extension, and may not be supported on all FTP
servers.
globus_result_t globus_ftp_client_operationattr_get_layout (const
globus_ftp_client_operationattr_t * attr, globus_ftp_control_layout_t *
layout)
Set/Get the layout attribute for an ftp client attribute set. This
attribute allows the user to control the layout of a file being
transfered 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.
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.
Parameters:
attr The attribute set to query or modify.
layout The value of layout attribute.
See also:
globus_ftp_control_layout_t,
globus_ftp_client_operationattr_set_parallelism(),
globus_ftp_client_operationattr_set_mode()
Note:
This is a Grid-FTP extension, and may not be supported on all FTP
servers.
globus_result_t globus_ftp_client_operationattr_get_tcp_buffer (const
globus_ftp_client_operationattr_t * attr,
globus_ftp_control_tcpbuffer_t * tcp_buffer)
Set/Get the TCP buffer attribute for an ftp client attribute set. 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.
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
· SITE RETRBUFSIZE
· SITE RBUFSZ
· SITE RBUFSIZ
· SITE STORBUFIZE
· SITE SBUFSZ
· SITE SBUFSIZ
· SITE BUFSIZE
This attribute is affects any type of data transfer done with the ftp
client library.
Parameters:
attr The attribute set to query or modify.
tcp_buffer The value of tcp_buffer attribute.
See also:
globus_gsiftp_control_tcpbuffer_t
globus_result_t globus_ftp_client_operationattr_get_type (const
globus_ftp_client_operationattr_t * attr, globus_ftp_control_type_t *
type)
Set/Get the file representation type attribute for an ftp client
attribute set. 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.
When transferring an ASCII file, the data will be transformed in the
following way
· the high-order bit will be set to zero
· 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.
The default type for the ftp client library is binary.
Parameters:
attr The attribute set to query or modify.
type The value of type attribute.
See also:
globus_ftp_control_type_t
globus_result_t globus_ftp_client_operationattr_get_mode (const
globus_ftp_client_operationattr_t * attr, globus_ftp_control_mode_t *
mode)
Set/Get the file transfer mode attribute for an ftp client attribute
set. 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.
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.
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.
Parameters:
attr The attribute set to query or modify.
mode The value of mode attribute
See also:
globus_ftp_control_mode_t,
globus_ftp_client_operationattr_set_parallelism(),
globus_ftp_client_operationattr_set_layout()
Note:
Extended block mode is a Grid-FTP extension, and may not be
supported on all FTP servers.
globus_result_t globus_ftp_client_operationattr_get_list_uses_data_mode
(const globus_ftp_client_operationattr_t * attr, globus_bool_t *
list_uses_data_mode)
Set/Get whether or not list data will use the current data mode
This attribute allows the user to allow list data to be transferred
using the current data channel mode. Parameters:
attr The attribute set to query or modify.
list_uses_data_mode globus_bool_t
Note:
List data transfers in nonstandard modes is a Grid-FTP extension,
and may not be supported on all FTP servers.
globus_result_t globus_ftp_client_operationattr_get_authorization (const
globus_ftp_client_operationattr_t * attr, gss_cred_id_t * credential,
char ** user, char ** password, char ** account, char ** subject)
Set/Get the authorization attribute for an ftp client attribute set.
This attribute allows the user to pass authentication information to
the ftp client library. This information is used to authenticate with
the ftp server.
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.
Parameters:
attr The attribute set to query or modify.
credential The credential to use for authenticating with a GSIFTP
server. This may be GSS_C_NO_CREDENTIAL to use the default
credential.
user 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.
password The password to send to the FTP server. When doing a
gsiftp transfer, this may be set to NULL.
account The account to use for the data transfer. Most FTP servers
do not require this.
subject 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).
globus_result_t globus_ftp_client_operationattr_get_dcau (const
globus_ftp_client_operationattr_t * attr, globus_ftp_control_dcau_t *
dcau)
Set/Get the data channel authentication attribute for an ftp client
attribute set. 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.
Parameters:
attr The attribute set to query or modify.
dcau The value of data channel authentication attribute.
globus_result_t globus_ftp_client_operationattr_get_data_protection (const
globus_ftp_client_operationattr_t * attr,
globus_ftp_control_protection_t * protection)
Set/Get the data channel protection attribute for an ftp client
attribute set. Parameters:
attr The attribute set to query or modify.
protection The value of data channel protection attribute.
Bug
Only safe and private protection levels are supported by gsiftp.
globus_result_t globus_ftp_client_operationattr_get_control_protection
(const globus_ftp_client_operationattr_t * attr,
globus_ftp_control_protection_t * protection)
Set/Get the control channel protection attribute for an ftp client
attribute set. 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.
Parameters:
attr The attribute set to query or modify.
protection The value of control channel protection attribute.
Bug
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.
globus_result_t globus_ftp_client_operationattr_get_append (const
globus_ftp_client_operationattr_t * attr, globus_bool_t * append)
Set/Get the append attribute for an ftp client attribute set. This
attribute allows the user to append to a file on an FTP server, instead
of replacing the existing file when doing a globus_ftp_client_put() or
globus_ftp_client_transfer().
This attribute is ignored on the retrieving side of a transfer, or a
globus_ftp_client_get().
Parameters:
attr The attribute set to query or modify.
append The value of append attribute.
globus_result_t globus_ftp_client_operationattr_get_allow_ipv6 (const
globus_ftp_client_operationattr_t * attr, globus_bool_t * allow_ipv6)
Set/Get the allow ipv6 attribute for an ftp client attribute set. This
attribute allows client library to make use of ipv6 when possible.
Use of this is currently very experimental.
Parameters:
attr The attribute set to query or modify.
allow_ipv6 GLOBUS_TRUE to allow ipv6 or GLOBUS_FALSE to
disallow(default)
globus_result_t globus_ftp_client_operationattr_get_read_all (const
globus_ftp_client_operationattr_t * attr, globus_bool_t * read_all,
globus_ftp_client_data_callback_t * intermediate_callback, void **
intermediate_callback_arg)
Set/Get the read_all attribute for an ftp client attribute set. 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 globus_ftp_client_register_read() when this attribute
is used for a get.
In extended block mode, this attribute will cause data to be stored
directly into the buffer from multiple streams without any extra data
copies.
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.
This attribute is ignored for globus_ftp_client_put() or
globus_ftp_client_third_party_transfer() operations.
Parameters:
attr The attribute set to query or modify.
read_all The value of read_all attribute.
intermediate_callback 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.
intermediate_callback_arg User data to be passed to the
intermediate callback function.
Author
Generated automatically by Doxygen for globus ftp client from the
source code.