annotate lib/gftp.h @ 309:cc2eeb30b793

2003-11-7 Brian Masney <masneyb@gftp.org> * lib/gftp.h lib/local.c lib/protocols.c lib/rfc2068.c lib/rfc959.c lib/sshv2.c - added copy_param_options method to gftp_request structure. When a gftp_request structure is copied, if a copy_param_options method exists, this will be called so that the local protocol data can be copied over. This is only used by the FTP protocol at the moment to save the current state of Ascii or Binary transfers. * src/gtk/transfer.c (transfer_done) - when a transfer is completed, copy the local protocol options back to the main window * lib/rfc959.c (gftp_set_data_type) - check the return value of rfc959_send_command() and if there is an error, return that error. * configure.in - added 'hr' to ALL_LINGUAS
author masneyb
date Sat, 08 Nov 2003 12:23:21 +0000
parents 6d180e6a8ba5
children 853981bbd4d7
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
1 /*****************************************************************************/
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
2 /* gftp.h - include file for the whole ftp program */
122
76e2b58a9440 2003-4-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 102
diff changeset
3 /* Copyright (C) 1998-2003 Brian Masney <masneyb@gftp.org> */
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
4 /* */
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
5 /* This program is free software; you can redistribute it and/or modify */
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
6 /* it under the terms of the GNU General Public License as published by */
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
7 /* the Free Software Foundation; either version 2 of the License, or */
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
8 /* (at your option) any later version. */
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
9 /* */
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
10 /* This program is distributed in the hope that it will be useful, */
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
11 /* but WITHOUT ANY WARRANTY; without even the implied warranty of */
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
12 /* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
13 /* GNU General Public License for more details. */
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
14 /* */
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
15 /* You should have received a copy of the GNU General Public License */
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
16 /* along with this program; if not, write to the Free Software */
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
17 /* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
18 /*****************************************************************************/
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
19
33
c8ec7877432e 2002-10-06 Brian Masney <masneyb@gftp.org>
masneyb
parents: 26
diff changeset
20 /* $Id$ */
c8ec7877432e 2002-10-06 Brian Masney <masneyb@gftp.org>
masneyb
parents: 26
diff changeset
21
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
22 #ifndef __GFTP_H
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
23 #define __GFTP_H
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
24
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
25 #ifdef HAVE_CONFIG_H
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
26 #include "config.h"
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
27 #endif
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
28
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
29 #include <sys/types.h>
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
30 #include <sys/stat.h>
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
31 #include <sys/socket.h>
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
32 #include <sys/time.h>
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
33 #ifndef TIOCGWINSZ
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
34 #include <sys/ioctl.h>
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
35 #endif
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
36 #include <sys/wait.h>
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
37 #include <sys/utsname.h>
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
38 #include <netinet/in.h>
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
39 #include <arpa/inet.h>
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
40 #include <glib.h>
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
41 #include <limits.h>
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
42 #include <netdb.h>
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
43 #include <stdio.h>
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
44 #include <stdarg.h>
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
45 #include <stdlib.h>
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
46 #include <errno.h>
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
47 #include <fcntl.h>
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
48 #include <unistd.h>
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
49 #include <ctype.h>
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
50 #include <time.h>
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
51 #include <utime.h>
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
52 #include <signal.h>
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
53 #include <termios.h>
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
54 #include <pwd.h>
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
55 #include <setjmp.h>
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
56 #include <dirent.h>
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
57 #include <grp.h>
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
58 #include <math.h>
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
59
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
60 #ifdef HAVE_STRING_H
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
61 #include <string.h>
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
62 #else
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
63 #include <strings.h>
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
64 #endif
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
65
168
c505d9ba9d53 2003-6-6 Brian Masney <masneyb@gftp.org>
masneyb
parents: 151
diff changeset
66 #ifdef USE_SSL
c505d9ba9d53 2003-6-6 Brian Masney <masneyb@gftp.org>
masneyb
parents: 151
diff changeset
67 #include <openssl/bio.h>
c505d9ba9d53 2003-6-6 Brian Masney <masneyb@gftp.org>
masneyb
parents: 151
diff changeset
68 #include <openssl/err.h>
c505d9ba9d53 2003-6-6 Brian Masney <masneyb@gftp.org>
masneyb
parents: 151
diff changeset
69 #include <openssl/rand.h>
c505d9ba9d53 2003-6-6 Brian Masney <masneyb@gftp.org>
masneyb
parents: 151
diff changeset
70 #include <openssl/ssl.h>
c505d9ba9d53 2003-6-6 Brian Masney <masneyb@gftp.org>
masneyb
parents: 151
diff changeset
71 #include <openssl/x509v3.h>
c505d9ba9d53 2003-6-6 Brian Masney <masneyb@gftp.org>
masneyb
parents: 151
diff changeset
72 #endif
c505d9ba9d53 2003-6-6 Brian Masney <masneyb@gftp.org>
masneyb
parents: 151
diff changeset
73
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
74 #ifdef ENABLE_NLS
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
75 #include <libintl.h>
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
76 #include <locale.h>
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
77 #define _(String) gettext (String)
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
78 #else
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
79 #define _(String) String
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
80 #endif
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
81 #define N_(String) String
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
82
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
83 #ifndef AF_LOCAL
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
84 #define AF_LOCAL AF_UNIX
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
85 #endif
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
86
146
782f84694489 2003-4-25 Brian Masney <masneyb@gftp.org>
masneyb
parents: 139
diff changeset
87 #ifdef HAVE_GETADDRINFO
782f84694489 2003-4-25 Brian Masney <masneyb@gftp.org>
masneyb
parents: 139
diff changeset
88 #define HAVE_IPV6
151
2f15b3000dbc 2003-4-27 Brian Masney <masneyb@gftp.org>
masneyb
parents: 146
diff changeset
89 #define GFTP_GET_AI_FAMILY(request) (request != NULL && request->hostp != NULL ? request->hostp->ai_family : -1)
146
782f84694489 2003-4-25 Brian Masney <masneyb@gftp.org>
masneyb
parents: 139
diff changeset
90 #else
782f84694489 2003-4-25 Brian Masney <masneyb@gftp.org>
masneyb
parents: 139
diff changeset
91 #define GFTP_GET_AI_FAMILY(request) AF_INET
782f84694489 2003-4-25 Brian Masney <masneyb@gftp.org>
masneyb
parents: 139
diff changeset
92 #endif
782f84694489 2003-4-25 Brian Masney <masneyb@gftp.org>
masneyb
parents: 139
diff changeset
93
48
e5f6054590b5 2002-11-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 47
diff changeset
94 /* We need the major() and minor() macros in the user interface. If they aren't
e5f6054590b5 2002-11-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 47
diff changeset
95 defined by the system, we'll just define them here. */
e5f6054590b5 2002-11-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 47
diff changeset
96 #ifndef major
e5f6054590b5 2002-11-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 47
diff changeset
97 #warning major macro was not defined by the system. Defining one that is probably wrong for your system
e5f6054590b5 2002-11-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 47
diff changeset
98 #define major(dev) (((dev) >> 8) & 0xff)
e5f6054590b5 2002-11-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 47
diff changeset
99 #endif
e5f6054590b5 2002-11-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 47
diff changeset
100
e5f6054590b5 2002-11-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 47
diff changeset
101 #ifndef minor
e5f6054590b5 2002-11-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 47
diff changeset
102 #warning minor macro was not defined by the system. Defining one that is probably wrong for your system
e5f6054590b5 2002-11-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 47
diff changeset
103 #define minor(dev) ((dev) & 0xff)
e5f6054590b5 2002-11-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 47
diff changeset
104 #endif
e5f6054590b5 2002-11-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 47
diff changeset
105
201
0098dae654a5 2003-6-25 Brian Masney <masneyb@gftp.org>
masneyb
parents: 199
diff changeset
106 #ifdef WITH_DMALLOC
0098dae654a5 2003-6-25 Brian Masney <masneyb@gftp.org>
masneyb
parents: 199
diff changeset
107
0098dae654a5 2003-6-25 Brian Masney <masneyb@gftp.org>
masneyb
parents: 199
diff changeset
108 #undef g_malloc
0098dae654a5 2003-6-25 Brian Masney <masneyb@gftp.org>
masneyb
parents: 199
diff changeset
109 #define g_malloc(size) \
0098dae654a5 2003-6-25 Brian Masney <masneyb@gftp.org>
masneyb
parents: 199
diff changeset
110 _malloc_leap(__FILE__, __LINE__, size)
0098dae654a5 2003-6-25 Brian Masney <masneyb@gftp.org>
masneyb
parents: 199
diff changeset
111
0098dae654a5 2003-6-25 Brian Masney <masneyb@gftp.org>
masneyb
parents: 199
diff changeset
112 #undef g_malloc0
0098dae654a5 2003-6-25 Brian Masney <masneyb@gftp.org>
masneyb
parents: 199
diff changeset
113 #define g_malloc0(size) \
0098dae654a5 2003-6-25 Brian Masney <masneyb@gftp.org>
masneyb
parents: 199
diff changeset
114 _calloc_leap(__FILE__, __LINE__, 1, size)
0098dae654a5 2003-6-25 Brian Masney <masneyb@gftp.org>
masneyb
parents: 199
diff changeset
115
0098dae654a5 2003-6-25 Brian Masney <masneyb@gftp.org>
masneyb
parents: 199
diff changeset
116 #undef g_realloc
0098dae654a5 2003-6-25 Brian Masney <masneyb@gftp.org>
masneyb
parents: 199
diff changeset
117 #define g_realloc(ptr, size) \
0098dae654a5 2003-6-25 Brian Masney <masneyb@gftp.org>
masneyb
parents: 199
diff changeset
118 _realloc_leap(__FILE__, __LINE__, ptr, size)
0098dae654a5 2003-6-25 Brian Masney <masneyb@gftp.org>
masneyb
parents: 199
diff changeset
119
0098dae654a5 2003-6-25 Brian Masney <masneyb@gftp.org>
masneyb
parents: 199
diff changeset
120 #undef g_strdup
0098dae654a5 2003-6-25 Brian Masney <masneyb@gftp.org>
masneyb
parents: 199
diff changeset
121 #define g_strdup(str) \
0098dae654a5 2003-6-25 Brian Masney <masneyb@gftp.org>
masneyb
parents: 199
diff changeset
122 _strdup_leap(__FILE__, __LINE__, str)
0098dae654a5 2003-6-25 Brian Masney <masneyb@gftp.org>
masneyb
parents: 199
diff changeset
123
0098dae654a5 2003-6-25 Brian Masney <masneyb@gftp.org>
masneyb
parents: 199
diff changeset
124 #undef g_free
0098dae654a5 2003-6-25 Brian Masney <masneyb@gftp.org>
masneyb
parents: 199
diff changeset
125 #define g_free(ptr) \
0098dae654a5 2003-6-25 Brian Masney <masneyb@gftp.org>
masneyb
parents: 199
diff changeset
126 _free_leap(__FILE__, __LINE__, ptr)
0098dae654a5 2003-6-25 Brian Masney <masneyb@gftp.org>
masneyb
parents: 199
diff changeset
127
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
128 #include <dmalloc.h>
201
0098dae654a5 2003-6-25 Brian Masney <masneyb@gftp.org>
masneyb
parents: 199
diff changeset
129
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
130 #endif
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
131
91
8c37d73d3f1f 2003-1-21 Brian Masney <masneyb@gftp.org>
masneyb
parents: 87
diff changeset
132 /* Server types (used by FTP protocol from SYST command) */
122
76e2b58a9440 2003-4-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 102
diff changeset
133 #define GFTP_DIRTYPE_UNIX 1
76e2b58a9440 2003-4-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 102
diff changeset
134 #define GFTP_DIRTYPE_EPLF 2
76e2b58a9440 2003-4-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 102
diff changeset
135 #define GFTP_DIRTYPE_CRAY 3
76e2b58a9440 2003-4-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 102
diff changeset
136 #define GFTP_DIRTYPE_NOVELL 4
76e2b58a9440 2003-4-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 102
diff changeset
137 #define GFTP_DIRTYPE_DOS 5
76e2b58a9440 2003-4-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 102
diff changeset
138 #define GFTP_DIRTYPE_VMS 6
76e2b58a9440 2003-4-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 102
diff changeset
139 #define GFTP_DIRTYPE_OTHER 7
91
8c37d73d3f1f 2003-1-21 Brian Masney <masneyb@gftp.org>
masneyb
parents: 87
diff changeset
140
84
7ef60ce2bdb2 2002-12-29 Brian Masney <masneyb@gftp.org>
masneyb
parents: 80
diff changeset
141 /* Error types */
7ef60ce2bdb2 2002-12-29 Brian Masney <masneyb@gftp.org>
masneyb
parents: 80
diff changeset
142 #define GFTP_ERETRYABLE -1
7ef60ce2bdb2 2002-12-29 Brian Masney <masneyb@gftp.org>
masneyb
parents: 80
diff changeset
143 #define GFTP_EFATAL -2
7ef60ce2bdb2 2002-12-29 Brian Masney <masneyb@gftp.org>
masneyb
parents: 80
diff changeset
144
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
145 /* Some general settings */
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
146 #define BASE_CONF_DIR "~/.gftp"
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
147 #define CONFIG_FILE BASE_CONF_DIR "/gftprc"
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
148 #define BOOKMARKS_FILE BASE_CONF_DIR "/bookmarks"
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
149 #define LOG_FILE BASE_CONF_DIR "/gftp.log"
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
150 #define MAX_HIST_LEN 10
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
151
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
152 typedef enum gftp_logging_level_tag
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
153 {
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
154 gftp_logging_send,
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
155 gftp_logging_recv,
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
156 gftp_logging_error,
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
157 gftp_logging_misc
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
158 } gftp_logging_level;
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
159
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
160 typedef struct gftp_file_tag gftp_file;
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
161
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
162 #define GFTP_TRANS_ACTION_OVERWRITE 1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
163 #define GFTP_TRANS_ACTION_RESUME 2
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
164 #define GFTP_TRANS_ACTION_SKIP 3
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
165
16
ddb983d8574b * Improved directory sorting algorithm
masneyb
parents: 14
diff changeset
166 #define GFTP_SORT_COL_FILE 1
ddb983d8574b * Improved directory sorting algorithm
masneyb
parents: 14
diff changeset
167 #define GFTP_SORT_COL_SIZE 2
ddb983d8574b * Improved directory sorting algorithm
masneyb
parents: 14
diff changeset
168 #define GFTP_SORT_COL_USER 3
ddb983d8574b * Improved directory sorting algorithm
masneyb
parents: 14
diff changeset
169 #define GFTP_SORT_COL_GROUP 4
ddb983d8574b * Improved directory sorting algorithm
masneyb
parents: 14
diff changeset
170 #define GFTP_SORT_COL_DATETIME 5
ddb983d8574b * Improved directory sorting algorithm
masneyb
parents: 14
diff changeset
171 #define GFTP_SORT_COL_ATTRIBS 6
ddb983d8574b * Improved directory sorting algorithm
masneyb
parents: 14
diff changeset
172
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
173 struct gftp_file_tag
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
174 {
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
175 char *file, /* Our filename */
184
65eb40fb4f03 2003-6-16 Brian Masney <masneyb@gftp.org>
masneyb
parents: 182
diff changeset
176 *utf8_file, /* UTF-8 encoded filename for display purposes
65eb40fb4f03 2003-6-16 Brian Masney <masneyb@gftp.org>
masneyb
parents: 182
diff changeset
177 only. This is only set if file is not in
65eb40fb4f03 2003-6-16 Brian Masney <masneyb@gftp.org>
masneyb
parents: 182
diff changeset
178 UTF-8 */
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
179 *user, /* User that owns it */
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
180 *group, /* Group that owns it */
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
181 *attribs, /* Attribs (-rwxr-x-rx) */
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
182 *destfile; /* Full pathname to the destination for the
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
183 file transfer */
122
76e2b58a9440 2003-4-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 102
diff changeset
184
76e2b58a9440 2003-4-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 102
diff changeset
185 int fd; /* Already open fd for this file */
76e2b58a9440 2003-4-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 102
diff changeset
186 /* FIXME - add fd_open function */
76e2b58a9440 2003-4-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 102
diff changeset
187
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
188 time_t datetime; /* File date and time */
14
83090328581e * More largefile support. Hopefully all that is left is the configure stuff
masneyb
parents: 1
diff changeset
189 off_t size, /* Size of the file */
83090328581e * More largefile support. Hopefully all that is left is the configure stuff
masneyb
parents: 1
diff changeset
190 startsize; /* Size to start the transfer at */
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
191 unsigned int isdir : 1, /* File type */
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
192 isexe : 1,
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
193 islink : 1,
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
194 selected : 1, /* Is this file selected? */
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
195 was_sel : 1, /* Was this file selected before */
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
196 shown : 1, /* Is this file shown? */
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
197 done_view : 1, /* View the file when done transfering? */
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
198 done_edit : 1, /* Edit the file when done transfering? */
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
199 done_rm : 1, /* Remove the file when done */
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
200 transfer_done : 1, /* Is current file transfer done? */
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
201 is_fd : 1; /* Is this a file descriptor? */
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
202 char transfer_action; /* See the GFTP_TRANS_ACTION_* vars above */
122
76e2b58a9440 2003-4-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 102
diff changeset
203 void *user_data;
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
204 };
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
205
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
206
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
207 typedef struct gftp_proxy_hosts_tag
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
208 {
303
3b9d5797050f 2003-11-2 Brian Masney <masneyb@gftp.org>
masneyb
parents: 291
diff changeset
209 /* FIXME - add IPV6 stuff here */
122
76e2b58a9440 2003-4-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 102
diff changeset
210
76e2b58a9440 2003-4-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 102
diff changeset
211 gint32 ipv4_network_address,
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
212 ipv4_netmask;
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
213 char *domain;
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
214 } gftp_proxy_hosts;
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
215
136
84b3e69807a2 2003-4-18 Brian Masney <masneyb@gftp.org>
masneyb
parents: 131
diff changeset
216
84b3e69807a2 2003-4-18 Brian Masney <masneyb@gftp.org>
masneyb
parents: 131
diff changeset
217 /* Note, these numbers must match up to the index number in config_file.c
84b3e69807a2 2003-4-18 Brian Masney <masneyb@gftp.org>
masneyb
parents: 131
diff changeset
218 in the declaration of gftp_option_types */
84b3e69807a2 2003-4-18 Brian Masney <masneyb@gftp.org>
masneyb
parents: 131
diff changeset
219 typedef enum
84b3e69807a2 2003-4-18 Brian Masney <masneyb@gftp.org>
masneyb
parents: 131
diff changeset
220 {
84b3e69807a2 2003-4-18 Brian Masney <masneyb@gftp.org>
masneyb
parents: 131
diff changeset
221 gftp_option_type_text = 0,
84b3e69807a2 2003-4-18 Brian Masney <masneyb@gftp.org>
masneyb
parents: 131
diff changeset
222 gftp_option_type_textcombo = 1,
84b3e69807a2 2003-4-18 Brian Masney <masneyb@gftp.org>
masneyb
parents: 131
diff changeset
223 gftp_option_type_textcomboedt = 2,
84b3e69807a2 2003-4-18 Brian Masney <masneyb@gftp.org>
masneyb
parents: 131
diff changeset
224 gftp_option_type_hidetext = 3,
84b3e69807a2 2003-4-18 Brian Masney <masneyb@gftp.org>
masneyb
parents: 131
diff changeset
225 gftp_option_type_int = 4,
84b3e69807a2 2003-4-18 Brian Masney <masneyb@gftp.org>
masneyb
parents: 131
diff changeset
226 gftp_option_type_checkbox = 5,
84b3e69807a2 2003-4-18 Brian Masney <masneyb@gftp.org>
masneyb
parents: 131
diff changeset
227 gftp_option_type_intcombo = 6,
84b3e69807a2 2003-4-18 Brian Masney <masneyb@gftp.org>
masneyb
parents: 131
diff changeset
228 gftp_option_type_float = 7,
84b3e69807a2 2003-4-18 Brian Masney <masneyb@gftp.org>
masneyb
parents: 131
diff changeset
229 gftp_option_type_color = 8,
84b3e69807a2 2003-4-18 Brian Masney <masneyb@gftp.org>
masneyb
parents: 131
diff changeset
230 gftp_option_type_notebook = 9
84b3e69807a2 2003-4-18 Brian Masney <masneyb@gftp.org>
masneyb
parents: 131
diff changeset
231 } gftp_option_type_enum;
84b3e69807a2 2003-4-18 Brian Masney <masneyb@gftp.org>
masneyb
parents: 131
diff changeset
232
84b3e69807a2 2003-4-18 Brian Masney <masneyb@gftp.org>
masneyb
parents: 131
diff changeset
233
84b3e69807a2 2003-4-18 Brian Masney <masneyb@gftp.org>
masneyb
parents: 131
diff changeset
234 #define GFTP_PORT_GTK (1 << 1)
84b3e69807a2 2003-4-18 Brian Masney <masneyb@gftp.org>
masneyb
parents: 131
diff changeset
235 #define GFTP_PORT_TEXT (1 << 2)
84b3e69807a2 2003-4-18 Brian Masney <masneyb@gftp.org>
masneyb
parents: 131
diff changeset
236 #define GFTP_PORT_ALL (GFTP_PORT_GTK | GFTP_PORT_TEXT)
84b3e69807a2 2003-4-18 Brian Masney <masneyb@gftp.org>
masneyb
parents: 131
diff changeset
237
84b3e69807a2 2003-4-18 Brian Masney <masneyb@gftp.org>
masneyb
parents: 131
diff changeset
238
84b3e69807a2 2003-4-18 Brian Masney <masneyb@gftp.org>
masneyb
parents: 131
diff changeset
239 typedef struct gftp_config_list_vars_tag
84b3e69807a2 2003-4-18 Brian Masney <masneyb@gftp.org>
masneyb
parents: 131
diff changeset
240 {
84b3e69807a2 2003-4-18 Brian Masney <masneyb@gftp.org>
masneyb
parents: 131
diff changeset
241 char *key;
84b3e69807a2 2003-4-18 Brian Masney <masneyb@gftp.org>
masneyb
parents: 131
diff changeset
242 void * (*read_func) (char *buf, int line);
84b3e69807a2 2003-4-18 Brian Masney <masneyb@gftp.org>
masneyb
parents: 131
diff changeset
243 void (*write_func) (FILE *fd, void *data);
84b3e69807a2 2003-4-18 Brian Masney <masneyb@gftp.org>
masneyb
parents: 131
diff changeset
244 GList * list;
84b3e69807a2 2003-4-18 Brian Masney <masneyb@gftp.org>
masneyb
parents: 131
diff changeset
245 unsigned int num_items;
84b3e69807a2 2003-4-18 Brian Masney <masneyb@gftp.org>
masneyb
parents: 131
diff changeset
246 char *header;
84b3e69807a2 2003-4-18 Brian Masney <masneyb@gftp.org>
masneyb
parents: 131
diff changeset
247 } gftp_config_list_vars;
84b3e69807a2 2003-4-18 Brian Masney <masneyb@gftp.org>
masneyb
parents: 131
diff changeset
248
84b3e69807a2 2003-4-18 Brian Masney <masneyb@gftp.org>
masneyb
parents: 131
diff changeset
249
201
0098dae654a5 2003-6-25 Brian Masney <masneyb@gftp.org>
masneyb
parents: 199
diff changeset
250 #define GFTP_CVARS_FLAGS_DYNMEM (1 << 1)
0098dae654a5 2003-6-25 Brian Masney <masneyb@gftp.org>
masneyb
parents: 199
diff changeset
251 #define GFTP_CVARS_FLAGS_DYNLISTMEM (1 << 2)
227
a85a097bbb02 2003-7-20 Brian Masney <masneyb@gftp.org>
masneyb
parents: 218
diff changeset
252 #define GFTP_CVARS_FLAGS_SHOW_BOOKMARK (1 << 3)
136
84b3e69807a2 2003-4-18 Brian Masney <masneyb@gftp.org>
masneyb
parents: 131
diff changeset
253
84b3e69807a2 2003-4-18 Brian Masney <masneyb@gftp.org>
masneyb
parents: 131
diff changeset
254 typedef struct gftp_config_vars_tag
84b3e69807a2 2003-4-18 Brian Masney <masneyb@gftp.org>
masneyb
parents: 131
diff changeset
255 {
84b3e69807a2 2003-4-18 Brian Masney <masneyb@gftp.org>
masneyb
parents: 131
diff changeset
256 char *key, /* variable name */
84b3e69807a2 2003-4-18 Brian Masney <masneyb@gftp.org>
masneyb
parents: 131
diff changeset
257 *description; /* How this field will show up in the dialog */
84b3e69807a2 2003-4-18 Brian Masney <masneyb@gftp.org>
masneyb
parents: 131
diff changeset
258 int otype; /* Type of option this is */
84b3e69807a2 2003-4-18 Brian Masney <masneyb@gftp.org>
masneyb
parents: 131
diff changeset
259 void *value;
84b3e69807a2 2003-4-18 Brian Masney <masneyb@gftp.org>
masneyb
parents: 131
diff changeset
260 void *listdata; /* For options that have several different
84b3e69807a2 2003-4-18 Brian Masney <masneyb@gftp.org>
masneyb
parents: 131
diff changeset
261 options, this is a list of all the options.
84b3e69807a2 2003-4-18 Brian Masney <masneyb@gftp.org>
masneyb
parents: 131
diff changeset
262 Each option_type that uses this will use this
84b3e69807a2 2003-4-18 Brian Masney <masneyb@gftp.org>
masneyb
parents: 131
diff changeset
263 field differently */
84b3e69807a2 2003-4-18 Brian Masney <masneyb@gftp.org>
masneyb
parents: 131
diff changeset
264 int flags; /* See GFTP_CVARS_FLAGS_* above */
84b3e69807a2 2003-4-18 Brian Masney <masneyb@gftp.org>
masneyb
parents: 131
diff changeset
265 char *comment; /* Comment to write out to the config file */
84b3e69807a2 2003-4-18 Brian Masney <masneyb@gftp.org>
masneyb
parents: 131
diff changeset
266 int ports_shown; /* What ports of gFTP is this option shown in */
84b3e69807a2 2003-4-18 Brian Masney <masneyb@gftp.org>
masneyb
parents: 131
diff changeset
267 void *user_data; /* Data that the GUI can store here (Widget in gtk+) */
84b3e69807a2 2003-4-18 Brian Masney <masneyb@gftp.org>
masneyb
parents: 131
diff changeset
268 } gftp_config_vars;
84b3e69807a2 2003-4-18 Brian Masney <masneyb@gftp.org>
masneyb
parents: 131
diff changeset
269
84b3e69807a2 2003-4-18 Brian Masney <masneyb@gftp.org>
masneyb
parents: 131
diff changeset
270
84b3e69807a2 2003-4-18 Brian Masney <masneyb@gftp.org>
masneyb
parents: 131
diff changeset
271 typedef struct gftp_option_type_tag
84b3e69807a2 2003-4-18 Brian Masney <masneyb@gftp.org>
masneyb
parents: 131
diff changeset
272 {
84b3e69807a2 2003-4-18 Brian Masney <masneyb@gftp.org>
masneyb
parents: 131
diff changeset
273 int (*read_function) (char *str, gftp_config_vars * cv, int line);
84b3e69807a2 2003-4-18 Brian Masney <masneyb@gftp.org>
masneyb
parents: 131
diff changeset
274 int (*write_function) (gftp_config_vars * cv, FILE * fd, int to_config_file);
207
cf4098008615 2003-7-1 Brian Masney <masneyb@gftp.org>
masneyb
parents: 202
diff changeset
275 void (*copy_function) (gftp_config_vars * cv, gftp_config_vars * dest_cv);
227
a85a097bbb02 2003-7-20 Brian Masney <masneyb@gftp.org>
masneyb
parents: 218
diff changeset
276 int (*compare_function) (gftp_config_vars * cv1, gftp_config_vars * cv2);
229
35ae2e80962e 2003-7-22 Brian Masney <masneyb@gftp.org>
masneyb
parents: 227
diff changeset
277 void *(*ui_print_function) (gftp_config_vars * cv, void *user_data, void *value);
136
84b3e69807a2 2003-4-18 Brian Masney <masneyb@gftp.org>
masneyb
parents: 131
diff changeset
278 void (*ui_save_function) (gftp_config_vars * cv, void *user_data);
139
c363b08e0118 2003-4-21 Brian Masney <masneyb@gftp.org>
masneyb
parents: 136
diff changeset
279 void (*ui_cancel_function) (gftp_config_vars * cv, void *user_data);
136
84b3e69807a2 2003-4-18 Brian Masney <masneyb@gftp.org>
masneyb
parents: 131
diff changeset
280 void *user_data;
84b3e69807a2 2003-4-18 Brian Masney <masneyb@gftp.org>
masneyb
parents: 131
diff changeset
281 } gftp_option_type_var;
84b3e69807a2 2003-4-18 Brian Masney <masneyb@gftp.org>
masneyb
parents: 131
diff changeset
282
84b3e69807a2 2003-4-18 Brian Masney <masneyb@gftp.org>
masneyb
parents: 131
diff changeset
283
84b3e69807a2 2003-4-18 Brian Masney <masneyb@gftp.org>
masneyb
parents: 131
diff changeset
284 #define GFTP_TEXTCOMBOEDT_EDITABLE (1 << 0)
84b3e69807a2 2003-4-18 Brian Masney <masneyb@gftp.org>
masneyb
parents: 131
diff changeset
285
84b3e69807a2 2003-4-18 Brian Masney <masneyb@gftp.org>
masneyb
parents: 131
diff changeset
286 typedef struct gftp_textcomboedt_data_tag
84b3e69807a2 2003-4-18 Brian Masney <masneyb@gftp.org>
masneyb
parents: 131
diff changeset
287 {
84b3e69807a2 2003-4-18 Brian Masney <masneyb@gftp.org>
masneyb
parents: 131
diff changeset
288 char *description,
84b3e69807a2 2003-4-18 Brian Masney <masneyb@gftp.org>
masneyb
parents: 131
diff changeset
289 *text;
84b3e69807a2 2003-4-18 Brian Masney <masneyb@gftp.org>
masneyb
parents: 131
diff changeset
290 int flags;
84b3e69807a2 2003-4-18 Brian Masney <masneyb@gftp.org>
masneyb
parents: 131
diff changeset
291 } gftp_textcomboedt_data;
84b3e69807a2 2003-4-18 Brian Masney <masneyb@gftp.org>
masneyb
parents: 131
diff changeset
292
84b3e69807a2 2003-4-18 Brian Masney <masneyb@gftp.org>
masneyb
parents: 131
diff changeset
293
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
294 typedef struct gftp_request_tag gftp_request;
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
295
186
13ca1defdc75 2003-6-16 Brian Masney <masneyb@gftp.org>
masneyb
parents: 184
diff changeset
296 typedef void (*gftp_logging_func) ( gftp_logging_level level,
13ca1defdc75 2003-6-16 Brian Masney <masneyb@gftp.org>
masneyb
parents: 184
diff changeset
297 gftp_request * request,
13ca1defdc75 2003-6-16 Brian Masney <masneyb@gftp.org>
masneyb
parents: 184
diff changeset
298 const char *string, ... );
13ca1defdc75 2003-6-16 Brian Masney <masneyb@gftp.org>
masneyb
parents: 184
diff changeset
299
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
300 struct gftp_request_tag
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
301 {
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
302 int protonum; /* Current number of the protocol this is
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
303 set to */
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
304 char *hostname, /* Hostname we will connect to */
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
305 *username, /* Username for host*/
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
306 *password, /* Password for host */
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
307 *account, /* Account for host (FTP only) */
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
308 *directory, /* Current working directory */
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
309 *url_prefix, /* URL Prefix (ex: ftp) */
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
310 *last_ftp_response, /* Last response from server */
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
311 *last_dir_entry; /* Last dir entry from server */
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
312 size_t last_dir_entry_len; /* Length of last_dir_entry */
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
313
122
76e2b58a9440 2003-4-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 102
diff changeset
314 unsigned int port; /* Port of remote site */
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
315
169
d40f9db52cdf 2003-6-8 Brian Masney <masneyb@gftp.org>
masneyb
parents: 168
diff changeset
316 int datafd, /* Data connection */
58
c01d91c10f6c 2002-11-20 Brian Masney <masneyb@gftp.org>
masneyb
parents: 56
diff changeset
317 cachefd; /* For the directory cache */
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
318 int wakeup_main_thread[2]; /* FD that gets written to by the threads
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
319 to wakeup the parent */
122
76e2b58a9440 2003-4-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 102
diff changeset
320
76e2b58a9440 2003-4-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 102
diff changeset
321 /* One of these are used to lookup the IP address of the host we are
76e2b58a9440 2003-4-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 102
diff changeset
322 connecting to */
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
323 #if defined (HAVE_GETADDRINFO) && defined (HAVE_GAI_STRERROR)
122
76e2b58a9440 2003-4-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 102
diff changeset
324 struct addrinfo *hostp;
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
325 #else
122
76e2b58a9440 2003-4-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 102
diff changeset
326 struct hostent host, *hostp;
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
327 #endif
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
328
122
76e2b58a9440 2003-4-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 102
diff changeset
329 int server_type; /* The type of server we are connected to.
76e2b58a9440 2003-4-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 102
diff changeset
330 See GFTP_DIRTYPE_* above */
151
2f15b3000dbc 2003-4-27 Brian Masney <masneyb@gftp.org>
masneyb
parents: 146
diff changeset
331 unsigned int free_hostp : 1, /* Should we free the hostp structure
2f15b3000dbc 2003-4-27 Brian Masney <masneyb@gftp.org>
masneyb
parents: 146
diff changeset
332 in gftp_destroy_request() */
2f15b3000dbc 2003-4-27 Brian Masney <masneyb@gftp.org>
masneyb
parents: 146
diff changeset
333 use_proxy : 1,
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
334 always_connected : 1,
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
335 need_hostport : 1,
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
336 need_userpass : 1,
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
337 use_cache : 1, /* Enable or disable the cache */
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
338 use_threads : 1, /* Whether we need to spawn a thread
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
339 for this protocol */
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
340 cached : 1, /* Is this directory listing cached? */
41
4bcfaf6307b5 2002-10-29 Brian Masney <masneyb@gftp.org>
masneyb
parents: 40
diff changeset
341 cancel : 1, /* If a signal is received, should
4bcfaf6307b5 2002-10-29 Brian Masney <masneyb@gftp.org>
masneyb
parents: 40
diff changeset
342 we cancel this operation */
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
343 stopable : 1;
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
344
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
345 off_t gotbytes;
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
346
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
347 void *protocol_data;
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
348
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
349 gftp_logging_func logging_function;
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
350 void *user_data;
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
351
173
4c288d05b26a 2003-6-8 Brian Masney <masneyb@gftp.org>
masneyb
parents: 169
diff changeset
352 int (*init) ( gftp_request * request );
309
cc2eeb30b793 2003-11-7 Brian Masney <masneyb@gftp.org>
masneyb
parents: 305
diff changeset
353 void (*copy_param_options) ( gftp_request * dest_request,
cc2eeb30b793 2003-11-7 Brian Masney <masneyb@gftp.org>
masneyb
parents: 305
diff changeset
354 gftp_request * src_request );
168
c505d9ba9d53 2003-6-6 Brian Masney <masneyb@gftp.org>
masneyb
parents: 151
diff changeset
355 ssize_t (*read_function) ( gftp_request * request,
c505d9ba9d53 2003-6-6 Brian Masney <masneyb@gftp.org>
masneyb
parents: 151
diff changeset
356 void *ptr,
c505d9ba9d53 2003-6-6 Brian Masney <masneyb@gftp.org>
masneyb
parents: 151
diff changeset
357 size_t size,
c505d9ba9d53 2003-6-6 Brian Masney <masneyb@gftp.org>
masneyb
parents: 151
diff changeset
358 int fd );
c505d9ba9d53 2003-6-6 Brian Masney <masneyb@gftp.org>
masneyb
parents: 151
diff changeset
359 ssize_t (*write_function) ( gftp_request * request,
c505d9ba9d53 2003-6-6 Brian Masney <masneyb@gftp.org>
masneyb
parents: 151
diff changeset
360 const char *ptr,
c505d9ba9d53 2003-6-6 Brian Masney <masneyb@gftp.org>
masneyb
parents: 151
diff changeset
361 size_t size,
c505d9ba9d53 2003-6-6 Brian Masney <masneyb@gftp.org>
masneyb
parents: 151
diff changeset
362 int fd );
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
363 void (*destroy) ( gftp_request * request );
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
364 int (*connect) ( gftp_request * request );
168
c505d9ba9d53 2003-6-6 Brian Masney <masneyb@gftp.org>
masneyb
parents: 151
diff changeset
365 int (*post_connect) ( gftp_request * request );
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
366 void (*disconnect) ( gftp_request * request );
58
c01d91c10f6c 2002-11-20 Brian Masney <masneyb@gftp.org>
masneyb
parents: 56
diff changeset
367 off_t (*get_file) ( gftp_request * request,
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
368 const char *filename,
58
c01d91c10f6c 2002-11-20 Brian Masney <masneyb@gftp.org>
masneyb
parents: 56
diff changeset
369 int fd,
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
370 off_t startsize );
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
371 int (*put_file) ( gftp_request * request,
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
372 const char *filename,
58
c01d91c10f6c 2002-11-20 Brian Masney <masneyb@gftp.org>
masneyb
parents: 56
diff changeset
373 int fd,
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
374 off_t startsize,
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
375 off_t totalsize );
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
376 long (*transfer_file) ( gftp_request * fromreq,
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
377 const char *fromfile,
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
378 off_t fromsize,
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
379 gftp_request * toreq,
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
380 const char *tofile,
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
381 off_t tosize );
58
c01d91c10f6c 2002-11-20 Brian Masney <masneyb@gftp.org>
masneyb
parents: 56
diff changeset
382 ssize_t (*get_next_file_chunk) ( gftp_request * request,
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
383 char *buf,
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
384 size_t size );
58
c01d91c10f6c 2002-11-20 Brian Masney <masneyb@gftp.org>
masneyb
parents: 56
diff changeset
385 ssize_t (*put_next_file_chunk) ( gftp_request * request,
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
386 char *buf,
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
387 size_t size );
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
388 int (*end_transfer) ( gftp_request * request );
40
66c064fd05bc 2002-10-17 Brian Masney <masneyb@gftp.org>
masneyb
parents: 37
diff changeset
389 int (*abort_transfer) ( gftp_request * request );
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
390 int (*list_files) ( gftp_request * request );
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
391 int (*get_next_file) ( gftp_request * request,
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
392 gftp_file *fle,
58
c01d91c10f6c 2002-11-20 Brian Masney <masneyb@gftp.org>
masneyb
parents: 56
diff changeset
393 int fd );
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
394 off_t (*get_file_size) ( gftp_request * request,
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
395 const char *filename );
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
396 int (*chdir) ( gftp_request * request,
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
397 const char *directory );
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
398 int (*rmdir) ( gftp_request * request,
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
399 const char *directory );
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
400 int (*rmfile) ( gftp_request * request,
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
401 const char *filename );
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
402 int (*mkdir) ( gftp_request * request,
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
403 const char *directory );
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
404 int (*rename) ( gftp_request * request,
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
405 const char *oldname,
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
406 const char *newname );
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
407 int (*chmod) ( gftp_request * request,
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
408 const char *filename,
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
409 int mode );
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
410 int (*set_file_time) ( gftp_request * request,
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
411 const char *filename,
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
412 time_t datettime );
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
413 int (*site) ( gftp_request * request,
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
414 const char *filename );
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
415 int (*parse_url) ( gftp_request * request,
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
416 const char *url );
177
aec4b4541d3a 2003-6-9 Brian Masney <masneyb@gftp.org>
masneyb
parents: 174
diff changeset
417 int (*set_config_options) ( gftp_request * request );
63
41b71c4e5076 2002-11-2333 Brian Masney <masneyb@gftp.org>
masneyb
parents: 58
diff changeset
418 void (*swap_socks) ( gftp_request * dest,
41b71c4e5076 2002-11-2333 Brian Masney <masneyb@gftp.org>
masneyb
parents: 58
diff changeset
419 gftp_request * source );
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
420
136
84b3e69807a2 2003-4-18 Brian Masney <masneyb@gftp.org>
masneyb
parents: 131
diff changeset
421 gftp_config_vars * local_options_vars;
84b3e69807a2 2003-4-18 Brian Masney <masneyb@gftp.org>
masneyb
parents: 131
diff changeset
422 int num_local_options_vars;
84b3e69807a2 2003-4-18 Brian Masney <masneyb@gftp.org>
masneyb
parents: 131
diff changeset
423 GHashTable * local_options_hash;
168
c505d9ba9d53 2003-6-6 Brian Masney <masneyb@gftp.org>
masneyb
parents: 151
diff changeset
424 #ifdef USE_SSL
c505d9ba9d53 2003-6-6 Brian Masney <masneyb@gftp.org>
masneyb
parents: 151
diff changeset
425 SSL * ssl;
c505d9ba9d53 2003-6-6 Brian Masney <masneyb@gftp.org>
masneyb
parents: 151
diff changeset
426 #endif
184
65eb40fb4f03 2003-6-16 Brian Masney <masneyb@gftp.org>
masneyb
parents: 182
diff changeset
427
65eb40fb4f03 2003-6-16 Brian Masney <masneyb@gftp.org>
masneyb
parents: 182
diff changeset
428 #if GLIB_MAJOR_VERSION > 1
65eb40fb4f03 2003-6-16 Brian Masney <masneyb@gftp.org>
masneyb
parents: 182
diff changeset
429 GIConv iconv;
65eb40fb4f03 2003-6-16 Brian Masney <masneyb@gftp.org>
masneyb
parents: 182
diff changeset
430 unsigned int iconv_initialized : 1;
65eb40fb4f03 2003-6-16 Brian Masney <masneyb@gftp.org>
masneyb
parents: 182
diff changeset
431 #endif
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
432 };
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
433
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
434
136
84b3e69807a2 2003-4-18 Brian Masney <masneyb@gftp.org>
masneyb
parents: 131
diff changeset
435 typedef struct gftp_transfer_tag
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
436 {
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
437 gftp_request * fromreq,
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
438 * toreq;
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
439
305
6d180e6a8ba5 2003-11-3 Brian Masney <masneyb@gftp.org>
masneyb
parents: 303
diff changeset
440 unsigned int cancel : 1,
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
441 ready : 1,
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
442 started : 1,
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
443 done : 1,
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
444 show : 1,
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
445 stalled : 1,
303
3b9d5797050f 2003-11-2 Brian Masney <masneyb@gftp.org>
masneyb
parents: 291
diff changeset
446 conn_error_no_timeout : 1,
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
447 next_file : 1,
14
83090328581e * More largefile support. Hopefully all that is left is the configure stuff
masneyb
parents: 1
diff changeset
448 skip_file : 1;
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
449
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
450 struct timeval starttime,
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
451 lasttime;
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
452
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
453 double kbs;
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
454
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
455 GList * files,
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
456 * curfle,
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
457 * updfle;
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
458
19
3b2dcdefc7e9 2002-09-15 Brian Masney <masneyb@gftp.org>
masneyb
parents: 16
diff changeset
459 long numfiles,
3b2dcdefc7e9 2002-09-15 Brian Masney <masneyb@gftp.org>
masneyb
parents: 16
diff changeset
460 numdirs,
3b2dcdefc7e9 2002-09-15 Brian Masney <masneyb@gftp.org>
masneyb
parents: 16
diff changeset
461 current_file_number,
3b2dcdefc7e9 2002-09-15 Brian Masney <masneyb@gftp.org>
masneyb
parents: 16
diff changeset
462 current_file_retries;
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
463
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
464 off_t curtrans, /* Current transfered bytes for this file */
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
465 curresumed, /* Resumed bytes for this file */
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
466 trans_bytes, /* Amount of data transfered for entire
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
467 transfer */
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
468 total_bytes, /* Grand total bytes for whole transfer */
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
469 resumed_bytes; /* Grand total of resumed bytes for whole
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
470 transfer */
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
471
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
472 void * fromwdata,
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
473 * towdata;
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
474
122
76e2b58a9440 2003-4-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 102
diff changeset
475 GStaticMutex statmutex,
76e2b58a9440 2003-4-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 102
diff changeset
476 structmutex;
76e2b58a9440 2003-4-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 102
diff changeset
477
125
b875de05c22d 2003-4-8 Brian Masney <masneyb@gftp.org>
masneyb
parents: 124
diff changeset
478 void *user_data;
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
479 void *clist;
136
84b3e69807a2 2003-4-18 Brian Masney <masneyb@gftp.org>
masneyb
parents: 131
diff changeset
480 } gftp_transfer;
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
481
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
482
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
483 typedef struct gftp_log_tag
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
484 {
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
485 char *msg;
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
486 gftp_logging_level type;
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
487 } gftp_log;
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
488
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
489
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
490 typedef struct supported_gftp_protocols_tag
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
491 {
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
492 char *name; /* Description of protocol */
173
4c288d05b26a 2003-6-8 Brian Masney <masneyb@gftp.org>
masneyb
parents: 169
diff changeset
493 int (*init) (gftp_request * request); /* Init function */
122
76e2b58a9440 2003-4-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 102
diff changeset
494 void (*register_options) (void); /* Protocol options */
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
495 char *url_prefix; /* URL Prefix */
122
76e2b58a9440 2003-4-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 102
diff changeset
496 int shown; /* Whether this protocol is
76e2b58a9440 2003-4-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 102
diff changeset
497 shown or not to the user in
76e2b58a9440 2003-4-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 102
diff changeset
498 the protocol dropdown box */
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
499 } supported_gftp_protocols;
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
500
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
501
122
76e2b58a9440 2003-4-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 102
diff changeset
502 typedef struct gftp_bookmarks_tag gftp_bookmarks_var;
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
503
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
504 struct gftp_bookmarks_tag
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
505 {
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
506 char *path; /* Path */
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
507 char *hostname, /* Our actual internet hostname */
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
508 *protocol, /* Protocol we will connect through */
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
509 *remote_dir, /* Initial directory */
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
510 *local_dir, /* Init local directory */
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
511 *user, /* Username to log in as */
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
512 *pass, /* Our password */
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
513 *acct; /* Account */
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
514
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
515 unsigned int port, /* The port we will connect to */
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
516 isfolder : 1, /* If this is set, then the children field can
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
517 be non-NULL */
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
518 save_password : 1; /* Save this password */
122
76e2b58a9440 2003-4-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 102
diff changeset
519 gftp_bookmarks_var *children, /* The children of this node. */
76e2b58a9440 2003-4-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 102
diff changeset
520 *prev, /* The parent of this node */
76e2b58a9440 2003-4-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 102
diff changeset
521 *next; /* The next sibling of this node */
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
522 gpointer cnode;
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
523
199
75eebb3b0592 2003-6-24 Brian Masney <masneyb@gftp.org>
masneyb
parents: 198
diff changeset
524 gftp_config_vars * local_options_vars;
75eebb3b0592 2003-6-24 Brian Masney <masneyb@gftp.org>
masneyb
parents: 198
diff changeset
525 int num_local_options_vars;
75eebb3b0592 2003-6-24 Brian Masney <masneyb@gftp.org>
masneyb
parents: 198
diff changeset
526 GHashTable * local_options_hash;
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
527 };
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
528
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
529
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
530 typedef struct gftp_file_extensions_tag
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
531 {
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
532 char *ext, /* The file extension to register */
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
533 *filename, /* The xpm file to display */
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
534 *view_program, /* The program used to view this file */
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
535 *ascii_binary; /* Is this a ASCII transfer or a BINARY transfer */
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
536 int stlen; /* How long is the file extension. */
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
537 } gftp_file_extensions;
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
538
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
539
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
540 typedef struct gftp_color_tag
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
541 {
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
542 gushort red,
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
543 green,
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
544 blue;
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
545 } gftp_color;
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
546
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
547
58
c01d91c10f6c 2002-11-20 Brian Masney <masneyb@gftp.org>
masneyb
parents: 56
diff changeset
548 typedef struct gftp_getline_buffer_tag
c01d91c10f6c 2002-11-20 Brian Masney <masneyb@gftp.org>
masneyb
parents: 56
diff changeset
549 {
c01d91c10f6c 2002-11-20 Brian Masney <masneyb@gftp.org>
masneyb
parents: 56
diff changeset
550 char *buffer,
c01d91c10f6c 2002-11-20 Brian Masney <masneyb@gftp.org>
masneyb
parents: 56
diff changeset
551 *curpos;
c01d91c10f6c 2002-11-20 Brian Masney <masneyb@gftp.org>
masneyb
parents: 56
diff changeset
552 size_t max_bufsize,
c01d91c10f6c 2002-11-20 Brian Masney <masneyb@gftp.org>
masneyb
parents: 56
diff changeset
553 cur_bufsize;
179
8d933999bba6 2003-6-14 Brian Masney <masneyb@gftp.org>
masneyb
parents: 178
diff changeset
554 unsigned int eof : 1;
58
c01d91c10f6c 2002-11-20 Brian Masney <masneyb@gftp.org>
masneyb
parents: 56
diff changeset
555 } gftp_getline_buffer;
c01d91c10f6c 2002-11-20 Brian Masney <masneyb@gftp.org>
masneyb
parents: 56
diff changeset
556
126
1e65871fdfa1 2003-4-9 Brian Masney <masneyb@gftp.org>
masneyb
parents: 125
diff changeset
557
122
76e2b58a9440 2003-4-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 102
diff changeset
558 /* Global config options. These are defined in options.h */
76e2b58a9440 2003-4-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 102
diff changeset
559 extern GList * gftp_file_transfers, * gftp_file_transfer_logs,
76e2b58a9440 2003-4-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 102
diff changeset
560 * gftp_options_list;
76e2b58a9440 2003-4-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 102
diff changeset
561 extern GHashTable * gftp_global_options_htable, * gftp_bookmarks_htable,
76e2b58a9440 2003-4-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 102
diff changeset
562 * gftp_config_list_htable;
76e2b58a9440 2003-4-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 102
diff changeset
563 extern gftp_config_vars gftp_global_config_vars[];
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
564 extern supported_gftp_protocols gftp_protocols[];
122
76e2b58a9440 2003-4-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 102
diff changeset
565 extern gftp_bookmarks_var * gftp_bookmarks;
76e2b58a9440 2003-4-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 102
diff changeset
566 extern char gftp_version[];
76e2b58a9440 2003-4-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 102
diff changeset
567 extern FILE * gftp_logfd;
201
0098dae654a5 2003-6-25 Brian Masney <masneyb@gftp.org>
masneyb
parents: 199
diff changeset
568 extern int gftp_configuration_changed;
122
76e2b58a9440 2003-4-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 102
diff changeset
569
76e2b58a9440 2003-4-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 102
diff changeset
570 /* This is defined in config_file.c */
76e2b58a9440 2003-4-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 102
diff changeset
571
76e2b58a9440 2003-4-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 102
diff changeset
572 extern gftp_option_type_var gftp_option_types[];
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
573
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
574 /* cache.c */
182
33b394ebba68 2003-6-15 Brian Masney <masneyb@gftp.org>
masneyb
parents: 179
diff changeset
575 void gftp_generate_cache_description ( gftp_request * request,
33b394ebba68 2003-6-15 Brian Masney <masneyb@gftp.org>
masneyb
parents: 179
diff changeset
576 char *description,
33b394ebba68 2003-6-15 Brian Masney <masneyb@gftp.org>
masneyb
parents: 179
diff changeset
577 size_t len,
33b394ebba68 2003-6-15 Brian Masney <masneyb@gftp.org>
masneyb
parents: 179
diff changeset
578 int ignore_directory );
33b394ebba68 2003-6-15 Brian Masney <masneyb@gftp.org>
masneyb
parents: 179
diff changeset
579
58
c01d91c10f6c 2002-11-20 Brian Masney <masneyb@gftp.org>
masneyb
parents: 56
diff changeset
580 int gftp_new_cache_entry ( gftp_request * request );
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
581
58
c01d91c10f6c 2002-11-20 Brian Masney <masneyb@gftp.org>
masneyb
parents: 56
diff changeset
582 int gftp_find_cache_entry ( gftp_request * request );
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
583
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
584 void gftp_clear_cache_files ( void );
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
585
47
eec25f215772 2002-11-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 41
diff changeset
586 void gftp_delete_cache_entry ( gftp_request * request,
182
33b394ebba68 2003-6-15 Brian Masney <masneyb@gftp.org>
masneyb
parents: 179
diff changeset
587 char *descr,
47
eec25f215772 2002-11-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 41
diff changeset
588 int ignore_directory );
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
589
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
590 /* config_file.c */
198
8fea1b1a2ec6 2003-6-22 Brian Masney <masneyb@gftp.org>
masneyb
parents: 186
diff changeset
591 int gftp_config_parse_args ( char *str,
8fea1b1a2ec6 2003-6-22 Brian Masney <masneyb@gftp.org>
masneyb
parents: 186
diff changeset
592 int numargs,
8fea1b1a2ec6 2003-6-22 Brian Masney <masneyb@gftp.org>
masneyb
parents: 186
diff changeset
593 int lineno,
8fea1b1a2ec6 2003-6-22 Brian Masney <masneyb@gftp.org>
masneyb
parents: 186
diff changeset
594 char **first,
8fea1b1a2ec6 2003-6-22 Brian Masney <masneyb@gftp.org>
masneyb
parents: 186
diff changeset
595 ... );
8fea1b1a2ec6 2003-6-22 Brian Masney <masneyb@gftp.org>
masneyb
parents: 186
diff changeset
596
122
76e2b58a9440 2003-4-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 102
diff changeset
597 void gftp_add_bookmark ( gftp_bookmarks_var * newentry );
76e2b58a9440 2003-4-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 102
diff changeset
598
124
65048c959029 2003-4-6 Brian Masney <masneyb@gftp.org>
masneyb
parents: 122
diff changeset
599 void gftp_read_config_file ( char *global_data_path );
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
600
122
76e2b58a9440 2003-4-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 102
diff changeset
601 void gftp_write_bookmarks_file ( void );
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
602
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
603 void gftp_write_config_file ( void );
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
604
122
76e2b58a9440 2003-4-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 102
diff changeset
605 GHashTable * build_bookmarks_hash_table ( gftp_bookmarks_var * entry );
76e2b58a9440 2003-4-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 102
diff changeset
606
76e2b58a9440 2003-4-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 102
diff changeset
607 void print_bookmarks ( gftp_bookmarks_var * bookmarks );
76e2b58a9440 2003-4-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 102
diff changeset
608
76e2b58a9440 2003-4-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 102
diff changeset
609 void gftp_lookup_global_option ( char * key,
76e2b58a9440 2003-4-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 102
diff changeset
610 void *value );
26
d74bfa342116 2002-09-24 gettextize <bug-gnu-gettext@gnu.org>
masneyb
parents: 19
diff changeset
611
122
76e2b58a9440 2003-4-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 102
diff changeset
612 void gftp_lookup_request_option ( gftp_request * request,
76e2b58a9440 2003-4-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 102
diff changeset
613 char * key,
76e2b58a9440 2003-4-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 102
diff changeset
614 void *value );
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
615
229
35ae2e80962e 2003-7-22 Brian Masney <masneyb@gftp.org>
masneyb
parents: 227
diff changeset
616 void gftp_lookup_bookmark_option ( gftp_bookmarks_var * bm,
35ae2e80962e 2003-7-22 Brian Masney <masneyb@gftp.org>
masneyb
parents: 227
diff changeset
617 char * key,
35ae2e80962e 2003-7-22 Brian Masney <masneyb@gftp.org>
masneyb
parents: 227
diff changeset
618 void *value );
35ae2e80962e 2003-7-22 Brian Masney <masneyb@gftp.org>
masneyb
parents: 227
diff changeset
619
122
76e2b58a9440 2003-4-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 102
diff changeset
620 void gftp_set_global_option ( char * key,
227
a85a097bbb02 2003-7-20 Brian Masney <masneyb@gftp.org>
masneyb
parents: 218
diff changeset
621 const void *value );
122
76e2b58a9440 2003-4-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 102
diff changeset
622
76e2b58a9440 2003-4-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 102
diff changeset
623 void gftp_set_request_option ( gftp_request * request,
76e2b58a9440 2003-4-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 102
diff changeset
624 char * key,
229
35ae2e80962e 2003-7-22 Brian Masney <masneyb@gftp.org>
masneyb
parents: 227
diff changeset
625 const void *value );
35ae2e80962e 2003-7-22 Brian Masney <masneyb@gftp.org>
masneyb
parents: 227
diff changeset
626
35ae2e80962e 2003-7-22 Brian Masney <masneyb@gftp.org>
masneyb
parents: 227
diff changeset
627 void gftp_set_bookmark_option ( gftp_bookmarks_var * bm,
35ae2e80962e 2003-7-22 Brian Masney <masneyb@gftp.org>
masneyb
parents: 227
diff changeset
628 char * key,
35ae2e80962e 2003-7-22 Brian Masney <masneyb@gftp.org>
masneyb
parents: 227
diff changeset
629 const void *value );
122
76e2b58a9440 2003-4-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 102
diff changeset
630
76e2b58a9440 2003-4-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 102
diff changeset
631 void gftp_register_config_vars ( gftp_config_vars *config_vars );
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
632
201
0098dae654a5 2003-6-25 Brian Masney <masneyb@gftp.org>
masneyb
parents: 199
diff changeset
633 void gftp_copy_local_options ( gftp_config_vars ** new_options_vars,
0098dae654a5 2003-6-25 Brian Masney <masneyb@gftp.org>
masneyb
parents: 199
diff changeset
634 GHashTable ** new_options_hash,
0098dae654a5 2003-6-25 Brian Masney <masneyb@gftp.org>
masneyb
parents: 199
diff changeset
635 gftp_config_vars * orig_options,
0098dae654a5 2003-6-25 Brian Masney <masneyb@gftp.org>
masneyb
parents: 199
diff changeset
636 int num_local_options_vars );
0098dae654a5 2003-6-25 Brian Masney <masneyb@gftp.org>
masneyb
parents: 199
diff changeset
637
0098dae654a5 2003-6-25 Brian Masney <masneyb@gftp.org>
masneyb
parents: 199
diff changeset
638 void gftp_config_free_options ( gftp_config_vars * options_vars,
0098dae654a5 2003-6-25 Brian Masney <masneyb@gftp.org>
masneyb
parents: 199
diff changeset
639 GHashTable * options_hash,
0098dae654a5 2003-6-25 Brian Masney <masneyb@gftp.org>
masneyb
parents: 199
diff changeset
640 int num_options_vars );
0098dae654a5 2003-6-25 Brian Masney <masneyb@gftp.org>
masneyb
parents: 199
diff changeset
641
0098dae654a5 2003-6-25 Brian Masney <masneyb@gftp.org>
masneyb
parents: 199
diff changeset
642 void gftp_bookmarks_destroy ( gftp_bookmarks_var * bookmarks );
0098dae654a5 2003-6-25 Brian Masney <masneyb@gftp.org>
masneyb
parents: 199
diff changeset
643
218
de6a2e8e51cb 2003-7-9 Brian Masney <masneyb@gftp.org>
masneyb
parents: 210
diff changeset
644 void gftp_free_proxy_hosts ( GList * proxy_hosts );
de6a2e8e51cb 2003-7-9 Brian Masney <masneyb@gftp.org>
masneyb
parents: 210
diff changeset
645
de6a2e8e51cb 2003-7-9 Brian Masney <masneyb@gftp.org>
masneyb
parents: 210
diff changeset
646 GList * gftp_copy_proxy_hosts ( GList * proxy_hosts );
de6a2e8e51cb 2003-7-9 Brian Masney <masneyb@gftp.org>
masneyb
parents: 210
diff changeset
647
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
648 /* misc.c */
14
83090328581e * More largefile support. Hopefully all that is left is the configure stuff
masneyb
parents: 1
diff changeset
649 char *insert_commas ( off_t number,
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
650 char *dest_str,
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
651 size_t dest_len );
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
652
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
653 char *alltrim ( char *str );
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
654
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
655 char *expand_path ( const char *src );
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
656
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
657 void make_nonnull ( char **str );
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
658
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
659 int copyfile ( char *source,
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
660 char *dest );
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
661
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
662 int gftp_match_filespec ( char *filename,
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
663 char *filespec );
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
664
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
665 int gftp_parse_command_line ( int *argc,
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
666 char ***argv );
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
667
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
668 void gftp_usage ( void );
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
669
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
670 gint string_hash_compare ( gconstpointer path1,
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
671 gconstpointer path2 );
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
672
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
673 guint string_hash_function ( gconstpointer key );
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
674
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
675 void free_file_list ( GList * filelist );
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
676
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
677 void free_fdata ( gftp_file * fle );
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
678
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
679 gftp_file * copy_fdata ( gftp_file * fle );
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
680
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
681 int compare_request ( gftp_request * request1,
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
682 gftp_request * request2,
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
683 int compare_dirs );
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
684
129
fe0b21c006f6 2003-4-13 Brian Masney <masneyb@gftp.org>
masneyb
parents: 126
diff changeset
685 gftp_transfer * gftp_tdata_new ( void );
fe0b21c006f6 2003-4-13 Brian Masney <masneyb@gftp.org>
masneyb
parents: 126
diff changeset
686
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
687 void free_tdata ( gftp_transfer * tdata );
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
688
151
2f15b3000dbc 2003-4-27 Brian Masney <masneyb@gftp.org>
masneyb
parents: 146
diff changeset
689 gftp_request * copy_request ( gftp_request * req,
2f15b3000dbc 2003-4-27 Brian Masney <masneyb@gftp.org>
masneyb
parents: 146
diff changeset
690 int copy_local_options );
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
691
16
ddb983d8574b * Improved directory sorting algorithm
masneyb
parents: 14
diff changeset
692 GList * gftp_sort_filelist ( GList * filelist,
ddb983d8574b * Improved directory sorting algorithm
masneyb
parents: 14
diff changeset
693 int column,
ddb983d8574b * Improved directory sorting algorithm
masneyb
parents: 14
diff changeset
694 int asds );
ddb983d8574b * Improved directory sorting algorithm
masneyb
parents: 14
diff changeset
695
125
b875de05c22d 2003-4-8 Brian Masney <masneyb@gftp.org>
masneyb
parents: 124
diff changeset
696 mode_t gftp_parse_attribs ( char *attribs );
b875de05c22d 2003-4-8 Brian Masney <masneyb@gftp.org>
masneyb
parents: 124
diff changeset
697
131
c77f85763e28 2003-4-13 Brian Masney <masneyb@gftp.org>
masneyb
parents: 129
diff changeset
698 char * gftp_gen_ls_string ( gftp_file * fle,
c77f85763e28 2003-4-13 Brian Masney <masneyb@gftp.org>
masneyb
parents: 129
diff changeset
699 char *file_prefixstr,
c77f85763e28 2003-4-13 Brian Masney <masneyb@gftp.org>
masneyb
parents: 129
diff changeset
700 char *file_suffixstr );
c77f85763e28 2003-4-13 Brian Masney <masneyb@gftp.org>
masneyb
parents: 129
diff changeset
701
168
c505d9ba9d53 2003-6-6 Brian Masney <masneyb@gftp.org>
masneyb
parents: 151
diff changeset
702 char * base64_encode ( char *str );
c505d9ba9d53 2003-6-6 Brian Masney <masneyb@gftp.org>
masneyb
parents: 151
diff changeset
703
199
75eebb3b0592 2003-6-24 Brian Masney <masneyb@gftp.org>
masneyb
parents: 198
diff changeset
704 void gftp_free_bookmark ( gftp_bookmarks_var * entry );
75eebb3b0592 2003-6-24 Brian Masney <masneyb@gftp.org>
masneyb
parents: 198
diff changeset
705
201
0098dae654a5 2003-6-25 Brian Masney <masneyb@gftp.org>
masneyb
parents: 199
diff changeset
706 void gftp_shutdown ( void );
199
75eebb3b0592 2003-6-24 Brian Masney <masneyb@gftp.org>
masneyb
parents: 198
diff changeset
707
207
cf4098008615 2003-7-1 Brian Masney <masneyb@gftp.org>
masneyb
parents: 202
diff changeset
708 GList * get_next_selection ( GList * selection,
cf4098008615 2003-7-1 Brian Masney <masneyb@gftp.org>
masneyb
parents: 202
diff changeset
709 GList ** list,
cf4098008615 2003-7-1 Brian Masney <masneyb@gftp.org>
masneyb
parents: 202
diff changeset
710 int *curnum );
cf4098008615 2003-7-1 Brian Masney <masneyb@gftp.org>
masneyb
parents: 202
diff changeset
711
245
41af60bc1f88 2003-8-4 Brian Masney <masneyb@gftp.org>
masneyb
parents: 244
diff changeset
712 char * gftp_build_path ( const char *first_element,
227
a85a097bbb02 2003-7-20 Brian Masney <masneyb@gftp.org>
masneyb
parents: 218
diff changeset
713 ... );
a85a097bbb02 2003-7-20 Brian Masney <masneyb@gftp.org>
masneyb
parents: 218
diff changeset
714
244
afbbc72b73e2 2003-8-3 Brian Masney <masneyb@gftp.org>
masneyb
parents: 243
diff changeset
715 off_t gftp_parse_file_size ( char *str );
afbbc72b73e2 2003-8-3 Brian Masney <masneyb@gftp.org>
masneyb
parents: 243
diff changeset
716
290
6e255984c0b0 2003-10-18 Brian Masney <masneyb@gftp.org>
masneyb
parents: 275
diff changeset
717 void gftp_locale_init ( void );
6e255984c0b0 2003-10-18 Brian Masney <masneyb@gftp.org>
masneyb
parents: 275
diff changeset
718
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
719 /* protocols.c */
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
720 #define GFTP_FTP_NUM 0
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
721 #define GFTP_HTTP_NUM 1
168
c505d9ba9d53 2003-6-6 Brian Masney <masneyb@gftp.org>
masneyb
parents: 151
diff changeset
722 #define GFTP_HTTPS_NUM 2
c505d9ba9d53 2003-6-6 Brian Masney <masneyb@gftp.org>
masneyb
parents: 151
diff changeset
723 #define GFTP_LOCAL_NUM 3
c505d9ba9d53 2003-6-6 Brian Masney <masneyb@gftp.org>
masneyb
parents: 151
diff changeset
724 #define GFTP_SSHV2_NUM 4
c505d9ba9d53 2003-6-6 Brian Masney <masneyb@gftp.org>
masneyb
parents: 151
diff changeset
725 #define GFTP_BOOKMARK_NUM 5
122
76e2b58a9440 2003-4-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 102
diff changeset
726
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
727 #define GFTP_IS_CONNECTED(request) ((request) != NULL && \
169
d40f9db52cdf 2003-6-8 Brian Masney <masneyb@gftp.org>
masneyb
parents: 168
diff changeset
728 ((request)->datafd > 0 || \
58
c01d91c10f6c 2002-11-20 Brian Masney <masneyb@gftp.org>
masneyb
parents: 56
diff changeset
729 (request)->cached || \
c01d91c10f6c 2002-11-20 Brian Masney <masneyb@gftp.org>
masneyb
parents: 56
diff changeset
730 (request)->always_connected))
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
731
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
732
173
4c288d05b26a 2003-6-8 Brian Masney <masneyb@gftp.org>
masneyb
parents: 169
diff changeset
733 int rfc959_init ( gftp_request * request );
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
734
122
76e2b58a9440 2003-4-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 102
diff changeset
735 void rfc959_register_module ( void );
76e2b58a9440 2003-4-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 102
diff changeset
736
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
737 int rfc959_get_next_file ( gftp_request * request,
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
738 gftp_file *fle,
58
c01d91c10f6c 2002-11-20 Brian Masney <masneyb@gftp.org>
masneyb
parents: 56
diff changeset
739 int fd );
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
740
173
4c288d05b26a 2003-6-8 Brian Masney <masneyb@gftp.org>
masneyb
parents: 169
diff changeset
741 int rfc2068_init ( gftp_request * request );
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
742
122
76e2b58a9440 2003-4-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 102
diff changeset
743 void rfc2068_register_module ( void );
76e2b58a9440 2003-4-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 102
diff changeset
744
173
4c288d05b26a 2003-6-8 Brian Masney <masneyb@gftp.org>
masneyb
parents: 169
diff changeset
745 int https_init ( gftp_request * request );
168
c505d9ba9d53 2003-6-6 Brian Masney <masneyb@gftp.org>
masneyb
parents: 151
diff changeset
746
c505d9ba9d53 2003-6-6 Brian Masney <masneyb@gftp.org>
masneyb
parents: 151
diff changeset
747 void https_register_module ( void );
c505d9ba9d53 2003-6-6 Brian Masney <masneyb@gftp.org>
masneyb
parents: 151
diff changeset
748
173
4c288d05b26a 2003-6-8 Brian Masney <masneyb@gftp.org>
masneyb
parents: 169
diff changeset
749 int local_init ( gftp_request * request );
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
750
122
76e2b58a9440 2003-4-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 102
diff changeset
751 void local_register_module ( void );
76e2b58a9440 2003-4-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 102
diff changeset
752
173
4c288d05b26a 2003-6-8 Brian Masney <masneyb@gftp.org>
masneyb
parents: 169
diff changeset
753 int sshv2_init ( gftp_request * request );
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
754
122
76e2b58a9440 2003-4-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 102
diff changeset
755 void sshv2_register_module ( void );
76e2b58a9440 2003-4-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 102
diff changeset
756
174
e643d287fe32 2003-6-8 Brian Masney <masneyb@gftp.org>
masneyb
parents: 173
diff changeset
757 void ssl_register_module ( void );
e643d287fe32 2003-6-8 Brian Masney <masneyb@gftp.org>
masneyb
parents: 173
diff changeset
758
173
4c288d05b26a 2003-6-8 Brian Masney <masneyb@gftp.org>
masneyb
parents: 169
diff changeset
759 int bookmark_init ( gftp_request * request );
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
760
122
76e2b58a9440 2003-4-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 102
diff changeset
761 void bookmark_register_module ( void );
76e2b58a9440 2003-4-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 102
diff changeset
762
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
763 gftp_request *gftp_request_new ( void );
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
764
67
aa971a4bb16f 2002-11-27 Brian Masney <masneyb@gftp.org>
masneyb
parents: 63
diff changeset
765 void gftp_request_destroy ( gftp_request * request,
aa971a4bb16f 2002-11-27 Brian Masney <masneyb@gftp.org>
masneyb
parents: 63
diff changeset
766 int free_request );
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
767
309
cc2eeb30b793 2003-11-7 Brian Masney <masneyb@gftp.org>
masneyb
parents: 305
diff changeset
768 void gftp_copy_param_options ( gftp_request * dest_request,
cc2eeb30b793 2003-11-7 Brian Masney <masneyb@gftp.org>
masneyb
parents: 305
diff changeset
769 gftp_request * src_request );
cc2eeb30b793 2003-11-7 Brian Masney <masneyb@gftp.org>
masneyb
parents: 305
diff changeset
770
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
771 void gftp_file_destroy ( gftp_file *file );
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
772
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
773 int gftp_connect ( gftp_request * request );
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
774
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
775 void gftp_disconnect ( gftp_request * request );
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
776
58
c01d91c10f6c 2002-11-20 Brian Masney <masneyb@gftp.org>
masneyb
parents: 56
diff changeset
777 off_t gftp_get_file ( gftp_request * request,
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
778 const char *filename,
58
c01d91c10f6c 2002-11-20 Brian Masney <masneyb@gftp.org>
masneyb
parents: 56
diff changeset
779 int fd,
244
afbbc72b73e2 2003-8-3 Brian Masney <masneyb@gftp.org>
masneyb
parents: 243
diff changeset
780 off_t startsize );
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
781
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
782 int gftp_put_file ( gftp_request * request,
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
783 const char *filename,
58
c01d91c10f6c 2002-11-20 Brian Masney <masneyb@gftp.org>
masneyb
parents: 56
diff changeset
784 int fd,
244
afbbc72b73e2 2003-8-3 Brian Masney <masneyb@gftp.org>
masneyb
parents: 243
diff changeset
785 off_t startsize,
afbbc72b73e2 2003-8-3 Brian Masney <masneyb@gftp.org>
masneyb
parents: 243
diff changeset
786 off_t totalsize );
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
787
261
dbf13a10be13 2003-8-20 Brian Masney <masneyb@gftp.org>
masneyb
parents: 253
diff changeset
788 off_t gftp_transfer_file ( gftp_request *fromreq,
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
789 const char *fromfile,
58
c01d91c10f6c 2002-11-20 Brian Masney <masneyb@gftp.org>
masneyb
parents: 56
diff changeset
790 int fromfd,
244
afbbc72b73e2 2003-8-3 Brian Masney <masneyb@gftp.org>
masneyb
parents: 243
diff changeset
791 off_t fromsize,
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
792 gftp_request *toreq,
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
793 const char *tofile,
58
c01d91c10f6c 2002-11-20 Brian Masney <masneyb@gftp.org>
masneyb
parents: 56
diff changeset
794 int tofd,
244
afbbc72b73e2 2003-8-3 Brian Masney <masneyb@gftp.org>
masneyb
parents: 243
diff changeset
795 off_t tosize );
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
796
58
c01d91c10f6c 2002-11-20 Brian Masney <masneyb@gftp.org>
masneyb
parents: 56
diff changeset
797 ssize_t gftp_get_next_file_chunk ( gftp_request * request,
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
798 char *buf,
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
799 size_t size );
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
800
58
c01d91c10f6c 2002-11-20 Brian Masney <masneyb@gftp.org>
masneyb
parents: 56
diff changeset
801 ssize_t gftp_put_next_file_chunk ( gftp_request * request,
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
802 char *buf,
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
803 size_t size );
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
804
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
805 int gftp_list_files ( gftp_request * request );
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
806
186
13ca1defdc75 2003-6-16 Brian Masney <masneyb@gftp.org>
masneyb
parents: 184
diff changeset
807 char * gftp_string_to_utf8 ( gftp_request * request,
291
265244924868 2003-10-19 Brian Masney <masneyb@gftp.org>
masneyb
parents: 290
diff changeset
808 const char *str );
265244924868 2003-10-19 Brian Masney <masneyb@gftp.org>
masneyb
parents: 290
diff changeset
809
265244924868 2003-10-19 Brian Masney <masneyb@gftp.org>
masneyb
parents: 290
diff changeset
810 char * gftp_string_from_utf8 ( gftp_request * request,
265244924868 2003-10-19 Brian Masney <masneyb@gftp.org>
masneyb
parents: 290
diff changeset
811 const char *str );
186
13ca1defdc75 2003-6-16 Brian Masney <masneyb@gftp.org>
masneyb
parents: 184
diff changeset
812
87
6df043359b41 2003-1-11 Brian Masney <masneyb@gftp.org>
masneyb
parents: 86
diff changeset
813 int gftp_parse_bookmark ( gftp_request * request,
243
b42e7233533a 2003-7-31 Brian Masney <masneyb@gftp.org>
masneyb
parents: 235
diff changeset
814 gftp_request * local_request,
275
5810b0f97eee 2003-9-21 Brian Masney <masneyb@gftp.org>
masneyb
parents: 261
diff changeset
815 const char * bookmark,
5810b0f97eee 2003-9-21 Brian Masney <masneyb@gftp.org>
masneyb
parents: 261
diff changeset
816 int *refresh_local );
87
6df043359b41 2003-1-11 Brian Masney <masneyb@gftp.org>
masneyb
parents: 86
diff changeset
817
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
818 int gftp_parse_url ( gftp_request * request,
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
819 const char *url );
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
820
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
821 int gftp_get_next_file ( gftp_request * request,
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
822 char *filespec,
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
823 gftp_file *fle );
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
824
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
825 int gftp_end_transfer ( gftp_request * request );
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
826
40
66c064fd05bc 2002-10-17 Brian Masney <masneyb@gftp.org>
masneyb
parents: 37
diff changeset
827 int gftp_abort_transfer ( gftp_request * request );
66c064fd05bc 2002-10-17 Brian Masney <masneyb@gftp.org>
masneyb
parents: 37
diff changeset
828
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
829 void gftp_set_hostname ( gftp_request * request,
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
830 const char *hostname );
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
831
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
832 void gftp_set_username ( gftp_request * request,
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
833 const char *username );
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
834
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
835 void gftp_set_password ( gftp_request * request,
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
836 const char *password );
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
837
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
838 void gftp_set_account ( gftp_request * request,
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
839 const char *account );
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
840
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
841 int gftp_set_directory ( gftp_request * request,
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
842 const char *directory );
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
843
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
844 void gftp_set_port ( gftp_request * request,
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
845 unsigned int port );
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
846
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
847 int gftp_remove_directory ( gftp_request * request,
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
848 const char *directory );
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
849
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
850 int gftp_remove_file ( gftp_request * request,
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
851 const char *file );
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
852
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
853 int gftp_make_directory ( gftp_request * request,
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
854 const char *directory );
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
855
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
856 int gftp_rename_file ( gftp_request * request,
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
857 const char *oldname,
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
858 const char *newname );
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
859
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
860 int gftp_chmod ( gftp_request * request,
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
861 const char *file,
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
862 int mode );
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
863
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
864 int gftp_set_file_time ( gftp_request * request,
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
865 const char *file,
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
866 time_t datetime );
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
867
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
868 char gftp_site_cmd ( gftp_request * request,
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
869 const char *command );
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
870
58
c01d91c10f6c 2002-11-20 Brian Masney <masneyb@gftp.org>
masneyb
parents: 56
diff changeset
871 off_t gftp_get_file_size ( gftp_request * request,
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
872 const char *filename );
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
873
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
874 void gftp_calc_kbs ( gftp_transfer * tdata,
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
875 ssize_t num_read );
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
876
102
3b573c8ef706 2003-2-6 Brian Masney <masneyb@gftp.org>
masneyb
parents: 101
diff changeset
877 time_t parse_time ( char *str,
3b573c8ef706 2003-2-6 Brian Masney <masneyb@gftp.org>
masneyb
parents: 101
diff changeset
878 char **endpos );
3b573c8ef706 2003-2-6 Brian Masney <masneyb@gftp.org>
masneyb
parents: 101
diff changeset
879
91
8c37d73d3f1f 2003-1-21 Brian Masney <masneyb@gftp.org>
masneyb
parents: 87
diff changeset
880 int gftp_parse_ls ( gftp_request * request,
8c37d73d3f1f 2003-1-21 Brian Masney <masneyb@gftp.org>
masneyb
parents: 87
diff changeset
881 const char *lsoutput,
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
882 gftp_file *fle );
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
883
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
884 int gftp_get_all_subdirs ( gftp_transfer * transfer,
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
885 void (*update_func)
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
886 ( gftp_transfer * transfer ));
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
887
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
888 int gftp_connect_server ( gftp_request * request,
122
76e2b58a9440 2003-4-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 102
diff changeset
889 char *service,
76e2b58a9440 2003-4-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 102
diff changeset
890 char *proxy_hostname,
76e2b58a9440 2003-4-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 102
diff changeset
891 int proxy_port );
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
892
122
76e2b58a9440 2003-4-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 102
diff changeset
893 #if !defined (HAVE_GETADDRINFO) || !defined (HAVE_GAI_STRERROR)
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
894
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
895 struct hostent *r_gethostbyname ( const char *name,
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
896 struct hostent *result_buf,
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
897 int *h_errnop );
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
898
56
a12bcbc2fce4 2002-11-11 Brian Masney <masneyb@gftp.org>
masneyb
parents: 48
diff changeset
899 #endif
a12bcbc2fce4 2002-11-11 Brian Masney <masneyb@gftp.org>
masneyb
parents: 48
diff changeset
900
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
901 struct servent *r_getservbyname ( const char *name,
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
902 const char *proto,
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
903 struct servent *result_buf,
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
904 int *h_errnop );
122
76e2b58a9440 2003-4-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 102
diff changeset
905
177
aec4b4541d3a 2003-6-9 Brian Masney <masneyb@gftp.org>
masneyb
parents: 174
diff changeset
906 int gftp_set_config_options ( gftp_request * request );
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
907
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
908 void print_file_list ( GList * list );
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
909
201
0098dae654a5 2003-6-25 Brian Masney <masneyb@gftp.org>
masneyb
parents: 199
diff changeset
910 void gftp_free_getline_buffer ( gftp_getline_buffer ** rbuf );
168
c505d9ba9d53 2003-6-6 Brian Masney <masneyb@gftp.org>
masneyb
parents: 151
diff changeset
911
58
c01d91c10f6c 2002-11-20 Brian Masney <masneyb@gftp.org>
masneyb
parents: 56
diff changeset
912 ssize_t gftp_get_line ( gftp_request * request,
c01d91c10f6c 2002-11-20 Brian Masney <masneyb@gftp.org>
masneyb
parents: 56
diff changeset
913 gftp_getline_buffer ** rbuf,
41
4bcfaf6307b5 2002-10-29 Brian Masney <masneyb@gftp.org>
masneyb
parents: 40
diff changeset
914 char * str,
4bcfaf6307b5 2002-10-29 Brian Masney <masneyb@gftp.org>
masneyb
parents: 40
diff changeset
915 size_t len,
58
c01d91c10f6c 2002-11-20 Brian Masney <masneyb@gftp.org>
masneyb
parents: 56
diff changeset
916 int fd );
c01d91c10f6c 2002-11-20 Brian Masney <masneyb@gftp.org>
masneyb
parents: 56
diff changeset
917
168
c505d9ba9d53 2003-6-6 Brian Masney <masneyb@gftp.org>
masneyb
parents: 151
diff changeset
918 ssize_t gftp_fd_read ( gftp_request * request,
58
c01d91c10f6c 2002-11-20 Brian Masney <masneyb@gftp.org>
masneyb
parents: 56
diff changeset
919 void *ptr,
c01d91c10f6c 2002-11-20 Brian Masney <masneyb@gftp.org>
masneyb
parents: 56
diff changeset
920 size_t size,
c01d91c10f6c 2002-11-20 Brian Masney <masneyb@gftp.org>
masneyb
parents: 56
diff changeset
921 int fd );
41
4bcfaf6307b5 2002-10-29 Brian Masney <masneyb@gftp.org>
masneyb
parents: 40
diff changeset
922
168
c505d9ba9d53 2003-6-6 Brian Masney <masneyb@gftp.org>
masneyb
parents: 151
diff changeset
923 ssize_t gftp_fd_write ( gftp_request * request,
58
c01d91c10f6c 2002-11-20 Brian Masney <masneyb@gftp.org>
masneyb
parents: 56
diff changeset
924 const char *ptr,
41
4bcfaf6307b5 2002-10-29 Brian Masney <masneyb@gftp.org>
masneyb
parents: 40
diff changeset
925 size_t size,
58
c01d91c10f6c 2002-11-20 Brian Masney <masneyb@gftp.org>
masneyb
parents: 56
diff changeset
926 int fd );
c01d91c10f6c 2002-11-20 Brian Masney <masneyb@gftp.org>
masneyb
parents: 56
diff changeset
927
c01d91c10f6c 2002-11-20 Brian Masney <masneyb@gftp.org>
masneyb
parents: 56
diff changeset
928 ssize_t gftp_writefmt ( gftp_request * request,
c01d91c10f6c 2002-11-20 Brian Masney <masneyb@gftp.org>
masneyb
parents: 56
diff changeset
929 int fd,
c01d91c10f6c 2002-11-20 Brian Masney <masneyb@gftp.org>
masneyb
parents: 56
diff changeset
930 const char *fmt,
c01d91c10f6c 2002-11-20 Brian Masney <masneyb@gftp.org>
masneyb
parents: 56
diff changeset
931 ... );
c01d91c10f6c 2002-11-20 Brian Masney <masneyb@gftp.org>
masneyb
parents: 56
diff changeset
932
168
c505d9ba9d53 2003-6-6 Brian Masney <masneyb@gftp.org>
masneyb
parents: 151
diff changeset
933 int gftp_fd_set_sockblocking ( gftp_request * request,
58
c01d91c10f6c 2002-11-20 Brian Masney <masneyb@gftp.org>
masneyb
parents: 56
diff changeset
934 int fd,
c01d91c10f6c 2002-11-20 Brian Masney <masneyb@gftp.org>
masneyb
parents: 56
diff changeset
935 int non_blocking );
41
4bcfaf6307b5 2002-10-29 Brian Masney <masneyb@gftp.org>
masneyb
parents: 40
diff changeset
936
63
41b71c4e5076 2002-11-2333 Brian Masney <masneyb@gftp.org>
masneyb
parents: 58
diff changeset
937 void gftp_swap_socks ( gftp_request * dest,
41b71c4e5076 2002-11-2333 Brian Masney <masneyb@gftp.org>
masneyb
parents: 58
diff changeset
938 gftp_request * source );
41b71c4e5076 2002-11-2333 Brian Masney <masneyb@gftp.org>
masneyb
parents: 58
diff changeset
939
122
76e2b58a9440 2003-4-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 102
diff changeset
940 void gftp_calc_kbs ( gftp_transfer * tdata,
76e2b58a9440 2003-4-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 102
diff changeset
941 ssize_t num_read );
76e2b58a9440 2003-4-5 Brian Masney <masneyb@gftp.org>
masneyb
parents: 102
diff changeset
942
125
b875de05c22d 2003-4-8 Brian Masney <masneyb@gftp.org>
masneyb
parents: 124
diff changeset
943 int gftp_get_transfer_status ( gftp_transfer * tdata,
b875de05c22d 2003-4-8 Brian Masney <masneyb@gftp.org>
masneyb
parents: 124
diff changeset
944 ssize_t num_read );
b875de05c22d 2003-4-8 Brian Masney <masneyb@gftp.org>
masneyb
parents: 124
diff changeset
945
182
33b394ebba68 2003-6-15 Brian Masney <masneyb@gftp.org>
masneyb
parents: 179
diff changeset
946 int gftp_fd_open ( gftp_request * request,
33b394ebba68 2003-6-15 Brian Masney <masneyb@gftp.org>
masneyb
parents: 179
diff changeset
947 const char *pathname,
33b394ebba68 2003-6-15 Brian Masney <masneyb@gftp.org>
masneyb
parents: 179
diff changeset
948 int flags,
33b394ebba68 2003-6-15 Brian Masney <masneyb@gftp.org>
masneyb
parents: 179
diff changeset
949 mode_t perms );
33b394ebba68 2003-6-15 Brian Masney <masneyb@gftp.org>
masneyb
parents: 179
diff changeset
950
146
782f84694489 2003-4-25 Brian Masney <masneyb@gftp.org>
masneyb
parents: 139
diff changeset
951 /* pty.c */
210
82ebd1b05345 2003-7-6 Brian Masney <masneyb@gftp.org>
masneyb
parents: 207
diff changeset
952 char * gftp_get_pty_impl ( void );
179
8d933999bba6 2003-6-14 Brian Masney <masneyb@gftp.org>
masneyb
parents: 178
diff changeset
953
210
82ebd1b05345 2003-7-6 Brian Masney <masneyb@gftp.org>
masneyb
parents: 207
diff changeset
954 pid_t gftp_exec_with_new_pty ( gftp_request * request,
146
782f84694489 2003-4-25 Brian Masney <masneyb@gftp.org>
masneyb
parents: 139
diff changeset
955 int *fdm,
210
82ebd1b05345 2003-7-6 Brian Masney <masneyb@gftp.org>
masneyb
parents: 207
diff changeset
956 char **args );
146
782f84694489 2003-4-25 Brian Masney <masneyb@gftp.org>
masneyb
parents: 139
diff changeset
957
210
82ebd1b05345 2003-7-6 Brian Masney <masneyb@gftp.org>
masneyb
parents: 207
diff changeset
958 pid_t gftp_exec_without_new_pty ( gftp_request * request,
82ebd1b05345 2003-7-6 Brian Masney <masneyb@gftp.org>
masneyb
parents: 207
diff changeset
959 int *fdm,
82ebd1b05345 2003-7-6 Brian Masney <masneyb@gftp.org>
masneyb
parents: 207
diff changeset
960 char **args );
146
782f84694489 2003-4-25 Brian Masney <masneyb@gftp.org>
masneyb
parents: 139
diff changeset
961
168
c505d9ba9d53 2003-6-6 Brian Masney <masneyb@gftp.org>
masneyb
parents: 151
diff changeset
962 #ifdef USE_SSL
c505d9ba9d53 2003-6-6 Brian Masney <masneyb@gftp.org>
masneyb
parents: 151
diff changeset
963 /* sslcommon.c */
c505d9ba9d53 2003-6-6 Brian Masney <masneyb@gftp.org>
masneyb
parents: 151
diff changeset
964 int gftp_ssl_startup ( gftp_request * request );
c505d9ba9d53 2003-6-6 Brian Masney <masneyb@gftp.org>
masneyb
parents: 151
diff changeset
965
c505d9ba9d53 2003-6-6 Brian Masney <masneyb@gftp.org>
masneyb
parents: 151
diff changeset
966 int gftp_ssl_session_setup ( gftp_request * request );
c505d9ba9d53 2003-6-6 Brian Masney <masneyb@gftp.org>
masneyb
parents: 151
diff changeset
967
c505d9ba9d53 2003-6-6 Brian Masney <masneyb@gftp.org>
masneyb
parents: 151
diff changeset
968 void gftp_ssl_free ( gftp_request * request );
c505d9ba9d53 2003-6-6 Brian Masney <masneyb@gftp.org>
masneyb
parents: 151
diff changeset
969
c505d9ba9d53 2003-6-6 Brian Masney <masneyb@gftp.org>
masneyb
parents: 151
diff changeset
970 ssize_t gftp_ssl_read ( gftp_request * request,
c505d9ba9d53 2003-6-6 Brian Masney <masneyb@gftp.org>
masneyb
parents: 151
diff changeset
971 void *ptr,
c505d9ba9d53 2003-6-6 Brian Masney <masneyb@gftp.org>
masneyb
parents: 151
diff changeset
972 size_t size,
c505d9ba9d53 2003-6-6 Brian Masney <masneyb@gftp.org>
masneyb
parents: 151
diff changeset
973 int fd );
c505d9ba9d53 2003-6-6 Brian Masney <masneyb@gftp.org>
masneyb
parents: 151
diff changeset
974
c505d9ba9d53 2003-6-6 Brian Masney <masneyb@gftp.org>
masneyb
parents: 151
diff changeset
975 ssize_t gftp_ssl_write ( gftp_request * request,
c505d9ba9d53 2003-6-6 Brian Masney <masneyb@gftp.org>
masneyb
parents: 151
diff changeset
976 const char *ptr,
c505d9ba9d53 2003-6-6 Brian Masney <masneyb@gftp.org>
masneyb
parents: 151
diff changeset
977 size_t size,
c505d9ba9d53 2003-6-6 Brian Masney <masneyb@gftp.org>
masneyb
parents: 151
diff changeset
978 int fd );
c505d9ba9d53 2003-6-6 Brian Masney <masneyb@gftp.org>
masneyb
parents: 151
diff changeset
979 #endif /* USE_SSL */
c505d9ba9d53 2003-6-6 Brian Masney <masneyb@gftp.org>
masneyb
parents: 151
diff changeset
980
1
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
981 #endif
8b1883341c6f Initial revision
masneyb
parents:
diff changeset
982