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'
30 FILE * globus_i_ftp_control_devnull;
44 typedef 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;
52 typedef 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;
61 globus_i_ftp_control_call_close_cb(
62 globus_ftp_control_handle_t * handle);
65 globus_i_ftp_control_write_next(
66 globus_ftp_control_handle_t * handle);
69 globus_i_ftp_control_radix_encode(
70 unsigned char * inbuf,
71 unsigned char * outbuf,
75 globus_i_ftp_control_radix_decode(
76 unsigned char * inbuf,
77 unsigned char * outbuf,
81 globus_i_ftp_control_decode_command(
87 globus_i_ftp_control_encode_command(
88 globus_ftp_cc_handle_t * cc_handle,
94 globus_i_ftp_control_encode_reply(
96 char ** encoded_reply,
100 globus_i_ftp_control_data_set_netlogger(
101 globus_ftp_control_handle_t * handle,
102 globus_netlogger_handle_t * nl_handle,
107 globus_i_ftp_control_client_set_netlogger(
108 globus_ftp_control_handle_t * handle,
109 globus_netlogger_handle_t * nl_handle);
112 globus_i_ftp_control_data_activate(
void);
115 globus_i_ftp_control_data_deactivate(
void);
119 globus_i_ftp_control_client_activate(
void);
122 globus_i_ftp_control_client_deactivate(
void);
125 globus_i_ftp_control_server_activate(
void);
128 globus_i_ftp_control_server_deactivate(
void);
131 globus_i_ftp_control_data_cc_destroy(
132 globus_ftp_control_handle_t * control_handle);
135 globus_i_ftp_control_data_cc_blocking_destroy(
136 globus_ftp_control_handle_t * control_handle);
139 globus_i_ftp_control_data_abort(
140 globus_ftp_control_handle_t * control_handle,
141 globus_object_t * error);
144 globus_i_ftp_control_auth_info_init(
149 globus_i_ftp_control_auth_info_destroy(
153 globus_i_ftp_control_get_connection_info(
154 globus_ftp_control_handle_t * handle,
156 unsigned short * local_port,
158 unsigned short * remote_port);
164 globus_i_ftp_parallelism_copy(
169 globus_i_ftp_parallelism_get_size(
173 globus_i_ftp_parallelism_get_min_size(
177 globus_i_ftp_parallelism_get_max_size(
181 globus_ftp_control_host_port_init(
182 globus_ftp_control_host_port_t * host_port,
184 unsigned short port);
187 globus_ftp_control_host_port_destroy(
188 globus_ftp_control_host_port_t * host_port);
191 globus_ftp_control_host_port_get_host(
192 globus_ftp_control_host_port_t * host_port,
196 globus_ftp_control_host_port_get_port(
197 globus_ftp_control_host_port_t * host_port);
200 globus_ftp_control_host_port_copy(
201 globus_ftp_control_host_port_t * dest,
202 globus_ftp_control_host_port_t * src);
205 globus_i_ftp_control_client_get_connection_info(
206 globus_ftp_control_handle_t * handle,
208 unsigned short * localport,
210 unsigned short * remoteport);
212 extern const char * globus_i_ftp_server_welcome;
213 extern const char * globus_i_ftp_server_user_reply;
214 extern const char * globus_i_ftp_server_pass_reply;
216 extern 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)
Globus Platform Configuration.
int globus_bool_t
Boolean type.
Definition: globus_types.h:93
void(* globus_ftp_control_server_callback_t)(void *callback_arg, struct globus_ftp_control_server_s *server_handle, globus_object_t *error)
Server callbackA function with this signature can be used as general callbacks for the GridFTP server...
Definition: globus_ftp_control.h:1021
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
uint32_t globus_result_t
Definition: globus_types.h:99
Authentication Values.
Definition: globus_ftp_control.h:483
Control parallelism attribute structure.
Definition: globus_ftp_control.h:261