.TH "globus_xio_gridftp_driver" 3 "Tue Jul 5 2022" "Version 3.6" "globus_xio_gridftp_driver" \" -*- nroff -*-
.ad l
.nh
.SH NAME
globus_xio_gridftp_driver \- Globus XIO GRIDFTP Client Driver
.PP
 \- Globus XIO GRIDFTP Client Driver\&.  

.SH SYNOPSIS
.br
.PP
.SS "Typedefs"

.in +1c
.ti -1c
.RI "typedef enum \fBglobus_l_xio_gridftp_mode_e\fP \fBglobus_l_xio_gridftp_mode_t\fP"
.br
.in -1c
.SS "Enumerations"

.in +1c
.ti -1c
.RI "enum \fBglobus_xio_gridftp_error_type_t\fP { \fBGLOBUS_XIO_GRIDFTP_ERROR_ATTR\fP, \fBGLOBUS_XIO_GRIDFTP_ERROR_SEEK\fP, \fBGLOBUS_XIO_GRIDFTP_ERROR_OUTSTANDING_READ\fP, \fBGLOBUS_XIO_GRIDFTP_ERROR_OUTSTANDING_WRITE\fP, \fBGLOBUS_XIO_GRIDFTP_ERROR_PENDING_READ\fP, \fBGLOBUS_XIO_GRIDFTP_ERROR_PENDING_WRITE\fP, \fBGLOBUS_XIO_GRIDFTP_ERROR_OUTSTANDING_PARTIAL_XFER\fP }"
.br
.ti -1c
.RI "enum \fBglobus_xio_gridftp_cmd_t\fP { \fBGLOBUS_XIO_GRIDFTP_SEEK\fP, \fBGLOBUS_XIO_GRIDFTP_SET_HANDLE\fP, \fBGLOBUS_XIO_GRIDFTP_GET_HANDLE\fP, \fBGLOBUS_XIO_GRIDFTP_SET_APPEND\fP, \fBGLOBUS_XIO_GRIDFTP_GET_APPEND\fP, \fBGLOBUS_XIO_GRIDFTP_SET_ERET\fP, \fBGLOBUS_XIO_GRIDFTP_GET_ERET\fP, \fBGLOBUS_XIO_GRIDFTP_SET_ESTO\fP, \fBGLOBUS_XIO_GRIDFTP_GET_ESTO\fP, \fBGLOBUS_XIO_GRIDFTP_SET_PARTIAL_TRANSFER\fP, \fBGLOBUS_XIO_GRIDFTP_GET_PARTIAL_TRANSFER\fP, \fBGLOBUS_XIO_GRIDFTP_SET_NUM_STREAMS\fP, \fBGLOBUS_XIO_GRIDFTP_GET_NUM_STREAMS\fP, \fBGLOBUS_XIO_GRIDFTP_SET_TCP_BUFFER\fP, \fBGLOBUS_XIO_GRIDFTP_GET_TCP_BUFFER\fP, \fBGLOBUS_XIO_GRIDFTP_SET_MODE\fP, \fBGLOBUS_XIO_GRIDFTP_GET_MODE\fP, \fBGLOBUS_XIO_GRIDFTP_SET_AUTH\fP, \fBGLOBUS_XIO_GRIDFTP_GET_AUTH\fP, \fBGLOBUS_XIO_GRIDFTP_SET_DCAU\fP, \fBGLOBUS_XIO_GRIDFTP_GET_DCAU\fP, \fBGLOBUS_XIO_GRIDFTP_SET_DATA_PROTECTION\fP, \fBGLOBUS_XIO_GRIDFTP_GET_DATA_PROTECTION\fP, \fBGLOBUS_XIO_GRIDFTP_SET_CONTROL_PROTECTION\fP, \fBGLOBUS_XIO_GRIDFTP_GET_CONTROL_PROTECTION\fP }"
.br
.ti -1c
.RI "enum \fBglobus_l_xio_gridftp_mode_e\fP "
.br
.in -1c
.SH "Detailed Description"
.PP 
Globus XIO GRIDFTP Client Driver\&. 


.SH "Handles"
.PP
An XIO handle with the gridftp client driver can be created with globus_xio_handle_create()
.PP
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\&.
.PP
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)\&.
.SH "Reading/Writing"
.PP
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\&.
.PP
globus_xio_register_write() does not enforce any restriction on the waitforbytes parameter\&.
.PP
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\&.
.SH "Environment Variables"
.PP
.IP "\(bu" 2
GLOBUS_XIO_GRIDFTP_DEBUG Available if using a debug build\&. See globus_debug\&.h for format\&.
.PP
.SH "Attributes and Cntls"
.PP
GridFTP driver specific attrs and cntls\&.
.PP
\fBSee also\fP
.RS 4
globus_xio_attr_cntl ()
.PP
globus_xio_handle_cntl ()
.PP
globus_xio_data_descriptor_cntl ()
.RE
.PP
.SH "Types"
.PP
The errors reported by the GRIDFTP driver include GLOBUS_XIO_ERROR_EOF, GLOBUS_XIO_ERROR_CANCELED, \fBGLOBUS_XIO_GRIDFTP_ERROR_OUTSTANDING_READ\fP, \fBGLOBUS_XIO_GRIDFTP_ERROR_SEEK\fP, \fBGLOBUS_XIO_GRIDFTP_ERROR_OUTSTANDING_WRITE\fP, \fBGLOBUS_XIO_GRIDFTP_ERROR_PENDING_READ\fP, \fBGLOBUS_XIO_GRIDFTP_ERROR_PENDING_WRITE\fP, \fBGLOBUS_XIO_GRIDFTP_ERROR_OUTSTANDING_PARTIAL_XFER\fP
.PP
\fBSee also\fP
.RS 4
globus_xio_driver_error_match() 
.PP
globus_error_errno_match() 
.RE
.PP

.SH "Typedef Documentation"
.PP 
.SS "typedef enum \fBglobus_l_xio_gridftp_mode_e\fP \fBglobus_l_xio_gridftp_mode_t\fP"
GRIDFTP driver specific types 
.SH "Enumeration Type Documentation"
.PP 
.SS "enum \fBglobus_l_xio_gridftp_mode_e\fP"
GRIDFTP driver specific types 
.SS "enum \fBglobus_xio_gridftp_cmd_t\fP"
doxygen varargs filter stuff GRIDFTP driver specific cntls 
.PP
\fBEnumerator\fP
.in +1c
.TP
\fB\fIGLOBUS_XIO_GRIDFTP_SEEK \fP\fP
See usage for: \fBglobus_xio_gridftp_handle_cntl \fP 
.TP
\fB\fIGLOBUS_XIO_GRIDFTP_SET_HANDLE \fP\fP
See usage for: \fBglobus_xio_gridftp_attr_cntl \fP 
.TP
\fB\fIGLOBUS_XIO_GRIDFTP_GET_HANDLE \fP\fP
See usage for: \fBglobus_xio_gridftp_attr_cntl \fP 
.TP
\fB\fIGLOBUS_XIO_GRIDFTP_SET_APPEND \fP\fP
See usage for: \fBglobus_xio_gridftp_attr_cntl \fP 
.TP
\fB\fIGLOBUS_XIO_GRIDFTP_GET_APPEND \fP\fP
See usage for: \fBglobus_xio_gridftp_attr_cntl \fP 
.TP
\fB\fIGLOBUS_XIO_GRIDFTP_SET_ERET \fP\fP
See usage for: \fBglobus_xio_gridftp_attr_cntl \fP 
.TP
\fB\fIGLOBUS_XIO_GRIDFTP_GET_ERET \fP\fP
See usage for: \fBglobus_xio_gridftp_attr_cntl \fP 
.TP
\fB\fIGLOBUS_XIO_GRIDFTP_SET_ESTO \fP\fP
See usage for: \fBglobus_xio_gridftp_attr_cntl \fP 
.TP
\fB\fIGLOBUS_XIO_GRIDFTP_GET_ESTO \fP\fP
See usage for: \fBglobus_xio_gridftp_attr_cntl \fP 
.TP
\fB\fIGLOBUS_XIO_GRIDFTP_SET_PARTIAL_TRANSFER \fP\fP
See usage for: \fBglobus_xio_gridftp_attr_cntl \fP 
.TP
\fB\fIGLOBUS_XIO_GRIDFTP_GET_PARTIAL_TRANSFER \fP\fP
See usage for: \fBglobus_xio_gridftp_attr_cntl \fP 
.TP
\fB\fIGLOBUS_XIO_GRIDFTP_SET_NUM_STREAMS \fP\fP
See usage for: \fBglobus_xio_gridftp_attr_cntl \fP 
.TP
\fB\fIGLOBUS_XIO_GRIDFTP_GET_NUM_STREAMS \fP\fP
See usage for: \fBglobus_xio_gridftp_attr_cntl \fP 
.TP
\fB\fIGLOBUS_XIO_GRIDFTP_SET_TCP_BUFFER \fP\fP
See usage for: \fBglobus_xio_gridftp_attr_cntl \fP 
.TP
\fB\fIGLOBUS_XIO_GRIDFTP_GET_TCP_BUFFER \fP\fP
See usage for: \fBglobus_xio_gridftp_attr_cntl \fP 
.TP
\fB\fIGLOBUS_XIO_GRIDFTP_SET_MODE \fP\fP
See usage for: \fBglobus_xio_gridftp_attr_cntl \fP 
.TP
\fB\fIGLOBUS_XIO_GRIDFTP_GET_MODE \fP\fP
See usage for: \fBglobus_xio_gridftp_attr_cntl \fP 
.TP
\fB\fIGLOBUS_XIO_GRIDFTP_SET_AUTH \fP\fP
See usage for: \fBglobus_xio_gridftp_attr_cntl \fP 
.TP
\fB\fIGLOBUS_XIO_GRIDFTP_GET_AUTH \fP\fP
See usage for: \fBglobus_xio_gridftp_attr_cntl \fP 
.TP
\fB\fIGLOBUS_XIO_GRIDFTP_SET_DCAU \fP\fP
See usage for: \fBglobus_xio_gridftp_attr_cntl \fP 
.TP
\fB\fIGLOBUS_XIO_GRIDFTP_GET_DCAU \fP\fP
See usage for: \fBglobus_xio_gridftp_attr_cntl \fP 
.TP
\fB\fIGLOBUS_XIO_GRIDFTP_SET_DATA_PROTECTION \fP\fP
See usage for: \fBglobus_xio_gridftp_attr_cntl \fP 
.TP
\fB\fIGLOBUS_XIO_GRIDFTP_GET_DATA_PROTECTION \fP\fP
See usage for: \fBglobus_xio_gridftp_attr_cntl \fP 
.TP
\fB\fIGLOBUS_XIO_GRIDFTP_SET_CONTROL_PROTECTION \fP\fP
See usage for: \fBglobus_xio_gridftp_attr_cntl \fP 
.TP
\fB\fIGLOBUS_XIO_GRIDFTP_GET_CONTROL_PROTECTION \fP\fP
See usage for: \fBglobus_xio_gridftp_attr_cntl \fP 
.SS "enum \fBglobus_xio_gridftp_error_type_t\fP"
GridFTP driver specific error types 
.PP
\fBEnumerator\fP
.in +1c
.TP
\fB\fIGLOBUS_XIO_GRIDFTP_ERROR_ATTR \fP\fP
Indicates that an error occurred in the attribute control 
.TP
\fB\fIGLOBUS_XIO_GRIDFTP_ERROR_SEEK \fP\fP
Indicates that a seek has been called while there is an outstanding I/O 
.TP
\fB\fIGLOBUS_XIO_GRIDFTP_ERROR_OUTSTANDING_READ \fP\fP
Indicates that a write has been called while there is an outstanding read 
.TP
\fB\fIGLOBUS_XIO_GRIDFTP_ERROR_OUTSTANDING_WRITE \fP\fP
Indicates that a read has been called while there is an outstanding write 
.TP
\fB\fIGLOBUS_XIO_GRIDFTP_ERROR_PENDING_READ \fP\fP
Indicates that a write has been called while there is a read pending 
.TP
\fB\fIGLOBUS_XIO_GRIDFTP_ERROR_PENDING_WRITE \fP\fP
Indicates that a read has been called while there is a write pending 
.TP
\fB\fIGLOBUS_XIO_GRIDFTP_ERROR_OUTSTANDING_PARTIAL_XFER \fP\fP
Indicates that a second partial xfer has been initiated while the first one is still outstanding 
.SH "Author"
.PP 
Generated automatically by Doxygen for globus_xio_gridftp_driver from the source code\&.