MagickCore  6.9.13-1
Convert, Edit, Or Compose Bitmap Images
 All Data Structures
nt-base-private.h
1 /*
2  Copyright 1999 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  *NTGetEnvironmentValue(const char *),
91  *NTGetLastError(void);
92 
93 #if !defined(MAGICKCORE_LTDL_DELEGATE)
94 extern MagickPrivate const char
95  *NTGetLibraryError(void);
96 #endif
97 
98 #if !defined(XS_VERSION)
99 extern MagickPrivate const char
100  *NTGetLibraryError(void);
101 
102 extern MagickPrivate DIR
103  *NTOpenDirectory(const char *);
104 
105 extern MagickPrivate double
106  NTElapsedTime(void),
107  NTUserTime(void);
108 
109 extern MagickPrivate int
110 #if !defined(__MINGW32__)
111  gettimeofday(struct timeval *,struct timezone *),
112 #endif
113  NTCloseDirectory(DIR *),
114  NTCloseLibrary(void *),
115  NTControlHandler(void),
116  NTExitLibrary(void),
117  NTTruncateFile(int,off_t),
118  NTGhostscriptEXE(char *,int),
119  NTGhostscriptFonts(char *,int),
120  NTInitializeLibrary(void),
121  NTSetSearchPath(const char *),
122  NTUnmapMemory(void *,size_t),
123  NTSystemCommand(const char *,char *);
124 
125 extern MagickPrivate ssize_t
126  NTSystemConfiguration(int);
127 
128 extern MagickPrivate MagickBooleanType
129  NTGatherRandomData(const size_t,unsigned char *),
130  NTGetExecutionPath(char *,const size_t),
131  NTGetModulePath(const char *,char *),
132  NTReportEvent(const char *,const MagickBooleanType);
133 
134 extern MagickExport MagickBooleanType
135  NTLongPathsEnabled(void);
136 
137 extern MagickPrivate struct dirent
138  *NTReadDirectory(DIR *);
139 
140 extern MagickPrivate unsigned char
141  *NTRegistryKeyLookup(const char *),
142  *NTResourceToBlob(const char *);
143 
144 extern MagickPrivate void
145  *NTGetLibrarySymbol(void *,const char *),
146  NTInitializeWinsock(MagickBooleanType),
147  *NTMapMemory(char *,size_t,int,int,int,MagickOffsetType),
148  *NTOpenLibrary(const char *),
149  NTWindowsGenesis(void),
150  NTWindowsTerminus(void);
151 
152 #endif /* !XS_VERSION */
153 
154 #endif /* MAGICKCORE_WINDOWS_SUPPORT */
155 
156 #if defined(__cplusplus) || defined(c_plusplus)
157 }
158 #endif /* !C++ */
159 
160 #endif /* !MAGICKCORE_NT_BASE_H */
Definition: mac.h:53
Definition: mac.h:41