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