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