GLOBUS_XIO_GRIDFTP_GET_DCAU(3)
π globus_xio_gridftp_driver π
okay bestie, gather round, because we're looking at globus_xio_gridftp_driver(3) β the Globus XIO GRIDFTP Client Driver β and honestly? it's giving "quietly powerful". let's get into it π¦
β¨ NAME β¨
globus_xio_gridftp_driver β Globus XIO GRIDFTP Client Driver.
yep. that's the whole name. it's the Globus XIO GRIDFTP Client Driver. that's the vibe, that's the brand π
πΈ 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
π DETAILED DESCRIPTION π
Globus XIO GRIDFTP Client Driver. that's it, that's the thesis statement.
π Handles π
so here's the tea: an XIO handle with the gridftp client driver can be created with globus_xio_handle_create(). iconic.
the GridFTP client driver makes use of the globus ftp client library. when you call globus_xio_register_open(), it creates a new ftp client handle (unless one is already set on the attr you passed in β no need to double up, bestie), and it establishes the connection with the GridFTP server. β¨
and the contact string? it must contain the scheme, the host name, and the resource. optionally it might also contain the port and the subject. like, those two are the little bonus stickers on top, yk? π
when the XIO handle is closed, the GridFTP driver will destroy its internal resources and the ftp client handle (unless, again, that handle was set on an attr β in which case hands off, it's not yours to destroy π ).
π Reading/Writing π
globus_xio_register_read() enforces that the waitforbytes parameter should be one. yep. one. just one. when multiple TCP streams are used between the client and the server, data might not be delivered in order β it's not being rude, it's just built different π¦. 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. go off, honestly.
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. so you always know how far you got before it went sideways. π«Ά
π Environment Variables π
GLOBUS_XIO_GRIDFTP_DEBUGβ available if you're using a debug build. seeglobus_debug.hfor the format. iykyk β¨
π§ Attributes and Cntls π§
GridFTP driver specific attrs and cntls. the little knobs and dials. the control panel. obsessed.
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 π«
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_cntlGLOBUS_XIO_GRIDFTP_SET_HANDLEβ see usage for:globus_xio_gridftp_attr_cntlGLOBUS_XIO_GRIDFTP_GET_HANDLEβ see usage for:globus_xio_gridftp_attr_cntlGLOBUS_XIO_GRIDFTP_SET_APPENDβ see usage for:globus_xio_gridftp_attr_cntlGLOBUS_XIO_GRIDFTP_GET_APPENDβ see usage for:globus_xio_gridftp_attr_cntlGLOBUS_XIO_GRIDFTP_SET_ERETβ see usage for:globus_xio_gridftp_attr_cntlGLOBUS_XIO_GRIDFTP_GET_ERETβ see usage for:globus_xio_gridftp_attr_cntlGLOBUS_XIO_GRIDFTP_SET_ESTOβ see usage for:globus_xio_gridftp_attr_cntlGLOBUS_XIO_GRIDFTP_GET_ESTOβ see usage for:globus_xio_gridftp_attr_cntlGLOBUS_XIO_GRIDFTP_SET_PARTIAL_TRANSFERβ see usage for:globus_xio_gridftp_attr_cntlGLOBUS_XIO_GRIDFTP_GET_PARTIAL_TRANSFERβ see usage for:globus_xio_gridftp_attr_cntlGLOBUS_XIO_GRIDFTP_SET_NUM_STREAMSβ see usage for:globus_xio_gridftp_attr_cntlGLOBUS_XIO_GRIDFTP_GET_NUM_STREAMSβ see usage for:globus_xio_gridftp_attr_cntlGLOBUS_XIO_GRIDFTP_SET_TCP_BUFFERβ see usage for:globus_xio_gridftp_attr_cntlGLOBUS_XIO_GRIDFTP_GET_TCP_BUFFERβ see usage for:globus_xio_gridftp_attr_cntlGLOBUS_XIO_GRIDFTP_SET_MODEβ see usage for:globus_xio_gridftp_attr_cntlGLOBUS_XIO_GRIDFTP_GET_MODEβ see usage for:globus_xio_gridftp_attr_cntlGLOBUS_XIO_GRIDFTP_SET_AUTHβ see usage for:globus_xio_gridftp_attr_cntlGLOBUS_XIO_GRIDFTP_GET_AUTHβ see usage for:globus_xio_gridftp_attr_cntlGLOBUS_XIO_GRIDFTP_SET_DCAUβ see usage for:globus_xio_gridftp_attr_cntlGLOBUS_XIO_GRIDFTP_GET_DCAUβ see usage for:globus_xio_gridftp_attr_cntlGLOBUS_XIO_GRIDFTP_SET_DATA_PROTECTIONβ see usage for:globus_xio_gridftp_attr_cntlGLOBUS_XIO_GRIDFTP_GET_DATA_PROTECTIONβ see usage for:globus_xio_gridftp_attr_cntlGLOBUS_XIO_GRIDFTP_SET_CONTROL_PROTECTIONβ see usage for:globus_xio_gridftp_attr_cntlGLOBUS_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 controlGLOBUS_XIO_GRIDFTP_ERROR_SEEKβ indicates that a seek has been called while there is an outstanding I/OGLOBUS_XIO_GRIDFTP_ERROR_OUTSTANDING_READβ indicates that a write has been called while there is an outstanding readGLOBUS_XIO_GRIDFTP_ERROR_OUTSTANDING_WRITEβ indicates that a read has been called while there is an outstanding writeGLOBUS_XIO_GRIDFTP_ERROR_PENDING_READβ indicates that a write has been called while there is a read pendingGLOBUS_XIO_GRIDFTP_ERROR_PENDING_WRITEβ indicates that a read has been called while there is a write pendingGLOBUS_XIO_GRIDFTP_ERROR_OUTSTANDING_PARTIAL_XFERβ indicates that a second partial xfer has been initiated while the first one is still outstanding
π Author π
generated automatically by Doxygen for globus_xio_gridftp_driver from the source code. the robots did this one, we just added the sparkle β¨
and that's the whole page bestie!! π globus_xio_gridftp_driver, Version 3.6, manual page globus_xio...dftp_driver(3) β mwah, no notes, go read your enums ππ¦πΈ
π¦ where this page comes from
- epel 10: globus-xio-gridftp-driver-doc 3.6-4.el10_0 Β· Apache-2.0
- fedora 43: globus-xio-gridftp-driver-doc 3.6-9.fc43 Β· Apache-2.0
- fedora 44: globus-xio-gridftp-driver-doc 3.6-10.fc44 Β· Apache-2.0
- ubuntu resolute: libglobus-xio-gridftp-driver-doc 3.6-3build1 Β· Apache-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms