globus_ftp_control_layout_t3
Gridftp control connection api.
Part of globus_ftp_control.h(3).
Usage
Data Structures
struct globus_ftp_control_dcau_subject_s
Control parallelism
attribute
structure
Authentication Values.
Typedefs
typedef enum
globus_ftp_control_type_e
globus_ftp_control_type_t
GridFTP Striping
Types.
typedef
struct
globus_ftp_control_round_robin_s
globus_ftp_control_round_robin_t
typedef enum
globus_ftp_control_parallelism_mode_e
globus_ftp_control_parallelism_mode_t
typedef union
globus_ftp_control_parallelism_u
globus_ftp_control_parallelism_t
Control parallelism
attribute
structure
typedef struct
globus_ftp_control_tcpbuffer_automatic_s
globus_ftp_control_tcpbuffer_automatic_t
Authentication Values.
typedef
void(*
globus_ftp_control_response_callback_t)
(void
*callback_arg,
struct
globus_ftp_control_handle_s
*handle,
globus_object_t
*error,
globus_ftp_control_response_t
*ftp_response)
typedef void(*
globus_ftp_control_callback_t)
(void
*callback_arg,
struct
globus_ftp_control_handle_s
*handle,
globus_object_t
*error)
typedef void(*
globus_ftp_control_command_callback_t)
(void
*callback_arg,
struct
globus_ftp_control_handle_s
*handle,
globus_object_t
*error,
union
globus_ftp_control_command_u
*command)
typedef void(*
globus_ftp_control_auth_callback_t)
(void
*callback_arg,
struct
globus_ftp_control_handle_s
*handle,
globus_object_t
*error,
globus_ftp_control_auth_info_t
*auth_result)
typedef unsigned
long
globus_ftp_control_auth_requirements_t
typedef void(*
globus_ftp_control_server_callback_t)
(void
*callback_arg,
struct
globus_ftp_control_server_s
*server_handle,
globus_object_t
*error)
Enumerations
enum globus_ftp_control_type_e
GLOBUS_FTP_CONTROL_TYPE_NONE,
GLOBUS_FTP_CONTROL_TYPE_ASCII
=
'A',
GLOBUS_FTP_CONTROL_TYPE_EBCDIC
=
'E',
GLOBUS_FTP_CONTROL_TYPE_IMAGE
=
'I',
GLOBUS_FTP_CONTROL_TYPE_LOCAL
=
'L'
GridFTP Striping
Types.
enum
globus_ftp_control_protection_t
GLOBUS_FTP_CONTROL_PROTECTION_CLEAR
=
'C',
GLOBUS_FTP_CONTROL_PROTECTION_SAFE
=
'S',
GLOBUS_FTP_CONTROL_PROTECTION_CONFIDENTIAL
=
'E',
GLOBUS_FTP_CONTROL_PROTECTION_PRIVATE
=
'P'
GridFTP Protection
Types.
enum
globus_ftp_control_delay_passive_t
enum globus_ftp_control_structure_e
enum globus_ftp_control_parallelism_mode_e
enum globus_ftp_control_tcpbuffer_mode_e
GLOBUS_FTP_CONTROL_TCPBUFFER_DEFAULT,
GLOBUS_FTP_CONTROL_TCPBUFFER_FIXED,
GLOBUS_FTP_CONTROL_TCPBUFFER_AUTOMATIC
Functions
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)
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)
Get Total
Data
Channels
For
a
Stripe.
globus_result_t
globus_ftp_control_local_parallelism
(globus_ftp_control_handle_t
*handle,
globus_ftp_control_parallelism_t
*parallelism)
Set data
channel
DCAU.
globus_result_t
globus_ftp_control_local_stru
(globus_ftp_control_handle_t
*handle,
globus_ftp_control_structure_t
structure)
Detailed Description
GridFTP Control Connection API.
Typedef Documentation
typedef void(* globus_ftp_control_auth_callback_t) (void *callback_arg, struct globus_ftp_control_handle_s *handle, globus_object_t *error, globus_ftp_control_auth_info_t *auth_result)
Server authentication complete callback.
A function with this signature is registered by calling globus_ftp_control_accept(). It is called when the authentication protocol has completed. Based on the auth_result, the server implementor should determine authorization and then send the appropriate response using globus_ftp_control_send_response(), indicating to the client whether authorization was successful or not.
Parameters
handle This structure is populated when the callback is called and represents a control connection to the client.
error Indicates if a command was successfully read or or if a failure occurred. This object will be freed once this callback returns. If the user wishes to have a copy of the error that persists past the life of this callback, they must make a copy using globus_object_copy(), and free it with globus_object_free().
auth_result A globus_ftp_control_auth_result_t containing the values the client sent for gss authentication, user name, password and account. If any of the values were not sent by the client they will be NULL. Based on that information the user can decide if the client will be authorized for use of the server.
callback_arg The user argument passed to the callback.
typedef struct globus_ftp_control_auth_info_s globus_ftp_control_auth_info_t
Authentication Values. This structure is populated and passed back to the user via the globus_ftp_control_auth_callback_t(). It contains the information needed to decide if a client may use the server.
typedef unsigned long globus_ftp_control_auth_requirements_t
Authentication requirements.
The value of this should be a bitwise or of
•
|
GLOBUS_FTP_CONTROL_AUTH_NONE |
|---|---|
•
|
GLOBUS_FTP_CONTROL_AUTH_GSSAPI |
•
|
GLOBUS_FTP_CONTROL_AUTH_USER |
•
|
GLOBUS_FTP_CONTROL_AUTH_PASS |
•
|
GLOBUS_FTP_CONTROL_AUTH_ACCT |
typedef void(* globus_ftp_control_callback_t) (void *callback_arg, struct globus_ftp_control_handle_s *handle, globus_object_t *error)
Asynchronous control callback.
This callback is used as a generic control operation callback.
Parameters
callback_arg User supplied argument to the callback function
handle A pointer to the GridFTP control handle. Used to identify which control connection the operation was applied to.
error Pointer to a globus error object containing information about any errors that occurred processing the operation
typedef void(* globus_ftp_control_command_callback_t) (void *callback_arg, struct globus_ftp_control_handle_s *handle, globus_object_t *error, union globus_ftp_control_command_u *command)
Server command callback.
When a command from a client is received on the control channel a user callback with this signature is called.
Parameters
callback_arg The user argument passed to the callback function.
handle The control handle that the command was issued on.
error Indicates if a command was successfully read or or if a failure occurred. This object will be freed once this callback returns. If the user wishes to have a copy of the error that persists past the life of this callback, they must make a copy using globus_object_copy(), and free it with globus_object_free().
command The command structure indicates what type of command the client issued. Based on the 'type' further information can be extracted. This command structure will be freed once this callback returns. If the user wishes to have a copy of the error that persists past the life of this callback, they must make a copy using globus_ftp_control_command_copy(), and free it with globus_ftp_control_command_free().
typedef void(* globus_ftp_control_data_callback_t) (void *callback_arg, globus_ftp_control_handle_t *handle, globus_object_t *error, globus_byte_t *buffer, globus_size_t length, globus_off_t offset, globus_bool_t eof)
Asynchronous data transmission operation callback.
This callback is called in functions that send or receive data on the data channel(s).
In the case of a write, this function is invoked when the entire data buffer is sent. Depending on the data transfer properties set by the globus_ftp_control_local_*() functions, the data may actually be split into multiple buffers and sent to multiple data nodes.
In the case of a read, this function will return a single extent of the data. The order of the data returned is not defined in an extended block mode data transfer, unless the ordered_data flag is set. It is up to the user of the API to re-construct the file order.
Parameters
callback_arg User supplied argument to the callback function
handle A pointer to the GridFTP control handle. Used to identify which control connection the operation was applied to.
error Pointer to a globus error object containing information about any errors that occurred processing the operation
buffer The user buffer passed as a parameter to globus_ftp_control_data_read() or globus_ftp_control_data_write().
length The amount of data in the buffer. In the case of an incoming data channel, this may be less than the buffer size.
offset The file offset of the data which is contained in the buffer.
eof This is set to GLOBUS_TRUE then all of the data associated with the transfer has arrived on the data connections associated with this handle. If multiple data callbacks are registered with this handle, there is no guaranteed order of the EOF callback with respect to other data callbacks. If multiple callbacks are registered when EOF is reached on the data connections, at least one callback function will be called with eof set to GLOBUS_TRUE.
typedef enum globus_ftp_control_parallelism_mode_e globus_ftp_control_parallelism_mode_t
control parallelism Types
typedef void(* globus_ftp_control_response_callback_t) (void *callback_arg, struct globus_ftp_control_handle_s *handle, globus_object_t *error, globus_ftp_control_response_t *ftp_response)
Asynchronous operation completion callback.
This callback is called whenever a reply to command is received on the FTP control channel. It allows the user to handle the received reply or alternatively handle any errors that occurred during the interaction with the FTP server. This function will be called multiple times in the case when intermediate responses (1yz) are received.
Parameters
callback_arg User supplied argument to the callback function
handle A pointer to the GridFTP control handle. Used to identify which control connection the operation was applied to.
error Pointer to a globus error object containing information about any errors that occurred processing the operation
ftp_response Pointer to a response structure containing the FTP response to the command.
typedef enum globus_ftp_control_structure_e globus_ftp_control_structure_t
control structure structure
typedef enum globus_ftp_control_tcpbuffer_mode_e globus_ftp_control_tcpbuffer_mode_t
TCP Buffer Setting Modes
Enumeration Type Documentation
enum globus_ftp_control_delay_passive_t
delayed passive flags
enum globus_ftp_control_parallelism_mode_e
control parallelism Types
enum globus_ftp_control_structure_e
control structure structure
enum globus_ftp_control_tcpbuffer_mode_e
TCP Buffer Setting Modes
Enumerator
GLOBUS_FTP_CONTROL_TCPBUFFER_DEFAULT
|
Don't change the TCP buffer/window size from the system default |
|---|---|
GLOBUS_FTP_CONTROL_TCPBUFFER_FIXED
|
Set the TCP buffer/window size to a fixed value |
GLOBUS_FTP_CONTROL_TCPBUFFER_AUTOMATIC
|
Automatically set the TCP buffer/window size |
Releases
6 releases since Debian 8 (Jessie); the text changed 5 times.