Loading...
Searching...
No Matches
globus_xio_gridftp_driver.h File Reference

XIO GRIDFTP Client Driver. More...

`#include "globus_xio_system.h"`
`#include "globus_common.h"`

Go to the source code of this file.

## 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

XIO GRIDFTP Client Driver.

## Function Documentation

## globus_xio_gridftp_attr_cntl() [1/24]

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

  append_out | The append flag will be stored here.

## globus_xio_gridftp_attr_cntl() [2/24]

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

  credential_out | The credential will be stored here.
  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_xio_gridftp_attr_cntl() [3/24]

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

  protection_out | The control channel protection level will be stored here.

See also
  globus_l_xio_gridftp_protection_t

## globus_xio_gridftp_attr_cntl() [4/24]

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

  protection_out | The data channel protection level will be stored here.

See also
  globus_l_xio_gridftp_dcau_mode_t

## globus_xio_gridftp_attr_cntl() [5/24]

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

  dcau_mode_out | The data channel authentication mode will be stored here.

See also
  globus_l_xio_gridftp_dcau_mode_t

## globus_xio_gridftp_attr_cntl() [6/24]

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

  eret_alg_str_out | The ERET algorithm string will be stored here. It is the responsibility of the user to free the memory allocated for this string.

## globus_xio_gridftp_attr_cntl() [7/24]

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

  esto_alg_str_out | The ESTO algorithm string will be stored here. It is the responsibility of the user to free the memory allocated for this string.

## globus_xio_gridftp_attr_cntl() [8/24]

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

  ftp_handle_out | The ftp client handle pointer will be stored here. If none is set, NULL will be set.

## globus_xio_gridftp_attr_cntl() [9/24]

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

  mode_out | The data transmission mode will be stored here.

See also
  globus_l_xio_gridftp_mode_t

## globus_xio_gridftp_attr_cntl() [10/24]

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

  num_streams_out | The stream count will be stored here.

## globus_xio_gridftp_attr_cntl() [11/24]

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

  partial_xfer_out | The partial xfer flag will be stored here.

## globus_xio_gridftp_attr_cntl() [12/24]

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

  buf_size_out | The send/recv buffer size will be stored here.

## globus_xio_gridftp_attr_cntl() [13/24]

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

  append | GLOBUS_TRUE to enable, GLOBUS_FALSE to disable (default).

## globus_xio_gridftp_attr_cntl() [14/24]

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

  credential | The credential to use for authenticating with a GridFTP server. This may be GSS_C_NO_CREDENTIAL to use the default credential.
  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_xio_gridftp_attr_cntl() [15/24]

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

  protection | Specifies the protection level.

See also
  globus_l_xio_gridftp_protection_t

## globus_xio_gridftp_attr_cntl() [16/24]

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

  protection | Specifies the protection level.

See also
  globus_l_xio_gridftp_protection_t

## globus_xio_gridftp_attr_cntl() [17/24]

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

  dcau_mode | Specifies the authentication mode.

See also
  globus_l_xio_gridftp_dcau_mode_t

## globus_xio_gridftp_attr_cntl() [18/24]

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

  eret_alg_str | Specifies the ERET algorithm string.

## globus_xio_gridftp_attr_cntl() [19/24]

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

  esto_alg_str | Specifies the ESTO algorithm string.

## globus_xio_gridftp_attr_cntl() [20/24]

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

  ftp_handle | Specifies the pointer to globus ftp client handle. Note: this handle will not be destroyed.

## globus_xio_gridftp_attr_cntl() [21/24]

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

  mode | Specifies the data transmission mode. (default is stream mode)

See also
  globus_l_xio_gridftp_mode_t

## globus_xio_gridftp_attr_cntl() [22/24]

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

  num_streams | Specifies the number of streams to use.

## globus_xio_gridftp_attr_cntl() [23/24]

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

  partial_xfer | GLOBUS_TRUE to enable, GLOBUS_FALSE to disable (default).

## globus_xio_gridftp_attr_cntl() [24/24]

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

  buf_size | The send/recv buffer size in bytes to use. (default is system specific)

## globus_xio_gridftp_handle_cntl()

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

  seek_offset | Specifies the desired offset.