nt-base-private.h

Go to the documentation of this file.
00001 /*
00002   Copyright 1999-2020 ImageMagick Studio LLC, a non-profit organization
00003   dedicated to making software imaging solutions freely available.
00004 
00005   You may not use this file except in compliance with the License.  You may
00006   obtain a copy of the License at
00007 
00008     https://imagemagick.org/script/license.php
00009 
00010   Unless required by applicable law or agreed to in writing, software
00011   distributed under the License is distributed on an "AS IS" BASIS,
00012   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00013   See the License for the specific language governing permissions and
00014   limitations under the License.
00015 
00016   MagickCore Windows NT private methods.
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 /* !XS_VERSION */
00170 
00171 #endif /* MAGICKCORE_WINDOWS_SUPPORT */
00172 
00173 #if defined(__cplusplus) || defined(c_plusplus)
00174 }
00175 #endif /* !C++ */
00176 
00177 #endif /* !MAGICKCORE_NT_BASE_H */

Generated on 18 Feb 2020 for MagickCore by  doxygen 1.6.1