| globus_xio_gridftp_driver(3) | Library Functions Manual | globus_xio_gridftp_driver(3) |
NAME¶
globus_xio_gridftp_driver - Globus XIO GRIDFTP Client Driver
- Globus XIO GRIDFTP Client Driver.
SYNOPSIS¶
Typedefs¶
typedef enum globus_l_xio_gridftp_mode_e
globus_l_xio_gridftp_mode_t
Enumerations¶
enum globus_xio_gridftp_error_type_t {
GLOBUS_XIO_GRIDFTP_ERROR_ATTR, GLOBUS_XIO_GRIDFTP_ERROR_SEEK,
GLOBUS_XIO_GRIDFTP_ERROR_OUTSTANDING_READ,
GLOBUS_XIO_GRIDFTP_ERROR_OUTSTANDING_WRITE,
GLOBUS_XIO_GRIDFTP_ERROR_PENDING_READ,
GLOBUS_XIO_GRIDFTP_ERROR_PENDING_WRITE,
GLOBUS_XIO_GRIDFTP_ERROR_OUTSTANDING_PARTIAL_XFER }
enum globus_xio_gridftp_cmd_t { GLOBUS_XIO_GRIDFTP_SEEK,
GLOBUS_XIO_GRIDFTP_SET_HANDLE, GLOBUS_XIO_GRIDFTP_GET_HANDLE,
GLOBUS_XIO_GRIDFTP_SET_APPEND, GLOBUS_XIO_GRIDFTP_GET_APPEND,
GLOBUS_XIO_GRIDFTP_SET_ERET, GLOBUS_XIO_GRIDFTP_GET_ERET,
GLOBUS_XIO_GRIDFTP_SET_ESTO, GLOBUS_XIO_GRIDFTP_GET_ESTO,
GLOBUS_XIO_GRIDFTP_SET_PARTIAL_TRANSFER,
GLOBUS_XIO_GRIDFTP_GET_PARTIAL_TRANSFER,
GLOBUS_XIO_GRIDFTP_SET_NUM_STREAMS,
GLOBUS_XIO_GRIDFTP_GET_NUM_STREAMS,
GLOBUS_XIO_GRIDFTP_SET_TCP_BUFFER,
GLOBUS_XIO_GRIDFTP_GET_TCP_BUFFER,
GLOBUS_XIO_GRIDFTP_SET_MODE, GLOBUS_XIO_GRIDFTP_GET_MODE,
GLOBUS_XIO_GRIDFTP_SET_AUTH, GLOBUS_XIO_GRIDFTP_GET_AUTH,
GLOBUS_XIO_GRIDFTP_SET_DCAU, GLOBUS_XIO_GRIDFTP_GET_DCAU,
GLOBUS_XIO_GRIDFTP_SET_DATA_PROTECTION,
GLOBUS_XIO_GRIDFTP_GET_DATA_PROTECTION,
GLOBUS_XIO_GRIDFTP_SET_CONTROL_PROTECTION,
GLOBUS_XIO_GRIDFTP_GET_CONTROL_PROTECTION }
enum globus_l_xio_gridftp_mode_e
Functions¶
globus_result_t globus_xio_gridftp_handle_cntl (handle,
driver, GLOBUS_XIO_GRIDFTP_SEEK, globus_off_t seek_offset)
globus_result_t globus_xio_gridftp_attr_cntl (attr, driver,
GLOBUS_XIO_GRIDFTP_SET_HANDLE, globus_ftp_client_handle_t
*ftp_handle)
globus_result_t globus_xio_gridftp_attr_cntl (attr, driver,
GLOBUS_XIO_GRIDFTP_GET_HANDLE, globus_ftp_client_handle_t
**ftp_handle_out)
globus_result_t globus_xio_gridftp_attr_cntl (attr, driver,
GLOBUS_XIO_GRIDFTP_SET_APPEND, globus_bool_t append)
globus_result_t globus_xio_gridftp_attr_cntl (attr, driver,
GLOBUS_XIO_GRIDFTP_GET_APPEND, globus_bool_t *append_out)
globus_result_t globus_xio_gridftp_attr_cntl (attr, driver,
GLOBUS_XIO_GRIDFTP_SET_ERET, const char *eret_alg_str)
globus_result_t globus_xio_gridftp_attr_cntl (attr, driver,
GLOBUS_XIO_GRIDFTP_GET_ERET, char **eret_alg_str_out)
globus_result_t globus_xio_gridftp_attr_cntl (attr, driver,
GLOBUS_XIO_GRIDFTP_SET_ESTO, const char *esto_alg_str)
globus_result_t globus_xio_gridftp_attr_cntl (attr, driver,
GLOBUS_XIO_GRIDFTP_GET_ESTO, char **esto_alg_str_out)
globus_result_t globus_xio_gridftp_attr_cntl (attr, driver,
GLOBUS_XIO_GRIDFTP_SET_PARTIAL_TRANSFER, globus_bool_t partial_xfer)
globus_result_t globus_xio_gridftp_attr_cntl (attr, driver,
GLOBUS_XIO_GRIDFTP_GET_PARTIAL_TRANSFER, globus_bool_t
*partial_xfer_out)
globus_result_t globus_xio_gridftp_attr_cntl (attr, driver,
GLOBUS_XIO_GRIDFTP_SET_NUM_STREAMS, int num_streams)
globus_result_t globus_xio_gridftp_attr_cntl (attr, driver,
GLOBUS_XIO_GRIDFTP_GET_NUM_STREAMS, int *num_streams_out)
globus_result_t globus_xio_gridftp_attr_cntl (attr, driver,
GLOBUS_XIO_GRIDFTP_SET_TCP_BUFFER, int buf_size)
globus_result_t globus_xio_gridftp_attr_cntl (attr, driver,
GLOBUS_XIO_GRIDFTP_GET_TCP_BUFFER, int *buf_size_out)
globus_result_t globus_xio_gridftp_attr_cntl (attr, driver,
GLOBUS_XIO_GRIDFTP_SET_MODE, int mode)
globus_result_t globus_xio_gridftp_attr_cntl (attr, driver,
GLOBUS_XIO_GRIDFTP_GET_MODE, int *mode_out)
globus_result_t globus_xio_gridftp_attr_cntl (attr, driver,
GLOBUS_XIO_GRIDFTP_SET_AUTH, gss_cred_id_t credential, const char
*user, const char *password, const char *account, const char *subject)
globus_result_t globus_xio_gridftp_attr_cntl (attr, driver,
GLOBUS_XIO_GRIDFTP_GET_AUTH, gss_cred_id_t *credential_out, const
char **user_out, const char **password_out, const char **account_out, const
char **subject_out)
globus_result_t globus_xio_gridftp_attr_cntl (attr, driver,
GLOBUS_XIO_GRIDFTP_SET_DCAU, int dcau_mode)
globus_result_t globus_xio_gridftp_attr_cntl (attr, driver,
GLOBUS_XIO_GRIDFTP_GET_DCAU, int *dcau_mode_out)
globus_result_t globus_xio_gridftp_attr_cntl (attr, driver,
GLOBUS_XIO_GRIDFTP_SET_DATA_PROTECTION, int protection)
globus_result_t globus_xio_gridftp_attr_cntl (attr, driver,
GLOBUS_XIO_GRIDFTP_GET_DATA_PROTECTION, int *protection_out)
globus_result_t globus_xio_gridftp_attr_cntl (attr, driver,
GLOBUS_XIO_GRIDFTP_SET_CONTROL_PROTECTION, int protection)
globus_result_t globus_xio_gridftp_attr_cntl (attr, driver,
GLOBUS_XIO_GRIDFTP_GET_CONTROL_PROTECTION, int *protection_out)
Detailed Description¶
Globus XIO GRIDFTP Client Driver.
Handles¶
An XIO handle with the gridftp client driver can be created with globus_xio_handle_create()
The GridFTP client driver makes use of globus ftp client library. globus_xio_register_open() call creates a new ftp client handle (unless one is set on the attr passed), establishes connection with the GridFTP server. The contact string must contain the scheme, host name, and the resource, optionally it might contain port and subject also.
When the XIO handle is closed, the GridFTP driver will destroy its internal resources and the ftp client handle (unless this handle was set on an attr).
Reading/Writing¶
The globus_xio_register_read() enforce that the waitforbytes parameter should be one. When multiple TCP streams are used between the client and the server, data might not be delivered in order. globus_xio_data_descriptor_cntl() can be used to get the offset of the data.
globus_xio_register_write() does not enforce any restriction on the waitforbytes parameter.
In any case, when an error or EOF occurs before the waitforbytes request has been met, the outgoing nbytes is set to the amount of data actually read/written before the error or EOF occurred.
Environment Variables¶
- •
- GLOBUS_XIO_GRIDFTP_DEBUG Available if using a debug build. See globus_debug.h for format.
Attributes and Cntls¶
GridFTP driver specific attrs and cntls.
See also
globus_xio_handle_cntl ()
globus_xio_data_descriptor_cntl ()
Types¶
The errors reported by the GRIDFTP driver include GLOBUS_XIO_ERROR_EOF, GLOBUS_XIO_ERROR_CANCELED, GLOBUS_XIO_GRIDFTP_ERROR_OUTSTANDING_READ, GLOBUS_XIO_GRIDFTP_ERROR_SEEK, GLOBUS_XIO_GRIDFTP_ERROR_OUTSTANDING_WRITE, GLOBUS_XIO_GRIDFTP_ERROR_PENDING_READ, GLOBUS_XIO_GRIDFTP_ERROR_PENDING_WRITE, GLOBUS_XIO_GRIDFTP_ERROR_OUTSTANDING_PARTIAL_XFER
See also
globus_error_errno_match()
Typedef Documentation¶
typedef enum globus_l_xio_gridftp_mode_e globus_l_xio_gridftp_mode_t¶
GRIDFTP driver specific types
Enumeration Type Documentation¶
enum globus_l_xio_gridftp_mode_e¶
GRIDFTP driver specific types
enum globus_xio_gridftp_cmd_t¶
doxygen varargs filter stuff GRIDFTP driver specific cntls
Enumerator
- GLOBUS_XIO_GRIDFTP_SEEK
- See usage for: globus_xio_gridftp_handle_cntl
- GLOBUS_XIO_GRIDFTP_SET_HANDLE
- See usage for: globus_xio_gridftp_attr_cntl
- GLOBUS_XIO_GRIDFTP_GET_HANDLE
- See usage for: globus_xio_gridftp_attr_cntl
- GLOBUS_XIO_GRIDFTP_SET_APPEND
- See usage for: globus_xio_gridftp_attr_cntl
- GLOBUS_XIO_GRIDFTP_GET_APPEND
- See usage for: globus_xio_gridftp_attr_cntl
- GLOBUS_XIO_GRIDFTP_SET_ERET
- See usage for: globus_xio_gridftp_attr_cntl
- GLOBUS_XIO_GRIDFTP_GET_ERET
- See usage for: globus_xio_gridftp_attr_cntl
- GLOBUS_XIO_GRIDFTP_SET_ESTO
- See usage for: globus_xio_gridftp_attr_cntl
- GLOBUS_XIO_GRIDFTP_GET_ESTO
- See usage for: globus_xio_gridftp_attr_cntl
- GLOBUS_XIO_GRIDFTP_SET_PARTIAL_TRANSFER
- See usage for: globus_xio_gridftp_attr_cntl
- GLOBUS_XIO_GRIDFTP_GET_PARTIAL_TRANSFER
- See usage for: globus_xio_gridftp_attr_cntl
- GLOBUS_XIO_GRIDFTP_SET_NUM_STREAMS
- See usage for: globus_xio_gridftp_attr_cntl
- GLOBUS_XIO_GRIDFTP_GET_NUM_STREAMS
- See usage for: globus_xio_gridftp_attr_cntl
- GLOBUS_XIO_GRIDFTP_SET_TCP_BUFFER
- See usage for: globus_xio_gridftp_attr_cntl
- GLOBUS_XIO_GRIDFTP_GET_TCP_BUFFER
- See usage for: globus_xio_gridftp_attr_cntl
- GLOBUS_XIO_GRIDFTP_SET_MODE
- See usage for: globus_xio_gridftp_attr_cntl
- GLOBUS_XIO_GRIDFTP_GET_MODE
- See usage for: globus_xio_gridftp_attr_cntl
- GLOBUS_XIO_GRIDFTP_SET_AUTH
- See usage for: globus_xio_gridftp_attr_cntl
- GLOBUS_XIO_GRIDFTP_GET_AUTH
- See usage for: globus_xio_gridftp_attr_cntl
- GLOBUS_XIO_GRIDFTP_SET_DCAU
- See usage for: globus_xio_gridftp_attr_cntl
- GLOBUS_XIO_GRIDFTP_GET_DCAU
- See usage for: globus_xio_gridftp_attr_cntl
- GLOBUS_XIO_GRIDFTP_SET_DATA_PROTECTION
- See usage for: globus_xio_gridftp_attr_cntl
- GLOBUS_XIO_GRIDFTP_GET_DATA_PROTECTION
- See usage for: globus_xio_gridftp_attr_cntl
- GLOBUS_XIO_GRIDFTP_SET_CONTROL_PROTECTION
- See usage for: globus_xio_gridftp_attr_cntl
- GLOBUS_XIO_GRIDFTP_GET_CONTROL_PROTECTION
- See usage for: globus_xio_gridftp_attr_cntl
enum globus_xio_gridftp_error_type_t¶
GridFTP driver specific error types
Enumerator
- GLOBUS_XIO_GRIDFTP_ERROR_ATTR
- Indicates that an error occurred in the attribute control
- GLOBUS_XIO_GRIDFTP_ERROR_SEEK
- Indicates that a seek has been called while there is an outstanding I/O
- GLOBUS_XIO_GRIDFTP_ERROR_OUTSTANDING_READ
- Indicates that a write has been called while there is an outstanding read
- GLOBUS_XIO_GRIDFTP_ERROR_OUTSTANDING_WRITE
- Indicates that a read has been called while there is an outstanding write
- GLOBUS_XIO_GRIDFTP_ERROR_PENDING_READ
- Indicates that a write has been called while there is a read pending
- GLOBUS_XIO_GRIDFTP_ERROR_PENDING_WRITE
- Indicates that a read has been called while there is a write pending
- GLOBUS_XIO_GRIDFTP_ERROR_OUTSTANDING_PARTIAL_XFER
- Indicates that a second partial xfer has been initiated while the first one is still outstanding
Function Documentation¶
globus_result_t globus_xio_gridftp_attr_cntl (attr , driver , GLOBUS_XIO_GRIDFTP_GET_APPEND , globus_bool_t * append_out)¶
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Get the append flag on the attr.
Parameters
globus_result_t globus_xio_gridftp_attr_cntl (attr , driver , GLOBUS_XIO_GRIDFTP_GET_AUTH , gss_cred_id_t * credential_out, const char ** user_out, const char ** password_out, const char ** account_out, const char ** subject_out)¶
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Get the authentication information on the attr.
Parameters
user_out The user name will be stored here.
password_out The password will be stored here.
account_out The account information will be stored here.
subject_out The subject name will be stored here.
globus_result_t globus_xio_gridftp_attr_cntl (attr , driver , GLOBUS_XIO_GRIDFTP_GET_CONTROL_PROTECTION , int * protection_out)¶
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Get the control channel protection level on the attr.
Parameters
See also
globus_result_t globus_xio_gridftp_attr_cntl (attr , driver , GLOBUS_XIO_GRIDFTP_GET_DATA_PROTECTION , int * protection_out)¶
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Get the data channel protection level on the attr.
Parameters
See also
globus_result_t globus_xio_gridftp_attr_cntl (attr , driver , GLOBUS_XIO_GRIDFTP_GET_DCAU , int * dcau_mode_out)¶
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Get the data channel authentication mode on the attr.
Parameters
See also
globus_result_t globus_xio_gridftp_attr_cntl (attr , driver , GLOBUS_XIO_GRIDFTP_GET_ERET , char ** eret_alg_str_out)¶
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Get the ERET algorithm string.
Parameters
globus_result_t globus_xio_gridftp_attr_cntl (attr , driver , GLOBUS_XIO_GRIDFTP_GET_ESTO , char ** esto_alg_str_out)¶
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Get the ESTO algorithm string.
Parameters
globus_result_t globus_xio_gridftp_attr_cntl (attr , driver , GLOBUS_XIO_GRIDFTP_GET_HANDLE , globus_ftp_client_handle_t ** ftp_handle_out)¶
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Get the ftp client handle on the attr.
Parameters
globus_result_t globus_xio_gridftp_attr_cntl (attr , driver , GLOBUS_XIO_GRIDFTP_GET_MODE , int * mode_out)¶
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Get the data transmission mode on the attr.
Parameters
See also
globus_result_t globus_xio_gridftp_attr_cntl (attr , driver , GLOBUS_XIO_GRIDFTP_GET_NUM_STREAMS , int * num_streams_out)¶
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Get the number of TCP streams on the attr.
Parameters
globus_result_t globus_xio_gridftp_attr_cntl (attr , driver , GLOBUS_XIO_GRIDFTP_GET_PARTIAL_TRANSFER , globus_bool_t * partial_xfer_out)¶
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Get the partial transfer flag on the attr.
Parameters
globus_result_t globus_xio_gridftp_attr_cntl (attr , driver , GLOBUS_XIO_GRIDFTP_GET_TCP_BUFFER , int * buf_size_out)¶
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Get the TCP socket send/recv buffer size on the attr.
Parameters
globus_result_t globus_xio_gridftp_attr_cntl (attr , driver , GLOBUS_XIO_GRIDFTP_SET_APPEND , globus_bool_t append)¶
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Enable or disable opening the file in append mode.
Parameters
globus_result_t globus_xio_gridftp_attr_cntl (attr , driver , GLOBUS_XIO_GRIDFTP_SET_AUTH , gss_cred_id_t credential, const char * user, const char * password, const char * account, const char * subject)¶
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Set the authentication information used to authenticate with the GridFTP server
Parameters
user The user name to send to the GridFTP server. When doing a GSI transfer, this may be set to NULL, and the default gridmap entry for the user's GSI identity will be used
password The password to send to the GridFTP server. When doing a GSI transfer, this may be set to NULL.
account The account to use for the data transfer.
subject The subject name of the GridFTP server. This is only used when doing a GSI 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_xio_gridftp_attr_cntl (attr , driver , GLOBUS_XIO_GRIDFTP_SET_CONTROL_PROTECTION , int protection)¶
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Set protection level on the control channel.
Parameters
See also
globus_result_t globus_xio_gridftp_attr_cntl (attr , driver , GLOBUS_XIO_GRIDFTP_SET_DATA_PROTECTION , int protection)¶
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Set protection level on the data channel.
Parameters
See also
globus_result_t globus_xio_gridftp_attr_cntl (attr , driver , GLOBUS_XIO_GRIDFTP_SET_DCAU , int dcau_mode)¶
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Set the mode of authentication to be performed on GridFTP data channels.
Parameters
See also
globus_result_t globus_xio_gridftp_attr_cntl (attr , driver , GLOBUS_XIO_GRIDFTP_SET_ERET , const char * eret_alg_str)¶
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Set the ERET algorithm string. This string contains information needed to invoke a server-specific data reduction algorithm on the file being retrieved.
Parameters
globus_result_t globus_xio_gridftp_attr_cntl (attr , driver , GLOBUS_XIO_GRIDFTP_SET_ESTO , const char * esto_alg_str)¶
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Set the ESTO algorithm string. This string contains information needed to invoke a server-specific data reduction algorithm on the file being stored.
Parameters
globus_result_t globus_xio_gridftp_attr_cntl (attr , driver , GLOBUS_XIO_GRIDFTP_SET_HANDLE , globus_ftp_client_handle_t * ftp_handle)¶
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Set the ftp client handle to use.
Do not create a new ftp client handle, use this handle instead.
Parameters
globus_result_t globus_xio_gridftp_attr_cntl (attr , driver , GLOBUS_XIO_GRIDFTP_SET_MODE , int mode)¶
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Set the transmission mode used for data transfer
Parameters
See also
globus_result_t globus_xio_gridftp_attr_cntl (attr , driver , GLOBUS_XIO_GRIDFTP_SET_NUM_STREAMS , int num_streams)¶
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Set the number of TCP streams to be used between the client and the server.
Parameters
globus_result_t globus_xio_gridftp_attr_cntl (attr , driver , GLOBUS_XIO_GRIDFTP_SET_PARTIAL_TRANSFER , globus_bool_t partial_xfer)¶
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Enable or disable partial transfer (associate a transfer with each read/write) on the GridFTP handle.
Parameters
globus_result_t globus_xio_gridftp_attr_cntl (attr , driver , GLOBUS_XIO_GRIDFTP_SET_TCP_BUFFER , int buf_size)¶
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Set the TCP socket send/recv buffer size.
Parameters
globus_result_t globus_xio_gridftp_handle_cntl (handle , driver , GLOBUS_XIO_GRIDFTP_SEEK , globus_off_t seek_offset)¶
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Reposition the offset of the file being read/written.
Parameters
Author¶
Generated automatically by Doxygen for globus_xio_gridftp_driver from the source code.
| Version 3.6 | globus_xio_gridftp_driver |