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. */
+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. */
#ifndef UTILS_H
#define UTILS_H
int mmap_p;
};
+#define HYPHENP(x) (*(x) == '-' && !*((x) + 1))
+
struct wget_timer;
char *time_str PARAMS ((time_t *));
#endif
char *xstrdup_lower PARAMS ((const char *));
+
char *strdupdelim PARAMS ((const char *, const char *));
char **sepstring PARAMS ((const char *));
int frontcmp PARAMS ((const char *, const char *));
-char *pwd_cuserid PARAMS ((char *));
void fork_to_background PARAMS ((void));
-int path_simplify PARAMS ((char *));
+
+#ifdef WGET_USE_STDARG
+char *aprintf PARAMS ((const char *, ...))
+ GCC_FORMAT_ATTR (1, 2);
+char *concat_strings PARAMS ((const char *, ...));
+#else /* not WGET_USE_STDARG */
+char *aprintf ();
+char *concat_strings ();
+#endif /* not WGET_USE_STDARG */
void touch PARAMS ((const char *, time_t));
int remove_link PARAMS ((const char *));
int file_exists_p PARAMS ((const char *));
int file_non_directory_p PARAMS ((const char *));
+wgint file_size PARAMS ((const char *));
int make_directory PARAMS ((const char *));
-char *unique_name PARAMS ((const char *));
+char *unique_name PARAMS ((const char *, int));
+FILE *unique_create PARAMS ((const char *, int, char **));
+FILE *fopen_excl PARAMS ((const char *, int));
char *file_merge PARAMS ((const char *, const char *));
int acceptable PARAMS ((const char *));
int accdir PARAMS ((const char *s, enum accd));
char *suffix PARAMS ((const char *s));
+int match_tail PARAMS ((const char *, const char *, int));
+int has_wildcards_p PARAMS ((const char *));
+
+int has_html_suffix_p PARAMS ((const char *));
char *read_whole_line PARAMS ((FILE *));
struct file_memory *read_file PARAMS ((const char *));
void string_set_free PARAMS ((struct hash_table *));
void free_keys_and_values PARAMS ((struct hash_table *));
-char *legible PARAMS ((long));
-char *legible_very_long PARAMS ((VERY_LONG_TYPE));
-int numdigit PARAMS ((long));
-void long_to_string PARAMS ((char *, long));
+char *with_thousand_seps PARAMS ((wgint));
+char *with_thousand_seps_large PARAMS ((LARGE_INT));
+char *human_readable PARAMS ((wgint));
+int numdigit PARAMS ((wgint));
+char *number_to_string PARAMS ((char *, wgint));
+char *number_to_static_string PARAMS ((wgint));
struct wget_timer *wtimer_allocate PARAMS ((void));
struct wget_timer *wtimer_new PARAMS ((void));
void wtimer_delete PARAMS ((struct wget_timer *));
void wtimer_reset PARAMS ((struct wget_timer *));
-long wtimer_elapsed PARAMS ((struct wget_timer *));
-long wtimer_granularity PARAMS ((void));
+void wtimer_update PARAMS ((struct wget_timer *));
+double wtimer_read PARAMS ((const struct wget_timer *));
+double wtimer_granularity PARAMS ((void));
char *html_quote_string PARAMS ((const char *));
int determine_screen_width PARAMS ((void));
+int random_number PARAMS ((int));
+double random_float PARAMS ((void));
+
+int run_with_timeout PARAMS ((double, void (*) (void *), void *));
+void xsleep PARAMS ((double));
#endif /* UTILS_H */