17#ifndef GLOBUS_INCLUDE_FTP_I_CONTROL_H
18#define GLOBUS_INCLUDE_FTP_I_CONTROL_H 1
20#define GLOBUS_I_FTP_CONTROL_BUF_SIZE 200
21#define GLOBUS_I_FTP_CONTROL_BUF_INCR 100
23#define GLOBUS_I_TELNET_IP "\xFF\xF4"
24#define GLOBUS_I_TELNET_SYNCH "\xFF\xF2"
25#define GLOBUS_I_TELNET_IAC '\xFF'
27#include "globus_config.h"
30FILE * globus_i_ftp_control_devnull;
44typedef struct globus_i_ftp_passthru_cb_arg_s
48 globus_i_ftp_cmd_t cmd;
49 globus_ftp_control_handle_t * handle;
50} globus_i_ftp_passthru_cb_arg_t;
52typedef struct globus_i_ftp_server_passthru_cb_arg_s
56 globus_ftp_control_server_t * server_handle;
57} globus_i_ftp_server_passthru_cb_arg_t;
61globus_i_ftp_control_call_close_cb(
62 globus_ftp_control_handle_t * handle);
65globus_i_ftp_control_write_next(
66 globus_ftp_control_handle_t * handle);
69globus_i_ftp_control_radix_encode(
70 unsigned char * inbuf,
71 unsigned char * outbuf,
75globus_i_ftp_control_radix_decode(
76 unsigned char * inbuf,
77 unsigned char * outbuf,
81globus_i_ftp_control_decode_command(
87globus_i_ftp_control_encode_command(
88 globus_ftp_cc_handle_t * cc_handle,
94globus_i_ftp_control_encode_reply(
96 char ** encoded_reply,
100globus_i_ftp_control_data_set_netlogger(
101 globus_ftp_control_handle_t * handle,
102 globus_netlogger_handle_t * nl_handle,
103 globus_bool_t nl_ftp_control,
104 globus_bool_t nl_globus_io);
107globus_i_ftp_control_client_set_netlogger(
108 globus_ftp_control_handle_t * handle,
109 globus_netlogger_handle_t * nl_handle);
112globus_i_ftp_control_data_activate(
void);
115globus_i_ftp_control_data_deactivate(
void);
119globus_i_ftp_control_client_activate(
void);
122globus_i_ftp_control_client_deactivate(
void);
125globus_i_ftp_control_server_activate(
void);
128globus_i_ftp_control_server_deactivate(
void);
131globus_i_ftp_control_data_cc_destroy(
132 globus_ftp_control_handle_t * control_handle);
135globus_i_ftp_control_data_cc_blocking_destroy(
136 globus_ftp_control_handle_t * control_handle);
139globus_i_ftp_control_data_abort(
140 globus_ftp_control_handle_t * control_handle,
141 globus_object_t * error);
144globus_i_ftp_control_auth_info_init(
149globus_i_ftp_control_auth_info_destroy(
153globus_i_ftp_control_get_connection_info(
154 globus_ftp_control_handle_t * handle,
156 unsigned short * local_port,
158 unsigned short * remote_port);
164globus_i_ftp_parallelism_copy(
169globus_i_ftp_parallelism_get_size(
173globus_i_ftp_parallelism_get_min_size(
177globus_i_ftp_parallelism_get_max_size(
181globus_ftp_control_host_port_init(
182 globus_ftp_control_host_port_t * host_port,
184 unsigned short port);
187globus_ftp_control_host_port_destroy(
188 globus_ftp_control_host_port_t * host_port);
191globus_ftp_control_host_port_get_host(
192 globus_ftp_control_host_port_t * host_port,
196globus_ftp_control_host_port_get_port(
197 globus_ftp_control_host_port_t * host_port);
200globus_ftp_control_host_port_copy(
201 globus_ftp_control_host_port_t * dest,
202 globus_ftp_control_host_port_t * src);
205globus_i_ftp_control_client_get_connection_info(
206 globus_ftp_control_handle_t * handle,
208 unsigned short * localport,
210 unsigned short * remoteport);
212extern const char * globus_i_ftp_server_welcome;
213extern const char * globus_i_ftp_server_user_reply;
214extern const char * globus_i_ftp_server_pass_reply;
216extern int globus_i_ftp_control_debug_level;
219#define globus_i_ftp_control_debug(Level) \
220 (globus_i_ftp_control_debug_level >= (Level))
222#define globus_i_ftp_control_debug_printf(level, message) \
224 if (globus_i_ftp_control_debug(level)) \
226 globus_libc_fprintf message; \
230#define globus_i_ftp_control_debug_printf(level, message)
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)
Definition: globus_ftp_control.h:526
void(* globus_ftp_control_server_callback_t)(void *callback_arg, struct globus_ftp_control_server_s *server_handle, globus_object_t *error)
Server callback.
Definition: globus_ftp_control.h:1028
Authentication Values.
Definition: globus_ftp_control.h:484
Control parallelism attribute structure
Definition: globus_ftp_control.h:262