annotate lib/gftp.h @ 485:7334a74db6f6

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