GLOBUS_XIO_GRIDFTP_ATTR_CNTL(3)

πŸ’… NAME πŸ’…

globus_xio_gridftp_driver.h β€” XIO GRIDFTP Client Driver. That's it, that's the whole name, and honestly? Iconic. πŸ¦‹

(And for the record, this whole page lives under the manual header globus_xio...tp_driver.h(3), so now you know exactly what you're reading, bestie.)


✨ SYNOPSIS ✨

ok so before literally anything else, you gotta pull in the headers, and you gotta do it exactly like this:

#include 'globus_xio_system.h'
#include 'globus_common.h'

no cap, the quotes matter, just copy them. 🫢

πŸŽ€ Typedefs πŸŽ€

  • typedef enum globus_l_xio_gridftp_mode_e globus_l_xio_gridftp_mode_t β€” it's a little nickname for that enum, so you don't have to type the long version every single time. πŸ’…

🌈 Enumerations 🌈

  • enum globus_xio_gridftp_error_type_t β€” the whole squad of error types:
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 β€” every command you can throw at this driver, all 25 of them, no skips:
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 β€” the mode enum itself. Just vibes. 🌸

πŸ”₯ Functions πŸ”₯

bestie there are SO many of these and they're all basically the same function wearing different outfits. Here's the full lineup, verbatim, don't @ me:

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. Yeah. It's the GRIDFTP client driver for XIO. That's the whole thing, and honestly it's serving. πŸ‘‘


πŸ’– Function Documentation πŸ’–

ok so every single one of these is an overloaded member function, provided for convenience β€” and they all differ from the function above them only in what argument(s) they accept. That's the running theme, so I'm only gonna say it once per entry and then get into the tea. β˜•

πŸ“ globus_result_t globus_xio_gridftp_attr_cntl (attr , driver , GLOBUS_XIO_GRIDFTP_GET_APPEND , globus_bool_t * append_out)

overloaded member function, convenience edition, differs only in the args. Get the append flag on the attr. πŸŽ€

Parameters

  • append_out β€” the append flag will be stored here.

πŸ¦‹ 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)

overloaded member function, provided for convenience, differs only in the args. 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_result_t globus_xio_gridftp_attr_cntl (attr , driver , GLOBUS_XIO_GRIDFTP_GET_CONTROL_PROTECTION , int * protection_out)

overloaded member function, provided for convenience, differs only in the args. 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_result_t globus_xio_gridftp_attr_cntl (attr , driver , GLOBUS_XIO_GRIDFTP_GET_DATA_PROTECTION , int * protection_out)

overloaded member function, provided for convenience, differs only in the args. 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_result_t globus_xio_gridftp_attr_cntl (attr , driver , GLOBUS_XIO_GRIDFTP_GET_DCAU , int * dcau_mode_out)

overloaded member function, provided for convenience, differs only in the args. 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_result_t globus_xio_gridftp_attr_cntl (attr , driver , GLOBUS_XIO_GRIDFTP_GET_ERET , char ** eret_alg_str_out)

overloaded member function, provided for convenience, differs only in the args. 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.
⚠️ bestie, listen: you free that memory. It's on you. Not the library. You. Don't forget or that's a leak. 😭

🌸 globus_result_t globus_xio_gridftp_attr_cntl (attr , driver , GLOBUS_XIO_GRIDFTP_GET_ESTO , char ** esto_alg_str_out)

overloaded member function, provided for convenience, differs only in the args. 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.
⚠️ same deal as above, the freeing is your job. 🫢

πŸŽ€ globus_result_t globus_xio_gridftp_attr_cntl (attr , driver , GLOBUS_XIO_GRIDFTP_GET_HANDLE , globus_ftp_client_handle_t ** ftp_handle_out)

overloaded member function, provided for convenience, differs only in the args. 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_result_t globus_xio_gridftp_attr_cntl (attr , driver , GLOBUS_XIO_GRIDFTP_GET_MODE , int * mode_out)

overloaded member function, provided for convenience, differs only in the args. 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_result_t globus_xio_gridftp_attr_cntl (attr , driver , GLOBUS_XIO_GRIDFTP_GET_NUM_STREAMS , int * num_streams_out)

overloaded member function, provided for convenience, differs only in the args. Get the number of TCP streams on the attr.

Parameters

  • num_streams_out β€” the stream count will be stored here.

🧚 globus_result_t globus_xio_gridftp_attr_cntl (attr , driver , GLOBUS_XIO_GRIDFTP_GET_PARTIAL_TRANSFER , globus_bool_t * partial_xfer_out)

overloaded member function, provided for convenience, differs only in the args. Get the partial transfer flag on the attr.

Parameters

  • partial_xfer_out β€” the partial xfer flag will be stored here.

⭐ globus_result_t globus_xio_gridftp_attr_cntl (attr , driver , GLOBUS_XIO_GRIDFTP_GET_TCP_BUFFER , int * buf_size_out)

overloaded member function, provided for convenience, differs only in the args. 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_result_t globus_xio_gridftp_attr_cntl (attr , driver , GLOBUS_XIO_GRIDFTP_SET_APPEND , globus_bool_t append)

overloaded member function, provided for convenience, differs only in the args. Enable or disable opening the file in append mode.

Parameters

  • append β€” GLOBUS_TRUE to enable, GLOBUS_FALSE to disable (default).
πŸ’€ default is GLOBUS_FALSE, so if you want append mode you gotta say it. It's not gonna read your mind.

✨ globus_xio_gridftp_attr_cntl + GLOBUS_XIO_GRIDFTP_SET_AUTH ✨

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)

okay bestie this is an overloaded member function, provided for convenience πŸ’… it differs from the above function only in what argument(s) it accepts. it sets the authentication info used to authenticate with the GridFTP server, periodt πŸ”

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 + GLOBUS_XIO_GRIDFTP_SET_CONTROL_PROTECTION ✨

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. it sets the 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 + GLOBUS_XIO_GRIDFTP_SET_DATA_PROTECTION ✨

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. it sets the 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 + GLOBUS_XIO_GRIDFTP_SET_DCAU ✨

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. it sets 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 + GLOBUS_XIO_GRIDFTP_SET_ERET ✨

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. it sets the ERET algorithm string 🧚 this string contains the info 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 + GLOBUS_XIO_GRIDFTP_SET_ESTO ✨

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. it sets the ESTO algorithm string 🧚 this string contains the info 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 + GLOBUS_XIO_GRIDFTP_SET_HANDLE ✨

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. it sets the ftp client handle to use 🫢

no cap: 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 + GLOBUS_XIO_GRIDFTP_SET_MODE ✨

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. it sets 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 + GLOBUS_XIO_GRIDFTP_SET_NUM_STREAMS ✨

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. it sets 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 + GLOBUS_XIO_GRIDFTP_SET_PARTIAL_TRANSFER ✨

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. it enables or disables 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 + GLOBUS_XIO_GRIDFTP_SET_TCP_BUFFER ✨

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. it sets 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_XIO_GRIDFTP_SEEK ✨

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. it repositions the offset of the file being read/written πŸ“

Parameters

  • seek_offset β€” specifies the desired offset 🎯

πŸ‘‘ Author πŸ‘‘

Generated automatically by Doxygen for globus_xio_gridftp_driver from the source code πŸŽ€


and that's a wrap bestie!! this page is globus_xio_gridftp_driver, Version 3.6, dated globus_xio...tp_driver.h(3) β€” slay, you read the whole thing, main character energy fr fr πŸ’–βœ¨πŸ¦‹