1 #ifndef JEMALLOC_INTERNAL_DECLS_H 2 #define JEMALLOC_INTERNAL_DECLS_H 3 4 #include <math.h> 5 #ifdef _WIN32 6 # include <windows.h> 7 # include "msvc_compat/windows_extra.h" 8 # ifdef _WIN64 9 # if LG_VADDR <= 32 10 # error Generate the headers using x64 vcargs 11 # endif 12 # else 13 # if LG_VADDR > 32 14 # undef LG_VADDR 15 # define LG_VADDR 32 16 # endif 17 # endif 18 #else 19 # include <sys/param.h> 20 # include <sys/mman.h> 21 # if !defined(__pnacl__) && !defined(__native_client__) 22 # include <sys/syscall.h> 23 # if !defined(SYS_write) && defined(__NR_write) 24 # define SYS_write __NR_write 25 # endif 26 # if defined(SYS_open) && defined(__aarch64__) 27 /* Android headers may define SYS_open to __NR_open even though 28 * __NR_open may not exist on AArch64 (superseded by __NR_openat). */ 29 # undef SYS_open 30 # endif 31 # include <sys/uio.h> 32 # endif 33 # include <pthread.h> 34 # ifdef __FreeBSD__ 35 # include <pthread_np.h> 36 # endif 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 isblank(int c)85isblank(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