/* Declarations for utils.c.
- Copyright (C) 2005 Free Software Foundation, Inc.
+ Copyright (C) 1996-2006 Free Software Foundation, Inc.
This file is part of GNU Wget.
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.
+along with Wget; if not, write to the Free Software Foundation, Inc.,
+51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
In addition, as a special exception, the Free Software Foundation
gives permission to link the code of its release of Wget with the
#ifndef UTILS_H
#define UTILS_H
-enum accd {
- ALLABS = 1
-};
-
struct hash_table;
struct file_memory {
#define HYPHENP(x) (*(x) == '-' && !*((x) + 1))
-char *time_str (time_t *);
-char *datetime_str (time_t *);
+char *time_str (time_t);
+char *datetime_str (time_t);
#ifdef DEBUG_MALLOC
void print_malloc_debug_stats ();
char *strdupdelim (const char *, const char *);
char **sepstring (const char *);
-int frontcmp (const char *, const char *);
+bool subdir_p (const char *, const char *);
void fork_to_background (void);
char *aprintf (const char *, ...) GCC_FORMAT_ATTR (1, 2);
void touch (const char *, time_t);
int remove_link (const char *);
-int file_exists_p (const char *);
-int file_non_directory_p (const char *);
+bool file_exists_p (const char *);
+bool file_non_directory_p (const char *);
wgint file_size (const char *);
int make_directory (const char *);
-char *unique_name (const char *, int);
-FILE *unique_create (const char *, int, char **);
-FILE *fopen_excl (const char *, int);
+char *unique_name (const char *, bool);
+FILE *unique_create (const char *, bool, char **);
+FILE *fopen_excl (const char *, bool);
char *file_merge (const char *, const char *);
-int acceptable (const char *);
-int accdir (const char *s, enum accd);
+int fnmatch_nocase (const char *, const char *, int);
+bool acceptable (const char *);
+bool accdir (const char *s);
char *suffix (const char *s);
-int match_tail (const char *, const char *, int);
-int has_wildcards_p (const char *);
+bool match_tail (const char *, const char *, bool);
+bool has_wildcards_p (const char *);
-int has_html_suffix_p (const char *);
+bool has_html_suffix_p (const char *);
char *read_whole_line (FILE *);
struct file_memory *read_file (const char *);
void string_set_free (struct hash_table *);
void free_keys_and_values (struct hash_table *);
-char *with_thousand_seps (wgint);
-char *with_thousand_seps_large (LARGE_INT);
-char *human_readable (wgint);
+const char *with_thousand_seps (wgint);
+
+/* human_readable must be able to accept wgint and SUM_SIZE_INT
+ arguments. On machines where wgint is 32-bit, declare it to accept
+ double. */
+#if SIZEOF_WGINT >= 8
+# define HR_NUMTYPE wgint
+#else
+# define HR_NUMTYPE double
+#endif
+char *human_readable (HR_NUMTYPE);
+
+
int numdigit (wgint);
char *number_to_string (char *, wgint);
char *number_to_static_string (wgint);
int random_number (int);
double random_float (void);
-int run_with_timeout (double, void (*) (void *), void *);
+bool run_with_timeout (double, void (*) (void *), void *);
void xsleep (double);
/* How many bytes it will take to store LEN bytes in base64. */
#define BASE64_LENGTH(len) (4 * (((len) + 2) / 3))
-int base64_encode (const char *, int, char *);
-int base64_decode (const char *, char *);
+int base64_encode (const void *, int, char *);
+int base64_decode (const char *, void *);
void stable_sort (void *, size_t, size_t, int (*) (const void *, const void *));
+const char *print_decimal (double);
+
#endif /* UTILS_H */