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 # include <signal.h> 38 # ifdef JEMALLOC_OS_UNFAIR_LOCK 39 # include <os/lock.h> 40 # endif 41 # ifdef JEMALLOC_GLIBC_MALLOC_HOOK 42 # include <sched.h> 43 # endif 44 # include <errno.h> 45 # include <sys/time.h> 46 # include <time.h> 47 # ifdef JEMALLOC_HAVE_MACH_ABSOLUTE_TIME 48 # include <mach/mach_time.h> 49 # endif 50 #endif 51 #include <sys/types.h> 52 53 #include <limits.h> 54 #ifndef SIZE_T_MAX 55 # define SIZE_T_MAX SIZE_MAX 56 #endif 57 #ifndef SSIZE_MAX 58 # define SSIZE_MAX ((ssize_t)(SIZE_T_MAX >> 1)) 59 #endif 60 #include <stdarg.h> 61 #include <stdbool.h> 62 #include <stdio.h> 63 #include <stdlib.h> 64 #include <stdint.h> 65 #include <stddef.h> 66 #ifndef offsetof 67 # define offsetof(type, member) ((size_t)&(((type *)NULL)->member)) 68 #endif 69 #include <string.h> 70 #include <strings.h> 71 #include <ctype.h> 72 #ifdef _MSC_VER 73 # include <io.h> 74 typedef intptr_t ssize_t; 75 # define PATH_MAX 1024 76 # define STDERR_FILENO 2 77 # define __func__ __FUNCTION__ 78 # ifdef JEMALLOC_HAS_RESTRICT 79 # define restrict __restrict 80 # endif 81 /* Disable warnings about deprecated system functions. */ 82 # pragma warning(disable: 4996) 83 #if _MSC_VER < 1800 84 static int 85 isblank(int c) { 86 return (c == '\t' || c == ' '); 87 } 88 #endif 89 #else 90 # include <unistd.h> 91 #endif 92 #include <fcntl.h> 93 94 #endif /* JEMALLOC_INTERNAL_H */ 95