MagickCore  6.9.12-67
Convert, Edit, Or Compose Bitmap Images
 All Data Structures
nt-base-private.h
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 "magick/delegate.h"
22 #include "magick/delegate-private.h"
23 #include "magick/exception.h"
24 #include "magick/memory_.h"
25 #include "magick/splay-tree.h"
26 
27 #if defined(__cplusplus) || defined(c_plusplus)
28 extern "C" {
29 #endif
30 
31 #if defined(MAGICKCORE_WINDOWS_SUPPORT)
32 
33 #if !defined(XS_VERSION)
34 struct dirent
35 {
36  char
37  d_name[2048];
38 
39  int
40  d_namlen;
41 };
42 
43 typedef struct _DIR
44 {
45  HANDLE
46  hSearch;
47 
48  WIN32_FIND_DATAW
49  Win32FindData;
50 
51  BOOL
52  firsttime;
53 
54  struct dirent
55  file_info;
56 } DIR;
57 
58 #if !defined(__MINGW32__)
59 struct timezone
60 {
61  int
62  tz_minuteswest,
63  tz_dsttime;
64 };
65 #endif
66 
67 #endif
68 
69 #if defined(MAGICKCORE_BZLIB_DELEGATE)
70 # if defined(_WIN32)
71 # define BZ_IMPORT 1
72 # endif
73 #endif
74 
75 static inline void *NTAcquireQuantumMemory(const size_t count,
76  const size_t quantum)
77 {
78  size_t
79  size;
80 
81  if (HeapOverflowSanityCheckGetSize(count,quantum,&size) != MagickFalse)
82  {
83  errno=ENOMEM;
84  return(NULL);
85  }
86  return(AcquireMagickMemory(size));
87 }
88 
89 extern MagickPrivate char
90  *NTGetLastError(void);
91 
92 #if !defined(MAGICKCORE_LTDL_DELEGATE)
93 extern MagickPrivate const char
94  *NTGetLibraryError(void);
95 #endif
96 
97 #if !defined(XS_VERSION)
98 extern MagickPrivate const char
99  *NTGetLibraryError(void);
100 
101 extern MagickPrivate DIR
102  *NTOpenDirectory(const char *);
103 
104 extern MagickPrivate double
105  NTElapsedTime(void),
106  NTUserTime(void);
107 
108 extern MagickPrivate int
109 #if !defined(__MINGW32__)
110  gettimeofday(struct timeval *,struct timezone *),
111 #endif
112  NTCloseDirectory(DIR *),
113  NTCloseLibrary(void *),
114  NTControlHandler(void),
115  NTExitLibrary(void),
116  NTTruncateFile(int,off_t),
117  NTGhostscriptEXE(char *,int),
118  NTGhostscriptFonts(char *,int),
119  NTInitializeLibrary(void),
120  NTSetSearchPath(const char *),
121  NTUnmapMemory(void *,size_t),
122  NTSystemCommand(const char *,char *);
123 
124 extern MagickPrivate ssize_t
125  NTSystemConfiguration(int);
126 
127 extern MagickPrivate MagickBooleanType
128  NTGatherRandomData(const size_t,unsigned char *),
129  NTGetExecutionPath(char *,const size_t),
130  NTGetModulePath(const char *,char *),
131  NTReportEvent(const char *,const MagickBooleanType);
132 
133 extern MagickExport MagickBooleanType
134  NTLongPathsEnabled();
135 
136 extern MagickPrivate struct dirent
137  *NTReadDirectory(DIR *);
138 
139 extern MagickPrivate unsigned char
140  *NTRegistryKeyLookup(const char *),
141  *NTResourceToBlob(const char *);
142 
143 extern MagickPrivate void
144  *NTGetLibrarySymbol(void *,const char *),
145  NTInitializeWinsock(MagickBooleanType),
146  *NTMapMemory(char *,size_t,int,int,int,MagickOffsetType),
147  *NTOpenLibrary(const char *),
148  NTWindowsGenesis(void),
149  NTWindowsTerminus(void);
150 
151 #endif /* !XS_VERSION */
152 
153 #endif /* MAGICKCORE_WINDOWS_SUPPORT */
154 
155 #if defined(__cplusplus) || defined(c_plusplus)
156 }
157 #endif /* !C++ */
158 
159 #endif /* !MAGICKCORE_NT_BASE_H */
Definition: mac.h:53
Definition: mac.h:41