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