2 #ifndef GLOBUS_INCLUDE_FTP_I_CONTROL_H
3 #define GLOBUS_INCLUDE_FTP_I_CONTROL_H 1
5 #define GLOBUS_I_FTP_CONTROL_BUF_SIZE 200
6 #define GLOBUS_I_FTP_CONTROL_BUF_INCR 100
8 #define GLOBUS_I_TELNET_IP "\xFF\xF4"
9 #define GLOBUS_I_TELNET_SYNCH "\xFF\xF2"
10 #define GLOBUS_I_TELNET_IAC '\xFF'
12 #include "globus_config.h"
15 FILE * globus_i_ftp_control_devnull;
29 typedef struct globus_i_ftp_passthru_cb_arg_s
33 globus_i_ftp_cmd_t cmd;
34 globus_ftp_control_handle_t * handle;
35 } globus_i_ftp_passthru_cb_arg_t;
37 typedef struct globus_i_ftp_server_passthru_cb_arg_s
41 globus_ftp_control_server_t * server_handle;
42 } globus_i_ftp_server_passthru_cb_arg_t;
46 globus_i_ftp_control_call_close_cb(
47 globus_ftp_control_handle_t * handle);
50 globus_i_ftp_control_write_next(
51 globus_ftp_control_handle_t * handle);
54 globus_i_ftp_control_radix_encode(
55 unsigned char * inbuf,
56 unsigned char * outbuf,
60 globus_i_ftp_control_radix_decode(
61 unsigned char * inbuf,
62 unsigned char * outbuf,
66 globus_i_ftp_control_decode_command(
72 globus_i_ftp_control_encode_command(
73 globus_ftp_cc_handle_t * cc_handle,
79 globus_i_ftp_control_encode_reply(
81 char ** encoded_reply,
85 globus_i_ftp_control_data_set_netlogger(
86 globus_ftp_control_handle_t * handle,
87 globus_netlogger_handle_t * nl_handle,
88 globus_bool_t nl_ftp_control,
89 globus_bool_t nl_globus_io);
92 globus_i_ftp_control_client_set_netlogger(
93 globus_ftp_control_handle_t * handle,
94 globus_netlogger_handle_t * nl_handle);
97 globus_i_ftp_control_data_activate(
void);
100 globus_i_ftp_control_data_deactivate(
void);
104 globus_i_ftp_control_client_activate(
void);
107 globus_i_ftp_control_client_deactivate(
void);
110 globus_i_ftp_control_server_activate(
void);
113 globus_i_ftp_control_server_deactivate(
void);
116 globus_i_ftp_control_data_cc_destroy(
117 globus_ftp_control_handle_t * control_handle);
120 globus_i_ftp_control_data_cc_blocking_destroy(
121 globus_ftp_control_handle_t * control_handle);
124 globus_i_ftp_control_data_abort(
125 globus_ftp_control_handle_t * control_handle,
126 globus_object_t * error);
129 globus_i_ftp_control_auth_info_init(
134 globus_i_ftp_control_auth_info_destroy(
138 globus_i_ftp_control_get_connection_info(
139 globus_ftp_control_handle_t * handle,
141 unsigned short * local_port,
143 unsigned short * remote_port);
149 globus_i_ftp_parallelism_copy(
154 globus_i_ftp_parallelism_get_size(
158 globus_i_ftp_parallelism_get_min_size(
162 globus_i_ftp_parallelism_get_max_size(
166 globus_ftp_control_host_port_init(
167 globus_ftp_control_host_port_t * host_port,
169 unsigned short port);
172 globus_ftp_control_host_port_destroy(
173 globus_ftp_control_host_port_t * host_port);
176 globus_ftp_control_host_port_get_host(
177 globus_ftp_control_host_port_t * host_port,
181 globus_ftp_control_host_port_get_port(
182 globus_ftp_control_host_port_t * host_port);
185 globus_ftp_control_host_port_copy(
186 globus_ftp_control_host_port_t * dest,
187 globus_ftp_control_host_port_t * src);
190 globus_i_ftp_control_client_get_connection_info(
191 globus_ftp_control_handle_t * handle,
193 unsigned short * localport,
195 unsigned short * remoteport);
197 extern const char * globus_i_ftp_server_welcome;
198 extern const char * globus_i_ftp_server_user_reply;
199 extern const char * globus_i_ftp_server_pass_reply;
201 extern int globus_i_ftp_control_debug_level;
204 #define globus_i_ftp_control_debug(Level) \
205 (globus_i_ftp_control_debug_level >= (Level))
207 #define globus_i_ftp_control_debug_printf(level, message) \
209 if (globus_i_ftp_control_debug(level)) \
211 globus_libc_fprintf message; \
215 #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:510
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:1005
Authentication Values.
Definition: globus_ftp_control.h:468
Control parallelism attribute structure
Definition: globus_ftp_control.h:246