X-Git-Url: http://sjero.net/git/?p=wget;a=blobdiff_plain;f=src%2Fconvert.h;h=23c5f0e1c5960dac505597668b75f2310f9afed1;hp=e9ca04012ac36631b5bc618c6cabb947c1603975;hb=8624553a31b148f9051cc11725bc01d9760fa07b;hpb=7c044778bc83f3714e8d91d31c992a76d78e42ad diff --git a/src/convert.h b/src/convert.h index e9ca0401..23c5f0e1 100644 --- a/src/convert.h +++ b/src/convert.h @@ -1,11 +1,12 @@ /* Declarations for convert.c - Copyright (C) 2003 Free Software Foundation, Inc. + Copyright (C) 2003, 2004, 2005, 2006, 2009, 2010, 2011 Free Software + Foundation, Inc. This file is part of GNU Wget. GNU Wget is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or +the Free Software Foundation; either version 3 of the License, or (at your option) any later version. GNU Wget is distributed in the hope that it will be useful, @@ -14,29 +15,34 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License -along with Wget; if not, write to the Free Software -Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - -In addition, as a special exception, the Free Software Foundation -gives permission to link the code of its release of Wget with the -OpenSSL project's "OpenSSL" library (or with modified versions of it -that use the same license as the "OpenSSL" library), and distribute -the linked executables. You must obey the GNU General Public License -in all respects for all of the code used other than "OpenSSL". If you -modify this file, you may extend this exception to your version of the -file, but you are not obligated to do so. If you do not wish to do -so, delete this exception statement from your version. */ +along with Wget. If not, see . + +Additional permission under GNU GPL version 3 section 7 + +If you modify this program, or any covered work, by linking or +combining it with the OpenSSL project's OpenSSL library (or a +modified version of that library), containing parts covered by the +terms of the OpenSSL or SSLeay licenses, the Free Software Foundation +grants you additional permission to convey the resulting work. +Corresponding Source for a non-source form of such a combination +shall include the source code for the parts of OpenSSL used as well +as that of the covered work. */ #ifndef CONVERT_H #define CONVERT_H +struct hash_table; /* forward decl */ +extern struct hash_table *dl_url_file_map; +extern struct hash_table *downloaded_html_set; +extern struct hash_table *downloaded_css_set; + enum convert_options { - CO_NOCONVERT = 0, /* don't convert this URL */ - CO_CONVERT_TO_RELATIVE, /* convert to relative, e.g. to + CO_NOCONVERT = 0, /* don't convert this URL */ + CO_CONVERT_TO_RELATIVE, /* convert to relative, e.g. to "../../otherdir/foo.gif" */ - CO_CONVERT_TO_COMPLETE, /* convert to absolute, e.g. to - "http://orighost/somedir/bar.jpg". */ - CO_NULLIFY_BASE /* change to empty string. */ + CO_CONVERT_TO_COMPLETE, /* convert to absolute, e.g. to + "http://orighost/somedir/bar.jpg". */ + CO_NULLIFY_BASE /* change to empty string. */ }; struct url; @@ -45,34 +51,36 @@ struct url; position in an HTML document, etc. */ struct urlpos { - struct url *url; /* the URL of the link, after it has - been merged with the base */ - char *local_name; /* local file to which it was saved - (used by convert_links) */ + struct url *url; /* the URL of the link, after it has + been merged with the base */ + char *local_name; /* local file to which it was saved + (used by convert_links) */ /* reserved for special links such as which are used when converting links, but ignored when downloading. */ - unsigned int ignore_when_downloading :1; + unsigned int ignore_when_downloading :1; /* Information about the original link: */ - unsigned int link_relative_p :1; /* the link was relative */ - unsigned int link_complete_p :1; /* the link was complete (had host name) */ - unsigned int link_base_p :1; /* the url came from */ - unsigned int link_inline_p :1; /* needed to render the page */ - unsigned int link_expect_html :1; /* expected to contain HTML */ + unsigned int link_relative_p :1; /* the link was relative */ + unsigned int link_complete_p :1; /* the link was complete (had host name) */ + unsigned int link_base_p :1; /* the url came from */ + unsigned int link_inline_p :1; /* needed to render the page */ + unsigned int link_css_p :1; /* the url came from CSS */ + unsigned int link_expect_html :1; /* expected to contain HTML */ + unsigned int link_expect_css :1; /* expected to contain CSS */ - unsigned int link_refresh_p :1; /* link was received from - */ - int refresh_timeout; /* for reconstructing the refresh. */ + unsigned int link_refresh_p :1; /* link was received from + */ + int refresh_timeout; /* for reconstructing the refresh. */ /* Conversion requirements: */ - enum convert_options convert; /* is conversion required? */ + enum convert_options convert; /* is conversion required? */ /* URL's position in the buffer. */ int pos, size; - struct urlpos *next; /* next list element */ + struct urlpos *next; /* next list element */ }; /* downloaded_file() takes a parameter of this type and returns this type. */ @@ -89,13 +97,16 @@ typedef enum CHECK_FOR_FILE } downloaded_file_t; -downloaded_file_t downloaded_file PARAMS ((downloaded_file_t, const char *)); +downloaded_file_t downloaded_file (downloaded_file_t, const char *); + +void register_download (const char *, const char *); +void register_redirection (const char *, const char *); +void register_html (const char *); +void register_css (const char *); +void register_delete_file (const char *); +void convert_all_links (void); +void convert_cleanup (void); -void register_download PARAMS ((const char *, const char *)); -void register_redirection PARAMS ((const char *, const char *)); -void register_html PARAMS ((const char *, const char *)); -void register_delete_file PARAMS ((const char *)); -void convert_all_links PARAMS ((void)); -void convert_cleanup PARAMS ((void)); +char *html_quote_string (const char *); #endif /* CONVERT_H */