1#ifndef JEMALLOC_INTERNAL_DECLS_H 2#define JEMALLOC_INTERNAL_DECLS_H 3 4#include "libc_private.h" 5#include "namespace.h" 6 7#include <math.h> 8#ifdef _WIN32 9# include <windows.h> 10# include "msvc_compat/windows_extra.h" 11# ifdef _WIN64 12# if LG_VADDR <= 32 13# error Generate the headers using x64 vcargs 14# endif 15# else 16# if LG_VADDR > 32 17# undef LG_VADDR 18# define LG_VADDR 32 19# endif 20# endif 21#else 22# include <sys/param.h> 23# include <sys/mman.h> 24# if !defined(__pnacl__) && !defined(__native_client__) 25# include <sys/syscall.h> 26# if !defined(SYS_write) && defined(__NR_write) 27# define SYS_write __NR_write 28# endif 29# if defined(SYS_open) && defined(__aarch64__) 30 /* Android headers may define SYS_open to __NR_open even though 31 * __NR_open may not exist on AArch64 (superseded by __NR_openat). */ 32# undef SYS_open 33# endif 34# include <sys/uio.h> 35# endif 36# include <pthread.h> 37# ifdef __FreeBSD__ 38# include <pthread_np.h> 39# endif 40# include <signal.h> 41# ifdef JEMALLOC_OS_UNFAIR_LOCK 42# include <os/lock.h> 43# endif 44# ifdef JEMALLOC_GLIBC_MALLOC_HOOK 45# include <sched.h> 46# endif 47# include <errno.h> 48# include <sys/time.h> 49# include <time.h> 50# ifdef JEMALLOC_HAVE_MACH_ABSOLUTE_TIME 51# include <mach/mach_time.h> 52# endif 53#endif 54#include <sys/types.h> 55 56#include <limits.h> 57#ifndef SIZE_T_MAX 58# define SIZE_T_MAX SIZE_MAX 59#endif 60#ifndef SSIZE_MAX 61# define SSIZE_MAX ((ssize_t)(SIZE_T_MAX >> 1)) 62#endif 63#include <stdarg.h> 64#include <stdbool.h> 65#include <stdio.h> 66#include <stdlib.h> 67#include <stdint.h> 68#include <stddef.h> 69#ifndef offsetof 70# define offsetof(type, member) ((size_t)&(((type *)NULL)->member)) 71#endif 72#include <string.h> 73#include <strings.h> 74#include <ctype.h> 75#ifdef _MSC_VER 76# include <io.h> 77typedef intptr_t ssize_t; 78# define PATH_MAX 1024 79# define STDERR_FILENO 2 80# define __func__ __FUNCTION__ 81# ifdef JEMALLOC_HAS_RESTRICT 82# define restrict __restrict 83# endif 84/* Disable warnings about deprecated system functions. */ 85# pragma warning(disable: 4996) 86#if _MSC_VER < 1800 87static int 88isblank(int c) { 89 return (c == '\t' || c == ' '); 90} 91#endif 92#else 93# include <unistd.h> 94#endif 95#include <fcntl.h> 96 97#endif /* JEMALLOC_INTERNAL_H */ 98