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>
74typedef 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
84static int
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