globus_ftp_control_data(3)
π NAME π
okay so this is the globus_ftp_control_data(3) page from the Library Functions Manual, and bestie it is a LOT β it's all about GridFTP Data Connections and it's giving main character energy for the whole data-transfer side of Globus.
globus_ftp_control_data β GridFTP Data Connections π¦
- Data Connections.
β¨ SYNOPSIS β¨
π Functions π
globus_result_t globus_ftp_control_data_connect_read (globus_ftp_control_handle_t *handle, globus_ftp_control_data_connect_callback_t callback, void *user_arg)β Create an incoming FTP data connection. πglobus_result_t globus_ftp_control_data_set_interface (globus_ftp_control_handle_t *handle, const char *interface_addr)β Create an outgoing FTP data connection.globus_result_t globus_ftp_control_data_connect_write (globus_ftp_control_handle_t *handle, globus_ftp_control_data_connect_callback_t callback, void *user_arg)β Create an outgoing FTP data connection.globus_result_t globus_ftp_control_data_add_channels (globus_ftp_control_handle_t *handle, unsigned int num_channels, unsigned int stripe_ndx)β Add data channels. π«Άglobus_result_t globus_ftp_control_data_send_eof (globus_ftp_control_handle_t *handle, int count[], int array_size, globus_bool_t eof_message, globus_ftp_control_callback_t cb, void *user_arg)β Send EOF.globus_result_t globus_ftp_control_data_remove_channels (globus_ftp_control_handle_t *handle, unsigned int num_channels, unsigned int stripe_ndx)β Remove Data Channels.globus_result_t globus_ftp_control_data_query_channels (globus_ftp_control_handle_t *handle, unsigned int *num_channels, unsigned int stripe_ndx)β Number of data channels.globus_result_t globus_ftp_control_data_get_total_data_channels (globus_ftp_control_handle_t *handle, unsigned int *num_channels, unsigned int stripe_ndx)β Get Total Data Channels For a Stripe.globus_result_t globus_ftp_control_local_send_eof (globus_ftp_control_handle_t *handle, globus_bool_t send_eof)β Enable or disable automatic EOF handling.globus_result_t globus_ftp_control_local_parallelism (globus_ftp_control_handle_t *handle, globus_ftp_control_parallelism_t *parallelism)β Set control handle parallelism.globus_result_t globus_ftp_control_local_pasv (globus_ftp_control_handle_t *handle, globus_ftp_control_host_port_t *address)β Create a passive socket.globus_result_t globus_ftp_control_local_spas (globus_ftp_control_handle_t *handle, globus_ftp_control_host_port_t addresses[], unsigned int num_addresses)β Create multiple passive sockets.globus_result_t globus_ftp_control_local_port (globus_ftp_control_handle_t *handle, globus_ftp_control_host_port_t *address)β Set remote data address.globus_result_t globus_ftp_control_local_spor (globus_ftp_control_handle_t *handle, globus_ftp_control_host_port_t addresses[], unsigned int num_addresses)β Set remote data addresses.globus_result_t globus_ftp_control_local_type (globus_ftp_control_handle_t *handle, globus_ftp_control_type_t type, int form_code)β Set control handle TYPE value.globus_result_t globus_ftp_control_local_mode (globus_ftp_control_handle_t *handle, globus_ftp_control_mode_t mode)β Set data handle mode.globus_result_t globus_ftp_control_set_force_order (globus_ftp_control_handle_t *handle, globus_bool_t order_data, globus_off_t starting_offset)β Set data handle to return read mode E data in order.globus_result_t globus_ftp_control_local_tcp_buffer (globus_ftp_control_handle_t *handle, globus_ftp_control_tcpbuffer_t *tcp_buffer)β Set data handle TCP buffer size.globus_result_t globus_ftp_control_local_dcau (globus_ftp_control_handle_t *handle, const globus_ftp_control_dcau_t *dcau, gss_cred_id_t delegated_credential_handle)β Set data channel DCAU.globus_result_t globus_ftp_control_local_pbsz (globus_ftp_control_handle_t *handle, unsigned long bufsize)β Set data channel protection buffer size.globus_result_t globus_ftp_control_get_pbsz (globus_ftp_control_handle_t *handle, unsigned long *bufsize)β Get data channel protection buffer size.globus_result_t globus_ftp_control_local_stru (globus_ftp_control_handle_t *handle, globus_ftp_control_structure_t structure)β Set data channel structure.globus_result_t globus_ftp_control_data_write (globus_ftp_control_handle_t *handle, globus_byte_t *buffer, globus_size_t length, globus_off_t offset, globus_bool_t eof, globus_ftp_control_data_callback_t callback, void *callback_arg)β Write data to data connections. π₯globus_result_t globus_ftp_control_data_read (globus_ftp_control_handle_t *handle, globus_byte_t *buffer, globus_size_t max_length, globus_ftp_control_data_callback_t callback, void *callback_arg)β Read data from data connections.globus_result_t globus_ftp_control_local_layout (globus_ftp_control_handle_t *handle, globus_ftp_control_layout_t *layout, globus_size_t data_size)β Set data layout.globus_result_t globus_ftp_control_create_data_info (globus_ftp_control_handle_t *handle, globus_ftp_control_data_write_info_t *data_info, globus_byte_t *buffer, globus_size_t length, globus_off_t offset, globus_bool_t eof, globus_ftp_control_data_callback_t callback, void *callback_arg)β Create aglobus_ftp_control_data_write_info_tstructure.globus_result_t globus_ftp_control_release_data_info (globus_ftp_control_handle_t *handle, globus_ftp_control_data_write_info_t *data_info)β Release adata_infostructure.globus_result_t globus_ftp_control_data_write_stripe (globus_ftp_control_handle_t *handle, globus_byte_t *buffer, globus_size_t length, globus_off_t offset, globus_bool_t eof, int stripe_ndx, globus_ftp_control_data_callback_t callback, void *callback_arg)β Write FTP data to a stripe.globus_result_t globus_X_ftp_control_data_write_stripe (globus_ftp_control_handle_t *handle, globus_byte_t *buffer, globus_size_t length, globus_off_t offset, globus_bool_t eof, int stripe_ndx, globus_ftp_control_data_write_info_t *data_info)β Write data to a stripe from an enqueue callback.globus_result_t globus_ftp_control_data_force_close (globus_ftp_control_handle_t *control_handle, globus_ftp_control_callback_t close_callback_func, void *close_arg)β Close data connections.
πΈ Detailed Description πΈ
Data Connections. β¨ (yes that's literally the whole detailed description, she's lowkey mysterious like that π)
π Function Documentation π
π¦ globus_result_t globus_ftp_control_create_data_info
globus_result_t globus_ftp_control_create_data_info
(globus_ftp_control_handle_t *handle,
globus_ftp_control_data_write_info_t *data_info, globus_byte_t *buffer,
globus_size_t length, globus_off_t offset, globus_bool_t eof,
globus_ftp_control_data_callback_t callback, void *callback_arg)
Create a globus_ftp_control_data_write_info_t structure. So basically this function populates a globus_ftp_control_data_callback_t structure with valid information. This structure is the moment because it gives you a way to register several data writes with a single callback β which is super useful if you're the one writing enqueue functions. It lets a single call to globus_ftp_control_data_write() get broken up into many writes, potentially on different stripes, and then one single callback fires when all of them are done. periodt. π
Parameters
handleβ A pointer to a FTP control handle. The handle contains information about the current state of the control and data connections.data_infoβ Theglobus_ftp_control_data_write_info_tstructure to be released.bufferβ The pointer to the user buffer that will be passed to the callback argument when there are zero references todata_info. This is intended to be the start of all the data the user intends to write usingglobus_ftp_control_data_write_stripe(), but it does not have to be.lengthβ The length of the memory segment pointed to by the argumentbuffer.offsetβ The file offset of the data segment specified.eofβ This should be set to true if the user plans on registering eof on thedata_infostructure.callbackβ The user function to be called when all references todata_infoare released. This occurs after all data registered for write fromglobus_ftp_control_data_write_stripehave occurred and the user callsglobus_ftp_control_release_data_info(). The callback is passed all of the arguments passed to this function with the exception ofdata_info.callback_argβ User supplied argument to the callback function
π globus_result_t globus_ftp_control_data_add_channels
globus_result_t globus_ftp_control_data_add_channels
(globus_ftp_control_handle_t *handle, unsigned int num_channels,
unsigned int stripe_ndx)
Add data channels. She opens up additional data channels (connections, bestie β like extra lanes on the highway π£οΈ) to the host identified by the stripe parameter.
Parameters
handleβ A pointer to a FTP control handle. This handle is used to determine the host corresponding to the stripe number and to store information about any channels added by this function.num_channelsβ The number of additional channels to add.stripe_ndxβ A integer identifying the stripe to add channels too. In the case of non-striped transfer this parameter will be ignored.
π globus_result_t globus_ftp_control_data_connect_read
globus_result_t globus_ftp_control_data_connect_read
(globus_ftp_control_handle_t *handle,
globus_ftp_control_data_connect_callback_t callback, void *user_arg)
Create an incoming FTP data connection. This function will register a globus_io_{accept, connect}. Further accepts/connects are done by registering a new accept/connect in the current accept/connect callback. Heads up though β a call to either globus_ftp_control_local_pasv() or globus_ftp_control_local_port() needs to precede this calling this function. π And this function may be followed by a globus_ftp_data_read.
Parameters
handleβ A pointer to a FTP control handle which is configured to create an incoming data connection.callbackβ This callback is called when the connection occurs. This parameter may beNULL.user_argβ The user argument passed to the connect callback.
π globus_result_t globus_ftp_control_data_connect_write
globus_result_t globus_ftp_control_data_connect_write
(globus_ftp_control_handle_t *handle,
globus_ftp_control_data_connect_callback_t callback, void *user_arg)
Create an outgoing FTP data connection. This function will register a globus_io_{accept, connect}. Further accepts/connects are done by registering a new accept/connect in the current accept/connect callback. And same vibe check as before β a call to either globus_ftp_control_local_pasv() or globus_ftp_control_local_port() needs to precede this calling this function. This function may be followed by a globus_ftp_data_write. π¦
Parameters
handleβ a pointer to an FTP control handle that's already been configured to make an outgoing data connection. she's ready, she's prepped β¨callbackβ the function that gets called the moment the connection happens. this one can beNULL, no pressure bestie, she'll cope πuser_argβ the user argument that gets passed straight through to the connect callback. π«Ά
globus_result_t globus_ftp_control_data_force_close
globus_result_t globus_ftp_control_data_force_close
(globus_ftp_control_handle_t * control_handle,
globus_ftp_control_callback_t close_callback_func, void * close_arg)
Close data connections. And not in a gentle "let's talk about it" way β this forces an immediate close of all data connections. Like, all of them, right now, no negotiation. π
Parameters
control_handleβ theglobus_ftp_control_handlethat's having its data connections closed. thoughts and prayers to her connections πclose_callback_funcβ a user function that gets called once the data connections are closed.close_argβ the user argument that gets threaded all the way through toclose_callback_func. π
globus_result_t globus_ftp_control_data_get_total_data_channels
globus_result_t globus_ftp_control_data_get_total_data_channels
(globus_ftp_control_handle_t * handle, unsigned int * num_channels,
unsigned int stripe_ndx)
Get Total Data Channels For a Stripe. She returns the total number of data channels used so far in the current transfer on the stripe you point at. iykyk π¦
Parameters
handleβ a pointer to an FTP control handle. This handle is what she uses to figure out the host corresponding to "stripe" and the number of channels corresponding to that host. πnum_channelsβ (no description given, she's just vibing there in the signature)stripe_ndxβ an integer identifying the stripe you want the channel count for. For a non-striped transfer this parameter should be zero. periodt.
globus_result_t globus_ftp_control_data_query_channels
globus_result_t globus_ftp_control_data_query_channels
(globus_ftp_control_handle_t * handle, unsigned int * num_channels,
unsigned int stripe_ndx)
Number of data channels. Returns the number of currently open channels for the host identified by the stripe parameter. β
Heads up bestie: this number may be less than the level of parallelism specified in local_parallelism, because some channels might not have connected yet. She's counting what's actually there, not what you wished for. π
Parameters
handleβ a pointer to an FTP control handle. This handle is used to determine the host corresponding to "stripe" and the number of channels corresponding to that host. πΈnum_channelsβ (no description given)stripe_ndxβ an integer identifying the stripe to return the number of channels for. In the case of non-striped transfer this parameter should be zero. π
globus_result_t globus_ftp_control_data_read
globus_result_t globus_ftp_control_data_read (globus_ftp_control_handle_t *
handle, globus_byte_t * buffer, globus_size_t max_length,
globus_ftp_control_data_callback_t callback, void * callback_arg)
Read data from data connections. She reads data from the data connection(s) and drops it into the buffer you supplied. π
This function takes the buffer you hand her and will try to read data from the data connection(s). that's it, that's the whole vibe β¨
Parameters
handleβ a pointer to an FTP control handle. The handle is holding all the info about the current state of the control and data connections. π§bufferβ a user-supplied buffer that the data from the data connection(s) gets written into.max_lengthβ the maximum length of the data that can be written to the buffer. don't overflow her, she will not forgive you πcallbackβ the function to be called once the data has been read.callback_argβ user-supplied argument for the callback function. π«Ά
globus_result_t globus_ftp_control_data_remove_channels
globus_result_t globus_ftp_control_data_remove_channels
(globus_ftp_control_handle_t * handle, unsigned int num_channels,
unsigned int stripe_ndx)
Remove Data Channels. Removes data channels (connections) to the host identified by the stripe parameter. it's giving spring cleaning but for sockets π§Ή
Parameters
handleβ a pointer to an FTP control handle. She uses this to determine the host corresponding to the stripe number, and to update the info about any channels removed by this function. πnum_channelsβ the number of channels to remove.stripe_ndxβ an integer identifying the stripe to remove channels from. In the case of non-striped transfer this parameter will be ignored. π
globus_result_t globus_ftp_control_data_send_eof
globus_result_t globus_ftp_control_data_send_eof
(globus_ftp_control_handle_t * handle, int count[], int array_size,
globus_bool_t eof_message, globus_ftp_control_callback_t cb, void *
user_arg)
Send EOF. Sends an EOF message to each stripe along an open data connection. the finale, the mic drop π€β¨
Parameters
handleβ a pointer to an FTP control handle. This handle contains the state for a connection. π¦count[]β this array of integers should contain an integer that will be added to the current parallel data connection count on each stripe. The order of the integers corresponds to each stripe, in the same order as what was returned fromlocal_port(). β
An EOF message must be sent to all receiving hosts in a transfer. The message contains the total number of data connections used by each stripe. Many stripes may be sending to a single receiver, but only one EOF message may be sent. The count parameter lets the user pass in the total number of data connections used by all other hosts. The local values get added to the passed-in values and then sent to the receiver. π«Ά
Parameters
array_sizeβ the number of elements incount[].eof_messageβ (no description given, mysterious icon behaviour) πcbβ the function to be called when the eof message has been called.user_argβ a user pointer that is threaded through to the user callback. π
globus_result_t globus_ftp_control_data_set_interface
globus_result_t globus_ftp_control_data_set_interface
(globus_ftp_control_handle_t * handle, const char * interface_addr)
Create an outgoing FTP data connection. This function sets the interface that will be used to send and receive information along the data channel. picking her outfit for the data channel, essentially π
Parameters
handleβ a pointer to an FTP control handle that's configured to create an outgoing data connection.interface_addrβ (no description given) πΈ
globus_result_t globus_ftp_control_data_write
globus_result_t globus_ftp_control_data_write (globus_ftp_control_handle_t *
handle, globus_byte_t * buffer, globus_size_t length, globus_off_t
offset, globus_bool_t eof, globus_ftp_control_data_callback_t callback,
void * callback_arg)
Write data to data connections. Writes data from the buffer you supplied to the data connection(s). π₯
This function writes what's contained in the buffer to the data channel(s). no cap β¨
Parameters
handleβ a pointer to an FTP control handle. The handle contains the info about the current state of the control and data connections. πbufferβ a user-supplied buffer that the data will be written from, out to the data connection(s).lengthβ the length of the data contained in the buffer.offsetβ the offset in the file at which the data in the buffer starts.eofβ indicates that the buffer is the last part of a file. In the striped case this will cause an EOF block to be sent to every data node involved in the transfer. πcallbackβ the function to be called once the data has been sent.callback_argβ user-supplied argument for the callback function. π«Ά
globus_result_t globus_ftp_control_data_write_stripe
globus_result_t globus_ftp_control_data_write_stripe
(globus_ftp_control_handle_t * handle, globus_byte_t * buffer,
globus_size_t length, globus_off_t offset, globus_bool_t eof, int
stripe_ndx, globus_ftp_control_data_callback_t callback, void *
callback_arg)
Write FTP data to a stripe. This function lets the user write to a specified stripe. The stripe index relates to the order passed into local_spor(). π
This function differs from globus_ftp_control_data_write() in that no enqueue function is needed, since the user specifies the stripe on which data is written. In order to use this function the user must have a valid pointer to a globus_ftp_control_data_write_info_t structure. That data_info structure can be obtained by a call to globus_ftp_control_create_data_info(). π
Many calls to this function can be made, but only a single user callback occurs per creation of a globus_ftp_control_data_write_info_t structure. one callback per structure, bestie, that's the rule π
Parameters
handleβ a pointer to an FTP control handle. The handle contains the info about the current state of the control and data connections. πbufferβ a pointer to the data the user wishes to send along the FTP data channels. πlengthβ the length of the data pointed to by the parameter buffer.offsetβ the offset into the file of the data.eofβ a boolean stating that this will be the last chunk of data registered on the given stripe. In order to properly send an eof message the user must register an eof on every stripe. βstripe_ndxβ the index of the stripe on which the data will be sent. The index of each stripe is determined by the call tolocal_spasorlocal_spor. πΈcallbackβ the function to be called once the data has been sent.callback_argβ user-supplied argument for the callback function. π«Ά
globus_result_t globus_ftp_control_get_pbsz
globus_result_t globus_ftp_control_get_pbsz (globus_ftp_control_handle_t *
handle, unsigned long * bufsize)
Get data channel protection buffer size. She queries the FTP control handle for the protection buffer size info. π
This function queries the handle to determine the protection buffer size which is used by this handle. This value is used to determine how much data will be sent in each packet during a protected data transfer. very "know your packet size" of her π
Parameters
handleβ a pointer to the FTP control handle to be updated.bufsizeβ a pointer to a parameter to store the value of the protection buffer size. π
globus_result_t globus_ftp_control_local_dcau
globus_result_t globus_ftp_control_local_dcau (globus_ftp_control_handle_t *
handle, const globus_ftp_control_dcau_t * dcau, gss_cred_id_t
delegated_credential_handle)
Set data channel DCAU. Update the FTP control handle with the given data channel authentication information. π
If authentication is set to GLOBUS_FTP_CONTROL_DCAU_NONE, then protection will also be disabled for this control handle. so like, be aware, bestie π
Parameters
handleβ a pointer to the FTP control handle to be updated.dcauβ a parameter specifying the data channel authentication mode. Possible values are No Authentication, Self Authentication and Subject-name authentication. πdelegated_credential_handleβ (no description given) π§
globus_result_t globus_ftp_control_local_layout
globus_result_t globus_ftp_control_local_layout (globus_ftp_control_handle_t
* handle, globus_ftp_control_layout_t * layout, globus_size_t data_size)
Set data layout. Update the handle with the layout and the size of the data sent over the data channel. π
This function is deprecated. The interface will be the changed to that of globus_X_ftp_control_local_layout(). she's on her way out, don't get attached π
Parameters
handleβ a pointer to the FTP control handle into which to insert the layout information. πlayoutβ a variable containing the layout information.data_sizeβ the size of the data that is going to be sent. This may be needed to interpret the layout information. β
globus_result_t globus_ftp_control_local_mode
globus_result_t globus_ftp_control_local_mode (globus_ftp_control_handle_t *
handle, globus_ftp_control_mode_t mode)
Set data handle mode. Update the FTP control handle with the given mode information. π
handleβ A pointer to the FTP control handle to be updated. πmodeβ Specifies the mode of the data connection. Possible modes areSTREAM,BLOCK,EXTENDED BLOCKandCOMPRESSED. Out of these onlySTREAMandEXTENDED BLOCKare supported in this implementation. Also,EXTENDED BLOCKis only supported in combination with theIMAGEtype. β¨
globus_result_t globus_ftp_control_local_parallelism β¨
globus_result_t globus_ftp_control_local_parallelism
(globus_ftp_control_handle_t * handle, globus_ftp_control_parallelism_t
* parallelism)
Set control handle parallelism. Set the parallelism information in a FTP control handle. bestie, it's giving "let's parallelize this transfer" energy.
β¨ Parameters β¨
handleβ A pointer to the FTP control handle for which the parallelism information is to be updated. π«Άparallelismβ A structure containing parallelism information. π
globus_result_t globus_ftp_control_local_pasv πΈ
globus_result_t globus_ftp_control_local_pasv (globus_ftp_control_handle_t *
handle, globus_ftp_control_host_port_t * address)
Create a passive socket. Create a local listening socket, bind it and return the address the socket is listening to. If there is a existing data connection it is closed. lowkey iconic passive-mode behavior.
β¨ Parameters β¨
handleβ A pointer to a FTP control handle. Information about the listening socket is stored in the handle. πaddressβ The host IP address and port is returned through this parameter. π
globus_result_t globus_ftp_control_local_pbsz π¦
globus_result_t globus_ftp_control_local_pbsz (globus_ftp_control_handle_t *
handle, unsigned long bufsize)
Set data channel protection buffer size. Update the FTP control handle with the given protection buffer size information.
This function sets protection buffer size to be used by this handle. This value is used to determine how much data will be sent in each packet during a protected data transfer. protected transfer? we love a secure queen.
β¨ Parameters β¨
handleβ A pointer to the FTP control handle to be updated. πbufsizeβ A parameter specifying the protection buffer size value. π
globus_result_t globus_ftp_control_local_port π
globus_result_t globus_ftp_control_local_port (globus_ftp_control_handle_t *
handle, globus_ftp_control_host_port_t * address)
Set remote data address. Insert the host/port information returned by a PASV on the remote host into the local FTP control handle. (close any outstanding data con) not me closing old connections like bad vibes.
β¨ Parameters β¨
handleβ A pointer to the FTP control handle into which to insert the host/port information. πaddressβ The host IP address and port. β¨
globus_result_t globus_ftp_control_local_send_eof π«Ά
globus_result_t globus_ftp_control_local_send_eof
(globus_ftp_control_handle_t * handle, globus_bool_t send_eof)
Enable or disable automatic EOF handling. Determines if the library will automatically send an EOF message in extended block mode, or if the user will have to explicitly do it by calling globus_ftp_control_data_send_eof(). the way that EOF can just handle itself? obsessed.
β¨ Parameters β¨
handleβ The ftp handle you wish to sent the send_eof attribute on. πsend_eofβ A boolean representing whether or not to automatically send an EOF message. π
globus_result_t globus_ftp_control_local_spas πΈ
globus_result_t globus_ftp_control_local_spas (globus_ftp_control_handle_t *
handle, globus_ftp_control_host_port_t addresses[], unsigned int
num_addresses)
Create multiple passive sockets. Create num_addresses local listening sockets, bind them and return the addresses the sockets are listening to. If there is a existing data connection it is closed. multiple sockets? main character energy fr fr.
β¨ Parameters β¨
handleβ A pointer to a FTP control handle. Information about the listening sockets is stored in the handle. πaddressesβ The host IP addresses and ports are returned through this parameter. πnum_addressesβ The number of listening sockets to create. β¨
globus_result_t globus_ftp_control_local_spor π
globus_result_t globus_ftp_control_local_spor (globus_ftp_control_handle_t *
handle, globus_ftp_control_host_port_t addresses[], unsigned int
num_addresses)
Set remote data addresses. Insert the host/port addresses returned by a SPAS on the remote host into the local FTP control handle. If there are any outstanding data connections at this point, they are closed. cleanup on aisle data connection.
β¨ Parameters β¨
handleβ A pointer to the FTP control handle into which to insert the host/port addresses. π«Άaddressesβ The host IP addresses and port numbers. πnum_addressesβ The number of addresses. π
globus_result_t globus_ftp_control_local_stru π¦
globus_result_t globus_ftp_control_local_stru (globus_ftp_control_handle_t *
handle, globus_ftp_control_structure_t structure)
Set data channel structure. Updates the handle with information on the structure of the data being sent on the data channel.
This function updates the handle with the provided structure information. At this point the only structure type that is supported is the file type. only file type? okay, minimalist.
β¨ Parameters β¨
handleβ A pointer to a FTP control handle. The handle contains information about the current state of the control and data connections. πstructureβ This parameter is used to pass the structure information. Possible values arefile,recordandpage. Only thefiletype is supported. π
globus_result_t globus_ftp_control_local_tcp_buffer πΈ
globus_result_t globus_ftp_control_local_tcp_buffer
(globus_ftp_control_handle_t * handle, globus_ftp_control_tcpbuffer_t *
tcp_buffer)
Set data handle TCP buffer size. Update the FTP control handle with the given socket buffer information. buffer size? the way that TCP just needs its little space.
β¨ Parameters β¨
handleβ A pointer to the FTP control handle to be updated. β¨tcp_bufferβ A pointer to the socket buffer. π
globus_result_t globus_ftp_control_local_type π
globus_result_t globus_ftp_control_local_type (globus_ftp_control_handle_t *
handle, globus_ftp_control_type_t type, int form_code)
Set control handle TYPE value. Update the FTP control handle with the given type information. type check but make it FTP.
β¨ Parameters β¨
handleβ A pointer to the FTP control handle to be updated. π«Άtypeβ The type of the data connection. Possible values are:ASCII,EBCDIC,IMAGEandLOCAL. Currently onlyASCIIandIMAGEtypes are supported. πform_codeβ The logical byte size parameter for theLOCALtype. π
globus_result_t globus_ftp_control_release_data_info π¦
globus_result_t globus_ftp_control_release_data_info
(globus_ftp_control_handle_t * handle,
globus_ftp_control_data_write_info_t * data_info)
Release a data_info structure. This function releases all memory and references created when a call to globus_ftp_control_create_data_info() was made. For every call to globus_ftp_control_create_data_info() a call to this function must be made. no leaks, bestie. periodt.
β¨ Parameters β¨
handleβ A pointer to a FTP control handle. The handle contains information about the current state of the control and data connections. πdata_infoβ Theglobus_ftp_control_data_write_info_tstructure to be released. π
globus_result_t globus_ftp_control_set_force_order πΈ
globus_result_t globus_ftp_control_set_force_order
(globus_ftp_control_handle_t * handle, globus_bool_t order_data,
globus_off_t starting_offset)
Set data handle to return read mode E data in order. Update the FTP control handle forced data order flag. Must be called before globus_ftp_control_data_connect_read(). order matters, okay? call it before the read.
β¨ Parameters β¨
handleβ A pointer to the FTP control handle to be updated. β¨order_dataβGLOBUS_TRUEif data must be ordered,falseif not. πstarting_offsetβ The starting offset to expect. May not be0for restarted transfers. π
Note that this may result in slower transfers, or, if the data arrives far out of order, failed transfers. π
globus_result_t globus_X_ftp_control_data_write_stripe π₯
globus_result_t globus_X_ftp_control_data_write_stripe
(globus_ftp_control_handle_t * handle, globus_byte_t * buffer,
globus_size_t length, globus_off_t offset, globus_bool_t eof, int
stripe_ndx, globus_ftp_control_data_write_info_t * data_info)
Write data to a stripe from an enqueue callback. This function allows the user to register the write of ftp data on a specific stripe. This function can only be called from an enqueue function callback. This function should be used only by the implementor of an enqueue function. It should be viewed as unstable and used used only by advanced users. This is the only function in the library that the enqueue function implementor is allowed from the enqueue callback. advanced users only, iykyk. unstable? we love a risky icon.
β¨ Parameters β¨
handleβ A pointer to a FTP control handle. The handle contains information about the current state of the control and data connections. πbufferβ a pointer to the data the user wishes to send along the FTP data channels. πlengthβ the length of the data pointer to by the parameterbuffer. β¨offsetβ the offset into the file of the data. πeofβ a boolean stating that this is the last buffer to be registered. When using the X version of this function the user does not need to register an eof on each stripe, the control library will take care of that internally. πstripe_ndxβ The index of the stripe on which the data will be sent. The index of each stripe is determined by the call tolocal_spasorlocal_spor. πdata_infoβ An opaque structure that is passed into the enqueue function and contains reference count and state information. The samedata_infopointer that is passed into the enqueue function must be used for this parameter. π«Ά
β¨ Author β¨
Generated automatically by Doxygen for globus_ftp_control from the source code. π
mwah π that's a wrap, bestie! This page came from sourceglobus_ftp_control, version9.10, and it'sglobus_ftp_control_data(3). See you in the next man page! ππ
π¦ where this page comes from
- fedora 43: globus-ftp-control-doc 9.10-9.fc43 Β· Apache-2.0
- fedora 44: globus-ftp-control-doc 9.10-10.fc44 Β· Apache-2.0
- ubuntu resolute: libglobus-ftp-control-doc 9.10-3build2 Β· Apache-2.0
- ubuntu stonking: libglobus-ftp-control-doc 9.10-4 Β· Apache-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms