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 "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 #if !defined(__MINGW32__)
00058 struct timezone
00059 {
00060   int
00061     tz_minuteswest,
00062     tz_dsttime;
00063 };
00064 #endif
00065 
00066 #endif
00067 
00068 #if defined(MAGICKCORE_BZLIB_DELEGATE)
00069 #  if defined(_WIN32)
00070 #    define BZ_IMPORT 1
00071 #  endif
00072 #endif
00073 
00074 extern MagickPrivate char
00075   *NTGetLastError(void);
00076 
00077 #if !defined(MAGICKCORE_LTDL_DELEGATE)
00078 extern MagickPrivate const char
00079   *NTGetLibraryError(void);
00080 #endif
00081 
00082 #if !defined(XS_VERSION)
00083 extern MagickPrivate const char
00084   *NTGetLibraryError(void);
00085 
00086 extern MagickPrivate DIR
00087   *NTOpenDirectory(const char *);
00088 
00089 extern MagickPrivate double
00090   NTElapsedTime(void),
00091   NTUserTime(void);
00092 
00093 extern MagickPrivate int
00094 #if !defined(__MINGW32__)
00095   gettimeofday(struct timeval *,struct timezone *),
00096 #endif
00097   NTCloseDirectory(DIR *),
00098   NTCloseLibrary(void *),
00099   NTControlHandler(void),
00100   NTExitLibrary(void),
00101   NTTruncateFile(int,off_t),
00102   NTGhostscriptDLL(char *,int),
00103   NTGhostscriptEXE(char *,int),
00104   NTGhostscriptFonts(char *,int),
00105   NTGhostscriptLoadDLL(void),
00106   NTInitializeLibrary(void),
00107   NTSetSearchPath(const char *),
00108   NTUnmapMemory(void *,size_t),
00109   NTSystemCommand(const char *,char *);
00110 
00111 extern MagickPrivate ssize_t
00112   NTSystemConfiguration(int);
00113 
00114 extern MagickPrivate MagickBooleanType
00115   NTGatherRandomData(const size_t,unsigned char *),
00116   NTGetExecutionPath(char *,const size_t),
00117   NTGetModulePath(const char *,char *),
00118   NTReportEvent(const char *,const MagickBooleanType);
00119 
00120 extern MagickExport MagickBooleanType
00121   NTLongPathsEnabled();
00122 
00123 extern MagickPrivate struct dirent
00124   *NTReadDirectory(DIR *);
00125 
00126 extern MagickPrivate unsigned char
00127   *NTRegistryKeyLookup(const char *),
00128   *NTResourceToBlob(const char *);
00129 
00130 extern MagickPrivate void
00131   *NTGetLibrarySymbol(void *,const char *),
00132   NTInitializeWinsock(MagickBooleanType),
00133   *NTMapMemory(char *,size_t,int,int,int,MagickOffsetType),
00134   *NTOpenLibrary(const char *),
00135   NTWindowsGenesis(void),
00136   NTWindowsTerminus(void);
00137 
00138 #endif /* !XS_VERSION */
00139 
00140 #endif /* MAGICKCORE_WINDOWS_SUPPORT */
00141 
00142 #if defined(__cplusplus) || defined(c_plusplus)
00143 }
00144 #endif /* !C++ */
00145 
00146 #endif /* !MAGICKCORE_NT_BASE_H */

Generated on 30 Nov 2020 for MagickCore by  doxygen 1.6.1