globus_ftp_control  8.12
globus_i_ftp_control.h
1 
2 #ifndef GLOBUS_INCLUDE_FTP_I_CONTROL_H
3 #define GLOBUS_INCLUDE_FTP_I_CONTROL_H 1
4 
5 #define GLOBUS_I_FTP_CONTROL_BUF_SIZE 200
6 #define GLOBUS_I_FTP_CONTROL_BUF_INCR 100
7 
8 #define GLOBUS_I_TELNET_IP "\xFF\xF4"
9 #define GLOBUS_I_TELNET_SYNCH "\xFF\xF2"
10 #define GLOBUS_I_TELNET_IAC '\xFF'
11 
12 #include "globus_config.h"
13 
14 extern
15 FILE * globus_i_ftp_control_devnull;
16 
17 typedef enum
18 {
19  GLOBUS_I_FTP_AUTH,
20  GLOBUS_I_FTP_ACCT,
21  GLOBUS_I_FTP_ADAT,
22  GLOBUS_I_FTP_QUIT,
23  GLOBUS_I_FTP_USER,
24  GLOBUS_I_FTP_PASS,
25  GLOBUS_I_FTP_NOOP
26 }
27 globus_i_ftp_cmd_t;
28 
29 typedef struct globus_i_ftp_passthru_cb_arg_s
30 {
32  void * user_cb_arg;
33  globus_i_ftp_cmd_t cmd;
34  globus_ftp_control_handle_t * handle;
35 } globus_i_ftp_passthru_cb_arg_t;
36 
37 typedef struct globus_i_ftp_server_passthru_cb_arg_s
38 {
40  void * callback_arg;
41  globus_ftp_control_server_t * server_handle;
42 } globus_i_ftp_server_passthru_cb_arg_t;
43 
44 
45 void
46 globus_i_ftp_control_call_close_cb(
47  globus_ftp_control_handle_t * handle);
48 
49 void
50 globus_i_ftp_control_write_next(
51  globus_ftp_control_handle_t * handle);
52 
53 globus_result_t
54 globus_i_ftp_control_radix_encode(
55  unsigned char * inbuf,
56  unsigned char * outbuf,
57  int * length);
58 
59 globus_result_t
60 globus_i_ftp_control_radix_decode(
61  unsigned char * inbuf,
62  unsigned char * outbuf,
63  int * length);
64 
65 globus_result_t
66 globus_i_ftp_control_decode_command(
67  char * cmd,
68  char ** decoded_cmd,
69  globus_ftp_control_auth_info_t * auth_info);
70 
71 globus_result_t
72 globus_i_ftp_control_encode_command(
73  globus_ftp_cc_handle_t * cc_handle,
74  char * cmd,
75  char ** encoded_cmd);
76 
77 
78 globus_result_t
79 globus_i_ftp_control_encode_reply(
80  char * reply,
81  char ** encoded_reply,
82  globus_ftp_control_auth_info_t * auth_info);
83 
84 globus_result_t
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);
90 
91 globus_result_t
92 globus_i_ftp_control_client_set_netlogger(
93  globus_ftp_control_handle_t * handle,
94  globus_netlogger_handle_t * nl_handle);
95 
96 globus_result_t
97 globus_i_ftp_control_data_activate(void);
98 
99 globus_result_t
100 globus_i_ftp_control_data_deactivate(void);
101 
102 
103 globus_result_t
104 globus_i_ftp_control_client_activate(void);
105 
106 globus_result_t
107 globus_i_ftp_control_client_deactivate(void);
108 
109 globus_result_t
110 globus_i_ftp_control_server_activate(void);
111 
112 globus_result_t
113 globus_i_ftp_control_server_deactivate(void);
114 
115 globus_result_t
116 globus_i_ftp_control_data_cc_destroy(
117  globus_ftp_control_handle_t * control_handle);
118 
119 globus_result_t
120 globus_i_ftp_control_data_cc_blocking_destroy(
121  globus_ftp_control_handle_t * control_handle);
122 
123 globus_result_t
124 globus_i_ftp_control_data_abort(
125  globus_ftp_control_handle_t * control_handle,
126  globus_object_t * error);
127 
128 globus_result_t
129 globus_i_ftp_control_auth_info_init(
132 
133 globus_result_t
134 globus_i_ftp_control_auth_info_destroy(
135  globus_ftp_control_auth_info_t * auth_info);
136 
137 globus_result_t
138 globus_i_ftp_control_get_connection_info(
139  globus_ftp_control_handle_t * handle,
140  int * local_host,
141  unsigned short * local_port,
142  int * remote_host,
143  unsigned short * remote_port);
144 
145 /*
146  * internal function definitions
147  */
148 globus_result_t
149 globus_i_ftp_parallelism_copy(
150  globus_ftp_control_parallelism_t * dest_parallelism,
151  globus_ftp_control_parallelism_t * src_parallelism);
152 
153 int
154 globus_i_ftp_parallelism_get_size(
155  globus_ftp_control_parallelism_t * parallelism);
156 
157 int
158 globus_i_ftp_parallelism_get_min_size(
159  globus_ftp_control_parallelism_t * parallelism);
160 
161 int
162 globus_i_ftp_parallelism_get_max_size(
163  globus_ftp_control_parallelism_t * parallelism);
164 
165 void
166 globus_ftp_control_host_port_init(
167  globus_ftp_control_host_port_t * host_port,
168  char * host,
169  unsigned short port);
170 
171 void
172 globus_ftp_control_host_port_destroy(
173  globus_ftp_control_host_port_t * host_port);
174 
175 void
176 globus_ftp_control_host_port_get_host(
177  globus_ftp_control_host_port_t * host_port,
178  char * host);
179 
180 unsigned short
181 globus_ftp_control_host_port_get_port(
182  globus_ftp_control_host_port_t * host_port);
183 
184 void
185 globus_ftp_control_host_port_copy(
186  globus_ftp_control_host_port_t * dest,
187  globus_ftp_control_host_port_t * src);
188 
189 globus_result_t
190 globus_i_ftp_control_client_get_connection_info(
191  globus_ftp_control_handle_t * handle,
192  int localhost[4],
193  unsigned short * localport,
194  int remotehost[4],
195  unsigned short * remoteport);
196 
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;
200 
201 extern int globus_i_ftp_control_debug_level;
202 
203 #ifdef BUILD_DEBUG
204 #define globus_i_ftp_control_debug(Level) \
205  (globus_i_ftp_control_debug_level >= (Level))
206 
207 #define globus_i_ftp_control_debug_printf(level, message) \
208 do { \
209  if (globus_i_ftp_control_debug(level)) \
210  { \
211  globus_libc_fprintf message; \
212  } \
213 } while (0)
214 #else
215 #define globus_i_ftp_control_debug_printf(level, message)
216 #endif
217 
218 
219 #endif
220 
221 
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