18#ifndef MAGICKCORE_NT_BASE_PRIVATE_H
19#define MAGICKCORE_NT_BASE_PRIVATE_H
21#include "MagickCore/delegate.h"
22#include "MagickCore/delegate-private.h"
23#include "MagickCore/exception.h"
24#include "MagickCore/memory_.h"
25#include "MagickCore/splay-tree.h"
27#if defined(__cplusplus) || defined(c_plusplus)
31#if defined(MAGICKCORE_WINDOWS_SUPPORT)
34# define closedir(directory) NTCloseDirectory(directory)
36#if !defined(MAGICKCORE_LTDL_DELEGATE)
37#if !defined(lt_dlclose)
38# define lt_dlclose(handle) NTCloseLibrary(handle)
40#if !defined(lt_dlerror)
41# define lt_dlerror() NTGetLibraryError()
43#if !defined(lt_dlopen)
44# define lt_dlopen(filename) NTOpenLibrary(filename)
47# define lt_dlsym(handle,name) NTGetLibrarySymbol(handle,name)
51# define opendir(directory) NTOpenDirectory(directory)
54# define read(fd,buffer,count) _read(fd,buffer,(unsigned int) count)
57# define readdir(directory) NTReadDirectory(directory)
60# define sysconf(name) NTSystemConfiguration(name)
61# define MAGICKCORE_HAVE_SYSCONF 1
64# define write(fd,buffer,count) _write(fd,buffer,(unsigned int) count)
66#if !defined(__MINGW32__)
67# define fstat _fstati64
71#if !defined(XS_VERSION)
96#if !defined(__MINGW32__)
109static inline void *NTAcquireQuantumMemory(
const size_t count,
110 const size_t quantum)
115 if (HeapOverflowSanityCheckGetSize(count,quantum,&size) != MagickFalse)
120 return(AcquireMagickMemory(size));
123extern MagickPrivate
char
124 *NTGetEnvironmentValue(
const char *);
126#if !defined(MAGICKCORE_LTDL_DELEGATE)
127extern MagickPrivate
const char
128 *NTGetLibraryError(
void);
131#if !defined(XS_VERSION)
132extern MagickPrivate
const char
133 *NTGetLibraryError(
void);
135extern MagickPrivate DIR
136 *NTOpenDirectory(
const char *);
138extern MagickPrivate
double
142extern MagickPrivate
int
143#if !defined(__MINGW32__)
144 gettimeofday(
struct timeval *,
struct timezone *),
146 NTCloseDirectory(DIR *),
147 NTCloseLibrary(
void *),
148 NTTruncateFile(
int,off_t),
149 NTUnmapMemory(
void *,
size_t),
150 NTSystemCommand(
const char *,
char *);
152extern MagickPrivate ssize_t
153 NTSystemConfiguration(
int);
155extern MagickPrivate MagickBooleanType
156 NTGatherRandomData(
const size_t,
unsigned char *),
157 NTGetExecutionPath(
char *,
const size_t),
158 NTGetModulePath(
const char *,
char *),
159 NTGhostscriptFonts(
char *,
int),
160 NTReportEvent(
const char *,
const MagickBooleanType);
162extern MagickExport MagickBooleanType
163 NTLongPathsEnabled(
void);
165extern MagickPrivate
struct dirent
166 *NTReadDirectory(DIR *);
168extern MagickPrivate
unsigned char
169 *NTRegistryKeyLookup(
const char *),
170 *NTResourceToBlob(
const char *);
172extern MagickPrivate
void
173 *NTGetLibrarySymbol(
void *,
const char *),
174 NTGhostscriptEXE(
char *,
int),
175 *NTMapMemory(
char *,
size_t,
int,
int,
int,MagickOffsetType),
176 *NTOpenLibrary(
const char *),
177 NTWindowsGenesis(
void),
178 NTWindowsTerminus(
void);
184#if defined(__cplusplus) || defined(c_plusplus)