FEDRA emulsion software from the OPERA Collaboration
Mil.h
Go to the documentation of this file.
1 /************************************************************************/
2 /*
3 *
4 * Filename : MIL.H
5 * Owner : Matrox Imaging dept.
6 * Rev : $Revision: 1.1 $
7 * Content : This file contains the defines necessary to use the
8 * Matrox Imaging Library "C" user interface.
9 *
10 * Comments : Some defines may be here but not yet
11 * implemented in the library.
12 *
13 * COPYRIGHT (c) Matrox Electronic Systems Ltd.
14 * All Rights Reserved
15 *************************************************************************/
16 
17 #ifndef __MIL_H
18 #define __MIL_H
19 
20 //TBR MIL 8.0
21 #ifndef M_MIL_75_COMPATIBLE
22 #define M_MIL_READY_FOR_MIL80 1
23 #define M_MIL_USE_64_BIT_ATTRIBUTES 1
24 #else
25 #define M_MIL_READY_FOR_MIL80 0
26 #define M_MIL_USE_64_BIT_ATTRIBUTES 0
27 #endif
28 
29 
30 /************************************************************************/
31 /* DEFAULT SETUP FLAG */
32 /************************************************************************/
33 
34 /* include set-up instructions (if not specified) */
35 #include <milsetup.h>
36 
37 /* include mil memory allocator when needed */
38 #ifdef M_MIL_USE_MEMORY_ALLOCATOR
39 #include <milmem.h>
40 #endif
41 
42 /************************************************************************/
43 /* Support for old defines name */
44 /************************************************************************/
45 #ifndef OldDefinesSupport
46  #define OldDefinesSupport 1
47 #endif
48 
49 
50 /************************************************************************/
51 /* MIL HOST CURRENT VERSION (Inquired by MappInquire) */
52 /************************************************************************/
53 #define M_MIL_CURRENT_VERSION 7.80
54 #define M_MIL_CURRENT_INT_VERSION 0x0780
55 #define M_MIL_CURRENT_ASCII_VERSION "7.80"
56 
57 
58 /************************************************************************/
59 /* MIL buffer identifier type */
60 /************************************************************************/
61 typedef long MIL_ID;
62 
63 /************************************************************************/
64 /* MIL main */
65 /************************************************************************/
66 #if M_MIL_USE_CE
67 #define WIN32_LEAN_AND_MEAN
68 #include <windows.h>
69 #define main(x) *UnUsedPtr; int WINAPI WinMain(HINSTANCE hInstance,\
70  HINSTANCE hPrevInstance,\
71  LPTSTR lpCmdLine,\
72  int nCmdShow)
73 #endif
74 
75 
76 /************************************************************************/
77 /* General default parameters (may be bit encoded) */
78 /************************************************************************/
79 #define M_NULL 0x00000000L
80 
81 #if M_MIL_USE_LINUX
82  #define MAKE_INT64(I) (I ## LL)
83 #else
84  #define MAKE_INT64(I) (I)
85 #endif
86 
87 #if M_MIL_READY_FOR_MIL80 //TBR MIL 8.0
88  #define M_PSEUDO_ID 0x80000000L //TBR MIL 8.0
89  #define M_IS_PSEUDO_ID(X) (X&M_PSEUDO_ID)
90  #define M_OVERSCAN_DISABLE 0x40000000L
91 #else
92  #define M_PSEUDO_ID 0x00000000L //TBR MIL 8.0
93  #define M_IS_PSEUDO_ID(X) (X >= M_ID_OFFSET_OF_DEFAULT_KERNEL)
94  #define M_OVERSCAN_DISABLE (M_ID_OFFSET_OF_DEFAULT_KERNEL >> 1L)
95 #endif
96 
97 #define M_FALSE 0L
98 #define M_NO 0L
99 #define M_OFF 0L
100 #define M_IN_PROGRESS 0L
101 #define M_FINISHED 1L
102 #define M_TRUE 1L
103 #define M_YES 1L
104 #define M_ON 1L
105 #define M_WAIT 1L
106 #define M_CREATE M_YES
107 #define M_FREE 0x00020000
108 #define M_DEFAULT 0x10000000L
109 #define M_QUIET 0x08000000L
110 #define M_INSFLAG 0x04000000L //TBR MIL 8.0
111 #define M_SPECIAL 0x02000000L
112 #define M_VALID 0x00000001L
113 #define M_INVALID -1L
114 #define M_CLEAR 0x00000001L
115 #define M_NO_CLEAR 0x00000002L
116 #define M_LUT_OFFSET 0x80000000L
117 #define M_ENABLE -9997L
118 #define M_DISABLE -9999L
119 #define M_LOCAL 0x01000000
120 #define M_REMOTE 0x00000000
121 #define M_UNINITIALIZED 0x0badbad0
122 
123 #define M_EXTENDED 0x80000000L // remove
124 #define M_PERSISTENT 0x00000100L
125 
126 #define M_ALL 0x40000000L
127 #define M_ANY 0x11000000L
128 #define M_INVALID_MDID 0x40000000L
129 #define M_ALWAYS 0L // defined in Milblob.h
130 
131 /************************************************************************/
132 /* Board generic information. */
133 /************************************************************************/
134 #define M_RS170 0x00000001L
135 #define M_NTSC 0x00000002L
136 #define M_CCIR 0x00000003L
137 #define M_PAL 0x00000004L
138 #define M_NTSC_RGB 0x00000005L
139 #define M_PAL_RGB 0x00000006L
140 #define M_SECAM_RGB 0x00000007L
141 #define M_SECAM 0x00000008L
142 /* Reserve next 2 values from 0x00000009L*/
143 /* to 0x0000000AL*/
144 
145 
146 /************************************************************************/
147 /* Buffer ID offset for defaults */
148 /************************************************************************/
149 #define M_UNSIGNED 0x00000000L
150 #define M_SIGNED 0x80000000L
151 #define M_FLOAT (0x40000000L | M_SIGNED)
152 #define M_DOUBLE (0x20000000L | M_SIGNED)
153 #define M_SIZE_BIT_MASK 0x000000FFL
154 #define M_TYPE_MASK 0xFFFFFF00L
155 
156 /************************************************************************/
157 /* MMX related */
158 /************************************************************************/
159 #define M_READ_PREFETCH_EXTRA_BYTES 32
160 
161 // Kept for backward compatibility.
162 #define M_MMX_EXTRA_BYTES M_READ_PREFETCH_EXTRA_BYTES
163 
164 // Default values for memory allocators. Can be overridden at run-
165 // time by any OS-specific version of the MIL memory allocator
166 #define M_MEMORY_ALLOC_PRE_PADDING_VALUE M_READ_PREFETCH_EXTRA_BYTES
167 #define M_MEMORY_ALLOC_POST_PADDING_VALUE M_READ_PREFETCH_EXTRA_BYTES
168 #define M_MEMORY_ALLOC_PITCH_BYTE_VALUE 1
169 #define M_MEMORY_ALLOC_ALIGNMENT_VALUE 128
170 
171 /************************************************************************/
172 /* Non cachable related */
173 /************************************************************************/
174 #define M_NO_ALIGNMENT -1
175 #define M_4K_ALIGNMENT 4096
176 
177 
178 /************************************************************************/
179 /* Multi thread */
180 /************************************************************************/
181 #define M_MULTI_THREAD 0x00000001L
182 #define M_HOST_THREAD 0x00000002L
183 #define M_MIL_THREAD 0x00000004L
184 #define M_STATE 0x00000008L
185 #define M_SIGNALED 0x00000010L
186 #define M_NOT_SIGNALED 0x00000020L
187 #define M_THREAD_SELECT 0x00000040L
188 #define M_THREAD_DETACH 0x00000080L
189 #define M_AUTO_RESET 0x00002000L
190 #define M_MANUAL_RESET 0x00004000L
191 
192 #define M_IDLE 1L
193 #define M_LOWEST 6L
194 #define M_BELOW_NORMAL 7L
195 #ifndef M_MIL_75_COMPATIBLE
196 #define M_NORMAL 8L
197 #else
198 #define M_NORMAL 1L
199 #endif //M_MIL_75_COMPATIBLE
200 #define M_ABOVE_NORMAL 9L
201 #define M_HIGHEST 10L
202 #define M_TIME_CRITICAL 15L
203 
204 #define M_THREAD_PRIORITY 1019L
205 #define M_EVENT_ALLOC 1700L
206 #define M_EVENT_FREE 1701L
207 #define M_EVENT_SEND 1702L
208 #define M_EVENT_CONTROL 1703L
209 #define M_EVENT_SYNCHRONIZE 1704L
210 #ifdef M_MIL_75_COMPATIBLE //TBR MIL 8.0
211 #define M_EVENT_WAIT 0x00000100L //TBR MIL 8.0
212 #define M_EVENT_STATE 0x00000200L //TBR MIL 8.0
213 #define M_EVENT_SET 0x00000400L //TBR MIL 8.0
214 #else
215 #define M_EVENT_WAIT 1705L
216 #define M_EVENT_STATE 1706L
217 #define M_EVENT_SET 1707L
218 #endif
219 #define M_EVENT_TIMEOUT 1708L
220 #define M_THREAD_ALLOC 1800L
221 #define M_THREAD_FREE 1801L
222 #define M_THREAD_WAIT 1802L
223 #define M_THREAD_CONTROL 1803L
224 #define M_THREAD_MODE 1804L
225 #define M_THREAD_IO_MODE 1805L
226 #define M_THREAD_CREATE 1806L //TBR MIL 8.0
227 #define M_THREAD_SELECTABLE_ALLOC 1807L
228 #define M_THREAD_END_WAIT 1808L
229 #define M_THREAD_START 1809L
230 
231 
232 /************************************************************************/
233 /* General Inquire/Control ... */
234 /************************************************************************/
235 #define M_OWNER_APPLICATION 1000L
236 #define M_OWNER_SYSTEM 1001L
237 #define M_SIZE_X 1002L
238 #define M_SIZE_Y 1003L
239 #define M_SIZE_Z 1004L
240 #define M_SIZE_BAND 1005L
241 #define M_SIZE_BAND_LUT 1006L
242 #define M_SIZE_BIT 1007L
243 #define M_TYPE 1008L
244 #define M_NUMBER 1009L
245 #define M_FORMAT 1010L
246 #define M_FORMAT_SIZE 1011L
247 #define M_INIT_FLAG 1012L
248 #define M_ATTRIBUTE 1013L
249 #define M_SIGN 1014L
250 #define M_LUT_ID 1015L
251 #define M_NATIVE_ID 1016L
252 #define M_NATIVE_CONTROL_ID 1017L
253 #define M_COLOR_MODE 1018L
254 #define M_THREAD_PRIORITY 1019L
255 #define M_NEED_UPDATE 1020L
256 #define M_SURFACE 1021L
257 //1022L was use by M_WINDOW_DDRAW_SURFACE, that is now in oldDefine section.
258 #define M_OWNER_SYSTEM_TYPE 1023L
259 #define M_DISP_NATIVE_ID 1024L
260 #define M_SATURATION_SIZE_BIT 1035L
261 #define M_SATURATION_TYPE 1036L
262 #define M_LOCATION 1037L
263 #define M_OBJECT_VALID 1038L
264 
265 /************************************************************************/
266 /* MsysAlloc() */
267 /************************************************************************/
268 /* System type */
269 #if M_MIL_READY_FOR_MIL80 //TBR MIL 8.0
270 #define M_DEFAULT_HOST 0x00FF0001L
271 #else
272 #define M_DEFAULT_HOST 0x10000001L //TBR MIL 8.0
273 #endif
274 
275 #ifdef M_MIL_75_COMPATIBLE //TBR MIL 8.0
276 #define M_INTERNAL_DEFAULT_HOST M_DEFAULT_HOST //TBR MIL 8.0
277 #else //TBR MIL 8.0
278 #define M_INTERNAL_DEFAULT_HOST 0x00FF0003L
279 #endif //TBR MIL 8.0
280 
281 #define M_SYSTEM_HOST_TYPE 9L
282 #define M_SYSTEM_VGA_TYPE 13L
283 #define M_SYSTEM_METEOR_TYPE 15L
284 #define M_SYSTEM_PULSAR_TYPE 16L
285 #define M_SYSTEM_GENESIS_TYPE 17L
286 #define M_SYSTEM_CORONA_TYPE 18L
287 #define M_SYSTEM_METEOR_II_TYPE 20L
288 #define M_SYSTEM_METEOR_II_DIG_TYPE 21L
289 #define M_SYSTEM_1394_TYPE 22L
290 #define M_SYSTEM_METEOR_II_1394_TYPE M_SYSTEM_1394_TYPE
291 #define M_SYSTEM_MMX_TYPE 23L
292 #define M_SYSTEM_SSE_TYPE 24L
293 #define M_SYSTEM_ORION_TYPE 25L
294 #define M_SYSTEM_SSE2_TYPE 26L
295 #define M_SYSTEM_AMD_3DNOW_TYPE 27L
296 #define M_SYSTEM_AMD_MMX_EXT_TYPE 28L
297 #define M_SYSTEM_AMD_3DNOW_EXT_TYPE 29L
298 #define M_SYSTEM_CORONA_II_TYPE 30L
299 #define M_SYSTEM_REMOTE_HOST_TYPE 31L
300 #define M_SYSTEM_METEOR_II_CL_TYPE 32L
301 #define M_SYSTEM_ALTIVEC_TYPE 33L
302 #define M_SYSTEM_CRONOS_TYPE 34L
303 #define M_SYSTEM_ODYSSEY_TYPE 35L
304 #define M_SYSTEM_HELIOS_TYPE 36L
305 #define M_SYSTEM_IRIS_TYPE 37L
306 #define M_SYSTEM_CRONOSPLUS_TYPE 38L
307 #define M_SYSTEM_MORPHIS_TYPE 39L
308 #define M_SYSTEM_ODYSSEY_NATIVE_TYPE 40L
309 
310 
311 /* MsysAlloc() flags */
312 #define M_COMPLETE 0x00000000L
313 #define M_PARTIAL 0x00000001L
314 #define M_WINDOWS 0x00000002L
315 #define M_DISP_WAIT_SELECT 0x00000004L
316 #define M_DISP_TEXT_SAVE 0x00000008L
317 #define M_USE_DMA_FOR_PROC_BUF 0x00000010L
318 #define M_USE_DMA_FOR_DISP_BUF 0x00000020L
319 #define M_USE_DMA_FOR_GRAB_BUF 0x00000040L
320 #define M_PRE_ALLOC_DMA_MEM 0x00000080L
321 //#define M_DMA_MEM_MASK 0x0000FF00L
322 #define M_NO_INTERRUPT 0x00010000L
323 #define M_NO_FIELD_START_INTERRUPT 0x00020000L
324 #define M_DISP_NO_WAIT_SELECT 0x00040000L
325 #define M_NO_DDRAW 0x00080000L
326 #define M_EXTERNAL_CLK_TTL 0x00100000L
327 #define M_SYSTEM_METEOR_II_CL_FLAG 0x00400000L
328 #define M_ACCELERATOR_DISABLE 0x00400000L
329 #define M_EXTERNAL_CLK_422 0x00200000L
330 #define M_DDRAW 0x40000000L
331 #define M_SYSTEM_METEOR_II_FLAG 0x01000000L
332 #define M_REGISTER_EDITOR 0x02000000L
333 #define M_NEW_SYSALLOC 0x04000000L
334 #define M_USE_COMMAND_DECODER 0x00000100L
335 #define M_SYS_MD_ID 0x08000000L
336 #define M_DEFAULT 0x10000000L
337 #define M_INTERNAL_ALLOCATION ((BUFATTRTYPE)MAKE_INT64(0x0000000080000000))
338 #define M_STAR_GATE 0x40000000L
339 #define M_SYSTEM_CORONA_II_FLAG 0x20000000L
340 
341 #define M_DMA_BLOCK_SIZE 256L
342 
343 #define M_DMA_BUF_SIZE(Val) (((((Val+255L)/256L) << 8) & M_DMA_MEM_MASK) | M_PRE_ALLOC_DMA_MEM)
344 #define M_USE_DMA (M_USE_DMA_FOR_PROC_BUF | M_USE_DMA_FOR_DISP_BUF | M_USE_DMA_FOR_GRAB_BUF)
345 
346 
347 /************************************************************************/
348 /* SysAlloc() in Mil Interpreter */
349 /************************************************************************/
350 
351 //TBR MIL 8.0 This section is only used by the interpreter and could be removed in MIL 8.0
352 #define M_SYSTEM_HOST_PTR (M_SYSTEM_HOST_TYPE + 50L)
353 #define M_SYSTEM_VGA_PTR (M_SYSTEM_VGA_TYPE + 50L)
354 #define M_SYSTEM_METEOR_PTR (M_SYSTEM_METEOR_TYPE + 50L)
355 #define M_SYSTEM_PULSAR_PTR (M_SYSTEM_PULSAR_TYPE + 50L)
356 #define M_SYSTEM_GENESIS_PTR (M_SYSTEM_GENESIS_TYPE + 50L)
357 #define M_SYSTEM_CORONA_PTR (M_SYSTEM_CORONA_TYPE + 50L)
358 #define M_SYSTEM_ORION_PTR (M_SYSTEM_ORION_TYPE + 50L)
359 #define M_SYSTEM_METEOR_II_PTR (M_SYSTEM_METEOR_II_TYPE + 50L)
360 #define M_SYSTEM_METEOR_II_DIG_PTR (M_SYSTEM_METEOR_II_DIG_TYPE + 50L)
361 #define M_SYSTEM_METEOR_II_CL_PTR (M_SYSTEM_METEOR_II_CL_TYPE + 50L)
362 #define M_SYSTEM_CRONOS_PTR (M_SYSTEM_CRONOS_TYPE + 50L)
363 #define M_SYSTEM_HELIOS_PTR (M_SYSTEM_HELIOS_TYPE + 50L)
364 #define M_SYSTEM_IRIS_PTR (M_SYSTEM_IRIS_TYPE + 50L)
365 #define M_SYSTEM_CRONOSPLUS_PTR (M_SYSTEM_CRONOSPLUS_TYPE + 50L)
366 
367 /************************************************************************/
368 /* MsysInquire() / MsysControl() Types */
369 /************************************************************************/
370 #define M_OWNER_APPLICATION 1000L
371 #define M_OWNER_SYSTEM 1001L
372 #define M_EXECUTE_BUFFER_HOOKS 1002L
373 #define M_TYPE 1008L
374 #define M_NUMBER 1009L
375 #define M_FORMAT 1010L
376 #define M_FORMAT_SIZE 1011L
377 #define M_INIT_FLAG 1012L
378 #define M_ATTRIBUTE 1013L
379 #define M_NATIVE_ID 1016L
380 #define M_NATIVE_CONTROL_ID 1017L
381 #define M_LOGICAL_TO_PHYSICAL_ADDRESS 1018L
382 #define M_MAP_VIDEO_MEMORY 1019L
383 
384 #define M_MIL_ID_INTERNAL 1025L
385 
386 #define M_THREAD_MODE 1804L
387 
388 #define M_SYSTEM_TYPE 2000L
389 #define M_SYSTEM_TYPE_PTR 2001L
390 //2002L was use by M_DISPLAY_NUM, that is now in the Display reserved area.
391 //2003L was use by M_DISPLAY_TYPE, that is now in the Display reserved area.
392 #define M_DIGITIZER_NUM 2004L
393 #define M_DIGITIZER_TYPE 2005L
394 #define M_PROCESSOR_NUM 2006L
395 //2007L was use by M_PROCESSOR_TYPE, that is now in the processor specific section.
396 #define M_PROCESSING_SYSTEM 2008L
397 #define M_PROCESSING_SYSTEM_TYPE 2009L
398 #define M_TUNER_NUM 2010L
399 #define M_TUNER_TYPE 2011L
400 #define M_RGB_MODULE_NUM 2012L
401 #define M_RGB_MODULE_TYPE 2013L
402 #define M_BOARD_TYPE 2014L
403 #define M_BOARD_REVISION 2015L
404 #define M_DISPLAY_LIST 2016L
405 #define M_WIN_MODE 2017L
406 //2018L was use by M_DUAL_SCREEN_MODE, that is now in the Display reserved area.
407 //2019L was use by M_UNDERLAY_SURFACE_AVAILABLE, that is now in the Display reserved area.
408 #define M_MAX_TILE_SIZE 2021L
409 #define M_MAX_TILE_SIZE_X 2022L
410 #define M_MAX_TILE_SIZE_Y 2023L
411 #define M_LOW_LEVEL_SYSTEM_ID 2024L
412 #define M_NATIVE_THREAD_ID 2026L
413 #define M_NATIVE_MODE_ENTER 2027L
414 #define M_NATIVE_MODE_LEAVE 2028L
415 #define M_PHYSICAL_ADDRESS_UNDERLAY 2029L
416 //2030L was use by M_PHYSICAL_ADDRESS_VGA, that is now in the Display reserved area.
417 #define M_PSEUDO_LIVE_GRAB_ON_MGA 2031L
418 #define M_PSEUDO_LIVE_GRAB 2032L
419 #define M_FORCE_PSEUDO_IN_NON_UNDERLAY_DISPLAYS 2033L
420 #define M_LIVE_GRAB 2034L
421 #define M_LIVE_GRAB_WHEN_DISPLAY_DOES_NOT_MATCH 2035L
422 #define M_LIVE_GRAB_TRACK 2036L
423 #define M_LIVE_GRAB_MOVE_UPDATE 2037L
424 #define M_LIVE_GRAB_END_TRIGGER 2038L
425 #define M_STOP_LIVE_GRAB_WHEN_MENU 2040L
426 #define M_STOP_LIVE_GRAB_WHEN_INACTIVE 2041L
427 #define M_STOP_LIVE_GRAB_WHEN_DISABLED 2042L
428 #define M_GRAB_BY_DISPLAY_CAPTURE 2043L
429 #define M_ALLOC_BUF_RGB888_AS_RGB555 2044L
430 #define M_RGB555_BUFFER_ALLOCATION 2045L
431 #define M_LAST_GRAB_IN_TRUE_BUFFER 2046L
432 #define M_NO_GRAB_WHEN_NO_INPUT_SIGNAL 2047L
433 #define M_PCI_LATENCY 2048L
434 #define M_FAST_PCI_TO_MEM 2049L
435 #define M_DCF_SUPPORTED 2050L
436 #define M_DMA_ENABLE 2051L
437 #define M_DMA_DISABLE 2052L
438 #define M_DIB_ONLY 2053L
439 #define M_DIB_OR_DDRAW 2054L
440 #define M_FLIP_ONLY 2055L
441 //2057L was use by M_PRIMARY_DDRAW_SURFACE_MEM_PTR, that is now in the Display reserved area.
442 //2058L was use by M_PRIMARY_DDRAW_SURFACE_PITCH_BYTE, that is now in the Display reserved area.
443 //2059L was use by M_PRIMARY_DDRAW_SURFACE_SIZE_X, that is now in the Display reserved area.
444 //2060L was use by M_PRIMARY_DDRAW_SURFACE_SIZE_Y, that is now in the Display reserved area.
445 //2061L was use by M_PRIMARY_DDRAW_SURFACE_SIZE_BITS, that is now in the Display reserved area.
446 #define M_INTERNAL_FORMAT_SIZE 2062L
447 #define M_INTERNAL_FORMAT_ENUMERATION 2063L
448 #define M_INTERNAL_FORMAT_CHECK 2064L
449 //2065L was use by M_DDRAW_AVAILABLE, that is now in the Display reserved area.
450 #define M_BOARD_CODE 2066L
451 #define M_LIVE_GRAB_DDRAW 2067L
452 #define M_THREAD_CONTEXT_PTR 2068L
453 #define M_PSEUDO_LIVE_GRAB_NB_FRAMES 2069L
454 #define M_PSEUDO_LIVE_GRAB_NB_FIELDS 2070L
455 #define M_DISPLAY_DOUBLE_BUFFERING 2071L
456 #define M_PSEUDO_LIVE_GRAB_TIME 2072L
457 #define M_PCI_BRIDGE_LATENCY 2073L
458 #define M_PSEUDO_LIVE_GRAB_WITH_DDRAW 2074L
459 #define M_MULTI_DISP_IN_UNDERLAY 2075L
460 #define M_MULTI_DISP_FOR_GRAB 2076L
461 #define M_TIMEOUT 2077L
462 #define M_AUTO_FLIP_FOR_TRUE_COLOR 2078L
463 #define M_PCI_BRIDGE_HOST_WRITE_POSTING 2079L
464 #define M_FAST_MEM_TO_VGA 2080L
465 #define M_ERROR_ASYNCHRONOUS_LOG 2081L
466 #define M_LIVE_GRAB_WHEN_NOT_VISIBLE 2082L
467 //TBM
468 //This is keep for backward compatibility with MIL 6.1. After MIL 7.0 release, this define will
469 //have to be rename M_USE_MMX_OLD and the MsysInquire and MsysControl functions will have to be
470 //modified at all levels to reflect this modification. The flag M_USE_MMX_NEW will be rename to
471 //M_USE_MMX.
472 #define M_USE_MMX_OLD 2083L
473 #define M_OVERLAPPED_STRUC 2085L
474 #define M_PHYSICAL_ADDRESS_VIA 2086L
475 #define M_PCI_MGA_ID 2087L
476 #define M_PCI_VIA_ID 2088L
477 #define M_PCI_BRIDGE_ID 2089L
478 #define M_NATIVE_SYSTEM_NUMBER 2090L
479 #define M_NATIVE_NODE_NUMBER 2091L
480 
481 #define M_CUSTOMER_PRODUCT_ID 2093L
482 #define M_UNDERLAY_MEM_SIZE 2094L
483 #define M_OVERLAY_MEM_SIZE 2095L
484 #define M_VIA_MEM_SIZE 2096L
485 #define M_SYSTEM_NAME 2097L
486 #define M_SERIAL_NUMBER 2098L
487 #define M_ERROR_CLEAR 2099L
488 #define M_SYS_DEBUG_BUFFER_SIZE 2100L // internal use only
489 #define M_SYS_DEBUG_BUFFER_ID 2101L // internal use only
490 #define M_USE_NOA 2102L
491 #define M_USE_ACCELERATOR M_USE_NOA
492 #define M_COMPRESSION_MODULE_PRESENT 2104L
493 #define M_DIGITAL_MODULE_PRESENT 2105L
494 #define M_INTERRUPT_NEW_TECHNIQUE 2106L
495 #define M_INTERRUPT_NEW_TECHNIQUE_STAT 2107L
496 #define M_INTERRUPT_NEW_TECHNIQUE_QUEUE 2108L
497 #define M_INTERRUPT_MASTER_SWITCH 2109L
498 #define M_BUS_MASTER_COPY_TO_HOST 2110L
499 #define M_BUS_MASTER_COPY_FROM_HOST 2111L
500 #define M_MEMORY_OFF_SCREEN_AVAILABLE 2112L
501 #define M_BUFCOPY_SUPPORTED 2113L
502 #define M_COMPRESSION_SUPPORTED 2114L
503 
504 #define M_UART_BUFFER_INIT 2115L // internal use only
505 #define M_UART_BUFFER_FREE 2116L // internal use only
506 #define M_CLL_UART_PARITY 2117L // internal use only
507 #define M_CLL_UART_IRQ_CALL 2118L // internal use only
508 #define M_SET_DUAL_SCREEN_MODE 2119L // internal use only
509 #define M_RESET_GRAB_INFO 2120L // internal use only
510 #define M_COMPRESSION_BOARD_TYPE 2121L
511 #define M_COMPRESSION_BOARD_RESET 2122L
512 #define M_COMPACT_PCI_PRESENT 2123L
513 #define M_TEST_CACHE_COHERENCE 2124L
514 #define M_HARDWARE_COMPRESSION 2130L
515 #define M_HARDWARE_DECOMPRESSION 2131L
516 #define M_UART_PRESENT 2132L
517 #define M_PC104_PRESENT 2133L
518 //TBM
519 //This is keep for backward compatibility with MIL 6.1. After MIL 7.0 release, this define will
520 //have to be rename M_USE_SSE_OLD and the MsysInquire and MsysControl functions will have to be
521 //modified at all levels to reflect this modification. The flag M_USE_SSE_NEW will be rename to
522 //M_USE_SSE.
523 #define M_USE_SSE_OLD 2134L
524 //2135L was use by M_USE_DDRAW_UNDERLAY, that is now in the AppInquire display reserved area.
525 //2136L was use by M_DDRAW_UNDERLAY_SUPPORTED, that is now in the Display reserved area.
526 #define M_DDRAW_UNDERLAY_FORMAT 2137L
527 #define M_ENCODER_PRESENT 2138L
528 #define M_COMPRESSION_INTERNAL_BUFFER_SIZE 2139L
529 //2140L was use by M_PRIMARY_DDRAW_SURFACE_FORMAT, that is now in the Display reserved area.
530 #define M_LIVE_GRAB_NO_TEARING 2141L
531 //2153L was use by M_DDRAW_UNDERLAY_FORMAT_SUPPORTED, that is now in the Display reserved area.
532 #define M_BIOS_REVISION 2154L
533 #define M_FPGA_REVISION 2155L
534 #define M_FIRMWARE_REVISION M_FPGA_REVISION
535 #define M_INTERNAL_CAMERA_STRUCT_PTR 2156L
536 #define M_INTERNAL_CAMERA_STRUCT_SIZE 2157L
537 #define M_INTERNAL_DRV_DEBUG 2158L // Internal use only
538 #define M_SUPPORTED_INTERFACE 2159L
539 //2160L was use by M_USE_SSE2, that is now in the processor specific section.
540 //2161L was use by M_USE_AMD_3DNOW, that is now in the processor specific section.
541 //2162L was use by M_USE_AMD_MMX_EXTENSION, that is now in the processor specific section.
542 //2163L was use by M_USE_AMD_3DNOW_EXTENSION, that is now in the processor specific section.
543 //2164L was use by M_CPU_VENDOR_NAME, that is now in the processor specific section.
544 //2165L was use by M_CPU_FAMILY_NUMBER, that is now in the processor specific section.
545 //2166L was use by M_CPU_MODEL_NUMBER, that is now in the processor specific section.
546 //2167L was use by M_CPU_STEPPING_NUMBER, that is now in the processor specific section.
547 //2168L was use by M_CPU_SERIAL_NUMBER, that is now in the processor specific section.
548 #define M_SYSTEM_NUM 2169L
549 #define M_ASSOCIATED_VGA_SYSTEM_ID 2170L // internal use only
550 #define M_ASSOCIATED_VGA_DEVICE 2171L
551 #define M_SYSTEM_DESCRIPTOR 2172L
552 #define M_SYSTEM_DESCRIPTOR_SIZE 2173L
553 #define M_SERIAL_NUMBER_SIZE 2174L
554 #define M_BOARD_SUB_REVISION 2200L
555 #define M_USER_BIT_CHANGE 2244L
556 #define M_USER_BIT_CHANGE_HANDLER_PTR 2245L
557 /* Reserve next 19 values from 2246L*/
558 /* to 2264L*/
559 #define M_USER_BIT_CHANGE_HANDLER_USER_PTR 2266L
560 /* Reserve next 19 values from 2267L*/
561 /* to 2285L*/
562 #define M_1394_FORCE_BUS_RESET 2286L
563 #define M_1394_GENERATION_COUNT 2287L
564 //2288L was use by M_PHYSICAL_SIZE_VGA, that is now in the Display reserved area.
565 #define M_CURRENTLY_USED_CAMERA 2289L
566 #define M_DIGITIZER_MODE 2290L
567 #define M_MSG_BUFFER_SIZE 2291L
568 #define M_MSG_BUFFER_PHYSICAL_ADDRESS 2292L
569 #define M_MSG_LOG_MODE 2293L
570 #define M_DEFAULT_PITCH_BYTE 2294L
571 #define M_SYS_USE_WINDOWED_CLASS 2295L
572 #define M_SYSTEM_LICENSE_MODULES 2296L
573 //2297L was used by M_DUAL_HEAD, which is now a display specific app section (M_APP_DISPLAY_START)
574 //2298L was used by M_MULTI_MONITOR, which is now a display specific app section (M_APP_DISPLAY_START)
575 #define M_SUBSYSTEM_ID 2299L // internal use only
576 #define M_USE_DDRAW 2300L
577 #define M_PREFERRED_DISPLAY_SYSTEM 2301L
578 #define M_USAGE_METER 2302L
579 #define M_GRAB_USAGE 2303L
580 #define M_ACCELERATOR_USAGE 2304L
581 #define M_DMA_USAGE 2305L
582 #define M_UTILITY_USAGE 2306L
583 #define M_MAX_UNIT_IDLE_TIME 2307L
584 /* Reserve for futur usage meter 2308L */
585 /* Reserve for futur usage meter 2309L */
586 #define M_BUFFER_DEFAULT_LOCATION 2310L
587 #define M_ALLOCATION_OVERSCAN_SIZE 2311L
588 #define M_FAST_OVERSCAN_BUFFER 2312L
589 
590 #define M_NATIVE_CLUSTER_NUMBER M_NATIVE_SYSTEM_NUMBER
591 #define M_CPU_SPEED 2320L
592 #define M_ACCELERATOR_SPEED 2321L
593 #define M_ACCELERATOR_PRESENT 2322L
594 #define M_MEMORY_SIZE 2323L
595 #define M_MEMORY_FREE 2324L
596 #define M_FAST_MEMORY_FREE 2325L
597 #define M_SHARED_MEMORY_FREE 2326L
598 #define M_HEAP_SIZE 2327L
599 #define M_HEAP_FREE 2328L
600 #define M_SIZE_X_CREATE_RESTRICTION 2329L
601 #define M_SHARED_MEMORY_SIZE 2330L
602 #define M_DIGITIZER_NUM_ALLOCATED 2331L
603 /* Reserve next 4 values from 3232L*/
604 /* to 3235L*/
605 /* Next 4 values are used to specify device number of the digitizer.*/
606 #define M_SERIAL_DEVICE_PORT_NUMBERS 2336L
607 
608 #define M_FIRMWARE_UPDATE 2340
609 
610 #define M_DDRAW_OVERLAY_SURFACE_USED 3200L
611 /* Reserve next 16 values from 3201L*/
612 /* to 3216L*/
613 /* Next 16 values are used to specify the index of the VGA.*/
614 
615 
616 #define M_USER_BIT_INQUIRE_START 4363L
617 #define M_USER_BIT 4087L
618 /* Reserve next 31 values from 4088L*/
619 /* to 4118L*/
620 /* Reserve next 4 values from 4120L*/
621 /* to 4123L*/
622 
623 #define M_USER_BIT_COUNT 4364L
624 #define M_USER_BIT_OPTOMODULE 4365L
625 #define M_USER_BIT_INQUIRE_END 4366L
626 #define M_FORCE_PITCH_BYTE_MULTIPLE 4367L
627 #define M_ODYSSEY_BEHAVIOUR 4368L
628 
629 //EEPROM-related defines
630 #define M_EEPROM_SIZE 4369L
631 #define M_EEPROM_L_OFFSET 4370L
632 #define M_EEPROM_L_SIZE 4371L
633 
634 #define M_BOARD_TYPE_STRING 4372L
635 #define M_BOARD_TYPE_STRING_SIZE 4373L
636 
637 #define M_SUPPORT_START_NO 4374L
638 /*Reserve values between M_SUPPORT_START_NO
639  and M_SUPPORT_END_NO*/
640 #define M_DISPLAY_SUPPORT 4374L
641 #define M_MULTITHREAD_SUPPORT 4375L
642 #define M_ASYNCHRONOUS_CALL_SUPPORT 4376L
643 #define M_SUPPORT_END_NO 4439L
644 
645 #define M_SUPPORT_START_YES 4440L
646 /*Reserve values between M_SUPPORT_START_NO and M_SUPPORT_END_NO*/
647 #define M_SUPPORT_END_YES 4500L
648 
649 // Display reserved area
650 #define M_SYS_DISPLAY_START 4501L
651 #define M_IS_IN_DISPLAY_SYS_RANGE(X) ((X>=M_SYS_DISPLAY_START) && (X<=M_SYS_DISPLAY_END))
652 #define M_MAIN_DDRAW_OBJECT M_SYS_DISPLAY_START+0L //4501
653 #define M_DIRECTX_OBJECT M_SYS_DISPLAY_START+1L //4502
654 #define M_DDRAW_AVAILABLE M_SYS_DISPLAY_START+2L //4503
655 #define M_DDRAW_UNDERLAY_FORMAT_SUPPORTED M_SYS_DISPLAY_START+3L //4504
656 #define M_DDRAW_UNDERLAY_SUPPORTED M_SYS_DISPLAY_START+4L //4505
657 #define M_DDRAW_UNDERLAY_ZOOM_MAX M_SYS_DISPLAY_START+5L //4506
658 #define M_DDRAW_UNDERLAY_ZOOM_MIN M_SYS_DISPLAY_START+6L //4507
659 #define M_PHYSICAL_ADDRESS_VGA M_SYS_DISPLAY_START+7L //4508
660 #define M_PHYSICAL_SIZE_VGA M_SYS_DISPLAY_START+8L //4509
661 #define M_PRIMARY_DDRAW_SURFACE_FORMAT M_SYS_DISPLAY_START+9L //4510
662 #define M_PRIMARY_DDRAW_SURFACE_SIZE_BITS M_SYS_DISPLAY_START+10L //4511
663 #define M_PRIMARY_DDRAW_SURFACE_SIZE_X M_SYS_DISPLAY_START+11L //4512
664 #define M_PRIMARY_DDRAW_SURFACE_SIZE_Y M_SYS_DISPLAY_START+12L //4513
665 #define M_PRIMARY_DDRAW_SURFACE_PITCH_BYTE M_SYS_DISPLAY_START+13L //4514
666 #define M_PRIMARY_DDRAW_SURFACE_MEM_PTR M_SYS_DISPLAY_START+14L //4515
667 #define M_PRIMARY_DDRAW_SURFACE M_SYS_DISPLAY_START+15L //4516
668 #define M_UNDERLAY_SURFACE_AVAILABLE M_SYS_DISPLAY_START+16L //4517
669 #define M_DUAL_SCREEN_MODE M_SYS_DISPLAY_START+17L //4518
670 #define M_DISPLAY_OUTPUT_NUM M_SYS_DISPLAY_START+18L //4519
671 #define M_WINDOWED_DISPLAY_AVAILABLE M_SYS_DISPLAY_START+19L //4520
672 #define M_EXTERN_DISPLAY_AVAILABLE M_SYS_DISPLAY_START+20L //4521
673 #define M_EXTERN_DISPLAY_OBJECT M_SYS_DISPLAY_START+21L //4522
674 #define M_EXTERN_DISPLAY_API_MODULE M_SYS_DISPLAY_START+22L //4523
675 #define M_EXTERN_DISPLAY_SUPPORTED_FORMAT M_SYS_DISPLAY_START+23L //4524
676 #define M_VSYNCH_DIRECTX_MAX_WAIT M_SYS_DISPLAY_START+24L //4525
677 #define M_MEMORY_MANAGER M_SYS_DISPLAY_START+25L //4526
678 #define M_DDRAW_LIVE_VIDEO_FORMAT_SUPPORTED M_SYS_DISPLAY_START+26L //4527
679 #define M_FIRST_VGA_DIRECTX_OBJECT M_SYS_DISPLAY_START+27L //4528
680 #define M_UNDERLAY_FORMAT_SUPPORTED M_SYS_DISPLAY_START+28L //4529
681 #define M_UNDERLAY_SUPPORTED M_SYS_DISPLAY_START+29L //4530
682 #define M_UNDERLAY_ZOOM_MAX M_SYS_DISPLAY_START+30L //4531
683 #define M_UNDERLAY_ZOOM_MIN M_SYS_DISPLAY_START+31L //4532
684 #define M_IS_A_PARHELIA M_SYS_DISPLAY_START+32L //4533
685 #define M_UNDERLAY_ZOOM_X_MAX M_SYS_DISPLAY_START+33L //4534
686 #define M_UNDERLAY_ZOOM_X_MIN M_SYS_DISPLAY_START+34L //4535
687 #define M_UNDERLAY_ZOOM_Y_MAX M_SYS_DISPLAY_START+35L //4536
688 #define M_UNDERLAY_ZOOM_Y_MIN M_SYS_DISPLAY_START+36L //4537
689 #define M_UNDERLAY_LIVE_ZOOM_X_MAX M_SYS_DISPLAY_START+37L //4538
690 #define M_UNDERLAY_LIVE_ZOOM_X_MIN M_SYS_DISPLAY_START+38L //4539
691 #define M_UNDERLAY_LIVE_ZOOM_Y_MAX M_SYS_DISPLAY_START+39L //4540
692 #define M_UNDERLAY_LIVE_ZOOM_Y_MIN M_SYS_DISPLAY_START+40L //4541
693 #define M_MTX0_TRANSFER_SUPPORTED M_SYS_DISPLAY_START+41L //4542
694 #define M_MTX0_CAPS M_SYS_DISPLAY_START+42L //4543
695 #define M_IS_IN_10_BITS_MODE M_SYS_DISPLAY_START+43L //4544
696 #define M_IS_IN_10_BITS_COLOR_MODE M_SYS_DISPLAY_START+44L //4545
697 #define M_IS_IN_10_BITS_GRAYSCALE_MODE M_SYS_DISPLAY_START+45L //4546
698 #define M_CAN_OFFSET_IN_UNDERLAY_LIVE M_SYS_DISPLAY_START+46L //4547
699 #define M_DISPLAY_NUM M_SYS_DISPLAY_START+47L //4548
701 /*Reserve values between M_SYS_DISPLAY_START and M_SYS_DISPLAY_END*/
702 #define M_SYS_DISPLAY_END 4600L
703 #define M_PERFORMANCE_LOGS 4601L
704 #define M_INTERRUPT_LATENCY 4602L
705 #define M_DEBUG_BUFFER_TO_FILE M_SYS_DEBUG_BUFFER_ID
706 
707 #define M_APP_INQUIRE_SYS_START 5000L
708 /*Reserve values betwen 5000 and 5999 for AppInquires.
709 Needey for remote systems */
710 #define M_APP_INQUIRE_SYS_END 5999L
711 
712 #define M_CACHE_FLUSH 8192L
713 
714 
716 //Processor specific and optimization MsysInquire/MsysControl type.
717 //The range between 0x00002800 to 0x00002FFF (10240L to 12287).
719 #define M_CPU_FLAG_RANGE 0x00002800L
720 #define M_CPU_FLAG_MASK 0xFFFFF800L
721 
722 #define M_PROCESSOR_TYPE 0x00002800L
723 #define M_INTEL_X86 0x00002801L
724 #define M_INTEL_IA64 0x00002802L
725 #define M_PPC_7400 0x00002803L
726 //Reserved for future processor type 0x00002804L
727 // to 0x0000281FL
728 #define M_UNKNOWN_TYPE 0x00002820L
729 
730 #define M_USE_FULL_OPTIMIZATION 0x00002821L
731 #define M_USE_SIMD 0x00002821L
732 
733 //Intel x86 specific
734 #define M_USE_MMX 0x00002822L
735 #define M_USE_MMX_NEW 0x00002822L
736 #define M_USE_SSE_INT 0x00002823L
737 #define M_USE_SSE 0x00002824L
738 #define M_USE_SSE_NEW 0x00002824L
739 #define M_USE_SSE2_INT 0x00002825L
740 #define M_USE_SSE2 0x00002826L
741 //Reserved for future Intel instruction set expension 0x00002827L
742 // to 0x00002830L
743 #define M_USE_AMD_3DNOW 0x00002831L
744 #define M_USE_AMD_MMX_EXTENSION 0x00002832L
745 #define M_USE_AMD_3DNOW_EXTENSION 0x00002833L
746 //Reserved for future AMD instruction set expension 0x00002834L
747 // to 0x00002840L
748 #define M_CPU_VENDOR_NAME 0x00002841L
749 #define M_CPU_FAMILY_NUMBER 0x00002842L
750 #define M_CPU_MODEL_NUMBER 0x00002843L
751 #define M_CPU_STEPPING_NUMBER 0x00002844L
752 #define M_CPU_SERIAL_NUMBER 0x00002845L
753 //Reseved for future CPU specific inquire 0x00002846L
754 // to 0x00002860L
755 #define M_USE_ALTIVEC 0x00002861L
756 //Reserved for future PPC instruction set expension 0x00002862L
757 // to 0x00002870L
758 
759 #define M_CPU_SUPPORT_RDTSC 0x00002871L
760 //Reserved for future processor specific flags 0x00002872L
761 // to 0x00002FFFL
762 
763 //Auxiliary IO defines 4Sight
764 #define M_USER_BIT 4087L
765 /* Reserve next 31 values from 4088L*/
766 /* to 4118L*/
767 #define M_USER_BIT_PRESENT 0x40000000L
768 #define M_USER_BIT_MODE 0x80000000L
769 #define M_USER_BIT_VALUE 0xA0000000L
770 #define M_USER_BIT_INTERRUPT_MODE 0xC0000000L
771 #define M_USER_BIT_INTERRUPT_STATE 0xE0000000L
772 #define M_USER_BIT_MASK 0xE0000000L
773 #define M_USER_BIT_BIT_MASK_ENABLED 0x10000000L
774 #define M_USER_BIT_INVALID_BIT_MASK 0x0FFFFFFFL
775 #define M_USER_BIT_ALL 0xFFFFF
776 #define M_BIT_MASK(mask) ( ((long) mask <= M_USER_BIT_ALL) ? (M_USER_BIT_BIT_MASK_ENABLED | ((long) mask)) : (M_USER_BIT_BIT_MASK_ENABLED | M_USER_BIT_INVALID_BIT_MASK) )
777 #define M_USER_BIT_CHANGE 2244L
778 #define M_USER_BIT_CHANGE_HANDLER_PTR 2245L
779 /* Reserve next 19 values from 2246L*/
780 /* to 2264L*/
781 #define M_USER_BIT_CHANGE_HANDLER_USER_PTR 2266L
782 /* Reserve next 19 values from 2267L*/
783 /* to 2285L*/
784 #define M_AGP_TO_PCI_TRANSFER 2286L
785 #define M_TRANSFER_PRIORITY 2287L
786 #define M_THREAD_CANCEL 2288L
787 #define M_THREAD_HALT 2289L
788 #define M_NUMBER_OF_GRAB_BLOCKS 2290L
789 /* Reserve next 4 values from 2291L*/
790 /* to 2294L*/
791 #define M_GRAB_BLOCK_FACTOR 2295L
792 /* Reserve next 4 values from 2296L*/
793 /* to 2299L*/
794 
795 // To override compensation on default VGA system
796 #define M_NO_DEFAULT_VGA_COMPENSATION 0x01000000L
797 #define M_IS_NO_DEFAULT_VGA_COMPENSATION(f) (((f)&M_NO_DEFAULT_VGA_COMPENSATION)&&(((f)&(0xFFFF0000))==M_NO_DEFAULT_VGA_COMPENSATION))
798 
799 // Maximum string size for M_SYSTEM_NAME inquire value
800 #define M_SYSTEM_NAME_SIZE 32L
801 
802 // !!! MAP FOR OLD DEFINES
803 #if OldDefinesSupport
804 //#define M_LIVE_VIDEO M_LIVE_GRAB --> M_LIVE_VIDEO: name reused for buffer attribute
805 #define M_LAST_GRAB_IN_ACTUAL_BUFFER M_LAST_GRAB_IN_TRUE_BUFFER
806 #define M_SWITCH_TO_PSEUDO_WHEN_OVERLAPPED M_PSEUDO_LIVE_GRAB
807 #define M_FORCE_PSEUDO_IN_NON_PULSAR_DISPLAYS M_FORCE_PSEUDO_IN_NON_UNDERLAY_DISPLAYS
808 #define M_SYS_TYPE M_SYSTEM_TYPE
809 #define M_SYS_TYPE_PTR M_SYSTEM_TYPE_PTR
810 #define M_SYS_NUMBER M_NUMBER
811 #define M_SYS_INIT_FLAG M_INIT_FLAG
812 #define M_SYS_DISPLAY_NUM M_DISPLAY_NUM
813 #define M_SYS_DISPLAY_TYPE M_DISPLAY_TYPE
814 #define M_SYS_DIGITIZER_NUM M_DIGITIZER_NUM
815 #define M_SYS_DIGITIZER_TYPE M_DIGITIZER_TYPE
816 #define M_SYS_PROCESSOR_NUM M_PROCESSOR_NUM
817 #define M_SYS_BOARD_TYPE M_BOARD_TYPE
818 #define M_SYS_BOARD_REVISION M_BOARD_REVISION
819 #define M_SYS_TUNER_NUM M_TUNER_NUM
820 #define M_SYS_TUNER_TYPE M_TUNER_TYPE
821 #define M_SYS_RGB_MODULE_NUM M_RGB_MODULE_NUM
822 #define M_SYS_RGB_MODULE_TYPE M_RGB_MODULE_TYPE
823 #define M_SYS_DISPLAY_LIST M_DISPLAY_LIST
824 #define M_SYS_DUAL_SCREEN_MODE M_DUAL_SCREEN_MODE
825 #define M_SYS_UNDERLAY_SURFACE_AVAILABLE M_UNDERLAY_SURFACE_AVAILABLE
826 #define M_SYS_UNDERLAY_SURFACE_PHYSICAL_ADDRESS M_PHYSICAL_ADDRESS_UNDERLAY
827 #define M_SYS_WIN_MODE M_WIN_MODE
828 #define M_SYS_MAX_TILE_SIZE M_MAX_TILE_SIZE
829 #define M_SYS_MAX_TILE_SIZE_X M_MAX_TILE_SIZE_X
830 #define M_SYS_MAX_TILE_SIZE_Y M_MAX_TILE_SIZE_Y
831 #define M_ON_BOARD_MEM_ADRS M_PHYSICAL_ADDRESS_UNDERLAY
832 #define M_ON_BOARD_VGA_ADRS M_PHYSICAL_ADDRESS_VGA
833 #define MMX_EXTRA_BYTES M_MMX_EXTRA_BYTES
834 #define M_PSEUDO_LIVE_GRAB_WHEN_OVERLAPPED M_PSEUDO_LIVE_GRAB
835 #define M_LOCATION_WORK_HOST M_SYSTEM_HOST_TYPE
836 #define M_DMA_POOL_FREE M_NON_PAGED_MEMORY_FREE
837 #define M_DMA_POOL_USED M_NON_PAGED_MEMORY_USED
838 #define M_DMA_POOL_SIZE M_NON_PAGED_MEMORY_SIZE
839 #define M_BOTH_FIELD M_BOTH_FIELDS
840 
841 
842 #endif // !!! MAP FOR OLD DEFINES
843 
844 /************************************************************************/
845 /* MsysInquire() / MsysControl() Values */
846 /************************************************************************/
847 
848 #define M_FORCE -9998L
849 #define M_L1 1L
850 
851 /************************************************************************/
852 /* MsysHookFunction() */
853 /************************************************************************/
854 #define M_1394_BUS_RESET 2287L
855 #define M_USER_BIT_CHANGE 2244L
856 #define M_USER_BIT_CHANGE_HANDLER_PTR 2245L
857 /* Reserve next 19 values from 2246L*/
858 /* to 2264L*/
859 #define M_USER_BIT_CHANGE_HANDLER_USER_PTR 2266L
860 /* Reserve next 19 values from 2267L*/
861 /* to 2285L*/
862 
863 
864 /************************************************************************/
865 /* MsysGetHookInfo() */
866 /************************************************************************/
867 
868 #define M_USER_BIT 4087L
869 /* Reserve next 31 values from 4088L*/
870 /* to 4118L*/
871 #define M_USER_BIT_FIELD 4181L
872 #define M_USER_BIT_CHANGE 2244L
873 #define M_USER_BIT_CHANGE_HANDLER_PTR 2245L
874 /* Reserve next 19 values from 2246L*/
875 /* to 2264L*/
876 #define M_USER_BIT_CHANGE_HANDLER_USER_PTR 2266L
877 /* Reserve next 19 values from 2267L*/
878 /* to 2285L*/
879 
880 
881 /************************************************************************/
882 /* MsysConfigAccess() */
883 /************************************************************************/
884 #define M_PCI_CONFIGURATION_SPACE 0L
885 #define M_DETECT_PCI_DEVICE 1L
886 #define M_1394_CONFIGURATION_SPACE 2L
887 #define M_RESERVED_FOR_INTERNAL_USE_SYS_CONFIG 3L
888 
889 #define M_DEFAULT 0x10000000L
890 #define M_READ 1
891 #define M_WRITE 2
892 #define M_BIG_ENDIAN 0x00000100L
893 #define M_LITTLE_ENDIAN 0x00000200L
894 
895 
896 #define M_PCI_VENDOR_ID 0x00 // (16 lsb)
897 #define M_PCI_DEVICE_ID 0x00 // (16 msb)
898 #define M_PCI_COMMAND 0x01 // (16 lsb)
899 #define M_PCI_STATUS 0x01 // (16 msb)
900 #define M_PCI_REVISION_ID 0x02 // (byte 0)
901 #define M_PCI_CLASS_CODE 0x02 // (byte 1,2,3)
902 #define M_PCI_LATENCY_TIMER 0x03 // (byte 1)
903 #define M_PCI_BASE_ADRS0 0x04 //
904 #define M_PCI_BASE_ADRS1 0x05 //
905 #define M_PCI_INT_LINE 0x0F // (byte 0)
906 #define M_PCI_INT_PIN 0x0F // (byte 1)
907 
908 //Auxiliary IO values 4Sight
909 #define M_OFF 0L // Must be zero
910 #define M_ON 1L
911 #define M_INPUT 2L
912 #define M_OUTPUT 3L
913 #define M_EDGE_RISING 12L
914 #define M_EDGE_FALLING 13L
915 #define M_DISABLE -9999L
916 #define M_ENABLE -9997L
917 
918 /************************************************************************/
919 /* MsysControlThread */
920 /************************************************************************/
921 // Control Values
922 #define M_SIGNALED 0x00000010L
923 #define M_NOT_SIGNALED 0x00000020L
924 #define M_AUTO_RESET 0x00002000L
925 #define M_MANUAL_RESET 0x00004000L
926 #define M_DEFAULT 0x10000000L
927 
928 #define M_THREAD_CURRENT 0x01000000L
929 #define M_THREAD_ALL 0x02000000L
930 #define M_QUEUED 0x04000000L //To be ORed with M_THREAD_COMMANDS_ABORT
931 
932 #define M_IDLE 1L
933 #define M_LOWEST 6L
934 #define M_BELOW_NORMAL 7L
935 #ifndef M_MIL_75_COMPATIBLE
936 #define M_NORMAL 8L
937 #else
938 #define M_NORMAL 1L
939 #endif //M_MIL_75_COMPATIBLE
940 #define M_ABOVE_NORMAL 9L
941 #define M_HIGHEST 10L
942 #define M_TIME_CRITICAL 15L
943 
944 // Control Types
945 #define M_INQUIRE 0x80000000
946 
947 #define M_NATIVE_ID 1016L
948 #define M_THREAD_PRIORITY 1019L
949 #define M_EVENT_ALLOC 1700L
950 #define M_EVENT_FREE 1701L
951 #define M_EVENT_SYNCHRONIZE 1704L
952 #ifdef M_MIL_75_COMPATIBLE //TBR MIL 8.0
953 #define M_EVENT_WAIT 0x00000100L //TBR MIL 8.0
954 #define M_EVENT_STATE 0x00000200L //TBR MIL 8.0
955 #define M_EVENT_SET 0x00000400L //TBR MIL 8.0
956 #else
957 #define M_EVENT_WAIT 1705L
958 #define M_EVENT_STATE 1706L
959 #define M_EVENT_SET 1707L
960 #endif
961 #define M_EVENT_TIMEOUT 1708L
962 #define M_EVENT_CREATE 1710L
963 #define M_EVENT_CREATE_ON_NATIVE 1711L
964 #define M_THREAD_WAIT 1802L
965 #define M_THREAD_MODE 1804L
966 #define M_THREAD_COMMANDS_ABORT 1810L
967 #define M_THREAD_TIME_SLICE 1811L
968 #define M_ACCELERATOR 1813L
969 #define M_BUS_MASTER_COPY_MODE 1815L
970 
971 
972 
973 /************************************************************************/
974 /* MdispAlloc() for Windowed system */
975 /************************************************************************/
976 // Maximum number of display that can be managed
977 #define M_MAX_VGA_DEVICE 16L
978 
979 /* DispNum */
980 #define M_DEV0 0L
981 #define M_DEV1 1L
982 #define M_DEV2 2L
983 #define M_DEV3 3L
984 #define M_DEV4 4L
985 #define M_DEV5 5L
986 #define M_DEV6 6L
987 #define M_DEV7 7L
988 #define M_DEV8 8L
989 #define M_DEV9 9L
990 #define M_DEV10 10L
991 #define M_DEV11 11L
992 #define M_DEV12 12L
993 #define M_DEV13 13L
994 #define M_DEV14 14L
995 #define M_DEV15 15L
996 #define M_DEV16 16L
997 #define M_DEV17 17L
998 #define M_DEV18 18L
999 #define M_DEV19 19L
1000 #define M_DEV20 20L
1001 #define M_DEV21 21L
1002 #define M_DEV22 22L
1003 #define M_DEV23 23L
1004 #define M_DEV24 24L
1005 #define M_DEV25 25L
1006 #define M_DEV26 26L
1007 #define M_DEV27 27L
1008 #define M_DEV28 28L
1009 #define M_DEV29 29L
1010 #define M_DEV30 30L
1011 #define M_DEV31 31L
1012 #define M_DEV32 32L
1013 #define M_DEV33 33L
1014 #define M_DEV34 34L
1015 #define M_DEV35 35L
1016 #define M_DEV36 36L
1017 #define M_DEV37 37L
1018 #define M_DEV38 38L
1019 #define M_DEV39 39L
1020 #define M_DEV40 40L
1021 #define M_DEV41 41L
1022 #define M_DEV42 42L
1023 #define M_DEV43 43L
1024 #define M_DEV44 44L
1025 #define M_DEV45 45L
1026 #define M_DEV46 46L
1027 #define M_DEV47 47L
1028 #define M_DEV48 48L
1029 #define M_DEV49 49L
1030 #define M_DEV50 50L
1031 #define M_DEV51 51L
1032 #define M_DEV52 52L
1033 #define M_DEV53 53L
1034 #define M_DEV54 54L
1035 #define M_DEV55 55L
1036 #define M_DEV56 56L
1037 #define M_DEV57 57L
1038 #define M_DEV58 58L
1039 #define M_DEV59 59L
1040 #define M_DEV60 60L
1041 #define M_DEV61 61L
1042 #define M_DEV62 62L
1043 #define M_DEV63 63L
1044 #define M_NODE0 0x00010000L
1045 #define M_NODE1 0x00020000L
1046 #define M_NODE2 0x00040000L
1047 #define M_NODE3 0x00080000L
1048 #define M_NODE4 0x00100000L
1049 #define M_NODE5 0x00200000L
1050 #define M_NODE6 0x00400000L
1051 #define M_NODE7 0x00800000L
1052 #define M_NODE8 0x01000000L
1053 #define M_NODE9 0x02000000L
1054 #define M_NODE10 0x04000000L
1055 #define M_NODE11 0x08000000L
1056 #define M_NODE12 0x10000000L
1057 #define M_NODE13 0x20000000L
1058 #define M_NODE14 0x40000000L
1059 #define M_NODE15 0x80000000L
1060 #define M_NODE_BITS (M_NODE0|M_NODE1|M_NODE2|M_NODE3|M_NODE4|M_NODE5| \
1061  M_NODE6|M_NODE7|M_NODE8|M_NODE9|M_NODE10|M_NODE11| \
1062  M_NODE12|M_NODE13|M_NODE14|M_NODE15)
1063 
1064 /* Init Flag */
1065 
1066 #define M_USE_MEMORY_VCF 0x00000010L // Old Display define
1067 #define M_USE_EXTERNAL_CLOCK 0x00000020L
1068 #define M_USE_INTERNAL_CLOCK 0x00000040L
1069 #define M_OVR 0x00000080L
1070 #define M_OVERLAY M_OVR
1071 #define M_DDRAW_UNDERLAY 0x00000002L
1072 #define M_DDRAW_UND M_DDRAW_UNDERLAY
1073 #define M_ZOOM_ENHANCED 0x00000000L // Old display define
1074 //#define M_NEW_DISP_TYPE 0x00000100L
1075 //#define M_NEW_DISP_TYPE 0x00000200L
1076 #define M_ZOOM_BASIC 0x00000400L // Old display define
1077 #define M_DISPLAY_8_BASIC 0x00000000L // Old display define
1078 #define M_DISPLAY_8_ENHANCED 0x00000800L // Old display define
1079 #define M_DISPLAY_24_ENHANCED 0x00000000L // Old display define
1080 #define M_DISPLAY_24_BASIC 0x00001000L // Old display define
1081 #define M_DISPLAY_24_WINDOWS 0x00002000L // Old display define
1082 #define M_DUAL_SCREEN 0x00004000L
1083 #define M_VIDEO_ENCODER 0x00008000L
1084 #define M_AUXILIARY 0x00010000L
1085 #define M_COLORTABLE_INDEX 0x00020000L // Old display define
1086 #define M_EXTERNAL 0x00040000L
1087 #define M_SINGLE_SCREEN 0x00080000L // Old display define
1088 #define M_PALETTE_NOCOLLAPSE 0x00100000L // Old display define
1089 #define M_IN_BUFFER_DISPLAY 0x00200000L
1090 #define M_DESKTOP_DISPLAY 0x00400000L
1091 #define M_UND 0x00800000L // Old display define
1092 #define M_UNDERLAY M_UND // Old display define
1093 #define M_WINDOWED 0x01000000L
1094 #define M_NON_WINDOWED 0x02000000L // Old display define
1095 #define M_BASE_DRIVER 0x04000000L // Old display define
1096 #define M_MIL_WINDOW 0x08000000L
1097 #define M_USER_WINDOW 0x10000000L
1098 #define M_GDI_OVERLAY 0x20000000L
1099 //#define M_NEW_DISP_TYPE 0x40000000L
1100 #define M_INTERNAL_ALLOCATION ((BUFATTRTYPE)MAKE_INT64(0x0000000080000000))
1101 #define M_DISPLAY_ENHANCED (M_DISPLAY_8_ENHANCED + M_DISPLAY_24_ENHANCED) // Old display define
1102 #define M_DISPLAY_BASIC (M_DISPLAY_8_BASIC + M_DISPLAY_24_BASIC ) // Old display define
1103 #define M_DISPLAY_WINDOWS (M_DISPLAY_8_BASIC + M_DISPLAY_24_WINDOWS ) // Old display define
1104 #define M_PALETTE_COLLAPSE 0x00000000L // Old display define
1105 #define M_WINDOW_MAXIMIZE 0x00000000L // Old display define
1106 #define M_WINDOW_NO_MENUBAR 0x00000000L // Old display define
1107 #define M_WINDOW_NO_TITLEBAR 0x00000000L // Old display define
1108 #define M_WINDOW_NO_KEY 0x00000000L // Old display define
1109 #define M_WINDOW_USE_FORMAT 0x00000000L // Old display define
1110 #define M_WINDOW_NO_SYSBUTTON 0x00000000L // Old display define
1111 #define M_WINDOW_NO_MINBUTTON 0x00000000L // Old display define
1112 #define M_WINDOW_NO_MAXBUTTON 0x00000000L // Old display define
1113 #define M_COLORTABLE_RGB 0x00000000L // Old display define
1114 
1115 /************************************************************************/
1116 /* MdispInquire() / MdispControl() Types */
1117 /************************************************************************/
1118 #define M_OWNER_APPLICATION 1000L
1119 #define M_OWNER_SYSTEM 1001L
1120 #define M_SIZE_X 1002L
1121 #define M_SIZE_Y 1003L
1122 #define M_SIZE_Z 1004L
1123 #define M_SIZE_BAND 1005L
1124 #define M_SIZE_BAND_LUT 1006L
1125 #define M_SIZE_BIT 1007L
1126 #define M_TYPE 1008L
1127 #define M_NUMBER 1009L
1128 #define M_FORMAT 1010L
1129 #define M_FORMAT_SIZE 1011L
1130 #define M_INIT_FLAG 1012L
1131 #define M_ATTRIBUTE 1013L
1132 #define M_SIGN 1014L
1133 #define M_LUT_ID 1015L
1134 #define M_NATIVE_ID 1016L
1135 #define M_NATIVE_CONTROL_ID 1017L
1136 #define M_COLOR_MODE 1018L
1137 #define M_THREAD_PRIORITY 1019L
1138 #define M_NEED_UPDATE 1020L
1139 #define M_SURFACE 1021L
1140 //1022L was use by M_WINDOW_DDRAW_SURFACE, that is now in oldDefine section.
1141 #define M_OWNER_SYSTEM_TYPE 1023L
1142 #define M_DISP_NATIVE_ID 1024L
1143 #define M_ENCODER_START 1025L
1144 #define M_ENCODER M_ENCODER_START
1145 #define M_ENCODER_MODE 1026L
1146 #define M_ENCODER_TYPE 1027L
1147 #define M_ENCODER_SYNC_SOURCE 1028L
1148 #define M_ENCODER_SYNC M_ENCODER_SYNC_SOURCE
1149 #define M_ENCODER_PEDESTAL 1029L
1150 #define M_ENCODER_FILTER 1030L
1151 #define M_ENCODER_RGB_SYNC 1031L
1152 #define M_ENCODER_INFO_MODE 1032L
1153 #define M_ENCODER_RESET 1033L //1034 reseved
1154 #define M_ENCODER_SELECT_FIELD_ODD 1037L
1155 #define M_ENCODER_SELECT_FIELD_EVEN 1038L
1156 #define M_ENCODER_CONTRAST 1039L
1157 #define M_ENCODER_BRIGHTNESS 1040L
1158 #define M_ENCODER_SATURATION 1041L
1159 #define M_ENCODER_HUE 1042L
1160 #define M_ENCODER_OVR_SHOW 1043L
1161 #define M_ENCODER_OVR_LUT 1044L
1162 #define M_ENCODER_OVR_BUF_ID 1045L
1163 
1164 #define M_ENCODER_STATE M_ENCODER
1165 #define M_SYNC_TYPE M_ENCODER_RGB_SYNC
1166 #define M_ENCODER_SYNC_LOCK M_ENCODER_SYNC_SOURCE
1167 #define M_FILTER 1046L
1168 #define M_ENCODER_SYNC_FIELDS 1047L
1169 #define M_ENCODER_CLOCK 1048L
1170 
1171 #define M_UNDERLAY_PAN_Y 1049L
1172 #define M_UNDERLAY_PAN_X 1050L
1173 
1174 /* Reserve next values endoder use from 1049L*/
1175 /* to 1100L*/
1176 #define M_ENCODER_END 1100L
1177 
1178 #define M_PAN_X 3000L
1179 #define M_PAN_Y 3001L
1180 #define M_ZOOM_X 3002L
1181 #define M_ZOOM_Y 3003L
1182 #define M_HARDWARE_PAN 3004L
1183 #define M_HARDWARE_ZOOM 3005L
1184 #define M_SELECTED 3006L
1185 #define M_KEY_MODE 3007L
1186 #define M_KEY_CONDITION 3008L
1187 #define M_KEY_MASK 3009L
1188 #define M_TRANSPARENT_COLOR 0x01000060L
1189 #define M_KEY_SUPPORTED 3011L
1190 #define M_VGA_BUF_ID 3012L
1191 #define M_WINDOW_BUF_WRITE 3013L
1192 #define M_WINDOW_BUF_ID 3014L
1193 #define M_OVERLAY_ID 3015L
1194 #define M_OVERLAY M_OVR // 0x00000080
1195 #define M_WINDOW_OVR_DISP_ID 3017L
1196 #define M_INTERPOLATION_MODE 3018L
1197 #define M_HOOK_OFFSET 3019L
1198 #define M_FRAME_START_HANDLER_PTR 3020L
1199 #define M_FRAME_START_HANDLER_USER_PTR 3021L
1200 #define M_OVERLAY_LUT 3022L
1201 #define M_OVERLAY_SHOW 3023L
1202 #define M_WINDOW_DISPLAY_SETTINGS 3024L
1203 #define M_WINDOW_OVR_LUT_REMAP 3025L
1204 #define M_WINDOW_AUTO_ACTIVATION_FOR_DDRAW 3026L
1205 #define M_DISPLAY_16_TO_8 3027L
1206 #define M_DISPLAY_16_TO_8_SHIFT 3028L
1207 #define M_DISPLAY_MODE 3029L
1208 #define M_WINDOW_OVR_FLICKER 3031L
1209 #define M_PIXEL_FORMAT 3032L
1210 #define M_LUT_SUPPORTED 3033L
1211 
1212 
1213 #define M_WINDOW_ZOOM 3051L
1214 #define M_WINDOW_RESIZE 3052L
1215 #define M_WINDOW_OVERLAP 3053L
1216 #define M_WINDOW_SCROLLBAR 3054L
1217 // 3055L was used by M_WINDOW_UPDATE now in old defines
1218 #define M_WINDOW_PROTECT_AREA 3056L
1219 #define M_WINDOW_TITLE_BAR 3057L
1220 #define M_WINDOW_MENU_BAR 3058L
1221 #define M_WINDOW_TITLE_BAR_CHANGE 3059L
1222 #define M_WINDOW_MENU_BAR_CHANGE 3060L
1223 #define M_WINDOW_MOVE 3061L
1224 #define M_WINDOW_SYSBUTTON 3062L
1225 #define M_WINDOW_MINBUTTON 3063L
1226 #define M_WINDOW_MAXBUTTON 3064L
1227 #define M_WINDOW_COLOR 3065L
1228 #define M_WINDOW_COLOR_CHANGE 3066L
1229 #define M_PALETTE_WINDOWS 3068L
1230 #define M_WINDOW_PALETTE_NOCOLLAPSE 3069L
1231 #define M_WINDOW_PALETTE_BACKGROUND 3070L
1232 #define M_WINDOW_PALETTE_AUTO 3071L
1233 #define M_WINDOW_RANGE 3072L //0x0C00
1234 #define M_WINDOW_UPDATE_AUTO_ON_CONTROL 3073L
1235 // 3074L was used by M_WINDOW_UPDATE_WITH_SEND_MESSAGE now in old defines
1236 #define M_WINDOW_SNAP_X 3075L
1237 #define M_WINDOW_SNAP_Y 3076L
1238 #define M_WINDOW_UPDATE_REGION 3077L
1239 #define M_WINDOW_UPDATE_ONLY_INVALID_BORDER 3078L
1240 #define M_WINDOW_UPDATE_KEEP_PALETTE_ALIVE 3079L
1241 #define M_WINDOW_UPDATE_ADD_BEGINPAINT 3080L
1242 #define M_WINDOW_UPDATE_ON_PAINT 3081L
1243 #define M_WINDOW_UPDATE_MANUAL 3082L
1244 #define M_WINDOW_PAINT 3083L
1245 #define M_WINDOW_ACTIVATE_DELAY 3084L
1246 #define M_WINDOW_CLIP_IN_CLIENT 3085L
1247 #define M_WINDOW_SYNC_SELECT 3087L
1248 #define M_WINDOW_INITIAL_POSITION_X 3088L
1249 #define M_WINDOW_INITIAL_POSITION_Y 3089L
1250 #define M_WINDOW_BENCHMARK_IN_DEBUG 3090L
1251 #define M_WINDOW_ERASE_BACKGROUND 3091L
1252 #define M_WINDOW_OVR_BUFFER_ALIVE 3092L
1253 #define M_WINDOW_OVR_BUFFER_PTR 3093L
1254 #define M_WINDOW_OVR_FLICKER_FREE_ALIVE 3094L
1255 #define M_WINDOW_OVR_FLICKER_FREE_PTR 3095L
1256 #define M_WINDOW_OVR_DESTRUCTIVE 3096L
1257 #define M_WINDOW_OVR_KEYER_PTR 3097L
1258 #define M_WINDOW_MANUAL_OVR_ADD 3098L
1259 #define M_WINDOW_MANUAL_FLICKER_COPY 3099L
1260 #define M_WINDOW_MANUAL_OVR_ADD_FLICKER_COPY 3100L
1261 #define M_WINDOW_USE_SUBCLASS_TRACKING 3101L
1262 #define M_WINDOW_USE_SYSTEMHOOK_TRACKING 3102L
1263 #define M_WINDOW_ATTRIBUTE_FOR_OVERLAY 3103L
1264 #define M_WINDOW_ATTRIBUTE_FOR_FLICKER 3104L
1265 #define M_WINDOW_MASK_FOR_OVERLAY_VERIFICATION 3105L
1266 #define M_WINDOW_MASK_FOR_FLICKER_VERIFICATION 3106L
1267 #define M_DESKTOP_CHANGE 3107L
1268 #define M_WINDOW_HOOK_BLOCKING_SERIALIZATION 3108L
1269 #define M_WINDOW_ATTRIBUTE_FOR_BUFFER 3109L
1270 #define M_WINDOW_HANDLE 3110L
1271 #define M_WINDOW_OFFSET_X 3111L
1272 #define M_WINDOW_OFFSET_Y 3112L
1273 #define M_WINDOW_SIZE_X 3113L
1274 #define M_WINDOW_SIZE_Y 3114L
1275 #define M_WINDOW_PAN_X 3115L
1276 #define M_WINDOW_PAN_Y 3116L
1277 #define M_WINDOW_ZOOM_X 3117L
1278 #define M_WINDOW_ZOOM_Y 3118L
1279 #define M_WINDOW_TITLE_NAME 3119L
1280 #define M_HOOK_MODIFIED_DIB_PTR 3120L
1281 #define M_WINDOW_USE_SYSTEMHOOK_TRACKING_ACTIVE 3121L
1282 /* Reserve next 2 values from 3121L*/
1283 /* to 3122L*/
1284 #define M_HOOK_MODIFIED_DIB_USER_PTR 3123L
1285 /* Reserve next 2 values from 3124L*/
1286 /* to 3125L*/
1287 #define M_HOOK_MODIFIED_WINDOW_PTR 3126L
1288 /* Reserve next 2 values from 3127L*/
1289 /* to 3128L*/
1290 #define M_HOOK_MODIFIED_WINDOW_USER_PTR 3129L
1291 /* Reserve next 2 values from 3130L*/
1292 /* to 3131L*/
1293 #define M_HOOK_MESSAGE_LOOP_PTR 3132L
1294 /* Reserve next 2 values from 3133L*/
1295 /* to 3134L*/
1296 #define M_HOOK_MESSAGE_LOOP_USER_PTR 3135L
1297 /* Reserve next 2 values from 3136L*/
1298 /* to 3137L*/
1299 #define M_WINDOW_APPFRAME_HANDLE 3138L
1300 #define M_WINDOW_MDICLIENT_HANDLE 3139L
1301 #define M_WINDOW_MDIFRAME_HANDLE 3140L
1302 #define M_WINDOW_VISIBLE_OFFSET_X 3141L
1303 #define M_WINDOW_VISIBLE_OFFSET_Y 3142L
1304 #define M_WINDOW_VISIBLE_SIZE_X 3145L
1305 #define M_WINDOW_VISIBLE_SIZE_Y 3146L
1306 #define M_WINDOW_DIB_HANDLE 3147L
1307 #define M_WINDOW_DISPLAY_DIB_HANDLE 3148L
1308 #define M_WINDOW_ACTIVE 3149L
1309 #define M_WINDOW_ENABLE 3150L
1310 #define M_PALETTE_HANDLE 3151L
1311 #define M_WINDOW_THREAD_HANDLE 3152L
1312 #define M_WINDOW_THREAD_ID 3153L
1313 //3154L was use by M_WINDOW_DIB_HEADER, that is now in oldDefine section.
1314 #define M_WINDOW_KEYBOARD_USE 3155L
1315 #define M_WINDOW_CLIP_LIST_SIZE 3156L
1316 #define M_WINDOW_CLIP_LIST 3157L
1317 #define M_WINDOW_CLIP_LIST_ACCESS 3158L
1318 #define M_FRAME_START_TRIGGER_MODE 3159L
1319 #define M_FRAME_START_TRIGGER 3160L
1320 #define M_WINDOW_DIB 3161L
1321 #define M_WINDOW_MAP_BUFFER 3162L
1322 #define M_WINDOW_UPDATE_EXCLUDE_RECTANGLE 3164L
1323 #define M_WINDOW_SYNC_UPDATE 3165L
1324 #define M_WINDOW_TITLE_NAME_SIZE 3166L
1325 #define M_WINDOW_DRIVER_SIZE_BIT 3167L
1326 #define M_WINDOW_SYNC_UPDATE_WHEN_HOOK_BLOCKED 3168L
1327 #define M_WINDOW_CLIP_LIST_BLOCKING_SERIALIZATION 3169L
1328 #define M_DESKTOP_LOCK_TIMEOUT 3170L
1329 #define M_WINDOW_PALETTE_MESSAGES 3171L
1330 #define M_WINDOW_PAINT_MESSAGES 3172L
1331 #define M_WINDOW_COMMAND_PROMPT_FULL_DRAG 3173L
1332 #define M_WINDOW_DISPLAY_MODE 3174L
1333 #define M_WINDOW_REFRESH_AT_DESELECT 3175L
1334 #define M_WINDOW_BLIT_WITH_DDRAW 3180L
1335 #define M_DESKTOP_CURRENT_SCAN_LINE 3181L
1336 #define M_VIEW_MODE 3182L
1337 #define M_VIEW_BIT_SHIFT 3183L
1338 #define M_DDRAW_UNDERLAY_SET_POSITION 3184L
1339 #define M_DDRAW_UPDATE_OVERLAY 3185L
1340 #define M_WINDOW_DDRAW_DDCAPS 3186L
1341 #define M_FLIP_DDRAW_SURFACE 3187L
1342 #define M_NO_TEARING 3188L
1343 #define M_DEFAULT_PALETTE 3189L
1344 #define M_ZOOM_MAX_X 3190L
1345 #define M_ZOOM_MIN_X 3191L
1346 #define M_ZOOM_MAX_Y 3192L
1347 #define M_ZOOM_MIN_Y 3193L
1348 #define M_WINDOW_PAINT_DURING_WM_QUERYNEWPALETTE 3194L
1349 //3195L was use by M_DDRAW_UNDERLAY_ZOOM_MAX, that is now in the Display reserved area.
1350 //3196L was use by M_DDRAW_UNDERLAY_ZOOM_MIN, that is now in the Display reserved area.
1351 #define M_DUAL_ZOOM 3197L
1352 #define M_DUAL_ZOOM_SUPPORTED 3198L
1353 #define M_UPDATE 3199L
1354 #define M_WINDOW_MOVING_STATE 3200L
1355 #define M_WINDOW_OVR_FLICKER_BUF_ID 3201L
1356 #define M_WINDOW_VISIBLE 3202L
1357 #define M_SCALE_X 3203L
1358 #define M_SCALE_Y 3204L
1359 #define M_WINDOW_SUBCLASSING_RESISTANT 3205L // internal use only
1360 #define M_AUXILIARY_BUF_ID 3206L // internal use only
1361 #define M_AUXILIARY_KEEP_DISPLAY_ALIVE 3207L
1362 
1363 #define M_GRAB_BUFFERS 5095L // internal use only
1364 
1365 #define M_SCALE 0x00008010L
1366 
1367 // MdispControl(M_REMAP_TYPE)
1368 #define M_MULTI_BYTES 1L
1369 #define M_AUTO_SCALE 2L
1370 #define M_BIT_SHIFT 3L
1371 #define M_LOGARITHMIC 4L
1372 #define M_PIXEL_VALUES 5L
1373 #define M_TRANSPARENT 0x01000059L
1374 #define M_MED_SERIES M_TRANSPARENT
1375 
1376 #define M_DISP_CONTROL_DIRECT_START 10000L
1377 #define M_NO_TEARING_SKIP_MODE (M_DISP_CONTROL_DIRECT_START+1L) // 10001
1378 #define M_NO_SKIP (M_DISP_CONTROL_DIRECT_START+2L) // 10002
1379 #define M_SKIP_OLDEST (M_DISP_CONTROL_DIRECT_START+3L) // 10003
1380 #define M_SKIP_NEWEST (M_DISP_CONTROL_DIRECT_START+4L) // 10004
1381 #define M_DISPLAY_SCHEME (M_DISP_CONTROL_DIRECT_START+5L) // 10005
1382 #define M_OVERLAY_CLEAR (M_DISP_CONTROL_DIRECT_START+6L) // 10006
1383 #define M_FORCE_MONO_OVR (M_DISP_CONTROL_DIRECT_START+7L) // 10007
1384 #define M_ZOOM_FACTOR_X (M_DISP_CONTROL_DIRECT_START+8L) // 10008
1385 #define M_ZOOM_FACTOR_Y (M_DISP_CONTROL_DIRECT_START+9L) // 10009
1386 #define M_PAN_OFFSET_X (M_DISP_CONTROL_DIRECT_START+10L) // 10010
1387 #define M_PAN_OFFSET_Y (M_DISP_CONTROL_DIRECT_START+11L) // 10011
1388 #define M_VGA_INDEX (M_DISP_CONTROL_DIRECT_START+12L) // 10012
1389 #define M_GDI_COMPATIBLE_OVERLAY (M_DISP_CONTROL_DIRECT_START+13L) // 10013
1390 #define M_HSCROLL_VISIBLE (M_DISP_CONTROL_DIRECT_START+14L) // 10014
1391 #define M_VSCROLL_VISIBLE (M_DISP_CONTROL_DIRECT_START+15L) // 10015
1392 #define M_SRC_UPDATE_REGION_OFFSET_X (M_DISP_CONTROL_DIRECT_START+16L) // 10016
1393 #define M_SRC_UPDATE_REGION_OFFSET_Y (M_DISP_CONTROL_DIRECT_START+17L) // 10017
1394 #define M_NEAREST_COLOR (M_DISP_CONTROL_DIRECT_START+18L) // 10018
1395 #define M_CENTER_DISPLAY (M_DISP_CONTROL_DIRECT_START+19L) // 10019
1396 
1397 #define M_VGA_DEVICE_SYSTEM_ID (M_DISP_CONTROL_DIRECT_START+100L) // 10100
1398 #define M_DISPLAY_SURFACE (M_DISP_CONTROL_DIRECT_START+101L) // 10101
1399 #define M_DDRAW_UNDERLAY_ID (M_DISP_CONTROL_DIRECT_START+102L) // 10102
1400 #define M_USER_OVERLAY_ID (M_DISP_CONTROL_DIRECT_START+106L) // 10106
1401 #define M_DISPLAY_RESOLUTION (M_DISP_CONTROL_DIRECT_START+107L) // 10107
1402 #define M_DEFAULT_DISPLAY_RESOLUTION (M_DISP_CONTROL_DIRECT_START+108L) // 10108
1403 #define M_SAFE_MODE (M_DISP_CONTROL_DIRECT_START+109L) // 10109
1404 #define M_USE_ON_BOARD_BUFFER (M_DISP_CONTROL_DIRECT_START+110L) // 10110
1405 #define M_SELECT_USER_BUFFER_DIRECLTY_ON_DISPLAY (M_DISP_CONTROL_DIRECT_START+111L) // 10111
1406 #define M_DISPLAY_FORMAT (M_DISP_CONTROL_DIRECT_START+112L) // 10112
1407 #define M_DISPLAY_FORMAT_SUPPORTED (M_DISP_CONTROL_DIRECT_START+113L) // 10113
1408 #define M_DISPLAY_TYPE (M_DISP_CONTROL_DIRECT_START+114L) // 10114
1409 #define M_USE_DDRAW_UNDERLAY_SURFACE (M_DISP_CONTROL_DIRECT_START+115L) // 10115
1410 #define M_USE_DDRAW_UNDERLAY_IN_DUALHEAD (M_DISP_CONTROL_DIRECT_START+116L) // 10116
1411 #define M_DISPLAY_SCHEME_ON_TITLEBAR (M_DISP_CONTROL_DIRECT_START+117L) // 10117
1412 #define M_UPDATE_SYNCHRONIZATION (M_DISP_CONTROL_DIRECT_START+118L) // 10118
1413 #define M_UNDERLAY_ALWAYS_ON_TOP (M_DISP_CONTROL_DIRECT_START+119L) // 10119
1414 #define M_COMPLEX_BUFFER (M_DISP_CONTROL_DIRECT_START+120L) // 10120
1415 #define M_USER_WINDOW_HANDLE (M_DISP_CONTROL_DIRECT_START+121L) // 10121
1416 #define M_USE_HOST_OVERLAY (M_DISP_CONTROL_DIRECT_START+122L) // 10122
1417 #define M_SELECTED_LINK_COPY (M_DISP_CONTROL_DIRECT_START+123L) // 10123
1418 #define M_HOOK_ON_ERROR (M_DISP_CONTROL_DIRECT_START+124L) // 10124
1419 #define M_USE_LIVE_DDRAW_UNDERLAY (M_DISP_CONTROL_DIRECT_START+125L) // 10125
1420 #define M_UPDATE_WITH_PAINT_MESSAGE (M_DISP_CONTROL_DIRECT_START+126L) // 10126
1421 #define M_WINDOW_ZOOM_FACTOR_X (M_DISP_CONTROL_DIRECT_START+127L) // 10127
1422 #define M_WINDOW_ZOOM_FACTOR_Y (M_DISP_CONTROL_DIRECT_START+128L) // 10128
1423 #define M_REAL_ZOOM_FACTOR_X (M_DISP_CONTROL_DIRECT_START+129L) // 10129
1424 #define M_REAL_ZOOM_FACTOR_Y (M_DISP_CONTROL_DIRECT_START+130L) // 10130
1425 #define M_DISPLAY_SCHEME_COUNT (M_DISP_CONTROL_DIRECT_START+131L) // 10131
1426 #define M_USE_DOUBLE_BUFFERING_SCHEME (M_DISP_CONTROL_DIRECT_START+132L) // 10132
1427 #define M_UPDATE_STATE (M_DISP_CONTROL_DIRECT_START+133L) // 10133
1428 #define M_FORCE_DISPLAY_SCHEME_CHANGE (M_DISP_CONTROL_DIRECT_START+134L) // 10134
1429 #define M_DISPLAY_DUMP (M_DISP_CONTROL_DIRECT_START+135L) // 10135
1430 #define M_BUFFER_TO_RECYCLE (M_DISP_CONTROL_DIRECT_START+136L) // 10136
1431 #define M_DDRAW_UNDERLAY_SHOW (M_DISP_CONTROL_DIRECT_START+137L) // 10137
1432 #define M_DISP_CONTROL_DIRECT_STOP 11000L
1433 
1434 // !!! MAP FOR OLD DEFINES
1435 #if OldDefinesSupport
1436 #define M_KEY_COLOR M_TRANSPARENT_COLOR
1437 #define M_WINDOW_OVR_WRITE M_OVERLAY
1438 #define M_WINDOW_OVR_BUF_ID M_OVERLAY_ID
1439 #define M_WINDOW_OVR_SHOW M_OVERLAY_SHOW
1440 #define M_WINDOW_OVR_LUT M_OVERLAY_LUT
1441 #define M_WINDOW_UPDATE M_UPDATE
1442 
1443 #define M_VGA_PIXEL_FORMAT M_PIXEL_FORMAT
1444 
1445 #define M_DISP_LUT M_LUT_ID
1446 #define M_DISP_NUMBER M_NUMBER
1447 #define M_DISP_FORMAT M_FORMAT
1448 #define M_DISP_INIT_FLAG M_INIT_FLAG
1449 #define M_DISP_PAN_X M_PAN_X
1450 #define M_DISP_PAN_Y M_PAN_Y
1451 #define M_DISP_ZOOM_X M_ZOOM_X
1452 #define M_DISP_ZOOM_Y M_ZOOM_Y
1453 #define M_DISP_HARDWARE_PAN M_HARDWARE_PAN
1454 #define M_DISP_HARDWARE_ZOOM M_HARDWARE_ZOOM
1455 #define M_DISP_KEY_MODE M_KEY_MODE
1456 #define M_DISP_KEY_CONDITION M_KEY_CONDITION
1457 #define M_DISP_KEY_MASK M_KEY_MASK
1458 #define M_DISP_KEY_COLOR M_KEY_COLOR
1459 #define M_DISP_16_TO_8 M_DISPLAY_16_TO_8
1460 #define M_DISP_16_TO_8_SHIFT M_DISPLAY_16_TO_8_SHIFT
1461 #define M_DISP_MODE M_DISPLAY_MODE
1462 #define M_DISP_THREAD_PRIORITY M_THREAD_PRIORITY
1463 #define M_DISP_INTERPOLATION_MODE M_INTERPOLATION_MODE
1464 #define M_DISP_HOOK_OFFSET M_HOOK_OFFSET
1465 #define M_DISP_VGA_BUF_ID M_VGA_BUF_ID
1466 #define M_DISP_OVR_WRITE M_WINDOW_OVR_WRITE
1467 #define M_DISP_OVR_BUF_ID M_WINDOW_OVR_BUF_ID
1468 #define M_DISP_BUF_WRITE M_WINDOW_BUF_WRITE
1469 #define M_DISP_BUF_ID M_WINDOW_BUF_ID
1470 #define M_DISP_WINDOW_OVR_BUF_ID M_WINDOW_OVR_BUF_ID
1471 #define M_DISP_WINDOW_OVR_WRITE M_WINDOW_OVR_WRITE
1472 #define M_DISP_VGA_DISPLAY_ID M_WINDOW_OVR_DISP_ID
1473 #define M_DISP_KEY_SUPPORTED M_KEY_SUPPORTED
1474 
1475 #define M_DISP_WINDOW_ZOOM M_WINDOW_ZOOM
1476 #define M_DISP_WINDOW_RESIZE M_WINDOW_RESIZE
1477 #define M_DISP_WINDOW_OVERLAP M_WINDOW_OVERLAP
1478 #define M_DISP_WINDOW_SCROLLBAR M_WINDOW_SCROLLBAR
1479 #define M_DISP_WINDOW_UPDATE M_WINDOW_UPDATE
1480 #define M_DISP_WINDOW_PROTECT_AREA M_WINDOW_PROTECT_AREA
1481 #define M_DISP_WINDOW_TITLE_BAR M_WINDOW_TITLE_BAR
1482 #define M_DISP_WINDOW_MENU_BAR M_WINDOW_MENU_BAR
1483 #define M_DISP_WINDOW_TITLE_BAR_CHANGE M_WINDOW_TITLE_BAR_CHANGE
1484 #define M_DISP_WINDOW_MENU_BAR_CHANGE M_WINDOW_MENU_BAR_CHANGE
1485 #define M_DISP_WINDOW_MOVE M_WINDOW_MOVE
1486 #define M_DISP_WINDOW_SYSBUTTON M_WINDOW_SYSBUTTON
1487 #define M_DISP_WINDOW_MINBUTTON M_WINDOW_MINBUTTON
1488 #define M_DISP_WINDOW_MAXBUTTON M_WINDOW_MAXBUTTON
1489 #define M_DISP_WINDOW_COLOR M_WINDOW_COLOR
1490 #define M_DISP_WINDOW_COLOR_CHANGE M_WINDOW_COLOR_CHANGE
1491 #define M_DISP_WINDOW_PALETTE_NOCOLLAPSE M_WINDOW_PALETTE_NOCOLLAPSE
1492 #define M_DISP_WINDOW_PALETTE_BACKGROUND M_WINDOW_PALETTE_BACKGROUND
1493 #define M_DISP_WINDOW_PALETTE_AUTO M_WINDOW_PALETTE_AUTO
1494 #define M_DISP_WINDOW_ERASE_BACKGROUND M_WINDOW_ERASE_BACKGROUND
1495 #define M_DISP_WINDOW_AUTO_UPDATE M_WINDOW_UPDATE_AUTO_ON_CONTROL
1496 #define M_DISP_WINDOW_UPDATE_WITH_MESSAGE M_WINDOW_UPDATE_WITH_SEND_MESSAGE
1497 #define M_DISP_WINDOW_SNAP_X M_WINDOW_SNAP_X
1498 #define M_DISP_WINDOW_SNAP_Y M_WINDOW_SNAP_Y
1499 #define M_DISP_WINDOW_UPDATE_REGION M_WINDOW_UPDATE_REGION
1500 #define M_DISP_WINDOW_UPDATE_ONLY_INVALID_BORDER M_WINDOW_UPDATE_ONLY_INVALID_BORDER
1501 #define M_DISP_WINDOW_UPDATE_KEEP_PALETTE_ALIVE M_WINDOW_UPDATE_KEEP_PALETTE_ALIVE
1502 #define M_DISP_WINDOW_MANUAL_UPDATE M_WINDOW_UPDATE_MANUAL
1503 #define M_DISP_WINDOW_PAINT M_WINDOW_PAINT
1504 #define M_DISP_WINDOW_ACTIVATE_DELAY M_WINDOW_ACTIVATE_DELAY
1505 #define M_DISP_WINDOW_CLIP_IN_CLIENT M_WINDOW_CLIP_IN_CLIENT
1506 #define M_DISP_WINDOW_SYNC_SELECT M_WINDOW_SYNC_SELECT
1507 #define M_DISP_WINDOW_INITIAL_POSITION_X M_WINDOW_INITIAL_POSITION_X
1508 #define M_DISP_WINDOW_INITIAL_POSITION_Y M_WINDOW_INITIAL_POSITION_Y
1509 #define M_DISP_WINDOW_BENCHMARK_IN_DEBUG M_WINDOW_BENCHMARK_IN_DEBUG
1510 #define M_DISP_WINDOW_RANGE M_WINDOW_RANGE
1511 #define M_DISP_WINDOW_OVR_BUFFER_ALIVE M_WINDOW_OVR_BUFFER_ALIVE
1512 #define M_DISP_WINDOW_OVR_BUFFER_PTR M_WINDOW_OVR_BUFFER_PTR
1513 #define M_DISP_WINDOW_OVR_FLICKER_FREE_ALIVE M_WINDOW_OVR_FLICKER_FREE_ALIVE
1514 #define M_DISP_WINDOW_OVR_FLICKER_FREE_PTR M_WINDOW_OVR_FLICKER_FREE_PTR
1515 #define M_DISP_WINDOW_OVR_DESTRUCTIVE M_WINDOW_OVR_DESTRUCTIVE
1516 #define M_DISP_WINDOW_OVR_KEYER_PTR M_WINDOW_OVR_KEYER_PTR
1517 #define M_DISP_WINDOW_MANUAL_OVR_ADD M_WINDOW_MANUAL_OVR_ADD
1518 #define M_DISP_WINDOW_MANUAL_FLICKER_COPY M_WINDOW_MANUAL_FLICKER_COPY
1519 #define M_DISP_WINDOW_MANUAL_OVR_ADD_FLICKER_COPY M_WINDOW_MANUAL_OVR_ADD_FLICKER_COPY
1520 #define M_DISP_WINDOW_USE_SUBCLASS_TRACKING M_WINDOW_USE_SUBCLASS_TRACKING
1521 #define M_DISP_WINDOW_USE_SYSTEMHOOK_TRACKING M_WINDOW_USE_SYSTEMHOOK_TRACKING
1522 #define M_DISP_WINDOW_ATTRIBUTE_FOR_OVERLAY M_WINDOW_ATTRIBUTE_FOR_OVERLAY
1523 #define M_DISP_WINDOW_ATTRIBUTE_FOR_FLICKER M_WINDOW_ATTRIBUTE_FOR_FLICKER
1524 #define M_DISP_WINDOW_MASK_FOR_OVERLAY_VERIFICATION M_WINDOW_MASK_FOR_OVERLAY_VERIFICATION
1525 #define M_DISP_WINDOW_MASK_FOR_FLICKER_VERIFICATION M_WINDOW_MASK_FOR_FLICKER_VERIFICATION
1526 #define M_DISP_DESKTOP_CHANGE M_DESKTOP_CHANGE
1527 
1528 #define M_DISP_WINDOW_HANDLE M_WINDOW_HANDLE
1529 #define M_DISP_WINDOW_OFFSET_X M_WINDOW_OFFSET_X
1530 #define M_DISP_WINDOW_OFFSET_Y M_WINDOW_OFFSET_Y
1531 #define M_DISP_WINDOW_SIZE_X M_WINDOW_SIZE_X
1532 #define M_DISP_WINDOW_SIZE_Y M_WINDOW_SIZE_Y
1533 #define M_DISP_WINDOW_PAN_X M_WINDOW_PAN_X
1534 #define M_DISP_WINDOW_PAN_Y M_WINDOW_PAN_Y
1535 #define M_DISP_WINDOW_ZOOM_X M_WINDOW_ZOOM_X
1536 #define M_DISP_WINDOW_ZOOM_Y M_WINDOW_ZOOM_Y
1537 #define M_DISP_WINDOW_TITLE_NAME M_WINDOW_TITLE_NAME
1538 #define M_DISP_HOOK_MODIFIED_DIB_PTR M_HOOK_MODIFIED_DIB_PTR
1539 #define M_DISP_HOOK_MODIFIED_DIB_USER_PTR M_HOOK_MODIFIED_DIB_USER_PTR
1540 #define M_DISP_HOOK_MODIFIED_WINDOW_PTR M_HOOK_MODIFIED_WINDOW_PTR
1541 #define M_DISP_HOOK_MODIFIED_WINDOW_USER_PTR M_HOOK_MODIFIED_WINDOW_USER_PTR
1542 #define M_DISP_HOOK_MESSAGE_LOOP_PTR M_HOOK_MESSAGE_LOOP_PTR
1543 #define M_DISP_HOOK_MESSAGE_LOOP_USER_PTR M_HOOK_MESSAGE_LOOP_USER_PTR
1544 #define M_DISP_WINDOW_APPFRAME_HANDLE M_WINDOW_APPFRAME_HANDLE
1545 #define M_DISP_WINDOW_MDICLIENT_HANDLE M_WINDOW_MDICLIENT_HANDLE
1546 #define M_DISP_WINDOW_MDIFRAME_HANDLE M_WINDOW_MDIFRAME_HANDLE
1547 #define M_DISP_VISIBLE_OFFSET_X M_WINDOW_VISIBLE_OFFSET_X
1548 #define M_DISP_VISIBLE_OFFSET_Y M_WINDOW_VISIBLE_OFFSET_Y
1549 #define M_DISP_VISIBLE_SIZE_X M_WINDOW_VISIBLE_SIZE_X
1550 #define M_DISP_VISIBLE_SIZE_Y M_WINDOW_VISIBLE_SIZE_Y
1551 #define M_VISIBLE_OFFSET_X M_WINDOW_VISIBLE_OFFSET_X
1552 #define M_VISIBLE_OFFSET_Y M_WINDOW_VISIBLE_OFFSET_Y
1553 #define M_VISIBLE_SIZE_X M_WINDOW_VISIBLE_SIZE_X
1554 #define M_VISIBLE_SIZE_Y M_WINDOW_VISIBLE_SIZE_Y
1555 #define M_DISP_WINDOW_DIB_HANDLE M_WINDOW_DIB_HANDLE
1556 #define M_DISP_WINDOW_DISPLAY_DIB_HANDLE M_WINDOW_DISPLAY_DIB_HANDLE
1557 #define M_DISP_WINDOW_ACTIVE M_WINDOW_ACTIVE
1558 #define M_DISP_WINDOW_ENABLE M_WINDOW_ENABLE
1559 #define M_DISP_PALETTE_HANDLE M_PALETTE_HANDLE
1560 #define M_DISP_WINDOW_THREAD_HANDLE M_WINDOW_THREAD_HANDLE
1561 #define M_DISP_WINDOW_THREAD_ID M_WINDOW_THREAD_ID
1562 #define M_DISP_WINDOW_DIB M_WINDOW_DIB
1563 #define M_DISP_WINDOW_CLIP_LIST_SIZE M_WINDOW_CLIP_LIST_SIZE
1564 #define M_DISP_WINDOW_CLIP_LIST M_WINDOW_CLIP_LIST
1565 #define M_DISP_WINDOW_CLIP_LIST_ACCESS M_WINDOW_CLIP_LIST_ACCESS
1566 
1567 #define M_DISP_WINDOW_CHANGE_TITLE_BAR M_DISP_WINDOW_TITLE_BAR_CHANGE
1568 #define M_DISP_WINDOW_CHANGE_MENU_BAR M_DISP_WINDOW_MENU_BAR_CHANGE
1569 #define M_DISP_WINDOW_CHANGE_COLOR M_DISP_WINDOW_COLOR_CHANGE
1570 #define M_DISP_WINDOW_DO_PAINT M_DISP_WINDOW_PAINT
1571 #define M_DISP_SELECT M_SELECTED
1572 #define M_AUTOMATIC M_DEFAULT
1573 #define M_WINDOW_DIB_HEADER M_BITMAPINFO
1574 #define M_WINDOW_UPDATE_WITH_SEND_MESSAGE M_UPDATE_WITH_PAINT_MESSAGE
1575 #endif
1576 
1577 
1578 /************************************************************************/
1579 /* MdispControl() / MdispInquire() Values */
1580 /************************************************************************/
1581 
1582 #define M_FULL_SIZE 0L
1583 #define M_NORMAL_SIZE 1L
1584 
1585 #define M_BENCHMARK_IN_DEBUG_ON 0x00000001L
1586 #define M_BENCHMARK_IN_DEBUG_OFF 0
1587 #define M_BENCHMARK_IN_DEBUG_TRACE 0x00000002L
1588 #define M_BENCHMARK_IN_DEBUG_NOTRACE 0
1589 #define M_BENCHMARK_IN_DEBUG_ALLSIZE 0x00000004L
1590 #define M_BENCHMARK_IN_DEBUG_CSTSIZE 0
1591 
1592 #define M_DISPLAY_SCAN_LINE_START 0x00000000L
1593 #define M_DISPLAY_SCAN_LINE_END 0xFFFFFFFFL
1594 
1595 #define M_INFINITE 0xFFFFFFFFL
1596 #define M_SLAVE 0L
1597 #define M_MASTER 1L
1598 
1599 #define M_FILTER_LOW_PASS_TYPE_A 1L
1600 #define M_FILTER_NOTCH 2L
1601 #define M_FILTER_EXTENDED 3L
1602 #define M_FILTER_LOW_PASS_TYPE_B 4L
1603 #define M_BYPASS 5L
1604 #define M_LOW_PASS_0 M_FILTER_LOW_PASS_TYPE_A
1605 #define M_LOW_PASS_1 M_FILTER_LOW_PASS_TYPE_B
1606 #define M_LOW_PASS_2 M_FILTER_EXTENDED
1607 #define M_NOTCH M_FILTER_NOTCH
1608 
1609 #define M_TRANSPARENT_COLOR 0x01000060L
1610 
1611 /************************************************************************/
1612 /* MdispLut() */
1613 /************************************************************************/
1614 #define M_PSEUDO (M_LUT_OFFSET + 8L)
1615 
1616 
1617 /************************************************************************/
1618 /* MdispHook() */
1619 /************************************************************************/
1620 #define M_ASYNC_HOOK 0x08000000L
1621 
1622 /* Defines for hook to modification to bitmap and window */
1623 #define M_NOT_MODIFIED 0 /* No changed at all */
1624 #define M_MODIFIED_LUT 1 /* Disp lut is changed */
1625 #define M_MODIFIED_DIB 2 /* Disp buffer data is changed */
1626 #define M_MODIFIED_ZOOM 3 /* Disp is zoomed */
1627 #define M_MODIFIED_PAN 4 /* Disp is panned */
1628 #define M_MODIFIED_DIB_CREATION 5 /* Disp receives a new buffer ID */
1629 #define M_MODIFIED_DIB_DESTRUCTION 6 /* Disp receives a buffer ID 0 */
1630 #define M_MODIFIED_WINDOW_CREATION 7 /* Wnd is created */
1631 #define M_MODIFIED_WINDOW_DESTRUCTION 8 /* Wnd is destroyed */
1632 #define M_MODIFIED_WINDOW_LOCATION 9 /* Wnd size is changed */
1633 #define M_MODIFIED_WINDOW_OVERLAP 11 /* Wnd overlap is changed */
1634 #define M_MODIFIED_WINDOW_ICONIZED 12 /* Wnd is changed to iconic state */
1635 #define M_MODIFIED_WINDOW_ZOOM 13 /* Wnd is zoomed */
1636 #define M_MODIFIED_WINDOW_PAN 14 /* Wnd is panned */
1637 #define M_MODIFIED_WINDOW_MENU 15 /* Wnd menu pulled-down */
1638 #define M_MODIFIED_WINDOW_PAINT 16 /* Wnd is painted with image */
1639 #define M_MODIFIED_WINDOW_ACTIVE 17 /* Wnd activation state changed */
1640 #define M_MODIFIED_WINDOW_ENABLE 18 /* Wnd enable state changed */
1641 #define M_MODIFIED_WINDOW_CLIP_LIST 19 /* Wnd clip list changed */
1642 
1643 /* M_MODIFIED_WINDOW_MENU modification hook defines */
1644 #define M_MODIFIED_SYS_MENU 0x00100L
1645 #define M_MODIFIED_APP_MENU 0x00200L
1646 #define M_MODIFIED_USER_APP_MENU 0x10000L
1647 #define M_MODIFIED_RESTORE_MENUITEM 0x00001L
1648 #define M_MODIFIED_MOVE_MENUITEM 0x00002L
1649 #define M_MODIFIED_SIZE_MENUITEM 0x00003L
1650 #define M_MODIFIED_MINIMIZE_MENUITEM 0x00004L
1651 #define M_MODIFIED_MAXIMIZE_MENUITEM 0x00005L
1652 #define M_MODIFIED_CLOSE_MENUITEM 0x00006L
1653 #define M_MODIFIED_TASKLIST_MENUITEM 0x00007L
1654 #define M_MODIFIED_MENUBAR_MENUITEM 0x00008L
1655 #define M_MODIFIED_TITLEOFF_MENUITEM 0x00009L
1656 #define M_MODIFIED_ZOOMIN_MENUITEM 0x0000AL
1657 #define M_MODIFIED_ZOOMOUT_MENUITEM 0x0000BL
1658 #define M_MODIFIED_NOZOOM_MENUITEM 0x0000CL
1659 
1660 /* M_MODIFIED_WINDOW_ACTIVE modification hook defines */
1661 /* M_MODIFIED_WINDOW_ENABLE modification hook defines */
1662 #define M_MODIFIED_STATE_FROM_WINDOW 0
1663 #define M_MODIFIED_STATE_FROM_PARENT 0x00000010L
1664 #define M_MODIFIED_OFF 0
1665 #define M_MODIFIED_ON 0x00000001L
1666 
1667 /* M_MODIFIED_WINDOW_CLIP_LIST modification hook defines */
1668 /* M_MODIFIED_WINDOW_CLIP_LIST modification hook defines */
1669 #define M_MODIFIED_ACCESS_RECTANGULAR_OFF 0
1670 #define M_MODIFIED_ACCESS_RECTANGULAR_ON 0x00000001L
1671 #define M_MODIFIED_ACCESS_OFF 0
1672 #define M_MODIFIED_ACCESS_ON 0x00000002L
1673 #define M_MODIFIED_ACCESS_COMMAND_PROMPT 0x00000004L
1674 
1675 /* Type of event to hook for a display */
1676 #define M_HOOK_AFTER 0x10000000L /* For hook after modification */
1677 #define M_HOOK_BEFORE 0x20000000L /* For hook before modification */
1678 #define M_HOOK_MODIFIED_DIB 1L /* For buffer bitmap modification */
1679 #define M_HOOK_MODIFIED_WINDOW 2L /* For disp window modification */
1680 #define M_HOOK_MESSAGE_LOOP 4L /* For disp window modification */
1681 #define M_FRAME_START 9L /* For disp frame start */
1682 #define M_PRE_SCHEME_CHANGE 10L /* For hook before the display scheme change (new event for MIL8.0) */
1683 #define M_POST_SCHEME_CHANGE 11L /* For hook after the display scheme change (new event for MIL8.0) */
1684 #define M_BASIC_DISPLAY_EVENT (12L | M_ASYNC_HOOK) /* For hook when disp window is displayed in another VGA,or between, or unsupported zoom or more (new MIL8) */
1685 #define M_SURFACE_LOST (14L | M_ASYNC_HOOK) /* For hook when DirectX surface is lost (new event for MIL8.0) */
1686 /************************************************************************/
1687 /* MdispOverlayKey() */
1688 /************************************************************************/
1689 #define M_KEY_ON_COLOR 1L
1690 #define M_KEY_OFF 2L
1691 #define M_KEY_ALWAYS 3L
1692 
1693 
1694 /************************************************************************/
1695 /* MdigAlloc() defines */
1696 /************************************************************************/
1697 #define M_DIGITIZER_COLOR 0x00000001L
1698 #define M_DIGITIZER_MONO 0x00000002L
1699 #define M_USE_MEMORY_DCF 0x00000010L
1700 #define M_DCF_REALLOC 0x00000020L
1701 #define M_DISPLAY_DIGITIZER 0x00000040L
1702 #define M_NO_INPUT_PRESENT 0x00000080L
1703 #define M_NO_FIELD_CHECK 0x00000100L
1704 #define M_SHARED_BANDWIDTH 0x00000200L
1705 #define M_DIG_CREATE 0x00000400L
1706 #define M_EXCLUSIVE_BANDWIDTH M_DEFAULT
1707 #ifdef M_MIL_75_COMPATIBLE //TBR MIL 8.0
1708 #define M_FAST 0x00040000L
1709 #else
1710 #define M_FAST 0x00002000L
1711 #endif
1712 #define M_RESTORE_DIG_LUT 0x00080000L
1713 
1714 /************************************************************************/
1715 /* MdigInquire() / MdigControl() Types */
1716 /************************************************************************/
1717 #define M_NO_INPUT_PRESENT 0x00000080L
1718 
1719 #define M_OWNER_APPLICATION 1000L
1720 #define M_OWNER_SYSTEM 1001L
1721 #define M_SIZE_X 1002L
1722 #define M_SIZE_Y 1003L
1723 #define M_SIZE_Z 1004L
1724 #define M_SIZE_BAND 1005L
1725 #define M_SIZE_BAND_LUT 1006L
1726 #define M_SIZE_BIT 1007L
1727 #define M_TYPE 1008L
1728 #define M_NUMBER 1009L
1729 #define M_FORMAT 1010L
1730 #define M_FORMAT_SIZE 1011L
1731 #define M_INIT_FLAG 1012L
1732 #define M_ATTRIBUTE 1013L
1733 #define M_SIGN 1014L
1734 #define M_LUT_ID 1015L
1735 #define M_NATIVE_ID 1016L
1736 #define M_NATIVE_CONTROL_ID 1017L
1737 #define M_COLOR_MODE 1018L
1738 #define M_THREAD_PRIORITY 1019L
1739 #define M_OWNER_SYSTEM_TYPE 1023L
1740 #define M_LOW_LEVEL_API_OBJECT 1024L
1741 #define M_SERIAL_NUMBER 2098L
1742 #define M_SERIAL_NUMBER_0 2099L
1743 #define M_SERIAL_NUMBER_1 2100L
1744 
1745 #define M_CHANNEL 4000L
1746 /* Reserve next 1 bits from (4000L | 0x00800000L)*/
1747 #define M_CHANNEL_NUM 4001L
1748 #define M_BASE_BLACK_REF 4002L
1749 #define M_BLACK_REF 4003L
1750 /* Reserve next 8 bits from (4003L | 0x00000000L)*/
1751 /* (4003L | 0x10000000L)*/
1752 /* (4003L | 0x20000000L)*/
1753 /* (4003L | 0x40000000L)*/
1754 /* (4003L | 0x80000000L)*/
1755 /* (4003L | 0x01000000L)*/
1756 /* (4003L | 0x02000000L)*/
1757 /* (4003L | 0x04000000L)*/
1758 /* to (4003L | 0x08000000L)*/
1759 #define M_WHITE_REF 4005L
1760 /* Reserve next 8 bits from (4005L | 0x00000000L)*/
1761 /* (4005L | 0x10000000L)*/
1762 /* (4005L | 0x20000000L)*/
1763 /* (4005L | 0x40000000L)*/
1764 /* (4005L | 0x80000000L)*/
1765 /* (4005L | 0x01000000L)*/
1766 /* (4005L | 0x02000000L)*/
1767 /* (4005L | 0x04000000L)*/
1768 /* to (4005L | 0x08000000L)*/
1769 #define M_HUE_REF 4006L
1770 #define M_SATURATION_REF 4007L
1771 #define M_BRIGHTNESS_REF 4008L
1772 #define M_CONTRAST_REF 4009L
1773 #define M_GRAB_SCALE 4010L
1774 #define M_GRAB_SCALE_X 4011L
1775 #define M_GRAB_SCALE_Y 4012L
1776 #define M_GRAB_SUBSAMPLE 4013L
1777 #define M_GRAB_SUBSAMPLE_X 4014L
1778 #define M_GRAB_SUBSAMPLE_Y 4015L
1779 #define M_GRAB_MODE 4016L
1780 #define M_GRAB_FRAME_NUM 4017L
1781 #define M_GRAB_FIELD_NUM 4018L
1782 #define M_GRAB_INPUT_GAIN 4019L // dependent of M_LUMINANCE and M_CHROMINANCE
1783 #define M_INPUT_MODE 4020L
1784 #define M_SCAN_MODE 4021L
1785 #define M_SOURCE_SIZE_X 4022L
1786 #define M_SOURCE_SIZE_Y 4023L
1787 #define M_SOURCE_OFFSET_X 4024L
1788 #define M_SOURCE_OFFSET_Y 4025L
1789 #define M_INTERNAL_SOURCE_SIZE_X 4026L
1790 #define M_INTERNAL_SOURCE_SIZE_Y 4027L
1791 #define M_INTERNAL_SOURCE_OFFSET_X 4028L
1792 #define M_INTERNAL_SOURCE_OFFSET_Y 4029L
1793 #define M_GRAB_END_HANDLER_PTR 4030L
1794 #define M_GRAB_END_HANDLER_USER_PTR 4032L
1795 #define M_GRAB_START_HANDLER_PTR 4033L
1796 #define M_GRAB_START_HANDLER_USER_PTR 4035L
1797 #define M_GRAB_FIELD_END_HANDLER_PTR 4036L
1798 #define M_GRAB_FIELD_END_HANDLER_USER_PTR 4037L
1799 #define M_GRAB_FIELD_END_ODD_HANDLER_PTR 4038L
1800 #define M_GRAB_FIELD_END_ODD_HANDLER_USER_PTR 4039L
1801 #define M_GRAB_FIELD_END_EVEN_HANDLER_PTR 4040L
1802 #define M_GRAB_FIELD_END_EVEN_HANDLER_USER_PTR 4041L
1803 #define M_GRAB_FRAME_END_HANDLER_PTR 4042L
1804 #define M_GRAB_FRAME_END_HANDLER_USER_PTR 4043L
1805 #define M_GRAB_FRAME_START_HANDLER_PTR 4044L
1806 #define M_GRAB_FRAME_START_HANDLER_USER_PTR 4045L
1807 #define M_FIELD_START_HANDLER_PTR 4046L
1808 #define M_FIELD_START_HANDLER_USER_PTR 4047L
1809 #define M_FIELD_START_ODD_HANDLER_PTR 4048L
1810 #define M_FIELD_START_ODD_HANDLER_USER_PTR 4049L
1811 #define M_FIELD_START_EVEN_HANDLER_PTR 4050L
1812 #define M_FIELD_START_EVEN_HANDLER_USER_PTR 4051L
1813 #define M_SCALING_Y_AVAILABLE 4052L
1814 #define M_GRAB_TRIGGER_SOURCE 4053L
1815 #define M_GRAB_TRIGGER_MODE 4054L
1816 #define M_NATIVE_CAMERA_ID 4060L
1817 #define M_VCR_INPUT_TYPE 4061L
1818 #define M_CLIP_SRC_SUPPORTED 4062L
1819 #define M_CLIP_DST_SUPPORTED 4063L
1820 #define M_HOOK_FUNCTION_SUPPORTED 4064L
1821 #define M_GRAB_WINDOW_RANGE_SUPPORTED 4065L
1822 #define M_GRAB_SCALE_X_SUPPORTED 4066L
1823 #define M_GRAB_SCALE_Y_SUPPORTED 4067L
1824 #define M_GRAB_8_BITS_SUPPORTED 4068L
1825 #define M_GRAB_15_BITS_SUPPORTED 4069L
1826 #define M_GRAB_32_BITS_SUPPORTED 4070L
1827 #define M_GRAB_EXTRA_LINE 4071L
1828 #define M_GRAB_ABORT 4072L
1829 #define M_GRAB_DESTRUCTIVE_IN_PROGRESS 4073L
1830 #define M_GRAB_START_MODE 4074L
1831 #define M_GRAB_WINDOW_RANGE 4075L
1832 #define M_INPUT_SIGNAL_PRESENT 4078L
1833 #define M_INPUT_SIGNAL_SOURCE 4079L
1834 #define M_FIELD_START_THREAD_ID 4080L
1835 #define M_GRAB_FIELD_END_ODD_THREAD_ID 4081L
1836 #define M_GRAB_FIELD_END_EVEN_THREAD_ID 4082L
1837 #define M_FIELD_START_THREAD_HANDLE 4083L
1838 #define M_GRAB_FIELD_END_ODD_THREAD_HANDLE 4084L
1839 #define M_GRAB_FIELD_END_EVEN_THREAD_HANDLE 4085L
1840 #define M_FORMAT_UPDATE 4086L
1841 #define M_USER_BIT 4087L
1842 /* Reserve next 31 values from 4088L*/
1843 /* to 4118L*/
1844 #define M_GRAB_FAIL_CHECK 4120L
1845 #define M_GRAB_FAIL_STATUS 4121L
1846 #define M_GRAB_FAIL_RETRY_NUMBER 4122L
1847 #define M_GRAB_ON_ONE_LINE 4123L
1848 #define M_GRAB_WRITE_FORMAT 4124L
1849 #define M_GRAB_LUT_PALETTE 4125L
1850 #define M_GRAB_HALT_ON_NEXT_FIELD 4126L
1851 #define M_GRAB_TIMEOUT 4127L
1852 #define M_GRAB_IN_PROGRESS 4128L
1853 #define M_FIELD_START_HOOK_WHEN_GRAB_ONLY 4129L
1854 #define M_SOUND_VOLUME_REF 4130L
1855 #define M_SOUND_VOLUME_RIGHT_REF 4131L
1856 #define M_SOUND_VOLUME_LEFT_REF 4132L
1857 #define M_SOUND_TYPE_REF 4133L
1858 #define M_SOUND_TYPE_STATUS 4134L
1859 #define M_SOUND_BASS_REF 4135L
1860 #define M_SOUND_TREBLE_REF 4136L
1861 #define M_EXTERNAL_CHROMINANCE 4137L
1862 #define M_TUNER_FREQUENCY 4138L
1863 #define M_TUNER_STANDARD 4139L
1864 #define M_CLOCK_NOT_ALWAYS_VALID 4140L
1865 #define M_GRAB_LINESCAN_MODE 4141L
1866 #define M_GRAB_PERIOD 4142L
1867 #define M_OVERRIDE_ROUTER 4143L
1868 #define M_GRAB_EXPOSURE 4150L
1869 /* Reserve next 8 values from 4151L*/
1870 /* to 4158L*/
1871 #define M_GRAB_EXPOSURE_SOURCE 4160L
1872 /* Reserve next 8 values from 4161L*/
1873 /* to 4168L*/
1874 #define M_GRAB_EXPOSURE_MODE 4170L
1875 /* Reserve next 8 values from 4171L*/
1876 /* to 4178L*/
1877 #define M_GRAB_EXPOSURE_TIME 4180L
1878 /* Reserve next 8 values from 4181L*/
1879 /* to 4188L*/
1880 #define M_GRAB_EXPOSURE_TIME_DELAY 4190L
1881 /* Reserve next 8 values from 4191L*/
1882 /* to 4198L*/
1883 #define M_GRAB_TRIGGER 4200L
1884 /* Reserve next 8 values from 4201L*/
1885 /* to 4208L*/
1886 #define M_GRAB_EXPOSURE_BYPASS 4210L
1887 #define M_DCF_REALLOC_HANDLER_PTR 4211L
1888 #define M_DCF_REALLOC_HANDLER_USER_PTR 4212L
1889 #define M_USER_IN_FORMAT 4213L
1890 #define M_USER_OUT_FORMAT 4214L
1891 #define M_GRAB_RESTRICTION_CHECK 4215L
1892 #define M_LAST_GRAB_BUFFER 4216L
1893 #define M_NATIVE_LAST_GRAB_OSB_ID 4217L
1894 #define M_SYNCHRONIZE_ON_STARTED 4218L
1895 #define M_GRAB_WAIT 4219L
1896 #define M_GRAB_FIELD_START_HANDLER_PTR 4220L
1897 #define M_GRAB_FIELD_START_HANDLER_USER_PTR 4221L
1898 #define M_GRAB_FIELD_START_ODD_HANDLER_PTR 4222L
1899 #define M_GRAB_FIELD_START_ODD_HANDLER_USER_PTR 4223L
1900 #define M_GRAB_FIELD_START_EVEN_HANDLER_PTR 4224L
1901 #define M_GRAB_FIELD_START_EVEN_HANDLER_USER_PTR 4225L
1902 #define M_GRAB_16_BITS_SUPPORTED 4226L
1903 #define M_GRAB_24_BITS_SUPPORTED 4227L
1904 #define M_INPUT_SIGNAL_HSYNC_LOCK 4228L
1905 #define M_GRAB_BLOCK_SIZE 4229L
1906 #define M_GRAB_DIRECTION_X 4230L
1907 #define M_GRAB_DIRECTION_Y 4231L
1908 #define M_GRAB_FREQ_MAX 4232L
1909 #define M_GRAB_THREAD_HANDLE 4233L
1910 #define M_GRAB_THREAD_ID 4234L
1911 #define M_GRAB_START_THREAD_HANDLE 4235L
1912 #define M_GRAB_START_THREAD_ID 4236L
1913 #define M_GRAB_END_THREAD_HANDLE 4237L
1914 #define M_GRAB_END_THREAD_ID 4238L
1915 #define M_GRAB_PATH_OVERRIDE 4239L
1916 #define M_GRAB_PATH_OVERRIDE_DCF 4240L
1917 #define M_GRAB_PATH_PCI 4241L
1918 #define M_GRAB_AUTOMATIC_INPUT_GAIN 4242L
1919 #define M_GRAB_DISPLAY_SCALER_QUALITY 4243L
1920 #define M_GRAB_VALID 4244L
1921 #define M_GRAB_FIELD_START_THREAD_HANDLE 4248L
1922 #define M_GRAB_FIELD_START_THREAD_ID 4249L
1923 #define M_GRAB_EXPOSURE_TRIGGER_MODE 4250L
1924 /* Reserve next 8 values from 4251L*/
1925 /* to 4258L*/
1926 #define M_GRAB_FIELD_END_THREAD_HANDLE 4259L
1927 #define M_GRAB_FIELD_END_THREAD_ID 4260L
1928 #define M_GRAB_FRAME_END_THREAD_HANDLE 4261L
1929 #define M_GRAB_FRAME_END_THREAD_ID 4262L
1930 #define M_SET_VCOUNT 4263L
1931 #define M_JPEG_ENCODING_MODE 4264L
1932 #define M_JPEG_DECODING_MODE 4265L
1933 #define M_JPEG_MARKERS_ENABLE 4266L
1934 #define M_JPEG_NUMBER_OF_SCAN_ENCODED 4267L
1935 #define M_JPEG_INPUT_COLOR_MODE 4268L
1936 #define M_JPEG_OUTPUT_COLOR_MODE 4269L
1937 #define M_JPEG_IMAGE_FORMAT 4270L
1938 #define M_JPEG_NAX 4271L
1939 #define M_JPEG_NAY 4272L
1940 #define M_JPEG_PAX 4273L
1941 #define M_JPEG_PAY 4274L
1942 #define M_JPEG_AUTO_START_MODE 4275L
1943 #define M_JPEG_COMPRESS_MODE 4276L
1944 #define M_JPEG_HW_PROG_MODE 4277L
1945 #define M_HOOK_MASTER_THREAD_HANDLE 4278L
1946 #define M_HOOK_MASTER_THREAD_ID 4279L
1947 #define M_GRAB_PATH_RR 4280L
1948 #define M_PIXCLK_JPEG_SIGNAL_PRESENT 4281L
1949 #define M_GRAB_VM 4282L
1950 #define M_GARBAGE_UV_ADDRESS 4283L
1951 #define M_SET_EXPOSURE_ENABLE 4290L
1952 /* Reserve next 8 values from 4291L*/
1953 /* to 4298L*/
1954 #define M_INPUT_SIGNAL_COLOR_LOCK 4399L
1955 
1956 #define M_JPEG_FIRST_FIELD_SIZEBYTE 4301L
1957 #define M_JPEG_SECOND_FIELD_SIZEBYTE 4302L
1958 #define M_JPEG_OFFSET_X 4303L
1959 #define M_JPEG_OFFSET_Y 4304L
1960 #define M_CURRENT_GRAB_BUFFER_HOST_ADDRESS 4305L
1961 #define M_CURRENT_GRAB_BUFFER_PHYSICAL_ADDRESS 4306L
1962 #define M_RESET_CONTINUOUS_GRABBER 4307L
1963 #define M_TIMER_INTERRUPT 4308L
1964 #define M_TIMER_INTERRUPT_LENGHT 4309L
1965 #define M_TIMER_SET_INTERRUPT 4310L
1966 #define M_GRAB_SAMPLING_POSITION 4311L
1967 #define M_JPEG_DMA_TRANSFER 4312L
1968 #define M_GRAB_FRAME_START_THREAD_HANDLE 4313L
1969 #define M_GRAB_FRAME_START_THREAD_ID 4314L
1970 #define M_INTERNAL_GRAB_BUFFERS_NB 4315L
1971 #define M_INTERNAL_GRAB_BUFFERS_ID 4316L
1972 #define M_INTERNAL_GRAB_BUFFERS_FORMAT 4317L
1973 #define M_KS0127_REV_ID 4318L
1974 #define M_DECODER_REV_ID M_KS0127_REV_ID
1975 #define M_GRAB_SCALE_MODE 4319L
1976 #define M_GRAB_SCALE_MODE_X 4320L
1977 #define M_GRAB_SCALE_MODE_Y 4321L
1978 #define M_START_THREAD_HANDLE 4322L
1979 #define M_START_THREAD_ID 4323L
1980 #define M_SOURCE_COMPENSATION 4324L
1981 #define M_GRAB_COLOR 4325L
1982 #define M_SYNCHRONIZE_CHANNEL 4326L
1983 #define M_ODD_EVEN_CORRECTION 4327L
1984 #define M_POLLING_FOR_END_OF_XFER 4328L
1985 #define M_FORCE_PSEUDO_LIVE_GRAB 4329L
1986 /* Free to use from 4330*/
1987 /* to 4339*/
1988 #define M_GRAB_EXPOSURE_CLOCK_SOURCE 4340L
1989 /* Reserve next 8 values from 4341L*/
1990 /* to 4348L*/
1991 #define M_GRAB_EXPOSURE_CLOCK_FREQUENCY 4350L
1992 /* Reserve next 8 values from 4351L*/
1993 /* to 4358L*/
1994 #define M_HOOK_FOR_PSEUDO_LIVE_GRAB 4360L
1995 #define M_YIELD_FOR_END_OF_XFER 4361L
1996 #define M_GRAB_SCALE_QUALITY 4362L
1997 #define M_USER_BIT_INQUIRE_START 4363L
1998 #define M_USER_BIT 4087L
1999 /* Reserve next 31 values from 4088L*/
2000 /* to 4118L*/
2001 #define M_USER_BIT_COUNT 4364L
2002 #define M_USER_BIT_OPTOMODULE 4365L
2003 #define M_USER_BIT_INQUIRE_END 4366L
2004 
2005 #define M_GRAB_LINE_HANDLER_PTR 4367L
2006 #define M_GRAB_LINE_HANDLER_USER_PTR 4368L
2007 #define M_GRAB_QUEUE_SIZE 4369L
2008 #define M_SECONDARY_GRAB_BUFFER 4370L
2009 #define M_GRAB_FRAME_END_TIME_STAMP_BUFFER 4371L
2010 #define M_GRAB_BUF_MODIFIED 4372L
2011 #define M_RGB_PIXEL_SWAP 4373L
2012 #define M_PREFERRED_BUFFER_FORMAT 4374L
2013 #define M_GRAB_IN_USER_BUFFER 4375L
2014 #define M_SYNCHRONIZE_GRAB_WITH_DISPLAY_REFRESH 4376L
2015 #define M_LAST_GRAB_BUFFER_INDEX 4377L
2016 
2017 
2018 
2019 // Map of UART defines
2020 #define M_UART_PARITY 5001L
2021 #define M_UART_STOP_BITS 5002L
2022 #define M_UART_DATA_LENGTH 5003L
2023 #define M_UART_SPEED 5004L
2024 #define M_UART_WRITE_CHAR 5005L
2025 #define M_UART_READ_CHAR 5006L
2026 #define M_UART_DATA_PENDING 5007L
2027 #define M_UART_WRITE_STRING 5008L
2028 #define M_UART_WRITE_STRING_LENGTH 5009L
2029 #define M_UART_READ_STRING 5010L
2030 #define M_UART_READ_STRING_LENGTH 5011L
2031 #define M_UART_READ_STRING_MAXIMUM_LENGTH 5012L
2032 #define M_UART_STRING_DELIMITER 5013L
2033 #define M_UART_TIMEOUT 5014L
2034 #define M_UART_ERROR_MESSAGE 5015L // internal use only
2035 #define M_UART_OUTPUT 5016L
2036 
2037 #define M_UART_THREAD_HANDLE 5017L
2038 #define M_UART_THREAD_ID 5018L
2039 #define M_UART_DATA_RECEIVED_HANDLER_PTR 5019L
2040 #define M_UART_DATA_RECEIVED_HANDLER_USER_PTR 5020L
2041 
2042 /* defines for 1394*/
2043 #define M_MIN_VALUE 2L
2044 #define M_MAX_VALUE 1L
2045 
2046 #define M_BRIGHTNESS 5100L/* Reserve all values between 5100 and 5159*/
2047 #define M_AUTO_EXPOSURE 5104L
2048 #define M_SHARPNESS 5108L
2049 #define M_WHITE_BALANCE 5112L
2050 #define M_HUE 0x00008000L
2051 #define M_SATURATION M_GREEN
2052 #define M_GAMMA 5116L
2053 #define M_SHUTTER 5120L
2054 #define M_GAIN 5124L
2055 #define M_IRIS 5128L
2056 #define M_FOCUS 5132L
2057 #define M_TEMPERATURE 5136L
2058 #define M_TRIGGER 5140L
2059 #define M_ZOOM 5144L
2060 #define M_PAN 5148L
2061 #define M_TILT 5152L
2062 #define M_OPTICAL_FILTER 5156L
2063 #define M_CAPTURE_SIZE 5160L
2064 #define M_CAPTURE_QUALITY 5164L
2065 #define M_WHITE_BALANCE_U 5168L
2066 #define M_WHITE_BALANCE_V 5172L
2067 #define M_TARGET_TEMPERATURE 5176L
2068 /* Reserve next 3 values from 5177L*/
2069 /* to 5179L*/
2070 #define M_FORMAT_SUPPORTED 5180L
2071 #define M_FORMAT_SUPPORTED_NUM 5181L
2072 #define M_FORMAT_SUPPORTED_LENGTH 5182L
2073 #define M_TRIGGER_SUPPORTED 5183L
2074 #define M_INPUT_LOW_PASS_FILTER 5184L
2075 #define M_PIXCLK_FREQ 5185L
2076 #define M_INPUT_FILTER 5186L
2077 #define M_DIGITIZER_CONTROL_LOG 5187L
2078 #define M_TARGET_BUFFER_UPDATE 5188L
2079 #define M_DUMP_REGISTERS 5189L
2080 
2081 /* Reserve 3 values for M_SATURATION from 8192*/
2082 /* to 8195*/
2083 
2084 /* defines for camera link*/
2085 #define M_CAMERALINK_CC1_SOURCE 5200L
2086 #define M_CAMERALINK_CC2_SOURCE 5201L
2087 #define M_CAMERALINK_CC3_SOURCE 5202L
2088 #define M_CAMERALINK_CC4_SOURCE 5203L
2089 
2090 /* defines for channel switch lock mechanism*/
2091 #define M_CAMERA_LOCK 5300L
2092 #define M_CAMERA_COLOR_LOCK 5301L
2093 #define M_CAMERA_LOCK_SENSITIVITY 5302L
2094 #define M_CAMERA_UNLOCK_SENSITIVITY 5303L
2095 #define M_CAMERA_LOCKED 5304L
2096 #define M_CAMERA_COLOR_LOCKED 5305L
2097 #define M_CAMERA_LOCK_MODE 5306L
2098 
2099 #define M_CAMERA_LOCK_HANDLER_PTR 5307L
2100 #define M_CAMERA_LOCK_HANDLER_USER_PTR 5308L
2101 #define M_CAMERA_LOCK_THREAD_ID 5309L
2102 #define M_CAMERA_LOCK_THREAD_HANDLE 5310L
2103 
2104 /* defines for camera detect */
2105 #define M_CAMERA_PRESENT_HANDLER_PTR 5311L
2106 #define M_CAMERA_PRESENT_HANDLER_USER_PTR 5312L
2107 #define M_CAMERA_PRESENT_THREAD_ID 5313L
2108 #define M_CAMERA_PRESENT_THREAD_HANDLE 5314L
2109 #define M_CAMERA_PRESENT 5315L
2110 #define M_CAMERA_PRESENT_SENSITIVITY 5316L
2111 
2112 #define M_WRITE_GRAB_VALIDATION_TAG 5317L
2113 
2114 #define M_INFO_FORMAT 5318L
2115 #define M_HV_RESET 5319L
2116 #define M_FORCE_INTERNAL_GRAB_BUFFER 5320L
2117 #define M_INITIALIZATION_DELAY 5321L
2118 #define M_SELECTED_FRAME_RATE 5322L
2119 #define M_VENDOR 5323L
2120 #define M_VENDOR_LENGTH 5324L
2121 #define M_MODEL_LENGTH 5325L
2122 #define M_BAYER_CONVERSION 5326L
2123 #define M_GRAB_PROCESSING 5327L
2124 #define M_BAYER_COEFFICIENTS_ID 5328L
2125 #define M_ACQUISITION_PATH 5329L
2126 
2127 #define M_GRAB_LL_SEQ_CONTEXT 5330L
2128 /* Reserve next value 5331L*/
2129 
2130 /* Reserve next value 5332 */
2131 
2132 
2133 #define M_HOOK_EVENT_BACKDOOR_INTERNAL 0x4444L // 17476
2134 #define M_HOOK_CANCEL_EVENT_BACKDOOR_INTERNAL 0x4464L // 17508
2135 
2136 /* Reserve 3 values for M_HUE from 32768*/
2137 /* to 32771*/
2138 #define M_MODEL 0X10000L //65536
2139 
2140 
2141 #define M_START_REGISTER_ADDRESS 0xF0000000
2142 /*Reserve the values between 0xF000000 and 0xF0FFFFFF for 1394*/
2143 #define M_END_REGISTER_ADDRESS 0xF0FFFFFF
2144 
2145 // !!! MAP FOR OLD DEFINES
2146 #if OldDefinesSupport
2147 #define M_DIG_TYPE M_TYPE
2148 #define M_DIG_NUMBER M_NUMBER
2149 #define M_DIG_FORMAT M_FORMAT
2150 #define M_DIG_INIT_FLAG M_INIT_FLAG
2151 #define M_DIG_CHANNEL_NUM M_CHANNEL_NUM
2152 #define M_DIG_LUT M_LUT_ID
2153 #define M_DIG_REF_BLACK M_BLACK_REF
2154 #define M_DIG_REF_WHITE M_WHITE_REF
2155 #define M_DIG_REF_HUE M_HUE_REF
2156 #define M_DIG_REF_SATURATION M_SATURATION_REF
2157 #define M_DIG_REF_BRIGHTNESS M_BRIGHTNESS_REF
2158 #define M_DIG_REF_CONTRAST M_CONTRAST_REF
2159 #define M_DIG_BLACK_REF M_BLACK_REF
2160 #define M_DIG_WHITE_REF M_WHITE_REF
2161 #define M_DIG_HUE_REF M_HUE_REF
2162 #define M_DIG_SATURATION_REF M_SATURATION_REF
2163 #define M_DIG_BRIGHTNESS_REF M_BRIGHTNESS_REF
2164 #define M_DIG_CONTRAST_REF M_CONTRAST_REF
2165 #define M_DIG_INPUT_MODE M_INPUT_MODE
2166 #define M_DIG_GRAB_SCALE M_GRAB_SCALE
2167 #define M_DIG_GRAB_SCALE_X M_GRAB_SCALE_X
2168 #define M_DIG_GRAB_SCALE_Y M_GRAB_SCALE_Y
2169 #define M_DIG_GRAB_SUBSAMPLE M_GRAB_SUBSAMPLE
2170 #define M_DIG_GRAB_SUBSAMPLE_X M_GRAB_SUBSAMPLE_X
2171 #define M_DIG_GRAB_SUBSAMPLE_Y M_GRAB_SUBSAMPLE_Y
2172 #define M_DIG_GRAB_MODE M_GRAB_MODE
2173 #define M_DIG_GRAB_FRAME_NUM M_GRAB_FRAME_NUM
2174 #define M_DIG_GRAB_FIELD_NUM M_GRAB_FIELD_NUM
2175 #define M_DIG_SOURCE_SIZE_X M_SOURCE_SIZE_X
2176 #define M_DIG_SOURCE_SIZE_Y M_SOURCE_SIZE_Y
2177 #define M_DIG_SOURCE_OFFSET_X M_SOURCE_OFFSET_X
2178 #define M_DIG_SOURCE_OFFSET_Y M_SOURCE_OFFSET_Y
2179 #define M_DIG_USER_BIT M_USER_BIT
2180 #define M_DIG_INPUT_SIGNAL_PRESENT M_INPUT_SIGNAL_PRESENT
2181 #define M_DIG_INPUT_SIGNAL_SOURCE M_INPUT_SIGNAL_SOURCE
2182 #define M_DIG_SOUND_VOLUME_REF M_SOUND_VOLUME_REF
2183 #define M_DIG_SOUND_VOLUME_RIGHT_REF M_SOUND_VOLUME_RIGHT_REF
2184 #define M_DIG_SOUND_VOLUME_LEFT_REF M_SOUND_VOLUME_LEFT_REF
2185 #define M_DIG_SOUND_TYPE_REF M_SOUND_TYPE_REF
2186 #define M_DIG_SOUND_BASS_REF M_SOUND_BASS_REF
2187 #define M_DIG_SOUND_TREBLE_REF M_SOUND_TREBLE_REF
2188 #define M_DIG_FORMAT_UPDATE M_FORMAT_UPDATE
2189 #define M_DIG_CLIP_SRC_SUPPORTED M_CLIP_SRC_SUPPORTED
2190 #define M_DIG_CLIP_DST_SUPPORTED M_CLIP_DST_SUPPORTED
2191 #define M_DIG_HOOK_FUNCTION_SUPPORTED M_HOOK_FUNCTION_SUPPORTED
2192 #define M_GRAB_INTERLACED_MODE M_SCAN_MODE
2193 #define M_GRAB_THREAD_PRIORITY M_THREAD_PRIORITY
2194 #define M_HOOK_PRIORITY M_THREAD_PRIORITY
2195 #define M_GRAB_WINDOWS_RANGE M_GRAB_WINDOW_RANGE
2196 #define M_GRAB_WINDOWS_RANGE_SUPPORTED M_GRAB_WINDOW_RANGE_SUPPORTED
2197 
2198 #define M_HW_TRIGGER M_HARDWARE_PORT0
2199 #define M_SW_TRIGGER M_SOFTWARE
2200 #define M_VSYNC_TRIGGER M_VSYNC
2201 #define M_HSYNC_TRIGGER M_HSYNC
2202 #define M_DIG_CHANNEL M_CHANNEL
2203 
2204 #endif
2205 
2206 // List of defines for CLLjpegControl
2207 //==============================================================================
2208 #define M_LOSSY 1L
2209 #define M_AUTO_BIT_RATE_CONTROL 2L
2210 #define M_STATISTICAL 3L
2211 #define M_BIT_RATE_CONTROL 4L
2212 #define M_TABLES_ONLY 5L
2213 #define M_TABLES_PRELOAD 6L
2214 #define M_LOSSLESS 7L
2215 #define M_FAST_PREVIEW 8L
2216 
2217 #define M_APP 0x00000001L
2218 #define M_COM 0x00000002L
2219 #define M_DRI 0x00000004L
2220 #define M_DQT 0x00000008L
2221 #define M_DHT 0x00000010L
2222 #define M_DNL 0x00000020L
2223 #define M_DQTI 0x00000040L
2224 #define M_DHTI 0x00000080L
2225 
2226 #define M_NSCN_1 0L
2227 #define M_NSCN_2 1L
2228 #define M_NSCN_3 2L
2229 #define M_NSCN_4 3L
2230 #define M_NSCN_5 4L
2231 #define M_NSCN_6 5L
2232 #define M_NSCN_7 6L
2233 #define M_NSCN_8 7L
2234 
2235 /* Inquire Values */
2236 #define M_DIGITAL 0L
2237 #define M_ANALOG 1L
2238 #define M_INTERLACE 0L
2239 #define M_PROGRESSIVE 1L
2240 #define M_LINESCAN 2L
2241 #define M_ACTIVATE 1L
2242 
2243 /* Inquire Values for the color mode */
2244 #define M_MONOCHROME 0L
2245 #define M_COMPOSITE 1L
2246 #define M_RGB 8L
2247 #define M_YUV 4L
2248 #define M_EXTERNAL_CHROMINANCE 4137L
2249 #define M_MONO8_VIA_RGB M_MONO32
2250 #define M_SEPARATE 0x8000L
2251 
2252 /************************************************************************/
2253 /* Board types */
2254 /************************************************************************/
2255 #define M_BOARD_TYPE_MASK 0x000000FFL
2256 
2257 // Pulsar board type
2258 #define M_PULSAR_XXX 19L
2259 #define M_PULSAR 20L
2260 #define M_PULSAR_WITH_RS422 21L
2261 #define M_PULSAR_RS422_JIG 22L
2262 
2263 // Module type
2264 #define M_DIGITAL_MODULE 0x0100L
2265 #define M_LVDS_MODULE M_RS422_MODULE
2266 #define M_COMPRESSION_MODULE 0x0200L
2267 #define M_DAC_MODULE 0x0400L
2268 #define M_XCL 0x0800L
2269 #define M_XA 0x1000L
2270 #define M_XPRO 0x2000L
2271 #define M_ACQUISITION_MODULE 0x4000L
2272 #define M_AUXIO_MODULE 0x8000L
2273 
2274 // Grab Module type
2275 #define M_QHA 0x00100000L
2276 #define M_SFCL 0x00200000L
2277 #define M_DBCL 0x00400000L
2278 #define M_QD 0x00800000L
2279 #define M_DMA 0x00010000L
2280 
2281 
2282 // Corona board type
2283 #define M_CORONA 20L
2284 #define M_CORONA_LC 21L
2285 #define M_CORONA_VIA 22L
2286 #define M_CORONA_RR 23L
2287 #define M_METEOR_II_MC 24L
2288 #define M_CORONA_II 25L
2289 #define M_METEOR_II 27L
2290 
2291 #define M_METEOR_II_STD M_METEOR_II
2292 #define M_CORONA_WITH_DIG_MODULE (M_CORONA|M_DIGITAL_MODULE)
2293 #define M_CORONA_II_WITH_DIG_MODULE (M_CORONA_II|M_DIGITAL_MODULE)
2294 #define M_METEOR_II_WITH_COMPRESSION_MODULE (M_METEOR_II|M_COMPRESSION_MODULE)
2295 #define M_METEOR_II_STD_WITH_COMPRESSION_MODULE (M_METEOR_II_STD|M_COMPRESSION_MODULE)
2296 #define M_METEOR_II_MC_WITH_COMPRESSION_MODULE (M_METEOR_II_MC|M_COMPRESSION_MODULE)
2297 
2298 // Meteor board type
2299 #define M_METEOR 20L
2300 #define M_METEOR_TV 21L
2301 #define M_METEOR_RGB 22L
2302 #define M_METEOR_PRO 23L
2303 #define M_METEOR_TV_PRO 24L
2304 #define M_METEOR_RGB_PRO 25L
2305 
2306 // Genesis board type
2307 #define M_GENESIS 30L
2308 #define M_GENESIS_PRO 31L
2309 #define M_GENESIS_LC 32L
2310 #define M_METEOR_II_DIG 33L
2311 #define M_GENESIS_PLUS 34L
2312 #define M_METEOR_II_CL 35L
2313 #define M_METEOR_II_DIG_WITH_MJPEG_MODULE (M_METEOR_II_DIG|M_COMPRESSION_MODULE)
2314 #define M_GENESIS_WITH_DAC_MODULE (M_GENESIS|M_DAC_MODULE)
2315 #define M_GENESIS_LC_WITH_DAC_MODULE (M_GENESIS_LC|M_DAC_MODULE)
2316 #define M_ODYSSEY 36L
2317 #define M_ODYSSEY_NATIVE 37L
2318 
2319 // MJPEG/JPEG module board type (internal use only)
2320 #define M_MJPEG 1L
2321 #define M_JPEG 5L
2322 #define M_DEVICE_MJPEG M_MJPEG // with interlaced/progressive compression/decompression
2323 #define M_DEVICE_JPEG M_JPEG // with interlaced/progressive compression/decompression
2324  // and progressive compression from interlaced timings
2325 // Orion board type
2326 #define M_ORION 40L
2327 #define M_ORION_4SIGHT_II_STD 41L
2328 #define M_ORION_4SIGHT_II_RGB 42L
2329 #define M_ORION_4SIGHT_II_DUAL 43L
2330 
2331 // 1394 board type
2332 #define M_METEOR_II_1394 50L
2333 #define M_NON_MATROX_OHCI_BOARD 51L
2334 
2335 //Cronos board type
2336 #define M_CRONOS 60L
2337 
2338 //Cronos Plusboard type
2339 #define M_CRONOSPLUS 70L
2340 
2341 //Helios board type
2342 #define M_HELIOS 80L
2343 
2344 //Iris board type
2345 #define M_IRIS 5128L
2346 
2347 
2348 // Morphis Board type
2349 #define M_MORPHIS 90L
2350 
2351 //Host board type
2352 #define M_HOST 100L
2353 
2354 // !!! MAP FOR OLD DEFINES
2355 #if OldDefinesSupport
2356 #define M_MJPEG_MODULE M_COMPRESSION_MODULE
2357 #define M_RS422_MODULE M_DIGITAL_MODULE
2358 #define M_METEOR_II_WITH_MJPEG_MODULE M_METEOR_II_WITH_COMPRESSION_MODULE
2359 #define M_METEOR_II_STD_WITH_MJPEG_MODULE M_METEOR_II_STD_WITH_COMPRESSION_MODULE
2360 #define M_METEOR_II_MC_WITH_MJPEG_MODULE M_METEOR_II_MC_WITH_COMPRESSION_MODULE
2361 #endif
2362 
2363 /************************************************************************/
2364 /* MdigControl() / MdigInquire() Values */
2365 /************************************************************************/
2366 #define M_WEIGHTED 2L
2367 #define M_CONTINUOUS -1L
2368 
2369 #define M_TIMER1 1L
2370 #define M_TIMER2 2L
2371 #define M_TIMER3 3L
2372 #define M_TIMER4 4L
2373 #define M_TIMER5 5L
2374 #define M_TIMER6 6L
2375 #define M_TIMER7 7L
2376 #define M_TIMER8 8L
2377 
2378 #define M_LOW 1L
2379 #define M_HIGH 3L
2380 
2381 #define M_ARM_CONTINUOUS 9L
2382 #define M_ARM_MONOSHOT 10L
2383 #define M_ARM_RESET 11L
2384 #define M_EDGE_RISING 12L
2385 #define M_EDGE_FALLING 13L
2386 #define M_LEVEL_LOW 14L
2387 #define M_LEVEL_HIGH 15L
2388 #define M_HARDWARE_PORT0 16L
2389 #define M_HARDWARE_PORT1 17L
2390 #define M_HARDWARE_PORT_CAMERA 18L
2391 #define M_START_EXPOSURE 19L
2392 #define M_SOFTWARE 20L
2393 #define M_USER_DEFINED 21L
2394 #define M_HSYNC 22L
2395 #define M_VSYNC 23L
2396 #define M_HARDWARE_PORT2 24L
2397 #define M_HARDWARE_PORT3 25L
2398 #define M_SYSCLK 26L
2399 #define M_PIXCLK 27L
2400 #define M_URGENT 28L
2401 #define M_NOW 29L
2402 #define M_FRAME 30L
2403 #define M_HARDWARE_PORT4 31L
2404 #define M_HARDWARE_PORT5 32L
2405 #define M_HARDWARE_PORT6 33L
2406 #define M_HARDWARE_PORT7 34L
2407 #define M_HARDWARE_PORT8 35L
2408 #define M_HARDWARE_PORT9 36L
2409 #define M_HARDWARE_PORT10 37L
2410 #define M_HARDWARE_PORT11 38L
2411 #define M_HARDWARE_PORT12 39L
2412 #define M_HARDWARE_PORT13 40L
2413 #define M_HARDWARE_PORT14 41L
2414 #define M_HARDWARE_PORT15 42L
2415 
2416 #define M_FILL_DESTINATION -1
2417 #define M_FILL_DISPLAY -2
2418 #define M_SYNCHRONOUS 1L
2419 #define M_ASYNCHRONOUS 2L
2420 #define M_ASYNCHRONOUS_QUEUED 3L
2421 
2422 #define M_LUT_PALETTE0 0L
2423 #define M_LUT_PALETTE1 1L
2424 #define M_LUT_PALETTE2 2L
2425 #define M_LUT_PALETTE3 3L
2426 #define M_LUT_PALETTE4 4L
2427 #define M_LUT_PALETTE5 5L
2428 #define M_LUT_PALETTE6 6L
2429 #define M_LUT_PALETTE7 7L
2430 
2431 #define M_GAIN0 10L
2432 #define M_GAIN1 11L
2433 #define M_GAIN2 12L
2434 #define M_GAIN3 13L
2435 #define M_GAIN4 14L
2436 
2437 #define M_TTL 1L
2438 #define M_RS422 2L
2439 #define M_LVDS M_RS422
2440 
2441 #define M_ENABLE -9997L
2442 #define M_FINAL_GRAB -9998L
2443 #define M_DISABLE -9999L
2444 
2445 // M_CAMERA_LOCK
2446 #define M_ENABLE -9997L
2447 #ifdef M_MIL_75_COMPATIBLE //TBR MIL 8.0
2448 #define M_FAST 0x00040000L
2449 #else
2450 #define M_FAST 0x00002000L
2451 #endif
2452 
2453 // Uart parity values
2454 #define M_ODD 1L
2455 #define M_EVEN 2L
2456 
2457 #define M_RS232 1L
2458 #define M_RS485 2L
2459 
2460 
2461 /************************************************************************/
2462 /* MdigControl(): Grab VM stream ID */
2463 /************************************************************************/
2464 #define M_VM_STREAM_ID_0 0L
2465 #define M_VM_STREAM_ID_1 1L
2466 #define M_VM_STREAM_ID_2 2L
2467 #define M_VM_STREAM_ID_3 3L
2468 #define M_VM_STREAM_ID_4 4L
2469 #define M_VM_STREAM_ID_5 5L
2470 #define M_VM_STREAM_ID_6 6L
2471 #define M_VM_STREAM_ID_7 7L
2472 #define M_VM_STREAM_ID_8 8L
2473 #define M_VM_STREAM_ID_9 9L
2474 #define M_VM_STREAM_ID_10 10L
2475 #define M_VM_STREAM_ID_11 11L
2476 #define M_VM_STREAM_ID_12 12L
2477 #define M_VM_STREAM_ID_13 13L
2478 #define M_VM_STREAM_ID_14 14L
2479 
2480 
2481 /************************************************************************/
2482 /* MdigChannel() */
2483 /************************************************************************/
2484 #define M_TUNER_CHANNEL 0x00100000L
2485 /* Reserve next 126 values (M_TUNER_CHANNEL + 0L) 0x00100000L*/
2486 /* (M_TUNER_CHANNEL + 126L) 0x0010007EL*/
2487 #define M_TUNER_BAND 0x00200000L
2488 /* Reserve next 2 values (M_TUNER_BAND | M_REGULAR) 0x00220000L*/
2489 /* (M_TUNER_BAND | M_CABLE ) 0x00220001L*/
2490 #define M_DEFAULT 0x10000000L
2491 #define M_CH0 0x20000000L
2492 #define M_CH1 0x40000000L
2493 #define M_CH2 0x80000000L
2494 #define M_CH3 0x01000000L
2495 #define M_CH4 0x02000000L
2496 #define M_CH5 0x04000000L
2497 #define M_CH6 0x08000000L
2498 #define M_CH7 0x00200000L
2499 #define M_CH8 0x00010000L
2500 #define M_CH9 0x00020000L
2501 #define M_CH10 0x00040000L
2502 #define M_CH11 0x00080000L
2503 #define M_CH12 0x00001000L
2504 #define M_CH13 0x00002000L
2505 #define M_CH14 0x00004000L
2506 #define M_CH15 0x00008000L
2507 #define M_CH16 0x00000100L
2508 #define M_CH17 0x00000200L
2509 #define M_CH18 0x00000400L
2510 #define M_CH19 0x00000800L
2511 #define M_CH20 0x00000010L
2512 #define M_CH21 0x00000020L
2513 #define M_CH22 0x00000040L
2514 #define M_CH23 0x00000080L
2515 #define M_SYNC 0x00400000L
2516 #define M_SIGNAL 0x00800000L
2517 #define M_AC 0x00000004L
2518 #define M_DC 0x00000002L
2519 #define M_CHANNEL_COLOR 0x00000001L
2520 #define M_RGB 8L
2521 #define M_YC 9L
2522 #define M_RCA M_CH0
2523 #define M_ALL_CHANNEL (M_CH0|M_CH1|M_CH2|M_CH3|M_CH4|M_CH5|M_CH6|M_CH7|M_CH8|M_CH9|M_CH10|M_CH11)
2524 #define M_ALL_CHANNELS M_ALL_CHANNEL
2525 #define M_REGULAR 0x00020000L
2526 #define M_CABLE 0x00020001L
2527 
2528 // !!! MAP FOR OLD DEFINES
2529 #if OldDefinesSupport
2530 #define M_DIG_TUNER_CHANNEL M_TUNER_CHANNEL
2531 #define M_DIG_TUNER_BAND M_TUNER_BAND
2532 #endif
2533 
2534 /************************************************************************/
2535 /* MdigLut() */
2536 /************************************************************************/
2537 #define M_DEFAULT_LUT (M_PSEUDO_ID+1)
2538 
2539 /************************************************************************/
2540 /* MdigReference() */
2541 /************************************************************************/
2542 #define M_BLACK 0L
2543 #define M_WHITE 1L
2544 #define M_STEREO 0L
2545 #define M_MONO 1L
2546 
2547 /* See the Inquire for the M_CHx values */
2548 #define M_CH0_REF M_CH0
2549 #define M_CH1_REF M_CH1
2550 #define M_CH2_REF M_CH2
2551 #define M_CH3_REF M_CH3
2552 #define M_CH4_REF M_CH4
2553 #define M_CH5_REF M_CH5
2554 #define M_CH6_REF M_CH6
2555 #define M_CH7_REF M_CH7
2556 #define M_ALL_REF (M_CH0_REF | M_CH1_REF | M_CH2_REF | M_CH3_REF | M_CH4_REF | M_CH5_REF | M_CH6_REF | M_CH7_REF)
2557 #define M_VOLTAGE 0x00001000L
2558 #define M_MIN_LEVEL 0L
2559 #define M_MAX_LEVEL 255L
2560 
2561 /************************************************************************/
2562 /* MdigFocus() */
2563 /************************************************************************/
2564 #define M_NO_FILTER 0x00080000L
2565 #define M_NO_SUBSAMPLING 0x00100000L
2566 #define M_SMART_SCAN 0x00200000L
2567 #define M_SCAN_ALL 0x00400000L
2568 #define M_BISECTION 0x00800000L
2569 #define M_REFOCUS 0x01000000L
2570 #define M_EVALUATE 0x02000000L
2571 #define M_CHANGE 0x00000063L
2572 #define M_ON_FOCUS 0x00000064L
2573 
2574 /************************************************************************/
2575 /* MdigGrabWait() */
2576 /************************************************************************/
2577 #define M_GRAB_NEXT_FRAME 1L
2578 #define M_GRAB_NEXT_FIELD 2L
2579 #define M_GRAB_END 3L
2580 
2581 
2582 /************************************************************************/
2583 /* MdigHookFunction() */
2584 /************************************************************************/
2585 #define M_FIRST 0x10000000L
2586 #define M_LAST 0x20000000L
2587 #define M_UNHOOK 0x04000000L
2588 
2589 #define M_GRAB_END 3L
2590 #define M_GRAB_START 4L
2591 #define M_GRAB_FRAME_END 5L
2592 #define M_GRAB_FIELD_END_ODD 6L
2593 #define M_GRAB_FIELD_END_EVEN 7L
2594 #define M_GRAB_FIELD_END 8L
2595 #define M_FRAME_START 9L
2596 #define M_FIELD_START 20L
2597 #define M_FIELD_START_ODD 21L
2598 #define M_FIELD_START_EVEN 22L
2599 #define M_GRAB_FRAME_START 13L
2600 #define M_GRAB_FIELD_START 14L
2601 #define M_GRAB_FIELD_START_ODD 15L
2602 #define M_GRAB_FIELD_START_EVEN 16L
2603 #define M_UART_DATA_RECEIVED 17L
2604 #define M_GRAB_LINE 0x00100000L
2605 #define M_DCF_REALLOC 0x00000020L
2606 #define M_CAMERA_LOCK 5300L
2607 #define M_CAMERA_PRESENT 5315L
2608 
2609 /************************************************************************/
2610 /* MgenLutFunction() */
2611 /************************************************************************/
2612 #define M_LOG 0x00000000L
2613 #define M_EXP 0x00000001L
2614 #define M_SIN 0x00000002L
2615 #define M_COS 0x00000003L
2616 #define M_TAN 0x00000004L
2617 #define M_QUAD 0x00000005L
2618 
2619 /************************************************************************/
2620 /* MgenWarpParameter() */
2621 /************************************************************************/
2622 /* 8 bits reserved for number of fractional bits added to M_FIXED_POINT */
2623 #define M_WARP_MATRIX 0x00100000L
2624 #define M_WARP_POLYNOMIAL 0x00200000L
2625 #define M_WARP_LUT 0x00400000L
2626 #define M_WARP_4_CORNER 0x00800000L
2627 #define M_WARP_4_CORNER_REVERSE 0x01000000L
2628 /* Optional controls */
2629 #define M_FIXED_POINT 0x00004000L
2630 #define M_OVERSCAN_ENABLE 0x00008000L
2631 
2632 #if M_MIL_READY_FOR_MIL80 //TBR MIL 8.0
2633 #define M_OVERSCAN_DISABLE 0x40000000L
2634 #else
2635 #define M_OVERSCAN_DISABLE (M_ID_OFFSET_OF_DEFAULT_KERNEL >> 1L)
2636 #endif
2637 
2638 #ifdef M_MIL_75_COMPATIBLE //TBR MIL 8.0
2639 #define M_FAST 0x00040000L
2640 #else
2641 #define M_FAST 0x00002000L
2642 #endif
2643 #define M_VERY_FAST 0x00010000L
2644 #define M_REGULAR 0x00020000L
2645 /* Transforms */
2646 #define M_RESIZE 1L
2647 #define M_ROTATE 2L
2648 #define M_SHEAR_X 3L
2649 #define M_SHEAR_Y 4L
2650 #define M_TRANSLATE 5L
2651 #define M_SCALE 0x00008010L
2652 
2653 /************************************************************************/
2654 /* MbufBayer() defines */
2655 /************************************************************************/
2656 #define M_BAYER_MASK 224L
2657 #define M_BAYER_GB 32L
2658 #define M_BAYER_BG 64L
2659 #define M_BAYER_RG 96L
2660 #define M_BAYER_GR 128L
2661 #define M_BAYER_GB_OLD 7L
2662 #define M_BAYER_BG_OLD 8L
2663 #define M_BAYER_RG_OLD 9L
2664 #define M_BAYER_GR_OLD 10L
2665 #define M_WHITE_BALANCE_CALCULATE 16L
2666 #define M_BAYER_BW_COMPAT 256L
2667 #define M_BAYER_NORMALIZE 512L
2668 #define M_BAYER_REVERSE M_REVERSE
2669 #define M_BAYER_OVERSCAN_ENABLE M_OVERSCAN_ENABLE
2670 #define M_BAYER_OVERSCAN_DISABLE M_OVERSCAN_DISABLE
2671 
2672 /************************************************************************/
2673 /* MimGetResult() */
2674 /************************************************************************/
2675 #define M_VALUE 0L
2676 #define M_POSITION_X 0x00003400L
2677 #define M_POSITION_Y 0x00004400L
2678 #define M_NB_EVENT 5L
2679 
2680 /************************************************************************/
2681 /* MimInquire() */
2682 /************************************************************************/
2683 #define M_RESULT_SIZE 0L
2684 #define M_RESULT_TYPE 1L
2685 
2686 /************************************************************************/
2687 /* MimFindExtreme() */
2688 /************************************************************************/
2689 #define M_MAX_VALUE 1L
2690 #define M_MIN_VALUE 2L
2691 #define M_MIN_ABS_VALUE 4L
2692 #define M_MAX_ABS_VALUE 5L
2693 
2694 /************************************************************************/
2695 /* MimStat() */
2696 /************************************************************************/
2697 #define M_MIN_ABS 0x00200000L
2698 #define M_MAX_ABS 0x00800000L
2699 #define M_SUM_ABS 0x00000008L
2700 #define M_SUM_SQUARED 0x00000400L
2701 #define M_SUM 0x20000000L //Already defined in milocr.h
2702 #define M_MEAN 0x08000000L //Already defined in milmeas.h
2703 #define M_STANDARD_DEVIATION 0x10000000L //Already defined in milmeas.h
2704 
2705 /************************************************************************/
2706 /* MimArith() */
2707 /************************************************************************/
2708 #define M_CONSTANT 0x8000L
2709 #define M_FIXED_POINT 0x00004000L
2710 #define M_ADD 0x0000L
2711 #define M_ADD_CONST (M_ADD | M_CONSTANT)
2712 #define M_SUB 0x0001L
2713 #define M_SUB_CONST (M_SUB | M_CONSTANT)
2714 #define M_NEG_SUB 0x000AL
2715 #define M_CONST_SUB (M_NEG_SUB | M_CONSTANT)
2716 #define M_SUB_ABS 0x0011L
2717 #define M_MIN 0x02000000L
2718 #define M_MIN_CONST (M_MIN | M_CONSTANT)
2719 #define M_MAX 0x04000000L
2720 #define M_MAX_CONST (M_MAX | M_CONSTANT)
2721 #define M_OR 0x0016L
2722 #define M_OR_CONST (M_OR | M_CONSTANT)
2723 #define M_AND 0x0017L
2724 #define M_AND_CONST (M_AND | M_CONSTANT)
2725 #define M_XOR 0x0018L
2726 #define M_XOR_CONST (M_XOR | M_CONSTANT)
2727 #define M_NOR 0x0019L
2728 #define M_NOR_CONST (M_NOR | M_CONSTANT)
2729 #define M_NAND 0x001AL
2730 #define M_NAND_CONST (M_NAND | M_CONSTANT)
2731 #define M_XNOR 0x001BL
2732 #define M_XNOR_CONST (M_XNOR | M_CONSTANT)
2733 #define M_NOT 0x0014L
2734 #define M_NEG 0x0023L
2735 #define M_ABS 0x000CL
2736 #define M_PASS 0x0002L
2737 #define M_CONST_PASS (M_PASS | M_CONSTANT)
2738 #define M_MULT 0x0100L
2739 #define M_MULT_CONST (M_MULT | M_CONSTANT)
2740 #define M_DIV 0x0101L
2741 #define M_DIV_CONST (M_DIV | M_CONSTANT)
2742 #define M_INV_DIV 0x0102L
2743 #define M_CONST_DIV (M_INV_DIV | M_CONSTANT)
2744 
2745 
2746 /************************************************************************/
2747 /* MimArithMultiple() */
2748 /************************************************************************/
2749 #define M_OFFSET_GAIN 0x0000L
2750 #define M_WEIGHTED_AVERAGE 0x0001L
2751 #define M_MULTIPLY_ACCUMULATE_1 0x0002L
2752 #define M_MULTIPLY_ACCUMULATE_2 0x0004L
2753 
2754 /************************************************************************/
2755 /* MimFlip() */
2756 /************************************************************************/
2757 #define M_FLIP_VERTICAL 1L
2758 #define M_FLIP_HORIZONTAL 2L
2759 
2760 /************************************************************************/
2761 /* MimBinarize(), MimClip(), MimLocateEvent(), MimStat() */
2762 /* Some of these defines are also define in milutil.h */
2763 /************************************************************************/
2764 #define M_IN_RANGE 1L
2765 #define M_OUT_RANGE 2L
2766 #define M_EQUAL 3L
2767 #define M_NOT_EQUAL 4L
2768 #define M_GREATER 5L
2769 #define M_LESS 6L
2770 #define M_GREATER_OR_EQUAL 7L
2771 #define M_LESS_OR_EQUAL 8L
2772 #define M_MASK 9L
2773 
2774 /************************************************************************/
2775 /* MimConvolve() */
2776 /************************************************************************/
2777 #define M_ID_OFFSET_OF_DEFAULT_KERNEL (0x00100000L|M_PSEUDO_ID)
2778 #define M_ID_OFFSET_OF_EDGE_DETECTVAR (0x00100100L|M_PSEUDO_ID)
2779 #define M_SMOOTH (M_ID_OFFSET_OF_DEFAULT_KERNEL + 0L)
2780 #define M_LAPLACIAN_EDGE (M_ID_OFFSET_OF_DEFAULT_KERNEL + 1L)
2781 #define M_LAPLACIAN_EDGE2 (M_ID_OFFSET_OF_DEFAULT_KERNEL + 2L)
2782 #define M_SHARPEN (M_ID_OFFSET_OF_DEFAULT_KERNEL + 3L)
2783 #define M_SHARPEN2 (M_ID_OFFSET_OF_DEFAULT_KERNEL + 4L)
2784 #define M_HORIZ_EDGE (M_ID_OFFSET_OF_DEFAULT_KERNEL + 5L)
2785 #define M_VERT_EDGE (M_ID_OFFSET_OF_DEFAULT_KERNEL + 6L)
2786 #define M_EDGE_DETECT (M_ID_OFFSET_OF_DEFAULT_KERNEL + 7L)
2787 #define M_EDGE_DETECT2 (M_ID_OFFSET_OF_DEFAULT_KERNEL + 8L)
2788 #define M_EDGE_DETECTVAR(Val) (M_ID_OFFSET_OF_EDGE_DETECTVAR + Val)
2789 #if M_MIL_READY_FOR_MIL80 //TBR MIL 8.0
2790 #define M_OVERSCAN_DISABLE 0x40000000L
2791 #else
2792 #define M_OVERSCAN_DISABLE (M_ID_OFFSET_OF_DEFAULT_KERNEL >> 1L)
2793 #endif
2794 
2795 /************************************************************************/
2796 /* MimEdgeDetect() */
2797 /************************************************************************/
2798 #define M_SOBEL M_EDGE_DETECT
2799 #define M_PREWITT M_EDGE_DETECT2
2800 #define M_NOT_WRITE_ANGLE 1L
2801 #define M_NOT_WRITE_INT 2L
2802 #define M_FAST_ANGLE 4L
2803 #define M_FAST_GRADIENT 8L
2804 #define M_FAST_EDGE_DETECT (M_FAST_ANGLE + M_FAST_GRADIENT)
2805 #define M_REGULAR_ANGLE 16L
2806 #define M_REGULAR_GRADIENT 64L
2807 #define M_REGULAR_EDGE_DETECT (M_REGULAR_ANGLE + M_REGULAR_GRADIENT)
2808 #define M_USE_RESERVED_ANGLE_VALUE 128L
2809 
2810 
2811 /************************************************************************/
2812 /* MimRank() */
2813 /************************************************************************/
2814 #define M_MEDIAN 0x10000L
2815 #define M_3X3_RECT (M_ID_OFFSET_OF_DEFAULT_KERNEL + 20L)
2816 #define M_3X3_CROSS (M_ID_OFFSET_OF_DEFAULT_KERNEL + 21L)
2817 
2818 /************************************************************************/
2819 /* MimMorphic(), ... */
2820 /************************************************************************/
2821 #define M_ERODE 1L
2822 #define M_DILATE 2L
2823 #define M_THIN 3L
2824 #define M_THICK 4L
2825 #define M_HIT_OR_MISS 5L
2826 #define M_MATCH 6L
2827 #define M_HIT_THRESHOLD 16L
2828 
2829 /************************************************************************/
2830 /* MimThin() */
2831 /************************************************************************/
2832 #define M_TO_SKELETON -1L
2833 
2834 
2835 /************************************************************************/
2836 /* MimThick() */
2837 /************************************************************************/
2838 #define M_TO_IDEMPOTENCE M_TO_SKELETON
2839 
2840 /************************************************************************/
2841 /* MimDistance() */
2842 /************************************************************************/
2843 #define M_CHAMFER_3_4 0x01
2844 #define M_CITY_BLOCK 0x02
2845 #define M_CHESSBOARD 0x04
2846 #define M_FORWARD 0x01
2847 #define M_BACKWARD 0x02
2848 #define M_OVERSCAN_TO_DO 0x04
2849 #define M_BOTH 0x07
2850 
2851 /************************************************************************/
2852 /* MimWatershed() */
2853 /************************************************************************/
2854 #define M_WATERSHED 0x0001
2855 #define M_BASIN 0x0002
2856 #define M_MINIMA_FILL 0x0004
2857 #define M_MAXIMA_FILL 0x0008
2858 
2859 #define M_4_CONNECTED 0x00000010L
2860 #define M_8_CONNECTED 0x00000020L
2861 #define M_REGULAR 0x00020000L
2862 #define M_STRAIGHT_WATERSHED 0x0080
2863 #define M_SKIP_LAST_LEVEL 0x0100
2864 #define M_FILL_SOURCE 0x0200
2865 #define M_LABELLED_MARKER 0x0400
2866 
2867 #define M_NEW_METHOD 0x0800
2868 
2869 /************************************************************************/
2870 /* MimProject() */
2871 /************************************************************************/
2872 #define M_0_DEGREE 0.0
2873 #define M_90_DEGREE 90.0
2874 #define M_180_DEGREE 180.0
2875 #define M_270_DEGREE 270.0
2876 
2877 /************************************************************************/
2878 /* MimResize(), MimTranslate() and MimRotate() */
2879 /************************************************************************/
2880 #if M_MIL_READY_FOR_MIL80 //TBR MIL 8.0
2881 #define M_OVERSCAN_DISABLE 0x40000000L
2882 #else
2883 #define M_OVERSCAN_DISABLE (M_ID_OFFSET_OF_DEFAULT_KERNEL >> 1L)
2884 #endif
2885 #define M_OVERSCAN_ENABLE 0x00008000L
2886 #define M_INTERPOLATE 0x00000004L
2887 #define M_BILINEAR 0x00000008L
2888 #define M_BICUBIC 0x00000010L
2889 #define M_AVERAGE 0x00000020L
2890 #define M_NEAREST_NEIGHBOR 0x00000040L
2891 #define M_OVERSCAN_CLEAR 0x00000080L
2892 #define M_FIT_ALL_ANGLE 0x00000100L
2893 #define M_BINARY 0x00001000L
2894 #ifdef M_MIL_75_COMPATIBLE //TBR MIL 8.0
2895 #define M_FAST 0x00040000L
2896 #else
2897 #define M_FAST 0x00002000L
2898 #endif
2899 #define M_REGULAR 0x00020000L
2900 
2901 
2902 /************************************************************************/
2903 /* MimResize */
2904 /************************************************************************/
2905 #define M_FILL_DESTINATION -1 // DO NOT MODIFY, WITHOUT CODE MODIFICATION
2906 
2907 
2908 /************************************************************************/
2909 /* MimHistogramEqualize() */
2910 /************************************************************************/
2911 #define M_UNIFORM 1
2912 #define M_EXPONENTIAL 2
2913 #define M_RAYLEIGH 3
2914 #define M_HYPER_CUBE_ROOT 4
2915 #define M_HYPER_LOG 5
2916 
2917 
2918 /************************************************************************/
2919 /* MimConvert() */
2920 /************************************************************************/
2921 #define M_RGB_TO_HLS 1L
2922 #define M_RGB_TO_L 2L
2923 #define M_HLS_TO_RGB 3L
2924 #define M_L_TO_RGB 4L
2925 #define M_RGB_TO_Y 5L
2926 #define M_RGB_TO_H 6L
2927 
2928 #define M_RGB_TO_YUV16 101L // Same as Mildev.h
2929 #define M_RGB_TO_YCRCB 7L
2930 #define M_RGB_TO_YCLIP 8L
2931 #define M_YUV16_TO_RGB 301L // Same as Mildev.h
2932 #define M_YCRCB_TO_RGB 9L
2933 
2934 // If the conversion type is set to M_DEFAULT, the conversion will be
2935 // choosen according to the type of buffers passed to the function.
2936 #define M_DEFAULT 0x10000000L
2937 
2938 // These can be added to the conversion type to speed-up the
2939 // process ( M_FAST ) or have a better precision ( M_REGULAR ).
2940 // Not all conversion are affected by this flag.
2941 #define M_REGULAR 0x00020000L
2942 #ifdef M_MIL_75_COMPATIBLE //TBR MIL 8.0
2943 #define M_FAST 0x00040000L
2944 #else
2945 #define M_FAST 0x00002000L
2946 #endif
2947 
2948 /************************************************************************/
2949 /* MimWarp() */
2950 /************************************************************************/
2951 /* 8 bits reserved for number of fractional bits */
2952 #define M_WARP_MATRIX 0x00100000L
2953 #define M_WARP_POLYNOMIAL 0x00200000L
2954 #define M_WARP_LUT 0x00400000L
2955 #define M_OVERSCAN_ENABLE 0x00008000L
2956 
2957 #if M_MIL_READY_FOR_MIL80 //TBR MIL 8.0
2958 #define M_OVERSCAN_DISABLE 0x40000000L
2959 #else
2960 #define M_OVERSCAN_DISABLE (M_ID_OFFSET_OF_DEFAULT_KERNEL >> 1L)
2961 #endif
2962 
2963 #define M_OVERSCAN_CLEAR 0x00000080L
2964 #define M_FIXED_POINT 0x00004000L
2965 
2966 /************************************************************************/
2967 /* MimTransform() */
2968 /************************************************************************/
2969 #define M_FFT 1L
2970 #define M_DCT8x8 2L
2971 #define M_DCT 3L
2972 #define M_FFT_OLD 4L
2973 
2974 #define M_FORWARD 0x01
2975 #define M_REVERSE 4L
2976 #define M_NORMALIZED 0x00000002L
2977 #define M_NORMALIZE M_NORMALIZED
2978 #define M_1D_ROWS 0x00000010L
2979 #define M_1D_COLUMNS 0x00000020L
2980 #define M_REAL 0x00000040L
2981 #define M_CENTER 0x00000080L
2982 #define M_MAGNITUDE 0x00000100L
2983 #define M_PHASE 0x00000200L
2984 #define M_LOG_SCALE 0x00000400L
2985 
2986 
2987 /************************************************************************/
2988 /* MimPolarTransform() */
2989 /************************************************************************/
2990 #define M_RECTANGULAR_TO_POLAR 0x00000001L
2991 #define M_POLAR_TO_RECTANGULAR 0x00000002L
2992 
2993 /************************************************************************/
2994 /* Buffer attributes */
2995 /************************************************************************/
2996 #define M_NO_ATTR 0x00000000L
2997 #define M_IN 0x00000001L
2998 #define M_OUT 0x00000002L
2999 #define M_SRC M_IN
3000 #define M_DEST M_OUT
3001 
3002 #define M_IMAGE 0x00000004L
3003 #define M_GRAB 0x00000008L
3004 #define M_PROC 0x00000010L
3005 #define M_DISP 0x00000020L
3006 #define M_GRAPH 0x00000040L
3007 #define M_EVENT 0x00000080L
3008 #define M_SYSTEM_THREAD 0x00000100L
3009 #define M_APPLICATION 0x00000200L
3010 #define M_STRUCT_ELEMENT 0x00000400L
3011 #define M_ARRAY 0x00000800L
3012 #define M_STAT_LIST 0x00001000L
3013 #define M_HIST_LIST 0x00002000L
3014 #define M_PROJ_LIST 0x00004000L
3015 #define M_EVENT_LIST 0x00008000L
3016 #define M_EXTREME_LIST 0x00010000L
3017 #define M_COUNT_LIST 0x00020000L
3018 #ifdef M_MIL_75_COMPATIBLE
3019 #define M_LUT 0x00000100L
3020 #else
3021 #define M_LUT 0x00040000L
3022 #endif //M_MIL_75_COMPATIBLE
3023 #define M_LUT_OLD 0x00000100L
3024 #define M_WARP_COEFFICIENT 0x00080000L
3025 #define M_DIGITIZER 0x00100000L
3026 #define M_DISPLAY 0x00200000L
3027 #ifdef M_MIL_75_COMPATIBLE
3028 #define M_KERNEL 0x00000200L
3029 #else
3030 #define M_KERNEL 0x00400000L
3031 #endif //M_MIL_75_COMPATIBLE
3032 #define M_KERNEL_OLD 0x00000200L
3033 #define M_SYSTEM 0x00800000L
3034 #define M_GRAPHIC_CONTEXT 0x01000000L
3035 #define M_CALL_CONTEXT 0x02000000L
3036 #define M_ERROR_CONTEXT 0x04000000L
3037 #define M_THREAD_CONTEXT 0x08000000L
3038 #define M_EVENT_CONTEXT 0x10000000L
3039 #define M_USER_ATTRIBUTE 0x20000000L
3040 #define M_HOOK_CONTEXT 0x40000000L
3041 #define M_INTERNAL_ALLOCATION ((BUFATTRTYPE)MAKE_INT64(0x0000000080000000))
3042 #define M_ALL_BUFFER_TYPES (M_IMAGE | \
3043  M_LUT | \
3044  M_KERNEL | \
3045  M_STRUCT_ELEMENT | \
3046  M_ARRAY | \
3047  M_HIST_LIST | \
3048  M_PROJ_LIST | \
3049  M_EVENT_LIST | \
3050  M_EXTREME_LIST | \
3051  M_COUNT_LIST)
3052 
3053 /* Use this macro to verify safely if a Mil object is a buffer. */
3054 #define M_IS_BUFFER_TYPE( ParIs ) ( (0 != (ParIs & M_ALL_BUFFER_TYPES)) && \
3055  (M_USER_ATTRIBUTE != (ParIs & M_USER_ATTRIBUTE )) )
3056 
3057 /* Use this macro to verify safely if a Mil object is a display. */
3058 #define M_IS_DISPLAY_TYPE( ParIs ) ( (M_DISPLAY == (ParIs & M_DISPLAY )) && \
3059  (0 == (ParIs & M_USER_ATTRIBUTE )) && \
3060  (0 == (ParIs & M_ALL_BUFFER_TYPES)) )
3061 
3062 /* Use this macro to verify safely if a Mil object is a digitizer. */
3063 #define M_IS_DIGITIZER_TYPE( ParIs ) ( (M_DIGITIZER == (ParIs & M_DIGITIZER )) && \
3064  (0 == (ParIs & M_USER_ATTRIBUTE )) && \
3065  (0 == (ParIs & M_ALL_BUFFER_TYPES)) )
3066 
3067 
3068 #define M_USER_OBJECT_1 (M_USER_ATTRIBUTE | 0x00010000L)
3069 #define M_USER_OBJECT_2 (M_USER_ATTRIBUTE | 0x00020000L)
3070 #define M_BLOB_OBJECT (M_USER_ATTRIBUTE | 0x00040000L)
3071 #define M_BLOB_FEATURE_LIST (M_BLOB_OBJECT | 0x00000001L)
3072 #define M_BLOB_RESULT (M_BLOB_OBJECT | 0x00000002L)
3073 #define M_PAT_OBJECT (M_USER_ATTRIBUTE | 0x00080000L)
3074 #define M_PAT_MODEL (M_PAT_OBJECT | 0x00000001L)
3075 #define M_PAT_RESULT (M_PAT_OBJECT | 0x00000002L)
3076 #define M_OCR_OBJECT (M_USER_ATTRIBUTE | 0x00100000L)
3077 #define M_OCR_FONT (M_OCR_OBJECT | 0x00000001L)
3078 #define M_OCR_RESULT (M_OCR_OBJECT | 0x00000002L)
3079 #define M_OCR_MULTILINES_RESULT (M_OCR_OBJECT | 0x00000003L)
3080 #define M_MEAS_OBJECT (M_USER_ATTRIBUTE | 0x00200000L)
3081 #define M_MEAS_MARKER (M_MEAS_OBJECT | 0x00000001L)
3082 #define M_MEAS_RESULT (M_MEAS_OBJECT | 0x00000002L)
3083 #define M_MEAS_CONTEXT (M_MEAS_OBJECT | 0x00000004L)
3084 #define M_CAL_OBJECT (M_USER_ATTRIBUTE | 0x00400000L)
3085 #define M_CAL_PARENT (M_CAL_OBJECT | 0x00000001L)
3086 #define M_CAL_CHILD (M_CAL_OBJECT | 0x00000002L)
3087 #define M_CODE_OBJECT (M_USER_ATTRIBUTE | 0x00800000L)
3088 #define M_CODE_CONTEXT (M_CODE_OBJECT | 0x00000001L)
3089 #define M_BGA_OBJECT (M_USER_ATTRIBUTE | 0x01000000L)
3090 #define M_BGA_CONTEXT (M_BGA_OBJECT | 0x00000001L)
3091 #define M_FREE_OBJECT_1 (M_USER_ATTRIBUTE | 0x02000000L)
3092 #define M_MOD_OBJECT (M_USER_ATTRIBUTE | 0x04000000L)
3093 #define M_MOD_GEOMETRIC (M_MOD_OBJECT | 0x00000001L)
3094 #define M_MOD_GEOMETRIC_PREDEFINED (M_MOD_OBJECT | 0x00000002L)
3095 #define M_MOD_RESULT (M_MOD_OBJECT | 0x00000004L)
3096 #define M_MOD_GEOMETRIC_CONTROLLED (M_MOD_OBJECT | 0x00000008L)
3097 #define M_EDGE_OBJECT (M_USER_ATTRIBUTE | 0x08000000L)
3098 #define M_EDGE_CONTOUR (M_EDGE_OBJECT | 0x00000001L)
3099 #define M_EDGE_CREST (M_EDGE_OBJECT | 0x00000002L)
3100 #define M_EDGE_RESULT (M_EDGE_OBJECT | 0x00000004L)
3101 
3102 #define M_USER_DEFINE_LOW_ATTRIBUTE 0x0000FFFFL
3103 
3104 #define M_SYSTEM_ALLOCATED 0x00000001L
3105 #define M_USER_ALLOCATED 0xFFFFFFFEL
3106 
3107 #define M_SIGNED 0x80000000L
3108 #define M_FLOAT (0x40000000L | M_SIGNED)
3109 #define M_DOUBLE (0x20000000L | M_SIGNED)
3110 
3111 // For M_IMAGE buffers only:
3112 #define M_OVR 0x00000080L
3113 #define M_COMPRESS 0x00004000L
3114 #define M_READ_PREFETCH_ENABLED 0x00008000L
3115 
3116 //Keep only for backward compatibility.
3117 #define M_MMX_ENABLED M_READ_PREFETCH_ENABLED
3118 #define M_SSE_ENABLED M_READ_PREFETCH_ENABLED
3119 
3120 #define M_FLIP 0x00010000L
3121 #define M_PACKED 0x00020000L
3122 #define M_PLANAR 0x00040000L
3123 #define M_ON_BOARD 0x00080000L
3124 #define M_OFF_BOARD 0x00100000L
3125 #define M_NON_PAGED 0x00200000L
3126 #define M_DIB 0x10000000L
3127 #define M_DDRAW 0x40000000L
3128 #define M_DIRECTX M_DDRAW
3129 #define M_SINGLE 0x01000000L
3130 #define M_VIA M_SINGLE
3131 #define M_PAGED 0x02000000L
3132 #define M_NO_FLIP 0x04000000L
3133 #define M_OVERSCAN_BUFFER 0x08000000L
3134 #define M_COMPLEX_OLD 0x00400000L //TBC put this bit in the higher 32-bits of attribute
3135 #define M_OFFSCREEN M_OVR
3136 #define M_USER_ATTRIBUTE 0x20000000L
3137 #define M_UND 0x00800000L
3138 
3139 #define M_INTERNAL_ALLOCATION ((BUFATTRTYPE)MAKE_INT64(0x0000000080000000))
3140 
3141  // New define place in the 32 higher bits of the attribute
3142 #define M_GDI ((BUFATTRTYPE)MAKE_INT64(0x0000000100000000))
3143 #define M_HOST_MEMORY ((BUFATTRTYPE)MAKE_INT64(0x0000000200000000))
3144 #define M_VIDEO_MEMORY ((BUFATTRTYPE)MAKE_INT64(0x0000000400000000))
3145 #define M_NON_LOCAL_MEMORY ((BUFATTRTYPE)MAKE_INT64(0x0000000800000000))
3146 #define M_FAST_MEMORY ((BUFATTRTYPE)MAKE_INT64(0x0000001000000000))
3147 #define M_SHARED ((BUFATTRTYPE)MAKE_INT64(0x0000002000000000))
3148 #define M_PRIMARY_SURFACE ((BUFATTRTYPE)MAKE_INT64(0x0000004000000000))
3149 #define M_BITMAP_HANDLE ((BUFATTRTYPE)MAKE_INT64(0x0000008000000000))
3150 // BITS RESERVED FOR COMPLEX BUFFERS 0x0000070000000000
3151 #define M_LIVE_VIDEO ((BUFATTRTYPE)MAKE_INT64(0x0000080000000000))
3152 #define M_MTX0 ((BUFATTRTYPE)MAKE_INT64(0x0000100000000000))
3153 #define M_NON_CACHABLE ((BUFATTRTYPE)MAKE_INT64(0x0000200000000000))
3154 #define M_FAST_OVERSCAN ((BUFATTRTYPE)MAKE_INT64(0x0000400000000000))
3155 #define M_UNUSED_BITS ((BUFATTRTYPE)MAKE_INT64(0xFFFF800000000000)) //Update when reusing bits for new defines
3156 
3157 #define M_COMPLEX_OFFSET (40)
3158 #define M_COMPLEX_MASK (((BUFATTRTYPE)0x7)<<M_COMPLEX_OFFSET)
3159 #define M_IS_COMPLEX(attrib) (((attrib&M_COMPLEX_MASK) != 0) && ((attrib&M_COMPRESS) == 0))
3160 #define M_COMPLEX(_nb) ((((BUFATTRTYPE)_nb)<<M_COMPLEX_OFFSET)&M_COMPLEX_MASK)
3161 #define M_COMPLEX_NB_BUFFER(attrib) (((attrib&M_COMPRESS) != 0)?0:((long)(((BUFATTRTYPE)attrib&M_COMPLEX_MASK)>>M_COMPLEX_OFFSET)))
3162 
3163 #define M_COMPRESSION_FORMAT_MASK ((BUFATTRTYPE)MAKE_INT64(0x0000070008c00000))
3164 
3165 #define M_JPEG_LOSSLESS 0x00400000L
3166 #define M_JPEG_LOSSY 0x00800000L
3167 #define M_JPEG_LOSSLESS_INTERLACED 0x00C00000L
3168 #define M_JPEG_LOSSY_INTERLACED 0x08000000L
3169 #define M_JPEG2000_LOSSY 0x08400000L
3170 #define M_JPEG2000_LOSSLESS 0x08800000L
3171 #define M_JPEG2000_LOSSY_INTERLACED ((BUFATTRTYPE)MAKE_INT64(0x0000010008c00000))
3172 #define M_JPEG2000_LOSSLESS_INTERLACED ((BUFATTRTYPE)MAKE_INT64(0x0000020008c00000))
3173 
3174 #define M_RESERVED_COMPRESSION_TYPE 0x08C00000L
3175 #define M_IS_LOSSY(a) ((((a) & M_COMPRESSION_FORMAT_MASK) == M_JPEG_LOSSY) || \
3176  (((a) & M_COMPRESSION_FORMAT_MASK) == M_JPEG_LOSSY_INTERLACED) || \
3177  (((a) & M_COMPRESSION_FORMAT_MASK) == M_JPEG2000_LOSSY) || \
3178  (((a) & M_COMPRESSION_FORMAT_MASK) == M_JPEG2000_LOSSY_INTERLACED))
3179 #define M_IS_LOSSLESS(a) ((((a) & M_COMPRESSION_FORMAT_MASK) == M_JPEG_LOSSLESS) || \
3180  (((a) & M_COMPRESSION_FORMAT_MASK) == M_JPEG_LOSSLESS_INTERLACED) || \
3181  (((a) & M_COMPRESSION_FORMAT_MASK) == M_JPEG2000_LOSSLESS) || \
3182  (((a) & M_COMPRESSION_FORMAT_MASK) == M_JPEG2000_LOSSLESS_INTERLACED))
3183 #define M_IS_JPEG(a) ((((a) & M_COMPRESSION_FORMAT_MASK) >= M_JPEG_LOSSLESS) && \
3184  (((a) & M_COMPRESSION_FORMAT_MASK) <= M_JPEG_LOSSY_INTERLACED))
3185 #define M_IS_JPEG2000(a) ((((a) & M_COMPRESSION_FORMAT_MASK) >= M_JPEG2000_LOSSY) && \
3186  (((a) & M_COMPRESSION_FORMAT_MASK) <= M_JPEG2000_LOSSLESS_INTERLACED))
3187 #define M_IS_COMPRESSED(a) (((a) & M_COMPRESS) != 0)
3188 #define M_IS_INTERLACED(a) ((((a) & M_COMPRESSION_FORMAT_MASK) == M_JPEG_LOSSY_INTERLACED) || \
3189  (((a) & M_COMPRESSION_FORMAT_MASK) == M_JPEG_LOSSLESS_INTERLACED) || \
3190  (((a) & M_COMPRESSION_FORMAT_MASK) == M_JPEG2000_LOSSY_INTERLACED) || \
3191  (((a) & M_COMPRESSION_FORMAT_MASK) == M_JPEG2000_LOSSLESS_INTERLACED))
3192 
3193 /* 6 bits reserved for buffer internal format and format definitions */
3194 #define M_INTERNAL_FORMAT 0x00003F00L
3195 #define M_INTERNAL_FORMAT_SHIFT 8L
3196 #define M_INTERNAL_COMPLETE_FORMAT 0x7FFFFF80L
3197 #define M_ANY_INTERNAL_FORMAT (0 << M_INTERNAL_FORMAT_SHIFT)
3198 
3199 // RGB formats
3200 #define M_MONO1 (1 << M_INTERNAL_FORMAT_SHIFT) // Force 1 bit pixels in monochrome format
3201 #define M_MONO8 (2 << M_INTERNAL_FORMAT_SHIFT) // Force 8 bits pixels in monochrome format
3202 #define M_MONO16 (3 << M_INTERNAL_FORMAT_SHIFT) // Force 16 bits pixels in monochrome format
3203 #define M_MONO32 (4 << M_INTERNAL_FORMAT_SHIFT) // Force 32 bits pixels in monochrome format
3204 #define M_MONO10 (5 << M_INTERNAL_FORMAT_SHIFT) // Force 10 bits pixels in monochrome format => use with displays to describe 10-bits grayscale monitor (medical)
3205 #define M_RGB_BGR_START (6 << M_INTERNAL_FORMAT_SHIFT) // Force 16 bits pixels in color XRGB 1.5.5.5 format
3206 #define M_RGB15 (6 << M_INTERNAL_FORMAT_SHIFT) // Force 16 bits pixels in color XRGB 1.5.5.5 format
3207 #define M_RGB16 (7 << M_INTERNAL_FORMAT_SHIFT) // Force 16 bits pixels in color RGB 5.6.5 format
3208 #define M_RGB24 (8 << M_INTERNAL_FORMAT_SHIFT) // Force 24 bits pixels in color RGB 8.8.8 format
3209 #define M_RGBX32 (9 << M_INTERNAL_FORMAT_SHIFT) // Force 32 bits pixels in color RGBX 8.8.8.8 format
3210 #define M_RGB32 M_RGBX32
3211 #define M_XRGB32 (10 << M_INTERNAL_FORMAT_SHIFT) // Force 32 bits pixels in color XRGB 8.8.8.8 format
3212 #define M_RGB48 (11 << M_INTERNAL_FORMAT_SHIFT) // Force 48 bits pixels in color RGB 16.16.16 format
3213 #define M_RGB96 (12 << M_INTERNAL_FORMAT_SHIFT) // Force 96 bits pixels in color RGB 32.32.32 format
3214 #define M_RGB3 (13 << M_INTERNAL_FORMAT_SHIFT) // Force 3 bits pixels in color RGB 1.1.1 format
3215 #define M_BGR15 (14 << M_INTERNAL_FORMAT_SHIFT) // Force 16 bits pixels in color BGRX 5.5.5.1 format
3216 #define M_BGR16 (15 << M_INTERNAL_FORMAT_SHIFT) // Force 16 bits pixels in color BGR 5.6.5 format
3217 #define M_BGR24 (16 << M_INTERNAL_FORMAT_SHIFT) // Force 24 bits pixels in color BGR 8.8.8 format
3218 #define M_BGRX32 (17 << M_INTERNAL_FORMAT_SHIFT) // Force 32 bits pixels in color BGRX 8.8.8.8 format
3219 #define M_BGR32 M_BGRX32
3220 #define M_XBGR32 (18 << M_INTERNAL_FORMAT_SHIFT) // Force 32 bits pixels in color XBGR 8.8.8.8 format
3221 #define M_BGR30 (19 << M_INTERNAL_FORMAT_SHIFT) // Force 32 bits pixels in color XBGR 2.10.10.10 format
3222 #define M_RGB_BGR_END (19 << M_INTERNAL_FORMAT_SHIFT) // Force 32 bits pixels in color XBGR 8.8.8.8 format
3223 
3224 // YUV formats
3225 #define M_YUV_FORMAT_START (21 << M_INTERNAL_FORMAT_SHIFT)
3226 #define M_YUV9 (21 << M_INTERNAL_FORMAT_SHIFT) // Force 9 bits YUV pixels in color YUV 16:1:1 format
3227 #define M_YUV12 (22 << M_INTERNAL_FORMAT_SHIFT) // Force 12 bits YUV pixels in color YUV 4:1:1 format
3228 #define M_YUV16 (23 << M_INTERNAL_FORMAT_SHIFT) // Force 16 bits YUV pixels in color YUV 4:2:2 format
3229 #define M_YUV24 (27 << M_INTERNAL_FORMAT_SHIFT) // Force 24 bits YUV pixels in color YUV 4:4:4 format
3230 #define M_YUV16_YUYV (28 << M_INTERNAL_FORMAT_SHIFT) // Force YUV16 packed buffers into a YUYV memory layout ( meteor, corona, meteor2 ) (FOURCC: YUY2).
3231 #define M_YUV16_UYVY (29 << M_INTERNAL_FORMAT_SHIFT) // Force YUV16 packed buffers into a UYVY memory layout ( meteor ) (FOURCC: UYVY).
3232 #define M_YUV16_1394 M_YUV16_UYVY
3233 #define M_YUV12_1394 (31 << M_INTERNAL_FORMAT_SHIFT) // Force YUV12 packed buffers with the special memory layout of the 1394.
3234 #define M_YUV_FORMAT_END (39 << M_INTERNAL_FORMAT_SHIFT)
3235 #define M_IS_FORMAT_YUV(f) (((f&M_INTERNAL_FORMAT)>=M_YUV_FORMAT_START)&&((f&M_INTERNAL_FORMAT)<=M_YUV_FORMAT_END))
3236 #define M_IS_FORMAT_RGB_BGR(f) (((f&M_INTERNAL_FORMAT)>=M_RGB_BGR_START)&&((f&M_INTERNAL_FORMAT)<=M_RGB_BGR_END))
3237 #define M_BIT_FIELD_FORMAT(f) (1<<(((f&M_INTERNAL_FORMAT)>>M_INTERNAL_FORMAT_SHIFT)-1))
3238 #define M_SINGLE_BAND (255 << M_INTERNAL_FORMAT_SHIFT) // PutColor and GetColor specification for a single band
3239 
3240 #define M_YUV1611 M_YUV9
3241 #define M_YUV411 M_YUV12
3242 #define M_YUV422 M_YUV16
3243 #define M_YUV422_16BIT (24 << M_INTERNAL_FORMAT_SHIFT)
3244 #define M_YUV444 M_YUV24
3245 #define M_YUV422_YUYV M_YUV16_YUYV
3246 #define M_YUV422_UYVY M_YUV16_UYVY
3247 #define M_YUV422_1394 M_YUV16_1394
3248 #define M_YUV411_1394 M_YUV12_1394
3249 
3250 // The following MACRO keep only attribute used by the host.
3251 #define M_KEEP_HO_ATTRIBUTES(a) \
3252  ((a&M_IMAGE) ? \
3253  (a&(M_INTERNAL_FORMAT|M_IMAGE|M_STRUCT_ELEMENT|M_LUT|M_KERNEL| \
3254  M_ARRAY|M_HIST_LIST|M_PROJ_LIST|M_EXTREME_LIST|M_EVENT_LIST| \
3255  M_COUNT_LIST|M_PACKED|M_PLANAR|M_COMPRESS|M_COMPRESSION_FORMAT_MASK| \
3256  M_FLIP|M_NO_FLIP|M_NON_PAGED|M_PAGED|M_READ_PREFETCH_ENABLED| \
3257  M_HOST_MEMORY)) \
3258  : (a))
3259 
3260 
3261 // The following MACRO takes a data format as input and returns the number
3262 // of bits per pixel that it implies as an output.
3263 // For an unknown data format, it returns -1.
3264 #define NB_OF_BITS_PER_PIXEL(DataFormat,NbOfBits) \
3265  switch( (DataFormat & M_INTERNAL_FORMAT) ) \
3266  { \
3267  case M_MONO1: NbOfBits = 1; break; \
3268  case M_MONO8: NbOfBits = 8; break; \
3269  case M_MONO16: NbOfBits = 16; break; \
3270  case M_MONO32: NbOfBits = 32; break; \
3271  case M_RGB15: NbOfBits = 16; break; \
3272  case M_RGB16: NbOfBits = 16; break; \
3273  case M_RGB24: NbOfBits = 24; break; \
3274  case M_RGBX32: NbOfBits = 32; break; \
3275  case M_XRGB32: NbOfBits = 32; break; \
3276  case M_RGB48: NbOfBits = 48; break; \
3277  case M_RGB96: NbOfBits = 96; break; \
3278  case M_RGB3: NbOfBits = 3; break; \
3279  case M_BGR15: NbOfBits = 16; break; \
3280  case M_BGR16: NbOfBits = 16; break; \
3281  case M_BGR24: NbOfBits = 24; break; \
3282  case M_BGRX32: NbOfBits = 32; break; \
3283  case M_XBGR32: NbOfBits = 32; break; \
3284  case M_BGR30: NbOfBits = 32; break; \
3285  \
3286  case M_YUV9: NbOfBits = 9; break; \
3287  case M_YUV12: NbOfBits = 12; break; \
3288  case M_YUV16: NbOfBits = 16; break; \
3289  case M_YUV422_16BIT: NbOfBits = 32; break; \
3290  case M_YUV24: NbOfBits = 24; break; \
3291  case M_YUV16_YUYV: NbOfBits = 16; break; \
3292  case M_YUV16_UYVY: NbOfBits = 16; break; \
3293  case M_YUV12_1394: NbOfBits = 12; break; \
3294  default: NbOfBits = -1; break; \
3295  }
3296 
3297 // The following MACRO takes a data format as input and returns the number
3298 // of bits per pixel per plane that it implies as an output.
3299 // For an unknown data format, it returns -1.
3300 #define M_NB_BITS_PER_PIXEL_PER_PLANE(DataFormat,NbOfBits) \
3301  if (DataFormat&M_PLANAR) \
3302  { \
3303  switch( (DataFormat & M_INTERNAL_FORMAT) ) \
3304  { \
3305  case M_MONO1: NbOfBits = 1; break; \
3306  case M_MONO8: NbOfBits = 8; break; \
3307  case M_MONO16: NbOfBits = 16; break; \
3308  case M_MONO32: NbOfBits = 32; break; \
3309  case M_RGB3: NbOfBits = 1; break; \
3310  case M_RGB24: NbOfBits = 8; break; \
3311  case M_RGB48: NbOfBits = 16; break; \
3312  case M_RGB96: NbOfBits = 32; break; \
3313  \
3314  case M_YUV9: NbOfBits = 8; break; \
3315  case M_YUV12: NbOfBits = 8; break; \
3316  case M_YUV16: NbOfBits = 8; break; \
3317  case M_YUV422_16BIT: NbOfBits = 16; break; \
3318  case M_YUV24: NbOfBits = 8; break; \
3319  case M_YUV12_1394: NbOfBits = 8; break; \
3320  default: NbOfBits = -1; break; \
3321  } \
3322  } \
3323  else \
3324  { \
3325  switch( (DataFormat & M_INTERNAL_FORMAT) ) \
3326  { \
3327  case M_MONO1: NbOfBits = 1; break; \
3328  case M_MONO8: NbOfBits = 8; break; \
3329  case M_MONO16: NbOfBits = 16; break; \
3330  case M_MONO32: NbOfBits = 32; break; \
3331  case M_RGB15: NbOfBits = 16; break; \
3332  case M_RGB16: NbOfBits = 16; break; \
3333  case M_RGB24: NbOfBits = 24; break; \
3334  case M_RGBX32: NbOfBits = 32; break; \
3335  case M_XRGB32: NbOfBits = 32; break; \
3336  case M_BGR15: NbOfBits = 16; break; \
3337  case M_BGR16: NbOfBits = 16; break; \
3338  case M_BGR24: NbOfBits = 24; break; \
3339  case M_BGRX32: NbOfBits = 32; break; \
3340  case M_XBGR32: NbOfBits = 32; break; \
3341  case M_BGR30: NbOfBits = 32; break; \
3342  \
3343  case M_YUV9: NbOfBits = 9; break; \
3344  case M_YUV12: NbOfBits = 12; break; \
3345  case M_YUV16: NbOfBits = 16; break; \
3346  case M_YUV422_16BIT: NbOfBits = 32; break; \
3347  case M_YUV24: NbOfBits = 24; break; \
3348  case M_YUV16_YUYV: NbOfBits = 16; break; \
3349  case M_YUV16_UYVY: NbOfBits = 16; break; \
3350  case M_YUV12_1394: NbOfBits = 12; break; \
3351  default: NbOfBits = -1; break; \
3352  } \
3353  }
3354 
3355 // The following MACRO compare 2 attribute and return (boolean)
3356 // if the internal format are equivalent. Two internal format
3357 // are equivalent if the internal format is equal. The YUV16
3358 // is a special case since M_YUV16 is used to define one
3359 // of the 2 YUV16 type: YUYV and UYVY
3360 #define M_EQUIVALENT_INTERNAL_FORMAT(a,b) \
3361  ( (a&M_INTERNAL_FORMAT) == (b&M_INTERNAL_FORMAT) || \
3362  ((a&M_INTERNAL_FORMAT)==M_YUV16 && (b&M_INTERNAL_FORMAT)==M_YUV16_YUYV) || \
3363  ((a&M_INTERNAL_FORMAT)==M_YUV16 && (b&M_INTERNAL_FORMAT)==M_YUV16_UYVY) || \
3364  ((b&M_INTERNAL_FORMAT)==M_YUV16 && (a&M_INTERNAL_FORMAT)==M_YUV16_YUYV) || \
3365  ((b&M_INTERNAL_FORMAT)==M_YUV16 && (a&M_INTERNAL_FORMAT)==M_YUV16_UYVY) ) \
3366 
3367 // !!! MAP FOR OLD DEFINES
3368 #if OldDefinesSupport
3369 #define M_CHAR (M_MONO8 | M_SIGNED)
3370 #define M_UCHAR (M_MONO8)
3371 #define M_SHORT (M_MONO16 | M_SIGNED)
3372 #define M_USHORT (M_MONO16)
3373 #define M_LONG (M_MONO32 | M_SIGNED)
3374 #define M_ULONG (M_MONO32)
3375 #define M_RGB555 (M_RGB15 | M_SIGNED)
3376 #define M_URGB555 (M_RGB15)
3377 #define M_URGB888 (M_RGB24)
3378 #define M_BGR888 (M_BGR24 | M_SIGNED)
3379 #define M_RGB161616 (M_RGB48 | M_SIGNED)
3380 #define M_URGB161616 (M_RGB48)
3381 #define M_RGB323232 (M_RGB96 | M_SIGNED)
3382 #define M_URGB323232 (M_RGB96)
3383 #define M_YUV9_PLANAR (M_YUV9 | M_PLANAR)
3384 #define M_YUV12_PLANAR (M_YUV12 | M_PLANAR)
3385 #define M_YUV16_PLANAR (M_YUV16 | M_PLANAR)
3386 #define M_YUV16_PACKED (M_YUV16 | M_PACKED)
3387 #define M_BGR15_PACKED (M_BGR15 | M_PACKED)
3388 #define M_RGB24_PACKED (M_RGB24 | M_PACKED)
3389 #define M_RGB32_PACKED (M_RGB32 | M_PACKED)
3390 #define M_BGR24_PACKED (M_BGR24 | M_PACKED)
3391 #define M_NODIBFLIP (M_FLIP)
3392 #define M_DIB_BGR24_PACKED (M_BGR24 | M_PACKED | M_FLIP | M_DIB)
3393 #define M_BGR32_PACKED (M_BGR32 | M_PACKED)
3394 #endif
3395 
3396 /************************************************************************/
3397 /* MbufCreateColor() Values */
3398 /************************************************************************/
3399 #define M_HOST_ADDRESS 0x80000000L
3400 #define M_PHYSICAL_ADDRESS 0x40000000L
3401 #define M_PITCH 0x20000000L
3402 #define M_DEFAULT 0x10000000L
3403 #define M_PITCH_BYTE 0x08000000L
3404 #define M_BUF_ID 0x04000000L
3405 #define M_BUF_ID_MODIFY 0x02000000L
3406 #define M_BUF_MD_ID 0x01000000L
3407 #define M_DIRECTX_CREATION 0x00800000L
3408 #define M_PHYSICAL_ADDRESS_REMOTE 0x00400000L
3409 #define M_NO_MAP 0x00200000L
3410 #define M_ALLOCATION 0x00100000L // only used by MDbufCreateColor and not by MbufCreateColor (for now)
3411 #define M_HOST_ADDRESS_REMOTE 0x00080000L
3412 #define M_FIRST_MIL_BUFFER 0x00040000L
3413 #define M_MIL_ID 0x00020000L
3414 #define M_LL_ID 0x00010000L
3415 #define M_ALIGNMENT_RESERVED_BITS 0x000000FFL
3416 #define M_ADDRESS_ALIGNMENT(n) (n)
3417 
3418 /************************************************************************/
3419 /* MRECT: structure used to define a rectangle coordinates */
3420 /************************************************************************/
3421 // The MRECT structure defines the coordinates of the upper-left and lower-right corners of a rectangle.
3422 typedef struct _MRECT {
3423  long left;
3424  long top;
3425  long right;
3426  long bottom;
3428 
3429 typedef MRECT *LPMRECT;
3430 
3431 
3432 /************************************************************************/
3433 /* MbufBlit() Values */
3434 /************************************************************************/
3435 
3436 // A combination of flags that determine the valid members of the MBLTDESC structure.
3437 #define M_BLT_REGION 0x00000001L // Uses the lRegion member of the MBLTDESC structure to determine which region to copy.
3438 #define M_BLT_MODE 0x00000002L // Uses the lMode member of the MBLTDESC structure to determine if the blit is synchronous or not.
3439 #define M_BLT_TYPE 0x00000004L // Uses the lType member of the MBLTDESC structure to determine the type of the copy.
3440 #define M_BLT_DESTRECT 0x00000008L // Uses the lDestRect member of the MBLTDESC structure to determine the valid destination rectangle.
3441 #define M_BLT_SRCRECT 0x00000010L // Uses the lSrcRect member of the MBLTDESC structure to determine the valid source rectangle.
3442 
3443 // Indicate which region (M_BLT_REGION) to copy from the source buffer to the destination buffer (the default is M_BLT_FRAME).
3444 // The valid values for this member are:
3445 #define M_BLT_FRAME 1 // Blit all lines of the source buffer in the destination buffer. ***DEFAULT***
3446 #define M_BLT_ODD 2 // Blit all lines from the sources buffer to ODD lines of the destination buffer.
3447 #define M_BLT_EVEN 3 // Blit all lines from the sources buffer to EVEN lines of the destination buffer.
3448 #define M_BLT_ODD_ODD 4 // Blit ODD lines from the sources buffer to ODD lines of the destination buffer.
3449 #define M_BLT_EVEN_EVEN 5 // Blit EVEN lines from the sources buffer to EVEN lines of the destination buffer.
3450 
3451 // Indicate if the blit (M_BLT_MODE) is done asynchronously or synchronously (the default is synchronously). The valid value are:
3452 #define M_BLT_ASYNC 10 // Performs this blit asynchronously.
3453 #define M_BLT_SYNC 11 // Performs this blit synchronously. ***DEFAULT***
3454 
3455 // Indicate which type (M_BLT_TYPE) of copy is performed (the default is a normal blit, M_SCRCOPY). The valid values are:
3456 #define M_BLT_SRCCOPY 20 // Performs a normal blit. (only supported by M_BLT_FRAME) ***DEFAULT***
3457 #define M_BLT_SRCKEYONBLACK 21 // Performs a blit with black keying. (only supported by M_BLT_FRAME)
3458 #define M_BLT_SRCMIRRORLEFTRIGHT 22 // This blit mirrors the surface from left to right (y-axis).
3459 #define M_BLT_SRCMIRRORUPDOWN 23 // This blit mirrors the surface from top to bottom (x-axis).
3460 #define M_BLT_SRCMIRRORLRUPDN 24 // This blit mirrors the surface from top to bottom and from left to right.
3461 #define M_BLT_SCALELINEAR 25
3462 #define M_BLT_SCALENEAR 26
3463 #define M_BLT_SCALECONSTANT 27
3464 #define M_BLT_SCALEYUV2BGR 28
3465 #define M_BLT_SCALEYUV2Y 29
3466 #define M_BLT_SCALEYUV 30
3467 
3468 #ifdef M_USE_MBUFBLIT
3469 #if ! (M_MIL_USE_PPC || M_MIL_USE_LINUX)
3470 #include <memory.h> // for memset()
3471 #include <mddraw.h> // for lpdirectdrawsurface
3472 #endif
3473 
3474 // ****************************************************************************
3475 //
3476 // Description of the MBLTDESC_VER1 structure :
3477 //
3478 // lSize : Size of the structure, in bytes. This member must be
3479 // initialized before the structure is used.
3480 // lValidMembers: A combination of flags that determine the valid members of
3481 // the MBLTDESC structure.
3482 // lRegion: Indicate which region to copy from the source buffer to
3483 // the destiantion buffer (the default is M_BLT_FRAME).
3484 // lMode: Indicate if the blit is done asynchronously or
3485 // synchronously (the default is synchronously).
3486 // lType: Indicate which type of copy is performed (the default
3487 // is a normal blit, M_SCR_COPY).
3488 // DestRect: RECT structure that defines the upper-left and lower-right
3489 // points of the rectangle to blit to on the destination
3490 // surface. If this parameter is set to ZERO, the entire
3491 // destination surface is used.
3492 // SrcRect: RECT structure that defines the upper-left and lower-right
3493 // points of the rectangle to blit from on the source surface.
3494 // If this parameter is set to ZERO, the entire source surface
3495 // is used.
3496 // lpDDDestSurface: Address of the destination direct draw surface used for
3497 // the copy. MIL will fill automaticaly this member is the blit
3498 // is valid. Use this member if you want to know if an
3499 // asynchronously blit is done (GetBltStatus(DDGBS_ISBLTDONE)).
3500 // lSrcType: Indicate which type of protocole to use for the source (FB, PCI or AGP)
3501 // lDestType: Indicate which type of protocole to use for the destination (FB, PCI or AGP)
3502 //
3503 // ****************************************************************************
3504 
3505 #if !(M_MIL_USE_PPC || M_MIL_USE_LINUX)
3506 typedef struct _MBLTDESC_VER1 {
3507  long lSize;
3508  long lValidMembers;
3509  long lRegion;
3510  long lMode;
3511  long lType;
3512  MRECT DestRect;
3513  MRECT SrcRect;
3514  LPDIRECTDRAWSURFACE lpDDDestSurface;
3515  long lSrcType;
3516  long lDestType;
3517  } MBLTDESC_VER1;
3518 typedef MBLTDESC_VER1 *LPMBLTDESC_VER1;
3519 
3520 typedef MBLTDESC_VER1 MBLTDESC;
3521 
3522 typedef MBLTDESC *LPMBLTDESC;
3523 #endif // M_MIL_USE_PPC
3524 
3525 #define M_INIT_STRUCT(x) (memset(&x,0,sizeof(x)), x.lSize=sizeof(x))
3526 #endif // M_USE_MBUFBLIT
3527 
3528 
3529 /************************************************************************/
3530 /* MbufGet(), MbufPut(), MbufChild(), ... */
3531 /************************************************************************/
3532 #define M_RED 0x1000L
3533 #define M_GREEN 0x2000L
3534 #define M_BLUE 0x4000L
3535 #define M_ALL_BAND -1L
3536 #define M_ALL_BANDS M_ALL_BAND
3537 #define M_HUE 0x00008000L
3538 #define M_SATURATION M_GREEN
3539 #define M_LUMINANCE 0x00020000L // M_GRAB_INPUT_GAIN
3540 #define M_CHROMINANCE 0x00040000L // M_GRAB_INPUT_GAIN
3541 #define M_Y M_RED
3542 #define M_U M_GREEN
3543 #define M_V M_BLUE
3544 #define M_DITHERING 0x2000L
3545 #define M_CBCR 0x4000L
3546 
3547 #define M_ALL_BITS -1L
3548 #define M_DONT_CARE 0x00008000L
3549 
3550 /************************************************************************/
3551 /* MbufTransfer() */
3552 /************************************************************************/
3553 /*Transfer function value*/
3554 #define M_DEFAULT 0x10000000L
3555 #define M_CLEAR 0x00000001L
3556 #define M_AUTO_SCALE 2L //0x00000002L
3557 #define M_BIT_SHIFT 3L //0x00000003L
3558 #define M_WINDOW_RANGE 3072L //0x00000C00L
3559 #define M_COMPOSITION 0x00001000L
3560 #define M_COPY_EVEN 0x00002000L
3561 #define M_COPY_ODD 0x00004000L
3562 #define M_COPY_TO_HWND 0x00010000L
3563 #define M_COPY 0x00020000L
3564 #define M_REPLICATE 0x00040000L
3565 #define M_SCALE 0x00008010L // Can be add to some function like M_COPY
3566 
3567 /*Transfer type*/
3568 #define M_DEFAULT 0x10000000L
3569 #define M_MIL_METHOD 0x01000000L
3570 #define M_DIB_METHOD 0x02000000L
3571 #define M_DIRECTX_METHOD 0x04000000L
3572 #define M_MTX0_METHOD 0x08000000L
3573 #define M_SYNCHRONOUS 1L //0x00000001L
3574 #define M_ASYNCHRONOUS 2L //0x00000002L
3575 #define M_CAN_GROW_RECT 0x00010000L
3576 #define M_BILINEAR 0x00000008L
3577 #define M_BICUBIC 0x00000010L
3578 #define M_NEAREST_NEIGHBOR 0x00000040L
3579 
3580 /*Mask used to retreive field in the transfer type*/
3581 #define M_TRANSFER_METHOD 0xFF000000L
3582 #define M_SCALING_METHOD 0x00000078L
3583 
3584 /*Structure used with autoscale in internal mode (passed to the function*/
3585 /* via the extended void pointer*/
3586 typedef struct _MBTAUTOSCALE {
3587  double Minimum;
3588  double Maximum;
3592 
3593 
3594 /************************************************************************/
3595 /* MbufImport(), MbufExport() */
3596 /************************************************************************/
3597 #define M_RESTORE 0L
3598 #define M_LOAD 1L
3599 
3600 #define M_MIL 0L
3601 #define M_RAW 1L
3602 #define M_TIFF 2L
3603 #define M_GIF 3L
3604 #define M_BMP 4L
3605 #define M_JPEG 5L // Internal use only
3606 #define M_RIFF 6L // Internal use only
3607 #define M_JPEG2K_RAW 7L // Internal use only
3608 #define M_JPEG2K_JP2 8L // Internal use only
3609 #define M_JPEG2K_ADV202 9L // Internal use only
3610 
3611 #define M_JPEG_LOSSLESS 0x00400000L
3612 #define M_JPEG_LOSSY 0x00800000L
3613 #define M_JPEG_LOSSLESS_INTERLACED 0x00C00000L
3614 #define M_JPEG_LOSSY_INTERLACED 0x08000000L
3615 #define M_JPEG2000_LOSSY 0x08400000L
3616 #define M_JPEG2000_LOSSLESS 0x08800000L
3617 
3618 // Special file formats for import and export.
3619 #define M_JPEG_LOSSY_RGB 0x01000000L
3620 #define M_JPEG2000_LOSSY_JP2 M_JPEG2000_LOSSY+1
3621 #define M_JPEG2000_LOSSLESS_JP2 M_JPEG2000_LOSSLESS+1
3622 #define M_JPEG2K_LOSSY_INTERLACED M_JPEG2000_LOSSY+2
3623 #define M_JPEG2K_LOSSLESS_INTERLACED M_JPEG2000_LOSSLESS+2
3624 #define M_ADV202_LOSSY M_JPEG2000_LOSSY+3
3625 #define M_ADV202_LOSSY_INTERLACED M_JPEG2000_LOSSY+4
3626 
3627 #define M_PLANAR 0x00040000L
3628 
3629 #define M_INTERACTIVE M_NULL
3630 
3631 
3632 /************************************************************************/
3633 /* MbufImportSequence(), MbufExportSequence() */
3634 /************************************************************************/
3635 #define M_RESTORE 0L
3636 #define M_LOAD 1L
3637 
3638 #define M_AVI_MIL 100L
3639 #define M_AVI_DIB 101L // Standard Windows AVI files.
3640 #define M_AVI_MJPG 102L
3641 #define M_AVI_MJPEG M_AVI_MJPG
3642 #define M_DEFAULT 0x10000000L
3643 
3644 // Import/Export Control Flags.
3645 #define M_DEFAULT 0x10000000L /* Create a file-Write/Read-Close */
3646 #define M_APPEND 0x20000000L /* Open-Append-Close */
3647 #define M_READ 1 /* Read from an opened file. */
3648 #define M_WRITE 2 /* Write into an opened file. */
3649 #define M_OPEN 0x00000010L /* Open a file to Read/Write( with create ) */
3650 #define M_CLOSE 0x00000020L /* Close an open file. */
3651 #define M_OPEN_APPEND (M_OPEN + M_APPEND) /* Open an existing file to append into. */
3652 
3653 #define M_INTERACTIVE M_NULL
3654 
3655 
3656 /************************************************************************/
3657 /* MbufLoad() */
3658 /************************************************************************/
3659 #define M_INTERACTIVE M_NULL
3660 
3661 
3662 /************************************************************************/
3663 /* MbufSave() */
3664 /************************************************************************/
3665 #define M_INTERACTIVE M_NULL
3666 
3667 
3668 /************************************************************************/
3669 /* MbufRestore() */
3670 /************************************************************************/
3671 #define M_INTERACTIVE M_NULL
3672 
3673 
3674 /************************************************************************/
3675 /* MbufControlNeighborhood() */
3676 /************************************************************************/
3677 #define M_ABSOLUTE_VALUE 50L
3678 #define M_NORMALIZATION_FACTOR 52L
3679 #define M_OVERSCAN 53L
3680 #define M_OVERSCAN_REPLACE_VALUE 54L
3681 #define M_OFFSET_CENTER_X 55L
3682 #define M_OFFSET_CENTER_Y 56L
3683 #define M_ENABLE -9997L
3684 #define M_DISABLE -9999L
3685 #define M_TRANSPARENT 0x01000059L
3686 #define M_REPLACE 0x01000060L
3687 #define M_MIRROR 0x01000061L
3688 #define M_REPLACE_MAX 0x01000063L
3689 #define M_REPLACE_MIN 0x01000064L
3690 #define M_SATURATION M_GREEN
3691 
3692 
3693 /************************************************************************/
3694 /* MbufInquire() / MbufControl() Types */
3695 /************************************************************************/
3696 #define M_OWNER_APPLICATION 1000L
3697 #define M_OWNER_SYSTEM 1001L
3698 #define M_SIZE_X 1002L
3699 #define M_SIZE_Y 1003L
3700 #define M_SIZE_Z 1004L
3701 #define M_SIZE_BAND 1005L
3702 #define M_SIZE_BAND_LUT 1006L
3703 #define M_SIZE_BIT 1007L
3704 #define M_TYPE 1008L
3705 #define M_NUMBER 1009L
3706 #define M_FORMAT 1010L
3707 #define M_FORMAT_SIZE 1011L
3708 #define M_INIT_FLAG 1012L
3709 #define M_ATTRIBUTE 1013L
3710 #define M_SIGN 1014L
3711 #define M_LUT_ID 1015L
3712 #define M_NATIVE_ID 1016L
3713 #define M_NATIVE_CONTROL_ID 1017L
3714 #define M_SURFACE 1021L
3715 //1022L was used by M_DDRAW_SURFACE, that is now in the Buffer Display reserved area.
3716 #define M_OWNER_SYSTEM_TYPE 1023L
3717 #define M_REAL_FORMAT 1024L
3718 #define M_MIL_ID_INTERNAL 1025L
3719 #define M_EXTENDED_FORMAT 1026L
3720 #define M_EXTENDED_ATTRIBUTE 1027L
3721 #define M_DRIVER_ID 1028L
3722 #define M_INTER_SYSTEM_COPY 1029L
3723 #define M_BUF_MODIFIED_HOOKED 1030L
3724 #define M_MAP_HOST_ADDRESS 1031L
3725 #define M_REFRESH_REMOTE_GRAB_BUFFERS 1032L
3726 #define M_REMOTE_GRAB_BUFFERS 1033L
3727 #define M_CALL_HOOKS 1034L
3728 #define M_CALL_STATE_MACHINE_PRE_BUF_MODIFIED_HOOKS 1035L
3729 #define M_CALL_STATE_MACHINE_POST_BUF_MODIFIED_HOOKS 1036L
3730 #define M_REFRESH_REMOTE_GRAB_BUFFERS_AFTER_SET_SCHEME 1037L
3731 #define M_DRIVER_ASYNC_CALL 1038L
3732 #define M_EFFECTIVE_SIZE_BIT 1039L
3733 
3734 #define M_GNL_ID 1130L
3735 #define M_ONL_ID M_GNL_ID
3736 
3737 #define M_ALLOCATION_OVERSCAN_SIZE 2311L
3738 #define M_FAST_OVERSCAN_BUFFER 2312L
3739 
3740 #define M_INTER_SYSTEM_ID 5000L
3741 #define M_PARENT_ID 5001L
3742 #define M_ANCESTOR_ID 5002L
3743 #define M_PARENT_OFFSET_X 5003L
3744 #define M_PARENT_OFFSET_Y 5004L
3745 #define M_ANCESTOR_OFFSET_X 5005L
3746 #define M_ANCESTOR_OFFSET_Y 5006L
3747 #define M_PARENT_OFFSET_BAND 5007L
3748 #define M_ANCESTOR_OFFSET_BAND 5008L
3749 #define M_NB_CHILD 5009L
3750 #define M_MODIFICATION_COUNT 5010L
3751 #define M_ANCESTOR_SIZE_X 5012L
3752 #define M_HOST_ADDRESS_FAR 5013L
3753 #define M_ASSOCIATED_LUT 5014L
3754 #define M_CURRENT_BUF_ID 5015L
3755 #define M_ASSOCIATED_BUFFER_ID 5016L
3756 #define M_MAP_BUFFER_TO_HOST 5017L
3757 #define M_HOST_ID 5020L
3758 #define M_DMA_BUFFER 5021L
3759 #define M_DMA_BUFFER_PTR 5022L
3760 #define M_DMA_BUFFER_PHYSICAL_PTR 5023L
3761 #define M_VALID_GRAB_BUFFER 5025L
3762 #define M_VALID_GRAB_BUFFER_OFFSET 5026L
3763 #define M_LOW_LEVEL_BUFFER_ID 5027L
3764 #define M_BUFFER_INFO 5028L
3765 #define M_MEMBANK 5029L // Pulsar internal use only
3766 #define M_LOCPOS_X 5030L // Pulsar internal use only
3767 #define M_LOCPOS_Y 5031L // Pulsar internal use only
3768 #define M_LOCPOS_BIT 5032L // Pulsar internal use only
3769 #define M_ON_BOARD_DISP_BUFFER_NATIVE_ID 5033L // Pulsar internal use only
3770 #define M_ON_BOARD_DISP_BUFFER_MIL_ID 5034L // Pulsar internal use only
3771 #define M_VGA_DISP_BUFFER_ID 5035L // Pulsar internal use only
3772 #define M_OVR_DISP_BUFFER_ID 5036L // Pulsar internal use only
3773 #define M_MEMORG 5037L // Pulsar internal use only
3774 #define M_ANCESTOR_OFFSET_BIT 5038L
3775 #define M_DIB_MODE 5039L
3776 #define M_FLIP_MODE 5040L
3777 #define M_MODIFIED 5044L
3778 #define M_COMPRESSION_TYPE 5045L
3779 #define M_HUFFMAN_DC_LUMINANCE 5046L // Buffer M_COMPRESS Jpeg
3780 #define M_HUFFMAN_AC_LUMINANCE 5047L // Buffer M_COMPRESS Jpeg
3781 #define M_HUFFMAN_DC_CHROMINANCE 5048L // Buffer M_COMPRESS Jpeg
3782 #define M_HUFFMAN_AC_CHROMINANCE 5049L // Buffer M_COMPRESS Jpeg
3783 #define M_HUFFMAN_DC 5050L // Buffer M_COMPRESS Jpeg
3784 #define M_HUFFMAN_AC 5051L // Buffer M_COMPRESS Jpeg
3785 #define M_PREDICTOR 5052L // Buffer M_COMPRESS Jpeg
3786 #define M_QUANTIZATION_LUMINANCE 5053L // Buffer M_COMPRESS Jpeg
3787 #define M_QUANTIZATION_CHROMINANCE 5054L // Buffer M_COMPRESS Jpeg
3788 #define M_QUANTIZATION_OLD 5055L // Buffer M_COMPRESS Jpeg
3789 #define M_Q_FACTOR_LUMINANCE 5056L // Buffer M_COMPRESS Jpeg
3790 #define M_Q_FACTOR_CHROMINANCE 5057L // Buffer M_COMPRESS Jpeg
3791 #define M_Q_FACTOR_OLD 5058L // Buffer M_COMPRESS Jpeg
3792 #define M_RESTART_INTERVAL 5059L // Buffer M_COMPRESS Jpeg
3793 #define M_JPEG_HW_PROG 5060L // Buffer M_COMPRESS Jpeg
3794 #define M_SIZE_BYTE 5061L
3795 #define M_PROC_HOST_ID 5062L
3796 #define M_INTERNAL_COMPRESSION_BUFFER_ID 5063L
3797 #define M_INTERNAL_BUFFER_HOST_ADDRESS 5064L
3798 #define M_INTERNAL_JPEG_FRAME_SIZEBYTE 5065L
3799 #define M_INTERNAL_COMPRESSION_BUFFER_SIZE_DIVISION_FACTOR 5066L
3800 #define M_SIZE_BYTE_FIRST_FIELD 5067L
3801 #define M_SIZE_BYTE_SECOND_FIELD 5068L
3802 #define M_JPEG_COMPRESS 5069L // Buffer M_COMPRESS Jpeg
3803 #define M_JPEG_DECOMPRESS 5070L // Buffer M_COMPRESS Jpeg
3804 #define M_REGENERATE_HEADER 5071L // Internal Use Only.
3805 #define M_PARSE_JPEG_DATA 5072L // Internal Use Only.
3806 #define M_HEADER_MODIFIED 5073L // Internal Use Only.
3807 #define M_TARGET_SIZE 5074L // Set internal compression buffer size in byte
3808 #define M_SIZE_BYTE_PER_PIXEL 5075L
3809 #define M_ATTACHED_BUFFER_0_ID 5076L
3810 #define M_ATTACHED_BUFFER_1_ID 5077L
3811 #define M_ASSOCIATED_VGA_BUFFER_ID 5078L
3812 #define M_FIELD_UPDATE_MODE 5079L
3813 #define M_YCRCB_RANGE 5080L
3814 #define M_EXTRA_BUFFER_INFO 5081L // Used by MILDCOM, MIL doesn't anwser to this inquire
3815 #define M_MODIFICATION_HOOK 5082L
3816 #define M_FLOAT_DECOMPRESSION 5083L
3817 #define M_DONE_IN_FLOAT 5084L
3818 #define M_REVERSE_X 5087L
3819 #define M_REVERSE_Y 5088L
3820 #define M_SUBSAMPLE_X 5089L
3821 #define M_SUBSAMPLE_Y 5090L
3822 #define M_SUBSAMPLE 5091L
3823 #define M_BUFFER_INFO_OBJECT 5092L // TBC Will be named M_BUFFER_INFO and changed also M_BUFFER_INFO_OBJECT_VIA_COPY
3824 #define M_BUFFER_DISPLAY_INFO_PTR 5093L
3825 #define M_NUMBER_OF_BUFFERS 5094L // Used with complex surface
3826 #define M_GRAB_BUFFERS 5095L // Internal Use Only.
3827 #define M_USED_IN_CONTINUOUS_GRAB 5096L
3828 #define M_GRAB_TYPE 5097L
3829 // Reserved 5098 M_SIZE_X_RED 5098L
3830 // Reserved 5099 M_SIZE_Y_RED 5099L
3831 // MTXDMA reserved area
3832 #define M_BUF_MTXDMA_START 5100L
3833 #define M_BUFFER_CACHE 5100L
3834 #define M_BUFFER_CACHE_FLUSH 5101L
3835 #define M_BUFFER_AGP_CAPABLE 5102L
3836 #define M_WRITE_COMBINING 5103L
3837 #define M_BUF_MTXDMA_END 5150L
3838 
3839 // Display reserved area
3840 #define M_BUF_DISPLAY_START 5151L
3841 #define M_IS_IN_DISPLAY_BUF_RANGE(X) ((X>=M_BUF_DISPLAY_START) && (X<=M_BUF_DISPLAY_END))
3842 #define M_DC_ALLOC M_BUF_DISPLAY_START+0L
3843 #define M_DC_FREE M_BUF_DISPLAY_START+1L
3844 #define M_DC_HANDLE M_BUF_DISPLAY_START+2L
3845 #define M_ENHANCE_FORMAT M_BUF_DISPLAY_START+3L
3846 #define M_DDRAW_SURFACE M_BUF_DISPLAY_START+4L
3847 #define M_DIRECTX_OWNER_COMPATIBLE M_BUF_DISPLAY_START+5L
3848 #define M_MTX0_CAPABLE_DIRECTX_OWNER M_BUF_DISPLAY_START+6L
3849 #define M_DIRECTX_OWNER M_BUF_DISPLAY_START+7L
3850 #define M_ENHANCE_FROM_ID M_BUF_DISPLAY_START+8L
3851 #define M_ENHANCE_MAX_DISPLAY_FORMAT M_BUF_DISPLAY_START+9L
3852 #define M_VIDEO_SYSTEM_ID M_BUF_DISPLAY_START+10L
3853 #define M_NEXT_FREE_BUFFER M_BUF_DISPLAY_START+11L
3854 #define M_OLDEST_READY_BUFFER M_BUF_DISPLAY_START+12L
3855 #define M_WAIT_ON_BUFFER_FREED M_BUF_DISPLAY_START+13L
3856 #define M_ENHANCE_SYSTEM_CREATE M_BUF_DISPLAY_START+14L
3857 #define M_ENHANCE_GRAB_CREATE M_BUF_DISPLAY_START+15L
3858 #define M_FREE_ENHANCED_BUFFER M_BUF_DISPLAY_START+16L
3859 #define M_ENHANCED_BUFFER M_BUF_DISPLAY_START+17L
3860 #define M_INVALID_RECT M_BUF_DISPLAY_START+18L
3861 #define M_VALID_RECT M_BUF_DISPLAY_START+19L
3862 #define M_STATE_MACHINE M_BUF_DISPLAY_START+20L
3863 #define M_INTERNAL_BUFFERS M_BUF_DISPLAY_START+21L
3864 #define M_NB_INTERNAL_BUFFERS M_BUF_DISPLAY_START+22L
3865 #define M_STATE_MACHINE_MODE M_BUF_DISPLAY_START+23L
3866 #define M_REGISTER_SELECT_FIELD M_BUF_DISPLAY_START+24L
3867 #define M_UNREGISTER_SELECT_FIELD M_BUF_DISPLAY_START+25L
3868 #define M_BITMAPINFO M_BUF_DISPLAY_START+26L
3869 #define M_LAST_MODIFIED_BUFFER M_BUF_DISPLAY_START+27L
3870 #define M_DIRECTX_SURFACE M_BUF_DISPLAY_START+28L
3872 #define M_BUF_DISPLAY_END 5200L
3873 
3874 #define M_HOOK_TO_BUFFER_MODIFICATIONS 5201L
3875 #define M_BUFFER_INFO_OBJECT_COPY 5202L
3876 #define M_CACHE_CONTROL 5204L
3877 #define M_HOST_ADDRESS_BAND 5205L
3878 /* Reserve next 16 values from 5206L*/
3879 /* to 5221L*/
3880 #define M_PHYS_ADDRESS_BAND 5222L
3881 /* Reserve next 16 values from 5223L*/
3882 /* to 5237L*/
3883 #define M_GRAB_BUFFERS_AFTER_SET_SCHEME 5238L
3884 #define M_IS_PHYSICALLY_IN_CACHE 5239L
3885 #define M_NB_CHILD_SELECTED_ON_DISPLAY 5240L
3886 #define M_UNSUPPORTED_FORMAT 5241L
3887 #define M_PREFERRED_DIGITIZER_FORMAT 5242L
3888 
3889 #define M_CACHE_FLUSH 8192L
3890 
3891 // Used in JPEG2000.
3892 #define M_FORWARD_WAVELET_HOOK 8193L
3893 #define M_FORWARD_WAVELET_HOOK_DATA 8194L
3894 #define M_REVERSE_WAVELET_HOOK 8195L
3895 #define M_REVERSE_WAVELET_HOOK_DATA 8196L
3896 #define M_COMPRESSION_START_HOOK 8197L
3897 #define M_COMPRESSION_START_HOOK_DATA 8198L
3898 #define M_COMPRESSION_END_HOOK 8199L
3899 #define M_COMPRESSION_END_HOOK_DATA 8200L
3900 #define M_DECOMPRESSION_START_HOOK 8201L
3901 #define M_DECOMPRESSION_START_HOOK_DATA 8202L
3902 #define M_DECOMPRESSION_END_HOOK 8203L
3903 #define M_DECOMPRESSION_END_HOOK_DATA 8204L
3904 #define M_USER_DATA_SIZE 8205L
3905 #define M_USE_ADV202_FORMAT 8206L
3906 
3907 // Used both in JPEG and JPEG2000.
3908 #define M_ALLOCATE_MEMORY 8207L
3909 #define M_SHRINK_MEMORY 8208L
3910 #define M_ALLOCATED_SIZE_BYTE 8209L
3911 #define M_COMPRESSED_DATA_SIZE_BYTE 8210L
3912 
3913 // The difference between the following defines must be >= 2. The bits
3914 // 14, 13 and 12 (zero-based) of the flags must also always be cleared.
3915 #define M_NUMBER_SUBBAND 33000L
3916 #define M_DECOMPOSITION_LEVEL 33002L
3917 #define M_Q_FACTOR 33004L
3918 #define M_QUANTIZATION 33006L
3919 
3920 #define M_HOST_ADDRESS 0x80000000L
3921 #define M_HOST_ADDRESS_RED M_HOST_ADDRESS + M_RED // 0x80001000L
3922 #define M_HOST_ADDRESS_GREEN M_HOST_ADDRESS + M_GREEN // 0x80002000L
3923 #define M_HOST_ADDRESS_BLUE M_HOST_ADDRESS + M_BLUE // 0x80004000L
3924 #define M_HOST_ADDRESS_REMOTE 0x00080000L
3925 #define M_HOST_ADDRESS_REMOTE_RED M_HOST_ADDRESS_REMOTE + M_RED // 0x00081000L
3926 #define M_HOST_ADDRESS_REMOTE_GREEN M_HOST_ADDRESS_REMOTE + M_GREEN // 0x00082000L
3927 #define M_HOST_ADDRESS_REMOTE_BLUE M_HOST_ADDRESS_REMOTE + M_BLUE // 0x00084000L
3928 
3929 
3930 #define M_SIZE_X 1002L
3931 #define M_SIZE_X_RED M_SIZE_X + M_RED // 0x000013eaL = 5098
3932 #define M_SIZE_X_GREEN M_SIZE_X + M_GREEN // 0x000023eaL = 9194
3933 #define M_SIZE_X_BLUE M_SIZE_X + M_BLUE // 0x000043eaL = 17386
3934 
3935 #define M_SIZE_Y 1003L
3936 #define M_SIZE_Y_RED M_SIZE_Y + M_RED // 0x000013ebL = 5099
3937 #define M_SIZE_Y_GREEN M_SIZE_Y + M_GREEN // 0x000023ebL = 9195
3938 #define M_SIZE_Y_BLUE M_SIZE_Y + M_BLUE // 0x000043ebL = 17387
3939 
3940 #define M_PHYSICAL_ADDRESS 0x40000000L
3941 #define M_PITCH 0x20000000L
3942 #define M_DEFAULT 0x10000000L
3943 #define M_PITCH_BYTE 0x08000000L
3944 #define M_BUF_ID 0x04000000L
3945 
3946 // !!! MAP FOR OLD DEFINES
3947 #if OldDefinesSupport
3948 #define M_DMA_READ_HOST_ID M_HOST_ID
3949 #define M_BUF_ASSOCIATED_BUFFER_ID M_ASSOCIATED_BUFFER_ID
3950 #define M_WINDOW_DDRAW_SURFACE M_DDRAW_SURFACE
3951 #define M_WINDOW_DC_ALLOC M_DC_ALLOC
3952 #define M_WINDOW_DC_FREE M_DC_FREE
3953 #define M_WINDOW_DC M_DC_HANDLE
3954 #endif
3955 
3956 /************************************************************************/
3957 /* MbufControl() MbufInquire() Values */
3958 /************************************************************************/
3959 #define M_MAX_INTERNAL_BUFFERS 8L
3960 
3961 #define M_ODD_FIELD 1L
3962 #define M_EVEN_FIELD 2L
3963 #define M_BOTH_FIELDS 3L
3964 #define M_NO_HOOK 0x00000004L
3965 #define M_GRAB_TYPE_PSEUDO 5L
3966 #define M_GRAB_TYPE_LIVE 6L
3967 #define M_GRAB_TYPE_PSEUDO_MULTIPLE_BUFFERS 7L
3968 #define M_GRAB_TYPE_NO_TEARING 8L
3969 #define M_UNCONDITIONAL 0L
3970 #define M_CONDITIONAL 1L
3971 #define M_NOT_IN_CACHE 0L
3972 #define M_IN_CACHE 1L
3973 #define M_NOT_CACHABLE 2L
3974 #define M_CACHABLE 3L
3975 // State machine type
3976 #define M_INVALID -1L
3977 #define M_DEFAULT 0x10000000L
3978 #define M_WITH_VSYNC 1L
3979 #define M_WITHOUT_VSYNC 2L
3980 #define M_BASIC 3L
3981 // State machine mode
3982 #define M_FRAME 30L
3983 #define M_FIELD 46L
3984 
3985 /************************************************************************/
3986 /* MbufControlRegion() ControlTypes */
3987 /************************************************************************/
3988 #define M_CACHE_CONTROL 5204L
3989 #define M_MODIFIED 5044L
3990 #define M_GRAB_TIME_STAMP 0x00000040L
3991 #define M_DRIVER_ASYNC_CALL_END 0x80000000L
3992 #define M_ALWAYS_SYNCHRONOUS 0x40000000L
3993 #define M_MODIFIED_WITH_ERROR 0x20000000L
3994 #define M_DRIVER_ASYNC_CALL_CANCELLED 0x10000000L
3995 
3996 /************************************************************************/
3997 /* MbufControlRegion() ControlValues */
3998 /************************************************************************/
3999 #define M_NOT_IN_CACHE 0L
4000 #define M_IN_CACHE 1L
4001 
4002 #define M_NO_HOOK 0x00000004L
4003 
4004 #define M_ODD_FIELD 1L
4005 #define M_EVEN_FIELD 2L
4006 #define M_BOTH_FIELDS 3L
4007 
4008 
4009 /************************************************************************/
4010 /* MbufDiskInquire() */
4011 /************************************************************************/
4012 #define M_LUT_PRESENT 6000L
4013 #define M_ASPECT_RATIO 6001L
4014 #define M_FRAME_RATE 6002L
4015 #define M_NUMBER_OF_IMAGES 6003L
4016 #define M_FORMAT_SUPPORTED 5180L
4017 
4018 
4019 /* Common with other Inquire/Control */
4020 #define M_ABSOLUTE_VALUE 50L
4021 #define M_NORMALIZATION_FACTOR 52L
4022 #define M_OVERSCAN 53L
4023 #define M_OVERSCAN_REPLACE_VALUE 54L
4024 #define M_OFFSET_CENTER_X 55L
4025 #define M_OFFSET_CENTER_Y 56L
4026 #define M_SIZE_X 1002L
4027 #define M_SIZE_Y 1003L
4028 #define M_SIZE_BAND 1005L
4029 #define M_SIZE_BIT 1007L
4030 #define M_TYPE 1008L
4031 #define M_ATTRIBUTE 1013L
4032 #define M_SIGN 1014L
4033 #define M_GREEN 0x2000L
4034 #define M_SATURATION M_GREEN
4035 #define M_FILE_FORMAT 1015L
4036 #ifdef M_MIL_75_COMPATIBLE
4037 #define M_LUT 0x00000100L
4038 #else
4039 #define M_LUT 0x00040000L
4040 #endif //M_MIL_75_COMPATIBLE
4041 #define M_LUT_OLD 0x00000100L
4042 
4043 /************************************************************************/
4044 /* Lattice values */
4045 /************************************************************************/
4046 #define M_4_CONNECTED 0x00000010L
4047 #define M_8_CONNECTED 0x00000020L
4048 
4049 
4050 /************************************************************************/
4051 /* Data types for results */
4052 /************************************************************************/
4053 #define M_TYPE_CHAR 0x00010000L
4054 #define M_TYPE_SHORT 0x00020000L
4055 #define M_TYPE_LONG 0x00040000L
4056 #define M_TYPE_FLOAT 0x00080000L
4057 #define M_TYPE_DOUBLE 0x00100000L
4058 #define M_TYPE_PTR 0x00200000L
4059 #define M_TYPE_MIL_ID 0x00400000L
4060 #define M_TYPE_STRING 0x00800000L
4061 #define M_TYPE_STRING_PTR M_TYPE_STRING
4062 #define M_TYPE_ASCII M_TYPE_STRING
4063 #define M_TYPE_BINARY 0x01000000L
4064 #define M_TYPE_HEX 0x02000000L
4065 #define M_TYPE_INT64 0x04000000L
4066 #define M_TYPE_FILENAME 0x08000000L
4067 #define M_TYPE_ARRAY_ID_PTR 0x10000000L
4068 
4069 
4070 /* Bit encoded image types */
4071 #define M_GREYSCALE 0x0200L
4072 #define M_GRAYSCALE M_GREYSCALE
4073 
4074 /************************************************************************/
4075 /* MgraAlloc() */
4076 /************************************************************************/
4077 #define M_DEFAULT_GRAPHIC_CONTEXT 0x00FF0002L //TBM MIL 8.0
4078 
4079 /************************************************************************/
4080 /* MgraFont() */
4081 /************************************************************************/
4082 #define M_FONT_DEFAULT_SMALL 0L
4083 #define M_FONT_DEFAULT_MEDIUM 1L
4084 #define M_FONT_DEFAULT_LARGE 2L
4085 #define M_FONT_DEFAULT M_FONT_DEFAULT_SMALL
4086 
4087 /************************************************************************/
4088 /* Used by MgraControl() / MgraInquire() Types */
4089 /************************************************************************/
4090 #define M_GRAPHIC_POSITION_X 3L
4091 #define M_GRAPHIC_POSITION_Y 4L
4092 #define M_COLOR 5L
4093 #define M_BACKCOLOR 6L
4094 #define M_RGB_COLOR 0x40000000L
4095 #define M_RGB888(r,g,b) (M_RGB_COLOR|((unsigned long)(((unsigned char)(r)|((unsigned long)((unsigned char)(g))<<8))|(((unsigned long)(unsigned char)(b))<<16))))
4096 #define M_RGB888_r(color) ((unsigned long)color&0x000000FF)
4097 #define M_RGB888_g(color) (((unsigned long)color&0x0000FF00)>>8)
4098 #define M_RGB888_b(color) (((unsigned long)color&0x00FF0000)>>16)
4099 #define M_FONT 7L
4100 #define M_FONT_X_SCALE 8L
4101 #define M_FONT_Y_SCALE 9L
4102 #define M_THICKNESS 10L
4103 #define M_BACKGROUND_MODE 12L
4104 #define M_OPAQUE 0x01000058L
4105 #define M_TRANSPARENT 0x01000059L
4106 #define M_RGB_COLOR_MODE 13L
4107 #define M_RED_8_BIT 14L
4108 #define M_GREEN_8_BIT 15L
4109 #define M_BLUE_8_BIT 16L
4110 #define M_BACK_RED_8_BIT 17L
4111 #define M_BACK_GREEN_8_BIT 18L
4112 #define M_BACK_BLUE_8_BIT 19L
4113 
4114 /********************************************************************/
4115 /* Predefined colors */
4116 /********************************************************************/
4117 #define M_COLOR_BLACK M_RGB888(0,0,0)
4118 #define M_COLOR_DARK_RED M_RGB888(128,0,0)
4119 #define M_COLOR_DARK_GREEN M_RGB888(0,128,0)
4120 #define M_COLOR_DARK_YELLOW M_RGB888(128,128,0)
4121 #define M_COLOR_DARK_BLUE M_RGB888(0,0,128)
4122 #define M_COLOR_DARK_MAGENTA M_RGB888(128,0,128)
4123 #define M_COLOR_DARK_CYAN M_RGB888(0,128,128)
4124 #define M_COLOR_BRIGHT_GREY M_RGB888(192,192,192)
4125 #define M_COLOR_LIGHT_GREEN M_RGB888(192,220,192)
4126 #define M_COLOR_LIGHT_BLUE M_RGB888(166,202,240)
4127 #define M_COLOR_LIGHT_WHITE M_RGB888(255,251,240)
4128 #define M_COLOR_LIGHT_GREY M_RGB888(160,160,164)
4129 #define M_COLOR_DARK_GREY M_RGB888(128,128,128)
4130 #define M_COLOR_RED M_RGB888(255,0,0)
4131 #define M_COLOR_GREEN M_RGB888(0,255,0)
4132 #define M_COLOR_YELLOW M_RGB888(255,255,0)
4133 #define M_COLOR_BLUE M_RGB888(0,0,255)
4134 #define M_COLOR_MAGENTA M_RGB888(255,0,255)
4135 #define M_COLOR_CYAN M_RGB888(0,255,255)
4136 #define M_COLOR_WHITE M_RGB888(255,255,255)
4137 
4138 /************************************************************************/
4139 /* MappGetError() */
4140 /************************************************************************/
4141 #define M_NULL_ERROR 0L
4142 #define M_NO_ERROR 0L
4143 #define M_CURRENT 1L
4144 #define M_CURRENT_FCT 2L
4145 #define M_CURRENT_SUB_NB 3L
4146 #define M_CURRENT_SUB 4L
4147 #define M_CURRENT_SUB_1 4L
4148 #define M_CURRENT_SUB_2 5L
4149 #define M_CURRENT_SUB_3 6L
4150 #define M_GLOBAL 7L
4151 #define M_GLOBAL_FCT 8L
4152 #define M_GLOBAL_SUB_NB 9L
4153 #define M_GLOBAL_SUB 10L
4154 #define M_GLOBAL_SUB_1 10L
4155 #define M_GLOBAL_SUB_2 11L
4156 #define M_GLOBAL_SUB_3 12L
4157 #define M_INTERNAL 13L
4158 #define M_INTERNAL_FCT 14L
4159 #define M_INTERNAL_SUB_NB 15L
4160 #define M_INTERNAL_SUB 16L
4161 #define M_INTERNAL_SUB_1 16L
4162 #define M_INTERNAL_SUB_2 17L
4163 #define M_INTERNAL_SUB_3 18L
4164 #define M_PARAM_NB 19L
4165 #define M_FATAL 40L
4166 
4167 
4168 #define M_UNHOOK 0x04000000L
4169 #define M_FROM_HOOK 0x10000000L
4170 #define M_MESSAGE 0x20000000L
4171 #define M_ERROR 0x40000000L
4172 #define M_NATIVE_ERROR 0x80000000L
4173 #define M_THREAD_RECURSIVE 0x00800000L /* Bit field exclusive to M_TRACE to M_PROCESSING (3L to 6L) */
4174 #define M_THREAD_CURRENT 0x01000000L /* M_TRACE_START (1L) */
4175  /* M_TRACE_END (2L) */
4176  /* M_ERROR (0x40000000) */
4177  /* M_MESSAGE (0x20000000) */
4178  /* M_CURRENT to M_REGION_SIZE_Y (1L to 44L) */
4179  /* M_UNHOOK (0x04000000) */
4180 #define M_ERROR_CURRENT (M_ERROR|M_CURRENT)
4181 #define M_ERROR_GLOBAL (M_ERROR|M_GLOBAL)
4182 #define M_ERROR_FATAL (M_ERROR|M_FATAL)
4183 
4184 
4185 /************************************************************************/
4186 /* MbufGetHookInfo() //MbufHookFunction() */
4187 /************************************************************************/
4188 #define M_BUFFER_ID 41L
4189 #define M_REGION_OFFSET_X 42L
4190 #define M_REGION_OFFSET_Y 43L
4191 #define M_REGION_SIZE_X 44L
4192 #define M_REGION_SIZE_Y 45L
4193 #define M_FIELD 46L
4194 #define M_BAND 47L
4195 #define M_DONE_BY_DIRECTX 48L
4196 #define M_GRAB_TIME_STAMP 0x00000040L //64L
4197 #define M_EVENT_TYPE M_REGION_OFFSET_X
4198 #define M_PARAM1 M_REGION_OFFSET_Y
4199 #define M_PARAM2 M_REGION_SIZE_X
4200 #define M_PARAM3 M_REGION_SIZE_Y
4201 
4202 #define M_PRE_GRAB_BUFFER_CHANGE 10L
4203 #define M_POST_GRAB_BUFFER_CHANGE 11L
4204 #define M_MODIFIED_BUFFER_INTERNAL 12L
4205 #define M_REMOTE_GRAB_BUFFERS_REQUEST 13L //TBR
4206 #define M_REMOTE_GRAB_BUFFERS_SET 14L //TBR
4207 #define M_STATE_MACHINE_PRE_BUFFER_MODIFIED 15L
4208 #define M_STATE_MACHINE_POST_BUFFER_MODIFIED 16L
4209 #define M_REMOTE_GRAB_BUFFERS_REQUEST_AFTER_SET_SCHEME 17L //TBR
4210 #define M_REMOTE_BUFFER_EVENT 18L //TBR
4211 #define M_MODIFIED_BUFFER 0x02000000L
4212 #define M_UNHOOK 0x04000000L
4213 
4214 // Hook redirected to the displays (use the M_DISP_BUF_HOOK flag)
4215 #define M_DISP_BUF_HOOK 0x00100000L
4216 #define M_PRE_FLIP_COMPLEX_BUFFER (M_DISP_BUF_HOOK + 01L)
4217 #define M_POST_FLIP_COMPLEX_BUFFER (M_DISP_BUF_HOOK + 02L)
4218 
4219 //Remote Event types
4220 #define M_EVENT_REMOTE_GRAB_BUFFERS_REQUEST 1L
4221 #define M_EVENT_REMOTE_GRAB_BUFFERS_SET 2L
4222 #define M_EVENT_REMOTE_GRAB_BUFFERS_REQUEST_AFTER_SET_SCHEME 3L
4223 #define M_EVENT_REMOTE_GRAB_BUFFERS_UNSUPPORTED_FORMAT 4L
4224 
4225 /************************************************************************/
4226 /* MappAlloc */
4227 /************************************************************************/
4228 #define M_USER_OBJECT 0x00000001L
4229 #define M_SYSTEM_OBJECT 0x00000002L
4230 #define M_INHERITED 0x00000004L
4231 #define M_NOT_INHERITED 0x00000008L
4232 #define M_BROADCASTED 0x00000010L
4233 #define M_NOT_BROADCASTED 0x00000020L
4234 #define M_OLD_DISPLAYS 0x00000200L
4235 #define M_NEW_DISPLAYS 0x00000400L
4236 
4237 #define M_FUNCTION_NAME_SIZE 32L
4238 #define M_ERROR_FUNCTION_NAME_SIZE M_FUNCTION_NAME_SIZE
4239 #define M_ERROR_MESSAGE_SIZE 128L
4240 
4241 #define M_NBFCTNAMEMAX 445 /* max number of function codes */
4242 #define M_NBERRMSGMAX 100 /* max number of error messages */
4243 #define M_NBSUBERRMSGMAX 10 /* max number of sub error messages */
4244 
4245 #define M_FUNC_ERROR (M_NBERRMSGMAX+1L) /* M_MFUNC error numbers */
4246 
4247 
4248 /************************************************************************/
4249 /* MappHookFunction() */
4250 /************************************************************************/
4251 #define M_ERROR_CURRENT (M_ERROR|M_CURRENT)
4252 #define M_ERROR_GLOBAL (M_ERROR|M_GLOBAL)
4253 #define M_TRACE_START 1L
4254 #define M_TRACE_END 2L
4255 #define M_ERROR_FATAL (M_ERROR|M_FATAL)
4256 #define M_UNHOOK 0x04000000L
4257 #define M_THREAD_RECURSIVE 0x00800000L /* Bit field exclusive to M_TRACE to M_PROCESSING (3L to 6L) */
4258 #define M_THREAD_CURRENT 0x01000000L /* M_TRACE_START (1L) */
4259 #define M_INTERNAL_ALLOC 0x00200000L /* M_TRACE_END (2L) */
4260 #define M_INTERNAL_FREE 0x00400000L /* M_ERROR (0x40000000) */
4261 #define M_OBJECT_FREE 0x00010000L /* M_MESSAGE (0x20000000) */
4262  /* M_CURRENT to M_REGION_SIZE_Y (1L to 44L) */
4263  /* M_UNHOOK (0x04000000) */
4264 #define M_VSYNC_SIGNAL 0x00000100L /* For hook when a vsync occured on a host */
4265  /* Range use: 0x00000100 to 0x0000010F */
4266  /* The host system to use (device number) must be added to */
4267  /* M_VSYNC. Exemple: to hook on the vsync of the 3rd host */
4268  /* system, use the hook type M_VSYNC_SIGNAL+M_DEV2 */
4269 #define M_MAX_VGA_DEVICE 16L
4270 #define M_VSYNC_HOOK_SYSTEM_NUM(hooktype) (hooktype&0x0000000F) /* IMPORTANT these macros are base on the value of M_MAX_VGA_DEVICE */
4271 #define M_IS_VSYNC_HOOK(hooktype) ((hooktype&(~(M_UNHOOK|0x0000000F)))==M_VSYNC_SIGNAL)
4272 #define M_MIL_DISPLAY_DLL_LOAD 0x000000200L
4273 
4274 /************************************************************************/
4275 /* MappGetHookInfo() */
4276 /************************************************************************/
4277 #define M_NULL_ERROR 0L
4278 #define M_NO_ERROR 0L
4279 #define M_CURRENT 1L
4280 #define M_CURRENT_FCT 2L
4281 #define M_CURRENT_SUB_NB 3L
4282 #define M_CURRENT_SUB 4L
4283 #define M_CURRENT_SUB_1 4L
4284 #define M_CURRENT_SUB_2 5L
4285 #define M_CURRENT_SUB_3 6L
4286 #define M_GLOBAL 7L
4287 #define M_GLOBAL_FCT 8L
4288 #define M_GLOBAL_SUB_NB 9L
4289 #define M_GLOBAL_SUB 10L
4290 #define M_GLOBAL_SUB_1 10L
4291 #define M_GLOBAL_SUB_2 11L
4292 #define M_GLOBAL_SUB_3 12L
4293 #define M_PARAM_NB 19L
4294 #define M_BUFFER_ID 41L
4295 #define M_REGION_OFFSET_X 42L
4296 #define M_REGION_OFFSET_Y 43L
4297 #define M_REGION_SIZE_X 44L
4298 #define M_REGION_SIZE_Y 45L
4299 #define M_OBJECT_ID 46L
4300 
4301 #define M_PARAM_VALUE 0x08000000L
4302 #define M_PARAM_TYPE 0x10000000L
4303 #define M_PARAM_ATTRIBUTES 0x00400000L
4304 #define M_MESSAGE 0x20000000L
4305 
4306 
4307 
4308 /************************************************************************/
4309 /* MappInquire() / MappControl() Types */
4310 /* NB: All values in this range must be included between
4311  M_APP_INQUIRE_SYS_START and M_APP_INQUIRE_SYS_END*/
4312 /************************************************************************/
4313 
4314 #ifndef M_MIL_75_COMPATIBLE
4315 #define M_VERSION (M_APP_INQUIRE_SYS_START+1L)
4316 #define M_TRACE_HOOKS (M_APP_INQUIRE_SYS_START+2L)
4317 #define M_TRACE (M_APP_INQUIRE_SYS_START+3L)
4318 #define M_PARAMETER (M_APP_INQUIRE_SYS_START+4L)
4319 #define M_PROCESSING (M_APP_INQUIRE_SYS_START+6L)
4320 #define M_LAST_PLATFORM_USE (M_APP_INQUIRE_SYS_START+7L)
4321 #define M_CURRENT_ERROR_HANDLER_PTR (M_APP_INQUIRE_SYS_START+8L)
4322 #define M_CURRENT_ERROR_HANDLER_USER_PTR (M_APP_INQUIRE_SYS_START+9L)
4323 #define M_GLOBAL_ERROR_HANDLER_PTR (M_APP_INQUIRE_SYS_START+10L)
4324 #define M_GLOBAL_ERROR_HANDLER_USER_PTR (M_APP_INQUIRE_SYS_START+11L)
4325 #define M_FATAL_ERROR_HANDLER_PTR (M_APP_INQUIRE_SYS_START+12L)
4326 #define M_FATAL_ERROR_HANDLER_USER_PTR (M_APP_INQUIRE_SYS_START+13L)
4327 #define M_TRACE_START_HANDLER_PTR (M_APP_INQUIRE_SYS_START+14L)
4328 #define M_TRACE_START_HANDLER_USER_PTR (M_APP_INQUIRE_SYS_START+15L)
4329 #define M_TRACE_END_HANDLER_PTR (M_APP_INQUIRE_SYS_START+16L)
4330 #define M_TRACE_END_HANDLER_USER_PTR (M_APP_INQUIRE_SYS_START+17L)
4331 #define M_IRQ_CONTROL (M_APP_INQUIRE_SYS_START+18L)
4332 #define M_ERROR_HANDLER_PTR (M_APP_INQUIRE_SYS_START+19L)
4333 #define M_ERROR_HANDLER_USER_PTR (M_APP_INQUIRE_SYS_START+20L)
4334 #define M_CURRENT_APPLICATION (M_APP_INQUIRE_SYS_START+21L)
4335 #define M_MIL_UNIQUE_NUMBER (M_APP_INQUIRE_SYS_START+23L)
4336 #define M_MIL_TRACE_FILENAME (M_APP_INQUIRE_SYS_START+24L)
4337 #define M_FREE_ALL_DEFAULT (M_APP_INQUIRE_SYS_START+25L)
4338 #define M_LICENSE_VALID_MODULES (M_APP_INQUIRE_SYS_START+26L)
4339 #define M_LICENSE_UNLOCKED_MODULES M_LICENSE_VALID_MODULES
4340 #define M_DEFAULT_VGA_SYSTEM (M_APP_INQUIRE_SYS_START+27L)
4341 #define M_LCR_NUM (M_APP_INQUIRE_SYS_START+28L)
4342 #define M_LICENSE_TEMP_UNLOCKED_MODULES (M_APP_INQUIRE_SYS_START+29L)
4343 #define M_FORCE_DO_JOB (M_APP_INQUIRE_SYS_START+30L)
4344 #define M_LST (M_APP_INQUIRE_SYS_START+31L)
4345 #define M_LSSTR (M_APP_INQUIRE_SYS_START+32L)
4346 #define M_IN_VERSION (M_APP_INQUIRE_SYS_START+34L)
4347 #define M_LST_STR (M_APP_INQUIRE_SYS_START+35L)
4348 #define M_LIC_ADD_RES (M_APP_INQUIRE_SYS_START+36L)
4349 #define M_LICENSE_MODULES (M_APP_INQUIRE_SYS_START+37L)
4350 #define M_ERROR_CODE_PTR (M_APP_INQUIRE_SYS_START+38L)
4351 #define M_INTERNAL_CALL_MODE (M_APP_INQUIRE_SYS_START+39L)
4352 #define M_MILCE_ALLOC_IN_DMA_SIZE (M_APP_INQUIRE_SYS_START+40L)
4353 #define M_MILCE_ALLOC_IN_MMF_SIZE (M_APP_INQUIRE_SYS_START+41L)
4354 #define M_MILCE_ALLOC_IN_MMF_AUTO_COMMIT (M_APP_INQUIRE_SYS_START+42L)
4355 #define M_X86_FPU_FLAGS (M_APP_INQUIRE_SYS_START+43L)
4356 #define M_REAL_TRACE_LEVEL (M_APP_INQUIRE_SYS_START+44L)
4357 #define M_NON_PAGED_COMMUNICATION_BUFFER (M_APP_INQUIRE_SYS_START+45L)
4358 #define M_FORCE_THREAD_DETACH (M_APP_INQUIRE_SYS_START+46L)
4359 #define M_BUFTRANSFER_METHOD (M_APP_INQUIRE_SYS_START+47L)
4360 #define M_DISABLE_BUFTRANSFER_METHOD (M_APP_INQUIRE_SYS_START+48L)
4361 #define M_RESET_DEFAULTS (M_APP_INQUIRE_SYS_START+49L)
4362 #define M_USE_WINDOWED_CLASS (M_APP_INQUIRE_SYS_START+50L)
4363 #define M_CACHE_AUTO_FLUSH (M_APP_INQUIRE_SYS_START+51L)
4364 #define M_IN_HIGHLEVEL_MODULE (M_APP_INQUIRE_SYS_START+52L)
4365 #define M_USING_OLD_DISP (M_APP_INQUIRE_SYS_START+53L)
4366 #define M_MIL_DISPLAY_DLL_LOADED (M_APP_INQUIRE_SYS_START+54L)
4367 #define M_LICENSE_VALID_SOFT_MODULES (M_APP_INQUIRE_SYS_START+55L)
4368 #define M_ASSERT_NOT_OWNING_APP (M_APP_INQUIRE_SYS_START+56L)
4369 #define M_TEMP_LICENSE_DAYS_LEFT (M_APP_INQUIRE_SYS_START+57L)
4370 #else
4371 #define M_VERSION 1L
4372 #define M_TRACE 3L
4373 #define M_PARAMETER 4L
4374 #define M_MEMORY 5L
4375 #define M_PROCESSING 6L
4376 #define M_LAST_PLATFORM_USE 7L
4377 #define M_CURRENT_ERROR_HANDLER_PTR 8L
4378 #define M_CURRENT_ERROR_HANDLER_USER_PTR 9L
4379 #define M_GLOBAL_ERROR_HANDLER_PTR 10L
4380 #define M_GLOBAL_ERROR_HANDLER_USER_PTR 11L
4381 #define M_FATAL_ERROR_HANDLER_PTR 12L
4382 #define M_FATAL_ERROR_HANDLER_USER_PTR 13L
4383 #define M_TRACE_START_HANDLER_PTR 14L
4384 #define M_TRACE_START_HANDLER_USER_PTR 15L
4385 #define M_TRACE_END_HANDLER_PTR 16L
4386 #define M_TRACE_END_HANDLER_USER_PTR 17L
4387 #define M_IRQ_CONTROL 18L
4388 #define M_ERROR_HANDLER_PTR 19L
4389 #define M_ERROR_HANDLER_USER_PTR 20L
4390 #define M_CURRENT_APPLICATION 21L
4391 #define M_MIL_UNIQUE_NUMBER 23L
4392 #define M_MIL_TRACE_FILENAME 24L
4393 #define M_FREE_ALL_DEFAULT 25L
4394 #define M_LICENSE_VALID_MODULES 26L
4395 #define M_LICENSE_UNLOCKED_MODULES M_LICENSE_VALID_MODULES
4396 #define M_DEFAULT_VGA_SYSTEM 27L
4397 #define M_LCR_NUM 28L
4398 #define M_LICENSE_TEMP_UNLOCKED_MODULES 29L
4399 #define M_FORCE_DO_JOB 30L
4400 #define M_LST 31L
4401 #define M_LSSTR 32L
4402 #define M_IN_VERSION 34L
4403 #define M_LST_STR 35L
4404 #define M_LIC_ADD_RES 36L
4405 #define M_LICENSE_MODULES 37L
4406 #define M_ERROR_CODE_PTR 38L
4407 #define M_INTERNAL_CALL_MODE 39L
4408 #define M_MILCE_ALLOC_IN_DMA_SIZE 40L
4409 #define M_MILCE_ALLOC_IN_MMF_SIZE 41L
4410 #define M_MILCE_ALLOC_IN_MMF_AUTO_COMMIT 42L
4411 #define M_X86_FPU_FLAGS 43L
4412 #define M_REAL_TRACE_LEVEL 44L
4413 #define M_NON_PAGED_COMMUNICATION_BUFFER 45L
4414 #define M_FORCE_THREAD_DETACH 46L
4415 #define M_BUFTRANSFER_METHOD 47L
4416 #define M_DISABLE_BUFTRANSFER_METHOD 48L
4417 #define M_RESET_DEFAULTS 49L
4418 #define M_USE_WINDOWED_CLASS 50L
4419 #define M_CACHE_AUTO_FLUSH 51L
4420 #define M_IN_HIGHLEVEL_MODULE 52L
4421 #define M_USING_OLD_DISP -1L
4422 #define M_MIL_DISPLAY_DLL_LOADED -1L
4423 #endif //M_MIL_75_COMPATIBLE
4424 
4425 #define M_NUMBER_OF_BOARD_TYPES (M_APP_INQUIRE_SYS_START+63L)
4426 #define M_LCRM (M_APP_INQUIRE_SYS_START+64L)
4427 /* Reserve next 31 values from (M_APP_INQUIRE_SYS_START+65L)*/
4428 /* to (M_APP_INQUIRE_SYS_START+95)*/
4429 
4430 #ifndef M_MIL_75_COMPATIBLE
4431 #define M_MEMORY (M_APP_INQUIRE_SYS_START+120L) /*5120*/ //Only 2 bits set. Used in bitwise operations
4432 #else
4433 #define M_MEMORY 5L // Already defined in Mil.h
4434 #endif //M_MIL_75_COMPATIBLE
4435 
4436 #define M_LCRID (M_APP_INQUIRE_SYS_START+128L)
4437 /* Reserve next 31 values from (M_APP_INQUIRE_SYS_START+129L)*/
4438 /* to (M_APP_INQUIRE_SYS_START+159L)*/
4439 #define M_LCRM_NOT (M_APP_INQUIRE_SYS_START+160L)
4440 /* Reserve next 31 values from (M_APP_INQUIRE_SYS_START+161L)*/
4441 /* to (M_APP_INQUIRE_SYS_START+191L)*/
4442 #define M_LCRT (M_APP_INQUIRE_SYS_START+192L)
4443 /* Reserve next 31 values from (M_APP_INQUIRE_SYS_START+193L)*/
4444 /* to (M_APP_INQUIRE_SYS_START+223L)*/
4445 #define M_LICENSE_FINGERPRINT (M_APP_INQUIRE_SYS_START+224L)
4446 /* Reserve next 31 values from (M_APP_INQUIRE_SYS_START+225L)*/
4447 /* to (M_APP_INQUIRE_SYS_START+255L)*/
4448 #define M_NAME_OF_BOARD_TYPE (M_APP_INQUIRE_SYS_START+256L)
4449 /* Reserve next 15 values from (M_APP_INQUIRE_SYS_START+257L)*/
4450 /* to (M_APP_INQUIRE_SYS_START+271L)*/
4451 #define M_DISPLAY_NAME_OF_BOARD_TYPE (M_APP_INQUIRE_SYS_START+272L)
4452 /* Reserve next 15 values from (M_APP_INQUIRE_SYS_START+273L)*/
4453 /* to (M_APP_INQUIRE_SYS_START+287L)*/
4454 #define M_RESERVE_WORKSPACE (M_APP_INQUIRE_SYS_START+288L)
4455 #define M_FREE_WORKSPACE (M_APP_INQUIRE_SYS_START+289L)
4456 #define M_DEFAULT_HOST_FROM_ID (M_APP_INQUIRE_SYS_START+290L)
4457 #define M_DEFAULT_WORKSPACE (M_APP_INQUIRE_SYS_START+291L)
4458 
4459 // Display reserved area
4460 /*Reserve values between M_APP_DISPLAY_START and M_APP_DISPLAY_END*/
4461 #define M_APP_DISPLAY_START (M_APP_INQUIRE_SYS_START+300L)
4462 // Value reserved for AppInquire/AppControl to the hardware manager (300 to 349)
4463 #define M_APP_HM_DISPLAY_START M_APP_DISPLAY_START
4464 #define M_MTX0_CAPABLE_DIRECTX_OBJECT (M_APP_HM_DISPLAY_START+0L) // 300
4465 #define M_MTX0_CAPABLE_DIRECTX_OBJECT_COUNT (M_APP_HM_DISPLAY_START+1L) // 301
4466 #define M_SYSTEM_ASSOCIATED_TO_DX_OBJECT (M_APP_HM_DISPLAY_START+2L) // 302
4467 #define M_CLIENT_TO_MONITOR_RECT (M_APP_HM_DISPLAY_START+3L) // 303
4468 #define M_VGA_DEVICE_SYSTEM (M_APP_HM_DISPLAY_START+4L) // 304 to 319
4469  //5L to 19L reserved for M_VGA_DEVICE_SYSTEM
4470 #define M_DUAL_HEAD (M_APP_HM_DISPLAY_START+20L) // 320
4471 #define M_MULTI_MONITOR (M_APP_HM_DISPLAY_START+21L) // 321
4472 #define M_NB_OF_VGA_DEVICE (M_APP_HM_DISPLAY_START+22L) // 322
4473 #define M_VGA_SYSTEM_FROM_PHYSICAL_ADDRESS (M_APP_HM_DISPLAY_START+23L) // 323
4474 #define M_USE_DDRAW_UNDERLAY (M_APP_HM_DISPLAY_START+24L) // 324
4475 #define M_APP_HM_DISPLAY_END (M_APP_HM_DISPLAY_START+49L)
4476 // Value reserved for AppInquire/AppControl to the DirectX display wrapper (350 to 374)
4477 #define M_APP_DX_DISPLAY_START M_APP_HM_DISPLAY_END+1L
4478 #define M_DIRECTX_VERSION M_APP_DX_DISPLAY_START+0L // 350
4479 #define M_DIRECTX_CAN_CREATE_OVER_HOST_MEMORY M_APP_DX_DISPLAY_START+1L // 351
4480 #define M_APP_DX_DISPLAY_END M_APP_DX_DISPLAY_START+24L
4481 // General purpose AppInquire/AppControl for MilDisplay (375 to 399)
4482 #define M_APP_GENERAL_DISPLAY_START (M_APP_DX_DISPLAY_END+1L) // 375
4483 #define M_CAN_ALLOC_MTX0 (M_APP_GENERAL_DISPLAY_START+0L) // 375
4484 #define M_DISPLAY_CONTROL_PANEL (M_APP_GENERAL_DISPLAY_START+1L) // 376
4485 // End of reserved value for display
4486 #define M_APP_DISPLAY_END (M_APP_INQUIRE_SYS_START+399L)
4487 #define M_IS_IN_DISPLAY_APP_HM_RANGE(X) ((X>=M_APP_HM_DISPLAY_START) && (X<=M_APP_HM_DISPLAY_END))
4488 #define M_IS_IN_DISPLAY_APP_DX_RANGE(X) ((X>=M_APP_DX_DISPLAY_START) && (X<=M_APP_DX_DISPLAY_END))
4489 #define M_IS_IN_DISPLAY_APP_RANGE(X) ((X>=M_APP_DISPLAY_START) && (X<=M_APP_DISPLAY_END))
4490 
4491 
4492 #define M_DIRECT_ACCESS_START (M_APP_INQUIRE_SYS_START+400L)
4493 #define M_REG_DEF_START (M_APP_INQUIRE_SYS_START+400L)
4494 /*Reserve values between M_REG_DEF_START and M_REG_DEF_END*/
4495 #define M_REG_DEF_BOARD_NAME (M_APP_INQUIRE_SYS_START+401L)
4496 #define M_REG_DEF_SYSTEM_NAME (M_APP_INQUIRE_SYS_START+402L)
4497 #define M_REG_DEF_SYSTEM_DISPLAYABLE_NAME (M_APP_INQUIRE_SYS_START+403L )
4498 #define M_REG_DEF_SYSTEM_DEV (M_APP_INQUIRE_SYS_START+404L)
4499 #define M_REG_DEF_BUFFER_SIZEBAND (M_APP_INQUIRE_SYS_START+405L)
4500 #define M_REG_DEF_BUFFER_SIZEX (M_APP_INQUIRE_SYS_START+406L)
4501 #define M_REG_DEF_BUFFER_SIZEY (M_APP_INQUIRE_SYS_START+407L)
4502 #define M_REG_DEF_DISPLAY_DEV (M_APP_INQUIRE_SYS_START+408L)
4503 #define M_REG_DEF_DISPLAY_TYPE (M_APP_INQUIRE_SYS_START+409L)
4504 #define M_REG_DEF_DISPLAY_FORMAT (M_APP_INQUIRE_SYS_START+410L)
4505 #define M_REG_DEF_DIG_DEV (M_APP_INQUIRE_SYS_START+411L)
4506 #define M_REG_DEF_DIG_FORMAT (M_APP_INQUIRE_SYS_START+412L)
4507 #define M_REG_DEF_USE_CURRENT_USER (M_APP_INQUIRE_SYS_START+413L)
4508 #define M_REG_DEF_SYSTEM_CAN_GRAB (M_APP_INQUIRE_SYS_START+414L)
4509 #define M_REG_DEF_END (M_APP_INQUIRE_SYS_START+430L)
4510 
4511 #define M_REG_DRIVERS_PATH (M_APP_INQUIRE_SYS_START+431L)
4512 #define M_REG_INSTALL_DIR (M_APP_INQUIRE_SYS_START+432L)
4513 #define M_START_LICENSE_MANAGER (M_APP_INQUIRE_SYS_START+433L)
4514 #define M_DUMP_ID_TABLE (M_APP_INQUIRE_SYS_START+434L)
4515 #define M_DEFAULT_SYSTEM_ID (M_APP_INQUIRE_SYS_START+435L)
4516 #define M_REG_DEF_RESET (M_APP_INQUIRE_SYS_START+436L)
4517 #define M_DIRECT_ACCESS_END (M_APP_INQUIRE_SYS_START+499L)
4518 
4519 #define M_NON_PAGED_MEMORY_FREE (M_APP_INQUIRE_SYS_START+500L)
4520 #define M_NON_PAGED_MEMORY_USED (M_APP_INQUIRE_SYS_START+501L)
4521 #define M_NON_PAGED_MEMORY_SIZE (M_APP_INQUIRE_SYS_START+502L)
4522 
4523 #define M_USE_NEW_DISPLAYS (M_APP_INQUIRE_SYS_START+0x00000200L) /*512L*/
4524 #define M_MEMORY_ALLOC_PRE_PADDING (M_APP_INQUIRE_SYS_START+513L)
4525 #define M_MEMORY_ALLOC_POST_PADDING (M_APP_INQUIRE_SYS_START+514L)
4526 #define M_MEMORY_ALLOC_PITCH_BYTE (M_APP_INQUIRE_SYS_START+515L)
4527 #define M_MEMORY_ALLOC_ALIGNMENT (M_APP_INQUIRE_SYS_START+516L)
4528 
4529 #define M_IMAGING_BOARD_TYPE (M_APP_INQUIRE_SYS_START+528L)
4530 /* Reserve next 15 values from (M_APP_INQUIRE_SYS_START+529L)*/
4531 /* to (M_APP_INQUIRE_SYS_START+543L)*/
4532 #define M_LICENSER_LONG_NAME (M_APP_INQUIRE_SYS_START+544L)
4533 /* Reserve next 31 values from (M_APP_INQUIRE_SYS_START+545L)*/
4534 /* to (M_APP_INQUIRE_SYS_START+575L)*/
4535 #define M_LICENSER_SHORT_NAME (M_APP_INQUIRE_SYS_START+576L)
4536 /* Reserve next 31 values from (M_APP_INQUIRE_SYS_START+577L)*/
4537 /* to (M_APP_INQUIRE_SYS_START+607L)*/
4538 #define M_LICENSER_SCORE (M_APP_INQUIRE_SYS_START+608L)
4539 /* Reserve next 31 values from (M_APP_INQUIRE_SYS_START+609L)*/
4540 /* to (M_APP_INQUIRE_SYS_START+639L)*/
4541 #define M_LCRM_SOFT (M_APP_INQUIRE_SYS_START+640L)
4542 /* Reserve next 15 values from (M_APP_INQUIRE_SYS_START+641L)*/
4543 /* to (M_APP_INQUIRE_SYS_START+671L)*/
4544 
4545 
4546 
4547 /************************************************************************/
4548 /* Licensing: Module information */
4549 /************************************************************************/
4550 #define M_LICENSE_LITE 0x00000001L //0L
4551 #define M_LICENSE_DEBUG 0x00000002L //1L
4552 #define M_LICENSE_IM 0x00000004L //2L
4553 #define M_LICENSE_CODE 0x00000008L //3L
4554 #define M_LICENSE_MEAS 0x00000010L //4L
4555 #define M_LICENSE_PAT 0x00000020L //5L
4556 #define M_LICENSE_MOD 0x00000040L //6L
4557 #define M_LICENSE_JPEG2000 0x00000080L //7L
4558 #define M_LICENSE_BGA 0x00000100L //8L
4559 #define M_LICENSE_BLOB 0x00000200L //9L
4560 #define M_LICENSE_CAL 0x00000400L //10L
4561 #define M_LICENSE_OCR 0x00000800L //11L
4562 #define M_LICENSE_JPEGSTD 0x00001000L //12L
4563 #define M_LICENSE_INSP3X 0x00200000L //21L
4564 #define M_LICENSE_INSP40 0x00400000L //22L
4565 #define M_LICENSE_METEOR_II_1394 0x00800000L //23L
4566 #define M_LICENSE_EDGE 0x01000000L //24L
4567 
4568 #define M_MATROX_VGA_FINGERPRINT (M_LICENSE_FINGERPRINT+2)
4569 #define M_ETHERNET_FINGERPRINT (M_LICENSE_FINGERPRINT+7)
4570 #define M_HARD_ID_KEY_FINGERPRINT (M_LICENSE_FINGERPRINT+8)
4571 #define M_METEOR_II_1394_FINGERPRINT (M_LICENSE_FINGERPRINT+21)
4572 #define M_CORONA_II_FINGERPRINT (M_LICENSE_FINGERPRINT+23)
4573 #define M_ORION_FINGERPRINT (M_LICENSE_FINGERPRINT+24)
4574 #define M_CRONOS_FINGERPRINT (M_LICENSE_FINGERPRINT+25)
4575 #define M_ODYSSEY_FINGERPRINT (M_LICENSE_FINGERPRINT+26)
4576 #define M_CRONOSPLUS_FINGERPRINT (M_LICENSE_FINGERPRINT+27)
4577 #define M_HELIOS_FINGERPRINT (M_LICENSE_FINGERPRINT+28)
4578 #define M_MORPHIS_FINGERPRINT (M_LICENSE_FINGERPRINT+29)
4579 #define M_IRIS_FINGERPRINT (M_LICENSE_FINGERPRINT+30)
4580 #define M_MATROX_BOARD_FINGERPRINT (M_LICENSE_FINGERPRINT+31)
4581 
4582 
4583 #define M_MODIFIED_BUFFER_HANDLER_PTR 0x10000000L // Must not interfere with M_ERROR
4584 #define M_MODIFIED_BUFFER_HANDLER_USER_PTR 0x20000000L // Must not interfere with M_ERROR
4585 #define M_OBJECT_TYPE 0x80000000L
4586 
4587 
4588 /************************************************************************/
4589 /* MWrite() / MpatRead() Types */
4590 /************************************************************************/
4591 #define M_FILE 25L
4592 
4593 
4594 /************************************************************************/
4595 /* MappInquire() / MappControl() Values */
4596 /************************************************************************/
4597 #define M_PARAMETER_CHECK 0x00000001L
4598 #define M_PRINT_DISABLE 0L
4599 #define M_PRINT_ENABLE 1L
4600 #define M_CHECK_DISABLE 2L
4601 #define M_CHECK_ENABLE 3L
4602 #define M_COMPENSATION_DISABLE 4L
4603 #define M_COMPENSATION_ENABLE 5L
4604 #define M_PRINT_INTERNAL 6L
4605 #define M_HOOK_CONTEXT_SIZE 7L
4606 #define M_ENABLE_FOR_ALL_FUNCTIONS 8L
4607 #define M_DISABLE_FOR_SOME_FUNCTIONS 9L
4608 
4609 #define M_THREAD_RECURSIVE 0x00800000L /* Bit field exclusive to M_TRACE to M_PROCESSING (3L to 6L) */
4610 #define M_THREAD_CURRENT 0x01000000L /* M_TRACE_START (1L) */
4611  /* M_TRACE_END (2L) */
4612  /* M_ERROR (0x40000000) */
4613  /* M_MESSAGE (0x20000000) */
4614  /* M_CURRENT to M_REGION_SIZE_Y (1L to 44L) */
4615  /* M_UNHOOK (0x04000000) */
4616 
4617 #define M_TIMER_ALLOC 1L
4618 #define M_TIMER_FREE 2L
4619 #define M_TIMER_RESOLUTION 3L
4620 #define M_TIMER_RESET 4L
4621 #define M_TIMER_READ 5L
4622 #define M_TIMER_WAIT 6L
4623 #define M_TIMER_COMPENSATION 7L
4624 #define M_TIMER_WAIT_EXACT 8L
4625 #define M_TIMER_LOCK_TO_CPU 9L
4626 #define M_TIMER_UNLOCK_FROM_CPU 10L
4627 #define M_TIMER_SINGLE_CPU 11L
4628 #define M_TIMER_MULTI_CPU 12L
4629 #define M_TIMER_MIL_NOP 0x8000L
4630 
4631 
4632 /************************************************************************/
4633 /* MappModify() */
4634 /************************************************************************/
4635 #define M_SWAP_ID 1L
4636 
4637 /************************************************************************/
4638 /* Binary functions in BLOB module. */
4639 /************************************************************************/
4640 #define M_LENGTH 0x00002000L
4641 
4642 /************************************************************************/
4643 /* MmeasCalculate(), MmeasGetResult(), MpatGetResult() */
4644 /************************************************************************/
4645 #define M_ANGLE 0x00000800L
4646 #define M_ORIENTATION 0x00002400L
4647 
4648 /************************************************************************/
4649 /* MblobControl() and/or MblobInquire() values and MmeasControl() */
4650 /************************************************************************/
4651 #define M_PIXEL_ASPECT_RATIO 5L
4652 
4653 /***********************************************************************/
4654 /* MfuncParam... defines */
4655 /***********************************************************************/
4656 #define M_READ 1
4657 #define M_WRITE 2
4658 #define M_PA_FUNC_MAX_NB_PARAM M_NB_MAX_PARAMETER
4659 
4660 /************************************************************************/
4661 /* MfuncPrintMessage() defines */
4662 /************************************************************************/
4663 #define M_RESP_YES 1L
4664 #define M_RESP_NO 2L
4665 #define M_RESP_CANCEL 4L
4666 #define M_RESP_YES_NO (M_RESP_YES|M_RESP_NO)
4667 #define M_RESP_YES_NO_CANCEL (M_RESP_YES|M_RESP_NO|M_RESP_CANCEL)
4668 
4669 /************************************************************************/
4670 /* MfuncCalibrationInfo() defines */
4671 /************************************************************************/
4672 #define M_COPY_CALIBRATION_INFO 3L
4673 #define M_COMPARE_CALIBRATION_INFO 4L
4674 
4675 #define M_GET_CALIBRATION_ID 5L
4676 #define M_GET_CORRECTION_STATE 7L
4677 #define M_GET_PARENT_OFFSET_X 8L
4678 #define M_GET_PARENT_OFFSET_Y 9L
4679 
4680 #define M_CLEAR_CALIBRATION_ID 10L
4681 #define M_DELETE_OBJECT_ID 11L
4682 #define M_CLEAR_OBJECT_ID 12L
4683 
4684 #define M_ADD_CALIBRATION_USE 20L
4685 #define M_REMOVE_CALIBRATION_USE 21L
4686 #define M_USE_CALIBRATION 22L
4687 
4688 //#ifdef M_MIL_75_COMPATIBLE
4689 #define M_DISABLE_OBJECT 40L //TBR MIL 8.0
4690 #define M_ENABLE_OBJECT 41L
4691 #define M_FORCE_DISABLING_LEVEL 43L
4692 //#endif // M_MIL_75_COMPATIBLE
4693 
4694 /************************************************************************/
4695 /* MfuncAlloc defines */
4696 /************************************************************************/
4697 #ifndef M_MIL_75_COMPATIBLE
4698 #define M_USER_FUNCTION 0x8000E000
4699 #define M_USER_MODULE_1 0x8000E200
4700 #define M_USER_MODULE_2 0x8000E400
4701 #define M_USER_MODULE_3 0x8000E600
4702 #define M_USER_MODULE_4 0x8000E800
4703 #define M_USER_MODULE_5 0x8000EA00
4704 #define M_USER_MODULE_6 0x8000EC00
4705 #define M_USER_MODULE_7 0x8000EE00
4706 #else
4707 #define M_USER_MODULE_1 0x8000E000
4708 #define M_USER_MODULE_2 0x8000E200
4709 #define M_USER_MODULE_3 0x8000E400
4710 #define M_USER_MODULE_4 0x8000E600
4711 #define M_USER_MODULE_5 0x8000E800
4712 #define M_USER_MODULE_6 0x8000EA00
4713 #define M_USER_MODULE_7 0x8000EC00
4714 //#define M_USER_MODULE_8 0x8000EE00
4715 #define M_USER_FUNCTION 0x8000F200
4716 #endif //M_MIL_75_COMPATIBLE
4717 #define M_USER_MODULE_PA 0x8000F000
4718 #define M_USER_PA_FUNCTION M_USER_MODULE_PA
4719 #define M_USER_MODULE_MASK 0x8000FF00
4720 
4721 #define M_ALLOC 0x00010000
4722 #define M_FREE 0x00020000
4723 #define M_SYNCHRONOUS_FUNCTION 0x00080000
4724 #define M_ASYNCHRONOUS_FUNCTION 0x00000000
4725 #define M_LOCAL 0x01000000
4726 #define M_REMOTE 0x00000000
4727 #define M_NB_MAX_PARAMETER 16
4728 #define M_NUMBER_OF_USER_MODULES 10L
4729 
4730 #define M_CACHE_FLUSH 8192L
4731 #define M_NON_PAGED 0x00200000L
4732 #define M_PAGED 0x02000000L
4733 #define M_DEFAULT 0x10000000L
4734 
4735 /************************************************************************/
4736 /* MfuncControl/MfuncInquire() defines */
4737 /************************************************************************/
4738 #define M_USER_DATA_PTR 1
4739 #define M_DRIVER_INFO_PTR 2
4740 #define M_INTERNAL_CALL 3
4741 #define M_MIL_TIMER_INIT 4
4742 #define M_MIL_TIMER_DUMP 5
4743 /*Reserve 6
4744  and 7 */
4745 #define M_ASSOCIATED_NAME 8
4746 #define M_RESULT_Q_PTR 9
4747 #define M_OBJECT_PTR 10
4748 #define M_FUNCTION_NAME_FROM_OPCODE 11
4749 #define M_FUNCTION_NAME 12
4750 #define M_SLAVE_FUNCTION_PTR 13
4751 #define M_SLAVE_DLL_NAME 14
4752 #define M_SLAVE_DLL_NAME_SIZE 15
4753 #define M_SLAVE_FUNCTION_NAME 16
4754 #define M_SLAVE_FUNCTION_NAME_SIZE 17
4755 #define M_SLAVE_FUNCTION_OPCODE 18
4756 #define M_INITFLAG 19
4757 #define M_PARAM_NUMBER 20
4758 #define M_USING_MODULES 21
4759 #define M_OBJECT_LOCK 22
4760 #define M_PUSH_TRACE_LEVEL 23
4761 #define M_POP_TRACE_LEVEL 24
4762 
4763 
4764 #define M_FUNCTION_NAME_SIZE 32L
4765 
4766 #define M_PARAM_TYPE 0x10000000L
4767 /* Reserve next 15 values from 0x10000001L*/
4768 /* to 0x1000000FL*/
4769 
4770 #define M_OBJECT_TYPE 0x80000000L
4771 
4772 /************************************************************************/
4773 /* Mfile() defines */
4774 /************************************************************************/
4775 #define M_NO_MEMORY 1L
4776 
4777 
4778 /************************************************************************/
4779 /* MilGPU */
4780 /************************************************************************/
4781  /* Vertex processing type */
4782 #define M_SOFTWARE 20L
4783 #define M_HARDWARE 21L
4784 #define M_MIXED 22L
4785 
4786 
4787 /************************************************************************/
4788 /* MobjControl() defines */
4789 /************************************************************************/
4790 #define M_MAP_HOOK_CONTEXT 1L
4791 #define M_INIT_HOOK_CONTEXT 2L
4792 #define M_ASSOCIATED_CALIBRATION 125L // already defined in milcal.h
4793 
4794 
4795 /************************************************************************/
4796 /* Special defines required to pass a pointer to a function that needs */
4797 /* a double. (use in McalControl to set a user string in the context) */
4798 /************************************************************************/
4799 #define M_PTR_TO_DOUBLE(ptr) ((double) MPtrToInt((void*)(ptr)))
4800 #define M_STRING_TO_DOUBLE(ptr) M_PTR_TO_DOUBLE((ptr))
4801 
4802 
4803 /************************************************************************/
4804 /* MIL OPTIONAL COMPILE DEFINES prefixes */
4805 /************************************************************************/
4806 
4807 #if M_MIL_USE_WINDOWS
4808  #define MFTYPE _stdcall // Exported Function type (32 bits)
4809  #define MFHOOKTYPE _stdcall // Same as MFTYPE, for internal use only.
4810  #define MFTYPE32 // Exported Function type (32 bits)
4811  #define MFCTYPE _stdcall // Exported C Function type (32 bits)
4812  #define MFCTYPE32 // Exported C Function type (32 bits)
4813  #define MFTYPEHT _stdcall // Non Exported Function type
4814  #define MPTYPE // Pointer and Reference type
4815  #define MFINLINE inline // Inline function type
4816  #define MHUGETYPE // To force HUGE pointers
4817  #define MFARTYPE // To force FAR type pointers
4818  #define MINTFTYPE _stdcall // Interrupt Function type (16 bits)
4819  #define MREGTYPE register // Register type variables
4820 #elif M_MIL_USE_PPC || M_MIL_USE_LINUX
4821 // Much more to define for MIL generation on PPC
4822  #define MFTYPE // Exported Function type (16 bits)
4823  #define MFHOOKTYPE // Same as MFTYPE, for internal use only.
4824  #define MFTYPE32 // Exported Function type (32 bits)
4825  #define MFCTYPE // Exported C Function type (16 bits)
4826  #define MFCTYPE32 // Exported C Function type (32 bits)
4827  #define MFTYPEHT // Non Exported Function type
4828  #define MPTYPE // Pointer and Reference type
4829  #define MFINLINE inline // Inline function type
4830  #define MHUGETYPE // To force HUGE pointers
4831  #define MFARTYPE // To force FAR type pointers
4832  #define MINTFTYPE MFTYPE // Interrupt Function type (16 bits)
4833  #define MREGTYPE register // Register type variables
4834 #else
4835  #error Operating system not supported in Mil.h!
4836 #endif
4837 
4838 
4839 
4840 /************************************************************************/
4841 /* MIL OS support */
4842 /************************************************************************/
4843 #include <milos.h>
4844 
4845 /************************************************************************/
4846 /* Temporary define */
4847 /************************************************************************/
4848 //Not activated for the moment
4849 #if M_MIL_USE_64_BIT_ATTRIBUTES
4851 #else
4852 typedef long BUFATTRTYPE;
4853 #endif
4854 
4855 /************************************************************************/
4856 /* MIL command decoder functions */
4857 #include <mildec.h>
4858 
4859 #ifndef __midl /* IDL compiler used by ActiveMIL */
4860 
4861 /************************************************************************/
4862 /* MIL library prototypes */
4863 #include <milproto.h>
4864 
4865 /************************************************************************/
4866 /* MIL custom-made header file*/
4867 #include <mildyn.h>
4868 
4869 #endif
4870 
4871 /************************************************************************/
4872 /* Make sure that M_MIL_USE_NT_WINDOWS is not defined (obsolete) */
4873 #ifdef M_MIL_USE_NT_WINDOWS
4874  #error M_MIL_USE_NT_WINDOWS is obsolete use M_MIL_USE_WINDOWS instead
4875 #endif
4876 
4877 #endif
long MIL_ID
Definition: AcqOdyssey.h:45
struct _MRECT MRECT
MBTAUTOSCALE * LPMBTAUTOSCALE
Definition: Mil.h:3591
struct _MBTAUTOSCALE MBTAUTOSCALE
MIL_INT64 BUFATTRTYPE
Definition: Mil.h:4850
long MIL_ID
Definition: Mil.h:61
MRECT * LPMRECT
Definition: Mil.h:3429
__int64 MIL_INT64
Definition: Milos.h:249
Definition: Mil.h:3586
double Maximum
Definition: Mil.h:3588
double Minimum
Definition: Mil.h:3587
MIL_ID LutId
Definition: Mil.h:3589
Definition: Mil.h:3422
long top
Definition: Mil.h:3424
long right
Definition: Mil.h:3425
long left
Definition: Mil.h:3423
long bottom
Definition: Mil.h:3426