rust_halcon/
bindings.rs

1/* automatically generated by rust-bindgen 0.71.1 */
2
3#[repr(C)]
4#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
5pub struct __BindgenBitfieldUnit<Storage> {
6    storage: Storage,
7}
8impl<Storage> __BindgenBitfieldUnit<Storage> {
9    #[inline]
10    pub const fn new(storage: Storage) -> Self {
11        Self { storage }
12    }
13}
14impl<Storage> __BindgenBitfieldUnit<Storage>
15where
16    Storage: AsRef<[u8]> + AsMut<[u8]>,
17{
18    #[inline]
19    fn extract_bit(byte: u8, index: usize) -> bool {
20        let bit_index = if cfg!(target_endian = "big") {
21            7 - (index % 8)
22        } else {
23            index % 8
24        };
25        let mask = 1 << bit_index;
26        byte & mask == mask
27    }
28    #[inline]
29    pub fn get_bit(&self, index: usize) -> bool {
30        debug_assert!(index / 8 < self.storage.as_ref().len());
31        let byte_index = index / 8;
32        let byte = self.storage.as_ref()[byte_index];
33        Self::extract_bit(byte, index)
34    }
35    #[inline]
36    pub fn raw_get_bit(this: *const Self, index: usize) -> bool {
37        debug_assert!(index / 8 < core::mem::size_of::<Storage>());
38        let byte_index = index / 8;
39        let byte = unsafe {
40            *(core::ptr::addr_of!((*this).storage) as *const u8).offset(byte_index as isize)
41        };
42        Self::extract_bit(byte, index)
43    }
44    #[inline]
45    fn change_bit(byte: u8, index: usize, val: bool) -> u8 {
46        let bit_index = if cfg!(target_endian = "big") {
47            7 - (index % 8)
48        } else {
49            index % 8
50        };
51        let mask = 1 << bit_index;
52        if val { byte | mask } else { byte & !mask }
53    }
54    #[inline]
55    pub fn set_bit(&mut self, index: usize, val: bool) {
56        debug_assert!(index / 8 < self.storage.as_ref().len());
57        let byte_index = index / 8;
58        let byte = &mut self.storage.as_mut()[byte_index];
59        *byte = Self::change_bit(*byte, index, val);
60    }
61    #[inline]
62    pub fn raw_set_bit(this: *mut Self, index: usize, val: bool) {
63        debug_assert!(index / 8 < core::mem::size_of::<Storage>());
64        let byte_index = index / 8;
65        let byte = unsafe {
66            (core::ptr::addr_of_mut!((*this).storage) as *mut u8).offset(byte_index as isize)
67        };
68        unsafe {
69            *byte = Self::change_bit(*byte, index, val);
70        }
71    }
72    #[inline]
73    pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64 {
74        debug_assert!(bit_width <= 64);
75        debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
76        debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
77        let mut val = 0;
78        for i in 0..(bit_width as usize) {
79            if self.get_bit(i + bit_offset) {
80                let index = if cfg!(target_endian = "big") {
81                    bit_width as usize - 1 - i
82                } else {
83                    i
84                };
85                val |= 1 << index;
86            }
87        }
88        val
89    }
90    #[inline]
91    pub unsafe fn raw_get(this: *const Self, bit_offset: usize, bit_width: u8) -> u64 {
92        debug_assert!(bit_width <= 64);
93        debug_assert!(bit_offset / 8 < core::mem::size_of::<Storage>());
94        debug_assert!((bit_offset + (bit_width as usize)) / 8 <= core::mem::size_of::<Storage>());
95        let mut val = 0;
96        for i in 0..(bit_width as usize) {
97            if Self::raw_get_bit(this, i + bit_offset) {
98                let index = if cfg!(target_endian = "big") {
99                    bit_width as usize - 1 - i
100                } else {
101                    i
102                };
103                val |= 1 << index;
104            }
105        }
106        val
107    }
108    #[inline]
109    pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64) {
110        debug_assert!(bit_width <= 64);
111        debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
112        debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
113        for i in 0..(bit_width as usize) {
114            let mask = 1 << i;
115            let val_bit_is_set = val & mask == mask;
116            let index = if cfg!(target_endian = "big") {
117                bit_width as usize - 1 - i
118            } else {
119                i
120            };
121            self.set_bit(index + bit_offset, val_bit_is_set);
122        }
123    }
124    #[inline]
125    pub fn raw_set(this: *mut Self, bit_offset: usize, bit_width: u8, val: u64) {
126        debug_assert!(bit_width <= 64);
127        debug_assert!(bit_offset / 8 < core::mem::size_of::<Storage>());
128        debug_assert!((bit_offset + (bit_width as usize)) / 8 <= core::mem::size_of::<Storage>());
129        for i in 0..(bit_width as usize) {
130            let mask = 1 << i;
131            let val_bit_is_set = val & mask == mask;
132            let index = if cfg!(target_endian = "big") {
133                bit_width as usize - 1 - i
134            } else {
135                i
136            };
137
138            Self::raw_set_bit(this, index + bit_offset, val_bit_is_set);
139        }
140    }
141}
142pub const _VCRT_COMPILER_PREPROCESSOR: u32 = 1;
143pub const _SAL_VERSION: u32 = 20;
144pub const __SAL_H_VERSION: u32 = 180000000;
145pub const _USE_DECLSPECS_FOR_SAL: u32 = 0;
146pub const _USE_ATTRIBUTES_FOR_SAL: u32 = 0;
147pub const _CRT_PACKING: u32 = 8;
148pub const _HAS_EXCEPTIONS: u32 = 1;
149pub const _STL_LANG: u32 = 0;
150pub const _HAS_CXX17: u32 = 0;
151pub const _HAS_CXX20: u32 = 0;
152pub const _HAS_CXX23: u32 = 0;
153pub const _HAS_NODISCARD: u32 = 0;
154pub const _ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE: u32 = 1;
155pub const _CRT_BUILD_DESKTOP_APP: u32 = 1;
156pub const _ARGMAX: u32 = 100;
157pub const _CRT_INT_MAX: u32 = 2147483647;
158pub const _CRT_FUNCTIONS_REQUIRED: u32 = 1;
159pub const _CRT_HAS_CXX17: u32 = 0;
160pub const _CRT_HAS_C11: u32 = 1;
161pub const _CRT_INTERNAL_NONSTDC_NAMES: u32 = 1;
162pub const __STDC_SECURE_LIB__: u32 = 200411;
163pub const __GOT_SECURE_LIB__: u32 = 200411;
164pub const __STDC_WANT_SECURE_LIB__: u32 = 1;
165pub const _SECURECRT_FILL_BUFFER_PATTERN: u32 = 254;
166pub const _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES: u32 = 0;
167pub const _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT: u32 = 0;
168pub const _CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES: u32 = 1;
169pub const _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_MEMORY: u32 = 0;
170pub const _CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES_MEMORY: u32 = 0;
171pub const _MAX_ITOSTR_BASE16_COUNT: u32 = 9;
172pub const _MAX_ITOSTR_BASE10_COUNT: u32 = 12;
173pub const _MAX_ITOSTR_BASE8_COUNT: u32 = 12;
174pub const _MAX_ITOSTR_BASE2_COUNT: u32 = 33;
175pub const _MAX_LTOSTR_BASE16_COUNT: u32 = 9;
176pub const _MAX_LTOSTR_BASE10_COUNT: u32 = 12;
177pub const _MAX_LTOSTR_BASE8_COUNT: u32 = 12;
178pub const _MAX_LTOSTR_BASE2_COUNT: u32 = 33;
179pub const _MAX_ULTOSTR_BASE16_COUNT: u32 = 9;
180pub const _MAX_ULTOSTR_BASE10_COUNT: u32 = 11;
181pub const _MAX_ULTOSTR_BASE8_COUNT: u32 = 12;
182pub const _MAX_ULTOSTR_BASE2_COUNT: u32 = 33;
183pub const _MAX_I64TOSTR_BASE16_COUNT: u32 = 17;
184pub const _MAX_I64TOSTR_BASE10_COUNT: u32 = 21;
185pub const _MAX_I64TOSTR_BASE8_COUNT: u32 = 23;
186pub const _MAX_I64TOSTR_BASE2_COUNT: u32 = 65;
187pub const _MAX_U64TOSTR_BASE16_COUNT: u32 = 17;
188pub const _MAX_U64TOSTR_BASE10_COUNT: u32 = 21;
189pub const _MAX_U64TOSTR_BASE8_COUNT: u32 = 23;
190pub const _MAX_U64TOSTR_BASE2_COUNT: u32 = 65;
191pub const CHAR_BIT: u32 = 8;
192pub const SCHAR_MIN: i32 = -128;
193pub const SCHAR_MAX: u32 = 127;
194pub const UCHAR_MAX: u32 = 255;
195pub const CHAR_MIN: i32 = -128;
196pub const CHAR_MAX: u32 = 127;
197pub const MB_LEN_MAX: u32 = 5;
198pub const SHRT_MIN: i32 = -32768;
199pub const SHRT_MAX: u32 = 32767;
200pub const USHRT_MAX: u32 = 65535;
201pub const INT_MIN: i32 = -2147483648;
202pub const INT_MAX: u32 = 2147483647;
203pub const UINT_MAX: u32 = 4294967295;
204pub const LONG_MIN: i32 = -2147483648;
205pub const LONG_MAX: u32 = 2147483647;
206pub const ULONG_MAX: u32 = 4294967295;
207pub const EXIT_SUCCESS: u32 = 0;
208pub const EXIT_FAILURE: u32 = 1;
209pub const _WRITE_ABORT_MSG: u32 = 1;
210pub const _CALL_REPORTFAULT: u32 = 2;
211pub const _OUT_TO_DEFAULT: u32 = 0;
212pub const _OUT_TO_STDERR: u32 = 1;
213pub const _OUT_TO_MSGBOX: u32 = 2;
214pub const _REPORT_ERRMODE: u32 = 3;
215pub const RAND_MAX: u32 = 32767;
216pub const _CVTBUFSIZE: u32 = 349;
217pub const _MAX_PATH: u32 = 260;
218pub const _MAX_DRIVE: u32 = 3;
219pub const _MAX_DIR: u32 = 256;
220pub const _MAX_FNAME: u32 = 256;
221pub const _MAX_EXT: u32 = 256;
222pub const _MAX_ENV: u32 = 32767;
223pub const FLT_EVAL_METHOD: u32 = 0;
224pub const DBL_DECIMAL_DIG: u32 = 17;
225pub const DBL_DIG: u32 = 15;
226pub const DBL_HAS_SUBNORM: u32 = 1;
227pub const DBL_MANT_DIG: u32 = 53;
228pub const DBL_MAX_10_EXP: u32 = 308;
229pub const DBL_MAX_EXP: u32 = 1024;
230pub const DBL_MIN_10_EXP: i32 = -307;
231pub const DBL_MIN_EXP: i32 = -1021;
232pub const _DBL_RADIX: u32 = 2;
233pub const FLT_DECIMAL_DIG: u32 = 9;
234pub const FLT_DIG: u32 = 6;
235pub const FLT_HAS_SUBNORM: u32 = 1;
236pub const FLT_GUARD: u32 = 0;
237pub const FLT_MANT_DIG: u32 = 24;
238pub const FLT_MAX_10_EXP: u32 = 38;
239pub const FLT_MAX_EXP: u32 = 128;
240pub const FLT_MIN_10_EXP: i32 = -37;
241pub const FLT_MIN_EXP: i32 = -125;
242pub const FLT_NORMALIZE: u32 = 0;
243pub const FLT_RADIX: u32 = 2;
244pub const LDBL_DIG: u32 = 15;
245pub const LDBL_HAS_SUBNORM: u32 = 1;
246pub const LDBL_MANT_DIG: u32 = 53;
247pub const LDBL_MAX_10_EXP: u32 = 308;
248pub const LDBL_MAX_EXP: u32 = 1024;
249pub const LDBL_MIN_10_EXP: i32 = -307;
250pub const LDBL_MIN_EXP: i32 = -1021;
251pub const _LDBL_RADIX: u32 = 2;
252pub const DECIMAL_DIG: u32 = 17;
253pub const _SW_INEXACT: u32 = 1;
254pub const _SW_UNDERFLOW: u32 = 2;
255pub const _SW_OVERFLOW: u32 = 4;
256pub const _SW_ZERODIVIDE: u32 = 8;
257pub const _SW_INVALID: u32 = 16;
258pub const _SW_DENORMAL: u32 = 524288;
259pub const _EM_AMBIGUIOUS: u32 = 2147483648;
260pub const _EM_AMBIGUOUS: u32 = 2147483648;
261pub const _MCW_EM: u32 = 524319;
262pub const _EM_INEXACT: u32 = 1;
263pub const _EM_UNDERFLOW: u32 = 2;
264pub const _EM_OVERFLOW: u32 = 4;
265pub const _EM_ZERODIVIDE: u32 = 8;
266pub const _EM_INVALID: u32 = 16;
267pub const _EM_DENORMAL: u32 = 524288;
268pub const _MCW_RC: u32 = 768;
269pub const _RC_NEAR: u32 = 0;
270pub const _RC_DOWN: u32 = 256;
271pub const _RC_UP: u32 = 512;
272pub const _RC_CHOP: u32 = 768;
273pub const _MCW_PC: u32 = 196608;
274pub const _PC_64: u32 = 0;
275pub const _PC_53: u32 = 65536;
276pub const _PC_24: u32 = 131072;
277pub const _MCW_IC: u32 = 262144;
278pub const _IC_AFFINE: u32 = 262144;
279pub const _IC_PROJECTIVE: u32 = 0;
280pub const _MCW_DN: u32 = 50331648;
281pub const _DN_SAVE: u32 = 0;
282pub const _DN_FLUSH: u32 = 16777216;
283pub const _DN_FLUSH_OPERANDS_SAVE_RESULTS: u32 = 33554432;
284pub const _DN_SAVE_OPERANDS_FLUSH_RESULTS: u32 = 50331648;
285pub const _SW_UNEMULATED: u32 = 64;
286pub const _SW_SQRTNEG: u32 = 128;
287pub const _SW_STACKOVERFLOW: u32 = 512;
288pub const _SW_STACKUNDERFLOW: u32 = 1024;
289pub const _FPE_INVALID: u32 = 129;
290pub const _FPE_DENORMAL: u32 = 130;
291pub const _FPE_ZERODIVIDE: u32 = 131;
292pub const _FPE_OVERFLOW: u32 = 132;
293pub const _FPE_UNDERFLOW: u32 = 133;
294pub const _FPE_INEXACT: u32 = 134;
295pub const _FPE_UNEMULATED: u32 = 135;
296pub const _FPE_SQRTNEG: u32 = 136;
297pub const _FPE_STACKOVERFLOW: u32 = 138;
298pub const _FPE_STACKUNDERFLOW: u32 = 139;
299pub const _FPE_EXPLICITGEN: u32 = 140;
300pub const _FPE_MULTIPLE_TRAPS: u32 = 141;
301pub const _FPE_MULTIPLE_FAULTS: u32 = 142;
302pub const _FPCLASS_SNAN: u32 = 1;
303pub const _FPCLASS_QNAN: u32 = 2;
304pub const _FPCLASS_NINF: u32 = 4;
305pub const _FPCLASS_NN: u32 = 8;
306pub const _FPCLASS_ND: u32 = 16;
307pub const _FPCLASS_NZ: u32 = 32;
308pub const _FPCLASS_PZ: u32 = 64;
309pub const _FPCLASS_PD: u32 = 128;
310pub const _FPCLASS_PN: u32 = 256;
311pub const _FPCLASS_PINF: u32 = 512;
312pub const _CW_DEFAULT: u32 = 524319;
313pub const DBL_RADIX: u32 = 2;
314pub const LDBL_RADIX: u32 = 2;
315pub const EM_AMBIGUIOUS: u32 = 2147483648;
316pub const EM_AMBIGUOUS: u32 = 2147483648;
317pub const MCW_EM: u32 = 524319;
318pub const EM_INVALID: u32 = 16;
319pub const EM_DENORMAL: u32 = 524288;
320pub const EM_ZERODIVIDE: u32 = 8;
321pub const EM_OVERFLOW: u32 = 4;
322pub const EM_UNDERFLOW: u32 = 2;
323pub const EM_INEXACT: u32 = 1;
324pub const MCW_IC: u32 = 262144;
325pub const IC_AFFINE: u32 = 262144;
326pub const IC_PROJECTIVE: u32 = 0;
327pub const MCW_RC: u32 = 768;
328pub const RC_CHOP: u32 = 768;
329pub const RC_UP: u32 = 512;
330pub const RC_DOWN: u32 = 256;
331pub const RC_NEAR: u32 = 0;
332pub const MCW_PC: u32 = 196608;
333pub const PC_24: u32 = 131072;
334pub const PC_53: u32 = 65536;
335pub const PC_64: u32 = 0;
336pub const CW_DEFAULT: u32 = 524319;
337pub const SW_INVALID: u32 = 16;
338pub const SW_DENORMAL: u32 = 524288;
339pub const SW_ZERODIVIDE: u32 = 8;
340pub const SW_OVERFLOW: u32 = 4;
341pub const SW_UNDERFLOW: u32 = 2;
342pub const SW_INEXACT: u32 = 1;
343pub const SW_UNEMULATED: u32 = 64;
344pub const SW_SQRTNEG: u32 = 128;
345pub const SW_STACKOVERFLOW: u32 = 512;
346pub const SW_STACKUNDERFLOW: u32 = 1024;
347pub const FPE_INVALID: u32 = 129;
348pub const FPE_DENORMAL: u32 = 130;
349pub const FPE_ZERODIVIDE: u32 = 131;
350pub const FPE_OVERFLOW: u32 = 132;
351pub const FPE_UNDERFLOW: u32 = 133;
352pub const FPE_INEXACT: u32 = 134;
353pub const FPE_UNEMULATED: u32 = 135;
354pub const FPE_SQRTNEG: u32 = 136;
355pub const FPE_STACKOVERFLOW: u32 = 138;
356pub const FPE_STACKUNDERFLOW: u32 = 139;
357pub const FPE_EXPLICITGEN: u32 = 140;
358pub const WCHAR_MIN: u32 = 0;
359pub const WCHAR_MAX: u32 = 65535;
360pub const WINT_MIN: u32 = 0;
361pub const WINT_MAX: u32 = 65535;
362pub const __bool_true_false_are_defined: u32 = 1;
363pub const true_: u32 = 1;
364pub const false_: u32 = 0;
365pub const HUINT_MIN: u32 = 0;
366pub const UINT1_MIN: u32 = 0;
367pub const UINT2_MIN: u32 = 0;
368pub const UINT4_MIN: u32 = 0;
369pub const INT4_8_FORMAT: &[u8; 4] = b"I64\0";
370pub const UINT4_8_MIN: u32 = 0;
371pub const UINT4_8_FORMAT: &[u8; 4] = b"I64\0";
372pub const HLONG_FORMAT: &[u8; 4] = b"I64\0";
373pub const LONG_FORMAT: &[u8; 4] = b"I64\0";
374pub const HULONG_MIN: u32 = 0;
375pub const HINT8_FORMAT: &[u8; 4] = b"I64\0";
376pub const HUINT8_MIN: u32 = 0;
377pub const UNDEF_PAR: u32 = 0;
378pub const LONG_PAR: u32 = 1;
379pub const DOUBLE_PAR: u32 = 2;
380pub const STRING_PAR: u32 = 4;
381pub const HANDLE_PAR: u32 = 16;
382pub const INT_PAR: u32 = 1;
383pub const MIXED_PAR: u32 = 8;
384pub const MAX_TUPLE_TYPE: u32 = 16;
385pub const ANY_ELEM: u32 = 23;
386pub const ANY_TUPLE: u32 = 31;
387pub const POINTER_PAR: u32 = 64;
388pub const TUPLE_PAR: u32 = 128;
389pub const MAX_PAR: u32 = 16;
390pub const MAX_TUPLE_LENGTH: u32 = 1000000;
391pub const MAX_STRING: u32 = 1024;
392pub const TRUE: u32 = 1;
393pub const FALSE: u32 = 0;
394pub const UNDEF_IMAGE: u32 = 0;
395pub const BYTE_IMAGE: u32 = 1;
396pub const INT4_IMAGE: u32 = 2;
397pub const LONG_IMAGE: u32 = 2;
398pub const FLOAT_IMAGE: u32 = 4;
399pub const DIR_IMAGE: u32 = 8;
400pub const CYCLIC_IMAGE: u32 = 16;
401pub const INT1_IMAGE: u32 = 32;
402pub const COMPLEX_IMAGE: u32 = 128;
403pub const INT2_IMAGE: u32 = 512;
404pub const UINT2_IMAGE: u32 = 1024;
405pub const VF_IMAGE: u32 = 2048;
406pub const INT8_IMAGE: u32 = 4096;
407pub const VF_ABSOLUTE: u32 = 0;
408pub const VF_RELATIVE: u32 = 1;
409pub const LD_MAX_FORMAT: u32 = 15;
410pub const MAX_FORMAT: u32 = 32768;
411pub const RL_LENGTH: u32 = 1;
412pub const DEF_RL_LENGTH: u32 = 50000;
413pub const OBJ_PER_PROC: u32 = 5000;
414pub const FILE_TRANS_SIZE: u32 = 16384;
415pub const MAX_FILES: u32 = 20;
416pub const MAX_EDGE_LENGTH1: u32 = 101;
417pub const MAX_CLUSTER: u32 = 1024;
418pub const MAX_CONVOL: u32 = 50000;
419pub const MAX_IMAGE_DIR: u32 = 16384;
420pub const MAX_GRAPHIC_COLOR: u32 = 64;
421pub const MAX_COLOR_NAME_LENGTH: u32 = 40;
422pub const HALCONROOT: &[u8; 11] = b"HALCONROOT\0";
423pub const HALCONIMAGES: &[u8; 13] = b"HALCONIMAGES\0";
424pub const HALCONHELP: &[u8; 11] = b"HALCONHELP\0";
425pub const HALCONSPY: &[u8; 10] = b"HALCONSPY\0";
426pub const HALCONEXTENSIONS: &[u8; 17] = b"HALCONEXTENSIONS\0";
427pub const HALCONEXAMPLES: &[u8; 15] = b"HALCONEXAMPLES\0";
428pub const MAX_INP_OBJ_PAR: u32 = 9;
429pub const MAX_OUTP_OBJ_PAR: u32 = 9;
430pub const MAX_INP_CTRL_PAR: u32 = 20;
431pub const MAX_OUTP_CTRL_PAR: u32 = 20;
432pub const MAX_CHAPTER: u32 = 2;
433pub const MAX_CHAPTER_PROC: u32 = 300;
434pub const MAX_KEY_NAME: u32 = 5;
435pub const KEY_NAME_LENGTH: u32 = 20;
436pub const MAX_BUFFER: u32 = 10;
437pub const REGION: u32 = 0;
438pub const CHORD: u32 = 0;
439pub const IMAGE1: u32 = 1;
440pub const IMAGE2: u32 = 2;
441pub const IMAGE3: u32 = 3;
442pub const IMAGE4: u32 = 4;
443pub const IMAGE5: u32 = 5;
444pub const IMAGE6: u32 = 6;
445pub const IMAGE7: u32 = 7;
446pub const IMAGE8: u32 = 8;
447pub const REGION_ID: u32 = 1;
448pub const IMAGE_ID: u32 = 2;
449pub const OBJECT_ID: u32 = 3;
450pub const TUPLE_ID: u32 = 4;
451pub const XLD_CONTOUR_ID: u32 = 5;
452pub const XLD_POLYGON_ID: u32 = 6;
453pub const XLD_PARALLEL_ID: u32 = 7;
454pub const XLD_MOD_PARALLEL_ID: u32 = 8;
455pub const XLD_EXT_PARALLEL_ID: u32 = 9;
456pub const MIN_XLD_ID: u32 = 5;
457pub const MAX_XLD_ID: u32 = 9;
458pub const TRAINF_EXT: &[u8; 4] = b"trf\0";
459pub const OCR_EXT: &[u8; 4] = b"fnt\0";
460pub const OCR_BOX_EXT: &[u8; 4] = b"obc\0";
461pub const OCR_MLP_EXT: &[u8; 4] = b"omc\0";
462pub const OCR_SVM_EXT: &[u8; 4] = b"osc\0";
463pub const OCR_KNN_EXT: &[u8; 4] = b"onc\0";
464pub const OCR_KNN_EXT_LEGACY: &[u8; 4] = b"okc\0";
465pub const OCR_CNN_EXT: &[u8; 4] = b"occ\0";
466pub const OCV_EXT: &[u8; 4] = b"ocv\0";
467pub const PS_EXTENSION: &[u8; 3] = b"ps\0";
468pub const TIFF_EXTENSION: &[u8; 5] = b"tiff\0";
469pub const EXP_EXTENSION: &[u8; 4] = b"exp\0";
470pub const IMAGE_EXTENSION: &[u8; 4] = b"ima\0";
471pub const REGION_EXTENSION: &[u8; 4] = b"reg\0";
472pub const FILTER_EXTENSION: &[u8; 4] = b"fil\0";
473pub const LUT_EXTENSION: &[u8; 4] = b"lut\0";
474pub const GREYSE_EXT: &[u8; 4] = b"gse\0";
475pub const BMP_EXTENSION: &[u8; 4] = b"bmp\0";
476pub const DEEP_LEARNING_EXTENSION: &[u8; 4] = b"hdl\0";
477pub const DEEP_OCR_EXT: &[u8; 4] = b"hdo\0";
478pub const MEMORY_BLOCK_EXT: &[u8; 4] = b"bin\0";
479pub const ENCRYPTED_ITEM_EXT: &[u8; 5] = b"henc\0";
480pub const DEEP_COUNTING_EXT: &[u8; 4] = b"hdc\0";
481pub const DEEP_MATCHING_EXT: &[u8; 4] = b"dm3\0";
482pub const PI: f64 = 3.141592653589793;
483pub const PI_2: f64 = 1.5707963267948966;
484pub const PI_4: f64 = 0.7853981633974483;
485pub const DEFAULT_AGENTS_NR: u32 = 4;
486pub const GV_WRITE_INFO: u32 = 0;
487pub const GV_READ_INFO: u32 = 1;
488pub const GV_INIT_INFO: u32 = 2;
489pub const GV_GET_ADRESS: u32 = 3;
490pub const GV_REALLOC_A: u32 = 4;
491pub const GV_LOCK: u32 = 5;
492pub const GV_UNLOCK: u32 = 6;
493pub const GV_BOR_INFO: u32 = 7;
494pub const GV_BAND_INFO: u32 = 8;
495pub const GV_WRITE_REF: u32 = 9;
496pub const GV_READ_REF: u32 = 10;
497pub const CLOCK_MODE_PROCESSOR_TIME: u32 = 0;
498pub const CLOCK_MODE_ELAPSED_TIME: u32 = 1;
499pub const CLOCK_MODE_PERFORMANCE_COUNTER: u32 = 2;
500pub const CLOCK_MODE_MULTIMEDIA_TIMER: u32 = 3;
501pub const CLOCK_MODE_PROCESS_TIME: u32 = 4;
502pub const OCR_TRAINFILE_VERSION1_0: u32 = 1;
503pub const OCR_TRAINFILE_VERSION2_0: u32 = 2;
504pub const OCR_TRAINFILE_VERSION3_0: u32 = 3;
505pub const H_ENCODING_NATIVE: u32 = 1;
506pub const H_ENCODING_UTF8: u32 = 2;
507pub const H_ENCODING_HLIB: u32 = 3;
508pub const H_ENCODING_ASCII: u32 = 4;
509pub const H_ENCODING_SYSTEM: u32 = 5;
510pub const H_ENCODING_AUTO: u32 = 6;
511pub const H_ENCODING_LATIN1: u32 = 7;
512pub const H_ENCODING_SHIFTJIS: u32 = 8;
513pub const TIMER_MODE_ELAPSED_TIME: u32 = 0;
514pub const TIMER_MODE_MULTIMEDIA_TIMER: u32 = 1;
515pub const TIMER_MODE_PERFORMANCE_COUNTER: u32 = 2;
516pub const H_MSG_OK: u32 = 2;
517pub const H_MSG_TRUE: u32 = 2;
518pub const H_MSG_FALSE: u32 = 3;
519pub const H_MSG_VOID: u32 = 4;
520pub const H_MSG_FAIL: u32 = 5;
521pub const H_ERR_BREAK: u32 = 20;
522pub const H_ERR_HEN_CANCEL: u32 = 21;
523pub const H_ERR_CANCEL: u32 = 22;
524pub const H_ERR_TIMEOUT_BREAK: u32 = 23;
525pub const H_ERR_WIPT1: u32 = 1201;
526pub const H_ERR_WIPT2: u32 = 1202;
527pub const H_ERR_WIPT3: u32 = 1203;
528pub const H_ERR_WIPT4: u32 = 1204;
529pub const H_ERR_WIPT5: u32 = 1205;
530pub const H_ERR_WIPT6: u32 = 1206;
531pub const H_ERR_WIPT7: u32 = 1207;
532pub const H_ERR_WIPT8: u32 = 1208;
533pub const H_ERR_WIPT9: u32 = 1209;
534pub const H_ERR_WIPT10: u32 = 1210;
535pub const H_ERR_WIPT11: u32 = 1211;
536pub const H_ERR_WIPT12: u32 = 1212;
537pub const H_ERR_WIPT13: u32 = 1213;
538pub const H_ERR_WIPT14: u32 = 1214;
539pub const H_ERR_WIPT15: u32 = 1215;
540pub const H_ERR_WIPT16: u32 = 1216;
541pub const H_ERR_WIPT17: u32 = 1217;
542pub const H_ERR_WIPT18: u32 = 1218;
543pub const H_ERR_WIPT19: u32 = 1219;
544pub const H_ERR_WIPT20: u32 = 1220;
545pub const H_ERR_WIPV1: u32 = 1301;
546pub const H_ERR_WIPV2: u32 = 1302;
547pub const H_ERR_WIPV3: u32 = 1303;
548pub const H_ERR_WIPV4: u32 = 1304;
549pub const H_ERR_WIPV5: u32 = 1305;
550pub const H_ERR_WIPV6: u32 = 1306;
551pub const H_ERR_WIPV7: u32 = 1307;
552pub const H_ERR_WIPV8: u32 = 1308;
553pub const H_ERR_WIPV9: u32 = 1309;
554pub const H_ERR_WIPV10: u32 = 1310;
555pub const H_ERR_WIPV11: u32 = 1311;
556pub const H_ERR_WIPV12: u32 = 1312;
557pub const H_ERR_WIPV13: u32 = 1313;
558pub const H_ERR_WIPV14: u32 = 1314;
559pub const H_ERR_WIPV15: u32 = 1315;
560pub const H_ERR_WIPV16: u32 = 1316;
561pub const H_ERR_WIPV17: u32 = 1317;
562pub const H_ERR_WIPV18: u32 = 1318;
563pub const H_ERR_WIPV19: u32 = 1319;
564pub const H_ERR_WIPV20: u32 = 1320;
565pub const H_ERR_WCOMP: u32 = 1350;
566pub const H_ERR_WGCOMP: u32 = 1351;
567pub const H_ERR_WIPN1: u32 = 1401;
568pub const H_ERR_WIPN2: u32 = 1402;
569pub const H_ERR_WIPN3: u32 = 1403;
570pub const H_ERR_WIPN4: u32 = 1404;
571pub const H_ERR_WIPN5: u32 = 1405;
572pub const H_ERR_WIPN6: u32 = 1406;
573pub const H_ERR_WIPN7: u32 = 1407;
574pub const H_ERR_WIPN8: u32 = 1408;
575pub const H_ERR_WIPN9: u32 = 1409;
576pub const H_ERR_WIPN10: u32 = 1410;
577pub const H_ERR_WIPN11: u32 = 1411;
578pub const H_ERR_WIPN12: u32 = 1412;
579pub const H_ERR_WIPN13: u32 = 1413;
580pub const H_ERR_WIPN14: u32 = 1414;
581pub const H_ERR_WIPN15: u32 = 1415;
582pub const H_ERR_WIPN16: u32 = 1416;
583pub const H_ERR_WIPN17: u32 = 1417;
584pub const H_ERR_WIPN18: u32 = 1418;
585pub const H_ERR_WIPN19: u32 = 1419;
586pub const H_ERR_WIPN20: u32 = 1420;
587pub const H_ERR_IONTB: u32 = 1500;
588pub const H_ERR_WION1: u32 = 1501;
589pub const H_ERR_WION2: u32 = 1502;
590pub const H_ERR_WION3: u32 = 1503;
591pub const H_ERR_WION4: u32 = 1504;
592pub const H_ERR_WION5: u32 = 1505;
593pub const H_ERR_WION6: u32 = 1506;
594pub const H_ERR_WION7: u32 = 1507;
595pub const H_ERR_WION8: u32 = 1508;
596pub const H_ERR_WION9: u32 = 1509;
597pub const H_ERR_OONTB: u32 = 1510;
598pub const H_ERR_WNP: u32 = 2000;
599pub const H_ERR_HONI: u32 = 2001;
600pub const H_ERR_WRKNN: u32 = 2002;
601pub const H_ERR_LIC_NO_LICENSE: u32 = 2003;
602pub const H_ERR_LIC_NO_MODULES: u32 = 2005;
603pub const H_ERR_LIC_NO_LIC_OPER: u32 = 2006;
604pub const H_ERR_LIC_BADPLATFORM: u32 = 2008;
605pub const H_ERR_LIC_BADVENDORKEY: u32 = 2009;
606pub const H_ERR_LIC_BADSYSDATE: u32 = 2021;
607pub const H_ERR_LIC_BAD_VERSION: u32 = 2022;
608pub const H_ERR_LIC_CANTCONNECT: u32 = 2024;
609pub const H_ERR_LIC_MAXSESSIONS: u32 = 2028;
610pub const H_ERR_LIC_MAXUSERS: u32 = 2029;
611pub const H_ERR_LIC_NO_SERVER_IN_FILE: u32 = 2030;
612pub const H_ERR_LIC_NOFEATURE: u32 = 2031;
613pub const H_ERR_LIC_OLDVER: u32 = 2033;
614pub const H_ERR_LIC_PLATNOTLIC: u32 = 2034;
615pub const H_ERR_LIC_SERVBUSY: u32 = 2035;
616pub const H_ERR_LIC_NOCONFFILE: u32 = 2036;
617pub const H_ERR_LIC_BADFILE: u32 = 2037;
618pub const H_ERR_LIC_NOSERVER: u32 = 2038;
619pub const H_ERR_LIC_NOTTHISHOST: u32 = 2041;
620pub const H_ERR_LIC_LONGGONE: u32 = 2042;
621pub const H_ERR_LIC_BADDATE: u32 = 2043;
622pub const H_ERR_LIC_BADCOMM: u32 = 2044;
623pub const H_ERR_LIC_BADHOST: u32 = 2045;
624pub const H_ERR_LIC_CANTWRITE: u32 = 2047;
625pub const H_ERR_LIC_SERVLONGGONE: u32 = 2051;
626pub const H_ERR_LIC_TOOMANY: u32 = 2052;
627pub const H_ERR_LIC_CANTFINDETHER: u32 = 2055;
628pub const H_ERR_LIC_NOREADLIC: u32 = 2056;
629pub const H_ERR_LIC_DATE_TOOBIG: u32 = 2067;
630pub const H_ERR_LIC_NOSERVRESP: u32 = 2069;
631pub const H_ERR_LIC_SETSOCKFAIL: u32 = 2075;
632pub const H_ERR_LIC_BADCHECKSUM: u32 = 2076;
633pub const H_ERR_LIC_INTERNAL_ERROR: u32 = 2082;
634pub const H_ERR_LIC_NOSERVCAP: u32 = 2087;
635pub const H_ERR_LIC_POOL: u32 = 2091;
636pub const H_ERR_LIC_NODONGLE: u32 = 2300;
637pub const H_ERR_LIC_NODONGLEDRIVER: u32 = 2301;
638pub const H_ERR_LIC_TIMEOUT: u32 = 2318;
639pub const H_ERR_LIC_INVALID_CERTIFICATE: u32 = 2321;
640pub const H_ERR_LIC_INVALID_TLS_CERTIFICATE: u32 = 2335;
641pub const H_ERR_LIC_BAD_ACTREQ: u32 = 2339;
642pub const H_ERR_LIC_NOT_ALLOWED: u32 = 2345;
643pub const H_ERR_LIC_ACTIVATION: u32 = 2348;
644pub const H_ERR_LIC_NO_CM_RUNTIME: u32 = 2379;
645pub const H_ERR_LIC_CM_RUNTIME_TOO_OLD: u32 = 2380;
646pub const H_ERR_LIC_WRONG_EDITION: u32 = 2381;
647pub const H_ERR_LIC_UNKNOWN_FLAGS: u32 = 2382;
648pub const H_ERR_LIC_PREVIEW_EXPIRED: u32 = 2383;
649pub const H_ERR_LIC_NEWVER: u32 = 2384;
650pub const H_ERR_LIC_RANGE1_BEGIN: u32 = 2003;
651pub const H_ERR_LIC_RANGE1_END: u32 = 2091;
652pub const H_ERR_LIC_RANGE2_BEGIN: u32 = 2300;
653pub const H_ERR_LIC_RANGE2_END: u32 = 2384;
654pub const H_ERR_WOOPI: u32 = 2100;
655pub const H_ERR_WIOPI: u32 = 2101;
656pub const H_ERR_WOI: u32 = 2102;
657pub const H_ERR_WRCN: u32 = 2103;
658pub const H_ERR_WRRN: u32 = 2104;
659pub const H_ERR_AUDI: u32 = 2105;
660pub const H_ERR_WIWI: u32 = 2106;
661pub const H_ERR_WIHE: u32 = 2107;
662pub const H_ERR_ICUNDEF: u32 = 2108;
663pub const H_ERR_IDBD: u32 = 2200;
664pub const H_ERR_WICPI: u32 = 2201;
665pub const H_ERR_DBDU: u32 = 2202;
666pub const H_ERR_PNTL: u32 = 2203;
667pub const H_ERR_UEXTNI: u32 = 2205;
668pub const H_ERR_NPTL: u32 = 2206;
669pub const H_ERR_NSP: u32 = 2207;
670pub const H_ERR_ICHV: u32 = 2211;
671pub const H_ERR_ICOI: u32 = 2212;
672pub const H_ERR_XPKG_WXID: u32 = 2220;
673pub const H_ERR_XPKG_WOID: u32 = 2221;
674pub const H_ERR_XPKG_WOIID: u32 = 2222;
675pub const H_ERR_CTPL_WTYP: u32 = 2400;
676pub const H_ERR_CPAR_WTYP: u32 = 2401;
677pub const H_ERR_CTPL_WIDX: u32 = 2402;
678pub const H_ERR_WFV: u32 = 2403;
679pub const H_ERR_WRONG_HANDLE_TYPE: u32 = 2404;
680pub const H_ERR_WVTYP: u32 = 2410;
681pub const H_ERR_WVDIM: u32 = 2411;
682pub const H_ERR_WHDL: u32 = 2450;
683pub const H_ERR_WID: u32 = 2451;
684pub const H_ERR_IDOOR: u32 = 2452;
685pub const H_ERR_HANDLE_NULL: u32 = 2453;
686pub const H_ERR_HANDLE_CLEARED: u32 = 2454;
687pub const H_ERR_HANDLE_NOSER: u32 = 2455;
688pub const H_ERR_HANDLE_CYCLES: u32 = 2456;
689pub const H_ERR_WT_CTRL_EXPECTED: u32 = 2460;
690pub const H_ERR_WT_ICONIC_EXPECTED: u32 = 2461;
691pub const H_ERR_XPI_INIT_NOT_CALLED: u32 = 2500;
692pub const H_ERR_XPI_NO_INIT_FOUND: u32 = 2501;
693pub const H_ERR_XPI_UNRES: u32 = 2502;
694pub const H_ERR_XPI_HLIB_TOO_OLD: u32 = 2503;
695pub const H_ERR_XPI_XPI_TOO_OLD: u32 = 2504;
696pub const H_ERR_XPI_MAJOR_TOO_SMALL: u32 = 2505;
697pub const H_ERR_XPI_MINOR_TOO_SMALL: u32 = 2506;
698pub const H_ERR_XPI_INT_WRONG_MAJOR: u32 = 2507;
699pub const H_ERR_XPI_UNKNOW_HLIB_VER: u32 = 2508;
700pub const H_ERR_HW_WFF: u32 = 2800;
701pub const H_ERR_HW_WFV: u32 = 2801;
702pub const H_ERR_HW_RF: u32 = 2802;
703pub const H_ERR_HW_WF: u32 = 2803;
704pub const H_ERR_HW_TF: u32 = 2804;
705pub const H_ERR_HW_CPU: u32 = 2805;
706pub const H_ERR_HW_AOP: u32 = 2806;
707pub const H_ERR_HW_HVAR: u32 = 2807;
708pub const H_ERR_HW_HARCH: u32 = 2808;
709pub const H_ERR_HW_HOP: u32 = 2809;
710pub const H_ERR_HW_WAOPM: u32 = 2810;
711pub const H_ERR_HW_WTD: u32 = 2811;
712pub const H_ERR_HW_IE: u32 = 2812;
713pub const H_ERR_HW_CANCEL: u32 = 2813;
714pub const H_ERR_GV_WA: u32 = 2830;
715pub const H_ERR_GV_NC: u32 = 2831;
716pub const H_ERR_GV_NG: u32 = 2832;
717pub const H_ERR_HM_NT: u32 = 2835;
718pub const H_ERR_HM_NA: u32 = 2837;
719pub const H_ERR_AG_CN: u32 = 2838;
720pub const H_ERR_AG_NC: u32 = 2839;
721pub const H_ERR_AG_IN: u32 = 2840;
722pub const H_ERR_AG_NT: u32 = 2841;
723pub const H_ERR_AG_HW: u32 = 2842;
724pub const H_ERR_AG_II: u32 = 2843;
725pub const H_ERR_AG_IK: u32 = 2844;
726pub const H_ERR_AG_WV: u32 = 2845;
727pub const H_ERR_AG_WH: u32 = 2846;
728pub const H_ERR_AG_KC: u32 = 2847;
729pub const H_ERR_AG_CT: u32 = 2848;
730pub const H_ERR_AG_MT: u32 = 2849;
731pub const H_ERR_AG_WK: u32 = 2850;
732pub const H_ERR_AG_WW: u32 = 2851;
733pub const H_ERR_AG_WA: u32 = 2852;
734pub const H_ERR_AG_WE: u32 = 2853;
735pub const H_ERR_AG_NU: u32 = 2854;
736pub const H_ERR_AG_NE: u32 = 2855;
737pub const H_ERR_AG_RR: u32 = 2856;
738pub const H_ERR_AG_CR: u32 = 2857;
739pub const H_ERR_AG_RN: u32 = 2858;
740pub const H_ERR_AG_TILT: u32 = 2859;
741pub const H_ERR_WRT: u32 = 2860;
742pub const H_ERR_WRS: u32 = 2861;
743pub const H_ERR_UNKPT: u32 = 2862;
744pub const H_ERR_UNKPARVAL: u32 = 2863;
745pub const H_ERR_CTRL_WPP: u32 = 2864;
746pub const H_ERR_GETTI: u32 = 2867;
747pub const H_ERR_GETCPUNUM: u32 = 2868;
748pub const H_ERR_TMPFNF: u32 = 2869;
749pub const H_ERR_MQCNCL: u32 = 2890;
750pub const H_ERR_MQOVL: u32 = 2891;
751pub const H_ERR_MQCLEAR: u32 = 2892;
752pub const H_ERR_M_WRFILE: u32 = 2893;
753pub const H_ERR_DICT_KEY: u32 = 2894;
754pub const H_ERR_DICT_TUPLE_LENGTH: u32 = 2895;
755pub const H_ERR_DICT_TUPLE_TYPE: u32 = 2896;
756pub const H_ERR_DICT_INVALID_INDEX: u32 = 2897;
757pub const H_ERR_PTHRD_SCHED: u32 = 2900;
758pub const H_ERR_SCHED_GAFF: u32 = 2901;
759pub const H_ERR_SCHED_SAFF: u32 = 2902;
760pub const H_ERR_CO_WSO: u32 = 2950;
761pub const H_ERR_CO_WOCO: u32 = 2952;
762pub const H_ERR_CO_IOPNI: u32 = 2953;
763pub const H_ERR_CO_ICPNI: u32 = 2954;
764pub const H_ERR_CO_OOPNI: u32 = 2955;
765pub const H_ERR_CO_OCPNI: u32 = 2956;
766pub const H_ERR_PTHRD_CR: u32 = 2970;
767pub const H_ERR_PTHRD_DT: u32 = 2971;
768pub const H_ERR_PTHRD_JO: u32 = 2972;
769pub const H_ERR_PTHRD_MI: u32 = 2973;
770pub const H_ERR_PTHRD_MD: u32 = 2974;
771pub const H_ERR_PTHRD_ML: u32 = 2975;
772pub const H_ERR_PTHRD_MU: u32 = 2976;
773pub const H_ERR_PTHRD_CS: u32 = 2977;
774pub const H_ERR_PTHRD_CW: u32 = 2978;
775pub const H_ERR_PTHRD_CI: u32 = 2979;
776pub const H_ERR_PTHRD_CD: u32 = 2980;
777pub const H_ERR_PTHRD_ES: u32 = 2981;
778pub const H_ERR_PTHRD_EW: u32 = 2982;
779pub const H_ERR_PTHRD_EI: u32 = 2983;
780pub const H_ERR_PTHRD_ED: u32 = 2984;
781pub const H_ERR_PTHRD_TSDC: u32 = 2985;
782pub const H_ERR_PTHRD_TSDS: u32 = 2986;
783pub const H_ERR_PTHRD_TSDG: u32 = 2987;
784pub const H_ERR_PTHRD_TSDF: u32 = 2988;
785pub const H_ERR_PTHRD_BA: u32 = 2989;
786pub const H_ERR_DCDG_FLE: u32 = 2990;
787pub const H_ERR_MSG_PNCI: u32 = 2991;
788pub const H_ERR_MSG_CSAI: u32 = 2992;
789pub const H_ERR_MSG_CSNI: u32 = 2993;
790pub const H_ERR_PTHRD_BI: u32 = 2994;
791pub const H_ERR_PTHRD_BW: u32 = 2995;
792pub const H_ERR_PTHRD_BD: u32 = 2996;
793pub const H_ERR_RCOIMA: u32 = 3010;
794pub const H_ERR_ROOIMA: u32 = 3011;
795pub const H_ERR_RIEI: u32 = 3012;
796pub const H_ERR_EDEF: u32 = 3013;
797pub const H_ERR_IIEI: u32 = 3014;
798pub const H_ERR_FLTS: u32 = 3015;
799pub const H_ERR_LLTB: u32 = 3016;
800pub const H_ERR_UENOI: u32 = 3017;
801pub const H_ERR_HTS: u32 = 3018;
802pub const H_ERR_WTS: u32 = 3019;
803pub const H_ERR_CHSEG: u32 = 3020;
804pub const H_ERR_RLSEG1: u32 = 3021;
805pub const H_ERR_WGAUSSM: u32 = 3022;
806pub const H_ERR_FSEIS: u32 = 3033;
807pub const H_ERR_FSEVAN: u32 = 3034;
808pub const H_ERR_FSTOBIG: u32 = 3035;
809pub const H_ERR_EMPTREG: u32 = 3036;
810pub const H_ERR_DOM_DIFF: u32 = 3037;
811pub const H_ERR_ROWTB: u32 = 3040;
812pub const H_ERR_ROWTS: u32 = 3041;
813pub const H_ERR_COLTB: u32 = 3042;
814pub const H_ERR_COLTS: u32 = 3043;
815pub const H_ERR_WRTHR: u32 = 3100;
816pub const H_ERR_UNKF: u32 = 3101;
817pub const H_ERR_UNKG: u32 = 3102;
818pub const H_ERR_EINCC: u32 = 3103;
819pub const H_ERR_EINCP1: u32 = 3104;
820pub const H_ERR_EINCP2: u32 = 3105;
821pub const H_ERR_TMR: u32 = 3106;
822pub const H_ERR_SFZ: u32 = 3107;
823pub const H_ERR_OOR: u32 = 3108;
824pub const H_ERR_NEF: u32 = 3109;
825pub const H_ERR_NOOB: u32 = 3110;
826pub const H_ERR_EMPOB: u32 = 3111;
827pub const H_ERR_NPOT: u32 = 3112;
828pub const H_ERR_TMEP: u32 = 3113;
829pub const H_ERR_LTB: u32 = 3114;
830pub const H_ERR_NNLA: u32 = 3115;
831pub const H_ERR_WFS: u32 = 3116;
832pub const H_ERR_IWDS: u32 = 3117;
833pub const H_ERR_IWTL: u32 = 3118;
834pub const H_ERR_IWTS: u32 = 3119;
835pub const H_ERR_IHTL: u32 = 3120;
836pub const H_ERR_IHTS: u32 = 3121;
837pub const H_ERR_DNOC: u32 = 3122;
838pub const H_ERR_WRCFAFLT: u32 = 3123;
839pub const H_ERR_WRCFAINT: u32 = 3124;
840pub const H_ERR_NO_AFFTRANS: u32 = 3125;
841pub const H_ERR_INPNOBDRY: u32 = 3126;
842pub const H_ERR_DSIZESD: u32 = 3127;
843pub const H_ERR_TMFEAT: u32 = 3128;
844pub const H_ERR_AXIS_UNDEF: u32 = 3129;
845pub const H_ERR_COWTS: u32 = 3131;
846pub const H_ERR_COHTS: u32 = 3132;
847pub const H_ERR_NUM_COLMN: u32 = 3133;
848pub const H_ERR_NUM_LINES: u32 = 3134;
849pub const H_ERR_OVL: u32 = 3135;
850pub const H_ERR_NOT_SYM: u32 = 3136;
851pub const H_ERR_NUM_COLS: u32 = 3137;
852pub const H_ERR_SYNTAX: u32 = 3138;
853pub const H_ERR_MISSING: u32 = 3139;
854pub const H_ERR_COOC_MEM: u32 = 3140;
855pub const H_ERR_NO_FILE: u32 = 3141;
856pub const H_ERR_FILE_WR: u32 = 3142;
857pub const H_ERR_NUM_LUCOLS: u32 = 3143;
858pub const H_ERR_WNOLI: u32 = 3145;
859pub const H_ERR_DITS: u32 = 3146;
860pub const H_ERR_WINTM: u32 = 3147;
861pub const H_ERR_THICK_NK: u32 = 3148;
862pub const H_ERR_WIND3: u32 = 3170;
863pub const H_ERR_WIND5: u32 = 3171;
864pub const H_ERR_WIND7: u32 = 3172;
865pub const H_ERR_WLAWSS: u32 = 3173;
866pub const H_ERR_NE_NPTS: u32 = 3175;
867pub const H_ERR_WNEE: u32 = 3200;
868pub const H_ERR_REF: u32 = 3201;
869pub const H_ERR_XLDWT: u32 = 3250;
870pub const H_ERR_XLD_RPF: u32 = 3252;
871pub const H_ERR_XLD_MCL: u32 = 3253;
872pub const H_ERR_XLD_MCN: u32 = 3254;
873pub const H_ERR_XLD_CTS: u32 = 3255;
874pub const H_ERR_XLD_CRD: u32 = 3256;
875pub const H_ERR_XLD_CRND: u32 = 3257;
876pub const H_ERR_DBXC: u32 = 3258;
877pub const H_ERR_DBWXID: u32 = 3259;
878pub const H_ERR_XLD_WNP: u32 = 3260;
879pub const H_ERR_XLD_CAND: u32 = 3261;
880pub const H_ERR_FIT_ELLIPSE: u32 = 3262;
881pub const H_ERR_FIT_CIRCLE: u32 = 3263;
882pub const H_ERR_FIT_CLIP: u32 = 3264;
883pub const H_ERR_FIT_QUADRANGLE: u32 = 3265;
884pub const H_ERR_INCOMPL_RECT: u32 = 3266;
885pub const H_ERR_XLD_COI: u32 = 3267;
886pub const H_ERR_FIT_NOT_ENOUGH_POINTS: u32 = 3274;
887pub const H_ERR_NWF: u32 = 3275;
888pub const H_ERR_NAIGF: u32 = 3276;
889pub const H_ERR_DXF_UEOF: u32 = 3278;
890pub const H_ERR_DXF_CRGC: u32 = 3279;
891pub const H_ERR_DXF_INAPP: u32 = 3280;
892pub const H_ERR_DXF_INAPPN: u32 = 3281;
893pub const H_ERR_DXF_INAPCN: u32 = 3282;
894pub const H_ERR_DXF_CRAPP: u32 = 3283;
895pub const H_ERR_DXF_CRAPC: u32 = 3284;
896pub const H_ERR_DXF_CRAN: u32 = 3285;
897pub const H_ERR_DXF_WPN: u32 = 3286;
898pub const H_ERR_DXF_IEDT: u32 = 3289;
899pub const H_ERR_XLD_ISOL_POINT: u32 = 3290;
900pub const H_ERR_NURBS_CCBF: u32 = 3291;
901pub const H_ERR_NSEG: u32 = 3292;
902pub const H_ERR_NO_ONE_P: u32 = 3293;
903pub const H_ERR_SESF: u32 = 3300;
904pub const H_ERR_TMFE: u32 = 3301;
905pub const H_ERR_OPSF: u32 = 3302;
906pub const H_ERR_TMSS: u32 = 3303;
907pub const H_ERR_TMSAM: u32 = 3305;
908pub const H_ERR_TMCLS: u32 = 3306;
909pub const H_ERR_TMBOX: u32 = 3307;
910pub const H_ERR_OPCF: u32 = 3308;
911pub const H_ERR_SCLA: u32 = 3309;
912pub const H_ERR_OPF: u32 = 3310;
913pub const H_ERR_CLEX: u32 = 3311;
914pub const H_ERR_TMCLA: u32 = 3312;
915pub const H_ERR_CNTL: u32 = 3313;
916pub const H_ERR_CLNNF: u32 = 3314;
917pub const H_ERR_NCCLA: u32 = 3315;
918pub const H_ERR_CLASS2_ID: u32 = 3316;
919pub const H_ERR_CLASS2_VERS: u32 = 3317;
920pub const H_ERR_CLASS_NOSITEM: u32 = 3318;
921pub const H_ERR_TM_NO_CL: u32 = 3319;
922pub const H_ERR_KNN_CANNOT_ADD: u32 = 3320;
923pub const H_ERR_ML_KMEAN_INITIALIZATION_ERROR: u32 = 3325;
924pub const H_ERR_GMM_NOTRAINFILE: u32 = 3330;
925pub const H_ERR_GMM_WRTRAINVERS: u32 = 3331;
926pub const H_ERR_GMM_WRSMPFORMAT: u32 = 3332;
927pub const H_ERR_GMM_NOCLASSFILE: u32 = 3333;
928pub const H_ERR_GMM_WRCLASSVERS: u32 = 3334;
929pub const H_ERR_GMM_TRAIN_UNKERR: u32 = 3335;
930pub const H_ERR_GMM_TRAIN_COLLAPSED: u32 = 3336;
931pub const H_ERR_GMM_TRAIN_NOSAMPLE: u32 = 3337;
932pub const H_ERR_GMM_TRAIN_FEWSAMPLES: u32 = 3338;
933pub const H_ERR_GMM_NOTTRAINED: u32 = 3340;
934pub const H_ERR_GMM_NOTRAINDATA: u32 = 3341;
935pub const H_ERR_GMM_NOSITEM: u32 = 3342;
936pub const H_ERR_MLP_UNKOUTFUNC: u32 = 3350;
937pub const H_ERR_MLP_NOT01ENC: u32 = 3351;
938pub const H_ERR_MLP_NOTRAINDATA: u32 = 3352;
939pub const H_ERR_MLP_NOTRAINFILE: u32 = 3353;
940pub const H_ERR_MLP_WRTRAINVERS: u32 = 3354;
941pub const H_ERR_MLP_WRSMPFORMAT: u32 = 3355;
942pub const H_ERR_MLP_NOCLASSIF: u32 = 3356;
943pub const H_ERR_MLP_NOCLASSFILE: u32 = 3357;
944pub const H_ERR_MLP_WRCLASSVERS: u32 = 3358;
945pub const H_ERR_WRNUMCHAN: u32 = 3359;
946pub const H_ERR_MLP_WRNUMPARAM: u32 = 3360;
947pub const H_ERR_MLP_NOSITEM: u32 = 3361;
948pub const H_ERR_LUT_WRNUMCHAN: u32 = 3370;
949pub const H_ERR_LUT_NRCHANLARGE: u32 = 3371;
950pub const H_ERR_LUT_CANNOTCREAT: u32 = 3372;
951pub const H_ERR_SVM_NOTRAINDATA: u32 = 3380;
952pub const H_ERR_SVM_NOTRAINFILE: u32 = 3381;
953pub const H_ERR_SVM_WRTRAINVERS: u32 = 3382;
954pub const H_ERR_SVM_WRSMPFORMAT: u32 = 3383;
955pub const H_ERR_SVM_NOCLASSFILE: u32 = 3384;
956pub const H_ERR_SVM_WRCLASSVERS: u32 = 3385;
957pub const H_ERR_SVM_WRNRCLASS: u32 = 3386;
958pub const H_ERR_SVM_NU_TOO_BIG: u32 = 3387;
959pub const H_ERR_SVM_TRAIN_FAIL: u32 = 3388;
960pub const H_ERR_SVM_DO_NOT_FIT: u32 = 3389;
961pub const H_ERR_SVM_NO_TRAIN_ADD: u32 = 3390;
962pub const H_ERR_SVM_KERNELNOTRBF: u32 = 3391;
963pub const H_ERR_SVM_NO_TRAIND_FOR_CLASS: u32 = 3392;
964pub const H_ERR_SVM_NOT_TRAINED: u32 = 3393;
965pub const H_ERR_NOT_TRAINED: u32 = 3394;
966pub const H_ERR_SVM_NOSITEM: u32 = 3395;
967pub const H_ERR_ROTNR: u32 = 3401;
968pub const H_ERR_GOL: u32 = 3402;
969pub const H_ERR_BEZ: u32 = 3403;
970pub const H_ERR_ITER: u32 = 3404;
971pub const H_ERR_MOSYS: u32 = 3405;
972pub const H_ERR_ART: u32 = 3406;
973pub const H_ERR_OBJI: u32 = 3407;
974pub const H_ERR_OBJO: u32 = 3408;
975pub const H_ERR_PARI: u32 = 3409;
976pub const H_ERR_PARO: u32 = 3410;
977pub const H_ERR_SELC: u32 = 3411;
978pub const H_ERR_WRNSE: u32 = 3412;
979pub const H_ERR_WRRLN1: u32 = 3500;
980pub const H_ERR_WRRLN2: u32 = 3501;
981pub const H_ERR_WRRLL: u32 = 3502;
982pub const H_ERR_RLLTB: u32 = 3503;
983pub const H_ERR_RLLTS: u32 = 3504;
984pub const H_ERR_RLCTB: u32 = 3505;
985pub const H_ERR_RLCTS: u32 = 3506;
986pub const H_ERR_CHLTB: u32 = 3507;
987pub const H_ERR_CHLTS: u32 = 3508;
988pub const H_ERR_CHCTB: u32 = 3509;
989pub const H_ERR_MRLE: u32 = 3510;
990pub const H_ERR_ICCOMPL: u32 = 3511;
991pub const H_ERR_RLEMAX: u32 = 3512;
992pub const H_ERR_WRRLN3: u32 = 3513;
993pub const H_ERR_OPNOCOMPL: u32 = 3514;
994pub const H_ERR_WIMAW1: u32 = 3520;
995pub const H_ERR_WIMAW2: u32 = 3521;
996pub const H_ERR_WIMAH1: u32 = 3522;
997pub const H_ERR_WIMAH2: u32 = 3523;
998pub const H_ERR_WIMAW3: u32 = 3524;
999pub const H_ERR_WIMAH3: u32 = 3525;
1000pub const H_ERR_TMS: u32 = 3550;
1001pub const H_ERR_NO_INT8_IMAGE: u32 = 3551;
1002pub const H_ERR_POINT_AT_INFINITY: u32 = 3600;
1003pub const H_ERR_ML_NO_COVARIANCE: u32 = 3601;
1004pub const H_ERR_RANSAC_PRNG: u32 = 3602;
1005pub const H_ERR_RANSAC_TOO_DIFFERENT: u32 = 3603;
1006pub const H_ERR_PTI_FALLBACK: u32 = 3604;
1007pub const H_ERR_PTI_TRAFO_SING: u32 = 3605;
1008pub const H_ERR_PTI_MOSAIC_UNDERDET: u32 = 3606;
1009pub const H_ERR_COV_NPD: u32 = 3607;
1010pub const H_ERR_TOO_MANY_POINTS: u32 = 3608;
1011pub const H_ERR_INPC: u32 = 3620;
1012pub const H_ERR_NOPA: u32 = 3621;
1013pub const H_ERR_IINE: u32 = 3622;
1014pub const H_ERR_NOCM: u32 = 3623;
1015pub const H_ERR_SKNZ: u32 = 3624;
1016pub const H_ERR_ILFL: u32 = 3625;
1017pub const H_ERR_KANZ: u32 = 3626;
1018pub const H_ERR_VARA: u32 = 3627;
1019pub const H_ERR_LVDE: u32 = 3628;
1020pub const H_ERR_KPAR: u32 = 3629;
1021pub const H_ERR_IMOD: u32 = 3630;
1022pub const H_ERR_PNIC: u32 = 3631;
1023pub const H_ERR_NO_SOL: u32 = 3632;
1024pub const H_ERR_TINZ: u32 = 3633;
1025pub const H_ERR_ILMD: u32 = 3640;
1026pub const H_ERR_RDS_NSC: u32 = 3660;
1027pub const H_ERR_RDS_NSS: u32 = 3661;
1028pub const H_ERR_RDS_ISS: u32 = 3662;
1029pub const H_ERR_RDS_NEC: u32 = 3663;
1030pub const H_ERR_NOFFTOPT: u32 = 3650;
1031pub const H_ERR_WRFFTOPTVERS: u32 = 3651;
1032pub const H_ERR_WRHALCONVERS: u32 = 3652;
1033pub const H_ERR_OPTFAIL: u32 = 3653;
1034pub const H_ERR_FFTOPT_NOSITEM: u32 = 3654;
1035pub const H_ERR_INVLD_DISP_RANGE: u32 = 3690;
1036pub const H_ERR_EPIINIM: u32 = 3700;
1037pub const H_ERR_EPI_FOV: u32 = 3701;
1038pub const H_ERR_EPI_RECT: u32 = 3702;
1039pub const H_ERR_BI_WT_TARGET: u32 = 3710;
1040pub const H_ERR_BI_WT_THICKNESS: u32 = 3711;
1041pub const H_ERR_BI_WT_POSITION: u32 = 3712;
1042pub const H_ERR_BI_WT_SIGMA: u32 = 3713;
1043pub const H_ERR_BI_WV_SIGMA: u32 = 3714;
1044pub const H_ERR_BI_WT_THRESH: u32 = 3715;
1045pub const H_ERR_BI_WV_TARGET: u32 = 3716;
1046pub const H_ERR_BI_WV_THICKNESS: u32 = 3717;
1047pub const H_ERR_BI_WV_POSITION: u32 = 3718;
1048pub const H_ERR_BI_WV_THRESH: u32 = 3719;
1049pub const H_ERR_BI_WT_REFINE: u32 = 3720;
1050pub const H_ERR_BI_WV_REFINE: u32 = 3721;
1051pub const H_ERR_BI_WT_RESOL: u32 = 3722;
1052pub const H_ERR_BI_WV_RESOL: u32 = 3723;
1053pub const H_ERR_BI_WT_POLARITY: u32 = 3724;
1054pub const H_ERR_BI_WV_POLARITY: u32 = 3725;
1055pub const H_ERR_SOL_EMPTY_MODEL_LIST: u32 = 3751;
1056pub const H_ERR_SOL_WNIW: u32 = 3752;
1057pub const H_ERR_SOL_WNIH: u32 = 3753;
1058pub const H_ERR_SOL_WPROF_REG: u32 = 3754;
1059pub const H_ERR_SOL_CAL_NONE: u32 = 3755;
1060pub const H_ERR_SOL_UNDEF_DISPARITY: u32 = 3756;
1061pub const H_ERR_SOL_UNDEF_DISPDOMAIN: u32 = 3757;
1062pub const H_ERR_SOL_UNDEF_CAMPAR: u32 = 3758;
1063pub const H_ERR_SOL_UNDEF_LPCS: u32 = 3759;
1064pub const H_ERR_SOL_UNDEF_CCS: u32 = 3760;
1065pub const H_ERR_SOL_UNDEF_CCS_2_LPCS: u32 = 3761;
1066pub const H_ERR_SOL_UNDEF_MOV_POSE: u32 = 3762;
1067pub const H_ERR_SOL_WV_SCALE: u32 = 3763;
1068pub const H_ERR_SOL_WV_PAR_NAME: u32 = 3764;
1069pub const H_ERR_SOL_WT_METHOD: u32 = 3765;
1070pub const H_ERR_SOL_WT_AMBIGUITY: u32 = 3766;
1071pub const H_ERR_SOL_WT_SCORE_TYPE: u32 = 3767;
1072pub const H_ERR_SOL_WT_CALIBRATION: u32 = 3768;
1073pub const H_ERR_SOL_WT_NUM_PROF: u32 = 3769;
1074pub const H_ERR_SOL_WT_CAM_PAR: u32 = 3770;
1075pub const H_ERR_SOL_WT_PAR_POSE: u32 = 3771;
1076pub const H_ERR_SOL_WV_METHOD: u32 = 3772;
1077pub const H_ERR_SOL_WT_THRES: u32 = 3773;
1078pub const H_ERR_SOL_WV_AMBIGUITY: u32 = 3774;
1079pub const H_ERR_SOL_WV_SCORE_TYPE: u32 = 3775;
1080pub const H_ERR_SOL_WV_CALIBRATION: u32 = 3776;
1081pub const H_ERR_SOL_WV_NUM_PROF: u32 = 3777;
1082pub const H_ERR_SOL_WV_CAMERA_TYPE: u32 = 3778;
1083pub const H_ERR_SOL_WN_CAM_PAR: u32 = 3779;
1084pub const H_ERR_SOL_WN_POSE: u32 = 3780;
1085pub const H_ERR_SOL_NO_TARGET_FOUND: u32 = 3781;
1086pub const H_ERR_SOL_NO_VALID_SOL: u32 = 3782;
1087pub const H_ERR_SOL_WT_CALIB_OBJECT: u32 = 3783;
1088pub const H_ERR_SOL_INVALID_CALIB_OBJECT: u32 = 3784;
1089pub const H_ERR_SOL_NO_CALIB_OBJECT_SET: u32 = 3785;
1090pub const H_ERR_SOL_WR_FILE_FORMAT: u32 = 3786;
1091pub const H_ERR_SOL_WR_FILE_VERS: u32 = 3787;
1092pub const H_ERR_SOL_CAMPAR_UNSUPPORTED: u32 = 3788;
1093pub const H_ERR_SOL_PAR_CALIB: u32 = 3790;
1094pub const H_ERR_SOL_WGV_DISP: u32 = 3791;
1095pub const H_ERR_TI_WRONGMODEL: u32 = 3800;
1096pub const H_ERR_TI_NOTTRAINED: u32 = 3801;
1097pub const H_ERR_TI_NOTRAINDATA: u32 = 3802;
1098pub const H_ERR_TI_NOTRAINFILE: u32 = 3803;
1099pub const H_ERR_TI_WRTRAINVERS: u32 = 3804;
1100pub const H_ERR_TI_WRSMPFORMAT: u32 = 3805;
1101pub const H_ERR_TI_WRSMPVERS: u32 = 3806;
1102pub const H_ERR_TI_WRIMGSIZE: u32 = 3807;
1103pub const H_ERR_TI_WRSMPTEXMODEL: u32 = 3808;
1104pub const H_ERR_NOT_ENOUGH_IMAGES: u32 = 3809;
1105pub const H_ERR_SING: u32 = 3850;
1106pub const H_ERR_FEWIM: u32 = 3851;
1107pub const H_ERR_ZBR_NOS: u32 = 3852;
1108pub const H_ERR_DIMK: u32 = 3900;
1109pub const H_ERR_NOFILE: u32 = 3901;
1110pub const H_ERR_FF1: u32 = 3902;
1111pub const H_ERR_FF2: u32 = 3903;
1112pub const H_ERR_FF3: u32 = 3904;
1113pub const H_ERR_NO_A: u32 = 3905;
1114pub const H_ERR_NO_C: u32 = 3906;
1115pub const H_ERR_NO_Q: u32 = 3907;
1116pub const H_ERR_NO_R: u32 = 3908;
1117pub const H_ERR_NO_GU: u32 = 3909;
1118pub const H_ERR_NOTSYMM: u32 = 3910;
1119pub const H_ERR_SINGU: u32 = 3911;
1120pub const H_ERR_SLM_NOT_PERSISTENT: u32 = 3950;
1121pub const H_ERR_SLM_MSW_TOO_LARGE: u32 = 3951;
1122pub const H_ERR_SLM_SSW_TOO_LARGE: u32 = 3952;
1123pub const H_ERR_SLM_MSW_GT_SSW: u32 = 3953;
1124pub const H_ERR_SLM_SSW_LT_MSW: u32 = 3954;
1125pub const H_ERR_SLM_NOT_PREP: u32 = 3955;
1126pub const H_ERR_SLM_NO_OBJS: u32 = 3956;
1127pub const H_ERR_SLM_WRVERS: u32 = 3957;
1128pub const H_ERR_SLM_WRFILE: u32 = 3958;
1129pub const H_ERR_SLM_WRONGPATTERN: u32 = 3959;
1130pub const H_ERR_SLM_NOT_DECODED: u32 = 3960;
1131pub const H_ERR_SLM_WRONGMODEL: u32 = 3961;
1132pub const H_ERR_SLM_WNUMCAMS: u32 = 3962;
1133pub const H_ERR_SLM_WPATTSIZE: u32 = 3963;
1134pub const H_ERR_SLM_WRONGCTYPE: u32 = 3964;
1135pub const H_ERR_SLM_WRONGPTYPE: u32 = 3965;
1136pub const H_ERR_SLM_NO_CSM: u32 = 3966;
1137pub const H_ERR_SLM_NO_VERT: u32 = 3967;
1138pub const H_ERR_SLM_NOT_DEC_REC: u32 = 3968;
1139pub const H_ERR_SLM_WCAMSIZE: u32 = 3969;
1140pub const H_ERR_DBOIT: u32 = 4050;
1141pub const H_ERR_DBOC: u32 = 4051;
1142pub const H_ERR_DBWOID: u32 = 4052;
1143pub const H_ERR_DBTC: u32 = 4053;
1144pub const H_ERR_DBWTID: u32 = 4054;
1145pub const H_ERR_DBTIO: u32 = 4055;
1146pub const H_ERR_DBIDNULL: u32 = 4056;
1147pub const H_ERR_WDBID: u32 = 4057;
1148pub const H_ERR_DBIC: u32 = 4058;
1149pub const H_ERR_DBWIID: u32 = 4059;
1150pub const H_ERR_DBRC: u32 = 4060;
1151pub const H_ERR_DBWRID: u32 = 4061;
1152pub const H_ERR_WCHAN: u32 = 4062;
1153pub const H_ERR_DBITL: u32 = 4063;
1154pub const H_ERR_DBIUNDEF: u32 = 4064;
1155pub const H_ERR_NO_OPENCL: u32 = 4100;
1156pub const H_ERR_OPENCL_ERROR: u32 = 4101;
1157pub const H_ERR_NO_COMPUTE_DEVICES: u32 = 4102;
1158pub const H_ERR_NO_DEVICE_IMPL: u32 = 4103;
1159pub const H_ERR_OUT_OF_DEVICE_MEM: u32 = 4104;
1160pub const H_ERR_INVALID_SHAPE: u32 = 4105;
1161pub const H_ERR_INVALID_DEVICE: u32 = 4106;
1162pub const H_ERR_CUDA_ERROR: u32 = 4200;
1163pub const H_ERR_CUDNN_ERROR: u32 = 4201;
1164pub const H_ERR_CUBLAS_ERROR: u32 = 4202;
1165pub const H_ERR_BATCH_SIZE_NOT_SUPPORTED: u32 = 4203;
1166pub const H_ERR_CUDA_NOT_AVAILABLE: u32 = 4204;
1167pub const H_ERR_CUDNN_UNSUPPORTED_VERSION: u32 = 4205;
1168pub const H_ERR_CUDNN_FEATURE_NOT_SUPPORTED: u32 = 4206;
1169pub const H_ERR_CUDA_DRIVER_VERSION: u32 = 4207;
1170pub const H_ERR_TRAINING_UNSUPPORTED: u32 = 4301;
1171pub const H_ERR_CPU_INFERENCE_NOT_AVAILABLE: u32 = 4302;
1172pub const H_ERR_DNNL_ERROR: u32 = 4303;
1173pub const H_ERR_HAI2_ERROR: u32 = 4320;
1174pub const H_ERR_HAI2_INVALID_PARAM: u32 = 4321;
1175pub const H_ERR_ACL_ERROR: u32 = 4400;
1176pub const H_ERR_VISUALIZATION: u32 = 4500;
1177pub const H_ERR_COLOR_TYPE_UNEXP: u32 = 4501;
1178pub const H_ERR_NUM_COLOR_EXCEEDED: u32 = 4502;
1179pub const H_ERR_WSCN: u32 = 5100;
1180pub const H_ERR_DSCO: u32 = 5101;
1181pub const H_ERR_WWC: u32 = 5102;
1182pub const H_ERR_NWA: u32 = 5103;
1183pub const H_ERR_DNA: u32 = 5104;
1184pub const H_ERR_UCOL: u32 = 5105;
1185pub const H_ERR_NWO: u32 = 5106;
1186pub const H_ERR_WFM: u32 = 5107;
1187pub const H_ERR_WGV: u32 = 5108;
1188pub const H_ERR_WPV: u32 = 5109;
1189pub const H_ERR_WLW: u32 = 5110;
1190pub const H_ERR_WCUR: u32 = 5111;
1191pub const H_ERR_WLUT: u32 = 5112;
1192pub const H_ERR_WDM: u32 = 5113;
1193pub const H_ERR_WRCO: u32 = 5114;
1194pub const H_ERR_WRDM: u32 = 5115;
1195pub const H_ERR_WRIT: u32 = 5116;
1196pub const H_ERR_IPIT: u32 = 5117;
1197pub const H_ERR_WRZS: u32 = 5118;
1198pub const H_ERR_WRDS: u32 = 5119;
1199pub const H_ERR_WRDV: u32 = 5120;
1200pub const H_ERR_WWINF: u32 = 5121;
1201pub const H_ERR_WDEXT: u32 = 5122;
1202pub const H_ERR_WWT: u32 = 5123;
1203pub const H_ERR_WND: u32 = 5124;
1204pub const H_ERR_WRGB: u32 = 5125;
1205pub const H_ERR_WPNS: u32 = 5126;
1206pub const H_ERR_WCM: u32 = 5127;
1207pub const H_ERR_FNA: u32 = 5128;
1208pub const H_ERR_LNFS: u32 = 5129;
1209pub const H_ERR_LOFL: u32 = 5130;
1210pub const H_ERR_WIDT: u32 = 5131;
1211pub const H_ERR_WWDS: u32 = 5132;
1212pub const H_ERR_NDVS: u32 = 5133;
1213pub const H_ERR_WBW: u32 = 5134;
1214pub const H_ERR_WDVS: u32 = 5135;
1215pub const H_ERR_TMF: u32 = 5136;
1216pub const H_ERR_WFN: u32 = 5137;
1217pub const H_ERR_WCP: u32 = 5138;
1218pub const H_ERR_NTW: u32 = 5139;
1219pub const H_ERR_NPW: u32 = 5140;
1220pub const H_ERR_STL: u32 = 5141;
1221pub const H_ERR_NSS: u32 = 5142;
1222pub const H_ERR_NMS: u32 = 5143;
1223pub const H_ERR_DWNA: u32 = 5144;
1224pub const H_ERR_WOM: u32 = 5145;
1225pub const H_ERR_WWM: u32 = 5146;
1226pub const H_ERR_LUTF: u32 = 5147;
1227pub const H_ERR_LUTN8: u32 = 5148;
1228pub const H_ERR_WTCM: u32 = 5149;
1229pub const H_ERR_WIFTL: u32 = 5150;
1230pub const H_ERR_WSOI: u32 = 5151;
1231pub const H_ERR_HRLUT: u32 = 5152;
1232pub const H_ERR_WPFSL: u32 = 5153;
1233pub const H_ERR_WPVS: u32 = 5154;
1234pub const H_ERR_WLPN: u32 = 5155;
1235pub const H_ERR_WLPL: u32 = 5156;
1236pub const H_ERR_WNOC: u32 = 5157;
1237pub const H_ERR_WPST: u32 = 5158;
1238pub const H_ERR_SWNA: u32 = 5159;
1239pub const H_ERR_NSFO: u32 = 5160;
1240pub const H_ERR_WSPN: u32 = 5161;
1241pub const H_ERR_WIFFD: u32 = 5162;
1242pub const H_ERR_WLUTF: u32 = 5163;
1243pub const H_ERR_WLUTE: u32 = 5164;
1244pub const H_ERR_WLUTD: u32 = 5165;
1245pub const H_ERR_CNDP: u32 = 5166;
1246pub const H_ERR_LNPR: u32 = 5167;
1247pub const H_ERR_NFSC: u32 = 5168;
1248pub const H_ERR_NACD: u32 = 5169;
1249pub const H_ERR_LUTO: u32 = 5170;
1250pub const H_ERR_WCC: u32 = 5171;
1251pub const H_ERR_WWATTRT: u32 = 5172;
1252pub const H_ERR_WWATTRN: u32 = 5173;
1253pub const H_ERR_WRSPART: u32 = 5174;
1254pub const H_ERR_WCSPART: u32 = 5175;
1255pub const H_ERR_WNCV: u32 = 5176;
1256pub const H_ERR_FONT_NA: u32 = 5177;
1257pub const H_ERR_WDIFFTH: u32 = 5178;
1258pub const H_ERR_OBJ_ATTACHED: u32 = 5194;
1259pub const H_ERR_CHA3: u32 = 5180;
1260pub const H_ERR_NMWA: u32 = 5181;
1261pub const H_ERR_DEPTH_NOT_STORED: u32 = 5179;
1262pub const H_ERR_INDEX_NOT_STORED: u32 = 5182;
1263pub const H_ERR_PRIM_NO_POINTS: u32 = 5183;
1264pub const H_ERR_REMOTE_DESKTOP_SIZE: u32 = 5184;
1265pub const H_ERR_NOGL: u32 = 5185;
1266pub const H_ERR_NODEPTH: u32 = 5186;
1267pub const H_ERR_OGL_ERROR: u32 = 5187;
1268pub const H_ERR_UNSUPPORTED_FBO: u32 = 5188;
1269pub const H_ERR_OGL_HSR_NOT_SUPPORTED: u32 = 5189;
1270pub const H_ERR_WP_IWP: u32 = 5190;
1271pub const H_ERR_WP_IWPV: u32 = 5191;
1272pub const H_ERR_UMOD: u32 = 5192;
1273pub const H_ERR_ATTIMG: u32 = 5193;
1274pub const H_ERR_NVG_WM: u32 = 5195;
1275pub const H_ERR_FINTERN: u32 = 5196;
1276pub const H_ERR_FS: u32 = 5197;
1277pub const H_ERR_FISR: u32 = 5198;
1278pub const H_ERR_BFD: u32 = 5199;
1279pub const H_ERR_FNF: u32 = 5200;
1280pub const H_ERR_DWI: u32 = 5201;
1281pub const H_ERR_DWID: u32 = 5202;
1282pub const H_ERR_DRI1: u32 = 5203;
1283pub const H_ERR_DRI2: u32 = 5204;
1284pub const H_ERR_DRID1: u32 = 5205;
1285pub const H_ERR_DIMMAT: u32 = 5206;
1286pub const H_ERR_HNF: u32 = 5207;
1287pub const H_ERR_XNF: u32 = 5208;
1288pub const H_ERR_CNCSI: u32 = 5209;
1289pub const H_ERR_CNCSO: u32 = 5210;
1290pub const H_ERR_CNCF: u32 = 5211;
1291pub const H_ERR_EDWF: u32 = 5212;
1292pub const H_ERR_NFA: u32 = 5213;
1293pub const H_ERR_WFIN: u32 = 5214;
1294pub const H_ERR_CNOF: u32 = 5215;
1295pub const H_ERR_WFMO: u32 = 5216;
1296pub const H_ERR_WPTY: u32 = 5217;
1297pub const H_ERR_WIW: u32 = 5218;
1298pub const H_ERR_WIH: u32 = 5219;
1299pub const H_ERR_FTS1: u32 = 5220;
1300pub const H_ERR_FTS2: u32 = 5221;
1301pub const H_ERR_WDPI: u32 = 5222;
1302pub const H_ERR_WNOW: u32 = 5223;
1303pub const H_ERR_WNOH: u32 = 5224;
1304pub const H_ERR_WNFP: u32 = 5225;
1305pub const H_ERR_WPNA: u32 = 5226;
1306pub const H_ERR_WSNA: u32 = 5227;
1307pub const H_ERR_NPCF: u32 = 5228;
1308pub const H_ERR_WHIF: u32 = 5229;
1309pub const H_ERR_HINF: u32 = 5230;
1310pub const H_ERR_HSNF: u32 = 5231;
1311pub const H_ERR_ICSF: u32 = 5232;
1312pub const H_ERR_EFNF: u32 = 5233;
1313pub const H_ERR_NFWKEF: u32 = 5234;
1314pub const H_ERR_WIFT: u32 = 5235;
1315pub const H_ERR_ICNF: u32 = 5236;
1316pub const H_ERR_WTIFF: u32 = 5237;
1317pub const H_ERR_WFF: u32 = 5238;
1318pub const H_ERR_NOPNM: u32 = 5242;
1319pub const H_ERR_ICODB: u32 = 5243;
1320pub const H_ERR_INVAL_FILE_ENC: u32 = 5244;
1321pub const H_ERR_FNO: u32 = 5245;
1322pub const H_ERR_NO_FILES: u32 = 5246;
1323pub const H_ERR_NORFILE: u32 = 5247;
1324pub const H_ERR_RDTB: u32 = 5248;
1325pub const H_ERR_BINFILE_ENC: u32 = 5249;
1326pub const H_ERR_EDRF: u32 = 5250;
1327pub const H_ERR_SNO: u32 = 5251;
1328pub const H_ERR_NSA: u32 = 5252;
1329pub const H_ERR_CNOS: u32 = 5253;
1330pub const H_ERR_CNCS: u32 = 5254;
1331pub const H_ERR_CNGSA: u32 = 5255;
1332pub const H_ERR_CNSSA: u32 = 5256;
1333pub const H_ERR_WRSBR: u32 = 5257;
1334pub const H_ERR_WRSDB: u32 = 5258;
1335pub const H_ERR_WRSFC: u32 = 5259;
1336pub const H_ERR_CNFS: u32 = 5260;
1337pub const H_ERR_EDWS: u32 = 5261;
1338pub const H_ERR_EDRS: u32 = 5262;
1339pub const H_ERR_REG_NOSITEM: u32 = 5270;
1340pub const H_ERR_REG_WRVERS: u32 = 5271;
1341pub const H_ERR_IMG_NOSITEM: u32 = 5272;
1342pub const H_ERR_IMG_WRVERS: u32 = 5273;
1343pub const H_ERR_XLD_NOSITEM: u32 = 5274;
1344pub const H_ERR_XLD_WRVERS: u32 = 5275;
1345pub const H_ERR_OBJ_NOSITEM: u32 = 5276;
1346pub const H_ERR_OBJ_WRVERS: u32 = 5277;
1347pub const H_ERR_XLD_DATA_TOO_LARGE: u32 = 5678;
1348pub const H_ERR_OBJ_UNEXPECTED: u32 = 5279;
1349pub const H_ERR_FNOTF: u32 = 5280;
1350pub const H_ERR_FNOBF: u32 = 5281;
1351pub const H_ERR_DIRCR: u32 = 5282;
1352pub const H_ERR_DIRRM: u32 = 5283;
1353pub const H_ERR_GETCWD: u32 = 5284;
1354pub const H_ERR_SETCWD: u32 = 5285;
1355pub const H_ERR_XINIT: u32 = 5286;
1356pub const H_ERR_NFS: u32 = 5300;
1357pub const H_ERR_FGWC: u32 = 5301;
1358pub const H_ERR_FGWD: u32 = 5302;
1359pub const H_ERR_FGVF: u32 = 5303;
1360pub const H_ERR_FGNV: u32 = 5304;
1361pub const H_ERR_UFG: u32 = 5305;
1362pub const H_ERR_FGF: u32 = 5306;
1363pub const H_ERR_FGWR: u32 = 5307;
1364pub const H_ERR_FGWP: u32 = 5308;
1365pub const H_ERR_FGWPR: u32 = 5309;
1366pub const H_ERR_FGWH: u32 = 5310;
1367pub const H_ERR_FGCL: u32 = 5311;
1368pub const H_ERR_FGNI: u32 = 5312;
1369pub const H_ERR_FGET: u32 = 5313;
1370pub const H_ERR_FGLI: u32 = 5314;
1371pub const H_ERR_FGCS: u32 = 5315;
1372pub const H_ERR_FGPT: u32 = 5316;
1373pub const H_ERR_FGCT: u32 = 5317;
1374pub const H_ERR_FGTM: u32 = 5318;
1375pub const H_ERR_FGDV: u32 = 5319;
1376pub const H_ERR_FGASYNC: u32 = 5320;
1377pub const H_ERR_FGPARAM: u32 = 5321;
1378pub const H_ERR_FGTIMEOUT: u32 = 5322;
1379pub const H_ERR_FGGAIN: u32 = 5323;
1380pub const H_ERR_FGFIELD: u32 = 5324;
1381pub const H_ERR_FGPART: u32 = 5325;
1382pub const H_ERR_FGPARV: u32 = 5326;
1383pub const H_ERR_FGFNS: u32 = 5327;
1384pub const H_ERR_FGIVERS: u32 = 5328;
1385pub const H_ERR_FGSETPAR: u32 = 5329;
1386pub const H_ERR_FGGETPAR: u32 = 5330;
1387pub const H_ERR_FGPARNA: u32 = 5331;
1388pub const H_ERR_FGCLOSE: u32 = 5332;
1389pub const H_ERR_FGCAMFILE: u32 = 5333;
1390pub const H_ERR_FGCALLBACK: u32 = 5334;
1391pub const H_ERR_FGDEVLOST: u32 = 5335;
1392pub const H_ERR_FGABORTED: u32 = 5336;
1393pub const H_ERR_IOTIMEOUT: u32 = 5350;
1394pub const H_ERR_IOIVERS: u32 = 5351;
1395pub const H_ERR_IOWH: u32 = 5352;
1396pub const H_ERR_IODBUSY: u32 = 5353;
1397pub const H_ERR_IOIAR: u32 = 5354;
1398pub const H_ERR_IONF: u32 = 5355;
1399pub const H_ERR_IOPART: u32 = 5356;
1400pub const H_ERR_IOPARV: u32 = 5357;
1401pub const H_ERR_IOPARNUM: u32 = 5358;
1402pub const H_ERR_IOPARAM: u32 = 5359;
1403pub const H_ERR_IOPARNA: u32 = 5360;
1404pub const H_ERR_IOFNS: u32 = 5361;
1405pub const H_ERR_IOME: u32 = 5362;
1406pub const H_ERR_IODNA: u32 = 5363;
1407pub const H_ERR_IOABORTED: u32 = 5364;
1408pub const H_ERR_IODATT: u32 = 5365;
1409pub const H_ERR_IODEVLOST: u32 = 5366;
1410pub const H_ERR_IOSETPAR: u32 = 5367;
1411pub const H_ERR_IOGETPAR: u32 = 5368;
1412pub const H_ERR_IOCLOSE: u32 = 5369;
1413pub const H_ERR_JXR_UNSUPPORTED_FORMAT: u32 = 5400;
1414pub const H_ERR_JXR_INVALID_PIXEL_FORMAT: u32 = 5401;
1415pub const H_ERR_JXR_INTERNAL_ERROR: u32 = 5402;
1416pub const H_ERR_JXR_FORMAT_SYNTAX_ERROR: u32 = 5403;
1417pub const H_ERR_JXR_TOO_MANY_CHANNELS: u32 = 5404;
1418pub const H_ERR_JXR_EC_ERROR: u32 = 5405;
1419pub const H_ERR_JXR_EC_BADMAGIC: u32 = 5406;
1420pub const H_ERR_JXR_EC_FEATURE_NOT_IMPLEMENTED: u32 = 5407;
1421pub const H_ERR_JXR_EC_IO: u32 = 5408;
1422pub const H_ERR_JXR_EC_BADFORMAT: u32 = 5409;
1423pub const H_ERR_LIB_FILE_CLOSE: u32 = 5500;
1424pub const H_ERR_LIB_FILE_OPEN: u32 = 5501;
1425pub const H_ERR_LIB_UNEXPECTED_EOF: u32 = 5502;
1426pub const H_ERR_IDTL: u32 = 5503;
1427pub const H_ERR_ITLHV: u32 = 5504;
1428pub const H_ERR_TMIO: u32 = 5505;
1429pub const H_ERR_FILE_FORMAT_UNSUPPORTED: u32 = 5506;
1430pub const H_ERR_INCONSISTENT_DIMENSIONS: u32 = 5507;
1431pub const H_ERR_PCX_NO_PCX_FILE: u32 = 5510;
1432pub const H_ERR_PCX_UNKNOWN_ENCODING: u32 = 5511;
1433pub const H_ERR_PCX_MORE_THAN_4_PLANES: u32 = 5512;
1434pub const H_ERR_PCX_COLORMAP_SIGNATURE: u32 = 5513;
1435pub const H_ERR_PCX_REPEAT_COUNT_SPANS: u32 = 5514;
1436pub const H_ERR_PCX_TOO_MUCH_BITS_PIXEL: u32 = 5515;
1437pub const H_ERR_PCX_PACKED_PIXELS: u32 = 5516;
1438pub const H_ERR_GIF_NO_GIF_PICTURE: u32 = 5520;
1439pub const H_ERR_GIF_BAD_VERSION: u32 = 5521;
1440pub const H_ERR_GIF_SCREEN_DESCRIPTOR: u32 = 5522;
1441pub const H_ERR_GIF_COLORMAP: u32 = 5523;
1442pub const H_ERR_GIF_READ_ERROR_EOF: u32 = 5524;
1443pub const H_ERR_GIF_NOT_ENOUGH_IMAGES: u32 = 5525;
1444pub const H_ERR_GIF_ERROR_ON_EXTENSION: u32 = 5526;
1445pub const H_ERR_GIF_LEFT_TOP_WIDTH: u32 = 5527;
1446pub const H_ERR_GIF_CIRCULAR_TABL_ENTRY: u32 = 5528;
1447pub const H_ERR_GIF_BAD_IMAGE_DATA: u32 = 5529;
1448pub const H_ERR_SUN_RASTERFILE_TYPE: u32 = 5530;
1449pub const H_ERR_SUN_RASTERFILE_HEADER: u32 = 5531;
1450pub const H_ERR_SUN_COLS: u32 = 5532;
1451pub const H_ERR_SUN_ROWS: u32 = 5533;
1452pub const H_ERR_SUN_COLORMAP: u32 = 5534;
1453pub const H_ERR_SUN_RASTERFILE_IMAGE: u32 = 5535;
1454pub const H_ERR_SUN_IMPOSSIBLE_DATA: u32 = 5536;
1455pub const H_ERR_XWD_IMPOSSIBLE_DATA: u32 = 5540;
1456pub const H_ERR_XWD_VISUAL_CLASS: u32 = 5541;
1457pub const H_ERR_XWD_X10_HEADER: u32 = 5542;
1458pub const H_ERR_XWD_X11_HEADER: u32 = 5543;
1459pub const H_ERR_XWD_X10_COLORMAP: u32 = 5544;
1460pub const H_ERR_XWD_X11_COLORMAP: u32 = 5545;
1461pub const H_ERR_XWD_X11_PIXMAP: u32 = 5546;
1462pub const H_ERR_XWD_UNKNOWN_VERSION: u32 = 5547;
1463pub const H_ERR_XWD_READING_IMAGE: u32 = 5548;
1464pub const H_ERR_TIF_BAD_INPUTDATA: u32 = 5550;
1465pub const H_ERR_TIF_COLORMAP: u32 = 5551;
1466pub const H_ERR_TIF_TOO_MANY_COLORS: u32 = 5552;
1467pub const H_ERR_TIF_BAD_PHOTOMETRIC: u32 = 5553;
1468pub const H_ERR_TIF_PHOTOMETRIC_DEPTH: u32 = 5554;
1469pub const H_ERR_TIF_NO_REGION: u32 = 5555;
1470pub const H_ERR_TIF_UNSUPPORTED_FORMAT: u32 = 5556;
1471pub const H_ERR_TIF_BAD_SPECIFICATION: u32 = 5557;
1472pub const H_ERR_TIF_FILE_CORRUPT: u32 = 5558;
1473pub const H_ERR_TIF_TAG_UNDEFINED: u32 = 5559;
1474pub const H_ERR_BMP_NO_BMP_PICTURE: u32 = 5560;
1475pub const H_ERR_BMP_READ_ERROR_EOF: u32 = 5561;
1476pub const H_ERR_BMP_INCOMPLETE_HEADER: u32 = 5562;
1477pub const H_ERR_BMP_UNKNOWN_FORMAT: u32 = 5563;
1478pub const H_ERR_BMP_UNKNOWN_COMPRESSION: u32 = 5564;
1479pub const H_ERR_BMP_COLORMAP: u32 = 5565;
1480pub const H_ERR_BMP_WRITE_ERROR: u32 = 5566;
1481pub const H_ERR_BMP_NO_REGION: u32 = 5567;
1482pub const H_ERR_JPG_COMP_NUM: u32 = 5570;
1483pub const H_ERR_JPGLIB_UNKNOWN: u32 = 5571;
1484pub const H_ERR_JPGLIB_NOTIMPL: u32 = 5572;
1485pub const H_ERR_JPGLIB_FILE: u32 = 5573;
1486pub const H_ERR_JPGLIB_TMPFILE: u32 = 5574;
1487pub const H_ERR_JPGLIB_MEMORY: u32 = 5575;
1488pub const H_ERR_JPGLIB_INFORMAT: u32 = 5576;
1489pub const H_ERR_PNG_NO_PNG_FILE: u32 = 5580;
1490pub const H_ERR_PNG_UNKNOWN_INTERLACE_TYPE: u32 = 5581;
1491pub const H_ERR_PNG_UNSUPPORTED_COLOR_TYPE: u32 = 5582;
1492pub const H_ERR_PNG_NO_REGION: u32 = 5583;
1493pub const H_ERR_PNG_SIZE_TOO_BIG: u32 = 5584;
1494pub const H_ERR_TIF_TAG_ACCESS: u32 = 5587;
1495pub const H_ERR_TIF_TAG_DATATYPE: u32 = 5588;
1496pub const H_ERR_TIF_TAG_UNSUPPORTED: u32 = 5589;
1497pub const H_ERR_JP2_CORRUPT: u32 = 5590;
1498pub const H_ERR_JP2_PREC_TOO_HIGH: u32 = 5591;
1499pub const H_ERR_JP2_ENCODING_ERROR: u32 = 5592;
1500pub const H_ERR_JP2_SIZE_TOO_BIG: u32 = 5593;
1501pub const H_ERR_JP2_INTERNAL_ERROR: u32 = 5594;
1502pub const H_ERR_HOBJ_NOT_ONLY_IMAGES: u32 = 5599;
1503pub const H_ERR_SOCKET_BLOCK: u32 = 5600;
1504pub const H_ERR_SOCKET_UNBLOCK: u32 = 5601;
1505pub const H_ERR_SOCKET_NO_CPAR: u32 = 5602;
1506pub const H_ERR_SOCKET_NO_IMAGE: u32 = 5603;
1507pub const H_ERR_SOCKET_NO_RL: u32 = 5604;
1508pub const H_ERR_SOCKET_NO_XLD: u32 = 5605;
1509pub const H_ERR_SOCKET_READ_DATA_FAILED: u32 = 5606;
1510pub const H_ERR_SOCKET_WRITE_DATA_FAILED: u32 = 5607;
1511pub const H_ERR_SOCKET_WRONG_BYTE_NUMBER: u32 = 5608;
1512pub const H_ERR_SOCKET_BUFFER_OVERFLOW: u32 = 5609;
1513pub const H_ERR_SOCKET_CANT_ASSIGN_FD: u32 = 5610;
1514pub const H_ERR_SOCKET_CANT_BIND: u32 = 5611;
1515pub const H_ERR_SOCKET_CANT_GET_PORTNUMBER: u32 = 5612;
1516pub const H_ERR_SOCKET_CANT_LISTEN: u32 = 5613;
1517pub const H_ERR_SOCKET_CANT_ACCEPT: u32 = 5614;
1518pub const H_ERR_SOCKET_CANT_CONNECT: u32 = 5615;
1519pub const H_ERR_SOCKET_GETHOSTBYNAME: u32 = 5616;
1520pub const H_ERR_SOCKET_ILLEGAL_TUPLE_TYPE: u32 = 5618;
1521pub const H_ERR_SOCKET_TIMEOUT: u32 = 5619;
1522pub const H_ERR_SOCKET_NA: u32 = 5620;
1523pub const H_ERR_SOCKET_NI: u32 = 5621;
1524pub const H_ERR_SOCKET_OOR: u32 = 5622;
1525pub const H_ERR_SOCKET_IS: u32 = 5623;
1526pub const H_ERR_SOCKET_DATA_TOO_LARGE: u32 = 5624;
1527pub const H_ERR_SOCKET_WRONG_TYPE: u32 = 5625;
1528pub const H_ERR_SOCKET_NO_PACKED_DATA: u32 = 5626;
1529pub const H_ERR_SOCKET_PARAM_FAILED: u32 = 5627;
1530pub const H_ERR_SOCKET_FORMAT_MISMATCH: u32 = 5628;
1531pub const H_ERR_SOCKET_INVALID_FORMAT: u32 = 5629;
1532pub const H_ERR_SOCKET_NO_SERIALIZED_ITEM: u32 = 5630;
1533pub const H_ERR_SOCKET_TLS_CONTEXT: u32 = 5631;
1534pub const H_ERR_SOCKET_TLS_CERT_KEY: u32 = 5632;
1535pub const H_ERR_SOCKET_TLS_HANDSHAKE: u32 = 5633;
1536pub const H_ERR_ARCINFO_TOO_MANY_XLDS: u32 = 5700;
1537pub const H_ERR_QUAT_WRONG_VERSION: u32 = 5750;
1538pub const H_ERR_QUAT_NOSITEM: u32 = 5751;
1539pub const H_ERR_HOM_MAT2D_WRONG_VERSION: u32 = 5752;
1540pub const H_ERR_HOM_MAT2D_NOSITEM: u32 = 5753;
1541pub const H_ERR_HOM_MAT3D_WRONG_VERSION: u32 = 5754;
1542pub const H_ERR_HOM_MAT3D_NOSITEM: u32 = 5755;
1543pub const H_ERR_TUPLE_WRONG_VERSION: u32 = 5756;
1544pub const H_ERR_TUPLE_NOSITEM: u32 = 5757;
1545pub const H_ERR_TUPLE_DTLFTHV: u32 = 5758;
1546pub const H_ERR_POSE_WRONG_VERSION: u32 = 5759;
1547pub const H_ERR_POSE_NOSITEM: u32 = 5760;
1548pub const H_ERR_CAM_PAR_WRONG_VERSION: u32 = 5761;
1549pub const H_ERR_CAM_PAR_NOSITEM: u32 = 5762;
1550pub const H_ERR_DUAL_QUAT_WRONG_VERSION: u32 = 5763;
1551pub const H_ERR_DUAL_QUAT_NOSITEM: u32 = 5764;
1552pub const H_ERR_NP: u32 = 6000;
1553pub const H_ERR_MEM: u32 = 6001;
1554pub const H_ERR_ICM: u32 = 6002;
1555pub const H_ERR_WMS: u32 = 6003;
1556pub const H_ERR_NOTMP: u32 = 6004;
1557pub const H_ERR_TMPNULL: u32 = 6005;
1558pub const H_ERR_CNFMEM: u32 = 6006;
1559pub const H_ERR_WMT: u32 = 6007;
1560pub const H_ERR_MEM_VID: u32 = 6021;
1561pub const H_ERR_NRA: u32 = 6041;
1562pub const H_ERR_IAD: u32 = 6040;
1563pub const H_ERR_INVALID_ALIGN: u32 = 6042;
1564pub const H_ERR_NULL_PTR: u32 = 6043;
1565pub const H_ERR_CP_FAILED: u32 = 6500;
1566pub const H_ERR_WOCPI: u32 = 7000;
1567pub const H_ERR_WOCPVN: u32 = 7001;
1568pub const H_ERR_WOCPT: u32 = 7002;
1569pub const H_ERR_WKT: u32 = 7003;
1570pub const H_ERR_IOOR: u32 = 7004;
1571pub const H_ERR_IHV: u32 = 7005;
1572pub const H_ERR_NISS: u32 = 7006;
1573pub const H_ERR_PROC_NULL: u32 = 7007;
1574pub const H_ERR_UNKN: u32 = 7105;
1575pub const H_ERR_WOON: u32 = 7200;
1576pub const H_ERR_OTSE: u32 = 7400;
1577pub const H_ERR_OTLE: u32 = 7401;
1578pub const H_ERR_OTFE: u32 = 7402;
1579pub const H_ERR_OPINP: u32 = 7403;
1580pub const H_ERR_TWC: u32 = 7404;
1581pub const H_ERR_CNN_DATA: u32 = 7701;
1582pub const H_ERR_CNN_MEM: u32 = 7702;
1583pub const H_ERR_CNN_IO_INVALID: u32 = 7703;
1584pub const H_ERR_CNN_IMPL_NOT_AVAILABLE: u32 = 7704;
1585pub const H_ERR_CNN_NUM_INPUTS_INVALID: u32 = 7705;
1586pub const H_ERR_CNN_IMPL_INVALID: u32 = 7706;
1587pub const H_ERR_CNN_TRAINING_NOT_SUP: u32 = 7707;
1588pub const H_ERR_CNN_GPU_REQUIRED: u32 = 7708;
1589pub const H_ERR_CNN_CUDA_LIBS_MISSING: u32 = 7709;
1590pub const H_ERR_OCR_CNN_RE: u32 = 7710;
1591pub const H_ERR_OCR_CNN_WGPN: u32 = 7711;
1592pub const H_ERR_OCR_CNN_EXCLUSIV_PARAM: u32 = 7712;
1593pub const H_ERR_CNN_WGPN: u32 = 7713;
1594pub const H_ERR_CNN_INVALID_LABELS: u32 = 7714;
1595pub const H_ERR_OCR_CNN_FILE_WRONG_VERSION: u32 = 7715;
1596pub const H_ERR_CNN_MULTIPLE_CLASSES: u32 = 7716;
1597pub const H_ERR_CNN_CUBLAS_LIBS_MISSING: u32 = 7717;
1598pub const H_ERR_CNN_CUDNN_LIBS_MISSING: u32 = 7718;
1599pub const H_ERR_OCR_FNF_FIND_TEXT_SUPPORT: u32 = 7719;
1600pub const H_ERR_CNN_TRAINING_FAILED: u32 = 7720;
1601pub const H_ERR_CNN_NO_PRETRAINED_WEIGHTS: u32 = 7721;
1602pub const H_ERR_CNN_INVALID_INPUT_SIZE: u32 = 7722;
1603pub const H_ERR_CNN_RESULT_NOT_AVAILABLE: u32 = 7723;
1604pub const H_ERR_CNN_INVALID_INPUT_DEPTH: u32 = 7724;
1605pub const H_ERR_CNN_DEPTH_NOT_AVAILABLE: u32 = 7725;
1606pub const H_ERR_CNN_INVALID_BATCH_SIZE: u32 = 7726;
1607pub const H_ERR_CNN_INVALID_PARAM_SPEC: u32 = 7727;
1608pub const H_ERR_CNN_EXCEEDS_MAX_MEM: u32 = 7728;
1609pub const H_ERR_CNN_BATCH_SIZE_OVERFLOW: u32 = 7729;
1610pub const H_ERR_CNN_INVALID_IMAGE_SIZE: u32 = 7730;
1611pub const H_ERR_CNN_INVALID_LAYER_PARAM_VALUE: u32 = 7731;
1612pub const H_ERR_CNN_INVALID_LAYER_PARAM_NUM: u32 = 7732;
1613pub const H_ERR_CNN_INVALID_LAYER_PARAM_TYPE: u32 = 7733;
1614pub const H_ERR_CNN_NUM_OUTPUTS_INVALID: u32 = 7734;
1615pub const H_ERR_CNN_INVALID_SHAPE: u32 = 7735;
1616pub const H_ERR_CNN_INVALID_INPUT_DATA: u32 = 7736;
1617pub const H_ERR_CNN_CUDNN_CTC_LOSS_BUGGY: u32 = 7737;
1618pub const H_ERR_CNN_INVALID_PADDING: u32 = 7738;
1619pub const H_ERR_CNN_IO_INVALID_LAYER_TYPE: u32 = 7740;
1620pub const H_ERR_CNN_INFERENCE_FAILED: u32 = 7741;
1621pub const H_ERR_CNN_RUNTIME_FAILED: u32 = 7742;
1622pub const H_ERR_GRAPH_INTERNAL: u32 = 7751;
1623pub const H_ERR_GRAPH_IO_INVALID: u32 = 7752;
1624pub const H_ERR_GRAPH_INVALID_INDEX: u32 = 7753;
1625pub const H_ERR_CNNGRAPH_INTERNAL: u32 = 7760;
1626pub const H_ERR_CNNGRAPH_IO_INVALID: u32 = 7761;
1627pub const H_ERR_CNNGRAPH_LAYER_INVALID: u32 = 7762;
1628pub const H_ERR_CNNGRAPH_NOINIT: u32 = 7763;
1629pub const H_ERR_CNNGRAPH_INVALID_MEM: u32 = 7764;
1630pub const H_ERR_CNNGRAPH_INVALID_NUML: u32 = 7765;
1631pub const H_ERR_CNNGRAPH_INVALID_IDX: u32 = 7766;
1632pub const H_ERR_CNNGRAPH_SPEC_STATUS: u32 = 7767;
1633pub const H_ERR_CNNGRAPH_NOCHANGE: u32 = 7768;
1634pub const H_ERR_CNNGRAPH_PREPROC: u32 = 7769;
1635pub const H_ERR_CNNGRAPH_DEGREE: u32 = 7770;
1636pub const H_ERR_CNNGRAPH_OUTSHAPE: u32 = 7771;
1637pub const H_ERR_CNNGRAPH_SPEC: u32 = 7772;
1638pub const H_ERR_CNNGRAPH_DEF: u32 = 7773;
1639pub const H_ERR_CNNGRAPH_NO_CLASS_CHANGE: u32 = 7774;
1640pub const H_ERR_CNNGRAPH_NO_IMAGE_RESIZE: u32 = 7775;
1641pub const H_ERR_CNNGRAPH_AUX_INDEX_OOB: u32 = 7776;
1642pub const H_ERR_CNNGRAPH_AUX_SPEC: u32 = 7777;
1643pub const H_ERR_CNNGRAPH_LAYER_UNSUPPORTED: u32 = 7778;
1644pub const H_ERR_DL_INTERNAL: u32 = 7779;
1645pub const H_ERR_DL_FILE_READ: u32 = 7780;
1646pub const H_ERR_DL_FILE_WRITE: u32 = 7781;
1647pub const H_ERR_DL_FILE_WRONG_VERSION: u32 = 7782;
1648pub const H_ERR_DL_INPUTS_MISSING: u32 = 7783;
1649pub const H_ERR_DL_INPUT_WRONG_BS: u32 = 7784;
1650pub const H_ERR_DL_INVALID_NAME: u32 = 7785;
1651pub const H_ERR_DL_DUPLICATE_NAME: u32 = 7786;
1652pub const H_ERR_DL_INVALID_OUTPUT: u32 = 7787;
1653pub const H_ERR_DL_PARAM_NOT_AVAILABLE: u32 = 7788;
1654pub const H_ERR_DL_INPUT_WRONG_LENGTH: u32 = 7789;
1655pub const H_ERR_DL_INPUT_WRONG_TYPE: u32 = 7790;
1656pub const H_ERR_DL_INPUT_WRONG_VALUES: u32 = 7791;
1657pub const H_ERR_DL_CLASS_IDS_NOT_UNIQUE: u32 = 7792;
1658pub const H_ERR_DL_CLASS_IDS_INVALID: u32 = 7793;
1659pub const H_ERR_DL_CLASS_IDS_INVALID_CONV: u32 = 7794;
1660pub const H_ERR_DL_TYPE_ALREADY_DEFINED: u32 = 7795;
1661pub const H_ERR_DL_NO_INFERENCE_INPUTS: u32 = 7796;
1662pub const H_ERR_DL_CLASS_IDS_INVALID_OVERLAP: u32 = 7797;
1663pub const H_ERR_DL_WRONG_OUTPUT_LAYER_NUM: u32 = 7798;
1664pub const H_ERR_DL_WRONG_BS_MULTIPLIER: u32 = 7799;
1665pub const H_ERR_DL_INPUT_WRONG_BS_WITH_MULTIPLIER: u32 = 7800;
1666pub const H_ERR_DL_READ_ONNX: u32 = 7801;
1667pub const H_ERR_DL_CLASS_IDS_MISSING: u32 = 7802;
1668pub const H_ERR_DL_WRITE_ONNX: u32 = 7803;
1669pub const H_ERR_DL_ONNX_LOADER: u32 = 7804;
1670pub const H_ERR_DL_FPN_SCALES: u32 = 7810;
1671pub const H_ERR_DL_FPN_INVALID_BACKBONE: u32 = 7811;
1672pub const H_ERR_DL_FPN_INVALID_FEATURE_MAP_SIZE: u32 = 7812;
1673pub const H_ERR_DL_FPN_INVALID_LEVELS: u32 = 7813;
1674pub const H_ERR_DL_ANCHOR: u32 = 7820;
1675pub const H_ERR_DL_DETECTOR_INVALID_PARAM: u32 = 7821;
1676pub const H_ERR_DL_DETECTOR_INVALID_PARAM_VALUE: u32 = 7822;
1677pub const H_ERR_DL_DETECTOR_INVALID_DOCKING_LAYER: u32 = 7823;
1678pub const H_ERR_DL_DETECTOR_INVALID_INSTANCE_TYPE: u32 = 7824;
1679pub const H_ERR_DL_NODE_MISSING_PARAM_NAME: u32 = 7830;
1680pub const H_ERR_DL_NODE_GENPARAM_NAME_NOT_ALLOWED: u32 = 7831;
1681pub const H_ERR_DL_NODE_INVALID_SPEC: u32 = 7832;
1682pub const H_ERR_DL_NODE_DUPLICATE_EDGE: u32 = 7833;
1683pub const H_ERR_DL_SOLVER_INVALID_TYPE: u32 = 7840;
1684pub const H_ERR_DL_SOLVER_INVALID_UPDATE_FORMULA: u32 = 7841;
1685pub const H_ERR_DL_HEATMAP_UNSUPPORTED_RUNTIME: u32 = 7850;
1686pub const H_ERR_DL_HEATMAP_UNSUPPORTED_MODEL_TYPE: u32 = 7851;
1687pub const H_ERR_DL_HEATMAP_UNSUPPORTED_METHOD: u32 = 7852;
1688pub const H_ERR_DL_HEATMAP_WRONG_TARGET_CLASS_ID: u32 = 7853;
1689pub const H_ERR_DL_GCAD_NETWORK_NOT_AVAILABLE: u32 = 7870;
1690pub const H_ERR_DL_ANOMALY_MODEL_INTERNAL: u32 = 7880;
1691pub const H_ERR_DL_ANOMALY_MODEL_UNTRAINED: u32 = 7881;
1692pub const H_ERR_DL_ANOMALY_MODEL_TRAINING_FAILED: u32 = 7882;
1693pub const H_ERR_DL_ANOMALY_MODEL_PARAM_TRAINED: u32 = 7883;
1694pub const H_ERR_DL_ANOMALY_MODEL_RESIZE: u32 = 7884;
1695pub const H_ERR_DL_ANOMALY_MODEL_DEPTH: u32 = 7885;
1696pub const H_ERR_DL_ANOMALY_MODEL_INPUT_DOMAIN: u32 = 7886;
1697pub const H_ERR_DEEP_OCR_MODEL_INTERNAL: u32 = 7890;
1698pub const H_ERR_DEEP_OCR_MODEL_INVALID_ALPHABET: u32 = 7891;
1699pub const H_ERR_DEEP_OCR_MODEL_INVALID_ALPHABET_IDX: u32 = 7892;
1700pub const H_ERR_DEEP_OCR_MODEL_INVALID_MODEL_TYPE: u32 = 7893;
1701pub const H_ERR_DEEP_OCR_MODEL_NOT_AVAILABLE: u32 = 7894;
1702pub const H_ERR_DEEP_OCR_MODEL_INVALID_ALPHABET_MAPPING_NO_ALPHABET: u32 = 7895;
1703pub const H_ERR_DEEP_OCR_MODEL_INVALID_ALPHABET_MAPPING_IDX: u32 = 7896;
1704pub const H_ERR_DEEP_OCR_MODEL_INVALID_ALPHABET_MAPPING_LEN: u32 = 7897;
1705pub const H_ERR_DEEP_OCR_MODEL_FILE_NOT_FOUND: u32 = 7898;
1706pub const H_ERR_DEEP_OCR_MODEL_UNKNOWN_CHAR: u32 = 7899;
1707pub const H_ERR_DEEP_OCR_MODEL_INVALID_WORD_LENGTH: u32 = 7900;
1708pub const H_ERR_DEEP_OCR_MODEL_ALPHABET_NOT_UNIQUE: u32 = 7901;
1709pub const H_ERR_DL_MODEL_APPLY_NO_DEF_OUTPUTS: u32 = 7910;
1710pub const H_ERR_DL_MODEL_UNSUPPORTED_GENPARAM: u32 = 7911;
1711pub const H_ERR_DL_MODEL_OPERATOR_UNSUPPORTED: u32 = 7912;
1712pub const H_ERR_DL_MODEL_RUNTIME: u32 = 7913;
1713pub const H_ERR_DL_MODEL_UNSUPPORTED_GENVALUE: u32 = 7914;
1714pub const H_ERR_DL_MODEL_INVALID_NUM_SAMPLES: u32 = 7915;
1715pub const H_ERR_DL_MODEL_CONVERTED_PARAM: u32 = 7916;
1716pub const H_ERR_DL_MODEL_CONVERTED_UNSUPPORTED: u32 = 7917;
1717pub const H_ERR_DL_INVALID_DATASET: u32 = 7925;
1718pub const H_ERR_DL_INVALID_SAMPLE_INDEX: u32 = 7926;
1719pub const H_ERR_DEEP_COUNTING_NOT_PREPARED: u32 = 7940;
1720pub const H_ERR_DEEP_COUNTING_UNSUPPORTED_BACKBONE: u32 = 7941;
1721pub const H_ERR_DEEP_COUNTING_PREPARE_UNSUPPORTED: u32 = 7942;
1722pub const H_ERR_DEEP_COUNTING_NO_BACKBONE: u32 = 7943;
1723pub const H_ERR_DL_DEVICE_UNSUPPORTED_PRECISION: u32 = 7960;
1724pub const H_ERR_DL_PRUNING_WRONG_DATA: u32 = 7980;
1725pub const H_ERR_DL_PRUNING_UNSUPPORTED_BY_CNN: u32 = 7981;
1726pub const H_ERR_DL_OOD_UNSUPPORTED_MODEL_TYPE: u32 = 7985;
1727pub const H_ERR_DL_OOD_INSUFFICIENT_SAMPLE_DIVERSITY: u32 = 7986;
1728pub const H_ERR_DL_OOD_INTERNAL_ERROR: u32 = 7987;
1729pub const H_ERR_DL_OOD_INVALID: u32 = 7988;
1730pub const H_ERR_DL_MODULE_NOT_LOADED: u32 = 7990;
1731pub const H_ERR_WPRN: u32 = 8000;
1732pub const H_ERR_RCNA: u32 = 8001;
1733pub const H_ERR_WPC: u32 = 8002;
1734pub const H_ERR_ORMF: u32 = 8101;
1735pub const H_ERR_EOFRMF: u32 = 8102;
1736pub const H_ERR_CVTRMF: u32 = 8103;
1737pub const H_ERR_LCNRMF: u32 = 8104;
1738pub const H_ERR_WCOVRMF: u32 = 8105;
1739pub const H_ERR_NEOFRMF: u32 = 8106;
1740pub const H_ERR_WRRA: u32 = 8107;
1741pub const H_ERR_MCN0: u32 = 8108;
1742pub const H_ERR_WF0: u32 = 8110;
1743pub const H_ERR_NWC: u32 = 8111;
1744pub const H_ERR_WRRV: u32 = 8112;
1745pub const H_ERR_ROVFL: u32 = 8113;
1746pub const H_ERR_EWPMF: u32 = 8114;
1747pub const H_ERR_WNUMM: u32 = 8120;
1748pub const H_ERR_WBEDN: u32 = 8200;
1749pub const H_ERR_NBEDA: u32 = 8201;
1750pub const H_ERR_BEDNAU: u32 = 8202;
1751pub const H_ERR_NBEDC: u32 = 8204;
1752pub const H_ERR_NTM: u32 = 8205;
1753pub const H_ERR_WISBE: u32 = 8206;
1754pub const H_ERR_UDNSSBE: u32 = 8207;
1755pub const H_ERR_SNBETS: u32 = 8208;
1756pub const H_ERR_WAMBE: u32 = 8209;
1757pub const H_ERR_WFMBE: u32 = 8210;
1758pub const H_ERR_PE_NPCTS: u32 = 8250;
1759pub const H_ERR_PE_INVMET: u32 = 8251;
1760pub const H_ERR_OCR_MEM1: u32 = 8300;
1761pub const H_ERR_OCR_WID: u32 = 8301;
1762pub const H_ERR_OCR1: u32 = 8302;
1763pub const H_ERR_OCR_NNI: u32 = 8303;
1764pub const H_ERR_OCR_NAI: u32 = 8304;
1765pub const H_ERR_OCR_WTP: u32 = 8305;
1766pub const H_ERR_OCR_WF: u32 = 8306;
1767pub const H_ERR_OCR_READ: u32 = 8307;
1768pub const H_ERR_OCR_NODES: u32 = 8308;
1769pub const H_ERR_OCR_EOF: u32 = 8309;
1770pub const H_ERR_OCR_INC1: u32 = 8310;
1771pub const H_ERR_OCR_INC2: u32 = 8311;
1772pub const H_ERR_WOCRTYPE: u32 = 8312;
1773pub const H_ERR_OCR_TRF: u32 = 8313;
1774pub const H_ERR_TRF_ITL: u32 = 8314;
1775pub const H_ERR_TRF_RTL: u32 = 8315;
1776pub const H_ERR_TRF_PT: u32 = 8316;
1777pub const H_ERR_TRF_WPW: u32 = 8317;
1778pub const H_ERR_OCR_NOSITEM: u32 = 8318;
1779pub const H_ERR_TRF_CON_EIO: u32 = 8319;
1780pub const H_ERR_OCR_MLP_NOCLASSFILE: u32 = 8320;
1781pub const H_ERR_OCR_MLP_WRCLASSVERS: u32 = 8321;
1782pub const H_ERR_OCR_MLP_NOSITEM: u32 = 8322;
1783pub const H_ERR_OCR_SVM_NOCLASSFILE: u32 = 8330;
1784pub const H_ERR_OCR_SVM_WRCLASSVERS: u32 = 8331;
1785pub const H_ERR_OCR_SVM_NOSITEM: u32 = 8332;
1786pub const H_ERR_OCR_KNN_NOCLASSFILE: u32 = 8333;
1787pub const H_ERR_OCR_KNN_NOSITEM: u32 = 8334;
1788pub const H_ERR_OCR_CNN_NOCLASSFILE: u32 = 8335;
1789pub const H_ERR_OCR_CNN_WRCLASSVERS: u32 = 8336;
1790pub const H_ERR_OCR_CNN_NOSITEM: u32 = 8337;
1791pub const H_ERR_OCR_RESULT_NOT_AVAILABLE: u32 = 8338;
1792pub const H_ERR_OCV_NI: u32 = 8350;
1793pub const H_ERR_WOCVTYPE: u32 = 8351;
1794pub const H_ERR_OCV_WNAME: u32 = 8353;
1795pub const H_ERR_OCV_II: u32 = 8354;
1796pub const H_ERR_OCV_NOTTR: u32 = 8355;
1797pub const H_ERR_OCV_NOSITEM: u32 = 8356;
1798pub const H_ERR_WLENGTH: u32 = 8370;
1799pub const H_ERR_NO_FUNCTION: u32 = 8371;
1800pub const H_ERR_NOT_ASCENDING: u32 = 8372;
1801pub const H_ERR_ILLEGAL_DIST: u32 = 8373;
1802pub const H_ERR_NOT_MONOTONIC: u32 = 8374;
1803pub const H_ERR_WFUNCTION: u32 = 8375;
1804pub const H_ERR_SAME_XVAL_CONV: u32 = 8376;
1805pub const H_ERR_GRID_CONNECT_POINTS: u32 = 8390;
1806pub const H_ERR_GRID_GEN_MAP: u32 = 8391;
1807pub const H_ERR_GRID_AUTO_ROT: u32 = 8392;
1808pub const H_ERR_CAL_NO_COMM_PAR: u32 = 8393;
1809pub const H_ERR_CAL_NEGVY: u32 = 8394;
1810pub const H_ERR_CAL_IDENTICAL_FP: u32 = 8395;
1811pub const H_ERR_CAL_LSCPNA: u32 = 8396;
1812pub const H_ERR_CAL_MARK_SEGM: u32 = 8397;
1813pub const H_ERR_CAL_CONT_EXT: u32 = 8398;
1814pub const H_ERR_CAL_NO_FP: u32 = 8399;
1815pub const H_ERR_CAL_LCALP: u32 = 8400;
1816pub const H_ERR_CAL_INCONSISTENT_FP: u32 = 8401;
1817pub const H_ERR_CAL_NCPF: u32 = 8402;
1818pub const H_ERR_CAL_RECPF: u32 = 8403;
1819pub const H_ERR_CAL_LTMTH: u32 = 8404;
1820pub const H_ERR_CAL_FRCP: u32 = 8405;
1821pub const H_ERR_CAL_PROJ: u32 = 8406;
1822pub const H_ERR_CAL_UNPRO: u32 = 8407;
1823pub const H_ERR_CAL_RICPF: u32 = 8408;
1824pub const H_ERR_CAL_FICP1: u32 = 8409;
1825pub const H_ERR_CAL_FICP2: u32 = 8410;
1826pub const H_ERR_CAL_FICP3: u32 = 8411;
1827pub const H_ERR_CAL_REPOS: u32 = 8412;
1828pub const H_ERR_CAL_FOPOS: u32 = 8413;
1829pub const H_ERR_CAL_OCPDF: u32 = 8414;
1830pub const H_ERR_CAL_OCPPS: u32 = 8415;
1831pub const H_ERR_CAL_EVECN: u32 = 8416;
1832pub const H_ERR_CAL_NPLAN: u32 = 8417;
1833pub const H_ERR_CAL_NNMAR: u32 = 8418;
1834pub const H_ERR_CAL_NNEQU: u32 = 8419;
1835pub const H_ERR_CAL_QETHM: u32 = 8420;
1836pub const H_ERR_CAL_NOELL: u32 = 8421;
1837pub const H_ERR_CAL_WPARV: u32 = 8422;
1838pub const H_ERR_CAL_WFRES: u32 = 8423;
1839pub const H_ERR_CAL_ECPDI: u32 = 8424;
1840pub const H_ERR_CAL_WEFLA: u32 = 8425;
1841pub const H_ERR_CAL_NOMER: u32 = 8426;
1842pub const H_ERR_CAL_WPTYP: u32 = 8427;
1843pub const H_ERR_CAL_WIMSZ: u32 = 8428;
1844pub const H_ERR_CAL_NPILS: u32 = 8429;
1845pub const H_ERR_CAL_DIACM: u32 = 8430;
1846pub const H_ERR_CAL_ORICP: u32 = 8431;
1847pub const H_ERR_CAL_CPNII: u32 = 8432;
1848pub const H_ERR_CAL_WNCME: u32 = 8433;
1849pub const H_ERR_CAL_UNKPG: u32 = 8434;
1850pub const H_ERR_CAL_NEGFL: u32 = 8435;
1851pub const H_ERR_CAL_TELNA: u32 = 8436;
1852pub const H_ERR_CAL_LSCNA: u32 = 8437;
1853pub const H_ERR_CAL_ELLDP: u32 = 8438;
1854pub const H_ERR_CAL_NOMF: u32 = 8439;
1855pub const H_ERR_CAL_NCONV: u32 = 8440;
1856pub const H_ERR_CAL_HYPNA: u32 = 8441;
1857pub const H_ERR_CAL_DISTORT: u32 = 8442;
1858pub const H_ERR_CAL_WREDGFILT: u32 = 8443;
1859pub const H_ERR_CAL_NEGPS: u32 = 8444;
1860pub const H_ERR_CAL_NEGTS: u32 = 8445;
1861pub const H_ERR_CAL_NEGRS: u32 = 8446;
1862pub const H_ERR_CAL_INVCAMPAR: u32 = 8447;
1863pub const H_ERR_CAL_ILLFL: u32 = 8448;
1864pub const H_ERR_CAL_ILLMAG: u32 = 8449;
1865pub const H_ERR_CAL_ILLIPD: u32 = 8450;
1866pub const H_ERR_CM_NOT_OPTIMIZED: u32 = 8451;
1867pub const H_ERR_CM_NOT_POSTPROCC: u32 = 8452;
1868pub const H_ERR_CM_NOT_INTERCONN: u32 = 8453;
1869pub const H_ERR_CM_CAMPAR_MISMCH: u32 = 8454;
1870pub const H_ERR_CM_CAMTYP_MISMCH: u32 = 8455;
1871pub const H_ERR_CM_CAMTYP_UNSUPD: u32 = 8456;
1872pub const H_ERR_CM_INVALD_CAMIDX: u32 = 8457;
1873pub const H_ERR_CM_INVALD_DESCID: u32 = 8458;
1874pub const H_ERR_CM_INVALD_COBJID: u32 = 8459;
1875pub const H_ERR_CM_UNDEFINED_CAM: u32 = 8460;
1876pub const H_ERR_CM_REPEATD_INDEX: u32 = 8461;
1877pub const H_ERR_CM_UNDEFI_CADESC: u32 = 8462;
1878pub const H_ERR_CM_NO_DESCR_FILE: u32 = 8463;
1879pub const H_ERR_CM_WR_DESCR_VERS: u32 = 8464;
1880pub const H_ERR_CM_ZERO_MOTION: u32 = 8465;
1881pub const H_ERR_CM_MULTICAM_UNSP: u32 = 8466;
1882pub const H_ERR_CM_INCMPLTE_DATA: u32 = 8467;
1883pub const H_ERR_CSM_NO_DESCR_FIL: u32 = 8468;
1884pub const H_ERR_CSM_WR_DESCR_VER: u32 = 8469;
1885pub const H_ERR_CM_CALTAB_NOT_AV: u32 = 8470;
1886pub const H_ERR_CM_INVAL_OBSERID: u32 = 8471;
1887pub const H_ERR_CSM_NOSITEM: u32 = 8472;
1888pub const H_ERR_CM_NOSITEM: u32 = 8473;
1889pub const H_ERR_CM_INV_TOOLPOSID: u32 = 8474;
1890pub const H_ERR_CM_UNDEFINED_TOO: u32 = 8475;
1891pub const H_ERR_CM_INVLD_MODL_TY: u32 = 8476;
1892pub const H_ERR_CSM_UNINIT_CAM: u32 = 8477;
1893pub const H_ERR_CM_NO_VALID_SOL: u32 = 8478;
1894pub const H_ERR_CM_INVAL_OBS_POSE: u32 = 8479;
1895pub const H_ERR_CM_TOO_FEW_POSES: u32 = 8480;
1896pub const H_ERR_CM_UNDEF_CAM_TYP: u32 = 8481;
1897pub const H_ERR_SM_INVLD_IMG_PAIRS_DISP_VAL: u32 = 8482;
1898pub const H_ERR_SM_INVLD_DISP_VAL: u32 = 8483;
1899pub const H_ERR_SM_NO_IM_PAIR: u32 = 8484;
1900pub const H_ERR_SM_NO_VIS_COLOR: u32 = 8485;
1901pub const H_ERR_SM_NO_RECONSTRUCT: u32 = 8486;
1902pub const H_ERR_SM_INVLD_BB_PARTITION: u32 = 8487;
1903pub const H_ERR_SM_INVLD_DISP_RANGE: u32 = 8488;
1904pub const H_ERR_SM_INVLD_BIN_PAR: u32 = 8489;
1905pub const H_ERR_SM_INVLD_MODL_TY: u32 = 8490;
1906pub const H_ERR_SM_NOT_PERSISTEN: u32 = 8491;
1907pub const H_ERR_SM_INVLD_BOU_BOX: u32 = 8492;
1908pub const H_ERR_SR_INVLD_IMG_SIZ: u32 = 8493;
1909pub const H_ERR_SR_BBOX_BHND_CAM: u32 = 8494;
1910pub const H_ERR_CAL_AMBIGUOUS: u32 = 8495;
1911pub const H_ERR_CAL_PCPND: u32 = 8496;
1912pub const H_ERR_CAL_FAILED: u32 = 8497;
1913pub const H_ERR_CAL_MISSING_DATA: u32 = 8498;
1914pub const H_ERR_CAL_FEWER_FOUR: u32 = 8499;
1915pub const H_ERR_NOAP: u32 = 8500;
1916pub const H_ERR_WPFV: u32 = 8501;
1917pub const H_ERR_MATCH_MODE: u32 = 8502;
1918pub const H_ERR_MATCH_OOR: u32 = 8503;
1919pub const H_ERR_NOTAP: u32 = 8505;
1920pub const H_ERR_NGTPTS: u32 = 8506;
1921pub const H_ERR_PDTL: u32 = 8507;
1922pub const H_ERR_NCC_NOSITEM: u32 = 8508;
1923pub const H_ERR_MATCH_NOSITEM: u32 = 8509;
1924pub const H_ERR_NTPTS: u32 = 8510;
1925pub const H_ERR_CGSMM: u32 = 8511;
1926pub const H_ERR_SMTL: u32 = 8512;
1927pub const H_ERR_SMNXLD: u32 = 8513;
1928pub const H_ERR_SM_NOSITEM: u32 = 8514;
1929pub const H_ERR_SM_CL_CONT: u32 = 8515;
1930pub const H_ERR_SM_NO_CLUT: u32 = 8516;
1931pub const H_ERR_SM_SAME_CL: u32 = 8517;
1932pub const H_ERR_SM_WRONG_CLCO: u32 = 8518;
1933pub const H_ERR_SM_CL_NEG: u32 = 8519;
1934pub const H_ERR_FIND_BOX_UNSUP_GENPARAM: u32 = 8520;
1935pub const H_ERR_COMP_DRT: u32 = 8530;
1936pub const H_ERR_COMP_SAMF: u32 = 8531;
1937pub const H_ERR_IGF_NC: u32 = 8532;
1938pub const H_ERR_MSA_TMN: u32 = 8533;
1939pub const H_ERR_CTTL: u32 = 8534;
1940pub const H_ERR_CMTL: u32 = 8535;
1941pub const H_ERR_COMP_NOSITEM: u32 = 8536;
1942pub const H_ERR_TRAIN_COMP_NOSITEM: u32 = 8537;
1943pub const H_ERR_VARIATION_WS: u32 = 8540;
1944pub const H_ERR_VARIATION_PREP: u32 = 8541;
1945pub const H_ERR_VARIATION_WRMD: u32 = 8542;
1946pub const H_ERR_VARIATION_NOVF: u32 = 8543;
1947pub const H_ERR_VARIATION_WVFV: u32 = 8544;
1948pub const H_ERR_VARIATION_TRDC: u32 = 8545;
1949pub const H_ERR_VARIATION_NOSITEM: u32 = 8546;
1950pub const H_ERR_MEASURE_NA: u32 = 8550;
1951pub const H_ERR_MEASURE_NI: u32 = 8551;
1952pub const H_ERR_MEASURE_OOR: u32 = 8552;
1953pub const H_ERR_MEASURE_IS: u32 = 8553;
1954pub const H_ERR_MEASURE_WS: u32 = 8554;
1955pub const H_ERR_MEASURE_NO_MODEL_FILE: u32 = 8555;
1956pub const H_ERR_MEASURE_WRONG_VERSION: u32 = 8556;
1957pub const H_ERR_MEASURE_TL: u32 = 8557;
1958pub const H_ERR_MEASURE_NOSITEM: u32 = 8558;
1959pub const H_ERR_METROLOGY_MODEL_NI: u32 = 8570;
1960pub const H_ERR_METROLOGY_OBJECT_INVALID: u32 = 8572;
1961pub const H_ERR_METROLOGY_FIT_NOT_ENOUGH_MEASURES: u32 = 8573;
1962pub const H_ERR_METROLOGY_NO_MODEL_FILE: u32 = 8575;
1963pub const H_ERR_METROLOGY_WRONG_VERSION: u32 = 8576;
1964pub const H_ERR_METROLOGY_NO_FUZZY_FUNC: u32 = 8577;
1965pub const H_ERR_METROLOGY_NOSITEM: u32 = 8578;
1966pub const H_ERR_METROLOGY_UNDEF_CAMPAR: u32 = 8579;
1967pub const H_ERR_METROLOGY_UNDEF_POSE: u32 = 8580;
1968pub const H_ERR_METROLOGY_SET_MODE: u32 = 8581;
1969pub const H_ERR_METROLOGY_OP_NOT_ALLOWED: u32 = 8582;
1970pub const H_ERR_METROLOGY_MULTI_POSE_CAM_PAR: u32 = 8583;
1971pub const H_ERR_METROLOGY_WRONG_INPUT_MODE: u32 = 8584;
1972pub const H_ERR_DLOPEN: u32 = 8600;
1973pub const H_ERR_DLCLOSE: u32 = 8601;
1974pub const H_ERR_DLLOOKUP: u32 = 8602;
1975pub const H_ERR_COMPONENT_NOT_INSTALLED: u32 = 8603;
1976pub const H_ERR_EAD_CAL_NII: u32 = 8650;
1977pub const H_ERR_WGSMFV: u32 = 8670;
1978pub const H_ERR_GSM_INVALID_RES_SCALE: u32 = 8671;
1979pub const H_ERR_GSM_INVALID_ANGLE: u32 = 8672;
1980pub const H_ERR_GSM_NEEDS_TRAINING: u32 = 8673;
1981pub const H_ERR_GSM_CONTRAST_HYS: u32 = 8674;
1982pub const H_ERR_GSM_CONTRAST_MIN_CONTRAST: u32 = 8675;
1983pub const H_ERR_GSM_ISO_SCALE_PAIR: u32 = 8676;
1984pub const H_ERR_GSM_ANISO_SCALE_ROW: u32 = 8677;
1985pub const H_ERR_GSM_ANISO_SCALE_COLUMN: u32 = 8678;
1986pub const H_ERR_GSM_ISO_NOT_SET: u32 = 8679;
1987pub const H_ERR_GSM_ANISO_NOT_SET: u32 = 8680;
1988pub const H_ERR_GSM_INVALID_METRIC_XLD: u32 = 8681;
1989pub const H_ERR_GSM_SAME_IDENTIFIER: u32 = 8682;
1990pub const H_ERR_SM_INCONSISTENT_PER_LEVEL: u32 = 8683;
1991pub const H_ERR_GSM_EXT_PAR_EST: u32 = 8684;
1992pub const H_ERR_BAR_WNOM: u32 = 8701;
1993pub const H_ERR_BAR_WNOE: u32 = 8702;
1994pub const H_ERR_BAR_UNCHAR: u32 = 8703;
1995pub const H_ERR_BAR_WRONGDESCR: u32 = 8705;
1996pub const H_ERR_BAR_EL_LENGTH: u32 = 8706;
1997pub const H_ERR_BAR_NO_REG: u32 = 8707;
1998pub const H_ERR_BAR_WRONGCODE: u32 = 8708;
1999pub const H_ERR_BAR_INTERNAL: u32 = 8709;
2000pub const H_ERR_BAR_NO_DECODED_SCANLINE: u32 = 8710;
2001pub const H_ERR_BC_EMPTY_MODEL_LIST: u32 = 8721;
2002pub const H_ERR_BC_TRAIN_ONLY_SINGLE: u32 = 8722;
2003pub const H_ERR_BC_GET_SPECIFIC: u32 = 8723;
2004pub const H_ERR_BC_GET_OBJ_MULTI: u32 = 8724;
2005pub const H_ERR_BC_WR_FILE_FORMAT: u32 = 8725;
2006pub const H_ERR_BC_WR_FILE_VERS: u32 = 8726;
2007pub const H_ERR_BC_NOT_PERSISTANT: u32 = 8727;
2008pub const H_ERR_BC_GRAY_OUT_OF_RANGE: u32 = 8728;
2009pub const H_ERR_NO_PERSISTENT_OP_CALL: u32 = 8729;
2010pub const H_ERR_BC_ZOOMED_ABORTED: u32 = 8730;
2011pub const H_ERR_BC_ZOOMED_INVALID_INPUT: u32 = 8731;
2012pub const H_ERR_BC_XCORR_INVALID_INPUT: u32 = 8740;
2013pub const H_ERR_BC_XCORR_TOO_MANY_BAD_ROWS: u32 = 8741;
2014pub const H_ERR_BC_XCORR_NO_CORRELATION: u32 = 8742;
2015pub const H_ERR_INVALID_SYNTAX_DICTIONARY: u32 = 8743;
2016pub const H_ERR_BAR2D_UNKNOWN_TYPE: u32 = 8800;
2017pub const H_ERR_BAR2D_WRONG_FOREGROUND: u32 = 8801;
2018pub const H_ERR_BAR2D_WRONG_SIZE: u32 = 8802;
2019pub const H_ERR_BAR2D_WRONG_SHAPE: u32 = 8803;
2020pub const H_ERR_BAR2D_WRONG_PARAM_NAME: u32 = 8804;
2021pub const H_ERR_BAR2D_WRONG_PARAM_VAL: u32 = 8805;
2022pub const H_ERR_BAR2D_WRONG_MODE: u32 = 8806;
2023pub const H_ERR_BAR2D_SYMBOL_ON_BORDER: u32 = 8807;
2024pub const H_ERR_BAR2D_MODULE_CONT_NUM: u32 = 8808;
2025pub const H_ERR_BAR2D_SYMBOL_FINDER: u32 = 8809;
2026pub const H_ERR_BAR2D_SYMBOL_DIMENSION: u32 = 8810;
2027pub const H_ERR_BAR2D_CLASSIF_FAILED: u32 = 8811;
2028pub const H_ERR_BAR2D_DECODING_FAILED: u32 = 8812;
2029pub const H_ERR_BAR2D_DECODING_READER: u32 = 8813;
2030pub const H_ERR_DC2D_GENERAL: u32 = 8820;
2031pub const H_ERR_DC2D_BROKEN_SIGN: u32 = 8821;
2032pub const H_ERR_DC2D_INVALID_HANDLE: u32 = 8822;
2033pub const H_ERR_DC2D_EMPTY_MODEL_LIST: u32 = 8823;
2034pub const H_ERR_DC2D_NOT_INITIALIZED: u32 = 8824;
2035pub const H_ERR_DC2D_INVALID_CANDIDATE: u32 = 8825;
2036pub const H_ERR_DC2D_INDEX_PARNUM: u32 = 8826;
2037pub const H_ERR_DC2D_EXCLUSIV_PARAM: u32 = 8827;
2038pub const H_ERR_DC2D_DEF_SET_NOT_FIRST: u32 = 8828;
2039pub const H_ERR_DC2D_INTERNAL_UNEXPECTED: u32 = 8829;
2040pub const H_ERR_DC2D_WRONG_PARAM_VALUE: u32 = 8830;
2041pub const H_ERR_DC2D_WRONG_PARAM_NAME: u32 = 8831;
2042pub const H_ERR_DC2D_WRONG_POLARITY: u32 = 8832;
2043pub const H_ERR_DC2D_WRONG_SYMBOL_SHAPE: u32 = 8833;
2044pub const H_ERR_DC2D_WRONG_SYMBOL_SIZE: u32 = 8834;
2045pub const H_ERR_DC2D_WRONG_MODULE_SIZE: u32 = 8835;
2046pub const H_ERR_DC2D_WRONG_MODULE_SHAPE: u32 = 8836;
2047pub const H_ERR_DC2D_WRONG_ORIENTATION: u32 = 8837;
2048pub const H_ERR_DC2D_WRONG_CONTRAST: u32 = 8838;
2049pub const H_ERR_DC2D_WRONG_MEAS_THRESH: u32 = 8839;
2050pub const H_ERR_DC2D_WRONG_ALT_MEAS_RED: u32 = 8840;
2051pub const H_ERR_DC2D_WRONG_SLANT: u32 = 8841;
2052pub const H_ERR_DC2D_WRONG_L_DIST: u32 = 8842;
2053pub const H_ERR_DC2D_WRONG_L_LENGTH: u32 = 8843;
2054pub const H_ERR_DC2D_WRONG_GAP: u32 = 8844;
2055pub const H_ERR_DC2D_WRONG_DEF_SET: u32 = 8845;
2056pub const H_ERR_DC2D_WRONG_TEXTURED: u32 = 8846;
2057pub const H_ERR_DC2D_WRONG_MIRRORED: u32 = 8847;
2058pub const H_ERR_DC2D_WRONG_CLASSIFICATOR: u32 = 8848;
2059pub const H_ERR_DC2D_WRONG_PERSISTENCE: u32 = 8849;
2060pub const H_ERR_DC2D_WRONG_MODEL_TYPE: u32 = 8850;
2061pub const H_ERR_DC2D_WRONG_MOD_ROI_PART: u32 = 8851;
2062pub const H_ERR_DC2D_WRONG_FP_TOLERANCE: u32 = 8852;
2063pub const H_ERR_DC2D_WRONG_MOD_ASPECT: u32 = 8853;
2064pub const H_ERR_DC2D_WRONG_SM_ROBUSTNESS: u32 = 8854;
2065pub const H_ERR_DC2D_WRONG_CONTRAST_TOL: u32 = 8855;
2066pub const H_ERR_DC2D_WRONG_AP_TOLERANCE: u32 = 8856;
2067pub const H_ERR_DC2D_READ_HEAD_FORMAT: u32 = 8860;
2068pub const H_ERR_DC2D_READ_HEAD_SIGN: u32 = 8861;
2069pub const H_ERR_DC2D_READ_LINE_FORMAT: u32 = 8862;
2070pub const H_ERR_DC2D_WRONG_MODULE_ASPECT: u32 = 8863;
2071pub const H_ERR_DC2D_WRONG_LAYER_NUM: u32 = 8864;
2072pub const H_ERR_DCD_READ_WRONG_VERSION: u32 = 8865;
2073pub const H_ERR_DC2D_NOSITEM: u32 = 8866;
2074pub const H_ERR_DC2D_WR_FILE_FORMAT: u32 = 8867;
2075pub const H_ERR_SM3D_WRONG_PARAM_NAME: u32 = 8900;
2076pub const H_ERR_SM3D_WRONG_NUM_LEVELS: u32 = 8901;
2077pub const H_ERR_SM3D_WRONG_OPTIMIZATION: u32 = 8902;
2078pub const H_ERR_SM3D_WRONG_METRIC: u32 = 8903;
2079pub const H_ERR_SM3D_WRONG_MIN_FACE_ANGLE: u32 = 8904;
2080pub const H_ERR_SM3D_WRONG_MIN_SIZE: u32 = 8905;
2081pub const H_ERR_SM3D_WRONG_MODEL_TOLERANCE: u32 = 8906;
2082pub const H_ERR_SM3D_WRONG_FAST_POSE_REF: u32 = 8907;
2083pub const H_ERR_SM3D_WRONG_LOWEST_MODEL_LEVEL: u32 = 8908;
2084pub const H_ERR_SM3D_WRONG_PART_SIZE: u32 = 8909;
2085pub const H_ERR_SM3D_PROJECTION_TOO_LARGE: u32 = 8910;
2086pub const H_ERR_SM3D_WRONG_OPENGL_ACCURACY: u32 = 8911;
2087pub const H_ERR_SM3D_WRONG_RECOMPUTE_SCORE: u32 = 8913;
2088pub const H_ERR_SM3D_WRONG_LON_MIN: u32 = 8920;
2089pub const H_ERR_SM3D_WRONG_LON_MAX: u32 = 8921;
2090pub const H_ERR_SM3D_WRONG_LAT_MIN: u32 = 8922;
2091pub const H_ERR_SM3D_WRONG_LAT_MAX: u32 = 8923;
2092pub const H_ERR_SM3D_WRONG_ROL_MIN: u32 = 8924;
2093pub const H_ERR_SM3D_WRONG_ROL_MAX: u32 = 8925;
2094pub const H_ERR_SM3D_WRONG_DIST_MIN: u32 = 8926;
2095pub const H_ERR_SM3D_WRONG_DIST_MAX: u32 = 8927;
2096pub const H_ERR_SM3D_WRONG_NUM_MATCHES: u32 = 8928;
2097pub const H_ERR_SM3D_WRONG_MAX_OVERLAP: u32 = 8929;
2098pub const H_ERR_SM3D_WRONG_POSE_REFINEMENT: u32 = 8930;
2099pub const H_ERR_SM3D_WRONG_COV_POSE_MODE: u32 = 8931;
2100pub const H_ERR_SM3D_WRONG_OUTLIER_SUP: u32 = 8932;
2101pub const H_ERR_SM3D_WRONG_BORDER_MODEL: u32 = 8933;
2102pub const H_ERR_SM3D_UNDEFINED_POSE: u32 = 8940;
2103pub const H_ERR_SM3D_NO_SM3D_FILE: u32 = 8941;
2104pub const H_ERR_SM3D_WRONG_FILE_VERSION: u32 = 8942;
2105pub const H_ERR_SM3D_MTL: u32 = 8943;
2106pub const H_ERR_SM3D_NO_OM3D_FACES: u32 = 8944;
2107pub const H_ERR_SM3D_NOSITEM: u32 = 8945;
2108pub const H_ERR_SM3D_WRONG_UNION_ADJACENT_CONTOURS: u32 = 8946;
2109pub const H_ERR_DESCR_NODESCRFILE: u32 = 8960;
2110pub const H_ERR_DESCR_WRDESCRVERS: u32 = 8961;
2111pub const H_ERR_DM_WRONG_NUM_CIRC_RADIUS: u32 = 8962;
2112pub const H_ERR_DM_WRONG_NUM_CHECK_NEIGH: u32 = 8963;
2113pub const H_ERR_DM_WRONG_NUM_MIN_CHECK_NEIGH: u32 = 8964;
2114pub const H_ERR_DM_WRONG_NUM_MIN_SCORE: u32 = 8965;
2115pub const H_ERR_DM_WRONG_NUM_SIGMAGRAD: u32 = 8966;
2116pub const H_ERR_DM_WRONG_NUM_SIGMAINT: u32 = 8967;
2117pub const H_ERR_DM_WRONG_NUM_ALPHA: u32 = 8968;
2118pub const H_ERR_DM_WRONG_NUM_THRESHOLD: u32 = 8969;
2119pub const H_ERR_DM_WRONG_NUM_DEPTH: u32 = 8970;
2120pub const H_ERR_DM_WRONG_NUM_TREES: u32 = 8971;
2121pub const H_ERR_DM_WRONG_NUM_MIN_SCORE_DESCR: u32 = 8972;
2122pub const H_ERR_DM_WRONG_NUM_PATCH_SIZE: u32 = 8973;
2123pub const H_ERR_DM_WRONG_TILT: u32 = 8974;
2124pub const H_ERR_DM_WRONG_PAR_GUIDE: u32 = 8975;
2125pub const H_ERR_DM_WRONG_PAR_SUBPIX: u32 = 8976;
2126pub const H_ERR_DM_TOO_FEW_POINTS: u32 = 8977;
2127pub const H_ERR_DM_WRONG_NUM_MINROT: u32 = 8978;
2128pub const H_ERR_DM_WRONG_NUM_MAXROT: u32 = 8979;
2129pub const H_ERR_DM_WRONG_NUM_MINSCALE: u32 = 8980;
2130pub const H_ERR_DM_WRONG_NUM_MAXSCALE: u32 = 8981;
2131pub const H_ERR_DM_WRONG_NUM_MASKSIZEGRD: u32 = 8982;
2132pub const H_ERR_DM_WRONG_NUM_MASKSIZESMOOTH: u32 = 8983;
2133pub const H_ERR_BROKEN_MODEL: u32 = 8984;
2134pub const H_ERR_DM_WRONG_DESCR_TYPE: u32 = 8985;
2135pub const H_ERR_DM_WRONG_PAR_MATCHER: u32 = 8986;
2136pub const H_ERR_DM_TOO_MANY_CLASSES: u32 = 8987;
2137pub const H_ERR_DESCR_NOSITEM: u32 = 8988;
2138pub const H_ERR_NOT_IMPL: u32 = 9000;
2139pub const H_ERR_WIT: u32 = 9001;
2140pub const H_ERR_WIC: u32 = 9002;
2141pub const H_ERR_UNDI: u32 = 9003;
2142pub const H_ERR_WIS: u32 = 9004;
2143pub const H_ERR_WCN: u32 = 9005;
2144pub const H_ERR_STRTL: u32 = 9006;
2145pub const H_ERR_WITFO: u32 = 9007;
2146pub const H_ERR_NIIT: u32 = 9008;
2147pub const H_ERR_NOCIMA: u32 = 9009;
2148pub const H_ERR_DEMO_NOFG: u32 = 9010;
2149pub const H_ERR_DEMO_NOPA: u32 = 9011;
2150pub const H_ERR_IEUNKV: u32 = 9020;
2151pub const H_ERR_WPFO: u32 = 9021;
2152pub const H_ERR_IDTS: u32 = 9022;
2153pub const H_ERR_CNCLDRW: u32 = 9023;
2154pub const H_ERR_REGEX_MATCH: u32 = 9024;
2155pub const H_ERR_STUD_OPNA: u32 = 9050;
2156pub const H_ERR_STUD_PANA: u32 = 9051;
2157pub const H_ERR_STUD_FGNA: u32 = 9052;
2158pub const H_ERR_NDPA: u32 = 9053;
2159pub const H_ERR_WR_OBJ_TYPE: u32 = 9054;
2160pub const H_ERR_OP_DISABLED: u32 = 9055;
2161pub const H_ERR_TMU: u32 = 9100;
2162pub const H_ERR_NUS: u32 = 9101;
2163pub const H_ERR_NEE: u32 = 9102;
2164pub const H_ERR_PDDL: u32 = 9150;
2165pub const H_ERR_MNI: u32 = 9200;
2166pub const H_ERR_SVD_CNVRG: u32 = 9201;
2167pub const H_ERR_SVD_FEWROW: u32 = 9202;
2168pub const H_ERR_TQLI_CNVRG: u32 = 9203;
2169pub const H_ERR_JACOBI_CNVRG: u32 = 9204;
2170pub const H_ERR_MATRIX_SING: u32 = 9205;
2171pub const H_ERR_MATCH_CNVRG: u32 = 9206;
2172pub const H_ERR_MAT_UNDEF: u32 = 9207;
2173pub const H_ERR_MAT_WDIM: u32 = 9208;
2174pub const H_ERR_MAT_NSQR: u32 = 9209;
2175pub const H_ERR_MAT_FAIL: u32 = 9210;
2176pub const H_ERR_MAT_NPD: u32 = 9211;
2177pub const H_ERR_MAT_DBZ: u32 = 9212;
2178pub const H_ERR_MAT_NUT: u32 = 9213;
2179pub const H_ERR_MAT_NLT: u32 = 9214;
2180pub const H_ERR_MAT_NEG: u32 = 9215;
2181pub const H_ERR_MAT_UNCHAR: u32 = 9216;
2182pub const H_ERR_MAT_NOT_COMPLETE: u32 = 9217;
2183pub const H_ERR_MAT_READ: u32 = 9218;
2184pub const H_ERR_MAT_COMPLEX: u32 = 9219;
2185pub const H_ERR_WMATEXP: u32 = 9220;
2186pub const H_ERR_MAT_WRONG_VERSION: u32 = 9221;
2187pub const H_ERR_MAT_NOSITEM: u32 = 9222;
2188pub const H_ERR_WNODE: u32 = 9230;
2189pub const H_ERR_CMP_INCONSISTENT: u32 = 9231;
2190pub const H_ERR_LAPACK_PAR: u32 = 9250;
2191pub const H_ERR_STRI_NPNT: u32 = 9260;
2192pub const H_ERR_STRI_COLL: u32 = 9261;
2193pub const H_ERR_STRI_IDPNT: u32 = 9262;
2194pub const H_ERR_STRI_NALLOC: u32 = 9263;
2195pub const H_ERR_STRI_DEGEN: u32 = 9264;
2196pub const H_ERR_STRI_ITRI: u32 = 9265;
2197pub const H_ERR_STRI_SELFINT: u32 = 9266;
2198pub const H_ERR_STRI_INCONS: u32 = 9267;
2199pub const H_ERR_STRI_AMBINT: u32 = 9268;
2200pub const H_ERR_STRI_AMBARC: u32 = 9269;
2201pub const H_ERR_STRI_ILLPAR: u32 = 9270;
2202pub const H_ERR_TRI_NPNT: u32 = 9280;
2203pub const H_ERR_TRI_COLL: u32 = 9281;
2204pub const H_ERR_TRI_IDPNT: u32 = 9282;
2205pub const H_ERR_TRI_IDPNTIN: u32 = 9283;
2206pub const H_ERR_TRI_NALLOC: u32 = 9284;
2207pub const H_ERR_TRI_ITRI: u32 = 9285;
2208pub const H_ERR_TRI_OUTR: u32 = 9286;
2209pub const H_ERR_TRI_LOCINC: u32 = 9290;
2210pub const H_ERR_WSPVP: u32 = 9300;
2211pub const H_ERR_DQ_ZERO_NORM: u32 = 9310;
2212pub const H_ERR_TIMEOUT: u32 = 9400;
2213pub const H_ERR_WRONG_TIMEOUT: u32 = 9401;
2214pub const H_ERR_DEFORM_WRONG_NUM_CLUSTER: u32 = 9450;
2215pub const H_ERR_DEFORM_WRONG_NUM_MIN_SIZE: u32 = 9451;
2216pub const H_ERR_DEFORM_WRONG_NUM_LSQ: u32 = 9452;
2217pub const H_ERR_DEFORM_WRONG_ANGLE_STEP: u32 = 9453;
2218pub const H_ERR_DEFORM_WRONG_SCALE_R_STEP: u32 = 9454;
2219pub const H_ERR_DEFORM_WRONG_SCALE_C_STEP: u32 = 9455;
2220pub const H_ERR_DEFORM_WRONG_MAX_ANGLE: u32 = 9456;
2221pub const H_ERR_DEFORM_WRONG_MAX_ANISO: u32 = 9457;
2222pub const H_ERR_DEFORM_WRONG_MIN_SIZE: u32 = 9458;
2223pub const H_ERR_DEFORM_WRONG_COV_POSE_MODE: u32 = 9459;
2224pub const H_ERR_DEFORM_NO_CALIBRATION_INFO: u32 = 9460;
2225pub const H_ERR_DEFORM_WRONG_PARAM_NAME: u32 = 9461;
2226pub const H_ERR_DEFORM_IMAGE_TO_CAMERA_DIFF: u32 = 9462;
2227pub const H_ERR_DEFORM_NO_MODEL_IN_FILE: u32 = 9463;
2228pub const H_ERR_DEFORM_WRONG_VERSION: u32 = 9464;
2229pub const H_ERR_DEFORM_WRONG_SMOOTH_DEFORM: u32 = 9465;
2230pub const H_ERR_DEFORM_WRONG_EXPAND_BORDER: u32 = 9466;
2231pub const H_ERR_DEFORM_ORIGIN_OUTSIDE_TEMPLATE: u32 = 9467;
2232pub const H_ERR_DEFORM_NOSITEM: u32 = 9468;
2233pub const H_ERR_VIEW_ESTIM_FAIL: u32 = 9499;
2234pub const H_ERR_SFM_NO_POINTS: u32 = 9500;
2235pub const H_ERR_SFM_NO_FACES: u32 = 9501;
2236pub const H_ERR_SFM_NO_NORMALS: u32 = 9502;
2237pub const H_ERR_SFM_NO_VISIBILITY: u32 = 9503;
2238pub const H_ERR_SFM_NO_3D_EDGES: u32 = 9504;
2239pub const H_ERR_SFM_NO_SFM_FILE: u32 = 9506;
2240pub const H_ERR_SFM_WRONG_FILE_VERSION: u32 = 9507;
2241pub const H_ERR_SFM_NOSITEM: u32 = 9508;
2242pub const H_ERR_SFM_TOO_MANY_SYMMS: u32 = 9509;
2243pub const H_ERR_OM3D_INVALID_FILE: u32 = 9510;
2244pub const H_ERR_OM3D_INVALID_MODEL: u32 = 9511;
2245pub const H_ERR_OM3D_UNKNOWN_FILE_TYPE: u32 = 9512;
2246pub const H_ERR_OM3D_WRONG_FILE_VERSION: u32 = 9513;
2247pub const H_ERR_OM3D_MISSING_ATTRIB: u32 = 9514;
2248pub const H_ERR_OM3D_MISSING_ATTRIB_V_COORD: u32 = 9515;
2249pub const H_ERR_OM3D_MISSING_ATTRIB_V_NORMALS: u32 = 9516;
2250pub const H_ERR_OM3D_MISSING_ATTRIB_F_TRIANGLES: u32 = 9517;
2251pub const H_ERR_OM3D_MISSING_ATTRIB_F_LINES: u32 = 9518;
2252pub const H_ERR_OM3D_MISSING_ATTRIB_F_TRINEIGB: u32 = 9519;
2253pub const H_ERR_OM3D_MISSING_ATTRIB_F_POLYGONS: u32 = 9520;
2254pub const H_ERR_OM3D_MISSING_ATTRIB_V_2DMAP: u32 = 9521;
2255pub const H_ERR_OM3D_MISSING_ATTRIB_O_PRIMITIVE: u32 = 9522;
2256pub const H_ERR_OM3D_MISSING_ATTRIB_SHAPE_MODEL: u32 = 9523;
2257pub const H_ERR_OM3D_MISSING_ATTRIB_EXTENDED: u32 = 9524;
2258pub const H_ERR_OM3D_NOSITEM: u32 = 9525;
2259pub const H_ERR_OM3D_MISSING_O_PRIMITIVE_EXTENSION: u32 = 9526;
2260pub const H_ERR_OM3D_CONTAIN_ATTRIB_F_TRIANGLES: u32 = 9527;
2261pub const H_ERR_OM3D_CONTAIN_ATTRIB_F_LINES: u32 = 9528;
2262pub const H_ERR_OM3D_CONTAIN_ATTRIB_F_POLYGONS: u32 = 9529;
2263pub const H_ERR_OM3D_ISOLATED_OBJECT: u32 = 9530;
2264pub const H_ERR_OM3D_SET_ALL_COORD: u32 = 9531;
2265pub const H_ERR_OM3D_SET_ALL_NORMALS: u32 = 9532;
2266pub const H_ERR_OM3D_NUM_NOT_FIT_COORD: u32 = 9533;
2267pub const H_ERR_OM3D_NUM_NOT_FIT_NORMALS: u32 = 9534;
2268pub const H_ERR_OM3D_NUM_NOT_FIT_TRIANGLES: u32 = 9535;
2269pub const H_ERR_OM3D_NUM_NOT_FIT_POLYGONS: u32 = 9536;
2270pub const H_ERR_OM3D_NUM_NOT_FIT_LINES: u32 = 9537;
2271pub const H_ERR_OM3D_NUM_NOT_FIT_2DMAP: u32 = 9538;
2272pub const H_ERR_OM3D_NUM_NOT_FIT_EXTENDED: u32 = 9539;
2273pub const H_ERR_OM3D_FACE_INTENSITY_WITH_POINTS: u32 = 9540;
2274pub const H_ERR_OM3D_ATTRIBUTE_NOT_SUPPORTED: u32 = 9541;
2275pub const H_ERR_OM3D_NOT_IN_BB: u32 = 9542;
2276pub const H_ERR_DIF_TOO_SMALL: u32 = 9543;
2277pub const H_ERR_MINTH_TOO_SMALL: u32 = 9544;
2278pub const H_ERR_OM3D_WRONG_DIMENSION: u32 = 9545;
2279pub const H_ERR_OM3D_MISSING_DIMENSION: u32 = 9546;
2280pub const H_ERR_SF_OM3D_TRIANGLES_NOT_SUITABLE: u32 = 9550;
2281pub const H_ERR_SF_OM3D_FEW_POINTS: u32 = 9551;
2282pub const H_ERR_NO_SERIALIZED_ITEM: u32 = 9580;
2283pub const H_ERR_END_OF_FILE: u32 = 9581;
2284pub const H_ERR_SID_WRONG_RESIZE_METHOD: u32 = 9600;
2285pub const H_ERR_SID_WRONG_RESIZE_VALUE: u32 = 9601;
2286pub const H_ERR_SID_WRONG_RATING_METHOD: u32 = 9602;
2287pub const H_ERR_SID_NO_IMAGE_INFO_TYPE: u32 = 9603;
2288pub const H_ERR_SID_MODEL_NO_COLOR: u32 = 9604;
2289pub const H_ERR_SID_MODEL_NO_TEXTURE: u32 = 9605;
2290pub const H_ERR_SID_NO_IMAGE_INFO: u32 = 9606;
2291pub const H_ERR_SID_NO_UNPREPARED_DATA: u32 = 9607;
2292pub const H_ERR_SID_MODEL_NOT_PREPARED: u32 = 9608;
2293pub const H_ERR_SID_NO_UNTRAINED_DATA: u32 = 9609;
2294pub const H_ERR_SID_MODEL_NOT_TRAINED: u32 = 9610;
2295pub const H_ERR_SID_NO_RESULT_DATA: u32 = 9611;
2296pub const H_ERR_SID_NUM_TRAIN_OBJ: u32 = 9612;
2297pub const H_ERR_FINI_USR_THREADS: u32 = 9700;
2298pub const H_ERR_NO_ENCRYPTED_ITEM: u32 = 9800;
2299pub const H_ERR_WRONG_PASSWORD: u32 = 9801;
2300pub const H_ERR_ENCRYPT_FAILED: u32 = 9802;
2301pub const H_ERR_DECRYPT_FAILED: u32 = 9803;
2302pub const H_ERR_START_EXT: u32 = 10000;
2303pub const H_ERR_NO_LICENSE: u32 = 2003;
2304pub const H_ERR_NO_MODULES: u32 = 2005;
2305pub const H_ERR_NO_LIC_OPER: u32 = 2006;
2306pub const H_ERR_LAST_LIC_ERROR: u32 = 2384;
2307pub const IMAGE_INDEX: u32 = 1;
2308pub const HAG_PAR_INDEPENDENT: u32 = 0;
2309pub const HAG_PAR_NO_RESTRICT: u32 = 1;
2310pub const HAG_PAR_LOCAL: u32 = 2;
2311pub const HAG_PAR_MUTUAL: u32 = 4;
2312pub const HAG_PAR_EXCLUSIVE: u32 = 8;
2313pub const HAG_KW_CHORD_NUM: u32 = 1;
2314pub const HAG_KW_MIN_COSTS: u32 = 16300;
2315pub const HAG_KW_PAR_COSTS: u32 = 308;
2316pub const HAG_KW_CPU_RATING: u32 = 10;
2317pub const HAG_PAR_NOCT: u32 = 1;
2318pub const HAG_PAR_TUCT_ADD: u32 = 2;
2319pub const HAG_PAR_CHCT_ADD: u32 = 4;
2320pub const HAG_PAR_RECT_ADD: u32 = 8;
2321pub const HAG_PAR_TUCT_MIN: u32 = 16;
2322pub const HAG_PAR_CHCT_MIN: u32 = 32;
2323pub const HAG_PAR_RECT_MIN: u32 = 64;
2324pub const HAG_PAR_TUCT_MAX: u32 = 128;
2325pub const HAG_PAR_CHCT_MAX: u32 = 256;
2326pub const HAG_PAR_RECT_MAX: u32 = 512;
2327pub const HAG_PAR_TUCT_CON: u32 = 1024;
2328pub const HAG_PAR_CHCT_CON: u32 = 2048;
2329pub const HAG_PAR_RECT_CON: u32 = 4096;
2330pub const HAG_PAR_TUCT: u32 = 1170;
2331pub const HAG_PAR_CHCT: u32 = 2340;
2332pub const HAG_PAR_RECT: u32 = 4680;
2333pub const HAG_PAR_REG_NONE: u32 = 0;
2334pub const HAG_PAR_REG_CONSI: u32 = 1;
2335pub const HAG_PAR_REG_CONMU: u32 = 2;
2336pub const HAG_PAR_REG_CONMAN: u32 = 4;
2337pub const HAG_PAR_SEQ: u32 = 0;
2338pub const HAG_PAR_MT: u32 = 1;
2339pub const HAG_PAR_FORCE: u32 = 2;
2340pub const HAG_PAR_NONE: u32 = 4;
2341pub const HAG_PAR_TUPL: u32 = 32;
2342pub const HAG_PAR_CHNL: u32 = 64;
2343pub const HAG_PAR_RESC: u32 = 128;
2344pub const HAG_PAR_REIF: u32 = 256;
2345pub const HAG_PAR_PART: u32 = 512;
2346pub const HAG_PAR_PAIF: u32 = 1024;
2347pub const HAG_PAR_SPLIT_NONE: u32 = 0;
2348pub const HAG_PAR_SPLIT_DOMAIN: u32 = 384;
2349pub const HAG_PAR_INTERFACE: u32 = 352;
2350pub const HAG_PAR_INTERNAL: u32 = 1536;
2351pub const HAG_PAR_ALL: u32 = 2016;
2352pub const HAG_PAR_TUPL_MT: u32 = 33;
2353pub const HAG_PAR_CHNL_MT: u32 = 65;
2354pub const HAG_PAR_RESC_MT: u32 = 129;
2355pub const HAG_PAR_REIF_MT: u32 = 257;
2356pub const HAG_PAR_DOM_MT: u32 = 385;
2357pub const HAG_PAR_PART_MT: u32 = 513;
2358pub const HAG_PAR_PAIF_MT: u32 = 1025;
2359pub const HAG_PAR_DPAR_MT: u32 = 2017;
2360pub const HAG_PAR_TUPLED: u32 = 16777216;
2361pub const HAG_PAR_CHNLED: u32 = 33554432;
2362pub const HAG_PAR_RESCED: u32 = 67108864;
2363pub const HAG_PAR_REIFED: u32 = 134217728;
2364pub const COMPUTE_DEVICE_NONE: u32 = 0;
2365pub const COMPUTE_DEVICE_OpenCL: u32 = 1;
2366pub const COMPUTE_DEVICE_BIT_NONE: u32 = 0;
2367pub const COMPUTE_DEVICE_BIT_OpenCL: u32 = 2;
2368pub const MAX_COORD: u32 = 32767;
2369pub const MIN_COORD: i32 = -32767;
2370pub const HISTO_LEN: u32 = 256;
2371pub const MAX_DISTR: u32 = 513;
2372pub const NULL_DISTR: u32 = 256;
2373pub const EPERM: u32 = 1;
2374pub const ENOENT: u32 = 2;
2375pub const ESRCH: u32 = 3;
2376pub const EINTR: u32 = 4;
2377pub const EIO: u32 = 5;
2378pub const ENXIO: u32 = 6;
2379pub const E2BIG: u32 = 7;
2380pub const ENOEXEC: u32 = 8;
2381pub const EBADF: u32 = 9;
2382pub const ECHILD: u32 = 10;
2383pub const EAGAIN: u32 = 11;
2384pub const ENOMEM: u32 = 12;
2385pub const EACCES: u32 = 13;
2386pub const EFAULT: u32 = 14;
2387pub const EBUSY: u32 = 16;
2388pub const EEXIST: u32 = 17;
2389pub const EXDEV: u32 = 18;
2390pub const ENODEV: u32 = 19;
2391pub const ENOTDIR: u32 = 20;
2392pub const EISDIR: u32 = 21;
2393pub const ENFILE: u32 = 23;
2394pub const EMFILE: u32 = 24;
2395pub const ENOTTY: u32 = 25;
2396pub const EFBIG: u32 = 27;
2397pub const ENOSPC: u32 = 28;
2398pub const ESPIPE: u32 = 29;
2399pub const EROFS: u32 = 30;
2400pub const EMLINK: u32 = 31;
2401pub const EPIPE: u32 = 32;
2402pub const EDOM: u32 = 33;
2403pub const EDEADLK: u32 = 36;
2404pub const ENAMETOOLONG: u32 = 38;
2405pub const ENOLCK: u32 = 39;
2406pub const ENOSYS: u32 = 40;
2407pub const ENOTEMPTY: u32 = 41;
2408pub const EINVAL: u32 = 22;
2409pub const ERANGE: u32 = 34;
2410pub const EILSEQ: u32 = 42;
2411pub const STRUNCATE: u32 = 80;
2412pub const EDEADLOCK: u32 = 36;
2413pub const EADDRINUSE: u32 = 100;
2414pub const EADDRNOTAVAIL: u32 = 101;
2415pub const EAFNOSUPPORT: u32 = 102;
2416pub const EALREADY: u32 = 103;
2417pub const EBADMSG: u32 = 104;
2418pub const ECANCELED: u32 = 105;
2419pub const ECONNABORTED: u32 = 106;
2420pub const ECONNREFUSED: u32 = 107;
2421pub const ECONNRESET: u32 = 108;
2422pub const EDESTADDRREQ: u32 = 109;
2423pub const EHOSTUNREACH: u32 = 110;
2424pub const EIDRM: u32 = 111;
2425pub const EINPROGRESS: u32 = 112;
2426pub const EISCONN: u32 = 113;
2427pub const ELOOP: u32 = 114;
2428pub const EMSGSIZE: u32 = 115;
2429pub const ENETDOWN: u32 = 116;
2430pub const ENETRESET: u32 = 117;
2431pub const ENETUNREACH: u32 = 118;
2432pub const ENOBUFS: u32 = 119;
2433pub const ENODATA: u32 = 120;
2434pub const ENOLINK: u32 = 121;
2435pub const ENOMSG: u32 = 122;
2436pub const ENOPROTOOPT: u32 = 123;
2437pub const ENOSR: u32 = 124;
2438pub const ENOSTR: u32 = 125;
2439pub const ENOTCONN: u32 = 126;
2440pub const ENOTRECOVERABLE: u32 = 127;
2441pub const ENOTSOCK: u32 = 128;
2442pub const ENOTSUP: u32 = 129;
2443pub const EOPNOTSUPP: u32 = 130;
2444pub const EOTHER: u32 = 131;
2445pub const EOVERFLOW: u32 = 132;
2446pub const EOWNERDEAD: u32 = 133;
2447pub const EPROTO: u32 = 134;
2448pub const EPROTONOSUPPORT: u32 = 135;
2449pub const EPROTOTYPE: u32 = 136;
2450pub const ETIME: u32 = 137;
2451pub const ETIMEDOUT: u32 = 138;
2452pub const ETXTBSY: u32 = 139;
2453pub const EWOULDBLOCK: u32 = 140;
2454pub const _NLSCMPERROR: u32 = 2147483647;
2455pub const UNDEF_TYPE: i32 = -1;
2456pub const HVECTOR_UNDEF: u32 = 0;
2457pub type va_list = *mut ::std::os::raw::c_char;
2458unsafe extern "C" {
2459    pub fn __va_start(arg1: *mut *mut ::std::os::raw::c_char, ...);
2460}
2461pub type __vcrt_bool = bool;
2462pub type wchar_t = ::std::os::raw::c_ushort;
2463unsafe extern "C" {
2464    pub fn __security_init_cookie();
2465}
2466unsafe extern "C" {
2467    pub fn __security_check_cookie(_StackCookie: usize);
2468}
2469unsafe extern "C" {
2470    pub fn __report_gsfailure(_StackCookie: usize) -> !;
2471}
2472unsafe extern "C" {
2473    pub static mut __security_cookie: usize;
2474}
2475pub type __crt_bool = bool;
2476unsafe extern "C" {
2477    pub fn _invalid_parameter_noinfo();
2478}
2479unsafe extern "C" {
2480    pub fn _invalid_parameter_noinfo_noreturn() -> !;
2481}
2482unsafe extern "C" {
2483    pub fn _invoke_watson(
2484        _Expression: *const wchar_t,
2485        _FunctionName: *const wchar_t,
2486        _FileName: *const wchar_t,
2487        _LineNo: ::std::os::raw::c_uint,
2488        _Reserved: usize,
2489    ) -> !;
2490}
2491pub type errno_t = ::std::os::raw::c_int;
2492pub type wint_t = ::std::os::raw::c_ushort;
2493pub type wctype_t = ::std::os::raw::c_ushort;
2494pub type __time32_t = ::std::os::raw::c_long;
2495pub type __time64_t = ::std::os::raw::c_longlong;
2496#[repr(C)]
2497#[derive(Debug, Copy, Clone)]
2498pub struct __crt_locale_data_public {
2499    pub _locale_pctype: *const ::std::os::raw::c_ushort,
2500    pub _locale_mb_cur_max: ::std::os::raw::c_int,
2501    pub _locale_lc_codepage: ::std::os::raw::c_uint,
2502}
2503#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2504const _: () = {
2505    ["Size of __crt_locale_data_public"]
2506        [::std::mem::size_of::<__crt_locale_data_public>() - 16usize];
2507    ["Alignment of __crt_locale_data_public"]
2508        [::std::mem::align_of::<__crt_locale_data_public>() - 8usize];
2509    ["Offset of field: __crt_locale_data_public::_locale_pctype"]
2510        [::std::mem::offset_of!(__crt_locale_data_public, _locale_pctype) - 0usize];
2511    ["Offset of field: __crt_locale_data_public::_locale_mb_cur_max"]
2512        [::std::mem::offset_of!(__crt_locale_data_public, _locale_mb_cur_max) - 8usize];
2513    ["Offset of field: __crt_locale_data_public::_locale_lc_codepage"]
2514        [::std::mem::offset_of!(__crt_locale_data_public, _locale_lc_codepage) - 12usize];
2515};
2516#[repr(C)]
2517#[derive(Debug, Copy, Clone)]
2518pub struct __crt_locale_pointers {
2519    pub locinfo: *mut __crt_locale_data,
2520    pub mbcinfo: *mut __crt_multibyte_data,
2521}
2522#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2523const _: () = {
2524    ["Size of __crt_locale_pointers"][::std::mem::size_of::<__crt_locale_pointers>() - 16usize];
2525    ["Alignment of __crt_locale_pointers"]
2526        [::std::mem::align_of::<__crt_locale_pointers>() - 8usize];
2527    ["Offset of field: __crt_locale_pointers::locinfo"]
2528        [::std::mem::offset_of!(__crt_locale_pointers, locinfo) - 0usize];
2529    ["Offset of field: __crt_locale_pointers::mbcinfo"]
2530        [::std::mem::offset_of!(__crt_locale_pointers, mbcinfo) - 8usize];
2531};
2532pub type _locale_t = *mut __crt_locale_pointers;
2533#[repr(C)]
2534#[derive(Debug, Copy, Clone)]
2535pub struct _Mbstatet {
2536    pub _Wchar: ::std::os::raw::c_ulong,
2537    pub _Byte: ::std::os::raw::c_ushort,
2538    pub _State: ::std::os::raw::c_ushort,
2539}
2540#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2541const _: () = {
2542    ["Size of _Mbstatet"][::std::mem::size_of::<_Mbstatet>() - 8usize];
2543    ["Alignment of _Mbstatet"][::std::mem::align_of::<_Mbstatet>() - 4usize];
2544    ["Offset of field: _Mbstatet::_Wchar"][::std::mem::offset_of!(_Mbstatet, _Wchar) - 0usize];
2545    ["Offset of field: _Mbstatet::_Byte"][::std::mem::offset_of!(_Mbstatet, _Byte) - 4usize];
2546    ["Offset of field: _Mbstatet::_State"][::std::mem::offset_of!(_Mbstatet, _State) - 6usize];
2547};
2548pub type mbstate_t = _Mbstatet;
2549pub type time_t = __time64_t;
2550pub type rsize_t = usize;
2551unsafe extern "C" {
2552    pub fn _calloc_base(_Count: usize, _Size: usize) -> *mut ::std::os::raw::c_void;
2553}
2554unsafe extern "C" {
2555    pub fn calloc(
2556        _Count: ::std::os::raw::c_ulonglong,
2557        _Size: ::std::os::raw::c_ulonglong,
2558    ) -> *mut ::std::os::raw::c_void;
2559}
2560unsafe extern "C" {
2561    pub fn _callnewh(_Size: usize) -> ::std::os::raw::c_int;
2562}
2563unsafe extern "C" {
2564    pub fn _expand(
2565        _Block: *mut ::std::os::raw::c_void,
2566        _Size: usize,
2567    ) -> *mut ::std::os::raw::c_void;
2568}
2569unsafe extern "C" {
2570    pub fn _free_base(_Block: *mut ::std::os::raw::c_void);
2571}
2572unsafe extern "C" {
2573    pub fn free(_Block: *mut ::std::os::raw::c_void);
2574}
2575unsafe extern "C" {
2576    pub fn _malloc_base(_Size: usize) -> *mut ::std::os::raw::c_void;
2577}
2578unsafe extern "C" {
2579    pub fn malloc(_Size: ::std::os::raw::c_ulonglong) -> *mut ::std::os::raw::c_void;
2580}
2581unsafe extern "C" {
2582    pub fn _msize_base(_Block: *mut ::std::os::raw::c_void) -> usize;
2583}
2584unsafe extern "C" {
2585    pub fn _msize(_Block: *mut ::std::os::raw::c_void) -> usize;
2586}
2587unsafe extern "C" {
2588    pub fn _realloc_base(
2589        _Block: *mut ::std::os::raw::c_void,
2590        _Size: usize,
2591    ) -> *mut ::std::os::raw::c_void;
2592}
2593unsafe extern "C" {
2594    pub fn realloc(
2595        _Block: *mut ::std::os::raw::c_void,
2596        _Size: ::std::os::raw::c_ulonglong,
2597    ) -> *mut ::std::os::raw::c_void;
2598}
2599unsafe extern "C" {
2600    pub fn _recalloc_base(
2601        _Block: *mut ::std::os::raw::c_void,
2602        _Count: usize,
2603        _Size: usize,
2604    ) -> *mut ::std::os::raw::c_void;
2605}
2606unsafe extern "C" {
2607    pub fn _recalloc(
2608        _Block: *mut ::std::os::raw::c_void,
2609        _Count: usize,
2610        _Size: usize,
2611    ) -> *mut ::std::os::raw::c_void;
2612}
2613unsafe extern "C" {
2614    pub fn _aligned_free(_Block: *mut ::std::os::raw::c_void);
2615}
2616unsafe extern "C" {
2617    pub fn _aligned_malloc(_Size: usize, _Alignment: usize) -> *mut ::std::os::raw::c_void;
2618}
2619unsafe extern "C" {
2620    pub fn _aligned_offset_malloc(
2621        _Size: usize,
2622        _Alignment: usize,
2623        _Offset: usize,
2624    ) -> *mut ::std::os::raw::c_void;
2625}
2626unsafe extern "C" {
2627    pub fn _aligned_msize(
2628        _Block: *mut ::std::os::raw::c_void,
2629        _Alignment: usize,
2630        _Offset: usize,
2631    ) -> usize;
2632}
2633unsafe extern "C" {
2634    pub fn _aligned_offset_realloc(
2635        _Block: *mut ::std::os::raw::c_void,
2636        _Size: usize,
2637        _Alignment: usize,
2638        _Offset: usize,
2639    ) -> *mut ::std::os::raw::c_void;
2640}
2641unsafe extern "C" {
2642    pub fn _aligned_offset_recalloc(
2643        _Block: *mut ::std::os::raw::c_void,
2644        _Count: usize,
2645        _Size: usize,
2646        _Alignment: usize,
2647        _Offset: usize,
2648    ) -> *mut ::std::os::raw::c_void;
2649}
2650unsafe extern "C" {
2651    pub fn _aligned_realloc(
2652        _Block: *mut ::std::os::raw::c_void,
2653        _Size: usize,
2654        _Alignment: usize,
2655    ) -> *mut ::std::os::raw::c_void;
2656}
2657unsafe extern "C" {
2658    pub fn _aligned_recalloc(
2659        _Block: *mut ::std::os::raw::c_void,
2660        _Count: usize,
2661        _Size: usize,
2662        _Alignment: usize,
2663    ) -> *mut ::std::os::raw::c_void;
2664}
2665pub type max_align_t = f64;
2666pub type _CoreCrtSecureSearchSortCompareFunction = ::std::option::Option<
2667    unsafe extern "C" fn(
2668        arg1: *mut ::std::os::raw::c_void,
2669        arg2: *const ::std::os::raw::c_void,
2670        arg3: *const ::std::os::raw::c_void,
2671    ) -> ::std::os::raw::c_int,
2672>;
2673pub type _CoreCrtNonSecureSearchSortCompareFunction = ::std::option::Option<
2674    unsafe extern "C" fn(
2675        arg1: *const ::std::os::raw::c_void,
2676        arg2: *const ::std::os::raw::c_void,
2677    ) -> ::std::os::raw::c_int,
2678>;
2679unsafe extern "C" {
2680    pub fn bsearch_s(
2681        _Key: *const ::std::os::raw::c_void,
2682        _Base: *const ::std::os::raw::c_void,
2683        _NumOfElements: rsize_t,
2684        _SizeOfElements: rsize_t,
2685        _CompareFunction: _CoreCrtSecureSearchSortCompareFunction,
2686        _Context: *mut ::std::os::raw::c_void,
2687    ) -> *mut ::std::os::raw::c_void;
2688}
2689unsafe extern "C" {
2690    pub fn qsort_s(
2691        _Base: *mut ::std::os::raw::c_void,
2692        _NumOfElements: rsize_t,
2693        _SizeOfElements: rsize_t,
2694        _CompareFunction: _CoreCrtSecureSearchSortCompareFunction,
2695        _Context: *mut ::std::os::raw::c_void,
2696    );
2697}
2698unsafe extern "C" {
2699    pub fn bsearch(
2700        _Key: *const ::std::os::raw::c_void,
2701        _Base: *const ::std::os::raw::c_void,
2702        _NumOfElements: usize,
2703        _SizeOfElements: usize,
2704        _CompareFunction: _CoreCrtNonSecureSearchSortCompareFunction,
2705    ) -> *mut ::std::os::raw::c_void;
2706}
2707unsafe extern "C" {
2708    pub fn qsort(
2709        _Base: *mut ::std::os::raw::c_void,
2710        _NumOfElements: usize,
2711        _SizeOfElements: usize,
2712        _CompareFunction: _CoreCrtNonSecureSearchSortCompareFunction,
2713    );
2714}
2715unsafe extern "C" {
2716    pub fn _lfind_s(
2717        _Key: *const ::std::os::raw::c_void,
2718        _Base: *const ::std::os::raw::c_void,
2719        _NumOfElements: *mut ::std::os::raw::c_uint,
2720        _SizeOfElements: usize,
2721        _CompareFunction: _CoreCrtSecureSearchSortCompareFunction,
2722        _Context: *mut ::std::os::raw::c_void,
2723    ) -> *mut ::std::os::raw::c_void;
2724}
2725unsafe extern "C" {
2726    pub fn _lfind(
2727        _Key: *const ::std::os::raw::c_void,
2728        _Base: *const ::std::os::raw::c_void,
2729        _NumOfElements: *mut ::std::os::raw::c_uint,
2730        _SizeOfElements: ::std::os::raw::c_uint,
2731        _CompareFunction: _CoreCrtNonSecureSearchSortCompareFunction,
2732    ) -> *mut ::std::os::raw::c_void;
2733}
2734unsafe extern "C" {
2735    pub fn _lsearch_s(
2736        _Key: *const ::std::os::raw::c_void,
2737        _Base: *mut ::std::os::raw::c_void,
2738        _NumOfElements: *mut ::std::os::raw::c_uint,
2739        _SizeOfElements: usize,
2740        _CompareFunction: _CoreCrtSecureSearchSortCompareFunction,
2741        _Context: *mut ::std::os::raw::c_void,
2742    ) -> *mut ::std::os::raw::c_void;
2743}
2744unsafe extern "C" {
2745    pub fn _lsearch(
2746        _Key: *const ::std::os::raw::c_void,
2747        _Base: *mut ::std::os::raw::c_void,
2748        _NumOfElements: *mut ::std::os::raw::c_uint,
2749        _SizeOfElements: ::std::os::raw::c_uint,
2750        _CompareFunction: _CoreCrtNonSecureSearchSortCompareFunction,
2751    ) -> *mut ::std::os::raw::c_void;
2752}
2753unsafe extern "C" {
2754    pub fn lfind(
2755        _Key: *const ::std::os::raw::c_void,
2756        _Base: *const ::std::os::raw::c_void,
2757        _NumOfElements: *mut ::std::os::raw::c_uint,
2758        _SizeOfElements: ::std::os::raw::c_uint,
2759        _CompareFunction: _CoreCrtNonSecureSearchSortCompareFunction,
2760    ) -> *mut ::std::os::raw::c_void;
2761}
2762unsafe extern "C" {
2763    pub fn lsearch(
2764        _Key: *const ::std::os::raw::c_void,
2765        _Base: *mut ::std::os::raw::c_void,
2766        _NumOfElements: *mut ::std::os::raw::c_uint,
2767        _SizeOfElements: ::std::os::raw::c_uint,
2768        _CompareFunction: _CoreCrtNonSecureSearchSortCompareFunction,
2769    ) -> *mut ::std::os::raw::c_void;
2770}
2771unsafe extern "C" {
2772    pub fn _itow_s(
2773        _Value: ::std::os::raw::c_int,
2774        _Buffer: *mut wchar_t,
2775        _BufferCount: usize,
2776        _Radix: ::std::os::raw::c_int,
2777    ) -> errno_t;
2778}
2779unsafe extern "C" {
2780    pub fn _itow(
2781        _Value: ::std::os::raw::c_int,
2782        _Buffer: *mut wchar_t,
2783        _Radix: ::std::os::raw::c_int,
2784    ) -> *mut wchar_t;
2785}
2786unsafe extern "C" {
2787    pub fn _ltow_s(
2788        _Value: ::std::os::raw::c_long,
2789        _Buffer: *mut wchar_t,
2790        _BufferCount: usize,
2791        _Radix: ::std::os::raw::c_int,
2792    ) -> errno_t;
2793}
2794unsafe extern "C" {
2795    pub fn _ltow(
2796        _Value: ::std::os::raw::c_long,
2797        _Buffer: *mut wchar_t,
2798        _Radix: ::std::os::raw::c_int,
2799    ) -> *mut wchar_t;
2800}
2801unsafe extern "C" {
2802    pub fn _ultow_s(
2803        _Value: ::std::os::raw::c_ulong,
2804        _Buffer: *mut wchar_t,
2805        _BufferCount: usize,
2806        _Radix: ::std::os::raw::c_int,
2807    ) -> errno_t;
2808}
2809unsafe extern "C" {
2810    pub fn _ultow(
2811        _Value: ::std::os::raw::c_ulong,
2812        _Buffer: *mut wchar_t,
2813        _Radix: ::std::os::raw::c_int,
2814    ) -> *mut wchar_t;
2815}
2816unsafe extern "C" {
2817    pub fn wcstod(_String: *const wchar_t, _EndPtr: *mut *mut wchar_t) -> f64;
2818}
2819unsafe extern "C" {
2820    pub fn _wcstod_l(
2821        _String: *const wchar_t,
2822        _EndPtr: *mut *mut wchar_t,
2823        _Locale: _locale_t,
2824    ) -> f64;
2825}
2826unsafe extern "C" {
2827    pub fn wcstol(
2828        _String: *const wchar_t,
2829        _EndPtr: *mut *mut wchar_t,
2830        _Radix: ::std::os::raw::c_int,
2831    ) -> ::std::os::raw::c_long;
2832}
2833unsafe extern "C" {
2834    pub fn _wcstol_l(
2835        _String: *const wchar_t,
2836        _EndPtr: *mut *mut wchar_t,
2837        _Radix: ::std::os::raw::c_int,
2838        _Locale: _locale_t,
2839    ) -> ::std::os::raw::c_long;
2840}
2841unsafe extern "C" {
2842    pub fn wcstoll(
2843        _String: *const wchar_t,
2844        _EndPtr: *mut *mut wchar_t,
2845        _Radix: ::std::os::raw::c_int,
2846    ) -> ::std::os::raw::c_longlong;
2847}
2848unsafe extern "C" {
2849    pub fn _wcstoll_l(
2850        _String: *const wchar_t,
2851        _EndPtr: *mut *mut wchar_t,
2852        _Radix: ::std::os::raw::c_int,
2853        _Locale: _locale_t,
2854    ) -> ::std::os::raw::c_longlong;
2855}
2856unsafe extern "C" {
2857    pub fn wcstoul(
2858        _String: *const wchar_t,
2859        _EndPtr: *mut *mut wchar_t,
2860        _Radix: ::std::os::raw::c_int,
2861    ) -> ::std::os::raw::c_ulong;
2862}
2863unsafe extern "C" {
2864    pub fn _wcstoul_l(
2865        _String: *const wchar_t,
2866        _EndPtr: *mut *mut wchar_t,
2867        _Radix: ::std::os::raw::c_int,
2868        _Locale: _locale_t,
2869    ) -> ::std::os::raw::c_ulong;
2870}
2871unsafe extern "C" {
2872    pub fn wcstoull(
2873        _String: *const wchar_t,
2874        _EndPtr: *mut *mut wchar_t,
2875        _Radix: ::std::os::raw::c_int,
2876    ) -> ::std::os::raw::c_ulonglong;
2877}
2878unsafe extern "C" {
2879    pub fn _wcstoull_l(
2880        _String: *const wchar_t,
2881        _EndPtr: *mut *mut wchar_t,
2882        _Radix: ::std::os::raw::c_int,
2883        _Locale: _locale_t,
2884    ) -> ::std::os::raw::c_ulonglong;
2885}
2886unsafe extern "C" {
2887    pub fn wcstold(_String: *const wchar_t, _EndPtr: *mut *mut wchar_t) -> f64;
2888}
2889unsafe extern "C" {
2890    pub fn _wcstold_l(
2891        _String: *const wchar_t,
2892        _EndPtr: *mut *mut wchar_t,
2893        _Locale: _locale_t,
2894    ) -> f64;
2895}
2896unsafe extern "C" {
2897    pub fn wcstof(_String: *const wchar_t, _EndPtr: *mut *mut wchar_t) -> f32;
2898}
2899unsafe extern "C" {
2900    pub fn _wcstof_l(
2901        _String: *const wchar_t,
2902        _EndPtr: *mut *mut wchar_t,
2903        _Locale: _locale_t,
2904    ) -> f32;
2905}
2906unsafe extern "C" {
2907    pub fn _wtof(_String: *const wchar_t) -> f64;
2908}
2909unsafe extern "C" {
2910    pub fn _wtof_l(_String: *const wchar_t, _Locale: _locale_t) -> f64;
2911}
2912unsafe extern "C" {
2913    pub fn _wtoi(_String: *const wchar_t) -> ::std::os::raw::c_int;
2914}
2915unsafe extern "C" {
2916    pub fn _wtoi_l(_String: *const wchar_t, _Locale: _locale_t) -> ::std::os::raw::c_int;
2917}
2918unsafe extern "C" {
2919    pub fn _wtol(_String: *const wchar_t) -> ::std::os::raw::c_long;
2920}
2921unsafe extern "C" {
2922    pub fn _wtol_l(_String: *const wchar_t, _Locale: _locale_t) -> ::std::os::raw::c_long;
2923}
2924unsafe extern "C" {
2925    pub fn _wtoll(_String: *const wchar_t) -> ::std::os::raw::c_longlong;
2926}
2927unsafe extern "C" {
2928    pub fn _wtoll_l(_String: *const wchar_t, _Locale: _locale_t) -> ::std::os::raw::c_longlong;
2929}
2930unsafe extern "C" {
2931    pub fn _i64tow_s(
2932        _Value: ::std::os::raw::c_longlong,
2933        _Buffer: *mut wchar_t,
2934        _BufferCount: usize,
2935        _Radix: ::std::os::raw::c_int,
2936    ) -> errno_t;
2937}
2938unsafe extern "C" {
2939    pub fn _i64tow(
2940        _Value: ::std::os::raw::c_longlong,
2941        _Buffer: *mut wchar_t,
2942        _Radix: ::std::os::raw::c_int,
2943    ) -> *mut wchar_t;
2944}
2945unsafe extern "C" {
2946    pub fn _ui64tow_s(
2947        _Value: ::std::os::raw::c_ulonglong,
2948        _Buffer: *mut wchar_t,
2949        _BufferCount: usize,
2950        _Radix: ::std::os::raw::c_int,
2951    ) -> errno_t;
2952}
2953unsafe extern "C" {
2954    pub fn _ui64tow(
2955        _Value: ::std::os::raw::c_ulonglong,
2956        _Buffer: *mut wchar_t,
2957        _Radix: ::std::os::raw::c_int,
2958    ) -> *mut wchar_t;
2959}
2960unsafe extern "C" {
2961    pub fn _wtoi64(_String: *const wchar_t) -> ::std::os::raw::c_longlong;
2962}
2963unsafe extern "C" {
2964    pub fn _wtoi64_l(_String: *const wchar_t, _Locale: _locale_t) -> ::std::os::raw::c_longlong;
2965}
2966unsafe extern "C" {
2967    pub fn _wcstoi64(
2968        _String: *const wchar_t,
2969        _EndPtr: *mut *mut wchar_t,
2970        _Radix: ::std::os::raw::c_int,
2971    ) -> ::std::os::raw::c_longlong;
2972}
2973unsafe extern "C" {
2974    pub fn _wcstoi64_l(
2975        _String: *const wchar_t,
2976        _EndPtr: *mut *mut wchar_t,
2977        _Radix: ::std::os::raw::c_int,
2978        _Locale: _locale_t,
2979    ) -> ::std::os::raw::c_longlong;
2980}
2981unsafe extern "C" {
2982    pub fn _wcstoui64(
2983        _String: *const wchar_t,
2984        _EndPtr: *mut *mut wchar_t,
2985        _Radix: ::std::os::raw::c_int,
2986    ) -> ::std::os::raw::c_ulonglong;
2987}
2988unsafe extern "C" {
2989    pub fn _wcstoui64_l(
2990        _String: *const wchar_t,
2991        _EndPtr: *mut *mut wchar_t,
2992        _Radix: ::std::os::raw::c_int,
2993        _Locale: _locale_t,
2994    ) -> ::std::os::raw::c_ulonglong;
2995}
2996unsafe extern "C" {
2997    pub fn _wfullpath(
2998        _Buffer: *mut wchar_t,
2999        _Path: *const wchar_t,
3000        _BufferCount: usize,
3001    ) -> *mut wchar_t;
3002}
3003unsafe extern "C" {
3004    pub fn _wmakepath_s(
3005        _Buffer: *mut wchar_t,
3006        _BufferCount: usize,
3007        _Drive: *const wchar_t,
3008        _Dir: *const wchar_t,
3009        _Filename: *const wchar_t,
3010        _Ext: *const wchar_t,
3011    ) -> errno_t;
3012}
3013unsafe extern "C" {
3014    pub fn _wmakepath(
3015        _Buffer: *mut wchar_t,
3016        _Drive: *const wchar_t,
3017        _Dir: *const wchar_t,
3018        _Filename: *const wchar_t,
3019        _Ext: *const wchar_t,
3020    );
3021}
3022unsafe extern "C" {
3023    pub fn _wperror(_ErrorMessage: *const wchar_t);
3024}
3025unsafe extern "C" {
3026    pub fn _wsplitpath(
3027        _FullPath: *const wchar_t,
3028        _Drive: *mut wchar_t,
3029        _Dir: *mut wchar_t,
3030        _Filename: *mut wchar_t,
3031        _Ext: *mut wchar_t,
3032    );
3033}
3034unsafe extern "C" {
3035    pub fn _wsplitpath_s(
3036        _FullPath: *const wchar_t,
3037        _Drive: *mut wchar_t,
3038        _DriveCount: usize,
3039        _Dir: *mut wchar_t,
3040        _DirCount: usize,
3041        _Filename: *mut wchar_t,
3042        _FilenameCount: usize,
3043        _Ext: *mut wchar_t,
3044        _ExtCount: usize,
3045    ) -> errno_t;
3046}
3047unsafe extern "C" {
3048    pub fn _wdupenv_s(
3049        _Buffer: *mut *mut wchar_t,
3050        _BufferCount: *mut usize,
3051        _VarName: *const wchar_t,
3052    ) -> errno_t;
3053}
3054unsafe extern "C" {
3055    pub fn _wgetenv(_VarName: *const wchar_t) -> *mut wchar_t;
3056}
3057unsafe extern "C" {
3058    pub fn _wgetenv_s(
3059        _RequiredCount: *mut usize,
3060        _Buffer: *mut wchar_t,
3061        _BufferCount: usize,
3062        _VarName: *const wchar_t,
3063    ) -> errno_t;
3064}
3065unsafe extern "C" {
3066    pub fn _wputenv(_EnvString: *const wchar_t) -> ::std::os::raw::c_int;
3067}
3068unsafe extern "C" {
3069    pub fn _wputenv_s(_Name: *const wchar_t, _Value: *const wchar_t) -> errno_t;
3070}
3071unsafe extern "C" {
3072    pub fn _wsearchenv_s(
3073        _Filename: *const wchar_t,
3074        _VarName: *const wchar_t,
3075        _Buffer: *mut wchar_t,
3076        _BufferCount: usize,
3077    ) -> errno_t;
3078}
3079unsafe extern "C" {
3080    pub fn _wsearchenv(
3081        _Filename: *const wchar_t,
3082        _VarName: *const wchar_t,
3083        _ResultPath: *mut wchar_t,
3084    );
3085}
3086unsafe extern "C" {
3087    pub fn _wsystem(_Command: *const wchar_t) -> ::std::os::raw::c_int;
3088}
3089unsafe extern "C" {
3090    pub fn _swab(
3091        _Buf1: *mut ::std::os::raw::c_char,
3092        _Buf2: *mut ::std::os::raw::c_char,
3093        _SizeInBytes: ::std::os::raw::c_int,
3094    );
3095}
3096unsafe extern "C" {
3097    pub fn exit(_Code: ::std::os::raw::c_int) -> !;
3098}
3099unsafe extern "C" {
3100    pub fn _exit(_Code: ::std::os::raw::c_int) -> !;
3101}
3102unsafe extern "C" {
3103    pub fn _Exit(_Code: ::std::os::raw::c_int) -> !;
3104}
3105unsafe extern "C" {
3106    pub fn quick_exit(_Code: ::std::os::raw::c_int) -> !;
3107}
3108unsafe extern "C" {
3109    pub fn abort() -> !;
3110}
3111unsafe extern "C" {
3112    pub fn _set_abort_behavior(
3113        _Flags: ::std::os::raw::c_uint,
3114        _Mask: ::std::os::raw::c_uint,
3115    ) -> ::std::os::raw::c_uint;
3116}
3117pub type _onexit_t = ::std::option::Option<unsafe extern "C" fn() -> ::std::os::raw::c_int>;
3118unsafe extern "C" {
3119    pub fn atexit(arg1: ::std::option::Option<unsafe extern "C" fn()>) -> ::std::os::raw::c_int;
3120}
3121unsafe extern "C" {
3122    pub fn _onexit(_Func: _onexit_t) -> _onexit_t;
3123}
3124unsafe extern "C" {
3125    pub fn at_quick_exit(
3126        arg1: ::std::option::Option<unsafe extern "C" fn()>,
3127    ) -> ::std::os::raw::c_int;
3128}
3129pub type _purecall_handler = ::std::option::Option<unsafe extern "C" fn()>;
3130pub type _invalid_parameter_handler = ::std::option::Option<
3131    unsafe extern "C" fn(
3132        arg1: *const wchar_t,
3133        arg2: *const wchar_t,
3134        arg3: *const wchar_t,
3135        arg4: ::std::os::raw::c_uint,
3136        arg5: usize,
3137    ),
3138>;
3139unsafe extern "C" {
3140    pub fn _set_purecall_handler(_Handler: _purecall_handler) -> _purecall_handler;
3141}
3142unsafe extern "C" {
3143    pub fn _get_purecall_handler() -> _purecall_handler;
3144}
3145unsafe extern "C" {
3146    pub fn _set_invalid_parameter_handler(
3147        _Handler: _invalid_parameter_handler,
3148    ) -> _invalid_parameter_handler;
3149}
3150unsafe extern "C" {
3151    pub fn _get_invalid_parameter_handler() -> _invalid_parameter_handler;
3152}
3153unsafe extern "C" {
3154    pub fn _set_thread_local_invalid_parameter_handler(
3155        _Handler: _invalid_parameter_handler,
3156    ) -> _invalid_parameter_handler;
3157}
3158unsafe extern "C" {
3159    pub fn _get_thread_local_invalid_parameter_handler() -> _invalid_parameter_handler;
3160}
3161unsafe extern "C" {
3162    pub fn _set_error_mode(_Mode: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
3163}
3164unsafe extern "C" {
3165    pub fn _errno() -> *mut ::std::os::raw::c_int;
3166}
3167unsafe extern "C" {
3168    pub fn _set_errno(_Value: ::std::os::raw::c_int) -> errno_t;
3169}
3170unsafe extern "C" {
3171    pub fn _get_errno(_Value: *mut ::std::os::raw::c_int) -> errno_t;
3172}
3173unsafe extern "C" {
3174    pub fn __doserrno() -> *mut ::std::os::raw::c_ulong;
3175}
3176unsafe extern "C" {
3177    pub fn _set_doserrno(_Value: ::std::os::raw::c_ulong) -> errno_t;
3178}
3179unsafe extern "C" {
3180    pub fn _get_doserrno(_Value: *mut ::std::os::raw::c_ulong) -> errno_t;
3181}
3182unsafe extern "C" {
3183    pub fn __sys_errlist() -> *mut *mut ::std::os::raw::c_char;
3184}
3185unsafe extern "C" {
3186    pub fn __sys_nerr() -> *mut ::std::os::raw::c_int;
3187}
3188unsafe extern "C" {
3189    pub fn perror(_ErrMsg: *const ::std::os::raw::c_char);
3190}
3191unsafe extern "C" {
3192    pub fn __p__pgmptr() -> *mut *mut ::std::os::raw::c_char;
3193}
3194unsafe extern "C" {
3195    pub fn __p__wpgmptr() -> *mut *mut wchar_t;
3196}
3197unsafe extern "C" {
3198    pub fn __p__fmode() -> *mut ::std::os::raw::c_int;
3199}
3200unsafe extern "C" {
3201    pub fn _get_pgmptr(_Value: *mut *mut ::std::os::raw::c_char) -> errno_t;
3202}
3203unsafe extern "C" {
3204    pub fn _get_wpgmptr(_Value: *mut *mut wchar_t) -> errno_t;
3205}
3206unsafe extern "C" {
3207    pub fn _set_fmode(_Mode: ::std::os::raw::c_int) -> errno_t;
3208}
3209unsafe extern "C" {
3210    pub fn _get_fmode(_PMode: *mut ::std::os::raw::c_int) -> errno_t;
3211}
3212#[repr(C)]
3213#[derive(Debug, Copy, Clone)]
3214pub struct _div_t {
3215    pub quot: ::std::os::raw::c_int,
3216    pub rem: ::std::os::raw::c_int,
3217}
3218#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3219const _: () = {
3220    ["Size of _div_t"][::std::mem::size_of::<_div_t>() - 8usize];
3221    ["Alignment of _div_t"][::std::mem::align_of::<_div_t>() - 4usize];
3222    ["Offset of field: _div_t::quot"][::std::mem::offset_of!(_div_t, quot) - 0usize];
3223    ["Offset of field: _div_t::rem"][::std::mem::offset_of!(_div_t, rem) - 4usize];
3224};
3225pub type div_t = _div_t;
3226#[repr(C)]
3227#[derive(Debug, Copy, Clone)]
3228pub struct _ldiv_t {
3229    pub quot: ::std::os::raw::c_long,
3230    pub rem: ::std::os::raw::c_long,
3231}
3232#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3233const _: () = {
3234    ["Size of _ldiv_t"][::std::mem::size_of::<_ldiv_t>() - 8usize];
3235    ["Alignment of _ldiv_t"][::std::mem::align_of::<_ldiv_t>() - 4usize];
3236    ["Offset of field: _ldiv_t::quot"][::std::mem::offset_of!(_ldiv_t, quot) - 0usize];
3237    ["Offset of field: _ldiv_t::rem"][::std::mem::offset_of!(_ldiv_t, rem) - 4usize];
3238};
3239pub type ldiv_t = _ldiv_t;
3240#[repr(C)]
3241#[derive(Debug, Copy, Clone)]
3242pub struct _lldiv_t {
3243    pub quot: ::std::os::raw::c_longlong,
3244    pub rem: ::std::os::raw::c_longlong,
3245}
3246#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3247const _: () = {
3248    ["Size of _lldiv_t"][::std::mem::size_of::<_lldiv_t>() - 16usize];
3249    ["Alignment of _lldiv_t"][::std::mem::align_of::<_lldiv_t>() - 8usize];
3250    ["Offset of field: _lldiv_t::quot"][::std::mem::offset_of!(_lldiv_t, quot) - 0usize];
3251    ["Offset of field: _lldiv_t::rem"][::std::mem::offset_of!(_lldiv_t, rem) - 8usize];
3252};
3253pub type lldiv_t = _lldiv_t;
3254unsafe extern "C" {
3255    pub fn abs(_Number: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
3256}
3257unsafe extern "C" {
3258    pub fn labs(_Number: ::std::os::raw::c_long) -> ::std::os::raw::c_long;
3259}
3260unsafe extern "C" {
3261    pub fn llabs(_Number: ::std::os::raw::c_longlong) -> ::std::os::raw::c_longlong;
3262}
3263unsafe extern "C" {
3264    pub fn _abs64(_Number: ::std::os::raw::c_longlong) -> ::std::os::raw::c_longlong;
3265}
3266unsafe extern "C" {
3267    pub fn _byteswap_ushort(_Number: ::std::os::raw::c_ushort) -> ::std::os::raw::c_ushort;
3268}
3269unsafe extern "C" {
3270    pub fn _byteswap_ulong(_Number: ::std::os::raw::c_ulong) -> ::std::os::raw::c_ulong;
3271}
3272unsafe extern "C" {
3273    pub fn _byteswap_uint64(_Number: ::std::os::raw::c_ulonglong) -> ::std::os::raw::c_ulonglong;
3274}
3275unsafe extern "C" {
3276    pub fn div(_Numerator: ::std::os::raw::c_int, _Denominator: ::std::os::raw::c_int) -> div_t;
3277}
3278unsafe extern "C" {
3279    pub fn ldiv(_Numerator: ::std::os::raw::c_long, _Denominator: ::std::os::raw::c_long)
3280    -> ldiv_t;
3281}
3282unsafe extern "C" {
3283    pub fn lldiv(
3284        _Numerator: ::std::os::raw::c_longlong,
3285        _Denominator: ::std::os::raw::c_longlong,
3286    ) -> lldiv_t;
3287}
3288unsafe extern "C" {
3289    pub fn _rotl(
3290        _Value: ::std::os::raw::c_uint,
3291        _Shift: ::std::os::raw::c_int,
3292    ) -> ::std::os::raw::c_uint;
3293}
3294unsafe extern "C" {
3295    pub fn _lrotl(
3296        _Value: ::std::os::raw::c_ulong,
3297        _Shift: ::std::os::raw::c_int,
3298    ) -> ::std::os::raw::c_ulong;
3299}
3300unsafe extern "C" {
3301    pub fn _rotl64(
3302        _Value: ::std::os::raw::c_ulonglong,
3303        _Shift: ::std::os::raw::c_int,
3304    ) -> ::std::os::raw::c_ulonglong;
3305}
3306unsafe extern "C" {
3307    pub fn _rotr(
3308        _Value: ::std::os::raw::c_uint,
3309        _Shift: ::std::os::raw::c_int,
3310    ) -> ::std::os::raw::c_uint;
3311}
3312unsafe extern "C" {
3313    pub fn _lrotr(
3314        _Value: ::std::os::raw::c_ulong,
3315        _Shift: ::std::os::raw::c_int,
3316    ) -> ::std::os::raw::c_ulong;
3317}
3318unsafe extern "C" {
3319    pub fn _rotr64(
3320        _Value: ::std::os::raw::c_ulonglong,
3321        _Shift: ::std::os::raw::c_int,
3322    ) -> ::std::os::raw::c_ulonglong;
3323}
3324unsafe extern "C" {
3325    pub fn srand(_Seed: ::std::os::raw::c_uint);
3326}
3327unsafe extern "C" {
3328    pub fn rand() -> ::std::os::raw::c_int;
3329}
3330#[repr(C)]
3331#[derive(Debug, Copy, Clone)]
3332pub struct _LDOUBLE {
3333    pub ld: [::std::os::raw::c_uchar; 10usize],
3334}
3335#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3336const _: () = {
3337    ["Size of _LDOUBLE"][::std::mem::size_of::<_LDOUBLE>() - 10usize];
3338    ["Alignment of _LDOUBLE"][::std::mem::align_of::<_LDOUBLE>() - 1usize];
3339    ["Offset of field: _LDOUBLE::ld"][::std::mem::offset_of!(_LDOUBLE, ld) - 0usize];
3340};
3341#[repr(C)]
3342#[derive(Debug, Copy, Clone)]
3343pub struct _CRT_DOUBLE {
3344    pub x: f64,
3345}
3346#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3347const _: () = {
3348    ["Size of _CRT_DOUBLE"][::std::mem::size_of::<_CRT_DOUBLE>() - 8usize];
3349    ["Alignment of _CRT_DOUBLE"][::std::mem::align_of::<_CRT_DOUBLE>() - 8usize];
3350    ["Offset of field: _CRT_DOUBLE::x"][::std::mem::offset_of!(_CRT_DOUBLE, x) - 0usize];
3351};
3352#[repr(C)]
3353#[derive(Debug, Copy, Clone)]
3354pub struct _CRT_FLOAT {
3355    pub f: f32,
3356}
3357#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3358const _: () = {
3359    ["Size of _CRT_FLOAT"][::std::mem::size_of::<_CRT_FLOAT>() - 4usize];
3360    ["Alignment of _CRT_FLOAT"][::std::mem::align_of::<_CRT_FLOAT>() - 4usize];
3361    ["Offset of field: _CRT_FLOAT::f"][::std::mem::offset_of!(_CRT_FLOAT, f) - 0usize];
3362};
3363#[repr(C)]
3364#[derive(Debug, Copy, Clone)]
3365pub struct _LONGDOUBLE {
3366    pub x: f64,
3367}
3368#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3369const _: () = {
3370    ["Size of _LONGDOUBLE"][::std::mem::size_of::<_LONGDOUBLE>() - 8usize];
3371    ["Alignment of _LONGDOUBLE"][::std::mem::align_of::<_LONGDOUBLE>() - 8usize];
3372    ["Offset of field: _LONGDOUBLE::x"][::std::mem::offset_of!(_LONGDOUBLE, x) - 0usize];
3373};
3374#[repr(C)]
3375#[derive(Debug, Copy, Clone)]
3376pub struct _LDBL12 {
3377    pub ld12: [::std::os::raw::c_uchar; 12usize],
3378}
3379#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3380const _: () = {
3381    ["Size of _LDBL12"][::std::mem::size_of::<_LDBL12>() - 12usize];
3382    ["Alignment of _LDBL12"][::std::mem::align_of::<_LDBL12>() - 1usize];
3383    ["Offset of field: _LDBL12::ld12"][::std::mem::offset_of!(_LDBL12, ld12) - 0usize];
3384};
3385unsafe extern "C" {
3386    pub fn atof(_String: *const ::std::os::raw::c_char) -> f64;
3387}
3388unsafe extern "C" {
3389    pub fn atoi(_String: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
3390}
3391unsafe extern "C" {
3392    pub fn atol(_String: *const ::std::os::raw::c_char) -> ::std::os::raw::c_long;
3393}
3394unsafe extern "C" {
3395    pub fn atoll(_String: *const ::std::os::raw::c_char) -> ::std::os::raw::c_longlong;
3396}
3397unsafe extern "C" {
3398    pub fn _atoi64(_String: *const ::std::os::raw::c_char) -> ::std::os::raw::c_longlong;
3399}
3400unsafe extern "C" {
3401    pub fn _atof_l(_String: *const ::std::os::raw::c_char, _Locale: _locale_t) -> f64;
3402}
3403unsafe extern "C" {
3404    pub fn _atoi_l(
3405        _String: *const ::std::os::raw::c_char,
3406        _Locale: _locale_t,
3407    ) -> ::std::os::raw::c_int;
3408}
3409unsafe extern "C" {
3410    pub fn _atol_l(
3411        _String: *const ::std::os::raw::c_char,
3412        _Locale: _locale_t,
3413    ) -> ::std::os::raw::c_long;
3414}
3415unsafe extern "C" {
3416    pub fn _atoll_l(
3417        _String: *const ::std::os::raw::c_char,
3418        _Locale: _locale_t,
3419    ) -> ::std::os::raw::c_longlong;
3420}
3421unsafe extern "C" {
3422    pub fn _atoi64_l(
3423        _String: *const ::std::os::raw::c_char,
3424        _Locale: _locale_t,
3425    ) -> ::std::os::raw::c_longlong;
3426}
3427unsafe extern "C" {
3428    pub fn _atoflt(
3429        _Result: *mut _CRT_FLOAT,
3430        _String: *const ::std::os::raw::c_char,
3431    ) -> ::std::os::raw::c_int;
3432}
3433unsafe extern "C" {
3434    pub fn _atodbl(
3435        _Result: *mut _CRT_DOUBLE,
3436        _String: *mut ::std::os::raw::c_char,
3437    ) -> ::std::os::raw::c_int;
3438}
3439unsafe extern "C" {
3440    pub fn _atoldbl(
3441        _Result: *mut _LDOUBLE,
3442        _String: *mut ::std::os::raw::c_char,
3443    ) -> ::std::os::raw::c_int;
3444}
3445unsafe extern "C" {
3446    pub fn _atoflt_l(
3447        _Result: *mut _CRT_FLOAT,
3448        _String: *const ::std::os::raw::c_char,
3449        _Locale: _locale_t,
3450    ) -> ::std::os::raw::c_int;
3451}
3452unsafe extern "C" {
3453    pub fn _atodbl_l(
3454        _Result: *mut _CRT_DOUBLE,
3455        _String: *mut ::std::os::raw::c_char,
3456        _Locale: _locale_t,
3457    ) -> ::std::os::raw::c_int;
3458}
3459unsafe extern "C" {
3460    pub fn _atoldbl_l(
3461        _Result: *mut _LDOUBLE,
3462        _String: *mut ::std::os::raw::c_char,
3463        _Locale: _locale_t,
3464    ) -> ::std::os::raw::c_int;
3465}
3466unsafe extern "C" {
3467    pub fn strtof(
3468        _String: *const ::std::os::raw::c_char,
3469        _EndPtr: *mut *mut ::std::os::raw::c_char,
3470    ) -> f32;
3471}
3472unsafe extern "C" {
3473    pub fn _strtof_l(
3474        _String: *const ::std::os::raw::c_char,
3475        _EndPtr: *mut *mut ::std::os::raw::c_char,
3476        _Locale: _locale_t,
3477    ) -> f32;
3478}
3479unsafe extern "C" {
3480    pub fn strtod(
3481        _String: *const ::std::os::raw::c_char,
3482        _EndPtr: *mut *mut ::std::os::raw::c_char,
3483    ) -> f64;
3484}
3485unsafe extern "C" {
3486    pub fn _strtod_l(
3487        _String: *const ::std::os::raw::c_char,
3488        _EndPtr: *mut *mut ::std::os::raw::c_char,
3489        _Locale: _locale_t,
3490    ) -> f64;
3491}
3492unsafe extern "C" {
3493    pub fn strtold(
3494        _String: *const ::std::os::raw::c_char,
3495        _EndPtr: *mut *mut ::std::os::raw::c_char,
3496    ) -> f64;
3497}
3498unsafe extern "C" {
3499    pub fn _strtold_l(
3500        _String: *const ::std::os::raw::c_char,
3501        _EndPtr: *mut *mut ::std::os::raw::c_char,
3502        _Locale: _locale_t,
3503    ) -> f64;
3504}
3505unsafe extern "C" {
3506    pub fn strtol(
3507        _String: *const ::std::os::raw::c_char,
3508        _EndPtr: *mut *mut ::std::os::raw::c_char,
3509        _Radix: ::std::os::raw::c_int,
3510    ) -> ::std::os::raw::c_long;
3511}
3512unsafe extern "C" {
3513    pub fn _strtol_l(
3514        _String: *const ::std::os::raw::c_char,
3515        _EndPtr: *mut *mut ::std::os::raw::c_char,
3516        _Radix: ::std::os::raw::c_int,
3517        _Locale: _locale_t,
3518    ) -> ::std::os::raw::c_long;
3519}
3520unsafe extern "C" {
3521    pub fn strtoll(
3522        _String: *const ::std::os::raw::c_char,
3523        _EndPtr: *mut *mut ::std::os::raw::c_char,
3524        _Radix: ::std::os::raw::c_int,
3525    ) -> ::std::os::raw::c_longlong;
3526}
3527unsafe extern "C" {
3528    pub fn _strtoll_l(
3529        _String: *const ::std::os::raw::c_char,
3530        _EndPtr: *mut *mut ::std::os::raw::c_char,
3531        _Radix: ::std::os::raw::c_int,
3532        _Locale: _locale_t,
3533    ) -> ::std::os::raw::c_longlong;
3534}
3535unsafe extern "C" {
3536    pub fn strtoul(
3537        _String: *const ::std::os::raw::c_char,
3538        _EndPtr: *mut *mut ::std::os::raw::c_char,
3539        _Radix: ::std::os::raw::c_int,
3540    ) -> ::std::os::raw::c_ulong;
3541}
3542unsafe extern "C" {
3543    pub fn _strtoul_l(
3544        _String: *const ::std::os::raw::c_char,
3545        _EndPtr: *mut *mut ::std::os::raw::c_char,
3546        _Radix: ::std::os::raw::c_int,
3547        _Locale: _locale_t,
3548    ) -> ::std::os::raw::c_ulong;
3549}
3550unsafe extern "C" {
3551    pub fn strtoull(
3552        _String: *const ::std::os::raw::c_char,
3553        _EndPtr: *mut *mut ::std::os::raw::c_char,
3554        _Radix: ::std::os::raw::c_int,
3555    ) -> ::std::os::raw::c_ulonglong;
3556}
3557unsafe extern "C" {
3558    pub fn _strtoull_l(
3559        _String: *const ::std::os::raw::c_char,
3560        _EndPtr: *mut *mut ::std::os::raw::c_char,
3561        _Radix: ::std::os::raw::c_int,
3562        _Locale: _locale_t,
3563    ) -> ::std::os::raw::c_ulonglong;
3564}
3565unsafe extern "C" {
3566    pub fn _strtoi64(
3567        _String: *const ::std::os::raw::c_char,
3568        _EndPtr: *mut *mut ::std::os::raw::c_char,
3569        _Radix: ::std::os::raw::c_int,
3570    ) -> ::std::os::raw::c_longlong;
3571}
3572unsafe extern "C" {
3573    pub fn _strtoi64_l(
3574        _String: *const ::std::os::raw::c_char,
3575        _EndPtr: *mut *mut ::std::os::raw::c_char,
3576        _Radix: ::std::os::raw::c_int,
3577        _Locale: _locale_t,
3578    ) -> ::std::os::raw::c_longlong;
3579}
3580unsafe extern "C" {
3581    pub fn _strtoui64(
3582        _String: *const ::std::os::raw::c_char,
3583        _EndPtr: *mut *mut ::std::os::raw::c_char,
3584        _Radix: ::std::os::raw::c_int,
3585    ) -> ::std::os::raw::c_ulonglong;
3586}
3587unsafe extern "C" {
3588    pub fn _strtoui64_l(
3589        _String: *const ::std::os::raw::c_char,
3590        _EndPtr: *mut *mut ::std::os::raw::c_char,
3591        _Radix: ::std::os::raw::c_int,
3592        _Locale: _locale_t,
3593    ) -> ::std::os::raw::c_ulonglong;
3594}
3595unsafe extern "C" {
3596    pub fn _itoa_s(
3597        _Value: ::std::os::raw::c_int,
3598        _Buffer: *mut ::std::os::raw::c_char,
3599        _BufferCount: usize,
3600        _Radix: ::std::os::raw::c_int,
3601    ) -> errno_t;
3602}
3603unsafe extern "C" {
3604    pub fn _itoa(
3605        _Value: ::std::os::raw::c_int,
3606        _Buffer: *mut ::std::os::raw::c_char,
3607        _Radix: ::std::os::raw::c_int,
3608    ) -> *mut ::std::os::raw::c_char;
3609}
3610unsafe extern "C" {
3611    pub fn _ltoa_s(
3612        _Value: ::std::os::raw::c_long,
3613        _Buffer: *mut ::std::os::raw::c_char,
3614        _BufferCount: usize,
3615        _Radix: ::std::os::raw::c_int,
3616    ) -> errno_t;
3617}
3618unsafe extern "C" {
3619    pub fn _ltoa(
3620        _Value: ::std::os::raw::c_long,
3621        _Buffer: *mut ::std::os::raw::c_char,
3622        _Radix: ::std::os::raw::c_int,
3623    ) -> *mut ::std::os::raw::c_char;
3624}
3625unsafe extern "C" {
3626    pub fn _ultoa_s(
3627        _Value: ::std::os::raw::c_ulong,
3628        _Buffer: *mut ::std::os::raw::c_char,
3629        _BufferCount: usize,
3630        _Radix: ::std::os::raw::c_int,
3631    ) -> errno_t;
3632}
3633unsafe extern "C" {
3634    pub fn _ultoa(
3635        _Value: ::std::os::raw::c_ulong,
3636        _Buffer: *mut ::std::os::raw::c_char,
3637        _Radix: ::std::os::raw::c_int,
3638    ) -> *mut ::std::os::raw::c_char;
3639}
3640unsafe extern "C" {
3641    pub fn _i64toa_s(
3642        _Value: ::std::os::raw::c_longlong,
3643        _Buffer: *mut ::std::os::raw::c_char,
3644        _BufferCount: usize,
3645        _Radix: ::std::os::raw::c_int,
3646    ) -> errno_t;
3647}
3648unsafe extern "C" {
3649    pub fn _i64toa(
3650        _Value: ::std::os::raw::c_longlong,
3651        _Buffer: *mut ::std::os::raw::c_char,
3652        _Radix: ::std::os::raw::c_int,
3653    ) -> *mut ::std::os::raw::c_char;
3654}
3655unsafe extern "C" {
3656    pub fn _ui64toa_s(
3657        _Value: ::std::os::raw::c_ulonglong,
3658        _Buffer: *mut ::std::os::raw::c_char,
3659        _BufferCount: usize,
3660        _Radix: ::std::os::raw::c_int,
3661    ) -> errno_t;
3662}
3663unsafe extern "C" {
3664    pub fn _ui64toa(
3665        _Value: ::std::os::raw::c_ulonglong,
3666        _Buffer: *mut ::std::os::raw::c_char,
3667        _Radix: ::std::os::raw::c_int,
3668    ) -> *mut ::std::os::raw::c_char;
3669}
3670unsafe extern "C" {
3671    pub fn _ecvt_s(
3672        _Buffer: *mut ::std::os::raw::c_char,
3673        _BufferCount: usize,
3674        _Value: f64,
3675        _DigitCount: ::std::os::raw::c_int,
3676        _PtDec: *mut ::std::os::raw::c_int,
3677        _PtSign: *mut ::std::os::raw::c_int,
3678    ) -> errno_t;
3679}
3680unsafe extern "C" {
3681    pub fn _ecvt(
3682        _Value: f64,
3683        _DigitCount: ::std::os::raw::c_int,
3684        _PtDec: *mut ::std::os::raw::c_int,
3685        _PtSign: *mut ::std::os::raw::c_int,
3686    ) -> *mut ::std::os::raw::c_char;
3687}
3688unsafe extern "C" {
3689    pub fn _fcvt_s(
3690        _Buffer: *mut ::std::os::raw::c_char,
3691        _BufferCount: usize,
3692        _Value: f64,
3693        _FractionalDigitCount: ::std::os::raw::c_int,
3694        _PtDec: *mut ::std::os::raw::c_int,
3695        _PtSign: *mut ::std::os::raw::c_int,
3696    ) -> errno_t;
3697}
3698unsafe extern "C" {
3699    pub fn _fcvt(
3700        _Value: f64,
3701        _FractionalDigitCount: ::std::os::raw::c_int,
3702        _PtDec: *mut ::std::os::raw::c_int,
3703        _PtSign: *mut ::std::os::raw::c_int,
3704    ) -> *mut ::std::os::raw::c_char;
3705}
3706unsafe extern "C" {
3707    pub fn _gcvt_s(
3708        _Buffer: *mut ::std::os::raw::c_char,
3709        _BufferCount: usize,
3710        _Value: f64,
3711        _DigitCount: ::std::os::raw::c_int,
3712    ) -> errno_t;
3713}
3714unsafe extern "C" {
3715    pub fn _gcvt(
3716        _Value: f64,
3717        _DigitCount: ::std::os::raw::c_int,
3718        _Buffer: *mut ::std::os::raw::c_char,
3719    ) -> *mut ::std::os::raw::c_char;
3720}
3721unsafe extern "C" {
3722    pub fn ___mb_cur_max_func() -> ::std::os::raw::c_int;
3723}
3724unsafe extern "C" {
3725    pub fn ___mb_cur_max_l_func(_Locale: _locale_t) -> ::std::os::raw::c_int;
3726}
3727unsafe extern "C" {
3728    pub fn mblen(_Ch: *const ::std::os::raw::c_char, _MaxCount: usize) -> ::std::os::raw::c_int;
3729}
3730unsafe extern "C" {
3731    pub fn _mblen_l(
3732        _Ch: *const ::std::os::raw::c_char,
3733        _MaxCount: usize,
3734        _Locale: _locale_t,
3735    ) -> ::std::os::raw::c_int;
3736}
3737unsafe extern "C" {
3738    pub fn _mbstrlen(_String: *const ::std::os::raw::c_char) -> usize;
3739}
3740unsafe extern "C" {
3741    pub fn _mbstrlen_l(_String: *const ::std::os::raw::c_char, _Locale: _locale_t) -> usize;
3742}
3743unsafe extern "C" {
3744    pub fn _mbstrnlen(_String: *const ::std::os::raw::c_char, _MaxCount: usize) -> usize;
3745}
3746unsafe extern "C" {
3747    pub fn _mbstrnlen_l(
3748        _String: *const ::std::os::raw::c_char,
3749        _MaxCount: usize,
3750        _Locale: _locale_t,
3751    ) -> usize;
3752}
3753unsafe extern "C" {
3754    pub fn mbtowc(
3755        _DstCh: *mut wchar_t,
3756        _SrcCh: *const ::std::os::raw::c_char,
3757        _SrcSizeInBytes: usize,
3758    ) -> ::std::os::raw::c_int;
3759}
3760unsafe extern "C" {
3761    pub fn _mbtowc_l(
3762        _DstCh: *mut wchar_t,
3763        _SrcCh: *const ::std::os::raw::c_char,
3764        _SrcSizeInBytes: usize,
3765        _Locale: _locale_t,
3766    ) -> ::std::os::raw::c_int;
3767}
3768unsafe extern "C" {
3769    pub fn mbstowcs_s(
3770        _PtNumOfCharConverted: *mut usize,
3771        _DstBuf: *mut wchar_t,
3772        _SizeInWords: usize,
3773        _SrcBuf: *const ::std::os::raw::c_char,
3774        _MaxCount: usize,
3775    ) -> errno_t;
3776}
3777unsafe extern "C" {
3778    pub fn mbstowcs(
3779        _Dest: *mut wchar_t,
3780        _Source: *const ::std::os::raw::c_char,
3781        _MaxCount: usize,
3782    ) -> usize;
3783}
3784unsafe extern "C" {
3785    pub fn _mbstowcs_s_l(
3786        _PtNumOfCharConverted: *mut usize,
3787        _DstBuf: *mut wchar_t,
3788        _SizeInWords: usize,
3789        _SrcBuf: *const ::std::os::raw::c_char,
3790        _MaxCount: usize,
3791        _Locale: _locale_t,
3792    ) -> errno_t;
3793}
3794unsafe extern "C" {
3795    pub fn _mbstowcs_l(
3796        _Dest: *mut wchar_t,
3797        _Source: *const ::std::os::raw::c_char,
3798        _MaxCount: usize,
3799        _Locale: _locale_t,
3800    ) -> usize;
3801}
3802unsafe extern "C" {
3803    pub fn wctomb(_MbCh: *mut ::std::os::raw::c_char, _WCh: wchar_t) -> ::std::os::raw::c_int;
3804}
3805unsafe extern "C" {
3806    pub fn _wctomb_l(
3807        _MbCh: *mut ::std::os::raw::c_char,
3808        _WCh: wchar_t,
3809        _Locale: _locale_t,
3810    ) -> ::std::os::raw::c_int;
3811}
3812unsafe extern "C" {
3813    pub fn wctomb_s(
3814        _SizeConverted: *mut ::std::os::raw::c_int,
3815        _MbCh: *mut ::std::os::raw::c_char,
3816        _SizeInBytes: rsize_t,
3817        _WCh: wchar_t,
3818    ) -> errno_t;
3819}
3820unsafe extern "C" {
3821    pub fn _wctomb_s_l(
3822        _SizeConverted: *mut ::std::os::raw::c_int,
3823        _MbCh: *mut ::std::os::raw::c_char,
3824        _SizeInBytes: usize,
3825        _WCh: wchar_t,
3826        _Locale: _locale_t,
3827    ) -> errno_t;
3828}
3829unsafe extern "C" {
3830    pub fn wcstombs_s(
3831        _PtNumOfCharConverted: *mut usize,
3832        _Dst: *mut ::std::os::raw::c_char,
3833        _DstSizeInBytes: usize,
3834        _Src: *const wchar_t,
3835        _MaxCountInBytes: usize,
3836    ) -> errno_t;
3837}
3838unsafe extern "C" {
3839    pub fn wcstombs(
3840        _Dest: *mut ::std::os::raw::c_char,
3841        _Source: *const wchar_t,
3842        _MaxCount: usize,
3843    ) -> usize;
3844}
3845unsafe extern "C" {
3846    pub fn _wcstombs_s_l(
3847        _PtNumOfCharConverted: *mut usize,
3848        _Dst: *mut ::std::os::raw::c_char,
3849        _DstSizeInBytes: usize,
3850        _Src: *const wchar_t,
3851        _MaxCountInBytes: usize,
3852        _Locale: _locale_t,
3853    ) -> errno_t;
3854}
3855unsafe extern "C" {
3856    pub fn _wcstombs_l(
3857        _Dest: *mut ::std::os::raw::c_char,
3858        _Source: *const wchar_t,
3859        _MaxCount: usize,
3860        _Locale: _locale_t,
3861    ) -> usize;
3862}
3863unsafe extern "C" {
3864    pub fn _fullpath(
3865        _Buffer: *mut ::std::os::raw::c_char,
3866        _Path: *const ::std::os::raw::c_char,
3867        _BufferCount: usize,
3868    ) -> *mut ::std::os::raw::c_char;
3869}
3870unsafe extern "C" {
3871    pub fn _makepath_s(
3872        _Buffer: *mut ::std::os::raw::c_char,
3873        _BufferCount: usize,
3874        _Drive: *const ::std::os::raw::c_char,
3875        _Dir: *const ::std::os::raw::c_char,
3876        _Filename: *const ::std::os::raw::c_char,
3877        _Ext: *const ::std::os::raw::c_char,
3878    ) -> errno_t;
3879}
3880unsafe extern "C" {
3881    pub fn _makepath(
3882        _Buffer: *mut ::std::os::raw::c_char,
3883        _Drive: *const ::std::os::raw::c_char,
3884        _Dir: *const ::std::os::raw::c_char,
3885        _Filename: *const ::std::os::raw::c_char,
3886        _Ext: *const ::std::os::raw::c_char,
3887    );
3888}
3889unsafe extern "C" {
3890    pub fn _splitpath(
3891        _FullPath: *const ::std::os::raw::c_char,
3892        _Drive: *mut ::std::os::raw::c_char,
3893        _Dir: *mut ::std::os::raw::c_char,
3894        _Filename: *mut ::std::os::raw::c_char,
3895        _Ext: *mut ::std::os::raw::c_char,
3896    );
3897}
3898unsafe extern "C" {
3899    pub fn _splitpath_s(
3900        _FullPath: *const ::std::os::raw::c_char,
3901        _Drive: *mut ::std::os::raw::c_char,
3902        _DriveCount: usize,
3903        _Dir: *mut ::std::os::raw::c_char,
3904        _DirCount: usize,
3905        _Filename: *mut ::std::os::raw::c_char,
3906        _FilenameCount: usize,
3907        _Ext: *mut ::std::os::raw::c_char,
3908        _ExtCount: usize,
3909    ) -> errno_t;
3910}
3911unsafe extern "C" {
3912    pub fn getenv_s(
3913        _RequiredCount: *mut usize,
3914        _Buffer: *mut ::std::os::raw::c_char,
3915        _BufferCount: rsize_t,
3916        _VarName: *const ::std::os::raw::c_char,
3917    ) -> errno_t;
3918}
3919unsafe extern "C" {
3920    pub fn __p___argc() -> *mut ::std::os::raw::c_int;
3921}
3922unsafe extern "C" {
3923    pub fn __p___argv() -> *mut *mut *mut ::std::os::raw::c_char;
3924}
3925unsafe extern "C" {
3926    pub fn __p___wargv() -> *mut *mut *mut wchar_t;
3927}
3928unsafe extern "C" {
3929    pub fn __p__environ() -> *mut *mut *mut ::std::os::raw::c_char;
3930}
3931unsafe extern "C" {
3932    pub fn __p__wenviron() -> *mut *mut *mut wchar_t;
3933}
3934unsafe extern "C" {
3935    pub fn getenv(_VarName: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
3936}
3937unsafe extern "C" {
3938    pub fn _dupenv_s(
3939        _Buffer: *mut *mut ::std::os::raw::c_char,
3940        _BufferCount: *mut usize,
3941        _VarName: *const ::std::os::raw::c_char,
3942    ) -> errno_t;
3943}
3944unsafe extern "C" {
3945    pub fn system(_Command: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
3946}
3947unsafe extern "C" {
3948    pub fn _putenv(_EnvString: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
3949}
3950unsafe extern "C" {
3951    pub fn _putenv_s(
3952        _Name: *const ::std::os::raw::c_char,
3953        _Value: *const ::std::os::raw::c_char,
3954    ) -> errno_t;
3955}
3956unsafe extern "C" {
3957    pub fn _searchenv_s(
3958        _Filename: *const ::std::os::raw::c_char,
3959        _VarName: *const ::std::os::raw::c_char,
3960        _Buffer: *mut ::std::os::raw::c_char,
3961        _BufferCount: usize,
3962    ) -> errno_t;
3963}
3964unsafe extern "C" {
3965    pub fn _searchenv(
3966        _Filename: *const ::std::os::raw::c_char,
3967        _VarName: *const ::std::os::raw::c_char,
3968        _Buffer: *mut ::std::os::raw::c_char,
3969    );
3970}
3971unsafe extern "C" {
3972    pub fn _seterrormode(_Mode: ::std::os::raw::c_int);
3973}
3974unsafe extern "C" {
3975    pub fn _beep(_Frequency: ::std::os::raw::c_uint, _Duration: ::std::os::raw::c_uint);
3976}
3977unsafe extern "C" {
3978    pub fn _sleep(_Duration: ::std::os::raw::c_ulong);
3979}
3980unsafe extern "C" {
3981    pub fn ecvt(
3982        _Value: f64,
3983        _DigitCount: ::std::os::raw::c_int,
3984        _PtDec: *mut ::std::os::raw::c_int,
3985        _PtSign: *mut ::std::os::raw::c_int,
3986    ) -> *mut ::std::os::raw::c_char;
3987}
3988unsafe extern "C" {
3989    pub fn fcvt(
3990        _Value: f64,
3991        _FractionalDigitCount: ::std::os::raw::c_int,
3992        _PtDec: *mut ::std::os::raw::c_int,
3993        _PtSign: *mut ::std::os::raw::c_int,
3994    ) -> *mut ::std::os::raw::c_char;
3995}
3996unsafe extern "C" {
3997    pub fn gcvt(
3998        _Value: f64,
3999        _DigitCount: ::std::os::raw::c_int,
4000        _DstBuf: *mut ::std::os::raw::c_char,
4001    ) -> *mut ::std::os::raw::c_char;
4002}
4003unsafe extern "C" {
4004    pub fn itoa(
4005        _Value: ::std::os::raw::c_int,
4006        _Buffer: *mut ::std::os::raw::c_char,
4007        _Radix: ::std::os::raw::c_int,
4008    ) -> *mut ::std::os::raw::c_char;
4009}
4010unsafe extern "C" {
4011    pub fn ltoa(
4012        _Value: ::std::os::raw::c_long,
4013        _Buffer: *mut ::std::os::raw::c_char,
4014        _Radix: ::std::os::raw::c_int,
4015    ) -> *mut ::std::os::raw::c_char;
4016}
4017unsafe extern "C" {
4018    pub fn swab(
4019        _Buf1: *mut ::std::os::raw::c_char,
4020        _Buf2: *mut ::std::os::raw::c_char,
4021        _SizeInBytes: ::std::os::raw::c_int,
4022    );
4023}
4024unsafe extern "C" {
4025    pub fn ultoa(
4026        _Value: ::std::os::raw::c_ulong,
4027        _Buffer: *mut ::std::os::raw::c_char,
4028        _Radix: ::std::os::raw::c_int,
4029    ) -> *mut ::std::os::raw::c_char;
4030}
4031unsafe extern "C" {
4032    pub fn putenv(_EnvString: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
4033}
4034unsafe extern "C" {
4035    pub fn onexit(_Func: _onexit_t) -> _onexit_t;
4036}
4037unsafe extern "C" {
4038    pub fn _clearfp() -> ::std::os::raw::c_uint;
4039}
4040unsafe extern "C" {
4041    pub fn _controlfp(
4042        _NewValue: ::std::os::raw::c_uint,
4043        _Mask: ::std::os::raw::c_uint,
4044    ) -> ::std::os::raw::c_uint;
4045}
4046unsafe extern "C" {
4047    pub fn _set_controlfp(_NewValue: ::std::os::raw::c_uint, _Mask: ::std::os::raw::c_uint);
4048}
4049unsafe extern "C" {
4050    pub fn _controlfp_s(
4051        _CurrentState: *mut ::std::os::raw::c_uint,
4052        _NewValue: ::std::os::raw::c_uint,
4053        _Mask: ::std::os::raw::c_uint,
4054    ) -> errno_t;
4055}
4056unsafe extern "C" {
4057    pub fn _statusfp() -> ::std::os::raw::c_uint;
4058}
4059unsafe extern "C" {
4060    pub fn _fpreset();
4061}
4062unsafe extern "C" {
4063    pub fn _control87(
4064        _NewValue: ::std::os::raw::c_uint,
4065        _Mask: ::std::os::raw::c_uint,
4066    ) -> ::std::os::raw::c_uint;
4067}
4068unsafe extern "C" {
4069    pub fn __fpecode() -> *mut ::std::os::raw::c_int;
4070}
4071unsafe extern "C" {
4072    pub fn __fpe_flt_rounds() -> ::std::os::raw::c_int;
4073}
4074unsafe extern "C" {
4075    pub fn _copysign(_Number: f64, _Sign: f64) -> f64;
4076}
4077unsafe extern "C" {
4078    pub fn _chgsign(_X: f64) -> f64;
4079}
4080unsafe extern "C" {
4081    pub fn _scalb(_X: f64, _Y: ::std::os::raw::c_long) -> f64;
4082}
4083unsafe extern "C" {
4084    pub fn _logb(_X: f64) -> f64;
4085}
4086unsafe extern "C" {
4087    pub fn _nextafter(_X: f64, _Y: f64) -> f64;
4088}
4089unsafe extern "C" {
4090    pub fn _finite(_X: f64) -> ::std::os::raw::c_int;
4091}
4092unsafe extern "C" {
4093    pub fn _isnan(_X: f64) -> ::std::os::raw::c_int;
4094}
4095unsafe extern "C" {
4096    pub fn _fpclass(_X: f64) -> ::std::os::raw::c_int;
4097}
4098unsafe extern "C" {
4099    pub fn _scalbf(_X: f32, _Y: ::std::os::raw::c_long) -> f32;
4100}
4101unsafe extern "C" {
4102    pub fn fpreset();
4103}
4104pub type int_least8_t = ::std::os::raw::c_schar;
4105pub type int_least16_t = ::std::os::raw::c_short;
4106pub type int_least32_t = ::std::os::raw::c_int;
4107pub type int_least64_t = ::std::os::raw::c_longlong;
4108pub type uint_least8_t = ::std::os::raw::c_uchar;
4109pub type uint_least16_t = ::std::os::raw::c_ushort;
4110pub type uint_least32_t = ::std::os::raw::c_uint;
4111pub type uint_least64_t = ::std::os::raw::c_ulonglong;
4112pub type int_fast8_t = ::std::os::raw::c_schar;
4113pub type int_fast16_t = ::std::os::raw::c_int;
4114pub type int_fast32_t = ::std::os::raw::c_int;
4115pub type int_fast64_t = ::std::os::raw::c_longlong;
4116pub type uint_fast8_t = ::std::os::raw::c_uchar;
4117pub type uint_fast16_t = ::std::os::raw::c_uint;
4118pub type uint_fast32_t = ::std::os::raw::c_uint;
4119pub type uint_fast64_t = ::std::os::raw::c_ulonglong;
4120pub type intmax_t = ::std::os::raw::c_longlong;
4121pub type uintmax_t = ::std::os::raw::c_ulonglong;
4122pub type HBOOL = bool;
4123pub type HBYTE = u8;
4124pub type HINT = ::std::os::raw::c_int;
4125pub type HUINT = ::std::os::raw::c_uint;
4126pub type DOUBLE8 = f64;
4127pub type INT1 = i8;
4128pub type UINT1 = u8;
4129pub type INT2 = i16;
4130pub type UINT2 = u16;
4131pub type INT4 = i32;
4132pub type UINT4 = u32;
4133pub type HINT4_8 = ::std::os::raw::c_longlong;
4134pub type INT4_8 = ::std::os::raw::c_longlong;
4135pub type UINT4_8 = ::std::os::raw::c_ulonglong;
4136pub type Hlong = INT4_8;
4137pub type Hulong = UINT4_8;
4138pub type HINT8 = i64;
4139pub type HUINT8 = u64;
4140pub type MACHINE_WORD = isize;
4141pub type VOIDP = *mut ::std::os::raw::c_void;
4142pub type Herror = u32;
4143pub type Hkey = *mut ::std::os::raw::c_long;
4144pub type Hproc_handle = *mut ::std::os::raw::c_void;
4145#[repr(C)]
4146#[derive(Debug, Copy, Clone)]
4147pub struct HStreamBufferT {
4148    _unused: [u8; 0],
4149}
4150#[repr(C)]
4151#[derive(Debug, Copy, Clone)]
4152pub struct HhandleListT {
4153    _unused: [u8; 0],
4154}
4155#[doc = "< No signal"]
4156pub const HSignalTypeEnum_eSignalNone: HSignalTypeEnum = 0;
4157#[doc = "< Initiate abort: stop running, abort mutexes etc."]
4158pub const HSignalTypeEnum_eSignalStartAbort: HSignalTypeEnum = 1;
4159#[doc = "< Finalize abort, wait for resources to finish"]
4160pub const HSignalTypeEnum_eSignalAbort: HSignalTypeEnum = 2;
4161#[doc = "< After abortion is complete, restore mutexes etc."]
4162pub const HSignalTypeEnum_eSignalRestore: HSignalTypeEnum = 3;
4163#[doc = "/\n/** HSignalTypeEnum: List of signals that can be sent to handles\n\n This enum defines a set of signals that can be sent to the\n signalling callback of handles.  Note that the callback functions must\n ignore any signal that they do not understand."]
4164pub type HSignalTypeEnum = ::std::os::raw::c_int;
4165pub type HHandleSerializeFunc = ::std::option::Option<
4166    unsafe extern "C" fn(
4167        arg1: Hproc_handle,
4168        arg2: *mut HStreamBufferT,
4169        arg3: *mut ::std::os::raw::c_void,
4170    ) -> Herror,
4171>;
4172pub type HHandleDeserializeFunc = ::std::option::Option<
4173    unsafe extern "C" fn(
4174        arg1: Hproc_handle,
4175        arg2: *mut HStreamBufferT,
4176        arg3: *mut *mut ::std::os::raw::c_void,
4177    ) -> Herror,
4178>;
4179pub type HHandleDestructorFunc = ::std::option::Option<
4180    unsafe extern "C" fn(arg1: Hproc_handle, arg2: *mut ::std::os::raw::c_void) -> Herror,
4181>;
4182pub type HHandleSignalFunc = ::std::option::Option<
4183    unsafe extern "C" fn(signal: HSignalTypeEnum, arg1: *mut ::std::os::raw::c_void) -> Herror,
4184>;
4185#[doc = "/\n/** HHandleInfo holds handle type information.\n\n This structure exists once per handle type (usually per sem_type).\n It contains basic, static, constant information about that type.\n Most notably, it contains pointers to the functions that operate on the\n handles (clear, serialize, deserialize and signal).\n\n Handles (instances) of types where the cb_signal callback is not NULL are\n stored in a list that allows calling the signal callback for each of them.\n\n All serialized items must have a unique header, usually a string, that\n identifies them. 'header' contains a pointer to that header, allowing\n other functions to identify a serialized item based on its header.\n If no (de)serialization function is set, header must be NULL.\n\n \\ingroup data_structures_handles"]
4186#[repr(C)]
4187#[derive(Debug, Copy, Clone)]
4188pub struct H_HANDLE_TYPE {
4189    #[doc = "< Type ID"]
4190    pub type_id: INT4_8,
4191    #[doc = "< sem_type of the handle"]
4192    pub sem_type: *const ::std::os::raw::c_char,
4193    #[doc = "< Serialize this handle type"]
4194    pub cb_serialize: HHandleSerializeFunc,
4195    #[doc = "< Deserialize this handle type"]
4196    pub cb_deserialize: HHandleDeserializeFunc,
4197    #[doc = "< Serialization header"]
4198    pub header: *const ::std::os::raw::c_char,
4199    #[doc = "< Clear this handle type"]
4200    pub cb_clear: HHandleDestructorFunc,
4201    #[doc = "< Signal (for semaphores etc.)"]
4202    pub cb_signal: HHandleSignalFunc,
4203    #[doc = "< List of handles, or NULL"]
4204    pub list: *mut HhandleListT,
4205}
4206#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4207const _: () = {
4208    ["Size of H_HANDLE_TYPE"][::std::mem::size_of::<H_HANDLE_TYPE>() - 64usize];
4209    ["Alignment of H_HANDLE_TYPE"][::std::mem::align_of::<H_HANDLE_TYPE>() - 8usize];
4210    ["Offset of field: H_HANDLE_TYPE::type_id"]
4211        [::std::mem::offset_of!(H_HANDLE_TYPE, type_id) - 0usize];
4212    ["Offset of field: H_HANDLE_TYPE::sem_type"]
4213        [::std::mem::offset_of!(H_HANDLE_TYPE, sem_type) - 8usize];
4214    ["Offset of field: H_HANDLE_TYPE::cb_serialize"]
4215        [::std::mem::offset_of!(H_HANDLE_TYPE, cb_serialize) - 16usize];
4216    ["Offset of field: H_HANDLE_TYPE::cb_deserialize"]
4217        [::std::mem::offset_of!(H_HANDLE_TYPE, cb_deserialize) - 24usize];
4218    ["Offset of field: H_HANDLE_TYPE::header"]
4219        [::std::mem::offset_of!(H_HANDLE_TYPE, header) - 32usize];
4220    ["Offset of field: H_HANDLE_TYPE::cb_clear"]
4221        [::std::mem::offset_of!(H_HANDLE_TYPE, cb_clear) - 40usize];
4222    ["Offset of field: H_HANDLE_TYPE::cb_signal"]
4223        [::std::mem::offset_of!(H_HANDLE_TYPE, cb_signal) - 48usize];
4224    ["Offset of field: H_HANDLE_TYPE::list"][::std::mem::offset_of!(H_HANDLE_TYPE, list) - 56usize];
4225};
4226#[doc = "/\n/** HHandleInfo holds handle type information.\n\n This structure exists once per handle type (usually per sem_type).\n It contains basic, static, constant information about that type.\n Most notably, it contains pointers to the functions that operate on the\n handles (clear, serialize, deserialize and signal).\n\n Handles (instances) of types where the cb_signal callback is not NULL are\n stored in a list that allows calling the signal callback for each of them.\n\n All serialized items must have a unique header, usually a string, that\n identifies them. 'header' contains a pointer to that header, allowing\n other functions to identify a serialized item based on its header.\n If no (de)serialization function is set, header must be NULL.\n\n \\ingroup data_structures_handles"]
4227pub type HHandleInfo = H_HANDLE_TYPE;
4228#[repr(C)]
4229#[derive(Debug, Copy, Clone)]
4230pub struct HhandleT {
4231    _unused: [u8; 0],
4232}
4233pub type Hphandle = *mut HhandleT;
4234#[repr(C)]
4235#[derive(Copy, Clone)]
4236pub union Hpar {
4237    pub l: INT4_8,
4238    pub d: f64,
4239    pub s: *mut ::std::os::raw::c_char,
4240    pub h: Hphandle,
4241}
4242#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4243const _: () = {
4244    ["Size of Hpar"][::std::mem::size_of::<Hpar>() - 8usize];
4245    ["Alignment of Hpar"][::std::mem::align_of::<Hpar>() - 8usize];
4246    ["Offset of field: Hpar::l"][::std::mem::offset_of!(Hpar, l) - 0usize];
4247    ["Offset of field: Hpar::d"][::std::mem::offset_of!(Hpar, d) - 0usize];
4248    ["Offset of field: Hpar::s"][::std::mem::offset_of!(Hpar, s) - 0usize];
4249    ["Offset of field: Hpar::h"][::std::mem::offset_of!(Hpar, h) - 0usize];
4250};
4251#[repr(C)]
4252#[derive(Copy, Clone)]
4253pub struct Hcpar {
4254    pub par: Hpar,
4255    pub type_: ::std::os::raw::c_int,
4256}
4257#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4258const _: () = {
4259    ["Size of Hcpar"][::std::mem::size_of::<Hcpar>() - 16usize];
4260    ["Alignment of Hcpar"][::std::mem::align_of::<Hcpar>() - 8usize];
4261    ["Offset of field: Hcpar::par"][::std::mem::offset_of!(Hcpar, par) - 0usize];
4262    ["Offset of field: Hcpar::type_"][::std::mem::offset_of!(Hcpar, type_) - 8usize];
4263};
4264#[repr(C)]
4265#[derive(Copy, Clone)]
4266pub union Hcelem {
4267    pub l: *mut INT4_8,
4268    pub d: *mut f64,
4269    pub s: *mut *mut ::std::os::raw::c_char,
4270    pub cpar: *mut Hcpar,
4271    pub h: *mut Hphandle,
4272}
4273#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4274const _: () = {
4275    ["Size of Hcelem"][::std::mem::size_of::<Hcelem>() - 8usize];
4276    ["Alignment of Hcelem"][::std::mem::align_of::<Hcelem>() - 8usize];
4277    ["Offset of field: Hcelem::l"][::std::mem::offset_of!(Hcelem, l) - 0usize];
4278    ["Offset of field: Hcelem::d"][::std::mem::offset_of!(Hcelem, d) - 0usize];
4279    ["Offset of field: Hcelem::s"][::std::mem::offset_of!(Hcelem, s) - 0usize];
4280    ["Offset of field: Hcelem::cpar"][::std::mem::offset_of!(Hcelem, cpar) - 0usize];
4281    ["Offset of field: Hcelem::h"][::std::mem::offset_of!(Hcelem, h) - 0usize];
4282};
4283#[repr(C)]
4284#[derive(Copy, Clone)]
4285pub struct Hctuple {
4286    pub val: Hcpar,
4287    pub num: INT4_8,
4288    pub capacity: INT4_8,
4289    pub flags: ::std::os::raw::c_int,
4290    pub elem: Hcelem,
4291}
4292#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4293const _: () = {
4294    ["Size of Hctuple"][::std::mem::size_of::<Hctuple>() - 48usize];
4295    ["Alignment of Hctuple"][::std::mem::align_of::<Hctuple>() - 8usize];
4296    ["Offset of field: Hctuple::val"][::std::mem::offset_of!(Hctuple, val) - 0usize];
4297    ["Offset of field: Hctuple::num"][::std::mem::offset_of!(Hctuple, num) - 16usize];
4298    ["Offset of field: Hctuple::capacity"][::std::mem::offset_of!(Hctuple, capacity) - 24usize];
4299    ["Offset of field: Hctuple::flags"][::std::mem::offset_of!(Hctuple, flags) - 32usize];
4300    ["Offset of field: Hctuple::elem"][::std::mem::offset_of!(Hctuple, elem) - 40usize];
4301};
4302pub type H_pthread_t = *mut ::std::os::raw::c_void;
4303pub type H_pthread_mutex_t = *mut ::std::os::raw::c_void;
4304pub type H_pthread_cond_t = *mut ::std::os::raw::c_void;
4305pub type H_pthread_barrier_t = *mut ::std::os::raw::c_void;
4306pub type HDrawObjectCallback = ::std::option::Option<
4307    unsafe extern "C" fn(
4308        DrawHandle: Hphandle,
4309        WindowHandle: Hphandle,
4310        type_: *mut ::std::os::raw::c_char,
4311    ) -> Herror,
4312>;
4313pub type HUpdateContentCallback =
4314    ::std::option::Option<unsafe extern "C" fn(context: *mut ::std::os::raw::c_void) -> Herror>;
4315pub type HLicenseRecheckFailedCallback = ::std::option::Option<
4316    unsafe extern "C" fn(context: *mut ::std::os::raw::c_void, error: Herror),
4317>;
4318unsafe extern "C" {
4319    pub static mut HDoLowError: ::std::os::raw::c_int;
4320}
4321unsafe extern "C" {
4322    pub static mut HLowErrorAction: [i32; 4usize];
4323}
4324unsafe extern "C" {
4325    pub static mut HDoMessageBoxOnError: i32;
4326}
4327unsafe extern "C" {
4328    pub static mut HDoLicenseError: ::std::os::raw::c_int;
4329}
4330unsafe extern "C" {
4331    pub static mut HUseSpinLock: ::std::os::raw::c_int;
4332}
4333unsafe extern "C" {
4334    pub static mut HStartUpThreadPool: ::std::os::raw::c_int;
4335}
4336unsafe extern "C" {
4337    pub static mut HShutdownThreadPool: ::std::os::raw::c_int;
4338}
4339unsafe extern "C" {
4340    pub static mut HShuttingDown: ::std::os::raw::c_int;
4341}
4342unsafe extern "C" {
4343    pub fn HSetDoMessageBoxOnError(value: i32);
4344}
4345unsafe extern "C" {
4346    pub fn HSetDoLicenseError(value: ::std::os::raw::c_int);
4347}
4348unsafe extern "C" {
4349    pub fn HSetUseSpinLock(value: ::std::os::raw::c_int);
4350}
4351unsafe extern "C" {
4352    pub fn HSetStartUpThreadPool(value: ::std::os::raw::c_int);
4353}
4354unsafe extern "C" {
4355    pub fn HSetShutdownThreadPool(value: ::std::os::raw::c_int);
4356}
4357unsafe extern "C" {
4358    pub fn HGetDoMessageBoxOnError() -> i32;
4359}
4360unsafe extern "C" {
4361    pub fn HGetDoLicenseError() -> ::std::os::raw::c_int;
4362}
4363unsafe extern "C" {
4364    pub fn HGetUseSpinLock() -> ::std::os::raw::c_int;
4365}
4366unsafe extern "C" {
4367    pub fn HGetStartUpThreadPool() -> ::std::os::raw::c_int;
4368}
4369unsafe extern "C" {
4370    pub fn HGetShutdownThreadPool() -> ::std::os::raw::c_int;
4371}
4372unsafe extern "C" {
4373    pub fn HGetShuttingDown() -> ::std::os::raw::c_int;
4374}
4375pub const eHMemoryAllocatorType_eHMemoryAllocatorTypeInvalid: eHMemoryAllocatorType = -1;
4376pub const eHMemoryAllocatorType_eHMemoryAllocatorTypeSystem: eHMemoryAllocatorType = 0;
4377pub const eHMemoryAllocatorType_eHMemoryAllocatorTypeMiMalloc: eHMemoryAllocatorType = 1;
4378pub type eHMemoryAllocatorType = ::std::os::raw::c_int;
4379unsafe extern "C" {
4380    pub fn HGetMemoryAllocatorType() -> eHMemoryAllocatorType;
4381}
4382unsafe extern "C" {
4383    pub fn HSetMemoryAllocatorType(allocator: eHMemoryAllocatorType) -> Herror;
4384}
4385unsafe extern "C" {
4386    pub fn HSetHDevelopInt(AccessByHDevelop: ::std::os::raw::c_int);
4387}
4388unsafe extern "C" {
4389    pub fn HGetHDevelopInt() -> ::std::os::raw::c_int;
4390}
4391unsafe extern "C" {
4392    pub fn HSetLicenseRecheckFailedCallback(
4393        callback: HLicenseRecheckFailedCallback,
4394        context: *mut ::std::os::raw::c_void,
4395    );
4396}
4397unsafe extern "C" {
4398    pub fn FinalizeHALCONLibrary() -> ::std::os::raw::c_int;
4399}
4400pub type HProgressBarCallback = ::std::option::Option<
4401    unsafe extern "C" fn(
4402        id: Hlong,
4403        operator_name: *const ::std::os::raw::c_char,
4404        progress: f64,
4405        message: *const ::std::os::raw::c_char,
4406    ),
4407>;
4408unsafe extern "C" {
4409    pub fn HVerifyXMLFile(
4410        path: *const ::std::os::raw::c_char,
4411        pk: *const ::std::os::raw::c_void,
4412    ) -> Herror;
4413}
4414pub type HIMGDIM = i32;
4415pub type HIMGCOOR = i16;
4416pub type HLINCOOR = i32;
4417pub type HIMGCNT = i32;
4418pub type HITEMCNT = i32;
4419pub type HSUBCOOR = f32;
4420pub type HSUBATTR = f32;
4421pub type HImageAllocProc =
4422    ::std::option::Option<unsafe extern "C" fn(size: usize) -> *mut ::std::os::raw::c_void>;
4423pub type HImageFreeProc =
4424    ::std::option::Option<unsafe extern "C" fn(mem: *mut ::std::os::raw::c_void)>;
4425#[repr(C)]
4426#[derive(Debug, Copy, Clone)]
4427pub struct HComplexPixel {
4428    pub re: f32,
4429    pub im: f32,
4430}
4431#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4432const _: () = {
4433    ["Size of HComplexPixel"][::std::mem::size_of::<HComplexPixel>() - 8usize];
4434    ["Alignment of HComplexPixel"][::std::mem::align_of::<HComplexPixel>() - 4usize];
4435    ["Offset of field: HComplexPixel::re"][::std::mem::offset_of!(HComplexPixel, re) - 0usize];
4436    ["Offset of field: HComplexPixel::im"][::std::mem::offset_of!(HComplexPixel, im) - 4usize];
4437};
4438#[repr(C)]
4439#[derive(Debug, Copy, Clone)]
4440pub struct HInt2Pixel {
4441    pub p: *mut i16,
4442    pub num_bits: i8,
4443}
4444#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4445const _: () = {
4446    ["Size of HInt2Pixel"][::std::mem::size_of::<HInt2Pixel>() - 16usize];
4447    ["Alignment of HInt2Pixel"][::std::mem::align_of::<HInt2Pixel>() - 8usize];
4448    ["Offset of field: HInt2Pixel::p"][::std::mem::offset_of!(HInt2Pixel, p) - 0usize];
4449    ["Offset of field: HInt2Pixel::num_bits"]
4450        [::std::mem::offset_of!(HInt2Pixel, num_bits) - 8usize];
4451};
4452#[repr(C)]
4453#[derive(Debug, Copy, Clone)]
4454pub struct HUInt2Pixel {
4455    pub p: *mut u16,
4456    pub num_bits: i8,
4457}
4458#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4459const _: () = {
4460    ["Size of HUInt2Pixel"][::std::mem::size_of::<HUInt2Pixel>() - 16usize];
4461    ["Alignment of HUInt2Pixel"][::std::mem::align_of::<HUInt2Pixel>() - 8usize];
4462    ["Offset of field: HUInt2Pixel::p"][::std::mem::offset_of!(HUInt2Pixel, p) - 0usize];
4463    ["Offset of field: HUInt2Pixel::num_bits"]
4464        [::std::mem::offset_of!(HUInt2Pixel, num_bits) - 8usize];
4465};
4466#[repr(C)]
4467#[derive(Debug, Copy, Clone)]
4468pub struct HVFPixel {
4469    pub row: *mut f32,
4470    pub col: *mut f32,
4471    pub kind: i32,
4472}
4473#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4474const _: () = {
4475    ["Size of HVFPixel"][::std::mem::size_of::<HVFPixel>() - 24usize];
4476    ["Alignment of HVFPixel"][::std::mem::align_of::<HVFPixel>() - 8usize];
4477    ["Offset of field: HVFPixel::row"][::std::mem::offset_of!(HVFPixel, row) - 0usize];
4478    ["Offset of field: HVFPixel::col"][::std::mem::offset_of!(HVFPixel, col) - 8usize];
4479    ["Offset of field: HVFPixel::kind"][::std::mem::offset_of!(HVFPixel, kind) - 16usize];
4480};
4481#[repr(C)]
4482#[derive(Copy, Clone)]
4483pub union HPixelImage {
4484    pub b: *mut u8,
4485    pub z: *mut u8,
4486    pub d: *mut u8,
4487    pub i: *mut i8,
4488    pub l: *mut i32,
4489    pub i8_: *mut i64,
4490    pub f: *mut f32,
4491    pub vf: HVFPixel,
4492    pub c: *mut HComplexPixel,
4493    pub s: HInt2Pixel,
4494    pub u: HUInt2Pixel,
4495}
4496#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4497const _: () = {
4498    ["Size of HPixelImage"][::std::mem::size_of::<HPixelImage>() - 24usize];
4499    ["Alignment of HPixelImage"][::std::mem::align_of::<HPixelImage>() - 8usize];
4500    ["Offset of field: HPixelImage::b"][::std::mem::offset_of!(HPixelImage, b) - 0usize];
4501    ["Offset of field: HPixelImage::z"][::std::mem::offset_of!(HPixelImage, z) - 0usize];
4502    ["Offset of field: HPixelImage::d"][::std::mem::offset_of!(HPixelImage, d) - 0usize];
4503    ["Offset of field: HPixelImage::i"][::std::mem::offset_of!(HPixelImage, i) - 0usize];
4504    ["Offset of field: HPixelImage::l"][::std::mem::offset_of!(HPixelImage, l) - 0usize];
4505    ["Offset of field: HPixelImage::i8_"][::std::mem::offset_of!(HPixelImage, i8_) - 0usize];
4506    ["Offset of field: HPixelImage::f"][::std::mem::offset_of!(HPixelImage, f) - 0usize];
4507    ["Offset of field: HPixelImage::vf"][::std::mem::offset_of!(HPixelImage, vf) - 0usize];
4508    ["Offset of field: HPixelImage::c"][::std::mem::offset_of!(HPixelImage, c) - 0usize];
4509    ["Offset of field: HPixelImage::s"][::std::mem::offset_of!(HPixelImage, s) - 0usize];
4510    ["Offset of field: HPixelImage::u"][::std::mem::offset_of!(HPixelImage, u) - 0usize];
4511};
4512#[repr(C)]
4513#[derive(Copy, Clone)]
4514pub struct Himage {
4515    pub kind: ::std::os::raw::c_int,
4516    pub pixel: HPixelImage,
4517    pub width: HIMGDIM,
4518    pub height: HIMGDIM,
4519    pub free_proc: HImageFreeProc,
4520    pub free: bool,
4521    pub msec: u16,
4522    pub sec: u8,
4523    pub min: u8,
4524    pub hour: u8,
4525    pub day: u8,
4526    pub yday: u16,
4527    pub mon: u8,
4528    pub year: u16,
4529}
4530#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4531const _: () = {
4532    ["Size of Himage"][::std::mem::size_of::<Himage>() - 64usize];
4533    ["Alignment of Himage"][::std::mem::align_of::<Himage>() - 8usize];
4534    ["Offset of field: Himage::kind"][::std::mem::offset_of!(Himage, kind) - 0usize];
4535    ["Offset of field: Himage::pixel"][::std::mem::offset_of!(Himage, pixel) - 8usize];
4536    ["Offset of field: Himage::width"][::std::mem::offset_of!(Himage, width) - 32usize];
4537    ["Offset of field: Himage::height"][::std::mem::offset_of!(Himage, height) - 36usize];
4538    ["Offset of field: Himage::free_proc"][::std::mem::offset_of!(Himage, free_proc) - 40usize];
4539    ["Offset of field: Himage::free"][::std::mem::offset_of!(Himage, free) - 48usize];
4540    ["Offset of field: Himage::msec"][::std::mem::offset_of!(Himage, msec) - 50usize];
4541    ["Offset of field: Himage::sec"][::std::mem::offset_of!(Himage, sec) - 52usize];
4542    ["Offset of field: Himage::min"][::std::mem::offset_of!(Himage, min) - 53usize];
4543    ["Offset of field: Himage::hour"][::std::mem::offset_of!(Himage, hour) - 54usize];
4544    ["Offset of field: Himage::day"][::std::mem::offset_of!(Himage, day) - 55usize];
4545    ["Offset of field: Himage::yday"][::std::mem::offset_of!(Himage, yday) - 56usize];
4546    ["Offset of field: Himage::mon"][::std::mem::offset_of!(Himage, mon) - 58usize];
4547    ["Offset of field: Himage::year"][::std::mem::offset_of!(Himage, year) - 60usize];
4548};
4549#[repr(C)]
4550#[derive(Debug, Copy, Clone)]
4551pub struct Himage_exp {
4552    pub width: i32,
4553    pub kind: i32,
4554    pub height: i32,
4555    pub info: [::std::os::raw::c_char; 996usize],
4556}
4557#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4558const _: () = {
4559    ["Size of Himage_exp"][::std::mem::size_of::<Himage_exp>() - 1008usize];
4560    ["Alignment of Himage_exp"][::std::mem::align_of::<Himage_exp>() - 4usize];
4561    ["Offset of field: Himage_exp::width"][::std::mem::offset_of!(Himage_exp, width) - 0usize];
4562    ["Offset of field: Himage_exp::kind"][::std::mem::offset_of!(Himage_exp, kind) - 4usize];
4563    ["Offset of field: Himage_exp::height"][::std::mem::offset_of!(Himage_exp, height) - 8usize];
4564    ["Offset of field: Himage_exp::info"][::std::mem::offset_of!(Himage_exp, info) - 12usize];
4565};
4566#[repr(C)]
4567#[derive(Debug, Copy, Clone)]
4568pub struct Himage_hobj_file_header {
4569    pub version_number: i32,
4570    pub num_images: i32,
4571    pub is_msb_first: bool,
4572}
4573#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4574const _: () = {
4575    ["Size of Himage_hobj_file_header"][::std::mem::size_of::<Himage_hobj_file_header>() - 12usize];
4576    ["Alignment of Himage_hobj_file_header"]
4577        [::std::mem::align_of::<Himage_hobj_file_header>() - 4usize];
4578    ["Offset of field: Himage_hobj_file_header::version_number"]
4579        [::std::mem::offset_of!(Himage_hobj_file_header, version_number) - 0usize];
4580    ["Offset of field: Himage_hobj_file_header::num_images"]
4581        [::std::mem::offset_of!(Himage_hobj_file_header, num_images) - 4usize];
4582    ["Offset of field: Himage_hobj_file_header::is_msb_first"]
4583        [::std::mem::offset_of!(Himage_hobj_file_header, is_msb_first) - 8usize];
4584};
4585#[repr(C)]
4586#[derive(Debug, Copy, Clone)]
4587pub struct Himage_hobj_image_header {
4588    pub width: i32,
4589    pub height: i32,
4590    pub num_channels: i32,
4591}
4592#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4593const _: () = {
4594    ["Size of Himage_hobj_image_header"]
4595        [::std::mem::size_of::<Himage_hobj_image_header>() - 12usize];
4596    ["Alignment of Himage_hobj_image_header"]
4597        [::std::mem::align_of::<Himage_hobj_image_header>() - 4usize];
4598    ["Offset of field: Himage_hobj_image_header::width"]
4599        [::std::mem::offset_of!(Himage_hobj_image_header, width) - 0usize];
4600    ["Offset of field: Himage_hobj_image_header::height"]
4601        [::std::mem::offset_of!(Himage_hobj_image_header, height) - 4usize];
4602    ["Offset of field: Himage_hobj_image_header::num_channels"]
4603        [::std::mem::offset_of!(Himage_hobj_image_header, num_channels) - 8usize];
4604};
4605pub type Hbits = *mut u8;
4606#[repr(C)]
4607#[derive(Debug, Copy, Clone)]
4608pub struct Hrun {
4609    pub l: HIMGCOOR,
4610    pub cb: HIMGCOOR,
4611    pub ce: HIMGCOOR,
4612}
4613#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4614const _: () = {
4615    ["Size of Hrun"][::std::mem::size_of::<Hrun>() - 6usize];
4616    ["Alignment of Hrun"][::std::mem::align_of::<Hrun>() - 2usize];
4617    ["Offset of field: Hrun::l"][::std::mem::offset_of!(Hrun, l) - 0usize];
4618    ["Offset of field: Hrun::cb"][::std::mem::offset_of!(Hrun, cb) - 2usize];
4619    ["Offset of field: Hrun::ce"][::std::mem::offset_of!(Hrun, ce) - 4usize];
4620};
4621#[repr(C)]
4622#[derive(Debug, Copy, Clone)]
4623pub struct Hvrun {
4624    pub c: HIMGCOOR,
4625    pub lb: HIMGCOOR,
4626    pub le: HIMGCOOR,
4627}
4628#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4629const _: () = {
4630    ["Size of Hvrun"][::std::mem::size_of::<Hvrun>() - 6usize];
4631    ["Alignment of Hvrun"][::std::mem::align_of::<Hvrun>() - 2usize];
4632    ["Offset of field: Hvrun::c"][::std::mem::offset_of!(Hvrun, c) - 0usize];
4633    ["Offset of field: Hvrun::lb"][::std::mem::offset_of!(Hvrun, lb) - 2usize];
4634    ["Offset of field: Hvrun::le"][::std::mem::offset_of!(Hvrun, le) - 4usize];
4635};
4636#[repr(C)]
4637#[repr(align(4))]
4638#[derive(Debug, Copy, Clone)]
4639pub struct HFeatureFlags {
4640    pub _bitfield_align_1: [u8; 0],
4641    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 3usize]>,
4642    pub __bindgen_padding_0: u8,
4643}
4644#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4645const _: () = {
4646    ["Size of HFeatureFlags"][::std::mem::size_of::<HFeatureFlags>() - 4usize];
4647    ["Alignment of HFeatureFlags"][::std::mem::align_of::<HFeatureFlags>() - 4usize];
4648};
4649impl HFeatureFlags {
4650    #[inline]
4651    pub fn shape(&self) -> ::std::os::raw::c_uint {
4652        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
4653    }
4654    #[inline]
4655    pub fn set_shape(&mut self, val: ::std::os::raw::c_uint) {
4656        unsafe {
4657            let val: u32 = ::std::mem::transmute(val);
4658            self._bitfield_1.set(0usize, 1u8, val as u64)
4659        }
4660    }
4661    #[inline]
4662    pub unsafe fn shape_raw(this: *const Self) -> ::std::os::raw::c_uint {
4663        unsafe {
4664            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get(
4665                ::std::ptr::addr_of!((*this)._bitfield_1),
4666                0usize,
4667                1u8,
4668            ) as u32)
4669        }
4670    }
4671    #[inline]
4672    pub unsafe fn set_shape_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
4673        unsafe {
4674            let val: u32 = ::std::mem::transmute(val);
4675            <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set(
4676                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
4677                0usize,
4678                1u8,
4679                val as u64,
4680            )
4681        }
4682    }
4683    #[inline]
4684    pub fn is_convex(&self) -> ::std::os::raw::c_uint {
4685        unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
4686    }
4687    #[inline]
4688    pub fn set_is_convex(&mut self, val: ::std::os::raw::c_uint) {
4689        unsafe {
4690            let val: u32 = ::std::mem::transmute(val);
4691            self._bitfield_1.set(1usize, 1u8, val as u64)
4692        }
4693    }
4694    #[inline]
4695    pub unsafe fn is_convex_raw(this: *const Self) -> ::std::os::raw::c_uint {
4696        unsafe {
4697            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get(
4698                ::std::ptr::addr_of!((*this)._bitfield_1),
4699                1usize,
4700                1u8,
4701            ) as u32)
4702        }
4703    }
4704    #[inline]
4705    pub unsafe fn set_is_convex_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
4706        unsafe {
4707            let val: u32 = ::std::mem::transmute(val);
4708            <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set(
4709                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
4710                1usize,
4711                1u8,
4712                val as u64,
4713            )
4714        }
4715    }
4716    #[inline]
4717    pub fn is_filled(&self) -> ::std::os::raw::c_uint {
4718        unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
4719    }
4720    #[inline]
4721    pub fn set_is_filled(&mut self, val: ::std::os::raw::c_uint) {
4722        unsafe {
4723            let val: u32 = ::std::mem::transmute(val);
4724            self._bitfield_1.set(2usize, 1u8, val as u64)
4725        }
4726    }
4727    #[inline]
4728    pub unsafe fn is_filled_raw(this: *const Self) -> ::std::os::raw::c_uint {
4729        unsafe {
4730            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get(
4731                ::std::ptr::addr_of!((*this)._bitfield_1),
4732                2usize,
4733                1u8,
4734            ) as u32)
4735        }
4736    }
4737    #[inline]
4738    pub unsafe fn set_is_filled_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
4739        unsafe {
4740            let val: u32 = ::std::mem::transmute(val);
4741            <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set(
4742                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
4743                2usize,
4744                1u8,
4745                val as u64,
4746            )
4747        }
4748    }
4749    #[inline]
4750    pub fn is_connected4(&self) -> ::std::os::raw::c_uint {
4751        unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) }
4752    }
4753    #[inline]
4754    pub fn set_is_connected4(&mut self, val: ::std::os::raw::c_uint) {
4755        unsafe {
4756            let val: u32 = ::std::mem::transmute(val);
4757            self._bitfield_1.set(3usize, 1u8, val as u64)
4758        }
4759    }
4760    #[inline]
4761    pub unsafe fn is_connected4_raw(this: *const Self) -> ::std::os::raw::c_uint {
4762        unsafe {
4763            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get(
4764                ::std::ptr::addr_of!((*this)._bitfield_1),
4765                3usize,
4766                1u8,
4767            ) as u32)
4768        }
4769    }
4770    #[inline]
4771    pub unsafe fn set_is_connected4_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
4772        unsafe {
4773            let val: u32 = ::std::mem::transmute(val);
4774            <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set(
4775                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
4776                3usize,
4777                1u8,
4778                val as u64,
4779            )
4780        }
4781    }
4782    #[inline]
4783    pub fn is_connected8(&self) -> ::std::os::raw::c_uint {
4784        unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) }
4785    }
4786    #[inline]
4787    pub fn set_is_connected8(&mut self, val: ::std::os::raw::c_uint) {
4788        unsafe {
4789            let val: u32 = ::std::mem::transmute(val);
4790            self._bitfield_1.set(4usize, 1u8, val as u64)
4791        }
4792    }
4793    #[inline]
4794    pub unsafe fn is_connected8_raw(this: *const Self) -> ::std::os::raw::c_uint {
4795        unsafe {
4796            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get(
4797                ::std::ptr::addr_of!((*this)._bitfield_1),
4798                4usize,
4799                1u8,
4800            ) as u32)
4801        }
4802    }
4803    #[inline]
4804    pub unsafe fn set_is_connected8_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
4805        unsafe {
4806            let val: u32 = ::std::mem::transmute(val);
4807            <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set(
4808                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
4809                4usize,
4810                1u8,
4811                val as u64,
4812            )
4813        }
4814    }
4815    #[inline]
4816    pub fn is_thin(&self) -> ::std::os::raw::c_uint {
4817        unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u32) }
4818    }
4819    #[inline]
4820    pub fn set_is_thin(&mut self, val: ::std::os::raw::c_uint) {
4821        unsafe {
4822            let val: u32 = ::std::mem::transmute(val);
4823            self._bitfield_1.set(5usize, 1u8, val as u64)
4824        }
4825    }
4826    #[inline]
4827    pub unsafe fn is_thin_raw(this: *const Self) -> ::std::os::raw::c_uint {
4828        unsafe {
4829            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get(
4830                ::std::ptr::addr_of!((*this)._bitfield_1),
4831                5usize,
4832                1u8,
4833            ) as u32)
4834        }
4835    }
4836    #[inline]
4837    pub unsafe fn set_is_thin_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
4838        unsafe {
4839            let val: u32 = ::std::mem::transmute(val);
4840            <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set(
4841                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
4842                5usize,
4843                1u8,
4844                val as u64,
4845            )
4846        }
4847    }
4848    #[inline]
4849    pub fn circularity(&self) -> ::std::os::raw::c_uint {
4850        unsafe { ::std::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u32) }
4851    }
4852    #[inline]
4853    pub fn set_circularity(&mut self, val: ::std::os::raw::c_uint) {
4854        unsafe {
4855            let val: u32 = ::std::mem::transmute(val);
4856            self._bitfield_1.set(6usize, 1u8, val as u64)
4857        }
4858    }
4859    #[inline]
4860    pub unsafe fn circularity_raw(this: *const Self) -> ::std::os::raw::c_uint {
4861        unsafe {
4862            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get(
4863                ::std::ptr::addr_of!((*this)._bitfield_1),
4864                6usize,
4865                1u8,
4866            ) as u32)
4867        }
4868    }
4869    #[inline]
4870    pub unsafe fn set_circularity_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
4871        unsafe {
4872            let val: u32 = ::std::mem::transmute(val);
4873            <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set(
4874                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
4875                6usize,
4876                1u8,
4877                val as u64,
4878            )
4879        }
4880    }
4881    #[inline]
4882    pub fn compactness(&self) -> ::std::os::raw::c_uint {
4883        unsafe { ::std::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u32) }
4884    }
4885    #[inline]
4886    pub fn set_compactness(&mut self, val: ::std::os::raw::c_uint) {
4887        unsafe {
4888            let val: u32 = ::std::mem::transmute(val);
4889            self._bitfield_1.set(7usize, 1u8, val as u64)
4890        }
4891    }
4892    #[inline]
4893    pub unsafe fn compactness_raw(this: *const Self) -> ::std::os::raw::c_uint {
4894        unsafe {
4895            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get(
4896                ::std::ptr::addr_of!((*this)._bitfield_1),
4897                7usize,
4898                1u8,
4899            ) as u32)
4900        }
4901    }
4902    #[inline]
4903    pub unsafe fn set_compactness_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
4904        unsafe {
4905            let val: u32 = ::std::mem::transmute(val);
4906            <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set(
4907                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
4908                7usize,
4909                1u8,
4910                val as u64,
4911            )
4912        }
4913    }
4914    #[inline]
4915    pub fn contlength(&self) -> ::std::os::raw::c_uint {
4916        unsafe { ::std::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u32) }
4917    }
4918    #[inline]
4919    pub fn set_contlength(&mut self, val: ::std::os::raw::c_uint) {
4920        unsafe {
4921            let val: u32 = ::std::mem::transmute(val);
4922            self._bitfield_1.set(8usize, 1u8, val as u64)
4923        }
4924    }
4925    #[inline]
4926    pub unsafe fn contlength_raw(this: *const Self) -> ::std::os::raw::c_uint {
4927        unsafe {
4928            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get(
4929                ::std::ptr::addr_of!((*this)._bitfield_1),
4930                8usize,
4931                1u8,
4932            ) as u32)
4933        }
4934    }
4935    #[inline]
4936    pub unsafe fn set_contlength_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
4937        unsafe {
4938            let val: u32 = ::std::mem::transmute(val);
4939            <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set(
4940                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
4941                8usize,
4942                1u8,
4943                val as u64,
4944            )
4945        }
4946    }
4947    #[inline]
4948    pub fn convexity(&self) -> ::std::os::raw::c_uint {
4949        unsafe { ::std::mem::transmute(self._bitfield_1.get(9usize, 1u8) as u32) }
4950    }
4951    #[inline]
4952    pub fn set_convexity(&mut self, val: ::std::os::raw::c_uint) {
4953        unsafe {
4954            let val: u32 = ::std::mem::transmute(val);
4955            self._bitfield_1.set(9usize, 1u8, val as u64)
4956        }
4957    }
4958    #[inline]
4959    pub unsafe fn convexity_raw(this: *const Self) -> ::std::os::raw::c_uint {
4960        unsafe {
4961            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get(
4962                ::std::ptr::addr_of!((*this)._bitfield_1),
4963                9usize,
4964                1u8,
4965            ) as u32)
4966        }
4967    }
4968    #[inline]
4969    pub unsafe fn set_convexity_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
4970        unsafe {
4971            let val: u32 = ::std::mem::transmute(val);
4972            <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set(
4973                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
4974                9usize,
4975                1u8,
4976                val as u64,
4977            )
4978        }
4979    }
4980    #[inline]
4981    pub fn phi(&self) -> ::std::os::raw::c_uint {
4982        unsafe { ::std::mem::transmute(self._bitfield_1.get(10usize, 1u8) as u32) }
4983    }
4984    #[inline]
4985    pub fn set_phi(&mut self, val: ::std::os::raw::c_uint) {
4986        unsafe {
4987            let val: u32 = ::std::mem::transmute(val);
4988            self._bitfield_1.set(10usize, 1u8, val as u64)
4989        }
4990    }
4991    #[inline]
4992    pub unsafe fn phi_raw(this: *const Self) -> ::std::os::raw::c_uint {
4993        unsafe {
4994            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get(
4995                ::std::ptr::addr_of!((*this)._bitfield_1),
4996                10usize,
4997                1u8,
4998            ) as u32)
4999        }
5000    }
5001    #[inline]
5002    pub unsafe fn set_phi_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
5003        unsafe {
5004            let val: u32 = ::std::mem::transmute(val);
5005            <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set(
5006                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
5007                10usize,
5008                1u8,
5009                val as u64,
5010            )
5011        }
5012    }
5013    #[inline]
5014    pub fn elliptic_axis(&self) -> ::std::os::raw::c_uint {
5015        unsafe { ::std::mem::transmute(self._bitfield_1.get(11usize, 1u8) as u32) }
5016    }
5017    #[inline]
5018    pub fn set_elliptic_axis(&mut self, val: ::std::os::raw::c_uint) {
5019        unsafe {
5020            let val: u32 = ::std::mem::transmute(val);
5021            self._bitfield_1.set(11usize, 1u8, val as u64)
5022        }
5023    }
5024    #[inline]
5025    pub unsafe fn elliptic_axis_raw(this: *const Self) -> ::std::os::raw::c_uint {
5026        unsafe {
5027            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get(
5028                ::std::ptr::addr_of!((*this)._bitfield_1),
5029                11usize,
5030                1u8,
5031            ) as u32)
5032        }
5033    }
5034    #[inline]
5035    pub unsafe fn set_elliptic_axis_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
5036        unsafe {
5037            let val: u32 = ::std::mem::transmute(val);
5038            <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set(
5039                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
5040                11usize,
5041                1u8,
5042                val as u64,
5043            )
5044        }
5045    }
5046    #[inline]
5047    pub fn elliptic_shape(&self) -> ::std::os::raw::c_uint {
5048        unsafe { ::std::mem::transmute(self._bitfield_1.get(12usize, 1u8) as u32) }
5049    }
5050    #[inline]
5051    pub fn set_elliptic_shape(&mut self, val: ::std::os::raw::c_uint) {
5052        unsafe {
5053            let val: u32 = ::std::mem::transmute(val);
5054            self._bitfield_1.set(12usize, 1u8, val as u64)
5055        }
5056    }
5057    #[inline]
5058    pub unsafe fn elliptic_shape_raw(this: *const Self) -> ::std::os::raw::c_uint {
5059        unsafe {
5060            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get(
5061                ::std::ptr::addr_of!((*this)._bitfield_1),
5062                12usize,
5063                1u8,
5064            ) as u32)
5065        }
5066    }
5067    #[inline]
5068    pub unsafe fn set_elliptic_shape_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
5069        unsafe {
5070            let val: u32 = ::std::mem::transmute(val);
5071            <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set(
5072                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
5073                12usize,
5074                1u8,
5075                val as u64,
5076            )
5077        }
5078    }
5079    #[inline]
5080    pub fn excentricity(&self) -> ::std::os::raw::c_uint {
5081        unsafe { ::std::mem::transmute(self._bitfield_1.get(13usize, 1u8) as u32) }
5082    }
5083    #[inline]
5084    pub fn set_excentricity(&mut self, val: ::std::os::raw::c_uint) {
5085        unsafe {
5086            let val: u32 = ::std::mem::transmute(val);
5087            self._bitfield_1.set(13usize, 1u8, val as u64)
5088        }
5089    }
5090    #[inline]
5091    pub unsafe fn excentricity_raw(this: *const Self) -> ::std::os::raw::c_uint {
5092        unsafe {
5093            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get(
5094                ::std::ptr::addr_of!((*this)._bitfield_1),
5095                13usize,
5096                1u8,
5097            ) as u32)
5098        }
5099    }
5100    #[inline]
5101    pub unsafe fn set_excentricity_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
5102        unsafe {
5103            let val: u32 = ::std::mem::transmute(val);
5104            <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set(
5105                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
5106                13usize,
5107                1u8,
5108                val as u64,
5109            )
5110        }
5111    }
5112    #[inline]
5113    pub fn moments(&self) -> ::std::os::raw::c_uint {
5114        unsafe { ::std::mem::transmute(self._bitfield_1.get(14usize, 1u8) as u32) }
5115    }
5116    #[inline]
5117    pub fn set_moments(&mut self, val: ::std::os::raw::c_uint) {
5118        unsafe {
5119            let val: u32 = ::std::mem::transmute(val);
5120            self._bitfield_1.set(14usize, 1u8, val as u64)
5121        }
5122    }
5123    #[inline]
5124    pub unsafe fn moments_raw(this: *const Self) -> ::std::os::raw::c_uint {
5125        unsafe {
5126            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get(
5127                ::std::ptr::addr_of!((*this)._bitfield_1),
5128                14usize,
5129                1u8,
5130            ) as u32)
5131        }
5132    }
5133    #[inline]
5134    pub unsafe fn set_moments_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
5135        unsafe {
5136            let val: u32 = ::std::mem::transmute(val);
5137            <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set(
5138                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
5139                14usize,
5140                1u8,
5141                val as u64,
5142            )
5143        }
5144    }
5145    #[inline]
5146    pub fn center_area(&self) -> ::std::os::raw::c_uint {
5147        unsafe { ::std::mem::transmute(self._bitfield_1.get(15usize, 1u8) as u32) }
5148    }
5149    #[inline]
5150    pub fn set_center_area(&mut self, val: ::std::os::raw::c_uint) {
5151        unsafe {
5152            let val: u32 = ::std::mem::transmute(val);
5153            self._bitfield_1.set(15usize, 1u8, val as u64)
5154        }
5155    }
5156    #[inline]
5157    pub unsafe fn center_area_raw(this: *const Self) -> ::std::os::raw::c_uint {
5158        unsafe {
5159            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get(
5160                ::std::ptr::addr_of!((*this)._bitfield_1),
5161                15usize,
5162                1u8,
5163            ) as u32)
5164        }
5165    }
5166    #[inline]
5167    pub unsafe fn set_center_area_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
5168        unsafe {
5169            let val: u32 = ::std::mem::transmute(val);
5170            <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set(
5171                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
5172                15usize,
5173                1u8,
5174                val as u64,
5175            )
5176        }
5177    }
5178    #[inline]
5179    pub fn smallest_rectangle1(&self) -> ::std::os::raw::c_uint {
5180        unsafe { ::std::mem::transmute(self._bitfield_1.get(16usize, 1u8) as u32) }
5181    }
5182    #[inline]
5183    pub fn set_smallest_rectangle1(&mut self, val: ::std::os::raw::c_uint) {
5184        unsafe {
5185            let val: u32 = ::std::mem::transmute(val);
5186            self._bitfield_1.set(16usize, 1u8, val as u64)
5187        }
5188    }
5189    #[inline]
5190    pub unsafe fn smallest_rectangle1_raw(this: *const Self) -> ::std::os::raw::c_uint {
5191        unsafe {
5192            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get(
5193                ::std::ptr::addr_of!((*this)._bitfield_1),
5194                16usize,
5195                1u8,
5196            ) as u32)
5197        }
5198    }
5199    #[inline]
5200    pub unsafe fn set_smallest_rectangle1_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
5201        unsafe {
5202            let val: u32 = ::std::mem::transmute(val);
5203            <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set(
5204                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
5205                16usize,
5206                1u8,
5207                val as u64,
5208            )
5209        }
5210    }
5211    #[inline]
5212    pub fn smallest_rectangle2(&self) -> ::std::os::raw::c_uint {
5213        unsafe { ::std::mem::transmute(self._bitfield_1.get(17usize, 1u8) as u32) }
5214    }
5215    #[inline]
5216    pub fn set_smallest_rectangle2(&mut self, val: ::std::os::raw::c_uint) {
5217        unsafe {
5218            let val: u32 = ::std::mem::transmute(val);
5219            self._bitfield_1.set(17usize, 1u8, val as u64)
5220        }
5221    }
5222    #[inline]
5223    pub unsafe fn smallest_rectangle2_raw(this: *const Self) -> ::std::os::raw::c_uint {
5224        unsafe {
5225            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get(
5226                ::std::ptr::addr_of!((*this)._bitfield_1),
5227                17usize,
5228                1u8,
5229            ) as u32)
5230        }
5231    }
5232    #[inline]
5233    pub unsafe fn set_smallest_rectangle2_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
5234        unsafe {
5235            let val: u32 = ::std::mem::transmute(val);
5236            <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set(
5237                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
5238                17usize,
5239                1u8,
5240                val as u64,
5241            )
5242        }
5243    }
5244    #[inline]
5245    pub fn smallest_circle(&self) -> ::std::os::raw::c_uint {
5246        unsafe { ::std::mem::transmute(self._bitfield_1.get(18usize, 1u8) as u32) }
5247    }
5248    #[inline]
5249    pub fn set_smallest_circle(&mut self, val: ::std::os::raw::c_uint) {
5250        unsafe {
5251            let val: u32 = ::std::mem::transmute(val);
5252            self._bitfield_1.set(18usize, 1u8, val as u64)
5253        }
5254    }
5255    #[inline]
5256    pub unsafe fn smallest_circle_raw(this: *const Self) -> ::std::os::raw::c_uint {
5257        unsafe {
5258            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get(
5259                ::std::ptr::addr_of!((*this)._bitfield_1),
5260                18usize,
5261                1u8,
5262            ) as u32)
5263        }
5264    }
5265    #[inline]
5266    pub unsafe fn set_smallest_circle_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
5267        unsafe {
5268            let val: u32 = ::std::mem::transmute(val);
5269            <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set(
5270                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
5271                18usize,
5272                1u8,
5273                val as u64,
5274            )
5275        }
5276    }
5277    #[inline]
5278    pub fn min_max_chord(&self) -> ::std::os::raw::c_uint {
5279        unsafe { ::std::mem::transmute(self._bitfield_1.get(19usize, 1u8) as u32) }
5280    }
5281    #[inline]
5282    pub fn set_min_max_chord(&mut self, val: ::std::os::raw::c_uint) {
5283        unsafe {
5284            let val: u32 = ::std::mem::transmute(val);
5285            self._bitfield_1.set(19usize, 1u8, val as u64)
5286        }
5287    }
5288    #[inline]
5289    pub unsafe fn min_max_chord_raw(this: *const Self) -> ::std::os::raw::c_uint {
5290        unsafe {
5291            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get(
5292                ::std::ptr::addr_of!((*this)._bitfield_1),
5293                19usize,
5294                1u8,
5295            ) as u32)
5296        }
5297    }
5298    #[inline]
5299    pub unsafe fn set_min_max_chord_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
5300        unsafe {
5301            let val: u32 = ::std::mem::transmute(val);
5302            <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set(
5303                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
5304                19usize,
5305                1u8,
5306                val as u64,
5307            )
5308        }
5309    }
5310    #[inline]
5311    pub fn min_max_chord_gap(&self) -> ::std::os::raw::c_uint {
5312        unsafe { ::std::mem::transmute(self._bitfield_1.get(20usize, 1u8) as u32) }
5313    }
5314    #[inline]
5315    pub fn set_min_max_chord_gap(&mut self, val: ::std::os::raw::c_uint) {
5316        unsafe {
5317            let val: u32 = ::std::mem::transmute(val);
5318            self._bitfield_1.set(20usize, 1u8, val as u64)
5319        }
5320    }
5321    #[inline]
5322    pub unsafe fn min_max_chord_gap_raw(this: *const Self) -> ::std::os::raw::c_uint {
5323        unsafe {
5324            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get(
5325                ::std::ptr::addr_of!((*this)._bitfield_1),
5326                20usize,
5327                1u8,
5328            ) as u32)
5329        }
5330    }
5331    #[inline]
5332    pub unsafe fn set_min_max_chord_gap_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
5333        unsafe {
5334            let val: u32 = ::std::mem::transmute(val);
5335            <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set(
5336                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
5337                20usize,
5338                1u8,
5339                val as u64,
5340            )
5341        }
5342    }
5343    #[inline]
5344    pub fn rectangularity(&self) -> ::std::os::raw::c_uint {
5345        unsafe { ::std::mem::transmute(self._bitfield_1.get(21usize, 1u8) as u32) }
5346    }
5347    #[inline]
5348    pub fn set_rectangularity(&mut self, val: ::std::os::raw::c_uint) {
5349        unsafe {
5350            let val: u32 = ::std::mem::transmute(val);
5351            self._bitfield_1.set(21usize, 1u8, val as u64)
5352        }
5353    }
5354    #[inline]
5355    pub unsafe fn rectangularity_raw(this: *const Self) -> ::std::os::raw::c_uint {
5356        unsafe {
5357            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get(
5358                ::std::ptr::addr_of!((*this)._bitfield_1),
5359                21usize,
5360                1u8,
5361            ) as u32)
5362        }
5363    }
5364    #[inline]
5365    pub unsafe fn set_rectangularity_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
5366        unsafe {
5367            let val: u32 = ::std::mem::transmute(val);
5368            <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set(
5369                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
5370                21usize,
5371                1u8,
5372                val as u64,
5373            )
5374        }
5375    }
5376    #[inline]
5377    pub fn new_bitfield_1(
5378        shape: ::std::os::raw::c_uint,
5379        is_convex: ::std::os::raw::c_uint,
5380        is_filled: ::std::os::raw::c_uint,
5381        is_connected4: ::std::os::raw::c_uint,
5382        is_connected8: ::std::os::raw::c_uint,
5383        is_thin: ::std::os::raw::c_uint,
5384        circularity: ::std::os::raw::c_uint,
5385        compactness: ::std::os::raw::c_uint,
5386        contlength: ::std::os::raw::c_uint,
5387        convexity: ::std::os::raw::c_uint,
5388        phi: ::std::os::raw::c_uint,
5389        elliptic_axis: ::std::os::raw::c_uint,
5390        elliptic_shape: ::std::os::raw::c_uint,
5391        excentricity: ::std::os::raw::c_uint,
5392        moments: ::std::os::raw::c_uint,
5393        center_area: ::std::os::raw::c_uint,
5394        smallest_rectangle1: ::std::os::raw::c_uint,
5395        smallest_rectangle2: ::std::os::raw::c_uint,
5396        smallest_circle: ::std::os::raw::c_uint,
5397        min_max_chord: ::std::os::raw::c_uint,
5398        min_max_chord_gap: ::std::os::raw::c_uint,
5399        rectangularity: ::std::os::raw::c_uint,
5400    ) -> __BindgenBitfieldUnit<[u8; 3usize]> {
5401        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 3usize]> = Default::default();
5402        __bindgen_bitfield_unit.set(0usize, 1u8, {
5403            let shape: u32 = unsafe { ::std::mem::transmute(shape) };
5404            shape as u64
5405        });
5406        __bindgen_bitfield_unit.set(1usize, 1u8, {
5407            let is_convex: u32 = unsafe { ::std::mem::transmute(is_convex) };
5408            is_convex as u64
5409        });
5410        __bindgen_bitfield_unit.set(2usize, 1u8, {
5411            let is_filled: u32 = unsafe { ::std::mem::transmute(is_filled) };
5412            is_filled as u64
5413        });
5414        __bindgen_bitfield_unit.set(3usize, 1u8, {
5415            let is_connected4: u32 = unsafe { ::std::mem::transmute(is_connected4) };
5416            is_connected4 as u64
5417        });
5418        __bindgen_bitfield_unit.set(4usize, 1u8, {
5419            let is_connected8: u32 = unsafe { ::std::mem::transmute(is_connected8) };
5420            is_connected8 as u64
5421        });
5422        __bindgen_bitfield_unit.set(5usize, 1u8, {
5423            let is_thin: u32 = unsafe { ::std::mem::transmute(is_thin) };
5424            is_thin as u64
5425        });
5426        __bindgen_bitfield_unit.set(6usize, 1u8, {
5427            let circularity: u32 = unsafe { ::std::mem::transmute(circularity) };
5428            circularity as u64
5429        });
5430        __bindgen_bitfield_unit.set(7usize, 1u8, {
5431            let compactness: u32 = unsafe { ::std::mem::transmute(compactness) };
5432            compactness as u64
5433        });
5434        __bindgen_bitfield_unit.set(8usize, 1u8, {
5435            let contlength: u32 = unsafe { ::std::mem::transmute(contlength) };
5436            contlength as u64
5437        });
5438        __bindgen_bitfield_unit.set(9usize, 1u8, {
5439            let convexity: u32 = unsafe { ::std::mem::transmute(convexity) };
5440            convexity as u64
5441        });
5442        __bindgen_bitfield_unit.set(10usize, 1u8, {
5443            let phi: u32 = unsafe { ::std::mem::transmute(phi) };
5444            phi as u64
5445        });
5446        __bindgen_bitfield_unit.set(11usize, 1u8, {
5447            let elliptic_axis: u32 = unsafe { ::std::mem::transmute(elliptic_axis) };
5448            elliptic_axis as u64
5449        });
5450        __bindgen_bitfield_unit.set(12usize, 1u8, {
5451            let elliptic_shape: u32 = unsafe { ::std::mem::transmute(elliptic_shape) };
5452            elliptic_shape as u64
5453        });
5454        __bindgen_bitfield_unit.set(13usize, 1u8, {
5455            let excentricity: u32 = unsafe { ::std::mem::transmute(excentricity) };
5456            excentricity as u64
5457        });
5458        __bindgen_bitfield_unit.set(14usize, 1u8, {
5459            let moments: u32 = unsafe { ::std::mem::transmute(moments) };
5460            moments as u64
5461        });
5462        __bindgen_bitfield_unit.set(15usize, 1u8, {
5463            let center_area: u32 = unsafe { ::std::mem::transmute(center_area) };
5464            center_area as u64
5465        });
5466        __bindgen_bitfield_unit.set(16usize, 1u8, {
5467            let smallest_rectangle1: u32 = unsafe { ::std::mem::transmute(smallest_rectangle1) };
5468            smallest_rectangle1 as u64
5469        });
5470        __bindgen_bitfield_unit.set(17usize, 1u8, {
5471            let smallest_rectangle2: u32 = unsafe { ::std::mem::transmute(smallest_rectangle2) };
5472            smallest_rectangle2 as u64
5473        });
5474        __bindgen_bitfield_unit.set(18usize, 1u8, {
5475            let smallest_circle: u32 = unsafe { ::std::mem::transmute(smallest_circle) };
5476            smallest_circle as u64
5477        });
5478        __bindgen_bitfield_unit.set(19usize, 1u8, {
5479            let min_max_chord: u32 = unsafe { ::std::mem::transmute(min_max_chord) };
5480            min_max_chord as u64
5481        });
5482        __bindgen_bitfield_unit.set(20usize, 1u8, {
5483            let min_max_chord_gap: u32 = unsafe { ::std::mem::transmute(min_max_chord_gap) };
5484            min_max_chord_gap as u64
5485        });
5486        __bindgen_bitfield_unit.set(21usize, 1u8, {
5487            let rectangularity: u32 = unsafe { ::std::mem::transmute(rectangularity) };
5488            rectangularity as u64
5489        });
5490        __bindgen_bitfield_unit
5491    }
5492}
5493#[repr(C)]
5494#[derive(Copy, Clone)]
5495pub struct HRegFeature {
5496    pub def: HRegFeature__bindgen_ty_1,
5497    pub shape: u8,
5498    pub is_convex: bool,
5499    pub is_filled: bool,
5500    pub is_connected4: bool,
5501    pub is_connected8: bool,
5502    pub is_thin: bool,
5503    pub circularity: f64,
5504    pub compactness: f64,
5505    pub contlength: f64,
5506    pub convexity: f64,
5507    pub phi: f64,
5508    pub ra: f64,
5509    pub rb: f64,
5510    pub ra_: f64,
5511    pub rb_: f64,
5512    pub anisometry: f64,
5513    pub bulkiness: f64,
5514    pub structure_factor: f64,
5515    pub m11: f64,
5516    pub m20: f64,
5517    pub m02: f64,
5518    pub ia: f64,
5519    pub ib: f64,
5520    pub row: f64,
5521    pub col: f64,
5522    pub area: HIMGCNT,
5523    pub row1: HIMGCOOR,
5524    pub col1: HIMGCOOR,
5525    pub row2: HIMGCOOR,
5526    pub col2: HIMGCOOR,
5527    pub row_rect: f64,
5528    pub col_rect: f64,
5529    pub phi_rect: f64,
5530    pub length1: f64,
5531    pub length2: f64,
5532    pub row_circle: f64,
5533    pub col_circle: f64,
5534    pub radius: f64,
5535    pub min_chord: HIMGCOOR,
5536    pub max_chord: HIMGCOOR,
5537    pub min_chord_gap: HIMGCOOR,
5538    pub max_chord_gap: HIMGCOOR,
5539    pub rectangularity: f64,
5540}
5541#[repr(C)]
5542#[derive(Copy, Clone)]
5543pub union HRegFeature__bindgen_ty_1 {
5544    pub single: HFeatureFlags,
5545    pub all: ::std::os::raw::c_long,
5546}
5547#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5548const _: () = {
5549    ["Size of HRegFeature__bindgen_ty_1"]
5550        [::std::mem::size_of::<HRegFeature__bindgen_ty_1>() - 4usize];
5551    ["Alignment of HRegFeature__bindgen_ty_1"]
5552        [::std::mem::align_of::<HRegFeature__bindgen_ty_1>() - 4usize];
5553    ["Offset of field: HRegFeature__bindgen_ty_1::single"]
5554        [::std::mem::offset_of!(HRegFeature__bindgen_ty_1, single) - 0usize];
5555    ["Offset of field: HRegFeature__bindgen_ty_1::all"]
5556        [::std::mem::offset_of!(HRegFeature__bindgen_ty_1, all) - 0usize];
5557};
5558#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5559const _: () = {
5560    ["Size of HRegFeature"][::std::mem::size_of::<HRegFeature>() - 264usize];
5561    ["Alignment of HRegFeature"][::std::mem::align_of::<HRegFeature>() - 8usize];
5562    ["Offset of field: HRegFeature::def"][::std::mem::offset_of!(HRegFeature, def) - 0usize];
5563    ["Offset of field: HRegFeature::shape"][::std::mem::offset_of!(HRegFeature, shape) - 4usize];
5564    ["Offset of field: HRegFeature::is_convex"]
5565        [::std::mem::offset_of!(HRegFeature, is_convex) - 5usize];
5566    ["Offset of field: HRegFeature::is_filled"]
5567        [::std::mem::offset_of!(HRegFeature, is_filled) - 6usize];
5568    ["Offset of field: HRegFeature::is_connected4"]
5569        [::std::mem::offset_of!(HRegFeature, is_connected4) - 7usize];
5570    ["Offset of field: HRegFeature::is_connected8"]
5571        [::std::mem::offset_of!(HRegFeature, is_connected8) - 8usize];
5572    ["Offset of field: HRegFeature::is_thin"]
5573        [::std::mem::offset_of!(HRegFeature, is_thin) - 9usize];
5574    ["Offset of field: HRegFeature::circularity"]
5575        [::std::mem::offset_of!(HRegFeature, circularity) - 16usize];
5576    ["Offset of field: HRegFeature::compactness"]
5577        [::std::mem::offset_of!(HRegFeature, compactness) - 24usize];
5578    ["Offset of field: HRegFeature::contlength"]
5579        [::std::mem::offset_of!(HRegFeature, contlength) - 32usize];
5580    ["Offset of field: HRegFeature::convexity"]
5581        [::std::mem::offset_of!(HRegFeature, convexity) - 40usize];
5582    ["Offset of field: HRegFeature::phi"][::std::mem::offset_of!(HRegFeature, phi) - 48usize];
5583    ["Offset of field: HRegFeature::ra"][::std::mem::offset_of!(HRegFeature, ra) - 56usize];
5584    ["Offset of field: HRegFeature::rb"][::std::mem::offset_of!(HRegFeature, rb) - 64usize];
5585    ["Offset of field: HRegFeature::ra_"][::std::mem::offset_of!(HRegFeature, ra_) - 72usize];
5586    ["Offset of field: HRegFeature::rb_"][::std::mem::offset_of!(HRegFeature, rb_) - 80usize];
5587    ["Offset of field: HRegFeature::anisometry"]
5588        [::std::mem::offset_of!(HRegFeature, anisometry) - 88usize];
5589    ["Offset of field: HRegFeature::bulkiness"]
5590        [::std::mem::offset_of!(HRegFeature, bulkiness) - 96usize];
5591    ["Offset of field: HRegFeature::structure_factor"]
5592        [::std::mem::offset_of!(HRegFeature, structure_factor) - 104usize];
5593    ["Offset of field: HRegFeature::m11"][::std::mem::offset_of!(HRegFeature, m11) - 112usize];
5594    ["Offset of field: HRegFeature::m20"][::std::mem::offset_of!(HRegFeature, m20) - 120usize];
5595    ["Offset of field: HRegFeature::m02"][::std::mem::offset_of!(HRegFeature, m02) - 128usize];
5596    ["Offset of field: HRegFeature::ia"][::std::mem::offset_of!(HRegFeature, ia) - 136usize];
5597    ["Offset of field: HRegFeature::ib"][::std::mem::offset_of!(HRegFeature, ib) - 144usize];
5598    ["Offset of field: HRegFeature::row"][::std::mem::offset_of!(HRegFeature, row) - 152usize];
5599    ["Offset of field: HRegFeature::col"][::std::mem::offset_of!(HRegFeature, col) - 160usize];
5600    ["Offset of field: HRegFeature::area"][::std::mem::offset_of!(HRegFeature, area) - 168usize];
5601    ["Offset of field: HRegFeature::row1"][::std::mem::offset_of!(HRegFeature, row1) - 172usize];
5602    ["Offset of field: HRegFeature::col1"][::std::mem::offset_of!(HRegFeature, col1) - 174usize];
5603    ["Offset of field: HRegFeature::row2"][::std::mem::offset_of!(HRegFeature, row2) - 176usize];
5604    ["Offset of field: HRegFeature::col2"][::std::mem::offset_of!(HRegFeature, col2) - 178usize];
5605    ["Offset of field: HRegFeature::row_rect"]
5606        [::std::mem::offset_of!(HRegFeature, row_rect) - 184usize];
5607    ["Offset of field: HRegFeature::col_rect"]
5608        [::std::mem::offset_of!(HRegFeature, col_rect) - 192usize];
5609    ["Offset of field: HRegFeature::phi_rect"]
5610        [::std::mem::offset_of!(HRegFeature, phi_rect) - 200usize];
5611    ["Offset of field: HRegFeature::length1"]
5612        [::std::mem::offset_of!(HRegFeature, length1) - 208usize];
5613    ["Offset of field: HRegFeature::length2"]
5614        [::std::mem::offset_of!(HRegFeature, length2) - 216usize];
5615    ["Offset of field: HRegFeature::row_circle"]
5616        [::std::mem::offset_of!(HRegFeature, row_circle) - 224usize];
5617    ["Offset of field: HRegFeature::col_circle"]
5618        [::std::mem::offset_of!(HRegFeature, col_circle) - 232usize];
5619    ["Offset of field: HRegFeature::radius"]
5620        [::std::mem::offset_of!(HRegFeature, radius) - 240usize];
5621    ["Offset of field: HRegFeature::min_chord"]
5622        [::std::mem::offset_of!(HRegFeature, min_chord) - 248usize];
5623    ["Offset of field: HRegFeature::max_chord"]
5624        [::std::mem::offset_of!(HRegFeature, max_chord) - 250usize];
5625    ["Offset of field: HRegFeature::min_chord_gap"]
5626        [::std::mem::offset_of!(HRegFeature, min_chord_gap) - 252usize];
5627    ["Offset of field: HRegFeature::max_chord_gap"]
5628        [::std::mem::offset_of!(HRegFeature, max_chord_gap) - 254usize];
5629    ["Offset of field: HRegFeature::rectangularity"]
5630        [::std::mem::offset_of!(HRegFeature, rectangularity) - 256usize];
5631};
5632#[repr(C)]
5633#[derive(Copy, Clone)]
5634pub struct Hrlregion {
5635    pub is_compl: bool,
5636    pub num: HITEMCNT,
5637    pub num_max: HITEMCNT,
5638    pub feature: HRegFeature,
5639    pub rl: *mut Hrun,
5640}
5641#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5642const _: () = {
5643    ["Size of Hrlregion"][::std::mem::size_of::<Hrlregion>() - 288usize];
5644    ["Alignment of Hrlregion"][::std::mem::align_of::<Hrlregion>() - 8usize];
5645    ["Offset of field: Hrlregion::is_compl"][::std::mem::offset_of!(Hrlregion, is_compl) - 0usize];
5646    ["Offset of field: Hrlregion::num"][::std::mem::offset_of!(Hrlregion, num) - 4usize];
5647    ["Offset of field: Hrlregion::num_max"][::std::mem::offset_of!(Hrlregion, num_max) - 8usize];
5648    ["Offset of field: Hrlregion::feature"][::std::mem::offset_of!(Hrlregion, feature) - 16usize];
5649    ["Offset of field: Hrlregion::rl"][::std::mem::offset_of!(Hrlregion, rl) - 280usize];
5650};
5651#[repr(C)]
5652#[derive(Copy, Clone)]
5653pub struct Hvrlregion {
5654    pub is_compl: bool,
5655    pub num: HITEMCNT,
5656    pub num_max: HITEMCNT,
5657    pub feature: HRegFeature,
5658    pub rc: *mut Hvrun,
5659}
5660#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5661const _: () = {
5662    ["Size of Hvrlregion"][::std::mem::size_of::<Hvrlregion>() - 288usize];
5663    ["Alignment of Hvrlregion"][::std::mem::align_of::<Hvrlregion>() - 8usize];
5664    ["Offset of field: Hvrlregion::is_compl"]
5665        [::std::mem::offset_of!(Hvrlregion, is_compl) - 0usize];
5666    ["Offset of field: Hvrlregion::num"][::std::mem::offset_of!(Hvrlregion, num) - 4usize];
5667    ["Offset of field: Hvrlregion::num_max"][::std::mem::offset_of!(Hvrlregion, num_max) - 8usize];
5668    ["Offset of field: Hvrlregion::feature"][::std::mem::offset_of!(Hvrlregion, feature) - 16usize];
5669    ["Offset of field: Hvrlregion::rc"][::std::mem::offset_of!(Hvrlregion, rc) - 280usize];
5670};
5671#[repr(C)]
5672#[derive(Debug, Copy, Clone)]
5673pub struct Hrlaccess {
5674    pub min: HIMGCOOR,
5675    pub max: HIMGCOOR,
5676    pub rl: *mut Hrun,
5677    pub first: *mut HITEMCNT,
5678    pub last: *mut HITEMCNT,
5679    pub no_row: *mut bool,
5680}
5681#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5682const _: () = {
5683    ["Size of Hrlaccess"][::std::mem::size_of::<Hrlaccess>() - 40usize];
5684    ["Alignment of Hrlaccess"][::std::mem::align_of::<Hrlaccess>() - 8usize];
5685    ["Offset of field: Hrlaccess::min"][::std::mem::offset_of!(Hrlaccess, min) - 0usize];
5686    ["Offset of field: Hrlaccess::max"][::std::mem::offset_of!(Hrlaccess, max) - 2usize];
5687    ["Offset of field: Hrlaccess::rl"][::std::mem::offset_of!(Hrlaccess, rl) - 8usize];
5688    ["Offset of field: Hrlaccess::first"][::std::mem::offset_of!(Hrlaccess, first) - 16usize];
5689    ["Offset of field: Hrlaccess::last"][::std::mem::offset_of!(Hrlaccess, last) - 24usize];
5690    ["Offset of field: Hrlaccess::no_row"][::std::mem::offset_of!(Hrlaccess, no_row) - 32usize];
5691};
5692#[repr(C)]
5693#[derive(Debug, Copy, Clone)]
5694pub struct HMultiChannelImage {
5695    pub channels: *mut Himage,
5696    pub region: *mut Hrlregion,
5697    pub num_channels: ::std::os::raw::c_int,
5698}
5699#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5700const _: () = {
5701    ["Size of HMultiChannelImage"][::std::mem::size_of::<HMultiChannelImage>() - 24usize];
5702    ["Alignment of HMultiChannelImage"][::std::mem::align_of::<HMultiChannelImage>() - 8usize];
5703    ["Offset of field: HMultiChannelImage::channels"]
5704        [::std::mem::offset_of!(HMultiChannelImage, channels) - 0usize];
5705    ["Offset of field: HMultiChannelImage::region"]
5706        [::std::mem::offset_of!(HMultiChannelImage, region) - 8usize];
5707    ["Offset of field: HMultiChannelImage::num_channels"]
5708        [::std::mem::offset_of!(HMultiChannelImage, num_channels) - 16usize];
5709};
5710#[repr(C)]
5711#[derive(Debug, Copy, Clone)]
5712pub struct Hcontvar {
5713    pub row: *mut HIMGCOOR,
5714    pub col: *mut HIMGCOOR,
5715    pub num: HITEMCNT,
5716    pub max_num: HITEMCNT,
5717}
5718#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5719const _: () = {
5720    ["Size of Hcontvar"][::std::mem::size_of::<Hcontvar>() - 24usize];
5721    ["Alignment of Hcontvar"][::std::mem::align_of::<Hcontvar>() - 8usize];
5722    ["Offset of field: Hcontvar::row"][::std::mem::offset_of!(Hcontvar, row) - 0usize];
5723    ["Offset of field: Hcontvar::col"][::std::mem::offset_of!(Hcontvar, col) - 8usize];
5724    ["Offset of field: Hcontvar::num"][::std::mem::offset_of!(Hcontvar, num) - 16usize];
5725    ["Offset of field: Hcontvar::max_num"][::std::mem::offset_of!(Hcontvar, max_num) - 20usize];
5726};
5727#[repr(C)]
5728#[derive(Debug, Copy, Clone)]
5729pub struct Hfcontvar {
5730    pub row: *mut HSUBCOOR,
5731    pub col: *mut HSUBCOOR,
5732    pub num: HITEMCNT,
5733    pub max_num: HITEMCNT,
5734}
5735#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5736const _: () = {
5737    ["Size of Hfcontvar"][::std::mem::size_of::<Hfcontvar>() - 24usize];
5738    ["Alignment of Hfcontvar"][::std::mem::align_of::<Hfcontvar>() - 8usize];
5739    ["Offset of field: Hfcontvar::row"][::std::mem::offset_of!(Hfcontvar, row) - 0usize];
5740    ["Offset of field: Hfcontvar::col"][::std::mem::offset_of!(Hfcontvar, col) - 8usize];
5741    ["Offset of field: Hfcontvar::num"][::std::mem::offset_of!(Hfcontvar, num) - 16usize];
5742    ["Offset of field: Hfcontvar::max_num"][::std::mem::offset_of!(Hfcontvar, max_num) - 20usize];
5743};
5744#[repr(C)]
5745#[derive(Debug, Copy, Clone)]
5746pub struct Hchain_code {
5747    pub l: HIMGCOOR,
5748    pub c: HIMGCOOR,
5749    pub cc: *mut u8,
5750    pub num: HITEMCNT,
5751}
5752#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5753const _: () = {
5754    ["Size of Hchain_code"][::std::mem::size_of::<Hchain_code>() - 24usize];
5755    ["Alignment of Hchain_code"][::std::mem::align_of::<Hchain_code>() - 8usize];
5756    ["Offset of field: Hchain_code::l"][::std::mem::offset_of!(Hchain_code, l) - 0usize];
5757    ["Offset of field: Hchain_code::c"][::std::mem::offset_of!(Hchain_code, c) - 2usize];
5758    ["Offset of field: Hchain_code::cc"][::std::mem::offset_of!(Hchain_code, cc) - 8usize];
5759    ["Offset of field: Hchain_code::num"][::std::mem::offset_of!(Hchain_code, num) - 16usize];
5760};
5761#[repr(C)]
5762#[derive(Debug, Copy, Clone)]
5763pub struct Hline {
5764    pub row1: HSUBCOOR,
5765    pub col1: HSUBCOOR,
5766    pub row2: HSUBCOOR,
5767    pub col2: HSUBCOOR,
5768}
5769#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5770const _: () = {
5771    ["Size of Hline"][::std::mem::size_of::<Hline>() - 16usize];
5772    ["Alignment of Hline"][::std::mem::align_of::<Hline>() - 4usize];
5773    ["Offset of field: Hline::row1"][::std::mem::offset_of!(Hline, row1) - 0usize];
5774    ["Offset of field: Hline::col1"][::std::mem::offset_of!(Hline, col1) - 4usize];
5775    ["Offset of field: Hline::row2"][::std::mem::offset_of!(Hline, row2) - 8usize];
5776    ["Offset of field: Hline::col2"][::std::mem::offset_of!(Hline, col2) - 12usize];
5777};
5778#[repr(C)]
5779#[derive(Debug, Copy, Clone)]
5780pub struct Hlines {
5781    pub num: HITEMCNT,
5782    pub line: *mut Hline,
5783}
5784#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5785const _: () = {
5786    ["Size of Hlines"][::std::mem::size_of::<Hlines>() - 16usize];
5787    ["Alignment of Hlines"][::std::mem::align_of::<Hlines>() - 8usize];
5788    ["Offset of field: Hlines::num"][::std::mem::offset_of!(Hlines, num) - 0usize];
5789    ["Offset of field: Hlines::line"][::std::mem::offset_of!(Hlines, line) - 8usize];
5790};
5791pub type Hhisto_abs = [HIMGCNT; 256usize];
5792pub type Hhisto_rel = [f64; 256usize];
5793#[repr(C)]
5794#[derive(Debug, Copy, Clone)]
5795pub struct Hconv_mask_s {
5796    pub f: i32,
5797    pub gk: *mut i32,
5798    pub num_max: i32,
5799}
5800#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5801const _: () = {
5802    ["Size of Hconv_mask_s"][::std::mem::size_of::<Hconv_mask_s>() - 24usize];
5803    ["Alignment of Hconv_mask_s"][::std::mem::align_of::<Hconv_mask_s>() - 8usize];
5804    ["Offset of field: Hconv_mask_s::f"][::std::mem::offset_of!(Hconv_mask_s, f) - 0usize];
5805    ["Offset of field: Hconv_mask_s::gk"][::std::mem::offset_of!(Hconv_mask_s, gk) - 8usize];
5806    ["Offset of field: Hconv_mask_s::num_max"]
5807        [::std::mem::offset_of!(Hconv_mask_s, num_max) - 16usize];
5808};
5809#[repr(C)]
5810#[derive(Debug, Copy, Clone)]
5811pub struct Hconv_mask_2 {
5812    pub min_row: HIMGCOOR,
5813    pub max_row: HIMGCOOR,
5814    pub min_col: HIMGCOOR,
5815    pub max_col: HIMGCOOR,
5816    pub norm: i32,
5817    pub num: i32,
5818    pub row: [HIMGCOOR; 50000usize],
5819    pub col: [HIMGCOOR; 50000usize],
5820    pub koor: [HLINCOOR; 50000usize],
5821    pub m: [i32; 50000usize],
5822}
5823#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5824const _: () = {
5825    ["Size of Hconv_mask_2"][::std::mem::size_of::<Hconv_mask_2>() - 600016usize];
5826    ["Alignment of Hconv_mask_2"][::std::mem::align_of::<Hconv_mask_2>() - 4usize];
5827    ["Offset of field: Hconv_mask_2::min_row"]
5828        [::std::mem::offset_of!(Hconv_mask_2, min_row) - 0usize];
5829    ["Offset of field: Hconv_mask_2::max_row"]
5830        [::std::mem::offset_of!(Hconv_mask_2, max_row) - 2usize];
5831    ["Offset of field: Hconv_mask_2::min_col"]
5832        [::std::mem::offset_of!(Hconv_mask_2, min_col) - 4usize];
5833    ["Offset of field: Hconv_mask_2::max_col"]
5834        [::std::mem::offset_of!(Hconv_mask_2, max_col) - 6usize];
5835    ["Offset of field: Hconv_mask_2::norm"][::std::mem::offset_of!(Hconv_mask_2, norm) - 8usize];
5836    ["Offset of field: Hconv_mask_2::num"][::std::mem::offset_of!(Hconv_mask_2, num) - 12usize];
5837    ["Offset of field: Hconv_mask_2::row"][::std::mem::offset_of!(Hconv_mask_2, row) - 16usize];
5838    ["Offset of field: Hconv_mask_2::col"][::std::mem::offset_of!(Hconv_mask_2, col) - 100016usize];
5839    ["Offset of field: Hconv_mask_2::koor"]
5840        [::std::mem::offset_of!(Hconv_mask_2, koor) - 200016usize];
5841    ["Offset of field: Hconv_mask_2::m"][::std::mem::offset_of!(Hconv_mask_2, m) - 400016usize];
5842};
5843#[repr(C)]
5844#[derive(Debug, Copy, Clone)]
5845pub struct Hconv_mask_1 {
5846    pub min_col: HIMGCOOR,
5847    pub max_col: HIMGCOOR,
5848    pub norm: i32,
5849    pub num: i32,
5850    pub col: [HIMGCOOR; 50000usize],
5851    pub m: [i32; 50000usize],
5852}
5853#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5854const _: () = {
5855    ["Size of Hconv_mask_1"][::std::mem::size_of::<Hconv_mask_1>() - 300012usize];
5856    ["Alignment of Hconv_mask_1"][::std::mem::align_of::<Hconv_mask_1>() - 4usize];
5857    ["Offset of field: Hconv_mask_1::min_col"]
5858        [::std::mem::offset_of!(Hconv_mask_1, min_col) - 0usize];
5859    ["Offset of field: Hconv_mask_1::max_col"]
5860        [::std::mem::offset_of!(Hconv_mask_1, max_col) - 2usize];
5861    ["Offset of field: Hconv_mask_1::norm"][::std::mem::offset_of!(Hconv_mask_1, norm) - 4usize];
5862    ["Offset of field: Hconv_mask_1::num"][::std::mem::offset_of!(Hconv_mask_1, num) - 8usize];
5863    ["Offset of field: Hconv_mask_1::col"][::std::mem::offset_of!(Hconv_mask_1, col) - 12usize];
5864    ["Offset of field: Hconv_mask_1::m"][::std::mem::offset_of!(Hconv_mask_1, m) - 100012usize];
5865};
5866#[repr(C)]
5867#[derive(Debug, Copy, Clone)]
5868pub struct Hcolor {
5869    pub red: u8,
5870    pub green: u8,
5871    pub blue: u8,
5872    pub name: [::std::os::raw::c_char; 40usize],
5873}
5874#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5875const _: () = {
5876    ["Size of Hcolor"][::std::mem::size_of::<Hcolor>() - 43usize];
5877    ["Alignment of Hcolor"][::std::mem::align_of::<Hcolor>() - 1usize];
5878    ["Offset of field: Hcolor::red"][::std::mem::offset_of!(Hcolor, red) - 0usize];
5879    ["Offset of field: Hcolor::green"][::std::mem::offset_of!(Hcolor, green) - 1usize];
5880    ["Offset of field: Hcolor::blue"][::std::mem::offset_of!(Hcolor, blue) - 2usize];
5881    ["Offset of field: Hcolor::name"][::std::mem::offset_of!(Hcolor, name) - 3usize];
5882};
5883pub const cont_class_cont_unknown: cont_class = 0;
5884pub const cont_class_cont_no_junc: cont_class = 1;
5885pub const cont_class_cont_start_junc: cont_class = 2;
5886pub const cont_class_cont_end_junc: cont_class = 3;
5887pub const cont_class_cont_both_junc: cont_class = 4;
5888pub const cont_class_cont_closed: cont_class = 5;
5889pub type cont_class = ::std::os::raw::c_int;
5890pub use self::cont_class as Hcont_class;
5891#[repr(C)]
5892#[derive(Debug, Copy, Clone)]
5893pub struct cont_attrib {
5894    pub name: *mut ::std::os::raw::c_char,
5895    pub val: *mut HSUBATTR,
5896}
5897#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5898const _: () = {
5899    ["Size of cont_attrib"][::std::mem::size_of::<cont_attrib>() - 16usize];
5900    ["Alignment of cont_attrib"][::std::mem::align_of::<cont_attrib>() - 8usize];
5901    ["Offset of field: cont_attrib::name"][::std::mem::offset_of!(cont_attrib, name) - 0usize];
5902    ["Offset of field: cont_attrib::val"][::std::mem::offset_of!(cont_attrib, val) - 8usize];
5903};
5904pub type Hcont_attrib = cont_attrib;
5905#[repr(C)]
5906#[derive(Debug, Copy, Clone)]
5907pub struct cont_global_attrib {
5908    pub name: *mut ::std::os::raw::c_char,
5909    pub val: HSUBATTR,
5910}
5911#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5912const _: () = {
5913    ["Size of cont_global_attrib"][::std::mem::size_of::<cont_global_attrib>() - 16usize];
5914    ["Alignment of cont_global_attrib"][::std::mem::align_of::<cont_global_attrib>() - 8usize];
5915    ["Offset of field: cont_global_attrib::name"]
5916        [::std::mem::offset_of!(cont_global_attrib, name) - 0usize];
5917    ["Offset of field: cont_global_attrib::val"]
5918        [::std::mem::offset_of!(cont_global_attrib, val) - 8usize];
5919};
5920pub type Hcont_global_attrib = cont_global_attrib;
5921#[repr(C)]
5922#[derive(Debug, Copy, Clone)]
5923pub struct cont_type {
5924    pub num: HITEMCNT,
5925    pub row: *mut HSUBCOOR,
5926    pub col: *mut HSUBCOOR,
5927    pub cont_class: Hcont_class,
5928    pub num_attrib: i32,
5929    pub attribs: *mut Hcont_attrib,
5930    pub num_global: i32,
5931    pub global: *mut Hcont_global_attrib,
5932    pub h: i32,
5933}
5934#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5935const _: () = {
5936    ["Size of cont_type"][::std::mem::size_of::<cont_type>() - 64usize];
5937    ["Alignment of cont_type"][::std::mem::align_of::<cont_type>() - 8usize];
5938    ["Offset of field: cont_type::num"][::std::mem::offset_of!(cont_type, num) - 0usize];
5939    ["Offset of field: cont_type::row"][::std::mem::offset_of!(cont_type, row) - 8usize];
5940    ["Offset of field: cont_type::col"][::std::mem::offset_of!(cont_type, col) - 16usize];
5941    ["Offset of field: cont_type::cont_class"]
5942        [::std::mem::offset_of!(cont_type, cont_class) - 24usize];
5943    ["Offset of field: cont_type::num_attrib"]
5944        [::std::mem::offset_of!(cont_type, num_attrib) - 28usize];
5945    ["Offset of field: cont_type::attribs"][::std::mem::offset_of!(cont_type, attribs) - 32usize];
5946    ["Offset of field: cont_type::num_global"]
5947        [::std::mem::offset_of!(cont_type, num_global) - 40usize];
5948    ["Offset of field: cont_type::global"][::std::mem::offset_of!(cont_type, global) - 48usize];
5949    ["Offset of field: cont_type::h"][::std::mem::offset_of!(cont_type, h) - 56usize];
5950};
5951pub type Hcont = cont_type;
5952#[repr(C)]
5953#[derive(Debug, Copy, Clone)]
5954pub struct lin_seg_type {
5955    pub row: HSUBCOOR,
5956    pub col: HSUBCOOR,
5957    pub length: HSUBATTR,
5958    pub phi: HSUBATTR,
5959    pub ref_: Hkey,
5960    pub first: HITEMCNT,
5961    pub last: HITEMCNT,
5962}
5963#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5964const _: () = {
5965    ["Size of lin_seg_type"][::std::mem::size_of::<lin_seg_type>() - 32usize];
5966    ["Alignment of lin_seg_type"][::std::mem::align_of::<lin_seg_type>() - 8usize];
5967    ["Offset of field: lin_seg_type::row"][::std::mem::offset_of!(lin_seg_type, row) - 0usize];
5968    ["Offset of field: lin_seg_type::col"][::std::mem::offset_of!(lin_seg_type, col) - 4usize];
5969    ["Offset of field: lin_seg_type::length"]
5970        [::std::mem::offset_of!(lin_seg_type, length) - 8usize];
5971    ["Offset of field: lin_seg_type::phi"][::std::mem::offset_of!(lin_seg_type, phi) - 12usize];
5972    ["Offset of field: lin_seg_type::ref_"][::std::mem::offset_of!(lin_seg_type, ref_) - 16usize];
5973    ["Offset of field: lin_seg_type::first"][::std::mem::offset_of!(lin_seg_type, first) - 24usize];
5974    ["Offset of field: lin_seg_type::last"][::std::mem::offset_of!(lin_seg_type, last) - 28usize];
5975};
5976pub type Hline_seg = lin_seg_type;
5977#[repr(C)]
5978#[derive(Debug, Copy, Clone)]
5979pub struct poly_type {
5980    pub num_line: HITEMCNT,
5981    pub len_line: HITEMCNT,
5982    pub lines: *mut Hline_seg,
5983}
5984#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5985const _: () = {
5986    ["Size of poly_type"][::std::mem::size_of::<poly_type>() - 16usize];
5987    ["Alignment of poly_type"][::std::mem::align_of::<poly_type>() - 8usize];
5988    ["Offset of field: poly_type::num_line"][::std::mem::offset_of!(poly_type, num_line) - 0usize];
5989    ["Offset of field: poly_type::len_line"][::std::mem::offset_of!(poly_type, len_line) - 4usize];
5990    ["Offset of field: poly_type::lines"][::std::mem::offset_of!(poly_type, lines) - 8usize];
5991};
5992pub type Hpoly = poly_type;
5993#[repr(C)]
5994#[derive(Debug, Copy, Clone)]
5995pub struct para_poly_type {
5996    pub poly1: Hkey,
5997    pub poly2: Hkey,
5998    pub first1: HITEMCNT,
5999    pub last1: HITEMCNT,
6000    pub first2: HITEMCNT,
6001    pub last2: HITEMCNT,
6002    pub quality: f64,
6003}
6004#[allow(clippy::unnecessary_operation, clippy::identity_op)]
6005const _: () = {
6006    ["Size of para_poly_type"][::std::mem::size_of::<para_poly_type>() - 40usize];
6007    ["Alignment of para_poly_type"][::std::mem::align_of::<para_poly_type>() - 8usize];
6008    ["Offset of field: para_poly_type::poly1"]
6009        [::std::mem::offset_of!(para_poly_type, poly1) - 0usize];
6010    ["Offset of field: para_poly_type::poly2"]
6011        [::std::mem::offset_of!(para_poly_type, poly2) - 8usize];
6012    ["Offset of field: para_poly_type::first1"]
6013        [::std::mem::offset_of!(para_poly_type, first1) - 16usize];
6014    ["Offset of field: para_poly_type::last1"]
6015        [::std::mem::offset_of!(para_poly_type, last1) - 20usize];
6016    ["Offset of field: para_poly_type::first2"]
6017        [::std::mem::offset_of!(para_poly_type, first2) - 24usize];
6018    ["Offset of field: para_poly_type::last2"]
6019        [::std::mem::offset_of!(para_poly_type, last2) - 28usize];
6020    ["Offset of field: para_poly_type::quality"]
6021        [::std::mem::offset_of!(para_poly_type, quality) - 32usize];
6022};
6023pub type Hpara_poly = para_poly_type;
6024#[repr(C)]
6025#[derive(Debug, Copy, Clone)]
6026pub struct mod_para_type {
6027    pub poly1: Hkey,
6028    pub poly2: Hkey,
6029    pub first1: HITEMCNT,
6030    pub last1: HITEMCNT,
6031    pub first2: HITEMCNT,
6032    pub last2: HITEMCNT,
6033    pub first1_dist: HSUBATTR,
6034    pub last1_dist: HSUBATTR,
6035    pub first2_dist: HSUBATTR,
6036    pub last2_dist: HSUBATTR,
6037    pub dir1: i16,
6038    pub dir2: i16,
6039}
6040#[allow(clippy::unnecessary_operation, clippy::identity_op)]
6041const _: () = {
6042    ["Size of mod_para_type"][::std::mem::size_of::<mod_para_type>() - 56usize];
6043    ["Alignment of mod_para_type"][::std::mem::align_of::<mod_para_type>() - 8usize];
6044    ["Offset of field: mod_para_type::poly1"]
6045        [::std::mem::offset_of!(mod_para_type, poly1) - 0usize];
6046    ["Offset of field: mod_para_type::poly2"]
6047        [::std::mem::offset_of!(mod_para_type, poly2) - 8usize];
6048    ["Offset of field: mod_para_type::first1"]
6049        [::std::mem::offset_of!(mod_para_type, first1) - 16usize];
6050    ["Offset of field: mod_para_type::last1"]
6051        [::std::mem::offset_of!(mod_para_type, last1) - 20usize];
6052    ["Offset of field: mod_para_type::first2"]
6053        [::std::mem::offset_of!(mod_para_type, first2) - 24usize];
6054    ["Offset of field: mod_para_type::last2"]
6055        [::std::mem::offset_of!(mod_para_type, last2) - 28usize];
6056    ["Offset of field: mod_para_type::first1_dist"]
6057        [::std::mem::offset_of!(mod_para_type, first1_dist) - 32usize];
6058    ["Offset of field: mod_para_type::last1_dist"]
6059        [::std::mem::offset_of!(mod_para_type, last1_dist) - 36usize];
6060    ["Offset of field: mod_para_type::first2_dist"]
6061        [::std::mem::offset_of!(mod_para_type, first2_dist) - 40usize];
6062    ["Offset of field: mod_para_type::last2_dist"]
6063        [::std::mem::offset_of!(mod_para_type, last2_dist) - 44usize];
6064    ["Offset of field: mod_para_type::dir1"][::std::mem::offset_of!(mod_para_type, dir1) - 48usize];
6065    ["Offset of field: mod_para_type::dir2"][::std::mem::offset_of!(mod_para_type, dir2) - 50usize];
6066};
6067pub type Hmod_para = mod_para_type;
6068#[repr(C)]
6069#[derive(Debug, Copy, Clone)]
6070pub struct ext_para_type {
6071    pub poly1: Hkey,
6072    pub poly2: Hkey,
6073    pub first1: HITEMCNT,
6074    pub last1: HITEMCNT,
6075    pub first2: HITEMCNT,
6076    pub last2: HITEMCNT,
6077}
6078#[allow(clippy::unnecessary_operation, clippy::identity_op)]
6079const _: () = {
6080    ["Size of ext_para_type"][::std::mem::size_of::<ext_para_type>() - 32usize];
6081    ["Alignment of ext_para_type"][::std::mem::align_of::<ext_para_type>() - 8usize];
6082    ["Offset of field: ext_para_type::poly1"]
6083        [::std::mem::offset_of!(ext_para_type, poly1) - 0usize];
6084    ["Offset of field: ext_para_type::poly2"]
6085        [::std::mem::offset_of!(ext_para_type, poly2) - 8usize];
6086    ["Offset of field: ext_para_type::first1"]
6087        [::std::mem::offset_of!(ext_para_type, first1) - 16usize];
6088    ["Offset of field: ext_para_type::last1"]
6089        [::std::mem::offset_of!(ext_para_type, last1) - 20usize];
6090    ["Offset of field: ext_para_type::first2"]
6091        [::std::mem::offset_of!(ext_para_type, first2) - 24usize];
6092    ["Offset of field: ext_para_type::last2"]
6093        [::std::mem::offset_of!(ext_para_type, last2) - 28usize];
6094};
6095pub type Hext_para = ext_para_type;
6096pub type Hhom_mat_2d = [[f64; 3usize]; 2usize];
6097pub type pHhom_mat_2d = *mut [f64; 3usize];
6098pub type pHhom_mat_2d_const = *const [f64; 3usize];
6099pub type puHhom_mat_2d = *mut [f64; 3usize];
6100pub type Hhom_mat_3d = [[f64; 4usize]; 3usize];
6101pub type pHhom_mat_3d = *mut [f64; 4usize];
6102pub type puHhom_mat_3d = *mut [f64; 4usize];
6103pub type Hproj_mat_2d = [[f64; 3usize]; 3usize];
6104pub type pHproj_mat_2d = *mut [f64; 3usize];
6105pub type pHproj_mat_2d_const = *const [f64; 3usize];
6106pub type puHproj_mat_2d = *mut [f64; 3usize];
6107pub type Hproj_mat_3d = [[f64; 4usize]; 4usize];
6108pub type pHproj_mat_3d = *mut [f64; 4usize];
6109pub type puHproj_mat_3d = *mut [f64; 4usize];
6110#[repr(C)]
6111#[derive(Debug, Copy, Clone)]
6112pub struct Hfunction_1d {
6113    pub num: i32,
6114    pub x: *mut f32,
6115    pub y: *mut f32,
6116    pub xmin: f32,
6117    pub xmax: f32,
6118    pub xdist: f32,
6119    pub is_equidist: bool,
6120}
6121#[allow(clippy::unnecessary_operation, clippy::identity_op)]
6122const _: () = {
6123    ["Size of Hfunction_1d"][::std::mem::size_of::<Hfunction_1d>() - 40usize];
6124    ["Alignment of Hfunction_1d"][::std::mem::align_of::<Hfunction_1d>() - 8usize];
6125    ["Offset of field: Hfunction_1d::num"][::std::mem::offset_of!(Hfunction_1d, num) - 0usize];
6126    ["Offset of field: Hfunction_1d::x"][::std::mem::offset_of!(Hfunction_1d, x) - 8usize];
6127    ["Offset of field: Hfunction_1d::y"][::std::mem::offset_of!(Hfunction_1d, y) - 16usize];
6128    ["Offset of field: Hfunction_1d::xmin"][::std::mem::offset_of!(Hfunction_1d, xmin) - 24usize];
6129    ["Offset of field: Hfunction_1d::xmax"][::std::mem::offset_of!(Hfunction_1d, xmax) - 28usize];
6130    ["Offset of field: Hfunction_1d::xdist"][::std::mem::offset_of!(Hfunction_1d, xdist) - 32usize];
6131    ["Offset of field: Hfunction_1d::is_equidist"]
6132        [::std::mem::offset_of!(Hfunction_1d, is_equidist) - 36usize];
6133};
6134#[repr(C)]
6135#[derive(Copy, Clone)]
6136pub union DPHpar {
6137    pub l: *mut INT4_8,
6138    pub f: *mut f64,
6139    pub s: *mut ::std::os::raw::c_char,
6140}
6141#[allow(clippy::unnecessary_operation, clippy::identity_op)]
6142const _: () = {
6143    ["Size of DPHpar"][::std::mem::size_of::<DPHpar>() - 8usize];
6144    ["Alignment of DPHpar"][::std::mem::align_of::<DPHpar>() - 8usize];
6145    ["Offset of field: DPHpar::l"][::std::mem::offset_of!(DPHpar, l) - 0usize];
6146    ["Offset of field: DPHpar::f"][::std::mem::offset_of!(DPHpar, f) - 0usize];
6147    ["Offset of field: DPHpar::s"][::std::mem::offset_of!(DPHpar, s) - 0usize];
6148};
6149#[repr(C)]
6150#[derive(Copy, Clone)]
6151pub union DVHpar {
6152    pub l: INT4_8,
6153    pub f: f64,
6154    pub s: *mut ::std::os::raw::c_char,
6155}
6156#[allow(clippy::unnecessary_operation, clippy::identity_op)]
6157const _: () = {
6158    ["Size of DVHpar"][::std::mem::size_of::<DVHpar>() - 8usize];
6159    ["Alignment of DVHpar"][::std::mem::align_of::<DVHpar>() - 8usize];
6160    ["Offset of field: DVHpar::l"][::std::mem::offset_of!(DVHpar, l) - 0usize];
6161    ["Offset of field: DVHpar::f"][::std::mem::offset_of!(DVHpar, f) - 0usize];
6162    ["Offset of field: DVHpar::s"][::std::mem::offset_of!(DVHpar, s) - 0usize];
6163};
6164pub type HLowLevelErrorCallbackProc =
6165    ::std::option::Option<unsafe extern "C" fn(err: *const ::std::os::raw::c_char)>;
6166unsafe extern "C" {
6167    pub fn memchr(
6168        _Buf: *const ::std::os::raw::c_void,
6169        _Val: ::std::os::raw::c_int,
6170        _MaxCount: ::std::os::raw::c_ulonglong,
6171    ) -> *mut ::std::os::raw::c_void;
6172}
6173unsafe extern "C" {
6174    pub fn memcmp(
6175        _Buf1: *const ::std::os::raw::c_void,
6176        _Buf2: *const ::std::os::raw::c_void,
6177        _Size: ::std::os::raw::c_ulonglong,
6178    ) -> ::std::os::raw::c_int;
6179}
6180unsafe extern "C" {
6181    pub fn memcpy(
6182        _Dst: *mut ::std::os::raw::c_void,
6183        _Src: *const ::std::os::raw::c_void,
6184        _Size: ::std::os::raw::c_ulonglong,
6185    ) -> *mut ::std::os::raw::c_void;
6186}
6187unsafe extern "C" {
6188    pub fn memmove(
6189        _Dst: *mut ::std::os::raw::c_void,
6190        _Src: *const ::std::os::raw::c_void,
6191        _Size: ::std::os::raw::c_ulonglong,
6192    ) -> *mut ::std::os::raw::c_void;
6193}
6194unsafe extern "C" {
6195    pub fn memset(
6196        _Dst: *mut ::std::os::raw::c_void,
6197        _Val: ::std::os::raw::c_int,
6198        _Size: ::std::os::raw::c_ulonglong,
6199    ) -> *mut ::std::os::raw::c_void;
6200}
6201unsafe extern "C" {
6202    pub fn strchr(
6203        _Str: *const ::std::os::raw::c_char,
6204        _Val: ::std::os::raw::c_int,
6205    ) -> *mut ::std::os::raw::c_char;
6206}
6207unsafe extern "C" {
6208    pub fn strrchr(
6209        _Str: *const ::std::os::raw::c_char,
6210        _Ch: ::std::os::raw::c_int,
6211    ) -> *mut ::std::os::raw::c_char;
6212}
6213unsafe extern "C" {
6214    pub fn strstr(
6215        _Str: *const ::std::os::raw::c_char,
6216        _SubStr: *const ::std::os::raw::c_char,
6217    ) -> *mut ::std::os::raw::c_char;
6218}
6219unsafe extern "C" {
6220    pub fn wcschr(
6221        _Str: *const ::std::os::raw::c_ushort,
6222        _Ch: ::std::os::raw::c_ushort,
6223    ) -> *mut ::std::os::raw::c_ushort;
6224}
6225unsafe extern "C" {
6226    pub fn wcsrchr(_Str: *const wchar_t, _Ch: wchar_t) -> *mut wchar_t;
6227}
6228unsafe extern "C" {
6229    pub fn wcsstr(_Str: *const wchar_t, _SubStr: *const wchar_t) -> *mut wchar_t;
6230}
6231unsafe extern "C" {
6232    pub fn _memicmp(
6233        _Buf1: *const ::std::os::raw::c_void,
6234        _Buf2: *const ::std::os::raw::c_void,
6235        _Size: usize,
6236    ) -> ::std::os::raw::c_int;
6237}
6238unsafe extern "C" {
6239    pub fn _memicmp_l(
6240        _Buf1: *const ::std::os::raw::c_void,
6241        _Buf2: *const ::std::os::raw::c_void,
6242        _Size: usize,
6243        _Locale: _locale_t,
6244    ) -> ::std::os::raw::c_int;
6245}
6246unsafe extern "C" {
6247    pub fn memccpy(
6248        _Dst: *mut ::std::os::raw::c_void,
6249        _Src: *const ::std::os::raw::c_void,
6250        _Val: ::std::os::raw::c_int,
6251        _Size: ::std::os::raw::c_ulonglong,
6252    ) -> *mut ::std::os::raw::c_void;
6253}
6254unsafe extern "C" {
6255    pub fn memicmp(
6256        _Buf1: *const ::std::os::raw::c_void,
6257        _Buf2: *const ::std::os::raw::c_void,
6258        _Size: usize,
6259    ) -> ::std::os::raw::c_int;
6260}
6261unsafe extern "C" {
6262    pub fn wcscat_s(
6263        _Destination: *mut wchar_t,
6264        _SizeInWords: rsize_t,
6265        _Source: *const wchar_t,
6266    ) -> errno_t;
6267}
6268unsafe extern "C" {
6269    pub fn wcscpy_s(
6270        _Destination: *mut wchar_t,
6271        _SizeInWords: rsize_t,
6272        _Source: *const wchar_t,
6273    ) -> errno_t;
6274}
6275unsafe extern "C" {
6276    pub fn wcsncat_s(
6277        _Destination: *mut wchar_t,
6278        _SizeInWords: rsize_t,
6279        _Source: *const wchar_t,
6280        _MaxCount: rsize_t,
6281    ) -> errno_t;
6282}
6283unsafe extern "C" {
6284    pub fn wcsncpy_s(
6285        _Destination: *mut wchar_t,
6286        _SizeInWords: rsize_t,
6287        _Source: *const wchar_t,
6288        _MaxCount: rsize_t,
6289    ) -> errno_t;
6290}
6291unsafe extern "C" {
6292    pub fn wcstok_s(
6293        _String: *mut wchar_t,
6294        _Delimiter: *const wchar_t,
6295        _Context: *mut *mut wchar_t,
6296    ) -> *mut wchar_t;
6297}
6298unsafe extern "C" {
6299    pub fn _wcsdup(_String: *const wchar_t) -> *mut wchar_t;
6300}
6301unsafe extern "C" {
6302    pub fn wcscat(_Destination: *mut wchar_t, _Source: *const wchar_t) -> *mut wchar_t;
6303}
6304unsafe extern "C" {
6305    pub fn wcscmp(
6306        _String1: *const ::std::os::raw::c_ushort,
6307        _String2: *const ::std::os::raw::c_ushort,
6308    ) -> ::std::os::raw::c_int;
6309}
6310unsafe extern "C" {
6311    pub fn wcscpy(_Destination: *mut wchar_t, _Source: *const wchar_t) -> *mut wchar_t;
6312}
6313unsafe extern "C" {
6314    pub fn wcscspn(_String: *const wchar_t, _Control: *const wchar_t) -> usize;
6315}
6316unsafe extern "C" {
6317    pub fn wcslen(_String: *const ::std::os::raw::c_ushort) -> ::std::os::raw::c_ulonglong;
6318}
6319unsafe extern "C" {
6320    pub fn wcsnlen(_Source: *const wchar_t, _MaxCount: usize) -> usize;
6321}
6322unsafe extern "C" {
6323    pub fn wcsncat(
6324        _Destination: *mut wchar_t,
6325        _Source: *const wchar_t,
6326        _Count: usize,
6327    ) -> *mut wchar_t;
6328}
6329unsafe extern "C" {
6330    pub fn wcsncmp(
6331        _String1: *const ::std::os::raw::c_ushort,
6332        _String2: *const ::std::os::raw::c_ushort,
6333        _MaxCount: ::std::os::raw::c_ulonglong,
6334    ) -> ::std::os::raw::c_int;
6335}
6336unsafe extern "C" {
6337    pub fn wcsncpy(
6338        _Destination: *mut wchar_t,
6339        _Source: *const wchar_t,
6340        _Count: usize,
6341    ) -> *mut wchar_t;
6342}
6343unsafe extern "C" {
6344    pub fn wcspbrk(_String: *const wchar_t, _Control: *const wchar_t) -> *mut wchar_t;
6345}
6346unsafe extern "C" {
6347    pub fn wcsspn(_String: *const wchar_t, _Control: *const wchar_t) -> usize;
6348}
6349unsafe extern "C" {
6350    pub fn wcstok(
6351        _String: *mut wchar_t,
6352        _Delimiter: *const wchar_t,
6353        _Context: *mut *mut wchar_t,
6354    ) -> *mut wchar_t;
6355}
6356unsafe extern "C" {
6357    pub fn _wcserror(_ErrorNumber: ::std::os::raw::c_int) -> *mut wchar_t;
6358}
6359unsafe extern "C" {
6360    pub fn _wcserror_s(
6361        _Buffer: *mut wchar_t,
6362        _SizeInWords: usize,
6363        _ErrorNumber: ::std::os::raw::c_int,
6364    ) -> errno_t;
6365}
6366unsafe extern "C" {
6367    pub fn __wcserror(_String: *const wchar_t) -> *mut wchar_t;
6368}
6369unsafe extern "C" {
6370    pub fn __wcserror_s(
6371        _Buffer: *mut wchar_t,
6372        _SizeInWords: usize,
6373        _ErrorMessage: *const wchar_t,
6374    ) -> errno_t;
6375}
6376unsafe extern "C" {
6377    pub fn _wcsicmp(_String1: *const wchar_t, _String2: *const wchar_t) -> ::std::os::raw::c_int;
6378}
6379unsafe extern "C" {
6380    pub fn _wcsicmp_l(
6381        _String1: *const wchar_t,
6382        _String2: *const wchar_t,
6383        _Locale: _locale_t,
6384    ) -> ::std::os::raw::c_int;
6385}
6386unsafe extern "C" {
6387    pub fn _wcsnicmp(
6388        _String1: *const wchar_t,
6389        _String2: *const wchar_t,
6390        _MaxCount: usize,
6391    ) -> ::std::os::raw::c_int;
6392}
6393unsafe extern "C" {
6394    pub fn _wcsnicmp_l(
6395        _String1: *const wchar_t,
6396        _String2: *const wchar_t,
6397        _MaxCount: usize,
6398        _Locale: _locale_t,
6399    ) -> ::std::os::raw::c_int;
6400}
6401unsafe extern "C" {
6402    pub fn _wcsnset_s(
6403        _Destination: *mut wchar_t,
6404        _SizeInWords: usize,
6405        _Value: wchar_t,
6406        _MaxCount: usize,
6407    ) -> errno_t;
6408}
6409unsafe extern "C" {
6410    pub fn _wcsnset(_String: *mut wchar_t, _Value: wchar_t, _MaxCount: usize) -> *mut wchar_t;
6411}
6412unsafe extern "C" {
6413    pub fn _wcsrev(_String: *mut wchar_t) -> *mut wchar_t;
6414}
6415unsafe extern "C" {
6416    pub fn _wcsset_s(_Destination: *mut wchar_t, _SizeInWords: usize, _Value: wchar_t) -> errno_t;
6417}
6418unsafe extern "C" {
6419    pub fn _wcsset(_String: *mut wchar_t, _Value: wchar_t) -> *mut wchar_t;
6420}
6421unsafe extern "C" {
6422    pub fn _wcslwr_s(_String: *mut wchar_t, _SizeInWords: usize) -> errno_t;
6423}
6424unsafe extern "C" {
6425    pub fn _wcslwr(_String: *mut wchar_t) -> *mut wchar_t;
6426}
6427unsafe extern "C" {
6428    pub fn _wcslwr_s_l(_String: *mut wchar_t, _SizeInWords: usize, _Locale: _locale_t) -> errno_t;
6429}
6430unsafe extern "C" {
6431    pub fn _wcslwr_l(_String: *mut wchar_t, _Locale: _locale_t) -> *mut wchar_t;
6432}
6433unsafe extern "C" {
6434    pub fn _wcsupr_s(_String: *mut wchar_t, _Size: usize) -> errno_t;
6435}
6436unsafe extern "C" {
6437    pub fn _wcsupr(_String: *mut wchar_t) -> *mut wchar_t;
6438}
6439unsafe extern "C" {
6440    pub fn _wcsupr_s_l(_String: *mut wchar_t, _Size: usize, _Locale: _locale_t) -> errno_t;
6441}
6442unsafe extern "C" {
6443    pub fn _wcsupr_l(_String: *mut wchar_t, _Locale: _locale_t) -> *mut wchar_t;
6444}
6445unsafe extern "C" {
6446    pub fn wcsxfrm(_Destination: *mut wchar_t, _Source: *const wchar_t, _MaxCount: usize) -> usize;
6447}
6448unsafe extern "C" {
6449    pub fn _wcsxfrm_l(
6450        _Destination: *mut wchar_t,
6451        _Source: *const wchar_t,
6452        _MaxCount: usize,
6453        _Locale: _locale_t,
6454    ) -> usize;
6455}
6456unsafe extern "C" {
6457    pub fn wcscoll(_String1: *const wchar_t, _String2: *const wchar_t) -> ::std::os::raw::c_int;
6458}
6459unsafe extern "C" {
6460    pub fn _wcscoll_l(
6461        _String1: *const wchar_t,
6462        _String2: *const wchar_t,
6463        _Locale: _locale_t,
6464    ) -> ::std::os::raw::c_int;
6465}
6466unsafe extern "C" {
6467    pub fn _wcsicoll(_String1: *const wchar_t, _String2: *const wchar_t) -> ::std::os::raw::c_int;
6468}
6469unsafe extern "C" {
6470    pub fn _wcsicoll_l(
6471        _String1: *const wchar_t,
6472        _String2: *const wchar_t,
6473        _Locale: _locale_t,
6474    ) -> ::std::os::raw::c_int;
6475}
6476unsafe extern "C" {
6477    pub fn _wcsncoll(
6478        _String1: *const wchar_t,
6479        _String2: *const wchar_t,
6480        _MaxCount: usize,
6481    ) -> ::std::os::raw::c_int;
6482}
6483unsafe extern "C" {
6484    pub fn _wcsncoll_l(
6485        _String1: *const wchar_t,
6486        _String2: *const wchar_t,
6487        _MaxCount: usize,
6488        _Locale: _locale_t,
6489    ) -> ::std::os::raw::c_int;
6490}
6491unsafe extern "C" {
6492    pub fn _wcsnicoll(
6493        _String1: *const wchar_t,
6494        _String2: *const wchar_t,
6495        _MaxCount: usize,
6496    ) -> ::std::os::raw::c_int;
6497}
6498unsafe extern "C" {
6499    pub fn _wcsnicoll_l(
6500        _String1: *const wchar_t,
6501        _String2: *const wchar_t,
6502        _MaxCount: usize,
6503        _Locale: _locale_t,
6504    ) -> ::std::os::raw::c_int;
6505}
6506unsafe extern "C" {
6507    pub fn wcsdup(_String: *const wchar_t) -> *mut wchar_t;
6508}
6509unsafe extern "C" {
6510    pub fn wcsicmp(_String1: *const wchar_t, _String2: *const wchar_t) -> ::std::os::raw::c_int;
6511}
6512unsafe extern "C" {
6513    pub fn wcsnicmp(
6514        _String1: *const wchar_t,
6515        _String2: *const wchar_t,
6516        _MaxCount: usize,
6517    ) -> ::std::os::raw::c_int;
6518}
6519unsafe extern "C" {
6520    pub fn wcsnset(_String: *mut wchar_t, _Value: wchar_t, _MaxCount: usize) -> *mut wchar_t;
6521}
6522unsafe extern "C" {
6523    pub fn wcsrev(_String: *mut wchar_t) -> *mut wchar_t;
6524}
6525unsafe extern "C" {
6526    pub fn wcsset(_String: *mut wchar_t, _Value: wchar_t) -> *mut wchar_t;
6527}
6528unsafe extern "C" {
6529    pub fn wcslwr(_String: *mut wchar_t) -> *mut wchar_t;
6530}
6531unsafe extern "C" {
6532    pub fn wcsupr(_String: *mut wchar_t) -> *mut wchar_t;
6533}
6534unsafe extern "C" {
6535    pub fn wcsicoll(_String1: *const wchar_t, _String2: *const wchar_t) -> ::std::os::raw::c_int;
6536}
6537unsafe extern "C" {
6538    pub fn strcpy_s(
6539        _Destination: *mut ::std::os::raw::c_char,
6540        _SizeInBytes: rsize_t,
6541        _Source: *const ::std::os::raw::c_char,
6542    ) -> errno_t;
6543}
6544unsafe extern "C" {
6545    pub fn strcat_s(
6546        _Destination: *mut ::std::os::raw::c_char,
6547        _SizeInBytes: rsize_t,
6548        _Source: *const ::std::os::raw::c_char,
6549    ) -> errno_t;
6550}
6551unsafe extern "C" {
6552    pub fn strerror_s(
6553        _Buffer: *mut ::std::os::raw::c_char,
6554        _SizeInBytes: usize,
6555        _ErrorNumber: ::std::os::raw::c_int,
6556    ) -> errno_t;
6557}
6558unsafe extern "C" {
6559    pub fn strncat_s(
6560        _Destination: *mut ::std::os::raw::c_char,
6561        _SizeInBytes: rsize_t,
6562        _Source: *const ::std::os::raw::c_char,
6563        _MaxCount: rsize_t,
6564    ) -> errno_t;
6565}
6566unsafe extern "C" {
6567    pub fn strncpy_s(
6568        _Destination: *mut ::std::os::raw::c_char,
6569        _SizeInBytes: rsize_t,
6570        _Source: *const ::std::os::raw::c_char,
6571        _MaxCount: rsize_t,
6572    ) -> errno_t;
6573}
6574unsafe extern "C" {
6575    pub fn strtok_s(
6576        _String: *mut ::std::os::raw::c_char,
6577        _Delimiter: *const ::std::os::raw::c_char,
6578        _Context: *mut *mut ::std::os::raw::c_char,
6579    ) -> *mut ::std::os::raw::c_char;
6580}
6581unsafe extern "C" {
6582    pub fn _memccpy(
6583        _Dst: *mut ::std::os::raw::c_void,
6584        _Src: *const ::std::os::raw::c_void,
6585        _Val: ::std::os::raw::c_int,
6586        _MaxCount: usize,
6587    ) -> *mut ::std::os::raw::c_void;
6588}
6589unsafe extern "C" {
6590    pub fn strcat(
6591        _Destination: *mut ::std::os::raw::c_char,
6592        _Source: *const ::std::os::raw::c_char,
6593    ) -> *mut ::std::os::raw::c_char;
6594}
6595unsafe extern "C" {
6596    pub fn strcmp(
6597        _Str1: *const ::std::os::raw::c_char,
6598        _Str2: *const ::std::os::raw::c_char,
6599    ) -> ::std::os::raw::c_int;
6600}
6601unsafe extern "C" {
6602    pub fn _strcmpi(
6603        _String1: *const ::std::os::raw::c_char,
6604        _String2: *const ::std::os::raw::c_char,
6605    ) -> ::std::os::raw::c_int;
6606}
6607unsafe extern "C" {
6608    pub fn strcoll(
6609        _String1: *const ::std::os::raw::c_char,
6610        _String2: *const ::std::os::raw::c_char,
6611    ) -> ::std::os::raw::c_int;
6612}
6613unsafe extern "C" {
6614    pub fn _strcoll_l(
6615        _String1: *const ::std::os::raw::c_char,
6616        _String2: *const ::std::os::raw::c_char,
6617        _Locale: _locale_t,
6618    ) -> ::std::os::raw::c_int;
6619}
6620unsafe extern "C" {
6621    pub fn strcpy(
6622        _Destination: *mut ::std::os::raw::c_char,
6623        _Source: *const ::std::os::raw::c_char,
6624    ) -> *mut ::std::os::raw::c_char;
6625}
6626unsafe extern "C" {
6627    pub fn strcspn(
6628        _Str: *const ::std::os::raw::c_char,
6629        _Control: *const ::std::os::raw::c_char,
6630    ) -> ::std::os::raw::c_ulonglong;
6631}
6632unsafe extern "C" {
6633    pub fn _strdup(_Source: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
6634}
6635unsafe extern "C" {
6636    pub fn _strerror(_ErrorMessage: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
6637}
6638unsafe extern "C" {
6639    pub fn _strerror_s(
6640        _Buffer: *mut ::std::os::raw::c_char,
6641        _SizeInBytes: usize,
6642        _ErrorMessage: *const ::std::os::raw::c_char,
6643    ) -> errno_t;
6644}
6645unsafe extern "C" {
6646    pub fn strerror(_ErrorMessage: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char;
6647}
6648unsafe extern "C" {
6649    pub fn _stricmp(
6650        _String1: *const ::std::os::raw::c_char,
6651        _String2: *const ::std::os::raw::c_char,
6652    ) -> ::std::os::raw::c_int;
6653}
6654unsafe extern "C" {
6655    pub fn _stricoll(
6656        _String1: *const ::std::os::raw::c_char,
6657        _String2: *const ::std::os::raw::c_char,
6658    ) -> ::std::os::raw::c_int;
6659}
6660unsafe extern "C" {
6661    pub fn _stricoll_l(
6662        _String1: *const ::std::os::raw::c_char,
6663        _String2: *const ::std::os::raw::c_char,
6664        _Locale: _locale_t,
6665    ) -> ::std::os::raw::c_int;
6666}
6667unsafe extern "C" {
6668    pub fn _stricmp_l(
6669        _String1: *const ::std::os::raw::c_char,
6670        _String2: *const ::std::os::raw::c_char,
6671        _Locale: _locale_t,
6672    ) -> ::std::os::raw::c_int;
6673}
6674unsafe extern "C" {
6675    pub fn strlen(_Str: *const ::std::os::raw::c_char) -> ::std::os::raw::c_ulonglong;
6676}
6677unsafe extern "C" {
6678    pub fn _strlwr_s(_String: *mut ::std::os::raw::c_char, _Size: usize) -> errno_t;
6679}
6680unsafe extern "C" {
6681    pub fn _strlwr(_String: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
6682}
6683unsafe extern "C" {
6684    pub fn _strlwr_s_l(
6685        _String: *mut ::std::os::raw::c_char,
6686        _Size: usize,
6687        _Locale: _locale_t,
6688    ) -> errno_t;
6689}
6690unsafe extern "C" {
6691    pub fn _strlwr_l(
6692        _String: *mut ::std::os::raw::c_char,
6693        _Locale: _locale_t,
6694    ) -> *mut ::std::os::raw::c_char;
6695}
6696unsafe extern "C" {
6697    pub fn strncat(
6698        _Destination: *mut ::std::os::raw::c_char,
6699        _Source: *const ::std::os::raw::c_char,
6700        _Count: ::std::os::raw::c_ulonglong,
6701    ) -> *mut ::std::os::raw::c_char;
6702}
6703unsafe extern "C" {
6704    pub fn strncmp(
6705        _Str1: *const ::std::os::raw::c_char,
6706        _Str2: *const ::std::os::raw::c_char,
6707        _MaxCount: ::std::os::raw::c_ulonglong,
6708    ) -> ::std::os::raw::c_int;
6709}
6710unsafe extern "C" {
6711    pub fn _strnicmp(
6712        _String1: *const ::std::os::raw::c_char,
6713        _String2: *const ::std::os::raw::c_char,
6714        _MaxCount: usize,
6715    ) -> ::std::os::raw::c_int;
6716}
6717unsafe extern "C" {
6718    pub fn _strnicmp_l(
6719        _String1: *const ::std::os::raw::c_char,
6720        _String2: *const ::std::os::raw::c_char,
6721        _MaxCount: usize,
6722        _Locale: _locale_t,
6723    ) -> ::std::os::raw::c_int;
6724}
6725unsafe extern "C" {
6726    pub fn _strnicoll(
6727        _String1: *const ::std::os::raw::c_char,
6728        _String2: *const ::std::os::raw::c_char,
6729        _MaxCount: usize,
6730    ) -> ::std::os::raw::c_int;
6731}
6732unsafe extern "C" {
6733    pub fn _strnicoll_l(
6734        _String1: *const ::std::os::raw::c_char,
6735        _String2: *const ::std::os::raw::c_char,
6736        _MaxCount: usize,
6737        _Locale: _locale_t,
6738    ) -> ::std::os::raw::c_int;
6739}
6740unsafe extern "C" {
6741    pub fn _strncoll(
6742        _String1: *const ::std::os::raw::c_char,
6743        _String2: *const ::std::os::raw::c_char,
6744        _MaxCount: usize,
6745    ) -> ::std::os::raw::c_int;
6746}
6747unsafe extern "C" {
6748    pub fn _strncoll_l(
6749        _String1: *const ::std::os::raw::c_char,
6750        _String2: *const ::std::os::raw::c_char,
6751        _MaxCount: usize,
6752        _Locale: _locale_t,
6753    ) -> ::std::os::raw::c_int;
6754}
6755unsafe extern "C" {
6756    pub fn __strncnt(_String: *const ::std::os::raw::c_char, _Count: usize) -> usize;
6757}
6758unsafe extern "C" {
6759    pub fn strncpy(
6760        _Destination: *mut ::std::os::raw::c_char,
6761        _Source: *const ::std::os::raw::c_char,
6762        _Count: ::std::os::raw::c_ulonglong,
6763    ) -> *mut ::std::os::raw::c_char;
6764}
6765unsafe extern "C" {
6766    pub fn strnlen(_String: *const ::std::os::raw::c_char, _MaxCount: usize) -> usize;
6767}
6768unsafe extern "C" {
6769    pub fn _strnset_s(
6770        _String: *mut ::std::os::raw::c_char,
6771        _SizeInBytes: usize,
6772        _Value: ::std::os::raw::c_int,
6773        _MaxCount: usize,
6774    ) -> errno_t;
6775}
6776unsafe extern "C" {
6777    pub fn _strnset(
6778        _Destination: *mut ::std::os::raw::c_char,
6779        _Value: ::std::os::raw::c_int,
6780        _Count: usize,
6781    ) -> *mut ::std::os::raw::c_char;
6782}
6783unsafe extern "C" {
6784    pub fn strpbrk(
6785        _Str: *const ::std::os::raw::c_char,
6786        _Control: *const ::std::os::raw::c_char,
6787    ) -> *mut ::std::os::raw::c_char;
6788}
6789unsafe extern "C" {
6790    pub fn _strrev(_Str: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
6791}
6792unsafe extern "C" {
6793    pub fn _strset_s(
6794        _Destination: *mut ::std::os::raw::c_char,
6795        _DestinationSize: usize,
6796        _Value: ::std::os::raw::c_int,
6797    ) -> errno_t;
6798}
6799unsafe extern "C" {
6800    pub fn _strset(
6801        _Destination: *mut ::std::os::raw::c_char,
6802        _Value: ::std::os::raw::c_int,
6803    ) -> *mut ::std::os::raw::c_char;
6804}
6805unsafe extern "C" {
6806    pub fn strspn(
6807        _Str: *const ::std::os::raw::c_char,
6808        _Control: *const ::std::os::raw::c_char,
6809    ) -> ::std::os::raw::c_ulonglong;
6810}
6811unsafe extern "C" {
6812    pub fn strtok(
6813        _String: *mut ::std::os::raw::c_char,
6814        _Delimiter: *const ::std::os::raw::c_char,
6815    ) -> *mut ::std::os::raw::c_char;
6816}
6817unsafe extern "C" {
6818    pub fn _strupr_s(_String: *mut ::std::os::raw::c_char, _Size: usize) -> errno_t;
6819}
6820unsafe extern "C" {
6821    pub fn _strupr(_String: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
6822}
6823unsafe extern "C" {
6824    pub fn _strupr_s_l(
6825        _String: *mut ::std::os::raw::c_char,
6826        _Size: usize,
6827        _Locale: _locale_t,
6828    ) -> errno_t;
6829}
6830unsafe extern "C" {
6831    pub fn _strupr_l(
6832        _String: *mut ::std::os::raw::c_char,
6833        _Locale: _locale_t,
6834    ) -> *mut ::std::os::raw::c_char;
6835}
6836unsafe extern "C" {
6837    pub fn strxfrm(
6838        _Destination: *mut ::std::os::raw::c_char,
6839        _Source: *const ::std::os::raw::c_char,
6840        _MaxCount: ::std::os::raw::c_ulonglong,
6841    ) -> ::std::os::raw::c_ulonglong;
6842}
6843unsafe extern "C" {
6844    pub fn _strxfrm_l(
6845        _Destination: *mut ::std::os::raw::c_char,
6846        _Source: *const ::std::os::raw::c_char,
6847        _MaxCount: usize,
6848        _Locale: _locale_t,
6849    ) -> usize;
6850}
6851unsafe extern "C" {
6852    pub fn strdup(_String: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
6853}
6854unsafe extern "C" {
6855    pub fn strcmpi(
6856        _String1: *const ::std::os::raw::c_char,
6857        _String2: *const ::std::os::raw::c_char,
6858    ) -> ::std::os::raw::c_int;
6859}
6860unsafe extern "C" {
6861    pub fn stricmp(
6862        _String1: *const ::std::os::raw::c_char,
6863        _String2: *const ::std::os::raw::c_char,
6864    ) -> ::std::os::raw::c_int;
6865}
6866unsafe extern "C" {
6867    pub fn strlwr(_String: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
6868}
6869unsafe extern "C" {
6870    pub fn strnicmp(
6871        _String1: *const ::std::os::raw::c_char,
6872        _String2: *const ::std::os::raw::c_char,
6873        _MaxCount: usize,
6874    ) -> ::std::os::raw::c_int;
6875}
6876unsafe extern "C" {
6877    pub fn strnset(
6878        _String: *mut ::std::os::raw::c_char,
6879        _Value: ::std::os::raw::c_int,
6880        _MaxCount: usize,
6881    ) -> *mut ::std::os::raw::c_char;
6882}
6883unsafe extern "C" {
6884    pub fn strrev(_String: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
6885}
6886unsafe extern "C" {
6887    pub fn strset(
6888        _String: *mut ::std::os::raw::c_char,
6889        _Value: ::std::os::raw::c_int,
6890    ) -> *mut ::std::os::raw::c_char;
6891}
6892unsafe extern "C" {
6893    pub fn strupr(_String: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
6894}
6895pub type Hobject = Hkey;
6896pub type Htuple = Hctuple;
6897unsafe extern "C" {
6898    pub fn SetHcInterfaceStringEncodingIsUtf8(is_utf8: ::std::os::raw::c_int);
6899}
6900unsafe extern "C" {
6901    pub fn IsHcInterfaceStringEncodingUtf8() -> ::std::os::raw::c_int;
6902}
6903unsafe extern "C" {
6904    pub fn CMalloc(
6905        size: usize,
6906        file: *const ::std::os::raw::c_char,
6907        line: INT4_8,
6908    ) -> *mut ::std::os::raw::c_void;
6909}
6910unsafe extern "C" {
6911    pub fn CFree(
6912        mem: *mut ::std::os::raw::c_void,
6913        file: *const ::std::os::raw::c_char,
6914        line: INT4_8,
6915    );
6916}
6917unsafe extern "C" {
6918    pub fn Mcreate_tuple(
6919        t: *mut Htuple,
6920        l: Hlong,
6921        file: *const ::std::os::raw::c_char,
6922        line: ::std::os::raw::c_int,
6923    );
6924}
6925unsafe extern "C" {
6926    pub fn Mcreate_tuple_type(
6927        t: *mut Htuple,
6928        l: Hlong,
6929        type_: ::std::os::raw::c_int,
6930        file: *const ::std::os::raw::c_char,
6931        line: ::std::os::raw::c_int,
6932    );
6933}
6934unsafe extern "C" {
6935    pub fn Mcopy_tuple(
6936        input: *const Htuple,
6937        output: *mut Htuple,
6938        file: *const ::std::os::raw::c_char,
6939        line: ::std::os::raw::c_int,
6940    );
6941}
6942unsafe extern "C" {
6943    pub fn Mattach_tuple(
6944        src: *mut Htuple,
6945        dest: *mut Htuple,
6946        file: *const ::std::os::raw::c_char,
6947        line: ::std::os::raw::c_int,
6948    );
6949}
6950unsafe extern "C" {
6951    pub fn Mresize_tuple(
6952        input: *mut Htuple,
6953        LEN: Hlong,
6954        file: *const ::std::os::raw::c_char,
6955        line: ::std::os::raw::c_int,
6956    );
6957}
6958unsafe extern "C" {
6959    pub fn Mdestroy_tuple(
6960        t: *mut Htuple,
6961        file: *const ::std::os::raw::c_char,
6962        line: ::std::os::raw::c_int,
6963    );
6964}
6965unsafe extern "C" {
6966    pub fn Mlength_tuple(
6967        t: *const Htuple,
6968        file: *const ::std::os::raw::c_char,
6969        line: ::std::os::raw::c_int,
6970    ) -> Hlong;
6971}
6972unsafe extern "C" {
6973    pub fn Mset_i(
6974        t: *mut Htuple,
6975        v: Hlong,
6976        i: Hlong,
6977        file: *const ::std::os::raw::c_char,
6978        line: ::std::os::raw::c_int,
6979    );
6980}
6981unsafe extern "C" {
6982    pub fn Mset_d(
6983        t: *mut Htuple,
6984        v: f64,
6985        i: Hlong,
6986        file: *const ::std::os::raw::c_char,
6987        line: ::std::os::raw::c_int,
6988    );
6989}
6990unsafe extern "C" {
6991    pub fn Mset_s(
6992        t: *mut Htuple,
6993        v: *const ::std::os::raw::c_char,
6994        i: Hlong,
6995        file: *const ::std::os::raw::c_char,
6996        line: ::std::os::raw::c_int,
6997    );
6998}
6999unsafe extern "C" {
7000    pub fn Mset_s_from_utf8(
7001        t: *mut Htuple,
7002        v: *const ::std::os::raw::c_char,
7003        i: Hlong,
7004        file: *const ::std::os::raw::c_char,
7005        line: ::std::os::raw::c_int,
7006    );
7007}
7008unsafe extern "C" {
7009    pub fn Mset_s_from_local8bit(
7010        t: *mut Htuple,
7011        v: *const ::std::os::raw::c_char,
7012        i: Hlong,
7013        file: *const ::std::os::raw::c_char,
7014        line: ::std::os::raw::c_int,
7015    );
7016}
7017unsafe extern "C" {
7018    pub fn Mset_s_from_wcs(
7019        t: *mut Htuple,
7020        v: *const wchar_t,
7021        i: Hlong,
7022        file: *const ::std::os::raw::c_char,
7023        line: ::std::os::raw::c_int,
7024    );
7025}
7026unsafe extern "C" {
7027    pub fn Mset_s_len(
7028        t: *mut Htuple,
7029        len: Hlong,
7030        i: Hlong,
7031        file: *const ::std::os::raw::c_char,
7032        line: ::std::os::raw::c_int,
7033    );
7034}
7035unsafe extern "C" {
7036    pub fn Mset_h(
7037        t: *mut Htuple,
7038        v: Hphandle,
7039        i: Hlong,
7040        file: *const ::std::os::raw::c_char,
7041        line: ::std::os::raw::c_int,
7042    );
7043}
7044unsafe extern "C" {
7045    pub fn Mget_i(
7046        t: *const Htuple,
7047        i: Hlong,
7048        file: *const ::std::os::raw::c_char,
7049        line: ::std::os::raw::c_int,
7050    ) -> Hlong;
7051}
7052unsafe extern "C" {
7053    pub fn Mget_d(
7054        t: *const Htuple,
7055        i: Hlong,
7056        file: *const ::std::os::raw::c_char,
7057        line: ::std::os::raw::c_int,
7058    ) -> f64;
7059}
7060unsafe extern "C" {
7061    pub fn Mget_s(
7062        t: *const Htuple,
7063        i: Hlong,
7064        file: *const ::std::os::raw::c_char,
7065        line: ::std::os::raw::c_int,
7066    ) -> *const ::std::os::raw::c_char;
7067}
7068unsafe extern "C" {
7069    pub fn Mget_s_to_utf8(
7070        dest: *mut ::std::os::raw::c_char,
7071        dest_size: Hlong,
7072        t: *const Htuple,
7073        i: Hlong,
7074        file: *const ::std::os::raw::c_char,
7075        line: ::std::os::raw::c_int,
7076    ) -> Hlong;
7077}
7078unsafe extern "C" {
7079    pub fn Mget_s_to_local8bit(
7080        dest: *mut ::std::os::raw::c_char,
7081        dest_size: Hlong,
7082        t: *const Htuple,
7083        i: Hlong,
7084        file: *const ::std::os::raw::c_char,
7085        line: ::std::os::raw::c_int,
7086    ) -> Hlong;
7087}
7088unsafe extern "C" {
7089    pub fn Mget_s_to_wcs(
7090        dest: *mut wchar_t,
7091        dest_size: Hlong,
7092        t: *const Htuple,
7093        i: Hlong,
7094        file: *const ::std::os::raw::c_char,
7095        line: ::std::os::raw::c_int,
7096    ) -> Hlong;
7097}
7098unsafe extern "C" {
7099    pub fn Mget_h(
7100        t: *const Htuple,
7101        i: Hlong,
7102        file: *const ::std::os::raw::c_char,
7103        line: ::std::os::raw::c_int,
7104    ) -> Hphandle;
7105}
7106unsafe extern "C" {
7107    pub fn Mget_type(
7108        t: *const Htuple,
7109        i: Hlong,
7110        file: *const ::std::os::raw::c_char,
7111        line: ::std::os::raw::c_int,
7112    ) -> ::std::os::raw::c_int;
7113}
7114unsafe extern "C" {
7115    pub fn Mcreate_tuple_i(
7116        t: *mut Htuple,
7117        value: Hlong,
7118        file: *const ::std::os::raw::c_char,
7119        line: ::std::os::raw::c_int,
7120    );
7121}
7122unsafe extern "C" {
7123    pub fn Mcreate_tuple_d(
7124        t: *mut Htuple,
7125        value: f64,
7126        file: *const ::std::os::raw::c_char,
7127        line: ::std::os::raw::c_int,
7128    );
7129}
7130unsafe extern "C" {
7131    pub fn Mcreate_tuple_s(
7132        t: *mut Htuple,
7133        value: *const ::std::os::raw::c_char,
7134        file: *const ::std::os::raw::c_char,
7135        line: ::std::os::raw::c_int,
7136    );
7137}
7138unsafe extern "C" {
7139    pub fn Mcreate_tuple_s_from_utf8(
7140        t: *mut Htuple,
7141        value: *const ::std::os::raw::c_char,
7142        file: *const ::std::os::raw::c_char,
7143        line: ::std::os::raw::c_int,
7144    );
7145}
7146unsafe extern "C" {
7147    pub fn Mcreate_tuple_s_from_local8bit(
7148        t: *mut Htuple,
7149        value: *const ::std::os::raw::c_char,
7150        file: *const ::std::os::raw::c_char,
7151        line: ::std::os::raw::c_int,
7152    );
7153}
7154unsafe extern "C" {
7155    pub fn Mcreate_tuple_s_from_wcs(
7156        t: *mut Htuple,
7157        value: *const wchar_t,
7158        file: *const ::std::os::raw::c_char,
7159        line: ::std::os::raw::c_int,
7160    );
7161}
7162unsafe extern "C" {
7163    pub fn Mcreate_tuple_h(
7164        t: *mut Htuple,
7165        value: Hphandle,
7166        file: *const ::std::os::raw::c_char,
7167        line: ::std::os::raw::c_int,
7168    );
7169}
7170unsafe extern "C" {
7171    pub fn Mreuse_tuple_i(
7172        t: *mut Htuple,
7173        value: Hlong,
7174        file: *const ::std::os::raw::c_char,
7175        line: ::std::os::raw::c_int,
7176    );
7177}
7178unsafe extern "C" {
7179    pub fn Mreuse_tuple_d(
7180        t: *mut Htuple,
7181        value: f64,
7182        file: *const ::std::os::raw::c_char,
7183        line: ::std::os::raw::c_int,
7184    );
7185}
7186unsafe extern "C" {
7187    pub fn Mreuse_tuple_s(
7188        t: *mut Htuple,
7189        value: *const ::std::os::raw::c_char,
7190        file: *const ::std::os::raw::c_char,
7191        line: ::std::os::raw::c_int,
7192    );
7193}
7194unsafe extern "C" {
7195    pub fn Mreuse_tuple_s_from_utf8(
7196        t: *mut Htuple,
7197        value: *const ::std::os::raw::c_char,
7198        file: *const ::std::os::raw::c_char,
7199        line: ::std::os::raw::c_int,
7200    );
7201}
7202unsafe extern "C" {
7203    pub fn Mreuse_tuple_s_from_local8bit(
7204        t: *mut Htuple,
7205        value: *const ::std::os::raw::c_char,
7206        file: *const ::std::os::raw::c_char,
7207        line: ::std::os::raw::c_int,
7208    );
7209}
7210unsafe extern "C" {
7211    pub fn Mreuse_tuple_s_from_wcs(
7212        t: *mut Htuple,
7213        value: *const wchar_t,
7214        file: *const ::std::os::raw::c_char,
7215        line: ::std::os::raw::c_int,
7216    );
7217}
7218unsafe extern "C" {
7219    pub fn Mreuse_tuple_h(
7220        t: *mut Htuple,
7221        value: Hphandle,
7222        file: *const ::std::os::raw::c_char,
7223        line: ::std::os::raw::c_int,
7224    );
7225}
7226unsafe extern "C" {
7227    pub fn F_create_tuple_type(htuple: *mut Htuple, len: Hlong, type_: ::std::os::raw::c_int);
7228}
7229unsafe extern "C" {
7230    pub fn F_create_tuple(htuple: *mut Htuple, l: Hlong);
7231}
7232unsafe extern "C" {
7233    pub fn F_copy_tuple(in_: *const Htuple, out: *mut Htuple);
7234}
7235unsafe extern "C" {
7236    pub fn F_attach_tuple(src: *mut Htuple, dest: *mut Htuple);
7237}
7238unsafe extern "C" {
7239    pub fn F_resize_tuple(htuple: *mut Htuple, LEN: Hlong);
7240}
7241unsafe extern "C" {
7242    pub fn F_destroy_tuple(htuple: *mut Htuple);
7243}
7244unsafe extern "C" {
7245    pub fn F_set_i(t: *mut Htuple, value: Hlong, idx: Hlong);
7246}
7247unsafe extern "C" {
7248    pub fn F_set_d(t: *mut Htuple, value: f64, idx: Hlong);
7249}
7250unsafe extern "C" {
7251    pub fn F_set_s(t: *mut Htuple, val: *const ::std::os::raw::c_char, idx: Hlong);
7252}
7253unsafe extern "C" {
7254    pub fn F_set_s_from_utf8(t: *mut Htuple, val: *const ::std::os::raw::c_char, idx: Hlong);
7255}
7256unsafe extern "C" {
7257    pub fn F_set_s_from_local8bit(t: *mut Htuple, val: *const ::std::os::raw::c_char, idx: Hlong);
7258}
7259unsafe extern "C" {
7260    pub fn F_set_s_from_wcs(t: *mut Htuple, val: *const wchar_t, idx: Hlong);
7261}
7262unsafe extern "C" {
7263    pub fn F_set_h(t: *mut Htuple, val: Hphandle, idx: Hlong);
7264}
7265unsafe extern "C" {
7266    pub fn F_init_i(t: *mut Htuple, value: Hlong, idx: Hlong);
7267}
7268unsafe extern "C" {
7269    pub fn F_init_d(t: *mut Htuple, value: f64, idx: Hlong);
7270}
7271unsafe extern "C" {
7272    pub fn F_init_s(t: *mut Htuple, value: *const ::std::os::raw::c_char, idx: Hlong);
7273}
7274unsafe extern "C" {
7275    pub fn F_init_s_from_utf8(t: *mut Htuple, value: *const ::std::os::raw::c_char, idx: Hlong);
7276}
7277unsafe extern "C" {
7278    pub fn F_init_s_from_local8bit(
7279        t: *mut Htuple,
7280        value: *const ::std::os::raw::c_char,
7281        idx: Hlong,
7282    );
7283}
7284unsafe extern "C" {
7285    pub fn F_init_s_from_wcs(t: *mut Htuple, value: *const wchar_t, idx: Hlong);
7286}
7287unsafe extern "C" {
7288    pub fn F_init_s_len(t: *mut Htuple, len: Hlong, idx: Hlong);
7289}
7290unsafe extern "C" {
7291    pub fn F_init_h(t: *mut Htuple, value: Hphandle, idx: Hlong);
7292}
7293unsafe extern "C" {
7294    pub fn F_get_i(t: *const Htuple, idx: Hlong) -> Hlong;
7295}
7296unsafe extern "C" {
7297    pub fn F_get_d(t: *const Htuple, idx: Hlong) -> f64;
7298}
7299unsafe extern "C" {
7300    pub fn F_get_s(t: *const Htuple, idx: Hlong) -> *const ::std::os::raw::c_char;
7301}
7302unsafe extern "C" {
7303    pub fn F_get_s_to_utf8(
7304        dest: *mut ::std::os::raw::c_char,
7305        dest_size: Hlong,
7306        t: *const Htuple,
7307        i: Hlong,
7308    ) -> Hlong;
7309}
7310unsafe extern "C" {
7311    pub fn F_get_s_to_local8bit(
7312        dest: *mut ::std::os::raw::c_char,
7313        dest_size: Hlong,
7314        t: *const Htuple,
7315        i: Hlong,
7316    ) -> Hlong;
7317}
7318unsafe extern "C" {
7319    pub fn F_get_s_to_wcs(
7320        dest: *mut wchar_t,
7321        dest_size: Hlong,
7322        t: *const Htuple,
7323        i: Hlong,
7324    ) -> Hlong;
7325}
7326unsafe extern "C" {
7327    pub fn F_get_h(t: *const Htuple, idx: Hlong) -> Hphandle;
7328}
7329unsafe extern "C" {
7330    pub fn F_create_tuple_i(t: *mut Htuple, val: Hlong);
7331}
7332unsafe extern "C" {
7333    pub fn F_create_tuple_d(t: *mut Htuple, val: f64);
7334}
7335unsafe extern "C" {
7336    pub fn F_create_tuple_s(t: *mut Htuple, val: *const ::std::os::raw::c_char);
7337}
7338unsafe extern "C" {
7339    pub fn F_create_tuple_s_from_utf8(t: *mut Htuple, val: *const ::std::os::raw::c_char);
7340}
7341unsafe extern "C" {
7342    pub fn F_create_tuple_s_from_local8bit(t: *mut Htuple, val: *const ::std::os::raw::c_char);
7343}
7344unsafe extern "C" {
7345    pub fn F_create_tuple_s_from_wcs(t: *mut Htuple, val: *const wchar_t);
7346}
7347unsafe extern "C" {
7348    pub fn F_create_tuple_h(t: *mut Htuple, val: Hphandle);
7349}
7350unsafe extern "C" {
7351    pub fn F_reuse_tuple_i(t: *mut Htuple, val: Hlong);
7352}
7353unsafe extern "C" {
7354    pub fn F_reuse_tuple_d(t: *mut Htuple, val: f64);
7355}
7356unsafe extern "C" {
7357    pub fn F_reuse_tuple_s(t: *mut Htuple, val: *const ::std::os::raw::c_char);
7358}
7359unsafe extern "C" {
7360    pub fn F_reuse_tuple_s_from_utf8(t: *mut Htuple, val: *const ::std::os::raw::c_char);
7361}
7362unsafe extern "C" {
7363    pub fn F_reuse_tuple_s_from_local8bit(t: *mut Htuple, val: *const ::std::os::raw::c_char);
7364}
7365unsafe extern "C" {
7366    pub fn F_reuse_tuple_s_from_wcs(t: *mut Htuple, val: *const wchar_t);
7367}
7368unsafe extern "C" {
7369    pub fn F_reuse_tuple_h(t: *mut Htuple, val: Hphandle);
7370}
7371unsafe extern "C" {
7372    pub fn get_operator_id(name: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
7373}
7374unsafe extern "C" {
7375    pub fn T_call_halcon_by_id(
7376        id: ::std::os::raw::c_int,
7377        in_objs: *const Hobject,
7378        out_objs: *mut Hobject,
7379        in_ctrls: *const Htuple,
7380        out_ctrls: *mut Htuple,
7381    ) -> Herror;
7382}
7383unsafe extern "C" {
7384    pub fn set_in_tpar(t: *mut Htuple, i: ::std::os::raw::c_int);
7385}
7386unsafe extern "C" {
7387    pub fn set_out_tpar(t: *mut Htuple, i: ::std::os::raw::c_int);
7388}
7389unsafe extern "C" {
7390    pub fn set_in_opar(o: Hobject, i: ::std::os::raw::c_int);
7391}
7392unsafe extern "C" {
7393    pub fn set_out_opar(o: *mut Hobject, i: ::std::os::raw::c_int);
7394}
7395unsafe extern "C" {
7396    pub fn T_call_halcon(n: *const ::std::os::raw::c_char) -> Herror;
7397}
7398unsafe extern "C" {
7399    pub fn num_tuple() -> Hlong;
7400}
7401unsafe extern "C" {
7402    pub fn hdev_window_stack_push(win_handle: Htuple);
7403}
7404unsafe extern "C" {
7405    pub fn hdev_window_stack_pop(win_handle: *mut Htuple);
7406}
7407unsafe extern "C" {
7408    pub fn hdev_window_stack_get_active(win_handle: *mut Htuple);
7409}
7410unsafe extern "C" {
7411    pub fn hdev_window_stack_set_active(win_handle: Htuple);
7412}
7413unsafe extern "C" {
7414    pub fn hdev_window_stack_is_open() -> ::std::os::raw::c_int;
7415}
7416unsafe extern "C" {
7417    pub fn hdev_window_stack_close_all();
7418}
7419unsafe extern "C" {
7420    pub fn T_test_equal_dict_item(
7421        dicts: Htuple,
7422        key1: Htuple,
7423        key2: Htuple,
7424        result: *mut Htuple,
7425    ) -> Herror;
7426}
7427unsafe extern "C" {
7428    pub fn window_stack_push(win_handle: Hlong);
7429}
7430unsafe extern "C" {
7431    pub fn window_stack_pop() -> Hlong;
7432}
7433unsafe extern "C" {
7434    pub fn window_stack_get_active() -> Hlong;
7435}
7436unsafe extern "C" {
7437    pub fn window_stack_set_active(win_handle: Hlong);
7438}
7439unsafe extern "C" {
7440    pub fn window_stack_is_open() -> ::std::os::raw::c_int;
7441}
7442unsafe extern "C" {
7443    pub fn window_stack_close_all();
7444}
7445unsafe extern "C" {
7446    pub fn replace_elements(
7447        htuple: *mut Htuple,
7448        index: *mut Htuple,
7449        replace_val: *const Htuple,
7450    ) -> Herror;
7451}
7452unsafe extern "C" {
7453    pub fn HcErrorHandling(ph: Hproc_handle, err: Herror) -> Herror;
7454}
7455unsafe extern "C" {
7456    pub fn HcException(op_id: ::std::os::raw::c_int, err: Herror) -> Herror;
7457}
7458unsafe extern "C" {
7459    pub fn HcPreCall(proc_index: ::std::os::raw::c_int, ph: *mut Hproc_handle) -> Herror;
7460}
7461unsafe extern "C" {
7462    pub fn HcCall(ph: Hproc_handle) -> Herror;
7463}
7464unsafe extern "C" {
7465    pub fn HcPostCall(ph: Hproc_handle, err: Herror) -> Herror;
7466}
7467unsafe extern "C" {
7468    pub fn HcStoreIO(ph: Hproc_handle, par: ::std::os::raw::c_int, inObjVar: Hobject) -> Herror;
7469}
7470unsafe extern "C" {
7471    pub fn HcStoreICL(ph: Hproc_handle, par: ::std::os::raw::c_int, value: Hlong) -> Herror;
7472}
7473unsafe extern "C" {
7474    pub fn HcStoreICD(ph: Hproc_handle, par: ::std::os::raw::c_int, value: f64) -> Herror;
7475}
7476unsafe extern "C" {
7477    pub fn HcStoreICS(
7478        ph: Hproc_handle,
7479        par: ::std::os::raw::c_int,
7480        value: *const ::std::os::raw::c_char,
7481    ) -> Herror;
7482}
7483unsafe extern "C" {
7484    pub fn HcStoreICSEnc(
7485        ph: Hproc_handle,
7486        par: ::std::os::raw::c_int,
7487        value: *const ::std::os::raw::c_char,
7488    ) -> Herror;
7489}
7490unsafe extern "C" {
7491    pub fn HcStoreICT(ph: Hproc_handle, par: ::std::os::raw::c_int, value: *const Htuple)
7492    -> Herror;
7493}
7494unsafe extern "C" {
7495    pub fn HcStoreICTEnc(
7496        ph: Hproc_handle,
7497        par: ::std::os::raw::c_int,
7498        value: *const Htuple,
7499    ) -> Herror;
7500}
7501unsafe extern "C" {
7502    pub fn HcInitOC(ph: Hproc_handle, par: ::std::os::raw::c_int);
7503}
7504unsafe extern "C" {
7505    pub fn HcInitOCD(ph: Hproc_handle, par: ::std::os::raw::c_int);
7506}
7507unsafe extern "C" {
7508    pub fn HcInitOCL(ph: Hproc_handle, par: ::std::os::raw::c_int);
7509}
7510unsafe extern "C" {
7511    pub fn HcInitOCS(ph: Hproc_handle, par: ::std::os::raw::c_int);
7512}
7513unsafe extern "C" {
7514    pub fn HcInitOCT(ph: Hproc_handle, par: ::std::os::raw::c_int, ctuple: *mut Hctuple);
7515}
7516unsafe extern "C" {
7517    pub fn HcStoreOO(
7518        ph: Hproc_handle,
7519        par: ::std::os::raw::c_int,
7520        outObjVar: *mut Hobject,
7521        err: Herror,
7522    ) -> Herror;
7523}
7524unsafe extern "C" {
7525    pub fn HcStoreOCL(
7526        ph: Hproc_handle,
7527        par: ::std::os::raw::c_int,
7528        outCtrlVar: *mut Hlong,
7529        err: Herror,
7530    ) -> Herror;
7531}
7532unsafe extern "C" {
7533    pub fn HcStoreOCD(
7534        ph: Hproc_handle,
7535        par: ::std::os::raw::c_int,
7536        outCtrlVar: *mut f64,
7537        err: Herror,
7538    ) -> Herror;
7539}
7540unsafe extern "C" {
7541    pub fn HcStoreOCS(
7542        ph: Hproc_handle,
7543        par: ::std::os::raw::c_int,
7544        outCtrlVar: *mut ::std::os::raw::c_char,
7545        err: Herror,
7546    ) -> Herror;
7547}
7548unsafe extern "C" {
7549    pub fn HcStoreOCSEnc(
7550        ph: Hproc_handle,
7551        par: ::std::os::raw::c_int,
7552        outCtrlVar: *mut ::std::os::raw::c_char,
7553        err: Herror,
7554    ) -> Herror;
7555}
7556unsafe extern "C" {
7557    pub fn HcStoreOCT(
7558        ph: Hproc_handle,
7559        par: ::std::os::raw::c_int,
7560        outCtrlVar: *mut Htuple,
7561        err: Herror,
7562    ) -> Herror;
7563}
7564unsafe extern "C" {
7565    pub fn HcStoreOCTEnc(
7566        ph: Hproc_handle,
7567        par: ::std::os::raw::c_int,
7568        outCtrlVar: *mut Htuple,
7569        err: Herror,
7570    ) -> Herror;
7571}
7572pub type Hvector = Hlong;
7573pub const Hvectype_eVector: Hvectype = 99352576;
7574pub const Hvectype_eTupleVector: Hvectype = 99352577;
7575pub const Hvectype_eTupleLeaf: Hvectype = 99352578;
7576pub const Hvectype_eObjectVector: Hvectype = 99352579;
7577pub const Hvectype_eObjectLeaf: Hvectype = 99352580;
7578pub type Hvectype = ::std::os::raw::c_int;
7579unsafe extern "C" {
7580    #[doc = " Hvector functionality"]
7581    pub fn V_create_obj_vector(dim: Hlong, vec: *mut Hvector) -> Herror;
7582}
7583unsafe extern "C" {
7584    pub fn V_create_tuple_vector(dim: Hlong, vec: *mut Hvector) -> Herror;
7585}
7586unsafe extern "C" {
7587    pub fn V_destroy_vector(vec: Hvector) -> Herror;
7588}
7589unsafe extern "C" {
7590    pub fn V_copy_vector(src: Hvector, dest: *mut Hvector) -> Herror;
7591}
7592unsafe extern "C" {
7593    pub fn V_set_vector_elem(vec: Hvector, vec_idx: Htuple, subvec: Hvector) -> Herror;
7594}
7595unsafe extern "C" {
7596    pub fn V_set_vector_obj(obj: Hobject, vec: Hvector, vec_idx: Htuple) -> Herror;
7597}
7598unsafe extern "C" {
7599    pub fn V_set_vector_tuple(vec: Hvector, vec_idx: Htuple, tpl: Htuple) -> Herror;
7600}
7601unsafe extern "C" {
7602    pub fn V_set_vector_tuple_elem(
7603        vec: Hvector,
7604        vec_idx: Htuple,
7605        tpl_idx: Htuple,
7606        val: Htuple,
7607    ) -> Herror;
7608}
7609unsafe extern "C" {
7610    pub fn V_get_vector_elem(vec: Hvector, index: Htuple, subvec: *mut Hvector) -> Herror;
7611}
7612unsafe extern "C" {
7613    pub fn V_get_vector_obj(obj: *mut Hobject, vec: Hvector, index: Htuple) -> Herror;
7614}
7615unsafe extern "C" {
7616    pub fn V_get_vector_tuple(vec: Hvector, index: Htuple, tpl: *mut Htuple) -> Herror;
7617}
7618unsafe extern "C" {
7619    pub fn V_concat_vector(vec1: Hvector, vec2: Hvector, vec_concat: *mut Hvector) -> Herror;
7620}
7621unsafe extern "C" {
7622    pub fn V_insert_vector_elem(
7623        vec: Hvector,
7624        vec_idx: Htuple,
7625        ins_idx: Htuple,
7626        ins: Hvector,
7627    ) -> Herror;
7628}
7629unsafe extern "C" {
7630    pub fn V_remove_vector_elem(vec: Hvector, vec_idx: Htuple, rmv_idx: Htuple) -> Herror;
7631}
7632unsafe extern "C" {
7633    pub fn V_clear_vector(vec: Hvector, index: Htuple) -> Herror;
7634}
7635unsafe extern "C" {
7636    pub fn V_insert_vector_obj(
7637        obj: Hobject,
7638        vec: Hvector,
7639        vec_idx: Htuple,
7640        ins_idx: Htuple,
7641    ) -> Herror;
7642}
7643unsafe extern "C" {
7644    pub fn V_insert_vector_tuple(
7645        vec: Hvector,
7646        vec_idx: Htuple,
7647        ins_idx: Htuple,
7648        tpl: Htuple,
7649    ) -> Herror;
7650}
7651unsafe extern "C" {
7652    pub fn V_convert_vector_to_tuple(vec: Hvector, tpl: *mut Htuple) -> Herror;
7653}
7654unsafe extern "C" {
7655    pub fn V_convert_tuple_to_vector_1d(tpl: Htuple, lengths: Htuple, vec: *mut Hvector) -> Herror;
7656}
7657unsafe extern "C" {
7658    pub fn V_vector_equal(vec1: Hvector, vec2: Hvector, equal: *mut bool) -> Herror;
7659}
7660unsafe extern "C" {
7661    pub fn V_vector_dim(vec: Hvector, dim: *mut Hlong) -> Herror;
7662}
7663unsafe extern "C" {
7664    pub fn V_vector_type(vec: Hvector, type_: *mut Hvectype) -> Herror;
7665}
7666unsafe extern "C" {
7667    pub fn V_vector_length(vec: Hvector, length: *mut Hlong) -> Herror;
7668}
7669unsafe extern "C" {
7670    pub fn V_sub_vector_length(vec: Hvector, vec_idx: Htuple, length: *mut Hlong) -> Herror;
7671}
7672unsafe extern "C" {
7673    pub fn Hsnprintf_Hvector(
7674        str_: *mut ::std::os::raw::c_char,
7675        size: Hlong,
7676        vec: Hvector,
7677    ) -> ::std::os::raw::c_int;
7678}
7679unsafe extern "C" {
7680    pub fn Hsnprintf_Htuple(
7681        str_: *mut ::std::os::raw::c_char,
7682        size: Hlong,
7683        tpl: Htuple,
7684    ) -> ::std::os::raw::c_int;
7685}
7686unsafe extern "C" {
7687    pub fn Hsnprintf_Hobject(
7688        str_: *mut ::std::os::raw::c_char,
7689        size: Hlong,
7690        obj: Hobject,
7691    ) -> ::std::os::raw::c_int;
7692}
7693unsafe extern "C" {
7694    pub fn T_union_cotangential_contours_xld(
7695        Contours: Hobject,
7696        UnionContours: *mut Hobject,
7697        FitClippingLength: Htuple,
7698        FitLength: Htuple,
7699        MaxTangAngle: Htuple,
7700        MaxDist: Htuple,
7701        MaxDistPerp: Htuple,
7702        MaxOverlap: Htuple,
7703        Mode: Htuple,
7704    ) -> Herror;
7705}
7706unsafe extern "C" {
7707    pub fn union_cotangential_contours_xld(
7708        Contours: Hobject,
7709        UnionContours: *mut Hobject,
7710        FitClippingLength: f64,
7711        FitLength: f64,
7712        MaxTangAngle: f64,
7713        MaxDist: f64,
7714        MaxDistPerp: f64,
7715        MaxOverlap: f64,
7716        Mode: *const ::std::os::raw::c_char,
7717    ) -> Herror;
7718}
7719unsafe extern "C" {
7720    pub fn T_polar_trans_contour_xld_inv(
7721        PolarContour: Hobject,
7722        XYTransContour: *mut Hobject,
7723        Row: Htuple,
7724        Column: Htuple,
7725        AngleStart: Htuple,
7726        AngleEnd: Htuple,
7727        RadiusStart: Htuple,
7728        RadiusEnd: Htuple,
7729        WidthIn: Htuple,
7730        HeightIn: Htuple,
7731        Width: Htuple,
7732        Height: Htuple,
7733    ) -> Herror;
7734}
7735unsafe extern "C" {
7736    pub fn polar_trans_contour_xld_inv(
7737        PolarContour: Hobject,
7738        XYTransContour: *mut Hobject,
7739        Row: f64,
7740        Column: f64,
7741        AngleStart: f64,
7742        AngleEnd: f64,
7743        RadiusStart: f64,
7744        RadiusEnd: f64,
7745        WidthIn: Hlong,
7746        HeightIn: Hlong,
7747        Width: Hlong,
7748        Height: Hlong,
7749    ) -> Herror;
7750}
7751unsafe extern "C" {
7752    pub fn T_polar_trans_contour_xld(
7753        Contour: Hobject,
7754        PolarTransContour: *mut Hobject,
7755        Row: Htuple,
7756        Column: Htuple,
7757        AngleStart: Htuple,
7758        AngleEnd: Htuple,
7759        RadiusStart: Htuple,
7760        RadiusEnd: Htuple,
7761        Width: Htuple,
7762        Height: Htuple,
7763    ) -> Herror;
7764}
7765unsafe extern "C" {
7766    pub fn polar_trans_contour_xld(
7767        Contour: Hobject,
7768        PolarTransContour: *mut Hobject,
7769        Row: f64,
7770        Column: f64,
7771        AngleStart: f64,
7772        AngleEnd: f64,
7773        RadiusStart: f64,
7774        RadiusEnd: f64,
7775        Width: Hlong,
7776        Height: Hlong,
7777    ) -> Herror;
7778}
7779unsafe extern "C" {
7780    pub fn T_gen_nurbs_interp(
7781        Rows: Htuple,
7782        Cols: Htuple,
7783        Tangents: Htuple,
7784        Degree: Htuple,
7785        CtrlRows: *mut Htuple,
7786        CtrlCols: *mut Htuple,
7787        Knots: *mut Htuple,
7788    ) -> Herror;
7789}
7790unsafe extern "C" {
7791    pub fn T_gen_contour_nurbs_xld(
7792        Contour: *mut Hobject,
7793        Rows: Htuple,
7794        Cols: Htuple,
7795        Knots: Htuple,
7796        Weights: Htuple,
7797        Degree: Htuple,
7798        MaxError: Htuple,
7799        MaxDistance: Htuple,
7800    ) -> Herror;
7801}
7802unsafe extern "C" {
7803    pub fn T_union2_closed_polygons_xld(
7804        Polygons1: Hobject,
7805        Polygons2: Hobject,
7806        PolygonsUnion: *mut Hobject,
7807    ) -> Herror;
7808}
7809unsafe extern "C" {
7810    pub fn union2_closed_polygons_xld(
7811        Polygons1: Hobject,
7812        Polygons2: Hobject,
7813        PolygonsUnion: *mut Hobject,
7814    ) -> Herror;
7815}
7816unsafe extern "C" {
7817    pub fn T_union2_closed_contours_xld(
7818        Contours1: Hobject,
7819        Contours2: Hobject,
7820        ContoursUnion: *mut Hobject,
7821    ) -> Herror;
7822}
7823unsafe extern "C" {
7824    pub fn union2_closed_contours_xld(
7825        Contours1: Hobject,
7826        Contours2: Hobject,
7827        ContoursUnion: *mut Hobject,
7828    ) -> Herror;
7829}
7830unsafe extern "C" {
7831    pub fn T_symm_difference_closed_polygons_xld(
7832        Polygons1: Hobject,
7833        Polygons2: Hobject,
7834        PolygonsDifference: *mut Hobject,
7835    ) -> Herror;
7836}
7837unsafe extern "C" {
7838    pub fn symm_difference_closed_polygons_xld(
7839        Polygons1: Hobject,
7840        Polygons2: Hobject,
7841        PolygonsDifference: *mut Hobject,
7842    ) -> Herror;
7843}
7844unsafe extern "C" {
7845    pub fn T_symm_difference_closed_contours_xld(
7846        Contours1: Hobject,
7847        Contours2: Hobject,
7848        ContoursDifference: *mut Hobject,
7849    ) -> Herror;
7850}
7851unsafe extern "C" {
7852    pub fn symm_difference_closed_contours_xld(
7853        Contours1: Hobject,
7854        Contours2: Hobject,
7855        ContoursDifference: *mut Hobject,
7856    ) -> Herror;
7857}
7858unsafe extern "C" {
7859    pub fn T_difference_closed_polygons_xld(
7860        Polygons: Hobject,
7861        Sub: Hobject,
7862        PolygonsDifference: *mut Hobject,
7863    ) -> Herror;
7864}
7865unsafe extern "C" {
7866    pub fn difference_closed_polygons_xld(
7867        Polygons: Hobject,
7868        Sub: Hobject,
7869        PolygonsDifference: *mut Hobject,
7870    ) -> Herror;
7871}
7872unsafe extern "C" {
7873    pub fn T_difference_closed_contours_xld(
7874        Contours: Hobject,
7875        Sub: Hobject,
7876        ContoursDifference: *mut Hobject,
7877    ) -> Herror;
7878}
7879unsafe extern "C" {
7880    pub fn difference_closed_contours_xld(
7881        Contours: Hobject,
7882        Sub: Hobject,
7883        ContoursDifference: *mut Hobject,
7884    ) -> Herror;
7885}
7886unsafe extern "C" {
7887    pub fn T_intersection_closed_polygons_xld(
7888        Polygons1: Hobject,
7889        Polygons2: Hobject,
7890        PolygonsIntersection: *mut Hobject,
7891    ) -> Herror;
7892}
7893unsafe extern "C" {
7894    pub fn intersection_closed_polygons_xld(
7895        Polygons1: Hobject,
7896        Polygons2: Hobject,
7897        PolygonsIntersection: *mut Hobject,
7898    ) -> Herror;
7899}
7900unsafe extern "C" {
7901    pub fn T_intersection_closed_contours_xld(
7902        Contours1: Hobject,
7903        Contours2: Hobject,
7904        ContoursIntersection: *mut Hobject,
7905    ) -> Herror;
7906}
7907unsafe extern "C" {
7908    pub fn intersection_closed_contours_xld(
7909        Contours1: Hobject,
7910        Contours2: Hobject,
7911        ContoursIntersection: *mut Hobject,
7912    ) -> Herror;
7913}
7914unsafe extern "C" {
7915    pub fn T_union_cocircular_contours_xld(
7916        Contours: Hobject,
7917        UnionContours: *mut Hobject,
7918        MaxArcAngleDiff: Htuple,
7919        MaxArcOverlap: Htuple,
7920        MaxTangentAngle: Htuple,
7921        MaxDist: Htuple,
7922        MaxRadiusDiff: Htuple,
7923        MaxCenterDist: Htuple,
7924        MergeSmallContours: Htuple,
7925        Iterations: Htuple,
7926    ) -> Herror;
7927}
7928unsafe extern "C" {
7929    pub fn union_cocircular_contours_xld(
7930        Contours: Hobject,
7931        UnionContours: *mut Hobject,
7932        MaxArcAngleDiff: f64,
7933        MaxArcOverlap: f64,
7934        MaxTangentAngle: f64,
7935        MaxDist: f64,
7936        MaxRadiusDiff: f64,
7937        MaxCenterDist: f64,
7938        MergeSmallContours: *const ::std::os::raw::c_char,
7939        Iterations: Hlong,
7940    ) -> Herror;
7941}
7942unsafe extern "C" {
7943    pub fn T_crop_contours_xld(
7944        Contours: Hobject,
7945        CroppedContours: *mut Hobject,
7946        Row1: Htuple,
7947        Col1: Htuple,
7948        Row2: Htuple,
7949        Col2: Htuple,
7950        CloseContours: Htuple,
7951    ) -> Herror;
7952}
7953unsafe extern "C" {
7954    pub fn crop_contours_xld(
7955        Contours: Hobject,
7956        CroppedContours: *mut Hobject,
7957        Row1: f64,
7958        Col1: f64,
7959        Row2: f64,
7960        Col2: f64,
7961        CloseContours: *const ::std::os::raw::c_char,
7962    ) -> Herror;
7963}
7964unsafe extern "C" {
7965    pub fn T_gen_cross_contour_xld(
7966        Cross: *mut Hobject,
7967        Row: Htuple,
7968        Col: Htuple,
7969        Size: Htuple,
7970        Angle: Htuple,
7971    ) -> Herror;
7972}
7973unsafe extern "C" {
7974    pub fn gen_cross_contour_xld(
7975        Cross: *mut Hobject,
7976        Row: f64,
7977        Col: f64,
7978        Size: f64,
7979        Angle: f64,
7980    ) -> Herror;
7981}
7982unsafe extern "C" {
7983    pub fn T_sort_contours_xld(
7984        Contours: Hobject,
7985        SortedContours: *mut Hobject,
7986        SortMode: Htuple,
7987        Order: Htuple,
7988        RowOrCol: Htuple,
7989    ) -> Herror;
7990}
7991unsafe extern "C" {
7992    pub fn sort_contours_xld(
7993        Contours: Hobject,
7994        SortedContours: *mut Hobject,
7995        SortMode: *const ::std::os::raw::c_char,
7996        Order: *const ::std::os::raw::c_char,
7997        RowOrCol: *const ::std::os::raw::c_char,
7998    ) -> Herror;
7999}
8000unsafe extern "C" {
8001    pub fn T_merge_cont_line_scan_xld(
8002        CurrConts: Hobject,
8003        PrevConts: Hobject,
8004        CurrMergedConts: *mut Hobject,
8005        PrevMergedConts: *mut Hobject,
8006        ImageHeight: Htuple,
8007        Margin: Htuple,
8008        MergeBorder: Htuple,
8009        MaxImagesCont: Htuple,
8010    ) -> Herror;
8011}
8012unsafe extern "C" {
8013    pub fn merge_cont_line_scan_xld(
8014        CurrConts: Hobject,
8015        PrevConts: Hobject,
8016        CurrMergedConts: *mut Hobject,
8017        PrevMergedConts: *mut Hobject,
8018        ImageHeight: Hlong,
8019        Margin: f64,
8020        MergeBorder: *const ::std::os::raw::c_char,
8021        MaxImagesCont: Hlong,
8022    ) -> Herror;
8023}
8024unsafe extern "C" {
8025    pub fn T_read_polygon_xld_arc_info(Polygons: *mut Hobject, FileName: Htuple) -> Herror;
8026}
8027unsafe extern "C" {
8028    pub fn read_polygon_xld_arc_info(
8029        Polygons: *mut Hobject,
8030        FileName: *const ::std::os::raw::c_char,
8031    ) -> Herror;
8032}
8033unsafe extern "C" {
8034    pub fn T_write_polygon_xld_arc_info(Polygons: Hobject, FileName: Htuple) -> Herror;
8035}
8036unsafe extern "C" {
8037    pub fn write_polygon_xld_arc_info(
8038        Polygons: Hobject,
8039        FileName: *const ::std::os::raw::c_char,
8040    ) -> Herror;
8041}
8042unsafe extern "C" {
8043    pub fn T_read_contour_xld_arc_info(Contours: *mut Hobject, FileName: Htuple) -> Herror;
8044}
8045unsafe extern "C" {
8046    pub fn read_contour_xld_arc_info(
8047        Contours: *mut Hobject,
8048        FileName: *const ::std::os::raw::c_char,
8049    ) -> Herror;
8050}
8051unsafe extern "C" {
8052    pub fn T_write_contour_xld_arc_info(Contours: Hobject, FileName: Htuple) -> Herror;
8053}
8054unsafe extern "C" {
8055    pub fn write_contour_xld_arc_info(
8056        Contours: Hobject,
8057        FileName: *const ::std::os::raw::c_char,
8058    ) -> Herror;
8059}
8060unsafe extern "C" {
8061    pub fn T_read_world_file(FileName: Htuple, WorldTransformation: *mut Htuple) -> Herror;
8062}
8063unsafe extern "C" {
8064    pub fn T_gen_parallel_contour_xld(
8065        Contours: Hobject,
8066        ParallelContours: *mut Hobject,
8067        Mode: Htuple,
8068        Distance: Htuple,
8069    ) -> Herror;
8070}
8071unsafe extern "C" {
8072    pub fn gen_parallel_contour_xld(
8073        Contours: Hobject,
8074        ParallelContours: *mut Hobject,
8075        Mode: *const ::std::os::raw::c_char,
8076        Distance: f64,
8077    ) -> Herror;
8078}
8079unsafe extern "C" {
8080    pub fn T_gen_rectangle2_contour_xld(
8081        Rectangle: *mut Hobject,
8082        Row: Htuple,
8083        Column: Htuple,
8084        Phi: Htuple,
8085        Length1: Htuple,
8086        Length2: Htuple,
8087    ) -> Herror;
8088}
8089unsafe extern "C" {
8090    pub fn gen_rectangle2_contour_xld(
8091        Rectangle: *mut Hobject,
8092        Row: f64,
8093        Column: f64,
8094        Phi: f64,
8095        Length1: f64,
8096        Length2: f64,
8097    ) -> Herror;
8098}
8099unsafe extern "C" {
8100    pub fn T_dist_rectangle2_contour_points_xld(
8101        Contour: Hobject,
8102        ClippingEndPoints: Htuple,
8103        Row: Htuple,
8104        Column: Htuple,
8105        Phi: Htuple,
8106        Length1: Htuple,
8107        Length2: Htuple,
8108        Distances: *mut Htuple,
8109    ) -> Herror;
8110}
8111unsafe extern "C" {
8112    pub fn T_fit_rectangle2_contour_xld(
8113        Contours: Hobject,
8114        Algorithm: Htuple,
8115        MaxNumPoints: Htuple,
8116        MaxClosureDist: Htuple,
8117        ClippingEndPoints: Htuple,
8118        Iterations: Htuple,
8119        ClippingFactor: Htuple,
8120        Row: *mut Htuple,
8121        Column: *mut Htuple,
8122        Phi: *mut Htuple,
8123        Length1: *mut Htuple,
8124        Length2: *mut Htuple,
8125        PointOrder: *mut Htuple,
8126    ) -> Herror;
8127}
8128unsafe extern "C" {
8129    pub fn fit_rectangle2_contour_xld(
8130        Contours: Hobject,
8131        Algorithm: *const ::std::os::raw::c_char,
8132        MaxNumPoints: Hlong,
8133        MaxClosureDist: f64,
8134        ClippingEndPoints: Hlong,
8135        Iterations: Hlong,
8136        ClippingFactor: f64,
8137        Row: *mut f64,
8138        Column: *mut f64,
8139        Phi: *mut f64,
8140        Length1: *mut f64,
8141        Length2: *mut f64,
8142        PointOrder: *mut ::std::os::raw::c_char,
8143    ) -> Herror;
8144}
8145unsafe extern "C" {
8146    pub fn T_segment_contour_attrib_xld(
8147        Contour: Hobject,
8148        ContourPart: *mut Hobject,
8149        Attribute: Htuple,
8150        Operation: Htuple,
8151        Min: Htuple,
8152        Max: Htuple,
8153    ) -> Herror;
8154}
8155unsafe extern "C" {
8156    pub fn segment_contour_attrib_xld(
8157        Contour: Hobject,
8158        ContourPart: *mut Hobject,
8159        Attribute: *const ::std::os::raw::c_char,
8160        Operation: *const ::std::os::raw::c_char,
8161        Min: f64,
8162        Max: f64,
8163    ) -> Herror;
8164}
8165unsafe extern "C" {
8166    pub fn T_segment_contours_xld(
8167        Contours: Hobject,
8168        ContoursSplit: *mut Hobject,
8169        Mode: Htuple,
8170        SmoothCont: Htuple,
8171        MaxLineDist1: Htuple,
8172        MaxLineDist2: Htuple,
8173    ) -> Herror;
8174}
8175unsafe extern "C" {
8176    pub fn segment_contours_xld(
8177        Contours: Hobject,
8178        ContoursSplit: *mut Hobject,
8179        Mode: *const ::std::os::raw::c_char,
8180        SmoothCont: Hlong,
8181        MaxLineDist1: f64,
8182        MaxLineDist2: f64,
8183    ) -> Herror;
8184}
8185unsafe extern "C" {
8186    pub fn T_fit_circle_contour_xld(
8187        Contours: Hobject,
8188        Algorithm: Htuple,
8189        MaxNumPoints: Htuple,
8190        MaxClosureDist: Htuple,
8191        ClippingEndPoints: Htuple,
8192        Iterations: Htuple,
8193        ClippingFactor: Htuple,
8194        Row: *mut Htuple,
8195        Column: *mut Htuple,
8196        Radius: *mut Htuple,
8197        StartPhi: *mut Htuple,
8198        EndPhi: *mut Htuple,
8199        PointOrder: *mut Htuple,
8200    ) -> Herror;
8201}
8202unsafe extern "C" {
8203    pub fn fit_circle_contour_xld(
8204        Contours: Hobject,
8205        Algorithm: *const ::std::os::raw::c_char,
8206        MaxNumPoints: Hlong,
8207        MaxClosureDist: f64,
8208        ClippingEndPoints: Hlong,
8209        Iterations: Hlong,
8210        ClippingFactor: f64,
8211        Row: *mut f64,
8212        Column: *mut f64,
8213        Radius: *mut f64,
8214        StartPhi: *mut f64,
8215        EndPhi: *mut f64,
8216        PointOrder: *mut ::std::os::raw::c_char,
8217    ) -> Herror;
8218}
8219unsafe extern "C" {
8220    pub fn T_fit_line_contour_xld(
8221        Contours: Hobject,
8222        Algorithm: Htuple,
8223        MaxNumPoints: Htuple,
8224        ClippingEndPoints: Htuple,
8225        Iterations: Htuple,
8226        ClippingFactor: Htuple,
8227        RowBegin: *mut Htuple,
8228        ColBegin: *mut Htuple,
8229        RowEnd: *mut Htuple,
8230        ColEnd: *mut Htuple,
8231        Nr: *mut Htuple,
8232        Nc: *mut Htuple,
8233        Dist: *mut Htuple,
8234    ) -> Herror;
8235}
8236unsafe extern "C" {
8237    pub fn fit_line_contour_xld(
8238        Contours: Hobject,
8239        Algorithm: *const ::std::os::raw::c_char,
8240        MaxNumPoints: Hlong,
8241        ClippingEndPoints: Hlong,
8242        Iterations: Hlong,
8243        ClippingFactor: f64,
8244        RowBegin: *mut f64,
8245        ColBegin: *mut f64,
8246        RowEnd: *mut f64,
8247        ColEnd: *mut f64,
8248        Nr: *mut f64,
8249        Nc: *mut f64,
8250        Dist: *mut f64,
8251    ) -> Herror;
8252}
8253unsafe extern "C" {
8254    pub fn T_dist_ellipse_contour_points_xld(
8255        Contour: Hobject,
8256        DistanceMode: Htuple,
8257        ClippingEndPoints: Htuple,
8258        Row: Htuple,
8259        Column: Htuple,
8260        Phi: Htuple,
8261        Radius1: Htuple,
8262        Radius2: Htuple,
8263        Distances: *mut Htuple,
8264    ) -> Herror;
8265}
8266unsafe extern "C" {
8267    pub fn T_dist_ellipse_contour_xld(
8268        Contours: Hobject,
8269        Mode: Htuple,
8270        MaxNumPoints: Htuple,
8271        ClippingEndPoints: Htuple,
8272        Row: Htuple,
8273        Column: Htuple,
8274        Phi: Htuple,
8275        Radius1: Htuple,
8276        Radius2: Htuple,
8277        MinDist: *mut Htuple,
8278        MaxDist: *mut Htuple,
8279        AvgDist: *mut Htuple,
8280        SigmaDist: *mut Htuple,
8281    ) -> Herror;
8282}
8283unsafe extern "C" {
8284    pub fn dist_ellipse_contour_xld(
8285        Contours: Hobject,
8286        Mode: *const ::std::os::raw::c_char,
8287        MaxNumPoints: Hlong,
8288        ClippingEndPoints: Hlong,
8289        Row: f64,
8290        Column: f64,
8291        Phi: f64,
8292        Radius1: f64,
8293        Radius2: f64,
8294        MinDist: *mut f64,
8295        MaxDist: *mut f64,
8296        AvgDist: *mut f64,
8297        SigmaDist: *mut f64,
8298    ) -> Herror;
8299}
8300unsafe extern "C" {
8301    pub fn T_fit_ellipse_contour_xld(
8302        Contours: Hobject,
8303        Algorithm: Htuple,
8304        MaxNumPoints: Htuple,
8305        MaxClosureDist: Htuple,
8306        ClippingEndPoints: Htuple,
8307        VossTabSize: Htuple,
8308        Iterations: Htuple,
8309        ClippingFactor: Htuple,
8310        Row: *mut Htuple,
8311        Column: *mut Htuple,
8312        Phi: *mut Htuple,
8313        Radius1: *mut Htuple,
8314        Radius2: *mut Htuple,
8315        StartPhi: *mut Htuple,
8316        EndPhi: *mut Htuple,
8317        PointOrder: *mut Htuple,
8318    ) -> Herror;
8319}
8320unsafe extern "C" {
8321    pub fn fit_ellipse_contour_xld(
8322        Contours: Hobject,
8323        Algorithm: *const ::std::os::raw::c_char,
8324        MaxNumPoints: Hlong,
8325        MaxClosureDist: f64,
8326        ClippingEndPoints: Hlong,
8327        VossTabSize: Hlong,
8328        Iterations: Hlong,
8329        ClippingFactor: f64,
8330        Row: *mut f64,
8331        Column: *mut f64,
8332        Phi: *mut f64,
8333        Radius1: *mut f64,
8334        Radius2: *mut f64,
8335        StartPhi: *mut f64,
8336        EndPhi: *mut f64,
8337        PointOrder: *mut ::std::os::raw::c_char,
8338    ) -> Herror;
8339}
8340unsafe extern "C" {
8341    pub fn T_gen_circle_contour_xld(
8342        ContCircle: *mut Hobject,
8343        Row: Htuple,
8344        Column: Htuple,
8345        Radius: Htuple,
8346        StartPhi: Htuple,
8347        EndPhi: Htuple,
8348        PointOrder: Htuple,
8349        Resolution: Htuple,
8350    ) -> Herror;
8351}
8352unsafe extern "C" {
8353    pub fn gen_circle_contour_xld(
8354        ContCircle: *mut Hobject,
8355        Row: f64,
8356        Column: f64,
8357        Radius: f64,
8358        StartPhi: f64,
8359        EndPhi: f64,
8360        PointOrder: *const ::std::os::raw::c_char,
8361        Resolution: f64,
8362    ) -> Herror;
8363}
8364unsafe extern "C" {
8365    pub fn T_gen_ellipse_contour_xld(
8366        ContEllipse: *mut Hobject,
8367        Row: Htuple,
8368        Column: Htuple,
8369        Phi: Htuple,
8370        Radius1: Htuple,
8371        Radius2: Htuple,
8372        StartPhi: Htuple,
8373        EndPhi: Htuple,
8374        PointOrder: Htuple,
8375        Resolution: Htuple,
8376    ) -> Herror;
8377}
8378unsafe extern "C" {
8379    pub fn gen_ellipse_contour_xld(
8380        ContEllipse: *mut Hobject,
8381        Row: f64,
8382        Column: f64,
8383        Phi: f64,
8384        Radius1: f64,
8385        Radius2: f64,
8386        StartPhi: f64,
8387        EndPhi: f64,
8388        PointOrder: *const ::std::os::raw::c_char,
8389        Resolution: f64,
8390    ) -> Herror;
8391}
8392unsafe extern "C" {
8393    pub fn T_add_noise_white_contour_xld(
8394        Contours: Hobject,
8395        NoisyContours: *mut Hobject,
8396        NumRegrPoints: Htuple,
8397        Amp: Htuple,
8398    ) -> Herror;
8399}
8400unsafe extern "C" {
8401    pub fn add_noise_white_contour_xld(
8402        Contours: Hobject,
8403        NoisyContours: *mut Hobject,
8404        NumRegrPoints: Hlong,
8405        Amp: f64,
8406    ) -> Herror;
8407}
8408unsafe extern "C" {
8409    pub fn T_combine_roads_xld(
8410        EdgePolygons: Hobject,
8411        ModParallels: Hobject,
8412        ExtParallels: Hobject,
8413        CenterLines: Hobject,
8414        RoadSides: *mut Hobject,
8415        MaxAngleParallel: Htuple,
8416        MaxAngleColinear: Htuple,
8417        MaxDistanceParallel: Htuple,
8418        MaxDistanceColinear: Htuple,
8419    ) -> Herror;
8420}
8421unsafe extern "C" {
8422    pub fn combine_roads_xld(
8423        EdgePolygons: Hobject,
8424        ModParallels: Hobject,
8425        ExtParallels: Hobject,
8426        CenterLines: Hobject,
8427        RoadSides: *mut Hobject,
8428        MaxAngleParallel: f64,
8429        MaxAngleColinear: f64,
8430        MaxDistanceParallel: f64,
8431        MaxDistanceColinear: f64,
8432    ) -> Herror;
8433}
8434unsafe extern "C" {
8435    pub fn T_max_parallels_xld(ExtParallels: Hobject, MaxPolygons: *mut Hobject) -> Herror;
8436}
8437unsafe extern "C" {
8438    pub fn max_parallels_xld(ExtParallels: Hobject, MaxPolygons: *mut Hobject) -> Herror;
8439}
8440unsafe extern "C" {
8441    pub fn T_mod_parallels_xld(
8442        Parallels: Hobject,
8443        Image: Hobject,
8444        ModParallels: *mut Hobject,
8445        ExtParallels: *mut Hobject,
8446        Quality: Htuple,
8447        MinGray: Htuple,
8448        MaxGray: Htuple,
8449        MaxStandard: Htuple,
8450    ) -> Herror;
8451}
8452unsafe extern "C" {
8453    pub fn mod_parallels_xld(
8454        Parallels: Hobject,
8455        Image: Hobject,
8456        ModParallels: *mut Hobject,
8457        ExtParallels: *mut Hobject,
8458        Quality: f64,
8459        MinGray: Hlong,
8460        MaxGray: Hlong,
8461        MaxStandard: f64,
8462    ) -> Herror;
8463}
8464unsafe extern "C" {
8465    pub fn T_info_parallels_xld(
8466        Parallels: Hobject,
8467        Image: Hobject,
8468        QualityMin: *mut Htuple,
8469        QualityMax: *mut Htuple,
8470        GrayMin: *mut Htuple,
8471        GrayMax: *mut Htuple,
8472        StandardMin: *mut Htuple,
8473        StandardMax: *mut Htuple,
8474    ) -> Herror;
8475}
8476unsafe extern "C" {
8477    pub fn info_parallels_xld(
8478        Parallels: Hobject,
8479        Image: Hobject,
8480        QualityMin: *mut f64,
8481        QualityMax: *mut f64,
8482        GrayMin: *mut Hlong,
8483        GrayMax: *mut Hlong,
8484        StandardMin: *mut f64,
8485        StandardMax: *mut f64,
8486    ) -> Herror;
8487}
8488unsafe extern "C" {
8489    pub fn T_get_parallels_xld(
8490        Parallels: Hobject,
8491        Row1: *mut Htuple,
8492        Col1: *mut Htuple,
8493        Length1: *mut Htuple,
8494        Phi1: *mut Htuple,
8495        Row2: *mut Htuple,
8496        Col2: *mut Htuple,
8497        Length2: *mut Htuple,
8498        Phi2: *mut Htuple,
8499    ) -> Herror;
8500}
8501unsafe extern "C" {
8502    pub fn T_gen_parallels_xld(
8503        Polygons: Hobject,
8504        Parallels: *mut Hobject,
8505        Len: Htuple,
8506        Dist: Htuple,
8507        Alpha: Htuple,
8508        Merge: Htuple,
8509    ) -> Herror;
8510}
8511unsafe extern "C" {
8512    pub fn gen_parallels_xld(
8513        Polygons: Hobject,
8514        Parallels: *mut Hobject,
8515        Len: f64,
8516        Dist: f64,
8517        Alpha: f64,
8518        Merge: *const ::std::os::raw::c_char,
8519    ) -> Herror;
8520}
8521unsafe extern "C" {
8522    pub fn T_get_lines_xld(
8523        Polygon: Hobject,
8524        BeginRow: *mut Htuple,
8525        BeginCol: *mut Htuple,
8526        EndRow: *mut Htuple,
8527        EndCol: *mut Htuple,
8528        Length: *mut Htuple,
8529        Phi: *mut Htuple,
8530    ) -> Herror;
8531}
8532unsafe extern "C" {
8533    pub fn T_get_polygon_xld(
8534        Polygon: Hobject,
8535        Row: *mut Htuple,
8536        Col: *mut Htuple,
8537        Length: *mut Htuple,
8538        Phi: *mut Htuple,
8539    ) -> Herror;
8540}
8541unsafe extern "C" {
8542    pub fn T_gen_polygons_xld(
8543        Contours: Hobject,
8544        Polygons: *mut Hobject,
8545        Type: Htuple,
8546        Alpha: Htuple,
8547    ) -> Herror;
8548}
8549unsafe extern "C" {
8550    pub fn gen_polygons_xld(
8551        Contours: Hobject,
8552        Polygons: *mut Hobject,
8553        Type: *const ::std::os::raw::c_char,
8554        Alpha: f64,
8555    ) -> Herror;
8556}
8557unsafe extern "C" {
8558    pub fn T_split_contours_xld(
8559        Polygons: Hobject,
8560        Contours: *mut Hobject,
8561        Mode: Htuple,
8562        Weight: Htuple,
8563        Smooth: Htuple,
8564    ) -> Herror;
8565}
8566unsafe extern "C" {
8567    pub fn split_contours_xld(
8568        Polygons: Hobject,
8569        Contours: *mut Hobject,
8570        Mode: *const ::std::os::raw::c_char,
8571        Weight: Hlong,
8572        Smooth: Hlong,
8573    ) -> Herror;
8574}
8575unsafe extern "C" {
8576    pub fn T_projective_trans_contour_xld(
8577        Contours: Hobject,
8578        ContoursProjTrans: *mut Hobject,
8579        HomMat2D: Htuple,
8580    ) -> Herror;
8581}
8582unsafe extern "C" {
8583    pub fn T_affine_trans_polygon_xld(
8584        Polygons: Hobject,
8585        PolygonsAffineTrans: *mut Hobject,
8586        HomMat2D: Htuple,
8587    ) -> Herror;
8588}
8589unsafe extern "C" {
8590    pub fn T_affine_trans_contour_xld(
8591        Contours: Hobject,
8592        ContoursAffineTrans: *mut Hobject,
8593        HomMat2D: Htuple,
8594    ) -> Herror;
8595}
8596unsafe extern "C" {
8597    pub fn T_close_contours_xld(Contours: Hobject, ClosedContours: *mut Hobject) -> Herror;
8598}
8599unsafe extern "C" {
8600    pub fn close_contours_xld(Contours: Hobject, ClosedContours: *mut Hobject) -> Herror;
8601}
8602unsafe extern "C" {
8603    pub fn T_clip_end_points_contours_xld(
8604        Contours: Hobject,
8605        ClippedContours: *mut Hobject,
8606        Mode: Htuple,
8607        Length: Htuple,
8608    ) -> Herror;
8609}
8610unsafe extern "C" {
8611    pub fn clip_end_points_contours_xld(
8612        Contours: Hobject,
8613        ClippedContours: *mut Hobject,
8614        Mode: *const ::std::os::raw::c_char,
8615        Length: f64,
8616    ) -> Herror;
8617}
8618unsafe extern "C" {
8619    pub fn T_clip_contours_xld(
8620        Contours: Hobject,
8621        ClippedContours: *mut Hobject,
8622        Row1: Htuple,
8623        Column1: Htuple,
8624        Row2: Htuple,
8625        Column2: Htuple,
8626    ) -> Herror;
8627}
8628unsafe extern "C" {
8629    pub fn clip_contours_xld(
8630        Contours: Hobject,
8631        ClippedContours: *mut Hobject,
8632        Row1: Hlong,
8633        Column1: Hlong,
8634        Row2: Hlong,
8635        Column2: Hlong,
8636    ) -> Herror;
8637}
8638unsafe extern "C" {
8639    pub fn T_local_max_contours_xld(
8640        Contours: Hobject,
8641        Image: Hobject,
8642        LocalMaxContours: *mut Hobject,
8643        MinPercent: Htuple,
8644        MinDiff: Htuple,
8645        Distance: Htuple,
8646    ) -> Herror;
8647}
8648unsafe extern "C" {
8649    pub fn local_max_contours_xld(
8650        Contours: Hobject,
8651        Image: Hobject,
8652        LocalMaxContours: *mut Hobject,
8653        MinPercent: Hlong,
8654        MinDiff: Hlong,
8655        Distance: Hlong,
8656    ) -> Herror;
8657}
8658unsafe extern "C" {
8659    pub fn T_union_straight_contours_histo_xld(
8660        Contours: Hobject,
8661        UnionContours: *mut Hobject,
8662        SelectedContours: *mut Hobject,
8663        RefLineStartRow: Htuple,
8664        RefLineStartColumn: Htuple,
8665        RefLineEndRow: Htuple,
8666        RefLineEndColumn: Htuple,
8667        Width: Htuple,
8668        MaxWidth: Htuple,
8669        FilterSize: Htuple,
8670        HistoValues: *mut Htuple,
8671    ) -> Herror;
8672}
8673unsafe extern "C" {
8674    pub fn T_union_straight_contours_xld(
8675        Contours: Hobject,
8676        UnionContours: *mut Hobject,
8677        MaxDist: Htuple,
8678        MaxDiff: Htuple,
8679        Percent: Htuple,
8680        Mode: Htuple,
8681        Iterations: Htuple,
8682    ) -> Herror;
8683}
8684unsafe extern "C" {
8685    pub fn union_straight_contours_xld(
8686        Contours: Hobject,
8687        UnionContours: *mut Hobject,
8688        MaxDist: f64,
8689        MaxDiff: f64,
8690        Percent: f64,
8691        Mode: *const ::std::os::raw::c_char,
8692        Iterations: *const ::std::os::raw::c_char,
8693    ) -> Herror;
8694}
8695unsafe extern "C" {
8696    pub fn T_union_collinear_contours_ext_xld(
8697        Contours: Hobject,
8698        UnionContours: *mut Hobject,
8699        MaxDistAbs: Htuple,
8700        MaxDistRel: Htuple,
8701        MaxShift: Htuple,
8702        MaxAngle: Htuple,
8703        MaxOverlap: Htuple,
8704        MaxRegrError: Htuple,
8705        MaxCosts: Htuple,
8706        WeightDist: Htuple,
8707        WeightShift: Htuple,
8708        WeightAngle: Htuple,
8709        WeightLink: Htuple,
8710        WeightRegr: Htuple,
8711        Mode: Htuple,
8712    ) -> Herror;
8713}
8714unsafe extern "C" {
8715    pub fn union_collinear_contours_ext_xld(
8716        Contours: Hobject,
8717        UnionContours: *mut Hobject,
8718        MaxDistAbs: f64,
8719        MaxDistRel: f64,
8720        MaxShift: f64,
8721        MaxAngle: f64,
8722        MaxOverlap: f64,
8723        MaxRegrError: f64,
8724        MaxCosts: f64,
8725        WeightDist: f64,
8726        WeightShift: f64,
8727        WeightAngle: f64,
8728        WeightLink: f64,
8729        WeightRegr: f64,
8730        Mode: *const ::std::os::raw::c_char,
8731    ) -> Herror;
8732}
8733unsafe extern "C" {
8734    pub fn T_union_collinear_contours_xld(
8735        Contours: Hobject,
8736        UnionContours: *mut Hobject,
8737        MaxDistAbs: Htuple,
8738        MaxDistRel: Htuple,
8739        MaxShift: Htuple,
8740        MaxAngle: Htuple,
8741        Mode: Htuple,
8742    ) -> Herror;
8743}
8744unsafe extern "C" {
8745    pub fn union_collinear_contours_xld(
8746        Contours: Hobject,
8747        UnionContours: *mut Hobject,
8748        MaxDistAbs: f64,
8749        MaxDistRel: f64,
8750        MaxShift: f64,
8751        MaxAngle: f64,
8752        Mode: *const ::std::os::raw::c_char,
8753    ) -> Herror;
8754}
8755unsafe extern "C" {
8756    pub fn T_union_adjacent_contours_xld(
8757        Contours: Hobject,
8758        UnionContours: *mut Hobject,
8759        MaxDistAbs: Htuple,
8760        MaxDistRel: Htuple,
8761        Mode: Htuple,
8762    ) -> Herror;
8763}
8764unsafe extern "C" {
8765    pub fn union_adjacent_contours_xld(
8766        Contours: Hobject,
8767        UnionContours: *mut Hobject,
8768        MaxDistAbs: f64,
8769        MaxDistRel: f64,
8770        Mode: *const ::std::os::raw::c_char,
8771    ) -> Herror;
8772}
8773unsafe extern "C" {
8774    pub fn T_select_contours_xld(
8775        Contours: Hobject,
8776        SelectedContours: *mut Hobject,
8777        Feature: Htuple,
8778        Min1: Htuple,
8779        Max1: Htuple,
8780        Min2: Htuple,
8781        Max2: Htuple,
8782    ) -> Herror;
8783}
8784unsafe extern "C" {
8785    pub fn select_contours_xld(
8786        Contours: Hobject,
8787        SelectedContours: *mut Hobject,
8788        Feature: *const ::std::os::raw::c_char,
8789        Min1: f64,
8790        Max1: f64,
8791        Min2: f64,
8792        Max2: f64,
8793    ) -> Herror;
8794}
8795unsafe extern "C" {
8796    pub fn T_get_regress_params_xld(
8797        Contours: Hobject,
8798        Length: *mut Htuple,
8799        Nx: *mut Htuple,
8800        Ny: *mut Htuple,
8801        Dist: *mut Htuple,
8802        Fpx: *mut Htuple,
8803        Fpy: *mut Htuple,
8804        Lpx: *mut Htuple,
8805        Lpy: *mut Htuple,
8806        Mean: *mut Htuple,
8807        Deviation: *mut Htuple,
8808    ) -> Herror;
8809}
8810unsafe extern "C" {
8811    pub fn T_regress_contours_xld(
8812        Contours: Hobject,
8813        RegressContours: *mut Hobject,
8814        Mode: Htuple,
8815        Iterations: Htuple,
8816    ) -> Herror;
8817}
8818unsafe extern "C" {
8819    pub fn regress_contours_xld(
8820        Contours: Hobject,
8821        RegressContours: *mut Hobject,
8822        Mode: *const ::std::os::raw::c_char,
8823        Iterations: Hlong,
8824    ) -> Herror;
8825}
8826unsafe extern "C" {
8827    pub fn T_get_contour_angle_xld(
8828        Contour: Hobject,
8829        AngleMode: Htuple,
8830        CalcMode: Htuple,
8831        Lookaround: Htuple,
8832        Angles: *mut Htuple,
8833    ) -> Herror;
8834}
8835unsafe extern "C" {
8836    pub fn T_smooth_contours_xld(
8837        Contours: Hobject,
8838        SmoothedContours: *mut Hobject,
8839        NumRegrPoints: Htuple,
8840    ) -> Herror;
8841}
8842unsafe extern "C" {
8843    pub fn smooth_contours_xld(
8844        Contours: Hobject,
8845        SmoothedContours: *mut Hobject,
8846        NumRegrPoints: Hlong,
8847    ) -> Herror;
8848}
8849unsafe extern "C" {
8850    pub fn T_contour_point_num_xld(Contour: Hobject, Length: *mut Htuple) -> Herror;
8851}
8852unsafe extern "C" {
8853    pub fn contour_point_num_xld(Contour: Hobject, Length: *mut Hlong) -> Herror;
8854}
8855unsafe extern "C" {
8856    pub fn T_query_contour_global_attribs_xld(Contour: Hobject, Attribs: *mut Htuple) -> Herror;
8857}
8858unsafe extern "C" {
8859    pub fn T_get_contour_global_attrib_xld(
8860        Contour: Hobject,
8861        Name: Htuple,
8862        Attrib: *mut Htuple,
8863    ) -> Herror;
8864}
8865unsafe extern "C" {
8866    pub fn T_query_contour_attribs_xld(Contour: Hobject, Attribs: *mut Htuple) -> Herror;
8867}
8868unsafe extern "C" {
8869    pub fn T_get_contour_attrib_xld(Contour: Hobject, Name: Htuple, Attrib: *mut Htuple) -> Herror;
8870}
8871unsafe extern "C" {
8872    pub fn T_get_contour_xld(Contour: Hobject, Row: *mut Htuple, Col: *mut Htuple) -> Herror;
8873}
8874unsafe extern "C" {
8875    pub fn T_gen_contour_region_xld(
8876        Regions: Hobject,
8877        Contours: *mut Hobject,
8878        Mode: Htuple,
8879    ) -> Herror;
8880}
8881unsafe extern "C" {
8882    pub fn gen_contour_region_xld(
8883        Regions: Hobject,
8884        Contours: *mut Hobject,
8885        Mode: *const ::std::os::raw::c_char,
8886    ) -> Herror;
8887}
8888unsafe extern "C" {
8889    pub fn T_gen_contour_polygon_rounded_xld(
8890        Contour: *mut Hobject,
8891        Row: Htuple,
8892        Col: Htuple,
8893        Radius: Htuple,
8894        SamplingInterval: Htuple,
8895    ) -> Herror;
8896}
8897unsafe extern "C" {
8898    pub fn T_gen_contour_polygon_xld(Contour: *mut Hobject, Row: Htuple, Col: Htuple) -> Herror;
8899}
8900unsafe extern "C" {
8901    pub fn T_gen_contours_skeleton_xld(
8902        Skeleton: Hobject,
8903        Contours: *mut Hobject,
8904        Length: Htuple,
8905        Mode: Htuple,
8906    ) -> Herror;
8907}
8908unsafe extern "C" {
8909    pub fn gen_contours_skeleton_xld(
8910        Skeleton: Hobject,
8911        Contours: *mut Hobject,
8912        Length: Hlong,
8913        Mode: *const ::std::os::raw::c_char,
8914    ) -> Herror;
8915}
8916unsafe extern "C" {
8917    pub fn T_disp_xld(XLDObject: Hobject, WindowHandle: Htuple) -> Herror;
8918}
8919unsafe extern "C" {
8920    pub fn disp_xld(XLDObject: Hobject, WindowHandle: Hlong) -> Herror;
8921}
8922unsafe extern "C" {
8923    pub fn T_wiener_filter_ni(
8924        Image: Hobject,
8925        Psf: Hobject,
8926        NoiseRegion: Hobject,
8927        RestoredImage: *mut Hobject,
8928        MaskWidth: Htuple,
8929        MaskHeight: Htuple,
8930    ) -> Herror;
8931}
8932unsafe extern "C" {
8933    pub fn wiener_filter_ni(
8934        Image: Hobject,
8935        Psf: Hobject,
8936        NoiseRegion: Hobject,
8937        RestoredImage: *mut Hobject,
8938        MaskWidth: Hlong,
8939        MaskHeight: Hlong,
8940    ) -> Herror;
8941}
8942unsafe extern "C" {
8943    pub fn T_wiener_filter(
8944        Image: Hobject,
8945        Psf: Hobject,
8946        FilteredImage: Hobject,
8947        RestoredImage: *mut Hobject,
8948    ) -> Herror;
8949}
8950unsafe extern "C" {
8951    pub fn wiener_filter(
8952        Image: Hobject,
8953        Psf: Hobject,
8954        FilteredImage: Hobject,
8955        RestoredImage: *mut Hobject,
8956    ) -> Herror;
8957}
8958unsafe extern "C" {
8959    pub fn T_gen_psf_motion(
8960        Psf: *mut Hobject,
8961        PSFwidth: Htuple,
8962        PSFheight: Htuple,
8963        Blurring: Htuple,
8964        Angle: Htuple,
8965        Type: Htuple,
8966    ) -> Herror;
8967}
8968unsafe extern "C" {
8969    pub fn gen_psf_motion(
8970        Psf: *mut Hobject,
8971        PSFwidth: Hlong,
8972        PSFheight: Hlong,
8973        Blurring: f64,
8974        Angle: Hlong,
8975        Type: Hlong,
8976    ) -> Herror;
8977}
8978unsafe extern "C" {
8979    pub fn T_simulate_motion(
8980        Image: Hobject,
8981        MovedImage: *mut Hobject,
8982        Blurring: Htuple,
8983        Angle: Htuple,
8984        Type: Htuple,
8985    ) -> Herror;
8986}
8987unsafe extern "C" {
8988    pub fn simulate_motion(
8989        Image: Hobject,
8990        MovedImage: *mut Hobject,
8991        Blurring: f64,
8992        Angle: Hlong,
8993        Type: Hlong,
8994    ) -> Herror;
8995}
8996unsafe extern "C" {
8997    pub fn T_gen_psf_defocus(
8998        Psf: *mut Hobject,
8999        PSFwidth: Htuple,
9000        PSFheight: Htuple,
9001        Blurring: Htuple,
9002    ) -> Herror;
9003}
9004unsafe extern "C" {
9005    pub fn gen_psf_defocus(
9006        Psf: *mut Hobject,
9007        PSFwidth: Hlong,
9008        PSFheight: Hlong,
9009        Blurring: f64,
9010    ) -> Herror;
9011}
9012unsafe extern "C" {
9013    pub fn T_simulate_defocus(
9014        Image: Hobject,
9015        DefocusedImage: *mut Hobject,
9016        Blurring: Htuple,
9017    ) -> Herror;
9018}
9019unsafe extern "C" {
9020    pub fn simulate_defocus(Image: Hobject, DefocusedImage: *mut Hobject, Blurring: f64) -> Herror;
9021}
9022unsafe extern "C" {
9023    pub fn T_deserialize_variation_model(
9024        SerializedItemHandle: Htuple,
9025        ModelID: *mut Htuple,
9026    ) -> Herror;
9027}
9028unsafe extern "C" {
9029    pub fn deserialize_variation_model(SerializedItemHandle: Hlong, ModelID: *mut Hlong) -> Herror;
9030}
9031unsafe extern "C" {
9032    pub fn T_serialize_variation_model(
9033        ModelID: Htuple,
9034        SerializedItemHandle: *mut Htuple,
9035    ) -> Herror;
9036}
9037unsafe extern "C" {
9038    pub fn serialize_variation_model(ModelID: Hlong, SerializedItemHandle: *mut Hlong) -> Herror;
9039}
9040unsafe extern "C" {
9041    pub fn T_read_variation_model(FileName: Htuple, ModelID: *mut Htuple) -> Herror;
9042}
9043unsafe extern "C" {
9044    pub fn read_variation_model(
9045        FileName: *const ::std::os::raw::c_char,
9046        ModelID: *mut Hlong,
9047    ) -> Herror;
9048}
9049unsafe extern "C" {
9050    pub fn T_write_variation_model(ModelID: Htuple, FileName: Htuple) -> Herror;
9051}
9052unsafe extern "C" {
9053    pub fn write_variation_model(ModelID: Hlong, FileName: *const ::std::os::raw::c_char)
9054    -> Herror;
9055}
9056unsafe extern "C" {
9057    pub fn T_get_thresh_images_variation_model(
9058        MinImage: *mut Hobject,
9059        MaxImage: *mut Hobject,
9060        ModelID: Htuple,
9061    ) -> Herror;
9062}
9063unsafe extern "C" {
9064    pub fn get_thresh_images_variation_model(
9065        MinImage: *mut Hobject,
9066        MaxImage: *mut Hobject,
9067        ModelID: Hlong,
9068    ) -> Herror;
9069}
9070unsafe extern "C" {
9071    pub fn T_get_variation_model(
9072        Image: *mut Hobject,
9073        VarImage: *mut Hobject,
9074        ModelID: Htuple,
9075    ) -> Herror;
9076}
9077unsafe extern "C" {
9078    pub fn get_variation_model(
9079        Image: *mut Hobject,
9080        VarImage: *mut Hobject,
9081        ModelID: Hlong,
9082    ) -> Herror;
9083}
9084unsafe extern "C" {
9085    pub fn T_compare_ext_variation_model(
9086        Image: Hobject,
9087        Region: *mut Hobject,
9088        ModelID: Htuple,
9089        Mode: Htuple,
9090    ) -> Herror;
9091}
9092unsafe extern "C" {
9093    pub fn compare_ext_variation_model(
9094        Image: Hobject,
9095        Region: *mut Hobject,
9096        ModelID: Hlong,
9097        Mode: *const ::std::os::raw::c_char,
9098    ) -> Herror;
9099}
9100unsafe extern "C" {
9101    pub fn T_compare_variation_model(
9102        Image: Hobject,
9103        Region: *mut Hobject,
9104        ModelID: Htuple,
9105    ) -> Herror;
9106}
9107unsafe extern "C" {
9108    pub fn compare_variation_model(Image: Hobject, Region: *mut Hobject, ModelID: Hlong) -> Herror;
9109}
9110unsafe extern "C" {
9111    pub fn T_prepare_direct_variation_model(
9112        RefImage: Hobject,
9113        VarImage: Hobject,
9114        ModelID: Htuple,
9115        AbsThreshold: Htuple,
9116        VarThreshold: Htuple,
9117    ) -> Herror;
9118}
9119unsafe extern "C" {
9120    pub fn prepare_direct_variation_model(
9121        RefImage: Hobject,
9122        VarImage: Hobject,
9123        ModelID: Hlong,
9124        AbsThreshold: f64,
9125        VarThreshold: f64,
9126    ) -> Herror;
9127}
9128unsafe extern "C" {
9129    pub fn T_prepare_variation_model(
9130        ModelID: Htuple,
9131        AbsThreshold: Htuple,
9132        VarThreshold: Htuple,
9133    ) -> Herror;
9134}
9135unsafe extern "C" {
9136    pub fn prepare_variation_model(ModelID: Hlong, AbsThreshold: f64, VarThreshold: f64) -> Herror;
9137}
9138unsafe extern "C" {
9139    pub fn T_train_variation_model(Images: Hobject, ModelID: Htuple) -> Herror;
9140}
9141unsafe extern "C" {
9142    pub fn train_variation_model(Images: Hobject, ModelID: Hlong) -> Herror;
9143}
9144unsafe extern "C" {
9145    pub fn T_clear_all_variation_models() -> Herror;
9146}
9147unsafe extern "C" {
9148    pub fn clear_all_variation_models() -> Herror;
9149}
9150unsafe extern "C" {
9151    pub fn T_clear_variation_model(ModelID: Htuple) -> Herror;
9152}
9153unsafe extern "C" {
9154    pub fn clear_variation_model(ModelID: Hlong) -> Herror;
9155}
9156unsafe extern "C" {
9157    pub fn T_clear_train_data_variation_model(ModelID: Htuple) -> Herror;
9158}
9159unsafe extern "C" {
9160    pub fn clear_train_data_variation_model(ModelID: Hlong) -> Herror;
9161}
9162unsafe extern "C" {
9163    pub fn T_create_variation_model(
9164        Width: Htuple,
9165        Height: Htuple,
9166        Type: Htuple,
9167        Mode: Htuple,
9168        ModelID: *mut Htuple,
9169    ) -> Herror;
9170}
9171unsafe extern "C" {
9172    pub fn create_variation_model(
9173        Width: Hlong,
9174        Height: Hlong,
9175        Type: *const ::std::os::raw::c_char,
9176        Mode: *const ::std::os::raw::c_char,
9177        ModelID: *mut Hlong,
9178    ) -> Herror;
9179}
9180unsafe extern "C" {
9181    pub fn T_tuple_union(Set1: Htuple, Set2: Htuple, Union: *mut Htuple) -> Herror;
9182}
9183unsafe extern "C" {
9184    pub fn tuple_union(Set1: Hlong, Set2: Hlong, Union: *mut Hlong) -> Herror;
9185}
9186unsafe extern "C" {
9187    pub fn T_tuple_intersection(Set1: Htuple, Set2: Htuple, Intersection: *mut Htuple) -> Herror;
9188}
9189unsafe extern "C" {
9190    pub fn tuple_intersection(Set1: Hlong, Set2: Hlong, Intersection: *mut Hlong) -> Herror;
9191}
9192unsafe extern "C" {
9193    pub fn T_tuple_difference(Set1: Htuple, Set2: Htuple, Difference: *mut Htuple) -> Herror;
9194}
9195unsafe extern "C" {
9196    pub fn tuple_difference(Set1: Hlong, Set2: Hlong, Difference: *mut Hlong) -> Herror;
9197}
9198unsafe extern "C" {
9199    pub fn T_tuple_symmdiff(Set1: Htuple, Set2: Htuple, SymmDiff: *mut Htuple) -> Herror;
9200}
9201unsafe extern "C" {
9202    pub fn tuple_symmdiff(Set1: Hlong, Set2: Hlong, SymmDiff: *mut Hlong) -> Herror;
9203}
9204unsafe extern "C" {
9205    pub fn T_tuple_is_string_elem(T: Htuple, IsString: *mut Htuple) -> Herror;
9206}
9207unsafe extern "C" {
9208    pub fn tuple_is_string_elem(T: *const ::std::os::raw::c_char, IsString: *mut Hlong) -> Herror;
9209}
9210unsafe extern "C" {
9211    pub fn T_tuple_is_real_elem(T: Htuple, IsReal: *mut Htuple) -> Herror;
9212}
9213unsafe extern "C" {
9214    pub fn tuple_is_real_elem(T: f64, IsReal: *mut Hlong) -> Herror;
9215}
9216unsafe extern "C" {
9217    pub fn T_tuple_is_int_elem(T: Htuple, IsInt: *mut Htuple) -> Herror;
9218}
9219unsafe extern "C" {
9220    pub fn tuple_is_int_elem(T: Hlong, IsInt: *mut Hlong) -> Herror;
9221}
9222unsafe extern "C" {
9223    pub fn T_tuple_type_elem(T: Htuple, Types: *mut Htuple) -> Herror;
9224}
9225unsafe extern "C" {
9226    pub fn tuple_type_elem(T: f64, Types: *mut Hlong) -> Herror;
9227}
9228unsafe extern "C" {
9229    pub fn T_tuple_is_mixed(T: Htuple, IsMixed: *mut Htuple) -> Herror;
9230}
9231unsafe extern "C" {
9232    pub fn tuple_is_mixed(T: *const ::std::os::raw::c_char, IsMixed: *mut Hlong) -> Herror;
9233}
9234unsafe extern "C" {
9235    pub fn T_tuple_is_string(T: Htuple, IsString: *mut Htuple) -> Herror;
9236}
9237unsafe extern "C" {
9238    pub fn tuple_is_string(T: *const ::std::os::raw::c_char, IsString: *mut Hlong) -> Herror;
9239}
9240unsafe extern "C" {
9241    pub fn T_tuple_is_real(T: Htuple, IsReal: *mut Htuple) -> Herror;
9242}
9243unsafe extern "C" {
9244    pub fn tuple_is_real(T: f64, IsReal: *mut Hlong) -> Herror;
9245}
9246unsafe extern "C" {
9247    pub fn T_tuple_is_int(T: Htuple, IsInt: *mut Htuple) -> Herror;
9248}
9249unsafe extern "C" {
9250    pub fn tuple_is_int(T: Hlong, IsInt: *mut Hlong) -> Herror;
9251}
9252unsafe extern "C" {
9253    pub fn T_tuple_type(T: Htuple, Type: *mut Htuple) -> Herror;
9254}
9255unsafe extern "C" {
9256    pub fn tuple_type(T: f64, Type: *mut Hlong) -> Herror;
9257}
9258unsafe extern "C" {
9259    pub fn T_tuple_histo_range(
9260        Tuple: Htuple,
9261        Min: Htuple,
9262        Max: Htuple,
9263        NumBins: Htuple,
9264        Histo: *mut Htuple,
9265        BinSize: *mut Htuple,
9266    ) -> Herror;
9267}
9268unsafe extern "C" {
9269    pub fn T_tuple_regexp_select(
9270        Data: Htuple,
9271        Expression: Htuple,
9272        Selection: *mut Htuple,
9273    ) -> Herror;
9274}
9275unsafe extern "C" {
9276    pub fn tuple_regexp_select(
9277        Data: *const ::std::os::raw::c_char,
9278        Expression: *const ::std::os::raw::c_char,
9279        Selection: *mut ::std::os::raw::c_char,
9280    ) -> Herror;
9281}
9282unsafe extern "C" {
9283    pub fn T_tuple_regexp_test(Data: Htuple, Expression: Htuple, NumMatches: *mut Htuple)
9284    -> Herror;
9285}
9286unsafe extern "C" {
9287    pub fn tuple_regexp_test(
9288        Data: *const ::std::os::raw::c_char,
9289        Expression: *const ::std::os::raw::c_char,
9290        NumMatches: *mut Hlong,
9291    ) -> Herror;
9292}
9293unsafe extern "C" {
9294    pub fn T_tuple_regexp_replace(
9295        Data: Htuple,
9296        Expression: Htuple,
9297        Replace: Htuple,
9298        Result: *mut Htuple,
9299    ) -> Herror;
9300}
9301unsafe extern "C" {
9302    pub fn tuple_regexp_replace(
9303        Data: *const ::std::os::raw::c_char,
9304        Expression: *const ::std::os::raw::c_char,
9305        Replace: *const ::std::os::raw::c_char,
9306        Result: *mut ::std::os::raw::c_char,
9307    ) -> Herror;
9308}
9309unsafe extern "C" {
9310    pub fn T_tuple_regexp_match(Data: Htuple, Expression: Htuple, Matches: *mut Htuple) -> Herror;
9311}
9312unsafe extern "C" {
9313    pub fn tuple_regexp_match(
9314        Data: *const ::std::os::raw::c_char,
9315        Expression: *const ::std::os::raw::c_char,
9316        Matches: *mut ::std::os::raw::c_char,
9317    ) -> Herror;
9318}
9319unsafe extern "C" {
9320    pub fn T_tuple_rand(Length: Htuple, Rand: *mut Htuple) -> Herror;
9321}
9322unsafe extern "C" {
9323    pub fn tuple_rand(Length: Hlong, Rand: *mut f64) -> Herror;
9324}
9325unsafe extern "C" {
9326    pub fn T_tuple_length(Tuple: Htuple, Length: *mut Htuple) -> Herror;
9327}
9328unsafe extern "C" {
9329    pub fn tuple_length(Tuple: Hlong, Length: *mut Hlong) -> Herror;
9330}
9331unsafe extern "C" {
9332    pub fn T_tuple_sgn(T: Htuple, Sgn: *mut Htuple) -> Herror;
9333}
9334unsafe extern "C" {
9335    pub fn tuple_sgn(T: f64, Sgn: *mut Hlong) -> Herror;
9336}
9337unsafe extern "C" {
9338    pub fn T_tuple_max2(T1: Htuple, T2: Htuple, Max2: *mut Htuple) -> Herror;
9339}
9340unsafe extern "C" {
9341    pub fn tuple_max2(T1: f64, T2: f64, Max2: *mut f64) -> Herror;
9342}
9343unsafe extern "C" {
9344    pub fn T_tuple_min2(T1: Htuple, T2: Htuple, Min2: *mut Htuple) -> Herror;
9345}
9346unsafe extern "C" {
9347    pub fn tuple_min2(T1: f64, T2: f64, Min2: *mut f64) -> Herror;
9348}
9349unsafe extern "C" {
9350    pub fn T_tuple_max(Tuple: Htuple, Max: *mut Htuple) -> Herror;
9351}
9352unsafe extern "C" {
9353    pub fn tuple_max(Tuple: Hlong, Max: *mut f64) -> Herror;
9354}
9355unsafe extern "C" {
9356    pub fn T_tuple_min(Tuple: Htuple, Min: *mut Htuple) -> Herror;
9357}
9358unsafe extern "C" {
9359    pub fn tuple_min(Tuple: Hlong, Min: *mut f64) -> Herror;
9360}
9361unsafe extern "C" {
9362    pub fn T_tuple_cumul(Tuple: Htuple, Cumul: *mut Htuple) -> Herror;
9363}
9364unsafe extern "C" {
9365    pub fn tuple_cumul(Tuple: Hlong, Cumul: *mut f64) -> Herror;
9366}
9367unsafe extern "C" {
9368    pub fn T_tuple_select_rank(Tuple: Htuple, RankIndex: Htuple, Selected: *mut Htuple) -> Herror;
9369}
9370unsafe extern "C" {
9371    pub fn tuple_select_rank(Tuple: Hlong, RankIndex: Hlong, Selected: *mut Hlong) -> Herror;
9372}
9373unsafe extern "C" {
9374    pub fn T_tuple_median(Tuple: Htuple, Median: *mut Htuple) -> Herror;
9375}
9376unsafe extern "C" {
9377    pub fn tuple_median(Tuple: Hlong, Median: *mut Hlong) -> Herror;
9378}
9379unsafe extern "C" {
9380    pub fn T_tuple_sum(Tuple: Htuple, Sum: *mut Htuple) -> Herror;
9381}
9382unsafe extern "C" {
9383    pub fn tuple_sum(Tuple: Hlong, Sum: *mut f64) -> Herror;
9384}
9385unsafe extern "C" {
9386    pub fn T_tuple_mean(Tuple: Htuple, Mean: *mut Htuple) -> Herror;
9387}
9388unsafe extern "C" {
9389    pub fn tuple_mean(Tuple: Hlong, Mean: *mut f64) -> Herror;
9390}
9391unsafe extern "C" {
9392    pub fn T_tuple_deviation(Tuple: Htuple, Deviation: *mut Htuple) -> Herror;
9393}
9394unsafe extern "C" {
9395    pub fn tuple_deviation(Tuple: Hlong, Deviation: *mut f64) -> Herror;
9396}
9397unsafe extern "C" {
9398    pub fn T_tuple_uniq(Tuple: Htuple, Uniq: *mut Htuple) -> Herror;
9399}
9400unsafe extern "C" {
9401    pub fn tuple_uniq(Tuple: Hlong, Uniq: *mut Hlong) -> Herror;
9402}
9403unsafe extern "C" {
9404    pub fn T_tuple_find_last(Tuple: Htuple, ToFind: Htuple, Index: *mut Htuple) -> Herror;
9405}
9406unsafe extern "C" {
9407    pub fn tuple_find_last(Tuple: Hlong, ToFind: Hlong, Index: *mut Hlong) -> Herror;
9408}
9409unsafe extern "C" {
9410    pub fn T_tuple_find_first(Tuple: Htuple, ToFind: Htuple, Index: *mut Htuple) -> Herror;
9411}
9412unsafe extern "C" {
9413    pub fn tuple_find_first(Tuple: Hlong, ToFind: Hlong, Index: *mut Hlong) -> Herror;
9414}
9415unsafe extern "C" {
9416    pub fn T_tuple_find(Tuple: Htuple, ToFind: Htuple, Indices: *mut Htuple) -> Herror;
9417}
9418unsafe extern "C" {
9419    pub fn tuple_find(Tuple: Hlong, ToFind: Hlong, Indices: *mut Hlong) -> Herror;
9420}
9421unsafe extern "C" {
9422    pub fn T_tuple_sort_index(Tuple: Htuple, Indices: *mut Htuple) -> Herror;
9423}
9424unsafe extern "C" {
9425    pub fn tuple_sort_index(Tuple: Hlong, Indices: *mut Hlong) -> Herror;
9426}
9427unsafe extern "C" {
9428    pub fn T_tuple_sort(Tuple: Htuple, Sorted: *mut Htuple) -> Herror;
9429}
9430unsafe extern "C" {
9431    pub fn tuple_sort(Tuple: Hlong, Sorted: *mut Hlong) -> Herror;
9432}
9433unsafe extern "C" {
9434    pub fn T_tuple_inverse(Tuple: Htuple, Inverted: *mut Htuple) -> Herror;
9435}
9436unsafe extern "C" {
9437    pub fn tuple_inverse(Tuple: Hlong, Inverted: *mut Hlong) -> Herror;
9438}
9439unsafe extern "C" {
9440    pub fn T_tuple_concat(T1: Htuple, T2: Htuple, Concat: *mut Htuple) -> Herror;
9441}
9442unsafe extern "C" {
9443    pub fn tuple_concat(T1: Hlong, T2: Hlong, Concat: *mut Hlong) -> Herror;
9444}
9445unsafe extern "C" {
9446    pub fn T_tuple_select_range(
9447        Tuple: Htuple,
9448        Leftindex: Htuple,
9449        Rightindex: Htuple,
9450        Selected: *mut Htuple,
9451    ) -> Herror;
9452}
9453unsafe extern "C" {
9454    pub fn tuple_select_range(
9455        Tuple: Hlong,
9456        Leftindex: Hlong,
9457        Rightindex: Hlong,
9458        Selected: *mut Hlong,
9459    ) -> Herror;
9460}
9461unsafe extern "C" {
9462    pub fn T_tuple_last_n(Tuple: Htuple, Index: Htuple, Selected: *mut Htuple) -> Herror;
9463}
9464unsafe extern "C" {
9465    pub fn tuple_last_n(Tuple: Hlong, Index: Hlong, Selected: *mut Hlong) -> Herror;
9466}
9467unsafe extern "C" {
9468    pub fn T_tuple_first_n(Tuple: Htuple, Index: Htuple, Selected: *mut Htuple) -> Herror;
9469}
9470unsafe extern "C" {
9471    pub fn tuple_first_n(Tuple: Hlong, Index: Hlong, Selected: *mut Hlong) -> Herror;
9472}
9473unsafe extern "C" {
9474    pub fn T_tuple_insert(
9475        Tuple: Htuple,
9476        Index: Htuple,
9477        InsertTuple: Htuple,
9478        Extended: *mut Htuple,
9479    ) -> Herror;
9480}
9481unsafe extern "C" {
9482    pub fn T_tuple_replace(
9483        Tuple: Htuple,
9484        Index: Htuple,
9485        ReplaceTuple: Htuple,
9486        Replaced: *mut Htuple,
9487    ) -> Herror;
9488}
9489unsafe extern "C" {
9490    pub fn T_tuple_remove(Tuple: Htuple, Index: Htuple, Reduced: *mut Htuple) -> Herror;
9491}
9492unsafe extern "C" {
9493    pub fn tuple_remove(Tuple: Hlong, Index: Hlong, Reduced: *mut Hlong) -> Herror;
9494}
9495unsafe extern "C" {
9496    pub fn T_tuple_select_mask(Tuple: Htuple, Mask: Htuple, Selected: *mut Htuple) -> Herror;
9497}
9498unsafe extern "C" {
9499    pub fn tuple_select_mask(Tuple: Hlong, Mask: Hlong, Selected: *mut Hlong) -> Herror;
9500}
9501unsafe extern "C" {
9502    pub fn T_tuple_select(Tuple: Htuple, Index: Htuple, Selected: *mut Htuple) -> Herror;
9503}
9504unsafe extern "C" {
9505    pub fn tuple_select(Tuple: Hlong, Index: Hlong, Selected: *mut Hlong) -> Herror;
9506}
9507unsafe extern "C" {
9508    pub fn T_tuple_str_bit_select(Tuple: Htuple, Index: Htuple, Selected: *mut Htuple) -> Herror;
9509}
9510unsafe extern "C" {
9511    pub fn tuple_str_bit_select(
9512        Tuple: *const ::std::os::raw::c_char,
9513        Index: Hlong,
9514        Selected: *mut ::std::os::raw::c_char,
9515    ) -> Herror;
9516}
9517unsafe extern "C" {
9518    pub fn T_tuple_gen_sequence(
9519        Start: Htuple,
9520        End: Htuple,
9521        Step: Htuple,
9522        Sequence: *mut Htuple,
9523    ) -> Herror;
9524}
9525unsafe extern "C" {
9526    pub fn tuple_gen_sequence(
9527        Start: Hlong,
9528        End: Hlong,
9529        Step: Hlong,
9530        Sequence: *mut Hlong,
9531    ) -> Herror;
9532}
9533unsafe extern "C" {
9534    pub fn T_tuple_gen_const(Length: Htuple, Const: Htuple, Newtuple: *mut Htuple) -> Herror;
9535}
9536unsafe extern "C" {
9537    pub fn tuple_gen_const(Length: Hlong, Const: Hlong, Newtuple: *mut Hlong) -> Herror;
9538}
9539unsafe extern "C" {
9540    pub fn T_tuple_environment(Names: Htuple, Values: *mut Htuple) -> Herror;
9541}
9542unsafe extern "C" {
9543    pub fn tuple_environment(
9544        Names: *const ::std::os::raw::c_char,
9545        Values: *mut ::std::os::raw::c_char,
9546    ) -> Herror;
9547}
9548unsafe extern "C" {
9549    pub fn T_tuple_split(String: Htuple, Separator: Htuple, Substrings: *mut Htuple) -> Herror;
9550}
9551unsafe extern "C" {
9552    pub fn tuple_split(
9553        String: *const ::std::os::raw::c_char,
9554        Separator: *const ::std::os::raw::c_char,
9555        Substrings: *mut ::std::os::raw::c_char,
9556    ) -> Herror;
9557}
9558unsafe extern "C" {
9559    pub fn T_tuple_substr(
9560        String: Htuple,
9561        Position1: Htuple,
9562        Position2: Htuple,
9563        Substring: *mut Htuple,
9564    ) -> Herror;
9565}
9566unsafe extern "C" {
9567    pub fn tuple_substr(
9568        String: *const ::std::os::raw::c_char,
9569        Position1: Hlong,
9570        Position2: Hlong,
9571        Substring: *mut ::std::os::raw::c_char,
9572    ) -> Herror;
9573}
9574unsafe extern "C" {
9575    pub fn T_tuple_str_last_n(String: Htuple, Position: Htuple, Substring: *mut Htuple) -> Herror;
9576}
9577unsafe extern "C" {
9578    pub fn tuple_str_last_n(
9579        String: *const ::std::os::raw::c_char,
9580        Position: Hlong,
9581        Substring: *mut ::std::os::raw::c_char,
9582    ) -> Herror;
9583}
9584unsafe extern "C" {
9585    pub fn T_tuple_str_first_n(String: Htuple, Position: Htuple, Substring: *mut Htuple) -> Herror;
9586}
9587unsafe extern "C" {
9588    pub fn tuple_str_first_n(
9589        String: *const ::std::os::raw::c_char,
9590        Position: Hlong,
9591        Substring: *mut ::std::os::raw::c_char,
9592    ) -> Herror;
9593}
9594unsafe extern "C" {
9595    pub fn T_tuple_strrchr(String: Htuple, ToFind: Htuple, Position: *mut Htuple) -> Herror;
9596}
9597unsafe extern "C" {
9598    pub fn tuple_strrchr(
9599        String: *const ::std::os::raw::c_char,
9600        ToFind: *const ::std::os::raw::c_char,
9601        Position: *mut Hlong,
9602    ) -> Herror;
9603}
9604unsafe extern "C" {
9605    pub fn T_tuple_strchr(String: Htuple, ToFind: Htuple, Position: *mut Htuple) -> Herror;
9606}
9607unsafe extern "C" {
9608    pub fn tuple_strchr(
9609        String: *const ::std::os::raw::c_char,
9610        ToFind: *const ::std::os::raw::c_char,
9611        Position: *mut Hlong,
9612    ) -> Herror;
9613}
9614unsafe extern "C" {
9615    pub fn T_tuple_strrstr(String: Htuple, ToFind: Htuple, Position: *mut Htuple) -> Herror;
9616}
9617unsafe extern "C" {
9618    pub fn tuple_strrstr(
9619        String: *const ::std::os::raw::c_char,
9620        ToFind: *const ::std::os::raw::c_char,
9621        Position: *mut Hlong,
9622    ) -> Herror;
9623}
9624unsafe extern "C" {
9625    pub fn T_tuple_strstr(String: Htuple, ToFind: Htuple, Position: *mut Htuple) -> Herror;
9626}
9627unsafe extern "C" {
9628    pub fn tuple_strstr(
9629        String: *const ::std::os::raw::c_char,
9630        ToFind: *const ::std::os::raw::c_char,
9631        Position: *mut Hlong,
9632    ) -> Herror;
9633}
9634unsafe extern "C" {
9635    pub fn T_tuple_strlen(T1: Htuple, Length: *mut Htuple) -> Herror;
9636}
9637unsafe extern "C" {
9638    pub fn tuple_strlen(T1: *const ::std::os::raw::c_char, Length: *mut Hlong) -> Herror;
9639}
9640unsafe extern "C" {
9641    pub fn T_tuple_less_equal_elem(T1: Htuple, T2: Htuple, Lesseq: *mut Htuple) -> Herror;
9642}
9643unsafe extern "C" {
9644    pub fn tuple_less_equal_elem(T1: Hlong, T2: Hlong, Lesseq: *mut Hlong) -> Herror;
9645}
9646unsafe extern "C" {
9647    pub fn T_tuple_less_elem(T1: Htuple, T2: Htuple, Less: *mut Htuple) -> Herror;
9648}
9649unsafe extern "C" {
9650    pub fn tuple_less_elem(T1: Hlong, T2: Hlong, Less: *mut Hlong) -> Herror;
9651}
9652unsafe extern "C" {
9653    pub fn T_tuple_greater_equal_elem(T1: Htuple, T2: Htuple, Greatereq: *mut Htuple) -> Herror;
9654}
9655unsafe extern "C" {
9656    pub fn tuple_greater_equal_elem(T1: Hlong, T2: Hlong, Greatereq: *mut Hlong) -> Herror;
9657}
9658unsafe extern "C" {
9659    pub fn T_tuple_greater_elem(T1: Htuple, T2: Htuple, Greater: *mut Htuple) -> Herror;
9660}
9661unsafe extern "C" {
9662    pub fn tuple_greater_elem(T1: Hlong, T2: Hlong, Greater: *mut Hlong) -> Herror;
9663}
9664unsafe extern "C" {
9665    pub fn T_tuple_not_equal_elem(T1: Htuple, T2: Htuple, Nequal: *mut Htuple) -> Herror;
9666}
9667unsafe extern "C" {
9668    pub fn tuple_not_equal_elem(T1: Hlong, T2: Hlong, Nequal: *mut Hlong) -> Herror;
9669}
9670unsafe extern "C" {
9671    pub fn T_tuple_equal_elem(T1: Htuple, T2: Htuple, Equal: *mut Htuple) -> Herror;
9672}
9673unsafe extern "C" {
9674    pub fn tuple_equal_elem(T1: Hlong, T2: Hlong, Equal: *mut Hlong) -> Herror;
9675}
9676unsafe extern "C" {
9677    pub fn T_tuple_less_equal(T1: Htuple, T2: Htuple, Lesseq: *mut Htuple) -> Herror;
9678}
9679unsafe extern "C" {
9680    pub fn tuple_less_equal(T1: Hlong, T2: Hlong, Lesseq: *mut Hlong) -> Herror;
9681}
9682unsafe extern "C" {
9683    pub fn T_tuple_less(T1: Htuple, T2: Htuple, Less: *mut Htuple) -> Herror;
9684}
9685unsafe extern "C" {
9686    pub fn tuple_less(T1: Hlong, T2: Hlong, Less: *mut Hlong) -> Herror;
9687}
9688unsafe extern "C" {
9689    pub fn T_tuple_greater_equal(T1: Htuple, T2: Htuple, Greatereq: *mut Htuple) -> Herror;
9690}
9691unsafe extern "C" {
9692    pub fn tuple_greater_equal(T1: Hlong, T2: Hlong, Greatereq: *mut Hlong) -> Herror;
9693}
9694unsafe extern "C" {
9695    pub fn T_tuple_greater(T1: Htuple, T2: Htuple, Greater: *mut Htuple) -> Herror;
9696}
9697unsafe extern "C" {
9698    pub fn tuple_greater(T1: Hlong, T2: Hlong, Greater: *mut Hlong) -> Herror;
9699}
9700unsafe extern "C" {
9701    pub fn T_tuple_not_equal(T1: Htuple, T2: Htuple, Nequal: *mut Htuple) -> Herror;
9702}
9703unsafe extern "C" {
9704    pub fn tuple_not_equal(T1: Hlong, T2: Hlong, Nequal: *mut Hlong) -> Herror;
9705}
9706unsafe extern "C" {
9707    pub fn T_tuple_equal(T1: Htuple, T2: Htuple, Equal: *mut Htuple) -> Herror;
9708}
9709unsafe extern "C" {
9710    pub fn tuple_equal(T1: Hlong, T2: Hlong, Equal: *mut Hlong) -> Herror;
9711}
9712unsafe extern "C" {
9713    pub fn T_tuple_not(T: Htuple, Not: *mut Htuple) -> Herror;
9714}
9715unsafe extern "C" {
9716    pub fn tuple_not(T: Hlong, Not: *mut Hlong) -> Herror;
9717}
9718unsafe extern "C" {
9719    pub fn T_tuple_xor(T1: Htuple, T2: Htuple, Xor: *mut Htuple) -> Herror;
9720}
9721unsafe extern "C" {
9722    pub fn tuple_xor(T1: Hlong, T2: Hlong, Xor: *mut Hlong) -> Herror;
9723}
9724unsafe extern "C" {
9725    pub fn T_tuple_or(T1: Htuple, T2: Htuple, Or: *mut Htuple) -> Herror;
9726}
9727unsafe extern "C" {
9728    pub fn tuple_or(T1: Hlong, T2: Hlong, Or: *mut Hlong) -> Herror;
9729}
9730unsafe extern "C" {
9731    pub fn T_tuple_and(T1: Htuple, T2: Htuple, And: *mut Htuple) -> Herror;
9732}
9733unsafe extern "C" {
9734    pub fn tuple_and(T1: Hlong, T2: Hlong, And: *mut Hlong) -> Herror;
9735}
9736unsafe extern "C" {
9737    pub fn T_tuple_bnot(T: Htuple, BNot: *mut Htuple) -> Herror;
9738}
9739unsafe extern "C" {
9740    pub fn tuple_bnot(T: Hlong, BNot: *mut Hlong) -> Herror;
9741}
9742unsafe extern "C" {
9743    pub fn T_tuple_bxor(T1: Htuple, T2: Htuple, BXor: *mut Htuple) -> Herror;
9744}
9745unsafe extern "C" {
9746    pub fn tuple_bxor(T1: Hlong, T2: Hlong, BXor: *mut Hlong) -> Herror;
9747}
9748unsafe extern "C" {
9749    pub fn T_tuple_bor(T1: Htuple, T2: Htuple, BOr: *mut Htuple) -> Herror;
9750}
9751unsafe extern "C" {
9752    pub fn tuple_bor(T1: Hlong, T2: Hlong, BOr: *mut Hlong) -> Herror;
9753}
9754unsafe extern "C" {
9755    pub fn T_tuple_band(T1: Htuple, T2: Htuple, BAnd: *mut Htuple) -> Herror;
9756}
9757unsafe extern "C" {
9758    pub fn tuple_band(T1: Hlong, T2: Hlong, BAnd: *mut Hlong) -> Herror;
9759}
9760unsafe extern "C" {
9761    pub fn T_tuple_rsh(T: Htuple, Shift: Htuple, Rsh: *mut Htuple) -> Herror;
9762}
9763unsafe extern "C" {
9764    pub fn tuple_rsh(T: Hlong, Shift: Hlong, Rsh: *mut Hlong) -> Herror;
9765}
9766unsafe extern "C" {
9767    pub fn T_tuple_lsh(T: Htuple, Shift: Htuple, Lsh: *mut Htuple) -> Herror;
9768}
9769unsafe extern "C" {
9770    pub fn tuple_lsh(T: Hlong, Shift: Hlong, Lsh: *mut Hlong) -> Herror;
9771}
9772unsafe extern "C" {
9773    pub fn T_tuple_chrt(T: Htuple, Chrt: *mut Htuple) -> Herror;
9774}
9775unsafe extern "C" {
9776    pub fn tuple_chrt(T: Hlong, Chrt: *mut ::std::os::raw::c_char) -> Herror;
9777}
9778unsafe extern "C" {
9779    pub fn T_tuple_ords(T: Htuple, Ords: *mut Htuple) -> Herror;
9780}
9781unsafe extern "C" {
9782    pub fn tuple_ords(T: *const ::std::os::raw::c_char, Ords: *mut Hlong) -> Herror;
9783}
9784unsafe extern "C" {
9785    pub fn T_tuple_chr(T: Htuple, Chr: *mut Htuple) -> Herror;
9786}
9787unsafe extern "C" {
9788    pub fn tuple_chr(T: Hlong, Chr: *mut ::std::os::raw::c_char) -> Herror;
9789}
9790unsafe extern "C" {
9791    pub fn T_tuple_ord(T: Htuple, Ord: *mut Htuple) -> Herror;
9792}
9793unsafe extern "C" {
9794    pub fn tuple_ord(T: *const ::std::os::raw::c_char, Ord: *mut Hlong) -> Herror;
9795}
9796unsafe extern "C" {
9797    pub fn T_tuple_string(T: Htuple, Format: Htuple, String: *mut Htuple) -> Herror;
9798}
9799unsafe extern "C" {
9800    pub fn tuple_string(
9801        T: f64,
9802        Format: *const ::std::os::raw::c_char,
9803        String: *mut ::std::os::raw::c_char,
9804    ) -> Herror;
9805}
9806unsafe extern "C" {
9807    pub fn T_tuple_is_number(T: Htuple, IsNumber: *mut Htuple) -> Herror;
9808}
9809unsafe extern "C" {
9810    pub fn tuple_is_number(T: f64, IsNumber: *mut Hlong) -> Herror;
9811}
9812unsafe extern "C" {
9813    pub fn T_tuple_number(T: Htuple, Number: *mut Htuple) -> Herror;
9814}
9815unsafe extern "C" {
9816    pub fn tuple_number(T: *const ::std::os::raw::c_char, Number: *mut f64) -> Herror;
9817}
9818unsafe extern "C" {
9819    pub fn T_tuple_round(T: Htuple, Round: *mut Htuple) -> Herror;
9820}
9821unsafe extern "C" {
9822    pub fn tuple_round(T: f64, Round: *mut Hlong) -> Herror;
9823}
9824unsafe extern "C" {
9825    pub fn T_tuple_int(T: Htuple, Int: *mut Htuple) -> Herror;
9826}
9827unsafe extern "C" {
9828    pub fn tuple_int(T: f64, Int: *mut Hlong) -> Herror;
9829}
9830unsafe extern "C" {
9831    pub fn T_tuple_real(T: Htuple, Real: *mut Htuple) -> Herror;
9832}
9833unsafe extern "C" {
9834    pub fn tuple_real(T: f64, Real: *mut f64) -> Herror;
9835}
9836unsafe extern "C" {
9837    pub fn T_tuple_ldexp(T1: Htuple, T2: Htuple, Ldexp: *mut Htuple) -> Herror;
9838}
9839unsafe extern "C" {
9840    pub fn tuple_ldexp(T1: f64, T2: f64, Ldexp: *mut f64) -> Herror;
9841}
9842unsafe extern "C" {
9843    pub fn T_tuple_fmod(T1: Htuple, T2: Htuple, Fmod: *mut Htuple) -> Herror;
9844}
9845unsafe extern "C" {
9846    pub fn tuple_fmod(T1: f64, T2: f64, Fmod: *mut f64) -> Herror;
9847}
9848unsafe extern "C" {
9849    pub fn T_tuple_mod(T1: Htuple, T2: Htuple, Mod: *mut Htuple) -> Herror;
9850}
9851unsafe extern "C" {
9852    pub fn tuple_mod(T1: Hlong, T2: Hlong, Mod: *mut Hlong) -> Herror;
9853}
9854unsafe extern "C" {
9855    pub fn T_tuple_ceil(T: Htuple, Ceil: *mut Htuple) -> Herror;
9856}
9857unsafe extern "C" {
9858    pub fn tuple_ceil(T: f64, Ceil: *mut f64) -> Herror;
9859}
9860unsafe extern "C" {
9861    pub fn T_tuple_floor(T: Htuple, Floor: *mut Htuple) -> Herror;
9862}
9863unsafe extern "C" {
9864    pub fn tuple_floor(T: f64, Floor: *mut f64) -> Herror;
9865}
9866unsafe extern "C" {
9867    pub fn T_tuple_pow(T1: Htuple, T2: Htuple, Pow: *mut Htuple) -> Herror;
9868}
9869unsafe extern "C" {
9870    pub fn tuple_pow(T1: f64, T2: f64, Pow: *mut f64) -> Herror;
9871}
9872unsafe extern "C" {
9873    pub fn T_tuple_log10(T: Htuple, Log: *mut Htuple) -> Herror;
9874}
9875unsafe extern "C" {
9876    pub fn tuple_log10(T: f64, Log: *mut f64) -> Herror;
9877}
9878unsafe extern "C" {
9879    pub fn T_tuple_log(T: Htuple, Log: *mut Htuple) -> Herror;
9880}
9881unsafe extern "C" {
9882    pub fn tuple_log(T: f64, Log: *mut f64) -> Herror;
9883}
9884unsafe extern "C" {
9885    pub fn T_tuple_exp(T: Htuple, Exp: *mut Htuple) -> Herror;
9886}
9887unsafe extern "C" {
9888    pub fn tuple_exp(T: f64, Exp: *mut f64) -> Herror;
9889}
9890unsafe extern "C" {
9891    pub fn T_tuple_tanh(T: Htuple, Tanh: *mut Htuple) -> Herror;
9892}
9893unsafe extern "C" {
9894    pub fn tuple_tanh(T: f64, Tanh: *mut f64) -> Herror;
9895}
9896unsafe extern "C" {
9897    pub fn T_tuple_cosh(T: Htuple, Cosh: *mut Htuple) -> Herror;
9898}
9899unsafe extern "C" {
9900    pub fn tuple_cosh(T: f64, Cosh: *mut f64) -> Herror;
9901}
9902unsafe extern "C" {
9903    pub fn T_tuple_sinh(T: Htuple, Sinh: *mut Htuple) -> Herror;
9904}
9905unsafe extern "C" {
9906    pub fn tuple_sinh(T: f64, Sinh: *mut f64) -> Herror;
9907}
9908unsafe extern "C" {
9909    pub fn T_tuple_rad(Deg: Htuple, Rad: *mut Htuple) -> Herror;
9910}
9911unsafe extern "C" {
9912    pub fn tuple_rad(Deg: f64, Rad: *mut f64) -> Herror;
9913}
9914unsafe extern "C" {
9915    pub fn T_tuple_deg(Rad: Htuple, Deg: *mut Htuple) -> Herror;
9916}
9917unsafe extern "C" {
9918    pub fn tuple_deg(Rad: f64, Deg: *mut f64) -> Herror;
9919}
9920unsafe extern "C" {
9921    pub fn T_tuple_atan2(Y: Htuple, X: Htuple, ATan: *mut Htuple) -> Herror;
9922}
9923unsafe extern "C" {
9924    pub fn tuple_atan2(Y: f64, X: f64, ATan: *mut f64) -> Herror;
9925}
9926unsafe extern "C" {
9927    pub fn T_tuple_atan(T: Htuple, ATan: *mut Htuple) -> Herror;
9928}
9929unsafe extern "C" {
9930    pub fn tuple_atan(T: f64, ATan: *mut f64) -> Herror;
9931}
9932unsafe extern "C" {
9933    pub fn T_tuple_acos(T: Htuple, ACos: *mut Htuple) -> Herror;
9934}
9935unsafe extern "C" {
9936    pub fn tuple_acos(T: f64, ACos: *mut f64) -> Herror;
9937}
9938unsafe extern "C" {
9939    pub fn T_tuple_asin(T: Htuple, ASin: *mut Htuple) -> Herror;
9940}
9941unsafe extern "C" {
9942    pub fn tuple_asin(T: f64, ASin: *mut f64) -> Herror;
9943}
9944unsafe extern "C" {
9945    pub fn T_tuple_tan(T: Htuple, Tan: *mut Htuple) -> Herror;
9946}
9947unsafe extern "C" {
9948    pub fn tuple_tan(T: f64, Tan: *mut f64) -> Herror;
9949}
9950unsafe extern "C" {
9951    pub fn T_tuple_cos(T: Htuple, Cos: *mut Htuple) -> Herror;
9952}
9953unsafe extern "C" {
9954    pub fn tuple_cos(T: f64, Cos: *mut f64) -> Herror;
9955}
9956unsafe extern "C" {
9957    pub fn T_tuple_sin(T: Htuple, Sin: *mut Htuple) -> Herror;
9958}
9959unsafe extern "C" {
9960    pub fn tuple_sin(T: f64, Sin: *mut f64) -> Herror;
9961}
9962unsafe extern "C" {
9963    pub fn T_tuple_fabs(T: Htuple, Abs: *mut Htuple) -> Herror;
9964}
9965unsafe extern "C" {
9966    pub fn tuple_fabs(T: f64, Abs: *mut f64) -> Herror;
9967}
9968unsafe extern "C" {
9969    pub fn T_tuple_sqrt(T: Htuple, Sqrt: *mut Htuple) -> Herror;
9970}
9971unsafe extern "C" {
9972    pub fn tuple_sqrt(T: f64, Sqrt: *mut f64) -> Herror;
9973}
9974unsafe extern "C" {
9975    pub fn T_tuple_abs(T: Htuple, Abs: *mut Htuple) -> Herror;
9976}
9977unsafe extern "C" {
9978    pub fn tuple_abs(T: f64, Abs: *mut f64) -> Herror;
9979}
9980unsafe extern "C" {
9981    pub fn T_tuple_neg(T: Htuple, Neg: *mut Htuple) -> Herror;
9982}
9983unsafe extern "C" {
9984    pub fn tuple_neg(T: f64, Neg: *mut f64) -> Herror;
9985}
9986unsafe extern "C" {
9987    pub fn T_tuple_div(Q1: Htuple, Q2: Htuple, Quot: *mut Htuple) -> Herror;
9988}
9989unsafe extern "C" {
9990    pub fn tuple_div(Q1: f64, Q2: f64, Quot: *mut f64) -> Herror;
9991}
9992unsafe extern "C" {
9993    pub fn T_tuple_mult(P1: Htuple, P2: Htuple, Prod: *mut Htuple) -> Herror;
9994}
9995unsafe extern "C" {
9996    pub fn tuple_mult(P1: f64, P2: f64, Prod: *mut f64) -> Herror;
9997}
9998unsafe extern "C" {
9999    pub fn T_tuple_sub(D1: Htuple, D2: Htuple, Diff: *mut Htuple) -> Herror;
10000}
10001unsafe extern "C" {
10002    pub fn tuple_sub(D1: f64, D2: f64, Diff: *mut f64) -> Herror;
10003}
10004unsafe extern "C" {
10005    pub fn T_tuple_add(S1: Htuple, S2: Htuple, Sum: *mut Htuple) -> Herror;
10006}
10007unsafe extern "C" {
10008    pub fn tuple_add(S1: f64, S2: f64, Sum: *mut f64) -> Herror;
10009}
10010unsafe extern "C" {
10011    pub fn T_deserialize_tuple(SerializedItemHandle: Htuple, Tuple: *mut Htuple) -> Herror;
10012}
10013unsafe extern "C" {
10014    pub fn deserialize_tuple(SerializedItemHandle: Hlong, Tuple: *mut f64) -> Herror;
10015}
10016unsafe extern "C" {
10017    pub fn T_serialize_tuple(Tuple: Htuple, SerializedItemHandle: *mut Htuple) -> Herror;
10018}
10019unsafe extern "C" {
10020    pub fn serialize_tuple(Tuple: f64, SerializedItemHandle: *mut Hlong) -> Herror;
10021}
10022unsafe extern "C" {
10023    pub fn T_write_tuple(Tuple: Htuple, FileName: Htuple) -> Herror;
10024}
10025unsafe extern "C" {
10026    pub fn write_tuple(Tuple: f64, FileName: *const ::std::os::raw::c_char) -> Herror;
10027}
10028unsafe extern "C" {
10029    pub fn T_read_tuple(FileName: Htuple, Tuple: *mut Htuple) -> Herror;
10030}
10031unsafe extern "C" {
10032    pub fn read_tuple(FileName: *const ::std::os::raw::c_char, Tuple: *mut f64) -> Herror;
10033}
10034unsafe extern "C" {
10035    pub fn T_pose_average(
10036        Poses: Htuple,
10037        Weights: Htuple,
10038        Mode: Htuple,
10039        SigmaT: Htuple,
10040        SigmaR: Htuple,
10041        AveragePose: *mut Htuple,
10042        Quality: *mut Htuple,
10043    ) -> Herror;
10044}
10045unsafe extern "C" {
10046    pub fn T_quat_rotate_point_3d(
10047        Quaternion: Htuple,
10048        Px: Htuple,
10049        Py: Htuple,
10050        Pz: Htuple,
10051        Qx: *mut Htuple,
10052        Qy: *mut Htuple,
10053        Qz: *mut Htuple,
10054    ) -> Herror;
10055}
10056unsafe extern "C" {
10057    pub fn T_quat_conjugate(Quaternion: Htuple, ConjugatedQuaternion: *mut Htuple) -> Herror;
10058}
10059unsafe extern "C" {
10060    pub fn T_quat_normalize(Quaternion: Htuple, NormalizedQuaternion: *mut Htuple) -> Herror;
10061}
10062unsafe extern "C" {
10063    pub fn T_axis_angle_to_quat(
10064        AxisX: Htuple,
10065        AxisY: Htuple,
10066        AxisZ: Htuple,
10067        Angle: Htuple,
10068        Quaternion: *mut Htuple,
10069    ) -> Herror;
10070}
10071unsafe extern "C" {
10072    pub fn T_quat_to_pose(Quaternion: Htuple, Pose: *mut Htuple) -> Herror;
10073}
10074unsafe extern "C" {
10075    pub fn T_pose_invert(Pose: Htuple, PoseInvert: *mut Htuple) -> Herror;
10076}
10077unsafe extern "C" {
10078    pub fn T_pose_compose(PoseLeft: Htuple, PoseRight: Htuple, PoseCompose: *mut Htuple) -> Herror;
10079}
10080unsafe extern "C" {
10081    pub fn T_quat_to_hom_mat3d(Quaternion: Htuple, RotationMatrix: *mut Htuple) -> Herror;
10082}
10083unsafe extern "C" {
10084    pub fn T_pose_to_quat(Pose: Htuple, Quaternion: *mut Htuple) -> Herror;
10085}
10086unsafe extern "C" {
10087    pub fn T_quat_interpolate(
10088        QuaternionStart: Htuple,
10089        QuaternionEnd: Htuple,
10090        InterpPos: Htuple,
10091        QuaternionInterpolated: *mut Htuple,
10092    ) -> Herror;
10093}
10094unsafe extern "C" {
10095    pub fn T_quat_compose(
10096        QuaternionLeft: Htuple,
10097        QuaternionRight: Htuple,
10098        QuaternionComposed: *mut Htuple,
10099    ) -> Herror;
10100}
10101unsafe extern "C" {
10102    pub fn T_deserialize_hom_mat3d(SerializedItemHandle: Htuple, HomMat3D: *mut Htuple) -> Herror;
10103}
10104unsafe extern "C" {
10105    pub fn T_serialize_hom_mat3d(HomMat3D: Htuple, SerializedItemHandle: *mut Htuple) -> Herror;
10106}
10107unsafe extern "C" {
10108    pub fn T_deserialize_hom_mat2d(SerializedItemHandle: Htuple, HomMat2D: *mut Htuple) -> Herror;
10109}
10110unsafe extern "C" {
10111    pub fn T_serialize_hom_mat2d(HomMat2D: Htuple, SerializedItemHandle: *mut Htuple) -> Herror;
10112}
10113unsafe extern "C" {
10114    pub fn T_deserialize_quat(SerializedItemHandle: Htuple, Quaternion: *mut Htuple) -> Herror;
10115}
10116unsafe extern "C" {
10117    pub fn T_serialize_quat(Quaternion: Htuple, SerializedItemHandle: *mut Htuple) -> Herror;
10118}
10119unsafe extern "C" {
10120    pub fn T_projective_trans_hom_point_3d(
10121        HomMat3D: Htuple,
10122        Px: Htuple,
10123        Py: Htuple,
10124        Pz: Htuple,
10125        Pw: Htuple,
10126        Qx: *mut Htuple,
10127        Qy: *mut Htuple,
10128        Qz: *mut Htuple,
10129        Qw: *mut Htuple,
10130    ) -> Herror;
10131}
10132unsafe extern "C" {
10133    pub fn T_projective_trans_point_3d(
10134        HomMat3D: Htuple,
10135        Px: Htuple,
10136        Py: Htuple,
10137        Pz: Htuple,
10138        Qx: *mut Htuple,
10139        Qy: *mut Htuple,
10140        Qz: *mut Htuple,
10141    ) -> Herror;
10142}
10143unsafe extern "C" {
10144    pub fn T_affine_trans_point_3d(
10145        HomMat3D: Htuple,
10146        Px: Htuple,
10147        Py: Htuple,
10148        Pz: Htuple,
10149        Qx: *mut Htuple,
10150        Qy: *mut Htuple,
10151        Qz: *mut Htuple,
10152    ) -> Herror;
10153}
10154unsafe extern "C" {
10155    pub fn T_vector_to_hom_mat3d(
10156        TransformationType: Htuple,
10157        Px: Htuple,
10158        Py: Htuple,
10159        Pz: Htuple,
10160        Qx: Htuple,
10161        Qy: Htuple,
10162        Qz: Htuple,
10163        HomMat3D: *mut Htuple,
10164    ) -> Herror;
10165}
10166unsafe extern "C" {
10167    pub fn T_hom_mat3d_determinant(HomMat3D: Htuple, Determinant: *mut Htuple) -> Herror;
10168}
10169unsafe extern "C" {
10170    pub fn T_hom_mat3d_transpose(HomMat3D: Htuple, HomMat3DTranspose: *mut Htuple) -> Herror;
10171}
10172unsafe extern "C" {
10173    pub fn T_hom_mat3d_invert(HomMat3D: Htuple, HomMat3DInvert: *mut Htuple) -> Herror;
10174}
10175unsafe extern "C" {
10176    pub fn T_hom_mat3d_compose(
10177        HomMat3DLeft: Htuple,
10178        HomMat3DRight: Htuple,
10179        HomMat3DCompose: *mut Htuple,
10180    ) -> Herror;
10181}
10182unsafe extern "C" {
10183    pub fn T_hom_mat3d_rotate_local(
10184        HomMat3D: Htuple,
10185        Phi: Htuple,
10186        Axis: Htuple,
10187        HomMat3DRotate: *mut Htuple,
10188    ) -> Herror;
10189}
10190unsafe extern "C" {
10191    pub fn T_hom_mat3d_rotate(
10192        HomMat3D: Htuple,
10193        Phi: Htuple,
10194        Axis: Htuple,
10195        Px: Htuple,
10196        Py: Htuple,
10197        Pz: Htuple,
10198        HomMat3DRotate: *mut Htuple,
10199    ) -> Herror;
10200}
10201unsafe extern "C" {
10202    pub fn T_hom_mat3d_scale_local(
10203        HomMat3D: Htuple,
10204        Sx: Htuple,
10205        Sy: Htuple,
10206        Sz: Htuple,
10207        HomMat3DScale: *mut Htuple,
10208    ) -> Herror;
10209}
10210unsafe extern "C" {
10211    pub fn T_hom_mat3d_scale(
10212        HomMat3D: Htuple,
10213        Sx: Htuple,
10214        Sy: Htuple,
10215        Sz: Htuple,
10216        Px: Htuple,
10217        Py: Htuple,
10218        Pz: Htuple,
10219        HomMat3DScale: *mut Htuple,
10220    ) -> Herror;
10221}
10222unsafe extern "C" {
10223    pub fn T_hom_mat3d_translate_local(
10224        HomMat3D: Htuple,
10225        Tx: Htuple,
10226        Ty: Htuple,
10227        Tz: Htuple,
10228        HomMat3DTranslate: *mut Htuple,
10229    ) -> Herror;
10230}
10231unsafe extern "C" {
10232    pub fn T_hom_mat3d_translate(
10233        HomMat3D: Htuple,
10234        Tx: Htuple,
10235        Ty: Htuple,
10236        Tz: Htuple,
10237        HomMat3DTranslate: *mut Htuple,
10238    ) -> Herror;
10239}
10240unsafe extern "C" {
10241    pub fn T_hom_mat3d_identity(HomMat3DIdentity: *mut Htuple) -> Herror;
10242}
10243unsafe extern "C" {
10244    pub fn T_hom_mat3d_project(
10245        HomMat3D: Htuple,
10246        PrincipalPointRow: Htuple,
10247        PrincipalPointCol: Htuple,
10248        Focus: Htuple,
10249        HomMat2D: *mut Htuple,
10250    ) -> Herror;
10251}
10252unsafe extern "C" {
10253    pub fn T_bundle_adjust_mosaic(
10254        NumImages: Htuple,
10255        ReferenceImage: Htuple,
10256        MappingSource: Htuple,
10257        MappingDest: Htuple,
10258        HomMatrices2D: Htuple,
10259        Rows1: Htuple,
10260        Cols1: Htuple,
10261        Rows2: Htuple,
10262        Cols2: Htuple,
10263        NumCorrespondences: Htuple,
10264        Transformation: Htuple,
10265        MosaicMatrices2D: *mut Htuple,
10266        Rows: *mut Htuple,
10267        Cols: *mut Htuple,
10268        Error: *mut Htuple,
10269    ) -> Herror;
10270}
10271unsafe extern "C" {
10272    pub fn T_proj_match_points_distortion_ransac_guided(
10273        Image1: Hobject,
10274        Image2: Hobject,
10275        Rows1: Htuple,
10276        Cols1: Htuple,
10277        Rows2: Htuple,
10278        Cols2: Htuple,
10279        GrayMatchMethod: Htuple,
10280        MaskSize: Htuple,
10281        HomMat2DGuide: Htuple,
10282        KappaGuide: Htuple,
10283        DistanceTolerance: Htuple,
10284        MatchThreshold: Htuple,
10285        EstimationMethod: Htuple,
10286        DistanceThreshold: Htuple,
10287        RandSeed: Htuple,
10288        HomMat2D: *mut Htuple,
10289        Kappa: *mut Htuple,
10290        Error: *mut Htuple,
10291        Points1: *mut Htuple,
10292        Points2: *mut Htuple,
10293    ) -> Herror;
10294}
10295unsafe extern "C" {
10296    pub fn T_proj_match_points_distortion_ransac(
10297        Image1: Hobject,
10298        Image2: Hobject,
10299        Rows1: Htuple,
10300        Cols1: Htuple,
10301        Rows2: Htuple,
10302        Cols2: Htuple,
10303        GrayMatchMethod: Htuple,
10304        MaskSize: Htuple,
10305        RowMove: Htuple,
10306        ColMove: Htuple,
10307        RowTolerance: Htuple,
10308        ColTolerance: Htuple,
10309        Rotation: Htuple,
10310        MatchThreshold: Htuple,
10311        EstimationMethod: Htuple,
10312        DistanceThreshold: Htuple,
10313        RandSeed: Htuple,
10314        HomMat2D: *mut Htuple,
10315        Kappa: *mut Htuple,
10316        Error: *mut Htuple,
10317        Points1: *mut Htuple,
10318        Points2: *mut Htuple,
10319    ) -> Herror;
10320}
10321unsafe extern "C" {
10322    pub fn T_proj_match_points_ransac_guided(
10323        Image1: Hobject,
10324        Image2: Hobject,
10325        Rows1: Htuple,
10326        Cols1: Htuple,
10327        Rows2: Htuple,
10328        Cols2: Htuple,
10329        GrayMatchMethod: Htuple,
10330        MaskSize: Htuple,
10331        HomMat2DGuide: Htuple,
10332        DistanceTolerance: Htuple,
10333        MatchThreshold: Htuple,
10334        EstimationMethod: Htuple,
10335        DistanceThreshold: Htuple,
10336        RandSeed: Htuple,
10337        HomMat2D: *mut Htuple,
10338        Points1: *mut Htuple,
10339        Points2: *mut Htuple,
10340    ) -> Herror;
10341}
10342unsafe extern "C" {
10343    pub fn T_proj_match_points_ransac(
10344        Image1: Hobject,
10345        Image2: Hobject,
10346        Rows1: Htuple,
10347        Cols1: Htuple,
10348        Rows2: Htuple,
10349        Cols2: Htuple,
10350        GrayMatchMethod: Htuple,
10351        MaskSize: Htuple,
10352        RowMove: Htuple,
10353        ColMove: Htuple,
10354        RowTolerance: Htuple,
10355        ColTolerance: Htuple,
10356        Rotation: Htuple,
10357        MatchThreshold: Htuple,
10358        EstimationMethod: Htuple,
10359        DistanceThreshold: Htuple,
10360        RandSeed: Htuple,
10361        HomMat2D: *mut Htuple,
10362        Points1: *mut Htuple,
10363        Points2: *mut Htuple,
10364    ) -> Herror;
10365}
10366unsafe extern "C" {
10367    pub fn T_vector_to_proj_hom_mat2d_distortion(
10368        Points1Row: Htuple,
10369        Points1Col: Htuple,
10370        Points2Row: Htuple,
10371        Points2Col: Htuple,
10372        CovRR1: Htuple,
10373        CovRC1: Htuple,
10374        CovCC1: Htuple,
10375        CovRR2: Htuple,
10376        CovRC2: Htuple,
10377        CovCC2: Htuple,
10378        ImageWidth: Htuple,
10379        ImageHeight: Htuple,
10380        Method: Htuple,
10381        HomMat2D: *mut Htuple,
10382        Kappa: *mut Htuple,
10383        Error: *mut Htuple,
10384    ) -> Herror;
10385}
10386unsafe extern "C" {
10387    pub fn T_hom_vector_to_proj_hom_mat2d(
10388        Px: Htuple,
10389        Py: Htuple,
10390        Pw: Htuple,
10391        Qx: Htuple,
10392        Qy: Htuple,
10393        Qw: Htuple,
10394        Method: Htuple,
10395        HomMat2D: *mut Htuple,
10396    ) -> Herror;
10397}
10398unsafe extern "C" {
10399    pub fn T_vector_to_proj_hom_mat2d(
10400        Px: Htuple,
10401        Py: Htuple,
10402        Qx: Htuple,
10403        Qy: Htuple,
10404        Method: Htuple,
10405        CovXX1: Htuple,
10406        CovYY1: Htuple,
10407        CovXY1: Htuple,
10408        CovXX2: Htuple,
10409        CovYY2: Htuple,
10410        CovXY2: Htuple,
10411        HomMat2D: *mut Htuple,
10412        Covariance: *mut Htuple,
10413    ) -> Herror;
10414}
10415unsafe extern "C" {
10416    pub fn T_hom_mat2d_to_affine_par(
10417        HomMat2D: Htuple,
10418        Sx: *mut Htuple,
10419        Sy: *mut Htuple,
10420        Phi: *mut Htuple,
10421        Theta: *mut Htuple,
10422        Tx: *mut Htuple,
10423        Ty: *mut Htuple,
10424    ) -> Herror;
10425}
10426unsafe extern "C" {
10427    pub fn T_vector_angle_to_rigid(
10428        Row1: Htuple,
10429        Column1: Htuple,
10430        Angle1: Htuple,
10431        Row2: Htuple,
10432        Column2: Htuple,
10433        Angle2: Htuple,
10434        HomMat2D: *mut Htuple,
10435    ) -> Herror;
10436}
10437unsafe extern "C" {
10438    pub fn T_point_line_to_hom_mat2d(
10439        TransformationType: Htuple,
10440        Px: Htuple,
10441        Py: Htuple,
10442        L1x: Htuple,
10443        L1y: Htuple,
10444        L2x: Htuple,
10445        L2y: Htuple,
10446        HomMat2D: *mut Htuple,
10447    ) -> Herror;
10448}
10449unsafe extern "C" {
10450    pub fn T_vector_to_rigid(
10451        Px: Htuple,
10452        Py: Htuple,
10453        Qx: Htuple,
10454        Qy: Htuple,
10455        HomMat2D: *mut Htuple,
10456    ) -> Herror;
10457}
10458unsafe extern "C" {
10459    pub fn T_vector_to_similarity(
10460        Px: Htuple,
10461        Py: Htuple,
10462        Qx: Htuple,
10463        Qy: Htuple,
10464        HomMat2D: *mut Htuple,
10465    ) -> Herror;
10466}
10467unsafe extern "C" {
10468    pub fn T_vector_to_aniso(
10469        Px: Htuple,
10470        Py: Htuple,
10471        Qx: Htuple,
10472        Qy: Htuple,
10473        HomMat2D: *mut Htuple,
10474    ) -> Herror;
10475}
10476unsafe extern "C" {
10477    pub fn T_vector_to_hom_mat2d(
10478        Px: Htuple,
10479        Py: Htuple,
10480        Qx: Htuple,
10481        Qy: Htuple,
10482        HomMat2D: *mut Htuple,
10483    ) -> Herror;
10484}
10485unsafe extern "C" {
10486    pub fn T_projective_trans_pixel(
10487        HomMat2D: Htuple,
10488        Row: Htuple,
10489        Col: Htuple,
10490        RowTrans: *mut Htuple,
10491        ColTrans: *mut Htuple,
10492    ) -> Herror;
10493}
10494unsafe extern "C" {
10495    pub fn T_projective_trans_point_2d(
10496        HomMat2D: Htuple,
10497        Px: Htuple,
10498        Py: Htuple,
10499        Pw: Htuple,
10500        Qx: *mut Htuple,
10501        Qy: *mut Htuple,
10502        Qw: *mut Htuple,
10503    ) -> Herror;
10504}
10505unsafe extern "C" {
10506    pub fn T_affine_trans_pixel(
10507        HomMat2D: Htuple,
10508        Row: Htuple,
10509        Col: Htuple,
10510        RowTrans: *mut Htuple,
10511        ColTrans: *mut Htuple,
10512    ) -> Herror;
10513}
10514unsafe extern "C" {
10515    pub fn T_affine_trans_point_2d(
10516        HomMat2D: Htuple,
10517        Px: Htuple,
10518        Py: Htuple,
10519        Qx: *mut Htuple,
10520        Qy: *mut Htuple,
10521    ) -> Herror;
10522}
10523unsafe extern "C" {
10524    pub fn T_hom_mat2d_determinant(HomMat2D: Htuple, Determinant: *mut Htuple) -> Herror;
10525}
10526unsafe extern "C" {
10527    pub fn T_hom_mat2d_transpose(HomMat2D: Htuple, HomMat2DTranspose: *mut Htuple) -> Herror;
10528}
10529unsafe extern "C" {
10530    pub fn T_hom_mat2d_invert(HomMat2D: Htuple, HomMat2DInvert: *mut Htuple) -> Herror;
10531}
10532unsafe extern "C" {
10533    pub fn T_hom_mat2d_compose(
10534        HomMat2DLeft: Htuple,
10535        HomMat2DRight: Htuple,
10536        HomMat2DCompose: *mut Htuple,
10537    ) -> Herror;
10538}
10539unsafe extern "C" {
10540    pub fn T_hom_mat2d_reflect_local(
10541        HomMat2D: Htuple,
10542        Px: Htuple,
10543        Py: Htuple,
10544        HomMat2DReflect: *mut Htuple,
10545    ) -> Herror;
10546}
10547unsafe extern "C" {
10548    pub fn T_hom_mat2d_reflect(
10549        HomMat2D: Htuple,
10550        Px: Htuple,
10551        Py: Htuple,
10552        Qx: Htuple,
10553        Qy: Htuple,
10554        HomMat2DReflect: *mut Htuple,
10555    ) -> Herror;
10556}
10557unsafe extern "C" {
10558    pub fn T_hom_mat2d_slant_local(
10559        HomMat2D: Htuple,
10560        Theta: Htuple,
10561        Axis: Htuple,
10562        HomMat2DSlant: *mut Htuple,
10563    ) -> Herror;
10564}
10565unsafe extern "C" {
10566    pub fn T_hom_mat2d_slant(
10567        HomMat2D: Htuple,
10568        Theta: Htuple,
10569        Axis: Htuple,
10570        Px: Htuple,
10571        Py: Htuple,
10572        HomMat2DSlant: *mut Htuple,
10573    ) -> Herror;
10574}
10575unsafe extern "C" {
10576    pub fn T_hom_mat2d_rotate_local(
10577        HomMat2D: Htuple,
10578        Phi: Htuple,
10579        HomMat2DRotate: *mut Htuple,
10580    ) -> Herror;
10581}
10582unsafe extern "C" {
10583    pub fn T_hom_mat2d_rotate(
10584        HomMat2D: Htuple,
10585        Phi: Htuple,
10586        Px: Htuple,
10587        Py: Htuple,
10588        HomMat2DRotate: *mut Htuple,
10589    ) -> Herror;
10590}
10591unsafe extern "C" {
10592    pub fn T_hom_mat2d_scale_local(
10593        HomMat2D: Htuple,
10594        Sx: Htuple,
10595        Sy: Htuple,
10596        HomMat2DScale: *mut Htuple,
10597    ) -> Herror;
10598}
10599unsafe extern "C" {
10600    pub fn T_hom_mat2d_scale(
10601        HomMat2D: Htuple,
10602        Sx: Htuple,
10603        Sy: Htuple,
10604        Px: Htuple,
10605        Py: Htuple,
10606        HomMat2DScale: *mut Htuple,
10607    ) -> Herror;
10608}
10609unsafe extern "C" {
10610    pub fn T_hom_mat2d_translate_local(
10611        HomMat2D: Htuple,
10612        Tx: Htuple,
10613        Ty: Htuple,
10614        HomMat2DTranslate: *mut Htuple,
10615    ) -> Herror;
10616}
10617unsafe extern "C" {
10618    pub fn T_hom_mat2d_translate(
10619        HomMat2D: Htuple,
10620        Tx: Htuple,
10621        Ty: Htuple,
10622        HomMat2DTranslate: *mut Htuple,
10623    ) -> Herror;
10624}
10625unsafe extern "C" {
10626    pub fn T_hom_mat2d_identity(HomMat2DIdentity: *mut Htuple) -> Herror;
10627}
10628unsafe extern "C" {
10629    pub fn T_clear_all_scattered_data_interpolators() -> Herror;
10630}
10631unsafe extern "C" {
10632    pub fn clear_all_scattered_data_interpolators() -> Herror;
10633}
10634unsafe extern "C" {
10635    pub fn T_clear_scattered_data_interpolator(ScatteredDataInterpolatorHandle: Htuple) -> Herror;
10636}
10637unsafe extern "C" {
10638    pub fn clear_scattered_data_interpolator(ScatteredDataInterpolatorHandle: Hlong) -> Herror;
10639}
10640unsafe extern "C" {
10641    pub fn T_interpolate_scattered_data(
10642        ScatteredDataInterpolatorHandle: Htuple,
10643        Row: Htuple,
10644        Column: Htuple,
10645        ValueInterpolated: *mut Htuple,
10646    ) -> Herror;
10647}
10648unsafe extern "C" {
10649    pub fn interpolate_scattered_data(
10650        ScatteredDataInterpolatorHandle: Hlong,
10651        Row: f64,
10652        Column: f64,
10653        ValueInterpolated: *mut f64,
10654    ) -> Herror;
10655}
10656unsafe extern "C" {
10657    pub fn T_create_scattered_data_interpolator(
10658        Method: Htuple,
10659        Rows: Htuple,
10660        Columns: Htuple,
10661        Values: Htuple,
10662        GenParamName: Htuple,
10663        GenParamValue: Htuple,
10664        ScatteredDataInterpolatorHandle: *mut Htuple,
10665    ) -> Herror;
10666}
10667unsafe extern "C" {
10668    pub fn T_interpolate_scattered_data_points_to_image(
10669        ImageInterpolated: *mut Hobject,
10670        Method: Htuple,
10671        Rows: Htuple,
10672        Columns: Htuple,
10673        Values: Htuple,
10674        Width: Htuple,
10675        Height: Htuple,
10676        GenParamName: Htuple,
10677        GenParamValue: Htuple,
10678    ) -> Herror;
10679}
10680unsafe extern "C" {
10681    pub fn T_interpolate_scattered_data_image(
10682        Image: Hobject,
10683        RegionInterpolate: Hobject,
10684        ImageInterpolated: *mut Hobject,
10685        Method: Htuple,
10686        GenParamName: Htuple,
10687        GenParamValue: Htuple,
10688    ) -> Herror;
10689}
10690unsafe extern "C" {
10691    pub fn T_get_system_time(
10692        MSecond: *mut Htuple,
10693        Second: *mut Htuple,
10694        Minute: *mut Htuple,
10695        Hour: *mut Htuple,
10696        Day: *mut Htuple,
10697        YDay: *mut Htuple,
10698        Month: *mut Htuple,
10699        Year: *mut Htuple,
10700    ) -> Herror;
10701}
10702unsafe extern "C" {
10703    pub fn get_system_time(
10704        MSecond: *mut Hlong,
10705        Second: *mut Hlong,
10706        Minute: *mut Hlong,
10707        Hour: *mut Hlong,
10708        Day: *mut Hlong,
10709        YDay: *mut Hlong,
10710        Month: *mut Hlong,
10711        Year: *mut Hlong,
10712    ) -> Herror;
10713}
10714unsafe extern "C" {
10715    pub fn T_get_compute_device_param(
10716        DeviceHandle: Htuple,
10717        GenParamName: Htuple,
10718        GenParamValue: *mut Htuple,
10719    ) -> Herror;
10720}
10721unsafe extern "C" {
10722    pub fn get_compute_device_param(
10723        DeviceHandle: Hlong,
10724        GenParamName: *const ::std::os::raw::c_char,
10725        GenParamValue: *mut ::std::os::raw::c_char,
10726    ) -> Herror;
10727}
10728unsafe extern "C" {
10729    pub fn T_set_compute_device_param(
10730        DeviceHandle: Htuple,
10731        GenParamName: Htuple,
10732        GenParamValue: Htuple,
10733    ) -> Herror;
10734}
10735unsafe extern "C" {
10736    pub fn set_compute_device_param(
10737        DeviceHandle: Hlong,
10738        GenParamName: *const ::std::os::raw::c_char,
10739        GenParamValue: *const ::std::os::raw::c_char,
10740    ) -> Herror;
10741}
10742unsafe extern "C" {
10743    pub fn T_release_all_compute_devices() -> Herror;
10744}
10745unsafe extern "C" {
10746    pub fn release_all_compute_devices() -> Herror;
10747}
10748unsafe extern "C" {
10749    pub fn T_release_compute_device(DeviceHandle: Htuple) -> Herror;
10750}
10751unsafe extern "C" {
10752    pub fn release_compute_device(DeviceHandle: Hlong) -> Herror;
10753}
10754unsafe extern "C" {
10755    pub fn T_deactivate_all_compute_devices() -> Herror;
10756}
10757unsafe extern "C" {
10758    pub fn deactivate_all_compute_devices() -> Herror;
10759}
10760unsafe extern "C" {
10761    pub fn T_deactivate_compute_device(DeviceHandle: Htuple) -> Herror;
10762}
10763unsafe extern "C" {
10764    pub fn deactivate_compute_device(DeviceHandle: Hlong) -> Herror;
10765}
10766unsafe extern "C" {
10767    pub fn T_activate_compute_device(DeviceHandle: Htuple) -> Herror;
10768}
10769unsafe extern "C" {
10770    pub fn activate_compute_device(DeviceHandle: Hlong) -> Herror;
10771}
10772unsafe extern "C" {
10773    pub fn T_init_compute_device(DeviceHandle: Htuple, Operators: Htuple) -> Herror;
10774}
10775unsafe extern "C" {
10776    pub fn T_open_compute_device(DeviceIdentifier: Htuple, DeviceHandle: *mut Htuple) -> Herror;
10777}
10778unsafe extern "C" {
10779    pub fn open_compute_device(DeviceIdentifier: Hlong, DeviceHandle: *mut Hlong) -> Herror;
10780}
10781unsafe extern "C" {
10782    pub fn T_get_compute_device_info(
10783        DeviceIdentifier: Htuple,
10784        InfoName: Htuple,
10785        Info: *mut Htuple,
10786    ) -> Herror;
10787}
10788unsafe extern "C" {
10789    pub fn get_compute_device_info(
10790        DeviceIdentifier: Hlong,
10791        InfoName: *const ::std::os::raw::c_char,
10792        Info: *mut ::std::os::raw::c_char,
10793    ) -> Herror;
10794}
10795unsafe extern "C" {
10796    pub fn T_query_available_compute_devices(DeviceIdentifier: *mut Htuple) -> Herror;
10797}
10798unsafe extern "C" {
10799    pub fn T_clear_serial(SerialHandle: Htuple, Channel: Htuple) -> Herror;
10800}
10801unsafe extern "C" {
10802    pub fn clear_serial(SerialHandle: Hlong, Channel: *const ::std::os::raw::c_char) -> Herror;
10803}
10804unsafe extern "C" {
10805    pub fn T_write_serial(SerialHandle: Htuple, Data: Htuple) -> Herror;
10806}
10807unsafe extern "C" {
10808    pub fn write_serial(SerialHandle: Hlong, Data: Hlong) -> Herror;
10809}
10810unsafe extern "C" {
10811    pub fn T_read_serial(SerialHandle: Htuple, NumCharacters: Htuple, Data: *mut Htuple) -> Herror;
10812}
10813unsafe extern "C" {
10814    pub fn read_serial(SerialHandle: Hlong, NumCharacters: Hlong, Data: *mut Hlong) -> Herror;
10815}
10816unsafe extern "C" {
10817    pub fn T_get_serial_param(
10818        SerialHandle: Htuple,
10819        BaudRate: *mut Htuple,
10820        DataBits: *mut Htuple,
10821        FlowControl: *mut Htuple,
10822        Parity: *mut Htuple,
10823        StopBits: *mut Htuple,
10824        TotalTimeOut: *mut Htuple,
10825        InterCharTimeOut: *mut Htuple,
10826    ) -> Herror;
10827}
10828unsafe extern "C" {
10829    pub fn get_serial_param(
10830        SerialHandle: Hlong,
10831        BaudRate: *mut Hlong,
10832        DataBits: *mut Hlong,
10833        FlowControl: *mut ::std::os::raw::c_char,
10834        Parity: *mut ::std::os::raw::c_char,
10835        StopBits: *mut Hlong,
10836        TotalTimeOut: *mut Hlong,
10837        InterCharTimeOut: *mut Hlong,
10838    ) -> Herror;
10839}
10840unsafe extern "C" {
10841    pub fn T_set_serial_param(
10842        SerialHandle: Htuple,
10843        BaudRate: Htuple,
10844        DataBits: Htuple,
10845        FlowControl: Htuple,
10846        Parity: Htuple,
10847        StopBits: Htuple,
10848        TotalTimeOut: Htuple,
10849        InterCharTimeOut: Htuple,
10850    ) -> Herror;
10851}
10852unsafe extern "C" {
10853    pub fn set_serial_param(
10854        SerialHandle: Hlong,
10855        BaudRate: Hlong,
10856        DataBits: Hlong,
10857        FlowControl: *const ::std::os::raw::c_char,
10858        Parity: *const ::std::os::raw::c_char,
10859        StopBits: Hlong,
10860        TotalTimeOut: Hlong,
10861        InterCharTimeOut: Hlong,
10862    ) -> Herror;
10863}
10864unsafe extern "C" {
10865    pub fn T_close_all_serials() -> Herror;
10866}
10867unsafe extern "C" {
10868    pub fn close_all_serials() -> Herror;
10869}
10870unsafe extern "C" {
10871    pub fn T_close_serial(SerialHandle: Htuple) -> Herror;
10872}
10873unsafe extern "C" {
10874    pub fn close_serial(SerialHandle: Hlong) -> Herror;
10875}
10876unsafe extern "C" {
10877    pub fn T_open_serial(PortName: Htuple, SerialHandle: *mut Htuple) -> Herror;
10878}
10879unsafe extern "C" {
10880    pub fn open_serial(PortName: *const ::std::os::raw::c_char, SerialHandle: *mut Hlong)
10881    -> Herror;
10882}
10883unsafe extern "C" {
10884    pub fn T_wait_seconds(Seconds: Htuple) -> Herror;
10885}
10886unsafe extern "C" {
10887    pub fn wait_seconds(Seconds: f64) -> Herror;
10888}
10889unsafe extern "C" {
10890    pub fn T_system_call(Command: Htuple) -> Herror;
10891}
10892unsafe extern "C" {
10893    pub fn system_call(Command: *const ::std::os::raw::c_char) -> Herror;
10894}
10895unsafe extern "C" {
10896    pub fn T_set_system(SystemParameter: Htuple, Value: Htuple) -> Herror;
10897}
10898unsafe extern "C" {
10899    pub fn set_system(
10900        SystemParameter: *const ::std::os::raw::c_char,
10901        Value: *const ::std::os::raw::c_char,
10902    ) -> Herror;
10903}
10904unsafe extern "C" {
10905    pub fn T_set_check(Check: Htuple) -> Herror;
10906}
10907unsafe extern "C" {
10908    pub fn set_check(Check: *const ::std::os::raw::c_char) -> Herror;
10909}
10910unsafe extern "C" {
10911    pub fn T_reset_obj_db(
10912        DefaultImageWidth: Htuple,
10913        DefaultImageHeight: Htuple,
10914        DefaultChannels: Htuple,
10915    ) -> Herror;
10916}
10917unsafe extern "C" {
10918    pub fn reset_obj_db(
10919        DefaultImageWidth: Hlong,
10920        DefaultImageHeight: Hlong,
10921        DefaultChannels: Hlong,
10922    ) -> Herror;
10923}
10924unsafe extern "C" {
10925    pub fn T_get_system(Query: Htuple, Information: *mut Htuple) -> Herror;
10926}
10927unsafe extern "C" {
10928    pub fn get_system(Query: *const ::std::os::raw::c_char, Information: *mut Hlong) -> Herror;
10929}
10930unsafe extern "C" {
10931    pub fn T_get_check(Check: *mut Htuple) -> Herror;
10932}
10933unsafe extern "C" {
10934    pub fn T_get_error_text(ErrorCode: Htuple, ErrorMessage: *mut Htuple) -> Herror;
10935}
10936unsafe extern "C" {
10937    pub fn get_error_text(ErrorCode: Hlong, ErrorMessage: *mut ::std::os::raw::c_char) -> Herror;
10938}
10939unsafe extern "C" {
10940    pub fn T_count_seconds(Seconds: *mut Htuple) -> Herror;
10941}
10942unsafe extern "C" {
10943    pub fn count_seconds(Seconds: *mut f64) -> Herror;
10944}
10945unsafe extern "C" {
10946    pub fn T_count_relation(RelationName: Htuple, NumOfTuples: *mut Htuple) -> Herror;
10947}
10948unsafe extern "C" {
10949    pub fn count_relation(
10950        RelationName: *const ::std::os::raw::c_char,
10951        NumOfTuples: *mut Hlong,
10952    ) -> Herror;
10953}
10954unsafe extern "C" {
10955    pub fn T_receive_image(Image: *mut Hobject, Socket: Htuple) -> Herror;
10956}
10957unsafe extern "C" {
10958    pub fn receive_image(Image: *mut Hobject, Socket: Hlong) -> Herror;
10959}
10960unsafe extern "C" {
10961    pub fn T_send_image(Image: Hobject, Socket: Htuple) -> Herror;
10962}
10963unsafe extern "C" {
10964    pub fn send_image(Image: Hobject, Socket: Hlong) -> Herror;
10965}
10966unsafe extern "C" {
10967    pub fn T_receive_region(Region: *mut Hobject, Socket: Htuple) -> Herror;
10968}
10969unsafe extern "C" {
10970    pub fn receive_region(Region: *mut Hobject, Socket: Hlong) -> Herror;
10971}
10972unsafe extern "C" {
10973    pub fn T_send_region(Region: Hobject, Socket: Htuple) -> Herror;
10974}
10975unsafe extern "C" {
10976    pub fn send_region(Region: Hobject, Socket: Hlong) -> Herror;
10977}
10978unsafe extern "C" {
10979    pub fn T_receive_xld(XLD: *mut Hobject, Socket: Htuple) -> Herror;
10980}
10981unsafe extern "C" {
10982    pub fn receive_xld(XLD: *mut Hobject, Socket: Hlong) -> Herror;
10983}
10984unsafe extern "C" {
10985    pub fn T_send_xld(XLD: Hobject, Socket: Htuple) -> Herror;
10986}
10987unsafe extern "C" {
10988    pub fn send_xld(XLD: Hobject, Socket: Hlong) -> Herror;
10989}
10990unsafe extern "C" {
10991    pub fn T_receive_tuple(Socket: Htuple, Tuple: *mut Htuple) -> Herror;
10992}
10993unsafe extern "C" {
10994    pub fn receive_tuple(Socket: Hlong, Tuple: *mut ::std::os::raw::c_char) -> Herror;
10995}
10996unsafe extern "C" {
10997    pub fn T_send_tuple(Socket: Htuple, Tuple: Htuple) -> Herror;
10998}
10999unsafe extern "C" {
11000    pub fn send_tuple(Socket: Hlong, Tuple: *const ::std::os::raw::c_char) -> Herror;
11001}
11002unsafe extern "C" {
11003    pub fn T_receive_data(
11004        Socket: Htuple,
11005        Format: Htuple,
11006        Data: *mut Htuple,
11007        From: *mut Htuple,
11008    ) -> Herror;
11009}
11010unsafe extern "C" {
11011    pub fn receive_data(
11012        Socket: Hlong,
11013        Format: *const ::std::os::raw::c_char,
11014        Data: *mut ::std::os::raw::c_char,
11015        From: *mut ::std::os::raw::c_char,
11016    ) -> Herror;
11017}
11018unsafe extern "C" {
11019    pub fn T_send_data(Socket: Htuple, Format: Htuple, Data: Htuple, To: Htuple) -> Herror;
11020}
11021unsafe extern "C" {
11022    pub fn send_data(
11023        Socket: Hlong,
11024        Format: *const ::std::os::raw::c_char,
11025        Data: *const ::std::os::raw::c_char,
11026        To: *const ::std::os::raw::c_char,
11027    ) -> Herror;
11028}
11029unsafe extern "C" {
11030    pub fn T_get_socket_param(
11031        Socket: Htuple,
11032        GenParamName: Htuple,
11033        GenParamValue: *mut Htuple,
11034    ) -> Herror;
11035}
11036unsafe extern "C" {
11037    pub fn get_socket_param(
11038        Socket: Hlong,
11039        GenParamName: *const ::std::os::raw::c_char,
11040        GenParamValue: *mut ::std::os::raw::c_char,
11041    ) -> Herror;
11042}
11043unsafe extern "C" {
11044    pub fn T_set_socket_param(
11045        Socket: Htuple,
11046        GenParamName: Htuple,
11047        GenParamValue: Htuple,
11048    ) -> Herror;
11049}
11050unsafe extern "C" {
11051    pub fn set_socket_param(
11052        Socket: Hlong,
11053        GenParamName: *const ::std::os::raw::c_char,
11054        GenParamValue: *const ::std::os::raw::c_char,
11055    ) -> Herror;
11056}
11057unsafe extern "C" {
11058    pub fn T_get_next_socket_data_type(Socket: Htuple, DataType: *mut Htuple) -> Herror;
11059}
11060unsafe extern "C" {
11061    pub fn get_next_socket_data_type(
11062        Socket: Hlong,
11063        DataType: *mut ::std::os::raw::c_char,
11064    ) -> Herror;
11065}
11066unsafe extern "C" {
11067    pub fn T_get_socket_descriptor(Socket: Htuple, SocketDescriptor: *mut Htuple) -> Herror;
11068}
11069unsafe extern "C" {
11070    pub fn get_socket_descriptor(Socket: Hlong, SocketDescriptor: *mut Hlong) -> Herror;
11071}
11072unsafe extern "C" {
11073    pub fn T_close_all_sockets() -> Herror;
11074}
11075unsafe extern "C" {
11076    pub fn close_all_sockets() -> Herror;
11077}
11078unsafe extern "C" {
11079    pub fn T_close_socket(Socket: Htuple) -> Herror;
11080}
11081unsafe extern "C" {
11082    pub fn close_socket(Socket: Hlong) -> Herror;
11083}
11084unsafe extern "C" {
11085    pub fn T_socket_accept_connect(
11086        AcceptingSocket: Htuple,
11087        Wait: Htuple,
11088        Socket: *mut Htuple,
11089    ) -> Herror;
11090}
11091unsafe extern "C" {
11092    pub fn socket_accept_connect(
11093        AcceptingSocket: Hlong,
11094        Wait: *const ::std::os::raw::c_char,
11095        Socket: *mut Hlong,
11096    ) -> Herror;
11097}
11098unsafe extern "C" {
11099    pub fn T_open_socket_connect(
11100        HostName: Htuple,
11101        Port: Htuple,
11102        GenParamName: Htuple,
11103        GenParamValue: Htuple,
11104        Socket: *mut Htuple,
11105    ) -> Herror;
11106}
11107unsafe extern "C" {
11108    pub fn open_socket_connect(
11109        HostName: *const ::std::os::raw::c_char,
11110        Port: Hlong,
11111        GenParamName: *const ::std::os::raw::c_char,
11112        GenParamValue: *const ::std::os::raw::c_char,
11113        Socket: *mut Hlong,
11114    ) -> Herror;
11115}
11116unsafe extern "C" {
11117    pub fn T_open_socket_accept(
11118        Port: Htuple,
11119        GenParamName: Htuple,
11120        GenParamValue: Htuple,
11121        AcceptingSocket: *mut Htuple,
11122    ) -> Herror;
11123}
11124unsafe extern "C" {
11125    pub fn open_socket_accept(
11126        Port: Hlong,
11127        GenParamName: *const ::std::os::raw::c_char,
11128        GenParamValue: *const ::std::os::raw::c_char,
11129        AcceptingSocket: *mut Hlong,
11130    ) -> Herror;
11131}
11132unsafe extern "C" {
11133    pub fn T_get_extended_error_info(
11134        OperatorName: *mut Htuple,
11135        ErrorCode: *mut Htuple,
11136        ErrorMessage: *mut Htuple,
11137    ) -> Herror;
11138}
11139unsafe extern "C" {
11140    pub fn get_extended_error_info(
11141        OperatorName: *mut ::std::os::raw::c_char,
11142        ErrorCode: *mut Hlong,
11143        ErrorMessage: *mut ::std::os::raw::c_char,
11144    ) -> Herror;
11145}
11146unsafe extern "C" {
11147    pub fn T_get_modules(UsedModules: *mut Htuple, ModuleKey: *mut Htuple) -> Herror;
11148}
11149unsafe extern "C" {
11150    pub fn T_binocular_distance_ms(
11151        ImageRect1: Hobject,
11152        ImageRect2: Hobject,
11153        Distance: *mut Hobject,
11154        Score: *mut Hobject,
11155        CamParamRect1: Htuple,
11156        CamParamRect2: Htuple,
11157        RelPoseRect: Htuple,
11158        MinDisparity: Htuple,
11159        MaxDisparity: Htuple,
11160        SurfaceSmoothing: Htuple,
11161        EdgeSmoothing: Htuple,
11162        GenParamName: Htuple,
11163        GenParamValue: Htuple,
11164    ) -> Herror;
11165}
11166unsafe extern "C" {
11167    pub fn T_binocular_disparity_ms(
11168        ImageRect1: Hobject,
11169        ImageRect2: Hobject,
11170        Disparity: *mut Hobject,
11171        Score: *mut Hobject,
11172        MinDisparity: Htuple,
11173        MaxDisparity: Htuple,
11174        SurfaceSmoothing: Htuple,
11175        EdgeSmoothing: Htuple,
11176        GenParamName: Htuple,
11177        GenParamValue: Htuple,
11178    ) -> Herror;
11179}
11180unsafe extern "C" {
11181    pub fn binocular_disparity_ms(
11182        ImageRect1: Hobject,
11183        ImageRect2: Hobject,
11184        Disparity: *mut Hobject,
11185        Score: *mut Hobject,
11186        MinDisparity: Hlong,
11187        MaxDisparity: Hlong,
11188        SurfaceSmoothing: Hlong,
11189        EdgeSmoothing: Hlong,
11190        GenParamName: *const ::std::os::raw::c_char,
11191        GenParamValue: *const ::std::os::raw::c_char,
11192    ) -> Herror;
11193}
11194unsafe extern "C" {
11195    pub fn T_binocular_distance_mg(
11196        ImageRect1: Hobject,
11197        ImageRect2: Hobject,
11198        Distance: *mut Hobject,
11199        Score: *mut Hobject,
11200        CamParamRect1: Htuple,
11201        CamParamRect2: Htuple,
11202        RelPoseRect: Htuple,
11203        GrayConstancy: Htuple,
11204        GradientConstancy: Htuple,
11205        Smoothness: Htuple,
11206        InitialGuess: Htuple,
11207        CalculateScore: Htuple,
11208        MGParamName: Htuple,
11209        MGParamValue: Htuple,
11210    ) -> Herror;
11211}
11212unsafe extern "C" {
11213    pub fn T_binocular_disparity_mg(
11214        ImageRect1: Hobject,
11215        ImageRect2: Hobject,
11216        Disparity: *mut Hobject,
11217        Score: *mut Hobject,
11218        GrayConstancy: Htuple,
11219        GradientConstancy: Htuple,
11220        Smoothness: Htuple,
11221        InitialGuess: Htuple,
11222        CalculateScore: Htuple,
11223        MGParamName: Htuple,
11224        MGParamValue: Htuple,
11225    ) -> Herror;
11226}
11227unsafe extern "C" {
11228    pub fn binocular_disparity_mg(
11229        ImageRect1: Hobject,
11230        ImageRect2: Hobject,
11231        Disparity: *mut Hobject,
11232        Score: *mut Hobject,
11233        GrayConstancy: f64,
11234        GradientConstancy: f64,
11235        Smoothness: f64,
11236        InitialGuess: f64,
11237        CalculateScore: *const ::std::os::raw::c_char,
11238        MGParamName: *const ::std::os::raw::c_char,
11239        MGParamValue: *const ::std::os::raw::c_char,
11240    ) -> Herror;
11241}
11242unsafe extern "C" {
11243    pub fn T_reconst3d_from_fundamental_matrix(
11244        Rows1: Htuple,
11245        Cols1: Htuple,
11246        Rows2: Htuple,
11247        Cols2: Htuple,
11248        CovRR1: Htuple,
11249        CovRC1: Htuple,
11250        CovCC1: Htuple,
11251        CovRR2: Htuple,
11252        CovRC2: Htuple,
11253        CovCC2: Htuple,
11254        FMatrix: Htuple,
11255        CovFMat: Htuple,
11256        X: *mut Htuple,
11257        Y: *mut Htuple,
11258        Z: *mut Htuple,
11259        W: *mut Htuple,
11260        CovXYZW: *mut Htuple,
11261    ) -> Herror;
11262}
11263unsafe extern "C" {
11264    pub fn T_gen_binocular_proj_rectification(
11265        Map1: *mut Hobject,
11266        Map2: *mut Hobject,
11267        FMatrix: Htuple,
11268        CovFMat: Htuple,
11269        Width1: Htuple,
11270        Height1: Htuple,
11271        Width2: Htuple,
11272        Height2: Htuple,
11273        SubSampling: Htuple,
11274        Mapping: Htuple,
11275        CovFMatRect: *mut Htuple,
11276        H1: *mut Htuple,
11277        H2: *mut Htuple,
11278    ) -> Herror;
11279}
11280unsafe extern "C" {
11281    pub fn T_vector_to_fundamental_matrix_distortion(
11282        Rows1: Htuple,
11283        Cols1: Htuple,
11284        Rows2: Htuple,
11285        Cols2: Htuple,
11286        CovRR1: Htuple,
11287        CovRC1: Htuple,
11288        CovCC1: Htuple,
11289        CovRR2: Htuple,
11290        CovRC2: Htuple,
11291        CovCC2: Htuple,
11292        ImageWidth: Htuple,
11293        ImageHeight: Htuple,
11294        Method: Htuple,
11295        FMatrix: *mut Htuple,
11296        Kappa: *mut Htuple,
11297        Error: *mut Htuple,
11298        X: *mut Htuple,
11299        Y: *mut Htuple,
11300        Z: *mut Htuple,
11301        W: *mut Htuple,
11302    ) -> Herror;
11303}
11304unsafe extern "C" {
11305    pub fn T_rel_pose_to_fundamental_matrix(
11306        RelPose: Htuple,
11307        CovRelPose: Htuple,
11308        CamPar1: Htuple,
11309        CamPar2: Htuple,
11310        FMatrix: *mut Htuple,
11311        CovFMat: *mut Htuple,
11312    ) -> Herror;
11313}
11314unsafe extern "C" {
11315    pub fn T_essential_to_fundamental_matrix(
11316        EMatrix: Htuple,
11317        CovEMat: Htuple,
11318        CamMat1: Htuple,
11319        CamMat2: Htuple,
11320        FMatrix: *mut Htuple,
11321        CovFMat: *mut Htuple,
11322    ) -> Herror;
11323}
11324unsafe extern "C" {
11325    pub fn T_vector_to_rel_pose(
11326        Rows1: Htuple,
11327        Cols1: Htuple,
11328        Rows2: Htuple,
11329        Cols2: Htuple,
11330        CovRR1: Htuple,
11331        CovRC1: Htuple,
11332        CovCC1: Htuple,
11333        CovRR2: Htuple,
11334        CovRC2: Htuple,
11335        CovCC2: Htuple,
11336        CamPar1: Htuple,
11337        CamPar2: Htuple,
11338        Method: Htuple,
11339        RelPose: *mut Htuple,
11340        CovRelPose: *mut Htuple,
11341        Error: *mut Htuple,
11342        X: *mut Htuple,
11343        Y: *mut Htuple,
11344        Z: *mut Htuple,
11345        CovXYZ: *mut Htuple,
11346    ) -> Herror;
11347}
11348unsafe extern "C" {
11349    pub fn T_vector_to_essential_matrix(
11350        Rows1: Htuple,
11351        Cols1: Htuple,
11352        Rows2: Htuple,
11353        Cols2: Htuple,
11354        CovRR1: Htuple,
11355        CovRC1: Htuple,
11356        CovCC1: Htuple,
11357        CovRR2: Htuple,
11358        CovRC2: Htuple,
11359        CovCC2: Htuple,
11360        CamMat1: Htuple,
11361        CamMat2: Htuple,
11362        Method: Htuple,
11363        EMatrix: *mut Htuple,
11364        CovEMat: *mut Htuple,
11365        Error: *mut Htuple,
11366        X: *mut Htuple,
11367        Y: *mut Htuple,
11368        Z: *mut Htuple,
11369        CovXYZ: *mut Htuple,
11370    ) -> Herror;
11371}
11372unsafe extern "C" {
11373    pub fn T_vector_to_fundamental_matrix(
11374        Rows1: Htuple,
11375        Cols1: Htuple,
11376        Rows2: Htuple,
11377        Cols2: Htuple,
11378        CovRR1: Htuple,
11379        CovRC1: Htuple,
11380        CovCC1: Htuple,
11381        CovRR2: Htuple,
11382        CovRC2: Htuple,
11383        CovCC2: Htuple,
11384        Method: Htuple,
11385        FMatrix: *mut Htuple,
11386        CovFMat: *mut Htuple,
11387        Error: *mut Htuple,
11388        X: *mut Htuple,
11389        Y: *mut Htuple,
11390        Z: *mut Htuple,
11391        W: *mut Htuple,
11392        CovXYZW: *mut Htuple,
11393    ) -> Herror;
11394}
11395unsafe extern "C" {
11396    pub fn T_match_fundamental_matrix_distortion_ransac(
11397        Image1: Hobject,
11398        Image2: Hobject,
11399        Rows1: Htuple,
11400        Cols1: Htuple,
11401        Rows2: Htuple,
11402        Cols2: Htuple,
11403        GrayMatchMethod: Htuple,
11404        MaskSize: Htuple,
11405        RowMove: Htuple,
11406        ColMove: Htuple,
11407        RowTolerance: Htuple,
11408        ColTolerance: Htuple,
11409        Rotation: Htuple,
11410        MatchThreshold: Htuple,
11411        EstimationMethod: Htuple,
11412        DistanceThreshold: Htuple,
11413        RandSeed: Htuple,
11414        FMatrix: *mut Htuple,
11415        Kappa: *mut Htuple,
11416        Error: *mut Htuple,
11417        Points1: *mut Htuple,
11418        Points2: *mut Htuple,
11419    ) -> Herror;
11420}
11421unsafe extern "C" {
11422    pub fn T_match_rel_pose_ransac(
11423        Image1: Hobject,
11424        Image2: Hobject,
11425        Rows1: Htuple,
11426        Cols1: Htuple,
11427        Rows2: Htuple,
11428        Cols2: Htuple,
11429        CamPar1: Htuple,
11430        CamPar2: Htuple,
11431        GrayMatchMethod: Htuple,
11432        MaskSize: Htuple,
11433        RowMove: Htuple,
11434        ColMove: Htuple,
11435        RowTolerance: Htuple,
11436        ColTolerance: Htuple,
11437        Rotation: Htuple,
11438        MatchThreshold: Htuple,
11439        EstimationMethod: Htuple,
11440        DistanceThreshold: Htuple,
11441        RandSeed: Htuple,
11442        RelPose: *mut Htuple,
11443        CovRelPose: *mut Htuple,
11444        Error: *mut Htuple,
11445        Points1: *mut Htuple,
11446        Points2: *mut Htuple,
11447    ) -> Herror;
11448}
11449unsafe extern "C" {
11450    pub fn T_match_essential_matrix_ransac(
11451        Image1: Hobject,
11452        Image2: Hobject,
11453        Rows1: Htuple,
11454        Cols1: Htuple,
11455        Rows2: Htuple,
11456        Cols2: Htuple,
11457        CamMat1: Htuple,
11458        CamMat2: Htuple,
11459        GrayMatchMethod: Htuple,
11460        MaskSize: Htuple,
11461        RowMove: Htuple,
11462        ColMove: Htuple,
11463        RowTolerance: Htuple,
11464        ColTolerance: Htuple,
11465        Rotation: Htuple,
11466        MatchThreshold: Htuple,
11467        EstimationMethod: Htuple,
11468        DistanceThreshold: Htuple,
11469        RandSeed: Htuple,
11470        EMatrix: *mut Htuple,
11471        CovEMat: *mut Htuple,
11472        Error: *mut Htuple,
11473        Points1: *mut Htuple,
11474        Points2: *mut Htuple,
11475    ) -> Herror;
11476}
11477unsafe extern "C" {
11478    pub fn T_match_fundamental_matrix_ransac(
11479        Image1: Hobject,
11480        Image2: Hobject,
11481        Rows1: Htuple,
11482        Cols1: Htuple,
11483        Rows2: Htuple,
11484        Cols2: Htuple,
11485        GrayMatchMethod: Htuple,
11486        MaskSize: Htuple,
11487        RowMove: Htuple,
11488        ColMove: Htuple,
11489        RowTolerance: Htuple,
11490        ColTolerance: Htuple,
11491        Rotation: Htuple,
11492        MatchThreshold: Htuple,
11493        EstimationMethod: Htuple,
11494        DistanceThreshold: Htuple,
11495        RandSeed: Htuple,
11496        FMatrix: *mut Htuple,
11497        CovFMat: *mut Htuple,
11498        Error: *mut Htuple,
11499        Points1: *mut Htuple,
11500        Points2: *mut Htuple,
11501    ) -> Herror;
11502}
11503unsafe extern "C" {
11504    pub fn T_binocular_distance(
11505        ImageRect1: Hobject,
11506        ImageRect2: Hobject,
11507        Distance: *mut Hobject,
11508        Score: *mut Hobject,
11509        CamParamRect1: Htuple,
11510        CamParamRect2: Htuple,
11511        RelPoseRect: Htuple,
11512        Method: Htuple,
11513        MaskWidth: Htuple,
11514        MaskHeight: Htuple,
11515        TextureThresh: Htuple,
11516        MinDisparity: Htuple,
11517        MaxDisparity: Htuple,
11518        NumLevels: Htuple,
11519        ScoreThresh: Htuple,
11520        Filter: Htuple,
11521        SubDistance: Htuple,
11522    ) -> Herror;
11523}
11524unsafe extern "C" {
11525    pub fn T_binocular_disparity(
11526        ImageRect1: Hobject,
11527        ImageRect2: Hobject,
11528        Disparity: *mut Hobject,
11529        Score: *mut Hobject,
11530        Method: Htuple,
11531        MaskWidth: Htuple,
11532        MaskHeight: Htuple,
11533        TextureThresh: Htuple,
11534        MinDisparity: Htuple,
11535        MaxDisparity: Htuple,
11536        NumLevels: Htuple,
11537        ScoreThresh: Htuple,
11538        Filter: Htuple,
11539        SubDisparity: Htuple,
11540    ) -> Herror;
11541}
11542unsafe extern "C" {
11543    pub fn binocular_disparity(
11544        ImageRect1: Hobject,
11545        ImageRect2: Hobject,
11546        Disparity: *mut Hobject,
11547        Score: *mut Hobject,
11548        Method: *const ::std::os::raw::c_char,
11549        MaskWidth: Hlong,
11550        MaskHeight: Hlong,
11551        TextureThresh: f64,
11552        MinDisparity: Hlong,
11553        MaxDisparity: Hlong,
11554        NumLevels: Hlong,
11555        ScoreThresh: f64,
11556        Filter: *const ::std::os::raw::c_char,
11557        SubDisparity: *const ::std::os::raw::c_char,
11558    ) -> Herror;
11559}
11560unsafe extern "C" {
11561    pub fn T_intersect_lines_of_sight(
11562        CamParam1: Htuple,
11563        CamParam2: Htuple,
11564        RelPose: Htuple,
11565        Row1: Htuple,
11566        Col1: Htuple,
11567        Row2: Htuple,
11568        Col2: Htuple,
11569        X: *mut Htuple,
11570        Y: *mut Htuple,
11571        Z: *mut Htuple,
11572        Dist: *mut Htuple,
11573    ) -> Herror;
11574}
11575unsafe extern "C" {
11576    pub fn T_disparity_image_to_xyz(
11577        Disparity: Hobject,
11578        X: *mut Hobject,
11579        Y: *mut Hobject,
11580        Z: *mut Hobject,
11581        CamParamRect1: Htuple,
11582        CamParamRect2: Htuple,
11583        RelPoseRect: Htuple,
11584    ) -> Herror;
11585}
11586unsafe extern "C" {
11587    pub fn T_disparity_to_point_3d(
11588        CamParamRect1: Htuple,
11589        CamParamRect2: Htuple,
11590        RelPoseRect: Htuple,
11591        Row1: Htuple,
11592        Col1: Htuple,
11593        Disparity: Htuple,
11594        X: *mut Htuple,
11595        Y: *mut Htuple,
11596        Z: *mut Htuple,
11597    ) -> Herror;
11598}
11599unsafe extern "C" {
11600    pub fn T_disparity_to_distance(
11601        CamParamRect1: Htuple,
11602        CamParamRect2: Htuple,
11603        RelPoseRect: Htuple,
11604        Disparity: Htuple,
11605        Distance: *mut Htuple,
11606    ) -> Herror;
11607}
11608unsafe extern "C" {
11609    pub fn T_distance_to_disparity(
11610        CamParamRect1: Htuple,
11611        CamParamRect2: Htuple,
11612        RelPoseRect: Htuple,
11613        Distance: Htuple,
11614        Disparity: *mut Htuple,
11615    ) -> Herror;
11616}
11617unsafe extern "C" {
11618    pub fn T_gen_binocular_rectification_map(
11619        Map1: *mut Hobject,
11620        Map2: *mut Hobject,
11621        CamParam1: Htuple,
11622        CamParam2: Htuple,
11623        RelPose: Htuple,
11624        SubSampling: Htuple,
11625        Method: Htuple,
11626        MapType: Htuple,
11627        CamParamRect1: *mut Htuple,
11628        CamParamRect2: *mut Htuple,
11629        CamPoseRect1: *mut Htuple,
11630        CamPoseRect2: *mut Htuple,
11631        RelPoseRect: *mut Htuple,
11632    ) -> Herror;
11633}
11634unsafe extern "C" {
11635    pub fn T_binocular_calibration(
11636        NX: Htuple,
11637        NY: Htuple,
11638        NZ: Htuple,
11639        NRow1: Htuple,
11640        NCol1: Htuple,
11641        NRow2: Htuple,
11642        NCol2: Htuple,
11643        StartCamParam1: Htuple,
11644        StartCamParam2: Htuple,
11645        NStartPose1: Htuple,
11646        NStartPose2: Htuple,
11647        EstimateParams: Htuple,
11648        CamParam1: *mut Htuple,
11649        CamParam2: *mut Htuple,
11650        NFinalPose1: *mut Htuple,
11651        NFinalPose2: *mut Htuple,
11652        RelPose: *mut Htuple,
11653        Errors: *mut Htuple,
11654    ) -> Herror;
11655}
11656unsafe extern "C" {
11657    pub fn T_query_spy(Classes: *mut Htuple, Values: *mut Htuple) -> Herror;
11658}
11659unsafe extern "C" {
11660    pub fn T_set_spy(Class: Htuple, Value: Htuple) -> Herror;
11661}
11662unsafe extern "C" {
11663    pub fn set_spy(
11664        Class: *const ::std::os::raw::c_char,
11665        Value: *const ::std::os::raw::c_char,
11666    ) -> Herror;
11667}
11668unsafe extern "C" {
11669    pub fn T_get_spy(Class: Htuple, Value: *mut Htuple) -> Herror;
11670}
11671unsafe extern "C" {
11672    pub fn get_spy(
11673        Class: *const ::std::os::raw::c_char,
11674        Value: *mut ::std::os::raw::c_char,
11675    ) -> Herror;
11676}
11677unsafe extern "C" {
11678    pub fn T_read_sheet_of_light_model(
11679        FileName: Htuple,
11680        SheetOfLightModelID: *mut Htuple,
11681    ) -> Herror;
11682}
11683unsafe extern "C" {
11684    pub fn read_sheet_of_light_model(
11685        FileName: *const ::std::os::raw::c_char,
11686        SheetOfLightModelID: *mut Hlong,
11687    ) -> Herror;
11688}
11689unsafe extern "C" {
11690    pub fn T_write_sheet_of_light_model(SheetOfLightModelID: Htuple, FileName: Htuple) -> Herror;
11691}
11692unsafe extern "C" {
11693    pub fn write_sheet_of_light_model(
11694        SheetOfLightModelID: Hlong,
11695        FileName: *const ::std::os::raw::c_char,
11696    ) -> Herror;
11697}
11698unsafe extern "C" {
11699    pub fn T_deserialize_sheet_of_light_model(
11700        SerializedItemHandle: Htuple,
11701        SheetOfLightModelID: *mut Htuple,
11702    ) -> Herror;
11703}
11704unsafe extern "C" {
11705    pub fn deserialize_sheet_of_light_model(
11706        SerializedItemHandle: Hlong,
11707        SheetOfLightModelID: *mut Hlong,
11708    ) -> Herror;
11709}
11710unsafe extern "C" {
11711    pub fn T_serialize_sheet_of_light_model(
11712        SheetOfLightModelID: Htuple,
11713        SerializedItemHandle: *mut Htuple,
11714    ) -> Herror;
11715}
11716unsafe extern "C" {
11717    pub fn serialize_sheet_of_light_model(
11718        SheetOfLightModelID: Hlong,
11719        SerializedItemHandle: *mut Hlong,
11720    ) -> Herror;
11721}
11722unsafe extern "C" {
11723    pub fn T_create_sheet_of_light_calib_object(
11724        Width: Htuple,
11725        Length: Htuple,
11726        HeightMin: Htuple,
11727        HeightMax: Htuple,
11728        FileName: Htuple,
11729    ) -> Herror;
11730}
11731unsafe extern "C" {
11732    pub fn create_sheet_of_light_calib_object(
11733        Width: f64,
11734        Length: f64,
11735        HeightMin: f64,
11736        HeightMax: f64,
11737        FileName: *const ::std::os::raw::c_char,
11738    ) -> Herror;
11739}
11740unsafe extern "C" {
11741    pub fn T_calibrate_sheet_of_light(SheetOfLightModelID: Htuple, Error: *mut Htuple) -> Herror;
11742}
11743unsafe extern "C" {
11744    pub fn calibrate_sheet_of_light(SheetOfLightModelID: Hlong, Error: *mut f64) -> Herror;
11745}
11746unsafe extern "C" {
11747    pub fn T_get_sheet_of_light_result_object_model_3d(
11748        SheetOfLightModelID: Htuple,
11749        ObjectModel3D: *mut Htuple,
11750    ) -> Herror;
11751}
11752unsafe extern "C" {
11753    pub fn get_sheet_of_light_result_object_model_3d(
11754        SheetOfLightModelID: Hlong,
11755        ObjectModel3D: *mut Hlong,
11756    ) -> Herror;
11757}
11758unsafe extern "C" {
11759    pub fn T_get_sheet_of_light_result(
11760        ResultValue: *mut Hobject,
11761        SheetOfLightModelID: Htuple,
11762        ResultName: Htuple,
11763    ) -> Herror;
11764}
11765unsafe extern "C" {
11766    pub fn get_sheet_of_light_result(
11767        ResultValue: *mut Hobject,
11768        SheetOfLightModelID: Hlong,
11769        ResultName: *const ::std::os::raw::c_char,
11770    ) -> Herror;
11771}
11772unsafe extern "C" {
11773    pub fn T_apply_sheet_of_light_calibration(
11774        Disparity: Hobject,
11775        SheetOfLightModelID: Htuple,
11776    ) -> Herror;
11777}
11778unsafe extern "C" {
11779    pub fn apply_sheet_of_light_calibration(
11780        Disparity: Hobject,
11781        SheetOfLightModelID: Hlong,
11782    ) -> Herror;
11783}
11784unsafe extern "C" {
11785    pub fn T_set_profile_sheet_of_light(
11786        ProfileDisparityImage: Hobject,
11787        SheetOfLightModelID: Htuple,
11788        MovementPoses: Htuple,
11789    ) -> Herror;
11790}
11791unsafe extern "C" {
11792    pub fn T_measure_profile_sheet_of_light(
11793        ProfileImage: Hobject,
11794        SheetOfLightModelID: Htuple,
11795        MovementPose: Htuple,
11796    ) -> Herror;
11797}
11798unsafe extern "C" {
11799    pub fn T_set_sheet_of_light_param(
11800        SheetOfLightModelID: Htuple,
11801        GenParamName: Htuple,
11802        GenParamValue: Htuple,
11803    ) -> Herror;
11804}
11805unsafe extern "C" {
11806    pub fn set_sheet_of_light_param(
11807        SheetOfLightModelID: Hlong,
11808        GenParamName: *const ::std::os::raw::c_char,
11809        GenParamValue: *const ::std::os::raw::c_char,
11810    ) -> Herror;
11811}
11812unsafe extern "C" {
11813    pub fn T_get_sheet_of_light_param(
11814        SheetOfLightModelID: Htuple,
11815        GenParamName: Htuple,
11816        GenParamValue: *mut Htuple,
11817    ) -> Herror;
11818}
11819unsafe extern "C" {
11820    pub fn get_sheet_of_light_param(
11821        SheetOfLightModelID: Hlong,
11822        GenParamName: *const ::std::os::raw::c_char,
11823        GenParamValue: *mut ::std::os::raw::c_char,
11824    ) -> Herror;
11825}
11826unsafe extern "C" {
11827    pub fn T_query_sheet_of_light_params(
11828        SheetOfLightModelID: Htuple,
11829        QueryName: Htuple,
11830        GenParamName: *mut Htuple,
11831    ) -> Herror;
11832}
11833unsafe extern "C" {
11834    pub fn T_reset_sheet_of_light_model(SheetOfLightModelID: Htuple) -> Herror;
11835}
11836unsafe extern "C" {
11837    pub fn reset_sheet_of_light_model(SheetOfLightModelID: Hlong) -> Herror;
11838}
11839unsafe extern "C" {
11840    pub fn T_clear_all_sheet_of_light_models() -> Herror;
11841}
11842unsafe extern "C" {
11843    pub fn clear_all_sheet_of_light_models() -> Herror;
11844}
11845unsafe extern "C" {
11846    pub fn T_clear_sheet_of_light_model(SheetOfLightModelID: Htuple) -> Herror;
11847}
11848unsafe extern "C" {
11849    pub fn clear_sheet_of_light_model(SheetOfLightModelID: Hlong) -> Herror;
11850}
11851unsafe extern "C" {
11852    pub fn T_create_sheet_of_light_model(
11853        ProfileRegion: Hobject,
11854        GenParamName: Htuple,
11855        GenParamValue: Htuple,
11856        SheetOfLightModelID: *mut Htuple,
11857    ) -> Herror;
11858}
11859unsafe extern "C" {
11860    pub fn create_sheet_of_light_model(
11861        ProfileRegion: Hobject,
11862        GenParamName: *const ::std::os::raw::c_char,
11863        GenParamValue: Hlong,
11864        SheetOfLightModelID: *mut Hlong,
11865    ) -> Herror;
11866}
11867unsafe extern "C" {
11868    pub fn T_shade_height_field(
11869        ImageHeight: Hobject,
11870        ImageShade: *mut Hobject,
11871        Slant: Htuple,
11872        Tilt: Htuple,
11873        Albedo: Htuple,
11874        Ambient: Htuple,
11875        Shadows: Htuple,
11876    ) -> Herror;
11877}
11878unsafe extern "C" {
11879    pub fn shade_height_field(
11880        ImageHeight: Hobject,
11881        ImageShade: *mut Hobject,
11882        Slant: f64,
11883        Tilt: f64,
11884        Albedo: f64,
11885        Ambient: f64,
11886        Shadows: *const ::std::os::raw::c_char,
11887    ) -> Herror;
11888}
11889unsafe extern "C" {
11890    pub fn T_estimate_al_am(Image: Hobject, Albedo: *mut Htuple, Ambient: *mut Htuple) -> Herror;
11891}
11892unsafe extern "C" {
11893    pub fn estimate_al_am(Image: Hobject, Albedo: *mut f64, Ambient: *mut f64) -> Herror;
11894}
11895unsafe extern "C" {
11896    pub fn T_estimate_sl_al_zc(Image: Hobject, Slant: *mut Htuple, Albedo: *mut Htuple) -> Herror;
11897}
11898unsafe extern "C" {
11899    pub fn estimate_sl_al_zc(Image: Hobject, Slant: *mut f64, Albedo: *mut f64) -> Herror;
11900}
11901unsafe extern "C" {
11902    pub fn T_estimate_sl_al_lr(Image: Hobject, Slant: *mut Htuple, Albedo: *mut Htuple) -> Herror;
11903}
11904unsafe extern "C" {
11905    pub fn estimate_sl_al_lr(Image: Hobject, Slant: *mut f64, Albedo: *mut f64) -> Herror;
11906}
11907unsafe extern "C" {
11908    pub fn T_estimate_tilt_zc(Image: Hobject, Tilt: *mut Htuple) -> Herror;
11909}
11910unsafe extern "C" {
11911    pub fn estimate_tilt_zc(Image: Hobject, Tilt: *mut f64) -> Herror;
11912}
11913unsafe extern "C" {
11914    pub fn T_estimate_tilt_lr(Image: Hobject, Tilt: *mut Htuple) -> Herror;
11915}
11916unsafe extern "C" {
11917    pub fn estimate_tilt_lr(Image: Hobject, Tilt: *mut f64) -> Herror;
11918}
11919unsafe extern "C" {
11920    pub fn T_reconstruct_height_field_from_gradient(
11921        Gradient: Hobject,
11922        HeightField: *mut Hobject,
11923        ReconstructionMethod: Htuple,
11924        GenParamName: Htuple,
11925        GenParamValue: Htuple,
11926    ) -> Herror;
11927}
11928unsafe extern "C" {
11929    pub fn T_photometric_stereo(
11930        Images: Hobject,
11931        HeightField: *mut Hobject,
11932        Gradient: *mut Hobject,
11933        Albedo: *mut Hobject,
11934        Slants: Htuple,
11935        Tilts: Htuple,
11936        ResultType: Htuple,
11937        ReconstructionMethod: Htuple,
11938        GenParamName: Htuple,
11939        GenParamValue: Htuple,
11940    ) -> Herror;
11941}
11942unsafe extern "C" {
11943    pub fn T_sfs_pentland(
11944        Image: Hobject,
11945        Height: *mut Hobject,
11946        Slant: Htuple,
11947        Tilt: Htuple,
11948        Albedo: Htuple,
11949        Ambient: Htuple,
11950    ) -> Herror;
11951}
11952unsafe extern "C" {
11953    pub fn sfs_pentland(
11954        Image: Hobject,
11955        Height: *mut Hobject,
11956        Slant: f64,
11957        Tilt: f64,
11958        Albedo: f64,
11959        Ambient: f64,
11960    ) -> Herror;
11961}
11962unsafe extern "C" {
11963    pub fn T_sfs_orig_lr(
11964        Image: Hobject,
11965        Height: *mut Hobject,
11966        Slant: Htuple,
11967        Tilt: Htuple,
11968        Albedo: Htuple,
11969        Ambient: Htuple,
11970    ) -> Herror;
11971}
11972unsafe extern "C" {
11973    pub fn sfs_orig_lr(
11974        Image: Hobject,
11975        Height: *mut Hobject,
11976        Slant: f64,
11977        Tilt: f64,
11978        Albedo: f64,
11979        Ambient: f64,
11980    ) -> Herror;
11981}
11982unsafe extern "C" {
11983    pub fn T_sfs_mod_lr(
11984        Image: Hobject,
11985        Height: *mut Hobject,
11986        Slant: Htuple,
11987        Tilt: Htuple,
11988        Albedo: Htuple,
11989        Ambient: Htuple,
11990    ) -> Herror;
11991}
11992unsafe extern "C" {
11993    pub fn sfs_mod_lr(
11994        Image: Hobject,
11995        Height: *mut Hobject,
11996        Slant: f64,
11997        Tilt: f64,
11998        Albedo: f64,
11999        Ambient: f64,
12000    ) -> Herror;
12001}
12002unsafe extern "C" {
12003    pub fn T_receive_serialized_item(Socket: Htuple, SerializedItemHandle: *mut Htuple) -> Herror;
12004}
12005unsafe extern "C" {
12006    pub fn receive_serialized_item(Socket: Hlong, SerializedItemHandle: *mut Hlong) -> Herror;
12007}
12008unsafe extern "C" {
12009    pub fn T_send_serialized_item(Socket: Htuple, SerializedItemHandle: Htuple) -> Herror;
12010}
12011unsafe extern "C" {
12012    pub fn send_serialized_item(Socket: Hlong, SerializedItemHandle: Hlong) -> Herror;
12013}
12014unsafe extern "C" {
12015    pub fn T_fwrite_serialized_item(FileHandle: Htuple, SerializedItemHandle: Htuple) -> Herror;
12016}
12017unsafe extern "C" {
12018    pub fn fwrite_serialized_item(FileHandle: Hlong, SerializedItemHandle: Hlong) -> Herror;
12019}
12020unsafe extern "C" {
12021    pub fn T_fread_serialized_item(FileHandle: Htuple, SerializedItemHandle: *mut Htuple)
12022    -> Herror;
12023}
12024unsafe extern "C" {
12025    pub fn fread_serialized_item(FileHandle: Hlong, SerializedItemHandle: *mut Hlong) -> Herror;
12026}
12027unsafe extern "C" {
12028    pub fn T_clear_all_serialized_items() -> Herror;
12029}
12030unsafe extern "C" {
12031    pub fn clear_all_serialized_items() -> Herror;
12032}
12033unsafe extern "C" {
12034    pub fn T_clear_serialized_item(SerializedItemHandle: Htuple) -> Herror;
12035}
12036unsafe extern "C" {
12037    pub fn clear_serialized_item(SerializedItemHandle: Hlong) -> Herror;
12038}
12039unsafe extern "C" {
12040    pub fn T_get_serialized_item_ptr(
12041        SerializedItemHandle: Htuple,
12042        Pointer: *mut Htuple,
12043        Size: *mut Htuple,
12044    ) -> Herror;
12045}
12046unsafe extern "C" {
12047    pub fn get_serialized_item_ptr(
12048        SerializedItemHandle: Hlong,
12049        Pointer: *mut Hlong,
12050        Size: *mut Hlong,
12051    ) -> Herror;
12052}
12053unsafe extern "C" {
12054    pub fn T_create_serialized_item_ptr(
12055        Pointer: Htuple,
12056        Size: Htuple,
12057        Copy: Htuple,
12058        SerializedItemHandle: *mut Htuple,
12059    ) -> Herror;
12060}
12061unsafe extern "C" {
12062    pub fn create_serialized_item_ptr(
12063        Pointer: Hlong,
12064        Size: Hlong,
12065        Copy: *const ::std::os::raw::c_char,
12066        SerializedItemHandle: *mut Hlong,
12067    ) -> Herror;
12068}
12069unsafe extern "C" {
12070    pub fn T_fit_primitives_object_model_3d(
12071        ObjectModel3D: Htuple,
12072        GenParamName: Htuple,
12073        GenParamValue: Htuple,
12074        ObjectModel3DOut: *mut Htuple,
12075    ) -> Herror;
12076}
12077unsafe extern "C" {
12078    pub fn T_segment_object_model_3d(
12079        ObjectModel3D: Htuple,
12080        GenParamName: Htuple,
12081        GenParamValue: Htuple,
12082        ObjectModel3DOut: *mut Htuple,
12083    ) -> Herror;
12084}
12085unsafe extern "C" {
12086    pub fn T_clear_all_text_results() -> Herror;
12087}
12088unsafe extern "C" {
12089    pub fn clear_all_text_results() -> Herror;
12090}
12091unsafe extern "C" {
12092    pub fn T_clear_text_result(TextResultID: Htuple) -> Herror;
12093}
12094unsafe extern "C" {
12095    pub fn clear_text_result(TextResultID: Hlong) -> Herror;
12096}
12097unsafe extern "C" {
12098    pub fn T_get_text_object(
12099        Characters: *mut Hobject,
12100        TextResultID: Htuple,
12101        ResultName: Htuple,
12102    ) -> Herror;
12103}
12104unsafe extern "C" {
12105    pub fn get_text_object(
12106        Characters: *mut Hobject,
12107        TextResultID: Hlong,
12108        ResultName: *const ::std::os::raw::c_char,
12109    ) -> Herror;
12110}
12111unsafe extern "C" {
12112    pub fn T_get_text_result(
12113        TextResultID: Htuple,
12114        ResultName: Htuple,
12115        ResultValue: *mut Htuple,
12116    ) -> Herror;
12117}
12118unsafe extern "C" {
12119    pub fn get_text_result(
12120        TextResultID: Hlong,
12121        ResultName: *const ::std::os::raw::c_char,
12122        ResultValue: *mut Hlong,
12123    ) -> Herror;
12124}
12125unsafe extern "C" {
12126    pub fn T_find_text(Image: Hobject, TextModel: Htuple, TextResultID: *mut Htuple) -> Herror;
12127}
12128unsafe extern "C" {
12129    pub fn find_text(Image: Hobject, TextModel: Hlong, TextResultID: *mut Hlong) -> Herror;
12130}
12131unsafe extern "C" {
12132    pub fn T_get_text_model_param(
12133        TextModel: Htuple,
12134        GenParamName: Htuple,
12135        GenParamValue: *mut Htuple,
12136    ) -> Herror;
12137}
12138unsafe extern "C" {
12139    pub fn get_text_model_param(
12140        TextModel: Hlong,
12141        GenParamName: *const ::std::os::raw::c_char,
12142        GenParamValue: *mut Hlong,
12143    ) -> Herror;
12144}
12145unsafe extern "C" {
12146    pub fn T_set_text_model_param(
12147        TextModel: Htuple,
12148        GenParamName: Htuple,
12149        GenParamValue: Htuple,
12150    ) -> Herror;
12151}
12152unsafe extern "C" {
12153    pub fn set_text_model_param(
12154        TextModel: Hlong,
12155        GenParamName: *const ::std::os::raw::c_char,
12156        GenParamValue: Hlong,
12157    ) -> Herror;
12158}
12159unsafe extern "C" {
12160    pub fn T_clear_all_text_models() -> Herror;
12161}
12162unsafe extern "C" {
12163    pub fn clear_all_text_models() -> Herror;
12164}
12165unsafe extern "C" {
12166    pub fn T_clear_text_model(TextModel: Htuple) -> Herror;
12167}
12168unsafe extern "C" {
12169    pub fn clear_text_model(TextModel: Hlong) -> Herror;
12170}
12171unsafe extern "C" {
12172    pub fn T_create_text_model_reader(
12173        Mode: Htuple,
12174        OCRClassifier: Htuple,
12175        TextModel: *mut Htuple,
12176    ) -> Herror;
12177}
12178unsafe extern "C" {
12179    pub fn create_text_model_reader(
12180        Mode: *const ::std::os::raw::c_char,
12181        OCRClassifier: *const ::std::os::raw::c_char,
12182        TextModel: *mut Hlong,
12183    ) -> Herror;
12184}
12185unsafe extern "C" {
12186    pub fn T_create_text_model(TextModel: *mut Htuple) -> Herror;
12187}
12188unsafe extern "C" {
12189    pub fn create_text_model(TextModel: *mut Hlong) -> Herror;
12190}
12191unsafe extern "C" {
12192    pub fn T_select_characters(
12193        Region: Hobject,
12194        RegionCharacters: *mut Hobject,
12195        DotPrint: Htuple,
12196        StrokeWidth: Htuple,
12197        CharWidth: Htuple,
12198        CharHeight: Htuple,
12199        Punctuation: Htuple,
12200        DiacriticMarks: Htuple,
12201        PartitionMethod: Htuple,
12202        PartitionLines: Htuple,
12203        FragmentDistance: Htuple,
12204        ConnectFragments: Htuple,
12205        ClutterSizeMax: Htuple,
12206        StopAfter: Htuple,
12207    ) -> Herror;
12208}
12209unsafe extern "C" {
12210    pub fn T_segment_characters(
12211        Region: Hobject,
12212        Image: Hobject,
12213        ImageForeground: *mut Hobject,
12214        RegionForeground: *mut Hobject,
12215        Method: Htuple,
12216        EliminateLines: Htuple,
12217        DotPrint: Htuple,
12218        StrokeWidth: Htuple,
12219        CharWidth: Htuple,
12220        CharHeight: Htuple,
12221        ThresholdOffset: Htuple,
12222        Contrast: Htuple,
12223        UsedThreshold: *mut Htuple,
12224    ) -> Herror;
12225}
12226unsafe extern "C" {
12227    pub fn T_text_line_slant(
12228        Region: Hobject,
12229        Image: Hobject,
12230        CharHeight: Htuple,
12231        SlantFrom: Htuple,
12232        SlantTo: Htuple,
12233        SlantAngle: *mut Htuple,
12234    ) -> Herror;
12235}
12236unsafe extern "C" {
12237    pub fn text_line_slant(
12238        Region: Hobject,
12239        Image: Hobject,
12240        CharHeight: Hlong,
12241        SlantFrom: f64,
12242        SlantTo: f64,
12243        SlantAngle: *mut f64,
12244    ) -> Herror;
12245}
12246unsafe extern "C" {
12247    pub fn T_text_line_orientation(
12248        Region: Hobject,
12249        Image: Hobject,
12250        CharHeight: Htuple,
12251        OrientationFrom: Htuple,
12252        OrientationTo: Htuple,
12253        OrientationAngle: *mut Htuple,
12254    ) -> Herror;
12255}
12256unsafe extern "C" {
12257    pub fn text_line_orientation(
12258        Region: Hobject,
12259        Image: Hobject,
12260        CharHeight: Hlong,
12261        OrientationFrom: f64,
12262        OrientationTo: f64,
12263        OrientationAngle: *mut f64,
12264    ) -> Herror;
12265}
12266unsafe extern "C" {
12267    pub fn T_classify_image_class_lut(
12268        Image: Hobject,
12269        ClassRegions: *mut Hobject,
12270        ClassLUTHandle: Htuple,
12271    ) -> Herror;
12272}
12273unsafe extern "C" {
12274    pub fn classify_image_class_lut(
12275        Image: Hobject,
12276        ClassRegions: *mut Hobject,
12277        ClassLUTHandle: Hlong,
12278    ) -> Herror;
12279}
12280unsafe extern "C" {
12281    pub fn T_classify_image_class_knn(
12282        Image: Hobject,
12283        ClassRegions: *mut Hobject,
12284        DistanceImage: *mut Hobject,
12285        KNNHandle: Htuple,
12286        RejectionThreshold: Htuple,
12287    ) -> Herror;
12288}
12289unsafe extern "C" {
12290    pub fn classify_image_class_knn(
12291        Image: Hobject,
12292        ClassRegions: *mut Hobject,
12293        DistanceImage: *mut Hobject,
12294        KNNHandle: Hlong,
12295        RejectionThreshold: f64,
12296    ) -> Herror;
12297}
12298unsafe extern "C" {
12299    pub fn T_add_samples_image_class_knn(
12300        Image: Hobject,
12301        ClassRegions: Hobject,
12302        KNNHandle: Htuple,
12303    ) -> Herror;
12304}
12305unsafe extern "C" {
12306    pub fn add_samples_image_class_knn(
12307        Image: Hobject,
12308        ClassRegions: Hobject,
12309        KNNHandle: Hlong,
12310    ) -> Herror;
12311}
12312unsafe extern "C" {
12313    pub fn T_classify_image_class_gmm(
12314        Image: Hobject,
12315        ClassRegions: *mut Hobject,
12316        GMMHandle: Htuple,
12317        RejectionThreshold: Htuple,
12318    ) -> Herror;
12319}
12320unsafe extern "C" {
12321    pub fn classify_image_class_gmm(
12322        Image: Hobject,
12323        ClassRegions: *mut Hobject,
12324        GMMHandle: Hlong,
12325        RejectionThreshold: f64,
12326    ) -> Herror;
12327}
12328unsafe extern "C" {
12329    pub fn T_add_samples_image_class_gmm(
12330        Image: Hobject,
12331        ClassRegions: Hobject,
12332        GMMHandle: Htuple,
12333        Randomize: Htuple,
12334    ) -> Herror;
12335}
12336unsafe extern "C" {
12337    pub fn add_samples_image_class_gmm(
12338        Image: Hobject,
12339        ClassRegions: Hobject,
12340        GMMHandle: Hlong,
12341        Randomize: f64,
12342    ) -> Herror;
12343}
12344unsafe extern "C" {
12345    pub fn T_classify_image_class_svm(
12346        Image: Hobject,
12347        ClassRegions: *mut Hobject,
12348        SVMHandle: Htuple,
12349    ) -> Herror;
12350}
12351unsafe extern "C" {
12352    pub fn classify_image_class_svm(
12353        Image: Hobject,
12354        ClassRegions: *mut Hobject,
12355        SVMHandle: Hlong,
12356    ) -> Herror;
12357}
12358unsafe extern "C" {
12359    pub fn T_add_samples_image_class_svm(
12360        Image: Hobject,
12361        ClassRegions: Hobject,
12362        SVMHandle: Htuple,
12363    ) -> Herror;
12364}
12365unsafe extern "C" {
12366    pub fn add_samples_image_class_svm(
12367        Image: Hobject,
12368        ClassRegions: Hobject,
12369        SVMHandle: Hlong,
12370    ) -> Herror;
12371}
12372unsafe extern "C" {
12373    pub fn T_classify_image_class_mlp(
12374        Image: Hobject,
12375        ClassRegions: *mut Hobject,
12376        MLPHandle: Htuple,
12377        RejectionThreshold: Htuple,
12378    ) -> Herror;
12379}
12380unsafe extern "C" {
12381    pub fn classify_image_class_mlp(
12382        Image: Hobject,
12383        ClassRegions: *mut Hobject,
12384        MLPHandle: Hlong,
12385        RejectionThreshold: f64,
12386    ) -> Herror;
12387}
12388unsafe extern "C" {
12389    pub fn T_add_samples_image_class_mlp(
12390        Image: Hobject,
12391        ClassRegions: Hobject,
12392        MLPHandle: Htuple,
12393    ) -> Herror;
12394}
12395unsafe extern "C" {
12396    pub fn add_samples_image_class_mlp(
12397        Image: Hobject,
12398        ClassRegions: Hobject,
12399        MLPHandle: Hlong,
12400    ) -> Herror;
12401}
12402unsafe extern "C" {
12403    pub fn T_learn_ndim_norm(
12404        Foreground: Hobject,
12405        Background: Hobject,
12406        Image: Hobject,
12407        Metric: Htuple,
12408        Distance: Htuple,
12409        MinNumberPercent: Htuple,
12410        Radius: *mut Htuple,
12411        Center: *mut Htuple,
12412        Quality: *mut Htuple,
12413    ) -> Herror;
12414}
12415unsafe extern "C" {
12416    pub fn T_learn_ndim_box(
12417        Foreground: Hobject,
12418        Background: Hobject,
12419        MultiChannelImage: Hobject,
12420        ClassifHandle: Htuple,
12421    ) -> Herror;
12422}
12423unsafe extern "C" {
12424    pub fn learn_ndim_box(
12425        Foreground: Hobject,
12426        Background: Hobject,
12427        MultiChannelImage: Hobject,
12428        ClassifHandle: Hlong,
12429    ) -> Herror;
12430}
12431unsafe extern "C" {
12432    pub fn T_class_ndim_box(
12433        MultiChannelImage: Hobject,
12434        Regions: *mut Hobject,
12435        ClassifHandle: Htuple,
12436    ) -> Herror;
12437}
12438unsafe extern "C" {
12439    pub fn class_ndim_box(
12440        MultiChannelImage: Hobject,
12441        Regions: *mut Hobject,
12442        ClassifHandle: Hlong,
12443    ) -> Herror;
12444}
12445unsafe extern "C" {
12446    pub fn T_class_ndim_norm(
12447        MultiChannelImage: Hobject,
12448        Regions: *mut Hobject,
12449        Metric: Htuple,
12450        SingleMultiple: Htuple,
12451        Radius: Htuple,
12452        Center: Htuple,
12453    ) -> Herror;
12454}
12455unsafe extern "C" {
12456    pub fn class_ndim_norm(
12457        MultiChannelImage: Hobject,
12458        Regions: *mut Hobject,
12459        Metric: *const ::std::os::raw::c_char,
12460        SingleMultiple: *const ::std::os::raw::c_char,
12461        Radius: f64,
12462        Center: f64,
12463    ) -> Herror;
12464}
12465unsafe extern "C" {
12466    pub fn T_class_2dim_sup(
12467        ImageCol: Hobject,
12468        ImageRow: Hobject,
12469        FeatureSpace: Hobject,
12470        RegionClass2Dim: *mut Hobject,
12471    ) -> Herror;
12472}
12473unsafe extern "C" {
12474    pub fn class_2dim_sup(
12475        ImageCol: Hobject,
12476        ImageRow: Hobject,
12477        FeatureSpace: Hobject,
12478        RegionClass2Dim: *mut Hobject,
12479    ) -> Herror;
12480}
12481unsafe extern "C" {
12482    pub fn T_class_2dim_unsup(
12483        Image1: Hobject,
12484        Image2: Hobject,
12485        Classes: *mut Hobject,
12486        Threshold: Htuple,
12487        NumClasses: Htuple,
12488    ) -> Herror;
12489}
12490unsafe extern "C" {
12491    pub fn class_2dim_unsup(
12492        Image1: Hobject,
12493        Image2: Hobject,
12494        Classes: *mut Hobject,
12495        Threshold: Hlong,
12496        NumClasses: Hlong,
12497    ) -> Herror;
12498}
12499unsafe extern "C" {
12500    pub fn T_check_difference(
12501        Image: Hobject,
12502        Pattern: Hobject,
12503        Selected: *mut Hobject,
12504        Mode: Htuple,
12505        DiffLowerBound: Htuple,
12506        DiffUpperBound: Htuple,
12507        GrayOffset: Htuple,
12508        AddRow: Htuple,
12509        AddCol: Htuple,
12510    ) -> Herror;
12511}
12512unsafe extern "C" {
12513    pub fn check_difference(
12514        Image: Hobject,
12515        Pattern: Hobject,
12516        Selected: *mut Hobject,
12517        Mode: *const ::std::os::raw::c_char,
12518        DiffLowerBound: Hlong,
12519        DiffUpperBound: Hlong,
12520        GrayOffset: Hlong,
12521        AddRow: Hlong,
12522        AddCol: Hlong,
12523    ) -> Herror;
12524}
12525unsafe extern "C" {
12526    pub fn T_char_threshold(
12527        Image: Hobject,
12528        HistoRegion: Hobject,
12529        Characters: *mut Hobject,
12530        Sigma: Htuple,
12531        Percent: Htuple,
12532        Threshold: *mut Htuple,
12533    ) -> Herror;
12534}
12535unsafe extern "C" {
12536    pub fn char_threshold(
12537        Image: Hobject,
12538        HistoRegion: Hobject,
12539        Characters: *mut Hobject,
12540        Sigma: f64,
12541        Percent: f64,
12542        Threshold: *mut Hlong,
12543    ) -> Herror;
12544}
12545unsafe extern "C" {
12546    pub fn T_label_to_region(LabelImage: Hobject, Regions: *mut Hobject) -> Herror;
12547}
12548unsafe extern "C" {
12549    pub fn label_to_region(LabelImage: Hobject, Regions: *mut Hobject) -> Herror;
12550}
12551unsafe extern "C" {
12552    pub fn T_nonmax_suppression_amp(
12553        ImgAmp: Hobject,
12554        ImageResult: *mut Hobject,
12555        Mode: Htuple,
12556    ) -> Herror;
12557}
12558unsafe extern "C" {
12559    pub fn nonmax_suppression_amp(
12560        ImgAmp: Hobject,
12561        ImageResult: *mut Hobject,
12562        Mode: *const ::std::os::raw::c_char,
12563    ) -> Herror;
12564}
12565unsafe extern "C" {
12566    pub fn T_nonmax_suppression_dir(
12567        ImgAmp: Hobject,
12568        ImgDir: Hobject,
12569        ImageResult: *mut Hobject,
12570        Mode: Htuple,
12571    ) -> Herror;
12572}
12573unsafe extern "C" {
12574    pub fn nonmax_suppression_dir(
12575        ImgAmp: Hobject,
12576        ImgDir: Hobject,
12577        ImageResult: *mut Hobject,
12578        Mode: *const ::std::os::raw::c_char,
12579    ) -> Herror;
12580}
12581unsafe extern "C" {
12582    pub fn T_hysteresis_threshold(
12583        Image: Hobject,
12584        RegionHysteresis: *mut Hobject,
12585        Low: Htuple,
12586        High: Htuple,
12587        MaxLength: Htuple,
12588    ) -> Herror;
12589}
12590unsafe extern "C" {
12591    pub fn hysteresis_threshold(
12592        Image: Hobject,
12593        RegionHysteresis: *mut Hobject,
12594        Low: Hlong,
12595        High: Hlong,
12596        MaxLength: Hlong,
12597    ) -> Herror;
12598}
12599unsafe extern "C" {
12600    pub fn T_binary_threshold(
12601        Image: Hobject,
12602        Region: *mut Hobject,
12603        Method: Htuple,
12604        LightDark: Htuple,
12605        UsedThreshold: *mut Htuple,
12606    ) -> Herror;
12607}
12608unsafe extern "C" {
12609    pub fn binary_threshold(
12610        Image: Hobject,
12611        Region: *mut Hobject,
12612        Method: *const ::std::os::raw::c_char,
12613        LightDark: *const ::std::os::raw::c_char,
12614        UsedThreshold: *mut Hlong,
12615    ) -> Herror;
12616}
12617unsafe extern "C" {
12618    pub fn T_local_threshold(
12619        Image: Hobject,
12620        Region: *mut Hobject,
12621        Method: Htuple,
12622        LightDark: Htuple,
12623        GenParamName: Htuple,
12624        GenParamValue: Htuple,
12625    ) -> Herror;
12626}
12627unsafe extern "C" {
12628    pub fn local_threshold(
12629        Image: Hobject,
12630        Region: *mut Hobject,
12631        Method: *const ::std::os::raw::c_char,
12632        LightDark: *const ::std::os::raw::c_char,
12633        GenParamName: *const ::std::os::raw::c_char,
12634        GenParamValue: Hlong,
12635    ) -> Herror;
12636}
12637unsafe extern "C" {
12638    pub fn T_var_threshold(
12639        Image: Hobject,
12640        Region: *mut Hobject,
12641        MaskWidth: Htuple,
12642        MaskHeight: Htuple,
12643        StdDevScale: Htuple,
12644        AbsThreshold: Htuple,
12645        LightDark: Htuple,
12646    ) -> Herror;
12647}
12648unsafe extern "C" {
12649    pub fn var_threshold(
12650        Image: Hobject,
12651        Region: *mut Hobject,
12652        MaskWidth: Hlong,
12653        MaskHeight: Hlong,
12654        StdDevScale: f64,
12655        AbsThreshold: f64,
12656        LightDark: *const ::std::os::raw::c_char,
12657    ) -> Herror;
12658}
12659unsafe extern "C" {
12660    pub fn T_dyn_threshold(
12661        OrigImage: Hobject,
12662        ThresholdImage: Hobject,
12663        RegionDynThresh: *mut Hobject,
12664        Offset: Htuple,
12665        LightDark: Htuple,
12666    ) -> Herror;
12667}
12668unsafe extern "C" {
12669    pub fn dyn_threshold(
12670        OrigImage: Hobject,
12671        ThresholdImage: Hobject,
12672        RegionDynThresh: *mut Hobject,
12673        Offset: f64,
12674        LightDark: *const ::std::os::raw::c_char,
12675    ) -> Herror;
12676}
12677unsafe extern "C" {
12678    pub fn T_threshold(
12679        Image: Hobject,
12680        Region: *mut Hobject,
12681        MinGray: Htuple,
12682        MaxGray: Htuple,
12683    ) -> Herror;
12684}
12685unsafe extern "C" {
12686    pub fn threshold(Image: Hobject, Region: *mut Hobject, MinGray: f64, MaxGray: f64) -> Herror;
12687}
12688unsafe extern "C" {
12689    pub fn T_threshold_sub_pix(Image: Hobject, Border: *mut Hobject, Threshold: Htuple) -> Herror;
12690}
12691unsafe extern "C" {
12692    pub fn threshold_sub_pix(Image: Hobject, Border: *mut Hobject, Threshold: f64) -> Herror;
12693}
12694unsafe extern "C" {
12695    pub fn T_regiongrowing_n(
12696        MultiChannelImage: Hobject,
12697        Regions: *mut Hobject,
12698        Metric: Htuple,
12699        MinTolerance: Htuple,
12700        MaxTolerance: Htuple,
12701        MinSize: Htuple,
12702    ) -> Herror;
12703}
12704unsafe extern "C" {
12705    pub fn regiongrowing_n(
12706        MultiChannelImage: Hobject,
12707        Regions: *mut Hobject,
12708        Metric: *const ::std::os::raw::c_char,
12709        MinTolerance: f64,
12710        MaxTolerance: f64,
12711        MinSize: Hlong,
12712    ) -> Herror;
12713}
12714unsafe extern "C" {
12715    pub fn T_regiongrowing(
12716        Image: Hobject,
12717        Regions: *mut Hobject,
12718        RasterHeight: Htuple,
12719        RasterWidth: Htuple,
12720        Tolerance: Htuple,
12721        MinSize: Htuple,
12722    ) -> Herror;
12723}
12724unsafe extern "C" {
12725    pub fn regiongrowing(
12726        Image: Hobject,
12727        Regions: *mut Hobject,
12728        RasterHeight: Hlong,
12729        RasterWidth: Hlong,
12730        Tolerance: f64,
12731        MinSize: Hlong,
12732    ) -> Herror;
12733}
12734unsafe extern "C" {
12735    pub fn T_regiongrowing_mean(
12736        Image: Hobject,
12737        Regions: *mut Hobject,
12738        StartRows: Htuple,
12739        StartColumns: Htuple,
12740        Tolerance: Htuple,
12741        MinSize: Htuple,
12742    ) -> Herror;
12743}
12744unsafe extern "C" {
12745    pub fn regiongrowing_mean(
12746        Image: Hobject,
12747        Regions: *mut Hobject,
12748        StartRows: Hlong,
12749        StartColumns: Hlong,
12750        Tolerance: f64,
12751        MinSize: Hlong,
12752    ) -> Herror;
12753}
12754unsafe extern "C" {
12755    pub fn T_pouring(
12756        Image: Hobject,
12757        Regions: *mut Hobject,
12758        Mode: Htuple,
12759        MinGray: Htuple,
12760        MaxGray: Htuple,
12761    ) -> Herror;
12762}
12763unsafe extern "C" {
12764    pub fn pouring(
12765        Image: Hobject,
12766        Regions: *mut Hobject,
12767        Mode: *const ::std::os::raw::c_char,
12768        MinGray: Hlong,
12769        MaxGray: Hlong,
12770    ) -> Herror;
12771}
12772unsafe extern "C" {
12773    pub fn T_watersheds_threshold(
12774        Image: Hobject,
12775        Basins: *mut Hobject,
12776        Threshold: Htuple,
12777    ) -> Herror;
12778}
12779unsafe extern "C" {
12780    pub fn watersheds_threshold(Image: Hobject, Basins: *mut Hobject, Threshold: Hlong) -> Herror;
12781}
12782unsafe extern "C" {
12783    pub fn T_watersheds(Image: Hobject, Basins: *mut Hobject, Watersheds: *mut Hobject) -> Herror;
12784}
12785unsafe extern "C" {
12786    pub fn watersheds(Image: Hobject, Basins: *mut Hobject, Watersheds: *mut Hobject) -> Herror;
12787}
12788unsafe extern "C" {
12789    pub fn T_zero_crossing(Image: Hobject, RegionCrossing: *mut Hobject) -> Herror;
12790}
12791unsafe extern "C" {
12792    pub fn zero_crossing(Image: Hobject, RegionCrossing: *mut Hobject) -> Herror;
12793}
12794unsafe extern "C" {
12795    pub fn T_zero_crossing_sub_pix(Image: Hobject, ZeroCrossings: *mut Hobject) -> Herror;
12796}
12797unsafe extern "C" {
12798    pub fn zero_crossing_sub_pix(Image: Hobject, ZeroCrossings: *mut Hobject) -> Herror;
12799}
12800unsafe extern "C" {
12801    pub fn T_dual_threshold(
12802        Image: Hobject,
12803        RegionCrossings: *mut Hobject,
12804        MinSize: Htuple,
12805        MinGray: Htuple,
12806        Threshold: Htuple,
12807    ) -> Herror;
12808}
12809unsafe extern "C" {
12810    pub fn dual_threshold(
12811        Image: Hobject,
12812        RegionCrossings: *mut Hobject,
12813        MinSize: Hlong,
12814        MinGray: f64,
12815        Threshold: f64,
12816    ) -> Herror;
12817}
12818unsafe extern "C" {
12819    pub fn T_expand_line(
12820        Image: Hobject,
12821        RegionExpand: *mut Hobject,
12822        Coordinate: Htuple,
12823        ExpandType: Htuple,
12824        RowColumn: Htuple,
12825        Threshold: Htuple,
12826    ) -> Herror;
12827}
12828unsafe extern "C" {
12829    pub fn expand_line(
12830        Image: Hobject,
12831        RegionExpand: *mut Hobject,
12832        Coordinate: Hlong,
12833        ExpandType: *const ::std::os::raw::c_char,
12834        RowColumn: *const ::std::os::raw::c_char,
12835        Threshold: f64,
12836    ) -> Herror;
12837}
12838unsafe extern "C" {
12839    pub fn T_local_min(Image: Hobject, LocalMinima: *mut Hobject) -> Herror;
12840}
12841unsafe extern "C" {
12842    pub fn local_min(Image: Hobject, LocalMinima: *mut Hobject) -> Herror;
12843}
12844unsafe extern "C" {
12845    pub fn T_lowlands(Image: Hobject, Lowlands: *mut Hobject) -> Herror;
12846}
12847unsafe extern "C" {
12848    pub fn lowlands(Image: Hobject, Lowlands: *mut Hobject) -> Herror;
12849}
12850unsafe extern "C" {
12851    pub fn T_lowlands_center(Image: Hobject, Lowlands: *mut Hobject) -> Herror;
12852}
12853unsafe extern "C" {
12854    pub fn lowlands_center(Image: Hobject, Lowlands: *mut Hobject) -> Herror;
12855}
12856unsafe extern "C" {
12857    pub fn T_local_max(Image: Hobject, LocalMaxima: *mut Hobject) -> Herror;
12858}
12859unsafe extern "C" {
12860    pub fn local_max(Image: Hobject, LocalMaxima: *mut Hobject) -> Herror;
12861}
12862unsafe extern "C" {
12863    pub fn T_plateaus(Image: Hobject, Plateaus: *mut Hobject) -> Herror;
12864}
12865unsafe extern "C" {
12866    pub fn plateaus(Image: Hobject, Plateaus: *mut Hobject) -> Herror;
12867}
12868unsafe extern "C" {
12869    pub fn T_plateaus_center(Image: Hobject, Plateaus: *mut Hobject) -> Herror;
12870}
12871unsafe extern "C" {
12872    pub fn plateaus_center(Image: Hobject, Plateaus: *mut Hobject) -> Herror;
12873}
12874unsafe extern "C" {
12875    pub fn T_histo_to_thresh(
12876        Histogramm: Htuple,
12877        Sigma: Htuple,
12878        MinThresh: *mut Htuple,
12879        MaxThresh: *mut Htuple,
12880    ) -> Herror;
12881}
12882unsafe extern "C" {
12883    pub fn T_auto_threshold(Image: Hobject, Regions: *mut Hobject, Sigma: Htuple) -> Herror;
12884}
12885unsafe extern "C" {
12886    pub fn auto_threshold(Image: Hobject, Regions: *mut Hobject, Sigma: f64) -> Herror;
12887}
12888unsafe extern "C" {
12889    pub fn T_bin_threshold(Image: Hobject, Region: *mut Hobject) -> Herror;
12890}
12891unsafe extern "C" {
12892    pub fn bin_threshold(Image: Hobject, Region: *mut Hobject) -> Herror;
12893}
12894unsafe extern "C" {
12895    pub fn T_fast_threshold(
12896        Image: Hobject,
12897        Region: *mut Hobject,
12898        MinGray: Htuple,
12899        MaxGray: Htuple,
12900        MinSize: Htuple,
12901    ) -> Herror;
12902}
12903unsafe extern "C" {
12904    pub fn fast_threshold(
12905        Image: Hobject,
12906        Region: *mut Hobject,
12907        MinGray: f64,
12908        MaxGray: f64,
12909        MinSize: Hlong,
12910    ) -> Herror;
12911}
12912unsafe extern "C" {
12913    pub fn T_polar_trans_region_inv(
12914        PolarRegion: Hobject,
12915        XYTransRegion: *mut Hobject,
12916        Row: Htuple,
12917        Column: Htuple,
12918        AngleStart: Htuple,
12919        AngleEnd: Htuple,
12920        RadiusStart: Htuple,
12921        RadiusEnd: Htuple,
12922        WidthIn: Htuple,
12923        HeightIn: Htuple,
12924        Width: Htuple,
12925        Height: Htuple,
12926        Interpolation: Htuple,
12927    ) -> Herror;
12928}
12929unsafe extern "C" {
12930    pub fn polar_trans_region_inv(
12931        PolarRegion: Hobject,
12932        XYTransRegion: *mut Hobject,
12933        Row: f64,
12934        Column: f64,
12935        AngleStart: f64,
12936        AngleEnd: f64,
12937        RadiusStart: f64,
12938        RadiusEnd: f64,
12939        WidthIn: Hlong,
12940        HeightIn: Hlong,
12941        Width: Hlong,
12942        Height: Hlong,
12943        Interpolation: *const ::std::os::raw::c_char,
12944    ) -> Herror;
12945}
12946unsafe extern "C" {
12947    pub fn T_polar_trans_region(
12948        Region: Hobject,
12949        PolarTransRegion: *mut Hobject,
12950        Row: Htuple,
12951        Column: Htuple,
12952        AngleStart: Htuple,
12953        AngleEnd: Htuple,
12954        RadiusStart: Htuple,
12955        RadiusEnd: Htuple,
12956        Width: Htuple,
12957        Height: Htuple,
12958        Interpolation: Htuple,
12959    ) -> Herror;
12960}
12961unsafe extern "C" {
12962    pub fn polar_trans_region(
12963        Region: Hobject,
12964        PolarTransRegion: *mut Hobject,
12965        Row: f64,
12966        Column: f64,
12967        AngleStart: f64,
12968        AngleEnd: f64,
12969        RadiusStart: f64,
12970        RadiusEnd: f64,
12971        Width: Hlong,
12972        Height: Hlong,
12973        Interpolation: *const ::std::os::raw::c_char,
12974    ) -> Herror;
12975}
12976unsafe extern "C" {
12977    pub fn T_merge_regions_line_scan(
12978        CurrRegions: Hobject,
12979        PrevRegions: Hobject,
12980        CurrMergedRegions: *mut Hobject,
12981        PrevMergedRegions: *mut Hobject,
12982        ImageHeight: Htuple,
12983        MergeBorder: Htuple,
12984        MaxImagesRegion: Htuple,
12985    ) -> Herror;
12986}
12987unsafe extern "C" {
12988    pub fn merge_regions_line_scan(
12989        CurrRegions: Hobject,
12990        PrevRegions: Hobject,
12991        CurrMergedRegions: *mut Hobject,
12992        PrevMergedRegions: *mut Hobject,
12993        ImageHeight: Hlong,
12994        MergeBorder: *const ::std::os::raw::c_char,
12995        MaxImagesRegion: Hlong,
12996    ) -> Herror;
12997}
12998unsafe extern "C" {
12999    pub fn T_partition_rectangle(
13000        Region: Hobject,
13001        Partitioned: *mut Hobject,
13002        Width: Htuple,
13003        Height: Htuple,
13004    ) -> Herror;
13005}
13006unsafe extern "C" {
13007    pub fn partition_rectangle(
13008        Region: Hobject,
13009        Partitioned: *mut Hobject,
13010        Width: f64,
13011        Height: f64,
13012    ) -> Herror;
13013}
13014unsafe extern "C" {
13015    pub fn T_partition_dynamic(
13016        Region: Hobject,
13017        Partitioned: *mut Hobject,
13018        Distance: Htuple,
13019        Percent: Htuple,
13020    ) -> Herror;
13021}
13022unsafe extern "C" {
13023    pub fn partition_dynamic(
13024        Region: Hobject,
13025        Partitioned: *mut Hobject,
13026        Distance: f64,
13027        Percent: f64,
13028    ) -> Herror;
13029}
13030unsafe extern "C" {
13031    pub fn T_region_to_label(
13032        Region: Hobject,
13033        ImageLabel: *mut Hobject,
13034        Type: Htuple,
13035        Width: Htuple,
13036        Height: Htuple,
13037    ) -> Herror;
13038}
13039unsafe extern "C" {
13040    pub fn region_to_label(
13041        Region: Hobject,
13042        ImageLabel: *mut Hobject,
13043        Type: *const ::std::os::raw::c_char,
13044        Width: Hlong,
13045        Height: Hlong,
13046    ) -> Herror;
13047}
13048unsafe extern "C" {
13049    pub fn T_region_to_bin(
13050        Region: Hobject,
13051        BinImage: *mut Hobject,
13052        ForegroundGray: Htuple,
13053        BackgroundGray: Htuple,
13054        Width: Htuple,
13055        Height: Htuple,
13056    ) -> Herror;
13057}
13058unsafe extern "C" {
13059    pub fn region_to_bin(
13060        Region: Hobject,
13061        BinImage: *mut Hobject,
13062        ForegroundGray: Hlong,
13063        BackgroundGray: Hlong,
13064        Width: Hlong,
13065        Height: Hlong,
13066    ) -> Herror;
13067}
13068unsafe extern "C" {
13069    pub fn T_union2(Region1: Hobject, Region2: Hobject, RegionUnion: *mut Hobject) -> Herror;
13070}
13071unsafe extern "C" {
13072    pub fn union2(Region1: Hobject, Region2: Hobject, RegionUnion: *mut Hobject) -> Herror;
13073}
13074unsafe extern "C" {
13075    pub fn T_union1(Region: Hobject, RegionUnion: *mut Hobject) -> Herror;
13076}
13077unsafe extern "C" {
13078    pub fn union1(Region: Hobject, RegionUnion: *mut Hobject) -> Herror;
13079}
13080unsafe extern "C" {
13081    pub fn T_closest_point_transform(
13082        Region: Hobject,
13083        Distances: *mut Hobject,
13084        ClosestPoints: *mut Hobject,
13085        Metric: Htuple,
13086        Foreground: Htuple,
13087        ClosestPointMode: Htuple,
13088        Width: Htuple,
13089        Height: Htuple,
13090    ) -> Herror;
13091}
13092unsafe extern "C" {
13093    pub fn closest_point_transform(
13094        Region: Hobject,
13095        Distances: *mut Hobject,
13096        ClosestPoints: *mut Hobject,
13097        Metric: *const ::std::os::raw::c_char,
13098        Foreground: *const ::std::os::raw::c_char,
13099        ClosestPointMode: *const ::std::os::raw::c_char,
13100        Width: Hlong,
13101        Height: Hlong,
13102    ) -> Herror;
13103}
13104unsafe extern "C" {
13105    pub fn T_distance_transform(
13106        Region: Hobject,
13107        DistanceImage: *mut Hobject,
13108        Metric: Htuple,
13109        Foreground: Htuple,
13110        Width: Htuple,
13111        Height: Htuple,
13112    ) -> Herror;
13113}
13114unsafe extern "C" {
13115    pub fn distance_transform(
13116        Region: Hobject,
13117        DistanceImage: *mut Hobject,
13118        Metric: *const ::std::os::raw::c_char,
13119        Foreground: *const ::std::os::raw::c_char,
13120        Width: Hlong,
13121        Height: Hlong,
13122    ) -> Herror;
13123}
13124unsafe extern "C" {
13125    pub fn T_skeleton(Region: Hobject, Skeleton: *mut Hobject) -> Herror;
13126}
13127unsafe extern "C" {
13128    pub fn skeleton(Region: Hobject, Skeleton: *mut Hobject) -> Herror;
13129}
13130unsafe extern "C" {
13131    pub fn T_projective_trans_region(
13132        Regions: Hobject,
13133        TransRegions: *mut Hobject,
13134        HomMat2D: Htuple,
13135        Interpolation: Htuple,
13136    ) -> Herror;
13137}
13138unsafe extern "C" {
13139    pub fn T_affine_trans_region(
13140        Region: Hobject,
13141        RegionAffineTrans: *mut Hobject,
13142        HomMat2D: Htuple,
13143        Interpolate: Htuple,
13144    ) -> Herror;
13145}
13146unsafe extern "C" {
13147    pub fn T_mirror_region(
13148        Region: Hobject,
13149        RegionMirror: *mut Hobject,
13150        Mode: Htuple,
13151        WidthHeight: Htuple,
13152    ) -> Herror;
13153}
13154unsafe extern "C" {
13155    pub fn mirror_region(
13156        Region: Hobject,
13157        RegionMirror: *mut Hobject,
13158        Mode: *const ::std::os::raw::c_char,
13159        WidthHeight: Hlong,
13160    ) -> Herror;
13161}
13162unsafe extern "C" {
13163    pub fn T_zoom_region(
13164        Region: Hobject,
13165        RegionZoom: *mut Hobject,
13166        ScaleWidth: Htuple,
13167        ScaleHeight: Htuple,
13168    ) -> Herror;
13169}
13170unsafe extern "C" {
13171    pub fn zoom_region(
13172        Region: Hobject,
13173        RegionZoom: *mut Hobject,
13174        ScaleWidth: f64,
13175        ScaleHeight: f64,
13176    ) -> Herror;
13177}
13178unsafe extern "C" {
13179    pub fn T_move_region(
13180        Region: Hobject,
13181        RegionMoved: *mut Hobject,
13182        Row: Htuple,
13183        Column: Htuple,
13184    ) -> Herror;
13185}
13186unsafe extern "C" {
13187    pub fn move_region(
13188        Region: Hobject,
13189        RegionMoved: *mut Hobject,
13190        Row: Hlong,
13191        Column: Hlong,
13192    ) -> Herror;
13193}
13194unsafe extern "C" {
13195    pub fn T_junctions_skeleton(
13196        Region: Hobject,
13197        EndPoints: *mut Hobject,
13198        JuncPoints: *mut Hobject,
13199    ) -> Herror;
13200}
13201unsafe extern "C" {
13202    pub fn junctions_skeleton(
13203        Region: Hobject,
13204        EndPoints: *mut Hobject,
13205        JuncPoints: *mut Hobject,
13206    ) -> Herror;
13207}
13208unsafe extern "C" {
13209    pub fn T_intersection(
13210        Region1: Hobject,
13211        Region2: Hobject,
13212        RegionIntersection: *mut Hobject,
13213    ) -> Herror;
13214}
13215unsafe extern "C" {
13216    pub fn intersection(
13217        Region1: Hobject,
13218        Region2: Hobject,
13219        RegionIntersection: *mut Hobject,
13220    ) -> Herror;
13221}
13222unsafe extern "C" {
13223    pub fn T_interjacent(Region: Hobject, RegionInterjacent: *mut Hobject, Mode: Htuple) -> Herror;
13224}
13225unsafe extern "C" {
13226    pub fn interjacent(
13227        Region: Hobject,
13228        RegionInterjacent: *mut Hobject,
13229        Mode: *const ::std::os::raw::c_char,
13230    ) -> Herror;
13231}
13232unsafe extern "C" {
13233    pub fn T_fill_up(Region: Hobject, RegionFillUp: *mut Hobject) -> Herror;
13234}
13235unsafe extern "C" {
13236    pub fn fill_up(Region: Hobject, RegionFillUp: *mut Hobject) -> Herror;
13237}
13238unsafe extern "C" {
13239    pub fn T_fill_up_shape(
13240        Region: Hobject,
13241        RegionFillUp: *mut Hobject,
13242        Feature: Htuple,
13243        Min: Htuple,
13244        Max: Htuple,
13245    ) -> Herror;
13246}
13247unsafe extern "C" {
13248    pub fn fill_up_shape(
13249        Region: Hobject,
13250        RegionFillUp: *mut Hobject,
13251        Feature: *const ::std::os::raw::c_char,
13252        Min: f64,
13253        Max: f64,
13254    ) -> Herror;
13255}
13256unsafe extern "C" {
13257    pub fn T_expand_region(
13258        Regions: Hobject,
13259        ForbiddenArea: Hobject,
13260        RegionExpanded: *mut Hobject,
13261        Iterations: Htuple,
13262        Mode: Htuple,
13263    ) -> Herror;
13264}
13265unsafe extern "C" {
13266    pub fn expand_region(
13267        Regions: Hobject,
13268        ForbiddenArea: Hobject,
13269        RegionExpanded: *mut Hobject,
13270        Iterations: Hlong,
13271        Mode: *const ::std::os::raw::c_char,
13272    ) -> Herror;
13273}
13274unsafe extern "C" {
13275    pub fn T_clip_region_rel(
13276        Region: Hobject,
13277        RegionClipped: *mut Hobject,
13278        Top: Htuple,
13279        Bottom: Htuple,
13280        Left: Htuple,
13281        Right: Htuple,
13282    ) -> Herror;
13283}
13284unsafe extern "C" {
13285    pub fn clip_region_rel(
13286        Region: Hobject,
13287        RegionClipped: *mut Hobject,
13288        Top: Hlong,
13289        Bottom: Hlong,
13290        Left: Hlong,
13291        Right: Hlong,
13292    ) -> Herror;
13293}
13294unsafe extern "C" {
13295    pub fn T_clip_region(
13296        Region: Hobject,
13297        RegionClipped: *mut Hobject,
13298        Row1: Htuple,
13299        Column1: Htuple,
13300        Row2: Htuple,
13301        Column2: Htuple,
13302    ) -> Herror;
13303}
13304unsafe extern "C" {
13305    pub fn clip_region(
13306        Region: Hobject,
13307        RegionClipped: *mut Hobject,
13308        Row1: Hlong,
13309        Column1: Hlong,
13310        Row2: Hlong,
13311        Column2: Hlong,
13312    ) -> Herror;
13313}
13314unsafe extern "C" {
13315    pub fn T_rank_region(
13316        Region: Hobject,
13317        RegionCount: *mut Hobject,
13318        Width: Htuple,
13319        Height: Htuple,
13320        Number: Htuple,
13321    ) -> Herror;
13322}
13323unsafe extern "C" {
13324    pub fn rank_region(
13325        Region: Hobject,
13326        RegionCount: *mut Hobject,
13327        Width: Hlong,
13328        Height: Hlong,
13329        Number: Hlong,
13330    ) -> Herror;
13331}
13332unsafe extern "C" {
13333    pub fn T_connection(Region: Hobject, ConnectedRegions: *mut Hobject) -> Herror;
13334}
13335unsafe extern "C" {
13336    pub fn connection(Region: Hobject, ConnectedRegions: *mut Hobject) -> Herror;
13337}
13338unsafe extern "C" {
13339    pub fn T_symm_difference(
13340        Region1: Hobject,
13341        Region2: Hobject,
13342        RegionDifference: *mut Hobject,
13343    ) -> Herror;
13344}
13345unsafe extern "C" {
13346    pub fn symm_difference(
13347        Region1: Hobject,
13348        Region2: Hobject,
13349        RegionDifference: *mut Hobject,
13350    ) -> Herror;
13351}
13352unsafe extern "C" {
13353    pub fn T_difference(Region: Hobject, Sub: Hobject, RegionDifference: *mut Hobject) -> Herror;
13354}
13355unsafe extern "C" {
13356    pub fn difference(Region: Hobject, Sub: Hobject, RegionDifference: *mut Hobject) -> Herror;
13357}
13358unsafe extern "C" {
13359    pub fn T_complement(Region: Hobject, RegionComplement: *mut Hobject) -> Herror;
13360}
13361unsafe extern "C" {
13362    pub fn complement(Region: Hobject, RegionComplement: *mut Hobject) -> Herror;
13363}
13364unsafe extern "C" {
13365    pub fn T_background_seg(Foreground: Hobject, BackgroundRegions: *mut Hobject) -> Herror;
13366}
13367unsafe extern "C" {
13368    pub fn background_seg(Foreground: Hobject, BackgroundRegions: *mut Hobject) -> Herror;
13369}
13370unsafe extern "C" {
13371    pub fn T_hamming_change_region(
13372        InputRegion: Hobject,
13373        OutputRegion: *mut Hobject,
13374        Width: Htuple,
13375        Height: Htuple,
13376        Distance: Htuple,
13377    ) -> Herror;
13378}
13379unsafe extern "C" {
13380    pub fn hamming_change_region(
13381        InputRegion: Hobject,
13382        OutputRegion: *mut Hobject,
13383        Width: Hlong,
13384        Height: Hlong,
13385        Distance: Hlong,
13386    ) -> Herror;
13387}
13388unsafe extern "C" {
13389    pub fn T_remove_noise_region(
13390        InputRegion: Hobject,
13391        OutputRegion: *mut Hobject,
13392        Type: Htuple,
13393    ) -> Herror;
13394}
13395unsafe extern "C" {
13396    pub fn remove_noise_region(
13397        InputRegion: Hobject,
13398        OutputRegion: *mut Hobject,
13399        Type: *const ::std::os::raw::c_char,
13400    ) -> Herror;
13401}
13402unsafe extern "C" {
13403    pub fn T_shape_trans(Region: Hobject, RegionTrans: *mut Hobject, Type: Htuple) -> Herror;
13404}
13405unsafe extern "C" {
13406    pub fn shape_trans(
13407        Region: Hobject,
13408        RegionTrans: *mut Hobject,
13409        Type: *const ::std::os::raw::c_char,
13410    ) -> Herror;
13411}
13412unsafe extern "C" {
13413    pub fn T_expand_gray(
13414        Regions: Hobject,
13415        Image: Hobject,
13416        ForbiddenArea: Hobject,
13417        RegionExpand: *mut Hobject,
13418        Iterations: Htuple,
13419        Mode: Htuple,
13420        Threshold: Htuple,
13421    ) -> Herror;
13422}
13423unsafe extern "C" {
13424    pub fn expand_gray(
13425        Regions: Hobject,
13426        Image: Hobject,
13427        ForbiddenArea: Hobject,
13428        RegionExpand: *mut Hobject,
13429        Iterations: *const ::std::os::raw::c_char,
13430        Mode: *const ::std::os::raw::c_char,
13431        Threshold: Hlong,
13432    ) -> Herror;
13433}
13434unsafe extern "C" {
13435    pub fn T_expand_gray_ref(
13436        Regions: Hobject,
13437        Image: Hobject,
13438        ForbiddenArea: Hobject,
13439        RegionExpand: *mut Hobject,
13440        Iterations: Htuple,
13441        Mode: Htuple,
13442        RefGray: Htuple,
13443        Threshold: Htuple,
13444    ) -> Herror;
13445}
13446unsafe extern "C" {
13447    pub fn expand_gray_ref(
13448        Regions: Hobject,
13449        Image: Hobject,
13450        ForbiddenArea: Hobject,
13451        RegionExpand: *mut Hobject,
13452        Iterations: *const ::std::os::raw::c_char,
13453        Mode: *const ::std::os::raw::c_char,
13454        RefGray: Hlong,
13455        Threshold: Hlong,
13456    ) -> Herror;
13457}
13458unsafe extern "C" {
13459    pub fn T_split_skeleton_lines(
13460        SkeletonRegion: Hobject,
13461        MaxDistance: Htuple,
13462        BeginRow: *mut Htuple,
13463        BeginCol: *mut Htuple,
13464        EndRow: *mut Htuple,
13465        EndCol: *mut Htuple,
13466    ) -> Herror;
13467}
13468unsafe extern "C" {
13469    pub fn T_split_skeleton_region(
13470        SkeletonRegion: Hobject,
13471        RegionLines: *mut Hobject,
13472        MaxDistance: Htuple,
13473    ) -> Herror;
13474}
13475unsafe extern "C" {
13476    pub fn split_skeleton_region(
13477        SkeletonRegion: Hobject,
13478        RegionLines: *mut Hobject,
13479        MaxDistance: Hlong,
13480    ) -> Herror;
13481}
13482unsafe extern "C" {
13483    pub fn T_gen_region_histo(
13484        Region: *mut Hobject,
13485        Histogram: Htuple,
13486        Row: Htuple,
13487        Column: Htuple,
13488        Scale: Htuple,
13489    ) -> Herror;
13490}
13491unsafe extern "C" {
13492    pub fn T_eliminate_runs(
13493        Region: Hobject,
13494        RegionClipped: *mut Hobject,
13495        ElimShorter: Htuple,
13496        ElimLonger: Htuple,
13497    ) -> Herror;
13498}
13499unsafe extern "C" {
13500    pub fn eliminate_runs(
13501        Region: Hobject,
13502        RegionClipped: *mut Hobject,
13503        ElimShorter: Hlong,
13504        ElimLonger: Hlong,
13505    ) -> Herror;
13506}
13507unsafe extern "C" {
13508    pub fn T_surface_normals_object_model_3d(
13509        ObjectModel3D: Htuple,
13510        Method: Htuple,
13511        GenParamName: Htuple,
13512        GenParamValue: Htuple,
13513        ObjectModel3DNormals: *mut Htuple,
13514    ) -> Herror;
13515}
13516unsafe extern "C" {
13517    pub fn T_smooth_object_model_3d(
13518        ObjectModel3D: Htuple,
13519        Method: Htuple,
13520        GenParamName: Htuple,
13521        GenParamValue: Htuple,
13522        SmoothObjectModel3D: *mut Htuple,
13523    ) -> Herror;
13524}
13525unsafe extern "C" {
13526    pub fn T_triangulate_object_model_3d(
13527        ObjectModel3D: Htuple,
13528        Method: Htuple,
13529        GenParamName: Htuple,
13530        GenParamValue: Htuple,
13531        TriangulatedObjectModel3D: *mut Htuple,
13532        Information: *mut Htuple,
13533    ) -> Herror;
13534}
13535unsafe extern "C" {
13536    pub fn T_clear_all_stereo_models() -> Herror;
13537}
13538unsafe extern "C" {
13539    pub fn clear_all_stereo_models() -> Herror;
13540}
13541unsafe extern "C" {
13542    pub fn T_clear_stereo_model(StereoModelID: Htuple) -> Herror;
13543}
13544unsafe extern "C" {
13545    pub fn clear_stereo_model(StereoModelID: Hlong) -> Herror;
13546}
13547unsafe extern "C" {
13548    pub fn T_reconstruct_points_stereo(
13549        StereoModelID: Htuple,
13550        Row: Htuple,
13551        Column: Htuple,
13552        CovIP: Htuple,
13553        CameraIdx: Htuple,
13554        PointIdx: Htuple,
13555        X: *mut Htuple,
13556        Y: *mut Htuple,
13557        Z: *mut Htuple,
13558        CovWP: *mut Htuple,
13559        PointIdxOut: *mut Htuple,
13560    ) -> Herror;
13561}
13562unsafe extern "C" {
13563    pub fn T_reconstruct_surface_stereo(
13564        Images: Hobject,
13565        StereoModelID: Htuple,
13566        ObjectModel3D: *mut Htuple,
13567    ) -> Herror;
13568}
13569unsafe extern "C" {
13570    pub fn reconstruct_surface_stereo(
13571        Images: Hobject,
13572        StereoModelID: Hlong,
13573        ObjectModel3D: *mut Hlong,
13574    ) -> Herror;
13575}
13576unsafe extern "C" {
13577    pub fn T_get_stereo_model_object(
13578        Object: *mut Hobject,
13579        StereoModelID: Htuple,
13580        PairIndex: Htuple,
13581        ObjectName: Htuple,
13582    ) -> Herror;
13583}
13584unsafe extern "C" {
13585    pub fn get_stereo_model_object(
13586        Object: *mut Hobject,
13587        StereoModelID: Hlong,
13588        PairIndex: Hlong,
13589        ObjectName: *const ::std::os::raw::c_char,
13590    ) -> Herror;
13591}
13592unsafe extern "C" {
13593    pub fn T_get_stereo_model_image_pairs(
13594        StereoModelID: Htuple,
13595        From: *mut Htuple,
13596        To: *mut Htuple,
13597    ) -> Herror;
13598}
13599unsafe extern "C" {
13600    pub fn T_set_stereo_model_image_pairs(
13601        StereoModelID: Htuple,
13602        From: Htuple,
13603        To: Htuple,
13604    ) -> Herror;
13605}
13606unsafe extern "C" {
13607    pub fn T_get_stereo_model_param(
13608        StereoModelID: Htuple,
13609        GenParamName: Htuple,
13610        GenParamValue: *mut Htuple,
13611    ) -> Herror;
13612}
13613unsafe extern "C" {
13614    pub fn T_set_stereo_model_param(
13615        StereoModelID: Htuple,
13616        GenParamName: Htuple,
13617        GenParamValue: Htuple,
13618    ) -> Herror;
13619}
13620unsafe extern "C" {
13621    pub fn T_create_stereo_model(
13622        CameraSetupModelID: Htuple,
13623        Method: Htuple,
13624        GenParamName: Htuple,
13625        GenParamValue: Htuple,
13626        StereoModelID: *mut Htuple,
13627    ) -> Herror;
13628}
13629unsafe extern "C" {
13630    pub fn T_get_message_queue_param(
13631        QueueHandle: Htuple,
13632        GenParamName: Htuple,
13633        GenParamValue: *mut Htuple,
13634    ) -> Herror;
13635}
13636unsafe extern "C" {
13637    pub fn get_message_queue_param(
13638        QueueHandle: Hlong,
13639        GenParamName: *const ::std::os::raw::c_char,
13640        GenParamValue: *mut ::std::os::raw::c_char,
13641    ) -> Herror;
13642}
13643unsafe extern "C" {
13644    pub fn T_set_message_queue_param(
13645        QueueHandle: Htuple,
13646        GenParamName: Htuple,
13647        GenParamValue: Htuple,
13648    ) -> Herror;
13649}
13650unsafe extern "C" {
13651    pub fn set_message_queue_param(
13652        QueueHandle: Hlong,
13653        GenParamName: *const ::std::os::raw::c_char,
13654        GenParamValue: *const ::std::os::raw::c_char,
13655    ) -> Herror;
13656}
13657unsafe extern "C" {
13658    pub fn T_dequeue_message(
13659        QueueHandle: Htuple,
13660        GenParamName: Htuple,
13661        GenParamValue: Htuple,
13662        MessageHandle: *mut Htuple,
13663    ) -> Herror;
13664}
13665unsafe extern "C" {
13666    pub fn dequeue_message(
13667        QueueHandle: Hlong,
13668        GenParamName: *const ::std::os::raw::c_char,
13669        GenParamValue: *const ::std::os::raw::c_char,
13670        MessageHandle: *mut Hlong,
13671    ) -> Herror;
13672}
13673unsafe extern "C" {
13674    pub fn T_enqueue_message(
13675        QueueHandle: Htuple,
13676        MessageHandle: Htuple,
13677        GenParamName: Htuple,
13678        GenParamValue: Htuple,
13679    ) -> Herror;
13680}
13681unsafe extern "C" {
13682    pub fn T_clear_message_queue(QueueHandle: Htuple) -> Herror;
13683}
13684unsafe extern "C" {
13685    pub fn clear_message_queue(QueueHandle: Hlong) -> Herror;
13686}
13687unsafe extern "C" {
13688    pub fn T_create_message_queue(QueueHandle: *mut Htuple) -> Herror;
13689}
13690unsafe extern "C" {
13691    pub fn create_message_queue(QueueHandle: *mut Hlong) -> Herror;
13692}
13693unsafe extern "C" {
13694    pub fn T_get_message_param(
13695        MessageHandle: Htuple,
13696        GenParamName: Htuple,
13697        Key: Htuple,
13698        GenParamValue: *mut Htuple,
13699    ) -> Herror;
13700}
13701unsafe extern "C" {
13702    pub fn get_message_param(
13703        MessageHandle: Hlong,
13704        GenParamName: *const ::std::os::raw::c_char,
13705        Key: *const ::std::os::raw::c_char,
13706        GenParamValue: *mut ::std::os::raw::c_char,
13707    ) -> Herror;
13708}
13709unsafe extern "C" {
13710    pub fn T_set_message_param(
13711        MessageHandle: Htuple,
13712        GenParamName: Htuple,
13713        Key: Htuple,
13714        GenParamValue: Htuple,
13715    ) -> Herror;
13716}
13717unsafe extern "C" {
13718    pub fn set_message_param(
13719        MessageHandle: Hlong,
13720        GenParamName: *const ::std::os::raw::c_char,
13721        Key: *const ::std::os::raw::c_char,
13722        GenParamValue: *const ::std::os::raw::c_char,
13723    ) -> Herror;
13724}
13725unsafe extern "C" {
13726    pub fn T_get_message_obj(
13727        ObjectData: *mut Hobject,
13728        MessageHandle: Htuple,
13729        Key: Htuple,
13730    ) -> Herror;
13731}
13732unsafe extern "C" {
13733    pub fn get_message_obj(
13734        ObjectData: *mut Hobject,
13735        MessageHandle: Hlong,
13736        Key: *const ::std::os::raw::c_char,
13737    ) -> Herror;
13738}
13739unsafe extern "C" {
13740    pub fn T_set_message_obj(ObjectData: Hobject, MessageHandle: Htuple, Key: Htuple) -> Herror;
13741}
13742unsafe extern "C" {
13743    pub fn set_message_obj(
13744        ObjectData: Hobject,
13745        MessageHandle: Hlong,
13746        Key: *const ::std::os::raw::c_char,
13747    ) -> Herror;
13748}
13749unsafe extern "C" {
13750    pub fn T_get_message_tuple(
13751        MessageHandle: Htuple,
13752        Key: Htuple,
13753        TupleData: *mut Htuple,
13754    ) -> Herror;
13755}
13756unsafe extern "C" {
13757    pub fn get_message_tuple(
13758        MessageHandle: Hlong,
13759        Key: *const ::std::os::raw::c_char,
13760        TupleData: *mut ::std::os::raw::c_char,
13761    ) -> Herror;
13762}
13763unsafe extern "C" {
13764    pub fn T_set_message_tuple(MessageHandle: Htuple, Key: Htuple, TupleData: Htuple) -> Herror;
13765}
13766unsafe extern "C" {
13767    pub fn T_clear_message(MessageHandle: Htuple) -> Herror;
13768}
13769unsafe extern "C" {
13770    pub fn clear_message(MessageHandle: Hlong) -> Herror;
13771}
13772unsafe extern "C" {
13773    pub fn T_create_message(MessageHandle: *mut Htuple) -> Herror;
13774}
13775unsafe extern "C" {
13776    pub fn create_message(MessageHandle: *mut Hlong) -> Herror;
13777}
13778unsafe extern "C" {
13779    pub fn T_clear_all_conditions() -> Herror;
13780}
13781unsafe extern "C" {
13782    pub fn clear_all_conditions() -> Herror;
13783}
13784unsafe extern "C" {
13785    pub fn T_clear_condition(ConditionHandle: Htuple) -> Herror;
13786}
13787unsafe extern "C" {
13788    pub fn clear_condition(ConditionHandle: Hlong) -> Herror;
13789}
13790unsafe extern "C" {
13791    pub fn T_broadcast_condition(ConditionHandle: Htuple) -> Herror;
13792}
13793unsafe extern "C" {
13794    pub fn broadcast_condition(ConditionHandle: Hlong) -> Herror;
13795}
13796unsafe extern "C" {
13797    pub fn T_signal_condition(ConditionHandle: Htuple) -> Herror;
13798}
13799unsafe extern "C" {
13800    pub fn signal_condition(ConditionHandle: Hlong) -> Herror;
13801}
13802unsafe extern "C" {
13803    pub fn T_timed_wait_condition(
13804        ConditionHandle: Htuple,
13805        MutexHandle: Htuple,
13806        Timeout: Htuple,
13807    ) -> Herror;
13808}
13809unsafe extern "C" {
13810    pub fn timed_wait_condition(
13811        ConditionHandle: Hlong,
13812        MutexHandle: Hlong,
13813        Timeout: Hlong,
13814    ) -> Herror;
13815}
13816unsafe extern "C" {
13817    pub fn T_wait_condition(ConditionHandle: Htuple, MutexHandle: Htuple) -> Herror;
13818}
13819unsafe extern "C" {
13820    pub fn wait_condition(ConditionHandle: Hlong, MutexHandle: Hlong) -> Herror;
13821}
13822unsafe extern "C" {
13823    pub fn T_create_condition(
13824        AttribName: Htuple,
13825        AttribValue: Htuple,
13826        ConditionHandle: *mut Htuple,
13827    ) -> Herror;
13828}
13829unsafe extern "C" {
13830    pub fn create_condition(
13831        AttribName: *const ::std::os::raw::c_char,
13832        AttribValue: *const ::std::os::raw::c_char,
13833        ConditionHandle: *mut Hlong,
13834    ) -> Herror;
13835}
13836unsafe extern "C" {
13837    pub fn T_clear_all_barriers() -> Herror;
13838}
13839unsafe extern "C" {
13840    pub fn clear_all_barriers() -> Herror;
13841}
13842unsafe extern "C" {
13843    pub fn T_clear_barrier(BarrierHandle: Htuple) -> Herror;
13844}
13845unsafe extern "C" {
13846    pub fn clear_barrier(BarrierHandle: Hlong) -> Herror;
13847}
13848unsafe extern "C" {
13849    pub fn T_wait_barrier(BarrierHandle: Htuple) -> Herror;
13850}
13851unsafe extern "C" {
13852    pub fn wait_barrier(BarrierHandle: Hlong) -> Herror;
13853}
13854unsafe extern "C" {
13855    pub fn T_create_barrier(
13856        AttribName: Htuple,
13857        AttribValue: Htuple,
13858        TeamSize: Htuple,
13859        BarrierHandle: *mut Htuple,
13860    ) -> Herror;
13861}
13862unsafe extern "C" {
13863    pub fn create_barrier(
13864        AttribName: *const ::std::os::raw::c_char,
13865        AttribValue: *const ::std::os::raw::c_char,
13866        TeamSize: Hlong,
13867        BarrierHandle: *mut Hlong,
13868    ) -> Herror;
13869}
13870unsafe extern "C" {
13871    pub fn T_clear_all_events() -> Herror;
13872}
13873unsafe extern "C" {
13874    pub fn clear_all_events() -> Herror;
13875}
13876unsafe extern "C" {
13877    pub fn T_clear_event(EventHandle: Htuple) -> Herror;
13878}
13879unsafe extern "C" {
13880    pub fn clear_event(EventHandle: Hlong) -> Herror;
13881}
13882unsafe extern "C" {
13883    pub fn T_signal_event(EventHandle: Htuple) -> Herror;
13884}
13885unsafe extern "C" {
13886    pub fn signal_event(EventHandle: Hlong) -> Herror;
13887}
13888unsafe extern "C" {
13889    pub fn T_try_wait_event(EventHandle: Htuple, Busy: *mut Htuple) -> Herror;
13890}
13891unsafe extern "C" {
13892    pub fn try_wait_event(EventHandle: Hlong, Busy: *mut Hlong) -> Herror;
13893}
13894unsafe extern "C" {
13895    pub fn T_wait_event(EventHandle: Htuple) -> Herror;
13896}
13897unsafe extern "C" {
13898    pub fn wait_event(EventHandle: Hlong) -> Herror;
13899}
13900unsafe extern "C" {
13901    pub fn T_create_event(
13902        AttribName: Htuple,
13903        AttribValue: Htuple,
13904        EventHandle: *mut Htuple,
13905    ) -> Herror;
13906}
13907unsafe extern "C" {
13908    pub fn create_event(
13909        AttribName: *const ::std::os::raw::c_char,
13910        AttribValue: *const ::std::os::raw::c_char,
13911        EventHandle: *mut Hlong,
13912    ) -> Herror;
13913}
13914unsafe extern "C" {
13915    pub fn T_clear_all_mutexes() -> Herror;
13916}
13917unsafe extern "C" {
13918    pub fn clear_all_mutexes() -> Herror;
13919}
13920unsafe extern "C" {
13921    pub fn T_clear_mutex(MutexHandle: Htuple) -> Herror;
13922}
13923unsafe extern "C" {
13924    pub fn clear_mutex(MutexHandle: Hlong) -> Herror;
13925}
13926unsafe extern "C" {
13927    pub fn T_unlock_mutex(MutexHandle: Htuple) -> Herror;
13928}
13929unsafe extern "C" {
13930    pub fn unlock_mutex(MutexHandle: Hlong) -> Herror;
13931}
13932unsafe extern "C" {
13933    pub fn T_try_lock_mutex(MutexHandle: Htuple, Busy: *mut Htuple) -> Herror;
13934}
13935unsafe extern "C" {
13936    pub fn try_lock_mutex(MutexHandle: Hlong, Busy: *mut Hlong) -> Herror;
13937}
13938unsafe extern "C" {
13939    pub fn T_lock_mutex(MutexHandle: Htuple) -> Herror;
13940}
13941unsafe extern "C" {
13942    pub fn lock_mutex(MutexHandle: Hlong) -> Herror;
13943}
13944unsafe extern "C" {
13945    pub fn T_create_mutex(
13946        AttribName: Htuple,
13947        AttribValue: Htuple,
13948        MutexHandle: *mut Htuple,
13949    ) -> Herror;
13950}
13951unsafe extern "C" {
13952    pub fn create_mutex(
13953        AttribName: *const ::std::os::raw::c_char,
13954        AttribValue: *const ::std::os::raw::c_char,
13955        MutexHandle: *mut Hlong,
13956    ) -> Herror;
13957}
13958unsafe extern "C" {
13959    pub fn T_get_threading_attrib(
13960        ThreadingHandle: Htuple,
13961        ThreadingClass: *mut Htuple,
13962        AttribName: *mut Htuple,
13963        AttribValue: *mut Htuple,
13964    ) -> Herror;
13965}
13966unsafe extern "C" {
13967    pub fn T_set_aop_info(
13968        OperatorName: Htuple,
13969        IndexName: Htuple,
13970        IndexValue: Htuple,
13971        InfoName: Htuple,
13972        InfoValue: Htuple,
13973    ) -> Herror;
13974}
13975unsafe extern "C" {
13976    pub fn set_aop_info(
13977        OperatorName: *const ::std::os::raw::c_char,
13978        IndexName: *const ::std::os::raw::c_char,
13979        IndexValue: *const ::std::os::raw::c_char,
13980        InfoName: *const ::std::os::raw::c_char,
13981        InfoValue: Hlong,
13982    ) -> Herror;
13983}
13984unsafe extern "C" {
13985    pub fn T_get_aop_info(
13986        OperatorName: Htuple,
13987        IndexName: Htuple,
13988        IndexValue: Htuple,
13989        InfoName: Htuple,
13990        InfoValue: *mut Htuple,
13991    ) -> Herror;
13992}
13993unsafe extern "C" {
13994    pub fn T_query_aop_info(
13995        OperatorName: Htuple,
13996        IndexName: Htuple,
13997        IndexValue: Htuple,
13998        Name: *mut Htuple,
13999        Value: *mut Htuple,
14000    ) -> Herror;
14001}
14002unsafe extern "C" {
14003    pub fn T_optimize_aop(
14004        OperatorName: Htuple,
14005        IconicType: Htuple,
14006        FileName: Htuple,
14007        GenParamName: Htuple,
14008        GenParamValue: Htuple,
14009    ) -> Herror;
14010}
14011unsafe extern "C" {
14012    pub fn T_write_aop_knowledge(
14013        FileName: Htuple,
14014        GenParamName: Htuple,
14015        GenParamValue: Htuple,
14016    ) -> Herror;
14017}
14018unsafe extern "C" {
14019    pub fn write_aop_knowledge(
14020        FileName: *const ::std::os::raw::c_char,
14021        GenParamName: *const ::std::os::raw::c_char,
14022        GenParamValue: *const ::std::os::raw::c_char,
14023    ) -> Herror;
14024}
14025unsafe extern "C" {
14026    pub fn T_read_aop_knowledge(
14027        FileName: Htuple,
14028        GenParamName: Htuple,
14029        GenParamValue: Htuple,
14030        Attributes: *mut Htuple,
14031        OperatorNames: *mut Htuple,
14032    ) -> Herror;
14033}
14034unsafe extern "C" {
14035    pub fn T_test_access(
14036        Object: Hobject,
14037        Dummy: *mut Hobject,
14038        NumReadChord: Htuple,
14039        NumCopyObj: Htuple,
14040        Write_chord: Htuple,
14041    ) -> Herror;
14042}
14043unsafe extern "C" {
14044    pub fn test_access(
14045        Object: Hobject,
14046        Dummy: *mut Hobject,
14047        NumReadChord: Hlong,
14048        NumCopyObj: Hlong,
14049        Write_chord: Hlong,
14050    ) -> Herror;
14051}
14052unsafe extern "C" {
14053    pub fn T_obj_diff(Objects: Hobject, ObjectsSub: Hobject, ObjectsDiff: *mut Hobject) -> Herror;
14054}
14055unsafe extern "C" {
14056    pub fn obj_diff(Objects: Hobject, ObjectsSub: Hobject, ObjectsDiff: *mut Hobject) -> Herror;
14057}
14058unsafe extern "C" {
14059    pub fn T_set_grayval(Image: Hobject, Row: Htuple, Column: Htuple, Grayval: Htuple) -> Herror;
14060}
14061unsafe extern "C" {
14062    pub fn set_grayval(Image: Hobject, Row: Hlong, Column: Hlong, Grayval: f64) -> Herror;
14063}
14064unsafe extern "C" {
14065    pub fn T_paint_xld(
14066        XLD: Hobject,
14067        Image: Hobject,
14068        ImageResult: *mut Hobject,
14069        Grayval: Htuple,
14070    ) -> Herror;
14071}
14072unsafe extern "C" {
14073    pub fn paint_xld(
14074        XLD: Hobject,
14075        Image: Hobject,
14076        ImageResult: *mut Hobject,
14077        Grayval: f64,
14078    ) -> Herror;
14079}
14080unsafe extern "C" {
14081    pub fn T_paint_region(
14082        Region: Hobject,
14083        Image: Hobject,
14084        ImageResult: *mut Hobject,
14085        Grayval: Htuple,
14086        Type: Htuple,
14087    ) -> Herror;
14088}
14089unsafe extern "C" {
14090    pub fn paint_region(
14091        Region: Hobject,
14092        Image: Hobject,
14093        ImageResult: *mut Hobject,
14094        Grayval: f64,
14095        Type: *const ::std::os::raw::c_char,
14096    ) -> Herror;
14097}
14098unsafe extern "C" {
14099    pub fn T_overpaint_region(
14100        Image: Hobject,
14101        Region: Hobject,
14102        Grayval: Htuple,
14103        Type: Htuple,
14104    ) -> Herror;
14105}
14106unsafe extern "C" {
14107    pub fn overpaint_region(
14108        Image: Hobject,
14109        Region: Hobject,
14110        Grayval: f64,
14111        Type: *const ::std::os::raw::c_char,
14112    ) -> Herror;
14113}
14114unsafe extern "C" {
14115    pub fn T_gen_image_proto(Image: Hobject, ImageCleared: *mut Hobject, Grayval: Htuple)
14116    -> Herror;
14117}
14118unsafe extern "C" {
14119    pub fn gen_image_proto(Image: Hobject, ImageCleared: *mut Hobject, Grayval: f64) -> Herror;
14120}
14121unsafe extern "C" {
14122    pub fn T_paint_gray(
14123        ImageSource: Hobject,
14124        ImageDestination: Hobject,
14125        MixedImage: *mut Hobject,
14126    ) -> Herror;
14127}
14128unsafe extern "C" {
14129    pub fn paint_gray(
14130        ImageSource: Hobject,
14131        ImageDestination: Hobject,
14132        MixedImage: *mut Hobject,
14133    ) -> Herror;
14134}
14135unsafe extern "C" {
14136    pub fn T_overpaint_gray(ImageDestination: Hobject, ImageSource: Hobject) -> Herror;
14137}
14138unsafe extern "C" {
14139    pub fn overpaint_gray(ImageDestination: Hobject, ImageSource: Hobject) -> Herror;
14140}
14141unsafe extern "C" {
14142    pub fn T_integer_to_obj(Objects: *mut Hobject, SurrogateTuple: Htuple) -> Herror;
14143}
14144unsafe extern "C" {
14145    pub fn integer_to_obj(Objects: *mut Hobject, SurrogateTuple: Hlong) -> Herror;
14146}
14147unsafe extern "C" {
14148    pub fn T_obj_to_integer(
14149        Objects: Hobject,
14150        Index: Htuple,
14151        Number: Htuple,
14152        SurrogateTuple: *mut Htuple,
14153    ) -> Herror;
14154}
14155unsafe extern "C" {
14156    pub fn obj_to_integer(
14157        Objects: Hobject,
14158        Index: Hlong,
14159        Number: Hlong,
14160        SurrogateTuple: *mut Hlong,
14161    ) -> Herror;
14162}
14163unsafe extern "C" {
14164    pub fn T_copy_obj(
14165        Objects: Hobject,
14166        ObjectsSelected: *mut Hobject,
14167        Index: Htuple,
14168        NumObj: Htuple,
14169    ) -> Herror;
14170}
14171unsafe extern "C" {
14172    pub fn copy_obj(
14173        Objects: Hobject,
14174        ObjectsSelected: *mut Hobject,
14175        Index: Hlong,
14176        NumObj: Hlong,
14177    ) -> Herror;
14178}
14179unsafe extern "C" {
14180    pub fn T_concat_obj(
14181        Objects1: Hobject,
14182        Objects2: Hobject,
14183        ObjectsConcat: *mut Hobject,
14184    ) -> Herror;
14185}
14186unsafe extern "C" {
14187    pub fn concat_obj(Objects1: Hobject, Objects2: Hobject, ObjectsConcat: *mut Hobject) -> Herror;
14188}
14189unsafe extern "C" {
14190    pub fn T_clear_obj(Objects: Hobject) -> Herror;
14191}
14192unsafe extern "C" {
14193    pub fn clear_obj(Objects: Hobject) -> Herror;
14194}
14195unsafe extern "C" {
14196    pub fn T_copy_image(Image: Hobject, DupImage: *mut Hobject) -> Herror;
14197}
14198unsafe extern "C" {
14199    pub fn copy_image(Image: Hobject, DupImage: *mut Hobject) -> Herror;
14200}
14201unsafe extern "C" {
14202    pub fn T_select_obj(Objects: Hobject, ObjectSelected: *mut Hobject, Index: Htuple) -> Herror;
14203}
14204unsafe extern "C" {
14205    pub fn select_obj(Objects: Hobject, ObjectSelected: *mut Hobject, Index: Hlong) -> Herror;
14206}
14207unsafe extern "C" {
14208    pub fn T_compare_obj(
14209        Objects1: Hobject,
14210        Objects2: Hobject,
14211        Epsilon: Htuple,
14212        IsEqual: *mut Htuple,
14213    ) -> Herror;
14214}
14215unsafe extern "C" {
14216    pub fn compare_obj(
14217        Objects1: Hobject,
14218        Objects2: Hobject,
14219        Epsilon: f64,
14220        IsEqual: *mut Hlong,
14221    ) -> Herror;
14222}
14223unsafe extern "C" {
14224    pub fn T_test_subset_region(
14225        Region1: Hobject,
14226        Region2: Hobject,
14227        IsSubset: *mut Htuple,
14228    ) -> Herror;
14229}
14230unsafe extern "C" {
14231    pub fn test_subset_region(Region1: Hobject, Region2: Hobject, IsSubset: *mut Hlong) -> Herror;
14232}
14233unsafe extern "C" {
14234    pub fn T_test_equal_region(
14235        Regions1: Hobject,
14236        Regions2: Hobject,
14237        IsEqual: *mut Htuple,
14238    ) -> Herror;
14239}
14240unsafe extern "C" {
14241    pub fn test_equal_region(Regions1: Hobject, Regions2: Hobject, IsEqual: *mut Hlong) -> Herror;
14242}
14243unsafe extern "C" {
14244    pub fn T_test_equal_obj(Objects1: Hobject, Objects2: Hobject, IsEqual: *mut Htuple) -> Herror;
14245}
14246unsafe extern "C" {
14247    pub fn test_equal_obj(Objects1: Hobject, Objects2: Hobject, IsEqual: *mut Hlong) -> Herror;
14248}
14249unsafe extern "C" {
14250    pub fn T_count_obj(Objects: Hobject, Number: *mut Htuple) -> Herror;
14251}
14252unsafe extern "C" {
14253    pub fn count_obj(Objects: Hobject, Number: *mut Hlong) -> Herror;
14254}
14255unsafe extern "C" {
14256    pub fn T_get_channel_info(
14257        Object: Hobject,
14258        Request: Htuple,
14259        Channel: Htuple,
14260        Information: *mut Htuple,
14261    ) -> Herror;
14262}
14263unsafe extern "C" {
14264    pub fn get_channel_info(
14265        Object: Hobject,
14266        Request: *const ::std::os::raw::c_char,
14267        Channel: Hlong,
14268        Information: *mut ::std::os::raw::c_char,
14269    ) -> Herror;
14270}
14271unsafe extern "C" {
14272    pub fn T_get_obj_class(Object: Hobject, Class: *mut Htuple) -> Herror;
14273}
14274unsafe extern "C" {
14275    pub fn get_obj_class(Object: Hobject, Class: *mut ::std::os::raw::c_char) -> Herror;
14276}
14277unsafe extern "C" {
14278    pub fn T_gen_image_interleaved(
14279        ImageRGB: *mut Hobject,
14280        PixelPointer: Htuple,
14281        ColorFormat: Htuple,
14282        OriginalWidth: Htuple,
14283        OriginalHeight: Htuple,
14284        Alignment: Htuple,
14285        Type: Htuple,
14286        ImageWidth: Htuple,
14287        ImageHeight: Htuple,
14288        StartRow: Htuple,
14289        StartColumn: Htuple,
14290        BitsPerChannel: Htuple,
14291        BitShift: Htuple,
14292    ) -> Herror;
14293}
14294unsafe extern "C" {
14295    pub fn gen_image_interleaved(
14296        ImageRGB: *mut Hobject,
14297        PixelPointer: Hlong,
14298        ColorFormat: *const ::std::os::raw::c_char,
14299        OriginalWidth: Hlong,
14300        OriginalHeight: Hlong,
14301        Alignment: Hlong,
14302        Type: *const ::std::os::raw::c_char,
14303        ImageWidth: Hlong,
14304        ImageHeight: Hlong,
14305        StartRow: Hlong,
14306        StartColumn: Hlong,
14307        BitsPerChannel: Hlong,
14308        BitShift: Hlong,
14309    ) -> Herror;
14310}
14311unsafe extern "C" {
14312    pub fn T_gen_region_polygon_xld(Polygon: Hobject, Region: *mut Hobject, Mode: Htuple)
14313    -> Herror;
14314}
14315unsafe extern "C" {
14316    pub fn gen_region_polygon_xld(
14317        Polygon: Hobject,
14318        Region: *mut Hobject,
14319        Mode: *const ::std::os::raw::c_char,
14320    ) -> Herror;
14321}
14322unsafe extern "C" {
14323    pub fn T_gen_region_contour_xld(Contour: Hobject, Region: *mut Hobject, Mode: Htuple)
14324    -> Herror;
14325}
14326unsafe extern "C" {
14327    pub fn gen_region_contour_xld(
14328        Contour: Hobject,
14329        Region: *mut Hobject,
14330        Mode: *const ::std::os::raw::c_char,
14331    ) -> Herror;
14332}
14333unsafe extern "C" {
14334    pub fn T_gen_region_polygon_filled(
14335        Region: *mut Hobject,
14336        Rows: Htuple,
14337        Columns: Htuple,
14338    ) -> Herror;
14339}
14340unsafe extern "C" {
14341    pub fn T_gen_region_polygon(Region: *mut Hobject, Rows: Htuple, Columns: Htuple) -> Herror;
14342}
14343unsafe extern "C" {
14344    pub fn T_gen_region_points(Region: *mut Hobject, Rows: Htuple, Columns: Htuple) -> Herror;
14345}
14346unsafe extern "C" {
14347    pub fn gen_region_points(Region: *mut Hobject, Rows: Hlong, Columns: Hlong) -> Herror;
14348}
14349unsafe extern "C" {
14350    pub fn T_gen_region_runs(
14351        Region: *mut Hobject,
14352        Row: Htuple,
14353        ColumnBegin: Htuple,
14354        ColumnEnd: Htuple,
14355    ) -> Herror;
14356}
14357unsafe extern "C" {
14358    pub fn gen_region_runs(
14359        Region: *mut Hobject,
14360        Row: Hlong,
14361        ColumnBegin: Hlong,
14362        ColumnEnd: Hlong,
14363    ) -> Herror;
14364}
14365unsafe extern "C" {
14366    pub fn T_gen_rectangle2(
14367        Rectangle: *mut Hobject,
14368        Row: Htuple,
14369        Column: Htuple,
14370        Phi: Htuple,
14371        Length1: Htuple,
14372        Length2: Htuple,
14373    ) -> Herror;
14374}
14375unsafe extern "C" {
14376    pub fn gen_rectangle2(
14377        Rectangle: *mut Hobject,
14378        Row: f64,
14379        Column: f64,
14380        Phi: f64,
14381        Length1: f64,
14382        Length2: f64,
14383    ) -> Herror;
14384}
14385unsafe extern "C" {
14386    pub fn T_gen_rectangle1(
14387        Rectangle: *mut Hobject,
14388        Row1: Htuple,
14389        Column1: Htuple,
14390        Row2: Htuple,
14391        Column2: Htuple,
14392    ) -> Herror;
14393}
14394unsafe extern "C" {
14395    pub fn gen_rectangle1(
14396        Rectangle: *mut Hobject,
14397        Row1: f64,
14398        Column1: f64,
14399        Row2: f64,
14400        Column2: f64,
14401    ) -> Herror;
14402}
14403unsafe extern "C" {
14404    pub fn T_gen_random_region(RegionRandom: *mut Hobject, Width: Htuple, Height: Htuple)
14405    -> Herror;
14406}
14407unsafe extern "C" {
14408    pub fn gen_random_region(RegionRandom: *mut Hobject, Width: Hlong, Height: Hlong) -> Herror;
14409}
14410unsafe extern "C" {
14411    pub fn T_gen_image3(
14412        ImageRGB: *mut Hobject,
14413        Type: Htuple,
14414        Width: Htuple,
14415        Height: Htuple,
14416        PixelPointerRed: Htuple,
14417        PixelPointerGreen: Htuple,
14418        PixelPointerBlue: Htuple,
14419    ) -> Herror;
14420}
14421unsafe extern "C" {
14422    pub fn gen_image3(
14423        ImageRGB: *mut Hobject,
14424        Type: *const ::std::os::raw::c_char,
14425        Width: Hlong,
14426        Height: Hlong,
14427        PixelPointerRed: Hlong,
14428        PixelPointerGreen: Hlong,
14429        PixelPointerBlue: Hlong,
14430    ) -> Herror;
14431}
14432unsafe extern "C" {
14433    pub fn T_gen_image1(
14434        Image: *mut Hobject,
14435        Type: Htuple,
14436        Width: Htuple,
14437        Height: Htuple,
14438        PixelPointer: Htuple,
14439    ) -> Herror;
14440}
14441unsafe extern "C" {
14442    pub fn gen_image1(
14443        Image: *mut Hobject,
14444        Type: *const ::std::os::raw::c_char,
14445        Width: Hlong,
14446        Height: Hlong,
14447        PixelPointer: Hlong,
14448    ) -> Herror;
14449}
14450unsafe extern "C" {
14451    pub fn T_gen_image_const(
14452        Image: *mut Hobject,
14453        Type: Htuple,
14454        Width: Htuple,
14455        Height: Htuple,
14456    ) -> Herror;
14457}
14458unsafe extern "C" {
14459    pub fn gen_image_const(
14460        Image: *mut Hobject,
14461        Type: *const ::std::os::raw::c_char,
14462        Width: Hlong,
14463        Height: Hlong,
14464    ) -> Herror;
14465}
14466unsafe extern "C" {
14467    pub fn T_gen_ellipse_sector(
14468        EllipseSector: *mut Hobject,
14469        Row: Htuple,
14470        Column: Htuple,
14471        Phi: Htuple,
14472        Radius1: Htuple,
14473        Radius2: Htuple,
14474        StartAngle: Htuple,
14475        EndAngle: Htuple,
14476    ) -> Herror;
14477}
14478unsafe extern "C" {
14479    pub fn gen_ellipse_sector(
14480        EllipseSector: *mut Hobject,
14481        Row: f64,
14482        Column: f64,
14483        Phi: f64,
14484        Radius1: f64,
14485        Radius2: f64,
14486        StartAngle: f64,
14487        EndAngle: f64,
14488    ) -> Herror;
14489}
14490unsafe extern "C" {
14491    pub fn T_gen_ellipse(
14492        Ellipse: *mut Hobject,
14493        Row: Htuple,
14494        Column: Htuple,
14495        Phi: Htuple,
14496        Radius1: Htuple,
14497        Radius2: Htuple,
14498    ) -> Herror;
14499}
14500unsafe extern "C" {
14501    pub fn gen_ellipse(
14502        Ellipse: *mut Hobject,
14503        Row: f64,
14504        Column: f64,
14505        Phi: f64,
14506        Radius1: f64,
14507        Radius2: f64,
14508    ) -> Herror;
14509}
14510unsafe extern "C" {
14511    pub fn T_gen_circle_sector(
14512        CircleSector: *mut Hobject,
14513        Row: Htuple,
14514        Column: Htuple,
14515        Radius: Htuple,
14516        StartAngle: Htuple,
14517        EndAngle: Htuple,
14518    ) -> Herror;
14519}
14520unsafe extern "C" {
14521    pub fn gen_circle_sector(
14522        CircleSector: *mut Hobject,
14523        Row: f64,
14524        Column: f64,
14525        Radius: f64,
14526        StartAngle: f64,
14527        EndAngle: f64,
14528    ) -> Herror;
14529}
14530unsafe extern "C" {
14531    pub fn T_gen_circle(
14532        Circle: *mut Hobject,
14533        Row: Htuple,
14534        Column: Htuple,
14535        Radius: Htuple,
14536    ) -> Herror;
14537}
14538unsafe extern "C" {
14539    pub fn gen_circle(Circle: *mut Hobject, Row: f64, Column: f64, Radius: f64) -> Herror;
14540}
14541unsafe extern "C" {
14542    pub fn T_gen_checker_region(
14543        RegionChecker: *mut Hobject,
14544        WidthRegion: Htuple,
14545        HeightRegion: Htuple,
14546        WidthPattern: Htuple,
14547        HeightPattern: Htuple,
14548    ) -> Herror;
14549}
14550unsafe extern "C" {
14551    pub fn gen_checker_region(
14552        RegionChecker: *mut Hobject,
14553        WidthRegion: Hlong,
14554        HeightRegion: Hlong,
14555        WidthPattern: Hlong,
14556        HeightPattern: Hlong,
14557    ) -> Herror;
14558}
14559unsafe extern "C" {
14560    pub fn T_gen_grid_region(
14561        RegionGrid: *mut Hobject,
14562        RowSteps: Htuple,
14563        ColumnSteps: Htuple,
14564        Type: Htuple,
14565        Width: Htuple,
14566        Height: Htuple,
14567    ) -> Herror;
14568}
14569unsafe extern "C" {
14570    pub fn gen_grid_region(
14571        RegionGrid: *mut Hobject,
14572        RowSteps: Hlong,
14573        ColumnSteps: Hlong,
14574        Type: *const ::std::os::raw::c_char,
14575        Width: Hlong,
14576        Height: Hlong,
14577    ) -> Herror;
14578}
14579unsafe extern "C" {
14580    pub fn T_gen_random_regions(
14581        Regions: *mut Hobject,
14582        Type: Htuple,
14583        WidthMin: Htuple,
14584        WidthMax: Htuple,
14585        HeightMin: Htuple,
14586        HeightMax: Htuple,
14587        PhiMin: Htuple,
14588        PhiMax: Htuple,
14589        NumRegions: Htuple,
14590        Width: Htuple,
14591        Height: Htuple,
14592    ) -> Herror;
14593}
14594unsafe extern "C" {
14595    pub fn gen_random_regions(
14596        Regions: *mut Hobject,
14597        Type: *const ::std::os::raw::c_char,
14598        WidthMin: f64,
14599        WidthMax: f64,
14600        HeightMin: f64,
14601        HeightMax: f64,
14602        PhiMin: f64,
14603        PhiMax: f64,
14604        NumRegions: Hlong,
14605        Width: Hlong,
14606        Height: Hlong,
14607    ) -> Herror;
14608}
14609unsafe extern "C" {
14610    pub fn T_gen_region_hline(
14611        Regions: *mut Hobject,
14612        Orientation: Htuple,
14613        Distance: Htuple,
14614    ) -> Herror;
14615}
14616unsafe extern "C" {
14617    pub fn gen_region_hline(Regions: *mut Hobject, Orientation: f64, Distance: f64) -> Herror;
14618}
14619unsafe extern "C" {
14620    pub fn T_gen_region_line(
14621        RegionLines: *mut Hobject,
14622        BeginRow: Htuple,
14623        BeginCol: Htuple,
14624        EndRow: Htuple,
14625        EndCol: Htuple,
14626    ) -> Herror;
14627}
14628unsafe extern "C" {
14629    pub fn gen_region_line(
14630        RegionLines: *mut Hobject,
14631        BeginRow: Hlong,
14632        BeginCol: Hlong,
14633        EndRow: Hlong,
14634        EndCol: Hlong,
14635    ) -> Herror;
14636}
14637unsafe extern "C" {
14638    pub fn T_gen_empty_obj(EmptyObject: *mut Hobject) -> Herror;
14639}
14640unsafe extern "C" {
14641    pub fn gen_empty_obj(EmptyObject: *mut Hobject) -> Herror;
14642}
14643unsafe extern "C" {
14644    pub fn T_gen_empty_region(EmptyRegion: *mut Hobject) -> Herror;
14645}
14646unsafe extern "C" {
14647    pub fn gen_empty_region(EmptyRegion: *mut Hobject) -> Herror;
14648}
14649unsafe extern "C" {
14650    pub fn T_gen_image_gray_ramp(
14651        ImageGrayRamp: *mut Hobject,
14652        Alpha: Htuple,
14653        Beta: Htuple,
14654        Mean: Htuple,
14655        Row: Htuple,
14656        Column: Htuple,
14657        Width: Htuple,
14658        Height: Htuple,
14659    ) -> Herror;
14660}
14661unsafe extern "C" {
14662    pub fn gen_image_gray_ramp(
14663        ImageGrayRamp: *mut Hobject,
14664        Alpha: f64,
14665        Beta: f64,
14666        Mean: f64,
14667        Row: Hlong,
14668        Column: Hlong,
14669        Width: Hlong,
14670        Height: Hlong,
14671    ) -> Herror;
14672}
14673unsafe extern "C" {
14674    pub fn T_gen_image3_extern(
14675        Image: *mut Hobject,
14676        Type: Htuple,
14677        Width: Htuple,
14678        Height: Htuple,
14679        PointerRed: Htuple,
14680        PointerGreen: Htuple,
14681        PointerBlue: Htuple,
14682        ClearProc: Htuple,
14683    ) -> Herror;
14684}
14685unsafe extern "C" {
14686    pub fn gen_image3_extern(
14687        Image: *mut Hobject,
14688        Type: *const ::std::os::raw::c_char,
14689        Width: Hlong,
14690        Height: Hlong,
14691        PointerRed: Hlong,
14692        PointerGreen: Hlong,
14693        PointerBlue: Hlong,
14694        ClearProc: Hlong,
14695    ) -> Herror;
14696}
14697unsafe extern "C" {
14698    pub fn T_gen_image1_extern(
14699        Image: *mut Hobject,
14700        Type: Htuple,
14701        Width: Htuple,
14702        Height: Htuple,
14703        PixelPointer: Htuple,
14704        ClearProc: Htuple,
14705    ) -> Herror;
14706}
14707unsafe extern "C" {
14708    pub fn gen_image1_extern(
14709        Image: *mut Hobject,
14710        Type: *const ::std::os::raw::c_char,
14711        Width: Hlong,
14712        Height: Hlong,
14713        PixelPointer: Hlong,
14714        ClearProc: Hlong,
14715    ) -> Herror;
14716}
14717unsafe extern "C" {
14718    pub fn T_gen_image1_rect(
14719        Image: *mut Hobject,
14720        PixelPointer: Htuple,
14721        Width: Htuple,
14722        Height: Htuple,
14723        VerticalPitch: Htuple,
14724        HorizontalBitPitch: Htuple,
14725        BitsPerPixel: Htuple,
14726        DoCopy: Htuple,
14727        ClearProc: Htuple,
14728    ) -> Herror;
14729}
14730unsafe extern "C" {
14731    pub fn gen_image1_rect(
14732        Image: *mut Hobject,
14733        PixelPointer: Hlong,
14734        Width: Hlong,
14735        Height: Hlong,
14736        VerticalPitch: Hlong,
14737        HorizontalBitPitch: Hlong,
14738        BitsPerPixel: Hlong,
14739        DoCopy: *const ::std::os::raw::c_char,
14740        ClearProc: Hlong,
14741    ) -> Herror;
14742}
14743unsafe extern "C" {
14744    pub fn T_get_image_pointer1_rect(
14745        Image: Hobject,
14746        PixelPointer: *mut Htuple,
14747        Width: *mut Htuple,
14748        Height: *mut Htuple,
14749        VerticalPitch: *mut Htuple,
14750        HorizontalBitPitch: *mut Htuple,
14751        BitsPerPixel: *mut Htuple,
14752    ) -> Herror;
14753}
14754unsafe extern "C" {
14755    pub fn get_image_pointer1_rect(
14756        Image: Hobject,
14757        PixelPointer: *mut Hlong,
14758        Width: *mut Hlong,
14759        Height: *mut Hlong,
14760        VerticalPitch: *mut Hlong,
14761        HorizontalBitPitch: *mut Hlong,
14762        BitsPerPixel: *mut Hlong,
14763    ) -> Herror;
14764}
14765unsafe extern "C" {
14766    pub fn T_get_image_pointer3(
14767        ImageRGB: Hobject,
14768        PointerRed: *mut Htuple,
14769        PointerGreen: *mut Htuple,
14770        PointerBlue: *mut Htuple,
14771        Type: *mut Htuple,
14772        Width: *mut Htuple,
14773        Height: *mut Htuple,
14774    ) -> Herror;
14775}
14776unsafe extern "C" {
14777    pub fn get_image_pointer3(
14778        ImageRGB: Hobject,
14779        PointerRed: *mut Hlong,
14780        PointerGreen: *mut Hlong,
14781        PointerBlue: *mut Hlong,
14782        Type: *mut ::std::os::raw::c_char,
14783        Width: *mut Hlong,
14784        Height: *mut Hlong,
14785    ) -> Herror;
14786}
14787unsafe extern "C" {
14788    pub fn T_get_image_pointer1(
14789        Image: Hobject,
14790        Pointer: *mut Htuple,
14791        Type: *mut Htuple,
14792        Width: *mut Htuple,
14793        Height: *mut Htuple,
14794    ) -> Herror;
14795}
14796unsafe extern "C" {
14797    pub fn get_image_pointer1(
14798        Image: Hobject,
14799        Pointer: *mut Hlong,
14800        Type: *mut ::std::os::raw::c_char,
14801        Width: *mut Hlong,
14802        Height: *mut Hlong,
14803    ) -> Herror;
14804}
14805unsafe extern "C" {
14806    pub fn T_get_image_type(Image: Hobject, Type: *mut Htuple) -> Herror;
14807}
14808unsafe extern "C" {
14809    pub fn get_image_type(Image: Hobject, Type: *mut ::std::os::raw::c_char) -> Herror;
14810}
14811unsafe extern "C" {
14812    pub fn T_get_image_size(Image: Hobject, Width: *mut Htuple, Height: *mut Htuple) -> Herror;
14813}
14814unsafe extern "C" {
14815    pub fn get_image_size(Image: Hobject, Width: *mut Hlong, Height: *mut Hlong) -> Herror;
14816}
14817unsafe extern "C" {
14818    pub fn T_get_image_time(
14819        Image: Hobject,
14820        MSecond: *mut Htuple,
14821        Second: *mut Htuple,
14822        Minute: *mut Htuple,
14823        Hour: *mut Htuple,
14824        Day: *mut Htuple,
14825        YDay: *mut Htuple,
14826        Month: *mut Htuple,
14827        Year: *mut Htuple,
14828    ) -> Herror;
14829}
14830unsafe extern "C" {
14831    pub fn get_image_time(
14832        Image: Hobject,
14833        MSecond: *mut Hlong,
14834        Second: *mut Hlong,
14835        Minute: *mut Hlong,
14836        Hour: *mut Hlong,
14837        Day: *mut Hlong,
14838        YDay: *mut Hlong,
14839        Month: *mut Hlong,
14840        Year: *mut Hlong,
14841    ) -> Herror;
14842}
14843unsafe extern "C" {
14844    pub fn T_get_grayval_interpolated(
14845        Image: Hobject,
14846        Row: Htuple,
14847        Column: Htuple,
14848        Interpolation: Htuple,
14849        Grayval: *mut Htuple,
14850    ) -> Herror;
14851}
14852unsafe extern "C" {
14853    pub fn get_grayval_interpolated(
14854        Image: Hobject,
14855        Row: f64,
14856        Column: f64,
14857        Interpolation: *const ::std::os::raw::c_char,
14858        Grayval: *mut f64,
14859    ) -> Herror;
14860}
14861unsafe extern "C" {
14862    pub fn T_get_grayval(
14863        Image: Hobject,
14864        Row: Htuple,
14865        Column: Htuple,
14866        Grayval: *mut Htuple,
14867    ) -> Herror;
14868}
14869unsafe extern "C" {
14870    pub fn T_get_region_thickness(
14871        Region: Hobject,
14872        Thickness: *mut Htuple,
14873        Histogramm: *mut Htuple,
14874    ) -> Herror;
14875}
14876unsafe extern "C" {
14877    pub fn T_get_region_polygon(
14878        Region: Hobject,
14879        Tolerance: Htuple,
14880        Rows: *mut Htuple,
14881        Columns: *mut Htuple,
14882    ) -> Herror;
14883}
14884unsafe extern "C" {
14885    pub fn T_get_region_points(Region: Hobject, Rows: *mut Htuple, Columns: *mut Htuple) -> Herror;
14886}
14887unsafe extern "C" {
14888    pub fn T_get_region_contour(Region: Hobject, Rows: *mut Htuple, Columns: *mut Htuple)
14889    -> Herror;
14890}
14891unsafe extern "C" {
14892    pub fn T_get_region_runs(
14893        Region: Hobject,
14894        Row: *mut Htuple,
14895        ColumnBegin: *mut Htuple,
14896        ColumnEnd: *mut Htuple,
14897    ) -> Herror;
14898}
14899unsafe extern "C" {
14900    pub fn T_get_region_chain(
14901        Region: Hobject,
14902        Row: *mut Htuple,
14903        Column: *mut Htuple,
14904        Chain: *mut Htuple,
14905    ) -> Herror;
14906}
14907unsafe extern "C" {
14908    pub fn T_get_region_convex(Region: Hobject, Rows: *mut Htuple, Columns: *mut Htuple) -> Herror;
14909}
14910unsafe extern "C" {
14911    pub fn T_do_ocv_simple(
14912        Pattern: Hobject,
14913        OCVHandle: Htuple,
14914        PatternName: Htuple,
14915        AdaptPos: Htuple,
14916        AdaptSize: Htuple,
14917        AdaptAngle: Htuple,
14918        AdaptGray: Htuple,
14919        Threshold: Htuple,
14920        Quality: *mut Htuple,
14921    ) -> Herror;
14922}
14923unsafe extern "C" {
14924    pub fn do_ocv_simple(
14925        Pattern: Hobject,
14926        OCVHandle: Hlong,
14927        PatternName: *const ::std::os::raw::c_char,
14928        AdaptPos: *const ::std::os::raw::c_char,
14929        AdaptSize: *const ::std::os::raw::c_char,
14930        AdaptAngle: *const ::std::os::raw::c_char,
14931        AdaptGray: *const ::std::os::raw::c_char,
14932        Threshold: f64,
14933        Quality: *mut f64,
14934    ) -> Herror;
14935}
14936unsafe extern "C" {
14937    pub fn T_traind_ocv_proj(
14938        Pattern: Hobject,
14939        OCVHandle: Htuple,
14940        Name: Htuple,
14941        Mode: Htuple,
14942    ) -> Herror;
14943}
14944unsafe extern "C" {
14945    pub fn traind_ocv_proj(
14946        Pattern: Hobject,
14947        OCVHandle: Hlong,
14948        Name: *const ::std::os::raw::c_char,
14949        Mode: *const ::std::os::raw::c_char,
14950    ) -> Herror;
14951}
14952unsafe extern "C" {
14953    pub fn T_deserialize_ocv(SerializedItemHandle: Htuple, OCVHandle: *mut Htuple) -> Herror;
14954}
14955unsafe extern "C" {
14956    pub fn deserialize_ocv(SerializedItemHandle: Hlong, OCVHandle: *mut Hlong) -> Herror;
14957}
14958unsafe extern "C" {
14959    pub fn T_serialize_ocv(OCVHandle: Htuple, SerializedItemHandle: *mut Htuple) -> Herror;
14960}
14961unsafe extern "C" {
14962    pub fn serialize_ocv(OCVHandle: Hlong, SerializedItemHandle: *mut Hlong) -> Herror;
14963}
14964unsafe extern "C" {
14965    pub fn T_read_ocv(FileName: Htuple, OCVHandle: *mut Htuple) -> Herror;
14966}
14967unsafe extern "C" {
14968    pub fn read_ocv(FileName: *const ::std::os::raw::c_char, OCVHandle: *mut Hlong) -> Herror;
14969}
14970unsafe extern "C" {
14971    pub fn T_write_ocv(OCVHandle: Htuple, FileName: Htuple) -> Herror;
14972}
14973unsafe extern "C" {
14974    pub fn write_ocv(OCVHandle: Hlong, FileName: *const ::std::os::raw::c_char) -> Herror;
14975}
14976unsafe extern "C" {
14977    pub fn T_close_all_ocvs() -> Herror;
14978}
14979unsafe extern "C" {
14980    pub fn close_all_ocvs() -> Herror;
14981}
14982unsafe extern "C" {
14983    pub fn T_close_ocv(OCVHandle: Htuple) -> Herror;
14984}
14985unsafe extern "C" {
14986    pub fn close_ocv(OCVHandle: Hlong) -> Herror;
14987}
14988unsafe extern "C" {
14989    pub fn T_create_ocv_proj(PatternNames: Htuple, OCVHandle: *mut Htuple) -> Herror;
14990}
14991unsafe extern "C" {
14992    pub fn create_ocv_proj(
14993        PatternNames: *const ::std::os::raw::c_char,
14994        OCVHandle: *mut Hlong,
14995    ) -> Herror;
14996}
14997unsafe extern "C" {
14998    pub fn T_do_ocr_word_knn(
14999        Character: Hobject,
15000        Image: Hobject,
15001        OCRHandle: Htuple,
15002        Expression: Htuple,
15003        NumAlternatives: Htuple,
15004        NumCorrections: Htuple,
15005        Class: *mut Htuple,
15006        Confidence: *mut Htuple,
15007        Word: *mut Htuple,
15008        Score: *mut Htuple,
15009    ) -> Herror;
15010}
15011unsafe extern "C" {
15012    pub fn do_ocr_word_knn(
15013        Character: Hobject,
15014        Image: Hobject,
15015        OCRHandle: Hlong,
15016        Expression: *const ::std::os::raw::c_char,
15017        NumAlternatives: Hlong,
15018        NumCorrections: Hlong,
15019        Class: *mut ::std::os::raw::c_char,
15020        Confidence: *mut f64,
15021        Word: *mut ::std::os::raw::c_char,
15022        Score: *mut f64,
15023    ) -> Herror;
15024}
15025unsafe extern "C" {
15026    pub fn T_deserialize_ocr_class_knn(
15027        SerializedItemHandle: Htuple,
15028        OCRHandle: *mut Htuple,
15029    ) -> Herror;
15030}
15031unsafe extern "C" {
15032    pub fn deserialize_ocr_class_knn(SerializedItemHandle: Hlong, OCRHandle: *mut Hlong) -> Herror;
15033}
15034unsafe extern "C" {
15035    pub fn T_serialize_ocr_class_knn(
15036        OCRHandle: Htuple,
15037        SerializedItemHandle: *mut Htuple,
15038    ) -> Herror;
15039}
15040unsafe extern "C" {
15041    pub fn serialize_ocr_class_knn(OCRHandle: Hlong, SerializedItemHandle: *mut Hlong) -> Herror;
15042}
15043unsafe extern "C" {
15044    pub fn T_read_ocr_class_knn(FileName: Htuple, OCRHandle: *mut Htuple) -> Herror;
15045}
15046unsafe extern "C" {
15047    pub fn read_ocr_class_knn(
15048        FileName: *const ::std::os::raw::c_char,
15049        OCRHandle: *mut Hlong,
15050    ) -> Herror;
15051}
15052unsafe extern "C" {
15053    pub fn T_write_ocr_class_knn(OCRHandle: Htuple, FileName: Htuple) -> Herror;
15054}
15055unsafe extern "C" {
15056    pub fn write_ocr_class_knn(OCRHandle: Hlong, FileName: *const ::std::os::raw::c_char)
15057    -> Herror;
15058}
15059unsafe extern "C" {
15060    pub fn T_clear_all_ocr_class_knn() -> Herror;
15061}
15062unsafe extern "C" {
15063    pub fn clear_all_ocr_class_knn() -> Herror;
15064}
15065unsafe extern "C" {
15066    pub fn T_clear_ocr_class_knn(OCRHandle: Htuple) -> Herror;
15067}
15068unsafe extern "C" {
15069    pub fn clear_ocr_class_knn(OCRHandle: Hlong) -> Herror;
15070}
15071unsafe extern "C" {
15072    pub fn T_create_ocr_class_knn(
15073        WidthCharacter: Htuple,
15074        HeightCharacter: Htuple,
15075        Interpolation: Htuple,
15076        Features: Htuple,
15077        Characters: Htuple,
15078        GenParamName: Htuple,
15079        GenParamValue: Htuple,
15080        OCRHandle: *mut Htuple,
15081    ) -> Herror;
15082}
15083unsafe extern "C" {
15084    pub fn T_trainf_ocr_class_knn(
15085        OCRHandle: Htuple,
15086        TrainingFile: Htuple,
15087        GenParamName: Htuple,
15088        GenParamValue: Htuple,
15089    ) -> Herror;
15090}
15091unsafe extern "C" {
15092    pub fn T_get_features_ocr_class_knn(
15093        Character: Hobject,
15094        OCRHandle: Htuple,
15095        Transform: Htuple,
15096        Features: *mut Htuple,
15097    ) -> Herror;
15098}
15099unsafe extern "C" {
15100    pub fn T_get_params_ocr_class_knn(
15101        OCRHandle: Htuple,
15102        WidthCharacter: *mut Htuple,
15103        HeightCharacter: *mut Htuple,
15104        Interpolation: *mut Htuple,
15105        Features: *mut Htuple,
15106        Characters: *mut Htuple,
15107        Preprocessing: *mut Htuple,
15108        NumTrees: *mut Htuple,
15109    ) -> Herror;
15110}
15111unsafe extern "C" {
15112    pub fn T_do_ocr_multi_class_knn(
15113        Character: Hobject,
15114        Image: Hobject,
15115        OCRHandle: Htuple,
15116        Class: *mut Htuple,
15117        Confidence: *mut Htuple,
15118    ) -> Herror;
15119}
15120unsafe extern "C" {
15121    pub fn do_ocr_multi_class_knn(
15122        Character: Hobject,
15123        Image: Hobject,
15124        OCRHandle: Hlong,
15125        Class: *mut ::std::os::raw::c_char,
15126        Confidence: *mut f64,
15127    ) -> Herror;
15128}
15129unsafe extern "C" {
15130    pub fn T_do_ocr_single_class_knn(
15131        Character: Hobject,
15132        Image: Hobject,
15133        OCRHandle: Htuple,
15134        NumClasses: Htuple,
15135        NumNeighbors: Htuple,
15136        Class: *mut Htuple,
15137        Confidence: *mut Htuple,
15138    ) -> Herror;
15139}
15140unsafe extern "C" {
15141    pub fn T_select_feature_set_trainf_knn(
15142        TrainingFile: Htuple,
15143        FeatureList: Htuple,
15144        SelectionMethod: Htuple,
15145        Width: Htuple,
15146        Height: Htuple,
15147        GenParamName: Htuple,
15148        GenParamValue: Htuple,
15149        OCRHandle: *mut Htuple,
15150        FeatureSet: *mut Htuple,
15151        Score: *mut Htuple,
15152    ) -> Herror;
15153}
15154unsafe extern "C" {
15155    pub fn T_select_feature_set_trainf_mlp_protected(
15156        TrainingFile: Htuple,
15157        Password: Htuple,
15158        FeatureList: Htuple,
15159        SelectionMethod: Htuple,
15160        Width: Htuple,
15161        Height: Htuple,
15162        GenParamName: Htuple,
15163        GenParamValue: Htuple,
15164        OCRHandle: *mut Htuple,
15165        FeatureSet: *mut Htuple,
15166        Score: *mut Htuple,
15167    ) -> Herror;
15168}
15169unsafe extern "C" {
15170    pub fn T_select_feature_set_trainf_mlp(
15171        TrainingFile: Htuple,
15172        FeatureList: Htuple,
15173        SelectionMethod: Htuple,
15174        Width: Htuple,
15175        Height: Htuple,
15176        GenParamName: Htuple,
15177        GenParamValue: Htuple,
15178        OCRHandle: *mut Htuple,
15179        FeatureSet: *mut Htuple,
15180        Score: *mut Htuple,
15181    ) -> Herror;
15182}
15183unsafe extern "C" {
15184    pub fn T_select_feature_set_trainf_svm_protected(
15185        TrainingFile: Htuple,
15186        Password: Htuple,
15187        FeatureList: Htuple,
15188        SelectionMethod: Htuple,
15189        Width: Htuple,
15190        Height: Htuple,
15191        GenParamName: Htuple,
15192        GenParamValue: Htuple,
15193        OCRHandle: *mut Htuple,
15194        FeatureSet: *mut Htuple,
15195        Score: *mut Htuple,
15196    ) -> Herror;
15197}
15198unsafe extern "C" {
15199    pub fn T_select_feature_set_trainf_svm(
15200        TrainingFile: Htuple,
15201        FeatureList: Htuple,
15202        SelectionMethod: Htuple,
15203        Width: Htuple,
15204        Height: Htuple,
15205        GenParamName: Htuple,
15206        GenParamValue: Htuple,
15207        OCRHandle: *mut Htuple,
15208        FeatureSet: *mut Htuple,
15209        Score: *mut Htuple,
15210    ) -> Herror;
15211}
15212unsafe extern "C" {
15213    pub fn T_clear_all_lexica() -> Herror;
15214}
15215unsafe extern "C" {
15216    pub fn clear_all_lexica() -> Herror;
15217}
15218unsafe extern "C" {
15219    pub fn T_clear_lexicon(LexiconHandle: Htuple) -> Herror;
15220}
15221unsafe extern "C" {
15222    pub fn clear_lexicon(LexiconHandle: Hlong) -> Herror;
15223}
15224unsafe extern "C" {
15225    pub fn T_suggest_lexicon(
15226        LexiconHandle: Htuple,
15227        Word: Htuple,
15228        Suggestion: *mut Htuple,
15229        NumCorrections: *mut Htuple,
15230    ) -> Herror;
15231}
15232unsafe extern "C" {
15233    pub fn suggest_lexicon(
15234        LexiconHandle: Hlong,
15235        Word: *const ::std::os::raw::c_char,
15236        Suggestion: *mut ::std::os::raw::c_char,
15237        NumCorrections: *mut Hlong,
15238    ) -> Herror;
15239}
15240unsafe extern "C" {
15241    pub fn T_lookup_lexicon(LexiconHandle: Htuple, Word: Htuple, Found: *mut Htuple) -> Herror;
15242}
15243unsafe extern "C" {
15244    pub fn lookup_lexicon(
15245        LexiconHandle: Hlong,
15246        Word: *const ::std::os::raw::c_char,
15247        Found: *mut Hlong,
15248    ) -> Herror;
15249}
15250unsafe extern "C" {
15251    pub fn T_inspect_lexicon(LexiconHandle: Htuple, Words: *mut Htuple) -> Herror;
15252}
15253unsafe extern "C" {
15254    pub fn inspect_lexicon(LexiconHandle: Hlong, Words: *mut ::std::os::raw::c_char) -> Herror;
15255}
15256unsafe extern "C" {
15257    pub fn T_import_lexicon(Name: Htuple, FileName: Htuple, LexiconHandle: *mut Htuple) -> Herror;
15258}
15259unsafe extern "C" {
15260    pub fn import_lexicon(
15261        Name: *const ::std::os::raw::c_char,
15262        FileName: *const ::std::os::raw::c_char,
15263        LexiconHandle: *mut Hlong,
15264    ) -> Herror;
15265}
15266unsafe extern "C" {
15267    pub fn T_create_lexicon(Name: Htuple, Words: Htuple, LexiconHandle: *mut Htuple) -> Herror;
15268}
15269unsafe extern "C" {
15270    pub fn T_clear_all_ocr_class_svm() -> Herror;
15271}
15272unsafe extern "C" {
15273    pub fn clear_all_ocr_class_svm() -> Herror;
15274}
15275unsafe extern "C" {
15276    pub fn T_clear_ocr_class_svm(OCRHandle: Htuple) -> Herror;
15277}
15278unsafe extern "C" {
15279    pub fn clear_ocr_class_svm(OCRHandle: Hlong) -> Herror;
15280}
15281unsafe extern "C" {
15282    pub fn T_deserialize_ocr_class_svm(
15283        SerializedItemHandle: Htuple,
15284        OCRHandle: *mut Htuple,
15285    ) -> Herror;
15286}
15287unsafe extern "C" {
15288    pub fn deserialize_ocr_class_svm(SerializedItemHandle: Hlong, OCRHandle: *mut Hlong) -> Herror;
15289}
15290unsafe extern "C" {
15291    pub fn T_serialize_ocr_class_svm(
15292        OCRHandle: Htuple,
15293        SerializedItemHandle: *mut Htuple,
15294    ) -> Herror;
15295}
15296unsafe extern "C" {
15297    pub fn serialize_ocr_class_svm(OCRHandle: Hlong, SerializedItemHandle: *mut Hlong) -> Herror;
15298}
15299unsafe extern "C" {
15300    pub fn T_read_ocr_class_svm(FileName: Htuple, OCRHandle: *mut Htuple) -> Herror;
15301}
15302unsafe extern "C" {
15303    pub fn read_ocr_class_svm(
15304        FileName: *const ::std::os::raw::c_char,
15305        OCRHandle: *mut Hlong,
15306    ) -> Herror;
15307}
15308unsafe extern "C" {
15309    pub fn T_write_ocr_class_svm(OCRHandle: Htuple, FileName: Htuple) -> Herror;
15310}
15311unsafe extern "C" {
15312    pub fn write_ocr_class_svm(OCRHandle: Hlong, FileName: *const ::std::os::raw::c_char)
15313    -> Herror;
15314}
15315unsafe extern "C" {
15316    pub fn T_get_features_ocr_class_svm(
15317        Character: Hobject,
15318        OCRHandle: Htuple,
15319        Transform: Htuple,
15320        Features: *mut Htuple,
15321    ) -> Herror;
15322}
15323unsafe extern "C" {
15324    pub fn T_do_ocr_word_svm(
15325        Character: Hobject,
15326        Image: Hobject,
15327        OCRHandle: Htuple,
15328        Expression: Htuple,
15329        NumAlternatives: Htuple,
15330        NumCorrections: Htuple,
15331        Class: *mut Htuple,
15332        Word: *mut Htuple,
15333        Score: *mut Htuple,
15334    ) -> Herror;
15335}
15336unsafe extern "C" {
15337    pub fn do_ocr_word_svm(
15338        Character: Hobject,
15339        Image: Hobject,
15340        OCRHandle: Hlong,
15341        Expression: *const ::std::os::raw::c_char,
15342        NumAlternatives: Hlong,
15343        NumCorrections: Hlong,
15344        Class: *mut ::std::os::raw::c_char,
15345        Word: *mut ::std::os::raw::c_char,
15346        Score: *mut f64,
15347    ) -> Herror;
15348}
15349unsafe extern "C" {
15350    pub fn T_do_ocr_multi_class_svm(
15351        Character: Hobject,
15352        Image: Hobject,
15353        OCRHandle: Htuple,
15354        Class: *mut Htuple,
15355    ) -> Herror;
15356}
15357unsafe extern "C" {
15358    pub fn do_ocr_multi_class_svm(
15359        Character: Hobject,
15360        Image: Hobject,
15361        OCRHandle: Hlong,
15362        Class: *mut ::std::os::raw::c_char,
15363    ) -> Herror;
15364}
15365unsafe extern "C" {
15366    pub fn T_do_ocr_single_class_svm(
15367        Character: Hobject,
15368        Image: Hobject,
15369        OCRHandle: Htuple,
15370        Num: Htuple,
15371        Class: *mut Htuple,
15372    ) -> Herror;
15373}
15374unsafe extern "C" {
15375    pub fn T_reduce_ocr_class_svm(
15376        OCRHandle: Htuple,
15377        Method: Htuple,
15378        MinRemainingSV: Htuple,
15379        MaxError: Htuple,
15380        OCRHandleReduced: *mut Htuple,
15381    ) -> Herror;
15382}
15383unsafe extern "C" {
15384    pub fn reduce_ocr_class_svm(
15385        OCRHandle: Hlong,
15386        Method: *const ::std::os::raw::c_char,
15387        MinRemainingSV: Hlong,
15388        MaxError: f64,
15389        OCRHandleReduced: *mut Hlong,
15390    ) -> Herror;
15391}
15392unsafe extern "C" {
15393    pub fn T_trainf_ocr_class_svm_protected(
15394        OCRHandle: Htuple,
15395        TrainingFile: Htuple,
15396        Password: Htuple,
15397        Epsilon: Htuple,
15398        TrainMode: Htuple,
15399    ) -> Herror;
15400}
15401unsafe extern "C" {
15402    pub fn trainf_ocr_class_svm_protected(
15403        OCRHandle: Hlong,
15404        TrainingFile: *const ::std::os::raw::c_char,
15405        Password: *const ::std::os::raw::c_char,
15406        Epsilon: f64,
15407        TrainMode: *const ::std::os::raw::c_char,
15408    ) -> Herror;
15409}
15410unsafe extern "C" {
15411    pub fn T_trainf_ocr_class_svm(
15412        OCRHandle: Htuple,
15413        TrainingFile: Htuple,
15414        Epsilon: Htuple,
15415        TrainMode: Htuple,
15416    ) -> Herror;
15417}
15418unsafe extern "C" {
15419    pub fn trainf_ocr_class_svm(
15420        OCRHandle: Hlong,
15421        TrainingFile: *const ::std::os::raw::c_char,
15422        Epsilon: f64,
15423        TrainMode: *const ::std::os::raw::c_char,
15424    ) -> Herror;
15425}
15426unsafe extern "C" {
15427    pub fn T_get_prep_info_ocr_class_svm(
15428        OCRHandle: Htuple,
15429        TrainingFile: Htuple,
15430        Preprocessing: Htuple,
15431        InformationCont: *mut Htuple,
15432        CumInformationCont: *mut Htuple,
15433    ) -> Herror;
15434}
15435unsafe extern "C" {
15436    pub fn T_get_support_vector_num_ocr_class_svm(
15437        OCRHandle: Htuple,
15438        NumSupportVectors: *mut Htuple,
15439        NumSVPerSVM: *mut Htuple,
15440    ) -> Herror;
15441}
15442unsafe extern "C" {
15443    pub fn T_get_support_vector_ocr_class_svm(
15444        OCRHandle: Htuple,
15445        IndexSupportVector: Htuple,
15446        Index: *mut Htuple,
15447    ) -> Herror;
15448}
15449unsafe extern "C" {
15450    pub fn T_get_params_ocr_class_svm(
15451        OCRHandle: Htuple,
15452        WidthCharacter: *mut Htuple,
15453        HeightCharacter: *mut Htuple,
15454        Interpolation: *mut Htuple,
15455        Features: *mut Htuple,
15456        Characters: *mut Htuple,
15457        KernelType: *mut Htuple,
15458        KernelParam: *mut Htuple,
15459        Nu: *mut Htuple,
15460        Mode: *mut Htuple,
15461        Preprocessing: *mut Htuple,
15462        NumComponents: *mut Htuple,
15463    ) -> Herror;
15464}
15465unsafe extern "C" {
15466    pub fn T_create_ocr_class_svm(
15467        WidthCharacter: Htuple,
15468        HeightCharacter: Htuple,
15469        Interpolation: Htuple,
15470        Features: Htuple,
15471        Characters: Htuple,
15472        KernelType: Htuple,
15473        KernelParam: Htuple,
15474        Nu: Htuple,
15475        Mode: Htuple,
15476        Preprocessing: Htuple,
15477        NumComponents: Htuple,
15478        OCRHandle: *mut Htuple,
15479    ) -> Herror;
15480}
15481unsafe extern "C" {
15482    pub fn T_clear_all_ocr_class_mlp() -> Herror;
15483}
15484unsafe extern "C" {
15485    pub fn clear_all_ocr_class_mlp() -> Herror;
15486}
15487unsafe extern "C" {
15488    pub fn T_clear_ocr_class_mlp(OCRHandle: Htuple) -> Herror;
15489}
15490unsafe extern "C" {
15491    pub fn clear_ocr_class_mlp(OCRHandle: Hlong) -> Herror;
15492}
15493unsafe extern "C" {
15494    pub fn T_deserialize_ocr_class_mlp(
15495        SerializedItemHandle: Htuple,
15496        OCRHandle: *mut Htuple,
15497    ) -> Herror;
15498}
15499unsafe extern "C" {
15500    pub fn deserialize_ocr_class_mlp(SerializedItemHandle: Hlong, OCRHandle: *mut Hlong) -> Herror;
15501}
15502unsafe extern "C" {
15503    pub fn T_serialize_ocr_class_mlp(
15504        OCRHandle: Htuple,
15505        SerializedItemHandle: *mut Htuple,
15506    ) -> Herror;
15507}
15508unsafe extern "C" {
15509    pub fn serialize_ocr_class_mlp(OCRHandle: Hlong, SerializedItemHandle: *mut Hlong) -> Herror;
15510}
15511unsafe extern "C" {
15512    pub fn T_read_ocr_class_mlp(FileName: Htuple, OCRHandle: *mut Htuple) -> Herror;
15513}
15514unsafe extern "C" {
15515    pub fn read_ocr_class_mlp(
15516        FileName: *const ::std::os::raw::c_char,
15517        OCRHandle: *mut Hlong,
15518    ) -> Herror;
15519}
15520unsafe extern "C" {
15521    pub fn T_write_ocr_class_mlp(OCRHandle: Htuple, FileName: Htuple) -> Herror;
15522}
15523unsafe extern "C" {
15524    pub fn write_ocr_class_mlp(OCRHandle: Hlong, FileName: *const ::std::os::raw::c_char)
15525    -> Herror;
15526}
15527unsafe extern "C" {
15528    pub fn T_get_features_ocr_class_mlp(
15529        Character: Hobject,
15530        OCRHandle: Htuple,
15531        Transform: Htuple,
15532        Features: *mut Htuple,
15533    ) -> Herror;
15534}
15535unsafe extern "C" {
15536    pub fn T_do_ocr_word_mlp(
15537        Character: Hobject,
15538        Image: Hobject,
15539        OCRHandle: Htuple,
15540        Expression: Htuple,
15541        NumAlternatives: Htuple,
15542        NumCorrections: Htuple,
15543        Class: *mut Htuple,
15544        Confidence: *mut Htuple,
15545        Word: *mut Htuple,
15546        Score: *mut Htuple,
15547    ) -> Herror;
15548}
15549unsafe extern "C" {
15550    pub fn do_ocr_word_mlp(
15551        Character: Hobject,
15552        Image: Hobject,
15553        OCRHandle: Hlong,
15554        Expression: *const ::std::os::raw::c_char,
15555        NumAlternatives: Hlong,
15556        NumCorrections: Hlong,
15557        Class: *mut ::std::os::raw::c_char,
15558        Confidence: *mut f64,
15559        Word: *mut ::std::os::raw::c_char,
15560        Score: *mut f64,
15561    ) -> Herror;
15562}
15563unsafe extern "C" {
15564    pub fn T_do_ocr_multi_class_mlp(
15565        Character: Hobject,
15566        Image: Hobject,
15567        OCRHandle: Htuple,
15568        Class: *mut Htuple,
15569        Confidence: *mut Htuple,
15570    ) -> Herror;
15571}
15572unsafe extern "C" {
15573    pub fn do_ocr_multi_class_mlp(
15574        Character: Hobject,
15575        Image: Hobject,
15576        OCRHandle: Hlong,
15577        Class: *mut ::std::os::raw::c_char,
15578        Confidence: *mut f64,
15579    ) -> Herror;
15580}
15581unsafe extern "C" {
15582    pub fn T_do_ocr_single_class_mlp(
15583        Character: Hobject,
15584        Image: Hobject,
15585        OCRHandle: Htuple,
15586        Num: Htuple,
15587        Class: *mut Htuple,
15588        Confidence: *mut Htuple,
15589    ) -> Herror;
15590}
15591unsafe extern "C" {
15592    pub fn T_trainf_ocr_class_mlp_protected(
15593        OCRHandle: Htuple,
15594        TrainingFile: Htuple,
15595        Password: Htuple,
15596        MaxIterations: Htuple,
15597        WeightTolerance: Htuple,
15598        ErrorTolerance: Htuple,
15599        Error: *mut Htuple,
15600        ErrorLog: *mut Htuple,
15601    ) -> Herror;
15602}
15603unsafe extern "C" {
15604    pub fn T_trainf_ocr_class_mlp(
15605        OCRHandle: Htuple,
15606        TrainingFile: Htuple,
15607        MaxIterations: Htuple,
15608        WeightTolerance: Htuple,
15609        ErrorTolerance: Htuple,
15610        Error: *mut Htuple,
15611        ErrorLog: *mut Htuple,
15612    ) -> Herror;
15613}
15614unsafe extern "C" {
15615    pub fn T_get_prep_info_ocr_class_mlp(
15616        OCRHandle: Htuple,
15617        TrainingFile: Htuple,
15618        Preprocessing: Htuple,
15619        InformationCont: *mut Htuple,
15620        CumInformationCont: *mut Htuple,
15621    ) -> Herror;
15622}
15623unsafe extern "C" {
15624    pub fn T_get_rejection_params_ocr_class_mlp(
15625        OCRHandle: Htuple,
15626        GenParamName: Htuple,
15627        GenParamValue: *mut Htuple,
15628    ) -> Herror;
15629}
15630unsafe extern "C" {
15631    pub fn get_rejection_params_ocr_class_mlp(
15632        OCRHandle: Hlong,
15633        GenParamName: *const ::std::os::raw::c_char,
15634        GenParamValue: *mut ::std::os::raw::c_char,
15635    ) -> Herror;
15636}
15637unsafe extern "C" {
15638    pub fn T_set_rejection_params_ocr_class_mlp(
15639        OCRHandle: Htuple,
15640        GenParamName: Htuple,
15641        GenParamValue: Htuple,
15642    ) -> Herror;
15643}
15644unsafe extern "C" {
15645    pub fn set_rejection_params_ocr_class_mlp(
15646        OCRHandle: Hlong,
15647        GenParamName: *const ::std::os::raw::c_char,
15648        GenParamValue: *const ::std::os::raw::c_char,
15649    ) -> Herror;
15650}
15651unsafe extern "C" {
15652    pub fn T_get_regularization_params_ocr_class_mlp(
15653        OCRHandle: Htuple,
15654        GenParamName: Htuple,
15655        GenParamValue: *mut Htuple,
15656    ) -> Herror;
15657}
15658unsafe extern "C" {
15659    pub fn get_regularization_params_ocr_class_mlp(
15660        OCRHandle: Hlong,
15661        GenParamName: *const ::std::os::raw::c_char,
15662        GenParamValue: *mut f64,
15663    ) -> Herror;
15664}
15665unsafe extern "C" {
15666    pub fn T_set_regularization_params_ocr_class_mlp(
15667        OCRHandle: Htuple,
15668        GenParamName: Htuple,
15669        GenParamValue: Htuple,
15670    ) -> Herror;
15671}
15672unsafe extern "C" {
15673    pub fn set_regularization_params_ocr_class_mlp(
15674        OCRHandle: Hlong,
15675        GenParamName: *const ::std::os::raw::c_char,
15676        GenParamValue: f64,
15677    ) -> Herror;
15678}
15679unsafe extern "C" {
15680    pub fn T_get_params_ocr_class_mlp(
15681        OCRHandle: Htuple,
15682        WidthCharacter: *mut Htuple,
15683        HeightCharacter: *mut Htuple,
15684        Interpolation: *mut Htuple,
15685        Features: *mut Htuple,
15686        Characters: *mut Htuple,
15687        NumHidden: *mut Htuple,
15688        Preprocessing: *mut Htuple,
15689        NumComponents: *mut Htuple,
15690    ) -> Herror;
15691}
15692unsafe extern "C" {
15693    pub fn T_create_ocr_class_mlp(
15694        WidthCharacter: Htuple,
15695        HeightCharacter: Htuple,
15696        Interpolation: Htuple,
15697        Features: Htuple,
15698        Characters: Htuple,
15699        NumHidden: Htuple,
15700        Preprocessing: Htuple,
15701        NumComponents: Htuple,
15702        RandSeed: Htuple,
15703        OCRHandle: *mut Htuple,
15704    ) -> Herror;
15705}
15706unsafe extern "C" {
15707    pub fn T_serialize_ocr(OcrHandle: Htuple, SerializedItemHandle: *mut Htuple) -> Herror;
15708}
15709unsafe extern "C" {
15710    pub fn serialize_ocr(OcrHandle: Hlong, SerializedItemHandle: *mut Hlong) -> Herror;
15711}
15712unsafe extern "C" {
15713    pub fn T_deserialize_ocr(SerializedItemHandle: Htuple, OcrHandle: *mut Htuple) -> Herror;
15714}
15715unsafe extern "C" {
15716    pub fn deserialize_ocr(SerializedItemHandle: Hlong, OcrHandle: *mut Hlong) -> Herror;
15717}
15718unsafe extern "C" {
15719    pub fn T_write_ocr(OcrHandle: Htuple, FileName: Htuple) -> Herror;
15720}
15721unsafe extern "C" {
15722    pub fn write_ocr(OcrHandle: Hlong, FileName: *const ::std::os::raw::c_char) -> Herror;
15723}
15724unsafe extern "C" {
15725    pub fn T_read_ocr(FileName: Htuple, OcrHandle: *mut Htuple) -> Herror;
15726}
15727unsafe extern "C" {
15728    pub fn read_ocr(FileName: *const ::std::os::raw::c_char, OcrHandle: *mut Hlong) -> Herror;
15729}
15730unsafe extern "C" {
15731    pub fn T_do_ocr_single(
15732        Character: Hobject,
15733        Image: Hobject,
15734        OcrHandle: Htuple,
15735        Classes: *mut Htuple,
15736        Confidences: *mut Htuple,
15737    ) -> Herror;
15738}
15739unsafe extern "C" {
15740    pub fn T_do_ocr_multi(
15741        Character: Hobject,
15742        Image: Hobject,
15743        OcrHandle: Htuple,
15744        Class: *mut Htuple,
15745        Confidence: *mut Htuple,
15746    ) -> Herror;
15747}
15748unsafe extern "C" {
15749    pub fn do_ocr_multi(
15750        Character: Hobject,
15751        Image: Hobject,
15752        OcrHandle: Hlong,
15753        Class: *mut ::std::os::raw::c_char,
15754        Confidence: *mut f64,
15755    ) -> Herror;
15756}
15757unsafe extern "C" {
15758    pub fn T_info_ocr_class_box(
15759        OcrHandle: Htuple,
15760        WidthPattern: *mut Htuple,
15761        HeightPattern: *mut Htuple,
15762        Interpolation: *mut Htuple,
15763        WidthMaxChar: *mut Htuple,
15764        HeightMaxChar: *mut Htuple,
15765        Features: *mut Htuple,
15766        Characters: *mut Htuple,
15767    ) -> Herror;
15768}
15769unsafe extern "C" {
15770    pub fn T_create_ocr_class_box(
15771        WidthPattern: Htuple,
15772        HeightPattern: Htuple,
15773        Interpolation: Htuple,
15774        Features: Htuple,
15775        Character: Htuple,
15776        OcrHandle: *mut Htuple,
15777    ) -> Herror;
15778}
15779unsafe extern "C" {
15780    pub fn T_traind_ocr_class_box(
15781        Character: Hobject,
15782        Image: Hobject,
15783        OcrHandle: Htuple,
15784        Class: Htuple,
15785        AvgConfidence: *mut Htuple,
15786    ) -> Herror;
15787}
15788unsafe extern "C" {
15789    pub fn traind_ocr_class_box(
15790        Character: Hobject,
15791        Image: Hobject,
15792        OcrHandle: Hlong,
15793        Class: *const ::std::os::raw::c_char,
15794        AvgConfidence: *mut f64,
15795    ) -> Herror;
15796}
15797unsafe extern "C" {
15798    pub fn T_trainf_ocr_class_box(
15799        OcrHandle: Htuple,
15800        TrainingFile: Htuple,
15801        AvgConfidence: *mut Htuple,
15802    ) -> Herror;
15803}
15804unsafe extern "C" {
15805    pub fn trainf_ocr_class_box(
15806        OcrHandle: Hlong,
15807        TrainingFile: *const ::std::os::raw::c_char,
15808        AvgConfidence: *mut f64,
15809    ) -> Herror;
15810}
15811unsafe extern "C" {
15812    pub fn T_protect_ocr_trainf(
15813        TrainingFile: Htuple,
15814        Password: Htuple,
15815        TrainingFileProtected: Htuple,
15816    ) -> Herror;
15817}
15818unsafe extern "C" {
15819    pub fn protect_ocr_trainf(
15820        TrainingFile: *const ::std::os::raw::c_char,
15821        Password: *const ::std::os::raw::c_char,
15822        TrainingFileProtected: *const ::std::os::raw::c_char,
15823    ) -> Herror;
15824}
15825unsafe extern "C" {
15826    pub fn T_write_ocr_trainf(
15827        Character: Hobject,
15828        Image: Hobject,
15829        Class: Htuple,
15830        TrainingFile: Htuple,
15831    ) -> Herror;
15832}
15833unsafe extern "C" {
15834    pub fn write_ocr_trainf(
15835        Character: Hobject,
15836        Image: Hobject,
15837        Class: *const ::std::os::raw::c_char,
15838        TrainingFile: *const ::std::os::raw::c_char,
15839    ) -> Herror;
15840}
15841unsafe extern "C" {
15842    pub fn T_ocr_change_char(OcrHandle: Htuple, Character: Htuple) -> Herror;
15843}
15844unsafe extern "C" {
15845    pub fn T_close_ocr(OcrHandle: Htuple) -> Herror;
15846}
15847unsafe extern "C" {
15848    pub fn close_ocr(OcrHandle: Hlong) -> Herror;
15849}
15850unsafe extern "C" {
15851    pub fn T_sort_region(
15852        Regions: Hobject,
15853        SortedRegions: *mut Hobject,
15854        SortMode: Htuple,
15855        Order: Htuple,
15856        RowOrCol: Htuple,
15857    ) -> Herror;
15858}
15859unsafe extern "C" {
15860    pub fn sort_region(
15861        Regions: Hobject,
15862        SortedRegions: *mut Hobject,
15863        SortMode: *const ::std::os::raw::c_char,
15864        Order: *const ::std::os::raw::c_char,
15865        RowOrCol: *const ::std::os::raw::c_char,
15866    ) -> Herror;
15867}
15868unsafe extern "C" {
15869    pub fn T_close_all_ocrs() -> Herror;
15870}
15871unsafe extern "C" {
15872    pub fn close_all_ocrs() -> Herror;
15873}
15874unsafe extern "C" {
15875    pub fn T_testd_ocr_class_box(
15876        Character: Hobject,
15877        Image: Hobject,
15878        OcrHandle: Htuple,
15879        Class: Htuple,
15880        Confidence: *mut Htuple,
15881    ) -> Herror;
15882}
15883unsafe extern "C" {
15884    pub fn testd_ocr_class_box(
15885        Character: Hobject,
15886        Image: Hobject,
15887        OcrHandle: Hlong,
15888        Class: *const ::std::os::raw::c_char,
15889        Confidence: *mut f64,
15890    ) -> Herror;
15891}
15892unsafe extern "C" {
15893    pub fn T_crop_domain_rel(
15894        Image: Hobject,
15895        ImagePart: *mut Hobject,
15896        Top: Htuple,
15897        Left: Htuple,
15898        Bottom: Htuple,
15899        Right: Htuple,
15900    ) -> Herror;
15901}
15902unsafe extern "C" {
15903    pub fn crop_domain_rel(
15904        Image: Hobject,
15905        ImagePart: *mut Hobject,
15906        Top: Hlong,
15907        Left: Hlong,
15908        Bottom: Hlong,
15909        Right: Hlong,
15910    ) -> Herror;
15911}
15912unsafe extern "C" {
15913    pub fn T_ocr_get_features(
15914        Character: Hobject,
15915        OcrHandle: Htuple,
15916        FeatureVector: *mut Htuple,
15917    ) -> Herror;
15918}
15919unsafe extern "C" {
15920    pub fn T_concat_ocr_trainf(SingleFiles: Htuple, ComposedFile: Htuple) -> Herror;
15921}
15922unsafe extern "C" {
15923    pub fn concat_ocr_trainf(
15924        SingleFiles: *const ::std::os::raw::c_char,
15925        ComposedFile: *const ::std::os::raw::c_char,
15926    ) -> Herror;
15927}
15928unsafe extern "C" {
15929    pub fn T_write_ocr_trainf_image(
15930        Character: Hobject,
15931        Class: Htuple,
15932        TrainingFile: Htuple,
15933    ) -> Herror;
15934}
15935unsafe extern "C" {
15936    pub fn write_ocr_trainf_image(
15937        Character: Hobject,
15938        Class: *const ::std::os::raw::c_char,
15939        TrainingFile: *const ::std::os::raw::c_char,
15940    ) -> Herror;
15941}
15942unsafe extern "C" {
15943    pub fn T_append_ocr_trainf(
15944        Character: Hobject,
15945        Image: Hobject,
15946        Class: Htuple,
15947        TrainingFile: Htuple,
15948    ) -> Herror;
15949}
15950unsafe extern "C" {
15951    pub fn append_ocr_trainf(
15952        Character: Hobject,
15953        Image: Hobject,
15954        Class: *const ::std::os::raw::c_char,
15955        TrainingFile: *const ::std::os::raw::c_char,
15956    ) -> Herror;
15957}
15958unsafe extern "C" {
15959    pub fn T_read_ocr_trainf_names_protected(
15960        TrainingFile: Htuple,
15961        Password: Htuple,
15962        CharacterNames: *mut Htuple,
15963        CharacterCount: *mut Htuple,
15964    ) -> Herror;
15965}
15966unsafe extern "C" {
15967    pub fn read_ocr_trainf_names_protected(
15968        TrainingFile: *const ::std::os::raw::c_char,
15969        Password: *const ::std::os::raw::c_char,
15970        CharacterNames: *mut ::std::os::raw::c_char,
15971        CharacterCount: *mut Hlong,
15972    ) -> Herror;
15973}
15974unsafe extern "C" {
15975    pub fn T_read_ocr_trainf_names(
15976        TrainingFile: Htuple,
15977        CharacterNames: *mut Htuple,
15978        CharacterCount: *mut Htuple,
15979    ) -> Herror;
15980}
15981unsafe extern "C" {
15982    pub fn read_ocr_trainf_names(
15983        TrainingFile: *const ::std::os::raw::c_char,
15984        CharacterNames: *mut ::std::os::raw::c_char,
15985        CharacterCount: *mut Hlong,
15986    ) -> Herror;
15987}
15988unsafe extern "C" {
15989    pub fn T_read_ocr_trainf_select(
15990        Characters: *mut Hobject,
15991        TrainingFile: Htuple,
15992        SearchNames: Htuple,
15993        FoundNames: *mut Htuple,
15994    ) -> Herror;
15995}
15996unsafe extern "C" {
15997    pub fn read_ocr_trainf_select(
15998        Characters: *mut Hobject,
15999        TrainingFile: *const ::std::os::raw::c_char,
16000        SearchNames: *const ::std::os::raw::c_char,
16001        FoundNames: *mut ::std::os::raw::c_char,
16002    ) -> Herror;
16003}
16004unsafe extern "C" {
16005    pub fn T_read_ocr_trainf(
16006        Characters: *mut Hobject,
16007        TrainingFile: Htuple,
16008        CharacterNames: *mut Htuple,
16009    ) -> Herror;
16010}
16011unsafe extern "C" {
16012    pub fn T_pruning(Region: Hobject, RegionPrune: *mut Hobject, Length: Htuple) -> Herror;
16013}
16014unsafe extern "C" {
16015    pub fn pruning(Region: Hobject, RegionPrune: *mut Hobject, Length: Hlong) -> Herror;
16016}
16017unsafe extern "C" {
16018    pub fn T_boundary(Region: Hobject, RegionBorder: *mut Hobject, BoundaryType: Htuple) -> Herror;
16019}
16020unsafe extern "C" {
16021    pub fn boundary(
16022        Region: Hobject,
16023        RegionBorder: *mut Hobject,
16024        BoundaryType: *const ::std::os::raw::c_char,
16025    ) -> Herror;
16026}
16027unsafe extern "C" {
16028    pub fn T_fitting(
16029        Region: Hobject,
16030        StructElements: Hobject,
16031        RegionFitted: *mut Hobject,
16032    ) -> Herror;
16033}
16034unsafe extern "C" {
16035    pub fn fitting(Region: Hobject, StructElements: Hobject, RegionFitted: *mut Hobject) -> Herror;
16036}
16037unsafe extern "C" {
16038    pub fn T_gen_struct_elements(
16039        StructElements: *mut Hobject,
16040        Type: Htuple,
16041        Row: Htuple,
16042        Column: Htuple,
16043    ) -> Herror;
16044}
16045unsafe extern "C" {
16046    pub fn gen_struct_elements(
16047        StructElements: *mut Hobject,
16048        Type: *const ::std::os::raw::c_char,
16049        Row: Hlong,
16050        Column: Hlong,
16051    ) -> Herror;
16052}
16053unsafe extern "C" {
16054    pub fn T_transpose_region(
16055        Region: Hobject,
16056        Transposed: *mut Hobject,
16057        Row: Htuple,
16058        Column: Htuple,
16059    ) -> Herror;
16060}
16061unsafe extern "C" {
16062    pub fn transpose_region(
16063        Region: Hobject,
16064        Transposed: *mut Hobject,
16065        Row: Hlong,
16066        Column: Hlong,
16067    ) -> Herror;
16068}
16069unsafe extern "C" {
16070    pub fn T_thinning_seq(
16071        Region: Hobject,
16072        RegionThin: *mut Hobject,
16073        GolayElement: Htuple,
16074        Iterations: Htuple,
16075    ) -> Herror;
16076}
16077unsafe extern "C" {
16078    pub fn thinning_seq(
16079        Region: Hobject,
16080        RegionThin: *mut Hobject,
16081        GolayElement: *const ::std::os::raw::c_char,
16082        Iterations: Hlong,
16083    ) -> Herror;
16084}
16085unsafe extern "C" {
16086    pub fn T_thinning_golay(
16087        Region: Hobject,
16088        RegionThin: *mut Hobject,
16089        GolayElement: Htuple,
16090        Rotation: Htuple,
16091    ) -> Herror;
16092}
16093unsafe extern "C" {
16094    pub fn thinning_golay(
16095        Region: Hobject,
16096        RegionThin: *mut Hobject,
16097        GolayElement: *const ::std::os::raw::c_char,
16098        Rotation: Hlong,
16099    ) -> Herror;
16100}
16101unsafe extern "C" {
16102    pub fn T_thinning(
16103        Region: Hobject,
16104        StructElement1: Hobject,
16105        StructElement2: Hobject,
16106        RegionThin: *mut Hobject,
16107        Row: Htuple,
16108        Column: Htuple,
16109        Iterations: Htuple,
16110    ) -> Herror;
16111}
16112unsafe extern "C" {
16113    pub fn thinning(
16114        Region: Hobject,
16115        StructElement1: Hobject,
16116        StructElement2: Hobject,
16117        RegionThin: *mut Hobject,
16118        Row: Hlong,
16119        Column: Hlong,
16120        Iterations: Hlong,
16121    ) -> Herror;
16122}
16123unsafe extern "C" {
16124    pub fn T_thickening_seq(
16125        Region: Hobject,
16126        RegionThick: *mut Hobject,
16127        GolayElement: Htuple,
16128        Iterations: Htuple,
16129    ) -> Herror;
16130}
16131unsafe extern "C" {
16132    pub fn thickening_seq(
16133        Region: Hobject,
16134        RegionThick: *mut Hobject,
16135        GolayElement: *const ::std::os::raw::c_char,
16136        Iterations: Hlong,
16137    ) -> Herror;
16138}
16139unsafe extern "C" {
16140    pub fn T_thickening_golay(
16141        Region: Hobject,
16142        RegionThick: *mut Hobject,
16143        GolayElement: Htuple,
16144        Rotation: Htuple,
16145    ) -> Herror;
16146}
16147unsafe extern "C" {
16148    pub fn thickening_golay(
16149        Region: Hobject,
16150        RegionThick: *mut Hobject,
16151        GolayElement: *const ::std::os::raw::c_char,
16152        Rotation: Hlong,
16153    ) -> Herror;
16154}
16155unsafe extern "C" {
16156    pub fn T_thickening(
16157        Region: Hobject,
16158        StructElement1: Hobject,
16159        StructElement2: Hobject,
16160        RegionThick: *mut Hobject,
16161        Row: Htuple,
16162        Column: Htuple,
16163        Iterations: Htuple,
16164    ) -> Herror;
16165}
16166unsafe extern "C" {
16167    pub fn thickening(
16168        Region: Hobject,
16169        StructElement1: Hobject,
16170        StructElement2: Hobject,
16171        RegionThick: *mut Hobject,
16172        Row: Hlong,
16173        Column: Hlong,
16174        Iterations: Hlong,
16175    ) -> Herror;
16176}
16177unsafe extern "C" {
16178    pub fn T_hit_or_miss_seq(
16179        Region: Hobject,
16180        RegionHitMiss: *mut Hobject,
16181        GolayElement: Htuple,
16182    ) -> Herror;
16183}
16184unsafe extern "C" {
16185    pub fn hit_or_miss_seq(
16186        Region: Hobject,
16187        RegionHitMiss: *mut Hobject,
16188        GolayElement: *const ::std::os::raw::c_char,
16189    ) -> Herror;
16190}
16191unsafe extern "C" {
16192    pub fn T_hit_or_miss_golay(
16193        Region: Hobject,
16194        RegionHitMiss: *mut Hobject,
16195        GolayElement: Htuple,
16196        Rotation: Htuple,
16197    ) -> Herror;
16198}
16199unsafe extern "C" {
16200    pub fn hit_or_miss_golay(
16201        Region: Hobject,
16202        RegionHitMiss: *mut Hobject,
16203        GolayElement: *const ::std::os::raw::c_char,
16204        Rotation: Hlong,
16205    ) -> Herror;
16206}
16207unsafe extern "C" {
16208    pub fn T_hit_or_miss(
16209        Region: Hobject,
16210        StructElement1: Hobject,
16211        StructElement2: Hobject,
16212        RegionHitMiss: *mut Hobject,
16213        Row: Htuple,
16214        Column: Htuple,
16215    ) -> Herror;
16216}
16217unsafe extern "C" {
16218    pub fn hit_or_miss(
16219        Region: Hobject,
16220        StructElement1: Hobject,
16221        StructElement2: Hobject,
16222        RegionHitMiss: *mut Hobject,
16223        Row: Hlong,
16224        Column: Hlong,
16225    ) -> Herror;
16226}
16227unsafe extern "C" {
16228    pub fn T_golay_elements(
16229        StructElement1: *mut Hobject,
16230        StructElement2: *mut Hobject,
16231        GolayElement: Htuple,
16232        Rotation: Htuple,
16233        Row: Htuple,
16234        Column: Htuple,
16235    ) -> Herror;
16236}
16237unsafe extern "C" {
16238    pub fn golay_elements(
16239        StructElement1: *mut Hobject,
16240        StructElement2: *mut Hobject,
16241        GolayElement: *const ::std::os::raw::c_char,
16242        Rotation: Hlong,
16243        Row: Hlong,
16244        Column: Hlong,
16245    ) -> Herror;
16246}
16247unsafe extern "C" {
16248    pub fn T_morph_skiz(
16249        Region: Hobject,
16250        RegionSkiz: *mut Hobject,
16251        Iterations1: Htuple,
16252        Iterations2: Htuple,
16253    ) -> Herror;
16254}
16255unsafe extern "C" {
16256    pub fn morph_skiz(
16257        Region: Hobject,
16258        RegionSkiz: *mut Hobject,
16259        Iterations1: Hlong,
16260        Iterations2: Hlong,
16261    ) -> Herror;
16262}
16263unsafe extern "C" {
16264    pub fn T_morph_skeleton(Region: Hobject, RegionSkeleton: *mut Hobject) -> Herror;
16265}
16266unsafe extern "C" {
16267    pub fn morph_skeleton(Region: Hobject, RegionSkeleton: *mut Hobject) -> Herror;
16268}
16269unsafe extern "C" {
16270    pub fn T_morph_hat(
16271        Region: Hobject,
16272        StructElement: Hobject,
16273        RegionMorphHat: *mut Hobject,
16274    ) -> Herror;
16275}
16276unsafe extern "C" {
16277    pub fn morph_hat(
16278        Region: Hobject,
16279        StructElement: Hobject,
16280        RegionMorphHat: *mut Hobject,
16281    ) -> Herror;
16282}
16283unsafe extern "C" {
16284    pub fn T_bottom_hat(
16285        Region: Hobject,
16286        StructElement: Hobject,
16287        RegionBottomHat: *mut Hobject,
16288    ) -> Herror;
16289}
16290unsafe extern "C" {
16291    pub fn bottom_hat(
16292        Region: Hobject,
16293        StructElement: Hobject,
16294        RegionBottomHat: *mut Hobject,
16295    ) -> Herror;
16296}
16297unsafe extern "C" {
16298    pub fn T_top_hat(Region: Hobject, StructElement: Hobject, RegionTopHat: *mut Hobject)
16299    -> Herror;
16300}
16301unsafe extern "C" {
16302    pub fn top_hat(Region: Hobject, StructElement: Hobject, RegionTopHat: *mut Hobject) -> Herror;
16303}
16304unsafe extern "C" {
16305    pub fn T_minkowski_sub2(
16306        Region: Hobject,
16307        StructElement: Hobject,
16308        RegionMinkSub: *mut Hobject,
16309        Row: Htuple,
16310        Column: Htuple,
16311        Iterations: Htuple,
16312    ) -> Herror;
16313}
16314unsafe extern "C" {
16315    pub fn minkowski_sub2(
16316        Region: Hobject,
16317        StructElement: Hobject,
16318        RegionMinkSub: *mut Hobject,
16319        Row: Hlong,
16320        Column: Hlong,
16321        Iterations: Hlong,
16322    ) -> Herror;
16323}
16324unsafe extern "C" {
16325    pub fn T_minkowski_sub1(
16326        Region: Hobject,
16327        StructElement: Hobject,
16328        RegionMinkSub: *mut Hobject,
16329        Iterations: Htuple,
16330    ) -> Herror;
16331}
16332unsafe extern "C" {
16333    pub fn minkowski_sub1(
16334        Region: Hobject,
16335        StructElement: Hobject,
16336        RegionMinkSub: *mut Hobject,
16337        Iterations: Hlong,
16338    ) -> Herror;
16339}
16340unsafe extern "C" {
16341    pub fn T_minkowski_add2(
16342        Region: Hobject,
16343        StructElement: Hobject,
16344        RegionMinkAdd: *mut Hobject,
16345        Row: Htuple,
16346        Column: Htuple,
16347        Iterations: Htuple,
16348    ) -> Herror;
16349}
16350unsafe extern "C" {
16351    pub fn minkowski_add2(
16352        Region: Hobject,
16353        StructElement: Hobject,
16354        RegionMinkAdd: *mut Hobject,
16355        Row: Hlong,
16356        Column: Hlong,
16357        Iterations: Hlong,
16358    ) -> Herror;
16359}
16360unsafe extern "C" {
16361    pub fn T_minkowski_add1(
16362        Region: Hobject,
16363        StructElement: Hobject,
16364        RegionMinkAdd: *mut Hobject,
16365        Iterations: Htuple,
16366    ) -> Herror;
16367}
16368unsafe extern "C" {
16369    pub fn minkowski_add1(
16370        Region: Hobject,
16371        StructElement: Hobject,
16372        RegionMinkAdd: *mut Hobject,
16373        Iterations: Hlong,
16374    ) -> Herror;
16375}
16376unsafe extern "C" {
16377    pub fn T_closing_rectangle1(
16378        Region: Hobject,
16379        RegionClosing: *mut Hobject,
16380        Width: Htuple,
16381        Height: Htuple,
16382    ) -> Herror;
16383}
16384unsafe extern "C" {
16385    pub fn closing_rectangle1(
16386        Region: Hobject,
16387        RegionClosing: *mut Hobject,
16388        Width: Hlong,
16389        Height: Hlong,
16390    ) -> Herror;
16391}
16392unsafe extern "C" {
16393    pub fn T_closing_golay(
16394        Region: Hobject,
16395        RegionClosing: *mut Hobject,
16396        GolayElement: Htuple,
16397        Rotation: Htuple,
16398    ) -> Herror;
16399}
16400unsafe extern "C" {
16401    pub fn closing_golay(
16402        Region: Hobject,
16403        RegionClosing: *mut Hobject,
16404        GolayElement: *const ::std::os::raw::c_char,
16405        Rotation: Hlong,
16406    ) -> Herror;
16407}
16408unsafe extern "C" {
16409    pub fn T_closing_circle(Region: Hobject, RegionClosing: *mut Hobject, Radius: Htuple)
16410    -> Herror;
16411}
16412unsafe extern "C" {
16413    pub fn closing_circle(Region: Hobject, RegionClosing: *mut Hobject, Radius: f64) -> Herror;
16414}
16415unsafe extern "C" {
16416    pub fn T_closing(
16417        Region: Hobject,
16418        StructElement: Hobject,
16419        RegionClosing: *mut Hobject,
16420    ) -> Herror;
16421}
16422unsafe extern "C" {
16423    pub fn closing(Region: Hobject, StructElement: Hobject, RegionClosing: *mut Hobject) -> Herror;
16424}
16425unsafe extern "C" {
16426    pub fn T_opening_seg(
16427        Region: Hobject,
16428        StructElement: Hobject,
16429        RegionOpening: *mut Hobject,
16430    ) -> Herror;
16431}
16432unsafe extern "C" {
16433    pub fn opening_seg(
16434        Region: Hobject,
16435        StructElement: Hobject,
16436        RegionOpening: *mut Hobject,
16437    ) -> Herror;
16438}
16439unsafe extern "C" {
16440    pub fn T_opening_golay(
16441        Region: Hobject,
16442        RegionOpening: *mut Hobject,
16443        GolayElement: Htuple,
16444        Rotation: Htuple,
16445    ) -> Herror;
16446}
16447unsafe extern "C" {
16448    pub fn opening_golay(
16449        Region: Hobject,
16450        RegionOpening: *mut Hobject,
16451        GolayElement: *const ::std::os::raw::c_char,
16452        Rotation: Hlong,
16453    ) -> Herror;
16454}
16455unsafe extern "C" {
16456    pub fn T_opening_rectangle1(
16457        Region: Hobject,
16458        RegionOpening: *mut Hobject,
16459        Width: Htuple,
16460        Height: Htuple,
16461    ) -> Herror;
16462}
16463unsafe extern "C" {
16464    pub fn opening_rectangle1(
16465        Region: Hobject,
16466        RegionOpening: *mut Hobject,
16467        Width: Hlong,
16468        Height: Hlong,
16469    ) -> Herror;
16470}
16471unsafe extern "C" {
16472    pub fn T_opening_circle(Region: Hobject, RegionOpening: *mut Hobject, Radius: Htuple)
16473    -> Herror;
16474}
16475unsafe extern "C" {
16476    pub fn opening_circle(Region: Hobject, RegionOpening: *mut Hobject, Radius: f64) -> Herror;
16477}
16478unsafe extern "C" {
16479    pub fn T_opening(
16480        Region: Hobject,
16481        StructElement: Hobject,
16482        RegionOpening: *mut Hobject,
16483    ) -> Herror;
16484}
16485unsafe extern "C" {
16486    pub fn opening(Region: Hobject, StructElement: Hobject, RegionOpening: *mut Hobject) -> Herror;
16487}
16488unsafe extern "C" {
16489    pub fn T_erosion_seq(
16490        Region: Hobject,
16491        RegionErosion: *mut Hobject,
16492        GolayElement: Htuple,
16493        Iterations: Htuple,
16494    ) -> Herror;
16495}
16496unsafe extern "C" {
16497    pub fn erosion_seq(
16498        Region: Hobject,
16499        RegionErosion: *mut Hobject,
16500        GolayElement: *const ::std::os::raw::c_char,
16501        Iterations: Hlong,
16502    ) -> Herror;
16503}
16504unsafe extern "C" {
16505    pub fn T_erosion_golay(
16506        Region: Hobject,
16507        RegionErosion: *mut Hobject,
16508        GolayElement: Htuple,
16509        Iterations: Htuple,
16510        Rotation: Htuple,
16511    ) -> Herror;
16512}
16513unsafe extern "C" {
16514    pub fn erosion_golay(
16515        Region: Hobject,
16516        RegionErosion: *mut Hobject,
16517        GolayElement: *const ::std::os::raw::c_char,
16518        Iterations: Hlong,
16519        Rotation: Hlong,
16520    ) -> Herror;
16521}
16522unsafe extern "C" {
16523    pub fn T_erosion_rectangle1(
16524        Region: Hobject,
16525        RegionErosion: *mut Hobject,
16526        Width: Htuple,
16527        Height: Htuple,
16528    ) -> Herror;
16529}
16530unsafe extern "C" {
16531    pub fn erosion_rectangle1(
16532        Region: Hobject,
16533        RegionErosion: *mut Hobject,
16534        Width: Hlong,
16535        Height: Hlong,
16536    ) -> Herror;
16537}
16538unsafe extern "C" {
16539    pub fn T_erosion_circle(Region: Hobject, RegionErosion: *mut Hobject, Radius: Htuple)
16540    -> Herror;
16541}
16542unsafe extern "C" {
16543    pub fn erosion_circle(Region: Hobject, RegionErosion: *mut Hobject, Radius: f64) -> Herror;
16544}
16545unsafe extern "C" {
16546    pub fn T_erosion2(
16547        Region: Hobject,
16548        StructElement: Hobject,
16549        RegionErosion: *mut Hobject,
16550        Row: Htuple,
16551        Column: Htuple,
16552        Iterations: Htuple,
16553    ) -> Herror;
16554}
16555unsafe extern "C" {
16556    pub fn erosion2(
16557        Region: Hobject,
16558        StructElement: Hobject,
16559        RegionErosion: *mut Hobject,
16560        Row: Hlong,
16561        Column: Hlong,
16562        Iterations: Hlong,
16563    ) -> Herror;
16564}
16565unsafe extern "C" {
16566    pub fn T_erosion1(
16567        Region: Hobject,
16568        StructElement: Hobject,
16569        RegionErosion: *mut Hobject,
16570        Iterations: Htuple,
16571    ) -> Herror;
16572}
16573unsafe extern "C" {
16574    pub fn erosion1(
16575        Region: Hobject,
16576        StructElement: Hobject,
16577        RegionErosion: *mut Hobject,
16578        Iterations: Hlong,
16579    ) -> Herror;
16580}
16581unsafe extern "C" {
16582    pub fn T_dilation_seq(
16583        Region: Hobject,
16584        RegionDilation: *mut Hobject,
16585        GolayElement: Htuple,
16586        Iterations: Htuple,
16587    ) -> Herror;
16588}
16589unsafe extern "C" {
16590    pub fn dilation_seq(
16591        Region: Hobject,
16592        RegionDilation: *mut Hobject,
16593        GolayElement: *const ::std::os::raw::c_char,
16594        Iterations: Hlong,
16595    ) -> Herror;
16596}
16597unsafe extern "C" {
16598    pub fn T_dilation_golay(
16599        Region: Hobject,
16600        RegionDilation: *mut Hobject,
16601        GolayElement: Htuple,
16602        Iterations: Htuple,
16603        Rotation: Htuple,
16604    ) -> Herror;
16605}
16606unsafe extern "C" {
16607    pub fn dilation_golay(
16608        Region: Hobject,
16609        RegionDilation: *mut Hobject,
16610        GolayElement: *const ::std::os::raw::c_char,
16611        Iterations: Hlong,
16612        Rotation: Hlong,
16613    ) -> Herror;
16614}
16615unsafe extern "C" {
16616    pub fn T_dilation_rectangle1(
16617        Region: Hobject,
16618        RegionDilation: *mut Hobject,
16619        Width: Htuple,
16620        Height: Htuple,
16621    ) -> Herror;
16622}
16623unsafe extern "C" {
16624    pub fn dilation_rectangle1(
16625        Region: Hobject,
16626        RegionDilation: *mut Hobject,
16627        Width: Hlong,
16628        Height: Hlong,
16629    ) -> Herror;
16630}
16631unsafe extern "C" {
16632    pub fn T_dilation_circle(
16633        Region: Hobject,
16634        RegionDilation: *mut Hobject,
16635        Radius: Htuple,
16636    ) -> Herror;
16637}
16638unsafe extern "C" {
16639    pub fn dilation_circle(Region: Hobject, RegionDilation: *mut Hobject, Radius: f64) -> Herror;
16640}
16641unsafe extern "C" {
16642    pub fn T_dilation2(
16643        Region: Hobject,
16644        StructElement: Hobject,
16645        RegionDilation: *mut Hobject,
16646        Row: Htuple,
16647        Column: Htuple,
16648        Iterations: Htuple,
16649    ) -> Herror;
16650}
16651unsafe extern "C" {
16652    pub fn dilation2(
16653        Region: Hobject,
16654        StructElement: Hobject,
16655        RegionDilation: *mut Hobject,
16656        Row: Hlong,
16657        Column: Hlong,
16658        Iterations: Hlong,
16659    ) -> Herror;
16660}
16661unsafe extern "C" {
16662    pub fn T_dilation1(
16663        Region: Hobject,
16664        StructElement: Hobject,
16665        RegionDilation: *mut Hobject,
16666        Iterations: Htuple,
16667    ) -> Herror;
16668}
16669unsafe extern "C" {
16670    pub fn dilation1(
16671        Region: Hobject,
16672        StructElement: Hobject,
16673        RegionDilation: *mut Hobject,
16674        Iterations: Hlong,
16675    ) -> Herror;
16676}
16677unsafe extern "C" {
16678    pub fn T_gray_bothat(Image: Hobject, SE: Hobject, ImageBotHat: *mut Hobject) -> Herror;
16679}
16680unsafe extern "C" {
16681    pub fn gray_bothat(Image: Hobject, SE: Hobject, ImageBotHat: *mut Hobject) -> Herror;
16682}
16683unsafe extern "C" {
16684    pub fn T_gray_tophat(Image: Hobject, SE: Hobject, ImageTopHat: *mut Hobject) -> Herror;
16685}
16686unsafe extern "C" {
16687    pub fn gray_tophat(Image: Hobject, SE: Hobject, ImageTopHat: *mut Hobject) -> Herror;
16688}
16689unsafe extern "C" {
16690    pub fn T_gray_closing(Image: Hobject, SE: Hobject, ImageClosing: *mut Hobject) -> Herror;
16691}
16692unsafe extern "C" {
16693    pub fn gray_closing(Image: Hobject, SE: Hobject, ImageClosing: *mut Hobject) -> Herror;
16694}
16695unsafe extern "C" {
16696    pub fn T_gray_opening(Image: Hobject, SE: Hobject, ImageOpening: *mut Hobject) -> Herror;
16697}
16698unsafe extern "C" {
16699    pub fn gray_opening(Image: Hobject, SE: Hobject, ImageOpening: *mut Hobject) -> Herror;
16700}
16701unsafe extern "C" {
16702    pub fn T_gray_dilation(Image: Hobject, SE: Hobject, ImageDilation: *mut Hobject) -> Herror;
16703}
16704unsafe extern "C" {
16705    pub fn gray_dilation(Image: Hobject, SE: Hobject, ImageDilation: *mut Hobject) -> Herror;
16706}
16707unsafe extern "C" {
16708    pub fn T_gray_erosion(Image: Hobject, SE: Hobject, ImageErosion: *mut Hobject) -> Herror;
16709}
16710unsafe extern "C" {
16711    pub fn gray_erosion(Image: Hobject, SE: Hobject, ImageErosion: *mut Hobject) -> Herror;
16712}
16713unsafe extern "C" {
16714    pub fn T_read_gray_se(SE: *mut Hobject, FileName: Htuple) -> Herror;
16715}
16716unsafe extern "C" {
16717    pub fn read_gray_se(SE: *mut Hobject, FileName: *const ::std::os::raw::c_char) -> Herror;
16718}
16719unsafe extern "C" {
16720    pub fn T_gen_disc_se(
16721        SE: *mut Hobject,
16722        Type: Htuple,
16723        Width: Htuple,
16724        Height: Htuple,
16725        Smax: Htuple,
16726    ) -> Herror;
16727}
16728unsafe extern "C" {
16729    pub fn gen_disc_se(
16730        SE: *mut Hobject,
16731        Type: *const ::std::os::raw::c_char,
16732        Width: Hlong,
16733        Height: Hlong,
16734        Smax: f64,
16735    ) -> Herror;
16736}
16737unsafe extern "C" {
16738    pub fn T_get_metrology_object_model_contour(
16739        Contour: *mut Hobject,
16740        MetrologyHandle: Htuple,
16741        Index: Htuple,
16742        Resolution: Htuple,
16743    ) -> Herror;
16744}
16745unsafe extern "C" {
16746    pub fn get_metrology_object_model_contour(
16747        Contour: *mut Hobject,
16748        MetrologyHandle: Hlong,
16749        Index: Hlong,
16750        Resolution: f64,
16751    ) -> Herror;
16752}
16753unsafe extern "C" {
16754    pub fn T_get_metrology_object_result_contour(
16755        Contour: *mut Hobject,
16756        MetrologyHandle: Htuple,
16757        Index: Htuple,
16758        Instance: Htuple,
16759        Resolution: Htuple,
16760    ) -> Herror;
16761}
16762unsafe extern "C" {
16763    pub fn get_metrology_object_result_contour(
16764        Contour: *mut Hobject,
16765        MetrologyHandle: Hlong,
16766        Index: Hlong,
16767        Instance: *const ::std::os::raw::c_char,
16768        Resolution: f64,
16769    ) -> Herror;
16770}
16771unsafe extern "C" {
16772    pub fn T_align_metrology_model(
16773        MetrologyHandle: Htuple,
16774        Row: Htuple,
16775        Column: Htuple,
16776        Angle: Htuple,
16777    ) -> Herror;
16778}
16779unsafe extern "C" {
16780    pub fn align_metrology_model(
16781        MetrologyHandle: Hlong,
16782        Row: f64,
16783        Column: f64,
16784        Angle: f64,
16785    ) -> Herror;
16786}
16787unsafe extern "C" {
16788    pub fn T_add_metrology_object_generic(
16789        MetrologyHandle: Htuple,
16790        Shape: Htuple,
16791        ShapeParam: Htuple,
16792        MeasureLength1: Htuple,
16793        MeasureLength2: Htuple,
16794        MeasureSigma: Htuple,
16795        MeasureThreshold: Htuple,
16796        GenParamName: Htuple,
16797        GenParamValue: Htuple,
16798        Index: *mut Htuple,
16799    ) -> Herror;
16800}
16801unsafe extern "C" {
16802    pub fn T_get_metrology_model_param(
16803        MetrologyHandle: Htuple,
16804        GenParamName: Htuple,
16805        GenParamValue: *mut Htuple,
16806    ) -> Herror;
16807}
16808unsafe extern "C" {
16809    pub fn get_metrology_model_param(
16810        MetrologyHandle: Hlong,
16811        GenParamName: *const ::std::os::raw::c_char,
16812        GenParamValue: *mut ::std::os::raw::c_char,
16813    ) -> Herror;
16814}
16815unsafe extern "C" {
16816    pub fn T_set_metrology_model_param(
16817        MetrologyHandle: Htuple,
16818        GenParamName: Htuple,
16819        GenParamValue: Htuple,
16820    ) -> Herror;
16821}
16822unsafe extern "C" {
16823    pub fn set_metrology_model_param(
16824        MetrologyHandle: Hlong,
16825        GenParamName: *const ::std::os::raw::c_char,
16826        GenParamValue: *const ::std::os::raw::c_char,
16827    ) -> Herror;
16828}
16829unsafe extern "C" {
16830    pub fn T_deserialize_metrology_model(
16831        SerializedItemHandle: Htuple,
16832        MetrologyHandle: *mut Htuple,
16833    ) -> Herror;
16834}
16835unsafe extern "C" {
16836    pub fn deserialize_metrology_model(
16837        SerializedItemHandle: Hlong,
16838        MetrologyHandle: *mut Hlong,
16839    ) -> Herror;
16840}
16841unsafe extern "C" {
16842    pub fn T_serialize_metrology_model(
16843        MetrologyHandle: Htuple,
16844        SerializedItemHandle: *mut Htuple,
16845    ) -> Herror;
16846}
16847unsafe extern "C" {
16848    pub fn serialize_metrology_model(
16849        MetrologyHandle: Hlong,
16850        SerializedItemHandle: *mut Hlong,
16851    ) -> Herror;
16852}
16853unsafe extern "C" {
16854    pub fn T_transform_metrology_object(
16855        MetrologyHandle: Htuple,
16856        Index: Htuple,
16857        Row: Htuple,
16858        Column: Htuple,
16859        Phi: Htuple,
16860        Mode: Htuple,
16861    ) -> Herror;
16862}
16863unsafe extern "C" {
16864    pub fn transform_metrology_object(
16865        MetrologyHandle: Hlong,
16866        Index: *const ::std::os::raw::c_char,
16867        Row: f64,
16868        Column: f64,
16869        Phi: f64,
16870        Mode: *const ::std::os::raw::c_char,
16871    ) -> Herror;
16872}
16873unsafe extern "C" {
16874    pub fn T_write_metrology_model(MetrologyHandle: Htuple, FileName: Htuple) -> Herror;
16875}
16876unsafe extern "C" {
16877    pub fn write_metrology_model(
16878        MetrologyHandle: Hlong,
16879        FileName: *const ::std::os::raw::c_char,
16880    ) -> Herror;
16881}
16882unsafe extern "C" {
16883    pub fn T_read_metrology_model(FileName: Htuple, MetrologyHandle: *mut Htuple) -> Herror;
16884}
16885unsafe extern "C" {
16886    pub fn read_metrology_model(
16887        FileName: *const ::std::os::raw::c_char,
16888        MetrologyHandle: *mut Hlong,
16889    ) -> Herror;
16890}
16891unsafe extern "C" {
16892    pub fn T_copy_metrology_model(
16893        MetrologyHandle: Htuple,
16894        Index: Htuple,
16895        CopiedMetrologyHandle: *mut Htuple,
16896    ) -> Herror;
16897}
16898unsafe extern "C" {
16899    pub fn copy_metrology_model(
16900        MetrologyHandle: Hlong,
16901        Index: *const ::std::os::raw::c_char,
16902        CopiedMetrologyHandle: *mut Hlong,
16903    ) -> Herror;
16904}
16905unsafe extern "C" {
16906    pub fn T_copy_metrology_object(
16907        MetrologyHandle: Htuple,
16908        Index: Htuple,
16909        CopiedIndices: *mut Htuple,
16910    ) -> Herror;
16911}
16912unsafe extern "C" {
16913    pub fn copy_metrology_object(
16914        MetrologyHandle: Hlong,
16915        Index: *const ::std::os::raw::c_char,
16916        CopiedIndices: *mut Hlong,
16917    ) -> Herror;
16918}
16919unsafe extern "C" {
16920    pub fn T_get_metrology_object_num_instances(
16921        MetrologyHandle: Htuple,
16922        Index: Htuple,
16923        NumInstances: *mut Htuple,
16924    ) -> Herror;
16925}
16926unsafe extern "C" {
16927    pub fn get_metrology_object_num_instances(
16928        MetrologyHandle: Hlong,
16929        Index: Hlong,
16930        NumInstances: *mut f64,
16931    ) -> Herror;
16932}
16933unsafe extern "C" {
16934    pub fn T_get_metrology_object_result(
16935        MetrologyHandle: Htuple,
16936        Index: Htuple,
16937        Instance: Htuple,
16938        GenParamName: Htuple,
16939        GenParamValue: Htuple,
16940        Parameter: *mut Htuple,
16941    ) -> Herror;
16942}
16943unsafe extern "C" {
16944    pub fn T_get_metrology_object_measures(
16945        Contours: *mut Hobject,
16946        MetrologyHandle: Htuple,
16947        Index: Htuple,
16948        Transition: Htuple,
16949        Row: *mut Htuple,
16950        Column: *mut Htuple,
16951    ) -> Herror;
16952}
16953unsafe extern "C" {
16954    pub fn T_apply_metrology_model(Image: Hobject, MetrologyHandle: Htuple) -> Herror;
16955}
16956unsafe extern "C" {
16957    pub fn apply_metrology_model(Image: Hobject, MetrologyHandle: Hlong) -> Herror;
16958}
16959unsafe extern "C" {
16960    pub fn T_get_metrology_object_indices(MetrologyHandle: Htuple, Indices: *mut Htuple) -> Herror;
16961}
16962unsafe extern "C" {
16963    pub fn get_metrology_object_indices(MetrologyHandle: Hlong, Indices: *mut Hlong) -> Herror;
16964}
16965unsafe extern "C" {
16966    pub fn T_reset_metrology_object_fuzzy_param(MetrologyHandle: Htuple, Index: Htuple) -> Herror;
16967}
16968unsafe extern "C" {
16969    pub fn reset_metrology_object_fuzzy_param(
16970        MetrologyHandle: Hlong,
16971        Index: *const ::std::os::raw::c_char,
16972    ) -> Herror;
16973}
16974unsafe extern "C" {
16975    pub fn T_reset_metrology_object_param(MetrologyHandle: Htuple, Index: Htuple) -> Herror;
16976}
16977unsafe extern "C" {
16978    pub fn reset_metrology_object_param(
16979        MetrologyHandle: Hlong,
16980        Index: *const ::std::os::raw::c_char,
16981    ) -> Herror;
16982}
16983unsafe extern "C" {
16984    pub fn T_get_metrology_object_fuzzy_param(
16985        MetrologyHandle: Htuple,
16986        Index: Htuple,
16987        GenParamName: Htuple,
16988        GenParamValue: *mut Htuple,
16989    ) -> Herror;
16990}
16991unsafe extern "C" {
16992    pub fn T_get_metrology_object_param(
16993        MetrologyHandle: Htuple,
16994        Index: Htuple,
16995        GenParamName: Htuple,
16996        GenParamValue: *mut Htuple,
16997    ) -> Herror;
16998}
16999unsafe extern "C" {
17000    pub fn T_set_metrology_object_fuzzy_param(
17001        MetrologyHandle: Htuple,
17002        Index: Htuple,
17003        GenParamName: Htuple,
17004        GenParamValue: Htuple,
17005    ) -> Herror;
17006}
17007unsafe extern "C" {
17008    pub fn T_set_metrology_object_param(
17009        MetrologyHandle: Htuple,
17010        Index: Htuple,
17011        GenParamName: Htuple,
17012        GenParamValue: Htuple,
17013    ) -> Herror;
17014}
17015unsafe extern "C" {
17016    pub fn T_add_metrology_object_rectangle2_measure(
17017        MetrologyHandle: Htuple,
17018        Row: Htuple,
17019        Column: Htuple,
17020        Phi: Htuple,
17021        Length1: Htuple,
17022        Length2: Htuple,
17023        MeasureLength1: Htuple,
17024        MeasureLength2: Htuple,
17025        MeasureSigma: Htuple,
17026        MeasureThreshold: Htuple,
17027        GenParamName: Htuple,
17028        GenParamValue: Htuple,
17029        Index: *mut Htuple,
17030    ) -> Herror;
17031}
17032unsafe extern "C" {
17033    pub fn T_add_metrology_object_line_measure(
17034        MetrologyHandle: Htuple,
17035        RowBegin: Htuple,
17036        ColumnBegin: Htuple,
17037        RowEnd: Htuple,
17038        ColumnEnd: Htuple,
17039        MeasureLength1: Htuple,
17040        MeasureLength2: Htuple,
17041        MeasureSigma: Htuple,
17042        MeasureThreshold: Htuple,
17043        GenParamName: Htuple,
17044        GenParamValue: Htuple,
17045        Index: *mut Htuple,
17046    ) -> Herror;
17047}
17048unsafe extern "C" {
17049    pub fn T_add_metrology_object_ellipse_measure(
17050        MetrologyHandle: Htuple,
17051        Row: Htuple,
17052        Column: Htuple,
17053        Phi: Htuple,
17054        Radius1: Htuple,
17055        Radius2: Htuple,
17056        MeasureLength1: Htuple,
17057        MeasureLength2: Htuple,
17058        MeasureSigma: Htuple,
17059        MeasureThreshold: Htuple,
17060        GenParamName: Htuple,
17061        GenParamValue: Htuple,
17062        Index: *mut Htuple,
17063    ) -> Herror;
17064}
17065unsafe extern "C" {
17066    pub fn T_add_metrology_object_circle_measure(
17067        MetrologyHandle: Htuple,
17068        Row: Htuple,
17069        Column: Htuple,
17070        Radius: Htuple,
17071        MeasureLength1: Htuple,
17072        MeasureLength2: Htuple,
17073        MeasureSigma: Htuple,
17074        MeasureThreshold: Htuple,
17075        GenParamName: Htuple,
17076        GenParamValue: Htuple,
17077        Index: *mut Htuple,
17078    ) -> Herror;
17079}
17080unsafe extern "C" {
17081    pub fn T_clear_all_metrology_models() -> Herror;
17082}
17083unsafe extern "C" {
17084    pub fn clear_all_metrology_models() -> Herror;
17085}
17086unsafe extern "C" {
17087    pub fn T_clear_metrology_model(MetrologyHandle: Htuple) -> Herror;
17088}
17089unsafe extern "C" {
17090    pub fn clear_metrology_model(MetrologyHandle: Hlong) -> Herror;
17091}
17092unsafe extern "C" {
17093    pub fn T_clear_metrology_object(MetrologyHandle: Htuple, Index: Htuple) -> Herror;
17094}
17095unsafe extern "C" {
17096    pub fn clear_metrology_object(
17097        MetrologyHandle: Hlong,
17098        Index: *const ::std::os::raw::c_char,
17099    ) -> Herror;
17100}
17101unsafe extern "C" {
17102    pub fn T_set_metrology_model_image_size(
17103        MetrologyHandle: Htuple,
17104        Width: Htuple,
17105        Height: Htuple,
17106    ) -> Herror;
17107}
17108unsafe extern "C" {
17109    pub fn set_metrology_model_image_size(
17110        MetrologyHandle: Hlong,
17111        Width: Hlong,
17112        Height: Hlong,
17113    ) -> Herror;
17114}
17115unsafe extern "C" {
17116    pub fn T_create_metrology_model(MetrologyHandle: *mut Htuple) -> Herror;
17117}
17118unsafe extern "C" {
17119    pub fn create_metrology_model(MetrologyHandle: *mut Hlong) -> Herror;
17120}
17121unsafe extern "C" {
17122    pub fn T_serialize_measure(MeasureHandle: Htuple, SerializedItemHandle: *mut Htuple) -> Herror;
17123}
17124unsafe extern "C" {
17125    pub fn serialize_measure(MeasureHandle: Hlong, SerializedItemHandle: *mut Hlong) -> Herror;
17126}
17127unsafe extern "C" {
17128    pub fn T_deserialize_measure(
17129        SerializedItemHandle: Htuple,
17130        MeasureHandle: *mut Htuple,
17131    ) -> Herror;
17132}
17133unsafe extern "C" {
17134    pub fn deserialize_measure(SerializedItemHandle: Hlong, MeasureHandle: *mut Hlong) -> Herror;
17135}
17136unsafe extern "C" {
17137    pub fn T_write_measure(MeasureHandle: Htuple, FileName: Htuple) -> Herror;
17138}
17139unsafe extern "C" {
17140    pub fn write_measure(MeasureHandle: Hlong, FileName: *const ::std::os::raw::c_char) -> Herror;
17141}
17142unsafe extern "C" {
17143    pub fn T_read_measure(FileName: Htuple, MeasureHandle: *mut Htuple) -> Herror;
17144}
17145unsafe extern "C" {
17146    pub fn read_measure(
17147        FileName: *const ::std::os::raw::c_char,
17148        MeasureHandle: *mut Hlong,
17149    ) -> Herror;
17150}
17151unsafe extern "C" {
17152    pub fn T_measure_thresh(
17153        Image: Hobject,
17154        MeasureHandle: Htuple,
17155        Sigma: Htuple,
17156        Threshold: Htuple,
17157        Select: Htuple,
17158        RowThresh: *mut Htuple,
17159        ColumnThresh: *mut Htuple,
17160        Distance: *mut Htuple,
17161    ) -> Herror;
17162}
17163unsafe extern "C" {
17164    pub fn T_close_all_measures() -> Herror;
17165}
17166unsafe extern "C" {
17167    pub fn close_all_measures() -> Herror;
17168}
17169unsafe extern "C" {
17170    pub fn T_close_measure(MeasureHandle: Htuple) -> Herror;
17171}
17172unsafe extern "C" {
17173    pub fn close_measure(MeasureHandle: Hlong) -> Herror;
17174}
17175unsafe extern "C" {
17176    pub fn T_measure_projection(
17177        Image: Hobject,
17178        MeasureHandle: Htuple,
17179        GrayValues: *mut Htuple,
17180    ) -> Herror;
17181}
17182unsafe extern "C" {
17183    pub fn T_reset_fuzzy_measure(MeasureHandle: Htuple, SetType: Htuple) -> Herror;
17184}
17185unsafe extern "C" {
17186    pub fn reset_fuzzy_measure(
17187        MeasureHandle: Hlong,
17188        SetType: *const ::std::os::raw::c_char,
17189    ) -> Herror;
17190}
17191unsafe extern "C" {
17192    pub fn T_set_fuzzy_measure_norm_pair(
17193        MeasureHandle: Htuple,
17194        PairSize: Htuple,
17195        SetType: Htuple,
17196        Function: Htuple,
17197    ) -> Herror;
17198}
17199unsafe extern "C" {
17200    pub fn T_set_fuzzy_measure(MeasureHandle: Htuple, SetType: Htuple, Function: Htuple) -> Herror;
17201}
17202unsafe extern "C" {
17203    pub fn T_fuzzy_measure_pairing(
17204        Image: Hobject,
17205        MeasureHandle: Htuple,
17206        Sigma: Htuple,
17207        AmpThresh: Htuple,
17208        FuzzyThresh: Htuple,
17209        Transition: Htuple,
17210        Pairing: Htuple,
17211        NumPairs: Htuple,
17212        RowEdgeFirst: *mut Htuple,
17213        ColumnEdgeFirst: *mut Htuple,
17214        AmplitudeFirst: *mut Htuple,
17215        RowEdgeSecond: *mut Htuple,
17216        ColumnEdgeSecond: *mut Htuple,
17217        AmplitudeSecond: *mut Htuple,
17218        RowPairCenter: *mut Htuple,
17219        ColumnPairCenter: *mut Htuple,
17220        FuzzyScore: *mut Htuple,
17221        IntraDistance: *mut Htuple,
17222    ) -> Herror;
17223}
17224unsafe extern "C" {
17225    pub fn T_fuzzy_measure_pairs(
17226        Image: Hobject,
17227        MeasureHandle: Htuple,
17228        Sigma: Htuple,
17229        AmpThresh: Htuple,
17230        FuzzyThresh: Htuple,
17231        Transition: Htuple,
17232        RowEdgeFirst: *mut Htuple,
17233        ColumnEdgeFirst: *mut Htuple,
17234        AmplitudeFirst: *mut Htuple,
17235        RowEdgeSecond: *mut Htuple,
17236        ColumnEdgeSecond: *mut Htuple,
17237        AmplitudeSecond: *mut Htuple,
17238        RowEdgeCenter: *mut Htuple,
17239        ColumnEdgeCenter: *mut Htuple,
17240        FuzzyScore: *mut Htuple,
17241        IntraDistance: *mut Htuple,
17242        InterDistance: *mut Htuple,
17243    ) -> Herror;
17244}
17245unsafe extern "C" {
17246    pub fn T_fuzzy_measure_pos(
17247        Image: Hobject,
17248        MeasureHandle: Htuple,
17249        Sigma: Htuple,
17250        AmpThresh: Htuple,
17251        FuzzyThresh: Htuple,
17252        Transition: Htuple,
17253        RowEdge: *mut Htuple,
17254        ColumnEdge: *mut Htuple,
17255        Amplitude: *mut Htuple,
17256        FuzzyScore: *mut Htuple,
17257        Distance: *mut Htuple,
17258    ) -> Herror;
17259}
17260unsafe extern "C" {
17261    pub fn T_measure_pairs(
17262        Image: Hobject,
17263        MeasureHandle: Htuple,
17264        Sigma: Htuple,
17265        Threshold: Htuple,
17266        Transition: Htuple,
17267        Select: Htuple,
17268        RowEdgeFirst: *mut Htuple,
17269        ColumnEdgeFirst: *mut Htuple,
17270        AmplitudeFirst: *mut Htuple,
17271        RowEdgeSecond: *mut Htuple,
17272        ColumnEdgeSecond: *mut Htuple,
17273        AmplitudeSecond: *mut Htuple,
17274        IntraDistance: *mut Htuple,
17275        InterDistance: *mut Htuple,
17276    ) -> Herror;
17277}
17278unsafe extern "C" {
17279    pub fn T_measure_pos(
17280        Image: Hobject,
17281        MeasureHandle: Htuple,
17282        Sigma: Htuple,
17283        Threshold: Htuple,
17284        Transition: Htuple,
17285        Select: Htuple,
17286        RowEdge: *mut Htuple,
17287        ColumnEdge: *mut Htuple,
17288        Amplitude: *mut Htuple,
17289        Distance: *mut Htuple,
17290    ) -> Herror;
17291}
17292unsafe extern "C" {
17293    pub fn T_translate_measure(MeasureHandle: Htuple, Row: Htuple, Column: Htuple) -> Herror;
17294}
17295unsafe extern "C" {
17296    pub fn translate_measure(MeasureHandle: Hlong, Row: f64, Column: f64) -> Herror;
17297}
17298unsafe extern "C" {
17299    pub fn T_gen_measure_arc(
17300        CenterRow: Htuple,
17301        CenterCol: Htuple,
17302        Radius: Htuple,
17303        AngleStart: Htuple,
17304        AngleExtent: Htuple,
17305        AnnulusRadius: Htuple,
17306        Width: Htuple,
17307        Height: Htuple,
17308        Interpolation: Htuple,
17309        MeasureHandle: *mut Htuple,
17310    ) -> Herror;
17311}
17312unsafe extern "C" {
17313    pub fn gen_measure_arc(
17314        CenterRow: f64,
17315        CenterCol: f64,
17316        Radius: f64,
17317        AngleStart: f64,
17318        AngleExtent: f64,
17319        AnnulusRadius: f64,
17320        Width: Hlong,
17321        Height: Hlong,
17322        Interpolation: *const ::std::os::raw::c_char,
17323        MeasureHandle: *mut Hlong,
17324    ) -> Herror;
17325}
17326unsafe extern "C" {
17327    pub fn T_gen_measure_rectangle2(
17328        Row: Htuple,
17329        Column: Htuple,
17330        Phi: Htuple,
17331        Length1: Htuple,
17332        Length2: Htuple,
17333        Width: Htuple,
17334        Height: Htuple,
17335        Interpolation: Htuple,
17336        MeasureHandle: *mut Htuple,
17337    ) -> Herror;
17338}
17339unsafe extern "C" {
17340    pub fn gen_measure_rectangle2(
17341        Row: f64,
17342        Column: f64,
17343        Phi: f64,
17344        Length1: f64,
17345        Length2: f64,
17346        Width: Hlong,
17347        Height: Hlong,
17348        Interpolation: *const ::std::os::raw::c_char,
17349        MeasureHandle: *mut Hlong,
17350    ) -> Herror;
17351}
17352unsafe extern "C" {
17353    pub fn T_deserialize_matrix(SerializedItemHandle: Htuple, MatrixID: *mut Htuple) -> Herror;
17354}
17355unsafe extern "C" {
17356    pub fn deserialize_matrix(SerializedItemHandle: Hlong, MatrixID: *mut Hlong) -> Herror;
17357}
17358unsafe extern "C" {
17359    pub fn T_serialize_matrix(MatrixID: Htuple, SerializedItemHandle: *mut Htuple) -> Herror;
17360}
17361unsafe extern "C" {
17362    pub fn serialize_matrix(MatrixID: Hlong, SerializedItemHandle: *mut Hlong) -> Herror;
17363}
17364unsafe extern "C" {
17365    pub fn T_read_matrix(FileName: Htuple, MatrixID: *mut Htuple) -> Herror;
17366}
17367unsafe extern "C" {
17368    pub fn read_matrix(FileName: *const ::std::os::raw::c_char, MatrixID: *mut Hlong) -> Herror;
17369}
17370unsafe extern "C" {
17371    pub fn T_write_matrix(MatrixID: Htuple, FileFormat: Htuple, FileName: Htuple) -> Herror;
17372}
17373unsafe extern "C" {
17374    pub fn write_matrix(
17375        MatrixID: Hlong,
17376        FileFormat: *const ::std::os::raw::c_char,
17377        FileName: *const ::std::os::raw::c_char,
17378    ) -> Herror;
17379}
17380unsafe extern "C" {
17381    pub fn T_orthogonal_decompose_matrix(
17382        MatrixID: Htuple,
17383        DecompositionType: Htuple,
17384        OutputMatricesType: Htuple,
17385        ComputeOrthogonal: Htuple,
17386        MatrixOrthogonalID: *mut Htuple,
17387        MatrixTriangularID: *mut Htuple,
17388    ) -> Herror;
17389}
17390unsafe extern "C" {
17391    pub fn orthogonal_decompose_matrix(
17392        MatrixID: Hlong,
17393        DecompositionType: *const ::std::os::raw::c_char,
17394        OutputMatricesType: *const ::std::os::raw::c_char,
17395        ComputeOrthogonal: *const ::std::os::raw::c_char,
17396        MatrixOrthogonalID: *mut Hlong,
17397        MatrixTriangularID: *mut Hlong,
17398    ) -> Herror;
17399}
17400unsafe extern "C" {
17401    pub fn T_decompose_matrix(
17402        MatrixID: Htuple,
17403        MatrixType: Htuple,
17404        Matrix1ID: *mut Htuple,
17405        Matrix2ID: *mut Htuple,
17406    ) -> Herror;
17407}
17408unsafe extern "C" {
17409    pub fn decompose_matrix(
17410        MatrixID: Hlong,
17411        MatrixType: *const ::std::os::raw::c_char,
17412        Matrix1ID: *mut Hlong,
17413        Matrix2ID: *mut Hlong,
17414    ) -> Herror;
17415}
17416unsafe extern "C" {
17417    pub fn T_svd_matrix(
17418        MatrixID: Htuple,
17419        SVDType: Htuple,
17420        ComputeSingularVectors: Htuple,
17421        MatrixUID: *mut Htuple,
17422        MatrixSID: *mut Htuple,
17423        MatrixVID: *mut Htuple,
17424    ) -> Herror;
17425}
17426unsafe extern "C" {
17427    pub fn svd_matrix(
17428        MatrixID: Hlong,
17429        SVDType: *const ::std::os::raw::c_char,
17430        ComputeSingularVectors: *const ::std::os::raw::c_char,
17431        MatrixUID: *mut Hlong,
17432        MatrixSID: *mut Hlong,
17433        MatrixVID: *mut Hlong,
17434    ) -> Herror;
17435}
17436unsafe extern "C" {
17437    pub fn T_generalized_eigenvalues_general_matrix(
17438        MatrixAID: Htuple,
17439        MatrixBID: Htuple,
17440        ComputeEigenvectors: Htuple,
17441        EigenvaluesRealID: *mut Htuple,
17442        EigenvaluesImagID: *mut Htuple,
17443        EigenvectorsRealID: *mut Htuple,
17444        EigenvectorsImagID: *mut Htuple,
17445    ) -> Herror;
17446}
17447unsafe extern "C" {
17448    pub fn generalized_eigenvalues_general_matrix(
17449        MatrixAID: Hlong,
17450        MatrixBID: Hlong,
17451        ComputeEigenvectors: *const ::std::os::raw::c_char,
17452        EigenvaluesRealID: *mut Hlong,
17453        EigenvaluesImagID: *mut Hlong,
17454        EigenvectorsRealID: *mut Hlong,
17455        EigenvectorsImagID: *mut Hlong,
17456    ) -> Herror;
17457}
17458unsafe extern "C" {
17459    pub fn T_generalized_eigenvalues_symmetric_matrix(
17460        MatrixAID: Htuple,
17461        MatrixBID: Htuple,
17462        ComputeEigenvectors: Htuple,
17463        EigenvaluesID: *mut Htuple,
17464        EigenvectorsID: *mut Htuple,
17465    ) -> Herror;
17466}
17467unsafe extern "C" {
17468    pub fn generalized_eigenvalues_symmetric_matrix(
17469        MatrixAID: Hlong,
17470        MatrixBID: Hlong,
17471        ComputeEigenvectors: *const ::std::os::raw::c_char,
17472        EigenvaluesID: *mut Hlong,
17473        EigenvectorsID: *mut Hlong,
17474    ) -> Herror;
17475}
17476unsafe extern "C" {
17477    pub fn T_eigenvalues_general_matrix(
17478        MatrixID: Htuple,
17479        ComputeEigenvectors: Htuple,
17480        EigenvaluesRealID: *mut Htuple,
17481        EigenvaluesImagID: *mut Htuple,
17482        EigenvectorsRealID: *mut Htuple,
17483        EigenvectorsImagID: *mut Htuple,
17484    ) -> Herror;
17485}
17486unsafe extern "C" {
17487    pub fn eigenvalues_general_matrix(
17488        MatrixID: Hlong,
17489        ComputeEigenvectors: *const ::std::os::raw::c_char,
17490        EigenvaluesRealID: *mut Hlong,
17491        EigenvaluesImagID: *mut Hlong,
17492        EigenvectorsRealID: *mut Hlong,
17493        EigenvectorsImagID: *mut Hlong,
17494    ) -> Herror;
17495}
17496unsafe extern "C" {
17497    pub fn T_eigenvalues_symmetric_matrix(
17498        MatrixID: Htuple,
17499        ComputeEigenvectors: Htuple,
17500        EigenvaluesID: *mut Htuple,
17501        EigenvectorsID: *mut Htuple,
17502    ) -> Herror;
17503}
17504unsafe extern "C" {
17505    pub fn eigenvalues_symmetric_matrix(
17506        MatrixID: Hlong,
17507        ComputeEigenvectors: *const ::std::os::raw::c_char,
17508        EigenvaluesID: *mut Hlong,
17509        EigenvectorsID: *mut Hlong,
17510    ) -> Herror;
17511}
17512unsafe extern "C" {
17513    pub fn T_solve_matrix(
17514        MatrixLHSID: Htuple,
17515        MatrixLHSType: Htuple,
17516        Epsilon: Htuple,
17517        MatrixRHSID: Htuple,
17518        MatrixResultID: *mut Htuple,
17519    ) -> Herror;
17520}
17521unsafe extern "C" {
17522    pub fn solve_matrix(
17523        MatrixLHSID: Hlong,
17524        MatrixLHSType: *const ::std::os::raw::c_char,
17525        Epsilon: f64,
17526        MatrixRHSID: Hlong,
17527        MatrixResultID: *mut Hlong,
17528    ) -> Herror;
17529}
17530unsafe extern "C" {
17531    pub fn T_determinant_matrix(MatrixID: Htuple, MatrixType: Htuple, Value: *mut Htuple)
17532    -> Herror;
17533}
17534unsafe extern "C" {
17535    pub fn determinant_matrix(
17536        MatrixID: Hlong,
17537        MatrixType: *const ::std::os::raw::c_char,
17538        Value: *mut f64,
17539    ) -> Herror;
17540}
17541unsafe extern "C" {
17542    pub fn T_invert_matrix_mod(MatrixID: Htuple, MatrixType: Htuple, Epsilon: Htuple) -> Herror;
17543}
17544unsafe extern "C" {
17545    pub fn invert_matrix_mod(
17546        MatrixID: Hlong,
17547        MatrixType: *const ::std::os::raw::c_char,
17548        Epsilon: f64,
17549    ) -> Herror;
17550}
17551unsafe extern "C" {
17552    pub fn T_invert_matrix(
17553        MatrixID: Htuple,
17554        MatrixType: Htuple,
17555        Epsilon: Htuple,
17556        MatrixInvID: *mut Htuple,
17557    ) -> Herror;
17558}
17559unsafe extern "C" {
17560    pub fn invert_matrix(
17561        MatrixID: Hlong,
17562        MatrixType: *const ::std::os::raw::c_char,
17563        Epsilon: f64,
17564        MatrixInvID: *mut Hlong,
17565    ) -> Herror;
17566}
17567unsafe extern "C" {
17568    pub fn T_transpose_matrix_mod(MatrixID: Htuple) -> Herror;
17569}
17570unsafe extern "C" {
17571    pub fn transpose_matrix_mod(MatrixID: Hlong) -> Herror;
17572}
17573unsafe extern "C" {
17574    pub fn T_transpose_matrix(MatrixID: Htuple, MatrixTransposedID: *mut Htuple) -> Herror;
17575}
17576unsafe extern "C" {
17577    pub fn transpose_matrix(MatrixID: Hlong, MatrixTransposedID: *mut Hlong) -> Herror;
17578}
17579unsafe extern "C" {
17580    pub fn T_max_matrix(MatrixID: Htuple, MaxType: Htuple, MatrixMaxID: *mut Htuple) -> Herror;
17581}
17582unsafe extern "C" {
17583    pub fn max_matrix(
17584        MatrixID: Hlong,
17585        MaxType: *const ::std::os::raw::c_char,
17586        MatrixMaxID: *mut Hlong,
17587    ) -> Herror;
17588}
17589unsafe extern "C" {
17590    pub fn T_min_matrix(MatrixID: Htuple, MinType: Htuple, MatrixMinID: *mut Htuple) -> Herror;
17591}
17592unsafe extern "C" {
17593    pub fn min_matrix(
17594        MatrixID: Hlong,
17595        MinType: *const ::std::os::raw::c_char,
17596        MatrixMinID: *mut Hlong,
17597    ) -> Herror;
17598}
17599unsafe extern "C" {
17600    pub fn T_pow_matrix_mod(MatrixID: Htuple, MatrixType: Htuple, Power: Htuple) -> Herror;
17601}
17602unsafe extern "C" {
17603    pub fn pow_matrix_mod(
17604        MatrixID: Hlong,
17605        MatrixType: *const ::std::os::raw::c_char,
17606        Power: f64,
17607    ) -> Herror;
17608}
17609unsafe extern "C" {
17610    pub fn T_pow_matrix(
17611        MatrixID: Htuple,
17612        MatrixType: Htuple,
17613        Power: Htuple,
17614        MatrixPowID: *mut Htuple,
17615    ) -> Herror;
17616}
17617unsafe extern "C" {
17618    pub fn pow_matrix(
17619        MatrixID: Hlong,
17620        MatrixType: *const ::std::os::raw::c_char,
17621        Power: f64,
17622        MatrixPowID: *mut Hlong,
17623    ) -> Herror;
17624}
17625unsafe extern "C" {
17626    pub fn T_pow_element_matrix_mod(MatrixID: Htuple, MatrixExpID: Htuple) -> Herror;
17627}
17628unsafe extern "C" {
17629    pub fn pow_element_matrix_mod(MatrixID: Hlong, MatrixExpID: Hlong) -> Herror;
17630}
17631unsafe extern "C" {
17632    pub fn T_pow_element_matrix(
17633        MatrixID: Htuple,
17634        MatrixExpID: Htuple,
17635        MatrixPowID: *mut Htuple,
17636    ) -> Herror;
17637}
17638unsafe extern "C" {
17639    pub fn pow_element_matrix(
17640        MatrixID: Hlong,
17641        MatrixExpID: Hlong,
17642        MatrixPowID: *mut Hlong,
17643    ) -> Herror;
17644}
17645unsafe extern "C" {
17646    pub fn T_pow_scalar_element_matrix_mod(MatrixID: Htuple, Power: Htuple) -> Herror;
17647}
17648unsafe extern "C" {
17649    pub fn pow_scalar_element_matrix_mod(MatrixID: Hlong, Power: f64) -> Herror;
17650}
17651unsafe extern "C" {
17652    pub fn T_pow_scalar_element_matrix(
17653        MatrixID: Htuple,
17654        Power: Htuple,
17655        MatrixPowID: *mut Htuple,
17656    ) -> Herror;
17657}
17658unsafe extern "C" {
17659    pub fn pow_scalar_element_matrix(
17660        MatrixID: Hlong,
17661        Power: f64,
17662        MatrixPowID: *mut Hlong,
17663    ) -> Herror;
17664}
17665unsafe extern "C" {
17666    pub fn T_sqrt_matrix_mod(MatrixID: Htuple) -> Herror;
17667}
17668unsafe extern "C" {
17669    pub fn sqrt_matrix_mod(MatrixID: Hlong) -> Herror;
17670}
17671unsafe extern "C" {
17672    pub fn T_sqrt_matrix(MatrixID: Htuple, MatrixSqrtID: *mut Htuple) -> Herror;
17673}
17674unsafe extern "C" {
17675    pub fn sqrt_matrix(MatrixID: Hlong, MatrixSqrtID: *mut Hlong) -> Herror;
17676}
17677unsafe extern "C" {
17678    pub fn T_abs_matrix_mod(MatrixID: Htuple) -> Herror;
17679}
17680unsafe extern "C" {
17681    pub fn abs_matrix_mod(MatrixID: Hlong) -> Herror;
17682}
17683unsafe extern "C" {
17684    pub fn T_abs_matrix(MatrixID: Htuple, MatrixAbsID: *mut Htuple) -> Herror;
17685}
17686unsafe extern "C" {
17687    pub fn abs_matrix(MatrixID: Hlong, MatrixAbsID: *mut Hlong) -> Herror;
17688}
17689unsafe extern "C" {
17690    pub fn T_norm_matrix(MatrixID: Htuple, NormType: Htuple, Value: *mut Htuple) -> Herror;
17691}
17692unsafe extern "C" {
17693    pub fn norm_matrix(
17694        MatrixID: Hlong,
17695        NormType: *const ::std::os::raw::c_char,
17696        Value: *mut f64,
17697    ) -> Herror;
17698}
17699unsafe extern "C" {
17700    pub fn T_mean_matrix(MatrixID: Htuple, MeanType: Htuple, MatrixMeanID: *mut Htuple) -> Herror;
17701}
17702unsafe extern "C" {
17703    pub fn mean_matrix(
17704        MatrixID: Hlong,
17705        MeanType: *const ::std::os::raw::c_char,
17706        MatrixMeanID: *mut Hlong,
17707    ) -> Herror;
17708}
17709unsafe extern "C" {
17710    pub fn T_sum_matrix(MatrixID: Htuple, SumType: Htuple, MatrixSumID: *mut Htuple) -> Herror;
17711}
17712unsafe extern "C" {
17713    pub fn sum_matrix(
17714        MatrixID: Hlong,
17715        SumType: *const ::std::os::raw::c_char,
17716        MatrixSumID: *mut Hlong,
17717    ) -> Herror;
17718}
17719unsafe extern "C" {
17720    pub fn T_div_element_matrix_mod(MatrixAID: Htuple, MatrixBID: Htuple) -> Herror;
17721}
17722unsafe extern "C" {
17723    pub fn div_element_matrix_mod(MatrixAID: Hlong, MatrixBID: Hlong) -> Herror;
17724}
17725unsafe extern "C" {
17726    pub fn T_div_element_matrix(
17727        MatrixAID: Htuple,
17728        MatrixBID: Htuple,
17729        MatrixDivID: *mut Htuple,
17730    ) -> Herror;
17731}
17732unsafe extern "C" {
17733    pub fn div_element_matrix(
17734        MatrixAID: Hlong,
17735        MatrixBID: Hlong,
17736        MatrixDivID: *mut Hlong,
17737    ) -> Herror;
17738}
17739unsafe extern "C" {
17740    pub fn T_mult_element_matrix_mod(MatrixAID: Htuple, MatrixBID: Htuple) -> Herror;
17741}
17742unsafe extern "C" {
17743    pub fn mult_element_matrix_mod(MatrixAID: Hlong, MatrixBID: Hlong) -> Herror;
17744}
17745unsafe extern "C" {
17746    pub fn T_mult_element_matrix(
17747        MatrixAID: Htuple,
17748        MatrixBID: Htuple,
17749        MatrixMultID: *mut Htuple,
17750    ) -> Herror;
17751}
17752unsafe extern "C" {
17753    pub fn mult_element_matrix(
17754        MatrixAID: Hlong,
17755        MatrixBID: Hlong,
17756        MatrixMultID: *mut Hlong,
17757    ) -> Herror;
17758}
17759unsafe extern "C" {
17760    pub fn T_scale_matrix_mod(MatrixID: Htuple, Factor: Htuple) -> Herror;
17761}
17762unsafe extern "C" {
17763    pub fn scale_matrix_mod(MatrixID: Hlong, Factor: f64) -> Herror;
17764}
17765unsafe extern "C" {
17766    pub fn T_scale_matrix(MatrixID: Htuple, Factor: Htuple, MatrixScaledID: *mut Htuple) -> Herror;
17767}
17768unsafe extern "C" {
17769    pub fn scale_matrix(MatrixID: Hlong, Factor: f64, MatrixScaledID: *mut Hlong) -> Herror;
17770}
17771unsafe extern "C" {
17772    pub fn T_sub_matrix_mod(MatrixAID: Htuple, MatrixBID: Htuple) -> Herror;
17773}
17774unsafe extern "C" {
17775    pub fn sub_matrix_mod(MatrixAID: Hlong, MatrixBID: Hlong) -> Herror;
17776}
17777unsafe extern "C" {
17778    pub fn T_sub_matrix(MatrixAID: Htuple, MatrixBID: Htuple, MatrixSubID: *mut Htuple) -> Herror;
17779}
17780unsafe extern "C" {
17781    pub fn sub_matrix(MatrixAID: Hlong, MatrixBID: Hlong, MatrixSubID: *mut Hlong) -> Herror;
17782}
17783unsafe extern "C" {
17784    pub fn T_add_matrix_mod(MatrixAID: Htuple, MatrixBID: Htuple) -> Herror;
17785}
17786unsafe extern "C" {
17787    pub fn add_matrix_mod(MatrixAID: Hlong, MatrixBID: Hlong) -> Herror;
17788}
17789unsafe extern "C" {
17790    pub fn T_add_matrix(MatrixAID: Htuple, MatrixBID: Htuple, MatrixSumID: *mut Htuple) -> Herror;
17791}
17792unsafe extern "C" {
17793    pub fn add_matrix(MatrixAID: Hlong, MatrixBID: Hlong, MatrixSumID: *mut Hlong) -> Herror;
17794}
17795unsafe extern "C" {
17796    pub fn T_mult_matrix_mod(MatrixAID: Htuple, MatrixBID: Htuple, MultType: Htuple) -> Herror;
17797}
17798unsafe extern "C" {
17799    pub fn mult_matrix_mod(
17800        MatrixAID: Hlong,
17801        MatrixBID: Hlong,
17802        MultType: *const ::std::os::raw::c_char,
17803    ) -> Herror;
17804}
17805unsafe extern "C" {
17806    pub fn T_mult_matrix(
17807        MatrixAID: Htuple,
17808        MatrixBID: Htuple,
17809        MultType: Htuple,
17810        MatrixMultID: *mut Htuple,
17811    ) -> Herror;
17812}
17813unsafe extern "C" {
17814    pub fn mult_matrix(
17815        MatrixAID: Hlong,
17816        MatrixBID: Hlong,
17817        MultType: *const ::std::os::raw::c_char,
17818        MatrixMultID: *mut Hlong,
17819    ) -> Herror;
17820}
17821unsafe extern "C" {
17822    pub fn T_get_size_matrix(MatrixID: Htuple, Rows: *mut Htuple, Columns: *mut Htuple) -> Herror;
17823}
17824unsafe extern "C" {
17825    pub fn get_size_matrix(MatrixID: Hlong, Rows: *mut Hlong, Columns: *mut Hlong) -> Herror;
17826}
17827unsafe extern "C" {
17828    pub fn T_repeat_matrix(
17829        MatrixID: Htuple,
17830        Rows: Htuple,
17831        Columns: Htuple,
17832        MatrixRepeatedID: *mut Htuple,
17833    ) -> Herror;
17834}
17835unsafe extern "C" {
17836    pub fn repeat_matrix(
17837        MatrixID: Hlong,
17838        Rows: Hlong,
17839        Columns: Hlong,
17840        MatrixRepeatedID: *mut Hlong,
17841    ) -> Herror;
17842}
17843unsafe extern "C" {
17844    pub fn T_copy_matrix(MatrixID: Htuple, MatrixCopyID: *mut Htuple) -> Herror;
17845}
17846unsafe extern "C" {
17847    pub fn copy_matrix(MatrixID: Hlong, MatrixCopyID: *mut Hlong) -> Herror;
17848}
17849unsafe extern "C" {
17850    pub fn T_set_diagonal_matrix(MatrixID: Htuple, VectorID: Htuple, Diagonal: Htuple) -> Herror;
17851}
17852unsafe extern "C" {
17853    pub fn set_diagonal_matrix(MatrixID: Hlong, VectorID: Hlong, Diagonal: Hlong) -> Herror;
17854}
17855unsafe extern "C" {
17856    pub fn T_get_diagonal_matrix(
17857        MatrixID: Htuple,
17858        Diagonal: Htuple,
17859        VectorID: *mut Htuple,
17860    ) -> Herror;
17861}
17862unsafe extern "C" {
17863    pub fn get_diagonal_matrix(MatrixID: Hlong, Diagonal: Hlong, VectorID: *mut Hlong) -> Herror;
17864}
17865unsafe extern "C" {
17866    pub fn T_set_sub_matrix(
17867        MatrixID: Htuple,
17868        MatrixSubID: Htuple,
17869        Row: Htuple,
17870        Column: Htuple,
17871    ) -> Herror;
17872}
17873unsafe extern "C" {
17874    pub fn set_sub_matrix(MatrixID: Hlong, MatrixSubID: Hlong, Row: Hlong, Column: Hlong)
17875    -> Herror;
17876}
17877unsafe extern "C" {
17878    pub fn T_get_sub_matrix(
17879        MatrixID: Htuple,
17880        Row: Htuple,
17881        Column: Htuple,
17882        RowsSub: Htuple,
17883        ColumnsSub: Htuple,
17884        MatrixSubID: *mut Htuple,
17885    ) -> Herror;
17886}
17887unsafe extern "C" {
17888    pub fn get_sub_matrix(
17889        MatrixID: Hlong,
17890        Row: Hlong,
17891        Column: Hlong,
17892        RowsSub: Hlong,
17893        ColumnsSub: Hlong,
17894        MatrixSubID: *mut Hlong,
17895    ) -> Herror;
17896}
17897unsafe extern "C" {
17898    pub fn T_set_full_matrix(MatrixID: Htuple, Values: Htuple) -> Herror;
17899}
17900unsafe extern "C" {
17901    pub fn set_full_matrix(MatrixID: Hlong, Values: f64) -> Herror;
17902}
17903unsafe extern "C" {
17904    pub fn T_get_full_matrix(MatrixID: Htuple, Values: *mut Htuple) -> Herror;
17905}
17906unsafe extern "C" {
17907    pub fn get_full_matrix(MatrixID: Hlong, Values: *mut f64) -> Herror;
17908}
17909unsafe extern "C" {
17910    pub fn T_set_value_matrix(
17911        MatrixID: Htuple,
17912        Row: Htuple,
17913        Column: Htuple,
17914        Value: Htuple,
17915    ) -> Herror;
17916}
17917unsafe extern "C" {
17918    pub fn set_value_matrix(MatrixID: Hlong, Row: Hlong, Column: Hlong, Value: f64) -> Herror;
17919}
17920unsafe extern "C" {
17921    pub fn T_get_value_matrix(
17922        MatrixID: Htuple,
17923        Row: Htuple,
17924        Column: Htuple,
17925        Value: *mut Htuple,
17926    ) -> Herror;
17927}
17928unsafe extern "C" {
17929    pub fn get_value_matrix(MatrixID: Hlong, Row: Hlong, Column: Hlong, Value: *mut f64) -> Herror;
17930}
17931unsafe extern "C" {
17932    pub fn T_clear_all_matrices() -> Herror;
17933}
17934unsafe extern "C" {
17935    pub fn clear_all_matrices() -> Herror;
17936}
17937unsafe extern "C" {
17938    pub fn T_clear_matrix(MatrixID: Htuple) -> Herror;
17939}
17940unsafe extern "C" {
17941    pub fn clear_matrix(MatrixID: Hlong) -> Herror;
17942}
17943unsafe extern "C" {
17944    pub fn T_create_matrix(
17945        Rows: Htuple,
17946        Columns: Htuple,
17947        Value: Htuple,
17948        MatrixID: *mut Htuple,
17949    ) -> Herror;
17950}
17951unsafe extern "C" {
17952    pub fn create_matrix(Rows: Hlong, Columns: Hlong, Value: f64, MatrixID: *mut Hlong) -> Herror;
17953}
17954unsafe extern "C" {
17955    pub fn T_clear_all_sample_identifiers() -> Herror;
17956}
17957unsafe extern "C" {
17958    pub fn clear_all_sample_identifiers() -> Herror;
17959}
17960unsafe extern "C" {
17961    pub fn T_clear_sample_identifier(SampleIdentifier: Htuple) -> Herror;
17962}
17963unsafe extern "C" {
17964    pub fn clear_sample_identifier(SampleIdentifier: Hlong) -> Herror;
17965}
17966unsafe extern "C" {
17967    pub fn T_deserialize_sample_identifier(
17968        SerializedItemHandle: Htuple,
17969        SampleIdentifier: *mut Htuple,
17970    ) -> Herror;
17971}
17972unsafe extern "C" {
17973    pub fn deserialize_sample_identifier(
17974        SerializedItemHandle: Hlong,
17975        SampleIdentifier: *mut Hlong,
17976    ) -> Herror;
17977}
17978unsafe extern "C" {
17979    pub fn T_read_sample_identifier(FileName: Htuple, SampleIdentifier: *mut Htuple) -> Herror;
17980}
17981unsafe extern "C" {
17982    pub fn read_sample_identifier(
17983        FileName: *const ::std::os::raw::c_char,
17984        SampleIdentifier: *mut Hlong,
17985    ) -> Herror;
17986}
17987unsafe extern "C" {
17988    pub fn T_serialize_sample_identifier(
17989        SampleIdentifier: Htuple,
17990        SerializedItemHandle: *mut Htuple,
17991    ) -> Herror;
17992}
17993unsafe extern "C" {
17994    pub fn serialize_sample_identifier(
17995        SampleIdentifier: Hlong,
17996        SerializedItemHandle: *mut Hlong,
17997    ) -> Herror;
17998}
17999unsafe extern "C" {
18000    pub fn T_write_sample_identifier(SampleIdentifier: Htuple, FileName: Htuple) -> Herror;
18001}
18002unsafe extern "C" {
18003    pub fn write_sample_identifier(
18004        SampleIdentifier: Hlong,
18005        FileName: *const ::std::os::raw::c_char,
18006    ) -> Herror;
18007}
18008unsafe extern "C" {
18009    pub fn T_apply_sample_identifier(
18010        Image: Hobject,
18011        SampleIdentifier: Htuple,
18012        NumResults: Htuple,
18013        RatingThreshold: Htuple,
18014        GenParamName: Htuple,
18015        GenParamValue: Htuple,
18016        ObjectIdx: *mut Htuple,
18017        Rating: *mut Htuple,
18018    ) -> Herror;
18019}
18020unsafe extern "C" {
18021    pub fn T_get_sample_identifier_param(
18022        SampleIdentifier: Htuple,
18023        GenParamName: Htuple,
18024        GenParamValue: *mut Htuple,
18025    ) -> Herror;
18026}
18027unsafe extern "C" {
18028    pub fn get_sample_identifier_param(
18029        SampleIdentifier: Hlong,
18030        GenParamName: *const ::std::os::raw::c_char,
18031        GenParamValue: *mut f64,
18032    ) -> Herror;
18033}
18034unsafe extern "C" {
18035    pub fn T_set_sample_identifier_param(
18036        SampleIdentifier: Htuple,
18037        GenParamName: Htuple,
18038        GenParamValue: Htuple,
18039    ) -> Herror;
18040}
18041unsafe extern "C" {
18042    pub fn set_sample_identifier_param(
18043        SampleIdentifier: Hlong,
18044        GenParamName: *const ::std::os::raw::c_char,
18045        GenParamValue: f64,
18046    ) -> Herror;
18047}
18048unsafe extern "C" {
18049    pub fn T_get_sample_identifier_object_info(
18050        SampleIdentifier: Htuple,
18051        ObjectIdx: Htuple,
18052        InfoName: Htuple,
18053        InfoValue: *mut Htuple,
18054    ) -> Herror;
18055}
18056unsafe extern "C" {
18057    pub fn get_sample_identifier_object_info(
18058        SampleIdentifier: Hlong,
18059        ObjectIdx: Hlong,
18060        InfoName: *const ::std::os::raw::c_char,
18061        InfoValue: *mut Hlong,
18062    ) -> Herror;
18063}
18064unsafe extern "C" {
18065    pub fn T_set_sample_identifier_object_info(
18066        SampleIdentifier: Htuple,
18067        ObjectIdx: Htuple,
18068        InfoName: Htuple,
18069        InfoValue: Htuple,
18070    ) -> Herror;
18071}
18072unsafe extern "C" {
18073    pub fn set_sample_identifier_object_info(
18074        SampleIdentifier: Hlong,
18075        ObjectIdx: Hlong,
18076        InfoName: *const ::std::os::raw::c_char,
18077        InfoValue: *const ::std::os::raw::c_char,
18078    ) -> Herror;
18079}
18080unsafe extern "C" {
18081    pub fn T_remove_sample_identifier_training_data(
18082        SampleIdentifier: Htuple,
18083        ObjectIdx: Htuple,
18084        ObjectSampleIdx: Htuple,
18085    ) -> Herror;
18086}
18087unsafe extern "C" {
18088    pub fn remove_sample_identifier_training_data(
18089        SampleIdentifier: Hlong,
18090        ObjectIdx: Hlong,
18091        ObjectSampleIdx: Hlong,
18092    ) -> Herror;
18093}
18094unsafe extern "C" {
18095    pub fn T_remove_sample_identifier_preparation_data(
18096        SampleIdentifier: Htuple,
18097        ObjectIdx: Htuple,
18098        ObjectSampleIdx: Htuple,
18099    ) -> Herror;
18100}
18101unsafe extern "C" {
18102    pub fn remove_sample_identifier_preparation_data(
18103        SampleIdentifier: Hlong,
18104        ObjectIdx: Hlong,
18105        ObjectSampleIdx: Hlong,
18106    ) -> Herror;
18107}
18108unsafe extern "C" {
18109    pub fn T_train_sample_identifier(
18110        SampleIdentifier: Htuple,
18111        GenParamName: Htuple,
18112        GenParamValue: Htuple,
18113    ) -> Herror;
18114}
18115unsafe extern "C" {
18116    pub fn T_add_sample_identifier_training_data(
18117        SampleImage: Hobject,
18118        SampleIdentifier: Htuple,
18119        ObjectIdx: Htuple,
18120        GenParamName: Htuple,
18121        GenParamValue: Htuple,
18122        ObjectSampleIdx: *mut Htuple,
18123    ) -> Herror;
18124}
18125unsafe extern "C" {
18126    pub fn T_prepare_sample_identifier(
18127        SampleIdentifier: Htuple,
18128        RemovePreparationData: Htuple,
18129        GenParamName: Htuple,
18130        GenParamValue: Htuple,
18131    ) -> Herror;
18132}
18133unsafe extern "C" {
18134    pub fn T_add_sample_identifier_preparation_data(
18135        SampleImage: Hobject,
18136        SampleIdentifier: Htuple,
18137        ObjectIdx: Htuple,
18138        GenParamName: Htuple,
18139        GenParamValue: Htuple,
18140        ObjectSampleIdx: *mut Htuple,
18141    ) -> Herror;
18142}
18143unsafe extern "C" {
18144    pub fn T_create_sample_identifier(
18145        GenParamName: Htuple,
18146        GenParamValue: Htuple,
18147        SampleIdentifier: *mut Htuple,
18148    ) -> Herror;
18149}
18150unsafe extern "C" {
18151    pub fn T_deserialize_shape_model(SerializedItemHandle: Htuple, ModelID: *mut Htuple) -> Herror;
18152}
18153unsafe extern "C" {
18154    pub fn deserialize_shape_model(SerializedItemHandle: Hlong, ModelID: *mut Hlong) -> Herror;
18155}
18156unsafe extern "C" {
18157    pub fn T_read_shape_model(FileName: Htuple, ModelID: *mut Htuple) -> Herror;
18158}
18159unsafe extern "C" {
18160    pub fn read_shape_model(FileName: *const ::std::os::raw::c_char, ModelID: *mut Hlong)
18161    -> Herror;
18162}
18163unsafe extern "C" {
18164    pub fn T_serialize_shape_model(ModelID: Htuple, SerializedItemHandle: *mut Htuple) -> Herror;
18165}
18166unsafe extern "C" {
18167    pub fn serialize_shape_model(ModelID: Hlong, SerializedItemHandle: *mut Hlong) -> Herror;
18168}
18169unsafe extern "C" {
18170    pub fn T_write_shape_model(ModelID: Htuple, FileName: Htuple) -> Herror;
18171}
18172unsafe extern "C" {
18173    pub fn write_shape_model(ModelID: Hlong, FileName: *const ::std::os::raw::c_char) -> Herror;
18174}
18175unsafe extern "C" {
18176    pub fn T_clear_all_shape_models() -> Herror;
18177}
18178unsafe extern "C" {
18179    pub fn clear_all_shape_models() -> Herror;
18180}
18181unsafe extern "C" {
18182    pub fn T_clear_shape_model(ModelID: Htuple) -> Herror;
18183}
18184unsafe extern "C" {
18185    pub fn clear_shape_model(ModelID: Hlong) -> Herror;
18186}
18187unsafe extern "C" {
18188    pub fn T_get_shape_model_contours(
18189        ModelContours: *mut Hobject,
18190        ModelID: Htuple,
18191        Level: Htuple,
18192    ) -> Herror;
18193}
18194unsafe extern "C" {
18195    pub fn get_shape_model_contours(
18196        ModelContours: *mut Hobject,
18197        ModelID: Hlong,
18198        Level: Hlong,
18199    ) -> Herror;
18200}
18201unsafe extern "C" {
18202    pub fn T_determine_shape_model_params(
18203        Template: Hobject,
18204        NumLevels: Htuple,
18205        AngleStart: Htuple,
18206        AngleExtent: Htuple,
18207        ScaleMin: Htuple,
18208        ScaleMax: Htuple,
18209        Optimization: Htuple,
18210        Metric: Htuple,
18211        Contrast: Htuple,
18212        MinContrast: Htuple,
18213        Parameters: Htuple,
18214        ParameterName: *mut Htuple,
18215        ParameterValue: *mut Htuple,
18216    ) -> Herror;
18217}
18218unsafe extern "C" {
18219    pub fn T_get_shape_model_params(
18220        ModelID: Htuple,
18221        NumLevels: *mut Htuple,
18222        AngleStart: *mut Htuple,
18223        AngleExtent: *mut Htuple,
18224        AngleStep: *mut Htuple,
18225        ScaleMin: *mut Htuple,
18226        ScaleMax: *mut Htuple,
18227        ScaleStep: *mut Htuple,
18228        Metric: *mut Htuple,
18229        MinContrast: *mut Htuple,
18230    ) -> Herror;
18231}
18232unsafe extern "C" {
18233    pub fn get_shape_model_params(
18234        ModelID: Hlong,
18235        NumLevels: *mut Hlong,
18236        AngleStart: *mut f64,
18237        AngleExtent: *mut f64,
18238        AngleStep: *mut f64,
18239        ScaleMin: *mut f64,
18240        ScaleMax: *mut f64,
18241        ScaleStep: *mut f64,
18242        Metric: *mut ::std::os::raw::c_char,
18243        MinContrast: *mut Hlong,
18244    ) -> Herror;
18245}
18246unsafe extern "C" {
18247    pub fn T_get_shape_model_origin(
18248        ModelID: Htuple,
18249        Row: *mut Htuple,
18250        Column: *mut Htuple,
18251    ) -> Herror;
18252}
18253unsafe extern "C" {
18254    pub fn get_shape_model_origin(ModelID: Hlong, Row: *mut f64, Column: *mut f64) -> Herror;
18255}
18256unsafe extern "C" {
18257    pub fn T_set_shape_model_origin(ModelID: Htuple, Row: Htuple, Column: Htuple) -> Herror;
18258}
18259unsafe extern "C" {
18260    pub fn set_shape_model_origin(ModelID: Hlong, Row: f64, Column: f64) -> Herror;
18261}
18262unsafe extern "C" {
18263    pub fn T_find_aniso_shape_models(
18264        Image: Hobject,
18265        ModelIDs: Htuple,
18266        AngleStart: Htuple,
18267        AngleExtent: Htuple,
18268        ScaleRMin: Htuple,
18269        ScaleRMax: Htuple,
18270        ScaleCMin: Htuple,
18271        ScaleCMax: Htuple,
18272        MinScore: Htuple,
18273        NumMatches: Htuple,
18274        MaxOverlap: Htuple,
18275        SubPixel: Htuple,
18276        NumLevels: Htuple,
18277        Greediness: Htuple,
18278        Row: *mut Htuple,
18279        Column: *mut Htuple,
18280        Angle: *mut Htuple,
18281        ScaleR: *mut Htuple,
18282        ScaleC: *mut Htuple,
18283        Score: *mut Htuple,
18284        Model: *mut Htuple,
18285    ) -> Herror;
18286}
18287unsafe extern "C" {
18288    pub fn T_find_scaled_shape_models(
18289        Image: Hobject,
18290        ModelIDs: Htuple,
18291        AngleStart: Htuple,
18292        AngleExtent: Htuple,
18293        ScaleMin: Htuple,
18294        ScaleMax: Htuple,
18295        MinScore: Htuple,
18296        NumMatches: Htuple,
18297        MaxOverlap: Htuple,
18298        SubPixel: Htuple,
18299        NumLevels: Htuple,
18300        Greediness: Htuple,
18301        Row: *mut Htuple,
18302        Column: *mut Htuple,
18303        Angle: *mut Htuple,
18304        Scale: *mut Htuple,
18305        Score: *mut Htuple,
18306        Model: *mut Htuple,
18307    ) -> Herror;
18308}
18309unsafe extern "C" {
18310    pub fn T_find_shape_models(
18311        Image: Hobject,
18312        ModelIDs: Htuple,
18313        AngleStart: Htuple,
18314        AngleExtent: Htuple,
18315        MinScore: Htuple,
18316        NumMatches: Htuple,
18317        MaxOverlap: Htuple,
18318        SubPixel: Htuple,
18319        NumLevels: Htuple,
18320        Greediness: Htuple,
18321        Row: *mut Htuple,
18322        Column: *mut Htuple,
18323        Angle: *mut Htuple,
18324        Score: *mut Htuple,
18325        Model: *mut Htuple,
18326    ) -> Herror;
18327}
18328unsafe extern "C" {
18329    pub fn T_find_aniso_shape_model(
18330        Image: Hobject,
18331        ModelID: Htuple,
18332        AngleStart: Htuple,
18333        AngleExtent: Htuple,
18334        ScaleRMin: Htuple,
18335        ScaleRMax: Htuple,
18336        ScaleCMin: Htuple,
18337        ScaleCMax: Htuple,
18338        MinScore: Htuple,
18339        NumMatches: Htuple,
18340        MaxOverlap: Htuple,
18341        SubPixel: Htuple,
18342        NumLevels: Htuple,
18343        Greediness: Htuple,
18344        Row: *mut Htuple,
18345        Column: *mut Htuple,
18346        Angle: *mut Htuple,
18347        ScaleR: *mut Htuple,
18348        ScaleC: *mut Htuple,
18349        Score: *mut Htuple,
18350    ) -> Herror;
18351}
18352unsafe extern "C" {
18353    pub fn T_find_scaled_shape_model(
18354        Image: Hobject,
18355        ModelID: Htuple,
18356        AngleStart: Htuple,
18357        AngleExtent: Htuple,
18358        ScaleMin: Htuple,
18359        ScaleMax: Htuple,
18360        MinScore: Htuple,
18361        NumMatches: Htuple,
18362        MaxOverlap: Htuple,
18363        SubPixel: Htuple,
18364        NumLevels: Htuple,
18365        Greediness: Htuple,
18366        Row: *mut Htuple,
18367        Column: *mut Htuple,
18368        Angle: *mut Htuple,
18369        Scale: *mut Htuple,
18370        Score: *mut Htuple,
18371    ) -> Herror;
18372}
18373unsafe extern "C" {
18374    pub fn T_find_shape_model(
18375        Image: Hobject,
18376        ModelID: Htuple,
18377        AngleStart: Htuple,
18378        AngleExtent: Htuple,
18379        MinScore: Htuple,
18380        NumMatches: Htuple,
18381        MaxOverlap: Htuple,
18382        SubPixel: Htuple,
18383        NumLevels: Htuple,
18384        Greediness: Htuple,
18385        Row: *mut Htuple,
18386        Column: *mut Htuple,
18387        Angle: *mut Htuple,
18388        Score: *mut Htuple,
18389    ) -> Herror;
18390}
18391unsafe extern "C" {
18392    pub fn T_set_shape_model_metric(
18393        Image: Hobject,
18394        ModelID: Htuple,
18395        HomMat2D: Htuple,
18396        Metric: Htuple,
18397    ) -> Herror;
18398}
18399unsafe extern "C" {
18400    pub fn T_set_shape_model_param(
18401        ModelID: Htuple,
18402        GenParamName: Htuple,
18403        GenParamValue: Htuple,
18404    ) -> Herror;
18405}
18406unsafe extern "C" {
18407    pub fn T_create_aniso_shape_model_xld(
18408        Contours: Hobject,
18409        NumLevels: Htuple,
18410        AngleStart: Htuple,
18411        AngleExtent: Htuple,
18412        AngleStep: Htuple,
18413        ScaleRMin: Htuple,
18414        ScaleRMax: Htuple,
18415        ScaleRStep: Htuple,
18416        ScaleCMin: Htuple,
18417        ScaleCMax: Htuple,
18418        ScaleCStep: Htuple,
18419        Optimization: Htuple,
18420        Metric: Htuple,
18421        MinContrast: Htuple,
18422        ModelID: *mut Htuple,
18423    ) -> Herror;
18424}
18425unsafe extern "C" {
18426    pub fn create_aniso_shape_model_xld(
18427        Contours: Hobject,
18428        NumLevels: Hlong,
18429        AngleStart: f64,
18430        AngleExtent: f64,
18431        AngleStep: f64,
18432        ScaleRMin: f64,
18433        ScaleRMax: f64,
18434        ScaleRStep: f64,
18435        ScaleCMin: f64,
18436        ScaleCMax: f64,
18437        ScaleCStep: f64,
18438        Optimization: *const ::std::os::raw::c_char,
18439        Metric: *const ::std::os::raw::c_char,
18440        MinContrast: Hlong,
18441        ModelID: *mut Hlong,
18442    ) -> Herror;
18443}
18444unsafe extern "C" {
18445    pub fn T_create_scaled_shape_model_xld(
18446        Contours: Hobject,
18447        NumLevels: Htuple,
18448        AngleStart: Htuple,
18449        AngleExtent: Htuple,
18450        AngleStep: Htuple,
18451        ScaleMin: Htuple,
18452        ScaleMax: Htuple,
18453        ScaleStep: Htuple,
18454        Optimization: Htuple,
18455        Metric: Htuple,
18456        MinContrast: Htuple,
18457        ModelID: *mut Htuple,
18458    ) -> Herror;
18459}
18460unsafe extern "C" {
18461    pub fn create_scaled_shape_model_xld(
18462        Contours: Hobject,
18463        NumLevels: Hlong,
18464        AngleStart: f64,
18465        AngleExtent: f64,
18466        AngleStep: f64,
18467        ScaleMin: f64,
18468        ScaleMax: f64,
18469        ScaleStep: f64,
18470        Optimization: *const ::std::os::raw::c_char,
18471        Metric: *const ::std::os::raw::c_char,
18472        MinContrast: Hlong,
18473        ModelID: *mut Hlong,
18474    ) -> Herror;
18475}
18476unsafe extern "C" {
18477    pub fn T_create_shape_model_xld(
18478        Contours: Hobject,
18479        NumLevels: Htuple,
18480        AngleStart: Htuple,
18481        AngleExtent: Htuple,
18482        AngleStep: Htuple,
18483        Optimization: Htuple,
18484        Metric: Htuple,
18485        MinContrast: Htuple,
18486        ModelID: *mut Htuple,
18487    ) -> Herror;
18488}
18489unsafe extern "C" {
18490    pub fn create_shape_model_xld(
18491        Contours: Hobject,
18492        NumLevels: Hlong,
18493        AngleStart: f64,
18494        AngleExtent: f64,
18495        AngleStep: f64,
18496        Optimization: *const ::std::os::raw::c_char,
18497        Metric: *const ::std::os::raw::c_char,
18498        MinContrast: Hlong,
18499        ModelID: *mut Hlong,
18500    ) -> Herror;
18501}
18502unsafe extern "C" {
18503    pub fn T_create_aniso_shape_model(
18504        Template: Hobject,
18505        NumLevels: Htuple,
18506        AngleStart: Htuple,
18507        AngleExtent: Htuple,
18508        AngleStep: Htuple,
18509        ScaleRMin: Htuple,
18510        ScaleRMax: Htuple,
18511        ScaleRStep: Htuple,
18512        ScaleCMin: Htuple,
18513        ScaleCMax: Htuple,
18514        ScaleCStep: Htuple,
18515        Optimization: Htuple,
18516        Metric: Htuple,
18517        Contrast: Htuple,
18518        MinContrast: Htuple,
18519        ModelID: *mut Htuple,
18520    ) -> Herror;
18521}
18522unsafe extern "C" {
18523    pub fn create_aniso_shape_model(
18524        Template: Hobject,
18525        NumLevels: Hlong,
18526        AngleStart: f64,
18527        AngleExtent: f64,
18528        AngleStep: f64,
18529        ScaleRMin: f64,
18530        ScaleRMax: f64,
18531        ScaleRStep: f64,
18532        ScaleCMin: f64,
18533        ScaleCMax: f64,
18534        ScaleCStep: f64,
18535        Optimization: *const ::std::os::raw::c_char,
18536        Metric: *const ::std::os::raw::c_char,
18537        Contrast: Hlong,
18538        MinContrast: Hlong,
18539        ModelID: *mut Hlong,
18540    ) -> Herror;
18541}
18542unsafe extern "C" {
18543    pub fn T_create_scaled_shape_model(
18544        Template: Hobject,
18545        NumLevels: Htuple,
18546        AngleStart: Htuple,
18547        AngleExtent: Htuple,
18548        AngleStep: Htuple,
18549        ScaleMin: Htuple,
18550        ScaleMax: Htuple,
18551        ScaleStep: Htuple,
18552        Optimization: Htuple,
18553        Metric: Htuple,
18554        Contrast: Htuple,
18555        MinContrast: Htuple,
18556        ModelID: *mut Htuple,
18557    ) -> Herror;
18558}
18559unsafe extern "C" {
18560    pub fn create_scaled_shape_model(
18561        Template: Hobject,
18562        NumLevels: Hlong,
18563        AngleStart: f64,
18564        AngleExtent: f64,
18565        AngleStep: f64,
18566        ScaleMin: f64,
18567        ScaleMax: f64,
18568        ScaleStep: f64,
18569        Optimization: *const ::std::os::raw::c_char,
18570        Metric: *const ::std::os::raw::c_char,
18571        Contrast: Hlong,
18572        MinContrast: Hlong,
18573        ModelID: *mut Hlong,
18574    ) -> Herror;
18575}
18576unsafe extern "C" {
18577    pub fn T_create_shape_model(
18578        Template: Hobject,
18579        NumLevels: Htuple,
18580        AngleStart: Htuple,
18581        AngleExtent: Htuple,
18582        AngleStep: Htuple,
18583        Optimization: Htuple,
18584        Metric: Htuple,
18585        Contrast: Htuple,
18586        MinContrast: Htuple,
18587        ModelID: *mut Htuple,
18588    ) -> Herror;
18589}
18590unsafe extern "C" {
18591    pub fn create_shape_model(
18592        Template: Hobject,
18593        NumLevels: Hlong,
18594        AngleStart: f64,
18595        AngleExtent: f64,
18596        AngleStep: f64,
18597        Optimization: *const ::std::os::raw::c_char,
18598        Metric: *const ::std::os::raw::c_char,
18599        Contrast: Hlong,
18600        MinContrast: Hlong,
18601        ModelID: *mut Hlong,
18602    ) -> Herror;
18603}
18604unsafe extern "C" {
18605    pub fn T_inspect_shape_model(
18606        Image: Hobject,
18607        ModelImages: *mut Hobject,
18608        ModelRegions: *mut Hobject,
18609        NumLevels: Htuple,
18610        Contrast: Htuple,
18611    ) -> Herror;
18612}
18613unsafe extern "C" {
18614    pub fn inspect_shape_model(
18615        Image: Hobject,
18616        ModelImages: *mut Hobject,
18617        ModelRegions: *mut Hobject,
18618        NumLevels: Hlong,
18619        Contrast: Hlong,
18620    ) -> Herror;
18621}
18622unsafe extern "C" {
18623    pub fn T_clear_all_descriptor_models() -> Herror;
18624}
18625unsafe extern "C" {
18626    pub fn clear_all_descriptor_models() -> Herror;
18627}
18628unsafe extern "C" {
18629    pub fn T_clear_descriptor_model(ModelID: Htuple) -> Herror;
18630}
18631unsafe extern "C" {
18632    pub fn clear_descriptor_model(ModelID: Hlong) -> Herror;
18633}
18634unsafe extern "C" {
18635    pub fn T_deserialize_descriptor_model(
18636        SerializedItemHandle: Htuple,
18637        ModelID: *mut Htuple,
18638    ) -> Herror;
18639}
18640unsafe extern "C" {
18641    pub fn deserialize_descriptor_model(SerializedItemHandle: Hlong, ModelID: *mut Hlong)
18642    -> Herror;
18643}
18644unsafe extern "C" {
18645    pub fn T_serialize_descriptor_model(
18646        ModelID: Htuple,
18647        SerializedItemHandle: *mut Htuple,
18648    ) -> Herror;
18649}
18650unsafe extern "C" {
18651    pub fn serialize_descriptor_model(ModelID: Hlong, SerializedItemHandle: *mut Hlong) -> Herror;
18652}
18653unsafe extern "C" {
18654    pub fn T_read_descriptor_model(FileName: Htuple, ModelID: *mut Htuple) -> Herror;
18655}
18656unsafe extern "C" {
18657    pub fn read_descriptor_model(
18658        FileName: *const ::std::os::raw::c_char,
18659        ModelID: *mut Hlong,
18660    ) -> Herror;
18661}
18662unsafe extern "C" {
18663    pub fn T_write_descriptor_model(ModelID: Htuple, FileName: Htuple) -> Herror;
18664}
18665unsafe extern "C" {
18666    pub fn write_descriptor_model(
18667        ModelID: Hlong,
18668        FileName: *const ::std::os::raw::c_char,
18669    ) -> Herror;
18670}
18671unsafe extern "C" {
18672    pub fn T_find_calib_descriptor_model(
18673        Image: Hobject,
18674        ModelID: Htuple,
18675        DetectorParamName: Htuple,
18676        DetectorParamValue: Htuple,
18677        DescriptorParamName: Htuple,
18678        DescriptorParamValue: Htuple,
18679        MinScore: Htuple,
18680        NumMatches: Htuple,
18681        CamParam: Htuple,
18682        ScoreType: Htuple,
18683        Pose: *mut Htuple,
18684        Score: *mut Htuple,
18685    ) -> Herror;
18686}
18687unsafe extern "C" {
18688    pub fn T_find_uncalib_descriptor_model(
18689        Image: Hobject,
18690        ModelID: Htuple,
18691        DetectorParamName: Htuple,
18692        DetectorParamValue: Htuple,
18693        DescriptorParamName: Htuple,
18694        DescriptorParamValue: Htuple,
18695        MinScore: Htuple,
18696        NumMatches: Htuple,
18697        ScoreType: Htuple,
18698        HomMat2D: *mut Htuple,
18699        Score: *mut Htuple,
18700    ) -> Herror;
18701}
18702unsafe extern "C" {
18703    pub fn T_get_descriptor_model_points(
18704        ModelID: Htuple,
18705        Set: Htuple,
18706        Subset: Htuple,
18707        Row: *mut Htuple,
18708        Column: *mut Htuple,
18709    ) -> Herror;
18710}
18711unsafe extern "C" {
18712    pub fn T_get_descriptor_model_params(
18713        ModelID: Htuple,
18714        DetectorType: *mut Htuple,
18715        DetectorParamName: *mut Htuple,
18716        DetectorParamValue: *mut Htuple,
18717        DescriptorParamName: *mut Htuple,
18718        DescriptorParamValue: *mut Htuple,
18719    ) -> Herror;
18720}
18721unsafe extern "C" {
18722    pub fn T_create_calib_descriptor_model(
18723        Template: Hobject,
18724        CamParam: Htuple,
18725        ReferencePose: Htuple,
18726        DetectorType: Htuple,
18727        DetectorParamName: Htuple,
18728        DetectorParamValue: Htuple,
18729        DescriptorParamName: Htuple,
18730        DescriptorParamValue: Htuple,
18731        Seed: Htuple,
18732        ModelID: *mut Htuple,
18733    ) -> Herror;
18734}
18735unsafe extern "C" {
18736    pub fn T_create_uncalib_descriptor_model(
18737        Template: Hobject,
18738        DetectorType: Htuple,
18739        DetectorParamName: Htuple,
18740        DetectorParamValue: Htuple,
18741        DescriptorParamName: Htuple,
18742        DescriptorParamValue: Htuple,
18743        Seed: Htuple,
18744        ModelID: *mut Htuple,
18745    ) -> Herror;
18746}
18747unsafe extern "C" {
18748    pub fn T_get_descriptor_model_results(
18749        ModelID: Htuple,
18750        ObjectID: Htuple,
18751        ResultNames: Htuple,
18752        Results: *mut Htuple,
18753    ) -> Herror;
18754}
18755unsafe extern "C" {
18756    pub fn get_descriptor_model_results(
18757        ModelID: Hlong,
18758        ObjectID: Hlong,
18759        ResultNames: *const ::std::os::raw::c_char,
18760        Results: *mut ::std::os::raw::c_char,
18761    ) -> Herror;
18762}
18763unsafe extern "C" {
18764    pub fn T_get_descriptor_model_origin(
18765        ModelID: Htuple,
18766        Row: *mut Htuple,
18767        Column: *mut Htuple,
18768    ) -> Herror;
18769}
18770unsafe extern "C" {
18771    pub fn get_descriptor_model_origin(ModelID: Hlong, Row: *mut f64, Column: *mut f64) -> Herror;
18772}
18773unsafe extern "C" {
18774    pub fn T_set_descriptor_model_origin(ModelID: Htuple, Row: Htuple, Column: Htuple) -> Herror;
18775}
18776unsafe extern "C" {
18777    pub fn set_descriptor_model_origin(ModelID: Hlong, Row: f64, Column: f64) -> Herror;
18778}
18779unsafe extern "C" {
18780    pub fn T_get_deformable_model_origin(
18781        ModelID: Htuple,
18782        Row: *mut Htuple,
18783        Column: *mut Htuple,
18784    ) -> Herror;
18785}
18786unsafe extern "C" {
18787    pub fn get_deformable_model_origin(ModelID: Hlong, Row: *mut f64, Column: *mut f64) -> Herror;
18788}
18789unsafe extern "C" {
18790    pub fn T_set_deformable_model_origin(ModelID: Htuple, Row: Htuple, Column: Htuple) -> Herror;
18791}
18792unsafe extern "C" {
18793    pub fn set_deformable_model_origin(ModelID: Hlong, Row: f64, Column: f64) -> Herror;
18794}
18795unsafe extern "C" {
18796    pub fn T_set_deformable_model_param(
18797        ModelID: Htuple,
18798        GenParamName: Htuple,
18799        GenParamValue: Htuple,
18800    ) -> Herror;
18801}
18802unsafe extern "C" {
18803    pub fn T_get_deformable_model_params(
18804        ModelID: Htuple,
18805        GenParamName: Htuple,
18806        GenParamValue: *mut Htuple,
18807    ) -> Herror;
18808}
18809unsafe extern "C" {
18810    pub fn get_deformable_model_params(
18811        ModelID: Hlong,
18812        GenParamName: *const ::std::os::raw::c_char,
18813        GenParamValue: *mut ::std::os::raw::c_char,
18814    ) -> Herror;
18815}
18816unsafe extern "C" {
18817    pub fn T_get_deformable_model_contours(
18818        ModelContours: *mut Hobject,
18819        ModelID: Htuple,
18820        Level: Htuple,
18821    ) -> Herror;
18822}
18823unsafe extern "C" {
18824    pub fn get_deformable_model_contours(
18825        ModelContours: *mut Hobject,
18826        ModelID: Hlong,
18827        Level: Hlong,
18828    ) -> Herror;
18829}
18830unsafe extern "C" {
18831    pub fn T_determine_deformable_model_params(
18832        Template: Hobject,
18833        NumLevels: Htuple,
18834        AngleStart: Htuple,
18835        AngleExtent: Htuple,
18836        ScaleMin: Htuple,
18837        ScaleMax: Htuple,
18838        Optimization: Htuple,
18839        Metric: Htuple,
18840        Contrast: Htuple,
18841        MinContrast: Htuple,
18842        GenParamName: Htuple,
18843        GenParamValue: Htuple,
18844        Parameters: Htuple,
18845        ParameterName: *mut Htuple,
18846        ParameterValue: *mut Htuple,
18847    ) -> Herror;
18848}
18849unsafe extern "C" {
18850    pub fn T_deserialize_deformable_model(
18851        SerializedItemHandle: Htuple,
18852        ModelID: *mut Htuple,
18853    ) -> Herror;
18854}
18855unsafe extern "C" {
18856    pub fn deserialize_deformable_model(SerializedItemHandle: Hlong, ModelID: *mut Hlong)
18857    -> Herror;
18858}
18859unsafe extern "C" {
18860    pub fn T_serialize_deformable_model(
18861        ModelID: Htuple,
18862        SerializedItemHandle: *mut Htuple,
18863    ) -> Herror;
18864}
18865unsafe extern "C" {
18866    pub fn serialize_deformable_model(ModelID: Hlong, SerializedItemHandle: *mut Hlong) -> Herror;
18867}
18868unsafe extern "C" {
18869    pub fn T_read_deformable_model(FileName: Htuple, ModelID: *mut Htuple) -> Herror;
18870}
18871unsafe extern "C" {
18872    pub fn read_deformable_model(
18873        FileName: *const ::std::os::raw::c_char,
18874        ModelID: *mut Hlong,
18875    ) -> Herror;
18876}
18877unsafe extern "C" {
18878    pub fn T_write_deformable_model(ModelID: Htuple, FileName: Htuple) -> Herror;
18879}
18880unsafe extern "C" {
18881    pub fn write_deformable_model(
18882        ModelID: Hlong,
18883        FileName: *const ::std::os::raw::c_char,
18884    ) -> Herror;
18885}
18886unsafe extern "C" {
18887    pub fn T_clear_all_deformable_models() -> Herror;
18888}
18889unsafe extern "C" {
18890    pub fn clear_all_deformable_models() -> Herror;
18891}
18892unsafe extern "C" {
18893    pub fn T_clear_deformable_model(ModelID: Htuple) -> Herror;
18894}
18895unsafe extern "C" {
18896    pub fn clear_deformable_model(ModelID: Hlong) -> Herror;
18897}
18898unsafe extern "C" {
18899    pub fn T_find_local_deformable_model(
18900        Image: Hobject,
18901        ImageRectified: *mut Hobject,
18902        VectorField: *mut Hobject,
18903        DeformedContours: *mut Hobject,
18904        ModelID: Htuple,
18905        AngleStart: Htuple,
18906        AngleExtent: Htuple,
18907        ScaleRMin: Htuple,
18908        ScaleRMax: Htuple,
18909        ScaleCMin: Htuple,
18910        ScaleCMax: Htuple,
18911        MinScore: Htuple,
18912        NumMatches: Htuple,
18913        MaxOverlap: Htuple,
18914        NumLevels: Htuple,
18915        Greediness: Htuple,
18916        ResultType: Htuple,
18917        GenParamName: Htuple,
18918        GenParamValue: Htuple,
18919        Score: *mut Htuple,
18920        Row: *mut Htuple,
18921        Column: *mut Htuple,
18922    ) -> Herror;
18923}
18924unsafe extern "C" {
18925    pub fn T_find_planar_calib_deformable_model(
18926        Image: Hobject,
18927        ModelID: Htuple,
18928        AngleStart: Htuple,
18929        AngleExtent: Htuple,
18930        ScaleRMin: Htuple,
18931        ScaleRMax: Htuple,
18932        ScaleCMin: Htuple,
18933        ScaleCMax: Htuple,
18934        MinScore: Htuple,
18935        NumMatches: Htuple,
18936        MaxOverlap: Htuple,
18937        NumLevels: Htuple,
18938        Greediness: Htuple,
18939        GenParamName: Htuple,
18940        GenParamValue: Htuple,
18941        Pose: *mut Htuple,
18942        CovPose: *mut Htuple,
18943        Score: *mut Htuple,
18944    ) -> Herror;
18945}
18946unsafe extern "C" {
18947    pub fn T_find_planar_uncalib_deformable_model(
18948        Image: Hobject,
18949        ModelID: Htuple,
18950        AngleStart: Htuple,
18951        AngleExtent: Htuple,
18952        ScaleRMin: Htuple,
18953        ScaleRMax: Htuple,
18954        ScaleCMin: Htuple,
18955        ScaleCMax: Htuple,
18956        MinScore: Htuple,
18957        NumMatches: Htuple,
18958        MaxOverlap: Htuple,
18959        NumLevels: Htuple,
18960        Greediness: Htuple,
18961        GenParamName: Htuple,
18962        GenParamValue: Htuple,
18963        HomMat2D: *mut Htuple,
18964        Score: *mut Htuple,
18965    ) -> Herror;
18966}
18967unsafe extern "C" {
18968    pub fn T_set_local_deformable_model_metric(
18969        Image: Hobject,
18970        VectorField: Hobject,
18971        ModelID: Htuple,
18972        Metric: Htuple,
18973    ) -> Herror;
18974}
18975unsafe extern "C" {
18976    pub fn set_local_deformable_model_metric(
18977        Image: Hobject,
18978        VectorField: Hobject,
18979        ModelID: Hlong,
18980        Metric: *const ::std::os::raw::c_char,
18981    ) -> Herror;
18982}
18983unsafe extern "C" {
18984    pub fn T_set_planar_calib_deformable_model_metric(
18985        Image: Hobject,
18986        ModelID: Htuple,
18987        Pose: Htuple,
18988        Metric: Htuple,
18989    ) -> Herror;
18990}
18991unsafe extern "C" {
18992    pub fn T_set_planar_uncalib_deformable_model_metric(
18993        Image: Hobject,
18994        ModelID: Htuple,
18995        HomMat2D: Htuple,
18996        Metric: Htuple,
18997    ) -> Herror;
18998}
18999unsafe extern "C" {
19000    pub fn T_create_local_deformable_model_xld(
19001        Contours: Hobject,
19002        NumLevels: Htuple,
19003        AngleStart: Htuple,
19004        AngleExtent: Htuple,
19005        AngleStep: Htuple,
19006        ScaleRMin: Htuple,
19007        ScaleRMax: Htuple,
19008        ScaleRStep: Htuple,
19009        ScaleCMin: Htuple,
19010        ScaleCMax: Htuple,
19011        ScaleCStep: Htuple,
19012        Optimization: Htuple,
19013        Metric: Htuple,
19014        MinContrast: Htuple,
19015        GenParamName: Htuple,
19016        GenParamValue: Htuple,
19017        ModelID: *mut Htuple,
19018    ) -> Herror;
19019}
19020unsafe extern "C" {
19021    pub fn T_create_planar_calib_deformable_model_xld(
19022        Contours: Hobject,
19023        CamParam: Htuple,
19024        ReferencePose: Htuple,
19025        NumLevels: Htuple,
19026        AngleStart: Htuple,
19027        AngleExtent: Htuple,
19028        AngleStep: Htuple,
19029        ScaleRMin: Htuple,
19030        ScaleRMax: Htuple,
19031        ScaleRStep: Htuple,
19032        ScaleCMin: Htuple,
19033        ScaleCMax: Htuple,
19034        ScaleCStep: Htuple,
19035        Optimization: Htuple,
19036        Metric: Htuple,
19037        MinContrast: Htuple,
19038        GenParamName: Htuple,
19039        GenParamValue: Htuple,
19040        ModelID: *mut Htuple,
19041    ) -> Herror;
19042}
19043unsafe extern "C" {
19044    pub fn T_create_planar_uncalib_deformable_model_xld(
19045        Contours: Hobject,
19046        NumLevels: Htuple,
19047        AngleStart: Htuple,
19048        AngleExtent: Htuple,
19049        AngleStep: Htuple,
19050        ScaleRMin: Htuple,
19051        ScaleRMax: Htuple,
19052        ScaleRStep: Htuple,
19053        ScaleCMin: Htuple,
19054        ScaleCMax: Htuple,
19055        ScaleCStep: Htuple,
19056        Optimization: Htuple,
19057        Metric: Htuple,
19058        MinContrast: Htuple,
19059        GenParamName: Htuple,
19060        GenParamValue: Htuple,
19061        ModelID: *mut Htuple,
19062    ) -> Herror;
19063}
19064unsafe extern "C" {
19065    pub fn T_create_local_deformable_model(
19066        Template: Hobject,
19067        NumLevels: Htuple,
19068        AngleStart: Htuple,
19069        AngleExtent: Htuple,
19070        AngleStep: Htuple,
19071        ScaleRMin: Htuple,
19072        ScaleRMax: Htuple,
19073        ScaleRStep: Htuple,
19074        ScaleCMin: Htuple,
19075        ScaleCMax: Htuple,
19076        ScaleCStep: Htuple,
19077        Optimization: Htuple,
19078        Metric: Htuple,
19079        Contrast: Htuple,
19080        MinContrast: Htuple,
19081        GenParamName: Htuple,
19082        GenParamValue: Htuple,
19083        ModelID: *mut Htuple,
19084    ) -> Herror;
19085}
19086unsafe extern "C" {
19087    pub fn T_create_planar_calib_deformable_model(
19088        Template: Hobject,
19089        CamParam: Htuple,
19090        ReferencePose: Htuple,
19091        NumLevels: Htuple,
19092        AngleStart: Htuple,
19093        AngleExtent: Htuple,
19094        AngleStep: Htuple,
19095        ScaleRMin: Htuple,
19096        ScaleRMax: Htuple,
19097        ScaleRStep: Htuple,
19098        ScaleCMin: Htuple,
19099        ScaleCMax: Htuple,
19100        ScaleCStep: Htuple,
19101        Optimization: Htuple,
19102        Metric: Htuple,
19103        Contrast: Htuple,
19104        MinContrast: Htuple,
19105        GenParamName: Htuple,
19106        GenParamValue: Htuple,
19107        ModelID: *mut Htuple,
19108    ) -> Herror;
19109}
19110unsafe extern "C" {
19111    pub fn T_create_planar_uncalib_deformable_model(
19112        Template: Hobject,
19113        NumLevels: Htuple,
19114        AngleStart: Htuple,
19115        AngleExtent: Htuple,
19116        AngleStep: Htuple,
19117        ScaleRMin: Htuple,
19118        ScaleRMax: Htuple,
19119        ScaleRStep: Htuple,
19120        ScaleCMin: Htuple,
19121        ScaleCMax: Htuple,
19122        ScaleCStep: Htuple,
19123        Optimization: Htuple,
19124        Metric: Htuple,
19125        Contrast: Htuple,
19126        MinContrast: Htuple,
19127        GenParamName: Htuple,
19128        GenParamValue: Htuple,
19129        ModelID: *mut Htuple,
19130    ) -> Herror;
19131}
19132unsafe extern "C" {
19133    pub fn T_clear_all_ncc_models() -> Herror;
19134}
19135unsafe extern "C" {
19136    pub fn clear_all_ncc_models() -> Herror;
19137}
19138unsafe extern "C" {
19139    pub fn T_clear_ncc_model(ModelID: Htuple) -> Herror;
19140}
19141unsafe extern "C" {
19142    pub fn clear_ncc_model(ModelID: Hlong) -> Herror;
19143}
19144unsafe extern "C" {
19145    pub fn T_deserialize_ncc_model(SerializedItemHandle: Htuple, ModelID: *mut Htuple) -> Herror;
19146}
19147unsafe extern "C" {
19148    pub fn deserialize_ncc_model(SerializedItemHandle: Hlong, ModelID: *mut Hlong) -> Herror;
19149}
19150unsafe extern "C" {
19151    pub fn T_serialize_ncc_model(ModelID: Htuple, SerializedItemHandle: *mut Htuple) -> Herror;
19152}
19153unsafe extern "C" {
19154    pub fn serialize_ncc_model(ModelID: Hlong, SerializedItemHandle: *mut Hlong) -> Herror;
19155}
19156unsafe extern "C" {
19157    pub fn T_read_ncc_model(FileName: Htuple, ModelID: *mut Htuple) -> Herror;
19158}
19159unsafe extern "C" {
19160    pub fn read_ncc_model(FileName: *const ::std::os::raw::c_char, ModelID: *mut Hlong) -> Herror;
19161}
19162unsafe extern "C" {
19163    pub fn T_write_ncc_model(ModelID: Htuple, FileName: Htuple) -> Herror;
19164}
19165unsafe extern "C" {
19166    pub fn write_ncc_model(ModelID: Hlong, FileName: *const ::std::os::raw::c_char) -> Herror;
19167}
19168unsafe extern "C" {
19169    pub fn T_determine_ncc_model_params(
19170        Template: Hobject,
19171        NumLevels: Htuple,
19172        AngleStart: Htuple,
19173        AngleExtent: Htuple,
19174        Metric: Htuple,
19175        Parameters: Htuple,
19176        ParameterName: *mut Htuple,
19177        ParameterValue: *mut Htuple,
19178    ) -> Herror;
19179}
19180unsafe extern "C" {
19181    pub fn T_get_ncc_model_params(
19182        ModelID: Htuple,
19183        NumLevels: *mut Htuple,
19184        AngleStart: *mut Htuple,
19185        AngleExtent: *mut Htuple,
19186        AngleStep: *mut Htuple,
19187        Metric: *mut Htuple,
19188    ) -> Herror;
19189}
19190unsafe extern "C" {
19191    pub fn get_ncc_model_params(
19192        ModelID: Hlong,
19193        NumLevels: *mut Hlong,
19194        AngleStart: *mut f64,
19195        AngleExtent: *mut f64,
19196        AngleStep: *mut f64,
19197        Metric: *mut ::std::os::raw::c_char,
19198    ) -> Herror;
19199}
19200unsafe extern "C" {
19201    pub fn T_get_ncc_model_origin(ModelID: Htuple, Row: *mut Htuple, Column: *mut Htuple)
19202    -> Herror;
19203}
19204unsafe extern "C" {
19205    pub fn get_ncc_model_origin(ModelID: Hlong, Row: *mut f64, Column: *mut f64) -> Herror;
19206}
19207unsafe extern "C" {
19208    pub fn T_set_ncc_model_origin(ModelID: Htuple, Row: Htuple, Column: Htuple) -> Herror;
19209}
19210unsafe extern "C" {
19211    pub fn set_ncc_model_origin(ModelID: Hlong, Row: f64, Column: f64) -> Herror;
19212}
19213unsafe extern "C" {
19214    pub fn T_find_ncc_model(
19215        Image: Hobject,
19216        ModelID: Htuple,
19217        AngleStart: Htuple,
19218        AngleExtent: Htuple,
19219        MinScore: Htuple,
19220        NumMatches: Htuple,
19221        MaxOverlap: Htuple,
19222        SubPixel: Htuple,
19223        NumLevels: Htuple,
19224        Row: *mut Htuple,
19225        Column: *mut Htuple,
19226        Angle: *mut Htuple,
19227        Score: *mut Htuple,
19228    ) -> Herror;
19229}
19230unsafe extern "C" {
19231    pub fn T_set_ncc_model_param(
19232        ModelID: Htuple,
19233        GenParamName: Htuple,
19234        GenParamValue: Htuple,
19235    ) -> Herror;
19236}
19237unsafe extern "C" {
19238    pub fn T_create_ncc_model(
19239        Template: Hobject,
19240        NumLevels: Htuple,
19241        AngleStart: Htuple,
19242        AngleExtent: Htuple,
19243        AngleStep: Htuple,
19244        Metric: Htuple,
19245        ModelID: *mut Htuple,
19246    ) -> Herror;
19247}
19248unsafe extern "C" {
19249    pub fn create_ncc_model(
19250        Template: Hobject,
19251        NumLevels: Hlong,
19252        AngleStart: f64,
19253        AngleExtent: f64,
19254        AngleStep: f64,
19255        Metric: *const ::std::os::raw::c_char,
19256        ModelID: *mut Hlong,
19257    ) -> Herror;
19258}
19259unsafe extern "C" {
19260    pub fn T_get_found_component_model(
19261        FoundComponents: *mut Hobject,
19262        ComponentModelID: Htuple,
19263        ModelStart: Htuple,
19264        ModelEnd: Htuple,
19265        RowComp: Htuple,
19266        ColumnComp: Htuple,
19267        AngleComp: Htuple,
19268        ScoreComp: Htuple,
19269        ModelComp: Htuple,
19270        ModelMatch: Htuple,
19271        MarkOrientation: Htuple,
19272        RowCompInst: *mut Htuple,
19273        ColumnCompInst: *mut Htuple,
19274        AngleCompInst: *mut Htuple,
19275        ScoreCompInst: *mut Htuple,
19276    ) -> Herror;
19277}
19278unsafe extern "C" {
19279    pub fn get_found_component_model(
19280        FoundComponents: *mut Hobject,
19281        ComponentModelID: Hlong,
19282        ModelStart: Hlong,
19283        ModelEnd: Hlong,
19284        RowComp: f64,
19285        ColumnComp: f64,
19286        AngleComp: f64,
19287        ScoreComp: f64,
19288        ModelComp: Hlong,
19289        ModelMatch: Hlong,
19290        MarkOrientation: *const ::std::os::raw::c_char,
19291        RowCompInst: *mut f64,
19292        ColumnCompInst: *mut f64,
19293        AngleCompInst: *mut f64,
19294        ScoreCompInst: *mut f64,
19295    ) -> Herror;
19296}
19297unsafe extern "C" {
19298    pub fn T_find_component_model(
19299        Image: Hobject,
19300        ComponentModelID: Htuple,
19301        RootComponent: Htuple,
19302        AngleStartRoot: Htuple,
19303        AngleExtentRoot: Htuple,
19304        MinScore: Htuple,
19305        NumMatches: Htuple,
19306        MaxOverlap: Htuple,
19307        IfRootNotFound: Htuple,
19308        IfComponentNotFound: Htuple,
19309        PosePrediction: Htuple,
19310        MinScoreComp: Htuple,
19311        SubPixelComp: Htuple,
19312        NumLevelsComp: Htuple,
19313        GreedinessComp: Htuple,
19314        ModelStart: *mut Htuple,
19315        ModelEnd: *mut Htuple,
19316        Score: *mut Htuple,
19317        RowComp: *mut Htuple,
19318        ColumnComp: *mut Htuple,
19319        AngleComp: *mut Htuple,
19320        ScoreComp: *mut Htuple,
19321        ModelComp: *mut Htuple,
19322    ) -> Herror;
19323}
19324unsafe extern "C" {
19325    pub fn find_component_model(
19326        Image: Hobject,
19327        ComponentModelID: Hlong,
19328        RootComponent: Hlong,
19329        AngleStartRoot: f64,
19330        AngleExtentRoot: f64,
19331        MinScore: f64,
19332        NumMatches: Hlong,
19333        MaxOverlap: f64,
19334        IfRootNotFound: *const ::std::os::raw::c_char,
19335        IfComponentNotFound: *const ::std::os::raw::c_char,
19336        PosePrediction: *const ::std::os::raw::c_char,
19337        MinScoreComp: f64,
19338        SubPixelComp: *const ::std::os::raw::c_char,
19339        NumLevelsComp: Hlong,
19340        GreedinessComp: f64,
19341        ModelStart: *mut Hlong,
19342        ModelEnd: *mut Hlong,
19343        Score: *mut f64,
19344        RowComp: *mut f64,
19345        ColumnComp: *mut f64,
19346        AngleComp: *mut f64,
19347        ScoreComp: *mut f64,
19348        ModelComp: *mut Hlong,
19349    ) -> Herror;
19350}
19351unsafe extern "C" {
19352    pub fn T_clear_all_component_models() -> Herror;
19353}
19354unsafe extern "C" {
19355    pub fn clear_all_component_models() -> Herror;
19356}
19357unsafe extern "C" {
19358    pub fn T_clear_component_model(ComponentModelID: Htuple) -> Herror;
19359}
19360unsafe extern "C" {
19361    pub fn clear_component_model(ComponentModelID: Hlong) -> Herror;
19362}
19363unsafe extern "C" {
19364    pub fn T_get_component_model_tree(
19365        Tree: *mut Hobject,
19366        Relations: *mut Hobject,
19367        ComponentModelID: Htuple,
19368        RootComponent: Htuple,
19369        Image: Htuple,
19370        StartNode: *mut Htuple,
19371        EndNode: *mut Htuple,
19372        Row: *mut Htuple,
19373        Column: *mut Htuple,
19374        Phi: *mut Htuple,
19375        Length1: *mut Htuple,
19376        Length2: *mut Htuple,
19377        AngleStart: *mut Htuple,
19378        AngleExtent: *mut Htuple,
19379    ) -> Herror;
19380}
19381unsafe extern "C" {
19382    pub fn get_component_model_tree(
19383        Tree: *mut Hobject,
19384        Relations: *mut Hobject,
19385        ComponentModelID: Hlong,
19386        RootComponent: Hlong,
19387        Image: *const ::std::os::raw::c_char,
19388        StartNode: *mut Hlong,
19389        EndNode: *mut Hlong,
19390        Row: *mut f64,
19391        Column: *mut f64,
19392        Phi: *mut f64,
19393        Length1: *mut f64,
19394        Length2: *mut f64,
19395        AngleStart: *mut f64,
19396        AngleExtent: *mut f64,
19397    ) -> Herror;
19398}
19399unsafe extern "C" {
19400    pub fn T_get_component_model_params(
19401        ComponentModelID: Htuple,
19402        MinScoreComp: *mut Htuple,
19403        RootRanking: *mut Htuple,
19404        ShapeModelIDs: *mut Htuple,
19405    ) -> Herror;
19406}
19407unsafe extern "C" {
19408    pub fn get_component_model_params(
19409        ComponentModelID: Hlong,
19410        MinScoreComp: *mut f64,
19411        RootRanking: *mut Hlong,
19412        ShapeModelIDs: *mut Hlong,
19413    ) -> Herror;
19414}
19415unsafe extern "C" {
19416    pub fn T_deserialize_component_model(
19417        SerializedItemHandle: Htuple,
19418        ComponentModelID: *mut Htuple,
19419    ) -> Herror;
19420}
19421unsafe extern "C" {
19422    pub fn deserialize_component_model(
19423        SerializedItemHandle: Hlong,
19424        ComponentModelID: *mut Hlong,
19425    ) -> Herror;
19426}
19427unsafe extern "C" {
19428    pub fn T_serialize_component_model(
19429        ComponentModelID: Htuple,
19430        SerializedItemHandle: *mut Htuple,
19431    ) -> Herror;
19432}
19433unsafe extern "C" {
19434    pub fn serialize_component_model(
19435        ComponentModelID: Hlong,
19436        SerializedItemHandle: *mut Hlong,
19437    ) -> Herror;
19438}
19439unsafe extern "C" {
19440    pub fn T_read_component_model(FileName: Htuple, ComponentModelID: *mut Htuple) -> Herror;
19441}
19442unsafe extern "C" {
19443    pub fn read_component_model(
19444        FileName: *const ::std::os::raw::c_char,
19445        ComponentModelID: *mut Hlong,
19446    ) -> Herror;
19447}
19448unsafe extern "C" {
19449    pub fn T_write_component_model(ComponentModelID: Htuple, FileName: Htuple) -> Herror;
19450}
19451unsafe extern "C" {
19452    pub fn write_component_model(
19453        ComponentModelID: Hlong,
19454        FileName: *const ::std::os::raw::c_char,
19455    ) -> Herror;
19456}
19457unsafe extern "C" {
19458    pub fn T_create_component_model(
19459        ModelImage: Hobject,
19460        ComponentRegions: Hobject,
19461        VariationRow: Htuple,
19462        VariationColumn: Htuple,
19463        VariationAngle: Htuple,
19464        AngleStart: Htuple,
19465        AngleExtent: Htuple,
19466        ContrastLowComp: Htuple,
19467        ContrastHighComp: Htuple,
19468        MinSizeComp: Htuple,
19469        MinContrastComp: Htuple,
19470        MinScoreComp: Htuple,
19471        NumLevelsComp: Htuple,
19472        AngleStepComp: Htuple,
19473        OptimizationComp: Htuple,
19474        MetricComp: Htuple,
19475        PregenerationComp: Htuple,
19476        ComponentModelID: *mut Htuple,
19477        RootRanking: *mut Htuple,
19478    ) -> Herror;
19479}
19480unsafe extern "C" {
19481    pub fn create_component_model(
19482        ModelImage: Hobject,
19483        ComponentRegions: Hobject,
19484        VariationRow: Hlong,
19485        VariationColumn: Hlong,
19486        VariationAngle: f64,
19487        AngleStart: f64,
19488        AngleExtent: f64,
19489        ContrastLowComp: Hlong,
19490        ContrastHighComp: Hlong,
19491        MinSizeComp: Hlong,
19492        MinContrastComp: Hlong,
19493        MinScoreComp: f64,
19494        NumLevelsComp: Hlong,
19495        AngleStepComp: f64,
19496        OptimizationComp: *const ::std::os::raw::c_char,
19497        MetricComp: *const ::std::os::raw::c_char,
19498        PregenerationComp: *const ::std::os::raw::c_char,
19499        ComponentModelID: *mut Hlong,
19500        RootRanking: *mut Hlong,
19501    ) -> Herror;
19502}
19503unsafe extern "C" {
19504    pub fn T_create_trained_component_model(
19505        ComponentTrainingID: Htuple,
19506        AngleStart: Htuple,
19507        AngleExtent: Htuple,
19508        MinContrastComp: Htuple,
19509        MinScoreComp: Htuple,
19510        NumLevelsComp: Htuple,
19511        AngleStepComp: Htuple,
19512        OptimizationComp: Htuple,
19513        MetricComp: Htuple,
19514        PregenerationComp: Htuple,
19515        ComponentModelID: *mut Htuple,
19516        RootRanking: *mut Htuple,
19517    ) -> Herror;
19518}
19519unsafe extern "C" {
19520    pub fn create_trained_component_model(
19521        ComponentTrainingID: Hlong,
19522        AngleStart: f64,
19523        AngleExtent: f64,
19524        MinContrastComp: Hlong,
19525        MinScoreComp: f64,
19526        NumLevelsComp: Hlong,
19527        AngleStepComp: f64,
19528        OptimizationComp: *const ::std::os::raw::c_char,
19529        MetricComp: *const ::std::os::raw::c_char,
19530        PregenerationComp: *const ::std::os::raw::c_char,
19531        ComponentModelID: *mut Hlong,
19532        RootRanking: *mut Hlong,
19533    ) -> Herror;
19534}
19535unsafe extern "C" {
19536    pub fn T_clear_all_training_components() -> Herror;
19537}
19538unsafe extern "C" {
19539    pub fn clear_all_training_components() -> Herror;
19540}
19541unsafe extern "C" {
19542    pub fn T_clear_training_components(ComponentTrainingID: Htuple) -> Herror;
19543}
19544unsafe extern "C" {
19545    pub fn clear_training_components(ComponentTrainingID: Hlong) -> Herror;
19546}
19547unsafe extern "C" {
19548    pub fn T_get_component_relations(
19549        Relations: *mut Hobject,
19550        ComponentTrainingID: Htuple,
19551        ReferenceComponent: Htuple,
19552        Image: Htuple,
19553        Row: *mut Htuple,
19554        Column: *mut Htuple,
19555        Phi: *mut Htuple,
19556        Length1: *mut Htuple,
19557        Length2: *mut Htuple,
19558        AngleStart: *mut Htuple,
19559        AngleExtent: *mut Htuple,
19560    ) -> Herror;
19561}
19562unsafe extern "C" {
19563    pub fn get_component_relations(
19564        Relations: *mut Hobject,
19565        ComponentTrainingID: Hlong,
19566        ReferenceComponent: Hlong,
19567        Image: *const ::std::os::raw::c_char,
19568        Row: *mut f64,
19569        Column: *mut f64,
19570        Phi: *mut f64,
19571        Length1: *mut f64,
19572        Length2: *mut f64,
19573        AngleStart: *mut f64,
19574        AngleExtent: *mut f64,
19575    ) -> Herror;
19576}
19577unsafe extern "C" {
19578    pub fn T_get_training_components(
19579        TrainingComponents: *mut Hobject,
19580        ComponentTrainingID: Htuple,
19581        Components: Htuple,
19582        Image: Htuple,
19583        MarkOrientation: Htuple,
19584        Row: *mut Htuple,
19585        Column: *mut Htuple,
19586        Angle: *mut Htuple,
19587        Score: *mut Htuple,
19588    ) -> Herror;
19589}
19590unsafe extern "C" {
19591    pub fn get_training_components(
19592        TrainingComponents: *mut Hobject,
19593        ComponentTrainingID: Hlong,
19594        Components: *const ::std::os::raw::c_char,
19595        Image: *const ::std::os::raw::c_char,
19596        MarkOrientation: *const ::std::os::raw::c_char,
19597        Row: *mut f64,
19598        Column: *mut f64,
19599        Angle: *mut f64,
19600        Score: *mut f64,
19601    ) -> Herror;
19602}
19603unsafe extern "C" {
19604    pub fn T_modify_component_relations(
19605        ComponentTrainingID: Htuple,
19606        ReferenceComponent: Htuple,
19607        ToleranceComponent: Htuple,
19608        PositionTolerance: Htuple,
19609        AngleTolerance: Htuple,
19610    ) -> Herror;
19611}
19612unsafe extern "C" {
19613    pub fn modify_component_relations(
19614        ComponentTrainingID: Hlong,
19615        ReferenceComponent: *const ::std::os::raw::c_char,
19616        ToleranceComponent: *const ::std::os::raw::c_char,
19617        PositionTolerance: f64,
19618        AngleTolerance: f64,
19619    ) -> Herror;
19620}
19621unsafe extern "C" {
19622    pub fn T_deserialize_training_components(
19623        SerializedItemHandle: Htuple,
19624        ComponentTrainingID: *mut Htuple,
19625    ) -> Herror;
19626}
19627unsafe extern "C" {
19628    pub fn deserialize_training_components(
19629        SerializedItemHandle: Hlong,
19630        ComponentTrainingID: *mut Hlong,
19631    ) -> Herror;
19632}
19633unsafe extern "C" {
19634    pub fn T_serialize_training_components(
19635        ComponentTrainingID: Htuple,
19636        SerializedItemHandle: *mut Htuple,
19637    ) -> Herror;
19638}
19639unsafe extern "C" {
19640    pub fn serialize_training_components(
19641        ComponentTrainingID: Hlong,
19642        SerializedItemHandle: *mut Hlong,
19643    ) -> Herror;
19644}
19645unsafe extern "C" {
19646    pub fn T_read_training_components(FileName: Htuple, ComponentTrainingID: *mut Htuple)
19647    -> Herror;
19648}
19649unsafe extern "C" {
19650    pub fn read_training_components(
19651        FileName: *const ::std::os::raw::c_char,
19652        ComponentTrainingID: *mut Hlong,
19653    ) -> Herror;
19654}
19655unsafe extern "C" {
19656    pub fn T_write_training_components(ComponentTrainingID: Htuple, FileName: Htuple) -> Herror;
19657}
19658unsafe extern "C" {
19659    pub fn write_training_components(
19660        ComponentTrainingID: Hlong,
19661        FileName: *const ::std::os::raw::c_char,
19662    ) -> Herror;
19663}
19664unsafe extern "C" {
19665    pub fn T_cluster_model_components(
19666        TrainingImages: Hobject,
19667        ModelComponents: *mut Hobject,
19668        ComponentTrainingID: Htuple,
19669        AmbiguityCriterion: Htuple,
19670        MaxContourOverlap: Htuple,
19671        ClusterThreshold: Htuple,
19672    ) -> Herror;
19673}
19674unsafe extern "C" {
19675    pub fn cluster_model_components(
19676        TrainingImages: Hobject,
19677        ModelComponents: *mut Hobject,
19678        ComponentTrainingID: Hlong,
19679        AmbiguityCriterion: *const ::std::os::raw::c_char,
19680        MaxContourOverlap: f64,
19681        ClusterThreshold: f64,
19682    ) -> Herror;
19683}
19684unsafe extern "C" {
19685    pub fn T_inspect_clustered_components(
19686        ModelComponents: *mut Hobject,
19687        ComponentTrainingID: Htuple,
19688        AmbiguityCriterion: Htuple,
19689        MaxContourOverlap: Htuple,
19690        ClusterThreshold: Htuple,
19691    ) -> Herror;
19692}
19693unsafe extern "C" {
19694    pub fn inspect_clustered_components(
19695        ModelComponents: *mut Hobject,
19696        ComponentTrainingID: Hlong,
19697        AmbiguityCriterion: *const ::std::os::raw::c_char,
19698        MaxContourOverlap: f64,
19699        ClusterThreshold: f64,
19700    ) -> Herror;
19701}
19702unsafe extern "C" {
19703    pub fn T_train_model_components(
19704        ModelImage: Hobject,
19705        InitialComponents: Hobject,
19706        TrainingImages: Hobject,
19707        ModelComponents: *mut Hobject,
19708        ContrastLow: Htuple,
19709        ContrastHigh: Htuple,
19710        MinSize: Htuple,
19711        MinScore: Htuple,
19712        SearchRowTol: Htuple,
19713        SearchColumnTol: Htuple,
19714        SearchAngleTol: Htuple,
19715        TrainingEmphasis: Htuple,
19716        AmbiguityCriterion: Htuple,
19717        MaxContourOverlap: Htuple,
19718        ClusterThreshold: Htuple,
19719        ComponentTrainingID: *mut Htuple,
19720    ) -> Herror;
19721}
19722unsafe extern "C" {
19723    pub fn train_model_components(
19724        ModelImage: Hobject,
19725        InitialComponents: Hobject,
19726        TrainingImages: Hobject,
19727        ModelComponents: *mut Hobject,
19728        ContrastLow: Hlong,
19729        ContrastHigh: Hlong,
19730        MinSize: Hlong,
19731        MinScore: f64,
19732        SearchRowTol: Hlong,
19733        SearchColumnTol: Hlong,
19734        SearchAngleTol: f64,
19735        TrainingEmphasis: *const ::std::os::raw::c_char,
19736        AmbiguityCriterion: *const ::std::os::raw::c_char,
19737        MaxContourOverlap: f64,
19738        ClusterThreshold: f64,
19739        ComponentTrainingID: *mut Hlong,
19740    ) -> Herror;
19741}
19742unsafe extern "C" {
19743    pub fn T_gen_initial_components(
19744        ModelImage: Hobject,
19745        InitialComponents: *mut Hobject,
19746        ContrastLow: Htuple,
19747        ContrastHigh: Htuple,
19748        MinSize: Htuple,
19749        Mode: Htuple,
19750        GenericName: Htuple,
19751        GenericValue: Htuple,
19752    ) -> Herror;
19753}
19754unsafe extern "C" {
19755    pub fn gen_initial_components(
19756        ModelImage: Hobject,
19757        InitialComponents: *mut Hobject,
19758        ContrastLow: Hlong,
19759        ContrastHigh: Hlong,
19760        MinSize: Hlong,
19761        Mode: *const ::std::os::raw::c_char,
19762        GenericName: *const ::std::os::raw::c_char,
19763        GenericValue: f64,
19764    ) -> Herror;
19765}
19766unsafe extern "C" {
19767    pub fn T_get_deformable_surface_matching_result(
19768        DeformableSurfaceMatchingResult: Htuple,
19769        ResultName: Htuple,
19770        ResultIndex: Htuple,
19771        ResultValue: *mut Htuple,
19772    ) -> Herror;
19773}
19774unsafe extern "C" {
19775    pub fn get_deformable_surface_matching_result(
19776        DeformableSurfaceMatchingResult: Hlong,
19777        ResultName: *const ::std::os::raw::c_char,
19778        ResultIndex: Hlong,
19779        ResultValue: *mut Hlong,
19780    ) -> Herror;
19781}
19782unsafe extern "C" {
19783    pub fn T_clear_deformable_surface_matching_result(
19784        DeformableSurfaceMatchingResult: Htuple,
19785    ) -> Herror;
19786}
19787unsafe extern "C" {
19788    pub fn clear_deformable_surface_matching_result(
19789        DeformableSurfaceMatchingResult: Hlong,
19790    ) -> Herror;
19791}
19792unsafe extern "C" {
19793    pub fn T_clear_deformable_surface_model(DeformableSurfaceModel: Htuple) -> Herror;
19794}
19795unsafe extern "C" {
19796    pub fn clear_deformable_surface_model(DeformableSurfaceModel: Hlong) -> Herror;
19797}
19798unsafe extern "C" {
19799    pub fn T_deserialize_deformable_surface_model(
19800        SerializedItemHandle: Htuple,
19801        DeformableSurfaceModel: *mut Htuple,
19802    ) -> Herror;
19803}
19804unsafe extern "C" {
19805    pub fn deserialize_deformable_surface_model(
19806        SerializedItemHandle: Hlong,
19807        DeformableSurfaceModel: *mut Hlong,
19808    ) -> Herror;
19809}
19810unsafe extern "C" {
19811    pub fn T_serialize_deformable_surface_model(
19812        DeformableSurfaceModel: Htuple,
19813        SerializedItemHandle: *mut Htuple,
19814    ) -> Herror;
19815}
19816unsafe extern "C" {
19817    pub fn serialize_deformable_surface_model(
19818        DeformableSurfaceModel: Hlong,
19819        SerializedItemHandle: *mut Hlong,
19820    ) -> Herror;
19821}
19822unsafe extern "C" {
19823    pub fn T_read_deformable_surface_model(
19824        FileName: Htuple,
19825        DeformableSurfaceModel: *mut Htuple,
19826    ) -> Herror;
19827}
19828unsafe extern "C" {
19829    pub fn read_deformable_surface_model(
19830        FileName: *const ::std::os::raw::c_char,
19831        DeformableSurfaceModel: *mut Hlong,
19832    ) -> Herror;
19833}
19834unsafe extern "C" {
19835    pub fn T_write_deformable_surface_model(
19836        DeformableSurfaceModel: Htuple,
19837        FileName: Htuple,
19838    ) -> Herror;
19839}
19840unsafe extern "C" {
19841    pub fn write_deformable_surface_model(
19842        DeformableSurfaceModel: Hlong,
19843        FileName: *const ::std::os::raw::c_char,
19844    ) -> Herror;
19845}
19846unsafe extern "C" {
19847    pub fn T_refine_deformable_surface_model(
19848        DeformableSurfaceModel: Htuple,
19849        ObjectModel3D: Htuple,
19850        RelSamplingDistance: Htuple,
19851        InitialDeformationObjectModel3D: Htuple,
19852        GenParamName: Htuple,
19853        GenParamValue: Htuple,
19854        Score: *mut Htuple,
19855        DeformableSurfaceMatchingResult: *mut Htuple,
19856    ) -> Herror;
19857}
19858unsafe extern "C" {
19859    pub fn refine_deformable_surface_model(
19860        DeformableSurfaceModel: Hlong,
19861        ObjectModel3D: Hlong,
19862        RelSamplingDistance: f64,
19863        InitialDeformationObjectModel3D: Hlong,
19864        GenParamName: *const ::std::os::raw::c_char,
19865        GenParamValue: *const ::std::os::raw::c_char,
19866        Score: *mut f64,
19867        DeformableSurfaceMatchingResult: *mut Hlong,
19868    ) -> Herror;
19869}
19870unsafe extern "C" {
19871    pub fn T_find_deformable_surface_model(
19872        DeformableSurfaceModel: Htuple,
19873        ObjectModel3D: Htuple,
19874        RelSamplingDistance: Htuple,
19875        MinScore: Htuple,
19876        GenParamName: Htuple,
19877        GenParamValue: Htuple,
19878        Score: *mut Htuple,
19879        DeformableSurfaceMatchingResult: *mut Htuple,
19880    ) -> Herror;
19881}
19882unsafe extern "C" {
19883    pub fn T_get_deformable_surface_model_param(
19884        DeformableSurfaceModel: Htuple,
19885        GenParamName: Htuple,
19886        GenParamValue: *mut Htuple,
19887    ) -> Herror;
19888}
19889unsafe extern "C" {
19890    pub fn get_deformable_surface_model_param(
19891        DeformableSurfaceModel: Hlong,
19892        GenParamName: *const ::std::os::raw::c_char,
19893        GenParamValue: *mut f64,
19894    ) -> Herror;
19895}
19896unsafe extern "C" {
19897    pub fn T_add_deformable_surface_model_reference_point(
19898        DeformableSurfaceModel: Htuple,
19899        ReferencePointX: Htuple,
19900        ReferencePointY: Htuple,
19901        ReferencePointZ: Htuple,
19902        ReferencePointIndex: *mut Htuple,
19903    ) -> Herror;
19904}
19905unsafe extern "C" {
19906    pub fn add_deformable_surface_model_reference_point(
19907        DeformableSurfaceModel: Hlong,
19908        ReferencePointX: f64,
19909        ReferencePointY: f64,
19910        ReferencePointZ: f64,
19911        ReferencePointIndex: *mut Hlong,
19912    ) -> Herror;
19913}
19914unsafe extern "C" {
19915    pub fn T_add_deformable_surface_model_sample(
19916        DeformableSurfaceModel: Htuple,
19917        ObjectModel3D: Htuple,
19918    ) -> Herror;
19919}
19920unsafe extern "C" {
19921    pub fn add_deformable_surface_model_sample(
19922        DeformableSurfaceModel: Hlong,
19923        ObjectModel3D: Hlong,
19924    ) -> Herror;
19925}
19926unsafe extern "C" {
19927    pub fn T_create_deformable_surface_model(
19928        ObjectModel3D: Htuple,
19929        RelSamplingDistance: Htuple,
19930        GenParamName: Htuple,
19931        GenParamValue: Htuple,
19932        DeformableSurfaceModel: *mut Htuple,
19933    ) -> Herror;
19934}
19935unsafe extern "C" {
19936    pub fn create_deformable_surface_model(
19937        ObjectModel3D: Hlong,
19938        RelSamplingDistance: f64,
19939        GenParamName: *const ::std::os::raw::c_char,
19940        GenParamValue: *const ::std::os::raw::c_char,
19941        DeformableSurfaceModel: *mut Hlong,
19942    ) -> Herror;
19943}
19944unsafe extern "C" {
19945    pub fn T_get_surface_matching_result(
19946        SurfaceMatchingResultID: Htuple,
19947        ResultName: Htuple,
19948        ResultIndex: Htuple,
19949        ResultValue: *mut Htuple,
19950    ) -> Herror;
19951}
19952unsafe extern "C" {
19953    pub fn get_surface_matching_result(
19954        SurfaceMatchingResultID: Hlong,
19955        ResultName: *const ::std::os::raw::c_char,
19956        ResultIndex: Hlong,
19957        ResultValue: *mut Hlong,
19958    ) -> Herror;
19959}
19960unsafe extern "C" {
19961    pub fn T_clear_all_surface_matching_results() -> Herror;
19962}
19963unsafe extern "C" {
19964    pub fn clear_all_surface_matching_results() -> Herror;
19965}
19966unsafe extern "C" {
19967    pub fn T_clear_surface_matching_result(SurfaceMatchingResultID: Htuple) -> Herror;
19968}
19969unsafe extern "C" {
19970    pub fn clear_surface_matching_result(SurfaceMatchingResultID: Hlong) -> Herror;
19971}
19972unsafe extern "C" {
19973    pub fn T_clear_all_surface_models() -> Herror;
19974}
19975unsafe extern "C" {
19976    pub fn clear_all_surface_models() -> Herror;
19977}
19978unsafe extern "C" {
19979    pub fn T_clear_surface_model(SurfaceModelID: Htuple) -> Herror;
19980}
19981unsafe extern "C" {
19982    pub fn clear_surface_model(SurfaceModelID: Hlong) -> Herror;
19983}
19984unsafe extern "C" {
19985    pub fn T_deserialize_surface_model(
19986        SerializedItemHandle: Htuple,
19987        SurfaceModelID: *mut Htuple,
19988    ) -> Herror;
19989}
19990unsafe extern "C" {
19991    pub fn deserialize_surface_model(
19992        SerializedItemHandle: Hlong,
19993        SurfaceModelID: *mut Hlong,
19994    ) -> Herror;
19995}
19996unsafe extern "C" {
19997    pub fn T_serialize_surface_model(
19998        SurfaceModelID: Htuple,
19999        SerializedItemHandle: *mut Htuple,
20000    ) -> Herror;
20001}
20002unsafe extern "C" {
20003    pub fn serialize_surface_model(
20004        SurfaceModelID: Hlong,
20005        SerializedItemHandle: *mut Hlong,
20006    ) -> Herror;
20007}
20008unsafe extern "C" {
20009    pub fn T_read_surface_model(FileName: Htuple, SurfaceModelID: *mut Htuple) -> Herror;
20010}
20011unsafe extern "C" {
20012    pub fn read_surface_model(
20013        FileName: *const ::std::os::raw::c_char,
20014        SurfaceModelID: *mut Hlong,
20015    ) -> Herror;
20016}
20017unsafe extern "C" {
20018    pub fn T_write_surface_model(SurfaceModelID: Htuple, FileName: Htuple) -> Herror;
20019}
20020unsafe extern "C" {
20021    pub fn write_surface_model(
20022        SurfaceModelID: Hlong,
20023        FileName: *const ::std::os::raw::c_char,
20024    ) -> Herror;
20025}
20026unsafe extern "C" {
20027    pub fn T_refine_surface_model_pose(
20028        SurfaceModelID: Htuple,
20029        ObjectModel3D: Htuple,
20030        InitialPose: Htuple,
20031        MinScore: Htuple,
20032        ReturnResultHandle: Htuple,
20033        GenParamName: Htuple,
20034        GenParamValue: Htuple,
20035        Pose: *mut Htuple,
20036        Score: *mut Htuple,
20037        SurfaceMatchingResultID: *mut Htuple,
20038    ) -> Herror;
20039}
20040unsafe extern "C" {
20041    pub fn T_find_surface_model(
20042        SurfaceModelID: Htuple,
20043        ObjectModel3D: Htuple,
20044        RelSamplingDistance: Htuple,
20045        KeyPointFraction: Htuple,
20046        MinScore: Htuple,
20047        ReturnResultHandle: Htuple,
20048        GenParamName: Htuple,
20049        GenParamValue: Htuple,
20050        Pose: *mut Htuple,
20051        Score: *mut Htuple,
20052        SurfaceMatchingResultID: *mut Htuple,
20053    ) -> Herror;
20054}
20055unsafe extern "C" {
20056    pub fn T_get_surface_model_param(
20057        SurfaceModelID: Htuple,
20058        GenParamName: Htuple,
20059        GenParamValue: *mut Htuple,
20060    ) -> Herror;
20061}
20062unsafe extern "C" {
20063    pub fn get_surface_model_param(
20064        SurfaceModelID: Hlong,
20065        GenParamName: *const ::std::os::raw::c_char,
20066        GenParamValue: *mut f64,
20067    ) -> Herror;
20068}
20069unsafe extern "C" {
20070    pub fn T_create_surface_model(
20071        ObjectModel3D: Htuple,
20072        RelSamplingDistance: Htuple,
20073        GenParamName: Htuple,
20074        GenParamValue: Htuple,
20075        SurfaceModelID: *mut Htuple,
20076    ) -> Herror;
20077}
20078unsafe extern "C" {
20079    pub fn create_surface_model(
20080        ObjectModel3D: Hlong,
20081        RelSamplingDistance: f64,
20082        GenParamName: *const ::std::os::raw::c_char,
20083        GenParamValue: *const ::std::os::raw::c_char,
20084        SurfaceModelID: *mut Hlong,
20085    ) -> Herror;
20086}
20087unsafe extern "C" {
20088    pub fn T_create_cam_pose_look_at_point(
20089        CamPosX: Htuple,
20090        CamPosY: Htuple,
20091        CamPosZ: Htuple,
20092        LookAtX: Htuple,
20093        LookAtY: Htuple,
20094        LookAtZ: Htuple,
20095        RefPlaneNormal: Htuple,
20096        CamRoll: Htuple,
20097        CamPose: *mut Htuple,
20098    ) -> Herror;
20099}
20100unsafe extern "C" {
20101    pub fn T_convert_point_3d_spher_to_cart(
20102        Longitude: Htuple,
20103        Latitude: Htuple,
20104        Radius: Htuple,
20105        EquatPlaneNormal: Htuple,
20106        ZeroMeridian: Htuple,
20107        X: *mut Htuple,
20108        Y: *mut Htuple,
20109        Z: *mut Htuple,
20110    ) -> Herror;
20111}
20112unsafe extern "C" {
20113    pub fn convert_point_3d_spher_to_cart(
20114        Longitude: f64,
20115        Latitude: f64,
20116        Radius: f64,
20117        EquatPlaneNormal: *const ::std::os::raw::c_char,
20118        ZeroMeridian: *const ::std::os::raw::c_char,
20119        X: *mut f64,
20120        Y: *mut f64,
20121        Z: *mut f64,
20122    ) -> Herror;
20123}
20124unsafe extern "C" {
20125    pub fn T_convert_point_3d_cart_to_spher(
20126        X: Htuple,
20127        Y: Htuple,
20128        Z: Htuple,
20129        EquatPlaneNormal: Htuple,
20130        ZeroMeridian: Htuple,
20131        Longitude: *mut Htuple,
20132        Latitude: *mut Htuple,
20133        Radius: *mut Htuple,
20134    ) -> Herror;
20135}
20136unsafe extern "C" {
20137    pub fn convert_point_3d_cart_to_spher(
20138        X: f64,
20139        Y: f64,
20140        Z: f64,
20141        EquatPlaneNormal: *const ::std::os::raw::c_char,
20142        ZeroMeridian: *const ::std::os::raw::c_char,
20143        Longitude: *mut f64,
20144        Latitude: *mut f64,
20145        Radius: *mut f64,
20146    ) -> Herror;
20147}
20148unsafe extern "C" {
20149    pub fn T_clear_all_shape_model_3d() -> Herror;
20150}
20151unsafe extern "C" {
20152    pub fn clear_all_shape_model_3d() -> Herror;
20153}
20154unsafe extern "C" {
20155    pub fn T_clear_shape_model_3d(ShapeModel3DID: Htuple) -> Herror;
20156}
20157unsafe extern "C" {
20158    pub fn clear_shape_model_3d(ShapeModel3DID: Hlong) -> Herror;
20159}
20160unsafe extern "C" {
20161    pub fn T_deserialize_shape_model_3d(
20162        SerializedItemHandle: Htuple,
20163        ShapeModel3DID: *mut Htuple,
20164    ) -> Herror;
20165}
20166unsafe extern "C" {
20167    pub fn deserialize_shape_model_3d(
20168        SerializedItemHandle: Hlong,
20169        ShapeModel3DID: *mut Hlong,
20170    ) -> Herror;
20171}
20172unsafe extern "C" {
20173    pub fn T_serialize_shape_model_3d(
20174        ShapeModel3DID: Htuple,
20175        SerializedItemHandle: *mut Htuple,
20176    ) -> Herror;
20177}
20178unsafe extern "C" {
20179    pub fn serialize_shape_model_3d(
20180        ShapeModel3DID: Hlong,
20181        SerializedItemHandle: *mut Hlong,
20182    ) -> Herror;
20183}
20184unsafe extern "C" {
20185    pub fn T_read_shape_model_3d(FileName: Htuple, ShapeModel3DID: *mut Htuple) -> Herror;
20186}
20187unsafe extern "C" {
20188    pub fn read_shape_model_3d(
20189        FileName: *const ::std::os::raw::c_char,
20190        ShapeModel3DID: *mut Hlong,
20191    ) -> Herror;
20192}
20193unsafe extern "C" {
20194    pub fn T_write_shape_model_3d(ShapeModel3DID: Htuple, FileName: Htuple) -> Herror;
20195}
20196unsafe extern "C" {
20197    pub fn write_shape_model_3d(
20198        ShapeModel3DID: Hlong,
20199        FileName: *const ::std::os::raw::c_char,
20200    ) -> Herror;
20201}
20202unsafe extern "C" {
20203    pub fn T_trans_pose_shape_model_3d(
20204        ShapeModel3DID: Htuple,
20205        PoseIn: Htuple,
20206        Transformation: Htuple,
20207        PoseOut: *mut Htuple,
20208    ) -> Herror;
20209}
20210unsafe extern "C" {
20211    pub fn T_project_shape_model_3d(
20212        ModelContours: *mut Hobject,
20213        ShapeModel3DID: Htuple,
20214        CamParam: Htuple,
20215        Pose: Htuple,
20216        HiddenSurfaceRemoval: Htuple,
20217        MinFaceAngle: Htuple,
20218    ) -> Herror;
20219}
20220unsafe extern "C" {
20221    pub fn T_get_shape_model_3d_contours(
20222        ModelContours: *mut Hobject,
20223        ShapeModel3DID: Htuple,
20224        Level: Htuple,
20225        View: Htuple,
20226        ViewPose: *mut Htuple,
20227    ) -> Herror;
20228}
20229unsafe extern "C" {
20230    pub fn T_get_shape_model_3d_params(
20231        ShapeModel3DID: Htuple,
20232        GenParamName: Htuple,
20233        GenParamValue: *mut Htuple,
20234    ) -> Herror;
20235}
20236unsafe extern "C" {
20237    pub fn get_shape_model_3d_params(
20238        ShapeModel3DID: Hlong,
20239        GenParamName: *const ::std::os::raw::c_char,
20240        GenParamValue: *mut ::std::os::raw::c_char,
20241    ) -> Herror;
20242}
20243unsafe extern "C" {
20244    pub fn T_find_shape_model_3d(
20245        Image: Hobject,
20246        ShapeModel3DID: Htuple,
20247        MinScore: Htuple,
20248        Greediness: Htuple,
20249        NumLevels: Htuple,
20250        GenParamName: Htuple,
20251        GenParamValue: Htuple,
20252        Pose: *mut Htuple,
20253        CovPose: *mut Htuple,
20254        Score: *mut Htuple,
20255    ) -> Herror;
20256}
20257unsafe extern "C" {
20258    pub fn T_create_shape_model_3d(
20259        ObjectModel3D: Htuple,
20260        CamParam: Htuple,
20261        RefRotX: Htuple,
20262        RefRotY: Htuple,
20263        RefRotZ: Htuple,
20264        OrderOfRotation: Htuple,
20265        LongitudeMin: Htuple,
20266        LongitudeMax: Htuple,
20267        LatitudeMin: Htuple,
20268        LatitudeMax: Htuple,
20269        CamRollMin: Htuple,
20270        CamRollMax: Htuple,
20271        DistMin: Htuple,
20272        DistMax: Htuple,
20273        MinContrast: Htuple,
20274        GenParamName: Htuple,
20275        GenParamValue: Htuple,
20276        ShapeModel3DID: *mut Htuple,
20277    ) -> Herror;
20278}
20279unsafe extern "C" {
20280    pub fn T_simplify_object_model_3d(
20281        ObjectModel3D: Htuple,
20282        Method: Htuple,
20283        Amount: Htuple,
20284        GenParamName: Htuple,
20285        GenParamValue: Htuple,
20286        SimplifiedObjectModel3D: *mut Htuple,
20287    ) -> Herror;
20288}
20289unsafe extern "C" {
20290    pub fn T_distance_object_model_3d(
20291        ObjectModel3DFrom: Htuple,
20292        ObjectModel3DTo: Htuple,
20293        Pose: Htuple,
20294        MaxDistance: Htuple,
20295        GenParamName: Htuple,
20296        GenParamValue: Htuple,
20297    ) -> Herror;
20298}
20299unsafe extern "C" {
20300    pub fn T_union_object_model_3d(
20301        ObjectModels3D: Htuple,
20302        Method: Htuple,
20303        UnionObjectModel3D: *mut Htuple,
20304    ) -> Herror;
20305}
20306unsafe extern "C" {
20307    pub fn union_object_model_3d(
20308        ObjectModels3D: Hlong,
20309        Method: *const ::std::os::raw::c_char,
20310        UnionObjectModel3D: *mut Hlong,
20311    ) -> Herror;
20312}
20313unsafe extern "C" {
20314    pub fn T_set_object_model_3d_attrib_mod(
20315        ObjectModel3D: Htuple,
20316        AttribName: Htuple,
20317        AttachExtAttribTo: Htuple,
20318        AttribValues: Htuple,
20319    ) -> Herror;
20320}
20321unsafe extern "C" {
20322    pub fn set_object_model_3d_attrib_mod(
20323        ObjectModel3D: Hlong,
20324        AttribName: *const ::std::os::raw::c_char,
20325        AttachExtAttribTo: *const ::std::os::raw::c_char,
20326        AttribValues: f64,
20327    ) -> Herror;
20328}
20329unsafe extern "C" {
20330    pub fn T_set_object_model_3d_attrib(
20331        ObjectModel3D: Htuple,
20332        AttribName: Htuple,
20333        AttachExtAttribTo: Htuple,
20334        AttribValues: Htuple,
20335        ObjectModel3DOut: *mut Htuple,
20336    ) -> Herror;
20337}
20338unsafe extern "C" {
20339    pub fn set_object_model_3d_attrib(
20340        ObjectModel3D: Hlong,
20341        AttribName: *const ::std::os::raw::c_char,
20342        AttachExtAttribTo: *const ::std::os::raw::c_char,
20343        AttribValues: f64,
20344        ObjectModel3DOut: *mut Hlong,
20345    ) -> Herror;
20346}
20347unsafe extern "C" {
20348    pub fn T_gen_empty_object_model_3d(EmptyObjectModel3D: *mut Htuple) -> Herror;
20349}
20350unsafe extern "C" {
20351    pub fn gen_empty_object_model_3d(EmptyObjectModel3D: *mut Hlong) -> Herror;
20352}
20353unsafe extern "C" {
20354    pub fn T_sample_object_model_3d(
20355        ObjectModel3D: Htuple,
20356        Method: Htuple,
20357        SamplingParam: Htuple,
20358        GenParamName: Htuple,
20359        GenParamValue: Htuple,
20360        SampledObjectModel3D: *mut Htuple,
20361    ) -> Herror;
20362}
20363unsafe extern "C" {
20364    pub fn T_register_object_model_3d_global(
20365        ObjectModels3D: Htuple,
20366        HomMats3D: Htuple,
20367        From: Htuple,
20368        To: Htuple,
20369        GenParamName: Htuple,
20370        GenParamValue: Htuple,
20371        HomMats3DOut: *mut Htuple,
20372        Scores: *mut Htuple,
20373    ) -> Herror;
20374}
20375unsafe extern "C" {
20376    pub fn T_register_object_model_3d_pair(
20377        ObjectModel3D1: Htuple,
20378        ObjectModel3D2: Htuple,
20379        Method: Htuple,
20380        GenParamName: Htuple,
20381        GenParamValue: Htuple,
20382        Pose: *mut Htuple,
20383        Score: *mut Htuple,
20384    ) -> Herror;
20385}
20386unsafe extern "C" {
20387    pub fn T_gen_object_model_3d_from_points(
20388        X: Htuple,
20389        Y: Htuple,
20390        Z: Htuple,
20391        ObjectModel3D: *mut Htuple,
20392    ) -> Herror;
20393}
20394unsafe extern "C" {
20395    pub fn gen_object_model_3d_from_points(
20396        X: f64,
20397        Y: f64,
20398        Z: f64,
20399        ObjectModel3D: *mut Hlong,
20400    ) -> Herror;
20401}
20402unsafe extern "C" {
20403    pub fn T_gen_box_object_model_3d(
20404        Pose: Htuple,
20405        LengthX: Htuple,
20406        LengthY: Htuple,
20407        LengthZ: Htuple,
20408        ObjectModel3D: *mut Htuple,
20409    ) -> Herror;
20410}
20411unsafe extern "C" {
20412    pub fn T_gen_plane_object_model_3d(
20413        Pose: Htuple,
20414        XExtent: Htuple,
20415        YExtent: Htuple,
20416        ObjectModel3D: *mut Htuple,
20417    ) -> Herror;
20418}
20419unsafe extern "C" {
20420    pub fn T_gen_sphere_object_model_3d_center(
20421        X: Htuple,
20422        Y: Htuple,
20423        Z: Htuple,
20424        Radius: Htuple,
20425        ObjectModel3D: *mut Htuple,
20426    ) -> Herror;
20427}
20428unsafe extern "C" {
20429    pub fn gen_sphere_object_model_3d_center(
20430        X: f64,
20431        Y: f64,
20432        Z: f64,
20433        Radius: f64,
20434        ObjectModel3D: *mut Hlong,
20435    ) -> Herror;
20436}
20437unsafe extern "C" {
20438    pub fn T_gen_sphere_object_model_3d(
20439        Pose: Htuple,
20440        Radius: Htuple,
20441        ObjectModel3D: *mut Htuple,
20442    ) -> Herror;
20443}
20444unsafe extern "C" {
20445    pub fn T_gen_cylinder_object_model_3d(
20446        Pose: Htuple,
20447        Radius: Htuple,
20448        MinExtent: Htuple,
20449        MaxExtent: Htuple,
20450        ObjectModel3D: *mut Htuple,
20451    ) -> Herror;
20452}
20453unsafe extern "C" {
20454    pub fn T_smallest_bounding_box_object_model_3d(
20455        ObjectModel3D: Htuple,
20456        Type: Htuple,
20457        Pose: *mut Htuple,
20458        Length1: *mut Htuple,
20459        Length2: *mut Htuple,
20460        Length3: *mut Htuple,
20461    ) -> Herror;
20462}
20463unsafe extern "C" {
20464    pub fn T_smallest_sphere_object_model_3d(
20465        ObjectModel3D: Htuple,
20466        CenterPoint: *mut Htuple,
20467        Radius: *mut Htuple,
20468    ) -> Herror;
20469}
20470unsafe extern "C" {
20471    pub fn T_intersect_plane_object_model_3d(
20472        ObjectModel3D: Htuple,
20473        Plane: Htuple,
20474        ObjectModel3DIntersection: *mut Htuple,
20475    ) -> Herror;
20476}
20477unsafe extern "C" {
20478    pub fn T_convex_hull_object_model_3d(
20479        ObjectModel3D: Htuple,
20480        ObjectModel3DConvexHull: *mut Htuple,
20481    ) -> Herror;
20482}
20483unsafe extern "C" {
20484    pub fn convex_hull_object_model_3d(
20485        ObjectModel3D: Hlong,
20486        ObjectModel3DConvexHull: *mut Hlong,
20487    ) -> Herror;
20488}
20489unsafe extern "C" {
20490    pub fn T_select_object_model_3d(
20491        ObjectModel3D: Htuple,
20492        Feature: Htuple,
20493        Operation: Htuple,
20494        MinValue: Htuple,
20495        MaxValue: Htuple,
20496        ObjectModel3DSelected: *mut Htuple,
20497    ) -> Herror;
20498}
20499unsafe extern "C" {
20500    pub fn select_object_model_3d(
20501        ObjectModel3D: Hlong,
20502        Feature: *const ::std::os::raw::c_char,
20503        Operation: *const ::std::os::raw::c_char,
20504        MinValue: f64,
20505        MaxValue: f64,
20506        ObjectModel3DSelected: *mut Hlong,
20507    ) -> Herror;
20508}
20509unsafe extern "C" {
20510    pub fn T_area_object_model_3d(ObjectModel3D: Htuple, Area: *mut Htuple) -> Herror;
20511}
20512unsafe extern "C" {
20513    pub fn area_object_model_3d(ObjectModel3D: Hlong, Area: *mut f64) -> Herror;
20514}
20515unsafe extern "C" {
20516    pub fn T_max_diameter_object_model_3d(ObjectModel3D: Htuple, Diameter: *mut Htuple) -> Herror;
20517}
20518unsafe extern "C" {
20519    pub fn max_diameter_object_model_3d(ObjectModel3D: Hlong, Diameter: *mut f64) -> Herror;
20520}
20521unsafe extern "C" {
20522    pub fn T_moments_object_model_3d(
20523        ObjectModel3D: Htuple,
20524        MomentsToCalculate: Htuple,
20525        Moments: *mut Htuple,
20526    ) -> Herror;
20527}
20528unsafe extern "C" {
20529    pub fn moments_object_model_3d(
20530        ObjectModel3D: Hlong,
20531        MomentsToCalculate: *const ::std::os::raw::c_char,
20532        Moments: *mut f64,
20533    ) -> Herror;
20534}
20535unsafe extern "C" {
20536    pub fn T_volume_object_model_3d_relative_to_plane(
20537        ObjectModel3D: Htuple,
20538        Plane: Htuple,
20539        Mode: Htuple,
20540        UseFaceOrientation: Htuple,
20541        Volume: *mut Htuple,
20542    ) -> Herror;
20543}
20544unsafe extern "C" {
20545    pub fn T_reduce_object_model_3d_by_view(
20546        Region: Hobject,
20547        ObjectModel3D: Htuple,
20548        CamParam: Htuple,
20549        Pose: Htuple,
20550        ObjectModel3DReduced: *mut Htuple,
20551    ) -> Herror;
20552}
20553unsafe extern "C" {
20554    pub fn T_connection_object_model_3d(
20555        ObjectModel3D: Htuple,
20556        Feature: Htuple,
20557        Value: Htuple,
20558        ObjectModel3DConnected: *mut Htuple,
20559    ) -> Herror;
20560}
20561unsafe extern "C" {
20562    pub fn T_select_points_object_model_3d(
20563        ObjectModel3D: Htuple,
20564        Attrib: Htuple,
20565        MinValue: Htuple,
20566        MaxValue: Htuple,
20567        ObjectModel3DThresholded: *mut Htuple,
20568    ) -> Herror;
20569}
20570unsafe extern "C" {
20571    pub fn select_points_object_model_3d(
20572        ObjectModel3D: Hlong,
20573        Attrib: *const ::std::os::raw::c_char,
20574        MinValue: f64,
20575        MaxValue: f64,
20576        ObjectModel3DThresholded: *mut Hlong,
20577    ) -> Herror;
20578}
20579unsafe extern "C" {
20580    pub fn T_get_disp_object_model_3d_info(
20581        WindowHandle: Htuple,
20582        Row: Htuple,
20583        Column: Htuple,
20584        Information: Htuple,
20585        Value: *mut Htuple,
20586    ) -> Herror;
20587}
20588unsafe extern "C" {
20589    pub fn get_disp_object_model_3d_info(
20590        WindowHandle: Hlong,
20591        Row: f64,
20592        Column: f64,
20593        Information: *const ::std::os::raw::c_char,
20594        Value: *mut Hlong,
20595    ) -> Herror;
20596}
20597unsafe extern "C" {
20598    pub fn T_render_object_model_3d(
20599        Image: *mut Hobject,
20600        ObjectModel3D: Htuple,
20601        CamParam: Htuple,
20602        Pose: Htuple,
20603        GenParamName: Htuple,
20604        GenParamValue: Htuple,
20605    ) -> Herror;
20606}
20607unsafe extern "C" {
20608    pub fn T_disp_object_model_3d(
20609        WindowHandle: Htuple,
20610        ObjectModel3D: Htuple,
20611        CamParam: Htuple,
20612        Pose: Htuple,
20613        GenParamName: Htuple,
20614        GenParamValue: Htuple,
20615    ) -> Herror;
20616}
20617unsafe extern "C" {
20618    pub fn T_copy_object_model_3d(
20619        ObjectModel3D: Htuple,
20620        Attributes: Htuple,
20621        CopiedObjectModel3D: *mut Htuple,
20622    ) -> Herror;
20623}
20624unsafe extern "C" {
20625    pub fn copy_object_model_3d(
20626        ObjectModel3D: Hlong,
20627        Attributes: *const ::std::os::raw::c_char,
20628        CopiedObjectModel3D: *mut Hlong,
20629    ) -> Herror;
20630}
20631unsafe extern "C" {
20632    pub fn T_prepare_object_model_3d(
20633        ObjectModel3D: Htuple,
20634        Purpose: Htuple,
20635        OverwriteData: Htuple,
20636        GenParamName: Htuple,
20637        GenParamValue: Htuple,
20638    ) -> Herror;
20639}
20640unsafe extern "C" {
20641    pub fn T_object_model_3d_to_xyz(
20642        X: *mut Hobject,
20643        Y: *mut Hobject,
20644        Z: *mut Hobject,
20645        ObjectModel3D: Htuple,
20646        Type: Htuple,
20647        CamParam: Htuple,
20648        Pose: Htuple,
20649    ) -> Herror;
20650}
20651unsafe extern "C" {
20652    pub fn T_xyz_to_object_model_3d(
20653        X: Hobject,
20654        Y: Hobject,
20655        Z: Hobject,
20656        ObjectModel3D: *mut Htuple,
20657    ) -> Herror;
20658}
20659unsafe extern "C" {
20660    pub fn xyz_to_object_model_3d(
20661        X: Hobject,
20662        Y: Hobject,
20663        Z: Hobject,
20664        ObjectModel3D: *mut Hlong,
20665    ) -> Herror;
20666}
20667unsafe extern "C" {
20668    pub fn T_get_object_model_3d_params(
20669        ObjectModel3D: Htuple,
20670        GenParamName: Htuple,
20671        GenParamValue: *mut Htuple,
20672    ) -> Herror;
20673}
20674unsafe extern "C" {
20675    pub fn T_project_object_model_3d(
20676        ModelContours: *mut Hobject,
20677        ObjectModel3D: Htuple,
20678        CamParam: Htuple,
20679        Pose: Htuple,
20680        GenParamName: Htuple,
20681        GenParamValue: Htuple,
20682    ) -> Herror;
20683}
20684unsafe extern "C" {
20685    pub fn T_rigid_trans_object_model_3d(
20686        ObjectModel3D: Htuple,
20687        Pose: Htuple,
20688        ObjectModel3DRigidTrans: *mut Htuple,
20689    ) -> Herror;
20690}
20691unsafe extern "C" {
20692    pub fn T_projective_trans_object_model_3d(
20693        ObjectModel3D: Htuple,
20694        HomMat3D: Htuple,
20695        ObjectModel3DProjectiveTrans: *mut Htuple,
20696    ) -> Herror;
20697}
20698unsafe extern "C" {
20699    pub fn T_affine_trans_object_model_3d(
20700        ObjectModel3D: Htuple,
20701        HomMat3D: Htuple,
20702        ObjectModel3DAffineTrans: *mut Htuple,
20703    ) -> Herror;
20704}
20705unsafe extern "C" {
20706    pub fn T_clear_all_object_model_3d() -> Herror;
20707}
20708unsafe extern "C" {
20709    pub fn clear_all_object_model_3d() -> Herror;
20710}
20711unsafe extern "C" {
20712    pub fn T_clear_object_model_3d(ObjectModel3D: Htuple) -> Herror;
20713}
20714unsafe extern "C" {
20715    pub fn clear_object_model_3d(ObjectModel3D: Hlong) -> Herror;
20716}
20717unsafe extern "C" {
20718    pub fn T_serialize_object_model_3d(
20719        ObjectModel3D: Htuple,
20720        SerializedItemHandle: *mut Htuple,
20721    ) -> Herror;
20722}
20723unsafe extern "C" {
20724    pub fn serialize_object_model_3d(
20725        ObjectModel3D: Hlong,
20726        SerializedItemHandle: *mut Hlong,
20727    ) -> Herror;
20728}
20729unsafe extern "C" {
20730    pub fn T_deserialize_object_model_3d(
20731        SerializedItemHandle: Htuple,
20732        ObjectModel3D: *mut Htuple,
20733    ) -> Herror;
20734}
20735unsafe extern "C" {
20736    pub fn deserialize_object_model_3d(
20737        SerializedItemHandle: Hlong,
20738        ObjectModel3D: *mut Hlong,
20739    ) -> Herror;
20740}
20741unsafe extern "C" {
20742    pub fn T_write_object_model_3d(
20743        ObjectModel3D: Htuple,
20744        FileType: Htuple,
20745        FileName: Htuple,
20746        GenParamName: Htuple,
20747        GenParamValue: Htuple,
20748    ) -> Herror;
20749}
20750unsafe extern "C" {
20751    pub fn write_object_model_3d(
20752        ObjectModel3D: Hlong,
20753        FileType: *const ::std::os::raw::c_char,
20754        FileName: *const ::std::os::raw::c_char,
20755        GenParamName: *const ::std::os::raw::c_char,
20756        GenParamValue: *const ::std::os::raw::c_char,
20757    ) -> Herror;
20758}
20759unsafe extern "C" {
20760    pub fn T_read_object_model_3d(
20761        FileName: Htuple,
20762        Scale: Htuple,
20763        GenParamName: Htuple,
20764        GenParamValue: Htuple,
20765        ObjectModel3D: *mut Htuple,
20766        Status: *mut Htuple,
20767    ) -> Herror;
20768}
20769unsafe extern "C" {
20770    pub fn read_object_model_3d(
20771        FileName: *const ::std::os::raw::c_char,
20772        Scale: *const ::std::os::raw::c_char,
20773        GenParamName: *const ::std::os::raw::c_char,
20774        GenParamValue: *const ::std::os::raw::c_char,
20775        ObjectModel3D: *mut Hlong,
20776        Status: *mut ::std::os::raw::c_char,
20777    ) -> Herror;
20778}
20779unsafe extern "C" {
20780    pub fn T_read_kalman(
20781        FileName: Htuple,
20782        Dimension: *mut Htuple,
20783        Model: *mut Htuple,
20784        Measurement: *mut Htuple,
20785        Prediction: *mut Htuple,
20786    ) -> Herror;
20787}
20788unsafe extern "C" {
20789    pub fn T_update_kalman(
20790        FileName: Htuple,
20791        DimensionIn: Htuple,
20792        ModelIn: Htuple,
20793        MeasurementIn: Htuple,
20794        DimensionOut: *mut Htuple,
20795        ModelOut: *mut Htuple,
20796        MeasurementOut: *mut Htuple,
20797    ) -> Herror;
20798}
20799unsafe extern "C" {
20800    pub fn T_filter_kalman(
20801        Dimension: Htuple,
20802        Model: Htuple,
20803        Measurement: Htuple,
20804        PredictionIn: Htuple,
20805        PredictionOut: *mut Htuple,
20806        Estimate: *mut Htuple,
20807    ) -> Herror;
20808}
20809unsafe extern "C" {
20810    pub fn T_query_operator_info(Slots: *mut Htuple) -> Herror;
20811}
20812unsafe extern "C" {
20813    pub fn T_query_param_info(Slots: *mut Htuple) -> Herror;
20814}
20815unsafe extern "C" {
20816    pub fn T_get_operator_name(Pattern: Htuple, OperatorNames: *mut Htuple) -> Herror;
20817}
20818unsafe extern "C" {
20819    pub fn T_get_param_types(
20820        OperatorName: Htuple,
20821        InpCtrlParType: *mut Htuple,
20822        OutpCtrlParType: *mut Htuple,
20823    ) -> Herror;
20824}
20825unsafe extern "C" {
20826    pub fn T_get_param_num(
20827        OperatorName: Htuple,
20828        CName: *mut Htuple,
20829        InpObjPar: *mut Htuple,
20830        OutpObjPar: *mut Htuple,
20831        InpCtrlPar: *mut Htuple,
20832        OutpCtrlPar: *mut Htuple,
20833        Type: *mut Htuple,
20834    ) -> Herror;
20835}
20836unsafe extern "C" {
20837    pub fn get_param_num(
20838        OperatorName: *const ::std::os::raw::c_char,
20839        CName: *mut ::std::os::raw::c_char,
20840        InpObjPar: *mut Hlong,
20841        OutpObjPar: *mut Hlong,
20842        InpCtrlPar: *mut Hlong,
20843        OutpCtrlPar: *mut Hlong,
20844        Type: *mut ::std::os::raw::c_char,
20845    ) -> Herror;
20846}
20847unsafe extern "C" {
20848    pub fn T_get_param_names(
20849        OperatorName: Htuple,
20850        InpObjPar: *mut Htuple,
20851        OutpObjPar: *mut Htuple,
20852        InpCtrlPar: *mut Htuple,
20853        OutpCtrlPar: *mut Htuple,
20854    ) -> Herror;
20855}
20856unsafe extern "C" {
20857    pub fn T_get_operator_info(
20858        OperatorName: Htuple,
20859        Slot: Htuple,
20860        Information: *mut Htuple,
20861    ) -> Herror;
20862}
20863unsafe extern "C" {
20864    pub fn get_operator_info(
20865        OperatorName: *const ::std::os::raw::c_char,
20866        Slot: *const ::std::os::raw::c_char,
20867        Information: *mut ::std::os::raw::c_char,
20868    ) -> Herror;
20869}
20870unsafe extern "C" {
20871    pub fn T_get_param_info(
20872        OperatorName: Htuple,
20873        ParamName: Htuple,
20874        Slot: Htuple,
20875        Information: *mut Htuple,
20876    ) -> Herror;
20877}
20878unsafe extern "C" {
20879    pub fn get_param_info(
20880        OperatorName: *const ::std::os::raw::c_char,
20881        ParamName: *const ::std::os::raw::c_char,
20882        Slot: *const ::std::os::raw::c_char,
20883        Information: *mut ::std::os::raw::c_char,
20884    ) -> Herror;
20885}
20886unsafe extern "C" {
20887    pub fn T_search_operator(Keyword: Htuple, OperatorNames: *mut Htuple) -> Herror;
20888}
20889unsafe extern "C" {
20890    pub fn T_get_keywords(OperatorName: Htuple, Keywords: *mut Htuple) -> Herror;
20891}
20892unsafe extern "C" {
20893    pub fn T_get_chapter_info(Chapter: Htuple, Info: *mut Htuple) -> Herror;
20894}
20895unsafe extern "C" {
20896    pub fn T_channels_to_image(Images: Hobject, MultiChannelImage: *mut Hobject) -> Herror;
20897}
20898unsafe extern "C" {
20899    pub fn channels_to_image(Images: Hobject, MultiChannelImage: *mut Hobject) -> Herror;
20900}
20901unsafe extern "C" {
20902    pub fn T_image_to_channels(MultiChannelImage: Hobject, Images: *mut Hobject) -> Herror;
20903}
20904unsafe extern "C" {
20905    pub fn image_to_channels(MultiChannelImage: Hobject, Images: *mut Hobject) -> Herror;
20906}
20907unsafe extern "C" {
20908    pub fn T_compose7(
20909        Image1: Hobject,
20910        Image2: Hobject,
20911        Image3: Hobject,
20912        Image4: Hobject,
20913        Image5: Hobject,
20914        Image6: Hobject,
20915        Image7: Hobject,
20916        MultiChannelImage: *mut Hobject,
20917    ) -> Herror;
20918}
20919unsafe extern "C" {
20920    pub fn compose7(
20921        Image1: Hobject,
20922        Image2: Hobject,
20923        Image3: Hobject,
20924        Image4: Hobject,
20925        Image5: Hobject,
20926        Image6: Hobject,
20927        Image7: Hobject,
20928        MultiChannelImage: *mut Hobject,
20929    ) -> Herror;
20930}
20931unsafe extern "C" {
20932    pub fn T_compose6(
20933        Image1: Hobject,
20934        Image2: Hobject,
20935        Image3: Hobject,
20936        Image4: Hobject,
20937        Image5: Hobject,
20938        Image6: Hobject,
20939        MultiChannelImage: *mut Hobject,
20940    ) -> Herror;
20941}
20942unsafe extern "C" {
20943    pub fn compose6(
20944        Image1: Hobject,
20945        Image2: Hobject,
20946        Image3: Hobject,
20947        Image4: Hobject,
20948        Image5: Hobject,
20949        Image6: Hobject,
20950        MultiChannelImage: *mut Hobject,
20951    ) -> Herror;
20952}
20953unsafe extern "C" {
20954    pub fn T_compose5(
20955        Image1: Hobject,
20956        Image2: Hobject,
20957        Image3: Hobject,
20958        Image4: Hobject,
20959        Image5: Hobject,
20960        MultiChannelImage: *mut Hobject,
20961    ) -> Herror;
20962}
20963unsafe extern "C" {
20964    pub fn compose5(
20965        Image1: Hobject,
20966        Image2: Hobject,
20967        Image3: Hobject,
20968        Image4: Hobject,
20969        Image5: Hobject,
20970        MultiChannelImage: *mut Hobject,
20971    ) -> Herror;
20972}
20973unsafe extern "C" {
20974    pub fn T_compose4(
20975        Image1: Hobject,
20976        Image2: Hobject,
20977        Image3: Hobject,
20978        Image4: Hobject,
20979        MultiChannelImage: *mut Hobject,
20980    ) -> Herror;
20981}
20982unsafe extern "C" {
20983    pub fn compose4(
20984        Image1: Hobject,
20985        Image2: Hobject,
20986        Image3: Hobject,
20987        Image4: Hobject,
20988        MultiChannelImage: *mut Hobject,
20989    ) -> Herror;
20990}
20991unsafe extern "C" {
20992    pub fn T_compose3(
20993        Image1: Hobject,
20994        Image2: Hobject,
20995        Image3: Hobject,
20996        MultiChannelImage: *mut Hobject,
20997    ) -> Herror;
20998}
20999unsafe extern "C" {
21000    pub fn compose3(
21001        Image1: Hobject,
21002        Image2: Hobject,
21003        Image3: Hobject,
21004        MultiChannelImage: *mut Hobject,
21005    ) -> Herror;
21006}
21007unsafe extern "C" {
21008    pub fn T_compose2(Image1: Hobject, Image2: Hobject, MultiChannelImage: *mut Hobject) -> Herror;
21009}
21010unsafe extern "C" {
21011    pub fn compose2(Image1: Hobject, Image2: Hobject, MultiChannelImage: *mut Hobject) -> Herror;
21012}
21013unsafe extern "C" {
21014    pub fn T_decompose7(
21015        MultiChannelImage: Hobject,
21016        Image1: *mut Hobject,
21017        Image2: *mut Hobject,
21018        Image3: *mut Hobject,
21019        Image4: *mut Hobject,
21020        Image5: *mut Hobject,
21021        Image6: *mut Hobject,
21022        Image7: *mut Hobject,
21023    ) -> Herror;
21024}
21025unsafe extern "C" {
21026    pub fn decompose7(
21027        MultiChannelImage: Hobject,
21028        Image1: *mut Hobject,
21029        Image2: *mut Hobject,
21030        Image3: *mut Hobject,
21031        Image4: *mut Hobject,
21032        Image5: *mut Hobject,
21033        Image6: *mut Hobject,
21034        Image7: *mut Hobject,
21035    ) -> Herror;
21036}
21037unsafe extern "C" {
21038    pub fn T_decompose6(
21039        MultiChannelImage: Hobject,
21040        Image1: *mut Hobject,
21041        Image2: *mut Hobject,
21042        Image3: *mut Hobject,
21043        Image4: *mut Hobject,
21044        Image5: *mut Hobject,
21045        Image6: *mut Hobject,
21046    ) -> Herror;
21047}
21048unsafe extern "C" {
21049    pub fn decompose6(
21050        MultiChannelImage: Hobject,
21051        Image1: *mut Hobject,
21052        Image2: *mut Hobject,
21053        Image3: *mut Hobject,
21054        Image4: *mut Hobject,
21055        Image5: *mut Hobject,
21056        Image6: *mut Hobject,
21057    ) -> Herror;
21058}
21059unsafe extern "C" {
21060    pub fn T_decompose5(
21061        MultiChannelImage: Hobject,
21062        Image1: *mut Hobject,
21063        Image2: *mut Hobject,
21064        Image3: *mut Hobject,
21065        Image4: *mut Hobject,
21066        Image5: *mut Hobject,
21067    ) -> Herror;
21068}
21069unsafe extern "C" {
21070    pub fn decompose5(
21071        MultiChannelImage: Hobject,
21072        Image1: *mut Hobject,
21073        Image2: *mut Hobject,
21074        Image3: *mut Hobject,
21075        Image4: *mut Hobject,
21076        Image5: *mut Hobject,
21077    ) -> Herror;
21078}
21079unsafe extern "C" {
21080    pub fn T_decompose4(
21081        MultiChannelImage: Hobject,
21082        Image1: *mut Hobject,
21083        Image2: *mut Hobject,
21084        Image3: *mut Hobject,
21085        Image4: *mut Hobject,
21086    ) -> Herror;
21087}
21088unsafe extern "C" {
21089    pub fn decompose4(
21090        MultiChannelImage: Hobject,
21091        Image1: *mut Hobject,
21092        Image2: *mut Hobject,
21093        Image3: *mut Hobject,
21094        Image4: *mut Hobject,
21095    ) -> Herror;
21096}
21097unsafe extern "C" {
21098    pub fn T_decompose3(
21099        MultiChannelImage: Hobject,
21100        Image1: *mut Hobject,
21101        Image2: *mut Hobject,
21102        Image3: *mut Hobject,
21103    ) -> Herror;
21104}
21105unsafe extern "C" {
21106    pub fn decompose3(
21107        MultiChannelImage: Hobject,
21108        Image1: *mut Hobject,
21109        Image2: *mut Hobject,
21110        Image3: *mut Hobject,
21111    ) -> Herror;
21112}
21113unsafe extern "C" {
21114    pub fn T_decompose2(
21115        MultiChannelImage: Hobject,
21116        Image1: *mut Hobject,
21117        Image2: *mut Hobject,
21118    ) -> Herror;
21119}
21120unsafe extern "C" {
21121    pub fn decompose2(
21122        MultiChannelImage: Hobject,
21123        Image1: *mut Hobject,
21124        Image2: *mut Hobject,
21125    ) -> Herror;
21126}
21127unsafe extern "C" {
21128    pub fn T_count_channels(MultiChannelImage: Hobject, Channels: *mut Htuple) -> Herror;
21129}
21130unsafe extern "C" {
21131    pub fn count_channels(MultiChannelImage: Hobject, Channels: *mut Hlong) -> Herror;
21132}
21133unsafe extern "C" {
21134    pub fn T_append_channel(
21135        MultiChannelImage: Hobject,
21136        Image: Hobject,
21137        ImageExtended: *mut Hobject,
21138    ) -> Herror;
21139}
21140unsafe extern "C" {
21141    pub fn append_channel(
21142        MultiChannelImage: Hobject,
21143        Image: Hobject,
21144        ImageExtended: *mut Hobject,
21145    ) -> Herror;
21146}
21147unsafe extern "C" {
21148    pub fn T_access_channel(
21149        MultiChannelImage: Hobject,
21150        Image: *mut Hobject,
21151        Channel: Htuple,
21152    ) -> Herror;
21153}
21154unsafe extern "C" {
21155    pub fn access_channel(
21156        MultiChannelImage: Hobject,
21157        Image: *mut Hobject,
21158        Channel: Hlong,
21159    ) -> Herror;
21160}
21161unsafe extern "C" {
21162    pub fn T_tile_images_offset(
21163        Images: Hobject,
21164        TiledImage: *mut Hobject,
21165        OffsetRow: Htuple,
21166        OffsetCol: Htuple,
21167        Row1: Htuple,
21168        Col1: Htuple,
21169        Row2: Htuple,
21170        Col2: Htuple,
21171        Width: Htuple,
21172        Height: Htuple,
21173    ) -> Herror;
21174}
21175unsafe extern "C" {
21176    pub fn tile_images_offset(
21177        Images: Hobject,
21178        TiledImage: *mut Hobject,
21179        OffsetRow: Hlong,
21180        OffsetCol: Hlong,
21181        Row1: Hlong,
21182        Col1: Hlong,
21183        Row2: Hlong,
21184        Col2: Hlong,
21185        Width: Hlong,
21186        Height: Hlong,
21187    ) -> Herror;
21188}
21189unsafe extern "C" {
21190    pub fn T_tile_images(
21191        Images: Hobject,
21192        TiledImage: *mut Hobject,
21193        NumColumns: Htuple,
21194        TileOrder: Htuple,
21195    ) -> Herror;
21196}
21197unsafe extern "C" {
21198    pub fn tile_images(
21199        Images: Hobject,
21200        TiledImage: *mut Hobject,
21201        NumColumns: Hlong,
21202        TileOrder: *const ::std::os::raw::c_char,
21203    ) -> Herror;
21204}
21205unsafe extern "C" {
21206    pub fn T_tile_channels(
21207        Image: Hobject,
21208        TiledImage: *mut Hobject,
21209        NumColumns: Htuple,
21210        TileOrder: Htuple,
21211    ) -> Herror;
21212}
21213unsafe extern "C" {
21214    pub fn tile_channels(
21215        Image: Hobject,
21216        TiledImage: *mut Hobject,
21217        NumColumns: Hlong,
21218        TileOrder: *const ::std::os::raw::c_char,
21219    ) -> Herror;
21220}
21221unsafe extern "C" {
21222    pub fn T_crop_domain(Image: Hobject, ImagePart: *mut Hobject) -> Herror;
21223}
21224unsafe extern "C" {
21225    pub fn crop_domain(Image: Hobject, ImagePart: *mut Hobject) -> Herror;
21226}
21227unsafe extern "C" {
21228    pub fn T_crop_rectangle1(
21229        Image: Hobject,
21230        ImagePart: *mut Hobject,
21231        Row1: Htuple,
21232        Column1: Htuple,
21233        Row2: Htuple,
21234        Column2: Htuple,
21235    ) -> Herror;
21236}
21237unsafe extern "C" {
21238    pub fn crop_rectangle1(
21239        Image: Hobject,
21240        ImagePart: *mut Hobject,
21241        Row1: Hlong,
21242        Column1: Hlong,
21243        Row2: Hlong,
21244        Column2: Hlong,
21245    ) -> Herror;
21246}
21247unsafe extern "C" {
21248    pub fn T_crop_part(
21249        Image: Hobject,
21250        ImagePart: *mut Hobject,
21251        Row: Htuple,
21252        Column: Htuple,
21253        Width: Htuple,
21254        Height: Htuple,
21255    ) -> Herror;
21256}
21257unsafe extern "C" {
21258    pub fn crop_part(
21259        Image: Hobject,
21260        ImagePart: *mut Hobject,
21261        Row: Hlong,
21262        Column: Hlong,
21263        Width: Hlong,
21264        Height: Hlong,
21265    ) -> Herror;
21266}
21267unsafe extern "C" {
21268    pub fn T_change_format(
21269        Image: Hobject,
21270        ImagePart: *mut Hobject,
21271        Width: Htuple,
21272        Height: Htuple,
21273    ) -> Herror;
21274}
21275unsafe extern "C" {
21276    pub fn change_format(
21277        Image: Hobject,
21278        ImagePart: *mut Hobject,
21279        Width: Hlong,
21280        Height: Hlong,
21281    ) -> Herror;
21282}
21283unsafe extern "C" {
21284    pub fn T_change_domain(Image: Hobject, NewDomain: Hobject, ImageNew: *mut Hobject) -> Herror;
21285}
21286unsafe extern "C" {
21287    pub fn change_domain(Image: Hobject, NewDomain: Hobject, ImageNew: *mut Hobject) -> Herror;
21288}
21289unsafe extern "C" {
21290    pub fn T_add_channels(Regions: Hobject, Image: Hobject, GrayRegions: *mut Hobject) -> Herror;
21291}
21292unsafe extern "C" {
21293    pub fn add_channels(Regions: Hobject, Image: Hobject, GrayRegions: *mut Hobject) -> Herror;
21294}
21295unsafe extern "C" {
21296    pub fn T_rectangle1_domain(
21297        Image: Hobject,
21298        ImageReduced: *mut Hobject,
21299        Row1: Htuple,
21300        Column1: Htuple,
21301        Row2: Htuple,
21302        Column2: Htuple,
21303    ) -> Herror;
21304}
21305unsafe extern "C" {
21306    pub fn rectangle1_domain(
21307        Image: Hobject,
21308        ImageReduced: *mut Hobject,
21309        Row1: Hlong,
21310        Column1: Hlong,
21311        Row2: Hlong,
21312        Column2: Hlong,
21313    ) -> Herror;
21314}
21315unsafe extern "C" {
21316    pub fn T_reduce_domain(Image: Hobject, Region: Hobject, ImageReduced: *mut Hobject) -> Herror;
21317}
21318unsafe extern "C" {
21319    pub fn reduce_domain(Image: Hobject, Region: Hobject, ImageReduced: *mut Hobject) -> Herror;
21320}
21321unsafe extern "C" {
21322    pub fn T_full_domain(Image: Hobject, ImageFull: *mut Hobject) -> Herror;
21323}
21324unsafe extern "C" {
21325    pub fn full_domain(Image: Hobject, ImageFull: *mut Hobject) -> Herror;
21326}
21327unsafe extern "C" {
21328    pub fn T_get_domain(Image: Hobject, Domain: *mut Hobject) -> Herror;
21329}
21330unsafe extern "C" {
21331    pub fn get_domain(Image: Hobject, Domain: *mut Hobject) -> Herror;
21332}
21333unsafe extern "C" {
21334    pub fn T_hough_circles(
21335        RegionIn: Hobject,
21336        RegionOut: *mut Hobject,
21337        Radius: Htuple,
21338        Percent: Htuple,
21339        Mode: Htuple,
21340    ) -> Herror;
21341}
21342unsafe extern "C" {
21343    pub fn hough_circles(
21344        RegionIn: Hobject,
21345        RegionOut: *mut Hobject,
21346        Radius: Hlong,
21347        Percent: Hlong,
21348        Mode: Hlong,
21349    ) -> Herror;
21350}
21351unsafe extern "C" {
21352    pub fn T_hough_circle_trans(
21353        Region: Hobject,
21354        HoughImage: *mut Hobject,
21355        Radius: Htuple,
21356    ) -> Herror;
21357}
21358unsafe extern "C" {
21359    pub fn hough_circle_trans(Region: Hobject, HoughImage: *mut Hobject, Radius: Hlong) -> Herror;
21360}
21361unsafe extern "C" {
21362    pub fn T_hough_lines_dir(
21363        ImageDir: Hobject,
21364        HoughImage: *mut Hobject,
21365        Lines: *mut Hobject,
21366        DirectionUncertainty: Htuple,
21367        AngleResolution: Htuple,
21368        Smoothing: Htuple,
21369        FilterSize: Htuple,
21370        Threshold: Htuple,
21371        AngleGap: Htuple,
21372        DistGap: Htuple,
21373        GenLines: Htuple,
21374        Angle: *mut Htuple,
21375        Dist: *mut Htuple,
21376    ) -> Herror;
21377}
21378unsafe extern "C" {
21379    pub fn T_hough_line_trans_dir(
21380        ImageDir: Hobject,
21381        HoughImage: *mut Hobject,
21382        DirectionUncertainty: Htuple,
21383        AngleResolution: Htuple,
21384    ) -> Herror;
21385}
21386unsafe extern "C" {
21387    pub fn hough_line_trans_dir(
21388        ImageDir: Hobject,
21389        HoughImage: *mut Hobject,
21390        DirectionUncertainty: Hlong,
21391        AngleResolution: Hlong,
21392    ) -> Herror;
21393}
21394unsafe extern "C" {
21395    pub fn T_hough_lines(
21396        RegionIn: Hobject,
21397        AngleResolution: Htuple,
21398        Threshold: Htuple,
21399        AngleGap: Htuple,
21400        DistGap: Htuple,
21401        Angle: *mut Htuple,
21402        Dist: *mut Htuple,
21403    ) -> Herror;
21404}
21405unsafe extern "C" {
21406    pub fn T_hough_line_trans(
21407        Region: Hobject,
21408        HoughImage: *mut Hobject,
21409        AngleResolution: Htuple,
21410    ) -> Herror;
21411}
21412unsafe extern "C" {
21413    pub fn hough_line_trans(
21414        Region: Hobject,
21415        HoughImage: *mut Hobject,
21416        AngleResolution: Hlong,
21417    ) -> Herror;
21418}
21419unsafe extern "C" {
21420    pub fn T_select_matching_lines(
21421        RegionIn: Hobject,
21422        RegionLines: *mut Hobject,
21423        AngleIn: Htuple,
21424        DistIn: Htuple,
21425        LineWidth: Htuple,
21426        Thresh: Htuple,
21427        AngleOut: *mut Htuple,
21428        DistOut: *mut Htuple,
21429    ) -> Herror;
21430}
21431unsafe extern "C" {
21432    pub fn select_matching_lines(
21433        RegionIn: Hobject,
21434        RegionLines: *mut Hobject,
21435        AngleIn: f64,
21436        DistIn: f64,
21437        LineWidth: Hlong,
21438        Thresh: Hlong,
21439        AngleOut: *mut f64,
21440        DistOut: *mut f64,
21441    ) -> Herror;
21442}
21443unsafe extern "C" {
21444    pub fn T_find_rectification_grid(
21445        Image: Hobject,
21446        GridRegion: *mut Hobject,
21447        MinContrast: Htuple,
21448        Radius: Htuple,
21449    ) -> Herror;
21450}
21451unsafe extern "C" {
21452    pub fn find_rectification_grid(
21453        Image: Hobject,
21454        GridRegion: *mut Hobject,
21455        MinContrast: f64,
21456        Radius: f64,
21457    ) -> Herror;
21458}
21459unsafe extern "C" {
21460    pub fn T_create_rectification_grid(
21461        Width: Htuple,
21462        NumSquares: Htuple,
21463        GridFile: Htuple,
21464    ) -> Herror;
21465}
21466unsafe extern "C" {
21467    pub fn create_rectification_grid(
21468        Width: f64,
21469        NumSquares: Hlong,
21470        GridFile: *const ::std::os::raw::c_char,
21471    ) -> Herror;
21472}
21473unsafe extern "C" {
21474    pub fn T_connect_grid_points(
21475        Image: Hobject,
21476        ConnectingLines: *mut Hobject,
21477        Row: Htuple,
21478        Column: Htuple,
21479        Sigma: Htuple,
21480        MaxDist: Htuple,
21481    ) -> Herror;
21482}
21483unsafe extern "C" {
21484    pub fn T_gen_grid_rectification_map(
21485        Image: Hobject,
21486        ConnectingLines: Hobject,
21487        Map: *mut Hobject,
21488        Meshes: *mut Hobject,
21489        GridSpacing: Htuple,
21490        Rotation: Htuple,
21491        Row: Htuple,
21492        Column: Htuple,
21493        MapType: Htuple,
21494    ) -> Herror;
21495}
21496unsafe extern "C" {
21497    pub fn T_gen_arbitrary_distortion_map(
21498        Map: *mut Hobject,
21499        GridSpacing: Htuple,
21500        Row: Htuple,
21501        Column: Htuple,
21502        GridWidth: Htuple,
21503        ImageWidth: Htuple,
21504        ImageHeight: Htuple,
21505        MapType: Htuple,
21506    ) -> Herror;
21507}
21508unsafe extern "C" {
21509    pub fn T_get_window_background_image(
21510        BackgroundImage: *mut Hobject,
21511        WindowHandle: Htuple,
21512    ) -> Herror;
21513}
21514unsafe extern "C" {
21515    pub fn get_window_background_image(
21516        BackgroundImage: *mut Hobject,
21517        WindowHandle: Hlong,
21518    ) -> Herror;
21519}
21520unsafe extern "C" {
21521    pub fn T_set_drawing_object_callback(
21522        DrawHandle: Htuple,
21523        DrawObjectEvent: Htuple,
21524        CallbackFunction: Htuple,
21525    ) -> Herror;
21526}
21527unsafe extern "C" {
21528    pub fn set_drawing_object_callback(
21529        DrawHandle: Hlong,
21530        DrawObjectEvent: *const ::std::os::raw::c_char,
21531        CallbackFunction: Hlong,
21532    ) -> Herror;
21533}
21534unsafe extern "C" {
21535    pub fn T_detach_background_from_window(WindowHandle: Htuple) -> Herror;
21536}
21537unsafe extern "C" {
21538    pub fn detach_background_from_window(WindowHandle: Hlong) -> Herror;
21539}
21540unsafe extern "C" {
21541    pub fn T_attach_background_to_window(Image: Hobject, WindowHandle: Htuple) -> Herror;
21542}
21543unsafe extern "C" {
21544    pub fn attach_background_to_window(Image: Hobject, WindowHandle: Hlong) -> Herror;
21545}
21546unsafe extern "C" {
21547    pub fn T_detach_drawing_object_from_window(WindowHandle: Htuple, DrawHandle: Htuple) -> Herror;
21548}
21549unsafe extern "C" {
21550    pub fn detach_drawing_object_from_window(WindowHandle: Hlong, DrawHandle: Hlong) -> Herror;
21551}
21552unsafe extern "C" {
21553    pub fn T_attach_drawing_object_to_window(WindowHandle: Htuple, DrawHandle: Htuple) -> Herror;
21554}
21555unsafe extern "C" {
21556    pub fn attach_drawing_object_to_window(WindowHandle: Hlong, DrawHandle: Hlong) -> Herror;
21557}
21558unsafe extern "C" {
21559    pub fn T_update_window_pose(
21560        WindowHandle: Htuple,
21561        LastRow: Htuple,
21562        LastCol: Htuple,
21563        CurrentRow: Htuple,
21564        CurrentCol: Htuple,
21565        Mode: Htuple,
21566    ) -> Herror;
21567}
21568unsafe extern "C" {
21569    pub fn update_window_pose(
21570        WindowHandle: Hlong,
21571        LastRow: f64,
21572        LastCol: f64,
21573        CurrentRow: f64,
21574        CurrentCol: f64,
21575        Mode: *const ::std::os::raw::c_char,
21576    ) -> Herror;
21577}
21578unsafe extern "C" {
21579    pub fn T_unproject_coordinates(
21580        Image: Hobject,
21581        WindowHandle: Htuple,
21582        Row: Htuple,
21583        Column: Htuple,
21584        ImageRow: *mut Htuple,
21585        ImageColumn: *mut Htuple,
21586        Height: *mut Htuple,
21587    ) -> Herror;
21588}
21589unsafe extern "C" {
21590    pub fn unproject_coordinates(
21591        Image: Hobject,
21592        WindowHandle: Hlong,
21593        Row: f64,
21594        Column: f64,
21595        ImageRow: *mut Hlong,
21596        ImageColumn: *mut Hlong,
21597        Height: *mut Hlong,
21598    ) -> Herror;
21599}
21600unsafe extern "C" {
21601    pub fn T_get_os_window_handle(
21602        WindowHandle: Htuple,
21603        OSWindowHandle: *mut Htuple,
21604        OSDisplayHandle: *mut Htuple,
21605    ) -> Herror;
21606}
21607unsafe extern "C" {
21608    pub fn get_os_window_handle(
21609        WindowHandle: Hlong,
21610        OSWindowHandle: *mut Hlong,
21611        OSDisplayHandle: *mut Hlong,
21612    ) -> Herror;
21613}
21614unsafe extern "C" {
21615    pub fn T_set_window_dc(WindowHandle: Htuple, WINHDC: Htuple) -> Herror;
21616}
21617unsafe extern "C" {
21618    pub fn set_window_dc(WindowHandle: Hlong, WINHDC: Hlong) -> Herror;
21619}
21620unsafe extern "C" {
21621    pub fn T_new_extern_window(
21622        WINHWnd: Htuple,
21623        Row: Htuple,
21624        Column: Htuple,
21625        Width: Htuple,
21626        Height: Htuple,
21627        WindowHandle: *mut Htuple,
21628    ) -> Herror;
21629}
21630unsafe extern "C" {
21631    pub fn new_extern_window(
21632        WINHWnd: Hlong,
21633        Row: Hlong,
21634        Column: Hlong,
21635        Width: Hlong,
21636        Height: Hlong,
21637        WindowHandle: *mut Hlong,
21638    ) -> Herror;
21639}
21640unsafe extern "C" {
21641    pub fn T_slide_image(
21642        WindowHandleSource1: Htuple,
21643        WindowHandleSource2: Htuple,
21644        WindowHandle: Htuple,
21645    ) -> Herror;
21646}
21647unsafe extern "C" {
21648    pub fn slide_image(
21649        WindowHandleSource1: Hlong,
21650        WindowHandleSource2: Hlong,
21651        WindowHandle: Hlong,
21652    ) -> Herror;
21653}
21654unsafe extern "C" {
21655    pub fn T_set_window_type(WindowType: Htuple) -> Herror;
21656}
21657unsafe extern "C" {
21658    pub fn set_window_type(WindowType: *const ::std::os::raw::c_char) -> Herror;
21659}
21660unsafe extern "C" {
21661    pub fn T_set_window_extents(
21662        WindowHandle: Htuple,
21663        Row: Htuple,
21664        Column: Htuple,
21665        Width: Htuple,
21666        Height: Htuple,
21667    ) -> Herror;
21668}
21669unsafe extern "C" {
21670    pub fn set_window_extents(
21671        WindowHandle: Hlong,
21672        Row: Hlong,
21673        Column: Hlong,
21674        Width: Hlong,
21675        Height: Hlong,
21676    ) -> Herror;
21677}
21678unsafe extern "C" {
21679    pub fn T_get_window_attr(AttributeName: Htuple, AttributeValue: *mut Htuple) -> Herror;
21680}
21681unsafe extern "C" {
21682    pub fn get_window_attr(
21683        AttributeName: *const ::std::os::raw::c_char,
21684        AttributeValue: *mut ::std::os::raw::c_char,
21685    ) -> Herror;
21686}
21687unsafe extern "C" {
21688    pub fn T_set_window_attr(AttributeName: Htuple, AttributeValue: Htuple) -> Herror;
21689}
21690unsafe extern "C" {
21691    pub fn set_window_attr(
21692        AttributeName: *const ::std::os::raw::c_char,
21693        AttributeValue: *const ::std::os::raw::c_char,
21694    ) -> Herror;
21695}
21696unsafe extern "C" {
21697    pub fn T_query_window_type(WindowTypes: *mut Htuple) -> Herror;
21698}
21699unsafe extern "C" {
21700    pub fn T_open_window(
21701        Row: Htuple,
21702        Column: Htuple,
21703        Width: Htuple,
21704        Height: Htuple,
21705        FatherWindow: Htuple,
21706        Mode: Htuple,
21707        Machine: Htuple,
21708        WindowHandle: *mut Htuple,
21709    ) -> Herror;
21710}
21711unsafe extern "C" {
21712    pub fn open_window(
21713        Row: Hlong,
21714        Column: Hlong,
21715        Width: Hlong,
21716        Height: Hlong,
21717        FatherWindow: Hlong,
21718        Mode: *const ::std::os::raw::c_char,
21719        Machine: *const ::std::os::raw::c_char,
21720        WindowHandle: *mut Hlong,
21721    ) -> Herror;
21722}
21723unsafe extern "C" {
21724    pub fn T_open_textwindow(
21725        Row: Htuple,
21726        Column: Htuple,
21727        Width: Htuple,
21728        Height: Htuple,
21729        BorderWidth: Htuple,
21730        BorderColor: Htuple,
21731        BackgroundColor: Htuple,
21732        FatherWindow: Htuple,
21733        Mode: Htuple,
21734        Machine: Htuple,
21735        WindowHandle: *mut Htuple,
21736    ) -> Herror;
21737}
21738unsafe extern "C" {
21739    pub fn open_textwindow(
21740        Row: Hlong,
21741        Column: Hlong,
21742        Width: Hlong,
21743        Height: Hlong,
21744        BorderWidth: Hlong,
21745        BorderColor: *const ::std::os::raw::c_char,
21746        BackgroundColor: *const ::std::os::raw::c_char,
21747        FatherWindow: Hlong,
21748        Mode: *const ::std::os::raw::c_char,
21749        Machine: *const ::std::os::raw::c_char,
21750        WindowHandle: *mut Hlong,
21751    ) -> Herror;
21752}
21753unsafe extern "C" {
21754    pub fn T_move_rectangle(
21755        WindowHandle: Htuple,
21756        Row1: Htuple,
21757        Column1: Htuple,
21758        Row2: Htuple,
21759        Column2: Htuple,
21760        DestRow: Htuple,
21761        DestColumn: Htuple,
21762    ) -> Herror;
21763}
21764unsafe extern "C" {
21765    pub fn move_rectangle(
21766        WindowHandle: Hlong,
21767        Row1: Hlong,
21768        Column1: Hlong,
21769        Row2: Hlong,
21770        Column2: Hlong,
21771        DestRow: Hlong,
21772        DestColumn: Hlong,
21773    ) -> Herror;
21774}
21775unsafe extern "C" {
21776    pub fn T_get_window_type(WindowHandle: Htuple, WindowType: *mut Htuple) -> Herror;
21777}
21778unsafe extern "C" {
21779    pub fn get_window_type(WindowHandle: Hlong, WindowType: *mut ::std::os::raw::c_char) -> Herror;
21780}
21781unsafe extern "C" {
21782    pub fn T_get_window_pointer3(
21783        WindowHandle: Htuple,
21784        ImageRed: *mut Htuple,
21785        ImageGreen: *mut Htuple,
21786        ImageBlue: *mut Htuple,
21787        Width: *mut Htuple,
21788        Height: *mut Htuple,
21789    ) -> Herror;
21790}
21791unsafe extern "C" {
21792    pub fn get_window_pointer3(
21793        WindowHandle: Hlong,
21794        ImageRed: *mut Hlong,
21795        ImageGreen: *mut Hlong,
21796        ImageBlue: *mut Hlong,
21797        Width: *mut Hlong,
21798        Height: *mut Hlong,
21799    ) -> Herror;
21800}
21801unsafe extern "C" {
21802    pub fn T_get_window_extents(
21803        WindowHandle: Htuple,
21804        Row: *mut Htuple,
21805        Column: *mut Htuple,
21806        Width: *mut Htuple,
21807        Height: *mut Htuple,
21808    ) -> Herror;
21809}
21810unsafe extern "C" {
21811    pub fn get_window_extents(
21812        WindowHandle: Hlong,
21813        Row: *mut Hlong,
21814        Column: *mut Hlong,
21815        Width: *mut Hlong,
21816        Height: *mut Hlong,
21817    ) -> Herror;
21818}
21819unsafe extern "C" {
21820    pub fn T_dump_window_image(Image: *mut Hobject, WindowHandle: Htuple) -> Herror;
21821}
21822unsafe extern "C" {
21823    pub fn dump_window_image(Image: *mut Hobject, WindowHandle: Hlong) -> Herror;
21824}
21825unsafe extern "C" {
21826    pub fn T_dump_window(WindowHandle: Htuple, Device: Htuple, FileName: Htuple) -> Herror;
21827}
21828unsafe extern "C" {
21829    pub fn dump_window(
21830        WindowHandle: Hlong,
21831        Device: *const ::std::os::raw::c_char,
21832        FileName: *const ::std::os::raw::c_char,
21833    ) -> Herror;
21834}
21835unsafe extern "C" {
21836    pub fn T_copy_rectangle(
21837        WindowHandleSource: Htuple,
21838        WindowHandleDestination: Htuple,
21839        Row1: Htuple,
21840        Column1: Htuple,
21841        Row2: Htuple,
21842        Column2: Htuple,
21843        DestRow: Htuple,
21844        DestColumn: Htuple,
21845    ) -> Herror;
21846}
21847unsafe extern "C" {
21848    pub fn copy_rectangle(
21849        WindowHandleSource: Hlong,
21850        WindowHandleDestination: Hlong,
21851        Row1: Hlong,
21852        Column1: Hlong,
21853        Row2: Hlong,
21854        Column2: Hlong,
21855        DestRow: Hlong,
21856        DestColumn: Hlong,
21857    ) -> Herror;
21858}
21859unsafe extern "C" {
21860    pub fn T_close_window(WindowHandle: Htuple) -> Herror;
21861}
21862unsafe extern "C" {
21863    pub fn close_window(WindowHandle: Hlong) -> Herror;
21864}
21865unsafe extern "C" {
21866    pub fn T_clear_window(WindowHandle: Htuple) -> Herror;
21867}
21868unsafe extern "C" {
21869    pub fn clear_window(WindowHandle: Hlong) -> Herror;
21870}
21871unsafe extern "C" {
21872    pub fn T_clear_rectangle(
21873        WindowHandle: Htuple,
21874        Row1: Htuple,
21875        Column1: Htuple,
21876        Row2: Htuple,
21877        Column2: Htuple,
21878    ) -> Herror;
21879}
21880unsafe extern "C" {
21881    pub fn clear_rectangle(
21882        WindowHandle: Hlong,
21883        Row1: Hlong,
21884        Column1: Hlong,
21885        Row2: Hlong,
21886        Column2: Hlong,
21887    ) -> Herror;
21888}
21889unsafe extern "C" {
21890    pub fn T_write_string(WindowHandle: Htuple, String: Htuple) -> Herror;
21891}
21892unsafe extern "C" {
21893    pub fn write_string(WindowHandle: Hlong, String: *const ::std::os::raw::c_char) -> Herror;
21894}
21895unsafe extern "C" {
21896    pub fn T_set_tshape(WindowHandle: Htuple, TextCursor: Htuple) -> Herror;
21897}
21898unsafe extern "C" {
21899    pub fn set_tshape(WindowHandle: Hlong, TextCursor: *const ::std::os::raw::c_char) -> Herror;
21900}
21901unsafe extern "C" {
21902    pub fn T_set_tposition(WindowHandle: Htuple, Row: Htuple, Column: Htuple) -> Herror;
21903}
21904unsafe extern "C" {
21905    pub fn set_tposition(WindowHandle: Hlong, Row: Hlong, Column: Hlong) -> Herror;
21906}
21907unsafe extern "C" {
21908    pub fn T_read_string(
21909        WindowHandle: Htuple,
21910        InString: Htuple,
21911        Length: Htuple,
21912        OutString: *mut Htuple,
21913    ) -> Herror;
21914}
21915unsafe extern "C" {
21916    pub fn read_string(
21917        WindowHandle: Hlong,
21918        InString: *const ::std::os::raw::c_char,
21919        Length: Hlong,
21920        OutString: *mut ::std::os::raw::c_char,
21921    ) -> Herror;
21922}
21923unsafe extern "C" {
21924    pub fn T_read_char(WindowHandle: Htuple, Char: *mut Htuple, Code: *mut Htuple) -> Herror;
21925}
21926unsafe extern "C" {
21927    pub fn read_char(
21928        WindowHandle: Hlong,
21929        Char: *mut ::std::os::raw::c_char,
21930        Code: *mut ::std::os::raw::c_char,
21931    ) -> Herror;
21932}
21933unsafe extern "C" {
21934    pub fn T_new_line(WindowHandle: Htuple) -> Herror;
21935}
21936unsafe extern "C" {
21937    pub fn new_line(WindowHandle: Hlong) -> Herror;
21938}
21939unsafe extern "C" {
21940    pub fn T_get_tshape(WindowHandle: Htuple, TextCursor: *mut Htuple) -> Herror;
21941}
21942unsafe extern "C" {
21943    pub fn get_tshape(WindowHandle: Hlong, TextCursor: *mut ::std::os::raw::c_char) -> Herror;
21944}
21945unsafe extern "C" {
21946    pub fn T_get_tposition(WindowHandle: Htuple, Row: *mut Htuple, Column: *mut Htuple) -> Herror;
21947}
21948unsafe extern "C" {
21949    pub fn get_tposition(WindowHandle: Hlong, Row: *mut Hlong, Column: *mut Hlong) -> Herror;
21950}
21951unsafe extern "C" {
21952    pub fn T_get_font_extents(
21953        WindowHandle: Htuple,
21954        MaxAscent: *mut Htuple,
21955        MaxDescent: *mut Htuple,
21956        MaxWidth: *mut Htuple,
21957        MaxHeight: *mut Htuple,
21958    ) -> Herror;
21959}
21960unsafe extern "C" {
21961    pub fn get_font_extents(
21962        WindowHandle: Hlong,
21963        MaxAscent: *mut Hlong,
21964        MaxDescent: *mut Hlong,
21965        MaxWidth: *mut Hlong,
21966        MaxHeight: *mut Hlong,
21967    ) -> Herror;
21968}
21969unsafe extern "C" {
21970    pub fn T_get_string_extents(
21971        WindowHandle: Htuple,
21972        Values: Htuple,
21973        Ascent: *mut Htuple,
21974        Descent: *mut Htuple,
21975        Width: *mut Htuple,
21976        Height: *mut Htuple,
21977    ) -> Herror;
21978}
21979unsafe extern "C" {
21980    pub fn get_string_extents(
21981        WindowHandle: Hlong,
21982        Values: *const ::std::os::raw::c_char,
21983        Ascent: *mut Hlong,
21984        Descent: *mut Hlong,
21985        Width: *mut Hlong,
21986        Height: *mut Hlong,
21987    ) -> Herror;
21988}
21989unsafe extern "C" {
21990    pub fn T_query_font(WindowHandle: Htuple, Font: *mut Htuple) -> Herror;
21991}
21992unsafe extern "C" {
21993    pub fn T_query_tshape(WindowHandle: Htuple, TextCursor: *mut Htuple) -> Herror;
21994}
21995unsafe extern "C" {
21996    pub fn T_set_font(WindowHandle: Htuple, Font: Htuple) -> Herror;
21997}
21998unsafe extern "C" {
21999    pub fn set_font(WindowHandle: Hlong, Font: *const ::std::os::raw::c_char) -> Herror;
22000}
22001unsafe extern "C" {
22002    pub fn T_get_font(WindowHandle: Htuple, Font: *mut Htuple) -> Herror;
22003}
22004unsafe extern "C" {
22005    pub fn get_font(WindowHandle: Hlong, Font: *mut ::std::os::raw::c_char) -> Herror;
22006}
22007unsafe extern "C" {
22008    pub fn T_get_display_scene_3d_info(
22009        WindowHandle: Htuple,
22010        Scene3D: Htuple,
22011        Row: Htuple,
22012        Column: Htuple,
22013        Information: Htuple,
22014        Value: *mut Htuple,
22015    ) -> Herror;
22016}
22017unsafe extern "C" {
22018    pub fn get_display_scene_3d_info(
22019        WindowHandle: Hlong,
22020        Scene3D: Hlong,
22021        Row: f64,
22022        Column: f64,
22023        Information: *const ::std::os::raw::c_char,
22024        Value: *mut Hlong,
22025    ) -> Herror;
22026}
22027unsafe extern "C" {
22028    pub fn T_set_scene_3d_to_world_pose(Scene3D: Htuple, ToWorldPose: Htuple) -> Herror;
22029}
22030unsafe extern "C" {
22031    pub fn set_scene_3d_to_world_pose(Scene3D: Hlong, ToWorldPose: f64) -> Herror;
22032}
22033unsafe extern "C" {
22034    pub fn T_set_scene_3d_param(
22035        Scene3D: Htuple,
22036        GenParamName: Htuple,
22037        GenParamValue: Htuple,
22038    ) -> Herror;
22039}
22040unsafe extern "C" {
22041    pub fn set_scene_3d_param(
22042        Scene3D: Hlong,
22043        GenParamName: *const ::std::os::raw::c_char,
22044        GenParamValue: *const ::std::os::raw::c_char,
22045    ) -> Herror;
22046}
22047unsafe extern "C" {
22048    pub fn T_set_scene_3d_light_param(
22049        Scene3D: Htuple,
22050        LightIndex: Htuple,
22051        GenParamName: Htuple,
22052        GenParamValue: Htuple,
22053    ) -> Herror;
22054}
22055unsafe extern "C" {
22056    pub fn set_scene_3d_light_param(
22057        Scene3D: Hlong,
22058        LightIndex: Hlong,
22059        GenParamName: *const ::std::os::raw::c_char,
22060        GenParamValue: *const ::std::os::raw::c_char,
22061    ) -> Herror;
22062}
22063unsafe extern "C" {
22064    pub fn T_set_scene_3d_instance_pose(
22065        Scene3D: Htuple,
22066        InstanceIndex: Htuple,
22067        Pose: Htuple,
22068    ) -> Herror;
22069}
22070unsafe extern "C" {
22071    pub fn set_scene_3d_instance_pose(Scene3D: Hlong, InstanceIndex: Hlong, Pose: f64) -> Herror;
22072}
22073unsafe extern "C" {
22074    pub fn T_set_scene_3d_instance_param(
22075        Scene3D: Htuple,
22076        InstanceIndex: Htuple,
22077        GenParamName: Htuple,
22078        GenParamValue: Htuple,
22079    ) -> Herror;
22080}
22081unsafe extern "C" {
22082    pub fn T_set_scene_3d_camera_pose(Scene3D: Htuple, CameraIndex: Htuple, Pose: Htuple)
22083    -> Herror;
22084}
22085unsafe extern "C" {
22086    pub fn set_scene_3d_camera_pose(Scene3D: Hlong, CameraIndex: Hlong, Pose: f64) -> Herror;
22087}
22088unsafe extern "C" {
22089    pub fn T_render_scene_3d(Image: *mut Hobject, Scene3D: Htuple, CameraIndex: Htuple) -> Herror;
22090}
22091unsafe extern "C" {
22092    pub fn render_scene_3d(Image: *mut Hobject, Scene3D: Hlong, CameraIndex: Hlong) -> Herror;
22093}
22094unsafe extern "C" {
22095    pub fn T_remove_scene_3d_light(Scene3D: Htuple, LightIndex: Htuple) -> Herror;
22096}
22097unsafe extern "C" {
22098    pub fn remove_scene_3d_light(Scene3D: Hlong, LightIndex: Hlong) -> Herror;
22099}
22100unsafe extern "C" {
22101    pub fn T_remove_scene_3d_instance(Scene3D: Htuple, InstanceIndex: Htuple) -> Herror;
22102}
22103unsafe extern "C" {
22104    pub fn remove_scene_3d_instance(Scene3D: Hlong, InstanceIndex: Hlong) -> Herror;
22105}
22106unsafe extern "C" {
22107    pub fn T_remove_scene_3d_camera(Scene3D: Htuple, CameraIndex: Htuple) -> Herror;
22108}
22109unsafe extern "C" {
22110    pub fn remove_scene_3d_camera(Scene3D: Hlong, CameraIndex: Hlong) -> Herror;
22111}
22112unsafe extern "C" {
22113    pub fn T_display_scene_3d(WindowHandle: Htuple, Scene3D: Htuple, CameraIndex: Htuple)
22114    -> Herror;
22115}
22116unsafe extern "C" {
22117    pub fn display_scene_3d(
22118        WindowHandle: Hlong,
22119        Scene3D: Hlong,
22120        CameraIndex: *const ::std::os::raw::c_char,
22121    ) -> Herror;
22122}
22123unsafe extern "C" {
22124    pub fn T_add_scene_3d_light(
22125        Scene3D: Htuple,
22126        LightPosition: Htuple,
22127        LightKind: Htuple,
22128        LightIndex: *mut Htuple,
22129    ) -> Herror;
22130}
22131unsafe extern "C" {
22132    pub fn T_add_scene_3d_instance(
22133        Scene3D: Htuple,
22134        ObjectModel3D: Htuple,
22135        Pose: Htuple,
22136        InstanceIndex: *mut Htuple,
22137    ) -> Herror;
22138}
22139unsafe extern "C" {
22140    pub fn T_add_scene_3d_camera(
22141        Scene3D: Htuple,
22142        CameraParam: Htuple,
22143        CameraIndex: *mut Htuple,
22144    ) -> Herror;
22145}
22146unsafe extern "C" {
22147    pub fn T_clear_scene_3d(Scene3D: Htuple) -> Herror;
22148}
22149unsafe extern "C" {
22150    pub fn clear_scene_3d(Scene3D: Hlong) -> Herror;
22151}
22152unsafe extern "C" {
22153    pub fn T_create_scene_3d(Scene3D: *mut Htuple) -> Herror;
22154}
22155unsafe extern "C" {
22156    pub fn create_scene_3d(Scene3D: *mut Hlong) -> Herror;
22157}
22158unsafe extern "C" {
22159    pub fn T_get_window_param(WindowHandle: Htuple, Param: Htuple, Value: *mut Htuple) -> Herror;
22160}
22161unsafe extern "C" {
22162    pub fn get_window_param(
22163        WindowHandle: Hlong,
22164        Param: *const ::std::os::raw::c_char,
22165        Value: *mut ::std::os::raw::c_char,
22166    ) -> Herror;
22167}
22168unsafe extern "C" {
22169    pub fn T_set_window_param(WindowHandle: Htuple, Param: Htuple, Value: Htuple) -> Herror;
22170}
22171unsafe extern "C" {
22172    pub fn set_window_param(
22173        WindowHandle: Hlong,
22174        Param: *const ::std::os::raw::c_char,
22175        Value: *const ::std::os::raw::c_char,
22176    ) -> Herror;
22177}
22178unsafe extern "C" {
22179    pub fn T_set_shape(WindowHandle: Htuple, Shape: Htuple) -> Herror;
22180}
22181unsafe extern "C" {
22182    pub fn set_shape(WindowHandle: Hlong, Shape: *const ::std::os::raw::c_char) -> Herror;
22183}
22184unsafe extern "C" {
22185    pub fn T_set_rgb(WindowHandle: Htuple, Red: Htuple, Green: Htuple, Blue: Htuple) -> Herror;
22186}
22187unsafe extern "C" {
22188    pub fn set_rgb(WindowHandle: Hlong, Red: Hlong, Green: Hlong, Blue: Hlong) -> Herror;
22189}
22190unsafe extern "C" {
22191    pub fn T_set_pixel(WindowHandle: Htuple, Pixel: Htuple) -> Herror;
22192}
22193unsafe extern "C" {
22194    pub fn set_pixel(WindowHandle: Hlong, Pixel: Hlong) -> Herror;
22195}
22196unsafe extern "C" {
22197    pub fn T_set_part_style(WindowHandle: Htuple, Style: Htuple) -> Herror;
22198}
22199unsafe extern "C" {
22200    pub fn set_part_style(WindowHandle: Hlong, Style: Hlong) -> Herror;
22201}
22202unsafe extern "C" {
22203    pub fn T_set_part(
22204        WindowHandle: Htuple,
22205        Row1: Htuple,
22206        Column1: Htuple,
22207        Row2: Htuple,
22208        Column2: Htuple,
22209    ) -> Herror;
22210}
22211unsafe extern "C" {
22212    pub fn set_part(
22213        WindowHandle: Hlong,
22214        Row1: Hlong,
22215        Column1: Hlong,
22216        Row2: Hlong,
22217        Column2: Hlong,
22218    ) -> Herror;
22219}
22220unsafe extern "C" {
22221    pub fn T_set_paint(WindowHandle: Htuple, Mode: Htuple) -> Herror;
22222}
22223unsafe extern "C" {
22224    pub fn T_set_line_width(WindowHandle: Htuple, Width: Htuple) -> Herror;
22225}
22226unsafe extern "C" {
22227    pub fn set_line_width(WindowHandle: Hlong, Width: f64) -> Herror;
22228}
22229unsafe extern "C" {
22230    pub fn T_set_line_style(WindowHandle: Htuple, Style: Htuple) -> Herror;
22231}
22232unsafe extern "C" {
22233    pub fn T_set_line_approx(WindowHandle: Htuple, Approximation: Htuple) -> Herror;
22234}
22235unsafe extern "C" {
22236    pub fn set_line_approx(WindowHandle: Hlong, Approximation: Hlong) -> Herror;
22237}
22238unsafe extern "C" {
22239    pub fn T_set_insert(WindowHandle: Htuple, Mode: Htuple) -> Herror;
22240}
22241unsafe extern "C" {
22242    pub fn set_insert(WindowHandle: Hlong, Mode: *const ::std::os::raw::c_char) -> Herror;
22243}
22244unsafe extern "C" {
22245    pub fn T_set_hsi(
22246        WindowHandle: Htuple,
22247        Hue: Htuple,
22248        Saturation: Htuple,
22249        Intensity: Htuple,
22250    ) -> Herror;
22251}
22252unsafe extern "C" {
22253    pub fn set_hsi(WindowHandle: Hlong, Hue: Hlong, Saturation: Hlong, Intensity: Hlong) -> Herror;
22254}
22255unsafe extern "C" {
22256    pub fn T_set_gray(WindowHandle: Htuple, GrayValues: Htuple) -> Herror;
22257}
22258unsafe extern "C" {
22259    pub fn set_gray(WindowHandle: Hlong, GrayValues: Hlong) -> Herror;
22260}
22261unsafe extern "C" {
22262    pub fn T_set_draw(WindowHandle: Htuple, Mode: Htuple) -> Herror;
22263}
22264unsafe extern "C" {
22265    pub fn set_draw(WindowHandle: Hlong, Mode: *const ::std::os::raw::c_char) -> Herror;
22266}
22267unsafe extern "C" {
22268    pub fn T_set_comprise(WindowHandle: Htuple, Mode: Htuple) -> Herror;
22269}
22270unsafe extern "C" {
22271    pub fn set_comprise(WindowHandle: Hlong, Mode: *const ::std::os::raw::c_char) -> Herror;
22272}
22273unsafe extern "C" {
22274    pub fn T_set_colored(WindowHandle: Htuple, NumberOfColors: Htuple) -> Herror;
22275}
22276unsafe extern "C" {
22277    pub fn set_colored(WindowHandle: Hlong, NumberOfColors: Hlong) -> Herror;
22278}
22279unsafe extern "C" {
22280    pub fn T_set_color(WindowHandle: Htuple, Color: Htuple) -> Herror;
22281}
22282unsafe extern "C" {
22283    pub fn set_color(WindowHandle: Hlong, Color: *const ::std::os::raw::c_char) -> Herror;
22284}
22285unsafe extern "C" {
22286    pub fn T_get_shape(WindowHandle: Htuple, DisplayShape: *mut Htuple) -> Herror;
22287}
22288unsafe extern "C" {
22289    pub fn get_shape(WindowHandle: Hlong, DisplayShape: *mut ::std::os::raw::c_char) -> Herror;
22290}
22291unsafe extern "C" {
22292    pub fn T_get_rgb(
22293        WindowHandle: Htuple,
22294        Red: *mut Htuple,
22295        Green: *mut Htuple,
22296        Blue: *mut Htuple,
22297    ) -> Herror;
22298}
22299unsafe extern "C" {
22300    pub fn T_get_pixel(WindowHandle: Htuple, Pixel: *mut Htuple) -> Herror;
22301}
22302unsafe extern "C" {
22303    pub fn T_get_part_style(WindowHandle: Htuple, Style: *mut Htuple) -> Herror;
22304}
22305unsafe extern "C" {
22306    pub fn get_part_style(WindowHandle: Hlong, Style: *mut Hlong) -> Herror;
22307}
22308unsafe extern "C" {
22309    pub fn T_get_part(
22310        WindowHandle: Htuple,
22311        Row1: *mut Htuple,
22312        Column1: *mut Htuple,
22313        Row2: *mut Htuple,
22314        Column2: *mut Htuple,
22315    ) -> Herror;
22316}
22317unsafe extern "C" {
22318    pub fn get_part(
22319        WindowHandle: Hlong,
22320        Row1: *mut Hlong,
22321        Column1: *mut Hlong,
22322        Row2: *mut Hlong,
22323        Column2: *mut Hlong,
22324    ) -> Herror;
22325}
22326unsafe extern "C" {
22327    pub fn T_get_paint(WindowHandle: Htuple, Mode: *mut Htuple) -> Herror;
22328}
22329unsafe extern "C" {
22330    pub fn T_get_line_width(WindowHandle: Htuple, Width: *mut Htuple) -> Herror;
22331}
22332unsafe extern "C" {
22333    pub fn get_line_width(WindowHandle: Hlong, Width: *mut f64) -> Herror;
22334}
22335unsafe extern "C" {
22336    pub fn T_get_line_style(WindowHandle: Htuple, Style: *mut Htuple) -> Herror;
22337}
22338unsafe extern "C" {
22339    pub fn T_get_line_approx(WindowHandle: Htuple, Approximation: *mut Htuple) -> Herror;
22340}
22341unsafe extern "C" {
22342    pub fn get_line_approx(WindowHandle: Hlong, Approximation: *mut Hlong) -> Herror;
22343}
22344unsafe extern "C" {
22345    pub fn T_get_insert(WindowHandle: Htuple, Mode: *mut Htuple) -> Herror;
22346}
22347unsafe extern "C" {
22348    pub fn get_insert(WindowHandle: Hlong, Mode: *mut ::std::os::raw::c_char) -> Herror;
22349}
22350unsafe extern "C" {
22351    pub fn T_get_hsi(
22352        WindowHandle: Htuple,
22353        Hue: *mut Htuple,
22354        Saturation: *mut Htuple,
22355        Intensity: *mut Htuple,
22356    ) -> Herror;
22357}
22358unsafe extern "C" {
22359    pub fn T_get_draw(WindowHandle: Htuple, Mode: *mut Htuple) -> Herror;
22360}
22361unsafe extern "C" {
22362    pub fn get_draw(WindowHandle: Hlong, Mode: *mut ::std::os::raw::c_char) -> Herror;
22363}
22364unsafe extern "C" {
22365    pub fn T_get_comprise(WindowHandle: Htuple, Mode: *mut Htuple) -> Herror;
22366}
22367unsafe extern "C" {
22368    pub fn get_comprise(WindowHandle: Hlong, Mode: *mut ::std::os::raw::c_char) -> Herror;
22369}
22370unsafe extern "C" {
22371    pub fn T_query_shape(DisplayShape: *mut Htuple) -> Herror;
22372}
22373unsafe extern "C" {
22374    pub fn T_query_paint(WindowHandle: Htuple, Mode: *mut Htuple) -> Herror;
22375}
22376unsafe extern "C" {
22377    pub fn T_query_line_width(Min: *mut Htuple, Max: *mut Htuple) -> Herror;
22378}
22379unsafe extern "C" {
22380    pub fn query_line_width(Min: *mut Hlong, Max: *mut Hlong) -> Herror;
22381}
22382unsafe extern "C" {
22383    pub fn T_query_insert(WindowHandle: Htuple, Mode: *mut Htuple) -> Herror;
22384}
22385unsafe extern "C" {
22386    pub fn T_query_gray(WindowHandle: Htuple, Grayval: *mut Htuple) -> Herror;
22387}
22388unsafe extern "C" {
22389    pub fn T_query_colored(PossibleNumberOfColors: *mut Htuple) -> Herror;
22390}
22391unsafe extern "C" {
22392    pub fn T_query_all_colors(WindowHandle: Htuple, Colors: *mut Htuple) -> Herror;
22393}
22394unsafe extern "C" {
22395    pub fn T_query_color(WindowHandle: Htuple, Colors: *mut Htuple) -> Herror;
22396}
22397unsafe extern "C" {
22398    pub fn T_get_icon(Icon: *mut Hobject, WindowHandle: Htuple) -> Herror;
22399}
22400unsafe extern "C" {
22401    pub fn get_icon(Icon: *mut Hobject, WindowHandle: Hlong) -> Herror;
22402}
22403unsafe extern "C" {
22404    pub fn T_set_icon(Icon: Hobject, WindowHandle: Htuple) -> Herror;
22405}
22406unsafe extern "C" {
22407    pub fn set_icon(Icon: Hobject, WindowHandle: Hlong) -> Herror;
22408}
22409unsafe extern "C" {
22410    pub fn T_disp_region(DispRegions: Hobject, WindowHandle: Htuple) -> Herror;
22411}
22412unsafe extern "C" {
22413    pub fn disp_region(DispRegions: Hobject, WindowHandle: Hlong) -> Herror;
22414}
22415unsafe extern "C" {
22416    pub fn T_disp_rectangle2(
22417        WindowHandle: Htuple,
22418        CenterRow: Htuple,
22419        CenterCol: Htuple,
22420        Phi: Htuple,
22421        Length1: Htuple,
22422        Length2: Htuple,
22423    ) -> Herror;
22424}
22425unsafe extern "C" {
22426    pub fn disp_rectangle2(
22427        WindowHandle: Hlong,
22428        CenterRow: f64,
22429        CenterCol: f64,
22430        Phi: f64,
22431        Length1: f64,
22432        Length2: f64,
22433    ) -> Herror;
22434}
22435unsafe extern "C" {
22436    pub fn T_disp_rectangle1(
22437        WindowHandle: Htuple,
22438        Row1: Htuple,
22439        Column1: Htuple,
22440        Row2: Htuple,
22441        Column2: Htuple,
22442    ) -> Herror;
22443}
22444unsafe extern "C" {
22445    pub fn disp_rectangle1(
22446        WindowHandle: Hlong,
22447        Row1: f64,
22448        Column1: f64,
22449        Row2: f64,
22450        Column2: f64,
22451    ) -> Herror;
22452}
22453unsafe extern "C" {
22454    pub fn T_disp_polygon(WindowHandle: Htuple, Row: Htuple, Column: Htuple) -> Herror;
22455}
22456unsafe extern "C" {
22457    pub fn T_disp_line(
22458        WindowHandle: Htuple,
22459        Row1: Htuple,
22460        Column1: Htuple,
22461        Row2: Htuple,
22462        Column2: Htuple,
22463    ) -> Herror;
22464}
22465unsafe extern "C" {
22466    pub fn disp_line(
22467        WindowHandle: Hlong,
22468        Row1: f64,
22469        Column1: f64,
22470        Row2: f64,
22471        Column2: f64,
22472    ) -> Herror;
22473}
22474unsafe extern "C" {
22475    pub fn T_disp_cross(
22476        WindowHandle: Htuple,
22477        Row: Htuple,
22478        Column: Htuple,
22479        Size: Htuple,
22480        Angle: Htuple,
22481    ) -> Herror;
22482}
22483unsafe extern "C" {
22484    pub fn disp_cross(WindowHandle: Hlong, Row: f64, Column: f64, Size: f64, Angle: f64) -> Herror;
22485}
22486unsafe extern "C" {
22487    pub fn T_disp_image(Image: Hobject, WindowHandle: Htuple) -> Herror;
22488}
22489unsafe extern "C" {
22490    pub fn disp_image(Image: Hobject, WindowHandle: Hlong) -> Herror;
22491}
22492unsafe extern "C" {
22493    pub fn T_disp_channel(
22494        MultichannelImage: Hobject,
22495        WindowHandle: Htuple,
22496        Channel: Htuple,
22497    ) -> Herror;
22498}
22499unsafe extern "C" {
22500    pub fn disp_channel(MultichannelImage: Hobject, WindowHandle: Hlong, Channel: Hlong) -> Herror;
22501}
22502unsafe extern "C" {
22503    pub fn T_disp_color(ColorImage: Hobject, WindowHandle: Htuple) -> Herror;
22504}
22505unsafe extern "C" {
22506    pub fn disp_color(ColorImage: Hobject, WindowHandle: Hlong) -> Herror;
22507}
22508unsafe extern "C" {
22509    pub fn T_disp_ellipse(
22510        WindowHandle: Htuple,
22511        CenterRow: Htuple,
22512        CenterCol: Htuple,
22513        Phi: Htuple,
22514        Radius1: Htuple,
22515        Radius2: Htuple,
22516    ) -> Herror;
22517}
22518unsafe extern "C" {
22519    pub fn disp_ellipse(
22520        WindowHandle: Hlong,
22521        CenterRow: Hlong,
22522        CenterCol: Hlong,
22523        Phi: f64,
22524        Radius1: f64,
22525        Radius2: f64,
22526    ) -> Herror;
22527}
22528unsafe extern "C" {
22529    pub fn T_disp_distribution(
22530        WindowHandle: Htuple,
22531        Distribution: Htuple,
22532        Row: Htuple,
22533        Column: Htuple,
22534        Scale: Htuple,
22535    ) -> Herror;
22536}
22537unsafe extern "C" {
22538    pub fn T_disp_circle(
22539        WindowHandle: Htuple,
22540        Row: Htuple,
22541        Column: Htuple,
22542        Radius: Htuple,
22543    ) -> Herror;
22544}
22545unsafe extern "C" {
22546    pub fn disp_circle(WindowHandle: Hlong, Row: f64, Column: f64, Radius: f64) -> Herror;
22547}
22548unsafe extern "C" {
22549    pub fn T_disp_arrow(
22550        WindowHandle: Htuple,
22551        Row1: Htuple,
22552        Column1: Htuple,
22553        Row2: Htuple,
22554        Column2: Htuple,
22555        Size: Htuple,
22556    ) -> Herror;
22557}
22558unsafe extern "C" {
22559    pub fn disp_arrow(
22560        WindowHandle: Hlong,
22561        Row1: f64,
22562        Column1: f64,
22563        Row2: f64,
22564        Column2: f64,
22565        Size: f64,
22566    ) -> Herror;
22567}
22568unsafe extern "C" {
22569    pub fn T_disp_arc(
22570        WindowHandle: Htuple,
22571        CenterRow: Htuple,
22572        CenterCol: Htuple,
22573        Angle: Htuple,
22574        BeginRow: Htuple,
22575        BeginCol: Htuple,
22576    ) -> Herror;
22577}
22578unsafe extern "C" {
22579    pub fn disp_arc(
22580        WindowHandle: Hlong,
22581        CenterRow: f64,
22582        CenterCol: f64,
22583        Angle: f64,
22584        BeginRow: Hlong,
22585        BeginCol: Hlong,
22586    ) -> Herror;
22587}
22588unsafe extern "C" {
22589    pub fn T_disp_obj(Object: Hobject, WindowHandle: Htuple) -> Herror;
22590}
22591unsafe extern "C" {
22592    pub fn disp_obj(Object: Hobject, WindowHandle: Hlong) -> Herror;
22593}
22594unsafe extern "C" {
22595    pub fn T_set_mshape(WindowHandle: Htuple, Cursor: Htuple) -> Herror;
22596}
22597unsafe extern "C" {
22598    pub fn set_mshape(WindowHandle: Hlong, Cursor: *const ::std::os::raw::c_char) -> Herror;
22599}
22600unsafe extern "C" {
22601    pub fn T_get_mshape(WindowHandle: Htuple, Cursor: *mut Htuple) -> Herror;
22602}
22603unsafe extern "C" {
22604    pub fn get_mshape(WindowHandle: Hlong, Cursor: *mut ::std::os::raw::c_char) -> Herror;
22605}
22606unsafe extern "C" {
22607    pub fn T_query_mshape(WindowHandle: Htuple, ShapeNames: *mut Htuple) -> Herror;
22608}
22609unsafe extern "C" {
22610    pub fn T_get_mposition_sub_pix(
22611        WindowHandle: Htuple,
22612        Row: *mut Htuple,
22613        Column: *mut Htuple,
22614        Button: *mut Htuple,
22615    ) -> Herror;
22616}
22617unsafe extern "C" {
22618    pub fn get_mposition_sub_pix(
22619        WindowHandle: Hlong,
22620        Row: *mut f64,
22621        Column: *mut f64,
22622        Button: *mut Hlong,
22623    ) -> Herror;
22624}
22625unsafe extern "C" {
22626    pub fn T_get_mposition(
22627        WindowHandle: Htuple,
22628        Row: *mut Htuple,
22629        Column: *mut Htuple,
22630        Button: *mut Htuple,
22631    ) -> Herror;
22632}
22633unsafe extern "C" {
22634    pub fn get_mposition(
22635        WindowHandle: Hlong,
22636        Row: *mut Hlong,
22637        Column: *mut Hlong,
22638        Button: *mut Hlong,
22639    ) -> Herror;
22640}
22641unsafe extern "C" {
22642    pub fn T_get_mbutton_sub_pix(
22643        WindowHandle: Htuple,
22644        Row: *mut Htuple,
22645        Column: *mut Htuple,
22646        Button: *mut Htuple,
22647    ) -> Herror;
22648}
22649unsafe extern "C" {
22650    pub fn get_mbutton_sub_pix(
22651        WindowHandle: Hlong,
22652        Row: *mut f64,
22653        Column: *mut f64,
22654        Button: *mut Hlong,
22655    ) -> Herror;
22656}
22657unsafe extern "C" {
22658    pub fn T_get_mbutton(
22659        WindowHandle: Htuple,
22660        Row: *mut Htuple,
22661        Column: *mut Htuple,
22662        Button: *mut Htuple,
22663    ) -> Herror;
22664}
22665unsafe extern "C" {
22666    pub fn get_mbutton(
22667        WindowHandle: Hlong,
22668        Row: *mut Hlong,
22669        Column: *mut Hlong,
22670        Button: *mut Hlong,
22671    ) -> Herror;
22672}
22673unsafe extern "C" {
22674    pub fn T_write_lut(WindowHandle: Htuple, FileName: Htuple) -> Herror;
22675}
22676unsafe extern "C" {
22677    pub fn write_lut(WindowHandle: Hlong, FileName: *const ::std::os::raw::c_char) -> Herror;
22678}
22679unsafe extern "C" {
22680    pub fn T_disp_lut(WindowHandle: Htuple, Row: Htuple, Column: Htuple, Scale: Htuple) -> Herror;
22681}
22682unsafe extern "C" {
22683    pub fn disp_lut(WindowHandle: Hlong, Row: Hlong, Column: Hlong, Scale: Hlong) -> Herror;
22684}
22685unsafe extern "C" {
22686    pub fn T_query_lut(WindowHandle: Htuple, LookUpTable: *mut Htuple) -> Herror;
22687}
22688unsafe extern "C" {
22689    pub fn T_get_lut_style(
22690        WindowHandle: Htuple,
22691        Hue: *mut Htuple,
22692        Saturation: *mut Htuple,
22693        Intensity: *mut Htuple,
22694    ) -> Herror;
22695}
22696unsafe extern "C" {
22697    pub fn get_lut_style(
22698        WindowHandle: Hlong,
22699        Hue: *mut f64,
22700        Saturation: *mut f64,
22701        Intensity: *mut f64,
22702    ) -> Herror;
22703}
22704unsafe extern "C" {
22705    pub fn T_set_lut_style(
22706        WindowHandle: Htuple,
22707        Hue: Htuple,
22708        Saturation: Htuple,
22709        Intensity: Htuple,
22710    ) -> Herror;
22711}
22712unsafe extern "C" {
22713    pub fn set_lut_style(WindowHandle: Hlong, Hue: f64, Saturation: f64, Intensity: f64) -> Herror;
22714}
22715unsafe extern "C" {
22716    pub fn T_get_lut(WindowHandle: Htuple, LookUpTable: *mut Htuple) -> Herror;
22717}
22718unsafe extern "C" {
22719    pub fn T_set_lut(WindowHandle: Htuple, LookUpTable: Htuple) -> Herror;
22720}
22721unsafe extern "C" {
22722    pub fn set_lut(WindowHandle: Hlong, LookUpTable: *const ::std::os::raw::c_char) -> Herror;
22723}
22724unsafe extern "C" {
22725    pub fn T_get_fix(WindowHandle: Htuple, Mode: *mut Htuple) -> Herror;
22726}
22727unsafe extern "C" {
22728    pub fn get_fix(WindowHandle: Hlong, Mode: *mut ::std::os::raw::c_char) -> Herror;
22729}
22730unsafe extern "C" {
22731    pub fn T_set_fix(WindowHandle: Htuple, Mode: Htuple) -> Herror;
22732}
22733unsafe extern "C" {
22734    pub fn set_fix(WindowHandle: Hlong, Mode: *const ::std::os::raw::c_char) -> Herror;
22735}
22736unsafe extern "C" {
22737    pub fn T_get_fixed_lut(WindowHandle: Htuple, Mode: *mut Htuple) -> Herror;
22738}
22739unsafe extern "C" {
22740    pub fn get_fixed_lut(WindowHandle: Hlong, Mode: *mut ::std::os::raw::c_char) -> Herror;
22741}
22742unsafe extern "C" {
22743    pub fn T_set_fixed_lut(WindowHandle: Htuple, Mode: Htuple) -> Herror;
22744}
22745unsafe extern "C" {
22746    pub fn set_fixed_lut(WindowHandle: Hlong, Mode: *const ::std::os::raw::c_char) -> Herror;
22747}
22748unsafe extern "C" {
22749    pub fn T_create_drawing_object_text(
22750        Row: Htuple,
22751        Column: Htuple,
22752        String: Htuple,
22753        DrawID: *mut Htuple,
22754    ) -> Herror;
22755}
22756unsafe extern "C" {
22757    pub fn create_drawing_object_text(
22758        Row: Hlong,
22759        Column: Hlong,
22760        String: *const ::std::os::raw::c_char,
22761        DrawID: *mut Hlong,
22762    ) -> Herror;
22763}
22764unsafe extern "C" {
22765    pub fn T_get_drawing_object_iconic(Object: *mut Hobject, DrawID: Htuple) -> Herror;
22766}
22767unsafe extern "C" {
22768    pub fn get_drawing_object_iconic(Object: *mut Hobject, DrawID: Hlong) -> Herror;
22769}
22770unsafe extern "C" {
22771    pub fn T_clear_drawing_object(DrawID: Htuple) -> Herror;
22772}
22773unsafe extern "C" {
22774    pub fn clear_drawing_object(DrawID: Hlong) -> Herror;
22775}
22776unsafe extern "C" {
22777    pub fn T_set_drawing_object_params(
22778        DrawID: Htuple,
22779        GenParamName: Htuple,
22780        GenParamValue: Htuple,
22781    ) -> Herror;
22782}
22783unsafe extern "C" {
22784    pub fn set_drawing_object_params(
22785        DrawID: Hlong,
22786        GenParamName: *const ::std::os::raw::c_char,
22787        GenParamValue: f64,
22788    ) -> Herror;
22789}
22790unsafe extern "C" {
22791    pub fn T_get_drawing_object_params(
22792        DrawID: Htuple,
22793        GenParamName: Htuple,
22794        GenParamValue: *mut Htuple,
22795    ) -> Herror;
22796}
22797unsafe extern "C" {
22798    pub fn get_drawing_object_params(
22799        DrawID: Hlong,
22800        GenParamName: *const ::std::os::raw::c_char,
22801        GenParamValue: *mut f64,
22802    ) -> Herror;
22803}
22804unsafe extern "C" {
22805    pub fn T_set_drawing_object_xld(Contour: Hobject, DrawID: Htuple) -> Herror;
22806}
22807unsafe extern "C" {
22808    pub fn set_drawing_object_xld(Contour: Hobject, DrawID: Hlong) -> Herror;
22809}
22810unsafe extern "C" {
22811    pub fn T_create_drawing_object_xld(Row: Htuple, Column: Htuple, DrawID: *mut Htuple) -> Herror;
22812}
22813unsafe extern "C" {
22814    pub fn T_create_drawing_object_circle_sector(
22815        Row: Htuple,
22816        Column: Htuple,
22817        Radius: Htuple,
22818        StartAngle: Htuple,
22819        EndAngle: Htuple,
22820        DrawID: *mut Htuple,
22821    ) -> Herror;
22822}
22823unsafe extern "C" {
22824    pub fn create_drawing_object_circle_sector(
22825        Row: f64,
22826        Column: f64,
22827        Radius: f64,
22828        StartAngle: f64,
22829        EndAngle: f64,
22830        DrawID: *mut Hlong,
22831    ) -> Herror;
22832}
22833unsafe extern "C" {
22834    pub fn T_create_drawing_object_ellipse_sector(
22835        Row: Htuple,
22836        Column: Htuple,
22837        Phi: Htuple,
22838        Radius1: Htuple,
22839        Radius2: Htuple,
22840        StartAngle: Htuple,
22841        EndAngle: Htuple,
22842        DrawID: *mut Htuple,
22843    ) -> Herror;
22844}
22845unsafe extern "C" {
22846    pub fn create_drawing_object_ellipse_sector(
22847        Row: f64,
22848        Column: f64,
22849        Phi: f64,
22850        Radius1: f64,
22851        Radius2: f64,
22852        StartAngle: f64,
22853        EndAngle: f64,
22854        DrawID: *mut Hlong,
22855    ) -> Herror;
22856}
22857unsafe extern "C" {
22858    pub fn T_create_drawing_object_line(
22859        Row1: Htuple,
22860        Column1: Htuple,
22861        Row2: Htuple,
22862        Column2: Htuple,
22863        DrawID: *mut Htuple,
22864    ) -> Herror;
22865}
22866unsafe extern "C" {
22867    pub fn create_drawing_object_line(
22868        Row1: f64,
22869        Column1: f64,
22870        Row2: f64,
22871        Column2: f64,
22872        DrawID: *mut Hlong,
22873    ) -> Herror;
22874}
22875unsafe extern "C" {
22876    pub fn T_create_drawing_object_circle(
22877        Row: Htuple,
22878        Column: Htuple,
22879        Radius: Htuple,
22880        DrawID: *mut Htuple,
22881    ) -> Herror;
22882}
22883unsafe extern "C" {
22884    pub fn create_drawing_object_circle(
22885        Row: f64,
22886        Column: f64,
22887        Radius: f64,
22888        DrawID: *mut Hlong,
22889    ) -> Herror;
22890}
22891unsafe extern "C" {
22892    pub fn T_create_drawing_object_ellipse(
22893        Row: Htuple,
22894        Column: Htuple,
22895        Phi: Htuple,
22896        Radius1: Htuple,
22897        Radius2: Htuple,
22898        DrawID: *mut Htuple,
22899    ) -> Herror;
22900}
22901unsafe extern "C" {
22902    pub fn create_drawing_object_ellipse(
22903        Row: f64,
22904        Column: f64,
22905        Phi: f64,
22906        Radius1: f64,
22907        Radius2: f64,
22908        DrawID: *mut Hlong,
22909    ) -> Herror;
22910}
22911unsafe extern "C" {
22912    pub fn T_create_drawing_object_rectangle2(
22913        Row: Htuple,
22914        Column: Htuple,
22915        Phi: Htuple,
22916        Length1: Htuple,
22917        Length2: Htuple,
22918        DrawID: *mut Htuple,
22919    ) -> Herror;
22920}
22921unsafe extern "C" {
22922    pub fn create_drawing_object_rectangle2(
22923        Row: f64,
22924        Column: f64,
22925        Phi: f64,
22926        Length1: f64,
22927        Length2: f64,
22928        DrawID: *mut Hlong,
22929    ) -> Herror;
22930}
22931unsafe extern "C" {
22932    pub fn T_create_drawing_object_rectangle1(
22933        Row1: Htuple,
22934        Column1: Htuple,
22935        Row2: Htuple,
22936        Column2: Htuple,
22937        DrawID: *mut Htuple,
22938    ) -> Herror;
22939}
22940unsafe extern "C" {
22941    pub fn create_drawing_object_rectangle1(
22942        Row1: f64,
22943        Column1: f64,
22944        Row2: f64,
22945        Column2: f64,
22946        DrawID: *mut Hlong,
22947    ) -> Herror;
22948}
22949unsafe extern "C" {
22950    pub fn T_drag_region3(
22951        SourceRegion: Hobject,
22952        MaskRegion: Hobject,
22953        DestinationRegion: *mut Hobject,
22954        WindowHandle: Htuple,
22955        Row: Htuple,
22956        Column: Htuple,
22957    ) -> Herror;
22958}
22959unsafe extern "C" {
22960    pub fn drag_region3(
22961        SourceRegion: Hobject,
22962        MaskRegion: Hobject,
22963        DestinationRegion: *mut Hobject,
22964        WindowHandle: Hlong,
22965        Row: Hlong,
22966        Column: Hlong,
22967    ) -> Herror;
22968}
22969unsafe extern "C" {
22970    pub fn T_drag_region2(
22971        SourceRegion: Hobject,
22972        DestinationRegion: *mut Hobject,
22973        WindowHandle: Htuple,
22974        Row: Htuple,
22975        Column: Htuple,
22976    ) -> Herror;
22977}
22978unsafe extern "C" {
22979    pub fn drag_region2(
22980        SourceRegion: Hobject,
22981        DestinationRegion: *mut Hobject,
22982        WindowHandle: Hlong,
22983        Row: Hlong,
22984        Column: Hlong,
22985    ) -> Herror;
22986}
22987unsafe extern "C" {
22988    pub fn T_drag_region1(
22989        SourceRegion: Hobject,
22990        DestinationRegion: *mut Hobject,
22991        WindowHandle: Htuple,
22992    ) -> Herror;
22993}
22994unsafe extern "C" {
22995    pub fn drag_region1(
22996        SourceRegion: Hobject,
22997        DestinationRegion: *mut Hobject,
22998        WindowHandle: Hlong,
22999    ) -> Herror;
23000}
23001unsafe extern "C" {
23002    pub fn T_draw_nurbs_interp_mod(
23003        ContOut: *mut Hobject,
23004        WindowHandle: Htuple,
23005        Rotate: Htuple,
23006        Move: Htuple,
23007        Scale: Htuple,
23008        KeepRatio: Htuple,
23009        Edit: Htuple,
23010        Degree: Htuple,
23011        RowsIn: Htuple,
23012        ColsIn: Htuple,
23013        TangentsIn: Htuple,
23014        ControlRows: *mut Htuple,
23015        ControlCols: *mut Htuple,
23016        Knots: *mut Htuple,
23017        Rows: *mut Htuple,
23018        Cols: *mut Htuple,
23019        Tangents: *mut Htuple,
23020    ) -> Herror;
23021}
23022unsafe extern "C" {
23023    pub fn T_draw_nurbs_interp(
23024        ContOut: *mut Hobject,
23025        WindowHandle: Htuple,
23026        Rotate: Htuple,
23027        Move: Htuple,
23028        Scale: Htuple,
23029        KeepRatio: Htuple,
23030        Degree: Htuple,
23031        ControlRows: *mut Htuple,
23032        ControlCols: *mut Htuple,
23033        Knots: *mut Htuple,
23034        Rows: *mut Htuple,
23035        Cols: *mut Htuple,
23036        Tangents: *mut Htuple,
23037    ) -> Herror;
23038}
23039unsafe extern "C" {
23040    pub fn T_draw_nurbs_mod(
23041        ContOut: *mut Hobject,
23042        WindowHandle: Htuple,
23043        Rotate: Htuple,
23044        Move: Htuple,
23045        Scale: Htuple,
23046        KeepRatio: Htuple,
23047        Edit: Htuple,
23048        Degree: Htuple,
23049        RowsIn: Htuple,
23050        ColsIn: Htuple,
23051        WeightsIn: Htuple,
23052        Rows: *mut Htuple,
23053        Cols: *mut Htuple,
23054        Weights: *mut Htuple,
23055    ) -> Herror;
23056}
23057unsafe extern "C" {
23058    pub fn T_draw_nurbs(
23059        ContOut: *mut Hobject,
23060        WindowHandle: Htuple,
23061        Rotate: Htuple,
23062        Move: Htuple,
23063        Scale: Htuple,
23064        KeepRatio: Htuple,
23065        Degree: Htuple,
23066        Rows: *mut Htuple,
23067        Cols: *mut Htuple,
23068        Weights: *mut Htuple,
23069    ) -> Herror;
23070}
23071unsafe extern "C" {
23072    pub fn T_draw_xld_mod(
23073        ContIn: Hobject,
23074        ContOut: *mut Hobject,
23075        WindowHandle: Htuple,
23076        Rotate: Htuple,
23077        Move: Htuple,
23078        Scale: Htuple,
23079        KeepRatio: Htuple,
23080        Edit: Htuple,
23081    ) -> Herror;
23082}
23083unsafe extern "C" {
23084    pub fn draw_xld_mod(
23085        ContIn: Hobject,
23086        ContOut: *mut Hobject,
23087        WindowHandle: Hlong,
23088        Rotate: *const ::std::os::raw::c_char,
23089        Move: *const ::std::os::raw::c_char,
23090        Scale: *const ::std::os::raw::c_char,
23091        KeepRatio: *const ::std::os::raw::c_char,
23092        Edit: *const ::std::os::raw::c_char,
23093    ) -> Herror;
23094}
23095unsafe extern "C" {
23096    pub fn T_draw_xld(
23097        ContOut: *mut Hobject,
23098        WindowHandle: Htuple,
23099        Rotate: Htuple,
23100        Move: Htuple,
23101        Scale: Htuple,
23102        KeepRatio: Htuple,
23103    ) -> Herror;
23104}
23105unsafe extern "C" {
23106    pub fn draw_xld(
23107        ContOut: *mut Hobject,
23108        WindowHandle: Hlong,
23109        Rotate: *const ::std::os::raw::c_char,
23110        Move: *const ::std::os::raw::c_char,
23111        Scale: *const ::std::os::raw::c_char,
23112        KeepRatio: *const ::std::os::raw::c_char,
23113    ) -> Herror;
23114}
23115unsafe extern "C" {
23116    pub fn T_draw_rectangle2_mod(
23117        WindowHandle: Htuple,
23118        RowIn: Htuple,
23119        ColumnIn: Htuple,
23120        PhiIn: Htuple,
23121        Length1In: Htuple,
23122        Length2In: Htuple,
23123        Row: *mut Htuple,
23124        Column: *mut Htuple,
23125        Phi: *mut Htuple,
23126        Length1: *mut Htuple,
23127        Length2: *mut Htuple,
23128    ) -> Herror;
23129}
23130unsafe extern "C" {
23131    pub fn draw_rectangle2_mod(
23132        WindowHandle: Hlong,
23133        RowIn: f64,
23134        ColumnIn: f64,
23135        PhiIn: f64,
23136        Length1In: f64,
23137        Length2In: f64,
23138        Row: *mut f64,
23139        Column: *mut f64,
23140        Phi: *mut f64,
23141        Length1: *mut f64,
23142        Length2: *mut f64,
23143    ) -> Herror;
23144}
23145unsafe extern "C" {
23146    pub fn T_draw_rectangle2(
23147        WindowHandle: Htuple,
23148        Row: *mut Htuple,
23149        Column: *mut Htuple,
23150        Phi: *mut Htuple,
23151        Length1: *mut Htuple,
23152        Length2: *mut Htuple,
23153    ) -> Herror;
23154}
23155unsafe extern "C" {
23156    pub fn draw_rectangle2(
23157        WindowHandle: Hlong,
23158        Row: *mut f64,
23159        Column: *mut f64,
23160        Phi: *mut f64,
23161        Length1: *mut f64,
23162        Length2: *mut f64,
23163    ) -> Herror;
23164}
23165unsafe extern "C" {
23166    pub fn T_draw_rectangle1_mod(
23167        WindowHandle: Htuple,
23168        Row1In: Htuple,
23169        Column1In: Htuple,
23170        Row2In: Htuple,
23171        Column2In: Htuple,
23172        Row1: *mut Htuple,
23173        Column1: *mut Htuple,
23174        Row2: *mut Htuple,
23175        Column2: *mut Htuple,
23176    ) -> Herror;
23177}
23178unsafe extern "C" {
23179    pub fn draw_rectangle1_mod(
23180        WindowHandle: Hlong,
23181        Row1In: f64,
23182        Column1In: f64,
23183        Row2In: f64,
23184        Column2In: f64,
23185        Row1: *mut f64,
23186        Column1: *mut f64,
23187        Row2: *mut f64,
23188        Column2: *mut f64,
23189    ) -> Herror;
23190}
23191unsafe extern "C" {
23192    pub fn T_draw_rectangle1(
23193        WindowHandle: Htuple,
23194        Row1: *mut Htuple,
23195        Column1: *mut Htuple,
23196        Row2: *mut Htuple,
23197        Column2: *mut Htuple,
23198    ) -> Herror;
23199}
23200unsafe extern "C" {
23201    pub fn draw_rectangle1(
23202        WindowHandle: Hlong,
23203        Row1: *mut f64,
23204        Column1: *mut f64,
23205        Row2: *mut f64,
23206        Column2: *mut f64,
23207    ) -> Herror;
23208}
23209unsafe extern "C" {
23210    pub fn T_draw_point_mod(
23211        WindowHandle: Htuple,
23212        RowIn: Htuple,
23213        ColumnIn: Htuple,
23214        Row: *mut Htuple,
23215        Column: *mut Htuple,
23216    ) -> Herror;
23217}
23218unsafe extern "C" {
23219    pub fn draw_point_mod(
23220        WindowHandle: Hlong,
23221        RowIn: f64,
23222        ColumnIn: f64,
23223        Row: *mut f64,
23224        Column: *mut f64,
23225    ) -> Herror;
23226}
23227unsafe extern "C" {
23228    pub fn T_draw_point(WindowHandle: Htuple, Row: *mut Htuple, Column: *mut Htuple) -> Herror;
23229}
23230unsafe extern "C" {
23231    pub fn draw_point(WindowHandle: Hlong, Row: *mut f64, Column: *mut f64) -> Herror;
23232}
23233unsafe extern "C" {
23234    pub fn T_draw_line_mod(
23235        WindowHandle: Htuple,
23236        Row1In: Htuple,
23237        Column1In: Htuple,
23238        Row2In: Htuple,
23239        Column2In: Htuple,
23240        Row1: *mut Htuple,
23241        Column1: *mut Htuple,
23242        Row2: *mut Htuple,
23243        Column2: *mut Htuple,
23244    ) -> Herror;
23245}
23246unsafe extern "C" {
23247    pub fn draw_line_mod(
23248        WindowHandle: Hlong,
23249        Row1In: f64,
23250        Column1In: f64,
23251        Row2In: f64,
23252        Column2In: f64,
23253        Row1: *mut f64,
23254        Column1: *mut f64,
23255        Row2: *mut f64,
23256        Column2: *mut f64,
23257    ) -> Herror;
23258}
23259unsafe extern "C" {
23260    pub fn T_draw_line(
23261        WindowHandle: Htuple,
23262        Row1: *mut Htuple,
23263        Column1: *mut Htuple,
23264        Row2: *mut Htuple,
23265        Column2: *mut Htuple,
23266    ) -> Herror;
23267}
23268unsafe extern "C" {
23269    pub fn draw_line(
23270        WindowHandle: Hlong,
23271        Row1: *mut f64,
23272        Column1: *mut f64,
23273        Row2: *mut f64,
23274        Column2: *mut f64,
23275    ) -> Herror;
23276}
23277unsafe extern "C" {
23278    pub fn T_draw_ellipse_mod(
23279        WindowHandle: Htuple,
23280        RowIn: Htuple,
23281        ColumnIn: Htuple,
23282        PhiIn: Htuple,
23283        Radius1In: Htuple,
23284        Radius2In: Htuple,
23285        Row: *mut Htuple,
23286        Column: *mut Htuple,
23287        Phi: *mut Htuple,
23288        Radius1: *mut Htuple,
23289        Radius2: *mut Htuple,
23290    ) -> Herror;
23291}
23292unsafe extern "C" {
23293    pub fn draw_ellipse_mod(
23294        WindowHandle: Hlong,
23295        RowIn: f64,
23296        ColumnIn: f64,
23297        PhiIn: f64,
23298        Radius1In: f64,
23299        Radius2In: f64,
23300        Row: *mut f64,
23301        Column: *mut f64,
23302        Phi: *mut f64,
23303        Radius1: *mut f64,
23304        Radius2: *mut f64,
23305    ) -> Herror;
23306}
23307unsafe extern "C" {
23308    pub fn T_draw_ellipse(
23309        WindowHandle: Htuple,
23310        Row: *mut Htuple,
23311        Column: *mut Htuple,
23312        Phi: *mut Htuple,
23313        Radius1: *mut Htuple,
23314        Radius2: *mut Htuple,
23315    ) -> Herror;
23316}
23317unsafe extern "C" {
23318    pub fn draw_ellipse(
23319        WindowHandle: Hlong,
23320        Row: *mut f64,
23321        Column: *mut f64,
23322        Phi: *mut f64,
23323        Radius1: *mut f64,
23324        Radius2: *mut f64,
23325    ) -> Herror;
23326}
23327unsafe extern "C" {
23328    pub fn T_draw_circle_mod(
23329        WindowHandle: Htuple,
23330        RowIn: Htuple,
23331        ColumnIn: Htuple,
23332        RadiusIn: Htuple,
23333        Row: *mut Htuple,
23334        Column: *mut Htuple,
23335        Radius: *mut Htuple,
23336    ) -> Herror;
23337}
23338unsafe extern "C" {
23339    pub fn draw_circle_mod(
23340        WindowHandle: Hlong,
23341        RowIn: f64,
23342        ColumnIn: f64,
23343        RadiusIn: f64,
23344        Row: *mut f64,
23345        Column: *mut f64,
23346        Radius: *mut f64,
23347    ) -> Herror;
23348}
23349unsafe extern "C" {
23350    pub fn T_draw_circle(
23351        WindowHandle: Htuple,
23352        Row: *mut Htuple,
23353        Column: *mut Htuple,
23354        Radius: *mut Htuple,
23355    ) -> Herror;
23356}
23357unsafe extern "C" {
23358    pub fn draw_circle(
23359        WindowHandle: Hlong,
23360        Row: *mut f64,
23361        Column: *mut f64,
23362        Radius: *mut f64,
23363    ) -> Herror;
23364}
23365unsafe extern "C" {
23366    pub fn T_draw_region(Region: *mut Hobject, WindowHandle: Htuple) -> Herror;
23367}
23368unsafe extern "C" {
23369    pub fn draw_region(Region: *mut Hobject, WindowHandle: Hlong) -> Herror;
23370}
23371unsafe extern "C" {
23372    pub fn T_draw_polygon(PolygonRegion: *mut Hobject, WindowHandle: Htuple) -> Herror;
23373}
23374unsafe extern "C" {
23375    pub fn draw_polygon(PolygonRegion: *mut Hobject, WindowHandle: Hlong) -> Herror;
23376}
23377unsafe extern "C" {
23378    pub fn T_projection_pl(
23379        Row: Htuple,
23380        Column: Htuple,
23381        Row1: Htuple,
23382        Column1: Htuple,
23383        Row2: Htuple,
23384        Column2: Htuple,
23385        RowProj: *mut Htuple,
23386        ColProj: *mut Htuple,
23387    ) -> Herror;
23388}
23389unsafe extern "C" {
23390    pub fn projection_pl(
23391        Row: f64,
23392        Column: f64,
23393        Row1: f64,
23394        Column1: f64,
23395        Row2: f64,
23396        Column2: f64,
23397        RowProj: *mut f64,
23398        ColProj: *mut f64,
23399    ) -> Herror;
23400}
23401unsafe extern "C" {
23402    pub fn T_get_points_ellipse(
23403        Angle: Htuple,
23404        Row: Htuple,
23405        Column: Htuple,
23406        Phi: Htuple,
23407        Radius1: Htuple,
23408        Radius2: Htuple,
23409        RowPoint: *mut Htuple,
23410        ColPoint: *mut Htuple,
23411    ) -> Herror;
23412}
23413unsafe extern "C" {
23414    pub fn get_points_ellipse(
23415        Angle: f64,
23416        Row: f64,
23417        Column: f64,
23418        Phi: f64,
23419        Radius1: f64,
23420        Radius2: f64,
23421        RowPoint: *mut f64,
23422        ColPoint: *mut f64,
23423    ) -> Herror;
23424}
23425unsafe extern "C" {
23426    pub fn T_intersection_ll(
23427        RowA1: Htuple,
23428        ColumnA1: Htuple,
23429        RowA2: Htuple,
23430        ColumnA2: Htuple,
23431        RowB1: Htuple,
23432        ColumnB1: Htuple,
23433        RowB2: Htuple,
23434        ColumnB2: Htuple,
23435        Row: *mut Htuple,
23436        Column: *mut Htuple,
23437        IsParallel: *mut Htuple,
23438    ) -> Herror;
23439}
23440unsafe extern "C" {
23441    pub fn intersection_ll(
23442        RowA1: f64,
23443        ColumnA1: f64,
23444        RowA2: f64,
23445        ColumnA2: f64,
23446        RowB1: f64,
23447        ColumnB1: f64,
23448        RowB2: f64,
23449        ColumnB2: f64,
23450        Row: *mut f64,
23451        Column: *mut f64,
23452        IsParallel: *mut Hlong,
23453    ) -> Herror;
23454}
23455unsafe extern "C" {
23456    pub fn T_intersection_contours_xld(
23457        Contour1: Hobject,
23458        Contour2: Hobject,
23459        IntersectionType: Htuple,
23460        Row: *mut Htuple,
23461        Column: *mut Htuple,
23462        IsOverlapping: *mut Htuple,
23463    ) -> Herror;
23464}
23465unsafe extern "C" {
23466    pub fn intersection_contours_xld(
23467        Contour1: Hobject,
23468        Contour2: Hobject,
23469        IntersectionType: *const ::std::os::raw::c_char,
23470        Row: *mut f64,
23471        Column: *mut f64,
23472        IsOverlapping: *mut Hlong,
23473    ) -> Herror;
23474}
23475unsafe extern "C" {
23476    pub fn T_intersection_circle_contour_xld(
23477        Contour: Hobject,
23478        CircleRow: Htuple,
23479        CircleColumn: Htuple,
23480        CircleRadius: Htuple,
23481        CircleStartPhi: Htuple,
23482        CircleEndPhi: Htuple,
23483        CirclePointOrder: Htuple,
23484        Row: *mut Htuple,
23485        Column: *mut Htuple,
23486    ) -> Herror;
23487}
23488unsafe extern "C" {
23489    pub fn intersection_circle_contour_xld(
23490        Contour: Hobject,
23491        CircleRow: f64,
23492        CircleColumn: f64,
23493        CircleRadius: f64,
23494        CircleStartPhi: f64,
23495        CircleEndPhi: f64,
23496        CirclePointOrder: *const ::std::os::raw::c_char,
23497        Row: *mut f64,
23498        Column: *mut f64,
23499    ) -> Herror;
23500}
23501unsafe extern "C" {
23502    pub fn T_intersection_circles(
23503        Circle1Row: Htuple,
23504        Circle1Column: Htuple,
23505        Circle1Radius: Htuple,
23506        Circle1StartPhi: Htuple,
23507        Circle1EndPhi: Htuple,
23508        Circle1PointOrder: Htuple,
23509        Circle2Row: Htuple,
23510        Circle2Column: Htuple,
23511        Circle2Radius: Htuple,
23512        Circle2StartPhi: Htuple,
23513        Circle2EndPhi: Htuple,
23514        Circle2PointOrder: Htuple,
23515        Row: *mut Htuple,
23516        Column: *mut Htuple,
23517        IsOverlapping: *mut Htuple,
23518    ) -> Herror;
23519}
23520unsafe extern "C" {
23521    pub fn intersection_circles(
23522        Circle1Row: f64,
23523        Circle1Column: f64,
23524        Circle1Radius: f64,
23525        Circle1StartPhi: f64,
23526        Circle1EndPhi: f64,
23527        Circle1PointOrder: *const ::std::os::raw::c_char,
23528        Circle2Row: f64,
23529        Circle2Column: f64,
23530        Circle2Radius: f64,
23531        Circle2StartPhi: f64,
23532        Circle2EndPhi: f64,
23533        Circle2PointOrder: *const ::std::os::raw::c_char,
23534        Row: *mut f64,
23535        Column: *mut f64,
23536        IsOverlapping: *mut Hlong,
23537    ) -> Herror;
23538}
23539unsafe extern "C" {
23540    pub fn T_intersection_line_contour_xld(
23541        Contour: Hobject,
23542        LineRow1: Htuple,
23543        LineColumn1: Htuple,
23544        LineRow2: Htuple,
23545        LineColumn2: Htuple,
23546        Row: *mut Htuple,
23547        Column: *mut Htuple,
23548        IsOverlapping: *mut Htuple,
23549    ) -> Herror;
23550}
23551unsafe extern "C" {
23552    pub fn intersection_line_contour_xld(
23553        Contour: Hobject,
23554        LineRow1: f64,
23555        LineColumn1: f64,
23556        LineRow2: f64,
23557        LineColumn2: f64,
23558        Row: *mut f64,
23559        Column: *mut f64,
23560        IsOverlapping: *mut Hlong,
23561    ) -> Herror;
23562}
23563unsafe extern "C" {
23564    pub fn T_intersection_line_circle(
23565        LineRow1: Htuple,
23566        LineColumn1: Htuple,
23567        LineRow2: Htuple,
23568        LineColumn2: Htuple,
23569        CircleRow: Htuple,
23570        CircleColumn: Htuple,
23571        CircleRadius: Htuple,
23572        CircleStartPhi: Htuple,
23573        CircleEndPhi: Htuple,
23574        CirclePointOrder: Htuple,
23575        Row: *mut Htuple,
23576        Column: *mut Htuple,
23577    ) -> Herror;
23578}
23579unsafe extern "C" {
23580    pub fn intersection_line_circle(
23581        LineRow1: f64,
23582        LineColumn1: f64,
23583        LineRow2: f64,
23584        LineColumn2: f64,
23585        CircleRow: f64,
23586        CircleColumn: f64,
23587        CircleRadius: f64,
23588        CircleStartPhi: f64,
23589        CircleEndPhi: f64,
23590        CirclePointOrder: *const ::std::os::raw::c_char,
23591        Row: *mut f64,
23592        Column: *mut f64,
23593    ) -> Herror;
23594}
23595unsafe extern "C" {
23596    pub fn T_intersection_lines(
23597        Line1Row1: Htuple,
23598        Line1Column1: Htuple,
23599        Line1Row2: Htuple,
23600        Line1Column2: Htuple,
23601        Line2Row1: Htuple,
23602        Line2Column1: Htuple,
23603        Line2Row2: Htuple,
23604        Line2Column2: Htuple,
23605        Row: *mut Htuple,
23606        Column: *mut Htuple,
23607        IsOverlapping: *mut Htuple,
23608    ) -> Herror;
23609}
23610unsafe extern "C" {
23611    pub fn intersection_lines(
23612        Line1Row1: f64,
23613        Line1Column1: f64,
23614        Line1Row2: f64,
23615        Line1Column2: f64,
23616        Line2Row1: f64,
23617        Line2Column1: f64,
23618        Line2Row2: f64,
23619        Line2Column2: f64,
23620        Row: *mut f64,
23621        Column: *mut f64,
23622        IsOverlapping: *mut Hlong,
23623    ) -> Herror;
23624}
23625unsafe extern "C" {
23626    pub fn T_intersection_segment_contour_xld(
23627        Contour: Hobject,
23628        SegmentRow1: Htuple,
23629        SegmentColumn1: Htuple,
23630        SegmentRow2: Htuple,
23631        SegmentColumn2: Htuple,
23632        Row: *mut Htuple,
23633        Column: *mut Htuple,
23634        IsOverlapping: *mut Htuple,
23635    ) -> Herror;
23636}
23637unsafe extern "C" {
23638    pub fn intersection_segment_contour_xld(
23639        Contour: Hobject,
23640        SegmentRow1: f64,
23641        SegmentColumn1: f64,
23642        SegmentRow2: f64,
23643        SegmentColumn2: f64,
23644        Row: *mut f64,
23645        Column: *mut f64,
23646        IsOverlapping: *mut Hlong,
23647    ) -> Herror;
23648}
23649unsafe extern "C" {
23650    pub fn T_intersection_segment_circle(
23651        SegmentRow1: Htuple,
23652        SegmentColumn1: Htuple,
23653        SegmentRow2: Htuple,
23654        SegmentColumn2: Htuple,
23655        CircleRow: Htuple,
23656        CircleColumn: Htuple,
23657        CircleRadius: Htuple,
23658        CircleStartPhi: Htuple,
23659        CircleEndPhi: Htuple,
23660        CirclePointOrder: Htuple,
23661        Row: *mut Htuple,
23662        Column: *mut Htuple,
23663    ) -> Herror;
23664}
23665unsafe extern "C" {
23666    pub fn intersection_segment_circle(
23667        SegmentRow1: f64,
23668        SegmentColumn1: f64,
23669        SegmentRow2: f64,
23670        SegmentColumn2: f64,
23671        CircleRow: f64,
23672        CircleColumn: f64,
23673        CircleRadius: f64,
23674        CircleStartPhi: f64,
23675        CircleEndPhi: f64,
23676        CirclePointOrder: *const ::std::os::raw::c_char,
23677        Row: *mut f64,
23678        Column: *mut f64,
23679    ) -> Herror;
23680}
23681unsafe extern "C" {
23682    pub fn T_intersection_segment_line(
23683        SegmentRow1: Htuple,
23684        SegmentColumn1: Htuple,
23685        SegmentRow2: Htuple,
23686        SegmentColumn2: Htuple,
23687        LineRow1: Htuple,
23688        LineColumn1: Htuple,
23689        LineRow2: Htuple,
23690        LineColumn2: Htuple,
23691        Row: *mut Htuple,
23692        Column: *mut Htuple,
23693        IsOverlapping: *mut Htuple,
23694    ) -> Herror;
23695}
23696unsafe extern "C" {
23697    pub fn intersection_segment_line(
23698        SegmentRow1: f64,
23699        SegmentColumn1: f64,
23700        SegmentRow2: f64,
23701        SegmentColumn2: f64,
23702        LineRow1: f64,
23703        LineColumn1: f64,
23704        LineRow2: f64,
23705        LineColumn2: f64,
23706        Row: *mut f64,
23707        Column: *mut f64,
23708        IsOverlapping: *mut Hlong,
23709    ) -> Herror;
23710}
23711unsafe extern "C" {
23712    pub fn T_intersection_segments(
23713        Segment1Row1: Htuple,
23714        Segment1Column1: Htuple,
23715        Segment1Row2: Htuple,
23716        Segment1Column2: Htuple,
23717        Segment2Row1: Htuple,
23718        Segment2Column1: Htuple,
23719        Segment2Row2: Htuple,
23720        Segment2Column2: Htuple,
23721        Row: *mut Htuple,
23722        Column: *mut Htuple,
23723        IsOverlapping: *mut Htuple,
23724    ) -> Herror;
23725}
23726unsafe extern "C" {
23727    pub fn intersection_segments(
23728        Segment1Row1: f64,
23729        Segment1Column1: f64,
23730        Segment1Row2: f64,
23731        Segment1Column2: f64,
23732        Segment2Row1: f64,
23733        Segment2Column1: f64,
23734        Segment2Row2: f64,
23735        Segment2Column2: f64,
23736        Row: *mut f64,
23737        Column: *mut f64,
23738        IsOverlapping: *mut Hlong,
23739    ) -> Herror;
23740}
23741unsafe extern "C" {
23742    pub fn T_clear_distance_transform_xld(DistanceTransformID: Htuple) -> Herror;
23743}
23744unsafe extern "C" {
23745    pub fn clear_distance_transform_xld(DistanceTransformID: Hlong) -> Herror;
23746}
23747unsafe extern "C" {
23748    pub fn T_apply_distance_transform_xld(
23749        Contour: Hobject,
23750        ContourOut: *mut Hobject,
23751        DistanceTransformID: Htuple,
23752    ) -> Herror;
23753}
23754unsafe extern "C" {
23755    pub fn apply_distance_transform_xld(
23756        Contour: Hobject,
23757        ContourOut: *mut Hobject,
23758        DistanceTransformID: Hlong,
23759    ) -> Herror;
23760}
23761unsafe extern "C" {
23762    pub fn T_read_distance_transform_xld(
23763        FileName: Htuple,
23764        DistanceTransformID: *mut Htuple,
23765    ) -> Herror;
23766}
23767unsafe extern "C" {
23768    pub fn read_distance_transform_xld(
23769        FileName: *const ::std::os::raw::c_char,
23770        DistanceTransformID: *mut Hlong,
23771    ) -> Herror;
23772}
23773unsafe extern "C" {
23774    pub fn T_deserialize_distance_transform_xld(
23775        SerializedItemHandle: Htuple,
23776        DistanceTransformID: *mut Htuple,
23777    ) -> Herror;
23778}
23779unsafe extern "C" {
23780    pub fn deserialize_distance_transform_xld(
23781        SerializedItemHandle: Hlong,
23782        DistanceTransformID: *mut Hlong,
23783    ) -> Herror;
23784}
23785unsafe extern "C" {
23786    pub fn T_serialize_distance_transform_xld(
23787        DistanceTransformID: Htuple,
23788        SerializedItemHandle: *mut Htuple,
23789    ) -> Herror;
23790}
23791unsafe extern "C" {
23792    pub fn serialize_distance_transform_xld(
23793        DistanceTransformID: Hlong,
23794        SerializedItemHandle: *mut Hlong,
23795    ) -> Herror;
23796}
23797unsafe extern "C" {
23798    pub fn T_write_distance_transform_xld(DistanceTransformID: Htuple, FileName: Htuple) -> Herror;
23799}
23800unsafe extern "C" {
23801    pub fn write_distance_transform_xld(
23802        DistanceTransformID: Hlong,
23803        FileName: *const ::std::os::raw::c_char,
23804    ) -> Herror;
23805}
23806unsafe extern "C" {
23807    pub fn T_set_distance_transform_xld_param(
23808        DistanceTransformID: Htuple,
23809        GenParamName: Htuple,
23810        GenParamValue: Htuple,
23811    ) -> Herror;
23812}
23813unsafe extern "C" {
23814    pub fn set_distance_transform_xld_param(
23815        DistanceTransformID: Hlong,
23816        GenParamName: *const ::std::os::raw::c_char,
23817        GenParamValue: *const ::std::os::raw::c_char,
23818    ) -> Herror;
23819}
23820unsafe extern "C" {
23821    pub fn T_get_distance_transform_xld_param(
23822        DistanceTransformID: Htuple,
23823        GenParamName: Htuple,
23824        GenParamValue: *mut Htuple,
23825    ) -> Herror;
23826}
23827unsafe extern "C" {
23828    pub fn get_distance_transform_xld_param(
23829        DistanceTransformID: Hlong,
23830        GenParamName: *const ::std::os::raw::c_char,
23831        GenParamValue: *mut ::std::os::raw::c_char,
23832    ) -> Herror;
23833}
23834unsafe extern "C" {
23835    pub fn T_get_distance_transform_xld_contour(
23836        Contour: *mut Hobject,
23837        DistanceTransformID: Htuple,
23838    ) -> Herror;
23839}
23840unsafe extern "C" {
23841    pub fn get_distance_transform_xld_contour(
23842        Contour: *mut Hobject,
23843        DistanceTransformID: Hlong,
23844    ) -> Herror;
23845}
23846unsafe extern "C" {
23847    pub fn T_create_distance_transform_xld(
23848        Contour: Hobject,
23849        Mode: Htuple,
23850        MaxDistance: Htuple,
23851        DistanceTransformID: *mut Htuple,
23852    ) -> Herror;
23853}
23854unsafe extern "C" {
23855    pub fn create_distance_transform_xld(
23856        Contour: Hobject,
23857        Mode: *const ::std::os::raw::c_char,
23858        MaxDistance: f64,
23859        DistanceTransformID: *mut Hlong,
23860    ) -> Herror;
23861}
23862unsafe extern "C" {
23863    pub fn T_distance_contours_xld(
23864        ContourFrom: Hobject,
23865        ContourTo: Hobject,
23866        ContourOut: *mut Hobject,
23867        Mode: Htuple,
23868    ) -> Herror;
23869}
23870unsafe extern "C" {
23871    pub fn distance_contours_xld(
23872        ContourFrom: Hobject,
23873        ContourTo: Hobject,
23874        ContourOut: *mut Hobject,
23875        Mode: *const ::std::os::raw::c_char,
23876    ) -> Herror;
23877}
23878unsafe extern "C" {
23879    pub fn T_distance_cc_min(
23880        Contour1: Hobject,
23881        Contour2: Hobject,
23882        Mode: Htuple,
23883        DistanceMin: *mut Htuple,
23884    ) -> Herror;
23885}
23886unsafe extern "C" {
23887    pub fn distance_cc_min(
23888        Contour1: Hobject,
23889        Contour2: Hobject,
23890        Mode: *const ::std::os::raw::c_char,
23891        DistanceMin: *mut f64,
23892    ) -> Herror;
23893}
23894unsafe extern "C" {
23895    pub fn T_distance_cc(
23896        Contour1: Hobject,
23897        Contour2: Hobject,
23898        Mode: Htuple,
23899        DistanceMin: *mut Htuple,
23900        DistanceMax: *mut Htuple,
23901    ) -> Herror;
23902}
23903unsafe extern "C" {
23904    pub fn distance_cc(
23905        Contour1: Hobject,
23906        Contour2: Hobject,
23907        Mode: *const ::std::os::raw::c_char,
23908        DistanceMin: *mut f64,
23909        DistanceMax: *mut f64,
23910    ) -> Herror;
23911}
23912unsafe extern "C" {
23913    pub fn T_distance_sc(
23914        Contour: Hobject,
23915        Row1: Htuple,
23916        Column1: Htuple,
23917        Row2: Htuple,
23918        Column2: Htuple,
23919        DistanceMin: *mut Htuple,
23920        DistanceMax: *mut Htuple,
23921    ) -> Herror;
23922}
23923unsafe extern "C" {
23924    pub fn distance_sc(
23925        Contour: Hobject,
23926        Row1: f64,
23927        Column1: f64,
23928        Row2: f64,
23929        Column2: f64,
23930        DistanceMin: *mut f64,
23931        DistanceMax: *mut f64,
23932    ) -> Herror;
23933}
23934unsafe extern "C" {
23935    pub fn T_distance_lc(
23936        Contour: Hobject,
23937        Row1: Htuple,
23938        Column1: Htuple,
23939        Row2: Htuple,
23940        Column2: Htuple,
23941        DistanceMin: *mut Htuple,
23942        DistanceMax: *mut Htuple,
23943    ) -> Herror;
23944}
23945unsafe extern "C" {
23946    pub fn distance_lc(
23947        Contour: Hobject,
23948        Row1: f64,
23949        Column1: f64,
23950        Row2: f64,
23951        Column2: f64,
23952        DistanceMin: *mut f64,
23953        DistanceMax: *mut f64,
23954    ) -> Herror;
23955}
23956unsafe extern "C" {
23957    pub fn T_distance_pc(
23958        Contour: Hobject,
23959        Row: Htuple,
23960        Column: Htuple,
23961        DistanceMin: *mut Htuple,
23962        DistanceMax: *mut Htuple,
23963    ) -> Herror;
23964}
23965unsafe extern "C" {
23966    pub fn distance_pc(
23967        Contour: Hobject,
23968        Row: f64,
23969        Column: f64,
23970        DistanceMin: *mut f64,
23971        DistanceMax: *mut f64,
23972    ) -> Herror;
23973}
23974unsafe extern "C" {
23975    pub fn T_distance_sr(
23976        Region: Hobject,
23977        Row1: Htuple,
23978        Column1: Htuple,
23979        Row2: Htuple,
23980        Column2: Htuple,
23981        DistanceMin: *mut Htuple,
23982        DistanceMax: *mut Htuple,
23983    ) -> Herror;
23984}
23985unsafe extern "C" {
23986    pub fn distance_sr(
23987        Region: Hobject,
23988        Row1: f64,
23989        Column1: f64,
23990        Row2: f64,
23991        Column2: f64,
23992        DistanceMin: *mut f64,
23993        DistanceMax: *mut f64,
23994    ) -> Herror;
23995}
23996unsafe extern "C" {
23997    pub fn T_distance_lr(
23998        Region: Hobject,
23999        Row1: Htuple,
24000        Column1: Htuple,
24001        Row2: Htuple,
24002        Column2: Htuple,
24003        DistanceMin: *mut Htuple,
24004        DistanceMax: *mut Htuple,
24005    ) -> Herror;
24006}
24007unsafe extern "C" {
24008    pub fn distance_lr(
24009        Region: Hobject,
24010        Row1: f64,
24011        Column1: f64,
24012        Row2: f64,
24013        Column2: f64,
24014        DistanceMin: *mut f64,
24015        DistanceMax: *mut f64,
24016    ) -> Herror;
24017}
24018unsafe extern "C" {
24019    pub fn T_distance_pr(
24020        Region: Hobject,
24021        Row: Htuple,
24022        Column: Htuple,
24023        DistanceMin: *mut Htuple,
24024        DistanceMax: *mut Htuple,
24025    ) -> Herror;
24026}
24027unsafe extern "C" {
24028    pub fn distance_pr(
24029        Region: Hobject,
24030        Row: f64,
24031        Column: f64,
24032        DistanceMin: *mut f64,
24033        DistanceMax: *mut f64,
24034    ) -> Herror;
24035}
24036unsafe extern "C" {
24037    pub fn T_angle_lx(
24038        Row1: Htuple,
24039        Column1: Htuple,
24040        Row2: Htuple,
24041        Column2: Htuple,
24042        Angle: *mut Htuple,
24043    ) -> Herror;
24044}
24045unsafe extern "C" {
24046    pub fn angle_lx(Row1: f64, Column1: f64, Row2: f64, Column2: f64, Angle: *mut f64) -> Herror;
24047}
24048unsafe extern "C" {
24049    pub fn T_angle_ll(
24050        RowA1: Htuple,
24051        ColumnA1: Htuple,
24052        RowA2: Htuple,
24053        ColumnA2: Htuple,
24054        RowB1: Htuple,
24055        ColumnB1: Htuple,
24056        RowB2: Htuple,
24057        ColumnB2: Htuple,
24058        Angle: *mut Htuple,
24059    ) -> Herror;
24060}
24061unsafe extern "C" {
24062    pub fn angle_ll(
24063        RowA1: f64,
24064        ColumnA1: f64,
24065        RowA2: f64,
24066        ColumnA2: f64,
24067        RowB1: f64,
24068        ColumnB1: f64,
24069        RowB2: f64,
24070        ColumnB2: f64,
24071        Angle: *mut f64,
24072    ) -> Herror;
24073}
24074unsafe extern "C" {
24075    pub fn T_distance_sl(
24076        RowA1: Htuple,
24077        ColumnA1: Htuple,
24078        RowA2: Htuple,
24079        ColumnA2: Htuple,
24080        RowB1: Htuple,
24081        ColumnB1: Htuple,
24082        RowB2: Htuple,
24083        ColumnB2: Htuple,
24084        DistanceMin: *mut Htuple,
24085        DistanceMax: *mut Htuple,
24086    ) -> Herror;
24087}
24088unsafe extern "C" {
24089    pub fn distance_sl(
24090        RowA1: f64,
24091        ColumnA1: f64,
24092        RowA2: f64,
24093        ColumnA2: f64,
24094        RowB1: f64,
24095        ColumnB1: f64,
24096        RowB2: f64,
24097        ColumnB2: f64,
24098        DistanceMin: *mut f64,
24099        DistanceMax: *mut f64,
24100    ) -> Herror;
24101}
24102unsafe extern "C" {
24103    pub fn T_distance_ss(
24104        RowA1: Htuple,
24105        ColumnA1: Htuple,
24106        RowA2: Htuple,
24107        ColumnA2: Htuple,
24108        RowB1: Htuple,
24109        ColumnB1: Htuple,
24110        RowB2: Htuple,
24111        ColumnB2: Htuple,
24112        DistanceMin: *mut Htuple,
24113        DistanceMax: *mut Htuple,
24114    ) -> Herror;
24115}
24116unsafe extern "C" {
24117    pub fn distance_ss(
24118        RowA1: f64,
24119        ColumnA1: f64,
24120        RowA2: f64,
24121        ColumnA2: f64,
24122        RowB1: f64,
24123        ColumnB1: f64,
24124        RowB2: f64,
24125        ColumnB2: f64,
24126        DistanceMin: *mut f64,
24127        DistanceMax: *mut f64,
24128    ) -> Herror;
24129}
24130unsafe extern "C" {
24131    pub fn T_distance_ps(
24132        Row: Htuple,
24133        Column: Htuple,
24134        Row1: Htuple,
24135        Column1: Htuple,
24136        Row2: Htuple,
24137        Column2: Htuple,
24138        DistanceMin: *mut Htuple,
24139        DistanceMax: *mut Htuple,
24140    ) -> Herror;
24141}
24142unsafe extern "C" {
24143    pub fn distance_ps(
24144        Row: f64,
24145        Column: f64,
24146        Row1: f64,
24147        Column1: f64,
24148        Row2: f64,
24149        Column2: f64,
24150        DistanceMin: *mut f64,
24151        DistanceMax: *mut f64,
24152    ) -> Herror;
24153}
24154unsafe extern "C" {
24155    pub fn T_distance_pl(
24156        Row: Htuple,
24157        Column: Htuple,
24158        Row1: Htuple,
24159        Column1: Htuple,
24160        Row2: Htuple,
24161        Column2: Htuple,
24162        Distance: *mut Htuple,
24163    ) -> Herror;
24164}
24165unsafe extern "C" {
24166    pub fn distance_pl(
24167        Row: f64,
24168        Column: f64,
24169        Row1: f64,
24170        Column1: f64,
24171        Row2: f64,
24172        Column2: f64,
24173        Distance: *mut f64,
24174    ) -> Herror;
24175}
24176unsafe extern "C" {
24177    pub fn T_distance_pp(
24178        Row1: Htuple,
24179        Column1: Htuple,
24180        Row2: Htuple,
24181        Column2: Htuple,
24182        Distance: *mut Htuple,
24183    ) -> Herror;
24184}
24185unsafe extern "C" {
24186    pub fn distance_pp(
24187        Row1: f64,
24188        Column1: f64,
24189        Row2: f64,
24190        Column2: f64,
24191        Distance: *mut f64,
24192    ) -> Herror;
24193}
24194unsafe extern "C" {
24195    pub fn T_compose_funct_1d(
24196        Function1: Htuple,
24197        Function2: Htuple,
24198        Border: Htuple,
24199        ComposedFunction: *mut Htuple,
24200    ) -> Herror;
24201}
24202unsafe extern "C" {
24203    pub fn T_invert_funct_1d(Function: Htuple, InverseFunction: *mut Htuple) -> Herror;
24204}
24205unsafe extern "C" {
24206    pub fn T_derivate_funct_1d(Function: Htuple, Mode: Htuple, Derivative: *mut Htuple) -> Herror;
24207}
24208unsafe extern "C" {
24209    pub fn T_local_min_max_funct_1d(
24210        Function: Htuple,
24211        Mode: Htuple,
24212        Interpolation: Htuple,
24213        Min: *mut Htuple,
24214        Max: *mut Htuple,
24215    ) -> Herror;
24216}
24217unsafe extern "C" {
24218    pub fn T_zero_crossings_funct_1d(Function: Htuple, ZeroCrossings: *mut Htuple) -> Herror;
24219}
24220unsafe extern "C" {
24221    pub fn T_scale_y_funct_1d(
24222        Function: Htuple,
24223        Mult: Htuple,
24224        Add: Htuple,
24225        FunctionScaled: *mut Htuple,
24226    ) -> Herror;
24227}
24228unsafe extern "C" {
24229    pub fn T_negate_funct_1d(Function: Htuple, FunctionInverted: *mut Htuple) -> Herror;
24230}
24231unsafe extern "C" {
24232    pub fn T_abs_funct_1d(Function: Htuple, FunctionAbsolute: *mut Htuple) -> Herror;
24233}
24234unsafe extern "C" {
24235    pub fn T_get_y_value_funct_1d(
24236        Function: Htuple,
24237        X: Htuple,
24238        Border: Htuple,
24239        Y: *mut Htuple,
24240    ) -> Herror;
24241}
24242unsafe extern "C" {
24243    pub fn T_get_pair_funct_1d(
24244        Function: Htuple,
24245        Index: Htuple,
24246        X: *mut Htuple,
24247        Y: *mut Htuple,
24248    ) -> Herror;
24249}
24250unsafe extern "C" {
24251    pub fn T_num_points_funct_1d(Function: Htuple, Length: *mut Htuple) -> Herror;
24252}
24253unsafe extern "C" {
24254    pub fn T_y_range_funct_1d(Function: Htuple, YMin: *mut Htuple, YMax: *mut Htuple) -> Herror;
24255}
24256unsafe extern "C" {
24257    pub fn T_x_range_funct_1d(Function: Htuple, XMin: *mut Htuple, XMax: *mut Htuple) -> Herror;
24258}
24259unsafe extern "C" {
24260    pub fn T_funct_1d_to_pairs(
24261        Function: Htuple,
24262        XValues: *mut Htuple,
24263        YValues: *mut Htuple,
24264    ) -> Herror;
24265}
24266unsafe extern "C" {
24267    pub fn T_sample_funct_1d(
24268        Function: Htuple,
24269        XMin: Htuple,
24270        XMax: Htuple,
24271        XDist: Htuple,
24272        Border: Htuple,
24273        SampledFunction: *mut Htuple,
24274    ) -> Herror;
24275}
24276unsafe extern "C" {
24277    pub fn T_transform_funct_1d(
24278        Function: Htuple,
24279        Params: Htuple,
24280        TransformedFunction: *mut Htuple,
24281    ) -> Herror;
24282}
24283unsafe extern "C" {
24284    pub fn T_match_funct_1d_trans(
24285        Function1: Htuple,
24286        Function2: Htuple,
24287        Border: Htuple,
24288        ParamsConst: Htuple,
24289        UseParams: Htuple,
24290        Params: *mut Htuple,
24291        ChiSquare: *mut Htuple,
24292        Covar: *mut Htuple,
24293    ) -> Herror;
24294}
24295unsafe extern "C" {
24296    pub fn T_distance_funct_1d(
24297        Function1: Htuple,
24298        Function2: Htuple,
24299        Mode: Htuple,
24300        Sigma: Htuple,
24301        Distance: *mut Htuple,
24302    ) -> Herror;
24303}
24304unsafe extern "C" {
24305    pub fn T_smooth_funct_1d_gauss(
24306        Function: Htuple,
24307        Sigma: Htuple,
24308        SmoothedFunction: *mut Htuple,
24309    ) -> Herror;
24310}
24311unsafe extern "C" {
24312    pub fn T_integrate_funct_1d(
24313        Function: Htuple,
24314        Positive: *mut Htuple,
24315        Negative: *mut Htuple,
24316    ) -> Herror;
24317}
24318unsafe extern "C" {
24319    pub fn T_read_funct_1d(FileName: Htuple, Function: *mut Htuple) -> Herror;
24320}
24321unsafe extern "C" {
24322    pub fn read_funct_1d(FileName: *const ::std::os::raw::c_char, Function: *mut f64) -> Herror;
24323}
24324unsafe extern "C" {
24325    pub fn T_write_funct_1d(Function: Htuple, FileName: Htuple) -> Herror;
24326}
24327unsafe extern "C" {
24328    pub fn T_create_funct_1d_array(YValues: Htuple, Function: *mut Htuple) -> Herror;
24329}
24330unsafe extern "C" {
24331    pub fn T_create_funct_1d_pairs(
24332        XValues: Htuple,
24333        YValues: Htuple,
24334        Function: *mut Htuple,
24335    ) -> Herror;
24336}
24337unsafe extern "C" {
24338    pub fn T_smooth_funct_1d_mean(
24339        Function: Htuple,
24340        SmoothSize: Htuple,
24341        Iterations: Htuple,
24342        SmoothedFunction: *mut Htuple,
24343    ) -> Herror;
24344}
24345unsafe extern "C" {
24346    pub fn T_texture_laws(
24347        Image: Hobject,
24348        ImageTexture: *mut Hobject,
24349        FilterTypes: Htuple,
24350        Shift: Htuple,
24351        FilterSize: Htuple,
24352    ) -> Herror;
24353}
24354unsafe extern "C" {
24355    pub fn texture_laws(
24356        Image: Hobject,
24357        ImageTexture: *mut Hobject,
24358        FilterTypes: *const ::std::os::raw::c_char,
24359        Shift: Hlong,
24360        FilterSize: Hlong,
24361    ) -> Herror;
24362}
24363unsafe extern "C" {
24364    pub fn T_deviation_image(
24365        Image: Hobject,
24366        ImageDeviation: *mut Hobject,
24367        Width: Htuple,
24368        Height: Htuple,
24369    ) -> Herror;
24370}
24371unsafe extern "C" {
24372    pub fn deviation_image(
24373        Image: Hobject,
24374        ImageDeviation: *mut Hobject,
24375        Width: Hlong,
24376        Height: Hlong,
24377    ) -> Herror;
24378}
24379unsafe extern "C" {
24380    pub fn T_entropy_image(
24381        Image: Hobject,
24382        ImageEntropy: *mut Hobject,
24383        Width: Htuple,
24384        Height: Htuple,
24385    ) -> Herror;
24386}
24387unsafe extern "C" {
24388    pub fn entropy_image(
24389        Image: Hobject,
24390        ImageEntropy: *mut Hobject,
24391        Width: Hlong,
24392        Height: Hlong,
24393    ) -> Herror;
24394}
24395unsafe extern "C" {
24396    pub fn T_isotropic_diffusion(
24397        Image: Hobject,
24398        SmoothedImage: *mut Hobject,
24399        Sigma: Htuple,
24400        Iterations: Htuple,
24401    ) -> Herror;
24402}
24403unsafe extern "C" {
24404    pub fn isotropic_diffusion(
24405        Image: Hobject,
24406        SmoothedImage: *mut Hobject,
24407        Sigma: f64,
24408        Iterations: Hlong,
24409    ) -> Herror;
24410}
24411unsafe extern "C" {
24412    pub fn T_anisotropic_diffusion(
24413        Image: Hobject,
24414        ImageAniso: *mut Hobject,
24415        Mode: Htuple,
24416        Contrast: Htuple,
24417        Theta: Htuple,
24418        Iterations: Htuple,
24419    ) -> Herror;
24420}
24421unsafe extern "C" {
24422    pub fn anisotropic_diffusion(
24423        Image: Hobject,
24424        ImageAniso: *mut Hobject,
24425        Mode: *const ::std::os::raw::c_char,
24426        Contrast: f64,
24427        Theta: f64,
24428        Iterations: Hlong,
24429    ) -> Herror;
24430}
24431unsafe extern "C" {
24432    pub fn T_smooth_image(
24433        Image: Hobject,
24434        ImageSmooth: *mut Hobject,
24435        Filter: Htuple,
24436        Alpha: Htuple,
24437    ) -> Herror;
24438}
24439unsafe extern "C" {
24440    pub fn smooth_image(
24441        Image: Hobject,
24442        ImageSmooth: *mut Hobject,
24443        Filter: *const ::std::os::raw::c_char,
24444        Alpha: f64,
24445    ) -> Herror;
24446}
24447unsafe extern "C" {
24448    pub fn T_sigma_image(
24449        Image: Hobject,
24450        ImageSigma: *mut Hobject,
24451        MaskHeight: Htuple,
24452        MaskWidth: Htuple,
24453        Sigma: Htuple,
24454    ) -> Herror;
24455}
24456unsafe extern "C" {
24457    pub fn sigma_image(
24458        Image: Hobject,
24459        ImageSigma: *mut Hobject,
24460        MaskHeight: Hlong,
24461        MaskWidth: Hlong,
24462        Sigma: Hlong,
24463    ) -> Herror;
24464}
24465unsafe extern "C" {
24466    pub fn T_midrange_image(
24467        Image: Hobject,
24468        Mask: Hobject,
24469        ImageMidrange: *mut Hobject,
24470        Margin: Htuple,
24471    ) -> Herror;
24472}
24473unsafe extern "C" {
24474    pub fn midrange_image(
24475        Image: Hobject,
24476        Mask: Hobject,
24477        ImageMidrange: *mut Hobject,
24478        Margin: *const ::std::os::raw::c_char,
24479    ) -> Herror;
24480}
24481unsafe extern "C" {
24482    pub fn T_trimmed_mean(
24483        Image: Hobject,
24484        Mask: Hobject,
24485        ImageTMean: *mut Hobject,
24486        Number: Htuple,
24487        Margin: Htuple,
24488    ) -> Herror;
24489}
24490unsafe extern "C" {
24491    pub fn trimmed_mean(
24492        Image: Hobject,
24493        Mask: Hobject,
24494        ImageTMean: *mut Hobject,
24495        Number: Hlong,
24496        Margin: *const ::std::os::raw::c_char,
24497    ) -> Herror;
24498}
24499unsafe extern "C" {
24500    pub fn T_median_separate(
24501        Image: Hobject,
24502        ImageSMedian: *mut Hobject,
24503        MaskWidth: Htuple,
24504        MaskHeight: Htuple,
24505        Margin: Htuple,
24506    ) -> Herror;
24507}
24508unsafe extern "C" {
24509    pub fn median_separate(
24510        Image: Hobject,
24511        ImageSMedian: *mut Hobject,
24512        MaskWidth: Hlong,
24513        MaskHeight: Hlong,
24514        Margin: *const ::std::os::raw::c_char,
24515    ) -> Herror;
24516}
24517unsafe extern "C" {
24518    pub fn T_median_rect(
24519        Image: Hobject,
24520        ImageMedian: *mut Hobject,
24521        MaskWidth: Htuple,
24522        MaskHeight: Htuple,
24523    ) -> Herror;
24524}
24525unsafe extern "C" {
24526    pub fn median_rect(
24527        Image: Hobject,
24528        ImageMedian: *mut Hobject,
24529        MaskWidth: Hlong,
24530        MaskHeight: Hlong,
24531    ) -> Herror;
24532}
24533unsafe extern "C" {
24534    pub fn T_median_image(
24535        Image: Hobject,
24536        ImageMedian: *mut Hobject,
24537        MaskType: Htuple,
24538        Radius: Htuple,
24539        Margin: Htuple,
24540    ) -> Herror;
24541}
24542unsafe extern "C" {
24543    pub fn median_image(
24544        Image: Hobject,
24545        ImageMedian: *mut Hobject,
24546        MaskType: *const ::std::os::raw::c_char,
24547        Radius: Hlong,
24548        Margin: *const ::std::os::raw::c_char,
24549    ) -> Herror;
24550}
24551unsafe extern "C" {
24552    pub fn T_median_weighted(
24553        Image: Hobject,
24554        ImageWMedian: *mut Hobject,
24555        MaskType: Htuple,
24556        MaskSize: Htuple,
24557    ) -> Herror;
24558}
24559unsafe extern "C" {
24560    pub fn median_weighted(
24561        Image: Hobject,
24562        ImageWMedian: *mut Hobject,
24563        MaskType: *const ::std::os::raw::c_char,
24564        MaskSize: Hlong,
24565    ) -> Herror;
24566}
24567unsafe extern "C" {
24568    pub fn T_rank_rect(
24569        Image: Hobject,
24570        ImageRank: *mut Hobject,
24571        MaskWidth: Htuple,
24572        MaskHeight: Htuple,
24573        Rank: Htuple,
24574    ) -> Herror;
24575}
24576unsafe extern "C" {
24577    pub fn rank_rect(
24578        Image: Hobject,
24579        ImageRank: *mut Hobject,
24580        MaskWidth: Hlong,
24581        MaskHeight: Hlong,
24582        Rank: Hlong,
24583    ) -> Herror;
24584}
24585unsafe extern "C" {
24586    pub fn T_rank_image(
24587        Image: Hobject,
24588        Mask: Hobject,
24589        ImageRank: *mut Hobject,
24590        Rank: Htuple,
24591        Margin: Htuple,
24592    ) -> Herror;
24593}
24594unsafe extern "C" {
24595    pub fn rank_image(
24596        Image: Hobject,
24597        Mask: Hobject,
24598        ImageRank: *mut Hobject,
24599        Rank: Hlong,
24600        Margin: *const ::std::os::raw::c_char,
24601    ) -> Herror;
24602}
24603unsafe extern "C" {
24604    pub fn T_dual_rank(
24605        Image: Hobject,
24606        ImageRank: *mut Hobject,
24607        MaskType: Htuple,
24608        Radius: Htuple,
24609        ModePercent: Htuple,
24610        Margin: Htuple,
24611    ) -> Herror;
24612}
24613unsafe extern "C" {
24614    pub fn dual_rank(
24615        Image: Hobject,
24616        ImageRank: *mut Hobject,
24617        MaskType: *const ::std::os::raw::c_char,
24618        Radius: Hlong,
24619        ModePercent: Hlong,
24620        Margin: *const ::std::os::raw::c_char,
24621    ) -> Herror;
24622}
24623unsafe extern "C" {
24624    pub fn T_mean_image(
24625        Image: Hobject,
24626        ImageMean: *mut Hobject,
24627        MaskWidth: Htuple,
24628        MaskHeight: Htuple,
24629    ) -> Herror;
24630}
24631unsafe extern "C" {
24632    pub fn mean_image(
24633        Image: Hobject,
24634        ImageMean: *mut Hobject,
24635        MaskWidth: Hlong,
24636        MaskHeight: Hlong,
24637    ) -> Herror;
24638}
24639unsafe extern "C" {
24640    pub fn T_info_smooth(
24641        Filter: Htuple,
24642        Alpha: Htuple,
24643        Size: *mut Htuple,
24644        Coeffs: *mut Htuple,
24645    ) -> Herror;
24646}
24647unsafe extern "C" {
24648    pub fn T_binomial_filter(
24649        Image: Hobject,
24650        ImageBinomial: *mut Hobject,
24651        MaskWidth: Htuple,
24652        MaskHeight: Htuple,
24653    ) -> Herror;
24654}
24655unsafe extern "C" {
24656    pub fn binomial_filter(
24657        Image: Hobject,
24658        ImageBinomial: *mut Hobject,
24659        MaskWidth: Hlong,
24660        MaskHeight: Hlong,
24661    ) -> Herror;
24662}
24663unsafe extern "C" {
24664    pub fn T_gauss_image(Image: Hobject, ImageGauss: *mut Hobject, Size: Htuple) -> Herror;
24665}
24666unsafe extern "C" {
24667    pub fn gauss_image(Image: Hobject, ImageGauss: *mut Hobject, Size: Hlong) -> Herror;
24668}
24669unsafe extern "C" {
24670    pub fn T_gauss_filter(Image: Hobject, ImageGauss: *mut Hobject, Size: Htuple) -> Herror;
24671}
24672unsafe extern "C" {
24673    pub fn gauss_filter(Image: Hobject, ImageGauss: *mut Hobject, Size: Hlong) -> Herror;
24674}
24675unsafe extern "C" {
24676    pub fn T_eliminate_min_max(
24677        Image: Hobject,
24678        FilteredImage: *mut Hobject,
24679        MaskWidth: Htuple,
24680        MaskHeight: Htuple,
24681        Gap: Htuple,
24682        Mode: Htuple,
24683    ) -> Herror;
24684}
24685unsafe extern "C" {
24686    pub fn eliminate_min_max(
24687        Image: Hobject,
24688        FilteredImage: *mut Hobject,
24689        MaskWidth: Hlong,
24690        MaskHeight: Hlong,
24691        Gap: f64,
24692        Mode: Hlong,
24693    ) -> Herror;
24694}
24695unsafe extern "C" {
24696    pub fn T_fill_interlace(
24697        ImageCamera: Hobject,
24698        ImageFilled: *mut Hobject,
24699        Mode: Htuple,
24700    ) -> Herror;
24701}
24702unsafe extern "C" {
24703    pub fn fill_interlace(
24704        ImageCamera: Hobject,
24705        ImageFilled: *mut Hobject,
24706        Mode: *const ::std::os::raw::c_char,
24707    ) -> Herror;
24708}
24709unsafe extern "C" {
24710    pub fn T_rank_n(Image: Hobject, RankImage: *mut Hobject, RankIndex: Htuple) -> Herror;
24711}
24712unsafe extern "C" {
24713    pub fn rank_n(Image: Hobject, RankImage: *mut Hobject, RankIndex: Hlong) -> Herror;
24714}
24715unsafe extern "C" {
24716    pub fn T_mean_n(Image: Hobject, ImageMean: *mut Hobject) -> Herror;
24717}
24718unsafe extern "C" {
24719    pub fn mean_n(Image: Hobject, ImageMean: *mut Hobject) -> Herror;
24720}
24721unsafe extern "C" {
24722    pub fn T_eliminate_sp(
24723        Image: Hobject,
24724        ImageFillSP: *mut Hobject,
24725        MaskWidth: Htuple,
24726        MaskHeight: Htuple,
24727        MinThresh: Htuple,
24728        MaxThresh: Htuple,
24729    ) -> Herror;
24730}
24731unsafe extern "C" {
24732    pub fn eliminate_sp(
24733        Image: Hobject,
24734        ImageFillSP: *mut Hobject,
24735        MaskWidth: Hlong,
24736        MaskHeight: Hlong,
24737        MinThresh: Hlong,
24738        MaxThresh: Hlong,
24739    ) -> Herror;
24740}
24741unsafe extern "C" {
24742    pub fn T_mean_sp(
24743        Image: Hobject,
24744        ImageSPMean: *mut Hobject,
24745        MaskWidth: Htuple,
24746        MaskHeight: Htuple,
24747        MinThresh: Htuple,
24748        MaxThresh: Htuple,
24749    ) -> Herror;
24750}
24751unsafe extern "C" {
24752    pub fn mean_sp(
24753        Image: Hobject,
24754        ImageSPMean: *mut Hobject,
24755        MaskWidth: Hlong,
24756        MaskHeight: Hlong,
24757        MinThresh: Hlong,
24758        MaxThresh: Hlong,
24759    ) -> Herror;
24760}
24761unsafe extern "C" {
24762    pub fn T_points_sojka(
24763        Image: Hobject,
24764        MaskSize: Htuple,
24765        SigmaW: Htuple,
24766        SigmaD: Htuple,
24767        MinGrad: Htuple,
24768        MinApparentness: Htuple,
24769        MinAngle: Htuple,
24770        Subpix: Htuple,
24771        Row: *mut Htuple,
24772        Column: *mut Htuple,
24773    ) -> Herror;
24774}
24775unsafe extern "C" {
24776    pub fn T_dots_image(
24777        Image: Hobject,
24778        DotImage: *mut Hobject,
24779        Diameter: Htuple,
24780        FilterType: Htuple,
24781        PixelShift: Htuple,
24782    ) -> Herror;
24783}
24784unsafe extern "C" {
24785    pub fn dots_image(
24786        Image: Hobject,
24787        DotImage: *mut Hobject,
24788        Diameter: Hlong,
24789        FilterType: *const ::std::os::raw::c_char,
24790        PixelShift: Hlong,
24791    ) -> Herror;
24792}
24793unsafe extern "C" {
24794    pub fn T_local_min_sub_pix(
24795        Image: Hobject,
24796        Filter: Htuple,
24797        Sigma: Htuple,
24798        Threshold: Htuple,
24799        Row: *mut Htuple,
24800        Column: *mut Htuple,
24801    ) -> Herror;
24802}
24803unsafe extern "C" {
24804    pub fn T_local_max_sub_pix(
24805        Image: Hobject,
24806        Filter: Htuple,
24807        Sigma: Htuple,
24808        Threshold: Htuple,
24809        Row: *mut Htuple,
24810        Column: *mut Htuple,
24811    ) -> Herror;
24812}
24813unsafe extern "C" {
24814    pub fn T_saddle_points_sub_pix(
24815        Image: Hobject,
24816        Filter: Htuple,
24817        Sigma: Htuple,
24818        Threshold: Htuple,
24819        Row: *mut Htuple,
24820        Column: *mut Htuple,
24821    ) -> Herror;
24822}
24823unsafe extern "C" {
24824    pub fn T_critical_points_sub_pix(
24825        Image: Hobject,
24826        Filter: Htuple,
24827        Sigma: Htuple,
24828        Threshold: Htuple,
24829        RowMin: *mut Htuple,
24830        ColumnMin: *mut Htuple,
24831        RowMax: *mut Htuple,
24832        ColumnMax: *mut Htuple,
24833        RowSaddle: *mut Htuple,
24834        ColumnSaddle: *mut Htuple,
24835    ) -> Herror;
24836}
24837unsafe extern "C" {
24838    pub fn T_points_harris(
24839        Image: Hobject,
24840        SigmaGrad: Htuple,
24841        SigmaSmooth: Htuple,
24842        Alpha: Htuple,
24843        Threshold: Htuple,
24844        Row: *mut Htuple,
24845        Column: *mut Htuple,
24846    ) -> Herror;
24847}
24848unsafe extern "C" {
24849    pub fn T_points_harris_binomial(
24850        Image: Hobject,
24851        MaskSizeGrad: Htuple,
24852        MaskSizeSmooth: Htuple,
24853        Alpha: Htuple,
24854        Threshold: Htuple,
24855        Subpix: Htuple,
24856        Row: *mut Htuple,
24857        Column: *mut Htuple,
24858    ) -> Herror;
24859}
24860unsafe extern "C" {
24861    pub fn T_points_lepetit(
24862        Image: Hobject,
24863        Radius: Htuple,
24864        CheckNeighbor: Htuple,
24865        MinCheckNeighborDiff: Htuple,
24866        MinScore: Htuple,
24867        Subpix: Htuple,
24868        Row: *mut Htuple,
24869        Column: *mut Htuple,
24870    ) -> Herror;
24871}
24872unsafe extern "C" {
24873    pub fn T_points_foerstner(
24874        Image: Hobject,
24875        SigmaGrad: Htuple,
24876        SigmaInt: Htuple,
24877        SigmaPoints: Htuple,
24878        ThreshInhom: Htuple,
24879        ThreshShape: Htuple,
24880        Smoothing: Htuple,
24881        EliminateDoublets: Htuple,
24882        RowJunctions: *mut Htuple,
24883        ColumnJunctions: *mut Htuple,
24884        CoRRJunctions: *mut Htuple,
24885        CoRCJunctions: *mut Htuple,
24886        CoCCJunctions: *mut Htuple,
24887        RowArea: *mut Htuple,
24888        ColumnArea: *mut Htuple,
24889        CoRRArea: *mut Htuple,
24890        CoRCArea: *mut Htuple,
24891        CoCCArea: *mut Htuple,
24892    ) -> Herror;
24893}
24894unsafe extern "C" {
24895    pub fn T_estimate_noise(
24896        Image: Hobject,
24897        Method: Htuple,
24898        Percent: Htuple,
24899        Sigma: *mut Htuple,
24900    ) -> Herror;
24901}
24902unsafe extern "C" {
24903    pub fn estimate_noise(
24904        Image: Hobject,
24905        Method: *const ::std::os::raw::c_char,
24906        Percent: f64,
24907        Sigma: *mut f64,
24908    ) -> Herror;
24909}
24910unsafe extern "C" {
24911    pub fn T_noise_distribution_mean(
24912        ConstRegion: Hobject,
24913        Image: Hobject,
24914        FilterSize: Htuple,
24915        Distribution: *mut Htuple,
24916    ) -> Herror;
24917}
24918unsafe extern "C" {
24919    pub fn T_add_noise_white(Image: Hobject, ImageNoise: *mut Hobject, Amp: Htuple) -> Herror;
24920}
24921unsafe extern "C" {
24922    pub fn add_noise_white(Image: Hobject, ImageNoise: *mut Hobject, Amp: f64) -> Herror;
24923}
24924unsafe extern "C" {
24925    pub fn T_add_noise_distribution(
24926        Image: Hobject,
24927        ImageNoise: *mut Hobject,
24928        Distribution: Htuple,
24929    ) -> Herror;
24930}
24931unsafe extern "C" {
24932    pub fn T_gauss_distribution(Sigma: Htuple, Distribution: *mut Htuple) -> Herror;
24933}
24934unsafe extern "C" {
24935    pub fn T_sp_distribution(
24936        PercentSalt: Htuple,
24937        PercentPepper: Htuple,
24938        Distribution: *mut Htuple,
24939    ) -> Herror;
24940}
24941unsafe extern "C" {
24942    pub fn T_deviation_n(Image: Hobject, ImageDeviation: *mut Hobject) -> Herror;
24943}
24944unsafe extern "C" {
24945    pub fn deviation_n(Image: Hobject, ImageDeviation: *mut Hobject) -> Herror;
24946}
24947unsafe extern "C" {
24948    pub fn T_inpainting_texture(
24949        Image: Hobject,
24950        Region: Hobject,
24951        InpaintedImage: *mut Hobject,
24952        MaskSize: Htuple,
24953        SearchSize: Htuple,
24954        Anisotropy: Htuple,
24955        PostIteration: Htuple,
24956        Smoothness: Htuple,
24957    ) -> Herror;
24958}
24959unsafe extern "C" {
24960    pub fn inpainting_texture(
24961        Image: Hobject,
24962        Region: Hobject,
24963        InpaintedImage: *mut Hobject,
24964        MaskSize: Hlong,
24965        SearchSize: Hlong,
24966        Anisotropy: f64,
24967        PostIteration: *const ::std::os::raw::c_char,
24968        Smoothness: f64,
24969    ) -> Herror;
24970}
24971unsafe extern "C" {
24972    pub fn T_inpainting_ct(
24973        Image: Hobject,
24974        Region: Hobject,
24975        InpaintedImage: *mut Hobject,
24976        Epsilon: Htuple,
24977        Kappa: Htuple,
24978        Sigma: Htuple,
24979        Rho: Htuple,
24980        ChannelCoefficients: Htuple,
24981    ) -> Herror;
24982}
24983unsafe extern "C" {
24984    pub fn inpainting_ct(
24985        Image: Hobject,
24986        Region: Hobject,
24987        InpaintedImage: *mut Hobject,
24988        Epsilon: f64,
24989        Kappa: f64,
24990        Sigma: f64,
24991        Rho: f64,
24992        ChannelCoefficients: f64,
24993    ) -> Herror;
24994}
24995unsafe extern "C" {
24996    pub fn T_inpainting_mcf(
24997        Image: Hobject,
24998        Region: Hobject,
24999        InpaintedImage: *mut Hobject,
25000        Sigma: Htuple,
25001        Theta: Htuple,
25002        Iterations: Htuple,
25003    ) -> Herror;
25004}
25005unsafe extern "C" {
25006    pub fn inpainting_mcf(
25007        Image: Hobject,
25008        Region: Hobject,
25009        InpaintedImage: *mut Hobject,
25010        Sigma: f64,
25011        Theta: f64,
25012        Iterations: Hlong,
25013    ) -> Herror;
25014}
25015unsafe extern "C" {
25016    pub fn T_inpainting_ced(
25017        Image: Hobject,
25018        Region: Hobject,
25019        InpaintedImage: *mut Hobject,
25020        Sigma: Htuple,
25021        Rho: Htuple,
25022        Theta: Htuple,
25023        Iterations: Htuple,
25024    ) -> Herror;
25025}
25026unsafe extern "C" {
25027    pub fn inpainting_ced(
25028        Image: Hobject,
25029        Region: Hobject,
25030        InpaintedImage: *mut Hobject,
25031        Sigma: f64,
25032        Rho: f64,
25033        Theta: f64,
25034        Iterations: Hlong,
25035    ) -> Herror;
25036}
25037unsafe extern "C" {
25038    pub fn T_inpainting_aniso(
25039        Image: Hobject,
25040        Region: Hobject,
25041        InpaintedImage: *mut Hobject,
25042        Mode: Htuple,
25043        Contrast: Htuple,
25044        Theta: Htuple,
25045        Iterations: Htuple,
25046        Rho: Htuple,
25047    ) -> Herror;
25048}
25049unsafe extern "C" {
25050    pub fn inpainting_aniso(
25051        Image: Hobject,
25052        Region: Hobject,
25053        InpaintedImage: *mut Hobject,
25054        Mode: *const ::std::os::raw::c_char,
25055        Contrast: f64,
25056        Theta: f64,
25057        Iterations: Hlong,
25058        Rho: f64,
25059    ) -> Herror;
25060}
25061unsafe extern "C" {
25062    pub fn T_harmonic_interpolation(
25063        Image: Hobject,
25064        Region: Hobject,
25065        InpaintedImage: *mut Hobject,
25066        Precision: Htuple,
25067    ) -> Herror;
25068}
25069unsafe extern "C" {
25070    pub fn harmonic_interpolation(
25071        Image: Hobject,
25072        Region: Hobject,
25073        InpaintedImage: *mut Hobject,
25074        Precision: f64,
25075    ) -> Herror;
25076}
25077unsafe extern "C" {
25078    pub fn T_expand_domain_gray(
25079        InputImage: Hobject,
25080        ExpandedImage: *mut Hobject,
25081        ExpansionRange: Htuple,
25082    ) -> Herror;
25083}
25084unsafe extern "C" {
25085    pub fn expand_domain_gray(
25086        InputImage: Hobject,
25087        ExpandedImage: *mut Hobject,
25088        ExpansionRange: Hlong,
25089    ) -> Herror;
25090}
25091unsafe extern "C" {
25092    pub fn T_topographic_sketch(Image: Hobject, Sketch: *mut Hobject) -> Herror;
25093}
25094unsafe extern "C" {
25095    pub fn topographic_sketch(Image: Hobject, Sketch: *mut Hobject) -> Herror;
25096}
25097unsafe extern "C" {
25098    pub fn T_linear_trans_color(
25099        Image: Hobject,
25100        ImageTrans: *mut Hobject,
25101        TransMat: Htuple,
25102    ) -> Herror;
25103}
25104unsafe extern "C" {
25105    pub fn T_gen_principal_comp_trans(
25106        MultichannelImage: Hobject,
25107        Trans: *mut Htuple,
25108        TransInv: *mut Htuple,
25109        Mean: *mut Htuple,
25110        Cov: *mut Htuple,
25111        InfoPerComp: *mut Htuple,
25112    ) -> Herror;
25113}
25114unsafe extern "C" {
25115    pub fn T_principal_comp(
25116        MultichannelImage: Hobject,
25117        PCAImage: *mut Hobject,
25118        InfoPerComp: *mut Htuple,
25119    ) -> Herror;
25120}
25121unsafe extern "C" {
25122    pub fn T_fuzzy_entropy(
25123        Regions: Hobject,
25124        Image: Hobject,
25125        Apar: Htuple,
25126        Cpar: Htuple,
25127        Entropy: *mut Htuple,
25128    ) -> Herror;
25129}
25130unsafe extern "C" {
25131    pub fn fuzzy_entropy(
25132        Regions: Hobject,
25133        Image: Hobject,
25134        Apar: Hlong,
25135        Cpar: Hlong,
25136        Entropy: *mut f64,
25137    ) -> Herror;
25138}
25139unsafe extern "C" {
25140    pub fn T_fuzzy_perimeter(
25141        Regions: Hobject,
25142        Image: Hobject,
25143        Apar: Htuple,
25144        Cpar: Htuple,
25145        Perimeter: *mut Htuple,
25146    ) -> Herror;
25147}
25148unsafe extern "C" {
25149    pub fn fuzzy_perimeter(
25150        Regions: Hobject,
25151        Image: Hobject,
25152        Apar: Hlong,
25153        Cpar: Hlong,
25154        Perimeter: *mut f64,
25155    ) -> Herror;
25156}
25157unsafe extern "C" {
25158    pub fn T_gray_closing_shape(
25159        Image: Hobject,
25160        ImageClosing: *mut Hobject,
25161        MaskHeight: Htuple,
25162        MaskWidth: Htuple,
25163        MaskShape: Htuple,
25164    ) -> Herror;
25165}
25166unsafe extern "C" {
25167    pub fn gray_closing_shape(
25168        Image: Hobject,
25169        ImageClosing: *mut Hobject,
25170        MaskHeight: f64,
25171        MaskWidth: f64,
25172        MaskShape: *const ::std::os::raw::c_char,
25173    ) -> Herror;
25174}
25175unsafe extern "C" {
25176    pub fn T_gray_opening_shape(
25177        Image: Hobject,
25178        ImageOpening: *mut Hobject,
25179        MaskHeight: Htuple,
25180        MaskWidth: Htuple,
25181        MaskShape: Htuple,
25182    ) -> Herror;
25183}
25184unsafe extern "C" {
25185    pub fn gray_opening_shape(
25186        Image: Hobject,
25187        ImageOpening: *mut Hobject,
25188        MaskHeight: f64,
25189        MaskWidth: f64,
25190        MaskShape: *const ::std::os::raw::c_char,
25191    ) -> Herror;
25192}
25193unsafe extern "C" {
25194    pub fn T_gray_erosion_shape(
25195        Image: Hobject,
25196        ImageMin: *mut Hobject,
25197        MaskHeight: Htuple,
25198        MaskWidth: Htuple,
25199        MaskShape: Htuple,
25200    ) -> Herror;
25201}
25202unsafe extern "C" {
25203    pub fn gray_erosion_shape(
25204        Image: Hobject,
25205        ImageMin: *mut Hobject,
25206        MaskHeight: f64,
25207        MaskWidth: f64,
25208        MaskShape: *const ::std::os::raw::c_char,
25209    ) -> Herror;
25210}
25211unsafe extern "C" {
25212    pub fn T_gray_dilation_shape(
25213        Image: Hobject,
25214        ImageMax: *mut Hobject,
25215        MaskHeight: Htuple,
25216        MaskWidth: Htuple,
25217        MaskShape: Htuple,
25218    ) -> Herror;
25219}
25220unsafe extern "C" {
25221    pub fn gray_dilation_shape(
25222        Image: Hobject,
25223        ImageMax: *mut Hobject,
25224        MaskHeight: f64,
25225        MaskWidth: f64,
25226        MaskShape: *const ::std::os::raw::c_char,
25227    ) -> Herror;
25228}
25229unsafe extern "C" {
25230    pub fn T_gray_range_rect(
25231        Image: Hobject,
25232        ImageResult: *mut Hobject,
25233        MaskHeight: Htuple,
25234        MaskWidth: Htuple,
25235    ) -> Herror;
25236}
25237unsafe extern "C" {
25238    pub fn gray_range_rect(
25239        Image: Hobject,
25240        ImageResult: *mut Hobject,
25241        MaskHeight: Hlong,
25242        MaskWidth: Hlong,
25243    ) -> Herror;
25244}
25245unsafe extern "C" {
25246    pub fn T_gray_closing_rect(
25247        Image: Hobject,
25248        ImageClosing: *mut Hobject,
25249        MaskHeight: Htuple,
25250        MaskWidth: Htuple,
25251    ) -> Herror;
25252}
25253unsafe extern "C" {
25254    pub fn gray_closing_rect(
25255        Image: Hobject,
25256        ImageClosing: *mut Hobject,
25257        MaskHeight: Hlong,
25258        MaskWidth: Hlong,
25259    ) -> Herror;
25260}
25261unsafe extern "C" {
25262    pub fn T_gray_opening_rect(
25263        Image: Hobject,
25264        ImageOpening: *mut Hobject,
25265        MaskHeight: Htuple,
25266        MaskWidth: Htuple,
25267    ) -> Herror;
25268}
25269unsafe extern "C" {
25270    pub fn gray_opening_rect(
25271        Image: Hobject,
25272        ImageOpening: *mut Hobject,
25273        MaskHeight: Hlong,
25274        MaskWidth: Hlong,
25275    ) -> Herror;
25276}
25277unsafe extern "C" {
25278    pub fn T_gray_erosion_rect(
25279        Image: Hobject,
25280        ImageMin: *mut Hobject,
25281        MaskHeight: Htuple,
25282        MaskWidth: Htuple,
25283    ) -> Herror;
25284}
25285unsafe extern "C" {
25286    pub fn gray_erosion_rect(
25287        Image: Hobject,
25288        ImageMin: *mut Hobject,
25289        MaskHeight: Hlong,
25290        MaskWidth: Hlong,
25291    ) -> Herror;
25292}
25293unsafe extern "C" {
25294    pub fn T_gray_dilation_rect(
25295        Image: Hobject,
25296        ImageMax: *mut Hobject,
25297        MaskHeight: Htuple,
25298        MaskWidth: Htuple,
25299    ) -> Herror;
25300}
25301unsafe extern "C" {
25302    pub fn gray_dilation_rect(
25303        Image: Hobject,
25304        ImageMax: *mut Hobject,
25305        MaskHeight: Hlong,
25306        MaskWidth: Hlong,
25307    ) -> Herror;
25308}
25309unsafe extern "C" {
25310    pub fn T_gray_skeleton(Image: Hobject, GraySkeleton: *mut Hobject) -> Herror;
25311}
25312unsafe extern "C" {
25313    pub fn gray_skeleton(Image: Hobject, GraySkeleton: *mut Hobject) -> Herror;
25314}
25315unsafe extern "C" {
25316    pub fn T_lut_trans(Image: Hobject, ImageResult: *mut Hobject, Lut: Htuple) -> Herror;
25317}
25318unsafe extern "C" {
25319    pub fn T_convol_image(
25320        Image: Hobject,
25321        ImageResult: *mut Hobject,
25322        FilterMask: Htuple,
25323        Margin: Htuple,
25324    ) -> Herror;
25325}
25326unsafe extern "C" {
25327    pub fn convol_image(
25328        Image: Hobject,
25329        ImageResult: *mut Hobject,
25330        FilterMask: *const ::std::os::raw::c_char,
25331        Margin: *const ::std::os::raw::c_char,
25332    ) -> Herror;
25333}
25334unsafe extern "C" {
25335    pub fn T_convert_image_type(
25336        Image: Hobject,
25337        ImageConverted: *mut Hobject,
25338        NewType: Htuple,
25339    ) -> Herror;
25340}
25341unsafe extern "C" {
25342    pub fn convert_image_type(
25343        Image: Hobject,
25344        ImageConverted: *mut Hobject,
25345        NewType: *const ::std::os::raw::c_char,
25346    ) -> Herror;
25347}
25348unsafe extern "C" {
25349    pub fn T_real_to_vector_field(
25350        Row: Hobject,
25351        Col: Hobject,
25352        VectorField: *mut Hobject,
25353        Type: Htuple,
25354    ) -> Herror;
25355}
25356unsafe extern "C" {
25357    pub fn real_to_vector_field(
25358        Row: Hobject,
25359        Col: Hobject,
25360        VectorField: *mut Hobject,
25361        Type: *const ::std::os::raw::c_char,
25362    ) -> Herror;
25363}
25364unsafe extern "C" {
25365    pub fn T_vector_field_to_real(
25366        VectorField: Hobject,
25367        Row: *mut Hobject,
25368        Col: *mut Hobject,
25369    ) -> Herror;
25370}
25371unsafe extern "C" {
25372    pub fn vector_field_to_real(
25373        VectorField: Hobject,
25374        Row: *mut Hobject,
25375        Col: *mut Hobject,
25376    ) -> Herror;
25377}
25378unsafe extern "C" {
25379    pub fn T_real_to_complex(
25380        ImageReal: Hobject,
25381        ImageImaginary: Hobject,
25382        ImageComplex: *mut Hobject,
25383    ) -> Herror;
25384}
25385unsafe extern "C" {
25386    pub fn real_to_complex(
25387        ImageReal: Hobject,
25388        ImageImaginary: Hobject,
25389        ImageComplex: *mut Hobject,
25390    ) -> Herror;
25391}
25392unsafe extern "C" {
25393    pub fn T_complex_to_real(
25394        ImageComplex: Hobject,
25395        ImageReal: *mut Hobject,
25396        ImageImaginary: *mut Hobject,
25397    ) -> Herror;
25398}
25399unsafe extern "C" {
25400    pub fn complex_to_real(
25401        ImageComplex: Hobject,
25402        ImageReal: *mut Hobject,
25403        ImageImaginary: *mut Hobject,
25404    ) -> Herror;
25405}
25406unsafe extern "C" {
25407    pub fn T_region_to_mean(Regions: Hobject, Image: Hobject, ImageMean: *mut Hobject) -> Herror;
25408}
25409unsafe extern "C" {
25410    pub fn region_to_mean(Regions: Hobject, Image: Hobject, ImageMean: *mut Hobject) -> Herror;
25411}
25412unsafe extern "C" {
25413    pub fn T_gray_inside(Image: Hobject, ImageDist: *mut Hobject) -> Herror;
25414}
25415unsafe extern "C" {
25416    pub fn gray_inside(Image: Hobject, ImageDist: *mut Hobject) -> Herror;
25417}
25418unsafe extern "C" {
25419    pub fn T_symmetry(
25420        Image: Hobject,
25421        ImageSymmetry: *mut Hobject,
25422        MaskSize: Htuple,
25423        Direction: Htuple,
25424        Exponent: Htuple,
25425    ) -> Herror;
25426}
25427unsafe extern "C" {
25428    pub fn symmetry(
25429        Image: Hobject,
25430        ImageSymmetry: *mut Hobject,
25431        MaskSize: Hlong,
25432        Direction: f64,
25433        Exponent: f64,
25434    ) -> Herror;
25435}
25436unsafe extern "C" {
25437    pub fn T_select_grayvalues_from_channels(
25438        MultichannelImage: Hobject,
25439        IndexImage: Hobject,
25440        Selected: *mut Hobject,
25441    ) -> Herror;
25442}
25443unsafe extern "C" {
25444    pub fn select_grayvalues_from_channels(
25445        MultichannelImage: Hobject,
25446        IndexImage: Hobject,
25447        Selected: *mut Hobject,
25448    ) -> Herror;
25449}
25450unsafe extern "C" {
25451    pub fn T_depth_from_focus(
25452        MultiFocusImage: Hobject,
25453        Depth: *mut Hobject,
25454        Confidence: *mut Hobject,
25455        Filter: Htuple,
25456        Selection: Htuple,
25457    ) -> Herror;
25458}
25459unsafe extern "C" {
25460    pub fn depth_from_focus(
25461        MultiFocusImage: Hobject,
25462        Depth: *mut Hobject,
25463        Confidence: *mut Hobject,
25464        Filter: *const ::std::os::raw::c_char,
25465        Selection: *const ::std::os::raw::c_char,
25466    ) -> Herror;
25467}
25468unsafe extern "C" {
25469    pub fn T_scene_flow_calib(
25470        ImageRect1T1: Hobject,
25471        ImageRect2T1: Hobject,
25472        ImageRect1T2: Hobject,
25473        ImageRect2T2: Hobject,
25474        Disparity: Hobject,
25475        SmoothingFlow: Htuple,
25476        SmoothingDisparity: Htuple,
25477        GenParamName: Htuple,
25478        GenParamValue: Htuple,
25479        CamParamRect1: Htuple,
25480        CamParamRect2: Htuple,
25481        RelPoseRect: Htuple,
25482        ObjectModel3D: *mut Htuple,
25483    ) -> Herror;
25484}
25485unsafe extern "C" {
25486    pub fn T_scene_flow_uncalib(
25487        ImageRect1T1: Hobject,
25488        ImageRect2T1: Hobject,
25489        ImageRect1T2: Hobject,
25490        ImageRect2T2: Hobject,
25491        Disparity: Hobject,
25492        OpticalFlow: *mut Hobject,
25493        DisparityChange: *mut Hobject,
25494        SmoothingFlow: Htuple,
25495        SmoothingDisparity: Htuple,
25496        GenParamName: Htuple,
25497        GenParamValue: Htuple,
25498    ) -> Herror;
25499}
25500unsafe extern "C" {
25501    pub fn scene_flow_uncalib(
25502        ImageRect1T1: Hobject,
25503        ImageRect2T1: Hobject,
25504        ImageRect1T2: Hobject,
25505        ImageRect2T2: Hobject,
25506        Disparity: Hobject,
25507        OpticalFlow: *mut Hobject,
25508        DisparityChange: *mut Hobject,
25509        SmoothingFlow: f64,
25510        SmoothingDisparity: f64,
25511        GenParamName: *const ::std::os::raw::c_char,
25512        GenParamValue: *const ::std::os::raw::c_char,
25513    ) -> Herror;
25514}
25515unsafe extern "C" {
25516    pub fn T_unwarp_image_vector_field(
25517        Image: Hobject,
25518        VectorField: Hobject,
25519        ImageUnwarped: *mut Hobject,
25520    ) -> Herror;
25521}
25522unsafe extern "C" {
25523    pub fn unwarp_image_vector_field(
25524        Image: Hobject,
25525        VectorField: Hobject,
25526        ImageUnwarped: *mut Hobject,
25527    ) -> Herror;
25528}
25529unsafe extern "C" {
25530    pub fn T_derivate_vector_field(
25531        VectorField: Hobject,
25532        Result: *mut Hobject,
25533        Sigma: Htuple,
25534        Component: Htuple,
25535    ) -> Herror;
25536}
25537unsafe extern "C" {
25538    pub fn derivate_vector_field(
25539        VectorField: Hobject,
25540        Result: *mut Hobject,
25541        Sigma: f64,
25542        Component: *const ::std::os::raw::c_char,
25543    ) -> Herror;
25544}
25545unsafe extern "C" {
25546    pub fn T_vector_field_length(
25547        VectorField: Hobject,
25548        Length: *mut Hobject,
25549        Mode: Htuple,
25550    ) -> Herror;
25551}
25552unsafe extern "C" {
25553    pub fn vector_field_length(
25554        VectorField: Hobject,
25555        Length: *mut Hobject,
25556        Mode: *const ::std::os::raw::c_char,
25557    ) -> Herror;
25558}
25559unsafe extern "C" {
25560    pub fn T_optical_flow_mg(
25561        ImageT1: Hobject,
25562        ImageT2: Hobject,
25563        VectorField: *mut Hobject,
25564        Algorithm: Htuple,
25565        SmoothingSigma: Htuple,
25566        IntegrationSigma: Htuple,
25567        FlowSmoothness: Htuple,
25568        GradientConstancy: Htuple,
25569        MGParamName: Htuple,
25570        MGParamValue: Htuple,
25571    ) -> Herror;
25572}
25573unsafe extern "C" {
25574    pub fn optical_flow_mg(
25575        ImageT1: Hobject,
25576        ImageT2: Hobject,
25577        VectorField: *mut Hobject,
25578        Algorithm: *const ::std::os::raw::c_char,
25579        SmoothingSigma: f64,
25580        IntegrationSigma: f64,
25581        FlowSmoothness: f64,
25582        GradientConstancy: f64,
25583        MGParamName: *const ::std::os::raw::c_char,
25584        MGParamValue: *const ::std::os::raw::c_char,
25585    ) -> Herror;
25586}
25587unsafe extern "C" {
25588    pub fn T_exhaustive_match_mg(
25589        Image: Hobject,
25590        ImageTemplate: Hobject,
25591        ImageMatch: *mut Hobject,
25592        Mode: Htuple,
25593        Level: Htuple,
25594        Threshold: Htuple,
25595    ) -> Herror;
25596}
25597unsafe extern "C" {
25598    pub fn exhaustive_match_mg(
25599        Image: Hobject,
25600        ImageTemplate: Hobject,
25601        ImageMatch: *mut Hobject,
25602        Mode: *const ::std::os::raw::c_char,
25603        Level: Hlong,
25604        Threshold: Hlong,
25605    ) -> Herror;
25606}
25607unsafe extern "C" {
25608    pub fn T_create_template_rot(
25609        Template: Hobject,
25610        NumLevel: Htuple,
25611        AngleStart: Htuple,
25612        AngleExtend: Htuple,
25613        AngleStep: Htuple,
25614        Optimize: Htuple,
25615        GrayValues: Htuple,
25616        TemplateID: *mut Htuple,
25617    ) -> Herror;
25618}
25619unsafe extern "C" {
25620    pub fn create_template_rot(
25621        Template: Hobject,
25622        NumLevel: Hlong,
25623        AngleStart: f64,
25624        AngleExtend: f64,
25625        AngleStep: f64,
25626        Optimize: *const ::std::os::raw::c_char,
25627        GrayValues: *const ::std::os::raw::c_char,
25628        TemplateID: *mut Hlong,
25629    ) -> Herror;
25630}
25631unsafe extern "C" {
25632    pub fn T_create_template(
25633        Template: Hobject,
25634        FirstError: Htuple,
25635        NumLevel: Htuple,
25636        Optimize: Htuple,
25637        GrayValues: Htuple,
25638        TemplateID: *mut Htuple,
25639    ) -> Herror;
25640}
25641unsafe extern "C" {
25642    pub fn create_template(
25643        Template: Hobject,
25644        FirstError: Hlong,
25645        NumLevel: Hlong,
25646        Optimize: *const ::std::os::raw::c_char,
25647        GrayValues: *const ::std::os::raw::c_char,
25648        TemplateID: *mut Hlong,
25649    ) -> Herror;
25650}
25651unsafe extern "C" {
25652    pub fn T_serialize_template(TemplateID: Htuple, SerializedItemHandle: *mut Htuple) -> Herror;
25653}
25654unsafe extern "C" {
25655    pub fn serialize_template(TemplateID: Hlong, SerializedItemHandle: *mut Hlong) -> Herror;
25656}
25657unsafe extern "C" {
25658    pub fn T_deserialize_template(SerializedItemHandle: Htuple, TemplateID: *mut Htuple) -> Herror;
25659}
25660unsafe extern "C" {
25661    pub fn deserialize_template(SerializedItemHandle: Hlong, TemplateID: *mut Hlong) -> Herror;
25662}
25663unsafe extern "C" {
25664    pub fn T_write_template(TemplateID: Htuple, FileName: Htuple) -> Herror;
25665}
25666unsafe extern "C" {
25667    pub fn write_template(TemplateID: Hlong, FileName: *const ::std::os::raw::c_char) -> Herror;
25668}
25669unsafe extern "C" {
25670    pub fn T_read_template(FileName: Htuple, TemplateID: *mut Htuple) -> Herror;
25671}
25672unsafe extern "C" {
25673    pub fn read_template(FileName: *const ::std::os::raw::c_char, TemplateID: *mut Hlong)
25674    -> Herror;
25675}
25676unsafe extern "C" {
25677    pub fn T_clear_all_templates() -> Herror;
25678}
25679unsafe extern "C" {
25680    pub fn clear_all_templates() -> Herror;
25681}
25682unsafe extern "C" {
25683    pub fn T_clear_template(TemplateID: Htuple) -> Herror;
25684}
25685unsafe extern "C" {
25686    pub fn clear_template(TemplateID: Hlong) -> Herror;
25687}
25688unsafe extern "C" {
25689    pub fn T_set_offset_template(TemplateID: Htuple, GrayOffset: Htuple) -> Herror;
25690}
25691unsafe extern "C" {
25692    pub fn set_offset_template(TemplateID: Hlong, GrayOffset: Hlong) -> Herror;
25693}
25694unsafe extern "C" {
25695    pub fn T_set_reference_template(TemplateID: Htuple, Row: Htuple, Column: Htuple) -> Herror;
25696}
25697unsafe extern "C" {
25698    pub fn set_reference_template(TemplateID: Hlong, Row: f64, Column: f64) -> Herror;
25699}
25700unsafe extern "C" {
25701    pub fn T_adapt_template(Image: Hobject, TemplateID: Htuple) -> Herror;
25702}
25703unsafe extern "C" {
25704    pub fn adapt_template(Image: Hobject, TemplateID: Hlong) -> Herror;
25705}
25706unsafe extern "C" {
25707    pub fn T_fast_match_mg(
25708        Image: Hobject,
25709        Matches: *mut Hobject,
25710        TemplateID: Htuple,
25711        MaxError: Htuple,
25712        NumLevel: Htuple,
25713    ) -> Herror;
25714}
25715unsafe extern "C" {
25716    pub fn fast_match_mg(
25717        Image: Hobject,
25718        Matches: *mut Hobject,
25719        TemplateID: Hlong,
25720        MaxError: f64,
25721        NumLevel: Hlong,
25722    ) -> Herror;
25723}
25724unsafe extern "C" {
25725    pub fn T_best_match_pre_mg(
25726        ImagePyramid: Hobject,
25727        TemplateID: Htuple,
25728        MaxError: Htuple,
25729        SubPixel: Htuple,
25730        NumLevels: Htuple,
25731        WhichLevels: Htuple,
25732        Row: *mut Htuple,
25733        Column: *mut Htuple,
25734        Error: *mut Htuple,
25735    ) -> Herror;
25736}
25737unsafe extern "C" {
25738    pub fn best_match_pre_mg(
25739        ImagePyramid: Hobject,
25740        TemplateID: Hlong,
25741        MaxError: f64,
25742        SubPixel: *const ::std::os::raw::c_char,
25743        NumLevels: Hlong,
25744        WhichLevels: Hlong,
25745        Row: *mut f64,
25746        Column: *mut f64,
25747        Error: *mut f64,
25748    ) -> Herror;
25749}
25750unsafe extern "C" {
25751    pub fn T_best_match_mg(
25752        Image: Hobject,
25753        TemplateID: Htuple,
25754        MaxError: Htuple,
25755        SubPixel: Htuple,
25756        NumLevels: Htuple,
25757        WhichLevels: Htuple,
25758        Row: *mut Htuple,
25759        Column: *mut Htuple,
25760        Error: *mut Htuple,
25761    ) -> Herror;
25762}
25763unsafe extern "C" {
25764    pub fn best_match_mg(
25765        Image: Hobject,
25766        TemplateID: Hlong,
25767        MaxError: f64,
25768        SubPixel: *const ::std::os::raw::c_char,
25769        NumLevels: Hlong,
25770        WhichLevels: Hlong,
25771        Row: *mut f64,
25772        Column: *mut f64,
25773        Error: *mut f64,
25774    ) -> Herror;
25775}
25776unsafe extern "C" {
25777    pub fn T_fast_match(
25778        Image: Hobject,
25779        Matches: *mut Hobject,
25780        TemplateID: Htuple,
25781        MaxError: Htuple,
25782    ) -> Herror;
25783}
25784unsafe extern "C" {
25785    pub fn fast_match(
25786        Image: Hobject,
25787        Matches: *mut Hobject,
25788        TemplateID: Hlong,
25789        MaxError: f64,
25790    ) -> Herror;
25791}
25792unsafe extern "C" {
25793    pub fn T_best_match_rot_mg(
25794        Image: Hobject,
25795        TemplateID: Htuple,
25796        AngleStart: Htuple,
25797        AngleExtend: Htuple,
25798        MaxError: Htuple,
25799        SubPixel: Htuple,
25800        NumLevels: Htuple,
25801        Row: *mut Htuple,
25802        Column: *mut Htuple,
25803        Angle: *mut Htuple,
25804        Error: *mut Htuple,
25805    ) -> Herror;
25806}
25807unsafe extern "C" {
25808    pub fn best_match_rot_mg(
25809        Image: Hobject,
25810        TemplateID: Hlong,
25811        AngleStart: f64,
25812        AngleExtend: f64,
25813        MaxError: f64,
25814        SubPixel: *const ::std::os::raw::c_char,
25815        NumLevels: Hlong,
25816        Row: *mut f64,
25817        Column: *mut f64,
25818        Angle: *mut f64,
25819        Error: *mut f64,
25820    ) -> Herror;
25821}
25822unsafe extern "C" {
25823    pub fn T_best_match_rot(
25824        Image: Hobject,
25825        TemplateID: Htuple,
25826        AngleStart: Htuple,
25827        AngleExtend: Htuple,
25828        MaxError: Htuple,
25829        SubPixel: Htuple,
25830        Row: *mut Htuple,
25831        Column: *mut Htuple,
25832        Angle: *mut Htuple,
25833        Error: *mut Htuple,
25834    ) -> Herror;
25835}
25836unsafe extern "C" {
25837    pub fn best_match_rot(
25838        Image: Hobject,
25839        TemplateID: Hlong,
25840        AngleStart: f64,
25841        AngleExtend: f64,
25842        MaxError: f64,
25843        SubPixel: *const ::std::os::raw::c_char,
25844        Row: *mut f64,
25845        Column: *mut f64,
25846        Angle: *mut f64,
25847        Error: *mut f64,
25848    ) -> Herror;
25849}
25850unsafe extern "C" {
25851    pub fn T_best_match(
25852        Image: Hobject,
25853        TemplateID: Htuple,
25854        MaxError: Htuple,
25855        SubPixel: Htuple,
25856        Row: *mut Htuple,
25857        Column: *mut Htuple,
25858        Error: *mut Htuple,
25859    ) -> Herror;
25860}
25861unsafe extern "C" {
25862    pub fn best_match(
25863        Image: Hobject,
25864        TemplateID: Hlong,
25865        MaxError: f64,
25866        SubPixel: *const ::std::os::raw::c_char,
25867        Row: *mut f64,
25868        Column: *mut f64,
25869        Error: *mut f64,
25870    ) -> Herror;
25871}
25872unsafe extern "C" {
25873    pub fn T_exhaustive_match(
25874        Image: Hobject,
25875        RegionOfInterest: Hobject,
25876        ImageTemplate: Hobject,
25877        ImageMatch: *mut Hobject,
25878        Mode: Htuple,
25879    ) -> Herror;
25880}
25881unsafe extern "C" {
25882    pub fn exhaustive_match(
25883        Image: Hobject,
25884        RegionOfInterest: Hobject,
25885        ImageTemplate: Hobject,
25886        ImageMatch: *mut Hobject,
25887        Mode: *const ::std::os::raw::c_char,
25888    ) -> Herror;
25889}
25890unsafe extern "C" {
25891    pub fn T_corner_response(
25892        Image: Hobject,
25893        ImageCorner: *mut Hobject,
25894        Size: Htuple,
25895        Weight: Htuple,
25896    ) -> Herror;
25897}
25898unsafe extern "C" {
25899    pub fn corner_response(
25900        Image: Hobject,
25901        ImageCorner: *mut Hobject,
25902        Size: Hlong,
25903        Weight: f64,
25904    ) -> Herror;
25905}
25906unsafe extern "C" {
25907    pub fn T_gen_gauss_pyramid(
25908        Image: Hobject,
25909        ImagePyramid: *mut Hobject,
25910        Mode: Htuple,
25911        Scale: Htuple,
25912    ) -> Herror;
25913}
25914unsafe extern "C" {
25915    pub fn gen_gauss_pyramid(
25916        Image: Hobject,
25917        ImagePyramid: *mut Hobject,
25918        Mode: *const ::std::os::raw::c_char,
25919        Scale: f64,
25920    ) -> Herror;
25921}
25922unsafe extern "C" {
25923    pub fn T_monotony(Image: Hobject, ImageMonotony: *mut Hobject) -> Herror;
25924}
25925unsafe extern "C" {
25926    pub fn monotony(Image: Hobject, ImageMonotony: *mut Hobject) -> Herror;
25927}
25928unsafe extern "C" {
25929    pub fn T_bandpass_image(
25930        Image: Hobject,
25931        ImageBandpass: *mut Hobject,
25932        FilterType: Htuple,
25933    ) -> Herror;
25934}
25935unsafe extern "C" {
25936    pub fn bandpass_image(
25937        Image: Hobject,
25938        ImageBandpass: *mut Hobject,
25939        FilterType: *const ::std::os::raw::c_char,
25940    ) -> Herror;
25941}
25942unsafe extern "C" {
25943    pub fn T_lines_color(
25944        Image: Hobject,
25945        Lines: *mut Hobject,
25946        Sigma: Htuple,
25947        Low: Htuple,
25948        High: Htuple,
25949        ExtractWidth: Htuple,
25950        CompleteJunctions: Htuple,
25951    ) -> Herror;
25952}
25953unsafe extern "C" {
25954    pub fn lines_color(
25955        Image: Hobject,
25956        Lines: *mut Hobject,
25957        Sigma: f64,
25958        Low: f64,
25959        High: f64,
25960        ExtractWidth: *const ::std::os::raw::c_char,
25961        CompleteJunctions: *const ::std::os::raw::c_char,
25962    ) -> Herror;
25963}
25964unsafe extern "C" {
25965    pub fn T_lines_gauss(
25966        Image: Hobject,
25967        Lines: *mut Hobject,
25968        Sigma: Htuple,
25969        Low: Htuple,
25970        High: Htuple,
25971        LightDark: Htuple,
25972        ExtractWidth: Htuple,
25973        LineModel: Htuple,
25974        CompleteJunctions: Htuple,
25975    ) -> Herror;
25976}
25977unsafe extern "C" {
25978    pub fn lines_gauss(
25979        Image: Hobject,
25980        Lines: *mut Hobject,
25981        Sigma: f64,
25982        Low: f64,
25983        High: f64,
25984        LightDark: *const ::std::os::raw::c_char,
25985        ExtractWidth: *const ::std::os::raw::c_char,
25986        LineModel: *const ::std::os::raw::c_char,
25987        CompleteJunctions: *const ::std::os::raw::c_char,
25988    ) -> Herror;
25989}
25990unsafe extern "C" {
25991    pub fn T_lines_facet(
25992        Image: Hobject,
25993        Lines: *mut Hobject,
25994        MaskSize: Htuple,
25995        Low: Htuple,
25996        High: Htuple,
25997        LightDark: Htuple,
25998    ) -> Herror;
25999}
26000unsafe extern "C" {
26001    pub fn lines_facet(
26002        Image: Hobject,
26003        Lines: *mut Hobject,
26004        MaskSize: Hlong,
26005        Low: f64,
26006        High: f64,
26007        LightDark: *const ::std::os::raw::c_char,
26008    ) -> Herror;
26009}
26010unsafe extern "C" {
26011    pub fn T_gen_filter_mask(
26012        ImageFilter: *mut Hobject,
26013        FilterMask: Htuple,
26014        Scale: Htuple,
26015        Width: Htuple,
26016        Height: Htuple,
26017    ) -> Herror;
26018}
26019unsafe extern "C" {
26020    pub fn gen_filter_mask(
26021        ImageFilter: *mut Hobject,
26022        FilterMask: *const ::std::os::raw::c_char,
26023        Scale: f64,
26024        Width: Hlong,
26025        Height: Hlong,
26026    ) -> Herror;
26027}
26028unsafe extern "C" {
26029    pub fn T_gen_mean_filter(
26030        ImageMean: *mut Hobject,
26031        MaskShape: Htuple,
26032        Diameter1: Htuple,
26033        Diameter2: Htuple,
26034        Phi: Htuple,
26035        Norm: Htuple,
26036        Mode: Htuple,
26037        Width: Htuple,
26038        Height: Htuple,
26039    ) -> Herror;
26040}
26041unsafe extern "C" {
26042    pub fn gen_mean_filter(
26043        ImageMean: *mut Hobject,
26044        MaskShape: *const ::std::os::raw::c_char,
26045        Diameter1: f64,
26046        Diameter2: f64,
26047        Phi: f64,
26048        Norm: *const ::std::os::raw::c_char,
26049        Mode: *const ::std::os::raw::c_char,
26050        Width: Hlong,
26051        Height: Hlong,
26052    ) -> Herror;
26053}
26054unsafe extern "C" {
26055    pub fn T_gen_gauss_filter(
26056        ImageGauss: *mut Hobject,
26057        Sigma1: Htuple,
26058        Sigma2: Htuple,
26059        Phi: Htuple,
26060        Norm: Htuple,
26061        Mode: Htuple,
26062        Width: Htuple,
26063        Height: Htuple,
26064    ) -> Herror;
26065}
26066unsafe extern "C" {
26067    pub fn gen_gauss_filter(
26068        ImageGauss: *mut Hobject,
26069        Sigma1: f64,
26070        Sigma2: f64,
26071        Phi: f64,
26072        Norm: *const ::std::os::raw::c_char,
26073        Mode: *const ::std::os::raw::c_char,
26074        Width: Hlong,
26075        Height: Hlong,
26076    ) -> Herror;
26077}
26078unsafe extern "C" {
26079    pub fn T_gen_derivative_filter(
26080        ImageDerivative: *mut Hobject,
26081        Derivative: Htuple,
26082        Exponent: Htuple,
26083        Norm: Htuple,
26084        Mode: Htuple,
26085        Width: Htuple,
26086        Height: Htuple,
26087    ) -> Herror;
26088}
26089unsafe extern "C" {
26090    pub fn gen_derivative_filter(
26091        ImageDerivative: *mut Hobject,
26092        Derivative: *const ::std::os::raw::c_char,
26093        Exponent: Hlong,
26094        Norm: *const ::std::os::raw::c_char,
26095        Mode: *const ::std::os::raw::c_char,
26096        Width: Hlong,
26097        Height: Hlong,
26098    ) -> Herror;
26099}
26100unsafe extern "C" {
26101    pub fn T_gen_std_bandpass(
26102        ImageFilter: *mut Hobject,
26103        Frequency: Htuple,
26104        Sigma: Htuple,
26105        Type: Htuple,
26106        Norm: Htuple,
26107        Mode: Htuple,
26108        Width: Htuple,
26109        Height: Htuple,
26110    ) -> Herror;
26111}
26112unsafe extern "C" {
26113    pub fn gen_std_bandpass(
26114        ImageFilter: *mut Hobject,
26115        Frequency: f64,
26116        Sigma: f64,
26117        Type: *const ::std::os::raw::c_char,
26118        Norm: *const ::std::os::raw::c_char,
26119        Mode: *const ::std::os::raw::c_char,
26120        Width: Hlong,
26121        Height: Hlong,
26122    ) -> Herror;
26123}
26124unsafe extern "C" {
26125    pub fn T_gen_sin_bandpass(
26126        ImageFilter: *mut Hobject,
26127        Frequency: Htuple,
26128        Norm: Htuple,
26129        Mode: Htuple,
26130        Width: Htuple,
26131        Height: Htuple,
26132    ) -> Herror;
26133}
26134unsafe extern "C" {
26135    pub fn gen_sin_bandpass(
26136        ImageFilter: *mut Hobject,
26137        Frequency: f64,
26138        Norm: *const ::std::os::raw::c_char,
26139        Mode: *const ::std::os::raw::c_char,
26140        Width: Hlong,
26141        Height: Hlong,
26142    ) -> Herror;
26143}
26144unsafe extern "C" {
26145    pub fn T_gen_bandfilter(
26146        ImageFilter: *mut Hobject,
26147        MinFrequency: Htuple,
26148        MaxFrequency: Htuple,
26149        Norm: Htuple,
26150        Mode: Htuple,
26151        Width: Htuple,
26152        Height: Htuple,
26153    ) -> Herror;
26154}
26155unsafe extern "C" {
26156    pub fn gen_bandfilter(
26157        ImageFilter: *mut Hobject,
26158        MinFrequency: f64,
26159        MaxFrequency: f64,
26160        Norm: *const ::std::os::raw::c_char,
26161        Mode: *const ::std::os::raw::c_char,
26162        Width: Hlong,
26163        Height: Hlong,
26164    ) -> Herror;
26165}
26166unsafe extern "C" {
26167    pub fn T_gen_bandpass(
26168        ImageBandpass: *mut Hobject,
26169        MinFrequency: Htuple,
26170        MaxFrequency: Htuple,
26171        Norm: Htuple,
26172        Mode: Htuple,
26173        Width: Htuple,
26174        Height: Htuple,
26175    ) -> Herror;
26176}
26177unsafe extern "C" {
26178    pub fn gen_bandpass(
26179        ImageBandpass: *mut Hobject,
26180        MinFrequency: f64,
26181        MaxFrequency: f64,
26182        Norm: *const ::std::os::raw::c_char,
26183        Mode: *const ::std::os::raw::c_char,
26184        Width: Hlong,
26185        Height: Hlong,
26186    ) -> Herror;
26187}
26188unsafe extern "C" {
26189    pub fn T_gen_lowpass(
26190        ImageLowpass: *mut Hobject,
26191        Frequency: Htuple,
26192        Norm: Htuple,
26193        Mode: Htuple,
26194        Width: Htuple,
26195        Height: Htuple,
26196    ) -> Herror;
26197}
26198unsafe extern "C" {
26199    pub fn gen_lowpass(
26200        ImageLowpass: *mut Hobject,
26201        Frequency: f64,
26202        Norm: *const ::std::os::raw::c_char,
26203        Mode: *const ::std::os::raw::c_char,
26204        Width: Hlong,
26205        Height: Hlong,
26206    ) -> Herror;
26207}
26208unsafe extern "C" {
26209    pub fn T_gen_highpass(
26210        ImageHighpass: *mut Hobject,
26211        Frequency: Htuple,
26212        Norm: Htuple,
26213        Mode: Htuple,
26214        Width: Htuple,
26215        Height: Htuple,
26216    ) -> Herror;
26217}
26218unsafe extern "C" {
26219    pub fn gen_highpass(
26220        ImageHighpass: *mut Hobject,
26221        Frequency: f64,
26222        Norm: *const ::std::os::raw::c_char,
26223        Mode: *const ::std::os::raw::c_char,
26224        Width: Hlong,
26225        Height: Hlong,
26226    ) -> Herror;
26227}
26228unsafe extern "C" {
26229    pub fn T_power_ln(Image: Hobject, ImageResult: *mut Hobject) -> Herror;
26230}
26231unsafe extern "C" {
26232    pub fn power_ln(Image: Hobject, ImageResult: *mut Hobject) -> Herror;
26233}
26234unsafe extern "C" {
26235    pub fn T_power_real(Image: Hobject, ImageResult: *mut Hobject) -> Herror;
26236}
26237unsafe extern "C" {
26238    pub fn power_real(Image: Hobject, ImageResult: *mut Hobject) -> Herror;
26239}
26240unsafe extern "C" {
26241    pub fn T_power_byte(Image: Hobject, PowerByte: *mut Hobject) -> Herror;
26242}
26243unsafe extern "C" {
26244    pub fn power_byte(Image: Hobject, PowerByte: *mut Hobject) -> Herror;
26245}
26246unsafe extern "C" {
26247    pub fn T_phase_deg(ImageComplex: Hobject, ImagePhase: *mut Hobject) -> Herror;
26248}
26249unsafe extern "C" {
26250    pub fn phase_deg(ImageComplex: Hobject, ImagePhase: *mut Hobject) -> Herror;
26251}
26252unsafe extern "C" {
26253    pub fn T_phase_rad(ImageComplex: Hobject, ImagePhase: *mut Hobject) -> Herror;
26254}
26255unsafe extern "C" {
26256    pub fn phase_rad(ImageComplex: Hobject, ImagePhase: *mut Hobject) -> Herror;
26257}
26258unsafe extern "C" {
26259    pub fn T_energy_gabor(
26260        ImageGabor: Hobject,
26261        ImageHilbert: Hobject,
26262        Energy: *mut Hobject,
26263    ) -> Herror;
26264}
26265unsafe extern "C" {
26266    pub fn energy_gabor(ImageGabor: Hobject, ImageHilbert: Hobject, Energy: *mut Hobject)
26267    -> Herror;
26268}
26269unsafe extern "C" {
26270    pub fn T_convol_gabor(
26271        ImageFFT: Hobject,
26272        GaborFilter: Hobject,
26273        ImageResultGabor: *mut Hobject,
26274        ImageResultHilbert: *mut Hobject,
26275    ) -> Herror;
26276}
26277unsafe extern "C" {
26278    pub fn convol_gabor(
26279        ImageFFT: Hobject,
26280        GaborFilter: Hobject,
26281        ImageResultGabor: *mut Hobject,
26282        ImageResultHilbert: *mut Hobject,
26283    ) -> Herror;
26284}
26285unsafe extern "C" {
26286    pub fn T_gen_gabor(
26287        ImageFilter: *mut Hobject,
26288        Angle: Htuple,
26289        Frequency: Htuple,
26290        Bandwidth: Htuple,
26291        Orientation: Htuple,
26292        Norm: Htuple,
26293        Mode: Htuple,
26294        Width: Htuple,
26295        Height: Htuple,
26296    ) -> Herror;
26297}
26298unsafe extern "C" {
26299    pub fn gen_gabor(
26300        ImageFilter: *mut Hobject,
26301        Angle: f64,
26302        Frequency: f64,
26303        Bandwidth: f64,
26304        Orientation: f64,
26305        Norm: *const ::std::os::raw::c_char,
26306        Mode: *const ::std::os::raw::c_char,
26307        Width: Hlong,
26308        Height: Hlong,
26309    ) -> Herror;
26310}
26311unsafe extern "C" {
26312    pub fn T_phase_correlation_fft(
26313        ImageFFT1: Hobject,
26314        ImageFFT2: Hobject,
26315        ImagePhaseCorrelation: *mut Hobject,
26316    ) -> Herror;
26317}
26318unsafe extern "C" {
26319    pub fn phase_correlation_fft(
26320        ImageFFT1: Hobject,
26321        ImageFFT2: Hobject,
26322        ImagePhaseCorrelation: *mut Hobject,
26323    ) -> Herror;
26324}
26325unsafe extern "C" {
26326    pub fn T_correlation_fft(
26327        ImageFFT1: Hobject,
26328        ImageFFT2: Hobject,
26329        ImageCorrelation: *mut Hobject,
26330    ) -> Herror;
26331}
26332unsafe extern "C" {
26333    pub fn correlation_fft(
26334        ImageFFT1: Hobject,
26335        ImageFFT2: Hobject,
26336        ImageCorrelation: *mut Hobject,
26337    ) -> Herror;
26338}
26339unsafe extern "C" {
26340    pub fn T_convol_fft(
26341        ImageFFT: Hobject,
26342        ImageFilter: Hobject,
26343        ImageConvol: *mut Hobject,
26344    ) -> Herror;
26345}
26346unsafe extern "C" {
26347    pub fn convol_fft(ImageFFT: Hobject, ImageFilter: Hobject, ImageConvol: *mut Hobject)
26348    -> Herror;
26349}
26350unsafe extern "C" {
26351    pub fn T_deserialize_fft_optimization_data(SerializedItemHandle: Htuple) -> Herror;
26352}
26353unsafe extern "C" {
26354    pub fn deserialize_fft_optimization_data(SerializedItemHandle: Hlong) -> Herror;
26355}
26356unsafe extern "C" {
26357    pub fn T_serialize_fft_optimization_data(SerializedItemHandle: *mut Htuple) -> Herror;
26358}
26359unsafe extern "C" {
26360    pub fn serialize_fft_optimization_data(SerializedItemHandle: *mut Hlong) -> Herror;
26361}
26362unsafe extern "C" {
26363    pub fn T_read_fft_optimization_data(FileName: Htuple) -> Herror;
26364}
26365unsafe extern "C" {
26366    pub fn read_fft_optimization_data(FileName: *const ::std::os::raw::c_char) -> Herror;
26367}
26368unsafe extern "C" {
26369    pub fn T_write_fft_optimization_data(FileName: Htuple) -> Herror;
26370}
26371unsafe extern "C" {
26372    pub fn write_fft_optimization_data(FileName: *const ::std::os::raw::c_char) -> Herror;
26373}
26374unsafe extern "C" {
26375    pub fn T_optimize_rft_speed(Width: Htuple, Height: Htuple, Mode: Htuple) -> Herror;
26376}
26377unsafe extern "C" {
26378    pub fn optimize_rft_speed(
26379        Width: Hlong,
26380        Height: Hlong,
26381        Mode: *const ::std::os::raw::c_char,
26382    ) -> Herror;
26383}
26384unsafe extern "C" {
26385    pub fn T_optimize_fft_speed(Width: Htuple, Height: Htuple, Mode: Htuple) -> Herror;
26386}
26387unsafe extern "C" {
26388    pub fn optimize_fft_speed(
26389        Width: Hlong,
26390        Height: Hlong,
26391        Mode: *const ::std::os::raw::c_char,
26392    ) -> Herror;
26393}
26394unsafe extern "C" {
26395    pub fn T_rft_generic(
26396        Image: Hobject,
26397        ImageFFT: *mut Hobject,
26398        Direction: Htuple,
26399        Norm: Htuple,
26400        ResultType: Htuple,
26401        Width: Htuple,
26402    ) -> Herror;
26403}
26404unsafe extern "C" {
26405    pub fn rft_generic(
26406        Image: Hobject,
26407        ImageFFT: *mut Hobject,
26408        Direction: *const ::std::os::raw::c_char,
26409        Norm: *const ::std::os::raw::c_char,
26410        ResultType: *const ::std::os::raw::c_char,
26411        Width: Hlong,
26412    ) -> Herror;
26413}
26414unsafe extern "C" {
26415    pub fn T_fft_image_inv(Image: Hobject, ImageFFTInv: *mut Hobject) -> Herror;
26416}
26417unsafe extern "C" {
26418    pub fn fft_image_inv(Image: Hobject, ImageFFTInv: *mut Hobject) -> Herror;
26419}
26420unsafe extern "C" {
26421    pub fn T_fft_image(Image: Hobject, ImageFFT: *mut Hobject) -> Herror;
26422}
26423unsafe extern "C" {
26424    pub fn fft_image(Image: Hobject, ImageFFT: *mut Hobject) -> Herror;
26425}
26426unsafe extern "C" {
26427    pub fn T_fft_generic(
26428        Image: Hobject,
26429        ImageFFT: *mut Hobject,
26430        Direction: Htuple,
26431        Exponent: Htuple,
26432        Norm: Htuple,
26433        Mode: Htuple,
26434        ResultType: Htuple,
26435    ) -> Herror;
26436}
26437unsafe extern "C" {
26438    pub fn fft_generic(
26439        Image: Hobject,
26440        ImageFFT: *mut Hobject,
26441        Direction: *const ::std::os::raw::c_char,
26442        Exponent: Hlong,
26443        Norm: *const ::std::os::raw::c_char,
26444        Mode: *const ::std::os::raw::c_char,
26445        ResultType: *const ::std::os::raw::c_char,
26446    ) -> Herror;
26447}
26448unsafe extern "C" {
26449    pub fn T_shock_filter(
26450        Image: Hobject,
26451        SharpenedImage: *mut Hobject,
26452        Theta: Htuple,
26453        Iterations: Htuple,
26454        Mode: Htuple,
26455        Sigma: Htuple,
26456    ) -> Herror;
26457}
26458unsafe extern "C" {
26459    pub fn shock_filter(
26460        Image: Hobject,
26461        SharpenedImage: *mut Hobject,
26462        Theta: f64,
26463        Iterations: Hlong,
26464        Mode: *const ::std::os::raw::c_char,
26465        Sigma: f64,
26466    ) -> Herror;
26467}
26468unsafe extern "C" {
26469    pub fn T_mean_curvature_flow(
26470        Image: Hobject,
26471        ImageMCF: *mut Hobject,
26472        Sigma: Htuple,
26473        Theta: Htuple,
26474        Iterations: Htuple,
26475    ) -> Herror;
26476}
26477unsafe extern "C" {
26478    pub fn mean_curvature_flow(
26479        Image: Hobject,
26480        ImageMCF: *mut Hobject,
26481        Sigma: f64,
26482        Theta: f64,
26483        Iterations: Hlong,
26484    ) -> Herror;
26485}
26486unsafe extern "C" {
26487    pub fn T_coherence_enhancing_diff(
26488        Image: Hobject,
26489        ImageCED: *mut Hobject,
26490        Sigma: Htuple,
26491        Rho: Htuple,
26492        Theta: Htuple,
26493        Iterations: Htuple,
26494    ) -> Herror;
26495}
26496unsafe extern "C" {
26497    pub fn coherence_enhancing_diff(
26498        Image: Hobject,
26499        ImageCED: *mut Hobject,
26500        Sigma: f64,
26501        Rho: f64,
26502        Theta: f64,
26503        Iterations: Hlong,
26504    ) -> Herror;
26505}
26506unsafe extern "C" {
26507    pub fn T_equ_histo_image(Image: Hobject, ImageEquHisto: *mut Hobject) -> Herror;
26508}
26509unsafe extern "C" {
26510    pub fn equ_histo_image(Image: Hobject, ImageEquHisto: *mut Hobject) -> Herror;
26511}
26512unsafe extern "C" {
26513    pub fn T_illuminate(
26514        Image: Hobject,
26515        ImageIlluminate: *mut Hobject,
26516        MaskWidth: Htuple,
26517        MaskHeight: Htuple,
26518        Factor: Htuple,
26519    ) -> Herror;
26520}
26521unsafe extern "C" {
26522    pub fn illuminate(
26523        Image: Hobject,
26524        ImageIlluminate: *mut Hobject,
26525        MaskWidth: Hlong,
26526        MaskHeight: Hlong,
26527        Factor: f64,
26528    ) -> Herror;
26529}
26530unsafe extern "C" {
26531    pub fn T_emphasize(
26532        Image: Hobject,
26533        ImageEmphasize: *mut Hobject,
26534        MaskWidth: Htuple,
26535        MaskHeight: Htuple,
26536        Factor: Htuple,
26537    ) -> Herror;
26538}
26539unsafe extern "C" {
26540    pub fn emphasize(
26541        Image: Hobject,
26542        ImageEmphasize: *mut Hobject,
26543        MaskWidth: Hlong,
26544        MaskHeight: Hlong,
26545        Factor: f64,
26546    ) -> Herror;
26547}
26548unsafe extern "C" {
26549    pub fn T_scale_image_max(Image: Hobject, ImageScaleMax: *mut Hobject) -> Herror;
26550}
26551unsafe extern "C" {
26552    pub fn scale_image_max(Image: Hobject, ImageScaleMax: *mut Hobject) -> Herror;
26553}
26554unsafe extern "C" {
26555    pub fn T_robinson_dir(
26556        Image: Hobject,
26557        ImageEdgeAmp: *mut Hobject,
26558        ImageEdgeDir: *mut Hobject,
26559    ) -> Herror;
26560}
26561unsafe extern "C" {
26562    pub fn robinson_dir(
26563        Image: Hobject,
26564        ImageEdgeAmp: *mut Hobject,
26565        ImageEdgeDir: *mut Hobject,
26566    ) -> Herror;
26567}
26568unsafe extern "C" {
26569    pub fn T_robinson_amp(Image: Hobject, ImageEdgeAmp: *mut Hobject) -> Herror;
26570}
26571unsafe extern "C" {
26572    pub fn robinson_amp(Image: Hobject, ImageEdgeAmp: *mut Hobject) -> Herror;
26573}
26574unsafe extern "C" {
26575    pub fn T_kirsch_dir(
26576        Image: Hobject,
26577        ImageEdgeAmp: *mut Hobject,
26578        ImageEdgeDir: *mut Hobject,
26579    ) -> Herror;
26580}
26581unsafe extern "C" {
26582    pub fn kirsch_dir(
26583        Image: Hobject,
26584        ImageEdgeAmp: *mut Hobject,
26585        ImageEdgeDir: *mut Hobject,
26586    ) -> Herror;
26587}
26588unsafe extern "C" {
26589    pub fn T_kirsch_amp(Image: Hobject, ImageEdgeAmp: *mut Hobject) -> Herror;
26590}
26591unsafe extern "C" {
26592    pub fn kirsch_amp(Image: Hobject, ImageEdgeAmp: *mut Hobject) -> Herror;
26593}
26594unsafe extern "C" {
26595    pub fn T_frei_dir(
26596        Image: Hobject,
26597        ImageEdgeAmp: *mut Hobject,
26598        ImageEdgeDir: *mut Hobject,
26599    ) -> Herror;
26600}
26601unsafe extern "C" {
26602    pub fn frei_dir(
26603        Image: Hobject,
26604        ImageEdgeAmp: *mut Hobject,
26605        ImageEdgeDir: *mut Hobject,
26606    ) -> Herror;
26607}
26608unsafe extern "C" {
26609    pub fn T_frei_amp(Image: Hobject, ImageEdgeAmp: *mut Hobject) -> Herror;
26610}
26611unsafe extern "C" {
26612    pub fn frei_amp(Image: Hobject, ImageEdgeAmp: *mut Hobject) -> Herror;
26613}
26614unsafe extern "C" {
26615    pub fn T_prewitt_dir(
26616        Image: Hobject,
26617        ImageEdgeAmp: *mut Hobject,
26618        ImageEdgeDir: *mut Hobject,
26619    ) -> Herror;
26620}
26621unsafe extern "C" {
26622    pub fn prewitt_dir(
26623        Image: Hobject,
26624        ImageEdgeAmp: *mut Hobject,
26625        ImageEdgeDir: *mut Hobject,
26626    ) -> Herror;
26627}
26628unsafe extern "C" {
26629    pub fn T_prewitt_amp(Image: Hobject, ImageEdgeAmp: *mut Hobject) -> Herror;
26630}
26631unsafe extern "C" {
26632    pub fn prewitt_amp(Image: Hobject, ImageEdgeAmp: *mut Hobject) -> Herror;
26633}
26634unsafe extern "C" {
26635    pub fn T_sobel_amp(
26636        Image: Hobject,
26637        EdgeAmplitude: *mut Hobject,
26638        FilterType: Htuple,
26639        Size: Htuple,
26640    ) -> Herror;
26641}
26642unsafe extern "C" {
26643    pub fn sobel_amp(
26644        Image: Hobject,
26645        EdgeAmplitude: *mut Hobject,
26646        FilterType: *const ::std::os::raw::c_char,
26647        Size: Hlong,
26648    ) -> Herror;
26649}
26650unsafe extern "C" {
26651    pub fn T_sobel_dir(
26652        Image: Hobject,
26653        EdgeAmplitude: *mut Hobject,
26654        EdgeDirection: *mut Hobject,
26655        FilterType: Htuple,
26656        Size: Htuple,
26657    ) -> Herror;
26658}
26659unsafe extern "C" {
26660    pub fn sobel_dir(
26661        Image: Hobject,
26662        EdgeAmplitude: *mut Hobject,
26663        EdgeDirection: *mut Hobject,
26664        FilterType: *const ::std::os::raw::c_char,
26665        Size: Hlong,
26666    ) -> Herror;
26667}
26668unsafe extern "C" {
26669    pub fn T_roberts(Image: Hobject, ImageRoberts: *mut Hobject, FilterType: Htuple) -> Herror;
26670}
26671unsafe extern "C" {
26672    pub fn roberts(
26673        Image: Hobject,
26674        ImageRoberts: *mut Hobject,
26675        FilterType: *const ::std::os::raw::c_char,
26676    ) -> Herror;
26677}
26678unsafe extern "C" {
26679    pub fn T_laplace(
26680        Image: Hobject,
26681        ImageLaplace: *mut Hobject,
26682        ResultType: Htuple,
26683        MaskSize: Htuple,
26684        FilterMask: Htuple,
26685    ) -> Herror;
26686}
26687unsafe extern "C" {
26688    pub fn laplace(
26689        Image: Hobject,
26690        ImageLaplace: *mut Hobject,
26691        ResultType: *const ::std::os::raw::c_char,
26692        MaskSize: Hlong,
26693        FilterMask: *const ::std::os::raw::c_char,
26694    ) -> Herror;
26695}
26696unsafe extern "C" {
26697    pub fn T_highpass_image(
26698        Image: Hobject,
26699        Highpass: *mut Hobject,
26700        Width: Htuple,
26701        Height: Htuple,
26702    ) -> Herror;
26703}
26704unsafe extern "C" {
26705    pub fn highpass_image(
26706        Image: Hobject,
26707        Highpass: *mut Hobject,
26708        Width: Hlong,
26709        Height: Hlong,
26710    ) -> Herror;
26711}
26712unsafe extern "C" {
26713    pub fn T_info_edges(
26714        Filter: Htuple,
26715        Mode: Htuple,
26716        Alpha: Htuple,
26717        Size: *mut Htuple,
26718        Coeffs: *mut Htuple,
26719    ) -> Herror;
26720}
26721unsafe extern "C" {
26722    pub fn T_edges_color_sub_pix(
26723        Image: Hobject,
26724        Edges: *mut Hobject,
26725        Filter: Htuple,
26726        Alpha: Htuple,
26727        Low: Htuple,
26728        High: Htuple,
26729    ) -> Herror;
26730}
26731unsafe extern "C" {
26732    pub fn edges_color_sub_pix(
26733        Image: Hobject,
26734        Edges: *mut Hobject,
26735        Filter: *const ::std::os::raw::c_char,
26736        Alpha: f64,
26737        Low: f64,
26738        High: f64,
26739    ) -> Herror;
26740}
26741unsafe extern "C" {
26742    pub fn T_edges_color(
26743        Image: Hobject,
26744        ImaAmp: *mut Hobject,
26745        ImaDir: *mut Hobject,
26746        Filter: Htuple,
26747        Alpha: Htuple,
26748        NMS: Htuple,
26749        Low: Htuple,
26750        High: Htuple,
26751    ) -> Herror;
26752}
26753unsafe extern "C" {
26754    pub fn edges_color(
26755        Image: Hobject,
26756        ImaAmp: *mut Hobject,
26757        ImaDir: *mut Hobject,
26758        Filter: *const ::std::os::raw::c_char,
26759        Alpha: f64,
26760        NMS: *const ::std::os::raw::c_char,
26761        Low: Hlong,
26762        High: Hlong,
26763    ) -> Herror;
26764}
26765unsafe extern "C" {
26766    pub fn T_edges_sub_pix(
26767        Image: Hobject,
26768        Edges: *mut Hobject,
26769        Filter: Htuple,
26770        Alpha: Htuple,
26771        Low: Htuple,
26772        High: Htuple,
26773    ) -> Herror;
26774}
26775unsafe extern "C" {
26776    pub fn edges_sub_pix(
26777        Image: Hobject,
26778        Edges: *mut Hobject,
26779        Filter: *const ::std::os::raw::c_char,
26780        Alpha: f64,
26781        Low: Hlong,
26782        High: Hlong,
26783    ) -> Herror;
26784}
26785unsafe extern "C" {
26786    pub fn T_edges_image(
26787        Image: Hobject,
26788        ImaAmp: *mut Hobject,
26789        ImaDir: *mut Hobject,
26790        Filter: Htuple,
26791        Alpha: Htuple,
26792        NMS: Htuple,
26793        Low: Htuple,
26794        High: Htuple,
26795    ) -> Herror;
26796}
26797unsafe extern "C" {
26798    pub fn edges_image(
26799        Image: Hobject,
26800        ImaAmp: *mut Hobject,
26801        ImaDir: *mut Hobject,
26802        Filter: *const ::std::os::raw::c_char,
26803        Alpha: f64,
26804        NMS: *const ::std::os::raw::c_char,
26805        Low: Hlong,
26806        High: Hlong,
26807    ) -> Herror;
26808}
26809unsafe extern "C" {
26810    pub fn T_derivate_gauss(
26811        Image: Hobject,
26812        DerivGauss: *mut Hobject,
26813        Sigma: Htuple,
26814        Component: Htuple,
26815    ) -> Herror;
26816}
26817unsafe extern "C" {
26818    pub fn derivate_gauss(
26819        Image: Hobject,
26820        DerivGauss: *mut Hobject,
26821        Sigma: f64,
26822        Component: *const ::std::os::raw::c_char,
26823    ) -> Herror;
26824}
26825unsafe extern "C" {
26826    pub fn T_laplace_of_gauss(Image: Hobject, ImageLaplace: *mut Hobject, Sigma: Htuple) -> Herror;
26827}
26828unsafe extern "C" {
26829    pub fn laplace_of_gauss(Image: Hobject, ImageLaplace: *mut Hobject, Sigma: f64) -> Herror;
26830}
26831unsafe extern "C" {
26832    pub fn T_diff_of_gauss(
26833        Image: Hobject,
26834        DiffOfGauss: *mut Hobject,
26835        Sigma: Htuple,
26836        SigFactor: Htuple,
26837    ) -> Herror;
26838}
26839unsafe extern "C" {
26840    pub fn diff_of_gauss(
26841        Image: Hobject,
26842        DiffOfGauss: *mut Hobject,
26843        Sigma: f64,
26844        SigFactor: f64,
26845    ) -> Herror;
26846}
26847unsafe extern "C" {
26848    pub fn T_close_edges_length(
26849        Edges: Hobject,
26850        Gradient: Hobject,
26851        ClosedEdges: *mut Hobject,
26852        MinAmplitude: Htuple,
26853        MaxGapLength: Htuple,
26854    ) -> Herror;
26855}
26856unsafe extern "C" {
26857    pub fn close_edges_length(
26858        Edges: Hobject,
26859        Gradient: Hobject,
26860        ClosedEdges: *mut Hobject,
26861        MinAmplitude: Hlong,
26862        MaxGapLength: Hlong,
26863    ) -> Herror;
26864}
26865unsafe extern "C" {
26866    pub fn T_close_edges(
26867        Edges: Hobject,
26868        EdgeImage: Hobject,
26869        RegionResult: *mut Hobject,
26870        MinAmplitude: Htuple,
26871    ) -> Herror;
26872}
26873unsafe extern "C" {
26874    pub fn close_edges(
26875        Edges: Hobject,
26876        EdgeImage: Hobject,
26877        RegionResult: *mut Hobject,
26878        MinAmplitude: Hlong,
26879    ) -> Herror;
26880}
26881unsafe extern "C" {
26882    pub fn T_detect_edge_segments(
26883        Image: Hobject,
26884        SobelSize: Htuple,
26885        MinAmplitude: Htuple,
26886        MaxDistance: Htuple,
26887        MinLength: Htuple,
26888        BeginRow: *mut Htuple,
26889        BeginCol: *mut Htuple,
26890        EndRow: *mut Htuple,
26891        EndCol: *mut Htuple,
26892    ) -> Herror;
26893}
26894unsafe extern "C" {
26895    pub fn T_clear_all_color_trans_luts() -> Herror;
26896}
26897unsafe extern "C" {
26898    pub fn clear_all_color_trans_luts() -> Herror;
26899}
26900unsafe extern "C" {
26901    pub fn T_clear_color_trans_lut(ColorTransLUTHandle: Htuple) -> Herror;
26902}
26903unsafe extern "C" {
26904    pub fn clear_color_trans_lut(ColorTransLUTHandle: Hlong) -> Herror;
26905}
26906unsafe extern "C" {
26907    pub fn T_apply_color_trans_lut(
26908        Image1: Hobject,
26909        Image2: Hobject,
26910        Image3: Hobject,
26911        ImageResult1: *mut Hobject,
26912        ImageResult2: *mut Hobject,
26913        ImageResult3: *mut Hobject,
26914        ColorTransLUTHandle: Htuple,
26915    ) -> Herror;
26916}
26917unsafe extern "C" {
26918    pub fn apply_color_trans_lut(
26919        Image1: Hobject,
26920        Image2: Hobject,
26921        Image3: Hobject,
26922        ImageResult1: *mut Hobject,
26923        ImageResult2: *mut Hobject,
26924        ImageResult3: *mut Hobject,
26925        ColorTransLUTHandle: Hlong,
26926    ) -> Herror;
26927}
26928unsafe extern "C" {
26929    pub fn T_create_color_trans_lut(
26930        ColorSpace: Htuple,
26931        TransDirection: Htuple,
26932        NumBits: Htuple,
26933        ColorTransLUTHandle: *mut Htuple,
26934    ) -> Herror;
26935}
26936unsafe extern "C" {
26937    pub fn create_color_trans_lut(
26938        ColorSpace: *const ::std::os::raw::c_char,
26939        TransDirection: *const ::std::os::raw::c_char,
26940        NumBits: Hlong,
26941        ColorTransLUTHandle: *mut Hlong,
26942    ) -> Herror;
26943}
26944unsafe extern "C" {
26945    pub fn T_cfa_to_rgb(
26946        CFAImage: Hobject,
26947        RGBImage: *mut Hobject,
26948        CFAType: Htuple,
26949        Interpolation: Htuple,
26950    ) -> Herror;
26951}
26952unsafe extern "C" {
26953    pub fn cfa_to_rgb(
26954        CFAImage: Hobject,
26955        RGBImage: *mut Hobject,
26956        CFAType: *const ::std::os::raw::c_char,
26957        Interpolation: *const ::std::os::raw::c_char,
26958    ) -> Herror;
26959}
26960unsafe extern "C" {
26961    pub fn T_rgb1_to_gray(RGBImage: Hobject, GrayImage: *mut Hobject) -> Herror;
26962}
26963unsafe extern "C" {
26964    pub fn rgb1_to_gray(RGBImage: Hobject, GrayImage: *mut Hobject) -> Herror;
26965}
26966unsafe extern "C" {
26967    pub fn T_rgb3_to_gray(
26968        ImageRed: Hobject,
26969        ImageGreen: Hobject,
26970        ImageBlue: Hobject,
26971        ImageGray: *mut Hobject,
26972    ) -> Herror;
26973}
26974unsafe extern "C" {
26975    pub fn rgb3_to_gray(
26976        ImageRed: Hobject,
26977        ImageGreen: Hobject,
26978        ImageBlue: Hobject,
26979        ImageGray: *mut Hobject,
26980    ) -> Herror;
26981}
26982unsafe extern "C" {
26983    pub fn T_trans_from_rgb(
26984        ImageRed: Hobject,
26985        ImageGreen: Hobject,
26986        ImageBlue: Hobject,
26987        ImageResult1: *mut Hobject,
26988        ImageResult2: *mut Hobject,
26989        ImageResult3: *mut Hobject,
26990        ColorSpace: Htuple,
26991    ) -> Herror;
26992}
26993unsafe extern "C" {
26994    pub fn trans_from_rgb(
26995        ImageRed: Hobject,
26996        ImageGreen: Hobject,
26997        ImageBlue: Hobject,
26998        ImageResult1: *mut Hobject,
26999        ImageResult2: *mut Hobject,
27000        ImageResult3: *mut Hobject,
27001        ColorSpace: *const ::std::os::raw::c_char,
27002    ) -> Herror;
27003}
27004unsafe extern "C" {
27005    pub fn T_trans_to_rgb(
27006        ImageInput1: Hobject,
27007        ImageInput2: Hobject,
27008        ImageInput3: Hobject,
27009        ImageRed: *mut Hobject,
27010        ImageGreen: *mut Hobject,
27011        ImageBlue: *mut Hobject,
27012        ColorSpace: Htuple,
27013    ) -> Herror;
27014}
27015unsafe extern "C" {
27016    pub fn trans_to_rgb(
27017        ImageInput1: Hobject,
27018        ImageInput2: Hobject,
27019        ImageInput3: Hobject,
27020        ImageRed: *mut Hobject,
27021        ImageGreen: *mut Hobject,
27022        ImageBlue: *mut Hobject,
27023        ColorSpace: *const ::std::os::raw::c_char,
27024    ) -> Herror;
27025}
27026unsafe extern "C" {
27027    pub fn T_bit_mask(Image: Hobject, ImageMask: *mut Hobject, BitMask: Htuple) -> Herror;
27028}
27029unsafe extern "C" {
27030    pub fn bit_mask(Image: Hobject, ImageMask: *mut Hobject, BitMask: Hlong) -> Herror;
27031}
27032unsafe extern "C" {
27033    pub fn T_bit_slice(Image: Hobject, ImageSlice: *mut Hobject, Bit: Htuple) -> Herror;
27034}
27035unsafe extern "C" {
27036    pub fn bit_slice(Image: Hobject, ImageSlice: *mut Hobject, Bit: Hlong) -> Herror;
27037}
27038unsafe extern "C" {
27039    pub fn T_bit_rshift(Image: Hobject, ImageRShift: *mut Hobject, Shift: Htuple) -> Herror;
27040}
27041unsafe extern "C" {
27042    pub fn bit_rshift(Image: Hobject, ImageRShift: *mut Hobject, Shift: Hlong) -> Herror;
27043}
27044unsafe extern "C" {
27045    pub fn T_bit_lshift(Image: Hobject, ImageLShift: *mut Hobject, Shift: Htuple) -> Herror;
27046}
27047unsafe extern "C" {
27048    pub fn bit_lshift(Image: Hobject, ImageLShift: *mut Hobject, Shift: Hlong) -> Herror;
27049}
27050unsafe extern "C" {
27051    pub fn T_bit_not(Image: Hobject, ImageNot: *mut Hobject) -> Herror;
27052}
27053unsafe extern "C" {
27054    pub fn bit_not(Image: Hobject, ImageNot: *mut Hobject) -> Herror;
27055}
27056unsafe extern "C" {
27057    pub fn T_bit_xor(Image1: Hobject, Image2: Hobject, ImageXor: *mut Hobject) -> Herror;
27058}
27059unsafe extern "C" {
27060    pub fn bit_xor(Image1: Hobject, Image2: Hobject, ImageXor: *mut Hobject) -> Herror;
27061}
27062unsafe extern "C" {
27063    pub fn T_bit_or(Image1: Hobject, Image2: Hobject, ImageOr: *mut Hobject) -> Herror;
27064}
27065unsafe extern "C" {
27066    pub fn bit_or(Image1: Hobject, Image2: Hobject, ImageOr: *mut Hobject) -> Herror;
27067}
27068unsafe extern "C" {
27069    pub fn T_bit_and(Image1: Hobject, Image2: Hobject, ImageAnd: *mut Hobject) -> Herror;
27070}
27071unsafe extern "C" {
27072    pub fn bit_and(Image1: Hobject, Image2: Hobject, ImageAnd: *mut Hobject) -> Herror;
27073}
27074unsafe extern "C" {
27075    pub fn T_gamma_image(
27076        Image: Hobject,
27077        GammaImage: *mut Hobject,
27078        Gamma: Htuple,
27079        Offset: Htuple,
27080        Threshold: Htuple,
27081        MaxGray: Htuple,
27082        Encode: Htuple,
27083    ) -> Herror;
27084}
27085unsafe extern "C" {
27086    pub fn gamma_image(
27087        Image: Hobject,
27088        GammaImage: *mut Hobject,
27089        Gamma: f64,
27090        Offset: f64,
27091        Threshold: f64,
27092        MaxGray: f64,
27093        Encode: *const ::std::os::raw::c_char,
27094    ) -> Herror;
27095}
27096unsafe extern "C" {
27097    pub fn T_pow_image(Image: Hobject, PowImage: *mut Hobject, Exponent: Htuple) -> Herror;
27098}
27099unsafe extern "C" {
27100    pub fn pow_image(Image: Hobject, PowImage: *mut Hobject, Exponent: f64) -> Herror;
27101}
27102unsafe extern "C" {
27103    pub fn T_exp_image(Image: Hobject, ExpImage: *mut Hobject, Base: Htuple) -> Herror;
27104}
27105unsafe extern "C" {
27106    pub fn exp_image(
27107        Image: Hobject,
27108        ExpImage: *mut Hobject,
27109        Base: *const ::std::os::raw::c_char,
27110    ) -> Herror;
27111}
27112unsafe extern "C" {
27113    pub fn T_log_image(Image: Hobject, LogImage: *mut Hobject, Base: Htuple) -> Herror;
27114}
27115unsafe extern "C" {
27116    pub fn log_image(
27117        Image: Hobject,
27118        LogImage: *mut Hobject,
27119        Base: *const ::std::os::raw::c_char,
27120    ) -> Herror;
27121}
27122unsafe extern "C" {
27123    pub fn T_atan2_image(ImageY: Hobject, ImageX: Hobject, ArctanImage: *mut Hobject) -> Herror;
27124}
27125unsafe extern "C" {
27126    pub fn atan2_image(ImageY: Hobject, ImageX: Hobject, ArctanImage: *mut Hobject) -> Herror;
27127}
27128unsafe extern "C" {
27129    pub fn T_atan_image(Image: Hobject, ArctanImage: *mut Hobject) -> Herror;
27130}
27131unsafe extern "C" {
27132    pub fn atan_image(Image: Hobject, ArctanImage: *mut Hobject) -> Herror;
27133}
27134unsafe extern "C" {
27135    pub fn T_acos_image(Image: Hobject, ArccosImage: *mut Hobject) -> Herror;
27136}
27137unsafe extern "C" {
27138    pub fn acos_image(Image: Hobject, ArccosImage: *mut Hobject) -> Herror;
27139}
27140unsafe extern "C" {
27141    pub fn T_asin_image(Image: Hobject, ArcsinImage: *mut Hobject) -> Herror;
27142}
27143unsafe extern "C" {
27144    pub fn asin_image(Image: Hobject, ArcsinImage: *mut Hobject) -> Herror;
27145}
27146unsafe extern "C" {
27147    pub fn T_tan_image(Image: Hobject, TanImage: *mut Hobject) -> Herror;
27148}
27149unsafe extern "C" {
27150    pub fn tan_image(Image: Hobject, TanImage: *mut Hobject) -> Herror;
27151}
27152unsafe extern "C" {
27153    pub fn T_cos_image(Image: Hobject, CosImage: *mut Hobject) -> Herror;
27154}
27155unsafe extern "C" {
27156    pub fn cos_image(Image: Hobject, CosImage: *mut Hobject) -> Herror;
27157}
27158unsafe extern "C" {
27159    pub fn T_sin_image(Image: Hobject, SinImage: *mut Hobject) -> Herror;
27160}
27161unsafe extern "C" {
27162    pub fn sin_image(Image: Hobject, SinImage: *mut Hobject) -> Herror;
27163}
27164unsafe extern "C" {
27165    pub fn T_abs_diff_image(
27166        Image1: Hobject,
27167        Image2: Hobject,
27168        ImageAbsDiff: *mut Hobject,
27169        Mult: Htuple,
27170    ) -> Herror;
27171}
27172unsafe extern "C" {
27173    pub fn abs_diff_image(
27174        Image1: Hobject,
27175        Image2: Hobject,
27176        ImageAbsDiff: *mut Hobject,
27177        Mult: f64,
27178    ) -> Herror;
27179}
27180unsafe extern "C" {
27181    pub fn T_sqrt_image(Image: Hobject, SqrtImage: *mut Hobject) -> Herror;
27182}
27183unsafe extern "C" {
27184    pub fn sqrt_image(Image: Hobject, SqrtImage: *mut Hobject) -> Herror;
27185}
27186unsafe extern "C" {
27187    pub fn T_sub_image(
27188        ImageMinuend: Hobject,
27189        ImageSubtrahend: Hobject,
27190        ImageSub: *mut Hobject,
27191        Mult: Htuple,
27192        Add: Htuple,
27193    ) -> Herror;
27194}
27195unsafe extern "C" {
27196    pub fn sub_image(
27197        ImageMinuend: Hobject,
27198        ImageSubtrahend: Hobject,
27199        ImageSub: *mut Hobject,
27200        Mult: f64,
27201        Add: f64,
27202    ) -> Herror;
27203}
27204unsafe extern "C" {
27205    pub fn T_scale_image(
27206        Image: Hobject,
27207        ImageScaled: *mut Hobject,
27208        Mult: Htuple,
27209        Add: Htuple,
27210    ) -> Herror;
27211}
27212unsafe extern "C" {
27213    pub fn scale_image(Image: Hobject, ImageScaled: *mut Hobject, Mult: f64, Add: f64) -> Herror;
27214}
27215unsafe extern "C" {
27216    pub fn T_div_image(
27217        Image1: Hobject,
27218        Image2: Hobject,
27219        ImageResult: *mut Hobject,
27220        Mult: Htuple,
27221        Add: Htuple,
27222    ) -> Herror;
27223}
27224unsafe extern "C" {
27225    pub fn div_image(
27226        Image1: Hobject,
27227        Image2: Hobject,
27228        ImageResult: *mut Hobject,
27229        Mult: f64,
27230        Add: f64,
27231    ) -> Herror;
27232}
27233unsafe extern "C" {
27234    pub fn T_mult_image(
27235        Image1: Hobject,
27236        Image2: Hobject,
27237        ImageResult: *mut Hobject,
27238        Mult: Htuple,
27239        Add: Htuple,
27240    ) -> Herror;
27241}
27242unsafe extern "C" {
27243    pub fn mult_image(
27244        Image1: Hobject,
27245        Image2: Hobject,
27246        ImageResult: *mut Hobject,
27247        Mult: f64,
27248        Add: f64,
27249    ) -> Herror;
27250}
27251unsafe extern "C" {
27252    pub fn T_add_image(
27253        Image1: Hobject,
27254        Image2: Hobject,
27255        ImageResult: *mut Hobject,
27256        Mult: Htuple,
27257        Add: Htuple,
27258    ) -> Herror;
27259}
27260unsafe extern "C" {
27261    pub fn add_image(
27262        Image1: Hobject,
27263        Image2: Hobject,
27264        ImageResult: *mut Hobject,
27265        Mult: f64,
27266        Add: f64,
27267    ) -> Herror;
27268}
27269unsafe extern "C" {
27270    pub fn T_abs_image(Image: Hobject, ImageAbs: *mut Hobject) -> Herror;
27271}
27272unsafe extern "C" {
27273    pub fn abs_image(Image: Hobject, ImageAbs: *mut Hobject) -> Herror;
27274}
27275unsafe extern "C" {
27276    pub fn T_min_image(Image1: Hobject, Image2: Hobject, ImageMin: *mut Hobject) -> Herror;
27277}
27278unsafe extern "C" {
27279    pub fn min_image(Image1: Hobject, Image2: Hobject, ImageMin: *mut Hobject) -> Herror;
27280}
27281unsafe extern "C" {
27282    pub fn T_max_image(Image1: Hobject, Image2: Hobject, ImageMax: *mut Hobject) -> Herror;
27283}
27284unsafe extern "C" {
27285    pub fn max_image(Image1: Hobject, Image2: Hobject, ImageMax: *mut Hobject) -> Herror;
27286}
27287unsafe extern "C" {
27288    pub fn T_invert_image(Image: Hobject, ImageInvert: *mut Hobject) -> Herror;
27289}
27290unsafe extern "C" {
27291    pub fn invert_image(Image: Hobject, ImageInvert: *mut Hobject) -> Herror;
27292}
27293unsafe extern "C" {
27294    pub fn T_adjust_mosaic_images(
27295        Images: Hobject,
27296        CorrectedImages: *mut Hobject,
27297        From: Htuple,
27298        To: Htuple,
27299        ReferenceImage: Htuple,
27300        HomMatrices2D: Htuple,
27301        EstimationMethod: Htuple,
27302        EstimateParameters: Htuple,
27303        OECFModel: Htuple,
27304    ) -> Herror;
27305}
27306unsafe extern "C" {
27307    pub fn T_gen_cube_map_mosaic(
27308        Images: Hobject,
27309        Front: *mut Hobject,
27310        Rear: *mut Hobject,
27311        Left: *mut Hobject,
27312        Right: *mut Hobject,
27313        Top: *mut Hobject,
27314        Bottom: *mut Hobject,
27315        CameraMatrices: Htuple,
27316        RotationMatrices: Htuple,
27317        CubeMapDimension: Htuple,
27318        StackingOrder: Htuple,
27319        Interpolation: Htuple,
27320    ) -> Herror;
27321}
27322unsafe extern "C" {
27323    pub fn T_gen_spherical_mosaic(
27324        Images: Hobject,
27325        MosaicImage: *mut Hobject,
27326        CameraMatrices: Htuple,
27327        RotationMatrices: Htuple,
27328        LatMin: Htuple,
27329        LatMax: Htuple,
27330        LongMin: Htuple,
27331        LongMax: Htuple,
27332        LatLongStep: Htuple,
27333        StackingOrder: Htuple,
27334        Interpolation: Htuple,
27335    ) -> Herror;
27336}
27337unsafe extern "C" {
27338    pub fn T_gen_bundle_adjusted_mosaic(
27339        Images: Hobject,
27340        MosaicImage: *mut Hobject,
27341        HomMatrices2D: Htuple,
27342        StackingOrder: Htuple,
27343        TransformDomain: Htuple,
27344        TransMat2D: *mut Htuple,
27345    ) -> Herror;
27346}
27347unsafe extern "C" {
27348    pub fn T_gen_projective_mosaic(
27349        Images: Hobject,
27350        MosaicImage: *mut Hobject,
27351        StartImage: Htuple,
27352        MappingSource: Htuple,
27353        MappingDest: Htuple,
27354        HomMatrices2D: Htuple,
27355        StackingOrder: Htuple,
27356        TransformDomain: Htuple,
27357        MosaicMatrices2D: *mut Htuple,
27358    ) -> Herror;
27359}
27360unsafe extern "C" {
27361    pub fn T_projective_trans_image_size(
27362        Image: Hobject,
27363        TransImage: *mut Hobject,
27364        HomMat2D: Htuple,
27365        Interpolation: Htuple,
27366        Width: Htuple,
27367        Height: Htuple,
27368        TransformDomain: Htuple,
27369    ) -> Herror;
27370}
27371unsafe extern "C" {
27372    pub fn T_projective_trans_image(
27373        Image: Hobject,
27374        TransImage: *mut Hobject,
27375        HomMat2D: Htuple,
27376        Interpolation: Htuple,
27377        AdaptImageSize: Htuple,
27378        TransformDomain: Htuple,
27379    ) -> Herror;
27380}
27381unsafe extern "C" {
27382    pub fn T_affine_trans_image_size(
27383        Image: Hobject,
27384        ImageAffineTrans: *mut Hobject,
27385        HomMat2D: Htuple,
27386        Interpolation: Htuple,
27387        Width: Htuple,
27388        Height: Htuple,
27389    ) -> Herror;
27390}
27391unsafe extern "C" {
27392    pub fn T_affine_trans_image(
27393        Image: Hobject,
27394        ImageAffineTrans: *mut Hobject,
27395        HomMat2D: Htuple,
27396        Interpolation: Htuple,
27397        AdaptImageSize: Htuple,
27398    ) -> Herror;
27399}
27400unsafe extern "C" {
27401    pub fn T_zoom_image_factor(
27402        Image: Hobject,
27403        ImageZoomed: *mut Hobject,
27404        ScaleWidth: Htuple,
27405        ScaleHeight: Htuple,
27406        Interpolation: Htuple,
27407    ) -> Herror;
27408}
27409unsafe extern "C" {
27410    pub fn zoom_image_factor(
27411        Image: Hobject,
27412        ImageZoomed: *mut Hobject,
27413        ScaleWidth: f64,
27414        ScaleHeight: f64,
27415        Interpolation: *const ::std::os::raw::c_char,
27416    ) -> Herror;
27417}
27418unsafe extern "C" {
27419    pub fn T_zoom_image_size(
27420        Image: Hobject,
27421        ImageZoom: *mut Hobject,
27422        Width: Htuple,
27423        Height: Htuple,
27424        Interpolation: Htuple,
27425    ) -> Herror;
27426}
27427unsafe extern "C" {
27428    pub fn zoom_image_size(
27429        Image: Hobject,
27430        ImageZoom: *mut Hobject,
27431        Width: Hlong,
27432        Height: Hlong,
27433        Interpolation: *const ::std::os::raw::c_char,
27434    ) -> Herror;
27435}
27436unsafe extern "C" {
27437    pub fn T_mirror_image(Image: Hobject, ImageMirror: *mut Hobject, Mode: Htuple) -> Herror;
27438}
27439unsafe extern "C" {
27440    pub fn mirror_image(
27441        Image: Hobject,
27442        ImageMirror: *mut Hobject,
27443        Mode: *const ::std::os::raw::c_char,
27444    ) -> Herror;
27445}
27446unsafe extern "C" {
27447    pub fn T_rotate_image(
27448        Image: Hobject,
27449        ImageRotate: *mut Hobject,
27450        Phi: Htuple,
27451        Interpolation: Htuple,
27452    ) -> Herror;
27453}
27454unsafe extern "C" {
27455    pub fn rotate_image(
27456        Image: Hobject,
27457        ImageRotate: *mut Hobject,
27458        Phi: f64,
27459        Interpolation: *const ::std::os::raw::c_char,
27460    ) -> Herror;
27461}
27462unsafe extern "C" {
27463    pub fn T_polar_trans_image_inv(
27464        PolarImage: Hobject,
27465        XYTransImage: *mut Hobject,
27466        Row: Htuple,
27467        Column: Htuple,
27468        AngleStart: Htuple,
27469        AngleEnd: Htuple,
27470        RadiusStart: Htuple,
27471        RadiusEnd: Htuple,
27472        Width: Htuple,
27473        Height: Htuple,
27474        Interpolation: Htuple,
27475    ) -> Herror;
27476}
27477unsafe extern "C" {
27478    pub fn polar_trans_image_inv(
27479        PolarImage: Hobject,
27480        XYTransImage: *mut Hobject,
27481        Row: f64,
27482        Column: f64,
27483        AngleStart: f64,
27484        AngleEnd: f64,
27485        RadiusStart: f64,
27486        RadiusEnd: f64,
27487        Width: Hlong,
27488        Height: Hlong,
27489        Interpolation: *const ::std::os::raw::c_char,
27490    ) -> Herror;
27491}
27492unsafe extern "C" {
27493    pub fn T_polar_trans_image_ext(
27494        Image: Hobject,
27495        PolarTransImage: *mut Hobject,
27496        Row: Htuple,
27497        Column: Htuple,
27498        AngleStart: Htuple,
27499        AngleEnd: Htuple,
27500        RadiusStart: Htuple,
27501        RadiusEnd: Htuple,
27502        Width: Htuple,
27503        Height: Htuple,
27504        Interpolation: Htuple,
27505    ) -> Herror;
27506}
27507unsafe extern "C" {
27508    pub fn polar_trans_image_ext(
27509        Image: Hobject,
27510        PolarTransImage: *mut Hobject,
27511        Row: f64,
27512        Column: f64,
27513        AngleStart: f64,
27514        AngleEnd: f64,
27515        RadiusStart: f64,
27516        RadiusEnd: f64,
27517        Width: Hlong,
27518        Height: Hlong,
27519        Interpolation: *const ::std::os::raw::c_char,
27520    ) -> Herror;
27521}
27522unsafe extern "C" {
27523    pub fn T_polar_trans_image(
27524        ImageXY: Hobject,
27525        ImagePolar: *mut Hobject,
27526        Row: Htuple,
27527        Column: Htuple,
27528        Width: Htuple,
27529        Height: Htuple,
27530    ) -> Herror;
27531}
27532unsafe extern "C" {
27533    pub fn polar_trans_image(
27534        ImageXY: Hobject,
27535        ImagePolar: *mut Hobject,
27536        Row: Hlong,
27537        Column: Hlong,
27538        Width: Hlong,
27539        Height: Hlong,
27540    ) -> Herror;
27541}
27542unsafe extern "C" {
27543    pub fn T_vector_field_to_hom_mat2d(VectorField: Hobject, HomMat2D: *mut Htuple) -> Herror;
27544}
27545unsafe extern "C" {
27546    pub fn T_deserialize_xld(XLD: *mut Hobject, SerializedItemHandle: Htuple) -> Herror;
27547}
27548unsafe extern "C" {
27549    pub fn deserialize_xld(XLD: *mut Hobject, SerializedItemHandle: Hlong) -> Herror;
27550}
27551unsafe extern "C" {
27552    pub fn T_serialize_xld(XLD: Hobject, SerializedItemHandle: *mut Htuple) -> Herror;
27553}
27554unsafe extern "C" {
27555    pub fn serialize_xld(XLD: Hobject, SerializedItemHandle: *mut Hlong) -> Herror;
27556}
27557unsafe extern "C" {
27558    pub fn T_read_polygon_xld_dxf(
27559        Polygons: *mut Hobject,
27560        FileName: Htuple,
27561        GenParamName: Htuple,
27562        GenParamValue: Htuple,
27563        DxfStatus: *mut Htuple,
27564    ) -> Herror;
27565}
27566unsafe extern "C" {
27567    pub fn read_polygon_xld_dxf(
27568        Polygons: *mut Hobject,
27569        FileName: *const ::std::os::raw::c_char,
27570        GenParamName: *const ::std::os::raw::c_char,
27571        GenParamValue: f64,
27572        DxfStatus: *mut ::std::os::raw::c_char,
27573    ) -> Herror;
27574}
27575unsafe extern "C" {
27576    pub fn T_write_polygon_xld_dxf(Polygons: Hobject, FileName: Htuple) -> Herror;
27577}
27578unsafe extern "C" {
27579    pub fn write_polygon_xld_dxf(
27580        Polygons: Hobject,
27581        FileName: *const ::std::os::raw::c_char,
27582    ) -> Herror;
27583}
27584unsafe extern "C" {
27585    pub fn T_read_contour_xld_dxf(
27586        Contours: *mut Hobject,
27587        FileName: Htuple,
27588        GenParamName: Htuple,
27589        GenParamValue: Htuple,
27590        DxfStatus: *mut Htuple,
27591    ) -> Herror;
27592}
27593unsafe extern "C" {
27594    pub fn read_contour_xld_dxf(
27595        Contours: *mut Hobject,
27596        FileName: *const ::std::os::raw::c_char,
27597        GenParamName: *const ::std::os::raw::c_char,
27598        GenParamValue: f64,
27599        DxfStatus: *mut ::std::os::raw::c_char,
27600    ) -> Herror;
27601}
27602unsafe extern "C" {
27603    pub fn T_write_contour_xld_dxf(Contours: Hobject, FileName: Htuple) -> Herror;
27604}
27605unsafe extern "C" {
27606    pub fn write_contour_xld_dxf(
27607        Contours: Hobject,
27608        FileName: *const ::std::os::raw::c_char,
27609    ) -> Herror;
27610}
27611unsafe extern "C" {
27612    pub fn T_copy_file(SourceFile: Htuple, DestinationFile: Htuple) -> Herror;
27613}
27614unsafe extern "C" {
27615    pub fn copy_file(
27616        SourceFile: *const ::std::os::raw::c_char,
27617        DestinationFile: *const ::std::os::raw::c_char,
27618    ) -> Herror;
27619}
27620unsafe extern "C" {
27621    pub fn T_set_current_dir(DirName: Htuple) -> Herror;
27622}
27623unsafe extern "C" {
27624    pub fn set_current_dir(DirName: *const ::std::os::raw::c_char) -> Herror;
27625}
27626unsafe extern "C" {
27627    pub fn T_get_current_dir(DirName: *mut Htuple) -> Herror;
27628}
27629unsafe extern "C" {
27630    pub fn get_current_dir(DirName: *mut ::std::os::raw::c_char) -> Herror;
27631}
27632unsafe extern "C" {
27633    pub fn T_remove_dir(DirName: Htuple) -> Herror;
27634}
27635unsafe extern "C" {
27636    pub fn remove_dir(DirName: *const ::std::os::raw::c_char) -> Herror;
27637}
27638unsafe extern "C" {
27639    pub fn T_make_dir(DirName: Htuple) -> Herror;
27640}
27641unsafe extern "C" {
27642    pub fn make_dir(DirName: *const ::std::os::raw::c_char) -> Herror;
27643}
27644unsafe extern "C" {
27645    pub fn T_list_files(Directory: Htuple, Options: Htuple, Files: *mut Htuple) -> Herror;
27646}
27647unsafe extern "C" {
27648    pub fn T_delete_file(FileName: Htuple) -> Herror;
27649}
27650unsafe extern "C" {
27651    pub fn delete_file(FileName: *const ::std::os::raw::c_char) -> Herror;
27652}
27653unsafe extern "C" {
27654    pub fn T_file_exists(FileName: Htuple, FileExists: *mut Htuple) -> Herror;
27655}
27656unsafe extern "C" {
27657    pub fn file_exists(FileName: *const ::std::os::raw::c_char, FileExists: *mut Hlong) -> Herror;
27658}
27659unsafe extern "C" {
27660    pub fn T_read_object(Object: *mut Hobject, FileName: Htuple) -> Herror;
27661}
27662unsafe extern "C" {
27663    pub fn read_object(Object: *mut Hobject, FileName: *const ::std::os::raw::c_char) -> Herror;
27664}
27665unsafe extern "C" {
27666    pub fn T_write_object(Object: Hobject, FileName: Htuple) -> Herror;
27667}
27668unsafe extern "C" {
27669    pub fn write_object(Object: Hobject, FileName: *const ::std::os::raw::c_char) -> Herror;
27670}
27671unsafe extern "C" {
27672    pub fn T_deserialize_object(Object: *mut Hobject, SerializedItemHandle: Htuple) -> Herror;
27673}
27674unsafe extern "C" {
27675    pub fn deserialize_object(Object: *mut Hobject, SerializedItemHandle: Hlong) -> Herror;
27676}
27677unsafe extern "C" {
27678    pub fn T_serialize_object(Object: Hobject, SerializedItemHandle: *mut Htuple) -> Herror;
27679}
27680unsafe extern "C" {
27681    pub fn serialize_object(Object: Hobject, SerializedItemHandle: *mut Hlong) -> Herror;
27682}
27683unsafe extern "C" {
27684    pub fn T_deserialize_image(Image: *mut Hobject, SerializedItemHandle: Htuple) -> Herror;
27685}
27686unsafe extern "C" {
27687    pub fn deserialize_image(Image: *mut Hobject, SerializedItemHandle: Hlong) -> Herror;
27688}
27689unsafe extern "C" {
27690    pub fn T_serialize_image(Image: Hobject, SerializedItemHandle: *mut Htuple) -> Herror;
27691}
27692unsafe extern "C" {
27693    pub fn serialize_image(Image: Hobject, SerializedItemHandle: *mut Hlong) -> Herror;
27694}
27695unsafe extern "C" {
27696    pub fn T_deserialize_region(Region: *mut Hobject, SerializedItemHandle: Htuple) -> Herror;
27697}
27698unsafe extern "C" {
27699    pub fn deserialize_region(Region: *mut Hobject, SerializedItemHandle: Hlong) -> Herror;
27700}
27701unsafe extern "C" {
27702    pub fn T_serialize_region(Region: Hobject, SerializedItemHandle: *mut Htuple) -> Herror;
27703}
27704unsafe extern "C" {
27705    pub fn serialize_region(Region: Hobject, SerializedItemHandle: *mut Hlong) -> Herror;
27706}
27707unsafe extern "C" {
27708    pub fn T_write_region(Region: Hobject, FileName: Htuple) -> Herror;
27709}
27710unsafe extern "C" {
27711    pub fn write_region(Region: Hobject, FileName: *const ::std::os::raw::c_char) -> Herror;
27712}
27713unsafe extern "C" {
27714    pub fn T_write_image(
27715        Image: Hobject,
27716        Format: Htuple,
27717        FillColor: Htuple,
27718        FileName: Htuple,
27719    ) -> Herror;
27720}
27721unsafe extern "C" {
27722    pub fn write_image(
27723        Image: Hobject,
27724        Format: *const ::std::os::raw::c_char,
27725        FillColor: Hlong,
27726        FileName: *const ::std::os::raw::c_char,
27727    ) -> Herror;
27728}
27729unsafe extern "C" {
27730    pub fn T_read_sequence(
27731        Image: *mut Hobject,
27732        HeaderSize: Htuple,
27733        SourceWidth: Htuple,
27734        SourceHeight: Htuple,
27735        StartRow: Htuple,
27736        StartColumn: Htuple,
27737        DestWidth: Htuple,
27738        DestHeight: Htuple,
27739        PixelType: Htuple,
27740        BitOrder: Htuple,
27741        ByteOrder: Htuple,
27742        Pad: Htuple,
27743        Index: Htuple,
27744        FileName: Htuple,
27745    ) -> Herror;
27746}
27747unsafe extern "C" {
27748    pub fn read_sequence(
27749        Image: *mut Hobject,
27750        HeaderSize: Hlong,
27751        SourceWidth: Hlong,
27752        SourceHeight: Hlong,
27753        StartRow: Hlong,
27754        StartColumn: Hlong,
27755        DestWidth: Hlong,
27756        DestHeight: Hlong,
27757        PixelType: *const ::std::os::raw::c_char,
27758        BitOrder: *const ::std::os::raw::c_char,
27759        ByteOrder: *const ::std::os::raw::c_char,
27760        Pad: *const ::std::os::raw::c_char,
27761        Index: Hlong,
27762        FileName: *const ::std::os::raw::c_char,
27763    ) -> Herror;
27764}
27765unsafe extern "C" {
27766    pub fn T_read_region(Region: *mut Hobject, FileName: Htuple) -> Herror;
27767}
27768unsafe extern "C" {
27769    pub fn read_region(Region: *mut Hobject, FileName: *const ::std::os::raw::c_char) -> Herror;
27770}
27771unsafe extern "C" {
27772    pub fn T_read_image(Image: *mut Hobject, FileName: Htuple) -> Herror;
27773}
27774unsafe extern "C" {
27775    pub fn read_image(Image: *mut Hobject, FileName: *const ::std::os::raw::c_char) -> Herror;
27776}
27777unsafe extern "C" {
27778    pub fn T_open_file(FileName: Htuple, FileType: Htuple, FileHandle: *mut Htuple) -> Herror;
27779}
27780unsafe extern "C" {
27781    pub fn open_file(
27782        FileName: *const ::std::os::raw::c_char,
27783        FileType: *const ::std::os::raw::c_char,
27784        FileHandle: *mut Hlong,
27785    ) -> Herror;
27786}
27787unsafe extern "C" {
27788    pub fn T_fwrite_string(FileHandle: Htuple, String: Htuple) -> Herror;
27789}
27790unsafe extern "C" {
27791    pub fn fwrite_string(FileHandle: Hlong, String: *const ::std::os::raw::c_char) -> Herror;
27792}
27793unsafe extern "C" {
27794    pub fn T_fread_line(FileHandle: Htuple, OutLine: *mut Htuple, IsEOF: *mut Htuple) -> Herror;
27795}
27796unsafe extern "C" {
27797    pub fn fread_line(
27798        FileHandle: Hlong,
27799        OutLine: *mut ::std::os::raw::c_char,
27800        IsEOF: *mut Hlong,
27801    ) -> Herror;
27802}
27803unsafe extern "C" {
27804    pub fn T_fread_string(FileHandle: Htuple, OutString: *mut Htuple, IsEOF: *mut Htuple)
27805    -> Herror;
27806}
27807unsafe extern "C" {
27808    pub fn fread_string(
27809        FileHandle: Hlong,
27810        OutString: *mut ::std::os::raw::c_char,
27811        IsEOF: *mut Hlong,
27812    ) -> Herror;
27813}
27814unsafe extern "C" {
27815    pub fn T_fread_char(FileHandle: Htuple, Char: *mut Htuple) -> Herror;
27816}
27817unsafe extern "C" {
27818    pub fn fread_char(FileHandle: Hlong, Char: *mut ::std::os::raw::c_char) -> Herror;
27819}
27820unsafe extern "C" {
27821    pub fn T_fnew_line(FileHandle: Htuple) -> Herror;
27822}
27823unsafe extern "C" {
27824    pub fn fnew_line(FileHandle: Hlong) -> Herror;
27825}
27826unsafe extern "C" {
27827    pub fn T_close_file(FileHandle: Htuple) -> Herror;
27828}
27829unsafe extern "C" {
27830    pub fn close_file(FileHandle: Hlong) -> Herror;
27831}
27832unsafe extern "C" {
27833    pub fn T_close_all_files() -> Herror;
27834}
27835unsafe extern "C" {
27836    pub fn close_all_files() -> Herror;
27837}
27838unsafe extern "C" {
27839    pub fn T_test_closed_xld(XLD: Hobject, IsClosed: *mut Htuple) -> Herror;
27840}
27841unsafe extern "C" {
27842    pub fn test_closed_xld(XLD: Hobject, IsClosed: *mut Hlong) -> Herror;
27843}
27844unsafe extern "C" {
27845    pub fn T_get_grayval_contour_xld(
27846        Image: Hobject,
27847        Contour: Hobject,
27848        Interpolation: Htuple,
27849        Grayval: *mut Htuple,
27850    ) -> Herror;
27851}
27852unsafe extern "C" {
27853    pub fn get_grayval_contour_xld(
27854        Image: Hobject,
27855        Contour: Hobject,
27856        Interpolation: *const ::std::os::raw::c_char,
27857        Grayval: *mut f64,
27858    ) -> Herror;
27859}
27860unsafe extern "C" {
27861    pub fn T_moments_any_points_xld(
27862        XLD: Hobject,
27863        Mode: Htuple,
27864        Area: Htuple,
27865        CenterRow: Htuple,
27866        CenterCol: Htuple,
27867        P: Htuple,
27868        Q: Htuple,
27869        M: *mut Htuple,
27870    ) -> Herror;
27871}
27872unsafe extern "C" {
27873    pub fn moments_any_points_xld(
27874        XLD: Hobject,
27875        Mode: *const ::std::os::raw::c_char,
27876        Area: f64,
27877        CenterRow: f64,
27878        CenterCol: f64,
27879        P: Hlong,
27880        Q: Hlong,
27881        M: *mut f64,
27882    ) -> Herror;
27883}
27884unsafe extern "C" {
27885    pub fn T_eccentricity_points_xld(XLD: Hobject, Anisometry: *mut Htuple) -> Herror;
27886}
27887unsafe extern "C" {
27888    pub fn eccentricity_points_xld(XLD: Hobject, Anisometry: *mut f64) -> Herror;
27889}
27890unsafe extern "C" {
27891    pub fn T_elliptic_axis_points_xld(
27892        XLD: Hobject,
27893        Ra: *mut Htuple,
27894        Rb: *mut Htuple,
27895        Phi: *mut Htuple,
27896    ) -> Herror;
27897}
27898unsafe extern "C" {
27899    pub fn elliptic_axis_points_xld(
27900        XLD: Hobject,
27901        Ra: *mut f64,
27902        Rb: *mut f64,
27903        Phi: *mut f64,
27904    ) -> Herror;
27905}
27906unsafe extern "C" {
27907    pub fn T_orientation_points_xld(XLD: Hobject, Phi: *mut Htuple) -> Herror;
27908}
27909unsafe extern "C" {
27910    pub fn orientation_points_xld(XLD: Hobject, Phi: *mut f64) -> Herror;
27911}
27912unsafe extern "C" {
27913    pub fn T_moments_points_xld(
27914        XLD: Hobject,
27915        M11: *mut Htuple,
27916        M20: *mut Htuple,
27917        M02: *mut Htuple,
27918    ) -> Herror;
27919}
27920unsafe extern "C" {
27921    pub fn moments_points_xld(XLD: Hobject, M11: *mut f64, M20: *mut f64, M02: *mut f64) -> Herror;
27922}
27923unsafe extern "C" {
27924    pub fn T_area_center_points_xld(
27925        XLD: Hobject,
27926        Area: *mut Htuple,
27927        Row: *mut Htuple,
27928        Column: *mut Htuple,
27929    ) -> Herror;
27930}
27931unsafe extern "C" {
27932    pub fn area_center_points_xld(
27933        XLD: Hobject,
27934        Area: *mut f64,
27935        Row: *mut f64,
27936        Column: *mut f64,
27937    ) -> Herror;
27938}
27939unsafe extern "C" {
27940    pub fn T_test_self_intersection_xld(
27941        XLD: Hobject,
27942        CloseXLD: Htuple,
27943        DoesIntersect: *mut Htuple,
27944    ) -> Herror;
27945}
27946unsafe extern "C" {
27947    pub fn test_self_intersection_xld(
27948        XLD: Hobject,
27949        CloseXLD: *const ::std::os::raw::c_char,
27950        DoesIntersect: *mut Hlong,
27951    ) -> Herror;
27952}
27953unsafe extern "C" {
27954    pub fn T_select_xld_point(
27955        XLDs: Hobject,
27956        DestXLDs: *mut Hobject,
27957        Row: Htuple,
27958        Column: Htuple,
27959    ) -> Herror;
27960}
27961unsafe extern "C" {
27962    pub fn select_xld_point(XLDs: Hobject, DestXLDs: *mut Hobject, Row: f64, Column: f64)
27963    -> Herror;
27964}
27965unsafe extern "C" {
27966    pub fn T_test_xld_point(
27967        XLD: Hobject,
27968        Row: Htuple,
27969        Column: Htuple,
27970        IsInside: *mut Htuple,
27971    ) -> Herror;
27972}
27973unsafe extern "C" {
27974    pub fn test_xld_point(XLD: Hobject, Row: f64, Column: f64, IsInside: *mut Hlong) -> Herror;
27975}
27976unsafe extern "C" {
27977    pub fn T_select_shape_xld(
27978        XLD: Hobject,
27979        SelectedXLD: *mut Hobject,
27980        Features: Htuple,
27981        Operation: Htuple,
27982        Min: Htuple,
27983        Max: Htuple,
27984    ) -> Herror;
27985}
27986unsafe extern "C" {
27987    pub fn select_shape_xld(
27988        XLD: Hobject,
27989        SelectedXLD: *mut Hobject,
27990        Features: *const ::std::os::raw::c_char,
27991        Operation: *const ::std::os::raw::c_char,
27992        Min: f64,
27993        Max: f64,
27994    ) -> Herror;
27995}
27996unsafe extern "C" {
27997    pub fn T_orientation_xld(XLD: Hobject, Phi: *mut Htuple) -> Herror;
27998}
27999unsafe extern "C" {
28000    pub fn orientation_xld(XLD: Hobject, Phi: *mut f64) -> Herror;
28001}
28002unsafe extern "C" {
28003    pub fn T_eccentricity_xld(
28004        XLD: Hobject,
28005        Anisometry: *mut Htuple,
28006        Bulkiness: *mut Htuple,
28007        StructureFactor: *mut Htuple,
28008    ) -> Herror;
28009}
28010unsafe extern "C" {
28011    pub fn eccentricity_xld(
28012        XLD: Hobject,
28013        Anisometry: *mut f64,
28014        Bulkiness: *mut f64,
28015        StructureFactor: *mut f64,
28016    ) -> Herror;
28017}
28018unsafe extern "C" {
28019    pub fn T_compactness_xld(XLD: Hobject, Compactness: *mut Htuple) -> Herror;
28020}
28021unsafe extern "C" {
28022    pub fn compactness_xld(XLD: Hobject, Compactness: *mut f64) -> Herror;
28023}
28024unsafe extern "C" {
28025    pub fn T_diameter_xld(
28026        XLD: Hobject,
28027        Row1: *mut Htuple,
28028        Column1: *mut Htuple,
28029        Row2: *mut Htuple,
28030        Column2: *mut Htuple,
28031        Diameter: *mut Htuple,
28032    ) -> Herror;
28033}
28034unsafe extern "C" {
28035    pub fn diameter_xld(
28036        XLD: Hobject,
28037        Row1: *mut f64,
28038        Column1: *mut f64,
28039        Row2: *mut f64,
28040        Column2: *mut f64,
28041        Diameter: *mut f64,
28042    ) -> Herror;
28043}
28044unsafe extern "C" {
28045    pub fn T_convexity_xld(XLD: Hobject, Convexity: *mut Htuple) -> Herror;
28046}
28047unsafe extern "C" {
28048    pub fn convexity_xld(XLD: Hobject, Convexity: *mut f64) -> Herror;
28049}
28050unsafe extern "C" {
28051    pub fn T_circularity_xld(XLD: Hobject, Circularity: *mut Htuple) -> Herror;
28052}
28053unsafe extern "C" {
28054    pub fn circularity_xld(XLD: Hobject, Circularity: *mut f64) -> Herror;
28055}
28056unsafe extern "C" {
28057    pub fn T_elliptic_axis_xld(
28058        XLD: Hobject,
28059        Ra: *mut Htuple,
28060        Rb: *mut Htuple,
28061        Phi: *mut Htuple,
28062    ) -> Herror;
28063}
28064unsafe extern "C" {
28065    pub fn elliptic_axis_xld(XLD: Hobject, Ra: *mut f64, Rb: *mut f64, Phi: *mut f64) -> Herror;
28066}
28067unsafe extern "C" {
28068    pub fn T_smallest_rectangle2_xld(
28069        XLD: Hobject,
28070        Row: *mut Htuple,
28071        Column: *mut Htuple,
28072        Phi: *mut Htuple,
28073        Length1: *mut Htuple,
28074        Length2: *mut Htuple,
28075    ) -> Herror;
28076}
28077unsafe extern "C" {
28078    pub fn smallest_rectangle2_xld(
28079        XLD: Hobject,
28080        Row: *mut f64,
28081        Column: *mut f64,
28082        Phi: *mut f64,
28083        Length1: *mut f64,
28084        Length2: *mut f64,
28085    ) -> Herror;
28086}
28087unsafe extern "C" {
28088    pub fn T_smallest_rectangle1_xld(
28089        XLD: Hobject,
28090        Row1: *mut Htuple,
28091        Column1: *mut Htuple,
28092        Row2: *mut Htuple,
28093        Column2: *mut Htuple,
28094    ) -> Herror;
28095}
28096unsafe extern "C" {
28097    pub fn smallest_rectangle1_xld(
28098        XLD: Hobject,
28099        Row1: *mut f64,
28100        Column1: *mut f64,
28101        Row2: *mut f64,
28102        Column2: *mut f64,
28103    ) -> Herror;
28104}
28105unsafe extern "C" {
28106    pub fn T_smallest_circle_xld(
28107        XLD: Hobject,
28108        Row: *mut Htuple,
28109        Column: *mut Htuple,
28110        Radius: *mut Htuple,
28111    ) -> Herror;
28112}
28113unsafe extern "C" {
28114    pub fn smallest_circle_xld(
28115        XLD: Hobject,
28116        Row: *mut f64,
28117        Column: *mut f64,
28118        Radius: *mut f64,
28119    ) -> Herror;
28120}
28121unsafe extern "C" {
28122    pub fn T_shape_trans_xld(XLD: Hobject, XLDTrans: *mut Hobject, Type: Htuple) -> Herror;
28123}
28124unsafe extern "C" {
28125    pub fn shape_trans_xld(
28126        XLD: Hobject,
28127        XLDTrans: *mut Hobject,
28128        Type: *const ::std::os::raw::c_char,
28129    ) -> Herror;
28130}
28131unsafe extern "C" {
28132    pub fn T_length_xld(XLD: Hobject, Length: *mut Htuple) -> Herror;
28133}
28134unsafe extern "C" {
28135    pub fn length_xld(XLD: Hobject, Length: *mut f64) -> Herror;
28136}
28137unsafe extern "C" {
28138    pub fn T_moments_any_xld(
28139        XLD: Hobject,
28140        Mode: Htuple,
28141        PointOrder: Htuple,
28142        Area: Htuple,
28143        CenterRow: Htuple,
28144        CenterCol: Htuple,
28145        P: Htuple,
28146        Q: Htuple,
28147        M: *mut Htuple,
28148    ) -> Herror;
28149}
28150unsafe extern "C" {
28151    pub fn moments_any_xld(
28152        XLD: Hobject,
28153        Mode: *const ::std::os::raw::c_char,
28154        PointOrder: *const ::std::os::raw::c_char,
28155        Area: f64,
28156        CenterRow: f64,
28157        CenterCol: f64,
28158        P: Hlong,
28159        Q: Hlong,
28160        M: *mut f64,
28161    ) -> Herror;
28162}
28163unsafe extern "C" {
28164    pub fn T_moments_xld(
28165        XLD: Hobject,
28166        M11: *mut Htuple,
28167        M20: *mut Htuple,
28168        M02: *mut Htuple,
28169    ) -> Herror;
28170}
28171unsafe extern "C" {
28172    pub fn moments_xld(XLD: Hobject, M11: *mut f64, M20: *mut f64, M02: *mut f64) -> Herror;
28173}
28174unsafe extern "C" {
28175    pub fn T_area_center_xld(
28176        XLD: Hobject,
28177        Area: *mut Htuple,
28178        Row: *mut Htuple,
28179        Column: *mut Htuple,
28180        PointOrder: *mut Htuple,
28181    ) -> Herror;
28182}
28183unsafe extern "C" {
28184    pub fn area_center_xld(
28185        XLD: Hobject,
28186        Area: *mut f64,
28187        Row: *mut f64,
28188        Column: *mut f64,
28189        PointOrder: *mut ::std::os::raw::c_char,
28190    ) -> Herror;
28191}
28192unsafe extern "C" {
28193    pub fn T_moments_region_central_invar(
28194        Regions: Hobject,
28195        PSI1: *mut Htuple,
28196        PSI2: *mut Htuple,
28197        PSI3: *mut Htuple,
28198        PSI4: *mut Htuple,
28199    ) -> Herror;
28200}
28201unsafe extern "C" {
28202    pub fn moments_region_central_invar(
28203        Regions: Hobject,
28204        PSI1: *mut f64,
28205        PSI2: *mut f64,
28206        PSI3: *mut f64,
28207        PSI4: *mut f64,
28208    ) -> Herror;
28209}
28210unsafe extern "C" {
28211    pub fn T_moments_region_central(
28212        Regions: Hobject,
28213        I1: *mut Htuple,
28214        I2: *mut Htuple,
28215        I3: *mut Htuple,
28216        I4: *mut Htuple,
28217    ) -> Herror;
28218}
28219unsafe extern "C" {
28220    pub fn moments_region_central(
28221        Regions: Hobject,
28222        I1: *mut f64,
28223        I2: *mut f64,
28224        I3: *mut f64,
28225        I4: *mut f64,
28226    ) -> Herror;
28227}
28228unsafe extern "C" {
28229    pub fn T_moments_region_3rd_invar(
28230        Regions: Hobject,
28231        M21: *mut Htuple,
28232        M12: *mut Htuple,
28233        M03: *mut Htuple,
28234        M30: *mut Htuple,
28235    ) -> Herror;
28236}
28237unsafe extern "C" {
28238    pub fn moments_region_3rd_invar(
28239        Regions: Hobject,
28240        M21: *mut f64,
28241        M12: *mut f64,
28242        M03: *mut f64,
28243        M30: *mut f64,
28244    ) -> Herror;
28245}
28246unsafe extern "C" {
28247    pub fn T_moments_region_3rd(
28248        Regions: Hobject,
28249        M21: *mut Htuple,
28250        M12: *mut Htuple,
28251        M03: *mut Htuple,
28252        M30: *mut Htuple,
28253    ) -> Herror;
28254}
28255unsafe extern "C" {
28256    pub fn moments_region_3rd(
28257        Regions: Hobject,
28258        M21: *mut f64,
28259        M12: *mut f64,
28260        M03: *mut f64,
28261        M30: *mut f64,
28262    ) -> Herror;
28263}
28264unsafe extern "C" {
28265    pub fn T_smallest_rectangle2(
28266        Regions: Hobject,
28267        Row: *mut Htuple,
28268        Column: *mut Htuple,
28269        Phi: *mut Htuple,
28270        Length1: *mut Htuple,
28271        Length2: *mut Htuple,
28272    ) -> Herror;
28273}
28274unsafe extern "C" {
28275    pub fn smallest_rectangle2(
28276        Regions: Hobject,
28277        Row: *mut f64,
28278        Column: *mut f64,
28279        Phi: *mut f64,
28280        Length1: *mut f64,
28281        Length2: *mut f64,
28282    ) -> Herror;
28283}
28284unsafe extern "C" {
28285    pub fn T_smallest_rectangle1(
28286        Regions: Hobject,
28287        Row1: *mut Htuple,
28288        Column1: *mut Htuple,
28289        Row2: *mut Htuple,
28290        Column2: *mut Htuple,
28291    ) -> Herror;
28292}
28293unsafe extern "C" {
28294    pub fn smallest_rectangle1(
28295        Regions: Hobject,
28296        Row1: *mut Hlong,
28297        Column1: *mut Hlong,
28298        Row2: *mut Hlong,
28299        Column2: *mut Hlong,
28300    ) -> Herror;
28301}
28302unsafe extern "C" {
28303    pub fn T_smallest_circle(
28304        Regions: Hobject,
28305        Row: *mut Htuple,
28306        Column: *mut Htuple,
28307        Radius: *mut Htuple,
28308    ) -> Herror;
28309}
28310unsafe extern "C" {
28311    pub fn smallest_circle(
28312        Regions: Hobject,
28313        Row: *mut f64,
28314        Column: *mut f64,
28315        Radius: *mut f64,
28316    ) -> Herror;
28317}
28318unsafe extern "C" {
28319    pub fn T_select_shape_proto(
28320        Regions: Hobject,
28321        Pattern: Hobject,
28322        SelectedRegions: *mut Hobject,
28323        Feature: Htuple,
28324        Min: Htuple,
28325        Max: Htuple,
28326    ) -> Herror;
28327}
28328unsafe extern "C" {
28329    pub fn select_shape_proto(
28330        Regions: Hobject,
28331        Pattern: Hobject,
28332        SelectedRegions: *mut Hobject,
28333        Feature: *const ::std::os::raw::c_char,
28334        Min: f64,
28335        Max: f64,
28336    ) -> Herror;
28337}
28338unsafe extern "C" {
28339    pub fn T_region_features(Regions: Hobject, Features: Htuple, Value: *mut Htuple) -> Herror;
28340}
28341unsafe extern "C" {
28342    pub fn region_features(
28343        Regions: Hobject,
28344        Features: *const ::std::os::raw::c_char,
28345        Value: *mut f64,
28346    ) -> Herror;
28347}
28348unsafe extern "C" {
28349    pub fn T_select_shape(
28350        Regions: Hobject,
28351        SelectedRegions: *mut Hobject,
28352        Features: Htuple,
28353        Operation: Htuple,
28354        Min: Htuple,
28355        Max: Htuple,
28356    ) -> Herror;
28357}
28358unsafe extern "C" {
28359    pub fn select_shape(
28360        Regions: Hobject,
28361        SelectedRegions: *mut Hobject,
28362        Features: *const ::std::os::raw::c_char,
28363        Operation: *const ::std::os::raw::c_char,
28364        Min: f64,
28365        Max: f64,
28366    ) -> Herror;
28367}
28368unsafe extern "C" {
28369    pub fn T_runlength_features(
28370        Regions: Hobject,
28371        NumRuns: *mut Htuple,
28372        KFactor: *mut Htuple,
28373        LFactor: *mut Htuple,
28374        MeanLength: *mut Htuple,
28375        Bytes: *mut Htuple,
28376    ) -> Herror;
28377}
28378unsafe extern "C" {
28379    pub fn runlength_features(
28380        Regions: Hobject,
28381        NumRuns: *mut Hlong,
28382        KFactor: *mut f64,
28383        LFactor: *mut f64,
28384        MeanLength: *mut f64,
28385        Bytes: *mut Hlong,
28386    ) -> Herror;
28387}
28388unsafe extern "C" {
28389    pub fn T_find_neighbors(
28390        Regions1: Hobject,
28391        Regions2: Hobject,
28392        MaxDistance: Htuple,
28393        RegionIndex1: *mut Htuple,
28394        RegionIndex2: *mut Htuple,
28395    ) -> Herror;
28396}
28397unsafe extern "C" {
28398    pub fn T_moments_region_2nd_rel_invar(
28399        Regions: Hobject,
28400        PHI1: *mut Htuple,
28401        PHI2: *mut Htuple,
28402    ) -> Herror;
28403}
28404unsafe extern "C" {
28405    pub fn moments_region_2nd_rel_invar(Regions: Hobject, PHI1: *mut f64, PHI2: *mut f64)
28406    -> Herror;
28407}
28408unsafe extern "C" {
28409    pub fn T_moments_region_2nd_invar(
28410        Regions: Hobject,
28411        M11: *mut Htuple,
28412        M20: *mut Htuple,
28413        M02: *mut Htuple,
28414    ) -> Herror;
28415}
28416unsafe extern "C" {
28417    pub fn moments_region_2nd_invar(
28418        Regions: Hobject,
28419        M11: *mut f64,
28420        M20: *mut f64,
28421        M02: *mut f64,
28422    ) -> Herror;
28423}
28424unsafe extern "C" {
28425    pub fn T_moments_region_2nd(
28426        Regions: Hobject,
28427        M11: *mut Htuple,
28428        M20: *mut Htuple,
28429        M02: *mut Htuple,
28430        Ia: *mut Htuple,
28431        Ib: *mut Htuple,
28432    ) -> Herror;
28433}
28434unsafe extern "C" {
28435    pub fn moments_region_2nd(
28436        Regions: Hobject,
28437        M11: *mut f64,
28438        M20: *mut f64,
28439        M02: *mut f64,
28440        Ia: *mut f64,
28441        Ib: *mut f64,
28442    ) -> Herror;
28443}
28444unsafe extern "C" {
28445    pub fn T_distance_rr_min(
28446        Regions1: Hobject,
28447        Regions2: Hobject,
28448        MinDistance: *mut Htuple,
28449        Row1: *mut Htuple,
28450        Column1: *mut Htuple,
28451        Row2: *mut Htuple,
28452        Column2: *mut Htuple,
28453    ) -> Herror;
28454}
28455unsafe extern "C" {
28456    pub fn distance_rr_min(
28457        Regions1: Hobject,
28458        Regions2: Hobject,
28459        MinDistance: *mut f64,
28460        Row1: *mut Hlong,
28461        Column1: *mut Hlong,
28462        Row2: *mut Hlong,
28463        Column2: *mut Hlong,
28464    ) -> Herror;
28465}
28466unsafe extern "C" {
28467    pub fn T_distance_rr_min_dil(
28468        Regions1: Hobject,
28469        Regions2: Hobject,
28470        MinDistance: *mut Htuple,
28471    ) -> Herror;
28472}
28473unsafe extern "C" {
28474    pub fn distance_rr_min_dil(
28475        Regions1: Hobject,
28476        Regions2: Hobject,
28477        MinDistance: *mut Hlong,
28478    ) -> Herror;
28479}
28480unsafe extern "C" {
28481    pub fn T_diameter_region(
28482        Regions: Hobject,
28483        Row1: *mut Htuple,
28484        Column1: *mut Htuple,
28485        Row2: *mut Htuple,
28486        Column2: *mut Htuple,
28487        Diameter: *mut Htuple,
28488    ) -> Herror;
28489}
28490unsafe extern "C" {
28491    pub fn diameter_region(
28492        Regions: Hobject,
28493        Row1: *mut Hlong,
28494        Column1: *mut Hlong,
28495        Row2: *mut Hlong,
28496        Column2: *mut Hlong,
28497        Diameter: *mut f64,
28498    ) -> Herror;
28499}
28500unsafe extern "C" {
28501    pub fn T_test_region_point(
28502        Regions: Hobject,
28503        Row: Htuple,
28504        Column: Htuple,
28505        IsInside: *mut Htuple,
28506    ) -> Herror;
28507}
28508unsafe extern "C" {
28509    pub fn test_region_point(
28510        Regions: Hobject,
28511        Row: Hlong,
28512        Column: Hlong,
28513        IsInside: *mut Hlong,
28514    ) -> Herror;
28515}
28516unsafe extern "C" {
28517    pub fn T_get_region_index(
28518        Regions: Hobject,
28519        Row: Htuple,
28520        Column: Htuple,
28521        Index: *mut Htuple,
28522    ) -> Herror;
28523}
28524unsafe extern "C" {
28525    pub fn get_region_index(
28526        Regions: Hobject,
28527        Row: Hlong,
28528        Column: Hlong,
28529        Index: *mut Hlong,
28530    ) -> Herror;
28531}
28532unsafe extern "C" {
28533    pub fn T_select_region_point(
28534        Regions: Hobject,
28535        DestRegions: *mut Hobject,
28536        Row: Htuple,
28537        Column: Htuple,
28538    ) -> Herror;
28539}
28540unsafe extern "C" {
28541    pub fn select_region_point(
28542        Regions: Hobject,
28543        DestRegions: *mut Hobject,
28544        Row: Hlong,
28545        Column: Hlong,
28546    ) -> Herror;
28547}
28548unsafe extern "C" {
28549    pub fn T_select_shape_std(
28550        Regions: Hobject,
28551        SelectedRegions: *mut Hobject,
28552        Shape: Htuple,
28553        Percent: Htuple,
28554    ) -> Herror;
28555}
28556unsafe extern "C" {
28557    pub fn select_shape_std(
28558        Regions: Hobject,
28559        SelectedRegions: *mut Hobject,
28560        Shape: *const ::std::os::raw::c_char,
28561        Percent: f64,
28562    ) -> Herror;
28563}
28564unsafe extern "C" {
28565    pub fn T_hamming_distance_norm(
28566        Regions1: Hobject,
28567        Regions2: Hobject,
28568        Norm: Htuple,
28569        Distance: *mut Htuple,
28570        Similarity: *mut Htuple,
28571    ) -> Herror;
28572}
28573unsafe extern "C" {
28574    pub fn hamming_distance_norm(
28575        Regions1: Hobject,
28576        Regions2: Hobject,
28577        Norm: *const ::std::os::raw::c_char,
28578        Distance: *mut Hlong,
28579        Similarity: *mut f64,
28580    ) -> Herror;
28581}
28582unsafe extern "C" {
28583    pub fn T_hamming_distance(
28584        Regions1: Hobject,
28585        Regions2: Hobject,
28586        Distance: *mut Htuple,
28587        Similarity: *mut Htuple,
28588    ) -> Herror;
28589}
28590unsafe extern "C" {
28591    pub fn hamming_distance(
28592        Regions1: Hobject,
28593        Regions2: Hobject,
28594        Distance: *mut Hlong,
28595        Similarity: *mut f64,
28596    ) -> Herror;
28597}
28598unsafe extern "C" {
28599    pub fn T_eccentricity(
28600        Regions: Hobject,
28601        Anisometry: *mut Htuple,
28602        Bulkiness: *mut Htuple,
28603        StructureFactor: *mut Htuple,
28604    ) -> Herror;
28605}
28606unsafe extern "C" {
28607    pub fn eccentricity(
28608        Regions: Hobject,
28609        Anisometry: *mut f64,
28610        Bulkiness: *mut f64,
28611        StructureFactor: *mut f64,
28612    ) -> Herror;
28613}
28614unsafe extern "C" {
28615    pub fn T_euler_number(Regions: Hobject, EulerNumber: *mut Htuple) -> Herror;
28616}
28617unsafe extern "C" {
28618    pub fn euler_number(Regions: Hobject, EulerNumber: *mut Hlong) -> Herror;
28619}
28620unsafe extern "C" {
28621    pub fn T_orientation_region(Regions: Hobject, Phi: *mut Htuple) -> Herror;
28622}
28623unsafe extern "C" {
28624    pub fn orientation_region(Regions: Hobject, Phi: *mut f64) -> Herror;
28625}
28626unsafe extern "C" {
28627    pub fn T_elliptic_axis(
28628        Regions: Hobject,
28629        Ra: *mut Htuple,
28630        Rb: *mut Htuple,
28631        Phi: *mut Htuple,
28632    ) -> Herror;
28633}
28634unsafe extern "C" {
28635    pub fn elliptic_axis(Regions: Hobject, Ra: *mut f64, Rb: *mut f64, Phi: *mut f64) -> Herror;
28636}
28637unsafe extern "C" {
28638    pub fn T_select_region_spatial(
28639        Regions1: Hobject,
28640        Regions2: Hobject,
28641        Direction: Htuple,
28642        RegionIndex1: *mut Htuple,
28643        RegionIndex2: *mut Htuple,
28644    ) -> Herror;
28645}
28646unsafe extern "C" {
28647    pub fn T_spatial_relation(
28648        Regions1: Hobject,
28649        Regions2: Hobject,
28650        Percent: Htuple,
28651        RegionIndex1: *mut Htuple,
28652        RegionIndex2: *mut Htuple,
28653        Relation1: *mut Htuple,
28654        Relation2: *mut Htuple,
28655    ) -> Herror;
28656}
28657unsafe extern "C" {
28658    pub fn T_convexity(Regions: Hobject, Convexity: *mut Htuple) -> Herror;
28659}
28660unsafe extern "C" {
28661    pub fn convexity(Regions: Hobject, Convexity: *mut f64) -> Herror;
28662}
28663unsafe extern "C" {
28664    pub fn T_contlength(Regions: Hobject, ContLength: *mut Htuple) -> Herror;
28665}
28666unsafe extern "C" {
28667    pub fn contlength(Regions: Hobject, ContLength: *mut f64) -> Herror;
28668}
28669unsafe extern "C" {
28670    pub fn T_connect_and_holes(
28671        Regions: Hobject,
28672        NumConnected: *mut Htuple,
28673        NumHoles: *mut Htuple,
28674    ) -> Herror;
28675}
28676unsafe extern "C" {
28677    pub fn connect_and_holes(
28678        Regions: Hobject,
28679        NumConnected: *mut Hlong,
28680        NumHoles: *mut Hlong,
28681    ) -> Herror;
28682}
28683unsafe extern "C" {
28684    pub fn T_rectangularity(Regions: Hobject, Rectangularity: *mut Htuple) -> Herror;
28685}
28686unsafe extern "C" {
28687    pub fn rectangularity(Regions: Hobject, Rectangularity: *mut f64) -> Herror;
28688}
28689unsafe extern "C" {
28690    pub fn T_compactness(Regions: Hobject, Compactness: *mut Htuple) -> Herror;
28691}
28692unsafe extern "C" {
28693    pub fn compactness(Regions: Hobject, Compactness: *mut f64) -> Herror;
28694}
28695unsafe extern "C" {
28696    pub fn T_circularity(Regions: Hobject, Circularity: *mut Htuple) -> Herror;
28697}
28698unsafe extern "C" {
28699    pub fn circularity(Regions: Hobject, Circularity: *mut f64) -> Herror;
28700}
28701unsafe extern "C" {
28702    pub fn T_area_holes(Regions: Hobject, Area: *mut Htuple) -> Herror;
28703}
28704unsafe extern "C" {
28705    pub fn area_holes(Regions: Hobject, Area: *mut Hlong) -> Herror;
28706}
28707unsafe extern "C" {
28708    pub fn T_area_center(
28709        Regions: Hobject,
28710        Area: *mut Htuple,
28711        Row: *mut Htuple,
28712        Column: *mut Htuple,
28713    ) -> Herror;
28714}
28715unsafe extern "C" {
28716    pub fn area_center(
28717        Regions: Hobject,
28718        Area: *mut Hlong,
28719        Row: *mut f64,
28720        Column: *mut f64,
28721    ) -> Herror;
28722}
28723unsafe extern "C" {
28724    pub fn T_runlength_distribution(
28725        Region: Hobject,
28726        Foreground: *mut Htuple,
28727        Background: *mut Htuple,
28728    ) -> Herror;
28729}
28730unsafe extern "C" {
28731    pub fn T_roundness(
28732        Regions: Hobject,
28733        Distance: *mut Htuple,
28734        Sigma: *mut Htuple,
28735        Roundness: *mut Htuple,
28736        Sides: *mut Htuple,
28737    ) -> Herror;
28738}
28739unsafe extern "C" {
28740    pub fn roundness(
28741        Regions: Hobject,
28742        Distance: *mut f64,
28743        Sigma: *mut f64,
28744        Roundness: *mut f64,
28745        Sides: *mut f64,
28746    ) -> Herror;
28747}
28748unsafe extern "C" {
28749    pub fn T_inner_rectangle1(
28750        Regions: Hobject,
28751        Row1: *mut Htuple,
28752        Column1: *mut Htuple,
28753        Row2: *mut Htuple,
28754        Column2: *mut Htuple,
28755    ) -> Herror;
28756}
28757unsafe extern "C" {
28758    pub fn inner_rectangle1(
28759        Regions: Hobject,
28760        Row1: *mut Hlong,
28761        Column1: *mut Hlong,
28762        Row2: *mut Hlong,
28763        Column2: *mut Hlong,
28764    ) -> Herror;
28765}
28766unsafe extern "C" {
28767    pub fn T_inner_circle(
28768        Regions: Hobject,
28769        Row: *mut Htuple,
28770        Column: *mut Htuple,
28771        Radius: *mut Htuple,
28772    ) -> Herror;
28773}
28774unsafe extern "C" {
28775    pub fn inner_circle(
28776        Regions: Hobject,
28777        Row: *mut f64,
28778        Column: *mut f64,
28779        Radius: *mut f64,
28780    ) -> Herror;
28781}
28782unsafe extern "C" {
28783    pub fn T_select_lines_longest(
28784        RowBeginIn: Htuple,
28785        ColBeginIn: Htuple,
28786        RowEndIn: Htuple,
28787        ColEndIn: Htuple,
28788        Num: Htuple,
28789        RowBeginOut: *mut Htuple,
28790        ColBeginOut: *mut Htuple,
28791        RowEndOut: *mut Htuple,
28792        ColEndOut: *mut Htuple,
28793    ) -> Herror;
28794}
28795unsafe extern "C" {
28796    pub fn T_partition_lines(
28797        RowBeginIn: Htuple,
28798        ColBeginIn: Htuple,
28799        RowEndIn: Htuple,
28800        ColEndIn: Htuple,
28801        Feature: Htuple,
28802        Operation: Htuple,
28803        Min: Htuple,
28804        Max: Htuple,
28805        RowBeginOut: *mut Htuple,
28806        ColBeginOut: *mut Htuple,
28807        RowEndOut: *mut Htuple,
28808        ColEndOut: *mut Htuple,
28809        FailRowBOut: *mut Htuple,
28810        FailColBOut: *mut Htuple,
28811        FailRowEOut: *mut Htuple,
28812        FailColEOut: *mut Htuple,
28813    ) -> Herror;
28814}
28815unsafe extern "C" {
28816    pub fn T_select_lines(
28817        RowBeginIn: Htuple,
28818        ColBeginIn: Htuple,
28819        RowEndIn: Htuple,
28820        ColEndIn: Htuple,
28821        Feature: Htuple,
28822        Operation: Htuple,
28823        Min: Htuple,
28824        Max: Htuple,
28825        RowBeginOut: *mut Htuple,
28826        ColBeginOut: *mut Htuple,
28827        RowEndOut: *mut Htuple,
28828        ColEndOut: *mut Htuple,
28829    ) -> Herror;
28830}
28831unsafe extern "C" {
28832    pub fn T_line_position(
28833        RowBegin: Htuple,
28834        ColBegin: Htuple,
28835        RowEnd: Htuple,
28836        ColEnd: Htuple,
28837        RowCenter: *mut Htuple,
28838        ColCenter: *mut Htuple,
28839        Length: *mut Htuple,
28840        Phi: *mut Htuple,
28841    ) -> Herror;
28842}
28843unsafe extern "C" {
28844    pub fn line_position(
28845        RowBegin: f64,
28846        ColBegin: f64,
28847        RowEnd: f64,
28848        ColEnd: f64,
28849        RowCenter: *mut f64,
28850        ColCenter: *mut f64,
28851        Length: *mut f64,
28852        Phi: *mut f64,
28853    ) -> Herror;
28854}
28855unsafe extern "C" {
28856    pub fn T_line_orientation(
28857        RowBegin: Htuple,
28858        ColBegin: Htuple,
28859        RowEnd: Htuple,
28860        ColEnd: Htuple,
28861        Phi: *mut Htuple,
28862    ) -> Herror;
28863}
28864unsafe extern "C" {
28865    pub fn line_orientation(
28866        RowBegin: f64,
28867        ColBegin: f64,
28868        RowEnd: f64,
28869        ColEnd: f64,
28870        Phi: *mut f64,
28871    ) -> Herror;
28872}
28873unsafe extern "C" {
28874    pub fn T_approx_chain_simple(
28875        Row: Htuple,
28876        Column: Htuple,
28877        ArcCenterRow: *mut Htuple,
28878        ArcCenterCol: *mut Htuple,
28879        ArcAngle: *mut Htuple,
28880        ArcBeginRow: *mut Htuple,
28881        ArcBeginCol: *mut Htuple,
28882        LineBeginRow: *mut Htuple,
28883        LineBeginCol: *mut Htuple,
28884        LineEndRow: *mut Htuple,
28885        LineEndCol: *mut Htuple,
28886        Order: *mut Htuple,
28887    ) -> Herror;
28888}
28889unsafe extern "C" {
28890    pub fn T_approx_chain(
28891        Row: Htuple,
28892        Column: Htuple,
28893        MinWidthCoord: Htuple,
28894        MaxWidthCoord: Htuple,
28895        ThreshStart: Htuple,
28896        ThreshEnd: Htuple,
28897        ThreshStep: Htuple,
28898        MinWidthSmooth: Htuple,
28899        MaxWidthSmooth: Htuple,
28900        MinWidthCurve: Htuple,
28901        MaxWidthCurve: Htuple,
28902        Weight1: Htuple,
28903        Weight2: Htuple,
28904        Weight3: Htuple,
28905        ArcCenterRow: *mut Htuple,
28906        ArcCenterCol: *mut Htuple,
28907        ArcAngle: *mut Htuple,
28908        ArcBeginRow: *mut Htuple,
28909        ArcBeginCol: *mut Htuple,
28910        LineBeginRow: *mut Htuple,
28911        LineBeginCol: *mut Htuple,
28912        LineEndRow: *mut Htuple,
28913        LineEndCol: *mut Htuple,
28914        Order: *mut Htuple,
28915    ) -> Herror;
28916}
28917unsafe extern "C" {
28918    pub fn T_fit_surface_first_order(
28919        Regions: Hobject,
28920        Image: Hobject,
28921        Algorithm: Htuple,
28922        Iterations: Htuple,
28923        ClippingFactor: Htuple,
28924        Alpha: *mut Htuple,
28925        Beta: *mut Htuple,
28926        Gamma: *mut Htuple,
28927    ) -> Herror;
28928}
28929unsafe extern "C" {
28930    pub fn fit_surface_first_order(
28931        Regions: Hobject,
28932        Image: Hobject,
28933        Algorithm: *const ::std::os::raw::c_char,
28934        Iterations: Hlong,
28935        ClippingFactor: f64,
28936        Alpha: *mut f64,
28937        Beta: *mut f64,
28938        Gamma: *mut f64,
28939    ) -> Herror;
28940}
28941unsafe extern "C" {
28942    pub fn T_fit_surface_second_order(
28943        Regions: Hobject,
28944        Image: Hobject,
28945        Algorithm: Htuple,
28946        Iterations: Htuple,
28947        ClippingFactor: Htuple,
28948        Alpha: *mut Htuple,
28949        Beta: *mut Htuple,
28950        Gamma: *mut Htuple,
28951        Delta: *mut Htuple,
28952        Epsilon: *mut Htuple,
28953        Zeta: *mut Htuple,
28954    ) -> Herror;
28955}
28956unsafe extern "C" {
28957    pub fn fit_surface_second_order(
28958        Regions: Hobject,
28959        Image: Hobject,
28960        Algorithm: *const ::std::os::raw::c_char,
28961        Iterations: Hlong,
28962        ClippingFactor: f64,
28963        Alpha: *mut f64,
28964        Beta: *mut f64,
28965        Gamma: *mut f64,
28966        Delta: *mut f64,
28967        Epsilon: *mut f64,
28968        Zeta: *mut f64,
28969    ) -> Herror;
28970}
28971unsafe extern "C" {
28972    pub fn T_gen_image_surface_second_order(
28973        ImageSurface: *mut Hobject,
28974        Type: Htuple,
28975        Alpha: Htuple,
28976        Beta: Htuple,
28977        Gamma: Htuple,
28978        Delta: Htuple,
28979        Epsilon: Htuple,
28980        Zeta: Htuple,
28981        Row: Htuple,
28982        Column: Htuple,
28983        Width: Htuple,
28984        Height: Htuple,
28985    ) -> Herror;
28986}
28987unsafe extern "C" {
28988    pub fn gen_image_surface_second_order(
28989        ImageSurface: *mut Hobject,
28990        Type: *const ::std::os::raw::c_char,
28991        Alpha: f64,
28992        Beta: f64,
28993        Gamma: f64,
28994        Delta: f64,
28995        Epsilon: f64,
28996        Zeta: f64,
28997        Row: f64,
28998        Column: f64,
28999        Width: Hlong,
29000        Height: Hlong,
29001    ) -> Herror;
29002}
29003unsafe extern "C" {
29004    pub fn T_gen_image_surface_first_order(
29005        ImageSurface: *mut Hobject,
29006        Type: Htuple,
29007        Alpha: Htuple,
29008        Beta: Htuple,
29009        Gamma: Htuple,
29010        Row: Htuple,
29011        Column: Htuple,
29012        Width: Htuple,
29013        Height: Htuple,
29014    ) -> Herror;
29015}
29016unsafe extern "C" {
29017    pub fn gen_image_surface_first_order(
29018        ImageSurface: *mut Hobject,
29019        Type: *const ::std::os::raw::c_char,
29020        Alpha: f64,
29021        Beta: f64,
29022        Gamma: f64,
29023        Row: f64,
29024        Column: f64,
29025        Width: Hlong,
29026        Height: Hlong,
29027    ) -> Herror;
29028}
29029unsafe extern "C" {
29030    pub fn T_shape_histo_point(
29031        Region: Hobject,
29032        Image: Hobject,
29033        Feature: Htuple,
29034        Row: Htuple,
29035        Column: Htuple,
29036        AbsoluteHisto: *mut Htuple,
29037        RelativeHisto: *mut Htuple,
29038    ) -> Herror;
29039}
29040unsafe extern "C" {
29041    pub fn T_shape_histo_all(
29042        Region: Hobject,
29043        Image: Hobject,
29044        Feature: Htuple,
29045        AbsoluteHisto: *mut Htuple,
29046        RelativeHisto: *mut Htuple,
29047    ) -> Herror;
29048}
29049unsafe extern "C" {
29050    pub fn T_gray_features(
29051        Regions: Hobject,
29052        Image: Hobject,
29053        Features: Htuple,
29054        Value: *mut Htuple,
29055    ) -> Herror;
29056}
29057unsafe extern "C" {
29058    pub fn gray_features(
29059        Regions: Hobject,
29060        Image: Hobject,
29061        Features: *const ::std::os::raw::c_char,
29062        Value: *mut f64,
29063    ) -> Herror;
29064}
29065unsafe extern "C" {
29066    pub fn T_select_gray(
29067        Regions: Hobject,
29068        Image: Hobject,
29069        SelectedRegions: *mut Hobject,
29070        Features: Htuple,
29071        Operation: Htuple,
29072        Min: Htuple,
29073        Max: Htuple,
29074    ) -> Herror;
29075}
29076unsafe extern "C" {
29077    pub fn select_gray(
29078        Regions: Hobject,
29079        Image: Hobject,
29080        SelectedRegions: *mut Hobject,
29081        Features: *const ::std::os::raw::c_char,
29082        Operation: *const ::std::os::raw::c_char,
29083        Min: f64,
29084        Max: f64,
29085    ) -> Herror;
29086}
29087unsafe extern "C" {
29088    pub fn T_min_max_gray(
29089        Regions: Hobject,
29090        Image: Hobject,
29091        Percent: Htuple,
29092        Min: *mut Htuple,
29093        Max: *mut Htuple,
29094        Range: *mut Htuple,
29095    ) -> Herror;
29096}
29097unsafe extern "C" {
29098    pub fn min_max_gray(
29099        Regions: Hobject,
29100        Image: Hobject,
29101        Percent: f64,
29102        Min: *mut f64,
29103        Max: *mut f64,
29104        Range: *mut f64,
29105    ) -> Herror;
29106}
29107unsafe extern "C" {
29108    pub fn T_intensity(
29109        Regions: Hobject,
29110        Image: Hobject,
29111        Mean: *mut Htuple,
29112        Deviation: *mut Htuple,
29113    ) -> Herror;
29114}
29115unsafe extern "C" {
29116    pub fn intensity(
29117        Regions: Hobject,
29118        Image: Hobject,
29119        Mean: *mut f64,
29120        Deviation: *mut f64,
29121    ) -> Herror;
29122}
29123unsafe extern "C" {
29124    pub fn T_gray_histo_range(
29125        Region: Hobject,
29126        Image: Hobject,
29127        Min: Htuple,
29128        Max: Htuple,
29129        NumBins: Htuple,
29130        Histo: *mut Htuple,
29131        BinSize: *mut Htuple,
29132    ) -> Herror;
29133}
29134unsafe extern "C" {
29135    pub fn gray_histo_range(
29136        Region: Hobject,
29137        Image: Hobject,
29138        Min: f64,
29139        Max: f64,
29140        NumBins: Hlong,
29141        Histo: *mut Hlong,
29142        BinSize: *mut f64,
29143    ) -> Herror;
29144}
29145unsafe extern "C" {
29146    pub fn T_histo_2dim(
29147        Regions: Hobject,
29148        ImageCol: Hobject,
29149        ImageRow: Hobject,
29150        Histo2Dim: *mut Hobject,
29151    ) -> Herror;
29152}
29153unsafe extern "C" {
29154    pub fn histo_2dim(
29155        Regions: Hobject,
29156        ImageCol: Hobject,
29157        ImageRow: Hobject,
29158        Histo2Dim: *mut Hobject,
29159    ) -> Herror;
29160}
29161unsafe extern "C" {
29162    pub fn T_gray_histo_abs(
29163        Region: Hobject,
29164        Image: Hobject,
29165        Quantization: Htuple,
29166        AbsoluteHisto: *mut Htuple,
29167    ) -> Herror;
29168}
29169unsafe extern "C" {
29170    pub fn T_gray_histo(
29171        Region: Hobject,
29172        Image: Hobject,
29173        AbsoluteHisto: *mut Htuple,
29174        RelativeHisto: *mut Htuple,
29175    ) -> Herror;
29176}
29177unsafe extern "C" {
29178    pub fn T_entropy_gray(
29179        Regions: Hobject,
29180        Image: Hobject,
29181        Entropy: *mut Htuple,
29182        Anisotropy: *mut Htuple,
29183    ) -> Herror;
29184}
29185unsafe extern "C" {
29186    pub fn entropy_gray(
29187        Regions: Hobject,
29188        Image: Hobject,
29189        Entropy: *mut f64,
29190        Anisotropy: *mut f64,
29191    ) -> Herror;
29192}
29193unsafe extern "C" {
29194    pub fn T_cooc_feature_matrix(
29195        CoocMatrix: Hobject,
29196        Energy: *mut Htuple,
29197        Correlation: *mut Htuple,
29198        Homogeneity: *mut Htuple,
29199        Contrast: *mut Htuple,
29200    ) -> Herror;
29201}
29202unsafe extern "C" {
29203    pub fn cooc_feature_matrix(
29204        CoocMatrix: Hobject,
29205        Energy: *mut f64,
29206        Correlation: *mut f64,
29207        Homogeneity: *mut f64,
29208        Contrast: *mut f64,
29209    ) -> Herror;
29210}
29211unsafe extern "C" {
29212    pub fn T_cooc_feature_image(
29213        Regions: Hobject,
29214        Image: Hobject,
29215        LdGray: Htuple,
29216        Direction: Htuple,
29217        Energy: *mut Htuple,
29218        Correlation: *mut Htuple,
29219        Homogeneity: *mut Htuple,
29220        Contrast: *mut Htuple,
29221    ) -> Herror;
29222}
29223unsafe extern "C" {
29224    pub fn cooc_feature_image(
29225        Regions: Hobject,
29226        Image: Hobject,
29227        LdGray: Hlong,
29228        Direction: Hlong,
29229        Energy: *mut f64,
29230        Correlation: *mut f64,
29231        Homogeneity: *mut f64,
29232        Contrast: *mut f64,
29233    ) -> Herror;
29234}
29235unsafe extern "C" {
29236    pub fn T_gen_cooc_matrix(
29237        Regions: Hobject,
29238        Image: Hobject,
29239        Matrix: *mut Hobject,
29240        LdGray: Htuple,
29241        Direction: Htuple,
29242    ) -> Herror;
29243}
29244unsafe extern "C" {
29245    pub fn gen_cooc_matrix(
29246        Regions: Hobject,
29247        Image: Hobject,
29248        Matrix: *mut Hobject,
29249        LdGray: Hlong,
29250        Direction: Hlong,
29251    ) -> Herror;
29252}
29253unsafe extern "C" {
29254    pub fn T_moments_gray_plane(
29255        Regions: Hobject,
29256        Image: Hobject,
29257        MRow: *mut Htuple,
29258        MCol: *mut Htuple,
29259        Alpha: *mut Htuple,
29260        Beta: *mut Htuple,
29261        Mean: *mut Htuple,
29262    ) -> Herror;
29263}
29264unsafe extern "C" {
29265    pub fn moments_gray_plane(
29266        Regions: Hobject,
29267        Image: Hobject,
29268        MRow: *mut f64,
29269        MCol: *mut f64,
29270        Alpha: *mut f64,
29271        Beta: *mut f64,
29272        Mean: *mut f64,
29273    ) -> Herror;
29274}
29275unsafe extern "C" {
29276    pub fn T_plane_deviation(Regions: Hobject, Image: Hobject, Deviation: *mut Htuple) -> Herror;
29277}
29278unsafe extern "C" {
29279    pub fn plane_deviation(Regions: Hobject, Image: Hobject, Deviation: *mut f64) -> Herror;
29280}
29281unsafe extern "C" {
29282    pub fn T_elliptic_axis_gray(
29283        Regions: Hobject,
29284        Image: Hobject,
29285        Ra: *mut Htuple,
29286        Rb: *mut Htuple,
29287        Phi: *mut Htuple,
29288    ) -> Herror;
29289}
29290unsafe extern "C" {
29291    pub fn elliptic_axis_gray(
29292        Regions: Hobject,
29293        Image: Hobject,
29294        Ra: *mut f64,
29295        Rb: *mut f64,
29296        Phi: *mut f64,
29297    ) -> Herror;
29298}
29299unsafe extern "C" {
29300    pub fn T_area_center_gray(
29301        Regions: Hobject,
29302        Image: Hobject,
29303        Area: *mut Htuple,
29304        Row: *mut Htuple,
29305        Column: *mut Htuple,
29306    ) -> Herror;
29307}
29308unsafe extern "C" {
29309    pub fn area_center_gray(
29310        Regions: Hobject,
29311        Image: Hobject,
29312        Area: *mut f64,
29313        Row: *mut f64,
29314        Column: *mut f64,
29315    ) -> Herror;
29316}
29317unsafe extern "C" {
29318    pub fn T_gray_projections(
29319        Region: Hobject,
29320        Image: Hobject,
29321        Mode: Htuple,
29322        HorProjection: *mut Htuple,
29323        VertProjection: *mut Htuple,
29324    ) -> Herror;
29325}
29326unsafe extern "C" {
29327    pub fn T_get_data_code_2d_objects(
29328        DataCodeObjects: *mut Hobject,
29329        DataCodeHandle: Htuple,
29330        CandidateHandle: Htuple,
29331        ObjectName: Htuple,
29332    ) -> Herror;
29333}
29334unsafe extern "C" {
29335    pub fn get_data_code_2d_objects(
29336        DataCodeObjects: *mut Hobject,
29337        DataCodeHandle: Hlong,
29338        CandidateHandle: Hlong,
29339        ObjectName: *const ::std::os::raw::c_char,
29340    ) -> Herror;
29341}
29342unsafe extern "C" {
29343    pub fn T_get_data_code_2d_results(
29344        DataCodeHandle: Htuple,
29345        CandidateHandle: Htuple,
29346        ResultNames: Htuple,
29347        ResultValues: *mut Htuple,
29348    ) -> Herror;
29349}
29350unsafe extern "C" {
29351    pub fn get_data_code_2d_results(
29352        DataCodeHandle: Hlong,
29353        CandidateHandle: *const ::std::os::raw::c_char,
29354        ResultNames: *const ::std::os::raw::c_char,
29355        ResultValues: *mut ::std::os::raw::c_char,
29356    ) -> Herror;
29357}
29358unsafe extern "C" {
29359    pub fn T_find_data_code_2d(
29360        Image: Hobject,
29361        SymbolXLDs: *mut Hobject,
29362        DataCodeHandle: Htuple,
29363        GenParamName: Htuple,
29364        GenParamValue: Htuple,
29365        ResultHandles: *mut Htuple,
29366        DecodedDataStrings: *mut Htuple,
29367    ) -> Herror;
29368}
29369unsafe extern "C" {
29370    pub fn find_data_code_2d(
29371        Image: Hobject,
29372        SymbolXLDs: *mut Hobject,
29373        DataCodeHandle: Hlong,
29374        GenParamName: *const ::std::os::raw::c_char,
29375        GenParamValue: Hlong,
29376        ResultHandles: *mut Hlong,
29377        DecodedDataStrings: *mut ::std::os::raw::c_char,
29378    ) -> Herror;
29379}
29380unsafe extern "C" {
29381    pub fn T_set_data_code_2d_param(
29382        DataCodeHandle: Htuple,
29383        GenParamName: Htuple,
29384        GenParamValue: Htuple,
29385    ) -> Herror;
29386}
29387unsafe extern "C" {
29388    pub fn set_data_code_2d_param(
29389        DataCodeHandle: Hlong,
29390        GenParamName: *const ::std::os::raw::c_char,
29391        GenParamValue: *const ::std::os::raw::c_char,
29392    ) -> Herror;
29393}
29394unsafe extern "C" {
29395    pub fn T_get_data_code_2d_param(
29396        DataCodeHandle: Htuple,
29397        GenParamName: Htuple,
29398        GenParamValue: *mut Htuple,
29399    ) -> Herror;
29400}
29401unsafe extern "C" {
29402    pub fn get_data_code_2d_param(
29403        DataCodeHandle: Hlong,
29404        GenParamName: *const ::std::os::raw::c_char,
29405        GenParamValue: *mut ::std::os::raw::c_char,
29406    ) -> Herror;
29407}
29408unsafe extern "C" {
29409    pub fn T_query_data_code_2d_params(
29410        DataCodeHandle: Htuple,
29411        QueryName: Htuple,
29412        GenParamName: *mut Htuple,
29413    ) -> Herror;
29414}
29415unsafe extern "C" {
29416    pub fn T_deserialize_data_code_2d_model(
29417        SerializedItemHandle: Htuple,
29418        DataCodeHandle: *mut Htuple,
29419    ) -> Herror;
29420}
29421unsafe extern "C" {
29422    pub fn deserialize_data_code_2d_model(
29423        SerializedItemHandle: Hlong,
29424        DataCodeHandle: *mut Hlong,
29425    ) -> Herror;
29426}
29427unsafe extern "C" {
29428    pub fn T_serialize_data_code_2d_model(
29429        DataCodeHandle: Htuple,
29430        SerializedItemHandle: *mut Htuple,
29431    ) -> Herror;
29432}
29433unsafe extern "C" {
29434    pub fn serialize_data_code_2d_model(
29435        DataCodeHandle: Hlong,
29436        SerializedItemHandle: *mut Hlong,
29437    ) -> Herror;
29438}
29439unsafe extern "C" {
29440    pub fn T_read_data_code_2d_model(FileName: Htuple, DataCodeHandle: *mut Htuple) -> Herror;
29441}
29442unsafe extern "C" {
29443    pub fn read_data_code_2d_model(
29444        FileName: *const ::std::os::raw::c_char,
29445        DataCodeHandle: *mut Hlong,
29446    ) -> Herror;
29447}
29448unsafe extern "C" {
29449    pub fn T_write_data_code_2d_model(DataCodeHandle: Htuple, FileName: Htuple) -> Herror;
29450}
29451unsafe extern "C" {
29452    pub fn write_data_code_2d_model(
29453        DataCodeHandle: Hlong,
29454        FileName: *const ::std::os::raw::c_char,
29455    ) -> Herror;
29456}
29457unsafe extern "C" {
29458    pub fn T_clear_all_data_code_2d_models() -> Herror;
29459}
29460unsafe extern "C" {
29461    pub fn clear_all_data_code_2d_models() -> Herror;
29462}
29463unsafe extern "C" {
29464    pub fn T_clear_data_code_2d_model(DataCodeHandle: Htuple) -> Herror;
29465}
29466unsafe extern "C" {
29467    pub fn clear_data_code_2d_model(DataCodeHandle: Hlong) -> Herror;
29468}
29469unsafe extern "C" {
29470    pub fn T_create_data_code_2d_model(
29471        SymbolType: Htuple,
29472        GenParamName: Htuple,
29473        GenParamValue: Htuple,
29474        DataCodeHandle: *mut Htuple,
29475    ) -> Herror;
29476}
29477unsafe extern "C" {
29478    pub fn create_data_code_2d_model(
29479        SymbolType: *const ::std::os::raw::c_char,
29480        GenParamName: *const ::std::os::raw::c_char,
29481        GenParamValue: *const ::std::os::raw::c_char,
29482        DataCodeHandle: *mut Hlong,
29483    ) -> Herror;
29484}
29485unsafe extern "C" {
29486    pub fn T_deserialize_class_train_data(
29487        SerializedItemHandle: Htuple,
29488        ClassTrainDataHandle: *mut Htuple,
29489    ) -> Herror;
29490}
29491unsafe extern "C" {
29492    pub fn deserialize_class_train_data(
29493        SerializedItemHandle: Hlong,
29494        ClassTrainDataHandle: *mut Hlong,
29495    ) -> Herror;
29496}
29497unsafe extern "C" {
29498    pub fn T_serialize_class_train_data(
29499        ClassTrainDataHandle: Htuple,
29500        SerializedItemHandle: *mut Htuple,
29501    ) -> Herror;
29502}
29503unsafe extern "C" {
29504    pub fn serialize_class_train_data(
29505        ClassTrainDataHandle: Hlong,
29506        SerializedItemHandle: *mut Hlong,
29507    ) -> Herror;
29508}
29509unsafe extern "C" {
29510    pub fn T_read_class_train_data(FileName: Htuple, ClassTrainDataHandle: *mut Htuple) -> Herror;
29511}
29512unsafe extern "C" {
29513    pub fn read_class_train_data(
29514        FileName: *const ::std::os::raw::c_char,
29515        ClassTrainDataHandle: *mut Hlong,
29516    ) -> Herror;
29517}
29518unsafe extern "C" {
29519    pub fn T_write_class_train_data(ClassTrainDataHandle: Htuple, FileName: Htuple) -> Herror;
29520}
29521unsafe extern "C" {
29522    pub fn write_class_train_data(
29523        ClassTrainDataHandle: Hlong,
29524        FileName: *const ::std::os::raw::c_char,
29525    ) -> Herror;
29526}
29527unsafe extern "C" {
29528    pub fn T_select_sub_feature_class_train_data(
29529        ClassTrainDataHandle: Htuple,
29530        SubFeatureIndices: Htuple,
29531        SelectedClassTrainDataHandle: *mut Htuple,
29532    ) -> Herror;
29533}
29534unsafe extern "C" {
29535    pub fn T_set_feature_lengths_class_train_data(
29536        ClassTrainDataHandle: Htuple,
29537        SubFeatureLength: Htuple,
29538        Names: Htuple,
29539    ) -> Herror;
29540}
29541unsafe extern "C" {
29542    pub fn T_get_class_train_data_gmm(
29543        GMMHandle: Htuple,
29544        ClassTrainDataHandle: *mut Htuple,
29545    ) -> Herror;
29546}
29547unsafe extern "C" {
29548    pub fn get_class_train_data_gmm(GMMHandle: Hlong, ClassTrainDataHandle: *mut Hlong) -> Herror;
29549}
29550unsafe extern "C" {
29551    pub fn T_add_class_train_data_gmm(GMMHandle: Htuple, ClassTrainDataHandle: Htuple) -> Herror;
29552}
29553unsafe extern "C" {
29554    pub fn add_class_train_data_gmm(GMMHandle: Hlong, ClassTrainDataHandle: Hlong) -> Herror;
29555}
29556unsafe extern "C" {
29557    pub fn T_get_class_train_data_mlp(
29558        MLPHandle: Htuple,
29559        ClassTrainDataHandle: *mut Htuple,
29560    ) -> Herror;
29561}
29562unsafe extern "C" {
29563    pub fn get_class_train_data_mlp(MLPHandle: Hlong, ClassTrainDataHandle: *mut Hlong) -> Herror;
29564}
29565unsafe extern "C" {
29566    pub fn T_add_class_train_data_mlp(MLPHandle: Htuple, ClassTrainDataHandle: Htuple) -> Herror;
29567}
29568unsafe extern "C" {
29569    pub fn add_class_train_data_mlp(MLPHandle: Hlong, ClassTrainDataHandle: Hlong) -> Herror;
29570}
29571unsafe extern "C" {
29572    pub fn T_get_class_train_data_knn(
29573        KNNHandle: Htuple,
29574        ClassTrainDataHandle: *mut Htuple,
29575    ) -> Herror;
29576}
29577unsafe extern "C" {
29578    pub fn get_class_train_data_knn(KNNHandle: Hlong, ClassTrainDataHandle: *mut Hlong) -> Herror;
29579}
29580unsafe extern "C" {
29581    pub fn T_add_class_train_data_knn(KNNHandle: Htuple, ClassTrainDataHandle: Htuple) -> Herror;
29582}
29583unsafe extern "C" {
29584    pub fn add_class_train_data_knn(KNNHandle: Hlong, ClassTrainDataHandle: Hlong) -> Herror;
29585}
29586unsafe extern "C" {
29587    pub fn T_get_class_train_data_svm(
29588        SVMHandle: Htuple,
29589        ClassTrainDataHandle: *mut Htuple,
29590    ) -> Herror;
29591}
29592unsafe extern "C" {
29593    pub fn get_class_train_data_svm(SVMHandle: Hlong, ClassTrainDataHandle: *mut Hlong) -> Herror;
29594}
29595unsafe extern "C" {
29596    pub fn T_add_class_train_data_svm(SVMHandle: Htuple, ClassTrainDataHandle: Htuple) -> Herror;
29597}
29598unsafe extern "C" {
29599    pub fn add_class_train_data_svm(SVMHandle: Hlong, ClassTrainDataHandle: Hlong) -> Herror;
29600}
29601unsafe extern "C" {
29602    pub fn T_get_sample_num_class_train_data(
29603        ClassTrainDataHandle: Htuple,
29604        NumSamples: *mut Htuple,
29605    ) -> Herror;
29606}
29607unsafe extern "C" {
29608    pub fn get_sample_num_class_train_data(
29609        ClassTrainDataHandle: Hlong,
29610        NumSamples: *mut Hlong,
29611    ) -> Herror;
29612}
29613unsafe extern "C" {
29614    pub fn T_get_sample_class_train_data(
29615        ClassTrainDataHandle: Htuple,
29616        IndexSample: Htuple,
29617        Features: *mut Htuple,
29618        ClassID: *mut Htuple,
29619    ) -> Herror;
29620}
29621unsafe extern "C" {
29622    pub fn T_clear_all_class_train_data() -> Herror;
29623}
29624unsafe extern "C" {
29625    pub fn clear_all_class_train_data() -> Herror;
29626}
29627unsafe extern "C" {
29628    pub fn T_clear_class_train_data(ClassTrainDataHandle: Htuple) -> Herror;
29629}
29630unsafe extern "C" {
29631    pub fn clear_class_train_data(ClassTrainDataHandle: Hlong) -> Herror;
29632}
29633unsafe extern "C" {
29634    pub fn T_add_sample_class_train_data(
29635        ClassTrainDataHandle: Htuple,
29636        Order: Htuple,
29637        Features: Htuple,
29638        ClassID: Htuple,
29639    ) -> Herror;
29640}
29641unsafe extern "C" {
29642    pub fn T_create_class_train_data(NumDim: Htuple, ClassTrainDataHandle: *mut Htuple) -> Herror;
29643}
29644unsafe extern "C" {
29645    pub fn create_class_train_data(NumDim: Hlong, ClassTrainDataHandle: *mut Hlong) -> Herror;
29646}
29647unsafe extern "C" {
29648    pub fn T_select_feature_set_mlp(
29649        ClassTrainDataHandle: Htuple,
29650        SelectionMethod: Htuple,
29651        GenParamName: Htuple,
29652        GenParamValue: Htuple,
29653        MLPHandle: *mut Htuple,
29654        SelectedFeatureIndices: *mut Htuple,
29655        Score: *mut Htuple,
29656    ) -> Herror;
29657}
29658unsafe extern "C" {
29659    pub fn T_select_feature_set_svm(
29660        ClassTrainDataHandle: Htuple,
29661        SelectionMethod: Htuple,
29662        GenParamName: Htuple,
29663        GenParamValue: Htuple,
29664        SVMHandle: *mut Htuple,
29665        SelectedFeatureIndices: *mut Htuple,
29666        Score: *mut Htuple,
29667    ) -> Herror;
29668}
29669unsafe extern "C" {
29670    pub fn T_select_feature_set_gmm(
29671        ClassTrainDataHandle: Htuple,
29672        SelectionMethod: Htuple,
29673        GenParamName: Htuple,
29674        GenParamValue: Htuple,
29675        GMMHandle: *mut Htuple,
29676        SelectedFeatureIndices: *mut Htuple,
29677        Score: *mut Htuple,
29678    ) -> Herror;
29679}
29680unsafe extern "C" {
29681    pub fn T_select_feature_set_knn(
29682        ClassTrainDataHandle: Htuple,
29683        SelectionMethod: Htuple,
29684        GenParamName: Htuple,
29685        GenParamValue: Htuple,
29686        KNNHandle: *mut Htuple,
29687        SelectedFeatureIndices: *mut Htuple,
29688        Score: *mut Htuple,
29689    ) -> Herror;
29690}
29691unsafe extern "C" {
29692    pub fn T_clear_all_class_knn() -> Herror;
29693}
29694unsafe extern "C" {
29695    pub fn clear_all_class_knn() -> Herror;
29696}
29697unsafe extern "C" {
29698    pub fn T_clear_class_knn(KNNHandle: Htuple) -> Herror;
29699}
29700unsafe extern "C" {
29701    pub fn clear_class_knn(KNNHandle: Hlong) -> Herror;
29702}
29703unsafe extern "C" {
29704    pub fn T_get_sample_num_class_knn(KNNHandle: Htuple, NumSamples: *mut Htuple) -> Herror;
29705}
29706unsafe extern "C" {
29707    pub fn get_sample_num_class_knn(KNNHandle: Hlong, NumSamples: *mut Hlong) -> Herror;
29708}
29709unsafe extern "C" {
29710    pub fn T_get_sample_class_knn(
29711        KNNHandle: Htuple,
29712        IndexSample: Htuple,
29713        Features: *mut Htuple,
29714        ClassID: *mut Htuple,
29715    ) -> Herror;
29716}
29717unsafe extern "C" {
29718    pub fn T_deserialize_class_knn(SerializedItemHandle: Htuple, KNNHandle: *mut Htuple) -> Herror;
29719}
29720unsafe extern "C" {
29721    pub fn deserialize_class_knn(SerializedItemHandle: Hlong, KNNHandle: *mut Hlong) -> Herror;
29722}
29723unsafe extern "C" {
29724    pub fn T_serialize_class_knn(KNNHandle: Htuple, SerializedItemHandle: *mut Htuple) -> Herror;
29725}
29726unsafe extern "C" {
29727    pub fn serialize_class_knn(KNNHandle: Hlong, SerializedItemHandle: *mut Hlong) -> Herror;
29728}
29729unsafe extern "C" {
29730    pub fn T_read_class_knn(FileName: Htuple, KNNHandle: *mut Htuple) -> Herror;
29731}
29732unsafe extern "C" {
29733    pub fn read_class_knn(FileName: *const ::std::os::raw::c_char, KNNHandle: *mut Hlong)
29734    -> Herror;
29735}
29736unsafe extern "C" {
29737    pub fn T_write_class_knn(KNNHandle: Htuple, FileName: Htuple) -> Herror;
29738}
29739unsafe extern "C" {
29740    pub fn write_class_knn(KNNHandle: Hlong, FileName: *const ::std::os::raw::c_char) -> Herror;
29741}
29742unsafe extern "C" {
29743    pub fn T_get_params_class_knn(
29744        KNNHandle: Htuple,
29745        GenParamName: Htuple,
29746        GenParamValue: *mut Htuple,
29747    ) -> Herror;
29748}
29749unsafe extern "C" {
29750    pub fn T_set_params_class_knn(
29751        KNNHandle: Htuple,
29752        GenParamName: Htuple,
29753        GenParamValue: Htuple,
29754    ) -> Herror;
29755}
29756unsafe extern "C" {
29757    pub fn T_classify_class_knn(
29758        KNNHandle: Htuple,
29759        Features: Htuple,
29760        Result: *mut Htuple,
29761        Rating: *mut Htuple,
29762    ) -> Herror;
29763}
29764unsafe extern "C" {
29765    pub fn T_train_class_knn(
29766        KNNHandle: Htuple,
29767        GenParamName: Htuple,
29768        GenParamValue: Htuple,
29769    ) -> Herror;
29770}
29771unsafe extern "C" {
29772    pub fn T_add_sample_class_knn(KNNHandle: Htuple, Features: Htuple, ClassID: Htuple) -> Herror;
29773}
29774unsafe extern "C" {
29775    pub fn add_sample_class_knn(KNNHandle: Hlong, Features: f64, ClassID: Hlong) -> Herror;
29776}
29777unsafe extern "C" {
29778    pub fn T_create_class_knn(NumDim: Htuple, KNNHandle: *mut Htuple) -> Herror;
29779}
29780unsafe extern "C" {
29781    pub fn T_clear_all_class_lut() -> Herror;
29782}
29783unsafe extern "C" {
29784    pub fn clear_all_class_lut() -> Herror;
29785}
29786unsafe extern "C" {
29787    pub fn T_clear_class_lut(ClassLUTHandle: Htuple) -> Herror;
29788}
29789unsafe extern "C" {
29790    pub fn clear_class_lut(ClassLUTHandle: Hlong) -> Herror;
29791}
29792unsafe extern "C" {
29793    pub fn T_create_class_lut_knn(
29794        KNNHandle: Htuple,
29795        GenParamName: Htuple,
29796        GenParamValue: Htuple,
29797        ClassLUTHandle: *mut Htuple,
29798    ) -> Herror;
29799}
29800unsafe extern "C" {
29801    pub fn T_create_class_lut_gmm(
29802        GMMHandle: Htuple,
29803        GenParamName: Htuple,
29804        GenParamValue: Htuple,
29805        ClassLUTHandle: *mut Htuple,
29806    ) -> Herror;
29807}
29808unsafe extern "C" {
29809    pub fn T_create_class_lut_svm(
29810        SVMHandle: Htuple,
29811        GenParamName: Htuple,
29812        GenParamValue: Htuple,
29813        ClassLUTHandle: *mut Htuple,
29814    ) -> Herror;
29815}
29816unsafe extern "C" {
29817    pub fn T_create_class_lut_mlp(
29818        MLPHandle: Htuple,
29819        GenParamName: Htuple,
29820        GenParamValue: Htuple,
29821        ClassLUTHandle: *mut Htuple,
29822    ) -> Herror;
29823}
29824unsafe extern "C" {
29825    pub fn T_clear_all_class_gmm() -> Herror;
29826}
29827unsafe extern "C" {
29828    pub fn clear_all_class_gmm() -> Herror;
29829}
29830unsafe extern "C" {
29831    pub fn T_clear_class_gmm(GMMHandle: Htuple) -> Herror;
29832}
29833unsafe extern "C" {
29834    pub fn clear_class_gmm(GMMHandle: Hlong) -> Herror;
29835}
29836unsafe extern "C" {
29837    pub fn T_clear_samples_class_gmm(GMMHandle: Htuple) -> Herror;
29838}
29839unsafe extern "C" {
29840    pub fn clear_samples_class_gmm(GMMHandle: Hlong) -> Herror;
29841}
29842unsafe extern "C" {
29843    pub fn T_deserialize_class_gmm(SerializedItemHandle: Htuple, GMMHandle: *mut Htuple) -> Herror;
29844}
29845unsafe extern "C" {
29846    pub fn deserialize_class_gmm(SerializedItemHandle: Hlong, GMMHandle: *mut Hlong) -> Herror;
29847}
29848unsafe extern "C" {
29849    pub fn T_serialize_class_gmm(GMMHandle: Htuple, SerializedItemHandle: *mut Htuple) -> Herror;
29850}
29851unsafe extern "C" {
29852    pub fn serialize_class_gmm(GMMHandle: Hlong, SerializedItemHandle: *mut Hlong) -> Herror;
29853}
29854unsafe extern "C" {
29855    pub fn T_read_class_gmm(FileName: Htuple, GMMHandle: *mut Htuple) -> Herror;
29856}
29857unsafe extern "C" {
29858    pub fn read_class_gmm(FileName: *const ::std::os::raw::c_char, GMMHandle: *mut Hlong)
29859    -> Herror;
29860}
29861unsafe extern "C" {
29862    pub fn T_write_class_gmm(GMMHandle: Htuple, FileName: Htuple) -> Herror;
29863}
29864unsafe extern "C" {
29865    pub fn write_class_gmm(GMMHandle: Hlong, FileName: *const ::std::os::raw::c_char) -> Herror;
29866}
29867unsafe extern "C" {
29868    pub fn T_read_samples_class_gmm(GMMHandle: Htuple, FileName: Htuple) -> Herror;
29869}
29870unsafe extern "C" {
29871    pub fn read_samples_class_gmm(
29872        GMMHandle: Hlong,
29873        FileName: *const ::std::os::raw::c_char,
29874    ) -> Herror;
29875}
29876unsafe extern "C" {
29877    pub fn T_write_samples_class_gmm(GMMHandle: Htuple, FileName: Htuple) -> Herror;
29878}
29879unsafe extern "C" {
29880    pub fn write_samples_class_gmm(
29881        GMMHandle: Hlong,
29882        FileName: *const ::std::os::raw::c_char,
29883    ) -> Herror;
29884}
29885unsafe extern "C" {
29886    pub fn T_classify_class_gmm(
29887        GMMHandle: Htuple,
29888        Features: Htuple,
29889        Num: Htuple,
29890        ClassID: *mut Htuple,
29891        ClassProb: *mut Htuple,
29892        Density: *mut Htuple,
29893        KSigmaProb: *mut Htuple,
29894    ) -> Herror;
29895}
29896unsafe extern "C" {
29897    pub fn T_evaluate_class_gmm(
29898        GMMHandle: Htuple,
29899        Features: Htuple,
29900        ClassProb: *mut Htuple,
29901        Density: *mut Htuple,
29902        KSigmaProb: *mut Htuple,
29903    ) -> Herror;
29904}
29905unsafe extern "C" {
29906    pub fn T_train_class_gmm(
29907        GMMHandle: Htuple,
29908        MaxIter: Htuple,
29909        Threshold: Htuple,
29910        ClassPriors: Htuple,
29911        Regularize: Htuple,
29912        Centers: *mut Htuple,
29913        Iter: *mut Htuple,
29914    ) -> Herror;
29915}
29916unsafe extern "C" {
29917    pub fn T_get_prep_info_class_gmm(
29918        GMMHandle: Htuple,
29919        Preprocessing: Htuple,
29920        InformationCont: *mut Htuple,
29921        CumInformationCont: *mut Htuple,
29922    ) -> Herror;
29923}
29924unsafe extern "C" {
29925    pub fn T_get_sample_num_class_gmm(GMMHandle: Htuple, NumSamples: *mut Htuple) -> Herror;
29926}
29927unsafe extern "C" {
29928    pub fn get_sample_num_class_gmm(GMMHandle: Hlong, NumSamples: *mut Hlong) -> Herror;
29929}
29930unsafe extern "C" {
29931    pub fn T_get_sample_class_gmm(
29932        GMMHandle: Htuple,
29933        NumSample: Htuple,
29934        Features: *mut Htuple,
29935        ClassID: *mut Htuple,
29936    ) -> Herror;
29937}
29938unsafe extern "C" {
29939    pub fn T_add_sample_class_gmm(
29940        GMMHandle: Htuple,
29941        Features: Htuple,
29942        ClassID: Htuple,
29943        Randomize: Htuple,
29944    ) -> Herror;
29945}
29946unsafe extern "C" {
29947    pub fn T_get_params_class_gmm(
29948        GMMHandle: Htuple,
29949        NumDim: *mut Htuple,
29950        NumClasses: *mut Htuple,
29951        MinCenters: *mut Htuple,
29952        MaxCenters: *mut Htuple,
29953        CovarType: *mut Htuple,
29954    ) -> Herror;
29955}
29956unsafe extern "C" {
29957    pub fn T_create_class_gmm(
29958        NumDim: Htuple,
29959        NumClasses: Htuple,
29960        NumCenters: Htuple,
29961        CovarType: Htuple,
29962        Preprocessing: Htuple,
29963        NumComponents: Htuple,
29964        RandSeed: Htuple,
29965        GMMHandle: *mut Htuple,
29966    ) -> Herror;
29967}
29968unsafe extern "C" {
29969    pub fn create_class_gmm(
29970        NumDim: Hlong,
29971        NumClasses: Hlong,
29972        NumCenters: Hlong,
29973        CovarType: *const ::std::os::raw::c_char,
29974        Preprocessing: *const ::std::os::raw::c_char,
29975        NumComponents: Hlong,
29976        RandSeed: Hlong,
29977        GMMHandle: *mut Hlong,
29978    ) -> Herror;
29979}
29980unsafe extern "C" {
29981    pub fn T_clear_all_class_svm() -> Herror;
29982}
29983unsafe extern "C" {
29984    pub fn clear_all_class_svm() -> Herror;
29985}
29986unsafe extern "C" {
29987    pub fn T_clear_class_svm(SVMHandle: Htuple) -> Herror;
29988}
29989unsafe extern "C" {
29990    pub fn clear_class_svm(SVMHandle: Hlong) -> Herror;
29991}
29992unsafe extern "C" {
29993    pub fn T_clear_samples_class_svm(SVMHandle: Htuple) -> Herror;
29994}
29995unsafe extern "C" {
29996    pub fn clear_samples_class_svm(SVMHandle: Hlong) -> Herror;
29997}
29998unsafe extern "C" {
29999    pub fn T_deserialize_class_svm(SerializedItemHandle: Htuple, SVMHandle: *mut Htuple) -> Herror;
30000}
30001unsafe extern "C" {
30002    pub fn deserialize_class_svm(SerializedItemHandle: Hlong, SVMHandle: *mut Hlong) -> Herror;
30003}
30004unsafe extern "C" {
30005    pub fn T_serialize_class_svm(SVMHandle: Htuple, SerializedItemHandle: *mut Htuple) -> Herror;
30006}
30007unsafe extern "C" {
30008    pub fn serialize_class_svm(SVMHandle: Hlong, SerializedItemHandle: *mut Hlong) -> Herror;
30009}
30010unsafe extern "C" {
30011    pub fn T_read_class_svm(FileName: Htuple, SVMHandle: *mut Htuple) -> Herror;
30012}
30013unsafe extern "C" {
30014    pub fn read_class_svm(FileName: *const ::std::os::raw::c_char, SVMHandle: *mut Hlong)
30015    -> Herror;
30016}
30017unsafe extern "C" {
30018    pub fn T_write_class_svm(SVMHandle: Htuple, FileName: Htuple) -> Herror;
30019}
30020unsafe extern "C" {
30021    pub fn write_class_svm(SVMHandle: Hlong, FileName: *const ::std::os::raw::c_char) -> Herror;
30022}
30023unsafe extern "C" {
30024    pub fn T_read_samples_class_svm(SVMHandle: Htuple, FileName: Htuple) -> Herror;
30025}
30026unsafe extern "C" {
30027    pub fn read_samples_class_svm(
30028        SVMHandle: Hlong,
30029        FileName: *const ::std::os::raw::c_char,
30030    ) -> Herror;
30031}
30032unsafe extern "C" {
30033    pub fn T_write_samples_class_svm(SVMHandle: Htuple, FileName: Htuple) -> Herror;
30034}
30035unsafe extern "C" {
30036    pub fn write_samples_class_svm(
30037        SVMHandle: Hlong,
30038        FileName: *const ::std::os::raw::c_char,
30039    ) -> Herror;
30040}
30041unsafe extern "C" {
30042    pub fn T_evaluate_class_svm(SVMHandle: Htuple, Features: Htuple, Result: *mut Htuple)
30043    -> Herror;
30044}
30045unsafe extern "C" {
30046    pub fn T_classify_class_svm(
30047        SVMHandle: Htuple,
30048        Features: Htuple,
30049        Num: Htuple,
30050        Class: *mut Htuple,
30051    ) -> Herror;
30052}
30053unsafe extern "C" {
30054    pub fn T_reduce_class_svm(
30055        SVMHandle: Htuple,
30056        Method: Htuple,
30057        MinRemainingSV: Htuple,
30058        MaxError: Htuple,
30059        SVMHandleReduced: *mut Htuple,
30060    ) -> Herror;
30061}
30062unsafe extern "C" {
30063    pub fn reduce_class_svm(
30064        SVMHandle: Hlong,
30065        Method: *const ::std::os::raw::c_char,
30066        MinRemainingSV: Hlong,
30067        MaxError: f64,
30068        SVMHandleReduced: *mut Hlong,
30069    ) -> Herror;
30070}
30071unsafe extern "C" {
30072    pub fn T_train_class_svm(SVMHandle: Htuple, Epsilon: Htuple, TrainMode: Htuple) -> Herror;
30073}
30074unsafe extern "C" {
30075    pub fn train_class_svm(
30076        SVMHandle: Hlong,
30077        Epsilon: f64,
30078        TrainMode: *const ::std::os::raw::c_char,
30079    ) -> Herror;
30080}
30081unsafe extern "C" {
30082    pub fn T_get_prep_info_class_svm(
30083        SVMHandle: Htuple,
30084        Preprocessing: Htuple,
30085        InformationCont: *mut Htuple,
30086        CumInformationCont: *mut Htuple,
30087    ) -> Herror;
30088}
30089unsafe extern "C" {
30090    pub fn T_get_support_vector_num_class_svm(
30091        SVMHandle: Htuple,
30092        NumSupportVectors: *mut Htuple,
30093        NumSVPerSVM: *mut Htuple,
30094    ) -> Herror;
30095}
30096unsafe extern "C" {
30097    pub fn T_get_support_vector_class_svm(
30098        SVMHandle: Htuple,
30099        IndexSupportVector: Htuple,
30100        Index: *mut Htuple,
30101    ) -> Herror;
30102}
30103unsafe extern "C" {
30104    pub fn get_support_vector_class_svm(
30105        SVMHandle: Hlong,
30106        IndexSupportVector: Hlong,
30107        Index: *mut f64,
30108    ) -> Herror;
30109}
30110unsafe extern "C" {
30111    pub fn T_get_sample_num_class_svm(SVMHandle: Htuple, NumSamples: *mut Htuple) -> Herror;
30112}
30113unsafe extern "C" {
30114    pub fn get_sample_num_class_svm(SVMHandle: Hlong, NumSamples: *mut Hlong) -> Herror;
30115}
30116unsafe extern "C" {
30117    pub fn T_get_sample_class_svm(
30118        SVMHandle: Htuple,
30119        IndexSample: Htuple,
30120        Features: *mut Htuple,
30121        Target: *mut Htuple,
30122    ) -> Herror;
30123}
30124unsafe extern "C" {
30125    pub fn T_add_sample_class_svm(SVMHandle: Htuple, Features: Htuple, Class: Htuple) -> Herror;
30126}
30127unsafe extern "C" {
30128    pub fn T_get_params_class_svm(
30129        SVMHandle: Htuple,
30130        NumFeatures: *mut Htuple,
30131        KernelType: *mut Htuple,
30132        KernelParam: *mut Htuple,
30133        Nu: *mut Htuple,
30134        NumClasses: *mut Htuple,
30135        Mode: *mut Htuple,
30136        Preprocessing: *mut Htuple,
30137        NumComponents: *mut Htuple,
30138    ) -> Herror;
30139}
30140unsafe extern "C" {
30141    pub fn get_params_class_svm(
30142        SVMHandle: Hlong,
30143        NumFeatures: *mut Hlong,
30144        KernelType: *mut ::std::os::raw::c_char,
30145        KernelParam: *mut f64,
30146        Nu: *mut f64,
30147        NumClasses: *mut Hlong,
30148        Mode: *mut ::std::os::raw::c_char,
30149        Preprocessing: *mut ::std::os::raw::c_char,
30150        NumComponents: *mut Hlong,
30151    ) -> Herror;
30152}
30153unsafe extern "C" {
30154    pub fn T_create_class_svm(
30155        NumFeatures: Htuple,
30156        KernelType: Htuple,
30157        KernelParam: Htuple,
30158        Nu: Htuple,
30159        NumClasses: Htuple,
30160        Mode: Htuple,
30161        Preprocessing: Htuple,
30162        NumComponents: Htuple,
30163        SVMHandle: *mut Htuple,
30164    ) -> Herror;
30165}
30166unsafe extern "C" {
30167    pub fn create_class_svm(
30168        NumFeatures: Hlong,
30169        KernelType: *const ::std::os::raw::c_char,
30170        KernelParam: f64,
30171        Nu: f64,
30172        NumClasses: Hlong,
30173        Mode: *const ::std::os::raw::c_char,
30174        Preprocessing: *const ::std::os::raw::c_char,
30175        NumComponents: Hlong,
30176        SVMHandle: *mut Hlong,
30177    ) -> Herror;
30178}
30179unsafe extern "C" {
30180    pub fn T_clear_all_class_mlp() -> Herror;
30181}
30182unsafe extern "C" {
30183    pub fn clear_all_class_mlp() -> Herror;
30184}
30185unsafe extern "C" {
30186    pub fn T_clear_class_mlp(MLPHandle: Htuple) -> Herror;
30187}
30188unsafe extern "C" {
30189    pub fn clear_class_mlp(MLPHandle: Hlong) -> Herror;
30190}
30191unsafe extern "C" {
30192    pub fn T_clear_samples_class_mlp(MLPHandle: Htuple) -> Herror;
30193}
30194unsafe extern "C" {
30195    pub fn clear_samples_class_mlp(MLPHandle: Hlong) -> Herror;
30196}
30197unsafe extern "C" {
30198    pub fn T_deserialize_class_mlp(SerializedItemHandle: Htuple, MLPHandle: *mut Htuple) -> Herror;
30199}
30200unsafe extern "C" {
30201    pub fn deserialize_class_mlp(SerializedItemHandle: Hlong, MLPHandle: *mut Hlong) -> Herror;
30202}
30203unsafe extern "C" {
30204    pub fn T_serialize_class_mlp(MLPHandle: Htuple, SerializedItemHandle: *mut Htuple) -> Herror;
30205}
30206unsafe extern "C" {
30207    pub fn serialize_class_mlp(MLPHandle: Hlong, SerializedItemHandle: *mut Hlong) -> Herror;
30208}
30209unsafe extern "C" {
30210    pub fn T_read_class_mlp(FileName: Htuple, MLPHandle: *mut Htuple) -> Herror;
30211}
30212unsafe extern "C" {
30213    pub fn read_class_mlp(FileName: *const ::std::os::raw::c_char, MLPHandle: *mut Hlong)
30214    -> Herror;
30215}
30216unsafe extern "C" {
30217    pub fn T_write_class_mlp(MLPHandle: Htuple, FileName: Htuple) -> Herror;
30218}
30219unsafe extern "C" {
30220    pub fn write_class_mlp(MLPHandle: Hlong, FileName: *const ::std::os::raw::c_char) -> Herror;
30221}
30222unsafe extern "C" {
30223    pub fn T_read_samples_class_mlp(MLPHandle: Htuple, FileName: Htuple) -> Herror;
30224}
30225unsafe extern "C" {
30226    pub fn read_samples_class_mlp(
30227        MLPHandle: Hlong,
30228        FileName: *const ::std::os::raw::c_char,
30229    ) -> Herror;
30230}
30231unsafe extern "C" {
30232    pub fn T_write_samples_class_mlp(MLPHandle: Htuple, FileName: Htuple) -> Herror;
30233}
30234unsafe extern "C" {
30235    pub fn write_samples_class_mlp(
30236        MLPHandle: Hlong,
30237        FileName: *const ::std::os::raw::c_char,
30238    ) -> Herror;
30239}
30240unsafe extern "C" {
30241    pub fn T_classify_class_mlp(
30242        MLPHandle: Htuple,
30243        Features: Htuple,
30244        Num: Htuple,
30245        Class: *mut Htuple,
30246        Confidence: *mut Htuple,
30247    ) -> Herror;
30248}
30249unsafe extern "C" {
30250    pub fn T_evaluate_class_mlp(MLPHandle: Htuple, Features: Htuple, Result: *mut Htuple)
30251    -> Herror;
30252}
30253unsafe extern "C" {
30254    pub fn T_train_class_mlp(
30255        MLPHandle: Htuple,
30256        MaxIterations: Htuple,
30257        WeightTolerance: Htuple,
30258        ErrorTolerance: Htuple,
30259        Error: *mut Htuple,
30260        ErrorLog: *mut Htuple,
30261    ) -> Herror;
30262}
30263unsafe extern "C" {
30264    pub fn T_get_prep_info_class_mlp(
30265        MLPHandle: Htuple,
30266        Preprocessing: Htuple,
30267        InformationCont: *mut Htuple,
30268        CumInformationCont: *mut Htuple,
30269    ) -> Herror;
30270}
30271unsafe extern "C" {
30272    pub fn T_get_sample_num_class_mlp(MLPHandle: Htuple, NumSamples: *mut Htuple) -> Herror;
30273}
30274unsafe extern "C" {
30275    pub fn get_sample_num_class_mlp(MLPHandle: Hlong, NumSamples: *mut Hlong) -> Herror;
30276}
30277unsafe extern "C" {
30278    pub fn T_get_sample_class_mlp(
30279        MLPHandle: Htuple,
30280        IndexSample: Htuple,
30281        Features: *mut Htuple,
30282        Target: *mut Htuple,
30283    ) -> Herror;
30284}
30285unsafe extern "C" {
30286    pub fn T_get_rejection_params_class_mlp(
30287        MLPHandle: Htuple,
30288        GenParamName: Htuple,
30289        GenParamValue: *mut Htuple,
30290    ) -> Herror;
30291}
30292unsafe extern "C" {
30293    pub fn get_rejection_params_class_mlp(
30294        MLPHandle: Hlong,
30295        GenParamName: *const ::std::os::raw::c_char,
30296        GenParamValue: *mut ::std::os::raw::c_char,
30297    ) -> Herror;
30298}
30299unsafe extern "C" {
30300    pub fn T_set_rejection_params_class_mlp(
30301        MLPHandle: Htuple,
30302        GenParamName: Htuple,
30303        GenParamValue: Htuple,
30304    ) -> Herror;
30305}
30306unsafe extern "C" {
30307    pub fn set_rejection_params_class_mlp(
30308        MLPHandle: Hlong,
30309        GenParamName: *const ::std::os::raw::c_char,
30310        GenParamValue: *const ::std::os::raw::c_char,
30311    ) -> Herror;
30312}
30313unsafe extern "C" {
30314    pub fn T_add_sample_class_mlp(MLPHandle: Htuple, Features: Htuple, Target: Htuple) -> Herror;
30315}
30316unsafe extern "C" {
30317    pub fn T_get_regularization_params_class_mlp(
30318        MLPHandle: Htuple,
30319        GenParamName: Htuple,
30320        GenParamValue: *mut Htuple,
30321    ) -> Herror;
30322}
30323unsafe extern "C" {
30324    pub fn get_regularization_params_class_mlp(
30325        MLPHandle: Hlong,
30326        GenParamName: *const ::std::os::raw::c_char,
30327        GenParamValue: *mut f64,
30328    ) -> Herror;
30329}
30330unsafe extern "C" {
30331    pub fn T_set_regularization_params_class_mlp(
30332        MLPHandle: Htuple,
30333        GenParamName: Htuple,
30334        GenParamValue: Htuple,
30335    ) -> Herror;
30336}
30337unsafe extern "C" {
30338    pub fn set_regularization_params_class_mlp(
30339        MLPHandle: Hlong,
30340        GenParamName: *const ::std::os::raw::c_char,
30341        GenParamValue: f64,
30342    ) -> Herror;
30343}
30344unsafe extern "C" {
30345    pub fn T_get_params_class_mlp(
30346        MLPHandle: Htuple,
30347        NumInput: *mut Htuple,
30348        NumHidden: *mut Htuple,
30349        NumOutput: *mut Htuple,
30350        OutputFunction: *mut Htuple,
30351        Preprocessing: *mut Htuple,
30352        NumComponents: *mut Htuple,
30353    ) -> Herror;
30354}
30355unsafe extern "C" {
30356    pub fn get_params_class_mlp(
30357        MLPHandle: Hlong,
30358        NumInput: *mut Hlong,
30359        NumHidden: *mut Hlong,
30360        NumOutput: *mut Hlong,
30361        OutputFunction: *mut ::std::os::raw::c_char,
30362        Preprocessing: *mut ::std::os::raw::c_char,
30363        NumComponents: *mut Hlong,
30364    ) -> Herror;
30365}
30366unsafe extern "C" {
30367    pub fn T_create_class_mlp(
30368        NumInput: Htuple,
30369        NumHidden: Htuple,
30370        NumOutput: Htuple,
30371        OutputFunction: Htuple,
30372        Preprocessing: Htuple,
30373        NumComponents: Htuple,
30374        RandSeed: Htuple,
30375        MLPHandle: *mut Htuple,
30376    ) -> Herror;
30377}
30378unsafe extern "C" {
30379    pub fn create_class_mlp(
30380        NumInput: Hlong,
30381        NumHidden: Hlong,
30382        NumOutput: Hlong,
30383        OutputFunction: *const ::std::os::raw::c_char,
30384        Preprocessing: *const ::std::os::raw::c_char,
30385        NumComponents: Hlong,
30386        RandSeed: Hlong,
30387        MLPHandle: *mut Hlong,
30388    ) -> Herror;
30389}
30390unsafe extern "C" {
30391    pub fn T_deserialize_class_box(ClassifHandle: Htuple, SerializedItemHandle: Htuple) -> Herror;
30392}
30393unsafe extern "C" {
30394    pub fn deserialize_class_box(ClassifHandle: Hlong, SerializedItemHandle: Hlong) -> Herror;
30395}
30396unsafe extern "C" {
30397    pub fn T_serialize_class_box(
30398        ClassifHandle: Htuple,
30399        SerializedItemHandle: *mut Htuple,
30400    ) -> Herror;
30401}
30402unsafe extern "C" {
30403    pub fn serialize_class_box(ClassifHandle: Hlong, SerializedItemHandle: *mut Hlong) -> Herror;
30404}
30405unsafe extern "C" {
30406    pub fn T_write_class_box(ClassifHandle: Htuple, FileName: Htuple) -> Herror;
30407}
30408unsafe extern "C" {
30409    pub fn write_class_box(ClassifHandle: Hlong, FileName: *const ::std::os::raw::c_char)
30410    -> Herror;
30411}
30412unsafe extern "C" {
30413    pub fn T_set_class_box_param(ClassifHandle: Htuple, Flag: Htuple, Value: Htuple) -> Herror;
30414}
30415unsafe extern "C" {
30416    pub fn set_class_box_param(
30417        ClassifHandle: Hlong,
30418        Flag: *const ::std::os::raw::c_char,
30419        Value: f64,
30420    ) -> Herror;
30421}
30422unsafe extern "C" {
30423    pub fn T_read_sampset(FileName: Htuple, SampKey: *mut Htuple) -> Herror;
30424}
30425unsafe extern "C" {
30426    pub fn read_sampset(FileName: *const ::std::os::raw::c_char, SampKey: *mut Hlong) -> Herror;
30427}
30428unsafe extern "C" {
30429    pub fn T_read_class_box(ClassifHandle: Htuple, FileName: Htuple) -> Herror;
30430}
30431unsafe extern "C" {
30432    pub fn read_class_box(ClassifHandle: Hlong, FileName: *const ::std::os::raw::c_char) -> Herror;
30433}
30434unsafe extern "C" {
30435    pub fn T_learn_sampset_box(
30436        ClassifHandle: Htuple,
30437        SampKey: Htuple,
30438        Outfile: Htuple,
30439        NSamples: Htuple,
30440        StopError: Htuple,
30441        ErrorN: Htuple,
30442    ) -> Herror;
30443}
30444unsafe extern "C" {
30445    pub fn learn_sampset_box(
30446        ClassifHandle: Hlong,
30447        SampKey: Hlong,
30448        Outfile: *const ::std::os::raw::c_char,
30449        NSamples: Hlong,
30450        StopError: f64,
30451        ErrorN: Hlong,
30452    ) -> Herror;
30453}
30454unsafe extern "C" {
30455    pub fn T_learn_class_box(ClassifHandle: Htuple, Features: Htuple, Class: Htuple) -> Herror;
30456}
30457unsafe extern "C" {
30458    pub fn T_get_class_box_param(ClassifHandle: Htuple, Flag: Htuple, Value: *mut Htuple)
30459    -> Herror;
30460}
30461unsafe extern "C" {
30462    pub fn get_class_box_param(
30463        ClassifHandle: Hlong,
30464        Flag: *const ::std::os::raw::c_char,
30465        Value: *mut f64,
30466    ) -> Herror;
30467}
30468unsafe extern "C" {
30469    pub fn T_clear_sampset(SampKey: Htuple) -> Herror;
30470}
30471unsafe extern "C" {
30472    pub fn clear_sampset(SampKey: Hlong) -> Herror;
30473}
30474unsafe extern "C" {
30475    pub fn T_close_class_box(ClassifHandle: Htuple) -> Herror;
30476}
30477unsafe extern "C" {
30478    pub fn close_class_box(ClassifHandle: Hlong) -> Herror;
30479}
30480unsafe extern "C" {
30481    pub fn T_create_class_box(ClassifHandle: *mut Htuple) -> Herror;
30482}
30483unsafe extern "C" {
30484    pub fn create_class_box(ClassifHandle: *mut Hlong) -> Herror;
30485}
30486unsafe extern "C" {
30487    pub fn T_descript_class_box(
30488        ClassifHandle: Htuple,
30489        Dimensions: Htuple,
30490        ClassIdx: *mut Htuple,
30491        BoxIdx: *mut Htuple,
30492        BoxLowerBound: *mut Htuple,
30493        BoxHigherBound: *mut Htuple,
30494        BoxNumSamplesTrain: *mut Htuple,
30495        BoxNumSamplesWrong: *mut Htuple,
30496    ) -> Herror;
30497}
30498unsafe extern "C" {
30499    pub fn descript_class_box(
30500        ClassifHandle: Hlong,
30501        Dimensions: Hlong,
30502        ClassIdx: *mut Hlong,
30503        BoxIdx: *mut Hlong,
30504        BoxLowerBound: *mut Hlong,
30505        BoxHigherBound: *mut Hlong,
30506        BoxNumSamplesTrain: *mut Hlong,
30507        BoxNumSamplesWrong: *mut Hlong,
30508    ) -> Herror;
30509}
30510unsafe extern "C" {
30511    pub fn T_test_sampset_box(ClassifHandle: Htuple, SampKey: Htuple, Error: *mut Htuple)
30512    -> Herror;
30513}
30514unsafe extern "C" {
30515    pub fn test_sampset_box(ClassifHandle: Hlong, SampKey: Hlong, Error: *mut f64) -> Herror;
30516}
30517unsafe extern "C" {
30518    pub fn T_enquire_reject_class_box(
30519        ClassifHandle: Htuple,
30520        FeatureList: Htuple,
30521        Class: *mut Htuple,
30522    ) -> Herror;
30523}
30524unsafe extern "C" {
30525    pub fn T_enquire_class_box(
30526        ClassifHandle: Htuple,
30527        FeatureList: Htuple,
30528        Class: *mut Htuple,
30529    ) -> Herror;
30530}
30531unsafe extern "C" {
30532    pub fn T_close_all_class_box() -> Herror;
30533}
30534unsafe extern "C" {
30535    pub fn close_all_class_box() -> Herror;
30536}
30537unsafe extern "C" {
30538    pub fn T_convert_map_type(
30539        Map: Hobject,
30540        MapConverted: *mut Hobject,
30541        NewType: Htuple,
30542        ImageWidth: Htuple,
30543    ) -> Herror;
30544}
30545unsafe extern "C" {
30546    pub fn convert_map_type(
30547        Map: Hobject,
30548        MapConverted: *mut Hobject,
30549        NewType: *const ::std::os::raw::c_char,
30550        ImageWidth: Hlong,
30551    ) -> Herror;
30552}
30553unsafe extern "C" {
30554    pub fn T_vector_to_pose(
30555        WorldX: Htuple,
30556        WorldY: Htuple,
30557        WorldZ: Htuple,
30558        ImageRow: Htuple,
30559        ImageColumn: Htuple,
30560        CameraParam: Htuple,
30561        Method: Htuple,
30562        QualityType: Htuple,
30563        Pose: *mut Htuple,
30564        Quality: *mut Htuple,
30565    ) -> Herror;
30566}
30567unsafe extern "C" {
30568    pub fn T_proj_hom_mat2d_to_pose(
30569        Homography: Htuple,
30570        CameraMatrix: Htuple,
30571        Method: Htuple,
30572        Pose: *mut Htuple,
30573    ) -> Herror;
30574}
30575unsafe extern "C" {
30576    pub fn T_radial_distortion_self_calibration(
30577        Contours: Hobject,
30578        SelectedContours: *mut Hobject,
30579        Width: Htuple,
30580        Height: Htuple,
30581        InlierThreshold: Htuple,
30582        RandSeed: Htuple,
30583        DistortionModel: Htuple,
30584        DistortionCenter: Htuple,
30585        PrincipalPointVar: Htuple,
30586        CameraParam: *mut Htuple,
30587    ) -> Herror;
30588}
30589unsafe extern "C" {
30590    pub fn T_cam_par_to_cam_mat(
30591        CameraParam: Htuple,
30592        CameraMatrix: *mut Htuple,
30593        ImageWidth: *mut Htuple,
30594        ImageHeight: *mut Htuple,
30595    ) -> Herror;
30596}
30597unsafe extern "C" {
30598    pub fn T_cam_mat_to_cam_par(
30599        CameraMatrix: Htuple,
30600        Kappa: Htuple,
30601        ImageWidth: Htuple,
30602        ImageHeight: Htuple,
30603        CameraParam: *mut Htuple,
30604    ) -> Herror;
30605}
30606unsafe extern "C" {
30607    pub fn T_stationary_camera_self_calibration(
30608        NumImages: Htuple,
30609        ImageWidth: Htuple,
30610        ImageHeight: Htuple,
30611        ReferenceImage: Htuple,
30612        MappingSource: Htuple,
30613        MappingDest: Htuple,
30614        HomMatrices2D: Htuple,
30615        Rows1: Htuple,
30616        Cols1: Htuple,
30617        Rows2: Htuple,
30618        Cols2: Htuple,
30619        NumCorrespondences: Htuple,
30620        EstimationMethod: Htuple,
30621        CameraModel: Htuple,
30622        FixedCameraParams: Htuple,
30623        CameraMatrices: *mut Htuple,
30624        Kappa: *mut Htuple,
30625        RotationMatrices: *mut Htuple,
30626        X: *mut Htuple,
30627        Y: *mut Htuple,
30628        Z: *mut Htuple,
30629        Error: *mut Htuple,
30630    ) -> Herror;
30631}
30632unsafe extern "C" {
30633    pub fn T_get_rectangle_pose(
30634        Contour: Hobject,
30635        CameraParam: Htuple,
30636        Width: Htuple,
30637        Height: Htuple,
30638        WeightingMode: Htuple,
30639        ClippingFactor: Htuple,
30640        Pose: *mut Htuple,
30641        CovPose: *mut Htuple,
30642        Error: *mut Htuple,
30643    ) -> Herror;
30644}
30645unsafe extern "C" {
30646    pub fn T_get_circle_pose(
30647        Contour: Hobject,
30648        CameraParam: Htuple,
30649        Radius: Htuple,
30650        OutputType: Htuple,
30651        Pose1: *mut Htuple,
30652        Pose2: *mut Htuple,
30653    ) -> Herror;
30654}
30655unsafe extern "C" {
30656    pub fn T_radiometric_self_calibration(
30657        Images: Hobject,
30658        ExposureRatios: Htuple,
30659        Features: Htuple,
30660        FunctionType: Htuple,
30661        Smoothness: Htuple,
30662        PolynomialDegree: Htuple,
30663        InverseResponse: *mut Htuple,
30664    ) -> Herror;
30665}
30666unsafe extern "C" {
30667    pub fn T_map_image(Image: Hobject, Map: Hobject, ImageMapped: *mut Hobject) -> Herror;
30668}
30669unsafe extern "C" {
30670    pub fn map_image(Image: Hobject, Map: Hobject, ImageMapped: *mut Hobject) -> Herror;
30671}
30672unsafe extern "C" {
30673    pub fn T_gen_radial_distortion_map(
30674        Map: *mut Hobject,
30675        CamParamIn: Htuple,
30676        CamParamOut: Htuple,
30677        MapType: Htuple,
30678    ) -> Herror;
30679}
30680unsafe extern "C" {
30681    pub fn T_gen_image_to_world_plane_map(
30682        Map: *mut Hobject,
30683        CameraParam: Htuple,
30684        WorldPose: Htuple,
30685        WidthIn: Htuple,
30686        HeightIn: Htuple,
30687        WidthMapped: Htuple,
30688        HeightMapped: Htuple,
30689        Scale: Htuple,
30690        MapType: Htuple,
30691    ) -> Herror;
30692}
30693unsafe extern "C" {
30694    pub fn T_image_to_world_plane(
30695        Image: Hobject,
30696        ImageWorld: *mut Hobject,
30697        CameraParam: Htuple,
30698        WorldPose: Htuple,
30699        Width: Htuple,
30700        Height: Htuple,
30701        Scale: Htuple,
30702        Interpolation: Htuple,
30703    ) -> Herror;
30704}
30705unsafe extern "C" {
30706    pub fn T_contour_to_world_plane_xld(
30707        Contours: Hobject,
30708        ContoursTrans: *mut Hobject,
30709        CameraParam: Htuple,
30710        WorldPose: Htuple,
30711        Scale: Htuple,
30712    ) -> Herror;
30713}
30714unsafe extern "C" {
30715    pub fn T_image_points_to_world_plane(
30716        CameraParam: Htuple,
30717        WorldPose: Htuple,
30718        Rows: Htuple,
30719        Cols: Htuple,
30720        Scale: Htuple,
30721        X: *mut Htuple,
30722        Y: *mut Htuple,
30723    ) -> Herror;
30724}
30725unsafe extern "C" {
30726    pub fn T_set_origin_pose(
30727        PoseIn: Htuple,
30728        DX: Htuple,
30729        DY: Htuple,
30730        DZ: Htuple,
30731        PoseNewOrigin: *mut Htuple,
30732    ) -> Herror;
30733}
30734unsafe extern "C" {
30735    pub fn T_hand_eye_calibration(
30736        X: Htuple,
30737        Y: Htuple,
30738        Z: Htuple,
30739        Row: Htuple,
30740        Col: Htuple,
30741        NumPoints: Htuple,
30742        RobotPoses: Htuple,
30743        CameraParam: Htuple,
30744        Method: Htuple,
30745        QualityType: Htuple,
30746        CameraPose: *mut Htuple,
30747        CalibrationPose: *mut Htuple,
30748        Quality: *mut Htuple,
30749    ) -> Herror;
30750}
30751unsafe extern "C" {
30752    pub fn T_get_pose_type(
30753        Pose: Htuple,
30754        OrderOfTransform: *mut Htuple,
30755        OrderOfRotation: *mut Htuple,
30756        ViewOfTransform: *mut Htuple,
30757    ) -> Herror;
30758}
30759unsafe extern "C" {
30760    pub fn T_convert_pose_type(
30761        PoseIn: Htuple,
30762        OrderOfTransform: Htuple,
30763        OrderOfRotation: Htuple,
30764        ViewOfTransform: Htuple,
30765        PoseOut: *mut Htuple,
30766    ) -> Herror;
30767}
30768unsafe extern "C" {
30769    pub fn T_create_pose(
30770        TransX: Htuple,
30771        TransY: Htuple,
30772        TransZ: Htuple,
30773        RotX: Htuple,
30774        RotY: Htuple,
30775        RotZ: Htuple,
30776        OrderOfTransform: Htuple,
30777        OrderOfRotation: Htuple,
30778        ViewOfTransform: Htuple,
30779        Pose: *mut Htuple,
30780    ) -> Herror;
30781}
30782unsafe extern "C" {
30783    pub fn T_change_radial_distortion_contours_xld(
30784        Contours: Hobject,
30785        ContoursRectified: *mut Hobject,
30786        CamParamIn: Htuple,
30787        CamParamOut: Htuple,
30788    ) -> Herror;
30789}
30790unsafe extern "C" {
30791    pub fn T_change_radial_distortion_points(
30792        Row: Htuple,
30793        Col: Htuple,
30794        CamParamIn: Htuple,
30795        CamParamOut: Htuple,
30796        RowChanged: *mut Htuple,
30797        ColChanged: *mut Htuple,
30798    ) -> Herror;
30799}
30800unsafe extern "C" {
30801    pub fn T_change_radial_distortion_image(
30802        Image: Hobject,
30803        Region: Hobject,
30804        ImageRectified: *mut Hobject,
30805        CamParamIn: Htuple,
30806        CamParamOut: Htuple,
30807    ) -> Herror;
30808}
30809unsafe extern "C" {
30810    pub fn T_change_radial_distortion_cam_par(
30811        Mode: Htuple,
30812        CamParamIn: Htuple,
30813        DistortionCoeffs: Htuple,
30814        CamParamOut: *mut Htuple,
30815    ) -> Herror;
30816}
30817unsafe extern "C" {
30818    pub fn T_gen_caltab(
30819        XNum: Htuple,
30820        YNum: Htuple,
30821        MarkDist: Htuple,
30822        DiameterRatio: Htuple,
30823        CalPlateDescr: Htuple,
30824        CalPlatePSFile: Htuple,
30825    ) -> Herror;
30826}
30827unsafe extern "C" {
30828    pub fn gen_caltab(
30829        XNum: Hlong,
30830        YNum: Hlong,
30831        MarkDist: f64,
30832        DiameterRatio: f64,
30833        CalPlateDescr: *const ::std::os::raw::c_char,
30834        CalPlatePSFile: *const ::std::os::raw::c_char,
30835    ) -> Herror;
30836}
30837unsafe extern "C" {
30838    pub fn T_create_caltab(
30839        NumRows: Htuple,
30840        MarksPerRow: Htuple,
30841        Diameter: Htuple,
30842        FinderRow: Htuple,
30843        FinderColumn: Htuple,
30844        Polarity: Htuple,
30845        CalPlateDescr: Htuple,
30846        CalPlatePSFile: Htuple,
30847    ) -> Herror;
30848}
30849unsafe extern "C" {
30850    pub fn create_caltab(
30851        NumRows: Hlong,
30852        MarksPerRow: Hlong,
30853        Diameter: f64,
30854        FinderRow: Hlong,
30855        FinderColumn: Hlong,
30856        Polarity: *const ::std::os::raw::c_char,
30857        CalPlateDescr: *const ::std::os::raw::c_char,
30858        CalPlatePSFile: *const ::std::os::raw::c_char,
30859    ) -> Herror;
30860}
30861unsafe extern "C" {
30862    pub fn T_caltab_points(
30863        CalPlateDescr: Htuple,
30864        X: *mut Htuple,
30865        Y: *mut Htuple,
30866        Z: *mut Htuple,
30867    ) -> Herror;
30868}
30869unsafe extern "C" {
30870    pub fn T_get_line_of_sight(
30871        Row: Htuple,
30872        Column: Htuple,
30873        CameraParam: Htuple,
30874        PX: *mut Htuple,
30875        PY: *mut Htuple,
30876        PZ: *mut Htuple,
30877        QX: *mut Htuple,
30878        QY: *mut Htuple,
30879        QZ: *mut Htuple,
30880    ) -> Herror;
30881}
30882unsafe extern "C" {
30883    pub fn T_project_hom_point_hom_mat3d(
30884        HomMat3D: Htuple,
30885        Px: Htuple,
30886        Py: Htuple,
30887        Pz: Htuple,
30888        Pw: Htuple,
30889        Qx: *mut Htuple,
30890        Qy: *mut Htuple,
30891        Qw: *mut Htuple,
30892    ) -> Herror;
30893}
30894unsafe extern "C" {
30895    pub fn T_project_point_hom_mat3d(
30896        HomMat3D: Htuple,
30897        Px: Htuple,
30898        Py: Htuple,
30899        Pz: Htuple,
30900        Qx: *mut Htuple,
30901        Qy: *mut Htuple,
30902    ) -> Herror;
30903}
30904unsafe extern "C" {
30905    pub fn T_project_3d_point(
30906        X: Htuple,
30907        Y: Htuple,
30908        Z: Htuple,
30909        CameraParam: Htuple,
30910        Row: *mut Htuple,
30911        Column: *mut Htuple,
30912    ) -> Herror;
30913}
30914unsafe extern "C" {
30915    pub fn T_cam_par_pose_to_hom_mat3d(
30916        CameraParam: Htuple,
30917        Pose: Htuple,
30918        HomMat3D: *mut Htuple,
30919    ) -> Herror;
30920}
30921unsafe extern "C" {
30922    pub fn T_hom_mat3d_to_pose(HomMat3D: Htuple, Pose: *mut Htuple) -> Herror;
30923}
30924unsafe extern "C" {
30925    pub fn T_pose_to_hom_mat3d(Pose: Htuple, HomMat3D: *mut Htuple) -> Herror;
30926}
30927unsafe extern "C" {
30928    pub fn T_deserialize_cam_par(SerializedItemHandle: Htuple, CameraParam: *mut Htuple) -> Herror;
30929}
30930unsafe extern "C" {
30931    pub fn T_serialize_cam_par(CameraParam: Htuple, SerializedItemHandle: *mut Htuple) -> Herror;
30932}
30933unsafe extern "C" {
30934    pub fn T_deserialize_pose(SerializedItemHandle: Htuple, Pose: *mut Htuple) -> Herror;
30935}
30936unsafe extern "C" {
30937    pub fn T_serialize_pose(Pose: Htuple, SerializedItemHandle: *mut Htuple) -> Herror;
30938}
30939unsafe extern "C" {
30940    pub fn T_read_pose(PoseFile: Htuple, Pose: *mut Htuple) -> Herror;
30941}
30942unsafe extern "C" {
30943    pub fn T_write_pose(Pose: Htuple, PoseFile: Htuple) -> Herror;
30944}
30945unsafe extern "C" {
30946    pub fn T_read_cam_par(CamParFile: Htuple, CameraParam: *mut Htuple) -> Herror;
30947}
30948unsafe extern "C" {
30949    pub fn T_write_cam_par(CameraParam: Htuple, CamParFile: Htuple) -> Herror;
30950}
30951unsafe extern "C" {
30952    pub fn T_sim_caltab(
30953        SimImage: *mut Hobject,
30954        CalPlateDescr: Htuple,
30955        CameraParam: Htuple,
30956        CalPlatePose: Htuple,
30957        GrayBackground: Htuple,
30958        GrayPlate: Htuple,
30959        GrayMarks: Htuple,
30960        ScaleFac: Htuple,
30961    ) -> Herror;
30962}
30963unsafe extern "C" {
30964    pub fn T_disp_caltab(
30965        WindowHandle: Htuple,
30966        CalPlateDescr: Htuple,
30967        CameraParam: Htuple,
30968        CalPlatePose: Htuple,
30969        ScaleFac: Htuple,
30970    ) -> Herror;
30971}
30972unsafe extern "C" {
30973    pub fn T_camera_calibration(
30974        NX: Htuple,
30975        NY: Htuple,
30976        NZ: Htuple,
30977        NRow: Htuple,
30978        NCol: Htuple,
30979        StartCamParam: Htuple,
30980        NStartPose: Htuple,
30981        EstimateParams: Htuple,
30982        CameraParam: *mut Htuple,
30983        NFinalPose: *mut Htuple,
30984        Errors: *mut Htuple,
30985    ) -> Herror;
30986}
30987unsafe extern "C" {
30988    pub fn T_find_marks_and_pose(
30989        Image: Hobject,
30990        CalPlateRegion: Hobject,
30991        CalPlateDescr: Htuple,
30992        StartCamParam: Htuple,
30993        StartThresh: Htuple,
30994        DeltaThresh: Htuple,
30995        MinThresh: Htuple,
30996        Alpha: Htuple,
30997        MinContLength: Htuple,
30998        MaxDiamMarks: Htuple,
30999        RCoord: *mut Htuple,
31000        CCoord: *mut Htuple,
31001        StartPose: *mut Htuple,
31002    ) -> Herror;
31003}
31004unsafe extern "C" {
31005    pub fn T_find_caltab(
31006        Image: Hobject,
31007        CalPlate: *mut Hobject,
31008        CalPlateDescr: Htuple,
31009        SizeGauss: Htuple,
31010        MarkThresh: Htuple,
31011        MinDiamMarks: Htuple,
31012    ) -> Herror;
31013}
31014unsafe extern "C" {
31015    pub fn find_caltab(
31016        Image: Hobject,
31017        CalPlate: *mut Hobject,
31018        CalPlateDescr: *const ::std::os::raw::c_char,
31019        SizeGauss: Hlong,
31020        MarkThresh: Hlong,
31021        MinDiamMarks: Hlong,
31022    ) -> Herror;
31023}
31024unsafe extern "C" {
31025    pub fn T_clear_all_camera_setup_models() -> Herror;
31026}
31027unsafe extern "C" {
31028    pub fn clear_all_camera_setup_models() -> Herror;
31029}
31030unsafe extern "C" {
31031    pub fn T_clear_camera_setup_model(CameraSetupModelID: Htuple) -> Herror;
31032}
31033unsafe extern "C" {
31034    pub fn clear_camera_setup_model(CameraSetupModelID: Hlong) -> Herror;
31035}
31036unsafe extern "C" {
31037    pub fn T_serialize_camera_setup_model(
31038        CameraSetupModelID: Htuple,
31039        SerializedItemHandle: *mut Htuple,
31040    ) -> Herror;
31041}
31042unsafe extern "C" {
31043    pub fn serialize_camera_setup_model(
31044        CameraSetupModelID: Hlong,
31045        SerializedItemHandle: *mut Hlong,
31046    ) -> Herror;
31047}
31048unsafe extern "C" {
31049    pub fn T_deserialize_camera_setup_model(
31050        SerializedItemHandle: Htuple,
31051        CameraSetupModelID: *mut Htuple,
31052    ) -> Herror;
31053}
31054unsafe extern "C" {
31055    pub fn deserialize_camera_setup_model(
31056        SerializedItemHandle: Hlong,
31057        CameraSetupModelID: *mut Hlong,
31058    ) -> Herror;
31059}
31060unsafe extern "C" {
31061    pub fn T_write_camera_setup_model(CameraSetupModelID: Htuple, FileName: Htuple) -> Herror;
31062}
31063unsafe extern "C" {
31064    pub fn write_camera_setup_model(
31065        CameraSetupModelID: Hlong,
31066        FileName: *const ::std::os::raw::c_char,
31067    ) -> Herror;
31068}
31069unsafe extern "C" {
31070    pub fn T_read_camera_setup_model(FileName: Htuple, CameraSetupModelID: *mut Htuple) -> Herror;
31071}
31072unsafe extern "C" {
31073    pub fn read_camera_setup_model(
31074        FileName: *const ::std::os::raw::c_char,
31075        CameraSetupModelID: *mut Hlong,
31076    ) -> Herror;
31077}
31078unsafe extern "C" {
31079    pub fn T_get_camera_setup_param(
31080        CameraSetupModelID: Htuple,
31081        CameraIdx: Htuple,
31082        GenParamName: Htuple,
31083        GenParamValue: *mut Htuple,
31084    ) -> Herror;
31085}
31086unsafe extern "C" {
31087    pub fn get_camera_setup_param(
31088        CameraSetupModelID: Hlong,
31089        CameraIdx: Hlong,
31090        GenParamName: *const ::std::os::raw::c_char,
31091        GenParamValue: *mut f64,
31092    ) -> Herror;
31093}
31094unsafe extern "C" {
31095    pub fn T_set_camera_setup_param(
31096        CameraSetupModelID: Htuple,
31097        CameraIdx: Htuple,
31098        GenParamName: Htuple,
31099        GenParamValue: Htuple,
31100    ) -> Herror;
31101}
31102unsafe extern "C" {
31103    pub fn set_camera_setup_param(
31104        CameraSetupModelID: Hlong,
31105        CameraIdx: Hlong,
31106        GenParamName: *const ::std::os::raw::c_char,
31107        GenParamValue: f64,
31108    ) -> Herror;
31109}
31110unsafe extern "C" {
31111    pub fn T_set_camera_setup_cam_param(
31112        CameraSetupModelID: Htuple,
31113        CameraIdx: Htuple,
31114        CameraType: Htuple,
31115        CameraParam: Htuple,
31116        CameraPose: Htuple,
31117    ) -> Herror;
31118}
31119unsafe extern "C" {
31120    pub fn T_create_camera_setup_model(
31121        NumCameras: Htuple,
31122        CameraSetupModelID: *mut Htuple,
31123    ) -> Herror;
31124}
31125unsafe extern "C" {
31126    pub fn create_camera_setup_model(NumCameras: Hlong, CameraSetupModelID: *mut Hlong) -> Herror;
31127}
31128unsafe extern "C" {
31129    pub fn T_clear_all_calib_data() -> Herror;
31130}
31131unsafe extern "C" {
31132    pub fn clear_all_calib_data() -> Herror;
31133}
31134unsafe extern "C" {
31135    pub fn T_clear_calib_data(CalibDataID: Htuple) -> Herror;
31136}
31137unsafe extern "C" {
31138    pub fn clear_calib_data(CalibDataID: Hlong) -> Herror;
31139}
31140unsafe extern "C" {
31141    pub fn T_deserialize_calib_data(
31142        SerializedItemHandle: Htuple,
31143        CalibDataID: *mut Htuple,
31144    ) -> Herror;
31145}
31146unsafe extern "C" {
31147    pub fn deserialize_calib_data(SerializedItemHandle: Hlong, CalibDataID: *mut Hlong) -> Herror;
31148}
31149unsafe extern "C" {
31150    pub fn T_serialize_calib_data(CalibDataID: Htuple, SerializedItemHandle: *mut Htuple)
31151    -> Herror;
31152}
31153unsafe extern "C" {
31154    pub fn serialize_calib_data(CalibDataID: Hlong, SerializedItemHandle: *mut Hlong) -> Herror;
31155}
31156unsafe extern "C" {
31157    pub fn T_read_calib_data(FileName: Htuple, CalibDataID: *mut Htuple) -> Herror;
31158}
31159unsafe extern "C" {
31160    pub fn read_calib_data(
31161        FileName: *const ::std::os::raw::c_char,
31162        CalibDataID: *mut Hlong,
31163    ) -> Herror;
31164}
31165unsafe extern "C" {
31166    pub fn T_write_calib_data(CalibDataID: Htuple, FileName: Htuple) -> Herror;
31167}
31168unsafe extern "C" {
31169    pub fn write_calib_data(CalibDataID: Hlong, FileName: *const ::std::os::raw::c_char) -> Herror;
31170}
31171unsafe extern "C" {
31172    pub fn T_calibrate_hand_eye(CalibDataID: Htuple, Errors: *mut Htuple) -> Herror;
31173}
31174unsafe extern "C" {
31175    pub fn T_calibrate_cameras(CalibDataID: Htuple, Error: *mut Htuple) -> Herror;
31176}
31177unsafe extern "C" {
31178    pub fn calibrate_cameras(CalibDataID: Hlong, Error: *mut f64) -> Herror;
31179}
31180unsafe extern "C" {
31181    pub fn T_remove_calib_data(CalibDataID: Htuple, ItemType: Htuple, ItemIdx: Htuple) -> Herror;
31182}
31183unsafe extern "C" {
31184    pub fn remove_calib_data(
31185        CalibDataID: Hlong,
31186        ItemType: *const ::std::os::raw::c_char,
31187        ItemIdx: Hlong,
31188    ) -> Herror;
31189}
31190unsafe extern "C" {
31191    pub fn T_set_calib_data(
31192        CalibDataID: Htuple,
31193        ItemType: Htuple,
31194        ItemIdx: Htuple,
31195        DataName: Htuple,
31196        DataValue: Htuple,
31197    ) -> Herror;
31198}
31199unsafe extern "C" {
31200    pub fn set_calib_data(
31201        CalibDataID: Hlong,
31202        ItemType: *const ::std::os::raw::c_char,
31203        ItemIdx: Hlong,
31204        DataName: *const ::std::os::raw::c_char,
31205        DataValue: *const ::std::os::raw::c_char,
31206    ) -> Herror;
31207}
31208unsafe extern "C" {
31209    pub fn T_find_calib_object(
31210        Image: Hobject,
31211        CalibDataID: Htuple,
31212        CameraIdx: Htuple,
31213        CalibObjIdx: Htuple,
31214        CalibObjPoseIdx: Htuple,
31215        GenParamName: Htuple,
31216        GenParamValue: Htuple,
31217    ) -> Herror;
31218}
31219unsafe extern "C" {
31220    pub fn T_remove_calib_data_observ(
31221        CalibDataID: Htuple,
31222        CameraIdx: Htuple,
31223        CalibObjIdx: Htuple,
31224        CalibObjPoseIdx: Htuple,
31225    ) -> Herror;
31226}
31227unsafe extern "C" {
31228    pub fn remove_calib_data_observ(
31229        CalibDataID: Hlong,
31230        CameraIdx: Hlong,
31231        CalibObjIdx: Hlong,
31232        CalibObjPoseIdx: Hlong,
31233    ) -> Herror;
31234}
31235unsafe extern "C" {
31236    pub fn T_get_calib_data_observ_contours(
31237        Contours: *mut Hobject,
31238        CalibDataID: Htuple,
31239        ContourName: Htuple,
31240        CameraIdx: Htuple,
31241        CalibObjIdx: Htuple,
31242        CalibObjPoseIdx: Htuple,
31243    ) -> Herror;
31244}
31245unsafe extern "C" {
31246    pub fn get_calib_data_observ_contours(
31247        Contours: *mut Hobject,
31248        CalibDataID: Hlong,
31249        ContourName: *const ::std::os::raw::c_char,
31250        CameraIdx: Hlong,
31251        CalibObjIdx: Hlong,
31252        CalibObjPoseIdx: Hlong,
31253    ) -> Herror;
31254}
31255unsafe extern "C" {
31256    pub fn T_get_calib_data_observ_pose(
31257        CalibDataID: Htuple,
31258        CameraIdx: Htuple,
31259        CalibObjIdx: Htuple,
31260        CalibObjPoseIdx: Htuple,
31261        ObjInCameraPose: *mut Htuple,
31262    ) -> Herror;
31263}
31264unsafe extern "C" {
31265    pub fn T_set_calib_data_observ_pose(
31266        CalibDataID: Htuple,
31267        CameraIdx: Htuple,
31268        CalibObjIdx: Htuple,
31269        CalibObjPoseIdx: Htuple,
31270        ObjInCameraPose: Htuple,
31271    ) -> Herror;
31272}
31273unsafe extern "C" {
31274    pub fn T_get_calib_data_observ_points(
31275        CalibDataID: Htuple,
31276        CameraIdx: Htuple,
31277        CalibObjIdx: Htuple,
31278        CalibObjPoseIdx: Htuple,
31279        Row: *mut Htuple,
31280        Column: *mut Htuple,
31281        Index: *mut Htuple,
31282        Pose: *mut Htuple,
31283    ) -> Herror;
31284}
31285unsafe extern "C" {
31286    pub fn T_set_calib_data_observ_points(
31287        CalibDataID: Htuple,
31288        CameraIdx: Htuple,
31289        CalibObjIdx: Htuple,
31290        CalibObjPoseIdx: Htuple,
31291        Row: Htuple,
31292        Column: Htuple,
31293        Index: Htuple,
31294        Pose: Htuple,
31295    ) -> Herror;
31296}
31297unsafe extern "C" {
31298    pub fn T_query_calib_data_observ_indices(
31299        CalibDataID: Htuple,
31300        ItemType: Htuple,
31301        ItemIdx: Htuple,
31302        Index1: *mut Htuple,
31303        Index2: *mut Htuple,
31304    ) -> Herror;
31305}
31306unsafe extern "C" {
31307    pub fn T_get_calib_data(
31308        CalibDataID: Htuple,
31309        ItemType: Htuple,
31310        ItemIdx: Htuple,
31311        DataName: Htuple,
31312        DataValue: *mut Htuple,
31313    ) -> Herror;
31314}
31315unsafe extern "C" {
31316    pub fn get_calib_data(
31317        CalibDataID: Hlong,
31318        ItemType: *const ::std::os::raw::c_char,
31319        ItemIdx: Hlong,
31320        DataName: *const ::std::os::raw::c_char,
31321        DataValue: *mut f64,
31322    ) -> Herror;
31323}
31324unsafe extern "C" {
31325    pub fn T_set_calib_data_calib_object(
31326        CalibDataID: Htuple,
31327        CalibObjIdx: Htuple,
31328        CalibObjDescr: Htuple,
31329    ) -> Herror;
31330}
31331unsafe extern "C" {
31332    pub fn set_calib_data_calib_object(
31333        CalibDataID: Hlong,
31334        CalibObjIdx: Hlong,
31335        CalibObjDescr: f64,
31336    ) -> Herror;
31337}
31338unsafe extern "C" {
31339    pub fn T_set_calib_data_cam_param(
31340        CalibDataID: Htuple,
31341        CameraIdx: Htuple,
31342        CameraType: Htuple,
31343        CameraParam: Htuple,
31344    ) -> Herror;
31345}
31346unsafe extern "C" {
31347    pub fn T_create_calib_data(
31348        CalibSetup: Htuple,
31349        NumCameras: Htuple,
31350        NumCalibObjects: Htuple,
31351        CalibDataID: *mut Htuple,
31352    ) -> Herror;
31353}
31354unsafe extern "C" {
31355    pub fn create_calib_data(
31356        CalibSetup: *const ::std::os::raw::c_char,
31357        NumCameras: Hlong,
31358        NumCalibObjects: Hlong,
31359        CalibDataID: *mut Hlong,
31360    ) -> Herror;
31361}
31362unsafe extern "C" {
31363    pub fn T_get_bead_inspection_param(
31364        BeadInspectionModel: Htuple,
31365        GenParamName: Htuple,
31366        GenParamValue: *mut Htuple,
31367    ) -> Herror;
31368}
31369unsafe extern "C" {
31370    pub fn get_bead_inspection_param(
31371        BeadInspectionModel: Hlong,
31372        GenParamName: *const ::std::os::raw::c_char,
31373        GenParamValue: *mut Hlong,
31374    ) -> Herror;
31375}
31376unsafe extern "C" {
31377    pub fn T_set_bead_inspection_param(
31378        BeadInspectionModel: Htuple,
31379        GenParamName: Htuple,
31380        GenParamValue: Htuple,
31381    ) -> Herror;
31382}
31383unsafe extern "C" {
31384    pub fn set_bead_inspection_param(
31385        BeadInspectionModel: Hlong,
31386        GenParamName: *const ::std::os::raw::c_char,
31387        GenParamValue: *const ::std::os::raw::c_char,
31388    ) -> Herror;
31389}
31390unsafe extern "C" {
31391    pub fn T_apply_bead_inspection_model(
31392        Image: Hobject,
31393        LeftContour: *mut Hobject,
31394        RightContour: *mut Hobject,
31395        ErrorSegment: *mut Hobject,
31396        BeadInspectionModel: Htuple,
31397        ErrorType: *mut Htuple,
31398    ) -> Herror;
31399}
31400unsafe extern "C" {
31401    pub fn T_clear_bead_inspection_model(BeadInspectionModel: Htuple) -> Herror;
31402}
31403unsafe extern "C" {
31404    pub fn clear_bead_inspection_model(BeadInspectionModel: Hlong) -> Herror;
31405}
31406unsafe extern "C" {
31407    pub fn T_create_bead_inspection_model(
31408        BeadContour: Hobject,
31409        TargetThickness: Htuple,
31410        ThicknessTolerance: Htuple,
31411        PositionTolerance: Htuple,
31412        Polarity: Htuple,
31413        GenParamName: Htuple,
31414        GenParamValue: Htuple,
31415        BeadInspectionModel: *mut Htuple,
31416    ) -> Herror;
31417}
31418unsafe extern "C" {
31419    pub fn create_bead_inspection_model(
31420        BeadContour: Hobject,
31421        TargetThickness: Hlong,
31422        ThicknessTolerance: Hlong,
31423        PositionTolerance: Hlong,
31424        Polarity: *const ::std::os::raw::c_char,
31425        GenParamName: *const ::std::os::raw::c_char,
31426        GenParamValue: Hlong,
31427        BeadInspectionModel: *mut Hlong,
31428    ) -> Herror;
31429}
31430unsafe extern "C" {
31431    pub fn T_deserialize_bar_code_model(
31432        SerializedItemHandle: Htuple,
31433        BarCodeHandle: *mut Htuple,
31434    ) -> Herror;
31435}
31436unsafe extern "C" {
31437    pub fn deserialize_bar_code_model(
31438        SerializedItemHandle: Hlong,
31439        BarCodeHandle: *mut Hlong,
31440    ) -> Herror;
31441}
31442unsafe extern "C" {
31443    pub fn T_serialize_bar_code_model(
31444        BarCodeHandle: Htuple,
31445        SerializedItemHandle: *mut Htuple,
31446    ) -> Herror;
31447}
31448unsafe extern "C" {
31449    pub fn serialize_bar_code_model(
31450        BarCodeHandle: Hlong,
31451        SerializedItemHandle: *mut Hlong,
31452    ) -> Herror;
31453}
31454unsafe extern "C" {
31455    pub fn T_read_bar_code_model(FileName: Htuple, BarCodeHandle: *mut Htuple) -> Herror;
31456}
31457unsafe extern "C" {
31458    pub fn read_bar_code_model(
31459        FileName: *const ::std::os::raw::c_char,
31460        BarCodeHandle: *mut Hlong,
31461    ) -> Herror;
31462}
31463unsafe extern "C" {
31464    pub fn T_write_bar_code_model(BarCodeHandle: Htuple, FileName: Htuple) -> Herror;
31465}
31466unsafe extern "C" {
31467    pub fn write_bar_code_model(
31468        BarCodeHandle: Hlong,
31469        FileName: *const ::std::os::raw::c_char,
31470    ) -> Herror;
31471}
31472unsafe extern "C" {
31473    pub fn T_get_bar_code_object(
31474        BarCodeObjects: *mut Hobject,
31475        BarCodeHandle: Htuple,
31476        CandidateHandle: Htuple,
31477        ObjectName: Htuple,
31478    ) -> Herror;
31479}
31480unsafe extern "C" {
31481    pub fn get_bar_code_object(
31482        BarCodeObjects: *mut Hobject,
31483        BarCodeHandle: Hlong,
31484        CandidateHandle: *const ::std::os::raw::c_char,
31485        ObjectName: *const ::std::os::raw::c_char,
31486    ) -> Herror;
31487}
31488unsafe extern "C" {
31489    pub fn T_get_bar_code_result(
31490        BarCodeHandle: Htuple,
31491        CandidateHandle: Htuple,
31492        ResultName: Htuple,
31493        BarCodeResults: *mut Htuple,
31494    ) -> Herror;
31495}
31496unsafe extern "C" {
31497    pub fn get_bar_code_result(
31498        BarCodeHandle: Hlong,
31499        CandidateHandle: *const ::std::os::raw::c_char,
31500        ResultName: *const ::std::os::raw::c_char,
31501        BarCodeResults: *mut ::std::os::raw::c_char,
31502    ) -> Herror;
31503}
31504unsafe extern "C" {
31505    pub fn T_decode_bar_code_rectangle2(
31506        Image: Hobject,
31507        BarCodeHandle: Htuple,
31508        CodeType: Htuple,
31509        Row: Htuple,
31510        Column: Htuple,
31511        Phi: Htuple,
31512        Length1: Htuple,
31513        Length2: Htuple,
31514        DecodedDataStrings: *mut Htuple,
31515    ) -> Herror;
31516}
31517unsafe extern "C" {
31518    pub fn decode_bar_code_rectangle2(
31519        Image: Hobject,
31520        BarCodeHandle: Hlong,
31521        CodeType: *const ::std::os::raw::c_char,
31522        Row: f64,
31523        Column: f64,
31524        Phi: f64,
31525        Length1: f64,
31526        Length2: f64,
31527        DecodedDataStrings: *mut ::std::os::raw::c_char,
31528    ) -> Herror;
31529}
31530unsafe extern "C" {
31531    pub fn T_find_bar_code(
31532        Image: Hobject,
31533        SymbolRegions: *mut Hobject,
31534        BarCodeHandle: Htuple,
31535        CodeType: Htuple,
31536        DecodedDataStrings: *mut Htuple,
31537    ) -> Herror;
31538}
31539unsafe extern "C" {
31540    pub fn find_bar_code(
31541        Image: Hobject,
31542        SymbolRegions: *mut Hobject,
31543        BarCodeHandle: Hlong,
31544        CodeType: *const ::std::os::raw::c_char,
31545        DecodedDataStrings: *mut ::std::os::raw::c_char,
31546    ) -> Herror;
31547}
31548unsafe extern "C" {
31549    pub fn T_query_bar_code_params(
31550        BarCodeHandle: Htuple,
31551        Properties: Htuple,
31552        GenParamName: *mut Htuple,
31553    ) -> Herror;
31554}
31555unsafe extern "C" {
31556    pub fn query_bar_code_params(
31557        BarCodeHandle: Hlong,
31558        Properties: *const ::std::os::raw::c_char,
31559        GenParamName: *mut ::std::os::raw::c_char,
31560    ) -> Herror;
31561}
31562unsafe extern "C" {
31563    pub fn T_get_bar_code_param_specific(
31564        BarCodeHandle: Htuple,
31565        CodeTypes: Htuple,
31566        GenParamName: Htuple,
31567        GenParamValue: *mut Htuple,
31568    ) -> Herror;
31569}
31570unsafe extern "C" {
31571    pub fn get_bar_code_param_specific(
31572        BarCodeHandle: Hlong,
31573        CodeTypes: *const ::std::os::raw::c_char,
31574        GenParamName: *const ::std::os::raw::c_char,
31575        GenParamValue: *mut f64,
31576    ) -> Herror;
31577}
31578unsafe extern "C" {
31579    pub fn T_get_bar_code_param(
31580        BarCodeHandle: Htuple,
31581        GenParamName: Htuple,
31582        GenParamValue: *mut Htuple,
31583    ) -> Herror;
31584}
31585unsafe extern "C" {
31586    pub fn get_bar_code_param(
31587        BarCodeHandle: Hlong,
31588        GenParamName: *const ::std::os::raw::c_char,
31589        GenParamValue: *mut f64,
31590    ) -> Herror;
31591}
31592unsafe extern "C" {
31593    pub fn T_set_bar_code_param_specific(
31594        BarCodeHandle: Htuple,
31595        CodeTypes: Htuple,
31596        GenParamName: Htuple,
31597        GenParamValue: Htuple,
31598    ) -> Herror;
31599}
31600unsafe extern "C" {
31601    pub fn T_set_bar_code_param(
31602        BarCodeHandle: Htuple,
31603        GenParamName: Htuple,
31604        GenParamValue: Htuple,
31605    ) -> Herror;
31606}
31607unsafe extern "C" {
31608    pub fn set_bar_code_param(
31609        BarCodeHandle: Hlong,
31610        GenParamName: *const ::std::os::raw::c_char,
31611        GenParamValue: f64,
31612    ) -> Herror;
31613}
31614unsafe extern "C" {
31615    pub fn T_clear_all_bar_code_models() -> Herror;
31616}
31617unsafe extern "C" {
31618    pub fn clear_all_bar_code_models() -> Herror;
31619}
31620unsafe extern "C" {
31621    pub fn T_clear_bar_code_model(BarCodeHandle: Htuple) -> Herror;
31622}
31623unsafe extern "C" {
31624    pub fn clear_bar_code_model(BarCodeHandle: Hlong) -> Herror;
31625}
31626unsafe extern "C" {
31627    pub fn T_create_bar_code_model(
31628        GenParamName: Htuple,
31629        GenParamValue: Htuple,
31630        BarCodeHandle: *mut Htuple,
31631    ) -> Herror;
31632}
31633unsafe extern "C" {
31634    pub fn create_bar_code_model(
31635        GenParamName: *const ::std::os::raw::c_char,
31636        GenParamValue: f64,
31637        BarCodeHandle: *mut Hlong,
31638    ) -> Herror;
31639}
31640unsafe extern "C" {
31641    pub fn T_close_bg_esti(BgEstiHandle: Htuple) -> Herror;
31642}
31643unsafe extern "C" {
31644    pub fn close_bg_esti(BgEstiHandle: Hlong) -> Herror;
31645}
31646unsafe extern "C" {
31647    pub fn T_give_bg_esti(BackgroundImage: *mut Hobject, BgEstiHandle: Htuple) -> Herror;
31648}
31649unsafe extern "C" {
31650    pub fn give_bg_esti(BackgroundImage: *mut Hobject, BgEstiHandle: Hlong) -> Herror;
31651}
31652unsafe extern "C" {
31653    pub fn T_update_bg_esti(
31654        PresentImage: Hobject,
31655        UpDateRegion: Hobject,
31656        BgEstiHandle: Htuple,
31657    ) -> Herror;
31658}
31659unsafe extern "C" {
31660    pub fn update_bg_esti(
31661        PresentImage: Hobject,
31662        UpDateRegion: Hobject,
31663        BgEstiHandle: Hlong,
31664    ) -> Herror;
31665}
31666unsafe extern "C" {
31667    pub fn T_run_bg_esti(
31668        PresentImage: Hobject,
31669        ForegroundRegion: *mut Hobject,
31670        BgEstiHandle: Htuple,
31671    ) -> Herror;
31672}
31673unsafe extern "C" {
31674    pub fn run_bg_esti(
31675        PresentImage: Hobject,
31676        ForegroundRegion: *mut Hobject,
31677        BgEstiHandle: Hlong,
31678    ) -> Herror;
31679}
31680unsafe extern "C" {
31681    pub fn T_get_bg_esti_params(
31682        BgEstiHandle: Htuple,
31683        Syspar1: *mut Htuple,
31684        Syspar2: *mut Htuple,
31685        GainMode: *mut Htuple,
31686        Gain1: *mut Htuple,
31687        Gain2: *mut Htuple,
31688        AdaptMode: *mut Htuple,
31689        MinDiff: *mut Htuple,
31690        StatNum: *mut Htuple,
31691        ConfidenceC: *mut Htuple,
31692        TimeC: *mut Htuple,
31693    ) -> Herror;
31694}
31695unsafe extern "C" {
31696    pub fn get_bg_esti_params(
31697        BgEstiHandle: Hlong,
31698        Syspar1: *mut f64,
31699        Syspar2: *mut f64,
31700        GainMode: *mut ::std::os::raw::c_char,
31701        Gain1: *mut f64,
31702        Gain2: *mut f64,
31703        AdaptMode: *mut ::std::os::raw::c_char,
31704        MinDiff: *mut f64,
31705        StatNum: *mut Hlong,
31706        ConfidenceC: *mut f64,
31707        TimeC: *mut f64,
31708    ) -> Herror;
31709}
31710unsafe extern "C" {
31711    pub fn T_set_bg_esti_params(
31712        BgEstiHandle: Htuple,
31713        Syspar1: Htuple,
31714        Syspar2: Htuple,
31715        GainMode: Htuple,
31716        Gain1: Htuple,
31717        Gain2: Htuple,
31718        AdaptMode: Htuple,
31719        MinDiff: Htuple,
31720        StatNum: Htuple,
31721        ConfidenceC: Htuple,
31722        TimeC: Htuple,
31723    ) -> Herror;
31724}
31725unsafe extern "C" {
31726    pub fn set_bg_esti_params(
31727        BgEstiHandle: Hlong,
31728        Syspar1: f64,
31729        Syspar2: f64,
31730        GainMode: *const ::std::os::raw::c_char,
31731        Gain1: f64,
31732        Gain2: f64,
31733        AdaptMode: *const ::std::os::raw::c_char,
31734        MinDiff: f64,
31735        StatNum: Hlong,
31736        ConfidenceC: f64,
31737        TimeC: f64,
31738    ) -> Herror;
31739}
31740unsafe extern "C" {
31741    pub fn T_create_bg_esti(
31742        InitializeImage: Hobject,
31743        Syspar1: Htuple,
31744        Syspar2: Htuple,
31745        GainMode: Htuple,
31746        Gain1: Htuple,
31747        Gain2: Htuple,
31748        AdaptMode: Htuple,
31749        MinDiff: Htuple,
31750        StatNum: Htuple,
31751        ConfidenceC: Htuple,
31752        TimeC: Htuple,
31753        BgEstiHandle: *mut Htuple,
31754    ) -> Herror;
31755}
31756unsafe extern "C" {
31757    pub fn create_bg_esti(
31758        InitializeImage: Hobject,
31759        Syspar1: f64,
31760        Syspar2: f64,
31761        GainMode: *const ::std::os::raw::c_char,
31762        Gain1: f64,
31763        Gain2: f64,
31764        AdaptMode: *const ::std::os::raw::c_char,
31765        MinDiff: f64,
31766        StatNum: Hlong,
31767        ConfidenceC: f64,
31768        TimeC: f64,
31769        BgEstiHandle: *mut Hlong,
31770    ) -> Herror;
31771}
31772unsafe extern "C" {
31773    pub fn T_close_all_bg_esti() -> Herror;
31774}
31775unsafe extern "C" {
31776    pub fn close_all_bg_esti() -> Herror;
31777}
31778unsafe extern "C" {
31779    pub fn T_control_io_channel(
31780        IOChannelHandle: Htuple,
31781        Action: Htuple,
31782        Argument: Htuple,
31783        Result: *mut Htuple,
31784    ) -> Herror;
31785}
31786unsafe extern "C" {
31787    pub fn T_write_io_channel(
31788        IOChannelHandle: Htuple,
31789        Value: Htuple,
31790        Status: *mut Htuple,
31791    ) -> Herror;
31792}
31793unsafe extern "C" {
31794    pub fn T_read_io_channel(
31795        IOChannelHandle: Htuple,
31796        Value: *mut Htuple,
31797        Status: *mut Htuple,
31798    ) -> Herror;
31799}
31800unsafe extern "C" {
31801    pub fn T_set_io_channel_param(
31802        IOChannelHandle: Htuple,
31803        GenParamName: Htuple,
31804        GenParamValue: Htuple,
31805    ) -> Herror;
31806}
31807unsafe extern "C" {
31808    pub fn T_get_io_channel_param(
31809        IOChannelHandle: Htuple,
31810        GenParamName: Htuple,
31811        GenParamValue: *mut Htuple,
31812    ) -> Herror;
31813}
31814unsafe extern "C" {
31815    pub fn T_close_io_channel(IOChannelHandle: Htuple) -> Herror;
31816}
31817unsafe extern "C" {
31818    pub fn close_io_channel(IOChannelHandle: Hlong) -> Herror;
31819}
31820unsafe extern "C" {
31821    pub fn T_open_io_channel(
31822        IODeviceHandle: Htuple,
31823        IOChannelName: Htuple,
31824        GenParamName: Htuple,
31825        GenParamValue: Htuple,
31826        IOChannelHandle: *mut Htuple,
31827    ) -> Herror;
31828}
31829unsafe extern "C" {
31830    pub fn T_query_io_device(
31831        IODeviceHandle: Htuple,
31832        IOChannelName: Htuple,
31833        Query: Htuple,
31834        Result: *mut Htuple,
31835    ) -> Herror;
31836}
31837unsafe extern "C" {
31838    pub fn T_control_io_device(
31839        IODeviceHandle: Htuple,
31840        Action: Htuple,
31841        Argument: Htuple,
31842        Result: *mut Htuple,
31843    ) -> Herror;
31844}
31845unsafe extern "C" {
31846    pub fn T_set_io_device_param(
31847        IODeviceHandle: Htuple,
31848        GenParamName: Htuple,
31849        GenParamValue: Htuple,
31850    ) -> Herror;
31851}
31852unsafe extern "C" {
31853    pub fn set_io_device_param(
31854        IODeviceHandle: Hlong,
31855        GenParamName: *const ::std::os::raw::c_char,
31856        GenParamValue: *const ::std::os::raw::c_char,
31857    ) -> Herror;
31858}
31859unsafe extern "C" {
31860    pub fn T_get_io_device_param(
31861        IODeviceHandle: Htuple,
31862        GenParamName: Htuple,
31863        GenParamValue: *mut Htuple,
31864    ) -> Herror;
31865}
31866unsafe extern "C" {
31867    pub fn get_io_device_param(
31868        IODeviceHandle: Hlong,
31869        GenParamName: *const ::std::os::raw::c_char,
31870        GenParamValue: *mut ::std::os::raw::c_char,
31871    ) -> Herror;
31872}
31873unsafe extern "C" {
31874    pub fn T_close_io_device(IODeviceHandle: Htuple) -> Herror;
31875}
31876unsafe extern "C" {
31877    pub fn close_io_device(IODeviceHandle: Hlong) -> Herror;
31878}
31879unsafe extern "C" {
31880    pub fn T_open_io_device(
31881        IOInterfaceName: Htuple,
31882        IODeviceName: Htuple,
31883        GenParamName: Htuple,
31884        GenParamValue: Htuple,
31885        IODeviceHandle: *mut Htuple,
31886    ) -> Herror;
31887}
31888unsafe extern "C" {
31889    pub fn T_control_io_interface(
31890        IOInterfaceName: Htuple,
31891        Action: Htuple,
31892        Argument: Htuple,
31893        Result: *mut Htuple,
31894    ) -> Herror;
31895}
31896unsafe extern "C" {
31897    pub fn T_query_io_interface(
31898        IOInterfaceName: Htuple,
31899        Query: Htuple,
31900        Result: *mut Htuple,
31901    ) -> Herror;
31902}
31903unsafe extern "C" {
31904    pub fn T_get_framegrabber_param(AcqHandle: Htuple, Param: Htuple, Value: *mut Htuple)
31905    -> Herror;
31906}
31907unsafe extern "C" {
31908    pub fn get_framegrabber_param(
31909        AcqHandle: Hlong,
31910        Param: *const ::std::os::raw::c_char,
31911        Value: *mut ::std::os::raw::c_char,
31912    ) -> Herror;
31913}
31914unsafe extern "C" {
31915    pub fn T_set_framegrabber_param(AcqHandle: Htuple, Param: Htuple, Value: Htuple) -> Herror;
31916}
31917unsafe extern "C" {
31918    pub fn set_framegrabber_param(
31919        AcqHandle: Hlong,
31920        Param: *const ::std::os::raw::c_char,
31921        Value: *const ::std::os::raw::c_char,
31922    ) -> Herror;
31923}
31924unsafe extern "C" {
31925    pub fn T_get_framegrabber_callback(
31926        AcqHandle: Htuple,
31927        CallbackType: Htuple,
31928        CallbackFunction: *mut Htuple,
31929        UserContext: *mut Htuple,
31930    ) -> Herror;
31931}
31932unsafe extern "C" {
31933    pub fn get_framegrabber_callback(
31934        AcqHandle: Hlong,
31935        CallbackType: *const ::std::os::raw::c_char,
31936        CallbackFunction: *mut Hlong,
31937        UserContext: *mut Hlong,
31938    ) -> Herror;
31939}
31940unsafe extern "C" {
31941    pub fn T_set_framegrabber_callback(
31942        AcqHandle: Htuple,
31943        CallbackType: Htuple,
31944        CallbackFunction: Htuple,
31945        UserContext: Htuple,
31946    ) -> Herror;
31947}
31948unsafe extern "C" {
31949    pub fn set_framegrabber_callback(
31950        AcqHandle: Hlong,
31951        CallbackType: *const ::std::os::raw::c_char,
31952        CallbackFunction: Hlong,
31953        UserContext: Hlong,
31954    ) -> Herror;
31955}
31956unsafe extern "C" {
31957    pub fn T_grab_data_async(
31958        Image: *mut Hobject,
31959        Region: *mut Hobject,
31960        Contours: *mut Hobject,
31961        AcqHandle: Htuple,
31962        MaxDelay: Htuple,
31963        Data: *mut Htuple,
31964    ) -> Herror;
31965}
31966unsafe extern "C" {
31967    pub fn grab_data_async(
31968        Image: *mut Hobject,
31969        Region: *mut Hobject,
31970        Contours: *mut Hobject,
31971        AcqHandle: Hlong,
31972        MaxDelay: f64,
31973        Data: *mut ::std::os::raw::c_char,
31974    ) -> Herror;
31975}
31976unsafe extern "C" {
31977    pub fn T_grab_data(
31978        Image: *mut Hobject,
31979        Region: *mut Hobject,
31980        Contours: *mut Hobject,
31981        AcqHandle: Htuple,
31982        Data: *mut Htuple,
31983    ) -> Herror;
31984}
31985unsafe extern "C" {
31986    pub fn grab_data(
31987        Image: *mut Hobject,
31988        Region: *mut Hobject,
31989        Contours: *mut Hobject,
31990        AcqHandle: Hlong,
31991        Data: *mut ::std::os::raw::c_char,
31992    ) -> Herror;
31993}
31994unsafe extern "C" {
31995    pub fn T_grab_image_async(Image: *mut Hobject, AcqHandle: Htuple, MaxDelay: Htuple) -> Herror;
31996}
31997unsafe extern "C" {
31998    pub fn grab_image_async(Image: *mut Hobject, AcqHandle: Hlong, MaxDelay: f64) -> Herror;
31999}
32000unsafe extern "C" {
32001    pub fn T_grab_image_start(AcqHandle: Htuple, MaxDelay: Htuple) -> Herror;
32002}
32003unsafe extern "C" {
32004    pub fn grab_image_start(AcqHandle: Hlong, MaxDelay: f64) -> Herror;
32005}
32006unsafe extern "C" {
32007    pub fn T_grab_image(Image: *mut Hobject, AcqHandle: Htuple) -> Herror;
32008}
32009unsafe extern "C" {
32010    pub fn grab_image(Image: *mut Hobject, AcqHandle: Hlong) -> Herror;
32011}
32012unsafe extern "C" {
32013    pub fn T_info_framegrabber(
32014        Name: Htuple,
32015        Query: Htuple,
32016        Information: *mut Htuple,
32017        ValueList: *mut Htuple,
32018    ) -> Herror;
32019}
32020unsafe extern "C" {
32021    pub fn T_close_all_framegrabbers() -> Herror;
32022}
32023unsafe extern "C" {
32024    pub fn close_all_framegrabbers() -> Herror;
32025}
32026unsafe extern "C" {
32027    pub fn T_close_framegrabber(AcqHandle: Htuple) -> Herror;
32028}
32029unsafe extern "C" {
32030    pub fn close_framegrabber(AcqHandle: Hlong) -> Herror;
32031}
32032unsafe extern "C" {
32033    pub fn T_open_framegrabber(
32034        Name: Htuple,
32035        HorizontalResolution: Htuple,
32036        VerticalResolution: Htuple,
32037        ImageWidth: Htuple,
32038        ImageHeight: Htuple,
32039        StartRow: Htuple,
32040        StartColumn: Htuple,
32041        Field: Htuple,
32042        BitsPerChannel: Htuple,
32043        ColorSpace: Htuple,
32044        Generic: Htuple,
32045        ExternalTrigger: Htuple,
32046        CameraType: Htuple,
32047        Device: Htuple,
32048        Port: Htuple,
32049        LineIn: Htuple,
32050        AcqHandle: *mut Htuple,
32051    ) -> Herror;
32052}
32053unsafe extern "C" {
32054    pub fn open_framegrabber(
32055        Name: *const ::std::os::raw::c_char,
32056        HorizontalResolution: Hlong,
32057        VerticalResolution: Hlong,
32058        ImageWidth: Hlong,
32059        ImageHeight: Hlong,
32060        StartRow: Hlong,
32061        StartColumn: Hlong,
32062        Field: *const ::std::os::raw::c_char,
32063        BitsPerChannel: Hlong,
32064        ColorSpace: *const ::std::os::raw::c_char,
32065        Generic: f64,
32066        ExternalTrigger: *const ::std::os::raw::c_char,
32067        CameraType: *const ::std::os::raw::c_char,
32068        Device: *const ::std::os::raw::c_char,
32069        Port: Hlong,
32070        LineIn: Hlong,
32071        AcqHandle: *mut Hlong,
32072    ) -> Herror;
32073}
32074unsafe extern "C" {
32075    pub fn T_get_framegrabber_lut(
32076        AcqHandle: Htuple,
32077        ImageRed: *mut Htuple,
32078        ImageGreen: *mut Htuple,
32079        ImageBlue: *mut Htuple,
32080    ) -> Herror;
32081}
32082unsafe extern "C" {
32083    pub fn T_set_framegrabber_lut(
32084        AcqHandle: Htuple,
32085        ImageRed: Htuple,
32086        ImageGreen: Htuple,
32087        ImageBlue: Htuple,
32088    ) -> Herror;
32089}
32090unsafe extern "C" {
32091    pub fn T_add_scene_3d_label(
32092        Scene3D: Htuple,
32093        Text: Htuple,
32094        ReferencePoint: Htuple,
32095        Position: Htuple,
32096        RelatesTo: Htuple,
32097        LabelIndex: *mut Htuple,
32098    ) -> Herror;
32099}
32100unsafe extern "C" {
32101    pub fn T_remove_scene_3d_label(Scene3D: Htuple, LabelIndex: Htuple) -> Herror;
32102}
32103unsafe extern "C" {
32104    pub fn remove_scene_3d_label(Scene3D: Hlong, LabelIndex: Hlong) -> Herror;
32105}
32106unsafe extern "C" {
32107    pub fn T_set_scene_3d_label_param(
32108        Scene3D: Htuple,
32109        LabelIndex: Htuple,
32110        GenParamName: Htuple,
32111        GenParamValue: Htuple,
32112    ) -> Herror;
32113}
32114unsafe extern "C" {
32115    pub fn T_add_texture_inspection_model_image(
32116        Image: Hobject,
32117        TextureInspectionModel: Htuple,
32118        Indices: *mut Htuple,
32119    ) -> Herror;
32120}
32121unsafe extern "C" {
32122    pub fn add_texture_inspection_model_image(
32123        Image: Hobject,
32124        TextureInspectionModel: Hlong,
32125        Indices: *mut Hlong,
32126    ) -> Herror;
32127}
32128unsafe extern "C" {
32129    pub fn T_apply_texture_inspection_model(
32130        Image: Hobject,
32131        NoveltyRegion: *mut Hobject,
32132        TextureInspectionModel: Htuple,
32133        TextureInspectionResultID: *mut Htuple,
32134    ) -> Herror;
32135}
32136unsafe extern "C" {
32137    pub fn apply_texture_inspection_model(
32138        Image: Hobject,
32139        NoveltyRegion: *mut Hobject,
32140        TextureInspectionModel: Hlong,
32141        TextureInspectionResultID: *mut Hlong,
32142    ) -> Herror;
32143}
32144unsafe extern "C" {
32145    pub fn T_bilateral_filter(
32146        Image: Hobject,
32147        ImageJoint: Hobject,
32148        ImageBilateral: *mut Hobject,
32149        SigmaSpatial: Htuple,
32150        SigmaRange: Htuple,
32151        GenParamName: Htuple,
32152        GenParamValue: Htuple,
32153    ) -> Herror;
32154}
32155unsafe extern "C" {
32156    pub fn bilateral_filter(
32157        Image: Hobject,
32158        ImageJoint: Hobject,
32159        ImageBilateral: *mut Hobject,
32160        SigmaSpatial: f64,
32161        SigmaRange: f64,
32162        GenParamName: *const ::std::os::raw::c_char,
32163        GenParamValue: f64,
32164    ) -> Herror;
32165}
32166unsafe extern "C" {
32167    pub fn T_clear_ocr_class_cnn(OCRHandle: Htuple) -> Herror;
32168}
32169unsafe extern "C" {
32170    pub fn clear_ocr_class_cnn(OCRHandle: Hlong) -> Herror;
32171}
32172unsafe extern "C" {
32173    pub fn T_clear_texture_inspection_model(TextureInspectionModel: Htuple) -> Herror;
32174}
32175unsafe extern "C" {
32176    pub fn clear_texture_inspection_model(TextureInspectionModel: Hlong) -> Herror;
32177}
32178unsafe extern "C" {
32179    pub fn T_clear_texture_inspection_result(TextureInspectionResultID: Htuple) -> Herror;
32180}
32181unsafe extern "C" {
32182    pub fn clear_texture_inspection_result(TextureInspectionResultID: Hlong) -> Herror;
32183}
32184unsafe extern "C" {
32185    pub fn T_convert_coordinates_image_to_window(
32186        WindowHandle: Htuple,
32187        RowImage: Htuple,
32188        ColumnImage: Htuple,
32189        RowWindow: *mut Htuple,
32190        ColumnWindow: *mut Htuple,
32191    ) -> Herror;
32192}
32193unsafe extern "C" {
32194    pub fn convert_coordinates_image_to_window(
32195        WindowHandle: Hlong,
32196        RowImage: f64,
32197        ColumnImage: f64,
32198        RowWindow: *mut f64,
32199        ColumnWindow: *mut f64,
32200    ) -> Herror;
32201}
32202unsafe extern "C" {
32203    pub fn T_convert_coordinates_window_to_image(
32204        WindowHandle: Htuple,
32205        RowWindow: Htuple,
32206        ColumnWindow: Htuple,
32207        RowImage: *mut Htuple,
32208        ColumnImage: *mut Htuple,
32209    ) -> Herror;
32210}
32211unsafe extern "C" {
32212    pub fn convert_coordinates_window_to_image(
32213        WindowHandle: Hlong,
32214        RowWindow: f64,
32215        ColumnWindow: f64,
32216        RowImage: *mut f64,
32217        ColumnImage: *mut f64,
32218    ) -> Herror;
32219}
32220unsafe extern "C" {
32221    pub fn T_create_texture_inspection_model(
32222        ModelType: Htuple,
32223        TextureInspectionModel: *mut Htuple,
32224    ) -> Herror;
32225}
32226unsafe extern "C" {
32227    pub fn create_texture_inspection_model(
32228        ModelType: *const ::std::os::raw::c_char,
32229        TextureInspectionModel: *mut Hlong,
32230    ) -> Herror;
32231}
32232unsafe extern "C" {
32233    pub fn T_deserialize_dual_quat(
32234        SerializedItemHandle: Htuple,
32235        DualQuaternion: *mut Htuple,
32236    ) -> Herror;
32237}
32238unsafe extern "C" {
32239    pub fn T_deserialize_ocr_class_cnn(
32240        SerializedItemHandle: Htuple,
32241        OCRHandle: *mut Htuple,
32242    ) -> Herror;
32243}
32244unsafe extern "C" {
32245    pub fn deserialize_ocr_class_cnn(SerializedItemHandle: Hlong, OCRHandle: *mut Hlong) -> Herror;
32246}
32247unsafe extern "C" {
32248    pub fn T_deserialize_texture_inspection_model(
32249        SerializedItemHandle: Htuple,
32250        TextureInspectionModel: *mut Htuple,
32251    ) -> Herror;
32252}
32253unsafe extern "C" {
32254    pub fn deserialize_texture_inspection_model(
32255        SerializedItemHandle: Hlong,
32256        TextureInspectionModel: *mut Hlong,
32257    ) -> Herror;
32258}
32259unsafe extern "C" {
32260    pub fn T_disp_text(
32261        WindowHandle: Htuple,
32262        String: Htuple,
32263        CoordSystem: Htuple,
32264        Row: Htuple,
32265        Column: Htuple,
32266        Color: Htuple,
32267        GenParamName: Htuple,
32268        GenParamValue: Htuple,
32269    ) -> Herror;
32270}
32271unsafe extern "C" {
32272    pub fn T_do_ocr_multi_class_cnn(
32273        Character: Hobject,
32274        Image: Hobject,
32275        OCRHandle: Htuple,
32276        Class: *mut Htuple,
32277        Confidence: *mut Htuple,
32278    ) -> Herror;
32279}
32280unsafe extern "C" {
32281    pub fn do_ocr_multi_class_cnn(
32282        Character: Hobject,
32283        Image: Hobject,
32284        OCRHandle: Hlong,
32285        Class: *mut ::std::os::raw::c_char,
32286        Confidence: *mut f64,
32287    ) -> Herror;
32288}
32289unsafe extern "C" {
32290    pub fn T_do_ocr_single_class_cnn(
32291        Character: Hobject,
32292        Image: Hobject,
32293        OCRHandle: Htuple,
32294        Num: Htuple,
32295        Class: *mut Htuple,
32296        Confidence: *mut Htuple,
32297    ) -> Herror;
32298}
32299unsafe extern "C" {
32300    pub fn T_do_ocr_word_cnn(
32301        Character: Hobject,
32302        Image: Hobject,
32303        OCRHandle: Htuple,
32304        Expression: Htuple,
32305        NumAlternatives: Htuple,
32306        NumCorrections: Htuple,
32307        Class: *mut Htuple,
32308        Confidence: *mut Htuple,
32309        Word: *mut Htuple,
32310        Score: *mut Htuple,
32311    ) -> Herror;
32312}
32313unsafe extern "C" {
32314    pub fn do_ocr_word_cnn(
32315        Character: Hobject,
32316        Image: Hobject,
32317        OCRHandle: Hlong,
32318        Expression: *const ::std::os::raw::c_char,
32319        NumAlternatives: Hlong,
32320        NumCorrections: Hlong,
32321        Class: *mut ::std::os::raw::c_char,
32322        Confidence: *mut f64,
32323        Word: *mut ::std::os::raw::c_char,
32324        Score: *mut f64,
32325    ) -> Herror;
32326}
32327unsafe extern "C" {
32328    pub fn T_dual_quat_compose(
32329        DualQuaternionLeft: Htuple,
32330        DualQuaternionRight: Htuple,
32331        DualQuaternionComposed: *mut Htuple,
32332    ) -> Herror;
32333}
32334unsafe extern "C" {
32335    pub fn T_dual_quat_conjugate(
32336        DualQuaternion: Htuple,
32337        DualQuaternionConjugate: *mut Htuple,
32338    ) -> Herror;
32339}
32340unsafe extern "C" {
32341    pub fn T_dual_quat_interpolate(
32342        DualQuaternionStart: Htuple,
32343        DualQuaternionEnd: Htuple,
32344        InterpPos: Htuple,
32345        DualQuaternionInterpolated: *mut Htuple,
32346    ) -> Herror;
32347}
32348unsafe extern "C" {
32349    pub fn T_dual_quat_normalize(
32350        DualQuaternion: Htuple,
32351        DualQuaternionNormalized: *mut Htuple,
32352    ) -> Herror;
32353}
32354unsafe extern "C" {
32355    pub fn T_dual_quat_to_hom_mat3d(DualQuaternion: Htuple, HomMat3D: *mut Htuple) -> Herror;
32356}
32357unsafe extern "C" {
32358    pub fn T_dual_quat_to_pose(DualQuaternion: Htuple, Pose: *mut Htuple) -> Herror;
32359}
32360unsafe extern "C" {
32361    pub fn T_dual_quat_to_screw(
32362        DualQuaternion: Htuple,
32363        ScrewFormat: Htuple,
32364        AxisDirectionX: *mut Htuple,
32365        AxisDirectionY: *mut Htuple,
32366        AxisDirectionZ: *mut Htuple,
32367        AxisMomentOrPointX: *mut Htuple,
32368        AxisMomentOrPointY: *mut Htuple,
32369        AxisMomentOrPointZ: *mut Htuple,
32370        Rotation: *mut Htuple,
32371        Translation: *mut Htuple,
32372    ) -> Herror;
32373}
32374unsafe extern "C" {
32375    pub fn T_dual_quat_trans_line_3d(
32376        DualQuaternion: Htuple,
32377        LineFormat: Htuple,
32378        LineDirectionX: Htuple,
32379        LineDirectionY: Htuple,
32380        LineDirectionZ: Htuple,
32381        LineMomentOrPointX: Htuple,
32382        LineMomentOrPointY: Htuple,
32383        LineMomentOrPointZ: Htuple,
32384        TransLineDirectionX: *mut Htuple,
32385        TransLineDirectionY: *mut Htuple,
32386        TransLineDirectionZ: *mut Htuple,
32387        TransLineMomentOrPointX: *mut Htuple,
32388        TransLineMomentOrPointY: *mut Htuple,
32389        TransLineMomentOrPointZ: *mut Htuple,
32390    ) -> Herror;
32391}
32392unsafe extern "C" {
32393    pub fn T_edges_object_model_3d(
32394        ObjectModel3D: Htuple,
32395        MinAmplitude: Htuple,
32396        GenParamName: Htuple,
32397        GenParamValue: Htuple,
32398        ObjectModel3DEdges: *mut Htuple,
32399    ) -> Herror;
32400}
32401unsafe extern "C" {
32402    pub fn edges_object_model_3d(
32403        ObjectModel3D: Hlong,
32404        MinAmplitude: f64,
32405        GenParamName: *const ::std::os::raw::c_char,
32406        GenParamValue: f64,
32407        ObjectModel3DEdges: *mut Hlong,
32408    ) -> Herror;
32409}
32410unsafe extern "C" {
32411    pub fn T_find_ncc_models(
32412        Image: Hobject,
32413        ModelIDs: Htuple,
32414        AngleStart: Htuple,
32415        AngleExtent: Htuple,
32416        MinScore: Htuple,
32417        NumMatches: Htuple,
32418        MaxOverlap: Htuple,
32419        SubPixel: Htuple,
32420        NumLevels: Htuple,
32421        Row: *mut Htuple,
32422        Column: *mut Htuple,
32423        Angle: *mut Htuple,
32424        Score: *mut Htuple,
32425        Model: *mut Htuple,
32426    ) -> Herror;
32427}
32428unsafe extern "C" {
32429    pub fn T_find_surface_model_image(
32430        Image: Hobject,
32431        SurfaceModelID: Htuple,
32432        ObjectModel3D: Htuple,
32433        RelSamplingDistance: Htuple,
32434        KeyPointFraction: Htuple,
32435        MinScore: Htuple,
32436        ReturnResultHandle: Htuple,
32437        GenParamName: Htuple,
32438        GenParamValue: Htuple,
32439        Pose: *mut Htuple,
32440        Score: *mut Htuple,
32441        SurfaceMatchingResultID: *mut Htuple,
32442    ) -> Herror;
32443}
32444unsafe extern "C" {
32445    pub fn T_flush_buffer(WindowHandle: Htuple) -> Herror;
32446}
32447unsafe extern "C" {
32448    pub fn flush_buffer(WindowHandle: Hlong) -> Herror;
32449}
32450unsafe extern "C" {
32451    pub fn T_get_ncc_model_region(ModelRegion: *mut Hobject, ModelID: Htuple) -> Herror;
32452}
32453unsafe extern "C" {
32454    pub fn get_ncc_model_region(ModelRegion: *mut Hobject, ModelID: Hlong) -> Herror;
32455}
32456unsafe extern "C" {
32457    pub fn T_get_params_ocr_class_cnn(
32458        OCRHandle: Htuple,
32459        GenParamName: Htuple,
32460        GenParamValue: *mut Htuple,
32461    ) -> Herror;
32462}
32463unsafe extern "C" {
32464    pub fn get_params_ocr_class_cnn(
32465        OCRHandle: Hlong,
32466        GenParamName: *const ::std::os::raw::c_char,
32467        GenParamValue: *mut Hlong,
32468    ) -> Herror;
32469}
32470unsafe extern "C" {
32471    pub fn T_get_rgba(
32472        WindowHandle: Htuple,
32473        Red: *mut Htuple,
32474        Green: *mut Htuple,
32475        Blue: *mut Htuple,
32476        Alpha: *mut Htuple,
32477    ) -> Herror;
32478}
32479unsafe extern "C" {
32480    pub fn T_get_stereo_model_object_model_3d(
32481        StereoModelID: Htuple,
32482        GenParamName: Htuple,
32483        ObjectModel3D: *mut Htuple,
32484    ) -> Herror;
32485}
32486unsafe extern "C" {
32487    pub fn get_stereo_model_object_model_3d(
32488        StereoModelID: Hlong,
32489        GenParamName: *const ::std::os::raw::c_char,
32490        ObjectModel3D: *mut Hlong,
32491    ) -> Herror;
32492}
32493unsafe extern "C" {
32494    pub fn T_get_texture_inspection_model_image(
32495        ModelImages: *mut Hobject,
32496        TextureInspectionModel: Htuple,
32497    ) -> Herror;
32498}
32499unsafe extern "C" {
32500    pub fn get_texture_inspection_model_image(
32501        ModelImages: *mut Hobject,
32502        TextureInspectionModel: Hlong,
32503    ) -> Herror;
32504}
32505unsafe extern "C" {
32506    pub fn T_get_texture_inspection_model_param(
32507        TextureInspectionModel: Htuple,
32508        GenParamName: Htuple,
32509        GenParamValue: *mut Htuple,
32510    ) -> Herror;
32511}
32512unsafe extern "C" {
32513    pub fn get_texture_inspection_model_param(
32514        TextureInspectionModel: Hlong,
32515        GenParamName: *const ::std::os::raw::c_char,
32516        GenParamValue: *mut Hlong,
32517    ) -> Herror;
32518}
32519unsafe extern "C" {
32520    pub fn T_get_texture_inspection_result_object(
32521        Object: *mut Hobject,
32522        TextureInspectionResultID: Htuple,
32523        ResultName: Htuple,
32524    ) -> Herror;
32525}
32526unsafe extern "C" {
32527    pub fn get_texture_inspection_result_object(
32528        Object: *mut Hobject,
32529        TextureInspectionResultID: Hlong,
32530        ResultName: *const ::std::os::raw::c_char,
32531    ) -> Herror;
32532}
32533unsafe extern "C" {
32534    pub fn T_guided_filter(
32535        Image: Hobject,
32536        ImageGuide: Hobject,
32537        ImageGuided: *mut Hobject,
32538        Radius: Htuple,
32539        Amplitude: Htuple,
32540    ) -> Herror;
32541}
32542unsafe extern "C" {
32543    pub fn guided_filter(
32544        Image: Hobject,
32545        ImageGuide: Hobject,
32546        ImageGuided: *mut Hobject,
32547        Radius: Hlong,
32548        Amplitude: f64,
32549    ) -> Herror;
32550}
32551unsafe extern "C" {
32552    pub fn T_interleave_channels(
32553        MultichannelImage: Hobject,
32554        InterleavedImage: *mut Hobject,
32555        PixelFormat: Htuple,
32556        RowBytes: Htuple,
32557        Alpha: Htuple,
32558    ) -> Herror;
32559}
32560unsafe extern "C" {
32561    pub fn interleave_channels(
32562        MultichannelImage: Hobject,
32563        InterleavedImage: *mut Hobject,
32564        PixelFormat: *const ::std::os::raw::c_char,
32565        RowBytes: *const ::std::os::raw::c_char,
32566        Alpha: Hlong,
32567    ) -> Herror;
32568}
32569unsafe extern "C" {
32570    pub fn T_pose_to_dual_quat(Pose: Htuple, DualQuaternion: *mut Htuple) -> Herror;
32571}
32572unsafe extern "C" {
32573    pub fn T_query_params_ocr_class_cnn(OCRHandle: Htuple, GenParamName: *mut Htuple) -> Herror;
32574}
32575unsafe extern "C" {
32576    pub fn query_params_ocr_class_cnn(
32577        OCRHandle: Hlong,
32578        GenParamName: *mut ::std::os::raw::c_char,
32579    ) -> Herror;
32580}
32581unsafe extern "C" {
32582    pub fn T_read_ocr_class_cnn(FileName: Htuple, OCRHandle: *mut Htuple) -> Herror;
32583}
32584unsafe extern "C" {
32585    pub fn read_ocr_class_cnn(
32586        FileName: *const ::std::os::raw::c_char,
32587        OCRHandle: *mut Hlong,
32588    ) -> Herror;
32589}
32590unsafe extern "C" {
32591    pub fn T_read_texture_inspection_model(
32592        FileName: Htuple,
32593        TextureInspectionModel: *mut Htuple,
32594    ) -> Herror;
32595}
32596unsafe extern "C" {
32597    pub fn read_texture_inspection_model(
32598        FileName: *const ::std::os::raw::c_char,
32599        TextureInspectionModel: *mut Hlong,
32600    ) -> Herror;
32601}
32602unsafe extern "C" {
32603    pub fn T_refine_surface_model_pose_image(
32604        Image: Hobject,
32605        SurfaceModelID: Htuple,
32606        ObjectModel3D: Htuple,
32607        InitialPose: Htuple,
32608        MinScore: Htuple,
32609        ReturnResultHandle: Htuple,
32610        GenParamName: Htuple,
32611        GenParamValue: Htuple,
32612        Pose: *mut Htuple,
32613        Score: *mut Htuple,
32614        SurfaceMatchingResultID: *mut Htuple,
32615    ) -> Herror;
32616}
32617unsafe extern "C" {
32618    pub fn T_remove_texture_inspection_model_image(
32619        TextureInspectionModel: Htuple,
32620        Indices: Htuple,
32621        RemainingIndices: *mut Htuple,
32622    ) -> Herror;
32623}
32624unsafe extern "C" {
32625    pub fn T_screw_to_dual_quat(
32626        ScrewFormat: Htuple,
32627        AxisDirectionX: Htuple,
32628        AxisDirectionY: Htuple,
32629        AxisDirectionZ: Htuple,
32630        AxisMomentOrPointX: Htuple,
32631        AxisMomentOrPointY: Htuple,
32632        AxisMomentOrPointZ: Htuple,
32633        Rotation: Htuple,
32634        Translation: Htuple,
32635        DualQuaternion: *mut Htuple,
32636    ) -> Herror;
32637}
32638unsafe extern "C" {
32639    pub fn T_segment_image_mser(
32640        Image: Hobject,
32641        MSERDark: *mut Hobject,
32642        MSERLight: *mut Hobject,
32643        Polarity: Htuple,
32644        MinArea: Htuple,
32645        MaxArea: Htuple,
32646        Delta: Htuple,
32647        GenParamName: Htuple,
32648        GenParamValue: Htuple,
32649    ) -> Herror;
32650}
32651unsafe extern "C" {
32652    pub fn T_send_mouse_double_click_event(
32653        WindowHandle: Htuple,
32654        Row: Htuple,
32655        Column: Htuple,
32656        Button: Htuple,
32657        Processed: *mut Htuple,
32658    ) -> Herror;
32659}
32660unsafe extern "C" {
32661    pub fn send_mouse_double_click_event(
32662        WindowHandle: Hlong,
32663        Row: Hlong,
32664        Column: Hlong,
32665        Button: Hlong,
32666        Processed: *mut ::std::os::raw::c_char,
32667    ) -> Herror;
32668}
32669unsafe extern "C" {
32670    pub fn T_send_mouse_down_event(
32671        WindowHandle: Htuple,
32672        Row: Htuple,
32673        Column: Htuple,
32674        Button: Htuple,
32675        Processed: *mut Htuple,
32676    ) -> Herror;
32677}
32678unsafe extern "C" {
32679    pub fn send_mouse_down_event(
32680        WindowHandle: Hlong,
32681        Row: Hlong,
32682        Column: Hlong,
32683        Button: Hlong,
32684        Processed: *mut ::std::os::raw::c_char,
32685    ) -> Herror;
32686}
32687unsafe extern "C" {
32688    pub fn T_send_mouse_drag_event(
32689        WindowHandle: Htuple,
32690        Row: Htuple,
32691        Column: Htuple,
32692        Button: Htuple,
32693        Processed: *mut Htuple,
32694    ) -> Herror;
32695}
32696unsafe extern "C" {
32697    pub fn send_mouse_drag_event(
32698        WindowHandle: Hlong,
32699        Row: Hlong,
32700        Column: Hlong,
32701        Button: Hlong,
32702        Processed: *mut ::std::os::raw::c_char,
32703    ) -> Herror;
32704}
32705unsafe extern "C" {
32706    pub fn T_send_mouse_up_event(
32707        WindowHandle: Htuple,
32708        Row: Htuple,
32709        Column: Htuple,
32710        Button: Htuple,
32711        Processed: *mut Htuple,
32712    ) -> Herror;
32713}
32714unsafe extern "C" {
32715    pub fn send_mouse_up_event(
32716        WindowHandle: Hlong,
32717        Row: Hlong,
32718        Column: Hlong,
32719        Button: Hlong,
32720        Processed: *mut ::std::os::raw::c_char,
32721    ) -> Herror;
32722}
32723unsafe extern "C" {
32724    pub fn T_serialize_dual_quat(
32725        DualQuaternion: Htuple,
32726        SerializedItemHandle: *mut Htuple,
32727    ) -> Herror;
32728}
32729unsafe extern "C" {
32730    pub fn T_serialize_ocr_class_cnn(
32731        OCRHandle: Htuple,
32732        SerializedItemHandle: *mut Htuple,
32733    ) -> Herror;
32734}
32735unsafe extern "C" {
32736    pub fn serialize_ocr_class_cnn(OCRHandle: Hlong, SerializedItemHandle: *mut Hlong) -> Herror;
32737}
32738unsafe extern "C" {
32739    pub fn T_serialize_texture_inspection_model(
32740        TextureInspectionModel: Htuple,
32741        SerializedItemHandle: *mut Htuple,
32742    ) -> Herror;
32743}
32744unsafe extern "C" {
32745    pub fn serialize_texture_inspection_model(
32746        TextureInspectionModel: Hlong,
32747        SerializedItemHandle: *mut Hlong,
32748    ) -> Herror;
32749}
32750unsafe extern "C" {
32751    pub fn T_set_content_update_callback(
32752        WindowHandle: Htuple,
32753        CallbackFunction: Htuple,
32754        CallbackContext: Htuple,
32755    ) -> Herror;
32756}
32757unsafe extern "C" {
32758    pub fn set_content_update_callback(
32759        WindowHandle: Hlong,
32760        CallbackFunction: Hlong,
32761        CallbackContext: Hlong,
32762    ) -> Herror;
32763}
32764unsafe extern "C" {
32765    pub fn T_set_rgba(
32766        WindowHandle: Htuple,
32767        Red: Htuple,
32768        Green: Htuple,
32769        Blue: Htuple,
32770        Alpha: Htuple,
32771    ) -> Herror;
32772}
32773unsafe extern "C" {
32774    pub fn set_rgba(
32775        WindowHandle: Hlong,
32776        Red: Hlong,
32777        Green: Hlong,
32778        Blue: Hlong,
32779        Alpha: Hlong,
32780    ) -> Herror;
32781}
32782unsafe extern "C" {
32783    pub fn T_set_surface_model_param(
32784        SurfaceModelID: Htuple,
32785        GenParamName: Htuple,
32786        GenParamValue: Htuple,
32787    ) -> Herror;
32788}
32789unsafe extern "C" {
32790    pub fn set_surface_model_param(
32791        SurfaceModelID: Hlong,
32792        GenParamName: *const ::std::os::raw::c_char,
32793        GenParamValue: f64,
32794    ) -> Herror;
32795}
32796unsafe extern "C" {
32797    pub fn T_set_texture_inspection_model_param(
32798        TextureInspectionModel: Htuple,
32799        GenParamName: Htuple,
32800        GenParamValue: Htuple,
32801    ) -> Herror;
32802}
32803unsafe extern "C" {
32804    pub fn set_texture_inspection_model_param(
32805        TextureInspectionModel: Hlong,
32806        GenParamName: *const ::std::os::raw::c_char,
32807        GenParamValue: Hlong,
32808    ) -> Herror;
32809}
32810unsafe extern "C" {
32811    pub fn T_train_texture_inspection_model(TextureInspectionModel: Htuple) -> Herror;
32812}
32813unsafe extern "C" {
32814    pub fn train_texture_inspection_model(TextureInspectionModel: Hlong) -> Herror;
32815}
32816unsafe extern "C" {
32817    pub fn T_write_texture_inspection_model(
32818        TextureInspectionModel: Htuple,
32819        FileName: Htuple,
32820    ) -> Herror;
32821}
32822unsafe extern "C" {
32823    pub fn write_texture_inspection_model(
32824        TextureInspectionModel: Hlong,
32825        FileName: *const ::std::os::raw::c_char,
32826    ) -> Herror;
32827}
32828unsafe extern "C" {
32829    pub fn T_uncalibrated_photometric_stereo(
32830        Images: Hobject,
32831        NormalField: *mut Hobject,
32832        Gradient: *mut Hobject,
32833        Albedo: *mut Hobject,
32834        ResultType: Htuple,
32835    ) -> Herror;
32836}
32837unsafe extern "C" {
32838    pub fn T_apply_dl_classifier(
32839        Images: Hobject,
32840        DLClassifierHandle: Htuple,
32841        DLClassifierResultHandle: *mut Htuple,
32842    ) -> Herror;
32843}
32844unsafe extern "C" {
32845    pub fn apply_dl_classifier(
32846        Images: Hobject,
32847        DLClassifierHandle: Hlong,
32848        DLClassifierResultHandle: *mut Hlong,
32849    ) -> Herror;
32850}
32851unsafe extern "C" {
32852    pub fn T_clear_dl_classifier(DLClassifierHandle: Htuple) -> Herror;
32853}
32854unsafe extern "C" {
32855    pub fn clear_dl_classifier(DLClassifierHandle: Hlong) -> Herror;
32856}
32857unsafe extern "C" {
32858    pub fn T_clear_dl_classifier_result(DLClassifierResultHandle: Htuple) -> Herror;
32859}
32860unsafe extern "C" {
32861    pub fn clear_dl_classifier_result(DLClassifierResultHandle: Hlong) -> Herror;
32862}
32863unsafe extern "C" {
32864    pub fn T_clear_dl_classifier_train_result(DLClassifierTrainResultHandle: Htuple) -> Herror;
32865}
32866unsafe extern "C" {
32867    pub fn clear_dl_classifier_train_result(DLClassifierTrainResultHandle: Hlong) -> Herror;
32868}
32869unsafe extern "C" {
32870    pub fn T_clear_structured_light_model(StructuredLightModel: Htuple) -> Herror;
32871}
32872unsafe extern "C" {
32873    pub fn clear_structured_light_model(StructuredLightModel: Hlong) -> Herror;
32874}
32875unsafe extern "C" {
32876    pub fn T_create_structured_light_model(
32877        ModelType: Htuple,
32878        StructuredLightModel: *mut Htuple,
32879    ) -> Herror;
32880}
32881unsafe extern "C" {
32882    pub fn create_structured_light_model(
32883        ModelType: *const ::std::os::raw::c_char,
32884        StructuredLightModel: *mut Hlong,
32885    ) -> Herror;
32886}
32887unsafe extern "C" {
32888    pub fn T_decode_structured_light_pattern(
32889        CameraImages: Hobject,
32890        StructuredLightModel: Htuple,
32891    ) -> Herror;
32892}
32893unsafe extern "C" {
32894    pub fn decode_structured_light_pattern(
32895        CameraImages: Hobject,
32896        StructuredLightModel: Hlong,
32897    ) -> Herror;
32898}
32899unsafe extern "C" {
32900    pub fn T_deserialize_dl_classifier(
32901        SerializedItemHandle: Htuple,
32902        DLClassifierHandle: *mut Htuple,
32903    ) -> Herror;
32904}
32905unsafe extern "C" {
32906    pub fn deserialize_dl_classifier(
32907        SerializedItemHandle: Hlong,
32908        DLClassifierHandle: *mut Hlong,
32909    ) -> Herror;
32910}
32911unsafe extern "C" {
32912    pub fn T_deserialize_structured_light_model(
32913        SerializedItemHandle: Htuple,
32914        StructuredLightModel: *mut Htuple,
32915    ) -> Herror;
32916}
32917unsafe extern "C" {
32918    pub fn deserialize_structured_light_model(
32919        SerializedItemHandle: Hlong,
32920        StructuredLightModel: *mut Hlong,
32921    ) -> Herror;
32922}
32923unsafe extern "C" {
32924    pub fn T_distance_cc_min_points(
32925        Contour1: Hobject,
32926        Contour2: Hobject,
32927        Mode: Htuple,
32928        DistanceMin: *mut Htuple,
32929        Row1: *mut Htuple,
32930        Column1: *mut Htuple,
32931        Row2: *mut Htuple,
32932        Column2: *mut Htuple,
32933    ) -> Herror;
32934}
32935unsafe extern "C" {
32936    pub fn distance_cc_min_points(
32937        Contour1: Hobject,
32938        Contour2: Hobject,
32939        Mode: *const ::std::os::raw::c_char,
32940        DistanceMin: *mut f64,
32941        Row1: *mut f64,
32942        Column1: *mut f64,
32943        Row2: *mut f64,
32944        Column2: *mut f64,
32945    ) -> Herror;
32946}
32947unsafe extern "C" {
32948    pub fn T_fuse_object_model_3d(
32949        ObjectModel3D: Htuple,
32950        BoundingBox: Htuple,
32951        Resolution: Htuple,
32952        SurfaceTolerance: Htuple,
32953        MinThickness: Htuple,
32954        Smoothing: Htuple,
32955        NormalDirection: Htuple,
32956        GenParamName: Htuple,
32957        GenParamValue: Htuple,
32958        ObjectModel3DFusion: *mut Htuple,
32959    ) -> Herror;
32960}
32961unsafe extern "C" {
32962    pub fn T_gen_structured_light_pattern(
32963        PatternImages: *mut Hobject,
32964        StructuredLightModel: Htuple,
32965    ) -> Herror;
32966}
32967unsafe extern "C" {
32968    pub fn gen_structured_light_pattern(
32969        PatternImages: *mut Hobject,
32970        StructuredLightModel: Hlong,
32971    ) -> Herror;
32972}
32973unsafe extern "C" {
32974    pub fn T_get_dl_classifier_param(
32975        DLClassifierHandle: Htuple,
32976        GenParamName: Htuple,
32977        GenParamValue: *mut Htuple,
32978    ) -> Herror;
32979}
32980unsafe extern "C" {
32981    pub fn get_dl_classifier_param(
32982        DLClassifierHandle: Hlong,
32983        GenParamName: *const ::std::os::raw::c_char,
32984        GenParamValue: *mut Hlong,
32985    ) -> Herror;
32986}
32987unsafe extern "C" {
32988    pub fn T_get_dl_classifier_result(
32989        DLClassifierResultHandle: Htuple,
32990        Index: Htuple,
32991        GenResultName: Htuple,
32992        GenResultValue: *mut Htuple,
32993    ) -> Herror;
32994}
32995unsafe extern "C" {
32996    pub fn get_dl_classifier_result(
32997        DLClassifierResultHandle: Hlong,
32998        Index: *const ::std::os::raw::c_char,
32999        GenResultName: *const ::std::os::raw::c_char,
33000        GenResultValue: *mut f64,
33001    ) -> Herror;
33002}
33003unsafe extern "C" {
33004    pub fn T_get_dl_classifier_train_result(
33005        DLClassifierTrainResultHandle: Htuple,
33006        GenParamName: Htuple,
33007        GenParamValue: *mut Htuple,
33008    ) -> Herror;
33009}
33010unsafe extern "C" {
33011    pub fn get_dl_classifier_train_result(
33012        DLClassifierTrainResultHandle: Hlong,
33013        GenParamName: *const ::std::os::raw::c_char,
33014        GenParamValue: *mut f64,
33015    ) -> Herror;
33016}
33017unsafe extern "C" {
33018    pub fn T_get_structured_light_model_param(
33019        StructuredLightModel: Htuple,
33020        GenParamName: Htuple,
33021        GenParamValue: *mut Htuple,
33022    ) -> Herror;
33023}
33024unsafe extern "C" {
33025    pub fn get_structured_light_model_param(
33026        StructuredLightModel: Hlong,
33027        GenParamName: *const ::std::os::raw::c_char,
33028        GenParamValue: *mut Hlong,
33029    ) -> Herror;
33030}
33031unsafe extern "C" {
33032    pub fn T_get_structured_light_object(
33033        Object: *mut Hobject,
33034        StructuredLightModel: Htuple,
33035        ObjectName: Htuple,
33036    ) -> Herror;
33037}
33038unsafe extern "C" {
33039    pub fn get_structured_light_object(
33040        Object: *mut Hobject,
33041        StructuredLightModel: Hlong,
33042        ObjectName: *const ::std::os::raw::c_char,
33043    ) -> Herror;
33044}
33045unsafe extern "C" {
33046    pub fn T_height_width_ratio(
33047        Regions: Hobject,
33048        Height: *mut Htuple,
33049        Width: *mut Htuple,
33050        Ratio: *mut Htuple,
33051    ) -> Herror;
33052}
33053unsafe extern "C" {
33054    pub fn height_width_ratio(
33055        Regions: Hobject,
33056        Height: *mut Hlong,
33057        Width: *mut Hlong,
33058        Ratio: *mut f64,
33059    ) -> Herror;
33060}
33061unsafe extern "C" {
33062    pub fn T_height_width_ratio_xld(
33063        XLD: Hobject,
33064        Height: *mut Htuple,
33065        Width: *mut Htuple,
33066        Ratio: *mut Htuple,
33067    ) -> Herror;
33068}
33069unsafe extern "C" {
33070    pub fn height_width_ratio_xld(
33071        XLD: Hobject,
33072        Height: *mut f64,
33073        Width: *mut f64,
33074        Ratio: *mut f64,
33075    ) -> Herror;
33076}
33077unsafe extern "C" {
33078    pub fn T_insert_obj(
33079        Objects: Hobject,
33080        ObjectsInsert: Hobject,
33081        ObjectsExtended: *mut Hobject,
33082        Index: Htuple,
33083    ) -> Herror;
33084}
33085unsafe extern "C" {
33086    pub fn insert_obj(
33087        Objects: Hobject,
33088        ObjectsInsert: Hobject,
33089        ObjectsExtended: *mut Hobject,
33090        Index: Hlong,
33091    ) -> Herror;
33092}
33093unsafe extern "C" {
33094    pub fn T_read_dl_classifier(FileName: Htuple, DLClassifierHandle: *mut Htuple) -> Herror;
33095}
33096unsafe extern "C" {
33097    pub fn read_dl_classifier(
33098        FileName: *const ::std::os::raw::c_char,
33099        DLClassifierHandle: *mut Hlong,
33100    ) -> Herror;
33101}
33102unsafe extern "C" {
33103    pub fn T_read_structured_light_model(
33104        FileName: Htuple,
33105        StructuredLightModel: *mut Htuple,
33106    ) -> Herror;
33107}
33108unsafe extern "C" {
33109    pub fn read_structured_light_model(
33110        FileName: *const ::std::os::raw::c_char,
33111        StructuredLightModel: *mut Hlong,
33112    ) -> Herror;
33113}
33114unsafe extern "C" {
33115    pub fn T_remove_obj(Objects: Hobject, ObjectsReduced: *mut Hobject, Index: Htuple) -> Herror;
33116}
33117unsafe extern "C" {
33118    pub fn remove_obj(Objects: Hobject, ObjectsReduced: *mut Hobject, Index: Hlong) -> Herror;
33119}
33120unsafe extern "C" {
33121    pub fn T_replace_obj(
33122        Objects: Hobject,
33123        ObjectsReplace: Hobject,
33124        Replaced: *mut Hobject,
33125        Index: Htuple,
33126    ) -> Herror;
33127}
33128unsafe extern "C" {
33129    pub fn replace_obj(
33130        Objects: Hobject,
33131        ObjectsReplace: Hobject,
33132        Replaced: *mut Hobject,
33133        Index: Hlong,
33134    ) -> Herror;
33135}
33136unsafe extern "C" {
33137    pub fn T_serialize_dl_classifier(
33138        DLClassifierHandle: Htuple,
33139        SerializedItemHandle: *mut Htuple,
33140    ) -> Herror;
33141}
33142unsafe extern "C" {
33143    pub fn serialize_dl_classifier(
33144        DLClassifierHandle: Hlong,
33145        SerializedItemHandle: *mut Hlong,
33146    ) -> Herror;
33147}
33148unsafe extern "C" {
33149    pub fn T_serialize_structured_light_model(
33150        StructuredLightModel: Htuple,
33151        SerializedItemHandle: *mut Htuple,
33152    ) -> Herror;
33153}
33154unsafe extern "C" {
33155    pub fn serialize_structured_light_model(
33156        StructuredLightModel: Hlong,
33157        SerializedItemHandle: *mut Hlong,
33158    ) -> Herror;
33159}
33160unsafe extern "C" {
33161    pub fn T_set_dl_classifier_param(
33162        DLClassifierHandle: Htuple,
33163        GenParamName: Htuple,
33164        GenParamValue: Htuple,
33165    ) -> Herror;
33166}
33167unsafe extern "C" {
33168    pub fn set_dl_classifier_param(
33169        DLClassifierHandle: Hlong,
33170        GenParamName: *const ::std::os::raw::c_char,
33171        GenParamValue: *const ::std::os::raw::c_char,
33172    ) -> Herror;
33173}
33174unsafe extern "C" {
33175    pub fn T_set_operator_timeout(OperatorName: Htuple, Timeout: Htuple, Mode: Htuple) -> Herror;
33176}
33177unsafe extern "C" {
33178    pub fn set_operator_timeout(
33179        OperatorName: *const ::std::os::raw::c_char,
33180        Timeout: f64,
33181        Mode: *const ::std::os::raw::c_char,
33182    ) -> Herror;
33183}
33184unsafe extern "C" {
33185    pub fn T_set_structured_light_model_param(
33186        StructuredLightModel: Htuple,
33187        GenParamName: Htuple,
33188        GenParamValue: Htuple,
33189    ) -> Herror;
33190}
33191unsafe extern "C" {
33192    pub fn set_structured_light_model_param(
33193        StructuredLightModel: Hlong,
33194        GenParamName: *const ::std::os::raw::c_char,
33195        GenParamValue: Hlong,
33196    ) -> Herror;
33197}
33198unsafe extern "C" {
33199    pub fn T_train_dl_classifier_batch(
33200        BatchImages: Hobject,
33201        DLClassifierHandle: Htuple,
33202        BatchLabels: Htuple,
33203        DLClassifierTrainResultHandle: *mut Htuple,
33204    ) -> Herror;
33205}
33206unsafe extern "C" {
33207    pub fn T_write_dl_classifier(DLClassifierHandle: Htuple, FileName: Htuple) -> Herror;
33208}
33209unsafe extern "C" {
33210    pub fn write_dl_classifier(
33211        DLClassifierHandle: Hlong,
33212        FileName: *const ::std::os::raw::c_char,
33213    ) -> Herror;
33214}
33215unsafe extern "C" {
33216    pub fn T_write_structured_light_model(StructuredLightModel: Htuple, FileName: Htuple)
33217    -> Herror;
33218}
33219unsafe extern "C" {
33220    pub fn write_structured_light_model(
33221        StructuredLightModel: Hlong,
33222        FileName: *const ::std::os::raw::c_char,
33223    ) -> Herror;
33224}
33225unsafe extern "C" {
33226    pub fn T_clear_handle(Handle: Htuple) -> Herror;
33227}
33228unsafe extern "C" {
33229    pub fn clear_handle(Handle: Hlong) -> Herror;
33230}
33231unsafe extern "C" {
33232    pub fn T_deserialize_handle(SerializedItem: Htuple, Handle: *mut Htuple) -> Herror;
33233}
33234unsafe extern "C" {
33235    pub fn deserialize_handle(SerializedItem: Hlong, Handle: *mut Hlong) -> Herror;
33236}
33237unsafe extern "C" {
33238    pub fn T_handle_to_integer(Handle: Htuple, CastedHandle: *mut Htuple) -> Herror;
33239}
33240unsafe extern "C" {
33241    pub fn handle_to_integer(Handle: Hlong, CastedHandle: *mut Hlong) -> Herror;
33242}
33243unsafe extern "C" {
33244    pub fn T_integer_to_handle(IntegerHandle: Htuple, Handle: *mut Htuple) -> Herror;
33245}
33246unsafe extern "C" {
33247    pub fn integer_to_handle(IntegerHandle: Hlong, Handle: *mut Hlong) -> Herror;
33248}
33249unsafe extern "C" {
33250    pub fn T_serialize_handle(Handle: Htuple, SerializedItem: *mut Htuple) -> Herror;
33251}
33252unsafe extern "C" {
33253    pub fn serialize_handle(Handle: Hlong, SerializedItem: *mut Hlong) -> Herror;
33254}
33255unsafe extern "C" {
33256    pub fn T_tuple_is_handle(T: Htuple, IsHandle: *mut Htuple) -> Herror;
33257}
33258unsafe extern "C" {
33259    pub fn tuple_is_handle(T: Hlong, IsHandle: *mut Hlong) -> Herror;
33260}
33261unsafe extern "C" {
33262    pub fn T_tuple_is_handle_elem(T: Htuple, IsHandle: *mut Htuple) -> Herror;
33263}
33264unsafe extern "C" {
33265    pub fn tuple_is_handle_elem(T: Hlong, IsHandle: *mut Hlong) -> Herror;
33266}
33267unsafe extern "C" {
33268    pub fn T_tuple_is_serializable(Tuple: Htuple, IsSerializable: *mut Htuple) -> Herror;
33269}
33270unsafe extern "C" {
33271    pub fn tuple_is_serializable(Tuple: Hlong, IsSerializable: *mut Hlong) -> Herror;
33272}
33273unsafe extern "C" {
33274    pub fn T_tuple_is_serializable_elem(Tuple: Htuple, IsSerializableElem: *mut Htuple) -> Herror;
33275}
33276unsafe extern "C" {
33277    pub fn tuple_is_serializable_elem(Tuple: Hlong, IsSerializableElem: *mut Hlong) -> Herror;
33278}
33279unsafe extern "C" {
33280    pub fn T_tuple_is_valid_handle(Handle: Htuple, IsValid: *mut Htuple) -> Herror;
33281}
33282unsafe extern "C" {
33283    pub fn tuple_is_valid_handle(Handle: Hlong, IsValid: *mut Hlong) -> Herror;
33284}
33285unsafe extern "C" {
33286    pub fn T_tuple_sem_type(T: Htuple, SemType: *mut Htuple) -> Herror;
33287}
33288unsafe extern "C" {
33289    pub fn tuple_sem_type(T: Hlong, SemType: *mut ::std::os::raw::c_char) -> Herror;
33290}
33291unsafe extern "C" {
33292    pub fn T_tuple_sem_type_elem(T: Htuple, SemTypes: *mut Htuple) -> Herror;
33293}
33294unsafe extern "C" {
33295    pub fn tuple_sem_type_elem(T: Hlong, SemTypes: *mut ::std::os::raw::c_char) -> Herror;
33296}
33297unsafe extern "C" {
33298    pub fn T_apply_dl_model(
33299        DLModelHandle: Htuple,
33300        DLSampleBatch: Htuple,
33301        Outputs: Htuple,
33302        DLResultBatch: *mut Htuple,
33303    ) -> Herror;
33304}
33305unsafe extern "C" {
33306    pub fn T_clear_dl_model(DLModelHandle: Htuple) -> Herror;
33307}
33308unsafe extern "C" {
33309    pub fn T_copy_dict(
33310        DictHandle: Htuple,
33311        GenParamName: Htuple,
33312        GenParamValue: Htuple,
33313        CopiedDictHandle: *mut Htuple,
33314    ) -> Herror;
33315}
33316unsafe extern "C" {
33317    pub fn T_create_dict(DictHandle: *mut Htuple) -> Herror;
33318}
33319unsafe extern "C" {
33320    pub fn T_create_dl_model_detection(
33321        Backbone: Htuple,
33322        NumClasses: Htuple,
33323        DLModelDetectionParam: Htuple,
33324        DLModelHandle: *mut Htuple,
33325    ) -> Herror;
33326}
33327unsafe extern "C" {
33328    pub fn T_deserialize_dl_model(
33329        SerializedItemHandle: Htuple,
33330        DLModelHandle: *mut Htuple,
33331    ) -> Herror;
33332}
33333unsafe extern "C" {
33334    pub fn T_get_current_hthread_id(HThreadID: *mut Htuple) -> Herror;
33335}
33336unsafe extern "C" {
33337    pub fn get_current_hthread_id(HThreadID: *mut Hlong) -> Herror;
33338}
33339unsafe extern "C" {
33340    pub fn T_get_dict_object(Object: *mut Hobject, DictHandle: Htuple, Key: Htuple) -> Herror;
33341}
33342unsafe extern "C" {
33343    pub fn T_get_dict_param(
33344        DictHandle: Htuple,
33345        GenParamName: Htuple,
33346        Key: Htuple,
33347        GenParamValue: *mut Htuple,
33348    ) -> Herror;
33349}
33350unsafe extern "C" {
33351    pub fn T_get_dict_tuple(DictHandle: Htuple, Key: Htuple, Tuple: *mut Htuple) -> Herror;
33352}
33353unsafe extern "C" {
33354    pub fn T_get_dl_model_param(
33355        DLModelHandle: Htuple,
33356        GenParamName: Htuple,
33357        GenParamValue: *mut Htuple,
33358    ) -> Herror;
33359}
33360unsafe extern "C" {
33361    pub fn T_get_handle_object(Object: *mut Hobject, Handle: Htuple, Key: Htuple) -> Herror;
33362}
33363unsafe extern "C" {
33364    pub fn T_get_handle_param(
33365        Handle: Htuple,
33366        GenParamName: Htuple,
33367        Key: Htuple,
33368        GenParamValue: *mut Htuple,
33369    ) -> Herror;
33370}
33371unsafe extern "C" {
33372    pub fn T_get_handle_tuple(Handle: Htuple, Key: Htuple, Tuple: *mut Htuple) -> Herror;
33373}
33374unsafe extern "C" {
33375    pub fn T_get_system_info(Query: Htuple, Information: *mut Htuple) -> Herror;
33376}
33377unsafe extern "C" {
33378    pub fn get_system_info(Query: *const ::std::os::raw::c_char, Information: *mut Hlong)
33379    -> Herror;
33380}
33381unsafe extern "C" {
33382    pub fn T_interrupt_operator(HThreadID: Htuple, Mode: Htuple) -> Herror;
33383}
33384unsafe extern "C" {
33385    pub fn interrupt_operator(HThreadID: Hlong, Mode: *const ::std::os::raw::c_char) -> Herror;
33386}
33387unsafe extern "C" {
33388    pub fn T_read_dict(
33389        FileName: Htuple,
33390        GenParamName: Htuple,
33391        GenParamValue: Htuple,
33392        DictHandle: *mut Htuple,
33393    ) -> Herror;
33394}
33395unsafe extern "C" {
33396    pub fn T_read_dl_model(FileName: Htuple, DLModelHandle: *mut Htuple) -> Herror;
33397}
33398unsafe extern "C" {
33399    pub fn T_read_message(
33400        FileName: Htuple,
33401        GenParamName: Htuple,
33402        GenParamValue: Htuple,
33403        MessageHandle: *mut Htuple,
33404    ) -> Herror;
33405}
33406unsafe extern "C" {
33407    pub fn T_remove_dict_key(DictHandle: Htuple, Key: Htuple) -> Herror;
33408}
33409unsafe extern "C" {
33410    pub fn T_send_key_press_event(WindowHandle: Htuple, Char: Htuple, Code: Htuple) -> Herror;
33411}
33412unsafe extern "C" {
33413    pub fn send_key_press_event(
33414        WindowHandle: Hlong,
33415        Char: *const ::std::os::raw::c_char,
33416        Code: Hlong,
33417    ) -> Herror;
33418}
33419unsafe extern "C" {
33420    pub fn T_send_key_release_event(WindowHandle: Htuple, Char: Htuple, Code: Htuple) -> Herror;
33421}
33422unsafe extern "C" {
33423    pub fn send_key_release_event(
33424        WindowHandle: Hlong,
33425        Char: *const ::std::os::raw::c_char,
33426        Code: Hlong,
33427    ) -> Herror;
33428}
33429unsafe extern "C" {
33430    pub fn T_serialize_dl_model(DLModelHandle: Htuple, SerializedItemHandle: *mut Htuple)
33431    -> Herror;
33432}
33433unsafe extern "C" {
33434    pub fn T_set_dict_object(Object: Hobject, DictHandle: Htuple, Key: Htuple) -> Herror;
33435}
33436unsafe extern "C" {
33437    pub fn T_set_dict_tuple(DictHandle: Htuple, Key: Htuple, Tuple: Htuple) -> Herror;
33438}
33439unsafe extern "C" {
33440    pub fn T_set_dl_model_param(
33441        DLModelHandle: Htuple,
33442        GenParamName: Htuple,
33443        GenParamValue: Htuple,
33444    ) -> Herror;
33445}
33446unsafe extern "C" {
33447    pub fn T_train_dl_model_batch(
33448        DLModelHandle: Htuple,
33449        DLSampleBatch: Htuple,
33450        DLTrainResult: *mut Htuple,
33451    ) -> Herror;
33452}
33453unsafe extern "C" {
33454    pub fn T_write_dict(
33455        DictHandle: Htuple,
33456        FileName: Htuple,
33457        GenParamName: Htuple,
33458        GenParamValue: Htuple,
33459    ) -> Herror;
33460}
33461unsafe extern "C" {
33462    pub fn T_write_dl_model(DLModelHandle: Htuple, FileName: Htuple) -> Herror;
33463}
33464unsafe extern "C" {
33465    pub fn T_write_message(
33466        MessageHandle: Htuple,
33467        FileName: Htuple,
33468        GenParamName: Htuple,
33469        GenParamValue: Htuple,
33470    ) -> Herror;
33471}
33472unsafe extern "C" {
33473    pub fn T_area_intersection_rectangle2(
33474        Rect1Row: Htuple,
33475        Rect1Column: Htuple,
33476        Rect1Phi: Htuple,
33477        Rect1Length1: Htuple,
33478        Rect1Length2: Htuple,
33479        Rect2Row: Htuple,
33480        Rect2Column: Htuple,
33481        Rect2Phi: Htuple,
33482        Rect2Length1: Htuple,
33483        Rect2Length2: Htuple,
33484        AreaIntersection: *mut Htuple,
33485    ) -> Herror;
33486}
33487unsafe extern "C" {
33488    pub fn area_intersection_rectangle2(
33489        Rect1Row: f64,
33490        Rect1Column: f64,
33491        Rect1Phi: f64,
33492        Rect1Length1: f64,
33493        Rect1Length2: f64,
33494        Rect2Row: f64,
33495        Rect2Column: f64,
33496        Rect2Phi: f64,
33497        Rect2Length1: f64,
33498        Rect2Length2: f64,
33499        AreaIntersection: *mut f64,
33500    ) -> Herror;
33501}
33502unsafe extern "C" {
33503    pub fn T_get_contour_style(WindowHandle: Htuple, Style: *mut Htuple) -> Herror;
33504}
33505unsafe extern "C" {
33506    pub fn T_get_shape_model_clutter(
33507        ClutterRegion: *mut Hobject,
33508        ModelID: Htuple,
33509        GenParamName: Htuple,
33510        GenParamValue: *mut Htuple,
33511        HomMat2D: *mut Htuple,
33512        ClutterContrast: *mut Htuple,
33513    ) -> Herror;
33514}
33515unsafe extern "C" {
33516    pub fn T_set_contour_style(WindowHandle: Htuple, Style: Htuple) -> Herror;
33517}
33518unsafe extern "C" {
33519    pub fn T_set_shape_model_clutter(
33520        ClutterRegion: Hobject,
33521        ModelID: Htuple,
33522        HomMat2D: Htuple,
33523        ClutterContrast: Htuple,
33524        GenParamName: Htuple,
33525        GenParamValue: Htuple,
33526    ) -> Herror;
33527}
33528unsafe extern "C" {
33529    pub fn T_find_box_3d(
33530        ObjectModel3DScene: Htuple,
33531        SideLen1: Htuple,
33532        SideLen2: Htuple,
33533        SideLen3: Htuple,
33534        MinScore: Htuple,
33535        GenParam: Htuple,
33536        GrippingPose: *mut Htuple,
33537        Score: *mut Htuple,
33538        ObjectModel3DBox: *mut Htuple,
33539        BoxInformation: *mut Htuple,
33540    ) -> Herror;
33541}
33542unsafe extern "C" {
33543    pub fn T_fread_bytes(
33544        FileHandle: Htuple,
33545        NumberOfBytes: Htuple,
33546        ReadData: *mut Htuple,
33547        IsEOF: *mut Htuple,
33548    ) -> Herror;
33549}
33550unsafe extern "C" {
33551    pub fn T_fwrite_bytes(
33552        FileHandle: Htuple,
33553        DataToWrite: Htuple,
33554        NumberOfBytesWritten: *mut Htuple,
33555    ) -> Herror;
33556}
33557unsafe extern "C" {
33558    pub fn T_gen_dl_model_heatmap(
33559        DLModelHandle: Htuple,
33560        DLSample: Htuple,
33561        HeatmapMethod: Htuple,
33562        TargetClasses: Htuple,
33563        GenParam: Htuple,
33564        DLResult: *mut Htuple,
33565    ) -> Herror;
33566}
33567unsafe extern "C" {
33568    pub fn T_read_image_metadata(
33569        Format: Htuple,
33570        TagName: Htuple,
33571        FileName: Htuple,
33572        TagValue: *mut Htuple,
33573    ) -> Herror;
33574}
33575unsafe extern "C" {
33576    pub fn read_image_metadata(
33577        Format: *const ::std::os::raw::c_char,
33578        TagName: *const ::std::os::raw::c_char,
33579        FileName: *const ::std::os::raw::c_char,
33580        TagValue: *mut ::std::os::raw::c_char,
33581    ) -> Herror;
33582}
33583unsafe extern "C" {
33584    pub fn T_rectangularity_xld(XLD: Hobject, Rectangularity: *mut Htuple) -> Herror;
33585}
33586unsafe extern "C" {
33587    pub fn rectangularity_xld(XLD: Hobject, Rectangularity: *mut f64) -> Herror;
33588}
33589unsafe extern "C" {
33590    pub fn T_remove_object_model_3d_attrib(
33591        ObjectModel3D: Htuple,
33592        Attributes: Htuple,
33593        ObjectModel3DOut: *mut Htuple,
33594    ) -> Herror;
33595}
33596unsafe extern "C" {
33597    pub fn T_remove_object_model_3d_attrib_mod(ObjectModel3D: Htuple, Attributes: Htuple)
33598    -> Herror;
33599}
33600unsafe extern "C" {
33601    pub fn T_train_dl_model_anomaly_dataset(
33602        DLModelHandle: Htuple,
33603        DLSamples: Htuple,
33604        DLTrainParam: Htuple,
33605        DLTrainResult: *mut Htuple,
33606    ) -> Herror;
33607}
33608unsafe extern "C" {
33609    pub fn T_watersheds_marker(Image: Hobject, Markers: Hobject, Basins: *mut Hobject) -> Herror;
33610}
33611unsafe extern "C" {
33612    pub fn watersheds_marker(Image: Hobject, Markers: Hobject, Basins: *mut Hobject) -> Herror;
33613}
33614unsafe extern "C" {
33615    pub fn T_write_image_metadata(
33616        Format: Htuple,
33617        TagName: Htuple,
33618        TagValue: Htuple,
33619        FileName: Htuple,
33620    ) -> Herror;
33621}
33622unsafe extern "C" {
33623    pub fn write_image_metadata(
33624        Format: *const ::std::os::raw::c_char,
33625        TagName: *const ::std::os::raw::c_char,
33626        TagValue: *const ::std::os::raw::c_char,
33627        FileName: *const ::std::os::raw::c_char,
33628    ) -> Herror;
33629}
33630unsafe extern "C" {
33631    pub fn T_tuple_acosh(T: Htuple, Acosh: *mut Htuple) -> Herror;
33632}
33633unsafe extern "C" {
33634    pub fn tuple_acosh(T: f64, Acosh: *mut f64) -> Herror;
33635}
33636unsafe extern "C" {
33637    pub fn T_tuple_asinh(T: Htuple, Asinh: *mut Htuple) -> Herror;
33638}
33639unsafe extern "C" {
33640    pub fn tuple_asinh(T: f64, Asinh: *mut f64) -> Herror;
33641}
33642unsafe extern "C" {
33643    pub fn T_tuple_atanh(T: Htuple, Atanh: *mut Htuple) -> Herror;
33644}
33645unsafe extern "C" {
33646    pub fn tuple_atanh(T: f64, Atanh: *mut f64) -> Herror;
33647}
33648unsafe extern "C" {
33649    pub fn T_tuple_cbrt(T: Htuple, Cbrt: *mut Htuple) -> Herror;
33650}
33651unsafe extern "C" {
33652    pub fn tuple_cbrt(T: f64, Cbrt: *mut f64) -> Herror;
33653}
33654unsafe extern "C" {
33655    pub fn T_tuple_erf(T: Htuple, Erf: *mut Htuple) -> Herror;
33656}
33657unsafe extern "C" {
33658    pub fn tuple_erf(T: f64, Erf: *mut f64) -> Herror;
33659}
33660unsafe extern "C" {
33661    pub fn T_tuple_erfc(T: Htuple, Erfc: *mut Htuple) -> Herror;
33662}
33663unsafe extern "C" {
33664    pub fn tuple_erfc(T: f64, Erfc: *mut f64) -> Herror;
33665}
33666unsafe extern "C" {
33667    pub fn T_tuple_exp10(T: Htuple, Exp: *mut Htuple) -> Herror;
33668}
33669unsafe extern "C" {
33670    pub fn tuple_exp10(T: f64, Exp: *mut f64) -> Herror;
33671}
33672unsafe extern "C" {
33673    pub fn T_tuple_exp2(T: Htuple, Exp: *mut Htuple) -> Herror;
33674}
33675unsafe extern "C" {
33676    pub fn tuple_exp2(T: f64, Exp: *mut f64) -> Herror;
33677}
33678unsafe extern "C" {
33679    pub fn T_tuple_hypot(T1: Htuple, T2: Htuple, Hypot: *mut Htuple) -> Herror;
33680}
33681unsafe extern "C" {
33682    pub fn tuple_hypot(T1: f64, T2: f64, Hypot: *mut f64) -> Herror;
33683}
33684unsafe extern "C" {
33685    pub fn T_tuple_lgamma(T: Htuple, LogGamma: *mut Htuple) -> Herror;
33686}
33687unsafe extern "C" {
33688    pub fn tuple_lgamma(T: f64, LogGamma: *mut f64) -> Herror;
33689}
33690unsafe extern "C" {
33691    pub fn T_tuple_log2(T: Htuple, Log: *mut Htuple) -> Herror;
33692}
33693unsafe extern "C" {
33694    pub fn tuple_log2(T: f64, Log: *mut f64) -> Herror;
33695}
33696unsafe extern "C" {
33697    pub fn T_tuple_tgamma(T: Htuple, Gamma: *mut Htuple) -> Herror;
33698}
33699unsafe extern "C" {
33700    pub fn tuple_tgamma(T: f64, Gamma: *mut f64) -> Herror;
33701}
33702unsafe extern "C" {
33703    pub fn T_adapt_shape_model_high_noise(
33704        ImageReduced: Hobject,
33705        ModelID: Htuple,
33706        GenParam: Htuple,
33707        ResultDict: *mut Htuple,
33708    ) -> Herror;
33709}
33710unsafe extern "C" {
33711    pub fn T_add_dl_pruning_batch(
33712        DLModelHandleToPrune: Htuple,
33713        DLPruningHandle: Htuple,
33714        DLSampleBatch: Htuple,
33715    ) -> Herror;
33716}
33717unsafe extern "C" {
33718    pub fn T_apply_deep_ocr(
33719        Image: Hobject,
33720        DeepOcrHandle: Htuple,
33721        Mode: Htuple,
33722        DeepOcrResult: *mut Htuple,
33723    ) -> Herror;
33724}
33725unsafe extern "C" {
33726    pub fn T_create_deep_ocr(
33727        GenParamName: Htuple,
33728        GenParamValue: Htuple,
33729        DeepOcrHandle: *mut Htuple,
33730    ) -> Herror;
33731}
33732unsafe extern "C" {
33733    pub fn T_create_dl_pruning(
33734        DLModelHandle: Htuple,
33735        Mode: Htuple,
33736        GenParam: Htuple,
33737        DLPruningHandle: *mut Htuple,
33738    ) -> Herror;
33739}
33740unsafe extern "C" {
33741    pub fn T_crop_rectangle2(
33742        Image: Hobject,
33743        ImagePart: *mut Hobject,
33744        Row: Htuple,
33745        Column: Htuple,
33746        Phi: Htuple,
33747        Length1: Htuple,
33748        Length2: Htuple,
33749        AlignToAxis: Htuple,
33750        Interpolation: Htuple,
33751    ) -> Herror;
33752}
33753unsafe extern "C" {
33754    pub fn crop_rectangle2(
33755        Image: Hobject,
33756        ImagePart: *mut Hobject,
33757        Row: f64,
33758        Column: f64,
33759        Phi: f64,
33760        Length1: f64,
33761        Length2: f64,
33762        AlignToAxis: *const ::std::os::raw::c_char,
33763        Interpolation: *const ::std::os::raw::c_char,
33764    ) -> Herror;
33765}
33766unsafe extern "C" {
33767    pub fn T_gen_dl_pruned_model(
33768        DLModelHandleToPrune: Htuple,
33769        DLPruningHandle: Htuple,
33770        DLModelHandlePruned: *mut Htuple,
33771    ) -> Herror;
33772}
33773unsafe extern "C" {
33774    pub fn T_get_deep_ocr_param(
33775        DeepOcrHandle: Htuple,
33776        GenParamName: Htuple,
33777        GenParamValue: *mut Htuple,
33778    ) -> Herror;
33779}
33780unsafe extern "C" {
33781    pub fn T_get_dl_device_param(
33782        DLDeviceHandle: Htuple,
33783        GenParamName: Htuple,
33784        GenParamValue: *mut Htuple,
33785    ) -> Herror;
33786}
33787unsafe extern "C" {
33788    pub fn T_get_dl_pruning_param(
33789        DLPruningHandle: Htuple,
33790        GenParamName: Htuple,
33791        GenParamValue: *mut Htuple,
33792    ) -> Herror;
33793}
33794unsafe extern "C" {
33795    pub fn T_query_available_dl_devices(
33796        GenParamName: Htuple,
33797        GenParamValue: Htuple,
33798        DLDeviceHandles: *mut Htuple,
33799    ) -> Herror;
33800}
33801unsafe extern "C" {
33802    pub fn T_read_deep_ocr(FileName: Htuple, DeepOcrHandle: *mut Htuple) -> Herror;
33803}
33804unsafe extern "C" {
33805    pub fn T_set_deep_ocr_param(
33806        DeepOcrHandle: Htuple,
33807        GenParamName: Htuple,
33808        GenParamValue: Htuple,
33809    ) -> Herror;
33810}
33811unsafe extern "C" {
33812    pub fn T_set_dl_pruning_param(
33813        DLPruningHandle: Htuple,
33814        GenParamName: Htuple,
33815        GenParamValue: Htuple,
33816    ) -> Herror;
33817}
33818unsafe extern "C" {
33819    pub fn T_write_deep_ocr(DeepOcrHandle: Htuple, FileName: Htuple) -> Herror;
33820}
33821unsafe extern "C" {
33822    pub fn T_optimize_dl_model_for_inference(
33823        DLModelHandle: Htuple,
33824        DLDeviceHandle: Htuple,
33825        Precision: Htuple,
33826        DLSamples: Htuple,
33827        GenParam: Htuple,
33828        DLModelHandleConverted: *mut Htuple,
33829        ConversionReport: *mut Htuple,
33830    ) -> Herror;
33831}
33832unsafe extern "C" {
33833    pub fn T_set_dl_device_param(
33834        DLDeviceHandle: Htuple,
33835        GenParamName: Htuple,
33836        GenParamValue: Htuple,
33837    ) -> Herror;
33838}
33839unsafe extern "C" {
33840    pub fn T_create_dl_layer_activation(
33841        DLLayerInput: Htuple,
33842        LayerName: Htuple,
33843        ActivationType: Htuple,
33844        GenParamName: Htuple,
33845        GenParamValue: Htuple,
33846        DLLayerActivation: *mut Htuple,
33847    ) -> Herror;
33848}
33849unsafe extern "C" {
33850    pub fn T_create_dl_layer_batch_normalization(
33851        DLLayerInput: Htuple,
33852        LayerName: Htuple,
33853        Momentum: Htuple,
33854        Epsilon: Htuple,
33855        Activation: Htuple,
33856        GenParamName: Htuple,
33857        GenParamValue: Htuple,
33858        DLLayerBatchNorm: *mut Htuple,
33859    ) -> Herror;
33860}
33861unsafe extern "C" {
33862    pub fn T_create_dl_layer_class_id_conversion(
33863        DLLayerInput: Htuple,
33864        LayerName: Htuple,
33865        ConversionMode: Htuple,
33866        GenParamName: Htuple,
33867        GenParamValue: Htuple,
33868        DLLayerClassIdConversion: *mut Htuple,
33869    ) -> Herror;
33870}
33871unsafe extern "C" {
33872    pub fn T_create_dl_layer_concat(
33873        DLLayerInputs: Htuple,
33874        LayerName: Htuple,
33875        Axis: Htuple,
33876        GenParamName: Htuple,
33877        GenParamValue: Htuple,
33878        DLLayerConcat: *mut Htuple,
33879    ) -> Herror;
33880}
33881unsafe extern "C" {
33882    pub fn T_create_dl_layer_convolution(
33883        DLLayerInput: Htuple,
33884        LayerName: Htuple,
33885        KernelSize: Htuple,
33886        Dilation: Htuple,
33887        Stride: Htuple,
33888        NumKernel: Htuple,
33889        Groups: Htuple,
33890        Padding: Htuple,
33891        Activation: Htuple,
33892        GenParamName: Htuple,
33893        GenParamValue: Htuple,
33894        DLLayerConvolution: *mut Htuple,
33895    ) -> Herror;
33896}
33897unsafe extern "C" {
33898    pub fn T_create_dl_layer_dense(
33899        DLLayerInput: Htuple,
33900        LayerName: Htuple,
33901        NumOut: Htuple,
33902        GenParamName: Htuple,
33903        GenParamValue: Htuple,
33904        DLLayerDense: *mut Htuple,
33905    ) -> Herror;
33906}
33907unsafe extern "C" {
33908    pub fn T_create_dl_layer_depth_max(
33909        DLLayerInput: Htuple,
33910        LayerName: Htuple,
33911        DepthMaxMode: Htuple,
33912        GenParamName: Htuple,
33913        GenParamValue: Htuple,
33914        DLLayerDepthMaxArg: *mut Htuple,
33915        DLLayerDepthMaxValue: *mut Htuple,
33916    ) -> Herror;
33917}
33918unsafe extern "C" {
33919    pub fn T_create_dl_layer_dropout(
33920        DLLayerInput: Htuple,
33921        LayerName: Htuple,
33922        Probability: Htuple,
33923        GenParamName: Htuple,
33924        GenParamValue: Htuple,
33925        DLLayerDropOut: *mut Htuple,
33926    ) -> Herror;
33927}
33928unsafe extern "C" {
33929    pub fn T_create_dl_layer_elementwise(
33930        DLLayerInputs: Htuple,
33931        LayerName: Htuple,
33932        Operation: Htuple,
33933        Coefficients: Htuple,
33934        GenParamName: Htuple,
33935        GenParamValue: Htuple,
33936        DLLayerElementWise: *mut Htuple,
33937    ) -> Herror;
33938}
33939unsafe extern "C" {
33940    pub fn T_create_dl_layer_input(
33941        LayerName: Htuple,
33942        Shape: Htuple,
33943        GenParamName: Htuple,
33944        GenParamValue: Htuple,
33945        DLLayerInput: *mut Htuple,
33946    ) -> Herror;
33947}
33948unsafe extern "C" {
33949    pub fn T_create_dl_layer_loss_cross_entropy(
33950        DLLayerInput: Htuple,
33951        DLLayerTarget: Htuple,
33952        DLLayerWeights: Htuple,
33953        LayerName: Htuple,
33954        LossWeight: Htuple,
33955        GenParamName: Htuple,
33956        GenParamValue: Htuple,
33957        DLLayerLossCrossEntropy: *mut Htuple,
33958    ) -> Herror;
33959}
33960unsafe extern "C" {
33961    pub fn T_create_dl_layer_loss_ctc(
33962        DLLayerInput: Htuple,
33963        DLLayerInputLengths: Htuple,
33964        DLLayerTarget: Htuple,
33965        DLLayerTargetLengths: Htuple,
33966        LayerName: Htuple,
33967        GenParamName: Htuple,
33968        GenParamValue: Htuple,
33969        DLLayerLossCTC: *mut Htuple,
33970    ) -> Herror;
33971}
33972unsafe extern "C" {
33973    pub fn T_create_dl_layer_loss_distance(
33974        DLLayerInput: Htuple,
33975        DLLayerTarget: Htuple,
33976        DLLayerWeights: Htuple,
33977        LayerName: Htuple,
33978        DistanceType: Htuple,
33979        LossWeight: Htuple,
33980        GenParamName: Htuple,
33981        GenParamValue: Htuple,
33982        DLLayerLossDistance: *mut Htuple,
33983    ) -> Herror;
33984}
33985unsafe extern "C" {
33986    pub fn T_create_dl_layer_loss_focal(
33987        DLLayerInput: Htuple,
33988        DLLayerTarget: Htuple,
33989        DLLayerWeights: Htuple,
33990        DLLayerNormalization: Htuple,
33991        LayerName: Htuple,
33992        LossWeight: Htuple,
33993        Gamma: Htuple,
33994        ClassWeights: Htuple,
33995        Type: Htuple,
33996        GenParamName: Htuple,
33997        GenParamValue: Htuple,
33998        DLLayerLossFocal: *mut Htuple,
33999    ) -> Herror;
34000}
34001unsafe extern "C" {
34002    pub fn T_create_dl_layer_loss_huber(
34003        DLLayerInput: Htuple,
34004        DLLayerTarget: Htuple,
34005        DLLayerWeights: Htuple,
34006        DLLayerNormalization: Htuple,
34007        LayerName: Htuple,
34008        LossWeight: Htuple,
34009        Beta: Htuple,
34010        GenParamName: Htuple,
34011        GenParamValue: Htuple,
34012        DLLayerLossHuber: *mut Htuple,
34013    ) -> Herror;
34014}
34015unsafe extern "C" {
34016    pub fn T_create_dl_layer_lrn(
34017        DLLayerInput: Htuple,
34018        LayerName: Htuple,
34019        LocalSize: Htuple,
34020        Alpha: Htuple,
34021        Beta: Htuple,
34022        K: Htuple,
34023        NormRegion: Htuple,
34024        GenParamName: Htuple,
34025        GenParamValue: Htuple,
34026        DLLayerLRN: *mut Htuple,
34027    ) -> Herror;
34028}
34029unsafe extern "C" {
34030    pub fn T_create_dl_layer_pooling(
34031        DLLayerInput: Htuple,
34032        LayerName: Htuple,
34033        KernelSize: Htuple,
34034        Stride: Htuple,
34035        Padding: Htuple,
34036        Mode: Htuple,
34037        GenParamName: Htuple,
34038        GenParamValue: Htuple,
34039        DLLayerPooling: *mut Htuple,
34040    ) -> Herror;
34041}
34042unsafe extern "C" {
34043    pub fn T_create_dl_layer_reshape(
34044        DLLayerInput: Htuple,
34045        LayerName: Htuple,
34046        Shape: Htuple,
34047        GenParamName: Htuple,
34048        GenParamValue: Htuple,
34049        DLLayerReshape: *mut Htuple,
34050    ) -> Herror;
34051}
34052unsafe extern "C" {
34053    pub fn T_create_dl_layer_softmax(
34054        DLLayerInput: Htuple,
34055        LayerName: Htuple,
34056        GenParamName: Htuple,
34057        GenParamValue: Htuple,
34058        DLLayerSoftMax: *mut Htuple,
34059    ) -> Herror;
34060}
34061unsafe extern "C" {
34062    pub fn T_create_dl_layer_transposed_convolution(
34063        DLLayerInput: Htuple,
34064        LayerName: Htuple,
34065        KernelSize: Htuple,
34066        Stride: Htuple,
34067        KernelDepth: Htuple,
34068        Groups: Htuple,
34069        Padding: Htuple,
34070        GenParamName: Htuple,
34071        GenParamValue: Htuple,
34072        DLLayerTransposedConvolution: *mut Htuple,
34073    ) -> Herror;
34074}
34075unsafe extern "C" {
34076    pub fn T_create_dl_layer_zoom_factor(
34077        DLLayerInput: Htuple,
34078        LayerName: Htuple,
34079        ScaleWidth: Htuple,
34080        ScaleHeight: Htuple,
34081        Interpolation: Htuple,
34082        AlignCorners: Htuple,
34083        GenParamName: Htuple,
34084        GenParamValue: Htuple,
34085        DLLayerZoom: *mut Htuple,
34086    ) -> Herror;
34087}
34088unsafe extern "C" {
34089    pub fn T_create_dl_layer_zoom_size(
34090        DLLayerInput: Htuple,
34091        LayerName: Htuple,
34092        Width: Htuple,
34093        Height: Htuple,
34094        Interpolation: Htuple,
34095        AlignCorners: Htuple,
34096        GenParamName: Htuple,
34097        GenParamValue: Htuple,
34098        DLLayerZoom: *mut Htuple,
34099    ) -> Herror;
34100}
34101unsafe extern "C" {
34102    pub fn T_create_dl_layer_zoom_to_layer_size(
34103        DLLayerInput: Htuple,
34104        DLLayerReference: Htuple,
34105        LayerName: Htuple,
34106        Interpolation: Htuple,
34107        AlignCorners: Htuple,
34108        GenParamName: Htuple,
34109        GenParamValue: Htuple,
34110        DLLayerZoom: *mut Htuple,
34111    ) -> Herror;
34112}
34113unsafe extern "C" {
34114    pub fn T_create_dl_model(OutputLayers: Htuple, DLModelHandle: *mut Htuple) -> Herror;
34115}
34116unsafe extern "C" {
34117    pub fn T_create_generic_shape_model(ModelID: *mut Htuple) -> Herror;
34118}
34119unsafe extern "C" {
34120    pub fn T_find_generic_shape_model(
34121        SearchImage: Hobject,
34122        ModelID: Htuple,
34123        MatchResultID: *mut Htuple,
34124        NumMatchResult: *mut Htuple,
34125    ) -> Herror;
34126}
34127unsafe extern "C" {
34128    pub fn T_get_dl_layer_param(
34129        DLLayer: Htuple,
34130        GenParamName: Htuple,
34131        GenParamValue: *mut Htuple,
34132    ) -> Herror;
34133}
34134unsafe extern "C" {
34135    pub fn T_get_dl_model_layer(
34136        DLModelHandle: Htuple,
34137        LayerNames: Htuple,
34138        DLLayers: *mut Htuple,
34139    ) -> Herror;
34140}
34141unsafe extern "C" {
34142    pub fn T_get_dl_model_layer_activations(
34143        Activations: *mut Hobject,
34144        DLModelHandle: Htuple,
34145        LayerName: Htuple,
34146    ) -> Herror;
34147}
34148unsafe extern "C" {
34149    pub fn T_get_dl_model_layer_gradients(
34150        Gradients: *mut Hobject,
34151        DLModelHandle: Htuple,
34152        LayerName: Htuple,
34153    ) -> Herror;
34154}
34155unsafe extern "C" {
34156    pub fn T_get_dl_model_layer_param(
34157        DLModelHandle: Htuple,
34158        LayerName: Htuple,
34159        ParamName: Htuple,
34160        ParamValue: *mut Htuple,
34161    ) -> Herror;
34162}
34163unsafe extern "C" {
34164    pub fn T_get_dl_model_layer_weights(
34165        Weights: *mut Hobject,
34166        DLModelHandle: Htuple,
34167        LayerName: Htuple,
34168        WeightsType: Htuple,
34169    ) -> Herror;
34170}
34171unsafe extern "C" {
34172    pub fn T_get_generic_shape_model_param(
34173        ModelID: Htuple,
34174        GenParamName: Htuple,
34175        GenParamValue: *mut Htuple,
34176    ) -> Herror;
34177}
34178unsafe extern "C" {
34179    pub fn T_get_generic_shape_model_result(
34180        MatchResultID: Htuple,
34181        MatchSelector: Htuple,
34182        GenParamName: Htuple,
34183        GenParamValue: *mut Htuple,
34184    ) -> Herror;
34185}
34186unsafe extern "C" {
34187    pub fn T_get_generic_shape_model_result_object(
34188        Objects: *mut Hobject,
34189        MatchResultID: Htuple,
34190        MatchSelector: Htuple,
34191        GenParamName: Htuple,
34192    ) -> Herror;
34193}
34194unsafe extern "C" {
34195    pub fn T_load_dl_model_weights(
34196        DLModelHandleSource: Htuple,
34197        DLModelHandleTarget: Htuple,
34198        ChangesByLayer: *mut Htuple,
34199    ) -> Herror;
34200}
34201unsafe extern "C" {
34202    pub fn T_set_dl_model_layer_param(
34203        DLModelHandle: Htuple,
34204        LayerName: Htuple,
34205        ParamName: Htuple,
34206        ParamValue: Htuple,
34207    ) -> Herror;
34208}
34209unsafe extern "C" {
34210    pub fn T_set_dl_model_layer_weights(
34211        Weights: Hobject,
34212        DLModelHandle: Htuple,
34213        LayerName: Htuple,
34214        WeightsType: Htuple,
34215    ) -> Herror;
34216}
34217unsafe extern "C" {
34218    pub fn T_set_generic_shape_model_object(
34219        Object: Hobject,
34220        ModelID: Htuple,
34221        GenParamName: Htuple,
34222    ) -> Herror;
34223}
34224unsafe extern "C" {
34225    pub fn T_set_generic_shape_model_param(
34226        ModelID: Htuple,
34227        GenParamName: Htuple,
34228        GenParamValue: Htuple,
34229    ) -> Herror;
34230}
34231unsafe extern "C" {
34232    pub fn T_train_generic_shape_model(Template: Hobject, ModelID: Htuple) -> Herror;
34233}
34234unsafe extern "C" {
34235    pub fn T_dict_to_json(
34236        DictHandle: Htuple,
34237        GenParamName: Htuple,
34238        GenParamValue: Htuple,
34239        JsonString: *mut Htuple,
34240    ) -> Herror;
34241}
34242unsafe extern "C" {
34243    pub fn T_distance_point_line(
34244        PointX: Htuple,
34245        PointY: Htuple,
34246        PointZ: Htuple,
34247        Point1X: Htuple,
34248        Point1Y: Htuple,
34249        Point1Z: Htuple,
34250        Point2X: Htuple,
34251        Point2Y: Htuple,
34252        Point2Z: Htuple,
34253        Distance: *mut Htuple,
34254    ) -> Herror;
34255}
34256unsafe extern "C" {
34257    pub fn distance_point_line(
34258        PointX: f64,
34259        PointY: f64,
34260        PointZ: f64,
34261        Point1X: f64,
34262        Point1Y: f64,
34263        Point1Z: f64,
34264        Point2X: f64,
34265        Point2Y: f64,
34266        Point2Z: f64,
34267        Distance: *mut f64,
34268    ) -> Herror;
34269}
34270unsafe extern "C" {
34271    pub fn T_distance_point_pluecker_line(
34272        PointX: Htuple,
34273        PointY: Htuple,
34274        PointZ: Htuple,
34275        LineDirectionX: Htuple,
34276        LineDirectionY: Htuple,
34277        LineDirectionZ: Htuple,
34278        LineMomentX: Htuple,
34279        LineMomentY: Htuple,
34280        LineMomentZ: Htuple,
34281        Distance: *mut Htuple,
34282    ) -> Herror;
34283}
34284unsafe extern "C" {
34285    pub fn distance_point_pluecker_line(
34286        PointX: f64,
34287        PointY: f64,
34288        PointZ: f64,
34289        LineDirectionX: f64,
34290        LineDirectionY: f64,
34291        LineDirectionZ: f64,
34292        LineMomentX: f64,
34293        LineMomentY: f64,
34294        LineMomentZ: f64,
34295        Distance: *mut f64,
34296    ) -> Herror;
34297}
34298unsafe extern "C" {
34299    pub fn T_get_generic_shape_model_object(
34300        Object: *mut Hobject,
34301        ModelID: Htuple,
34302        GenParamName: Htuple,
34303    ) -> Herror;
34304}
34305unsafe extern "C" {
34306    pub fn T_json_to_dict(
34307        JsonString: Htuple,
34308        GenParamName: Htuple,
34309        GenParamValue: Htuple,
34310        DictHandle: *mut Htuple,
34311    ) -> Herror;
34312}
34313unsafe extern "C" {
34314    pub fn T_pluecker_line_to_point_direction(
34315        LineDirectionX: Htuple,
34316        LineDirectionY: Htuple,
34317        LineDirectionZ: Htuple,
34318        LineMomentX: Htuple,
34319        LineMomentY: Htuple,
34320        LineMomentZ: Htuple,
34321        PointX: *mut Htuple,
34322        PointY: *mut Htuple,
34323        PointZ: *mut Htuple,
34324        DirectionX: *mut Htuple,
34325        DirectionY: *mut Htuple,
34326        DirectionZ: *mut Htuple,
34327    ) -> Herror;
34328}
34329unsafe extern "C" {
34330    pub fn pluecker_line_to_point_direction(
34331        LineDirectionX: f64,
34332        LineDirectionY: f64,
34333        LineDirectionZ: f64,
34334        LineMomentX: f64,
34335        LineMomentY: f64,
34336        LineMomentZ: f64,
34337        PointX: *mut f64,
34338        PointY: *mut f64,
34339        PointZ: *mut f64,
34340        DirectionX: *mut f64,
34341        DirectionY: *mut f64,
34342        DirectionZ: *mut f64,
34343    ) -> Herror;
34344}
34345unsafe extern "C" {
34346    pub fn T_pluecker_line_to_points(
34347        LineDirectionX: Htuple,
34348        LineDirectionY: Htuple,
34349        LineDirectionZ: Htuple,
34350        LineMomentX: Htuple,
34351        LineMomentY: Htuple,
34352        LineMomentZ: Htuple,
34353        Point1X: *mut Htuple,
34354        Point1Y: *mut Htuple,
34355        Point1Z: *mut Htuple,
34356        Point2X: *mut Htuple,
34357        Point2Y: *mut Htuple,
34358        Point2Z: *mut Htuple,
34359    ) -> Herror;
34360}
34361unsafe extern "C" {
34362    pub fn pluecker_line_to_points(
34363        LineDirectionX: f64,
34364        LineDirectionY: f64,
34365        LineDirectionZ: f64,
34366        LineMomentX: f64,
34367        LineMomentY: f64,
34368        LineMomentZ: f64,
34369        Point1X: *mut f64,
34370        Point1Y: *mut f64,
34371        Point1Z: *mut f64,
34372        Point2X: *mut f64,
34373        Point2Y: *mut f64,
34374        Point2Z: *mut f64,
34375    ) -> Herror;
34376}
34377unsafe extern "C" {
34378    pub fn T_point_direction_to_pluecker_line(
34379        PointX: Htuple,
34380        PointY: Htuple,
34381        PointZ: Htuple,
34382        DirectionX: Htuple,
34383        DirectionY: Htuple,
34384        DirectionZ: Htuple,
34385        LineDirectionX: *mut Htuple,
34386        LineDirectionY: *mut Htuple,
34387        LineDirectionZ: *mut Htuple,
34388        LineMomentX: *mut Htuple,
34389        LineMomentY: *mut Htuple,
34390        LineMomentZ: *mut Htuple,
34391    ) -> Herror;
34392}
34393unsafe extern "C" {
34394    pub fn point_direction_to_pluecker_line(
34395        PointX: f64,
34396        PointY: f64,
34397        PointZ: f64,
34398        DirectionX: f64,
34399        DirectionY: f64,
34400        DirectionZ: f64,
34401        LineDirectionX: *mut f64,
34402        LineDirectionY: *mut f64,
34403        LineDirectionZ: *mut f64,
34404        LineMomentX: *mut f64,
34405        LineMomentY: *mut f64,
34406        LineMomentZ: *mut f64,
34407    ) -> Herror;
34408}
34409unsafe extern "C" {
34410    pub fn T_point_pluecker_line_to_hom_mat3d(
34411        TransformationType: Htuple,
34412        PointX: Htuple,
34413        PointY: Htuple,
34414        PointZ: Htuple,
34415        LineDirectionX: Htuple,
34416        LineDirectionY: Htuple,
34417        LineDirectionZ: Htuple,
34418        LineMomentX: Htuple,
34419        LineMomentY: Htuple,
34420        LineMomentZ: Htuple,
34421        HomMat3D: *mut Htuple,
34422    ) -> Herror;
34423}
34424unsafe extern "C" {
34425    pub fn T_points_to_pluecker_line(
34426        Point1X: Htuple,
34427        Point1Y: Htuple,
34428        Point1Z: Htuple,
34429        Point2X: Htuple,
34430        Point2Y: Htuple,
34431        Point2Z: Htuple,
34432        LineDirectionX: *mut Htuple,
34433        LineDirectionY: *mut Htuple,
34434        LineDirectionZ: *mut Htuple,
34435        LineMomentX: *mut Htuple,
34436        LineMomentY: *mut Htuple,
34437        LineMomentZ: *mut Htuple,
34438    ) -> Herror;
34439}
34440unsafe extern "C" {
34441    pub fn points_to_pluecker_line(
34442        Point1X: f64,
34443        Point1Y: f64,
34444        Point1Z: f64,
34445        Point2X: f64,
34446        Point2Y: f64,
34447        Point2Z: f64,
34448        LineDirectionX: *mut f64,
34449        LineDirectionY: *mut f64,
34450        LineDirectionZ: *mut f64,
34451        LineMomentX: *mut f64,
34452        LineMomentY: *mut f64,
34453        LineMomentZ: *mut f64,
34454    ) -> Herror;
34455}
34456unsafe extern "C" {
34457    pub fn T_set_dict_tuple_at(
34458        DictHandle: Htuple,
34459        Key: Htuple,
34460        Index: Htuple,
34461        Value: Htuple,
34462    ) -> Herror;
34463}
34464unsafe extern "C" {
34465    pub fn T_create_dl_layer_permutation(
34466        DLLayerInput: Htuple,
34467        LayerName: Htuple,
34468        Permutation: Htuple,
34469        GenParamName: Htuple,
34470        GenParamValue: Htuple,
34471        DLLayerPermutation: *mut Htuple,
34472    ) -> Herror;
34473}
34474unsafe extern "C" {
34475    pub fn T_dual_quat_trans_point_3d(
34476        DualQuaternion: Htuple,
34477        Px: Htuple,
34478        Py: Htuple,
34479        Pz: Htuple,
34480        Tx: *mut Htuple,
34481        Ty: *mut Htuple,
34482        Tz: *mut Htuple,
34483    ) -> Herror;
34484}
34485unsafe extern "C" {
34486    pub fn T_equ_histo_image_rect(
34487        Image: Hobject,
34488        ImageEquHisto: *mut Hobject,
34489        Mode: Htuple,
34490        MaskWidth: Htuple,
34491        MaskHeight: Htuple,
34492        MaxContrast: Htuple,
34493    ) -> Herror;
34494}
34495unsafe extern "C" {
34496    pub fn equ_histo_image_rect(
34497        Image: Hobject,
34498        ImageEquHisto: *mut Hobject,
34499        Mode: *const ::std::os::raw::c_char,
34500        MaskWidth: Hlong,
34501        MaskHeight: Hlong,
34502        MaxContrast: f64,
34503    ) -> Herror;
34504}
34505unsafe extern "C" {
34506    pub fn T_get_measure_param(
34507        MeasureHandle: Htuple,
34508        GenParamName: Htuple,
34509        GenParamValue: *mut Htuple,
34510    ) -> Herror;
34511}
34512unsafe extern "C" {
34513    pub fn T_mean_image_shape(Image: Hobject, Mask: Hobject, ImageMean: *mut Hobject) -> Herror;
34514}
34515unsafe extern "C" {
34516    pub fn mean_image_shape(Image: Hobject, Mask: Hobject, ImageMean: *mut Hobject) -> Herror;
34517}
34518unsafe extern "C" {
34519    pub fn T_tuple_join(Strings: Htuple, Separators: Htuple, JoinedStrings: *mut Htuple) -> Herror;
34520}
34521unsafe extern "C" {
34522    pub fn tuple_join(
34523        Strings: *const ::std::os::raw::c_char,
34524        Separators: *const ::std::os::raw::c_char,
34525        JoinedStrings: *mut ::std::os::raw::c_char,
34526    ) -> Herror;
34527}
34528unsafe extern "C" {
34529    pub fn T_compare_memory_block(
34530        MemoryBlocks1: Htuple,
34531        MemoryBlocks2: Htuple,
34532        IsEqual: *mut Htuple,
34533    ) -> Herror;
34534}
34535unsafe extern "C" {
34536    pub fn T_create_dl_layer_depth_to_space(
34537        DLLayerInput: Htuple,
34538        LayerName: Htuple,
34539        BlockSize: Htuple,
34540        Mode: Htuple,
34541        GenParamName: Htuple,
34542        GenParamValue: Htuple,
34543        DLLayerDepthToSpace: *mut Htuple,
34544    ) -> Herror;
34545}
34546unsafe extern "C" {
34547    pub fn T_create_dl_layer_identity(
34548        DLLayerInput: Htuple,
34549        LayerName: Htuple,
34550        GenParamName: Htuple,
34551        GenParamValue: Htuple,
34552        DLLayerIdentity: *mut Htuple,
34553    ) -> Herror;
34554}
34555unsafe extern "C" {
34556    pub fn T_create_memory_block_extern(
34557        Pointer: Htuple,
34558        Size: Htuple,
34559        FreeFunction: Htuple,
34560        MemoryBlockHandle: *mut Htuple,
34561    ) -> Herror;
34562}
34563unsafe extern "C" {
34564    pub fn T_create_memory_block_extern_copy(
34565        Pointer: Htuple,
34566        Size: Htuple,
34567        MemoryBlockHandle: *mut Htuple,
34568    ) -> Herror;
34569}
34570unsafe extern "C" {
34571    pub fn T_decrypt_serialized_item(
34572        EncryptedItemHandle: Htuple,
34573        DecryptionParam: Htuple,
34574        SerializedItemHandle: *mut Htuple,
34575    ) -> Herror;
34576}
34577unsafe extern "C" {
34578    pub fn T_encrypt_serialized_item(
34579        SerializedItemHandle: Htuple,
34580        EncryptionParam: Htuple,
34581        EncryptedItemHandle: *mut Htuple,
34582    ) -> Herror;
34583}
34584unsafe extern "C" {
34585    pub fn T_get_memory_block_ptr(
34586        MemoryBlockHandle: Htuple,
34587        Pointer: *mut Htuple,
34588        Size: *mut Htuple,
34589    ) -> Herror;
34590}
34591unsafe extern "C" {
34592    pub fn T_image_to_memory_block(
34593        Image: Hobject,
34594        Format: Htuple,
34595        FillColor: Htuple,
34596        MemoryBlockHandle: *mut Htuple,
34597    ) -> Herror;
34598}
34599unsafe extern "C" {
34600    pub fn T_memory_block_to_image(Image: *mut Hobject, MemoryBlockHandle: Htuple) -> Herror;
34601}
34602unsafe extern "C" {
34603    pub fn T_read_encrypted_item(FileName: Htuple, EncryptedItemHandle: *mut Htuple) -> Herror;
34604}
34605unsafe extern "C" {
34606    pub fn T_read_memory_block(FileName: Htuple, MemoryBlockHandle: *mut Htuple) -> Herror;
34607}
34608unsafe extern "C" {
34609    pub fn T_tuple_constant(Name: Htuple, Value: *mut Htuple) -> Herror;
34610}
34611unsafe extern "C" {
34612    pub fn tuple_constant(Name: *const ::std::os::raw::c_char, Value: *mut Hlong) -> Herror;
34613}
34614unsafe extern "C" {
34615    pub fn T_tuple_is_nan_elem(T: Htuple, IsNaN: *mut Htuple) -> Herror;
34616}
34617unsafe extern "C" {
34618    pub fn tuple_is_nan_elem(T: f64, IsNaN: *mut Hlong) -> Herror;
34619}
34620unsafe extern "C" {
34621    pub fn T_write_encrypted_item(EncryptedItemHandle: Htuple, FileName: Htuple) -> Herror;
34622}
34623unsafe extern "C" {
34624    pub fn T_write_memory_block(MemoryBlockHandle: Htuple, FileName: Htuple) -> Herror;
34625}
34626unsafe extern "C" {
34627    pub fn T_add_image_border(
34628        Image: Hobject,
34629        ImageBorder: *mut Hobject,
34630        Size: Htuple,
34631        Value: Htuple,
34632    ) -> Herror;
34633}
34634unsafe extern "C" {
34635    pub fn add_image_border(
34636        Image: Hobject,
34637        ImageBorder: *mut Hobject,
34638        Size: Hlong,
34639        Value: Hlong,
34640    ) -> Herror;
34641}
34642unsafe extern "C" {
34643    pub fn T_apply_deep_counting_model(
34644        Image: Hobject,
34645        DeepCountingHandle: Htuple,
34646        Count: *mut Htuple,
34647        DeepCountingResult: *mut Htuple,
34648    ) -> Herror;
34649}
34650unsafe extern "C" {
34651    pub fn T_create_deep_counting_model(
34652        GenParamName: Htuple,
34653        GenParamValue: Htuple,
34654        DeepCountingHandle: *mut Htuple,
34655    ) -> Herror;
34656}
34657unsafe extern "C" {
34658    pub fn T_create_dl_layer_matmul(
34659        DLLayerA: Htuple,
34660        DLLayerB: Htuple,
34661        LayerName: Htuple,
34662        GenParamName: Htuple,
34663        GenParamValue: Htuple,
34664        DLLayerMatMul: *mut Htuple,
34665    ) -> Herror;
34666}
34667unsafe extern "C" {
34668    pub fn T_get_deep_counting_model_param(
34669        DeepCountingHandle: Htuple,
34670        GenParamName: Htuple,
34671        GenParamValue: *mut Htuple,
34672    ) -> Herror;
34673}
34674unsafe extern "C" {
34675    pub fn T_prepare_deep_counting_model(Templates: Hobject, DeepCountingHandle: Htuple) -> Herror;
34676}
34677unsafe extern "C" {
34678    pub fn T_read_deep_counting_model(FileName: Htuple, DeepCountingHandle: *mut Htuple) -> Herror;
34679}
34680unsafe extern "C" {
34681    pub fn T_set_deep_counting_model_param(
34682        DeepCountingHandle: Htuple,
34683        GenParamName: Htuple,
34684        GenParamValue: Htuple,
34685    ) -> Herror;
34686}
34687unsafe extern "C" {
34688    pub fn T_write_deep_counting_model(DeepCountingHandle: Htuple, FileName: Htuple) -> Herror;
34689}
34690unsafe extern "C" {
34691    pub fn T_create_dl_layer_reduce(
34692        DLLayerInput: Htuple,
34693        LayerName: Htuple,
34694        Operation: Htuple,
34695        Axes: Htuple,
34696        GenParamName: Htuple,
34697        GenParamValue: Htuple,
34698        DLLayerReduce: *mut Htuple,
34699    ) -> Herror;
34700}
34701unsafe extern "C" {
34702    pub fn T_reconstruct_surface_structured_light(
34703        StructuredLightModel: Htuple,
34704        ObjectModel3D: *mut Htuple,
34705    ) -> Herror;
34706}
34707unsafe extern "C" {
34708    pub fn T_intersection_region_contour_xld(
34709        Region: Hobject,
34710        Contour: Hobject,
34711        ContourIntersection: *mut Hobject,
34712        Mode: Htuple,
34713    ) -> Herror;
34714}
34715unsafe extern "C" {
34716    pub fn intersection_region_contour_xld(
34717        Region: Hobject,
34718        Contour: Hobject,
34719        ContourIntersection: *mut Hobject,
34720        Mode: *const ::std::os::raw::c_char,
34721    ) -> Herror;
34722}
34723unsafe extern "C" {
34724    pub fn T_tuple_repeat(Tuple: Htuple, Num: Htuple, Result: *mut Htuple) -> Herror;
34725}
34726unsafe extern "C" {
34727    pub fn tuple_repeat(Tuple: Hlong, Num: Hlong, Result: *mut Hlong) -> Herror;
34728}
34729unsafe extern "C" {
34730    pub fn T_tuple_repeat_elem(Tuple: Htuple, Num: Htuple, Result: *mut Htuple) -> Herror;
34731}
34732unsafe extern "C" {
34733    pub fn tuple_repeat_elem(Tuple: Hlong, Num: Hlong, Result: *mut Hlong) -> Herror;
34734}
34735unsafe extern "C" {
34736    pub fn T_tuple_str_replace(
34737        String: Htuple,
34738        Before: Htuple,
34739        After: Htuple,
34740        Replaced: *mut Htuple,
34741    ) -> Herror;
34742}
34743unsafe extern "C" {
34744    pub fn tuple_str_replace(
34745        String: *const ::std::os::raw::c_char,
34746        Before: *const ::std::os::raw::c_char,
34747        After: *const ::std::os::raw::c_char,
34748        Replaced: *mut ::std::os::raw::c_char,
34749    ) -> Herror;
34750}
34751unsafe extern "C" {
34752    pub fn T_apply_deep_matching_3d(
34753        Images: Hobject,
34754        Deep3DMatchingModel: Htuple,
34755        DeepMatchingResults: *mut Htuple,
34756    ) -> Herror;
34757}
34758unsafe extern "C" {
34759    pub fn T_fit_dl_out_of_distribution(
34760        DLModelHandle: Htuple,
34761        DLDataset: Htuple,
34762        GenParam: Htuple,
34763    ) -> Herror;
34764}
34765unsafe extern "C" {
34766    pub fn T_get_deep_matching_3d_param(
34767        Deep3DMatchingModel: Htuple,
34768        GenParamName: Htuple,
34769        GenParamValue: *mut Htuple,
34770    ) -> Herror;
34771}
34772unsafe extern "C" {
34773    pub fn T_read_deep_matching_3d(FileName: Htuple, Deep3DMatchingModel: *mut Htuple) -> Herror;
34774}
34775unsafe extern "C" {
34776    pub fn T_set_deep_matching_3d_param(
34777        Deep3DMatchingModel: Htuple,
34778        GenParamName: Htuple,
34779        GenParamValue: Htuple,
34780    ) -> Herror;
34781}
34782unsafe extern "C" {
34783    pub fn T_test_region_points(
34784        Regions: Hobject,
34785        Row: Htuple,
34786        Column: Htuple,
34787        IsInside: *mut Htuple,
34788    ) -> Herror;
34789}
34790unsafe extern "C" {
34791    pub fn test_region_points(
34792        Regions: Hobject,
34793        Row: Hlong,
34794        Column: Hlong,
34795        IsInside: *mut Hlong,
34796    ) -> Herror;
34797}
34798unsafe extern "C" {
34799    pub fn T_tuple_str_distance(
34800        String1: Htuple,
34801        String2: Htuple,
34802        Mode: Htuple,
34803        Distance: *mut Htuple,
34804    ) -> Herror;
34805}
34806unsafe extern "C" {
34807    pub fn tuple_str_distance(
34808        String1: *const ::std::os::raw::c_char,
34809        String2: *const ::std::os::raw::c_char,
34810        Mode: *const ::std::os::raw::c_char,
34811        Distance: *mut Hlong,
34812    ) -> Herror;
34813}
34814unsafe extern "C" {
34815    pub fn T_write_deep_matching_3d(Deep3DMatchingModel: Htuple, FileName: Htuple) -> Herror;
34816}
34817#[repr(C)]
34818#[derive(Debug, Copy, Clone)]
34819pub struct __crt_locale_data {
34820    pub _address: u8,
34821}
34822#[repr(C)]
34823#[derive(Debug, Copy, Clone)]
34824pub struct __crt_multibyte_data {
34825    pub _address: u8,
34826}