nt-base-private.h

Go to the documentation of this file.
00001 /*
00002   Copyright 1999-2019 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 "magick/delegate.h"
00022 #include "magick/delegate-private.h"
00023 #include "magick/exception.h"
00024 #include "magick/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 timezone
00075 {
00076   int
00077     tz_minuteswest,
00078     tz_dsttime;
00079 };
00080 #endif
00081 
00082 typedef UINT
00083   (CALLBACK *LPFNDLLFUNC1)(DWORD,UINT);
00084 
00085 typedef UINT
00086   (CALLBACK *LPFNDLLFUNC2)(NTMEMORYSTATUSEX *);
00087 
00088 #endif
00089 
00090 #if defined(MAGICKCORE_BZLIB_DELEGATE)
00091 #  if defined(_WIN32)
00092 #    define BZ_IMPORT 1
00093 #  endif
00094 #endif
00095 
00096 extern MagickPrivate char
00097   *NTGetLastError(void);
00098 
00099 #if !defined(MAGICKCORE_LTDL_DELEGATE)
00100 extern MagickPrivate const char
00101   *NTGetLibraryError(void);
00102 #endif
00103 
00104 #if !defined(XS_VERSION)
00105 extern MagickPrivate const char
00106   *NTGetLibraryError(void);
00107 
00108 extern MagickPrivate DIR
00109   *NTOpenDirectory(const char *);
00110 
00111 extern MagickPrivate double
00112   NTElapsedTime(void),
00113   NTUserTime(void);
00114 
00115 extern MagickPrivate int
00116   Exit(int),
00117 #if !defined(__MINGW32__)
00118   gettimeofday(struct timeval *,struct timezone *),
00119 #endif
00120   IsWindows95(void),
00121   NTCloseDirectory(DIR *),
00122   NTCloseLibrary(void *),
00123   NTControlHandler(void),
00124   NTExitLibrary(void),
00125   NTTruncateFile(int,off_t),
00126   NTGhostscriptDLL(char *,int),
00127   NTGhostscriptEXE(char *,int),
00128   NTGhostscriptFonts(char *,int),
00129   NTGhostscriptLoadDLL(void),
00130   NTInitializeLibrary(void),
00131   NTSetSearchPath(const char *),
00132   NTSyncMemory(void *,size_t,int),
00133   NTUnmapMemory(void *,size_t),
00134   NTSystemCommand(const char *,char *);
00135 
00136 extern MagickPrivate ssize_t
00137   NTGetPageSize(void),
00138   NTSystemConfiguration(int),
00139   NTTellDirectory(DIR *);
00140 
00141 extern MagickPrivate MagickBooleanType
00142   NTGatherRandomData(const size_t,unsigned char *),
00143   NTGetExecutionPath(char *,const size_t),
00144   NTGetModulePath(const char *,char *),
00145   NTReportEvent(const char *,const MagickBooleanType);
00146 
00147 extern MagickExport MagickBooleanType
00148   NTLongPathsEnabled();
00149 
00150 extern MagickPrivate struct dirent
00151   *NTReadDirectory(DIR *);
00152 
00153 extern MagickPrivate unsigned char
00154   *NTRegistryKeyLookup(const char *),
00155   *NTResourceToBlob(const char *);
00156 
00157 extern MagickPrivate void
00158   *NTGetLibrarySymbol(void *,const char *),
00159   NTInitializeWinsock(MagickBooleanType),
00160   *NTMapMemory(char *,size_t,int,int,int,MagickOffsetType),
00161   *NTOpenLibrary(const char *),
00162   NTSeekDirectory(DIR *,ssize_t),
00163   NTWindowsGenesis(void),
00164   NTWindowsTerminus(void);
00165 
00166 #endif /* !XS_VERSION */
00167 
00168 #endif /* MAGICKCORE_WINDOWS_SUPPORT */
00169 
00170 #if defined(__cplusplus) || defined(c_plusplus)
00171 }
00172 #endif /* !C++ */
00173 
00174 #endif /* !MAGICKCORE_NT_BASE_H */

Generated on 2 Jul 2019 for MagickCore by  doxygen 1.6.1