1f3e6d15d74194c37c72990d5b3d216f90fda5a46Mike Hommey#ifndef JEMALLOC_INTERNAL_DECLS_H
2f3e6d15d74194c37c72990d5b3d216f90fda5a46Mike Hommey#define	JEMALLOC_INTERNAL_DECLS_H
3f3e6d15d74194c37c72990d5b3d216f90fda5a46Mike Hommey
4f3e6d15d74194c37c72990d5b3d216f90fda5a46Mike Hommey#include <math.h>
5f3e6d15d74194c37c72990d5b3d216f90fda5a46Mike Hommey#ifdef _WIN32
6f3e6d15d74194c37c72990d5b3d216f90fda5a46Mike Hommey#  include <windows.h>
7f3e6d15d74194c37c72990d5b3d216f90fda5a46Mike Hommey#  define ENOENT ERROR_PATH_NOT_FOUND
8f3e6d15d74194c37c72990d5b3d216f90fda5a46Mike Hommey#  define EINVAL ERROR_BAD_ARGUMENTS
9f3e6d15d74194c37c72990d5b3d216f90fda5a46Mike Hommey#  define EAGAIN ERROR_OUTOFMEMORY
10f3e6d15d74194c37c72990d5b3d216f90fda5a46Mike Hommey#  define EPERM  ERROR_WRITE_FAULT
11f3e6d15d74194c37c72990d5b3d216f90fda5a46Mike Hommey#  define EFAULT ERROR_INVALID_ADDRESS
12f3e6d15d74194c37c72990d5b3d216f90fda5a46Mike Hommey#  define ENOMEM ERROR_NOT_ENOUGH_MEMORY
13f3e6d15d74194c37c72990d5b3d216f90fda5a46Mike Hommey#  undef ERANGE
14f3e6d15d74194c37c72990d5b3d216f90fda5a46Mike Hommey#  define ERANGE ERROR_INVALID_DATA
15f3e6d15d74194c37c72990d5b3d216f90fda5a46Mike Hommey#else
16f3e6d15d74194c37c72990d5b3d216f90fda5a46Mike Hommey#  include <sys/param.h>
17f3e6d15d74194c37c72990d5b3d216f90fda5a46Mike Hommey#  include <sys/mman.h>
182aa7fed9c983d8dcde7c0cacf1b024c966758b88Richard Diamond#  if !defined(__pnacl__) && !defined(__native_client__)
192aa7fed9c983d8dcde7c0cacf1b024c966758b88Richard Diamond#    include <sys/syscall.h>
202aa7fed9c983d8dcde7c0cacf1b024c966758b88Richard Diamond#    if !defined(SYS_write) && defined(__NR_write)
212aa7fed9c983d8dcde7c0cacf1b024c966758b88Richard Diamond#      define SYS_write __NR_write
222aa7fed9c983d8dcde7c0cacf1b024c966758b88Richard Diamond#    endif
232aa7fed9c983d8dcde7c0cacf1b024c966758b88Richard Diamond#    include <sys/uio.h>
24f3e6d15d74194c37c72990d5b3d216f90fda5a46Mike Hommey#  endif
25f3e6d15d74194c37c72990d5b3d216f90fda5a46Mike Hommey#  include <pthread.h>
26f3e6d15d74194c37c72990d5b3d216f90fda5a46Mike Hommey#  include <errno.h>
27f3e6d15d74194c37c72990d5b3d216f90fda5a46Mike Hommey#endif
28f3e6d15d74194c37c72990d5b3d216f90fda5a46Mike Hommey#include <sys/types.h>
29f3e6d15d74194c37c72990d5b3d216f90fda5a46Mike Hommey
30f3e6d15d74194c37c72990d5b3d216f90fda5a46Mike Hommey#include <limits.h>
31f3e6d15d74194c37c72990d5b3d216f90fda5a46Mike Hommey#ifndef SIZE_T_MAX
32f3e6d15d74194c37c72990d5b3d216f90fda5a46Mike Hommey#  define SIZE_T_MAX	SIZE_MAX
33f3e6d15d74194c37c72990d5b3d216f90fda5a46Mike Hommey#endif
34f3e6d15d74194c37c72990d5b3d216f90fda5a46Mike Hommey#include <stdarg.h>
35f3e6d15d74194c37c72990d5b3d216f90fda5a46Mike Hommey#include <stdbool.h>
36f3e6d15d74194c37c72990d5b3d216f90fda5a46Mike Hommey#include <stdio.h>
37f3e6d15d74194c37c72990d5b3d216f90fda5a46Mike Hommey#include <stdlib.h>
38f3e6d15d74194c37c72990d5b3d216f90fda5a46Mike Hommey#include <stdint.h>
39f3e6d15d74194c37c72990d5b3d216f90fda5a46Mike Hommey#include <stddef.h>
40f3e6d15d74194c37c72990d5b3d216f90fda5a46Mike Hommey#ifndef offsetof
41f3e6d15d74194c37c72990d5b3d216f90fda5a46Mike Hommey#  define offsetof(type, member)	((size_t)&(((type *)NULL)->member))
42f3e6d15d74194c37c72990d5b3d216f90fda5a46Mike Hommey#endif
43f3e6d15d74194c37c72990d5b3d216f90fda5a46Mike Hommey#include <inttypes.h>
44f3e6d15d74194c37c72990d5b3d216f90fda5a46Mike Hommey#include <string.h>
45f3e6d15d74194c37c72990d5b3d216f90fda5a46Mike Hommey#include <strings.h>
46f3e6d15d74194c37c72990d5b3d216f90fda5a46Mike Hommey#include <ctype.h>
47f3e6d15d74194c37c72990d5b3d216f90fda5a46Mike Hommey#ifdef _MSC_VER
48f3e6d15d74194c37c72990d5b3d216f90fda5a46Mike Hommey#  include <io.h>
49f3e6d15d74194c37c72990d5b3d216f90fda5a46Mike Hommeytypedef intptr_t ssize_t;
50f3e6d15d74194c37c72990d5b3d216f90fda5a46Mike Hommey#  define PATH_MAX 1024
51f3e6d15d74194c37c72990d5b3d216f90fda5a46Mike Hommey#  define STDERR_FILENO 2
52f3e6d15d74194c37c72990d5b3d216f90fda5a46Mike Hommey#  define __func__ __FUNCTION__
53f3e6d15d74194c37c72990d5b3d216f90fda5a46Mike Hommey/* Disable warnings about deprecated system functions */
54f3e6d15d74194c37c72990d5b3d216f90fda5a46Mike Hommey#  pragma warning(disable: 4996)
55f3e6d15d74194c37c72990d5b3d216f90fda5a46Mike Hommey#else
56f3e6d15d74194c37c72990d5b3d216f90fda5a46Mike Hommey#  include <unistd.h>
57f3e6d15d74194c37c72990d5b3d216f90fda5a46Mike Hommey#endif
58f3e6d15d74194c37c72990d5b3d216f90fda5a46Mike Hommey#include <fcntl.h>
59f3e6d15d74194c37c72990d5b3d216f90fda5a46Mike Hommey
60f3e6d15d74194c37c72990d5b3d216f90fda5a46Mike Hommey#endif /* JEMALLOC_INTERNAL_H */
61