1
1
/* Declarations for url.c.
2
Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
2
Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
3
2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
4
5
This file is part of GNU Wget.
6
7
GNU Wget is free software; you can redistribute it and/or modify
7
8
it under the terms of the GNU General Public License as published by
8
the Free Software Foundation; either version 2 of the License, or
9
the Free Software Foundation; either version 3 of the License, or
9
10
(at your option) any later version.
11
12
GNU Wget is distributed in the hope that it will be useful,
14
15
GNU General Public License for more details.
16
17
You should have received a copy of the GNU General Public License
17
along with Wget; if not, write to the Free Software
18
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
20
In addition, as a special exception, the Free Software Foundation
21
gives permission to link the code of its release of Wget with the
22
OpenSSL project's "OpenSSL" library (or with modified versions of it
23
that use the same license as the "OpenSSL" library), and distribute
24
the linked executables. You must obey the GNU General Public License
25
in all respects for all of the code used other than "OpenSSL". If you
26
modify this file, you may extend this exception to your version of the
27
file, but you are not obligated to do so. If you do not wish to do
28
so, delete this exception statement from your version. */
18
along with Wget. If not, see <http://www.gnu.org/licenses/>.
20
Additional permission under GNU GPL version 3 section 7
22
If you modify this program, or any covered work, by linking or
23
combining it with the OpenSSL project's OpenSSL library (or a
24
modified version of that library), containing parts covered by the
25
terms of the OpenSSL or SSLeay licenses, the Free Software Foundation
26
grants you additional permission to convey the resulting work.
27
Corresponding Source for a non-source form of such a combination
28
shall include the source code for the parts of OpenSSL used as well
29
as that of the covered work. */
35
36
#define DEFAULT_FTP_PORT 21
36
37
#define DEFAULT_HTTPS_PORT 443
39
/* Specifies how, or whether, user auth information should be included
40
* in URLs regenerated from URL parse structures. */
38
47
/* Note: the ordering here is related to the order of elements in
39
48
`supported_schemes' in url.c. */
74
83
/* Function declarations */
76
char *url_escape PARAMS ((const char *));
78
struct url *url_parse PARAMS ((const char *, int *));
79
const char *url_error PARAMS ((int));
80
char *url_full_path PARAMS ((const struct url *));
81
void url_set_dir PARAMS ((struct url *, const char *));
82
void url_set_file PARAMS ((struct url *, const char *));
83
void url_free PARAMS ((struct url *));
85
enum url_scheme url_scheme PARAMS ((const char *));
86
int url_has_scheme PARAMS ((const char *));
87
int scheme_default_port PARAMS ((enum url_scheme));
88
void scheme_disable PARAMS ((enum url_scheme));
90
char *url_string PARAMS ((const struct url *, int));
91
char *url_file_name PARAMS ((const struct url *));
93
char *uri_merge PARAMS ((const char *, const char *));
95
int mkalldirs PARAMS ((const char *));
97
char *rewrite_shorthand_url PARAMS ((const char *));
98
int schemes_are_similar_p PARAMS ((enum url_scheme a, enum url_scheme b));
85
char *url_escape (const char *);
87
struct url *url_parse (const char *, int *);
88
const char *url_error (int);
89
char *url_full_path (const struct url *);
90
void url_set_dir (struct url *, const char *);
91
void url_set_file (struct url *, const char *);
92
void url_free (struct url *);
94
enum url_scheme url_scheme (const char *);
95
bool url_has_scheme (const char *);
96
int scheme_default_port (enum url_scheme);
97
void scheme_disable (enum url_scheme);
99
char *url_string (const struct url *, enum url_auth_mode);
100
char *url_file_name (const struct url *);
102
char *uri_merge (const char *, const char *);
104
int mkalldirs (const char *);
106
char *rewrite_shorthand_url (const char *);
107
bool schemes_are_similar_p (enum url_scheme a, enum url_scheme b);
109
bool are_urls_equal (const char *u1, const char *u2);
100
111
#endif /* URL_H */