Grid Community Toolkit  6.2.1607800521 (tag: v6.2.20201212)
Typedefs | Enumerations
Globus XIO GRIDFTP Client Driver

Globus XIO GRIDFTP Client Driver. More...

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
 

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

Attributes and Cntls

GridFTP driver specific attrs and cntls.

See also
globus_xio_attr_cntl ()
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_xio_driver_error_match()
globus_error_errno_match()

Typedef Documentation

◆ globus_l_xio_gridftp_mode_t

GRIDFTP driver specific types

Enumeration Type Documentation

◆ globus_l_xio_gridftp_mode_e

GRIDFTP driver specific types

◆ 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

◆ 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