]> granicus.if.org Git - imagemagick/blob - MagickCore/nt-base-private.h
Support Stereo composite operator
[imagemagick] / MagickCore / nt-base-private.h
1 /*
2   Copyright 1999-2017 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.
6   obtain a copy of the License at
7
8     https://www.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 typedef struct _NTMEMORYSTATUSEX
58 {
59   DWORD
60     dwLength,
61     dwMemoryLoad;
62
63   DWORDLONG
64     ullTotalPhys,
65     ullAvailPhys,
66     ullTotalPageFile,
67     ullAvailPageFile,
68     ullTotalVirtual,
69     ullAvailVirtual,
70     ullAvailExtendedVirtual;
71 } NTMEMORYSTATUSEX;
72
73 #if !defined(__MINGW32__)
74 struct timeval;
75
76 struct timezone
77 {
78   int
79     tz_minuteswest,
80     tz_dsttime;
81 };
82 #endif
83
84 typedef UINT
85   (CALLBACK *LPFNDLLFUNC1)(DWORD,UINT);
86
87 typedef UINT
88   (CALLBACK *LPFNDLLFUNC2)(NTMEMORYSTATUSEX *);
89
90 #endif
91
92 #if defined(MAGICKCORE_BZLIB_DELEGATE)
93 #  if defined(_WIN32)
94 #    define BZ_IMPORT 1
95 #  endif
96 #endif
97
98 extern MagickPrivate char
99   *NTGetLastError(void);
100
101 #if !defined(MAGICKCORE_LTDL_DELEGATE)
102 extern MagickPrivate const char
103   *NTGetLibraryError(void);
104 #endif
105
106 #if !defined(XS_VERSION)
107 extern MagickPrivate const char
108   *NTGetLibraryError(void);
109
110 extern MagickPrivate DIR
111   *NTOpenDirectory(const char *);
112
113 extern MagickPrivate double
114   NTElapsedTime(void),
115   NTErf(double),
116   NTUserTime(void);
117
118 extern MagickPrivate int
119   Exit(int),
120 #if !defined(__MINGW32__)
121   gettimeofday(struct timeval *,struct timezone *),
122 #endif
123   IsWindows95(void),
124   NTCloseDirectory(DIR *),
125   NTCloseLibrary(void *),
126   NTControlHandler(void),
127   NTExitLibrary(void),
128   NTTruncateFile(int,off_t),
129   NTGhostscriptDLL(char *,int),
130   NTGhostscriptEXE(char *,int),
131   NTGhostscriptFonts(char *,int),
132   NTGhostscriptLoadDLL(void),
133   NTInitializeLibrary(void),
134   NTSetSearchPath(const char *),
135   NTSyncMemory(void *,size_t,int),
136   NTUnmapMemory(void *,size_t),
137   NTSystemCommand(const char *,char *);
138
139 extern MagickPrivate ssize_t
140   NTGetPageSize(void),
141   NTSystemConfiguration(int),
142   NTTellDirectory(DIR *);
143
144 extern MagickPrivate MagickBooleanType
145   NTGatherRandomData(const size_t,unsigned char *),
146   NTGetExecutionPath(char *,const size_t),
147   NTGetModulePath(const char *,char *),
148   NTReportEvent(const char *,const MagickBooleanType);
149
150 extern MagickPrivate struct dirent
151   *NTReadDirectory(DIR *);
152
153 extern MagickPrivate unsigned char
154   *NTRegistryKeyLookup(const char *),
155   *NTResourceToBlob(const char *);
156
157 extern MagickPrivate void
158   *NTGetLibrarySymbol(void *,const char *),
159   NTInitializeWinsock(MagickBooleanType),
160   *NTMapMemory(char *,size_t,int,int,int,MagickOffsetType),
161   *NTOpenLibrary(const char *),
162   NTSeekDirectory(DIR *,ssize_t),
163   NTWindowsGenesis(void),
164   NTWindowsTerminus(void);
165
166 #endif /* !XS_VERSION */
167
168 #endif /* MAGICKCORE_WINDOWS_SUPPORT */
169
170 #if defined(__cplusplus) || defined(c_plusplus)
171 }
172 #endif /* !C++ */
173
174 #endif /* !MAGICKCORE_NT_BASE_H */