00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef MAGICKCORE_NT_BASE_PRIVATE_H
00019 #define MAGICKCORE_NT_BASE_PRIVATE_H
00020
00021 #include "MagickCore/delegate.h"
00022 #include "MagickCore/delegate-private.h"
00023 #include "MagickCore/exception.h"
00024 #include "MagickCore/splay-tree.h"
00025
00026 #if defined(__cplusplus) || defined(c_plusplus)
00027 extern "C" {
00028 #endif
00029
00030 #if defined(MAGICKCORE_WINDOWS_SUPPORT)
00031
00032 #if !defined(XS_VERSION)
00033 struct dirent
00034 {
00035 char
00036 d_name[2048];
00037
00038 int
00039 d_namlen;
00040 };
00041
00042 typedef struct _DIR
00043 {
00044 HANDLE
00045 hSearch;
00046
00047 WIN32_FIND_DATAW
00048 Win32FindData;
00049
00050 BOOL
00051 firsttime;
00052
00053 struct dirent
00054 file_info;
00055 } DIR;
00056
00057 typedef struct _NTMEMORYSTATUSEX
00058 {
00059 DWORD
00060 dwLength,
00061 dwMemoryLoad;
00062
00063 DWORDLONG
00064 ullTotalPhys,
00065 ullAvailPhys,
00066 ullTotalPageFile,
00067 ullAvailPageFile,
00068 ullTotalVirtual,
00069 ullAvailVirtual,
00070 ullAvailExtendedVirtual;
00071 } NTMEMORYSTATUSEX;
00072
00073 #if !defined(__MINGW32__)
00074 struct timeval;
00075
00076 struct timezone
00077 {
00078 int
00079 tz_minuteswest,
00080 tz_dsttime;
00081 };
00082 #endif
00083
00084 typedef UINT
00085 (CALLBACK *LPFNDLLFUNC1)(DWORD,UINT);
00086
00087 typedef UINT
00088 (CALLBACK *LPFNDLLFUNC2)(NTMEMORYSTATUSEX *);
00089
00090 #endif
00091
00092 #if defined(MAGICKCORE_BZLIB_DELEGATE)
00093 # if defined(_WIN32)
00094 # define BZ_IMPORT 1
00095 # endif
00096 #endif
00097
00098 extern MagickPrivate char
00099 *NTGetLastError(void);
00100
00101 #if !defined(MAGICKCORE_LTDL_DELEGATE)
00102 extern MagickPrivate const char
00103 *NTGetLibraryError(void);
00104 #endif
00105
00106 #if !defined(XS_VERSION)
00107 extern MagickPrivate const char
00108 *NTGetLibraryError(void);
00109
00110 extern MagickPrivate DIR
00111 *NTOpenDirectory(const char *);
00112
00113 extern MagickPrivate double
00114 NTElapsedTime(void),
00115 NTErf(double),
00116 NTUserTime(void);
00117
00118 extern MagickPrivate int
00119 Exit(int),
00120 #if !defined(__MINGW32__)
00121 gettimeofday(struct timeval *,struct timezone *),
00122 #endif
00123 IsWindows95(void),
00124 NTCloseDirectory(DIR *),
00125 NTCloseLibrary(void *),
00126 NTControlHandler(void),
00127 NTExitLibrary(void),
00128 NTTruncateFile(int,off_t),
00129 NTGhostscriptDLL(char *,int),
00130 NTGhostscriptEXE(char *,int),
00131 NTGhostscriptFonts(char *,int),
00132 NTGhostscriptLoadDLL(void),
00133 NTInitializeLibrary(void),
00134 NTSetSearchPath(const char *),
00135 NTSyncMemory(void *,size_t,int),
00136 NTUnmapMemory(void *,size_t),
00137 NTSystemCommand(const char *,char *);
00138
00139 extern MagickPrivate ssize_t
00140 NTGetPageSize(void),
00141 NTSystemConfiguration(int),
00142 NTTellDirectory(DIR *);
00143
00144 extern MagickPrivate MagickBooleanType
00145 NTGatherRandomData(const size_t,unsigned char *),
00146 NTGetExecutionPath(char *,const size_t),
00147 NTGetModulePath(const char *,char *),
00148 NTReportEvent(const char *,const MagickBooleanType);
00149
00150 extern MagickExport MagickBooleanType
00151 NTLongPathsEnabled();
00152
00153 extern MagickPrivate struct dirent
00154 *NTReadDirectory(DIR *);
00155
00156 extern MagickPrivate unsigned char
00157 *NTRegistryKeyLookup(const char *),
00158 *NTResourceToBlob(const char *);
00159
00160 extern MagickPrivate void
00161 *NTGetLibrarySymbol(void *,const char *),
00162 NTInitializeWinsock(MagickBooleanType),
00163 *NTMapMemory(char *,size_t,int,int,int,MagickOffsetType),
00164 *NTOpenLibrary(const char *),
00165 NTSeekDirectory(DIR *,ssize_t),
00166 NTWindowsGenesis(void),
00167 NTWindowsTerminus(void);
00168
00169 #endif
00170
00171 #endif
00172
00173 #if defined(__cplusplus) || defined(c_plusplus)
00174 }
00175 #endif
00176
00177 #endif