/* perl.h
*
- * Copyright (c) 1987-1997, Larry Wall
+ * Copyright (c) 1987-2000, Larry Wall
*
* You may distribute under the terms of either the GNU General Public
* License or the Artistic License, as specified in the README file.
* that causes clashes with case-insensitive linkers */
Free_t Perl_mfree (Malloc_t where);
+typedef struct perl_mstats perl_mstats_t;
+
+struct perl_mstats {
+ unsigned long *nfree;
+ unsigned long *ntotal;
+ long topbucket, topbucket_ev, topbucket_odd, totfree, total, total_chain;
+ long total_sbrk, sbrks, sbrk_good, sbrk_slack, start_slack, sbrked_remains;
+ long minbucket;
+ /* Level 1 info */
+ unsigned long *bucket_mem_size;
+ unsigned long *bucket_available_size;
+};
+
# define safemalloc Perl_malloc
# define safecalloc Perl_calloc
# define saferealloc Perl_realloc
# endif
#endif
-#if defined(CYGWIN)
+#if defined(__CYGWIN__)
/* USEMYBINMODE
* This symbol, if defined, indicates that the program should
* use the routine my_binmode(FILE *fp, char iotype) to insure
#define U_V(what) (cast_uv((NV)(what)))
#endif
-/* Mention NV_PRESERVES_UV so that Configure picks it up. */
-
/* These do not care about the fractional part, only about the range. */
#define NV_WITHIN_IV(nv) (I_V(nv) >= IV_MIN && I_V(nv) <= IV_MAX)
#define NV_WITHIN_UV(nv) ((nv)>=0.0 && U_V(nv) >= UV_MIN && U_V(nv) <= UV_MAX)
# ifndef getenv
char *getenv (const char*);
# endif /* !getenv */
-#ifndef EPOC
+#if !defined(EPOC) && !(defined(__hpux) && defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64)
Off_t lseek (int,Off_t,int);
#endif
# endif /* !DONT_DECLARE_STD */
#endif /* !USE_LOCALE_NUMERIC */
-#if !defined(Atol) && defined(USE_LONG_LONG) && defined(HAS_LONG_LONG)
+#if !defined(Atol) && defined(IV_IS_QUAD) && QUADKIND == QUAD_IS_LONG_LONG
# if !defined(Atol) && defined(HAS_STRTOLL)
# define Atol(s) strtoll(s, (char**)NULL, 10)
# endif
# if !defined(Atol) && defined(HAS_ATOLL)
# define Atol atoll
# endif
-#endif
/* is there atoq() anywhere? */
+#endif
#if !defined(Atol)
# define Atol atol /* we assume atol being available anywhere */
#endif
-#if !defined(Strtoul) && defined(USE_LONG_LONG) && defined(HAS_LONG_LONG) \
- && defined(HAS_STRTOULL)
-# define Strtoul strtoull
+#if !defined(Strtoul) && defined(UV_IS_QUAD) && QUADKIND == QUAD_IS_LONG_LONG
+# if !defined(Strtoul) && defined(HAS_STRTOULL)
+# define Strtoul strtoull
+# endif
#endif
/* is there atouq() anywhere? */
-#if !defined(Strtoul) && defined(USE_64_BITS) && defined(HAS_STRTOUQ)
+#if !defined(Strtoul) && defined(HAS_STRTOUQ)
# define Strtoul strtouq
#endif
#if !defined(Strtoul)
#include "patchlevel.h"
#undef PERL_PATCHLEVEL_H_IMPLICIT
+/* Mention
+
+ NV_PRESERVES_UV
+
+ HAS_ICONV
+ I_ICONV
+
+ HAS_MKSTEMP
+ HAS_MKSTEMPS
+ HAS_MKDTEMP
+
+ HAS_GETCWD
+
+ HAS-MMAP
+ HAS_MPROTECT
+ HAS_MSYNC
+ HAS_MADVSISE
+ HAS_MUNMAP
+ I_SYSMMAN
+ Mmap_t
+
+ so that Configure picks them up. */
+
#endif /* Include guard */