1 /* 2 Copyright 1999-2021 ImageMagick Studio LLC, a non-profit organization 3 dedicated to making software imaging solutions freely available. 4 5 You may not use this file except in compliance with the License. You may 6 obtain a copy of the License at 7 8 https://imagemagick.org/script/license.php 9 10 Unless required by applicable law or agreed to in writing, software 11 distributed under the License is distributed on an "AS IS" BASIS, 12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 See the License for the specific language governing permissions and 14 limitations under the License. 15 16 MagickCore Windows NT private methods. 17 */ 18 #ifndef MAGICKCORE_NT_BASE_PRIVATE_H 19 #define MAGICKCORE_NT_BASE_PRIVATE_H 20 21 #include "MagickCore/delegate.h" 22 #include "MagickCore/delegate-private.h" 23 #include "MagickCore/exception.h" 24 #include "MagickCore/splay-tree.h" 25 26 #if defined(__cplusplus) || defined(c_plusplus) 27 extern "C" { 28 #endif 29 30 #if defined(MAGICKCORE_WINDOWS_SUPPORT) 31 32 #if !defined(XS_VERSION) 33 struct dirent 34 { 35 char 36 d_name[2048]; 37 38 int 39 d_namlen; 40 }; 41 42 typedef struct _DIR 43 { 44 HANDLE 45 hSearch; 46 47 WIN32_FIND_DATAW 48 Win32FindData; 49 50 BOOL 51 firsttime; 52 53 struct dirent 54 file_info; 55 } DIR; 56 57 #if !defined(__MINGW32__) 58 struct timeval; 59 60 struct timezone 61 { 62 int 63 tz_minuteswest, 64 tz_dsttime; 65 }; 66 #endif 67 68 #endif 69 70 extern MagickPrivate char 71 *NTGetLastError(void); 72 73 #if !defined(MAGICKCORE_LTDL_DELEGATE) 74 extern MagickPrivate const char 75 *NTGetLibraryError(void); 76 #endif 77 78 #if !defined(XS_VERSION) 79 extern MagickPrivate const char 80 *NTGetLibraryError(void); 81 82 extern MagickPrivate DIR 83 *NTOpenDirectory(const char *); 84 85 extern MagickPrivate double 86 NTElapsedTime(void), 87 NTErf(double), 88 NTUserTime(void); 89 90 extern MagickPrivate int 91 #if !defined(__MINGW32__) 92 gettimeofday(struct timeval *,struct timezone *), 93 #endif 94 NTCloseDirectory(DIR *), 95 NTCloseLibrary(void *), 96 NTControlHandler(void), 97 NTExitLibrary(void), 98 NTTruncateFile(int,off_t), 99 NTGhostscriptDLL(char *,int), 100 NTGhostscriptFonts(char *,int), 101 NTGhostscriptLoadDLL(void), 102 NTInitializeLibrary(void), 103 NTSetSearchPath(const char *), 104 NTUnmapMemory(void *,size_t), 105 NTSystemCommand(const char *,char *); 106 107 extern MagickPrivate ssize_t 108 NTSystemConfiguration(int); 109 110 extern MagickPrivate MagickBooleanType 111 NTGatherRandomData(const size_t,unsigned char *), 112 NTGetExecutionPath(char *,const size_t), 113 NTGetModulePath(const char *,char *), 114 NTReportEvent(const char *,const MagickBooleanType); 115 116 extern MagickExport MagickBooleanType 117 NTLongPathsEnabled(); 118 119 extern MagickPrivate struct dirent 120 *NTReadDirectory(DIR *); 121 122 extern MagickPrivate unsigned char 123 *NTRegistryKeyLookup(const char *), 124 *NTResourceToBlob(const char *); 125 126 extern MagickPrivate void 127 *NTGetLibrarySymbol(void *,const char *), 128 NTGhostscriptEXE(char *,int), 129 NTInitializeWinsock(MagickBooleanType), 130 *NTMapMemory(char *,size_t,int,int,int,MagickOffsetType), 131 *NTOpenLibrary(const char *), 132 NTWindowsGenesis(void), 133 NTWindowsTerminus(void); 134 135 #endif /* !XS_VERSION */ 136 137 #endif /* MAGICKCORE_WINDOWS_SUPPORT */ 138 139 #if defined(__cplusplus) || defined(c_plusplus) 140 } 141 #endif /* !C++ */ 142 143 #endif /* !MAGICKCORE_NT_BASE_H */ 144