Skip to main content

rust_halcon_xl/
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 unsafe 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 = *(core::ptr::addr_of!((*this).storage) as *const u8).offset(byte_index as isize);
40        Self::extract_bit(byte, index)
41    }
42    #[inline]
43    fn change_bit(byte: u8, index: usize, val: bool) -> u8 {
44        let bit_index = if cfg!(target_endian = "big") {
45            7 - (index % 8)
46        } else {
47            index % 8
48        };
49        let mask = 1 << bit_index;
50        if val { byte | mask } else { byte & !mask }
51    }
52    #[inline]
53    pub fn set_bit(&mut self, index: usize, val: bool) {
54        debug_assert!(index / 8 < self.storage.as_ref().len());
55        let byte_index = index / 8;
56        let byte = &mut self.storage.as_mut()[byte_index];
57        *byte = Self::change_bit(*byte, index, val);
58    }
59    #[inline]
60    pub unsafe fn raw_set_bit(this: *mut Self, index: usize, val: bool) {
61        debug_assert!(index / 8 < core::mem::size_of::<Storage>());
62        let byte_index = index / 8;
63        let byte =
64            (core::ptr::addr_of_mut!((*this).storage) as *mut u8).offset(byte_index as isize);
65        *byte = Self::change_bit(*byte, index, val);
66    }
67    #[inline]
68    pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64 {
69        debug_assert!(bit_width <= 64);
70        debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
71        debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
72        let mut val = 0;
73        for i in 0..(bit_width as usize) {
74            if self.get_bit(i + bit_offset) {
75                let index = if cfg!(target_endian = "big") {
76                    bit_width as usize - 1 - i
77                } else {
78                    i
79                };
80                val |= 1 << index;
81            }
82        }
83        val
84    }
85    #[inline]
86    pub unsafe fn raw_get(this: *const Self, bit_offset: usize, bit_width: u8) -> u64 {
87        debug_assert!(bit_width <= 64);
88        debug_assert!(bit_offset / 8 < core::mem::size_of::<Storage>());
89        debug_assert!((bit_offset + (bit_width as usize)) / 8 <= core::mem::size_of::<Storage>());
90        let mut val = 0;
91        for i in 0..(bit_width as usize) {
92            if Self::raw_get_bit(this, i + bit_offset) {
93                let index = if cfg!(target_endian = "big") {
94                    bit_width as usize - 1 - i
95                } else {
96                    i
97                };
98                val |= 1 << index;
99            }
100        }
101        val
102    }
103    #[inline]
104    pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64) {
105        debug_assert!(bit_width <= 64);
106        debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
107        debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
108        for i in 0..(bit_width as usize) {
109            let mask = 1 << i;
110            let val_bit_is_set = val & mask == mask;
111            let index = if cfg!(target_endian = "big") {
112                bit_width as usize - 1 - i
113            } else {
114                i
115            };
116            self.set_bit(index + bit_offset, val_bit_is_set);
117        }
118    }
119    #[inline]
120    pub unsafe fn raw_set(this: *mut Self, bit_offset: usize, bit_width: u8, val: u64) {
121        debug_assert!(bit_width <= 64);
122        debug_assert!(bit_offset / 8 < core::mem::size_of::<Storage>());
123        debug_assert!((bit_offset + (bit_width as usize)) / 8 <= core::mem::size_of::<Storage>());
124        for i in 0..(bit_width as usize) {
125            let mask = 1 << i;
126            let val_bit_is_set = val & mask == mask;
127            let index = if cfg!(target_endian = "big") {
128                bit_width as usize - 1 - i
129            } else {
130                i
131            };
132            Self::raw_set_bit(this, index + bit_offset, val_bit_is_set);
133        }
134    }
135}
136pub const _VCRT_COMPILER_PREPROCESSOR: u32 = 1;
137pub const _SAL_VERSION: u32 = 20;
138pub const __SAL_H_VERSION: u32 = 180000000;
139pub const _USE_DECLSPECS_FOR_SAL: u32 = 0;
140pub const _USE_ATTRIBUTES_FOR_SAL: u32 = 0;
141pub const _CRT_PACKING: u32 = 8;
142pub const _HAS_EXCEPTIONS: u32 = 1;
143pub const _STL_LANG: u32 = 0;
144pub const _HAS_CXX17: u32 = 0;
145pub const _HAS_CXX20: u32 = 0;
146pub const _HAS_CXX23: u32 = 0;
147pub const _HAS_CXX26: u32 = 0;
148pub const _HAS_NODISCARD: u32 = 0;
149pub const _ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE: u32 = 1;
150pub const _CRT_BUILD_DESKTOP_APP: u32 = 1;
151pub const _ARGMAX: u32 = 100;
152pub const _CRT_INT_MAX: u32 = 2147483647;
153pub const _CRT_FUNCTIONS_REQUIRED: u32 = 1;
154pub const _CRT_HAS_CXX17: u32 = 0;
155pub const _CRT_HAS_C11: u32 = 1;
156pub const _CRT_INTERNAL_NONSTDC_NAMES: u32 = 1;
157pub const __STDC_SECURE_LIB__: u32 = 200411;
158pub const __GOT_SECURE_LIB__: u32 = 200411;
159pub const __STDC_WANT_SECURE_LIB__: u32 = 1;
160pub const _SECURECRT_FILL_BUFFER_PATTERN: u32 = 254;
161pub const _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES: u32 = 0;
162pub const _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT: u32 = 0;
163pub const _CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES: u32 = 1;
164pub const _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_MEMORY: u32 = 0;
165pub const _CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES_MEMORY: u32 = 0;
166pub const _MAX_ITOSTR_BASE16_COUNT: u32 = 9;
167pub const _MAX_ITOSTR_BASE10_COUNT: u32 = 12;
168pub const _MAX_ITOSTR_BASE8_COUNT: u32 = 12;
169pub const _MAX_ITOSTR_BASE2_COUNT: u32 = 33;
170pub const _MAX_LTOSTR_BASE16_COUNT: u32 = 9;
171pub const _MAX_LTOSTR_BASE10_COUNT: u32 = 12;
172pub const _MAX_LTOSTR_BASE8_COUNT: u32 = 12;
173pub const _MAX_LTOSTR_BASE2_COUNT: u32 = 33;
174pub const _MAX_ULTOSTR_BASE16_COUNT: u32 = 9;
175pub const _MAX_ULTOSTR_BASE10_COUNT: u32 = 11;
176pub const _MAX_ULTOSTR_BASE8_COUNT: u32 = 12;
177pub const _MAX_ULTOSTR_BASE2_COUNT: u32 = 33;
178pub const _MAX_I64TOSTR_BASE16_COUNT: u32 = 17;
179pub const _MAX_I64TOSTR_BASE10_COUNT: u32 = 21;
180pub const _MAX_I64TOSTR_BASE8_COUNT: u32 = 23;
181pub const _MAX_I64TOSTR_BASE2_COUNT: u32 = 65;
182pub const _MAX_U64TOSTR_BASE16_COUNT: u32 = 17;
183pub const _MAX_U64TOSTR_BASE10_COUNT: u32 = 21;
184pub const _MAX_U64TOSTR_BASE8_COUNT: u32 = 23;
185pub const _MAX_U64TOSTR_BASE2_COUNT: u32 = 65;
186pub const CHAR_BIT: u32 = 8;
187pub const SCHAR_MIN: i32 = -128;
188pub const SCHAR_MAX: u32 = 127;
189pub const UCHAR_MAX: u32 = 255;
190pub const CHAR_MIN: i32 = -128;
191pub const CHAR_MAX: u32 = 127;
192pub const MB_LEN_MAX: u32 = 5;
193pub const SHRT_MIN: i32 = -32768;
194pub const SHRT_MAX: u32 = 32767;
195pub const USHRT_MAX: u32 = 65535;
196pub const INT_MIN: i32 = -2147483648;
197pub const INT_MAX: u32 = 2147483647;
198pub const UINT_MAX: u32 = 4294967295;
199pub const LONG_MIN: i32 = -2147483648;
200pub const LONG_MAX: u32 = 2147483647;
201pub const ULONG_MAX: u32 = 4294967295;
202pub const EXIT_SUCCESS: u32 = 0;
203pub const EXIT_FAILURE: u32 = 1;
204pub const _WRITE_ABORT_MSG: u32 = 1;
205pub const _CALL_REPORTFAULT: u32 = 2;
206pub const _OUT_TO_DEFAULT: u32 = 0;
207pub const _OUT_TO_STDERR: u32 = 1;
208pub const _OUT_TO_MSGBOX: u32 = 2;
209pub const _REPORT_ERRMODE: u32 = 3;
210pub const RAND_MAX: u32 = 32767;
211pub const _CVTBUFSIZE: u32 = 349;
212pub const _MAX_PATH: u32 = 260;
213pub const _MAX_DRIVE: u32 = 3;
214pub const _MAX_DIR: u32 = 256;
215pub const _MAX_FNAME: u32 = 256;
216pub const _MAX_EXT: u32 = 256;
217pub const _MAX_ENV: u32 = 32767;
218pub const FLT_EVAL_METHOD: u32 = 0;
219pub const DBL_DECIMAL_DIG: u32 = 17;
220pub const DBL_DIG: u32 = 15;
221pub const DBL_HAS_SUBNORM: u32 = 1;
222pub const DBL_MANT_DIG: u32 = 53;
223pub const DBL_MAX_10_EXP: u32 = 308;
224pub const DBL_MAX_EXP: u32 = 1024;
225pub const DBL_MIN_10_EXP: i32 = -307;
226pub const DBL_MIN_EXP: i32 = -1021;
227pub const _DBL_RADIX: u32 = 2;
228pub const FLT_DECIMAL_DIG: u32 = 9;
229pub const FLT_DIG: u32 = 6;
230pub const FLT_HAS_SUBNORM: u32 = 1;
231pub const FLT_GUARD: u32 = 0;
232pub const FLT_MANT_DIG: u32 = 24;
233pub const FLT_MAX_10_EXP: u32 = 38;
234pub const FLT_MAX_EXP: u32 = 128;
235pub const FLT_MIN_10_EXP: i32 = -37;
236pub const FLT_MIN_EXP: i32 = -125;
237pub const FLT_NORMALIZE: u32 = 0;
238pub const FLT_RADIX: u32 = 2;
239pub const LDBL_DIG: u32 = 15;
240pub const LDBL_HAS_SUBNORM: u32 = 1;
241pub const LDBL_MANT_DIG: u32 = 53;
242pub const LDBL_MAX_10_EXP: u32 = 308;
243pub const LDBL_MAX_EXP: u32 = 1024;
244pub const LDBL_MIN_10_EXP: i32 = -307;
245pub const LDBL_MIN_EXP: i32 = -1021;
246pub const _LDBL_RADIX: u32 = 2;
247pub const DECIMAL_DIG: u32 = 17;
248pub const _SW_INEXACT: u32 = 1;
249pub const _SW_UNDERFLOW: u32 = 2;
250pub const _SW_OVERFLOW: u32 = 4;
251pub const _SW_ZERODIVIDE: u32 = 8;
252pub const _SW_INVALID: u32 = 16;
253pub const _SW_DENORMAL: u32 = 524288;
254pub const _EM_AMBIGUIOUS: u32 = 2147483648;
255pub const _EM_AMBIGUOUS: u32 = 2147483648;
256pub const _MCW_EM: u32 = 524319;
257pub const _EM_INEXACT: u32 = 1;
258pub const _EM_UNDERFLOW: u32 = 2;
259pub const _EM_OVERFLOW: u32 = 4;
260pub const _EM_ZERODIVIDE: u32 = 8;
261pub const _EM_INVALID: u32 = 16;
262pub const _EM_DENORMAL: u32 = 524288;
263pub const _MCW_RC: u32 = 768;
264pub const _RC_NEAR: u32 = 0;
265pub const _RC_DOWN: u32 = 256;
266pub const _RC_UP: u32 = 512;
267pub const _RC_CHOP: u32 = 768;
268pub const _MCW_PC: u32 = 196608;
269pub const _PC_64: u32 = 0;
270pub const _PC_53: u32 = 65536;
271pub const _PC_24: u32 = 131072;
272pub const _MCW_IC: u32 = 262144;
273pub const _IC_AFFINE: u32 = 262144;
274pub const _IC_PROJECTIVE: u32 = 0;
275pub const _MCW_DN: u32 = 50331648;
276pub const _DN_SAVE: u32 = 0;
277pub const _DN_FLUSH: u32 = 16777216;
278pub const _DN_FLUSH_OPERANDS_SAVE_RESULTS: u32 = 33554432;
279pub const _DN_SAVE_OPERANDS_FLUSH_RESULTS: u32 = 50331648;
280pub const _SW_UNEMULATED: u32 = 64;
281pub const _SW_SQRTNEG: u32 = 128;
282pub const _SW_STACKOVERFLOW: u32 = 512;
283pub const _SW_STACKUNDERFLOW: u32 = 1024;
284pub const _FPE_INVALID: u32 = 129;
285pub const _FPE_DENORMAL: u32 = 130;
286pub const _FPE_ZERODIVIDE: u32 = 131;
287pub const _FPE_OVERFLOW: u32 = 132;
288pub const _FPE_UNDERFLOW: u32 = 133;
289pub const _FPE_INEXACT: u32 = 134;
290pub const _FPE_UNEMULATED: u32 = 135;
291pub const _FPE_SQRTNEG: u32 = 136;
292pub const _FPE_STACKOVERFLOW: u32 = 138;
293pub const _FPE_STACKUNDERFLOW: u32 = 139;
294pub const _FPE_EXPLICITGEN: u32 = 140;
295pub const _FPE_MULTIPLE_TRAPS: u32 = 141;
296pub const _FPE_MULTIPLE_FAULTS: u32 = 142;
297pub const _FPCLASS_SNAN: u32 = 1;
298pub const _FPCLASS_QNAN: u32 = 2;
299pub const _FPCLASS_NINF: u32 = 4;
300pub const _FPCLASS_NN: u32 = 8;
301pub const _FPCLASS_ND: u32 = 16;
302pub const _FPCLASS_NZ: u32 = 32;
303pub const _FPCLASS_PZ: u32 = 64;
304pub const _FPCLASS_PD: u32 = 128;
305pub const _FPCLASS_PN: u32 = 256;
306pub const _FPCLASS_PINF: u32 = 512;
307pub const _CW_DEFAULT: u32 = 524319;
308pub const DBL_RADIX: u32 = 2;
309pub const LDBL_RADIX: u32 = 2;
310pub const EM_AMBIGUIOUS: u32 = 2147483648;
311pub const EM_AMBIGUOUS: u32 = 2147483648;
312pub const MCW_EM: u32 = 524319;
313pub const EM_INVALID: u32 = 16;
314pub const EM_DENORMAL: u32 = 524288;
315pub const EM_ZERODIVIDE: u32 = 8;
316pub const EM_OVERFLOW: u32 = 4;
317pub const EM_UNDERFLOW: u32 = 2;
318pub const EM_INEXACT: u32 = 1;
319pub const MCW_IC: u32 = 262144;
320pub const IC_AFFINE: u32 = 262144;
321pub const IC_PROJECTIVE: u32 = 0;
322pub const MCW_RC: u32 = 768;
323pub const RC_CHOP: u32 = 768;
324pub const RC_UP: u32 = 512;
325pub const RC_DOWN: u32 = 256;
326pub const RC_NEAR: u32 = 0;
327pub const MCW_PC: u32 = 196608;
328pub const PC_24: u32 = 131072;
329pub const PC_53: u32 = 65536;
330pub const PC_64: u32 = 0;
331pub const CW_DEFAULT: u32 = 524319;
332pub const SW_INVALID: u32 = 16;
333pub const SW_DENORMAL: u32 = 524288;
334pub const SW_ZERODIVIDE: u32 = 8;
335pub const SW_OVERFLOW: u32 = 4;
336pub const SW_UNDERFLOW: u32 = 2;
337pub const SW_INEXACT: u32 = 1;
338pub const SW_UNEMULATED: u32 = 64;
339pub const SW_SQRTNEG: u32 = 128;
340pub const SW_STACKOVERFLOW: u32 = 512;
341pub const SW_STACKUNDERFLOW: u32 = 1024;
342pub const FPE_INVALID: u32 = 129;
343pub const FPE_DENORMAL: u32 = 130;
344pub const FPE_ZERODIVIDE: u32 = 131;
345pub const FPE_OVERFLOW: u32 = 132;
346pub const FPE_UNDERFLOW: u32 = 133;
347pub const FPE_INEXACT: u32 = 134;
348pub const FPE_UNEMULATED: u32 = 135;
349pub const FPE_SQRTNEG: u32 = 136;
350pub const FPE_STACKOVERFLOW: u32 = 138;
351pub const FPE_STACKUNDERFLOW: u32 = 139;
352pub const FPE_EXPLICITGEN: u32 = 140;
353pub const WCHAR_MIN: u32 = 0;
354pub const WCHAR_MAX: u32 = 65535;
355pub const WINT_MIN: u32 = 0;
356pub const WINT_MAX: u32 = 65535;
357pub const __bool_true_false_are_defined: u32 = 1;
358pub const true_: u32 = 1;
359pub const false_: u32 = 0;
360pub const HUINT_MIN: u32 = 0;
361pub const UINT1_MIN: u32 = 0;
362pub const UINT2_MIN: u32 = 0;
363pub const UINT4_MIN: u32 = 0;
364pub const INT4_8_FORMAT: &[u8; 4] = b"I64\0";
365pub const UINT4_8_MIN: u32 = 0;
366pub const UINT4_8_FORMAT: &[u8; 4] = b"I64\0";
367pub const HLONG_FORMAT: &[u8; 4] = b"I64\0";
368pub const LONG_FORMAT: &[u8; 4] = b"I64\0";
369pub const HULONG_MIN: u32 = 0;
370pub const HINT8_FORMAT: &[u8; 4] = b"I64\0";
371pub const HUINT8_MIN: u32 = 0;
372pub const UNDEF_PAR: u32 = 0;
373pub const LONG_PAR: u32 = 1;
374pub const DOUBLE_PAR: u32 = 2;
375pub const STRING_PAR: u32 = 4;
376pub const HANDLE_PAR: u32 = 16;
377pub const INT_PAR: u32 = 1;
378pub const MIXED_PAR: u32 = 8;
379pub const MAX_TUPLE_TYPE: u32 = 16;
380pub const ANY_ELEM: u32 = 23;
381pub const ANY_TUPLE: u32 = 31;
382pub const POINTER_PAR: u32 = 64;
383pub const TUPLE_PAR: u32 = 128;
384pub const MAX_PAR: u32 = 16;
385pub const MAX_TUPLE_LENGTH: u32 = 1000000;
386pub const MAX_STRING: u32 = 1024;
387pub const TRUE: u32 = 1;
388pub const FALSE: u32 = 0;
389pub const UNDEF_IMAGE: u32 = 0;
390pub const BYTE_IMAGE: u32 = 1;
391pub const INT4_IMAGE: u32 = 2;
392pub const LONG_IMAGE: u32 = 2;
393pub const FLOAT_IMAGE: u32 = 4;
394pub const DIR_IMAGE: u32 = 8;
395pub const CYCLIC_IMAGE: u32 = 16;
396pub const INT1_IMAGE: u32 = 32;
397pub const COMPLEX_IMAGE: u32 = 128;
398pub const INT2_IMAGE: u32 = 512;
399pub const UINT2_IMAGE: u32 = 1024;
400pub const VF_IMAGE: u32 = 2048;
401pub const INT8_IMAGE: u32 = 4096;
402pub const VF_ABSOLUTE: u32 = 0;
403pub const VF_RELATIVE: u32 = 1;
404pub const LD_MAX_FORMAT: u32 = 15;
405pub const MAX_FORMAT: u32 = 32768;
406pub const RL_LENGTH: u32 = 1;
407pub const DEF_RL_LENGTH: u32 = 50000;
408pub const OBJ_PER_PROC: u32 = 5000;
409pub const FILE_TRANS_SIZE: u32 = 16384;
410pub const MAX_FILES: u32 = 20;
411pub const MAX_EDGE_LENGTH1: u32 = 101;
412pub const MAX_CLUSTER: u32 = 1024;
413pub const MAX_CONVOL: u32 = 50000;
414pub const MAX_IMAGE_DIR: u32 = 16384;
415pub const MAX_GRAPHIC_COLOR: u32 = 64;
416pub const MAX_COLOR_NAME_LENGTH: u32 = 40;
417pub const HALCONROOT: &[u8; 11] = b"HALCONROOT\0";
418pub const HALCONIMAGES: &[u8; 13] = b"HALCONIMAGES\0";
419pub const HALCONHELP: &[u8; 11] = b"HALCONHELP\0";
420pub const HALCONSPY: &[u8; 10] = b"HALCONSPY\0";
421pub const HALCONEXTENSIONS: &[u8; 17] = b"HALCONEXTENSIONS\0";
422pub const HALCONEXAMPLES: &[u8; 15] = b"HALCONEXAMPLES\0";
423pub const MAX_INP_OBJ_PAR: u32 = 9;
424pub const MAX_OUTP_OBJ_PAR: u32 = 9;
425pub const MAX_INP_CTRL_PAR: u32 = 20;
426pub const MAX_OUTP_CTRL_PAR: u32 = 20;
427pub const MAX_CHAPTER: u32 = 2;
428pub const MAX_CHAPTER_PROC: u32 = 300;
429pub const MAX_KEY_NAME: u32 = 5;
430pub const KEY_NAME_LENGTH: u32 = 20;
431pub const MAX_BUFFER: u32 = 10;
432pub const REGION: u32 = 0;
433pub const CHORD: u32 = 0;
434pub const IMAGE1: u32 = 1;
435pub const IMAGE2: u32 = 2;
436pub const IMAGE3: u32 = 3;
437pub const IMAGE4: u32 = 4;
438pub const IMAGE5: u32 = 5;
439pub const IMAGE6: u32 = 6;
440pub const IMAGE7: u32 = 7;
441pub const IMAGE8: u32 = 8;
442pub const REGION_ID: u32 = 1;
443pub const IMAGE_ID: u32 = 2;
444pub const OBJECT_ID: u32 = 3;
445pub const TUPLE_ID: u32 = 4;
446pub const XLD_CONTOUR_ID: u32 = 5;
447pub const XLD_POLYGON_ID: u32 = 6;
448pub const XLD_PARALLEL_ID: u32 = 7;
449pub const XLD_MOD_PARALLEL_ID: u32 = 8;
450pub const XLD_EXT_PARALLEL_ID: u32 = 9;
451pub const MIN_XLD_ID: u32 = 5;
452pub const MAX_XLD_ID: u32 = 9;
453pub const TRAINF_EXT: &[u8; 4] = b"trf\0";
454pub const OCR_EXT: &[u8; 4] = b"fnt\0";
455pub const OCR_BOX_EXT: &[u8; 4] = b"obc\0";
456pub const OCR_MLP_EXT: &[u8; 4] = b"omc\0";
457pub const OCR_SVM_EXT: &[u8; 4] = b"osc\0";
458pub const OCR_KNN_EXT: &[u8; 4] = b"onc\0";
459pub const OCR_KNN_EXT_LEGACY: &[u8; 4] = b"okc\0";
460pub const OCR_CNN_EXT: &[u8; 4] = b"occ\0";
461pub const OCV_EXT: &[u8; 4] = b"ocv\0";
462pub const PS_EXTENSION: &[u8; 3] = b"ps\0";
463pub const TIFF_EXTENSION: &[u8; 5] = b"tiff\0";
464pub const EXP_EXTENSION: &[u8; 4] = b"exp\0";
465pub const IMAGE_EXTENSION: &[u8; 4] = b"ima\0";
466pub const REGION_EXTENSION: &[u8; 4] = b"reg\0";
467pub const FILTER_EXTENSION: &[u8; 4] = b"fil\0";
468pub const LUT_EXTENSION: &[u8; 4] = b"lut\0";
469pub const GREYSE_EXT: &[u8; 4] = b"gse\0";
470pub const BMP_EXTENSION: &[u8; 4] = b"bmp\0";
471pub const DEEP_LEARNING_EXTENSION: &[u8; 4] = b"hdl\0";
472pub const DEEP_OCR_EXT: &[u8; 4] = b"hdo\0";
473pub const MEMORY_BLOCK_EXT: &[u8; 4] = b"bin\0";
474pub const ENCRYPTED_ITEM_EXT: &[u8; 5] = b"henc\0";
475pub const DEEP_COUNTING_EXT: &[u8; 4] = b"hdc\0";
476pub const DEEP_MATCHING_EXT: &[u8; 4] = b"dm3\0";
477pub const PI: f64 = f64::consts::PI;
478pub const PI_2: f64 = f64::consts::FRAC_PI_2;
479pub const PI_4: f64 = f64::consts::FRAC_PI_4;
480pub const DEFAULT_AGENTS_NR: u32 = 4;
481pub const GV_WRITE_INFO: u32 = 0;
482pub const GV_READ_INFO: u32 = 1;
483pub const GV_INIT_INFO: u32 = 2;
484pub const GV_GET_ADRESS: u32 = 3;
485pub const GV_REALLOC_A: u32 = 4;
486pub const GV_LOCK: u32 = 5;
487pub const GV_UNLOCK: u32 = 6;
488pub const GV_BOR_INFO: u32 = 7;
489pub const GV_BAND_INFO: u32 = 8;
490pub const GV_WRITE_REF: u32 = 9;
491pub const GV_READ_REF: u32 = 10;
492pub const CLOCK_MODE_PROCESSOR_TIME: u32 = 0;
493pub const CLOCK_MODE_ELAPSED_TIME: u32 = 1;
494pub const CLOCK_MODE_PERFORMANCE_COUNTER: u32 = 2;
495pub const CLOCK_MODE_MULTIMEDIA_TIMER: u32 = 3;
496pub const CLOCK_MODE_PROCESS_TIME: u32 = 4;
497pub const OCR_TRAINFILE_VERSION1_0: u32 = 1;
498pub const OCR_TRAINFILE_VERSION2_0: u32 = 2;
499pub const OCR_TRAINFILE_VERSION3_0: u32 = 3;
500pub const H_ENCODING_NATIVE: u32 = 1;
501pub const H_ENCODING_UTF8: u32 = 2;
502pub const H_ENCODING_HLIB: u32 = 3;
503pub const H_ENCODING_ASCII: u32 = 4;
504pub const H_ENCODING_SYSTEM: u32 = 5;
505pub const H_ENCODING_AUTO: u32 = 6;
506pub const H_ENCODING_LATIN1: u32 = 7;
507pub const H_ENCODING_SHIFTJIS: u32 = 8;
508pub const TIMER_MODE_ELAPSED_TIME: u32 = 0;
509pub const TIMER_MODE_MULTIMEDIA_TIMER: u32 = 1;
510pub const TIMER_MODE_PERFORMANCE_COUNTER: u32 = 2;
511pub const H_MSG_OK: u32 = 2;
512pub const H_MSG_TRUE: u32 = 2;
513pub const H_MSG_FALSE: u32 = 3;
514pub const H_MSG_VOID: u32 = 4;
515pub const H_MSG_FAIL: u32 = 5;
516pub const H_ERR_BREAK: u32 = 20;
517pub const H_ERR_HEN_CANCEL: u32 = 21;
518pub const H_ERR_CANCEL: u32 = 22;
519pub const H_ERR_TIMEOUT_BREAK: u32 = 23;
520pub const H_ERR_WIPT1: u32 = 1201;
521pub const H_ERR_WIPT2: u32 = 1202;
522pub const H_ERR_WIPT3: u32 = 1203;
523pub const H_ERR_WIPT4: u32 = 1204;
524pub const H_ERR_WIPT5: u32 = 1205;
525pub const H_ERR_WIPT6: u32 = 1206;
526pub const H_ERR_WIPT7: u32 = 1207;
527pub const H_ERR_WIPT8: u32 = 1208;
528pub const H_ERR_WIPT9: u32 = 1209;
529pub const H_ERR_WIPT10: u32 = 1210;
530pub const H_ERR_WIPT11: u32 = 1211;
531pub const H_ERR_WIPT12: u32 = 1212;
532pub const H_ERR_WIPT13: u32 = 1213;
533pub const H_ERR_WIPT14: u32 = 1214;
534pub const H_ERR_WIPT15: u32 = 1215;
535pub const H_ERR_WIPT16: u32 = 1216;
536pub const H_ERR_WIPT17: u32 = 1217;
537pub const H_ERR_WIPT18: u32 = 1218;
538pub const H_ERR_WIPT19: u32 = 1219;
539pub const H_ERR_WIPT20: u32 = 1220;
540pub const H_ERR_WIPV1: u32 = 1301;
541pub const H_ERR_WIPV2: u32 = 1302;
542pub const H_ERR_WIPV3: u32 = 1303;
543pub const H_ERR_WIPV4: u32 = 1304;
544pub const H_ERR_WIPV5: u32 = 1305;
545pub const H_ERR_WIPV6: u32 = 1306;
546pub const H_ERR_WIPV7: u32 = 1307;
547pub const H_ERR_WIPV8: u32 = 1308;
548pub const H_ERR_WIPV9: u32 = 1309;
549pub const H_ERR_WIPV10: u32 = 1310;
550pub const H_ERR_WIPV11: u32 = 1311;
551pub const H_ERR_WIPV12: u32 = 1312;
552pub const H_ERR_WIPV13: u32 = 1313;
553pub const H_ERR_WIPV14: u32 = 1314;
554pub const H_ERR_WIPV15: u32 = 1315;
555pub const H_ERR_WIPV16: u32 = 1316;
556pub const H_ERR_WIPV17: u32 = 1317;
557pub const H_ERR_WIPV18: u32 = 1318;
558pub const H_ERR_WIPV19: u32 = 1319;
559pub const H_ERR_WIPV20: u32 = 1320;
560pub const H_ERR_WCOMP: u32 = 1350;
561pub const H_ERR_WGCOMP: u32 = 1351;
562pub const H_ERR_WIPN1: u32 = 1401;
563pub const H_ERR_WIPN2: u32 = 1402;
564pub const H_ERR_WIPN3: u32 = 1403;
565pub const H_ERR_WIPN4: u32 = 1404;
566pub const H_ERR_WIPN5: u32 = 1405;
567pub const H_ERR_WIPN6: u32 = 1406;
568pub const H_ERR_WIPN7: u32 = 1407;
569pub const H_ERR_WIPN8: u32 = 1408;
570pub const H_ERR_WIPN9: u32 = 1409;
571pub const H_ERR_WIPN10: u32 = 1410;
572pub const H_ERR_WIPN11: u32 = 1411;
573pub const H_ERR_WIPN12: u32 = 1412;
574pub const H_ERR_WIPN13: u32 = 1413;
575pub const H_ERR_WIPN14: u32 = 1414;
576pub const H_ERR_WIPN15: u32 = 1415;
577pub const H_ERR_WIPN16: u32 = 1416;
578pub const H_ERR_WIPN17: u32 = 1417;
579pub const H_ERR_WIPN18: u32 = 1418;
580pub const H_ERR_WIPN19: u32 = 1419;
581pub const H_ERR_WIPN20: u32 = 1420;
582pub const H_ERR_IONTB: u32 = 1500;
583pub const H_ERR_WION1: u32 = 1501;
584pub const H_ERR_WION2: u32 = 1502;
585pub const H_ERR_WION3: u32 = 1503;
586pub const H_ERR_WION4: u32 = 1504;
587pub const H_ERR_WION5: u32 = 1505;
588pub const H_ERR_WION6: u32 = 1506;
589pub const H_ERR_WION7: u32 = 1507;
590pub const H_ERR_WION8: u32 = 1508;
591pub const H_ERR_WION9: u32 = 1509;
592pub const H_ERR_OONTB: u32 = 1510;
593pub const H_ERR_WNP: u32 = 2000;
594pub const H_ERR_HONI: u32 = 2001;
595pub const H_ERR_WRKNN: u32 = 2002;
596pub const H_ERR_LIC_NO_LICENSE: u32 = 2003;
597pub const H_ERR_LIC_NO_MODULES: u32 = 2005;
598pub const H_ERR_LIC_NO_LIC_OPER: u32 = 2006;
599pub const H_ERR_LIC_BADPLATFORM: u32 = 2008;
600pub const H_ERR_LIC_BADVENDORKEY: u32 = 2009;
601pub const H_ERR_LIC_BADSYSDATE: u32 = 2021;
602pub const H_ERR_LIC_BAD_VERSION: u32 = 2022;
603pub const H_ERR_LIC_CANTCONNECT: u32 = 2024;
604pub const H_ERR_LIC_MAXSESSIONS: u32 = 2028;
605pub const H_ERR_LIC_MAXUSERS: u32 = 2029;
606pub const H_ERR_LIC_NO_SERVER_IN_FILE: u32 = 2030;
607pub const H_ERR_LIC_NOFEATURE: u32 = 2031;
608pub const H_ERR_LIC_OLDVER: u32 = 2033;
609pub const H_ERR_LIC_PLATNOTLIC: u32 = 2034;
610pub const H_ERR_LIC_SERVBUSY: u32 = 2035;
611pub const H_ERR_LIC_NOCONFFILE: u32 = 2036;
612pub const H_ERR_LIC_BADFILE: u32 = 2037;
613pub const H_ERR_LIC_NOSERVER: u32 = 2038;
614pub const H_ERR_LIC_NOTTHISHOST: u32 = 2041;
615pub const H_ERR_LIC_LONGGONE: u32 = 2042;
616pub const H_ERR_LIC_BADDATE: u32 = 2043;
617pub const H_ERR_LIC_BADCOMM: u32 = 2044;
618pub const H_ERR_LIC_BADHOST: u32 = 2045;
619pub const H_ERR_LIC_CANTWRITE: u32 = 2047;
620pub const H_ERR_LIC_SERVLONGGONE: u32 = 2051;
621pub const H_ERR_LIC_TOOMANY: u32 = 2052;
622pub const H_ERR_LIC_CANTFINDETHER: u32 = 2055;
623pub const H_ERR_LIC_NOREADLIC: u32 = 2056;
624pub const H_ERR_LIC_DATE_TOOBIG: u32 = 2067;
625pub const H_ERR_LIC_NOSERVRESP: u32 = 2069;
626pub const H_ERR_LIC_SETSOCKFAIL: u32 = 2075;
627pub const H_ERR_LIC_BADCHECKSUM: u32 = 2076;
628pub const H_ERR_LIC_INTERNAL_ERROR: u32 = 2082;
629pub const H_ERR_LIC_NOSERVCAP: u32 = 2087;
630pub const H_ERR_LIC_POOL: u32 = 2091;
631pub const H_ERR_LIC_NODONGLE: u32 = 2300;
632pub const H_ERR_LIC_NODONGLEDRIVER: u32 = 2301;
633pub const H_ERR_LIC_TIMEOUT: u32 = 2318;
634pub const H_ERR_LIC_INVALID_CERTIFICATE: u32 = 2321;
635pub const H_ERR_LIC_INVALID_TLS_CERTIFICATE: u32 = 2335;
636pub const H_ERR_LIC_BAD_ACTREQ: u32 = 2339;
637pub const H_ERR_LIC_NOT_ALLOWED: u32 = 2345;
638pub const H_ERR_LIC_ACTIVATION: u32 = 2348;
639pub const H_ERR_LIC_NO_CM_RUNTIME: u32 = 2379;
640pub const H_ERR_LIC_CM_RUNTIME_TOO_OLD: u32 = 2380;
641pub const H_ERR_LIC_WRONG_EDITION: u32 = 2381;
642pub const H_ERR_LIC_UNKNOWN_FLAGS: u32 = 2382;
643pub const H_ERR_LIC_PREVIEW_EXPIRED: u32 = 2383;
644pub const H_ERR_LIC_NEWVER: u32 = 2384;
645pub const H_ERR_LIC_RANGE1_BEGIN: u32 = 2003;
646pub const H_ERR_LIC_RANGE1_END: u32 = 2091;
647pub const H_ERR_LIC_RANGE2_BEGIN: u32 = 2300;
648pub const H_ERR_LIC_RANGE2_END: u32 = 2384;
649pub const H_ERR_WOOPI: u32 = 2100;
650pub const H_ERR_WIOPI: u32 = 2101;
651pub const H_ERR_WOI: u32 = 2102;
652pub const H_ERR_WRCN: u32 = 2103;
653pub const H_ERR_WRRN: u32 = 2104;
654pub const H_ERR_AUDI: u32 = 2105;
655pub const H_ERR_WIWI: u32 = 2106;
656pub const H_ERR_WIHE: u32 = 2107;
657pub const H_ERR_ICUNDEF: u32 = 2108;
658pub const H_ERR_IDBD: u32 = 2200;
659pub const H_ERR_WICPI: u32 = 2201;
660pub const H_ERR_DBDU: u32 = 2202;
661pub const H_ERR_PNTL: u32 = 2203;
662pub const H_ERR_UEXTNI: u32 = 2205;
663pub const H_ERR_NPTL: u32 = 2206;
664pub const H_ERR_NSP: u32 = 2207;
665pub const H_ERR_ICHV: u32 = 2211;
666pub const H_ERR_ICOI: u32 = 2212;
667pub const H_ERR_XPKG_WXID: u32 = 2220;
668pub const H_ERR_XPKG_WOID: u32 = 2221;
669pub const H_ERR_XPKG_WOIID: u32 = 2222;
670pub const H_ERR_CTPL_WTYP: u32 = 2400;
671pub const H_ERR_CPAR_WTYP: u32 = 2401;
672pub const H_ERR_CTPL_WIDX: u32 = 2402;
673pub const H_ERR_WFV: u32 = 2403;
674pub const H_ERR_WRONG_HANDLE_TYPE: u32 = 2404;
675pub const H_ERR_WVTYP: u32 = 2410;
676pub const H_ERR_WVDIM: u32 = 2411;
677pub const H_ERR_WHDL: u32 = 2450;
678pub const H_ERR_WID: u32 = 2451;
679pub const H_ERR_IDOOR: u32 = 2452;
680pub const H_ERR_HANDLE_NULL: u32 = 2453;
681pub const H_ERR_HANDLE_CLEARED: u32 = 2454;
682pub const H_ERR_HANDLE_NOSER: u32 = 2455;
683pub const H_ERR_HANDLE_CYCLES: u32 = 2456;
684pub const H_ERR_WT_CTRL_EXPECTED: u32 = 2460;
685pub const H_ERR_WT_ICONIC_EXPECTED: u32 = 2461;
686pub const H_ERR_XPI_INIT_NOT_CALLED: u32 = 2500;
687pub const H_ERR_XPI_NO_INIT_FOUND: u32 = 2501;
688pub const H_ERR_XPI_UNRES: u32 = 2502;
689pub const H_ERR_XPI_HLIB_TOO_OLD: u32 = 2503;
690pub const H_ERR_XPI_XPI_TOO_OLD: u32 = 2504;
691pub const H_ERR_XPI_MAJOR_TOO_SMALL: u32 = 2505;
692pub const H_ERR_XPI_MINOR_TOO_SMALL: u32 = 2506;
693pub const H_ERR_XPI_INT_WRONG_MAJOR: u32 = 2507;
694pub const H_ERR_XPI_UNKNOW_HLIB_VER: u32 = 2508;
695pub const H_ERR_HW_WFF: u32 = 2800;
696pub const H_ERR_HW_WFV: u32 = 2801;
697pub const H_ERR_HW_RF: u32 = 2802;
698pub const H_ERR_HW_WF: u32 = 2803;
699pub const H_ERR_HW_TF: u32 = 2804;
700pub const H_ERR_HW_CPU: u32 = 2805;
701pub const H_ERR_HW_AOP: u32 = 2806;
702pub const H_ERR_HW_HVAR: u32 = 2807;
703pub const H_ERR_HW_HARCH: u32 = 2808;
704pub const H_ERR_HW_HOP: u32 = 2809;
705pub const H_ERR_HW_WAOPM: u32 = 2810;
706pub const H_ERR_HW_WTD: u32 = 2811;
707pub const H_ERR_HW_IE: u32 = 2812;
708pub const H_ERR_HW_CANCEL: u32 = 2813;
709pub const H_ERR_GV_WA: u32 = 2830;
710pub const H_ERR_GV_NC: u32 = 2831;
711pub const H_ERR_GV_NG: u32 = 2832;
712pub const H_ERR_HM_NT: u32 = 2835;
713pub const H_ERR_HM_NA: u32 = 2837;
714pub const H_ERR_AG_CN: u32 = 2838;
715pub const H_ERR_AG_NC: u32 = 2839;
716pub const H_ERR_AG_IN: u32 = 2840;
717pub const H_ERR_AG_NT: u32 = 2841;
718pub const H_ERR_AG_HW: u32 = 2842;
719pub const H_ERR_AG_II: u32 = 2843;
720pub const H_ERR_AG_IK: u32 = 2844;
721pub const H_ERR_AG_WV: u32 = 2845;
722pub const H_ERR_AG_WH: u32 = 2846;
723pub const H_ERR_AG_KC: u32 = 2847;
724pub const H_ERR_AG_CT: u32 = 2848;
725pub const H_ERR_AG_MT: u32 = 2849;
726pub const H_ERR_AG_WK: u32 = 2850;
727pub const H_ERR_AG_WW: u32 = 2851;
728pub const H_ERR_AG_WA: u32 = 2852;
729pub const H_ERR_AG_WE: u32 = 2853;
730pub const H_ERR_AG_NU: u32 = 2854;
731pub const H_ERR_AG_NE: u32 = 2855;
732pub const H_ERR_AG_RR: u32 = 2856;
733pub const H_ERR_AG_CR: u32 = 2857;
734pub const H_ERR_AG_RN: u32 = 2858;
735pub const H_ERR_AG_TILT: u32 = 2859;
736pub const H_ERR_WRT: u32 = 2860;
737pub const H_ERR_WRS: u32 = 2861;
738pub const H_ERR_UNKPT: u32 = 2862;
739pub const H_ERR_UNKPARVAL: u32 = 2863;
740pub const H_ERR_CTRL_WPP: u32 = 2864;
741pub const H_ERR_GETTI: u32 = 2867;
742pub const H_ERR_GETCPUNUM: u32 = 2868;
743pub const H_ERR_TMPFNF: u32 = 2869;
744pub const H_ERR_MQCNCL: u32 = 2890;
745pub const H_ERR_MQOVL: u32 = 2891;
746pub const H_ERR_MQCLEAR: u32 = 2892;
747pub const H_ERR_M_WRFILE: u32 = 2893;
748pub const H_ERR_DICT_KEY: u32 = 2894;
749pub const H_ERR_DICT_TUPLE_LENGTH: u32 = 2895;
750pub const H_ERR_DICT_TUPLE_TYPE: u32 = 2896;
751pub const H_ERR_DICT_INVALID_INDEX: u32 = 2897;
752pub const H_ERR_PTHRD_SCHED: u32 = 2900;
753pub const H_ERR_SCHED_GAFF: u32 = 2901;
754pub const H_ERR_SCHED_SAFF: u32 = 2902;
755pub const H_ERR_CO_WSO: u32 = 2950;
756pub const H_ERR_CO_WOCO: u32 = 2952;
757pub const H_ERR_CO_IOPNI: u32 = 2953;
758pub const H_ERR_CO_ICPNI: u32 = 2954;
759pub const H_ERR_CO_OOPNI: u32 = 2955;
760pub const H_ERR_CO_OCPNI: u32 = 2956;
761pub const H_ERR_PTHRD_CR: u32 = 2970;
762pub const H_ERR_PTHRD_DT: u32 = 2971;
763pub const H_ERR_PTHRD_JO: u32 = 2972;
764pub const H_ERR_PTHRD_MI: u32 = 2973;
765pub const H_ERR_PTHRD_MD: u32 = 2974;
766pub const H_ERR_PTHRD_ML: u32 = 2975;
767pub const H_ERR_PTHRD_MU: u32 = 2976;
768pub const H_ERR_PTHRD_CS: u32 = 2977;
769pub const H_ERR_PTHRD_CW: u32 = 2978;
770pub const H_ERR_PTHRD_CI: u32 = 2979;
771pub const H_ERR_PTHRD_CD: u32 = 2980;
772pub const H_ERR_PTHRD_ES: u32 = 2981;
773pub const H_ERR_PTHRD_EW: u32 = 2982;
774pub const H_ERR_PTHRD_EI: u32 = 2983;
775pub const H_ERR_PTHRD_ED: u32 = 2984;
776pub const H_ERR_PTHRD_TSDC: u32 = 2985;
777pub const H_ERR_PTHRD_TSDS: u32 = 2986;
778pub const H_ERR_PTHRD_TSDG: u32 = 2987;
779pub const H_ERR_PTHRD_TSDF: u32 = 2988;
780pub const H_ERR_PTHRD_BA: u32 = 2989;
781pub const H_ERR_DCDG_FLE: u32 = 2990;
782pub const H_ERR_MSG_PNCI: u32 = 2991;
783pub const H_ERR_MSG_CSAI: u32 = 2992;
784pub const H_ERR_MSG_CSNI: u32 = 2993;
785pub const H_ERR_PTHRD_BI: u32 = 2994;
786pub const H_ERR_PTHRD_BW: u32 = 2995;
787pub const H_ERR_PTHRD_BD: u32 = 2996;
788pub const H_ERR_RCOIMA: u32 = 3010;
789pub const H_ERR_ROOIMA: u32 = 3011;
790pub const H_ERR_RIEI: u32 = 3012;
791pub const H_ERR_EDEF: u32 = 3013;
792pub const H_ERR_IIEI: u32 = 3014;
793pub const H_ERR_FLTS: u32 = 3015;
794pub const H_ERR_LLTB: u32 = 3016;
795pub const H_ERR_UENOI: u32 = 3017;
796pub const H_ERR_HTS: u32 = 3018;
797pub const H_ERR_WTS: u32 = 3019;
798pub const H_ERR_CHSEG: u32 = 3020;
799pub const H_ERR_RLSEG1: u32 = 3021;
800pub const H_ERR_WGAUSSM: u32 = 3022;
801pub const H_ERR_FSEIS: u32 = 3033;
802pub const H_ERR_FSEVAN: u32 = 3034;
803pub const H_ERR_FSTOBIG: u32 = 3035;
804pub const H_ERR_EMPTREG: u32 = 3036;
805pub const H_ERR_DOM_DIFF: u32 = 3037;
806pub const H_ERR_ROWTB: u32 = 3040;
807pub const H_ERR_ROWTS: u32 = 3041;
808pub const H_ERR_COLTB: u32 = 3042;
809pub const H_ERR_COLTS: u32 = 3043;
810pub const H_ERR_WRTHR: u32 = 3100;
811pub const H_ERR_UNKF: u32 = 3101;
812pub const H_ERR_UNKG: u32 = 3102;
813pub const H_ERR_EINCC: u32 = 3103;
814pub const H_ERR_EINCP1: u32 = 3104;
815pub const H_ERR_EINCP2: u32 = 3105;
816pub const H_ERR_TMR: u32 = 3106;
817pub const H_ERR_SFZ: u32 = 3107;
818pub const H_ERR_OOR: u32 = 3108;
819pub const H_ERR_NEF: u32 = 3109;
820pub const H_ERR_NOOB: u32 = 3110;
821pub const H_ERR_EMPOB: u32 = 3111;
822pub const H_ERR_NPOT: u32 = 3112;
823pub const H_ERR_TMEP: u32 = 3113;
824pub const H_ERR_LTB: u32 = 3114;
825pub const H_ERR_NNLA: u32 = 3115;
826pub const H_ERR_WFS: u32 = 3116;
827pub const H_ERR_IWDS: u32 = 3117;
828pub const H_ERR_IWTL: u32 = 3118;
829pub const H_ERR_IWTS: u32 = 3119;
830pub const H_ERR_IHTL: u32 = 3120;
831pub const H_ERR_IHTS: u32 = 3121;
832pub const H_ERR_DNOC: u32 = 3122;
833pub const H_ERR_WRCFAFLT: u32 = 3123;
834pub const H_ERR_WRCFAINT: u32 = 3124;
835pub const H_ERR_NO_AFFTRANS: u32 = 3125;
836pub const H_ERR_INPNOBDRY: u32 = 3126;
837pub const H_ERR_DSIZESD: u32 = 3127;
838pub const H_ERR_TMFEAT: u32 = 3128;
839pub const H_ERR_AXIS_UNDEF: u32 = 3129;
840pub const H_ERR_COWTS: u32 = 3131;
841pub const H_ERR_COHTS: u32 = 3132;
842pub const H_ERR_NUM_COLMN: u32 = 3133;
843pub const H_ERR_NUM_LINES: u32 = 3134;
844pub const H_ERR_OVL: u32 = 3135;
845pub const H_ERR_NOT_SYM: u32 = 3136;
846pub const H_ERR_NUM_COLS: u32 = 3137;
847pub const H_ERR_SYNTAX: u32 = 3138;
848pub const H_ERR_MISSING: u32 = 3139;
849pub const H_ERR_COOC_MEM: u32 = 3140;
850pub const H_ERR_NO_FILE: u32 = 3141;
851pub const H_ERR_FILE_WR: u32 = 3142;
852pub const H_ERR_NUM_LUCOLS: u32 = 3143;
853pub const H_ERR_WNOLI: u32 = 3145;
854pub const H_ERR_DITS: u32 = 3146;
855pub const H_ERR_WINTM: u32 = 3147;
856pub const H_ERR_THICK_NK: u32 = 3148;
857pub const H_ERR_WIND3: u32 = 3170;
858pub const H_ERR_WIND5: u32 = 3171;
859pub const H_ERR_WIND7: u32 = 3172;
860pub const H_ERR_WLAWSS: u32 = 3173;
861pub const H_ERR_NE_NPTS: u32 = 3175;
862pub const H_ERR_WNEE: u32 = 3200;
863pub const H_ERR_REF: u32 = 3201;
864pub const H_ERR_XLDWT: u32 = 3250;
865pub const H_ERR_XLD_RPF: u32 = 3252;
866pub const H_ERR_XLD_MCL: u32 = 3253;
867pub const H_ERR_XLD_MCN: u32 = 3254;
868pub const H_ERR_XLD_CTS: u32 = 3255;
869pub const H_ERR_XLD_CRD: u32 = 3256;
870pub const H_ERR_XLD_CRND: u32 = 3257;
871pub const H_ERR_DBXC: u32 = 3258;
872pub const H_ERR_DBWXID: u32 = 3259;
873pub const H_ERR_XLD_WNP: u32 = 3260;
874pub const H_ERR_XLD_CAND: u32 = 3261;
875pub const H_ERR_FIT_ELLIPSE: u32 = 3262;
876pub const H_ERR_FIT_CIRCLE: u32 = 3263;
877pub const H_ERR_FIT_CLIP: u32 = 3264;
878pub const H_ERR_FIT_QUADRANGLE: u32 = 3265;
879pub const H_ERR_INCOMPL_RECT: u32 = 3266;
880pub const H_ERR_XLD_COI: u32 = 3267;
881pub const H_ERR_FIT_NOT_ENOUGH_POINTS: u32 = 3274;
882pub const H_ERR_NWF: u32 = 3275;
883pub const H_ERR_NAIGF: u32 = 3276;
884pub const H_ERR_DXF_UEOF: u32 = 3278;
885pub const H_ERR_DXF_CRGC: u32 = 3279;
886pub const H_ERR_DXF_INAPP: u32 = 3280;
887pub const H_ERR_DXF_INAPPN: u32 = 3281;
888pub const H_ERR_DXF_INAPCN: u32 = 3282;
889pub const H_ERR_DXF_CRAPP: u32 = 3283;
890pub const H_ERR_DXF_CRAPC: u32 = 3284;
891pub const H_ERR_DXF_CRAN: u32 = 3285;
892pub const H_ERR_DXF_WPN: u32 = 3286;
893pub const H_ERR_DXF_IEDT: u32 = 3289;
894pub const H_ERR_XLD_ISOL_POINT: u32 = 3290;
895pub const H_ERR_NURBS_CCBF: u32 = 3291;
896pub const H_ERR_NSEG: u32 = 3292;
897pub const H_ERR_NO_ONE_P: u32 = 3293;
898pub const H_ERR_SESF: u32 = 3300;
899pub const H_ERR_TMFE: u32 = 3301;
900pub const H_ERR_OPSF: u32 = 3302;
901pub const H_ERR_TMSS: u32 = 3303;
902pub const H_ERR_TMSAM: u32 = 3305;
903pub const H_ERR_TMCLS: u32 = 3306;
904pub const H_ERR_TMBOX: u32 = 3307;
905pub const H_ERR_OPCF: u32 = 3308;
906pub const H_ERR_SCLA: u32 = 3309;
907pub const H_ERR_OPF: u32 = 3310;
908pub const H_ERR_CLEX: u32 = 3311;
909pub const H_ERR_TMCLA: u32 = 3312;
910pub const H_ERR_CNTL: u32 = 3313;
911pub const H_ERR_CLNNF: u32 = 3314;
912pub const H_ERR_NCCLA: u32 = 3315;
913pub const H_ERR_CLASS2_ID: u32 = 3316;
914pub const H_ERR_CLASS2_VERS: u32 = 3317;
915pub const H_ERR_CLASS_NOSITEM: u32 = 3318;
916pub const H_ERR_TM_NO_CL: u32 = 3319;
917pub const H_ERR_KNN_CANNOT_ADD: u32 = 3320;
918pub const H_ERR_ML_KMEAN_INITIALIZATION_ERROR: u32 = 3325;
919pub const H_ERR_GMM_NOTRAINFILE: u32 = 3330;
920pub const H_ERR_GMM_WRTRAINVERS: u32 = 3331;
921pub const H_ERR_GMM_WRSMPFORMAT: u32 = 3332;
922pub const H_ERR_GMM_NOCLASSFILE: u32 = 3333;
923pub const H_ERR_GMM_WRCLASSVERS: u32 = 3334;
924pub const H_ERR_GMM_TRAIN_UNKERR: u32 = 3335;
925pub const H_ERR_GMM_TRAIN_COLLAPSED: u32 = 3336;
926pub const H_ERR_GMM_TRAIN_NOSAMPLE: u32 = 3337;
927pub const H_ERR_GMM_TRAIN_FEWSAMPLES: u32 = 3338;
928pub const H_ERR_GMM_NOTTRAINED: u32 = 3340;
929pub const H_ERR_GMM_NOTRAINDATA: u32 = 3341;
930pub const H_ERR_GMM_NOSITEM: u32 = 3342;
931pub const H_ERR_MLP_UNKOUTFUNC: u32 = 3350;
932pub const H_ERR_MLP_NOT01ENC: u32 = 3351;
933pub const H_ERR_MLP_NOTRAINDATA: u32 = 3352;
934pub const H_ERR_MLP_NOTRAINFILE: u32 = 3353;
935pub const H_ERR_MLP_WRTRAINVERS: u32 = 3354;
936pub const H_ERR_MLP_WRSMPFORMAT: u32 = 3355;
937pub const H_ERR_MLP_NOCLASSIF: u32 = 3356;
938pub const H_ERR_MLP_NOCLASSFILE: u32 = 3357;
939pub const H_ERR_MLP_WRCLASSVERS: u32 = 3358;
940pub const H_ERR_WRNUMCHAN: u32 = 3359;
941pub const H_ERR_MLP_WRNUMPARAM: u32 = 3360;
942pub const H_ERR_MLP_NOSITEM: u32 = 3361;
943pub const H_ERR_LUT_WRNUMCHAN: u32 = 3370;
944pub const H_ERR_LUT_NRCHANLARGE: u32 = 3371;
945pub const H_ERR_LUT_CANNOTCREAT: u32 = 3372;
946pub const H_ERR_SVM_NOTRAINDATA: u32 = 3380;
947pub const H_ERR_SVM_NOTRAINFILE: u32 = 3381;
948pub const H_ERR_SVM_WRTRAINVERS: u32 = 3382;
949pub const H_ERR_SVM_WRSMPFORMAT: u32 = 3383;
950pub const H_ERR_SVM_NOCLASSFILE: u32 = 3384;
951pub const H_ERR_SVM_WRCLASSVERS: u32 = 3385;
952pub const H_ERR_SVM_WRNRCLASS: u32 = 3386;
953pub const H_ERR_SVM_NU_TOO_BIG: u32 = 3387;
954pub const H_ERR_SVM_TRAIN_FAIL: u32 = 3388;
955pub const H_ERR_SVM_DO_NOT_FIT: u32 = 3389;
956pub const H_ERR_SVM_NO_TRAIN_ADD: u32 = 3390;
957pub const H_ERR_SVM_KERNELNOTRBF: u32 = 3391;
958pub const H_ERR_SVM_NO_TRAIND_FOR_CLASS: u32 = 3392;
959pub const H_ERR_SVM_NOT_TRAINED: u32 = 3393;
960pub const H_ERR_NOT_TRAINED: u32 = 3394;
961pub const H_ERR_SVM_NOSITEM: u32 = 3395;
962pub const H_ERR_ROTNR: u32 = 3401;
963pub const H_ERR_GOL: u32 = 3402;
964pub const H_ERR_BEZ: u32 = 3403;
965pub const H_ERR_ITER: u32 = 3404;
966pub const H_ERR_MOSYS: u32 = 3405;
967pub const H_ERR_ART: u32 = 3406;
968pub const H_ERR_OBJI: u32 = 3407;
969pub const H_ERR_OBJO: u32 = 3408;
970pub const H_ERR_PARI: u32 = 3409;
971pub const H_ERR_PARO: u32 = 3410;
972pub const H_ERR_SELC: u32 = 3411;
973pub const H_ERR_WRNSE: u32 = 3412;
974pub const H_ERR_WRRLN1: u32 = 3500;
975pub const H_ERR_WRRLN2: u32 = 3501;
976pub const H_ERR_WRRLL: u32 = 3502;
977pub const H_ERR_RLLTB: u32 = 3503;
978pub const H_ERR_RLLTS: u32 = 3504;
979pub const H_ERR_RLCTB: u32 = 3505;
980pub const H_ERR_RLCTS: u32 = 3506;
981pub const H_ERR_CHLTB: u32 = 3507;
982pub const H_ERR_CHLTS: u32 = 3508;
983pub const H_ERR_CHCTB: u32 = 3509;
984pub const H_ERR_MRLE: u32 = 3510;
985pub const H_ERR_ICCOMPL: u32 = 3511;
986pub const H_ERR_RLEMAX: u32 = 3512;
987pub const H_ERR_WRRLN3: u32 = 3513;
988pub const H_ERR_OPNOCOMPL: u32 = 3514;
989pub const H_ERR_WIMAW1: u32 = 3520;
990pub const H_ERR_WIMAW2: u32 = 3521;
991pub const H_ERR_WIMAH1: u32 = 3522;
992pub const H_ERR_WIMAH2: u32 = 3523;
993pub const H_ERR_WIMAW3: u32 = 3524;
994pub const H_ERR_WIMAH3: u32 = 3525;
995pub const H_ERR_TMS: u32 = 3550;
996pub const H_ERR_NO_INT8_IMAGE: u32 = 3551;
997pub const H_ERR_POINT_AT_INFINITY: u32 = 3600;
998pub const H_ERR_ML_NO_COVARIANCE: u32 = 3601;
999pub const H_ERR_RANSAC_PRNG: u32 = 3602;
1000pub const H_ERR_RANSAC_TOO_DIFFERENT: u32 = 3603;
1001pub const H_ERR_PTI_FALLBACK: u32 = 3604;
1002pub const H_ERR_PTI_TRAFO_SING: u32 = 3605;
1003pub const H_ERR_PTI_MOSAIC_UNDERDET: u32 = 3606;
1004pub const H_ERR_COV_NPD: u32 = 3607;
1005pub const H_ERR_TOO_MANY_POINTS: u32 = 3608;
1006pub const H_ERR_INPC: u32 = 3620;
1007pub const H_ERR_NOPA: u32 = 3621;
1008pub const H_ERR_IINE: u32 = 3622;
1009pub const H_ERR_NOCM: u32 = 3623;
1010pub const H_ERR_SKNZ: u32 = 3624;
1011pub const H_ERR_ILFL: u32 = 3625;
1012pub const H_ERR_KANZ: u32 = 3626;
1013pub const H_ERR_VARA: u32 = 3627;
1014pub const H_ERR_LVDE: u32 = 3628;
1015pub const H_ERR_KPAR: u32 = 3629;
1016pub const H_ERR_IMOD: u32 = 3630;
1017pub const H_ERR_PNIC: u32 = 3631;
1018pub const H_ERR_NO_SOL: u32 = 3632;
1019pub const H_ERR_TINZ: u32 = 3633;
1020pub const H_ERR_ILMD: u32 = 3640;
1021pub const H_ERR_RDS_NSC: u32 = 3660;
1022pub const H_ERR_RDS_NSS: u32 = 3661;
1023pub const H_ERR_RDS_ISS: u32 = 3662;
1024pub const H_ERR_RDS_NEC: u32 = 3663;
1025pub const H_ERR_NOFFTOPT: u32 = 3650;
1026pub const H_ERR_WRFFTOPTVERS: u32 = 3651;
1027pub const H_ERR_WRHALCONVERS: u32 = 3652;
1028pub const H_ERR_OPTFAIL: u32 = 3653;
1029pub const H_ERR_FFTOPT_NOSITEM: u32 = 3654;
1030pub const H_ERR_INVLD_DISP_RANGE: u32 = 3690;
1031pub const H_ERR_EPIINIM: u32 = 3700;
1032pub const H_ERR_EPI_FOV: u32 = 3701;
1033pub const H_ERR_EPI_RECT: u32 = 3702;
1034pub const H_ERR_BI_WT_TARGET: u32 = 3710;
1035pub const H_ERR_BI_WT_THICKNESS: u32 = 3711;
1036pub const H_ERR_BI_WT_POSITION: u32 = 3712;
1037pub const H_ERR_BI_WT_SIGMA: u32 = 3713;
1038pub const H_ERR_BI_WV_SIGMA: u32 = 3714;
1039pub const H_ERR_BI_WT_THRESH: u32 = 3715;
1040pub const H_ERR_BI_WV_TARGET: u32 = 3716;
1041pub const H_ERR_BI_WV_THICKNESS: u32 = 3717;
1042pub const H_ERR_BI_WV_POSITION: u32 = 3718;
1043pub const H_ERR_BI_WV_THRESH: u32 = 3719;
1044pub const H_ERR_BI_WT_REFINE: u32 = 3720;
1045pub const H_ERR_BI_WV_REFINE: u32 = 3721;
1046pub const H_ERR_BI_WT_RESOL: u32 = 3722;
1047pub const H_ERR_BI_WV_RESOL: u32 = 3723;
1048pub const H_ERR_BI_WT_POLARITY: u32 = 3724;
1049pub const H_ERR_BI_WV_POLARITY: u32 = 3725;
1050pub const H_ERR_SOL_EMPTY_MODEL_LIST: u32 = 3751;
1051pub const H_ERR_SOL_WNIW: u32 = 3752;
1052pub const H_ERR_SOL_WNIH: u32 = 3753;
1053pub const H_ERR_SOL_WPROF_REG: u32 = 3754;
1054pub const H_ERR_SOL_CAL_NONE: u32 = 3755;
1055pub const H_ERR_SOL_UNDEF_DISPARITY: u32 = 3756;
1056pub const H_ERR_SOL_UNDEF_DISPDOMAIN: u32 = 3757;
1057pub const H_ERR_SOL_UNDEF_CAMPAR: u32 = 3758;
1058pub const H_ERR_SOL_UNDEF_LPCS: u32 = 3759;
1059pub const H_ERR_SOL_UNDEF_CCS: u32 = 3760;
1060pub const H_ERR_SOL_UNDEF_CCS_2_LPCS: u32 = 3761;
1061pub const H_ERR_SOL_UNDEF_MOV_POSE: u32 = 3762;
1062pub const H_ERR_SOL_WV_SCALE: u32 = 3763;
1063pub const H_ERR_SOL_WV_PAR_NAME: u32 = 3764;
1064pub const H_ERR_SOL_WT_METHOD: u32 = 3765;
1065pub const H_ERR_SOL_WT_AMBIGUITY: u32 = 3766;
1066pub const H_ERR_SOL_WT_SCORE_TYPE: u32 = 3767;
1067pub const H_ERR_SOL_WT_CALIBRATION: u32 = 3768;
1068pub const H_ERR_SOL_WT_NUM_PROF: u32 = 3769;
1069pub const H_ERR_SOL_WT_CAM_PAR: u32 = 3770;
1070pub const H_ERR_SOL_WT_PAR_POSE: u32 = 3771;
1071pub const H_ERR_SOL_WV_METHOD: u32 = 3772;
1072pub const H_ERR_SOL_WT_THRES: u32 = 3773;
1073pub const H_ERR_SOL_WV_AMBIGUITY: u32 = 3774;
1074pub const H_ERR_SOL_WV_SCORE_TYPE: u32 = 3775;
1075pub const H_ERR_SOL_WV_CALIBRATION: u32 = 3776;
1076pub const H_ERR_SOL_WV_NUM_PROF: u32 = 3777;
1077pub const H_ERR_SOL_WV_CAMERA_TYPE: u32 = 3778;
1078pub const H_ERR_SOL_WN_CAM_PAR: u32 = 3779;
1079pub const H_ERR_SOL_WN_POSE: u32 = 3780;
1080pub const H_ERR_SOL_NO_TARGET_FOUND: u32 = 3781;
1081pub const H_ERR_SOL_NO_VALID_SOL: u32 = 3782;
1082pub const H_ERR_SOL_WT_CALIB_OBJECT: u32 = 3783;
1083pub const H_ERR_SOL_INVALID_CALIB_OBJECT: u32 = 3784;
1084pub const H_ERR_SOL_NO_CALIB_OBJECT_SET: u32 = 3785;
1085pub const H_ERR_SOL_WR_FILE_FORMAT: u32 = 3786;
1086pub const H_ERR_SOL_WR_FILE_VERS: u32 = 3787;
1087pub const H_ERR_SOL_CAMPAR_UNSUPPORTED: u32 = 3788;
1088pub const H_ERR_SOL_PAR_CALIB: u32 = 3790;
1089pub const H_ERR_SOL_WGV_DISP: u32 = 3791;
1090pub const H_ERR_TI_WRONGMODEL: u32 = 3800;
1091pub const H_ERR_TI_NOTTRAINED: u32 = 3801;
1092pub const H_ERR_TI_NOTRAINDATA: u32 = 3802;
1093pub const H_ERR_TI_NOTRAINFILE: u32 = 3803;
1094pub const H_ERR_TI_WRTRAINVERS: u32 = 3804;
1095pub const H_ERR_TI_WRSMPFORMAT: u32 = 3805;
1096pub const H_ERR_TI_WRSMPVERS: u32 = 3806;
1097pub const H_ERR_TI_WRIMGSIZE: u32 = 3807;
1098pub const H_ERR_TI_WRSMPTEXMODEL: u32 = 3808;
1099pub const H_ERR_NOT_ENOUGH_IMAGES: u32 = 3809;
1100pub const H_ERR_SING: u32 = 3850;
1101pub const H_ERR_FEWIM: u32 = 3851;
1102pub const H_ERR_ZBR_NOS: u32 = 3852;
1103pub const H_ERR_DIMK: u32 = 3900;
1104pub const H_ERR_NOFILE: u32 = 3901;
1105pub const H_ERR_FF1: u32 = 3902;
1106pub const H_ERR_FF2: u32 = 3903;
1107pub const H_ERR_FF3: u32 = 3904;
1108pub const H_ERR_NO_A: u32 = 3905;
1109pub const H_ERR_NO_C: u32 = 3906;
1110pub const H_ERR_NO_Q: u32 = 3907;
1111pub const H_ERR_NO_R: u32 = 3908;
1112pub const H_ERR_NO_GU: u32 = 3909;
1113pub const H_ERR_NOTSYMM: u32 = 3910;
1114pub const H_ERR_SINGU: u32 = 3911;
1115pub const H_ERR_SLM_NOT_PERSISTENT: u32 = 3950;
1116pub const H_ERR_SLM_MSW_TOO_LARGE: u32 = 3951;
1117pub const H_ERR_SLM_SSW_TOO_LARGE: u32 = 3952;
1118pub const H_ERR_SLM_MSW_GT_SSW: u32 = 3953;
1119pub const H_ERR_SLM_SSW_LT_MSW: u32 = 3954;
1120pub const H_ERR_SLM_NOT_PREP: u32 = 3955;
1121pub const H_ERR_SLM_NO_OBJS: u32 = 3956;
1122pub const H_ERR_SLM_WRVERS: u32 = 3957;
1123pub const H_ERR_SLM_WRFILE: u32 = 3958;
1124pub const H_ERR_SLM_WRONGPATTERN: u32 = 3959;
1125pub const H_ERR_SLM_NOT_DECODED: u32 = 3960;
1126pub const H_ERR_SLM_WRONGMODEL: u32 = 3961;
1127pub const H_ERR_SLM_WNUMCAMS: u32 = 3962;
1128pub const H_ERR_SLM_WPATTSIZE: u32 = 3963;
1129pub const H_ERR_SLM_WRONGCTYPE: u32 = 3964;
1130pub const H_ERR_SLM_WRONGPTYPE: u32 = 3965;
1131pub const H_ERR_SLM_NO_CSM: u32 = 3966;
1132pub const H_ERR_SLM_NO_VERT: u32 = 3967;
1133pub const H_ERR_SLM_NOT_DEC_REC: u32 = 3968;
1134pub const H_ERR_SLM_WCAMSIZE: u32 = 3969;
1135pub const H_ERR_DBOIT: u32 = 4050;
1136pub const H_ERR_DBOC: u32 = 4051;
1137pub const H_ERR_DBWOID: u32 = 4052;
1138pub const H_ERR_DBTC: u32 = 4053;
1139pub const H_ERR_DBWTID: u32 = 4054;
1140pub const H_ERR_DBTIO: u32 = 4055;
1141pub const H_ERR_DBIDNULL: u32 = 4056;
1142pub const H_ERR_WDBID: u32 = 4057;
1143pub const H_ERR_DBIC: u32 = 4058;
1144pub const H_ERR_DBWIID: u32 = 4059;
1145pub const H_ERR_DBRC: u32 = 4060;
1146pub const H_ERR_DBWRID: u32 = 4061;
1147pub const H_ERR_WCHAN: u32 = 4062;
1148pub const H_ERR_DBITL: u32 = 4063;
1149pub const H_ERR_DBIUNDEF: u32 = 4064;
1150pub const H_ERR_NO_OPENCL: u32 = 4100;
1151pub const H_ERR_OPENCL_ERROR: u32 = 4101;
1152pub const H_ERR_NO_COMPUTE_DEVICES: u32 = 4102;
1153pub const H_ERR_NO_DEVICE_IMPL: u32 = 4103;
1154pub const H_ERR_OUT_OF_DEVICE_MEM: u32 = 4104;
1155pub const H_ERR_INVALID_SHAPE: u32 = 4105;
1156pub const H_ERR_INVALID_DEVICE: u32 = 4106;
1157pub const H_ERR_CUDA_ERROR: u32 = 4200;
1158pub const H_ERR_CUDNN_ERROR: u32 = 4201;
1159pub const H_ERR_CUBLAS_ERROR: u32 = 4202;
1160pub const H_ERR_BATCH_SIZE_NOT_SUPPORTED: u32 = 4203;
1161pub const H_ERR_CUDA_NOT_AVAILABLE: u32 = 4204;
1162pub const H_ERR_CUDNN_UNSUPPORTED_VERSION: u32 = 4205;
1163pub const H_ERR_CUDNN_FEATURE_NOT_SUPPORTED: u32 = 4206;
1164pub const H_ERR_CUDA_DRIVER_VERSION: u32 = 4207;
1165pub const H_ERR_TRAINING_UNSUPPORTED: u32 = 4301;
1166pub const H_ERR_CPU_INFERENCE_NOT_AVAILABLE: u32 = 4302;
1167pub const H_ERR_DNNL_ERROR: u32 = 4303;
1168pub const H_ERR_HAI2_ERROR: u32 = 4320;
1169pub const H_ERR_HAI2_INVALID_PARAM: u32 = 4321;
1170pub const H_ERR_ACL_ERROR: u32 = 4400;
1171pub const H_ERR_VISUALIZATION: u32 = 4500;
1172pub const H_ERR_COLOR_TYPE_UNEXP: u32 = 4501;
1173pub const H_ERR_NUM_COLOR_EXCEEDED: u32 = 4502;
1174pub const H_ERR_WSCN: u32 = 5100;
1175pub const H_ERR_DSCO: u32 = 5101;
1176pub const H_ERR_WWC: u32 = 5102;
1177pub const H_ERR_NWA: u32 = 5103;
1178pub const H_ERR_DNA: u32 = 5104;
1179pub const H_ERR_UCOL: u32 = 5105;
1180pub const H_ERR_NWO: u32 = 5106;
1181pub const H_ERR_WFM: u32 = 5107;
1182pub const H_ERR_WGV: u32 = 5108;
1183pub const H_ERR_WPV: u32 = 5109;
1184pub const H_ERR_WLW: u32 = 5110;
1185pub const H_ERR_WCUR: u32 = 5111;
1186pub const H_ERR_WLUT: u32 = 5112;
1187pub const H_ERR_WDM: u32 = 5113;
1188pub const H_ERR_WRCO: u32 = 5114;
1189pub const H_ERR_WRDM: u32 = 5115;
1190pub const H_ERR_WRIT: u32 = 5116;
1191pub const H_ERR_IPIT: u32 = 5117;
1192pub const H_ERR_WRZS: u32 = 5118;
1193pub const H_ERR_WRDS: u32 = 5119;
1194pub const H_ERR_WRDV: u32 = 5120;
1195pub const H_ERR_WWINF: u32 = 5121;
1196pub const H_ERR_WDEXT: u32 = 5122;
1197pub const H_ERR_WWT: u32 = 5123;
1198pub const H_ERR_WND: u32 = 5124;
1199pub const H_ERR_WRGB: u32 = 5125;
1200pub const H_ERR_WPNS: u32 = 5126;
1201pub const H_ERR_WCM: u32 = 5127;
1202pub const H_ERR_FNA: u32 = 5128;
1203pub const H_ERR_LNFS: u32 = 5129;
1204pub const H_ERR_LOFL: u32 = 5130;
1205pub const H_ERR_WIDT: u32 = 5131;
1206pub const H_ERR_WWDS: u32 = 5132;
1207pub const H_ERR_NDVS: u32 = 5133;
1208pub const H_ERR_WBW: u32 = 5134;
1209pub const H_ERR_WDVS: u32 = 5135;
1210pub const H_ERR_TMF: u32 = 5136;
1211pub const H_ERR_WFN: u32 = 5137;
1212pub const H_ERR_WCP: u32 = 5138;
1213pub const H_ERR_NTW: u32 = 5139;
1214pub const H_ERR_NPW: u32 = 5140;
1215pub const H_ERR_STL: u32 = 5141;
1216pub const H_ERR_NSS: u32 = 5142;
1217pub const H_ERR_NMS: u32 = 5143;
1218pub const H_ERR_DWNA: u32 = 5144;
1219pub const H_ERR_WOM: u32 = 5145;
1220pub const H_ERR_WWM: u32 = 5146;
1221pub const H_ERR_LUTF: u32 = 5147;
1222pub const H_ERR_LUTN8: u32 = 5148;
1223pub const H_ERR_WTCM: u32 = 5149;
1224pub const H_ERR_WIFTL: u32 = 5150;
1225pub const H_ERR_WSOI: u32 = 5151;
1226pub const H_ERR_HRLUT: u32 = 5152;
1227pub const H_ERR_WPFSL: u32 = 5153;
1228pub const H_ERR_WPVS: u32 = 5154;
1229pub const H_ERR_WLPN: u32 = 5155;
1230pub const H_ERR_WLPL: u32 = 5156;
1231pub const H_ERR_WNOC: u32 = 5157;
1232pub const H_ERR_WPST: u32 = 5158;
1233pub const H_ERR_SWNA: u32 = 5159;
1234pub const H_ERR_NSFO: u32 = 5160;
1235pub const H_ERR_WSPN: u32 = 5161;
1236pub const H_ERR_WIFFD: u32 = 5162;
1237pub const H_ERR_WLUTF: u32 = 5163;
1238pub const H_ERR_WLUTE: u32 = 5164;
1239pub const H_ERR_WLUTD: u32 = 5165;
1240pub const H_ERR_CNDP: u32 = 5166;
1241pub const H_ERR_LNPR: u32 = 5167;
1242pub const H_ERR_NFSC: u32 = 5168;
1243pub const H_ERR_NACD: u32 = 5169;
1244pub const H_ERR_LUTO: u32 = 5170;
1245pub const H_ERR_WCC: u32 = 5171;
1246pub const H_ERR_WWATTRT: u32 = 5172;
1247pub const H_ERR_WWATTRN: u32 = 5173;
1248pub const H_ERR_WRSPART: u32 = 5174;
1249pub const H_ERR_WCSPART: u32 = 5175;
1250pub const H_ERR_WNCV: u32 = 5176;
1251pub const H_ERR_FONT_NA: u32 = 5177;
1252pub const H_ERR_WDIFFTH: u32 = 5178;
1253pub const H_ERR_OBJ_ATTACHED: u32 = 5194;
1254pub const H_ERR_CHA3: u32 = 5180;
1255pub const H_ERR_NMWA: u32 = 5181;
1256pub const H_ERR_DEPTH_NOT_STORED: u32 = 5179;
1257pub const H_ERR_INDEX_NOT_STORED: u32 = 5182;
1258pub const H_ERR_PRIM_NO_POINTS: u32 = 5183;
1259pub const H_ERR_REMOTE_DESKTOP_SIZE: u32 = 5184;
1260pub const H_ERR_NOGL: u32 = 5185;
1261pub const H_ERR_NODEPTH: u32 = 5186;
1262pub const H_ERR_OGL_ERROR: u32 = 5187;
1263pub const H_ERR_UNSUPPORTED_FBO: u32 = 5188;
1264pub const H_ERR_OGL_HSR_NOT_SUPPORTED: u32 = 5189;
1265pub const H_ERR_WP_IWP: u32 = 5190;
1266pub const H_ERR_WP_IWPV: u32 = 5191;
1267pub const H_ERR_UMOD: u32 = 5192;
1268pub const H_ERR_ATTIMG: u32 = 5193;
1269pub const H_ERR_NVG_WM: u32 = 5195;
1270pub const H_ERR_FINTERN: u32 = 5196;
1271pub const H_ERR_FS: u32 = 5197;
1272pub const H_ERR_FISR: u32 = 5198;
1273pub const H_ERR_BFD: u32 = 5199;
1274pub const H_ERR_FNF: u32 = 5200;
1275pub const H_ERR_DWI: u32 = 5201;
1276pub const H_ERR_DWID: u32 = 5202;
1277pub const H_ERR_DRI1: u32 = 5203;
1278pub const H_ERR_DRI2: u32 = 5204;
1279pub const H_ERR_DRID1: u32 = 5205;
1280pub const H_ERR_DIMMAT: u32 = 5206;
1281pub const H_ERR_HNF: u32 = 5207;
1282pub const H_ERR_XNF: u32 = 5208;
1283pub const H_ERR_CNCSI: u32 = 5209;
1284pub const H_ERR_CNCSO: u32 = 5210;
1285pub const H_ERR_CNCF: u32 = 5211;
1286pub const H_ERR_EDWF: u32 = 5212;
1287pub const H_ERR_NFA: u32 = 5213;
1288pub const H_ERR_WFIN: u32 = 5214;
1289pub const H_ERR_CNOF: u32 = 5215;
1290pub const H_ERR_WFMO: u32 = 5216;
1291pub const H_ERR_WPTY: u32 = 5217;
1292pub const H_ERR_WIW: u32 = 5218;
1293pub const H_ERR_WIH: u32 = 5219;
1294pub const H_ERR_FTS1: u32 = 5220;
1295pub const H_ERR_FTS2: u32 = 5221;
1296pub const H_ERR_WDPI: u32 = 5222;
1297pub const H_ERR_WNOW: u32 = 5223;
1298pub const H_ERR_WNOH: u32 = 5224;
1299pub const H_ERR_WNFP: u32 = 5225;
1300pub const H_ERR_WPNA: u32 = 5226;
1301pub const H_ERR_WSNA: u32 = 5227;
1302pub const H_ERR_NPCF: u32 = 5228;
1303pub const H_ERR_WHIF: u32 = 5229;
1304pub const H_ERR_HINF: u32 = 5230;
1305pub const H_ERR_HSNF: u32 = 5231;
1306pub const H_ERR_ICSF: u32 = 5232;
1307pub const H_ERR_EFNF: u32 = 5233;
1308pub const H_ERR_NFWKEF: u32 = 5234;
1309pub const H_ERR_WIFT: u32 = 5235;
1310pub const H_ERR_ICNF: u32 = 5236;
1311pub const H_ERR_WTIFF: u32 = 5237;
1312pub const H_ERR_WFF: u32 = 5238;
1313pub const H_ERR_NOPNM: u32 = 5242;
1314pub const H_ERR_ICODB: u32 = 5243;
1315pub const H_ERR_INVAL_FILE_ENC: u32 = 5244;
1316pub const H_ERR_FNO: u32 = 5245;
1317pub const H_ERR_NO_FILES: u32 = 5246;
1318pub const H_ERR_NORFILE: u32 = 5247;
1319pub const H_ERR_RDTB: u32 = 5248;
1320pub const H_ERR_BINFILE_ENC: u32 = 5249;
1321pub const H_ERR_EDRF: u32 = 5250;
1322pub const H_ERR_SNO: u32 = 5251;
1323pub const H_ERR_NSA: u32 = 5252;
1324pub const H_ERR_CNOS: u32 = 5253;
1325pub const H_ERR_CNCS: u32 = 5254;
1326pub const H_ERR_CNGSA: u32 = 5255;
1327pub const H_ERR_CNSSA: u32 = 5256;
1328pub const H_ERR_WRSBR: u32 = 5257;
1329pub const H_ERR_WRSDB: u32 = 5258;
1330pub const H_ERR_WRSFC: u32 = 5259;
1331pub const H_ERR_CNFS: u32 = 5260;
1332pub const H_ERR_EDWS: u32 = 5261;
1333pub const H_ERR_EDRS: u32 = 5262;
1334pub const H_ERR_REG_NOSITEM: u32 = 5270;
1335pub const H_ERR_REG_WRVERS: u32 = 5271;
1336pub const H_ERR_IMG_NOSITEM: u32 = 5272;
1337pub const H_ERR_IMG_WRVERS: u32 = 5273;
1338pub const H_ERR_XLD_NOSITEM: u32 = 5274;
1339pub const H_ERR_XLD_WRVERS: u32 = 5275;
1340pub const H_ERR_OBJ_NOSITEM: u32 = 5276;
1341pub const H_ERR_OBJ_WRVERS: u32 = 5277;
1342pub const H_ERR_XLD_DATA_TOO_LARGE: u32 = 5678;
1343pub const H_ERR_OBJ_UNEXPECTED: u32 = 5279;
1344pub const H_ERR_FNOTF: u32 = 5280;
1345pub const H_ERR_FNOBF: u32 = 5281;
1346pub const H_ERR_DIRCR: u32 = 5282;
1347pub const H_ERR_DIRRM: u32 = 5283;
1348pub const H_ERR_GETCWD: u32 = 5284;
1349pub const H_ERR_SETCWD: u32 = 5285;
1350pub const H_ERR_XINIT: u32 = 5286;
1351pub const H_ERR_NFS: u32 = 5300;
1352pub const H_ERR_FGWC: u32 = 5301;
1353pub const H_ERR_FGWD: u32 = 5302;
1354pub const H_ERR_FGVF: u32 = 5303;
1355pub const H_ERR_FGNV: u32 = 5304;
1356pub const H_ERR_UFG: u32 = 5305;
1357pub const H_ERR_FGF: u32 = 5306;
1358pub const H_ERR_FGWR: u32 = 5307;
1359pub const H_ERR_FGWP: u32 = 5308;
1360pub const H_ERR_FGWPR: u32 = 5309;
1361pub const H_ERR_FGWH: u32 = 5310;
1362pub const H_ERR_FGCL: u32 = 5311;
1363pub const H_ERR_FGNI: u32 = 5312;
1364pub const H_ERR_FGET: u32 = 5313;
1365pub const H_ERR_FGLI: u32 = 5314;
1366pub const H_ERR_FGCS: u32 = 5315;
1367pub const H_ERR_FGPT: u32 = 5316;
1368pub const H_ERR_FGCT: u32 = 5317;
1369pub const H_ERR_FGTM: u32 = 5318;
1370pub const H_ERR_FGDV: u32 = 5319;
1371pub const H_ERR_FGASYNC: u32 = 5320;
1372pub const H_ERR_FGPARAM: u32 = 5321;
1373pub const H_ERR_FGTIMEOUT: u32 = 5322;
1374pub const H_ERR_FGGAIN: u32 = 5323;
1375pub const H_ERR_FGFIELD: u32 = 5324;
1376pub const H_ERR_FGPART: u32 = 5325;
1377pub const H_ERR_FGPARV: u32 = 5326;
1378pub const H_ERR_FGFNS: u32 = 5327;
1379pub const H_ERR_FGIVERS: u32 = 5328;
1380pub const H_ERR_FGSETPAR: u32 = 5329;
1381pub const H_ERR_FGGETPAR: u32 = 5330;
1382pub const H_ERR_FGPARNA: u32 = 5331;
1383pub const H_ERR_FGCLOSE: u32 = 5332;
1384pub const H_ERR_FGCAMFILE: u32 = 5333;
1385pub const H_ERR_FGCALLBACK: u32 = 5334;
1386pub const H_ERR_FGDEVLOST: u32 = 5335;
1387pub const H_ERR_FGABORTED: u32 = 5336;
1388pub const H_ERR_IOTIMEOUT: u32 = 5350;
1389pub const H_ERR_IOIVERS: u32 = 5351;
1390pub const H_ERR_IOWH: u32 = 5352;
1391pub const H_ERR_IODBUSY: u32 = 5353;
1392pub const H_ERR_IOIAR: u32 = 5354;
1393pub const H_ERR_IONF: u32 = 5355;
1394pub const H_ERR_IOPART: u32 = 5356;
1395pub const H_ERR_IOPARV: u32 = 5357;
1396pub const H_ERR_IOPARNUM: u32 = 5358;
1397pub const H_ERR_IOPARAM: u32 = 5359;
1398pub const H_ERR_IOPARNA: u32 = 5360;
1399pub const H_ERR_IOFNS: u32 = 5361;
1400pub const H_ERR_IOME: u32 = 5362;
1401pub const H_ERR_IODNA: u32 = 5363;
1402pub const H_ERR_IOABORTED: u32 = 5364;
1403pub const H_ERR_IODATT: u32 = 5365;
1404pub const H_ERR_IODEVLOST: u32 = 5366;
1405pub const H_ERR_IOSETPAR: u32 = 5367;
1406pub const H_ERR_IOGETPAR: u32 = 5368;
1407pub const H_ERR_IOCLOSE: u32 = 5369;
1408pub const H_ERR_JXR_UNSUPPORTED_FORMAT: u32 = 5400;
1409pub const H_ERR_JXR_INVALID_PIXEL_FORMAT: u32 = 5401;
1410pub const H_ERR_JXR_INTERNAL_ERROR: u32 = 5402;
1411pub const H_ERR_JXR_FORMAT_SYNTAX_ERROR: u32 = 5403;
1412pub const H_ERR_JXR_TOO_MANY_CHANNELS: u32 = 5404;
1413pub const H_ERR_JXR_EC_ERROR: u32 = 5405;
1414pub const H_ERR_JXR_EC_BADMAGIC: u32 = 5406;
1415pub const H_ERR_JXR_EC_FEATURE_NOT_IMPLEMENTED: u32 = 5407;
1416pub const H_ERR_JXR_EC_IO: u32 = 5408;
1417pub const H_ERR_JXR_EC_BADFORMAT: u32 = 5409;
1418pub const H_ERR_LIB_FILE_CLOSE: u32 = 5500;
1419pub const H_ERR_LIB_FILE_OPEN: u32 = 5501;
1420pub const H_ERR_LIB_UNEXPECTED_EOF: u32 = 5502;
1421pub const H_ERR_IDTL: u32 = 5503;
1422pub const H_ERR_ITLHV: u32 = 5504;
1423pub const H_ERR_TMIO: u32 = 5505;
1424pub const H_ERR_FILE_FORMAT_UNSUPPORTED: u32 = 5506;
1425pub const H_ERR_INCONSISTENT_DIMENSIONS: u32 = 5507;
1426pub const H_ERR_PCX_NO_PCX_FILE: u32 = 5510;
1427pub const H_ERR_PCX_UNKNOWN_ENCODING: u32 = 5511;
1428pub const H_ERR_PCX_MORE_THAN_4_PLANES: u32 = 5512;
1429pub const H_ERR_PCX_COLORMAP_SIGNATURE: u32 = 5513;
1430pub const H_ERR_PCX_REPEAT_COUNT_SPANS: u32 = 5514;
1431pub const H_ERR_PCX_TOO_MUCH_BITS_PIXEL: u32 = 5515;
1432pub const H_ERR_PCX_PACKED_PIXELS: u32 = 5516;
1433pub const H_ERR_GIF_NO_GIF_PICTURE: u32 = 5520;
1434pub const H_ERR_GIF_BAD_VERSION: u32 = 5521;
1435pub const H_ERR_GIF_SCREEN_DESCRIPTOR: u32 = 5522;
1436pub const H_ERR_GIF_COLORMAP: u32 = 5523;
1437pub const H_ERR_GIF_READ_ERROR_EOF: u32 = 5524;
1438pub const H_ERR_GIF_NOT_ENOUGH_IMAGES: u32 = 5525;
1439pub const H_ERR_GIF_ERROR_ON_EXTENSION: u32 = 5526;
1440pub const H_ERR_GIF_LEFT_TOP_WIDTH: u32 = 5527;
1441pub const H_ERR_GIF_CIRCULAR_TABL_ENTRY: u32 = 5528;
1442pub const H_ERR_GIF_BAD_IMAGE_DATA: u32 = 5529;
1443pub const H_ERR_SUN_RASTERFILE_TYPE: u32 = 5530;
1444pub const H_ERR_SUN_RASTERFILE_HEADER: u32 = 5531;
1445pub const H_ERR_SUN_COLS: u32 = 5532;
1446pub const H_ERR_SUN_ROWS: u32 = 5533;
1447pub const H_ERR_SUN_COLORMAP: u32 = 5534;
1448pub const H_ERR_SUN_RASTERFILE_IMAGE: u32 = 5535;
1449pub const H_ERR_SUN_IMPOSSIBLE_DATA: u32 = 5536;
1450pub const H_ERR_XWD_IMPOSSIBLE_DATA: u32 = 5540;
1451pub const H_ERR_XWD_VISUAL_CLASS: u32 = 5541;
1452pub const H_ERR_XWD_X10_HEADER: u32 = 5542;
1453pub const H_ERR_XWD_X11_HEADER: u32 = 5543;
1454pub const H_ERR_XWD_X10_COLORMAP: u32 = 5544;
1455pub const H_ERR_XWD_X11_COLORMAP: u32 = 5545;
1456pub const H_ERR_XWD_X11_PIXMAP: u32 = 5546;
1457pub const H_ERR_XWD_UNKNOWN_VERSION: u32 = 5547;
1458pub const H_ERR_XWD_READING_IMAGE: u32 = 5548;
1459pub const H_ERR_TIF_BAD_INPUTDATA: u32 = 5550;
1460pub const H_ERR_TIF_COLORMAP: u32 = 5551;
1461pub const H_ERR_TIF_TOO_MANY_COLORS: u32 = 5552;
1462pub const H_ERR_TIF_BAD_PHOTOMETRIC: u32 = 5553;
1463pub const H_ERR_TIF_PHOTOMETRIC_DEPTH: u32 = 5554;
1464pub const H_ERR_TIF_NO_REGION: u32 = 5555;
1465pub const H_ERR_TIF_UNSUPPORTED_FORMAT: u32 = 5556;
1466pub const H_ERR_TIF_BAD_SPECIFICATION: u32 = 5557;
1467pub const H_ERR_TIF_FILE_CORRUPT: u32 = 5558;
1468pub const H_ERR_TIF_TAG_UNDEFINED: u32 = 5559;
1469pub const H_ERR_BMP_NO_BMP_PICTURE: u32 = 5560;
1470pub const H_ERR_BMP_READ_ERROR_EOF: u32 = 5561;
1471pub const H_ERR_BMP_INCOMPLETE_HEADER: u32 = 5562;
1472pub const H_ERR_BMP_UNKNOWN_FORMAT: u32 = 5563;
1473pub const H_ERR_BMP_UNKNOWN_COMPRESSION: u32 = 5564;
1474pub const H_ERR_BMP_COLORMAP: u32 = 5565;
1475pub const H_ERR_BMP_WRITE_ERROR: u32 = 5566;
1476pub const H_ERR_BMP_NO_REGION: u32 = 5567;
1477pub const H_ERR_JPG_COMP_NUM: u32 = 5570;
1478pub const H_ERR_JPGLIB_UNKNOWN: u32 = 5571;
1479pub const H_ERR_JPGLIB_NOTIMPL: u32 = 5572;
1480pub const H_ERR_JPGLIB_FILE: u32 = 5573;
1481pub const H_ERR_JPGLIB_TMPFILE: u32 = 5574;
1482pub const H_ERR_JPGLIB_MEMORY: u32 = 5575;
1483pub const H_ERR_JPGLIB_INFORMAT: u32 = 5576;
1484pub const H_ERR_PNG_NO_PNG_FILE: u32 = 5580;
1485pub const H_ERR_PNG_UNKNOWN_INTERLACE_TYPE: u32 = 5581;
1486pub const H_ERR_PNG_UNSUPPORTED_COLOR_TYPE: u32 = 5582;
1487pub const H_ERR_PNG_NO_REGION: u32 = 5583;
1488pub const H_ERR_PNG_SIZE_TOO_BIG: u32 = 5584;
1489pub const H_ERR_TIF_TAG_ACCESS: u32 = 5587;
1490pub const H_ERR_TIF_TAG_DATATYPE: u32 = 5588;
1491pub const H_ERR_TIF_TAG_UNSUPPORTED: u32 = 5589;
1492pub const H_ERR_JP2_CORRUPT: u32 = 5590;
1493pub const H_ERR_JP2_PREC_TOO_HIGH: u32 = 5591;
1494pub const H_ERR_JP2_ENCODING_ERROR: u32 = 5592;
1495pub const H_ERR_JP2_SIZE_TOO_BIG: u32 = 5593;
1496pub const H_ERR_JP2_INTERNAL_ERROR: u32 = 5594;
1497pub const H_ERR_HOBJ_NOT_ONLY_IMAGES: u32 = 5599;
1498pub const H_ERR_SOCKET_BLOCK: u32 = 5600;
1499pub const H_ERR_SOCKET_UNBLOCK: u32 = 5601;
1500pub const H_ERR_SOCKET_NO_CPAR: u32 = 5602;
1501pub const H_ERR_SOCKET_NO_IMAGE: u32 = 5603;
1502pub const H_ERR_SOCKET_NO_RL: u32 = 5604;
1503pub const H_ERR_SOCKET_NO_XLD: u32 = 5605;
1504pub const H_ERR_SOCKET_READ_DATA_FAILED: u32 = 5606;
1505pub const H_ERR_SOCKET_WRITE_DATA_FAILED: u32 = 5607;
1506pub const H_ERR_SOCKET_WRONG_BYTE_NUMBER: u32 = 5608;
1507pub const H_ERR_SOCKET_BUFFER_OVERFLOW: u32 = 5609;
1508pub const H_ERR_SOCKET_CANT_ASSIGN_FD: u32 = 5610;
1509pub const H_ERR_SOCKET_CANT_BIND: u32 = 5611;
1510pub const H_ERR_SOCKET_CANT_GET_PORTNUMBER: u32 = 5612;
1511pub const H_ERR_SOCKET_CANT_LISTEN: u32 = 5613;
1512pub const H_ERR_SOCKET_CANT_ACCEPT: u32 = 5614;
1513pub const H_ERR_SOCKET_CANT_CONNECT: u32 = 5615;
1514pub const H_ERR_SOCKET_GETHOSTBYNAME: u32 = 5616;
1515pub const H_ERR_SOCKET_ILLEGAL_TUPLE_TYPE: u32 = 5618;
1516pub const H_ERR_SOCKET_TIMEOUT: u32 = 5619;
1517pub const H_ERR_SOCKET_NA: u32 = 5620;
1518pub const H_ERR_SOCKET_NI: u32 = 5621;
1519pub const H_ERR_SOCKET_OOR: u32 = 5622;
1520pub const H_ERR_SOCKET_IS: u32 = 5623;
1521pub const H_ERR_SOCKET_DATA_TOO_LARGE: u32 = 5624;
1522pub const H_ERR_SOCKET_WRONG_TYPE: u32 = 5625;
1523pub const H_ERR_SOCKET_NO_PACKED_DATA: u32 = 5626;
1524pub const H_ERR_SOCKET_PARAM_FAILED: u32 = 5627;
1525pub const H_ERR_SOCKET_FORMAT_MISMATCH: u32 = 5628;
1526pub const H_ERR_SOCKET_INVALID_FORMAT: u32 = 5629;
1527pub const H_ERR_SOCKET_NO_SERIALIZED_ITEM: u32 = 5630;
1528pub const H_ERR_SOCKET_TLS_CONTEXT: u32 = 5631;
1529pub const H_ERR_SOCKET_TLS_CERT_KEY: u32 = 5632;
1530pub const H_ERR_SOCKET_TLS_HANDSHAKE: u32 = 5633;
1531pub const H_ERR_ARCINFO_TOO_MANY_XLDS: u32 = 5700;
1532pub const H_ERR_QUAT_WRONG_VERSION: u32 = 5750;
1533pub const H_ERR_QUAT_NOSITEM: u32 = 5751;
1534pub const H_ERR_HOM_MAT2D_WRONG_VERSION: u32 = 5752;
1535pub const H_ERR_HOM_MAT2D_NOSITEM: u32 = 5753;
1536pub const H_ERR_HOM_MAT3D_WRONG_VERSION: u32 = 5754;
1537pub const H_ERR_HOM_MAT3D_NOSITEM: u32 = 5755;
1538pub const H_ERR_TUPLE_WRONG_VERSION: u32 = 5756;
1539pub const H_ERR_TUPLE_NOSITEM: u32 = 5757;
1540pub const H_ERR_TUPLE_DTLFTHV: u32 = 5758;
1541pub const H_ERR_POSE_WRONG_VERSION: u32 = 5759;
1542pub const H_ERR_POSE_NOSITEM: u32 = 5760;
1543pub const H_ERR_CAM_PAR_WRONG_VERSION: u32 = 5761;
1544pub const H_ERR_CAM_PAR_NOSITEM: u32 = 5762;
1545pub const H_ERR_DUAL_QUAT_WRONG_VERSION: u32 = 5763;
1546pub const H_ERR_DUAL_QUAT_NOSITEM: u32 = 5764;
1547pub const H_ERR_NP: u32 = 6000;
1548pub const H_ERR_MEM: u32 = 6001;
1549pub const H_ERR_ICM: u32 = 6002;
1550pub const H_ERR_WMS: u32 = 6003;
1551pub const H_ERR_NOTMP: u32 = 6004;
1552pub const H_ERR_TMPNULL: u32 = 6005;
1553pub const H_ERR_CNFMEM: u32 = 6006;
1554pub const H_ERR_WMT: u32 = 6007;
1555pub const H_ERR_MEM_VID: u32 = 6021;
1556pub const H_ERR_NRA: u32 = 6041;
1557pub const H_ERR_IAD: u32 = 6040;
1558pub const H_ERR_INVALID_ALIGN: u32 = 6042;
1559pub const H_ERR_NULL_PTR: u32 = 6043;
1560pub const H_ERR_CP_FAILED: u32 = 6500;
1561pub const H_ERR_WOCPI: u32 = 7000;
1562pub const H_ERR_WOCPVN: u32 = 7001;
1563pub const H_ERR_WOCPT: u32 = 7002;
1564pub const H_ERR_WKT: u32 = 7003;
1565pub const H_ERR_IOOR: u32 = 7004;
1566pub const H_ERR_IHV: u32 = 7005;
1567pub const H_ERR_NISS: u32 = 7006;
1568pub const H_ERR_PROC_NULL: u32 = 7007;
1569pub const H_ERR_UNKN: u32 = 7105;
1570pub const H_ERR_WOON: u32 = 7200;
1571pub const H_ERR_OTSE: u32 = 7400;
1572pub const H_ERR_OTLE: u32 = 7401;
1573pub const H_ERR_OTFE: u32 = 7402;
1574pub const H_ERR_OPINP: u32 = 7403;
1575pub const H_ERR_TWC: u32 = 7404;
1576pub const H_ERR_CNN_DATA: u32 = 7701;
1577pub const H_ERR_CNN_MEM: u32 = 7702;
1578pub const H_ERR_CNN_IO_INVALID: u32 = 7703;
1579pub const H_ERR_CNN_IMPL_NOT_AVAILABLE: u32 = 7704;
1580pub const H_ERR_CNN_NUM_INPUTS_INVALID: u32 = 7705;
1581pub const H_ERR_CNN_IMPL_INVALID: u32 = 7706;
1582pub const H_ERR_CNN_TRAINING_NOT_SUP: u32 = 7707;
1583pub const H_ERR_CNN_GPU_REQUIRED: u32 = 7708;
1584pub const H_ERR_CNN_CUDA_LIBS_MISSING: u32 = 7709;
1585pub const H_ERR_OCR_CNN_RE: u32 = 7710;
1586pub const H_ERR_OCR_CNN_WGPN: u32 = 7711;
1587pub const H_ERR_OCR_CNN_EXCLUSIV_PARAM: u32 = 7712;
1588pub const H_ERR_CNN_WGPN: u32 = 7713;
1589pub const H_ERR_CNN_INVALID_LABELS: u32 = 7714;
1590pub const H_ERR_OCR_CNN_FILE_WRONG_VERSION: u32 = 7715;
1591pub const H_ERR_CNN_MULTIPLE_CLASSES: u32 = 7716;
1592pub const H_ERR_CNN_CUBLAS_LIBS_MISSING: u32 = 7717;
1593pub const H_ERR_CNN_CUDNN_LIBS_MISSING: u32 = 7718;
1594pub const H_ERR_OCR_FNF_FIND_TEXT_SUPPORT: u32 = 7719;
1595pub const H_ERR_CNN_TRAINING_FAILED: u32 = 7720;
1596pub const H_ERR_CNN_NO_PRETRAINED_WEIGHTS: u32 = 7721;
1597pub const H_ERR_CNN_INVALID_INPUT_SIZE: u32 = 7722;
1598pub const H_ERR_CNN_RESULT_NOT_AVAILABLE: u32 = 7723;
1599pub const H_ERR_CNN_INVALID_INPUT_DEPTH: u32 = 7724;
1600pub const H_ERR_CNN_DEPTH_NOT_AVAILABLE: u32 = 7725;
1601pub const H_ERR_CNN_INVALID_BATCH_SIZE: u32 = 7726;
1602pub const H_ERR_CNN_INVALID_PARAM_SPEC: u32 = 7727;
1603pub const H_ERR_CNN_EXCEEDS_MAX_MEM: u32 = 7728;
1604pub const H_ERR_CNN_BATCH_SIZE_OVERFLOW: u32 = 7729;
1605pub const H_ERR_CNN_INVALID_IMAGE_SIZE: u32 = 7730;
1606pub const H_ERR_CNN_INVALID_LAYER_PARAM_VALUE: u32 = 7731;
1607pub const H_ERR_CNN_INVALID_LAYER_PARAM_NUM: u32 = 7732;
1608pub const H_ERR_CNN_INVALID_LAYER_PARAM_TYPE: u32 = 7733;
1609pub const H_ERR_CNN_NUM_OUTPUTS_INVALID: u32 = 7734;
1610pub const H_ERR_CNN_INVALID_SHAPE: u32 = 7735;
1611pub const H_ERR_CNN_INVALID_INPUT_DATA: u32 = 7736;
1612pub const H_ERR_CNN_CUDNN_CTC_LOSS_BUGGY: u32 = 7737;
1613pub const H_ERR_CNN_INVALID_PADDING: u32 = 7738;
1614pub const H_ERR_CNN_IO_INVALID_LAYER_TYPE: u32 = 7740;
1615pub const H_ERR_CNN_INFERENCE_FAILED: u32 = 7741;
1616pub const H_ERR_CNN_RUNTIME_FAILED: u32 = 7742;
1617pub const H_ERR_GRAPH_INTERNAL: u32 = 7751;
1618pub const H_ERR_GRAPH_IO_INVALID: u32 = 7752;
1619pub const H_ERR_GRAPH_INVALID_INDEX: u32 = 7753;
1620pub const H_ERR_CNNGRAPH_INTERNAL: u32 = 7760;
1621pub const H_ERR_CNNGRAPH_IO_INVALID: u32 = 7761;
1622pub const H_ERR_CNNGRAPH_LAYER_INVALID: u32 = 7762;
1623pub const H_ERR_CNNGRAPH_NOINIT: u32 = 7763;
1624pub const H_ERR_CNNGRAPH_INVALID_MEM: u32 = 7764;
1625pub const H_ERR_CNNGRAPH_INVALID_NUML: u32 = 7765;
1626pub const H_ERR_CNNGRAPH_INVALID_IDX: u32 = 7766;
1627pub const H_ERR_CNNGRAPH_SPEC_STATUS: u32 = 7767;
1628pub const H_ERR_CNNGRAPH_NOCHANGE: u32 = 7768;
1629pub const H_ERR_CNNGRAPH_PREPROC: u32 = 7769;
1630pub const H_ERR_CNNGRAPH_DEGREE: u32 = 7770;
1631pub const H_ERR_CNNGRAPH_OUTSHAPE: u32 = 7771;
1632pub const H_ERR_CNNGRAPH_SPEC: u32 = 7772;
1633pub const H_ERR_CNNGRAPH_DEF: u32 = 7773;
1634pub const H_ERR_CNNGRAPH_NO_CLASS_CHANGE: u32 = 7774;
1635pub const H_ERR_CNNGRAPH_NO_IMAGE_RESIZE: u32 = 7775;
1636pub const H_ERR_CNNGRAPH_AUX_INDEX_OOB: u32 = 7776;
1637pub const H_ERR_CNNGRAPH_AUX_SPEC: u32 = 7777;
1638pub const H_ERR_CNNGRAPH_LAYER_UNSUPPORTED: u32 = 7778;
1639pub const H_ERR_DL_INTERNAL: u32 = 7779;
1640pub const H_ERR_DL_FILE_READ: u32 = 7780;
1641pub const H_ERR_DL_FILE_WRITE: u32 = 7781;
1642pub const H_ERR_DL_FILE_WRONG_VERSION: u32 = 7782;
1643pub const H_ERR_DL_INPUTS_MISSING: u32 = 7783;
1644pub const H_ERR_DL_INPUT_WRONG_BS: u32 = 7784;
1645pub const H_ERR_DL_INVALID_NAME: u32 = 7785;
1646pub const H_ERR_DL_DUPLICATE_NAME: u32 = 7786;
1647pub const H_ERR_DL_INVALID_OUTPUT: u32 = 7787;
1648pub const H_ERR_DL_PARAM_NOT_AVAILABLE: u32 = 7788;
1649pub const H_ERR_DL_INPUT_WRONG_LENGTH: u32 = 7789;
1650pub const H_ERR_DL_INPUT_WRONG_TYPE: u32 = 7790;
1651pub const H_ERR_DL_INPUT_WRONG_VALUES: u32 = 7791;
1652pub const H_ERR_DL_CLASS_IDS_NOT_UNIQUE: u32 = 7792;
1653pub const H_ERR_DL_CLASS_IDS_INVALID: u32 = 7793;
1654pub const H_ERR_DL_CLASS_IDS_INVALID_CONV: u32 = 7794;
1655pub const H_ERR_DL_TYPE_ALREADY_DEFINED: u32 = 7795;
1656pub const H_ERR_DL_NO_INFERENCE_INPUTS: u32 = 7796;
1657pub const H_ERR_DL_CLASS_IDS_INVALID_OVERLAP: u32 = 7797;
1658pub const H_ERR_DL_WRONG_OUTPUT_LAYER_NUM: u32 = 7798;
1659pub const H_ERR_DL_WRONG_BS_MULTIPLIER: u32 = 7799;
1660pub const H_ERR_DL_INPUT_WRONG_BS_WITH_MULTIPLIER: u32 = 7800;
1661pub const H_ERR_DL_READ_ONNX: u32 = 7801;
1662pub const H_ERR_DL_CLASS_IDS_MISSING: u32 = 7802;
1663pub const H_ERR_DL_WRITE_ONNX: u32 = 7803;
1664pub const H_ERR_DL_ONNX_LOADER: u32 = 7804;
1665pub const H_ERR_DL_FPN_SCALES: u32 = 7810;
1666pub const H_ERR_DL_FPN_INVALID_BACKBONE: u32 = 7811;
1667pub const H_ERR_DL_FPN_INVALID_FEATURE_MAP_SIZE: u32 = 7812;
1668pub const H_ERR_DL_FPN_INVALID_LEVELS: u32 = 7813;
1669pub const H_ERR_DL_ANCHOR: u32 = 7820;
1670pub const H_ERR_DL_DETECTOR_INVALID_PARAM: u32 = 7821;
1671pub const H_ERR_DL_DETECTOR_INVALID_PARAM_VALUE: u32 = 7822;
1672pub const H_ERR_DL_DETECTOR_INVALID_DOCKING_LAYER: u32 = 7823;
1673pub const H_ERR_DL_DETECTOR_INVALID_INSTANCE_TYPE: u32 = 7824;
1674pub const H_ERR_DL_NODE_MISSING_PARAM_NAME: u32 = 7830;
1675pub const H_ERR_DL_NODE_GENPARAM_NAME_NOT_ALLOWED: u32 = 7831;
1676pub const H_ERR_DL_NODE_INVALID_SPEC: u32 = 7832;
1677pub const H_ERR_DL_NODE_DUPLICATE_EDGE: u32 = 7833;
1678pub const H_ERR_DL_SOLVER_INVALID_TYPE: u32 = 7840;
1679pub const H_ERR_DL_SOLVER_INVALID_UPDATE_FORMULA: u32 = 7841;
1680pub const H_ERR_DL_HEATMAP_UNSUPPORTED_RUNTIME: u32 = 7850;
1681pub const H_ERR_DL_HEATMAP_UNSUPPORTED_MODEL_TYPE: u32 = 7851;
1682pub const H_ERR_DL_HEATMAP_UNSUPPORTED_METHOD: u32 = 7852;
1683pub const H_ERR_DL_HEATMAP_WRONG_TARGET_CLASS_ID: u32 = 7853;
1684pub const H_ERR_DL_GCAD_NETWORK_NOT_AVAILABLE: u32 = 7870;
1685pub const H_ERR_DL_ANOMALY_MODEL_INTERNAL: u32 = 7880;
1686pub const H_ERR_DL_ANOMALY_MODEL_UNTRAINED: u32 = 7881;
1687pub const H_ERR_DL_ANOMALY_MODEL_TRAINING_FAILED: u32 = 7882;
1688pub const H_ERR_DL_ANOMALY_MODEL_PARAM_TRAINED: u32 = 7883;
1689pub const H_ERR_DL_ANOMALY_MODEL_RESIZE: u32 = 7884;
1690pub const H_ERR_DL_ANOMALY_MODEL_DEPTH: u32 = 7885;
1691pub const H_ERR_DL_ANOMALY_MODEL_INPUT_DOMAIN: u32 = 7886;
1692pub const H_ERR_DEEP_OCR_MODEL_INTERNAL: u32 = 7890;
1693pub const H_ERR_DEEP_OCR_MODEL_INVALID_ALPHABET: u32 = 7891;
1694pub const H_ERR_DEEP_OCR_MODEL_INVALID_ALPHABET_IDX: u32 = 7892;
1695pub const H_ERR_DEEP_OCR_MODEL_INVALID_MODEL_TYPE: u32 = 7893;
1696pub const H_ERR_DEEP_OCR_MODEL_NOT_AVAILABLE: u32 = 7894;
1697pub const H_ERR_DEEP_OCR_MODEL_INVALID_ALPHABET_MAPPING_NO_ALPHABET: u32 = 7895;
1698pub const H_ERR_DEEP_OCR_MODEL_INVALID_ALPHABET_MAPPING_IDX: u32 = 7896;
1699pub const H_ERR_DEEP_OCR_MODEL_INVALID_ALPHABET_MAPPING_LEN: u32 = 7897;
1700pub const H_ERR_DEEP_OCR_MODEL_FILE_NOT_FOUND: u32 = 7898;
1701pub const H_ERR_DEEP_OCR_MODEL_UNKNOWN_CHAR: u32 = 7899;
1702pub const H_ERR_DEEP_OCR_MODEL_INVALID_WORD_LENGTH: u32 = 7900;
1703pub const H_ERR_DEEP_OCR_MODEL_ALPHABET_NOT_UNIQUE: u32 = 7901;
1704pub const H_ERR_DL_MODEL_APPLY_NO_DEF_OUTPUTS: u32 = 7910;
1705pub const H_ERR_DL_MODEL_UNSUPPORTED_GENPARAM: u32 = 7911;
1706pub const H_ERR_DL_MODEL_OPERATOR_UNSUPPORTED: u32 = 7912;
1707pub const H_ERR_DL_MODEL_RUNTIME: u32 = 7913;
1708pub const H_ERR_DL_MODEL_UNSUPPORTED_GENVALUE: u32 = 7914;
1709pub const H_ERR_DL_MODEL_INVALID_NUM_SAMPLES: u32 = 7915;
1710pub const H_ERR_DL_MODEL_CONVERTED_PARAM: u32 = 7916;
1711pub const H_ERR_DL_MODEL_CONVERTED_UNSUPPORTED: u32 = 7917;
1712pub const H_ERR_DL_INVALID_DATASET: u32 = 7925;
1713pub const H_ERR_DL_INVALID_SAMPLE_INDEX: u32 = 7926;
1714pub const H_ERR_DEEP_COUNTING_NOT_PREPARED: u32 = 7940;
1715pub const H_ERR_DEEP_COUNTING_UNSUPPORTED_BACKBONE: u32 = 7941;
1716pub const H_ERR_DEEP_COUNTING_PREPARE_UNSUPPORTED: u32 = 7942;
1717pub const H_ERR_DEEP_COUNTING_NO_BACKBONE: u32 = 7943;
1718pub const H_ERR_DL_DEVICE_UNSUPPORTED_PRECISION: u32 = 7960;
1719pub const H_ERR_DL_PRUNING_WRONG_DATA: u32 = 7980;
1720pub const H_ERR_DL_PRUNING_UNSUPPORTED_BY_CNN: u32 = 7981;
1721pub const H_ERR_DL_OOD_UNSUPPORTED_MODEL_TYPE: u32 = 7985;
1722pub const H_ERR_DL_OOD_INSUFFICIENT_SAMPLE_DIVERSITY: u32 = 7986;
1723pub const H_ERR_DL_OOD_INTERNAL_ERROR: u32 = 7987;
1724pub const H_ERR_DL_OOD_INVALID: u32 = 7988;
1725pub const H_ERR_DL_MODULE_NOT_LOADED: u32 = 7990;
1726pub const H_ERR_WPRN: u32 = 8000;
1727pub const H_ERR_RCNA: u32 = 8001;
1728pub const H_ERR_WPC: u32 = 8002;
1729pub const H_ERR_ORMF: u32 = 8101;
1730pub const H_ERR_EOFRMF: u32 = 8102;
1731pub const H_ERR_CVTRMF: u32 = 8103;
1732pub const H_ERR_LCNRMF: u32 = 8104;
1733pub const H_ERR_WCOVRMF: u32 = 8105;
1734pub const H_ERR_NEOFRMF: u32 = 8106;
1735pub const H_ERR_WRRA: u32 = 8107;
1736pub const H_ERR_MCN0: u32 = 8108;
1737pub const H_ERR_WF0: u32 = 8110;
1738pub const H_ERR_NWC: u32 = 8111;
1739pub const H_ERR_WRRV: u32 = 8112;
1740pub const H_ERR_ROVFL: u32 = 8113;
1741pub const H_ERR_EWPMF: u32 = 8114;
1742pub const H_ERR_WNUMM: u32 = 8120;
1743pub const H_ERR_WBEDN: u32 = 8200;
1744pub const H_ERR_NBEDA: u32 = 8201;
1745pub const H_ERR_BEDNAU: u32 = 8202;
1746pub const H_ERR_NBEDC: u32 = 8204;
1747pub const H_ERR_NTM: u32 = 8205;
1748pub const H_ERR_WISBE: u32 = 8206;
1749pub const H_ERR_UDNSSBE: u32 = 8207;
1750pub const H_ERR_SNBETS: u32 = 8208;
1751pub const H_ERR_WAMBE: u32 = 8209;
1752pub const H_ERR_WFMBE: u32 = 8210;
1753pub const H_ERR_PE_NPCTS: u32 = 8250;
1754pub const H_ERR_PE_INVMET: u32 = 8251;
1755pub const H_ERR_OCR_MEM1: u32 = 8300;
1756pub const H_ERR_OCR_WID: u32 = 8301;
1757pub const H_ERR_OCR1: u32 = 8302;
1758pub const H_ERR_OCR_NNI: u32 = 8303;
1759pub const H_ERR_OCR_NAI: u32 = 8304;
1760pub const H_ERR_OCR_WTP: u32 = 8305;
1761pub const H_ERR_OCR_WF: u32 = 8306;
1762pub const H_ERR_OCR_READ: u32 = 8307;
1763pub const H_ERR_OCR_NODES: u32 = 8308;
1764pub const H_ERR_OCR_EOF: u32 = 8309;
1765pub const H_ERR_OCR_INC1: u32 = 8310;
1766pub const H_ERR_OCR_INC2: u32 = 8311;
1767pub const H_ERR_WOCRTYPE: u32 = 8312;
1768pub const H_ERR_OCR_TRF: u32 = 8313;
1769pub const H_ERR_TRF_ITL: u32 = 8314;
1770pub const H_ERR_TRF_RTL: u32 = 8315;
1771pub const H_ERR_TRF_PT: u32 = 8316;
1772pub const H_ERR_TRF_WPW: u32 = 8317;
1773pub const H_ERR_OCR_NOSITEM: u32 = 8318;
1774pub const H_ERR_TRF_CON_EIO: u32 = 8319;
1775pub const H_ERR_OCR_MLP_NOCLASSFILE: u32 = 8320;
1776pub const H_ERR_OCR_MLP_WRCLASSVERS: u32 = 8321;
1777pub const H_ERR_OCR_MLP_NOSITEM: u32 = 8322;
1778pub const H_ERR_OCR_SVM_NOCLASSFILE: u32 = 8330;
1779pub const H_ERR_OCR_SVM_WRCLASSVERS: u32 = 8331;
1780pub const H_ERR_OCR_SVM_NOSITEM: u32 = 8332;
1781pub const H_ERR_OCR_KNN_NOCLASSFILE: u32 = 8333;
1782pub const H_ERR_OCR_KNN_NOSITEM: u32 = 8334;
1783pub const H_ERR_OCR_CNN_NOCLASSFILE: u32 = 8335;
1784pub const H_ERR_OCR_CNN_WRCLASSVERS: u32 = 8336;
1785pub const H_ERR_OCR_CNN_NOSITEM: u32 = 8337;
1786pub const H_ERR_OCR_RESULT_NOT_AVAILABLE: u32 = 8338;
1787pub const H_ERR_OCV_NI: u32 = 8350;
1788pub const H_ERR_WOCVTYPE: u32 = 8351;
1789pub const H_ERR_OCV_WNAME: u32 = 8353;
1790pub const H_ERR_OCV_II: u32 = 8354;
1791pub const H_ERR_OCV_NOTTR: u32 = 8355;
1792pub const H_ERR_OCV_NOSITEM: u32 = 8356;
1793pub const H_ERR_WLENGTH: u32 = 8370;
1794pub const H_ERR_NO_FUNCTION: u32 = 8371;
1795pub const H_ERR_NOT_ASCENDING: u32 = 8372;
1796pub const H_ERR_ILLEGAL_DIST: u32 = 8373;
1797pub const H_ERR_NOT_MONOTONIC: u32 = 8374;
1798pub const H_ERR_WFUNCTION: u32 = 8375;
1799pub const H_ERR_SAME_XVAL_CONV: u32 = 8376;
1800pub const H_ERR_GRID_CONNECT_POINTS: u32 = 8390;
1801pub const H_ERR_GRID_GEN_MAP: u32 = 8391;
1802pub const H_ERR_GRID_AUTO_ROT: u32 = 8392;
1803pub const H_ERR_CAL_NO_COMM_PAR: u32 = 8393;
1804pub const H_ERR_CAL_NEGVY: u32 = 8394;
1805pub const H_ERR_CAL_IDENTICAL_FP: u32 = 8395;
1806pub const H_ERR_CAL_LSCPNA: u32 = 8396;
1807pub const H_ERR_CAL_MARK_SEGM: u32 = 8397;
1808pub const H_ERR_CAL_CONT_EXT: u32 = 8398;
1809pub const H_ERR_CAL_NO_FP: u32 = 8399;
1810pub const H_ERR_CAL_LCALP: u32 = 8400;
1811pub const H_ERR_CAL_INCONSISTENT_FP: u32 = 8401;
1812pub const H_ERR_CAL_NCPF: u32 = 8402;
1813pub const H_ERR_CAL_RECPF: u32 = 8403;
1814pub const H_ERR_CAL_LTMTH: u32 = 8404;
1815pub const H_ERR_CAL_FRCP: u32 = 8405;
1816pub const H_ERR_CAL_PROJ: u32 = 8406;
1817pub const H_ERR_CAL_UNPRO: u32 = 8407;
1818pub const H_ERR_CAL_RICPF: u32 = 8408;
1819pub const H_ERR_CAL_FICP1: u32 = 8409;
1820pub const H_ERR_CAL_FICP2: u32 = 8410;
1821pub const H_ERR_CAL_FICP3: u32 = 8411;
1822pub const H_ERR_CAL_REPOS: u32 = 8412;
1823pub const H_ERR_CAL_FOPOS: u32 = 8413;
1824pub const H_ERR_CAL_OCPDF: u32 = 8414;
1825pub const H_ERR_CAL_OCPPS: u32 = 8415;
1826pub const H_ERR_CAL_EVECN: u32 = 8416;
1827pub const H_ERR_CAL_NPLAN: u32 = 8417;
1828pub const H_ERR_CAL_NNMAR: u32 = 8418;
1829pub const H_ERR_CAL_NNEQU: u32 = 8419;
1830pub const H_ERR_CAL_QETHM: u32 = 8420;
1831pub const H_ERR_CAL_NOELL: u32 = 8421;
1832pub const H_ERR_CAL_WPARV: u32 = 8422;
1833pub const H_ERR_CAL_WFRES: u32 = 8423;
1834pub const H_ERR_CAL_ECPDI: u32 = 8424;
1835pub const H_ERR_CAL_WEFLA: u32 = 8425;
1836pub const H_ERR_CAL_NOMER: u32 = 8426;
1837pub const H_ERR_CAL_WPTYP: u32 = 8427;
1838pub const H_ERR_CAL_WIMSZ: u32 = 8428;
1839pub const H_ERR_CAL_NPILS: u32 = 8429;
1840pub const H_ERR_CAL_DIACM: u32 = 8430;
1841pub const H_ERR_CAL_ORICP: u32 = 8431;
1842pub const H_ERR_CAL_CPNII: u32 = 8432;
1843pub const H_ERR_CAL_WNCME: u32 = 8433;
1844pub const H_ERR_CAL_UNKPG: u32 = 8434;
1845pub const H_ERR_CAL_NEGFL: u32 = 8435;
1846pub const H_ERR_CAL_TELNA: u32 = 8436;
1847pub const H_ERR_CAL_LSCNA: u32 = 8437;
1848pub const H_ERR_CAL_ELLDP: u32 = 8438;
1849pub const H_ERR_CAL_NOMF: u32 = 8439;
1850pub const H_ERR_CAL_NCONV: u32 = 8440;
1851pub const H_ERR_CAL_HYPNA: u32 = 8441;
1852pub const H_ERR_CAL_DISTORT: u32 = 8442;
1853pub const H_ERR_CAL_WREDGFILT: u32 = 8443;
1854pub const H_ERR_CAL_NEGPS: u32 = 8444;
1855pub const H_ERR_CAL_NEGTS: u32 = 8445;
1856pub const H_ERR_CAL_NEGRS: u32 = 8446;
1857pub const H_ERR_CAL_INVCAMPAR: u32 = 8447;
1858pub const H_ERR_CAL_ILLFL: u32 = 8448;
1859pub const H_ERR_CAL_ILLMAG: u32 = 8449;
1860pub const H_ERR_CAL_ILLIPD: u32 = 8450;
1861pub const H_ERR_CM_NOT_OPTIMIZED: u32 = 8451;
1862pub const H_ERR_CM_NOT_POSTPROCC: u32 = 8452;
1863pub const H_ERR_CM_NOT_INTERCONN: u32 = 8453;
1864pub const H_ERR_CM_CAMPAR_MISMCH: u32 = 8454;
1865pub const H_ERR_CM_CAMTYP_MISMCH: u32 = 8455;
1866pub const H_ERR_CM_CAMTYP_UNSUPD: u32 = 8456;
1867pub const H_ERR_CM_INVALD_CAMIDX: u32 = 8457;
1868pub const H_ERR_CM_INVALD_DESCID: u32 = 8458;
1869pub const H_ERR_CM_INVALD_COBJID: u32 = 8459;
1870pub const H_ERR_CM_UNDEFINED_CAM: u32 = 8460;
1871pub const H_ERR_CM_REPEATD_INDEX: u32 = 8461;
1872pub const H_ERR_CM_UNDEFI_CADESC: u32 = 8462;
1873pub const H_ERR_CM_NO_DESCR_FILE: u32 = 8463;
1874pub const H_ERR_CM_WR_DESCR_VERS: u32 = 8464;
1875pub const H_ERR_CM_ZERO_MOTION: u32 = 8465;
1876pub const H_ERR_CM_MULTICAM_UNSP: u32 = 8466;
1877pub const H_ERR_CM_INCMPLTE_DATA: u32 = 8467;
1878pub const H_ERR_CSM_NO_DESCR_FIL: u32 = 8468;
1879pub const H_ERR_CSM_WR_DESCR_VER: u32 = 8469;
1880pub const H_ERR_CM_CALTAB_NOT_AV: u32 = 8470;
1881pub const H_ERR_CM_INVAL_OBSERID: u32 = 8471;
1882pub const H_ERR_CSM_NOSITEM: u32 = 8472;
1883pub const H_ERR_CM_NOSITEM: u32 = 8473;
1884pub const H_ERR_CM_INV_TOOLPOSID: u32 = 8474;
1885pub const H_ERR_CM_UNDEFINED_TOO: u32 = 8475;
1886pub const H_ERR_CM_INVLD_MODL_TY: u32 = 8476;
1887pub const H_ERR_CSM_UNINIT_CAM: u32 = 8477;
1888pub const H_ERR_CM_NO_VALID_SOL: u32 = 8478;
1889pub const H_ERR_CM_INVAL_OBS_POSE: u32 = 8479;
1890pub const H_ERR_CM_TOO_FEW_POSES: u32 = 8480;
1891pub const H_ERR_CM_UNDEF_CAM_TYP: u32 = 8481;
1892pub const H_ERR_SM_INVLD_IMG_PAIRS_DISP_VAL: u32 = 8482;
1893pub const H_ERR_SM_INVLD_DISP_VAL: u32 = 8483;
1894pub const H_ERR_SM_NO_IM_PAIR: u32 = 8484;
1895pub const H_ERR_SM_NO_VIS_COLOR: u32 = 8485;
1896pub const H_ERR_SM_NO_RECONSTRUCT: u32 = 8486;
1897pub const H_ERR_SM_INVLD_BB_PARTITION: u32 = 8487;
1898pub const H_ERR_SM_INVLD_DISP_RANGE: u32 = 8488;
1899pub const H_ERR_SM_INVLD_BIN_PAR: u32 = 8489;
1900pub const H_ERR_SM_INVLD_MODL_TY: u32 = 8490;
1901pub const H_ERR_SM_NOT_PERSISTEN: u32 = 8491;
1902pub const H_ERR_SM_INVLD_BOU_BOX: u32 = 8492;
1903pub const H_ERR_SR_INVLD_IMG_SIZ: u32 = 8493;
1904pub const H_ERR_SR_BBOX_BHND_CAM: u32 = 8494;
1905pub const H_ERR_CAL_AMBIGUOUS: u32 = 8495;
1906pub const H_ERR_CAL_PCPND: u32 = 8496;
1907pub const H_ERR_CAL_FAILED: u32 = 8497;
1908pub const H_ERR_CAL_MISSING_DATA: u32 = 8498;
1909pub const H_ERR_CAL_FEWER_FOUR: u32 = 8499;
1910pub const H_ERR_NOAP: u32 = 8500;
1911pub const H_ERR_WPFV: u32 = 8501;
1912pub const H_ERR_MATCH_MODE: u32 = 8502;
1913pub const H_ERR_MATCH_OOR: u32 = 8503;
1914pub const H_ERR_NOTAP: u32 = 8505;
1915pub const H_ERR_NGTPTS: u32 = 8506;
1916pub const H_ERR_PDTL: u32 = 8507;
1917pub const H_ERR_NCC_NOSITEM: u32 = 8508;
1918pub const H_ERR_MATCH_NOSITEM: u32 = 8509;
1919pub const H_ERR_NTPTS: u32 = 8510;
1920pub const H_ERR_CGSMM: u32 = 8511;
1921pub const H_ERR_SMTL: u32 = 8512;
1922pub const H_ERR_SMNXLD: u32 = 8513;
1923pub const H_ERR_SM_NOSITEM: u32 = 8514;
1924pub const H_ERR_SM_CL_CONT: u32 = 8515;
1925pub const H_ERR_SM_NO_CLUT: u32 = 8516;
1926pub const H_ERR_SM_SAME_CL: u32 = 8517;
1927pub const H_ERR_SM_WRONG_CLCO: u32 = 8518;
1928pub const H_ERR_SM_CL_NEG: u32 = 8519;
1929pub const H_ERR_FIND_BOX_UNSUP_GENPARAM: u32 = 8520;
1930pub const H_ERR_COMP_DRT: u32 = 8530;
1931pub const H_ERR_COMP_SAMF: u32 = 8531;
1932pub const H_ERR_IGF_NC: u32 = 8532;
1933pub const H_ERR_MSA_TMN: u32 = 8533;
1934pub const H_ERR_CTTL: u32 = 8534;
1935pub const H_ERR_CMTL: u32 = 8535;
1936pub const H_ERR_COMP_NOSITEM: u32 = 8536;
1937pub const H_ERR_TRAIN_COMP_NOSITEM: u32 = 8537;
1938pub const H_ERR_VARIATION_WS: u32 = 8540;
1939pub const H_ERR_VARIATION_PREP: u32 = 8541;
1940pub const H_ERR_VARIATION_WRMD: u32 = 8542;
1941pub const H_ERR_VARIATION_NOVF: u32 = 8543;
1942pub const H_ERR_VARIATION_WVFV: u32 = 8544;
1943pub const H_ERR_VARIATION_TRDC: u32 = 8545;
1944pub const H_ERR_VARIATION_NOSITEM: u32 = 8546;
1945pub const H_ERR_MEASURE_NA: u32 = 8550;
1946pub const H_ERR_MEASURE_NI: u32 = 8551;
1947pub const H_ERR_MEASURE_OOR: u32 = 8552;
1948pub const H_ERR_MEASURE_IS: u32 = 8553;
1949pub const H_ERR_MEASURE_WS: u32 = 8554;
1950pub const H_ERR_MEASURE_NO_MODEL_FILE: u32 = 8555;
1951pub const H_ERR_MEASURE_WRONG_VERSION: u32 = 8556;
1952pub const H_ERR_MEASURE_TL: u32 = 8557;
1953pub const H_ERR_MEASURE_NOSITEM: u32 = 8558;
1954pub const H_ERR_METROLOGY_MODEL_NI: u32 = 8570;
1955pub const H_ERR_METROLOGY_OBJECT_INVALID: u32 = 8572;
1956pub const H_ERR_METROLOGY_FIT_NOT_ENOUGH_MEASURES: u32 = 8573;
1957pub const H_ERR_METROLOGY_NO_MODEL_FILE: u32 = 8575;
1958pub const H_ERR_METROLOGY_WRONG_VERSION: u32 = 8576;
1959pub const H_ERR_METROLOGY_NO_FUZZY_FUNC: u32 = 8577;
1960pub const H_ERR_METROLOGY_NOSITEM: u32 = 8578;
1961pub const H_ERR_METROLOGY_UNDEF_CAMPAR: u32 = 8579;
1962pub const H_ERR_METROLOGY_UNDEF_POSE: u32 = 8580;
1963pub const H_ERR_METROLOGY_SET_MODE: u32 = 8581;
1964pub const H_ERR_METROLOGY_OP_NOT_ALLOWED: u32 = 8582;
1965pub const H_ERR_METROLOGY_MULTI_POSE_CAM_PAR: u32 = 8583;
1966pub const H_ERR_METROLOGY_WRONG_INPUT_MODE: u32 = 8584;
1967pub const H_ERR_DLOPEN: u32 = 8600;
1968pub const H_ERR_DLCLOSE: u32 = 8601;
1969pub const H_ERR_DLLOOKUP: u32 = 8602;
1970pub const H_ERR_COMPONENT_NOT_INSTALLED: u32 = 8603;
1971pub const H_ERR_EAD_CAL_NII: u32 = 8650;
1972pub const H_ERR_WGSMFV: u32 = 8670;
1973pub const H_ERR_GSM_INVALID_RES_SCALE: u32 = 8671;
1974pub const H_ERR_GSM_INVALID_ANGLE: u32 = 8672;
1975pub const H_ERR_GSM_NEEDS_TRAINING: u32 = 8673;
1976pub const H_ERR_GSM_CONTRAST_HYS: u32 = 8674;
1977pub const H_ERR_GSM_CONTRAST_MIN_CONTRAST: u32 = 8675;
1978pub const H_ERR_GSM_ISO_SCALE_PAIR: u32 = 8676;
1979pub const H_ERR_GSM_ANISO_SCALE_ROW: u32 = 8677;
1980pub const H_ERR_GSM_ANISO_SCALE_COLUMN: u32 = 8678;
1981pub const H_ERR_GSM_ISO_NOT_SET: u32 = 8679;
1982pub const H_ERR_GSM_ANISO_NOT_SET: u32 = 8680;
1983pub const H_ERR_GSM_INVALID_METRIC_XLD: u32 = 8681;
1984pub const H_ERR_GSM_SAME_IDENTIFIER: u32 = 8682;
1985pub const H_ERR_SM_INCONSISTENT_PER_LEVEL: u32 = 8683;
1986pub const H_ERR_GSM_EXT_PAR_EST: u32 = 8684;
1987pub const H_ERR_BAR_WNOM: u32 = 8701;
1988pub const H_ERR_BAR_WNOE: u32 = 8702;
1989pub const H_ERR_BAR_UNCHAR: u32 = 8703;
1990pub const H_ERR_BAR_WRONGDESCR: u32 = 8705;
1991pub const H_ERR_BAR_EL_LENGTH: u32 = 8706;
1992pub const H_ERR_BAR_NO_REG: u32 = 8707;
1993pub const H_ERR_BAR_WRONGCODE: u32 = 8708;
1994pub const H_ERR_BAR_INTERNAL: u32 = 8709;
1995pub const H_ERR_BAR_NO_DECODED_SCANLINE: u32 = 8710;
1996pub const H_ERR_BC_EMPTY_MODEL_LIST: u32 = 8721;
1997pub const H_ERR_BC_TRAIN_ONLY_SINGLE: u32 = 8722;
1998pub const H_ERR_BC_GET_SPECIFIC: u32 = 8723;
1999pub const H_ERR_BC_GET_OBJ_MULTI: u32 = 8724;
2000pub const H_ERR_BC_WR_FILE_FORMAT: u32 = 8725;
2001pub const H_ERR_BC_WR_FILE_VERS: u32 = 8726;
2002pub const H_ERR_BC_NOT_PERSISTANT: u32 = 8727;
2003pub const H_ERR_BC_GRAY_OUT_OF_RANGE: u32 = 8728;
2004pub const H_ERR_NO_PERSISTENT_OP_CALL: u32 = 8729;
2005pub const H_ERR_BC_ZOOMED_ABORTED: u32 = 8730;
2006pub const H_ERR_BC_ZOOMED_INVALID_INPUT: u32 = 8731;
2007pub const H_ERR_BC_XCORR_INVALID_INPUT: u32 = 8740;
2008pub const H_ERR_BC_XCORR_TOO_MANY_BAD_ROWS: u32 = 8741;
2009pub const H_ERR_BC_XCORR_NO_CORRELATION: u32 = 8742;
2010pub const H_ERR_INVALID_SYNTAX_DICTIONARY: u32 = 8743;
2011pub const H_ERR_BAR2D_UNKNOWN_TYPE: u32 = 8800;
2012pub const H_ERR_BAR2D_WRONG_FOREGROUND: u32 = 8801;
2013pub const H_ERR_BAR2D_WRONG_SIZE: u32 = 8802;
2014pub const H_ERR_BAR2D_WRONG_SHAPE: u32 = 8803;
2015pub const H_ERR_BAR2D_WRONG_PARAM_NAME: u32 = 8804;
2016pub const H_ERR_BAR2D_WRONG_PARAM_VAL: u32 = 8805;
2017pub const H_ERR_BAR2D_WRONG_MODE: u32 = 8806;
2018pub const H_ERR_BAR2D_SYMBOL_ON_BORDER: u32 = 8807;
2019pub const H_ERR_BAR2D_MODULE_CONT_NUM: u32 = 8808;
2020pub const H_ERR_BAR2D_SYMBOL_FINDER: u32 = 8809;
2021pub const H_ERR_BAR2D_SYMBOL_DIMENSION: u32 = 8810;
2022pub const H_ERR_BAR2D_CLASSIF_FAILED: u32 = 8811;
2023pub const H_ERR_BAR2D_DECODING_FAILED: u32 = 8812;
2024pub const H_ERR_BAR2D_DECODING_READER: u32 = 8813;
2025pub const H_ERR_DC2D_GENERAL: u32 = 8820;
2026pub const H_ERR_DC2D_BROKEN_SIGN: u32 = 8821;
2027pub const H_ERR_DC2D_INVALID_HANDLE: u32 = 8822;
2028pub const H_ERR_DC2D_EMPTY_MODEL_LIST: u32 = 8823;
2029pub const H_ERR_DC2D_NOT_INITIALIZED: u32 = 8824;
2030pub const H_ERR_DC2D_INVALID_CANDIDATE: u32 = 8825;
2031pub const H_ERR_DC2D_INDEX_PARNUM: u32 = 8826;
2032pub const H_ERR_DC2D_EXCLUSIV_PARAM: u32 = 8827;
2033pub const H_ERR_DC2D_DEF_SET_NOT_FIRST: u32 = 8828;
2034pub const H_ERR_DC2D_INTERNAL_UNEXPECTED: u32 = 8829;
2035pub const H_ERR_DC2D_WRONG_PARAM_VALUE: u32 = 8830;
2036pub const H_ERR_DC2D_WRONG_PARAM_NAME: u32 = 8831;
2037pub const H_ERR_DC2D_WRONG_POLARITY: u32 = 8832;
2038pub const H_ERR_DC2D_WRONG_SYMBOL_SHAPE: u32 = 8833;
2039pub const H_ERR_DC2D_WRONG_SYMBOL_SIZE: u32 = 8834;
2040pub const H_ERR_DC2D_WRONG_MODULE_SIZE: u32 = 8835;
2041pub const H_ERR_DC2D_WRONG_MODULE_SHAPE: u32 = 8836;
2042pub const H_ERR_DC2D_WRONG_ORIENTATION: u32 = 8837;
2043pub const H_ERR_DC2D_WRONG_CONTRAST: u32 = 8838;
2044pub const H_ERR_DC2D_WRONG_MEAS_THRESH: u32 = 8839;
2045pub const H_ERR_DC2D_WRONG_ALT_MEAS_RED: u32 = 8840;
2046pub const H_ERR_DC2D_WRONG_SLANT: u32 = 8841;
2047pub const H_ERR_DC2D_WRONG_L_DIST: u32 = 8842;
2048pub const H_ERR_DC2D_WRONG_L_LENGTH: u32 = 8843;
2049pub const H_ERR_DC2D_WRONG_GAP: u32 = 8844;
2050pub const H_ERR_DC2D_WRONG_DEF_SET: u32 = 8845;
2051pub const H_ERR_DC2D_WRONG_TEXTURED: u32 = 8846;
2052pub const H_ERR_DC2D_WRONG_MIRRORED: u32 = 8847;
2053pub const H_ERR_DC2D_WRONG_CLASSIFICATOR: u32 = 8848;
2054pub const H_ERR_DC2D_WRONG_PERSISTENCE: u32 = 8849;
2055pub const H_ERR_DC2D_WRONG_MODEL_TYPE: u32 = 8850;
2056pub const H_ERR_DC2D_WRONG_MOD_ROI_PART: u32 = 8851;
2057pub const H_ERR_DC2D_WRONG_FP_TOLERANCE: u32 = 8852;
2058pub const H_ERR_DC2D_WRONG_MOD_ASPECT: u32 = 8853;
2059pub const H_ERR_DC2D_WRONG_SM_ROBUSTNESS: u32 = 8854;
2060pub const H_ERR_DC2D_WRONG_CONTRAST_TOL: u32 = 8855;
2061pub const H_ERR_DC2D_WRONG_AP_TOLERANCE: u32 = 8856;
2062pub const H_ERR_DC2D_READ_HEAD_FORMAT: u32 = 8860;
2063pub const H_ERR_DC2D_READ_HEAD_SIGN: u32 = 8861;
2064pub const H_ERR_DC2D_READ_LINE_FORMAT: u32 = 8862;
2065pub const H_ERR_DC2D_WRONG_MODULE_ASPECT: u32 = 8863;
2066pub const H_ERR_DC2D_WRONG_LAYER_NUM: u32 = 8864;
2067pub const H_ERR_DCD_READ_WRONG_VERSION: u32 = 8865;
2068pub const H_ERR_DC2D_NOSITEM: u32 = 8866;
2069pub const H_ERR_DC2D_WR_FILE_FORMAT: u32 = 8867;
2070pub const H_ERR_SM3D_WRONG_PARAM_NAME: u32 = 8900;
2071pub const H_ERR_SM3D_WRONG_NUM_LEVELS: u32 = 8901;
2072pub const H_ERR_SM3D_WRONG_OPTIMIZATION: u32 = 8902;
2073pub const H_ERR_SM3D_WRONG_METRIC: u32 = 8903;
2074pub const H_ERR_SM3D_WRONG_MIN_FACE_ANGLE: u32 = 8904;
2075pub const H_ERR_SM3D_WRONG_MIN_SIZE: u32 = 8905;
2076pub const H_ERR_SM3D_WRONG_MODEL_TOLERANCE: u32 = 8906;
2077pub const H_ERR_SM3D_WRONG_FAST_POSE_REF: u32 = 8907;
2078pub const H_ERR_SM3D_WRONG_LOWEST_MODEL_LEVEL: u32 = 8908;
2079pub const H_ERR_SM3D_WRONG_PART_SIZE: u32 = 8909;
2080pub const H_ERR_SM3D_PROJECTION_TOO_LARGE: u32 = 8910;
2081pub const H_ERR_SM3D_WRONG_OPENGL_ACCURACY: u32 = 8911;
2082pub const H_ERR_SM3D_WRONG_RECOMPUTE_SCORE: u32 = 8913;
2083pub const H_ERR_SM3D_WRONG_LON_MIN: u32 = 8920;
2084pub const H_ERR_SM3D_WRONG_LON_MAX: u32 = 8921;
2085pub const H_ERR_SM3D_WRONG_LAT_MIN: u32 = 8922;
2086pub const H_ERR_SM3D_WRONG_LAT_MAX: u32 = 8923;
2087pub const H_ERR_SM3D_WRONG_ROL_MIN: u32 = 8924;
2088pub const H_ERR_SM3D_WRONG_ROL_MAX: u32 = 8925;
2089pub const H_ERR_SM3D_WRONG_DIST_MIN: u32 = 8926;
2090pub const H_ERR_SM3D_WRONG_DIST_MAX: u32 = 8927;
2091pub const H_ERR_SM3D_WRONG_NUM_MATCHES: u32 = 8928;
2092pub const H_ERR_SM3D_WRONG_MAX_OVERLAP: u32 = 8929;
2093pub const H_ERR_SM3D_WRONG_POSE_REFINEMENT: u32 = 8930;
2094pub const H_ERR_SM3D_WRONG_COV_POSE_MODE: u32 = 8931;
2095pub const H_ERR_SM3D_WRONG_OUTLIER_SUP: u32 = 8932;
2096pub const H_ERR_SM3D_WRONG_BORDER_MODEL: u32 = 8933;
2097pub const H_ERR_SM3D_UNDEFINED_POSE: u32 = 8940;
2098pub const H_ERR_SM3D_NO_SM3D_FILE: u32 = 8941;
2099pub const H_ERR_SM3D_WRONG_FILE_VERSION: u32 = 8942;
2100pub const H_ERR_SM3D_MTL: u32 = 8943;
2101pub const H_ERR_SM3D_NO_OM3D_FACES: u32 = 8944;
2102pub const H_ERR_SM3D_NOSITEM: u32 = 8945;
2103pub const H_ERR_SM3D_WRONG_UNION_ADJACENT_CONTOURS: u32 = 8946;
2104pub const H_ERR_DESCR_NODESCRFILE: u32 = 8960;
2105pub const H_ERR_DESCR_WRDESCRVERS: u32 = 8961;
2106pub const H_ERR_DM_WRONG_NUM_CIRC_RADIUS: u32 = 8962;
2107pub const H_ERR_DM_WRONG_NUM_CHECK_NEIGH: u32 = 8963;
2108pub const H_ERR_DM_WRONG_NUM_MIN_CHECK_NEIGH: u32 = 8964;
2109pub const H_ERR_DM_WRONG_NUM_MIN_SCORE: u32 = 8965;
2110pub const H_ERR_DM_WRONG_NUM_SIGMAGRAD: u32 = 8966;
2111pub const H_ERR_DM_WRONG_NUM_SIGMAINT: u32 = 8967;
2112pub const H_ERR_DM_WRONG_NUM_ALPHA: u32 = 8968;
2113pub const H_ERR_DM_WRONG_NUM_THRESHOLD: u32 = 8969;
2114pub const H_ERR_DM_WRONG_NUM_DEPTH: u32 = 8970;
2115pub const H_ERR_DM_WRONG_NUM_TREES: u32 = 8971;
2116pub const H_ERR_DM_WRONG_NUM_MIN_SCORE_DESCR: u32 = 8972;
2117pub const H_ERR_DM_WRONG_NUM_PATCH_SIZE: u32 = 8973;
2118pub const H_ERR_DM_WRONG_TILT: u32 = 8974;
2119pub const H_ERR_DM_WRONG_PAR_GUIDE: u32 = 8975;
2120pub const H_ERR_DM_WRONG_PAR_SUBPIX: u32 = 8976;
2121pub const H_ERR_DM_TOO_FEW_POINTS: u32 = 8977;
2122pub const H_ERR_DM_WRONG_NUM_MINROT: u32 = 8978;
2123pub const H_ERR_DM_WRONG_NUM_MAXROT: u32 = 8979;
2124pub const H_ERR_DM_WRONG_NUM_MINSCALE: u32 = 8980;
2125pub const H_ERR_DM_WRONG_NUM_MAXSCALE: u32 = 8981;
2126pub const H_ERR_DM_WRONG_NUM_MASKSIZEGRD: u32 = 8982;
2127pub const H_ERR_DM_WRONG_NUM_MASKSIZESMOOTH: u32 = 8983;
2128pub const H_ERR_BROKEN_MODEL: u32 = 8984;
2129pub const H_ERR_DM_WRONG_DESCR_TYPE: u32 = 8985;
2130pub const H_ERR_DM_WRONG_PAR_MATCHER: u32 = 8986;
2131pub const H_ERR_DM_TOO_MANY_CLASSES: u32 = 8987;
2132pub const H_ERR_DESCR_NOSITEM: u32 = 8988;
2133pub const H_ERR_NOT_IMPL: u32 = 9000;
2134pub const H_ERR_WIT: u32 = 9001;
2135pub const H_ERR_WIC: u32 = 9002;
2136pub const H_ERR_UNDI: u32 = 9003;
2137pub const H_ERR_WIS: u32 = 9004;
2138pub const H_ERR_WCN: u32 = 9005;
2139pub const H_ERR_STRTL: u32 = 9006;
2140pub const H_ERR_WITFO: u32 = 9007;
2141pub const H_ERR_NIIT: u32 = 9008;
2142pub const H_ERR_NOCIMA: u32 = 9009;
2143pub const H_ERR_DEMO_NOFG: u32 = 9010;
2144pub const H_ERR_DEMO_NOPA: u32 = 9011;
2145pub const H_ERR_IEUNKV: u32 = 9020;
2146pub const H_ERR_WPFO: u32 = 9021;
2147pub const H_ERR_IDTS: u32 = 9022;
2148pub const H_ERR_CNCLDRW: u32 = 9023;
2149pub const H_ERR_REGEX_MATCH: u32 = 9024;
2150pub const H_ERR_STUD_OPNA: u32 = 9050;
2151pub const H_ERR_STUD_PANA: u32 = 9051;
2152pub const H_ERR_STUD_FGNA: u32 = 9052;
2153pub const H_ERR_NDPA: u32 = 9053;
2154pub const H_ERR_WR_OBJ_TYPE: u32 = 9054;
2155pub const H_ERR_OP_DISABLED: u32 = 9055;
2156pub const H_ERR_TMU: u32 = 9100;
2157pub const H_ERR_NUS: u32 = 9101;
2158pub const H_ERR_NEE: u32 = 9102;
2159pub const H_ERR_PDDL: u32 = 9150;
2160pub const H_ERR_MNI: u32 = 9200;
2161pub const H_ERR_SVD_CNVRG: u32 = 9201;
2162pub const H_ERR_SVD_FEWROW: u32 = 9202;
2163pub const H_ERR_TQLI_CNVRG: u32 = 9203;
2164pub const H_ERR_JACOBI_CNVRG: u32 = 9204;
2165pub const H_ERR_MATRIX_SING: u32 = 9205;
2166pub const H_ERR_MATCH_CNVRG: u32 = 9206;
2167pub const H_ERR_MAT_UNDEF: u32 = 9207;
2168pub const H_ERR_MAT_WDIM: u32 = 9208;
2169pub const H_ERR_MAT_NSQR: u32 = 9209;
2170pub const H_ERR_MAT_FAIL: u32 = 9210;
2171pub const H_ERR_MAT_NPD: u32 = 9211;
2172pub const H_ERR_MAT_DBZ: u32 = 9212;
2173pub const H_ERR_MAT_NUT: u32 = 9213;
2174pub const H_ERR_MAT_NLT: u32 = 9214;
2175pub const H_ERR_MAT_NEG: u32 = 9215;
2176pub const H_ERR_MAT_UNCHAR: u32 = 9216;
2177pub const H_ERR_MAT_NOT_COMPLETE: u32 = 9217;
2178pub const H_ERR_MAT_READ: u32 = 9218;
2179pub const H_ERR_MAT_COMPLEX: u32 = 9219;
2180pub const H_ERR_WMATEXP: u32 = 9220;
2181pub const H_ERR_MAT_WRONG_VERSION: u32 = 9221;
2182pub const H_ERR_MAT_NOSITEM: u32 = 9222;
2183pub const H_ERR_WNODE: u32 = 9230;
2184pub const H_ERR_CMP_INCONSISTENT: u32 = 9231;
2185pub const H_ERR_LAPACK_PAR: u32 = 9250;
2186pub const H_ERR_STRI_NPNT: u32 = 9260;
2187pub const H_ERR_STRI_COLL: u32 = 9261;
2188pub const H_ERR_STRI_IDPNT: u32 = 9262;
2189pub const H_ERR_STRI_NALLOC: u32 = 9263;
2190pub const H_ERR_STRI_DEGEN: u32 = 9264;
2191pub const H_ERR_STRI_ITRI: u32 = 9265;
2192pub const H_ERR_STRI_SELFINT: u32 = 9266;
2193pub const H_ERR_STRI_INCONS: u32 = 9267;
2194pub const H_ERR_STRI_AMBINT: u32 = 9268;
2195pub const H_ERR_STRI_AMBARC: u32 = 9269;
2196pub const H_ERR_STRI_ILLPAR: u32 = 9270;
2197pub const H_ERR_TRI_NPNT: u32 = 9280;
2198pub const H_ERR_TRI_COLL: u32 = 9281;
2199pub const H_ERR_TRI_IDPNT: u32 = 9282;
2200pub const H_ERR_TRI_IDPNTIN: u32 = 9283;
2201pub const H_ERR_TRI_NALLOC: u32 = 9284;
2202pub const H_ERR_TRI_ITRI: u32 = 9285;
2203pub const H_ERR_TRI_OUTR: u32 = 9286;
2204pub const H_ERR_TRI_LOCINC: u32 = 9290;
2205pub const H_ERR_WSPVP: u32 = 9300;
2206pub const H_ERR_DQ_ZERO_NORM: u32 = 9310;
2207pub const H_ERR_TIMEOUT: u32 = 9400;
2208pub const H_ERR_WRONG_TIMEOUT: u32 = 9401;
2209pub const H_ERR_DEFORM_WRONG_NUM_CLUSTER: u32 = 9450;
2210pub const H_ERR_DEFORM_WRONG_NUM_MIN_SIZE: u32 = 9451;
2211pub const H_ERR_DEFORM_WRONG_NUM_LSQ: u32 = 9452;
2212pub const H_ERR_DEFORM_WRONG_ANGLE_STEP: u32 = 9453;
2213pub const H_ERR_DEFORM_WRONG_SCALE_R_STEP: u32 = 9454;
2214pub const H_ERR_DEFORM_WRONG_SCALE_C_STEP: u32 = 9455;
2215pub const H_ERR_DEFORM_WRONG_MAX_ANGLE: u32 = 9456;
2216pub const H_ERR_DEFORM_WRONG_MAX_ANISO: u32 = 9457;
2217pub const H_ERR_DEFORM_WRONG_MIN_SIZE: u32 = 9458;
2218pub const H_ERR_DEFORM_WRONG_COV_POSE_MODE: u32 = 9459;
2219pub const H_ERR_DEFORM_NO_CALIBRATION_INFO: u32 = 9460;
2220pub const H_ERR_DEFORM_WRONG_PARAM_NAME: u32 = 9461;
2221pub const H_ERR_DEFORM_IMAGE_TO_CAMERA_DIFF: u32 = 9462;
2222pub const H_ERR_DEFORM_NO_MODEL_IN_FILE: u32 = 9463;
2223pub const H_ERR_DEFORM_WRONG_VERSION: u32 = 9464;
2224pub const H_ERR_DEFORM_WRONG_SMOOTH_DEFORM: u32 = 9465;
2225pub const H_ERR_DEFORM_WRONG_EXPAND_BORDER: u32 = 9466;
2226pub const H_ERR_DEFORM_ORIGIN_OUTSIDE_TEMPLATE: u32 = 9467;
2227pub const H_ERR_DEFORM_NOSITEM: u32 = 9468;
2228pub const H_ERR_VIEW_ESTIM_FAIL: u32 = 9499;
2229pub const H_ERR_SFM_NO_POINTS: u32 = 9500;
2230pub const H_ERR_SFM_NO_FACES: u32 = 9501;
2231pub const H_ERR_SFM_NO_NORMALS: u32 = 9502;
2232pub const H_ERR_SFM_NO_VISIBILITY: u32 = 9503;
2233pub const H_ERR_SFM_NO_3D_EDGES: u32 = 9504;
2234pub const H_ERR_SFM_NO_SFM_FILE: u32 = 9506;
2235pub const H_ERR_SFM_WRONG_FILE_VERSION: u32 = 9507;
2236pub const H_ERR_SFM_NOSITEM: u32 = 9508;
2237pub const H_ERR_SFM_TOO_MANY_SYMMS: u32 = 9509;
2238pub const H_ERR_OM3D_INVALID_FILE: u32 = 9510;
2239pub const H_ERR_OM3D_INVALID_MODEL: u32 = 9511;
2240pub const H_ERR_OM3D_UNKNOWN_FILE_TYPE: u32 = 9512;
2241pub const H_ERR_OM3D_WRONG_FILE_VERSION: u32 = 9513;
2242pub const H_ERR_OM3D_MISSING_ATTRIB: u32 = 9514;
2243pub const H_ERR_OM3D_MISSING_ATTRIB_V_COORD: u32 = 9515;
2244pub const H_ERR_OM3D_MISSING_ATTRIB_V_NORMALS: u32 = 9516;
2245pub const H_ERR_OM3D_MISSING_ATTRIB_F_TRIANGLES: u32 = 9517;
2246pub const H_ERR_OM3D_MISSING_ATTRIB_F_LINES: u32 = 9518;
2247pub const H_ERR_OM3D_MISSING_ATTRIB_F_TRINEIGB: u32 = 9519;
2248pub const H_ERR_OM3D_MISSING_ATTRIB_F_POLYGONS: u32 = 9520;
2249pub const H_ERR_OM3D_MISSING_ATTRIB_V_2DMAP: u32 = 9521;
2250pub const H_ERR_OM3D_MISSING_ATTRIB_O_PRIMITIVE: u32 = 9522;
2251pub const H_ERR_OM3D_MISSING_ATTRIB_SHAPE_MODEL: u32 = 9523;
2252pub const H_ERR_OM3D_MISSING_ATTRIB_EXTENDED: u32 = 9524;
2253pub const H_ERR_OM3D_NOSITEM: u32 = 9525;
2254pub const H_ERR_OM3D_MISSING_O_PRIMITIVE_EXTENSION: u32 = 9526;
2255pub const H_ERR_OM3D_CONTAIN_ATTRIB_F_TRIANGLES: u32 = 9527;
2256pub const H_ERR_OM3D_CONTAIN_ATTRIB_F_LINES: u32 = 9528;
2257pub const H_ERR_OM3D_CONTAIN_ATTRIB_F_POLYGONS: u32 = 9529;
2258pub const H_ERR_OM3D_ISOLATED_OBJECT: u32 = 9530;
2259pub const H_ERR_OM3D_SET_ALL_COORD: u32 = 9531;
2260pub const H_ERR_OM3D_SET_ALL_NORMALS: u32 = 9532;
2261pub const H_ERR_OM3D_NUM_NOT_FIT_COORD: u32 = 9533;
2262pub const H_ERR_OM3D_NUM_NOT_FIT_NORMALS: u32 = 9534;
2263pub const H_ERR_OM3D_NUM_NOT_FIT_TRIANGLES: u32 = 9535;
2264pub const H_ERR_OM3D_NUM_NOT_FIT_POLYGONS: u32 = 9536;
2265pub const H_ERR_OM3D_NUM_NOT_FIT_LINES: u32 = 9537;
2266pub const H_ERR_OM3D_NUM_NOT_FIT_2DMAP: u32 = 9538;
2267pub const H_ERR_OM3D_NUM_NOT_FIT_EXTENDED: u32 = 9539;
2268pub const H_ERR_OM3D_FACE_INTENSITY_WITH_POINTS: u32 = 9540;
2269pub const H_ERR_OM3D_ATTRIBUTE_NOT_SUPPORTED: u32 = 9541;
2270pub const H_ERR_OM3D_NOT_IN_BB: u32 = 9542;
2271pub const H_ERR_DIF_TOO_SMALL: u32 = 9543;
2272pub const H_ERR_MINTH_TOO_SMALL: u32 = 9544;
2273pub const H_ERR_OM3D_WRONG_DIMENSION: u32 = 9545;
2274pub const H_ERR_OM3D_MISSING_DIMENSION: u32 = 9546;
2275pub const H_ERR_SF_OM3D_TRIANGLES_NOT_SUITABLE: u32 = 9550;
2276pub const H_ERR_SF_OM3D_FEW_POINTS: u32 = 9551;
2277pub const H_ERR_NO_SERIALIZED_ITEM: u32 = 9580;
2278pub const H_ERR_END_OF_FILE: u32 = 9581;
2279pub const H_ERR_SID_WRONG_RESIZE_METHOD: u32 = 9600;
2280pub const H_ERR_SID_WRONG_RESIZE_VALUE: u32 = 9601;
2281pub const H_ERR_SID_WRONG_RATING_METHOD: u32 = 9602;
2282pub const H_ERR_SID_NO_IMAGE_INFO_TYPE: u32 = 9603;
2283pub const H_ERR_SID_MODEL_NO_COLOR: u32 = 9604;
2284pub const H_ERR_SID_MODEL_NO_TEXTURE: u32 = 9605;
2285pub const H_ERR_SID_NO_IMAGE_INFO: u32 = 9606;
2286pub const H_ERR_SID_NO_UNPREPARED_DATA: u32 = 9607;
2287pub const H_ERR_SID_MODEL_NOT_PREPARED: u32 = 9608;
2288pub const H_ERR_SID_NO_UNTRAINED_DATA: u32 = 9609;
2289pub const H_ERR_SID_MODEL_NOT_TRAINED: u32 = 9610;
2290pub const H_ERR_SID_NO_RESULT_DATA: u32 = 9611;
2291pub const H_ERR_SID_NUM_TRAIN_OBJ: u32 = 9612;
2292pub const H_ERR_FINI_USR_THREADS: u32 = 9700;
2293pub const H_ERR_NO_ENCRYPTED_ITEM: u32 = 9800;
2294pub const H_ERR_WRONG_PASSWORD: u32 = 9801;
2295pub const H_ERR_ENCRYPT_FAILED: u32 = 9802;
2296pub const H_ERR_DECRYPT_FAILED: u32 = 9803;
2297pub const H_ERR_START_EXT: u32 = 10000;
2298pub const H_ERR_NO_LICENSE: u32 = 2003;
2299pub const H_ERR_NO_MODULES: u32 = 2005;
2300pub const H_ERR_NO_LIC_OPER: u32 = 2006;
2301pub const H_ERR_LAST_LIC_ERROR: u32 = 2384;
2302pub const IMAGE_INDEX: u32 = 1;
2303pub const HAG_PAR_INDEPENDENT: u32 = 0;
2304pub const HAG_PAR_NO_RESTRICT: u32 = 1;
2305pub const HAG_PAR_LOCAL: u32 = 2;
2306pub const HAG_PAR_MUTUAL: u32 = 4;
2307pub const HAG_PAR_EXCLUSIVE: u32 = 8;
2308pub const HAG_KW_CHORD_NUM: u32 = 1;
2309pub const HAG_KW_MIN_COSTS: u32 = 16300;
2310pub const HAG_KW_PAR_COSTS: u32 = 308;
2311pub const HAG_KW_CPU_RATING: u32 = 10;
2312pub const HAG_PAR_NOCT: u32 = 1;
2313pub const HAG_PAR_TUCT_ADD: u32 = 2;
2314pub const HAG_PAR_CHCT_ADD: u32 = 4;
2315pub const HAG_PAR_RECT_ADD: u32 = 8;
2316pub const HAG_PAR_TUCT_MIN: u32 = 16;
2317pub const HAG_PAR_CHCT_MIN: u32 = 32;
2318pub const HAG_PAR_RECT_MIN: u32 = 64;
2319pub const HAG_PAR_TUCT_MAX: u32 = 128;
2320pub const HAG_PAR_CHCT_MAX: u32 = 256;
2321pub const HAG_PAR_RECT_MAX: u32 = 512;
2322pub const HAG_PAR_TUCT_CON: u32 = 1024;
2323pub const HAG_PAR_CHCT_CON: u32 = 2048;
2324pub const HAG_PAR_RECT_CON: u32 = 4096;
2325pub const HAG_PAR_TUCT: u32 = 1170;
2326pub const HAG_PAR_CHCT: u32 = 2340;
2327pub const HAG_PAR_RECT: u32 = 4680;
2328pub const HAG_PAR_REG_NONE: u32 = 0;
2329pub const HAG_PAR_REG_CONSI: u32 = 1;
2330pub const HAG_PAR_REG_CONMU: u32 = 2;
2331pub const HAG_PAR_REG_CONMAN: u32 = 4;
2332pub const HAG_PAR_SEQ: u32 = 0;
2333pub const HAG_PAR_MT: u32 = 1;
2334pub const HAG_PAR_FORCE: u32 = 2;
2335pub const HAG_PAR_NONE: u32 = 4;
2336pub const HAG_PAR_TUPL: u32 = 32;
2337pub const HAG_PAR_CHNL: u32 = 64;
2338pub const HAG_PAR_RESC: u32 = 128;
2339pub const HAG_PAR_REIF: u32 = 256;
2340pub const HAG_PAR_PART: u32 = 512;
2341pub const HAG_PAR_PAIF: u32 = 1024;
2342pub const HAG_PAR_SPLIT_NONE: u32 = 0;
2343pub const HAG_PAR_SPLIT_DOMAIN: u32 = 384;
2344pub const HAG_PAR_INTERFACE: u32 = 352;
2345pub const HAG_PAR_INTERNAL: u32 = 1536;
2346pub const HAG_PAR_ALL: u32 = 2016;
2347pub const HAG_PAR_TUPL_MT: u32 = 33;
2348pub const HAG_PAR_CHNL_MT: u32 = 65;
2349pub const HAG_PAR_RESC_MT: u32 = 129;
2350pub const HAG_PAR_REIF_MT: u32 = 257;
2351pub const HAG_PAR_DOM_MT: u32 = 385;
2352pub const HAG_PAR_PART_MT: u32 = 513;
2353pub const HAG_PAR_PAIF_MT: u32 = 1025;
2354pub const HAG_PAR_DPAR_MT: u32 = 2017;
2355pub const HAG_PAR_TUPLED: u32 = 16777216;
2356pub const HAG_PAR_CHNLED: u32 = 33554432;
2357pub const HAG_PAR_RESCED: u32 = 67108864;
2358pub const HAG_PAR_REIFED: u32 = 134217728;
2359pub const COMPUTE_DEVICE_NONE: u32 = 0;
2360pub const COMPUTE_DEVICE_OpenCL: u32 = 1;
2361pub const COMPUTE_DEVICE_BIT_NONE: u32 = 0;
2362pub const COMPUTE_DEVICE_BIT_OpenCL: u32 = 2;
2363pub const MAX_COORD: u32 = 32767;
2364pub const MIN_COORD: i32 = -32767;
2365pub const HISTO_LEN: u32 = 256;
2366pub const MAX_DISTR: u32 = 513;
2367pub const NULL_DISTR: u32 = 256;
2368pub const EPERM: u32 = 1;
2369pub const ENOENT: u32 = 2;
2370pub const ESRCH: u32 = 3;
2371pub const EINTR: u32 = 4;
2372pub const EIO: u32 = 5;
2373pub const ENXIO: u32 = 6;
2374pub const E2BIG: u32 = 7;
2375pub const ENOEXEC: u32 = 8;
2376pub const EBADF: u32 = 9;
2377pub const ECHILD: u32 = 10;
2378pub const EAGAIN: u32 = 11;
2379pub const ENOMEM: u32 = 12;
2380pub const EACCES: u32 = 13;
2381pub const EFAULT: u32 = 14;
2382pub const EBUSY: u32 = 16;
2383pub const EEXIST: u32 = 17;
2384pub const EXDEV: u32 = 18;
2385pub const ENODEV: u32 = 19;
2386pub const ENOTDIR: u32 = 20;
2387pub const EISDIR: u32 = 21;
2388pub const ENFILE: u32 = 23;
2389pub const EMFILE: u32 = 24;
2390pub const ENOTTY: u32 = 25;
2391pub const EFBIG: u32 = 27;
2392pub const ENOSPC: u32 = 28;
2393pub const ESPIPE: u32 = 29;
2394pub const EROFS: u32 = 30;
2395pub const EMLINK: u32 = 31;
2396pub const EPIPE: u32 = 32;
2397pub const EDOM: u32 = 33;
2398pub const EDEADLK: u32 = 36;
2399pub const ENAMETOOLONG: u32 = 38;
2400pub const ENOLCK: u32 = 39;
2401pub const ENOSYS: u32 = 40;
2402pub const ENOTEMPTY: u32 = 41;
2403pub const EINVAL: u32 = 22;
2404pub const ERANGE: u32 = 34;
2405pub const EILSEQ: u32 = 42;
2406pub const STRUNCATE: u32 = 80;
2407pub const EDEADLOCK: u32 = 36;
2408pub const EADDRINUSE: u32 = 100;
2409pub const EADDRNOTAVAIL: u32 = 101;
2410pub const EAFNOSUPPORT: u32 = 102;
2411pub const EALREADY: u32 = 103;
2412pub const EBADMSG: u32 = 104;
2413pub const ECANCELED: u32 = 105;
2414pub const ECONNABORTED: u32 = 106;
2415pub const ECONNREFUSED: u32 = 107;
2416pub const ECONNRESET: u32 = 108;
2417pub const EDESTADDRREQ: u32 = 109;
2418pub const EHOSTUNREACH: u32 = 110;
2419pub const EIDRM: u32 = 111;
2420pub const EINPROGRESS: u32 = 112;
2421pub const EISCONN: u32 = 113;
2422pub const ELOOP: u32 = 114;
2423pub const EMSGSIZE: u32 = 115;
2424pub const ENETDOWN: u32 = 116;
2425pub const ENETRESET: u32 = 117;
2426pub const ENETUNREACH: u32 = 118;
2427pub const ENOBUFS: u32 = 119;
2428pub const ENODATA: u32 = 120;
2429pub const ENOLINK: u32 = 121;
2430pub const ENOMSG: u32 = 122;
2431pub const ENOPROTOOPT: u32 = 123;
2432pub const ENOSR: u32 = 124;
2433pub const ENOSTR: u32 = 125;
2434pub const ENOTCONN: u32 = 126;
2435pub const ENOTRECOVERABLE: u32 = 127;
2436pub const ENOTSOCK: u32 = 128;
2437pub const ENOTSUP: u32 = 129;
2438pub const EOPNOTSUPP: u32 = 130;
2439pub const EOTHER: u32 = 131;
2440pub const EOVERFLOW: u32 = 132;
2441pub const EOWNERDEAD: u32 = 133;
2442pub const EPROTO: u32 = 134;
2443pub const EPROTONOSUPPORT: u32 = 135;
2444pub const EPROTOTYPE: u32 = 136;
2445pub const ETIME: u32 = 137;
2446pub const ETIMEDOUT: u32 = 138;
2447pub const ETXTBSY: u32 = 139;
2448pub const EWOULDBLOCK: u32 = 140;
2449pub const _NLSCMPERROR: u32 = 2147483647;
2450pub const UNDEF_TYPE: i32 = -1;
2451pub const HVECTOR_UNDEF: u32 = 0;
2452pub type va_list = *mut ::std::os::raw::c_char;
2453unsafe extern "C" {
2454    pub fn __va_start(arg1: *mut *mut ::std::os::raw::c_char, ...);
2455}
2456pub type __vcrt_bool = bool;
2457pub type wchar_t = ::std::os::raw::c_ushort;
2458unsafe extern "C" {
2459    pub fn __security_init_cookie();
2460}
2461unsafe extern "C" {
2462    pub fn __security_check_cookie(_StackCookie: usize);
2463}
2464unsafe extern "C" {
2465    pub fn __report_gsfailure(_StackCookie: usize) -> !;
2466}
2467unsafe extern "C" {
2468    pub static mut __security_cookie: usize;
2469}
2470pub type __crt_bool = bool;
2471unsafe extern "C" {
2472    pub fn _invalid_parameter_noinfo();
2473}
2474unsafe extern "C" {
2475    pub fn _invalid_parameter_noinfo_noreturn() -> !;
2476}
2477unsafe extern "C" {
2478    pub fn _invoke_watson(
2479        _Expression: *const wchar_t,
2480        _FunctionName: *const wchar_t,
2481        _FileName: *const wchar_t,
2482        _LineNo: ::std::os::raw::c_uint,
2483        _Reserved: usize,
2484    ) -> !;
2485}
2486pub type errno_t = ::std::os::raw::c_int;
2487pub type wint_t = ::std::os::raw::c_ushort;
2488pub type wctype_t = ::std::os::raw::c_ushort;
2489pub type __time32_t = ::std::os::raw::c_long;
2490pub type __time64_t = ::std::os::raw::c_longlong;
2491#[repr(C)]
2492#[derive(Debug, Copy, Clone)]
2493pub struct __crt_locale_data_public {
2494    pub _locale_pctype: *const ::std::os::raw::c_ushort,
2495    pub _locale_mb_cur_max: ::std::os::raw::c_int,
2496    pub _locale_lc_codepage: ::std::os::raw::c_uint,
2497}
2498#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2499const _: () = {
2500    ["Size of __crt_locale_data_public"]
2501        [::std::mem::size_of::<__crt_locale_data_public>() - 16usize];
2502    ["Alignment of __crt_locale_data_public"]
2503        [::std::mem::align_of::<__crt_locale_data_public>() - 8usize];
2504    ["Offset of field: __crt_locale_data_public::_locale_pctype"]
2505        [::std::mem::offset_of!(__crt_locale_data_public, _locale_pctype) - 0usize];
2506    ["Offset of field: __crt_locale_data_public::_locale_mb_cur_max"]
2507        [::std::mem::offset_of!(__crt_locale_data_public, _locale_mb_cur_max) - 8usize];
2508    ["Offset of field: __crt_locale_data_public::_locale_lc_codepage"]
2509        [::std::mem::offset_of!(__crt_locale_data_public, _locale_lc_codepage) - 12usize];
2510};
2511#[repr(C)]
2512#[derive(Debug, Copy, Clone)]
2513pub struct __crt_locale_pointers {
2514    pub locinfo: *mut __crt_locale_data,
2515    pub mbcinfo: *mut __crt_multibyte_data,
2516}
2517#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2518const _: () = {
2519    ["Size of __crt_locale_pointers"][::std::mem::size_of::<__crt_locale_pointers>() - 16usize];
2520    ["Alignment of __crt_locale_pointers"]
2521        [::std::mem::align_of::<__crt_locale_pointers>() - 8usize];
2522    ["Offset of field: __crt_locale_pointers::locinfo"]
2523        [::std::mem::offset_of!(__crt_locale_pointers, locinfo) - 0usize];
2524    ["Offset of field: __crt_locale_pointers::mbcinfo"]
2525        [::std::mem::offset_of!(__crt_locale_pointers, mbcinfo) - 8usize];
2526};
2527pub type _locale_t = *mut __crt_locale_pointers;
2528#[repr(C)]
2529#[derive(Debug, Copy, Clone)]
2530pub struct _Mbstatet {
2531    pub _Wchar: ::std::os::raw::c_ulong,
2532    pub _Byte: ::std::os::raw::c_ushort,
2533    pub _State: ::std::os::raw::c_ushort,
2534}
2535#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2536const _: () = {
2537    ["Size of _Mbstatet"][::std::mem::size_of::<_Mbstatet>() - 8usize];
2538    ["Alignment of _Mbstatet"][::std::mem::align_of::<_Mbstatet>() - 4usize];
2539    ["Offset of field: _Mbstatet::_Wchar"][::std::mem::offset_of!(_Mbstatet, _Wchar) - 0usize];
2540    ["Offset of field: _Mbstatet::_Byte"][::std::mem::offset_of!(_Mbstatet, _Byte) - 4usize];
2541    ["Offset of field: _Mbstatet::_State"][::std::mem::offset_of!(_Mbstatet, _State) - 6usize];
2542};
2543pub type mbstate_t = _Mbstatet;
2544pub type time_t = __time64_t;
2545pub type rsize_t = usize;
2546unsafe extern "C" {
2547    pub fn _calloc_base(_Count: usize, _Size: usize) -> *mut ::std::os::raw::c_void;
2548}
2549unsafe extern "C" {
2550    pub fn calloc(
2551        _Count: ::std::os::raw::c_ulonglong,
2552        _Size: ::std::os::raw::c_ulonglong,
2553    ) -> *mut ::std::os::raw::c_void;
2554}
2555unsafe extern "C" {
2556    pub fn _callnewh(_Size: usize) -> ::std::os::raw::c_int;
2557}
2558unsafe extern "C" {
2559    pub fn _expand(
2560        _Block: *mut ::std::os::raw::c_void,
2561        _Size: usize,
2562    ) -> *mut ::std::os::raw::c_void;
2563}
2564unsafe extern "C" {
2565    pub fn _free_base(_Block: *mut ::std::os::raw::c_void);
2566}
2567unsafe extern "C" {
2568    pub fn free(_Block: *mut ::std::os::raw::c_void);
2569}
2570unsafe extern "C" {
2571    pub fn _malloc_base(_Size: usize) -> *mut ::std::os::raw::c_void;
2572}
2573unsafe extern "C" {
2574    pub fn malloc(_Size: ::std::os::raw::c_ulonglong) -> *mut ::std::os::raw::c_void;
2575}
2576unsafe extern "C" {
2577    pub fn _msize_base(_Block: *mut ::std::os::raw::c_void) -> usize;
2578}
2579unsafe extern "C" {
2580    pub fn _msize(_Block: *mut ::std::os::raw::c_void) -> usize;
2581}
2582unsafe extern "C" {
2583    pub fn _realloc_base(
2584        _Block: *mut ::std::os::raw::c_void,
2585        _Size: usize,
2586    ) -> *mut ::std::os::raw::c_void;
2587}
2588unsafe extern "C" {
2589    pub fn realloc(
2590        _Block: *mut ::std::os::raw::c_void,
2591        _Size: ::std::os::raw::c_ulonglong,
2592    ) -> *mut ::std::os::raw::c_void;
2593}
2594unsafe extern "C" {
2595    pub fn _recalloc_base(
2596        _Block: *mut ::std::os::raw::c_void,
2597        _Count: usize,
2598        _Size: usize,
2599    ) -> *mut ::std::os::raw::c_void;
2600}
2601unsafe extern "C" {
2602    pub fn _recalloc(
2603        _Block: *mut ::std::os::raw::c_void,
2604        _Count: usize,
2605        _Size: usize,
2606    ) -> *mut ::std::os::raw::c_void;
2607}
2608unsafe extern "C" {
2609    pub fn _aligned_free(_Block: *mut ::std::os::raw::c_void);
2610}
2611unsafe extern "C" {
2612    pub fn _aligned_malloc(_Size: usize, _Alignment: usize) -> *mut ::std::os::raw::c_void;
2613}
2614unsafe extern "C" {
2615    pub fn _aligned_offset_malloc(
2616        _Size: usize,
2617        _Alignment: usize,
2618        _Offset: usize,
2619    ) -> *mut ::std::os::raw::c_void;
2620}
2621unsafe extern "C" {
2622    pub fn _aligned_msize(
2623        _Block: *mut ::std::os::raw::c_void,
2624        _Alignment: usize,
2625        _Offset: usize,
2626    ) -> usize;
2627}
2628unsafe extern "C" {
2629    pub fn _aligned_offset_realloc(
2630        _Block: *mut ::std::os::raw::c_void,
2631        _Size: usize,
2632        _Alignment: usize,
2633        _Offset: usize,
2634    ) -> *mut ::std::os::raw::c_void;
2635}
2636unsafe extern "C" {
2637    pub fn _aligned_offset_recalloc(
2638        _Block: *mut ::std::os::raw::c_void,
2639        _Count: usize,
2640        _Size: usize,
2641        _Alignment: usize,
2642        _Offset: usize,
2643    ) -> *mut ::std::os::raw::c_void;
2644}
2645unsafe extern "C" {
2646    pub fn _aligned_realloc(
2647        _Block: *mut ::std::os::raw::c_void,
2648        _Size: usize,
2649        _Alignment: usize,
2650    ) -> *mut ::std::os::raw::c_void;
2651}
2652unsafe extern "C" {
2653    pub fn _aligned_recalloc(
2654        _Block: *mut ::std::os::raw::c_void,
2655        _Count: usize,
2656        _Size: usize,
2657        _Alignment: usize,
2658    ) -> *mut ::std::os::raw::c_void;
2659}
2660pub type max_align_t = f64;
2661pub type _CoreCrtSecureSearchSortCompareFunction = ::std::option::Option<
2662    unsafe extern "C" fn(
2663        arg1: *mut ::std::os::raw::c_void,
2664        arg2: *const ::std::os::raw::c_void,
2665        arg3: *const ::std::os::raw::c_void,
2666    ) -> ::std::os::raw::c_int,
2667>;
2668pub type _CoreCrtNonSecureSearchSortCompareFunction = ::std::option::Option<
2669    unsafe extern "C" fn(
2670        arg1: *const ::std::os::raw::c_void,
2671        arg2: *const ::std::os::raw::c_void,
2672    ) -> ::std::os::raw::c_int,
2673>;
2674unsafe extern "C" {
2675    pub fn bsearch_s(
2676        _Key: *const ::std::os::raw::c_void,
2677        _Base: *const ::std::os::raw::c_void,
2678        _NumOfElements: rsize_t,
2679        _SizeOfElements: rsize_t,
2680        _CompareFunction: _CoreCrtSecureSearchSortCompareFunction,
2681        _Context: *mut ::std::os::raw::c_void,
2682    ) -> *mut ::std::os::raw::c_void;
2683}
2684unsafe extern "C" {
2685    pub fn qsort_s(
2686        _Base: *mut ::std::os::raw::c_void,
2687        _NumOfElements: rsize_t,
2688        _SizeOfElements: rsize_t,
2689        _CompareFunction: _CoreCrtSecureSearchSortCompareFunction,
2690        _Context: *mut ::std::os::raw::c_void,
2691    );
2692}
2693unsafe extern "C" {
2694    pub fn bsearch(
2695        _Key: *const ::std::os::raw::c_void,
2696        _Base: *const ::std::os::raw::c_void,
2697        _NumOfElements: usize,
2698        _SizeOfElements: usize,
2699        _CompareFunction: _CoreCrtNonSecureSearchSortCompareFunction,
2700    ) -> *mut ::std::os::raw::c_void;
2701}
2702unsafe extern "C" {
2703    pub fn qsort(
2704        _Base: *mut ::std::os::raw::c_void,
2705        _NumOfElements: usize,
2706        _SizeOfElements: usize,
2707        _CompareFunction: _CoreCrtNonSecureSearchSortCompareFunction,
2708    );
2709}
2710unsafe extern "C" {
2711    pub fn _lfind_s(
2712        _Key: *const ::std::os::raw::c_void,
2713        _Base: *const ::std::os::raw::c_void,
2714        _NumOfElements: *mut ::std::os::raw::c_uint,
2715        _SizeOfElements: usize,
2716        _CompareFunction: _CoreCrtSecureSearchSortCompareFunction,
2717        _Context: *mut ::std::os::raw::c_void,
2718    ) -> *mut ::std::os::raw::c_void;
2719}
2720unsafe extern "C" {
2721    pub fn _lfind(
2722        _Key: *const ::std::os::raw::c_void,
2723        _Base: *const ::std::os::raw::c_void,
2724        _NumOfElements: *mut ::std::os::raw::c_uint,
2725        _SizeOfElements: ::std::os::raw::c_uint,
2726        _CompareFunction: _CoreCrtNonSecureSearchSortCompareFunction,
2727    ) -> *mut ::std::os::raw::c_void;
2728}
2729unsafe extern "C" {
2730    pub fn _lsearch_s(
2731        _Key: *const ::std::os::raw::c_void,
2732        _Base: *mut ::std::os::raw::c_void,
2733        _NumOfElements: *mut ::std::os::raw::c_uint,
2734        _SizeOfElements: usize,
2735        _CompareFunction: _CoreCrtSecureSearchSortCompareFunction,
2736        _Context: *mut ::std::os::raw::c_void,
2737    ) -> *mut ::std::os::raw::c_void;
2738}
2739unsafe extern "C" {
2740    pub fn _lsearch(
2741        _Key: *const ::std::os::raw::c_void,
2742        _Base: *mut ::std::os::raw::c_void,
2743        _NumOfElements: *mut ::std::os::raw::c_uint,
2744        _SizeOfElements: ::std::os::raw::c_uint,
2745        _CompareFunction: _CoreCrtNonSecureSearchSortCompareFunction,
2746    ) -> *mut ::std::os::raw::c_void;
2747}
2748unsafe extern "C" {
2749    pub fn lfind(
2750        _Key: *const ::std::os::raw::c_void,
2751        _Base: *const ::std::os::raw::c_void,
2752        _NumOfElements: *mut ::std::os::raw::c_uint,
2753        _SizeOfElements: ::std::os::raw::c_uint,
2754        _CompareFunction: _CoreCrtNonSecureSearchSortCompareFunction,
2755    ) -> *mut ::std::os::raw::c_void;
2756}
2757unsafe extern "C" {
2758    pub fn lsearch(
2759        _Key: *const ::std::os::raw::c_void,
2760        _Base: *mut ::std::os::raw::c_void,
2761        _NumOfElements: *mut ::std::os::raw::c_uint,
2762        _SizeOfElements: ::std::os::raw::c_uint,
2763        _CompareFunction: _CoreCrtNonSecureSearchSortCompareFunction,
2764    ) -> *mut ::std::os::raw::c_void;
2765}
2766unsafe extern "C" {
2767    pub fn _itow_s(
2768        _Value: ::std::os::raw::c_int,
2769        _Buffer: *mut wchar_t,
2770        _BufferCount: usize,
2771        _Radix: ::std::os::raw::c_int,
2772    ) -> errno_t;
2773}
2774unsafe extern "C" {
2775    pub fn _itow(
2776        _Value: ::std::os::raw::c_int,
2777        _Buffer: *mut wchar_t,
2778        _Radix: ::std::os::raw::c_int,
2779    ) -> *mut wchar_t;
2780}
2781unsafe extern "C" {
2782    pub fn _ltow_s(
2783        _Value: ::std::os::raw::c_long,
2784        _Buffer: *mut wchar_t,
2785        _BufferCount: usize,
2786        _Radix: ::std::os::raw::c_int,
2787    ) -> errno_t;
2788}
2789unsafe extern "C" {
2790    pub fn _ltow(
2791        _Value: ::std::os::raw::c_long,
2792        _Buffer: *mut wchar_t,
2793        _Radix: ::std::os::raw::c_int,
2794    ) -> *mut wchar_t;
2795}
2796unsafe extern "C" {
2797    pub fn _ultow_s(
2798        _Value: ::std::os::raw::c_ulong,
2799        _Buffer: *mut wchar_t,
2800        _BufferCount: usize,
2801        _Radix: ::std::os::raw::c_int,
2802    ) -> errno_t;
2803}
2804unsafe extern "C" {
2805    pub fn _ultow(
2806        _Value: ::std::os::raw::c_ulong,
2807        _Buffer: *mut wchar_t,
2808        _Radix: ::std::os::raw::c_int,
2809    ) -> *mut wchar_t;
2810}
2811unsafe extern "C" {
2812    pub fn wcstod(_String: *const wchar_t, _EndPtr: *mut *mut wchar_t) -> f64;
2813}
2814unsafe extern "C" {
2815    pub fn _wcstod_l(
2816        _String: *const wchar_t,
2817        _EndPtr: *mut *mut wchar_t,
2818        _Locale: _locale_t,
2819    ) -> f64;
2820}
2821unsafe extern "C" {
2822    pub fn wcstol(
2823        _String: *const wchar_t,
2824        _EndPtr: *mut *mut wchar_t,
2825        _Radix: ::std::os::raw::c_int,
2826    ) -> ::std::os::raw::c_long;
2827}
2828unsafe extern "C" {
2829    pub fn _wcstol_l(
2830        _String: *const wchar_t,
2831        _EndPtr: *mut *mut wchar_t,
2832        _Radix: ::std::os::raw::c_int,
2833        _Locale: _locale_t,
2834    ) -> ::std::os::raw::c_long;
2835}
2836unsafe extern "C" {
2837    pub fn wcstoll(
2838        _String: *const wchar_t,
2839        _EndPtr: *mut *mut wchar_t,
2840        _Radix: ::std::os::raw::c_int,
2841    ) -> ::std::os::raw::c_longlong;
2842}
2843unsafe extern "C" {
2844    pub fn _wcstoll_l(
2845        _String: *const wchar_t,
2846        _EndPtr: *mut *mut wchar_t,
2847        _Radix: ::std::os::raw::c_int,
2848        _Locale: _locale_t,
2849    ) -> ::std::os::raw::c_longlong;
2850}
2851unsafe extern "C" {
2852    pub fn wcstoul(
2853        _String: *const wchar_t,
2854        _EndPtr: *mut *mut wchar_t,
2855        _Radix: ::std::os::raw::c_int,
2856    ) -> ::std::os::raw::c_ulong;
2857}
2858unsafe extern "C" {
2859    pub fn _wcstoul_l(
2860        _String: *const wchar_t,
2861        _EndPtr: *mut *mut wchar_t,
2862        _Radix: ::std::os::raw::c_int,
2863        _Locale: _locale_t,
2864    ) -> ::std::os::raw::c_ulong;
2865}
2866unsafe extern "C" {
2867    pub fn wcstoull(
2868        _String: *const wchar_t,
2869        _EndPtr: *mut *mut wchar_t,
2870        _Radix: ::std::os::raw::c_int,
2871    ) -> ::std::os::raw::c_ulonglong;
2872}
2873unsafe extern "C" {
2874    pub fn _wcstoull_l(
2875        _String: *const wchar_t,
2876        _EndPtr: *mut *mut wchar_t,
2877        _Radix: ::std::os::raw::c_int,
2878        _Locale: _locale_t,
2879    ) -> ::std::os::raw::c_ulonglong;
2880}
2881unsafe extern "C" {
2882    pub fn wcstold(_String: *const wchar_t, _EndPtr: *mut *mut wchar_t) -> f64;
2883}
2884unsafe extern "C" {
2885    pub fn _wcstold_l(
2886        _String: *const wchar_t,
2887        _EndPtr: *mut *mut wchar_t,
2888        _Locale: _locale_t,
2889    ) -> f64;
2890}
2891unsafe extern "C" {
2892    pub fn wcstof(_String: *const wchar_t, _EndPtr: *mut *mut wchar_t) -> f32;
2893}
2894unsafe extern "C" {
2895    pub fn _wcstof_l(
2896        _String: *const wchar_t,
2897        _EndPtr: *mut *mut wchar_t,
2898        _Locale: _locale_t,
2899    ) -> f32;
2900}
2901unsafe extern "C" {
2902    pub fn _wtof(_String: *const wchar_t) -> f64;
2903}
2904unsafe extern "C" {
2905    pub fn _wtof_l(_String: *const wchar_t, _Locale: _locale_t) -> f64;
2906}
2907unsafe extern "C" {
2908    pub fn _wtoi(_String: *const wchar_t) -> ::std::os::raw::c_int;
2909}
2910unsafe extern "C" {
2911    pub fn _wtoi_l(_String: *const wchar_t, _Locale: _locale_t) -> ::std::os::raw::c_int;
2912}
2913unsafe extern "C" {
2914    pub fn _wtol(_String: *const wchar_t) -> ::std::os::raw::c_long;
2915}
2916unsafe extern "C" {
2917    pub fn _wtol_l(_String: *const wchar_t, _Locale: _locale_t) -> ::std::os::raw::c_long;
2918}
2919unsafe extern "C" {
2920    pub fn _wtoll(_String: *const wchar_t) -> ::std::os::raw::c_longlong;
2921}
2922unsafe extern "C" {
2923    pub fn _wtoll_l(_String: *const wchar_t, _Locale: _locale_t) -> ::std::os::raw::c_longlong;
2924}
2925unsafe extern "C" {
2926    pub fn _i64tow_s(
2927        _Value: ::std::os::raw::c_longlong,
2928        _Buffer: *mut wchar_t,
2929        _BufferCount: usize,
2930        _Radix: ::std::os::raw::c_int,
2931    ) -> errno_t;
2932}
2933unsafe extern "C" {
2934    pub fn _i64tow(
2935        _Value: ::std::os::raw::c_longlong,
2936        _Buffer: *mut wchar_t,
2937        _Radix: ::std::os::raw::c_int,
2938    ) -> *mut wchar_t;
2939}
2940unsafe extern "C" {
2941    pub fn _ui64tow_s(
2942        _Value: ::std::os::raw::c_ulonglong,
2943        _Buffer: *mut wchar_t,
2944        _BufferCount: usize,
2945        _Radix: ::std::os::raw::c_int,
2946    ) -> errno_t;
2947}
2948unsafe extern "C" {
2949    pub fn _ui64tow(
2950        _Value: ::std::os::raw::c_ulonglong,
2951        _Buffer: *mut wchar_t,
2952        _Radix: ::std::os::raw::c_int,
2953    ) -> *mut wchar_t;
2954}
2955unsafe extern "C" {
2956    pub fn _wtoi64(_String: *const wchar_t) -> ::std::os::raw::c_longlong;
2957}
2958unsafe extern "C" {
2959    pub fn _wtoi64_l(_String: *const wchar_t, _Locale: _locale_t) -> ::std::os::raw::c_longlong;
2960}
2961unsafe extern "C" {
2962    pub fn _wcstoi64(
2963        _String: *const wchar_t,
2964        _EndPtr: *mut *mut wchar_t,
2965        _Radix: ::std::os::raw::c_int,
2966    ) -> ::std::os::raw::c_longlong;
2967}
2968unsafe extern "C" {
2969    pub fn _wcstoi64_l(
2970        _String: *const wchar_t,
2971        _EndPtr: *mut *mut wchar_t,
2972        _Radix: ::std::os::raw::c_int,
2973        _Locale: _locale_t,
2974    ) -> ::std::os::raw::c_longlong;
2975}
2976unsafe extern "C" {
2977    pub fn _wcstoui64(
2978        _String: *const wchar_t,
2979        _EndPtr: *mut *mut wchar_t,
2980        _Radix: ::std::os::raw::c_int,
2981    ) -> ::std::os::raw::c_ulonglong;
2982}
2983unsafe extern "C" {
2984    pub fn _wcstoui64_l(
2985        _String: *const wchar_t,
2986        _EndPtr: *mut *mut wchar_t,
2987        _Radix: ::std::os::raw::c_int,
2988        _Locale: _locale_t,
2989    ) -> ::std::os::raw::c_ulonglong;
2990}
2991unsafe extern "C" {
2992    pub fn _wfullpath(
2993        _Buffer: *mut wchar_t,
2994        _Path: *const wchar_t,
2995        _BufferCount: usize,
2996    ) -> *mut wchar_t;
2997}
2998unsafe extern "C" {
2999    pub fn _wmakepath_s(
3000        _Buffer: *mut wchar_t,
3001        _BufferCount: usize,
3002        _Drive: *const wchar_t,
3003        _Dir: *const wchar_t,
3004        _Filename: *const wchar_t,
3005        _Ext: *const wchar_t,
3006    ) -> errno_t;
3007}
3008unsafe extern "C" {
3009    pub fn _wmakepath(
3010        _Buffer: *mut wchar_t,
3011        _Drive: *const wchar_t,
3012        _Dir: *const wchar_t,
3013        _Filename: *const wchar_t,
3014        _Ext: *const wchar_t,
3015    );
3016}
3017unsafe extern "C" {
3018    pub fn _wperror(_ErrorMessage: *const wchar_t);
3019}
3020unsafe extern "C" {
3021    pub fn _wsplitpath(
3022        _FullPath: *const wchar_t,
3023        _Drive: *mut wchar_t,
3024        _Dir: *mut wchar_t,
3025        _Filename: *mut wchar_t,
3026        _Ext: *mut wchar_t,
3027    );
3028}
3029unsafe extern "C" {
3030    pub fn _wsplitpath_s(
3031        _FullPath: *const wchar_t,
3032        _Drive: *mut wchar_t,
3033        _DriveCount: usize,
3034        _Dir: *mut wchar_t,
3035        _DirCount: usize,
3036        _Filename: *mut wchar_t,
3037        _FilenameCount: usize,
3038        _Ext: *mut wchar_t,
3039        _ExtCount: usize,
3040    ) -> errno_t;
3041}
3042unsafe extern "C" {
3043    pub fn _wdupenv_s(
3044        _Buffer: *mut *mut wchar_t,
3045        _BufferCount: *mut usize,
3046        _VarName: *const wchar_t,
3047    ) -> errno_t;
3048}
3049unsafe extern "C" {
3050    pub fn _wgetenv(_VarName: *const wchar_t) -> *mut wchar_t;
3051}
3052unsafe extern "C" {
3053    pub fn _wgetenv_s(
3054        _RequiredCount: *mut usize,
3055        _Buffer: *mut wchar_t,
3056        _BufferCount: usize,
3057        _VarName: *const wchar_t,
3058    ) -> errno_t;
3059}
3060unsafe extern "C" {
3061    pub fn _wputenv(_EnvString: *const wchar_t) -> ::std::os::raw::c_int;
3062}
3063unsafe extern "C" {
3064    pub fn _wputenv_s(_Name: *const wchar_t, _Value: *const wchar_t) -> errno_t;
3065}
3066unsafe extern "C" {
3067    pub fn _wsearchenv_s(
3068        _Filename: *const wchar_t,
3069        _VarName: *const wchar_t,
3070        _Buffer: *mut wchar_t,
3071        _BufferCount: usize,
3072    ) -> errno_t;
3073}
3074unsafe extern "C" {
3075    pub fn _wsearchenv(
3076        _Filename: *const wchar_t,
3077        _VarName: *const wchar_t,
3078        _ResultPath: *mut wchar_t,
3079    );
3080}
3081unsafe extern "C" {
3082    pub fn _wsystem(_Command: *const wchar_t) -> ::std::os::raw::c_int;
3083}
3084unsafe extern "C" {
3085    pub fn _swab(
3086        _Buf1: *mut ::std::os::raw::c_char,
3087        _Buf2: *mut ::std::os::raw::c_char,
3088        _SizeInBytes: ::std::os::raw::c_int,
3089    );
3090}
3091unsafe extern "C" {
3092    pub fn exit(_Code: ::std::os::raw::c_int) -> !;
3093}
3094unsafe extern "C" {
3095    pub fn _exit(_Code: ::std::os::raw::c_int) -> !;
3096}
3097unsafe extern "C" {
3098    pub fn _Exit(_Code: ::std::os::raw::c_int) -> !;
3099}
3100unsafe extern "C" {
3101    pub fn quick_exit(_Code: ::std::os::raw::c_int) -> !;
3102}
3103unsafe extern "C" {
3104    pub fn abort() -> !;
3105}
3106unsafe extern "C" {
3107    pub fn _set_abort_behavior(
3108        _Flags: ::std::os::raw::c_uint,
3109        _Mask: ::std::os::raw::c_uint,
3110    ) -> ::std::os::raw::c_uint;
3111}
3112pub type _onexit_t = ::std::option::Option<unsafe extern "C" fn() -> ::std::os::raw::c_int>;
3113unsafe extern "C" {
3114    pub fn atexit(arg1: ::std::option::Option<unsafe extern "C" fn()>) -> ::std::os::raw::c_int;
3115}
3116unsafe extern "C" {
3117    pub fn _onexit(_Func: _onexit_t) -> _onexit_t;
3118}
3119unsafe extern "C" {
3120    pub fn at_quick_exit(
3121        arg1: ::std::option::Option<unsafe extern "C" fn()>,
3122    ) -> ::std::os::raw::c_int;
3123}
3124pub type _purecall_handler = ::std::option::Option<unsafe extern "C" fn()>;
3125pub type _invalid_parameter_handler = ::std::option::Option<
3126    unsafe extern "C" fn(
3127        arg1: *const wchar_t,
3128        arg2: *const wchar_t,
3129        arg3: *const wchar_t,
3130        arg4: ::std::os::raw::c_uint,
3131        arg5: usize,
3132    ),
3133>;
3134unsafe extern "C" {
3135    pub fn _set_purecall_handler(_Handler: _purecall_handler) -> _purecall_handler;
3136}
3137unsafe extern "C" {
3138    pub fn _get_purecall_handler() -> _purecall_handler;
3139}
3140unsafe extern "C" {
3141    pub fn _set_invalid_parameter_handler(
3142        _Handler: _invalid_parameter_handler,
3143    ) -> _invalid_parameter_handler;
3144}
3145unsafe extern "C" {
3146    pub fn _get_invalid_parameter_handler() -> _invalid_parameter_handler;
3147}
3148unsafe extern "C" {
3149    pub fn _set_thread_local_invalid_parameter_handler(
3150        _Handler: _invalid_parameter_handler,
3151    ) -> _invalid_parameter_handler;
3152}
3153unsafe extern "C" {
3154    pub fn _get_thread_local_invalid_parameter_handler() -> _invalid_parameter_handler;
3155}
3156unsafe extern "C" {
3157    pub fn _set_error_mode(_Mode: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
3158}
3159unsafe extern "C" {
3160    pub fn _errno() -> *mut ::std::os::raw::c_int;
3161}
3162unsafe extern "C" {
3163    pub fn _set_errno(_Value: ::std::os::raw::c_int) -> errno_t;
3164}
3165unsafe extern "C" {
3166    pub fn _get_errno(_Value: *mut ::std::os::raw::c_int) -> errno_t;
3167}
3168unsafe extern "C" {
3169    pub fn __doserrno() -> *mut ::std::os::raw::c_ulong;
3170}
3171unsafe extern "C" {
3172    pub fn _set_doserrno(_Value: ::std::os::raw::c_ulong) -> errno_t;
3173}
3174unsafe extern "C" {
3175    pub fn _get_doserrno(_Value: *mut ::std::os::raw::c_ulong) -> errno_t;
3176}
3177unsafe extern "C" {
3178    pub fn __sys_errlist() -> *mut *mut ::std::os::raw::c_char;
3179}
3180unsafe extern "C" {
3181    pub fn __sys_nerr() -> *mut ::std::os::raw::c_int;
3182}
3183unsafe extern "C" {
3184    pub fn perror(_ErrMsg: *const ::std::os::raw::c_char);
3185}
3186unsafe extern "C" {
3187    pub fn __p__pgmptr() -> *mut *mut ::std::os::raw::c_char;
3188}
3189unsafe extern "C" {
3190    pub fn __p__wpgmptr() -> *mut *mut wchar_t;
3191}
3192unsafe extern "C" {
3193    pub fn __p__fmode() -> *mut ::std::os::raw::c_int;
3194}
3195unsafe extern "C" {
3196    pub fn _get_pgmptr(_Value: *mut *mut ::std::os::raw::c_char) -> errno_t;
3197}
3198unsafe extern "C" {
3199    pub fn _get_wpgmptr(_Value: *mut *mut wchar_t) -> errno_t;
3200}
3201unsafe extern "C" {
3202    pub fn _set_fmode(_Mode: ::std::os::raw::c_int) -> errno_t;
3203}
3204unsafe extern "C" {
3205    pub fn _get_fmode(_PMode: *mut ::std::os::raw::c_int) -> errno_t;
3206}
3207#[repr(C)]
3208#[derive(Debug, Copy, Clone)]
3209pub struct _div_t {
3210    pub quot: ::std::os::raw::c_int,
3211    pub rem: ::std::os::raw::c_int,
3212}
3213#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3214const _: () = {
3215    ["Size of _div_t"][::std::mem::size_of::<_div_t>() - 8usize];
3216    ["Alignment of _div_t"][::std::mem::align_of::<_div_t>() - 4usize];
3217    ["Offset of field: _div_t::quot"][::std::mem::offset_of!(_div_t, quot) - 0usize];
3218    ["Offset of field: _div_t::rem"][::std::mem::offset_of!(_div_t, rem) - 4usize];
3219};
3220pub type div_t = _div_t;
3221#[repr(C)]
3222#[derive(Debug, Copy, Clone)]
3223pub struct _ldiv_t {
3224    pub quot: ::std::os::raw::c_long,
3225    pub rem: ::std::os::raw::c_long,
3226}
3227#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3228const _: () = {
3229    ["Size of _ldiv_t"][::std::mem::size_of::<_ldiv_t>() - 8usize];
3230    ["Alignment of _ldiv_t"][::std::mem::align_of::<_ldiv_t>() - 4usize];
3231    ["Offset of field: _ldiv_t::quot"][::std::mem::offset_of!(_ldiv_t, quot) - 0usize];
3232    ["Offset of field: _ldiv_t::rem"][::std::mem::offset_of!(_ldiv_t, rem) - 4usize];
3233};
3234pub type ldiv_t = _ldiv_t;
3235#[repr(C)]
3236#[derive(Debug, Copy, Clone)]
3237pub struct _lldiv_t {
3238    pub quot: ::std::os::raw::c_longlong,
3239    pub rem: ::std::os::raw::c_longlong,
3240}
3241#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3242const _: () = {
3243    ["Size of _lldiv_t"][::std::mem::size_of::<_lldiv_t>() - 16usize];
3244    ["Alignment of _lldiv_t"][::std::mem::align_of::<_lldiv_t>() - 8usize];
3245    ["Offset of field: _lldiv_t::quot"][::std::mem::offset_of!(_lldiv_t, quot) - 0usize];
3246    ["Offset of field: _lldiv_t::rem"][::std::mem::offset_of!(_lldiv_t, rem) - 8usize];
3247};
3248pub type lldiv_t = _lldiv_t;
3249unsafe extern "C" {
3250    pub fn abs(_Number: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
3251}
3252unsafe extern "C" {
3253    pub fn labs(_Number: ::std::os::raw::c_long) -> ::std::os::raw::c_long;
3254}
3255unsafe extern "C" {
3256    pub fn llabs(_Number: ::std::os::raw::c_longlong) -> ::std::os::raw::c_longlong;
3257}
3258unsafe extern "C" {
3259    pub fn _abs64(_Number: ::std::os::raw::c_longlong) -> ::std::os::raw::c_longlong;
3260}
3261unsafe extern "C" {
3262    pub fn _byteswap_ushort(_Number: ::std::os::raw::c_ushort) -> ::std::os::raw::c_ushort;
3263}
3264unsafe extern "C" {
3265    pub fn _byteswap_ulong(_Number: ::std::os::raw::c_ulong) -> ::std::os::raw::c_ulong;
3266}
3267unsafe extern "C" {
3268    pub fn _byteswap_uint64(_Number: ::std::os::raw::c_ulonglong) -> ::std::os::raw::c_ulonglong;
3269}
3270unsafe extern "C" {
3271    pub fn div(_Numerator: ::std::os::raw::c_int, _Denominator: ::std::os::raw::c_int) -> div_t;
3272}
3273unsafe extern "C" {
3274    pub fn ldiv(_Numerator: ::std::os::raw::c_long, _Denominator: ::std::os::raw::c_long)
3275    -> ldiv_t;
3276}
3277unsafe extern "C" {
3278    pub fn lldiv(
3279        _Numerator: ::std::os::raw::c_longlong,
3280        _Denominator: ::std::os::raw::c_longlong,
3281    ) -> lldiv_t;
3282}
3283unsafe extern "C" {
3284    pub fn _rotl(
3285        _Value: ::std::os::raw::c_uint,
3286        _Shift: ::std::os::raw::c_int,
3287    ) -> ::std::os::raw::c_uint;
3288}
3289unsafe extern "C" {
3290    pub fn _lrotl(
3291        _Value: ::std::os::raw::c_ulong,
3292        _Shift: ::std::os::raw::c_int,
3293    ) -> ::std::os::raw::c_ulong;
3294}
3295unsafe extern "C" {
3296    pub fn _rotl64(
3297        _Value: ::std::os::raw::c_ulonglong,
3298        _Shift: ::std::os::raw::c_int,
3299    ) -> ::std::os::raw::c_ulonglong;
3300}
3301unsafe extern "C" {
3302    pub fn _rotr(
3303        _Value: ::std::os::raw::c_uint,
3304        _Shift: ::std::os::raw::c_int,
3305    ) -> ::std::os::raw::c_uint;
3306}
3307unsafe extern "C" {
3308    pub fn _lrotr(
3309        _Value: ::std::os::raw::c_ulong,
3310        _Shift: ::std::os::raw::c_int,
3311    ) -> ::std::os::raw::c_ulong;
3312}
3313unsafe extern "C" {
3314    pub fn _rotr64(
3315        _Value: ::std::os::raw::c_ulonglong,
3316        _Shift: ::std::os::raw::c_int,
3317    ) -> ::std::os::raw::c_ulonglong;
3318}
3319unsafe extern "C" {
3320    pub fn srand(_Seed: ::std::os::raw::c_uint);
3321}
3322unsafe extern "C" {
3323    pub fn rand() -> ::std::os::raw::c_int;
3324}
3325#[repr(C)]
3326#[derive(Debug, Copy, Clone)]
3327pub struct _LDOUBLE {
3328    pub ld: [::std::os::raw::c_uchar; 10usize],
3329}
3330#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3331const _: () = {
3332    ["Size of _LDOUBLE"][::std::mem::size_of::<_LDOUBLE>() - 10usize];
3333    ["Alignment of _LDOUBLE"][::std::mem::align_of::<_LDOUBLE>() - 1usize];
3334    ["Offset of field: _LDOUBLE::ld"][::std::mem::offset_of!(_LDOUBLE, ld) - 0usize];
3335};
3336#[repr(C)]
3337#[derive(Debug, Copy, Clone)]
3338pub struct _CRT_DOUBLE {
3339    pub x: f64,
3340}
3341#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3342const _: () = {
3343    ["Size of _CRT_DOUBLE"][::std::mem::size_of::<_CRT_DOUBLE>() - 8usize];
3344    ["Alignment of _CRT_DOUBLE"][::std::mem::align_of::<_CRT_DOUBLE>() - 8usize];
3345    ["Offset of field: _CRT_DOUBLE::x"][::std::mem::offset_of!(_CRT_DOUBLE, x) - 0usize];
3346};
3347#[repr(C)]
3348#[derive(Debug, Copy, Clone)]
3349pub struct _CRT_FLOAT {
3350    pub f: f32,
3351}
3352#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3353const _: () = {
3354    ["Size of _CRT_FLOAT"][::std::mem::size_of::<_CRT_FLOAT>() - 4usize];
3355    ["Alignment of _CRT_FLOAT"][::std::mem::align_of::<_CRT_FLOAT>() - 4usize];
3356    ["Offset of field: _CRT_FLOAT::f"][::std::mem::offset_of!(_CRT_FLOAT, f) - 0usize];
3357};
3358#[repr(C)]
3359#[derive(Debug, Copy, Clone)]
3360pub struct _LONGDOUBLE {
3361    pub x: f64,
3362}
3363#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3364const _: () = {
3365    ["Size of _LONGDOUBLE"][::std::mem::size_of::<_LONGDOUBLE>() - 8usize];
3366    ["Alignment of _LONGDOUBLE"][::std::mem::align_of::<_LONGDOUBLE>() - 8usize];
3367    ["Offset of field: _LONGDOUBLE::x"][::std::mem::offset_of!(_LONGDOUBLE, x) - 0usize];
3368};
3369#[repr(C)]
3370#[derive(Debug, Copy, Clone)]
3371pub struct _LDBL12 {
3372    pub ld12: [::std::os::raw::c_uchar; 12usize],
3373}
3374#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3375const _: () = {
3376    ["Size of _LDBL12"][::std::mem::size_of::<_LDBL12>() - 12usize];
3377    ["Alignment of _LDBL12"][::std::mem::align_of::<_LDBL12>() - 1usize];
3378    ["Offset of field: _LDBL12::ld12"][::std::mem::offset_of!(_LDBL12, ld12) - 0usize];
3379};
3380unsafe extern "C" {
3381    pub fn atof(_String: *const ::std::os::raw::c_char) -> f64;
3382}
3383unsafe extern "C" {
3384    pub fn atoi(_String: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
3385}
3386unsafe extern "C" {
3387    pub fn atol(_String: *const ::std::os::raw::c_char) -> ::std::os::raw::c_long;
3388}
3389unsafe extern "C" {
3390    pub fn atoll(_String: *const ::std::os::raw::c_char) -> ::std::os::raw::c_longlong;
3391}
3392unsafe extern "C" {
3393    pub fn _atoi64(_String: *const ::std::os::raw::c_char) -> ::std::os::raw::c_longlong;
3394}
3395unsafe extern "C" {
3396    pub fn _atof_l(_String: *const ::std::os::raw::c_char, _Locale: _locale_t) -> f64;
3397}
3398unsafe extern "C" {
3399    pub fn _atoi_l(
3400        _String: *const ::std::os::raw::c_char,
3401        _Locale: _locale_t,
3402    ) -> ::std::os::raw::c_int;
3403}
3404unsafe extern "C" {
3405    pub fn _atol_l(
3406        _String: *const ::std::os::raw::c_char,
3407        _Locale: _locale_t,
3408    ) -> ::std::os::raw::c_long;
3409}
3410unsafe extern "C" {
3411    pub fn _atoll_l(
3412        _String: *const ::std::os::raw::c_char,
3413        _Locale: _locale_t,
3414    ) -> ::std::os::raw::c_longlong;
3415}
3416unsafe extern "C" {
3417    pub fn _atoi64_l(
3418        _String: *const ::std::os::raw::c_char,
3419        _Locale: _locale_t,
3420    ) -> ::std::os::raw::c_longlong;
3421}
3422unsafe extern "C" {
3423    pub fn _atoflt(
3424        _Result: *mut _CRT_FLOAT,
3425        _String: *const ::std::os::raw::c_char,
3426    ) -> ::std::os::raw::c_int;
3427}
3428unsafe extern "C" {
3429    pub fn _atodbl(
3430        _Result: *mut _CRT_DOUBLE,
3431        _String: *mut ::std::os::raw::c_char,
3432    ) -> ::std::os::raw::c_int;
3433}
3434unsafe extern "C" {
3435    pub fn _atoldbl(
3436        _Result: *mut _LDOUBLE,
3437        _String: *mut ::std::os::raw::c_char,
3438    ) -> ::std::os::raw::c_int;
3439}
3440unsafe extern "C" {
3441    pub fn _atoflt_l(
3442        _Result: *mut _CRT_FLOAT,
3443        _String: *const ::std::os::raw::c_char,
3444        _Locale: _locale_t,
3445    ) -> ::std::os::raw::c_int;
3446}
3447unsafe extern "C" {
3448    pub fn _atodbl_l(
3449        _Result: *mut _CRT_DOUBLE,
3450        _String: *mut ::std::os::raw::c_char,
3451        _Locale: _locale_t,
3452    ) -> ::std::os::raw::c_int;
3453}
3454unsafe extern "C" {
3455    pub fn _atoldbl_l(
3456        _Result: *mut _LDOUBLE,
3457        _String: *mut ::std::os::raw::c_char,
3458        _Locale: _locale_t,
3459    ) -> ::std::os::raw::c_int;
3460}
3461unsafe extern "C" {
3462    pub fn strtof(
3463        _String: *const ::std::os::raw::c_char,
3464        _EndPtr: *mut *mut ::std::os::raw::c_char,
3465    ) -> f32;
3466}
3467unsafe extern "C" {
3468    pub fn _strtof_l(
3469        _String: *const ::std::os::raw::c_char,
3470        _EndPtr: *mut *mut ::std::os::raw::c_char,
3471        _Locale: _locale_t,
3472    ) -> f32;
3473}
3474unsafe extern "C" {
3475    pub fn strtod(
3476        _String: *const ::std::os::raw::c_char,
3477        _EndPtr: *mut *mut ::std::os::raw::c_char,
3478    ) -> f64;
3479}
3480unsafe extern "C" {
3481    pub fn _strtod_l(
3482        _String: *const ::std::os::raw::c_char,
3483        _EndPtr: *mut *mut ::std::os::raw::c_char,
3484        _Locale: _locale_t,
3485    ) -> f64;
3486}
3487unsafe extern "C" {
3488    pub fn strtold(
3489        _String: *const ::std::os::raw::c_char,
3490        _EndPtr: *mut *mut ::std::os::raw::c_char,
3491    ) -> f64;
3492}
3493unsafe extern "C" {
3494    pub fn _strtold_l(
3495        _String: *const ::std::os::raw::c_char,
3496        _EndPtr: *mut *mut ::std::os::raw::c_char,
3497        _Locale: _locale_t,
3498    ) -> f64;
3499}
3500unsafe extern "C" {
3501    pub fn strtol(
3502        _String: *const ::std::os::raw::c_char,
3503        _EndPtr: *mut *mut ::std::os::raw::c_char,
3504        _Radix: ::std::os::raw::c_int,
3505    ) -> ::std::os::raw::c_long;
3506}
3507unsafe extern "C" {
3508    pub fn _strtol_l(
3509        _String: *const ::std::os::raw::c_char,
3510        _EndPtr: *mut *mut ::std::os::raw::c_char,
3511        _Radix: ::std::os::raw::c_int,
3512        _Locale: _locale_t,
3513    ) -> ::std::os::raw::c_long;
3514}
3515unsafe extern "C" {
3516    pub fn strtoll(
3517        _String: *const ::std::os::raw::c_char,
3518        _EndPtr: *mut *mut ::std::os::raw::c_char,
3519        _Radix: ::std::os::raw::c_int,
3520    ) -> ::std::os::raw::c_longlong;
3521}
3522unsafe extern "C" {
3523    pub fn _strtoll_l(
3524        _String: *const ::std::os::raw::c_char,
3525        _EndPtr: *mut *mut ::std::os::raw::c_char,
3526        _Radix: ::std::os::raw::c_int,
3527        _Locale: _locale_t,
3528    ) -> ::std::os::raw::c_longlong;
3529}
3530unsafe extern "C" {
3531    pub fn strtoul(
3532        _String: *const ::std::os::raw::c_char,
3533        _EndPtr: *mut *mut ::std::os::raw::c_char,
3534        _Radix: ::std::os::raw::c_int,
3535    ) -> ::std::os::raw::c_ulong;
3536}
3537unsafe extern "C" {
3538    pub fn _strtoul_l(
3539        _String: *const ::std::os::raw::c_char,
3540        _EndPtr: *mut *mut ::std::os::raw::c_char,
3541        _Radix: ::std::os::raw::c_int,
3542        _Locale: _locale_t,
3543    ) -> ::std::os::raw::c_ulong;
3544}
3545unsafe extern "C" {
3546    pub fn strtoull(
3547        _String: *const ::std::os::raw::c_char,
3548        _EndPtr: *mut *mut ::std::os::raw::c_char,
3549        _Radix: ::std::os::raw::c_int,
3550    ) -> ::std::os::raw::c_ulonglong;
3551}
3552unsafe extern "C" {
3553    pub fn _strtoull_l(
3554        _String: *const ::std::os::raw::c_char,
3555        _EndPtr: *mut *mut ::std::os::raw::c_char,
3556        _Radix: ::std::os::raw::c_int,
3557        _Locale: _locale_t,
3558    ) -> ::std::os::raw::c_ulonglong;
3559}
3560unsafe extern "C" {
3561    pub fn _strtoi64(
3562        _String: *const ::std::os::raw::c_char,
3563        _EndPtr: *mut *mut ::std::os::raw::c_char,
3564        _Radix: ::std::os::raw::c_int,
3565    ) -> ::std::os::raw::c_longlong;
3566}
3567unsafe extern "C" {
3568    pub fn _strtoi64_l(
3569        _String: *const ::std::os::raw::c_char,
3570        _EndPtr: *mut *mut ::std::os::raw::c_char,
3571        _Radix: ::std::os::raw::c_int,
3572        _Locale: _locale_t,
3573    ) -> ::std::os::raw::c_longlong;
3574}
3575unsafe extern "C" {
3576    pub fn _strtoui64(
3577        _String: *const ::std::os::raw::c_char,
3578        _EndPtr: *mut *mut ::std::os::raw::c_char,
3579        _Radix: ::std::os::raw::c_int,
3580    ) -> ::std::os::raw::c_ulonglong;
3581}
3582unsafe extern "C" {
3583    pub fn _strtoui64_l(
3584        _String: *const ::std::os::raw::c_char,
3585        _EndPtr: *mut *mut ::std::os::raw::c_char,
3586        _Radix: ::std::os::raw::c_int,
3587        _Locale: _locale_t,
3588    ) -> ::std::os::raw::c_ulonglong;
3589}
3590unsafe extern "C" {
3591    pub fn _itoa_s(
3592        _Value: ::std::os::raw::c_int,
3593        _Buffer: *mut ::std::os::raw::c_char,
3594        _BufferCount: usize,
3595        _Radix: ::std::os::raw::c_int,
3596    ) -> errno_t;
3597}
3598unsafe extern "C" {
3599    pub fn _itoa(
3600        _Value: ::std::os::raw::c_int,
3601        _Buffer: *mut ::std::os::raw::c_char,
3602        _Radix: ::std::os::raw::c_int,
3603    ) -> *mut ::std::os::raw::c_char;
3604}
3605unsafe extern "C" {
3606    pub fn _ltoa_s(
3607        _Value: ::std::os::raw::c_long,
3608        _Buffer: *mut ::std::os::raw::c_char,
3609        _BufferCount: usize,
3610        _Radix: ::std::os::raw::c_int,
3611    ) -> errno_t;
3612}
3613unsafe extern "C" {
3614    pub fn _ltoa(
3615        _Value: ::std::os::raw::c_long,
3616        _Buffer: *mut ::std::os::raw::c_char,
3617        _Radix: ::std::os::raw::c_int,
3618    ) -> *mut ::std::os::raw::c_char;
3619}
3620unsafe extern "C" {
3621    pub fn _ultoa_s(
3622        _Value: ::std::os::raw::c_ulong,
3623        _Buffer: *mut ::std::os::raw::c_char,
3624        _BufferCount: usize,
3625        _Radix: ::std::os::raw::c_int,
3626    ) -> errno_t;
3627}
3628unsafe extern "C" {
3629    pub fn _ultoa(
3630        _Value: ::std::os::raw::c_ulong,
3631        _Buffer: *mut ::std::os::raw::c_char,
3632        _Radix: ::std::os::raw::c_int,
3633    ) -> *mut ::std::os::raw::c_char;
3634}
3635unsafe extern "C" {
3636    pub fn _i64toa_s(
3637        _Value: ::std::os::raw::c_longlong,
3638        _Buffer: *mut ::std::os::raw::c_char,
3639        _BufferCount: usize,
3640        _Radix: ::std::os::raw::c_int,
3641    ) -> errno_t;
3642}
3643unsafe extern "C" {
3644    pub fn _i64toa(
3645        _Value: ::std::os::raw::c_longlong,
3646        _Buffer: *mut ::std::os::raw::c_char,
3647        _Radix: ::std::os::raw::c_int,
3648    ) -> *mut ::std::os::raw::c_char;
3649}
3650unsafe extern "C" {
3651    pub fn _ui64toa_s(
3652        _Value: ::std::os::raw::c_ulonglong,
3653        _Buffer: *mut ::std::os::raw::c_char,
3654        _BufferCount: usize,
3655        _Radix: ::std::os::raw::c_int,
3656    ) -> errno_t;
3657}
3658unsafe extern "C" {
3659    pub fn _ui64toa(
3660        _Value: ::std::os::raw::c_ulonglong,
3661        _Buffer: *mut ::std::os::raw::c_char,
3662        _Radix: ::std::os::raw::c_int,
3663    ) -> *mut ::std::os::raw::c_char;
3664}
3665unsafe extern "C" {
3666    pub fn _ecvt_s(
3667        _Buffer: *mut ::std::os::raw::c_char,
3668        _BufferCount: usize,
3669        _Value: f64,
3670        _DigitCount: ::std::os::raw::c_int,
3671        _PtDec: *mut ::std::os::raw::c_int,
3672        _PtSign: *mut ::std::os::raw::c_int,
3673    ) -> errno_t;
3674}
3675unsafe extern "C" {
3676    pub fn _ecvt(
3677        _Value: f64,
3678        _DigitCount: ::std::os::raw::c_int,
3679        _PtDec: *mut ::std::os::raw::c_int,
3680        _PtSign: *mut ::std::os::raw::c_int,
3681    ) -> *mut ::std::os::raw::c_char;
3682}
3683unsafe extern "C" {
3684    pub fn _fcvt_s(
3685        _Buffer: *mut ::std::os::raw::c_char,
3686        _BufferCount: usize,
3687        _Value: f64,
3688        _FractionalDigitCount: ::std::os::raw::c_int,
3689        _PtDec: *mut ::std::os::raw::c_int,
3690        _PtSign: *mut ::std::os::raw::c_int,
3691    ) -> errno_t;
3692}
3693unsafe extern "C" {
3694    pub fn _fcvt(
3695        _Value: f64,
3696        _FractionalDigitCount: ::std::os::raw::c_int,
3697        _PtDec: *mut ::std::os::raw::c_int,
3698        _PtSign: *mut ::std::os::raw::c_int,
3699    ) -> *mut ::std::os::raw::c_char;
3700}
3701unsafe extern "C" {
3702    pub fn _gcvt_s(
3703        _Buffer: *mut ::std::os::raw::c_char,
3704        _BufferCount: usize,
3705        _Value: f64,
3706        _DigitCount: ::std::os::raw::c_int,
3707    ) -> errno_t;
3708}
3709unsafe extern "C" {
3710    pub fn _gcvt(
3711        _Value: f64,
3712        _DigitCount: ::std::os::raw::c_int,
3713        _Buffer: *mut ::std::os::raw::c_char,
3714    ) -> *mut ::std::os::raw::c_char;
3715}
3716unsafe extern "C" {
3717    pub fn ___mb_cur_max_func() -> ::std::os::raw::c_int;
3718}
3719unsafe extern "C" {
3720    pub fn ___mb_cur_max_l_func(_Locale: _locale_t) -> ::std::os::raw::c_int;
3721}
3722unsafe extern "C" {
3723    pub fn mblen(_Ch: *const ::std::os::raw::c_char, _MaxCount: usize) -> ::std::os::raw::c_int;
3724}
3725unsafe extern "C" {
3726    pub fn _mblen_l(
3727        _Ch: *const ::std::os::raw::c_char,
3728        _MaxCount: usize,
3729        _Locale: _locale_t,
3730    ) -> ::std::os::raw::c_int;
3731}
3732unsafe extern "C" {
3733    pub fn _mbstrlen(_String: *const ::std::os::raw::c_char) -> usize;
3734}
3735unsafe extern "C" {
3736    pub fn _mbstrlen_l(_String: *const ::std::os::raw::c_char, _Locale: _locale_t) -> usize;
3737}
3738unsafe extern "C" {
3739    pub fn _mbstrnlen(_String: *const ::std::os::raw::c_char, _MaxCount: usize) -> usize;
3740}
3741unsafe extern "C" {
3742    pub fn _mbstrnlen_l(
3743        _String: *const ::std::os::raw::c_char,
3744        _MaxCount: usize,
3745        _Locale: _locale_t,
3746    ) -> usize;
3747}
3748unsafe extern "C" {
3749    pub fn mbtowc(
3750        _DstCh: *mut wchar_t,
3751        _SrcCh: *const ::std::os::raw::c_char,
3752        _SrcSizeInBytes: usize,
3753    ) -> ::std::os::raw::c_int;
3754}
3755unsafe extern "C" {
3756    pub fn _mbtowc_l(
3757        _DstCh: *mut wchar_t,
3758        _SrcCh: *const ::std::os::raw::c_char,
3759        _SrcSizeInBytes: usize,
3760        _Locale: _locale_t,
3761    ) -> ::std::os::raw::c_int;
3762}
3763unsafe extern "C" {
3764    pub fn mbstowcs_s(
3765        _PtNumOfCharConverted: *mut usize,
3766        _DstBuf: *mut wchar_t,
3767        _SizeInWords: usize,
3768        _SrcBuf: *const ::std::os::raw::c_char,
3769        _MaxCount: usize,
3770    ) -> errno_t;
3771}
3772unsafe extern "C" {
3773    pub fn mbstowcs(
3774        _Dest: *mut wchar_t,
3775        _Source: *const ::std::os::raw::c_char,
3776        _MaxCount: usize,
3777    ) -> usize;
3778}
3779unsafe extern "C" {
3780    pub fn _mbstowcs_s_l(
3781        _PtNumOfCharConverted: *mut usize,
3782        _DstBuf: *mut wchar_t,
3783        _SizeInWords: usize,
3784        _SrcBuf: *const ::std::os::raw::c_char,
3785        _MaxCount: usize,
3786        _Locale: _locale_t,
3787    ) -> errno_t;
3788}
3789unsafe extern "C" {
3790    pub fn _mbstowcs_l(
3791        _Dest: *mut wchar_t,
3792        _Source: *const ::std::os::raw::c_char,
3793        _MaxCount: usize,
3794        _Locale: _locale_t,
3795    ) -> usize;
3796}
3797unsafe extern "C" {
3798    pub fn wctomb(_MbCh: *mut ::std::os::raw::c_char, _WCh: wchar_t) -> ::std::os::raw::c_int;
3799}
3800unsafe extern "C" {
3801    pub fn _wctomb_l(
3802        _MbCh: *mut ::std::os::raw::c_char,
3803        _WCh: wchar_t,
3804        _Locale: _locale_t,
3805    ) -> ::std::os::raw::c_int;
3806}
3807unsafe extern "C" {
3808    pub fn wctomb_s(
3809        _SizeConverted: *mut ::std::os::raw::c_int,
3810        _MbCh: *mut ::std::os::raw::c_char,
3811        _SizeInBytes: rsize_t,
3812        _WCh: wchar_t,
3813    ) -> errno_t;
3814}
3815unsafe extern "C" {
3816    pub fn _wctomb_s_l(
3817        _SizeConverted: *mut ::std::os::raw::c_int,
3818        _MbCh: *mut ::std::os::raw::c_char,
3819        _SizeInBytes: usize,
3820        _WCh: wchar_t,
3821        _Locale: _locale_t,
3822    ) -> errno_t;
3823}
3824unsafe extern "C" {
3825    pub fn wcstombs_s(
3826        _PtNumOfCharConverted: *mut usize,
3827        _Dst: *mut ::std::os::raw::c_char,
3828        _DstSizeInBytes: usize,
3829        _Src: *const wchar_t,
3830        _MaxCountInBytes: usize,
3831    ) -> errno_t;
3832}
3833unsafe extern "C" {
3834    pub fn wcstombs(
3835        _Dest: *mut ::std::os::raw::c_char,
3836        _Source: *const wchar_t,
3837        _MaxCount: usize,
3838    ) -> usize;
3839}
3840unsafe extern "C" {
3841    pub fn _wcstombs_s_l(
3842        _PtNumOfCharConverted: *mut usize,
3843        _Dst: *mut ::std::os::raw::c_char,
3844        _DstSizeInBytes: usize,
3845        _Src: *const wchar_t,
3846        _MaxCountInBytes: usize,
3847        _Locale: _locale_t,
3848    ) -> errno_t;
3849}
3850unsafe extern "C" {
3851    pub fn _wcstombs_l(
3852        _Dest: *mut ::std::os::raw::c_char,
3853        _Source: *const wchar_t,
3854        _MaxCount: usize,
3855        _Locale: _locale_t,
3856    ) -> usize;
3857}
3858unsafe extern "C" {
3859    pub fn _fullpath(
3860        _Buffer: *mut ::std::os::raw::c_char,
3861        _Path: *const ::std::os::raw::c_char,
3862        _BufferCount: usize,
3863    ) -> *mut ::std::os::raw::c_char;
3864}
3865unsafe extern "C" {
3866    pub fn _makepath_s(
3867        _Buffer: *mut ::std::os::raw::c_char,
3868        _BufferCount: usize,
3869        _Drive: *const ::std::os::raw::c_char,
3870        _Dir: *const ::std::os::raw::c_char,
3871        _Filename: *const ::std::os::raw::c_char,
3872        _Ext: *const ::std::os::raw::c_char,
3873    ) -> errno_t;
3874}
3875unsafe extern "C" {
3876    pub fn _makepath(
3877        _Buffer: *mut ::std::os::raw::c_char,
3878        _Drive: *const ::std::os::raw::c_char,
3879        _Dir: *const ::std::os::raw::c_char,
3880        _Filename: *const ::std::os::raw::c_char,
3881        _Ext: *const ::std::os::raw::c_char,
3882    );
3883}
3884unsafe extern "C" {
3885    pub fn _splitpath(
3886        _FullPath: *const ::std::os::raw::c_char,
3887        _Drive: *mut ::std::os::raw::c_char,
3888        _Dir: *mut ::std::os::raw::c_char,
3889        _Filename: *mut ::std::os::raw::c_char,
3890        _Ext: *mut ::std::os::raw::c_char,
3891    );
3892}
3893unsafe extern "C" {
3894    pub fn _splitpath_s(
3895        _FullPath: *const ::std::os::raw::c_char,
3896        _Drive: *mut ::std::os::raw::c_char,
3897        _DriveCount: usize,
3898        _Dir: *mut ::std::os::raw::c_char,
3899        _DirCount: usize,
3900        _Filename: *mut ::std::os::raw::c_char,
3901        _FilenameCount: usize,
3902        _Ext: *mut ::std::os::raw::c_char,
3903        _ExtCount: usize,
3904    ) -> errno_t;
3905}
3906unsafe extern "C" {
3907    pub fn getenv_s(
3908        _RequiredCount: *mut usize,
3909        _Buffer: *mut ::std::os::raw::c_char,
3910        _BufferCount: rsize_t,
3911        _VarName: *const ::std::os::raw::c_char,
3912    ) -> errno_t;
3913}
3914unsafe extern "C" {
3915    pub fn __p___argc() -> *mut ::std::os::raw::c_int;
3916}
3917unsafe extern "C" {
3918    pub fn __p___argv() -> *mut *mut *mut ::std::os::raw::c_char;
3919}
3920unsafe extern "C" {
3921    pub fn __p___wargv() -> *mut *mut *mut wchar_t;
3922}
3923unsafe extern "C" {
3924    pub fn __p__environ() -> *mut *mut *mut ::std::os::raw::c_char;
3925}
3926unsafe extern "C" {
3927    pub fn __p__wenviron() -> *mut *mut *mut wchar_t;
3928}
3929unsafe extern "C" {
3930    pub fn getenv(_VarName: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
3931}
3932unsafe extern "C" {
3933    pub fn _dupenv_s(
3934        _Buffer: *mut *mut ::std::os::raw::c_char,
3935        _BufferCount: *mut usize,
3936        _VarName: *const ::std::os::raw::c_char,
3937    ) -> errno_t;
3938}
3939unsafe extern "C" {
3940    pub fn system(_Command: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
3941}
3942unsafe extern "C" {
3943    pub fn _putenv(_EnvString: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
3944}
3945unsafe extern "C" {
3946    pub fn _putenv_s(
3947        _Name: *const ::std::os::raw::c_char,
3948        _Value: *const ::std::os::raw::c_char,
3949    ) -> errno_t;
3950}
3951unsafe extern "C" {
3952    pub fn _searchenv_s(
3953        _Filename: *const ::std::os::raw::c_char,
3954        _VarName: *const ::std::os::raw::c_char,
3955        _Buffer: *mut ::std::os::raw::c_char,
3956        _BufferCount: usize,
3957    ) -> errno_t;
3958}
3959unsafe extern "C" {
3960    pub fn _searchenv(
3961        _Filename: *const ::std::os::raw::c_char,
3962        _VarName: *const ::std::os::raw::c_char,
3963        _Buffer: *mut ::std::os::raw::c_char,
3964    );
3965}
3966unsafe extern "C" {
3967    pub fn _seterrormode(_Mode: ::std::os::raw::c_int);
3968}
3969unsafe extern "C" {
3970    pub fn _beep(_Frequency: ::std::os::raw::c_uint, _Duration: ::std::os::raw::c_uint);
3971}
3972unsafe extern "C" {
3973    pub fn _sleep(_Duration: ::std::os::raw::c_ulong);
3974}
3975unsafe extern "C" {
3976    pub fn ecvt(
3977        _Value: f64,
3978        _DigitCount: ::std::os::raw::c_int,
3979        _PtDec: *mut ::std::os::raw::c_int,
3980        _PtSign: *mut ::std::os::raw::c_int,
3981    ) -> *mut ::std::os::raw::c_char;
3982}
3983unsafe extern "C" {
3984    pub fn fcvt(
3985        _Value: f64,
3986        _FractionalDigitCount: ::std::os::raw::c_int,
3987        _PtDec: *mut ::std::os::raw::c_int,
3988        _PtSign: *mut ::std::os::raw::c_int,
3989    ) -> *mut ::std::os::raw::c_char;
3990}
3991unsafe extern "C" {
3992    pub fn gcvt(
3993        _Value: f64,
3994        _DigitCount: ::std::os::raw::c_int,
3995        _DstBuf: *mut ::std::os::raw::c_char,
3996    ) -> *mut ::std::os::raw::c_char;
3997}
3998unsafe extern "C" {
3999    pub fn itoa(
4000        _Value: ::std::os::raw::c_int,
4001        _Buffer: *mut ::std::os::raw::c_char,
4002        _Radix: ::std::os::raw::c_int,
4003    ) -> *mut ::std::os::raw::c_char;
4004}
4005unsafe extern "C" {
4006    pub fn ltoa(
4007        _Value: ::std::os::raw::c_long,
4008        _Buffer: *mut ::std::os::raw::c_char,
4009        _Radix: ::std::os::raw::c_int,
4010    ) -> *mut ::std::os::raw::c_char;
4011}
4012unsafe extern "C" {
4013    pub fn swab(
4014        _Buf1: *mut ::std::os::raw::c_char,
4015        _Buf2: *mut ::std::os::raw::c_char,
4016        _SizeInBytes: ::std::os::raw::c_int,
4017    );
4018}
4019unsafe extern "C" {
4020    pub fn ultoa(
4021        _Value: ::std::os::raw::c_ulong,
4022        _Buffer: *mut ::std::os::raw::c_char,
4023        _Radix: ::std::os::raw::c_int,
4024    ) -> *mut ::std::os::raw::c_char;
4025}
4026unsafe extern "C" {
4027    pub fn putenv(_EnvString: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
4028}
4029unsafe extern "C" {
4030    pub fn onexit(_Func: _onexit_t) -> _onexit_t;
4031}
4032unsafe extern "C" {
4033    pub fn _clearfp() -> ::std::os::raw::c_uint;
4034}
4035unsafe extern "C" {
4036    pub fn _controlfp(
4037        _NewValue: ::std::os::raw::c_uint,
4038        _Mask: ::std::os::raw::c_uint,
4039    ) -> ::std::os::raw::c_uint;
4040}
4041unsafe extern "C" {
4042    pub fn _set_controlfp(_NewValue: ::std::os::raw::c_uint, _Mask: ::std::os::raw::c_uint);
4043}
4044unsafe extern "C" {
4045    pub fn _controlfp_s(
4046        _CurrentState: *mut ::std::os::raw::c_uint,
4047        _NewValue: ::std::os::raw::c_uint,
4048        _Mask: ::std::os::raw::c_uint,
4049    ) -> errno_t;
4050}
4051unsafe extern "C" {
4052    pub fn _statusfp() -> ::std::os::raw::c_uint;
4053}
4054unsafe extern "C" {
4055    pub fn _fpreset();
4056}
4057unsafe extern "C" {
4058    pub fn _control87(
4059        _NewValue: ::std::os::raw::c_uint,
4060        _Mask: ::std::os::raw::c_uint,
4061    ) -> ::std::os::raw::c_uint;
4062}
4063unsafe extern "C" {
4064    pub fn __fpecode() -> *mut ::std::os::raw::c_int;
4065}
4066unsafe extern "C" {
4067    pub fn __fpe_flt_rounds() -> ::std::os::raw::c_int;
4068}
4069unsafe extern "C" {
4070    pub fn _copysign(_Number: f64, _Sign: f64) -> f64;
4071}
4072unsafe extern "C" {
4073    pub fn _chgsign(_X: f64) -> f64;
4074}
4075unsafe extern "C" {
4076    pub fn _scalb(_X: f64, _Y: ::std::os::raw::c_long) -> f64;
4077}
4078unsafe extern "C" {
4079    pub fn _logb(_X: f64) -> f64;
4080}
4081unsafe extern "C" {
4082    pub fn _nextafter(_X: f64, _Y: f64) -> f64;
4083}
4084unsafe extern "C" {
4085    pub fn _finite(_X: f64) -> ::std::os::raw::c_int;
4086}
4087unsafe extern "C" {
4088    pub fn _isnan(_X: f64) -> ::std::os::raw::c_int;
4089}
4090unsafe extern "C" {
4091    pub fn _fpclass(_X: f64) -> ::std::os::raw::c_int;
4092}
4093unsafe extern "C" {
4094    pub fn _scalbf(_X: f32, _Y: ::std::os::raw::c_long) -> f32;
4095}
4096unsafe extern "C" {
4097    pub fn fpreset();
4098}
4099pub type int_least8_t = ::std::os::raw::c_schar;
4100pub type int_least16_t = ::std::os::raw::c_short;
4101pub type int_least32_t = ::std::os::raw::c_int;
4102pub type int_least64_t = ::std::os::raw::c_longlong;
4103pub type uint_least8_t = ::std::os::raw::c_uchar;
4104pub type uint_least16_t = ::std::os::raw::c_ushort;
4105pub type uint_least32_t = ::std::os::raw::c_uint;
4106pub type uint_least64_t = ::std::os::raw::c_ulonglong;
4107pub type int_fast8_t = ::std::os::raw::c_schar;
4108pub type int_fast16_t = ::std::os::raw::c_int;
4109pub type int_fast32_t = ::std::os::raw::c_int;
4110pub type int_fast64_t = ::std::os::raw::c_longlong;
4111pub type uint_fast8_t = ::std::os::raw::c_uchar;
4112pub type uint_fast16_t = ::std::os::raw::c_uint;
4113pub type uint_fast32_t = ::std::os::raw::c_uint;
4114pub type uint_fast64_t = ::std::os::raw::c_ulonglong;
4115pub type intmax_t = ::std::os::raw::c_longlong;
4116pub type uintmax_t = ::std::os::raw::c_ulonglong;
4117pub type HBOOL = bool;
4118pub type HBYTE = u8;
4119pub type HINT = ::std::os::raw::c_int;
4120pub type HUINT = ::std::os::raw::c_uint;
4121pub type DOUBLE8 = f64;
4122pub type INT1 = i8;
4123pub type UINT1 = u8;
4124pub type INT2 = i16;
4125pub type UINT2 = u16;
4126pub type INT4 = i32;
4127pub type UINT4 = u32;
4128pub type HINT4_8 = ::std::os::raw::c_longlong;
4129pub type INT4_8 = ::std::os::raw::c_longlong;
4130pub type UINT4_8 = ::std::os::raw::c_ulonglong;
4131pub type Hlong = INT4_8;
4132pub type Hulong = UINT4_8;
4133pub type HINT8 = i64;
4134pub type HUINT8 = u64;
4135pub type MACHINE_WORD = isize;
4136pub type VOIDP = *mut ::std::os::raw::c_void;
4137pub type Herror = u32;
4138pub type Hkey = *mut ::std::os::raw::c_long;
4139pub type Hproc_handle = *mut ::std::os::raw::c_void;
4140#[repr(C)]
4141#[derive(Debug, Copy, Clone)]
4142pub struct HStreamBufferT {
4143    _unused: [u8; 0],
4144}
4145#[repr(C)]
4146#[derive(Debug, Copy, Clone)]
4147pub struct HhandleListT {
4148    _unused: [u8; 0],
4149}
4150#[doc = "< No signal"]
4151pub const HSignalTypeEnum_eSignalNone: HSignalTypeEnum = 0;
4152#[doc = "< Initiate abort: stop running, abort mutexes etc."]
4153pub const HSignalTypeEnum_eSignalStartAbort: HSignalTypeEnum = 1;
4154#[doc = "< Finalize abort, wait for resources to finish"]
4155pub const HSignalTypeEnum_eSignalAbort: HSignalTypeEnum = 2;
4156#[doc = "< After abortion is complete, restore mutexes etc."]
4157pub const HSignalTypeEnum_eSignalRestore: HSignalTypeEnum = 3;
4158#[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."]
4159pub type HSignalTypeEnum = ::std::os::raw::c_int;
4160pub type HHandleSerializeFunc = ::std::option::Option<
4161    unsafe extern "C" fn(
4162        arg1: Hproc_handle,
4163        arg2: *mut HStreamBufferT,
4164        arg3: *mut ::std::os::raw::c_void,
4165    ) -> Herror,
4166>;
4167pub type HHandleDeserializeFunc = ::std::option::Option<
4168    unsafe extern "C" fn(
4169        arg1: Hproc_handle,
4170        arg2: *mut HStreamBufferT,
4171        arg3: *mut *mut ::std::os::raw::c_void,
4172    ) -> Herror,
4173>;
4174pub type HHandleDestructorFunc = ::std::option::Option<
4175    unsafe extern "C" fn(arg1: Hproc_handle, arg2: *mut ::std::os::raw::c_void) -> Herror,
4176>;
4177pub type HHandleSignalFunc = ::std::option::Option<
4178    unsafe extern "C" fn(signal: HSignalTypeEnum, arg1: *mut ::std::os::raw::c_void) -> Herror,
4179>;
4180#[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"]
4181#[repr(C)]
4182#[derive(Debug, Copy, Clone)]
4183pub struct H_HANDLE_TYPE {
4184    #[doc = "< Type ID"]
4185    pub type_id: INT4_8,
4186    #[doc = "< sem_type of the handle"]
4187    pub sem_type: *const ::std::os::raw::c_char,
4188    #[doc = "< Serialize this handle type"]
4189    pub cb_serialize: HHandleSerializeFunc,
4190    #[doc = "< Deserialize this handle type"]
4191    pub cb_deserialize: HHandleDeserializeFunc,
4192    #[doc = "< Serialization header"]
4193    pub header: *const ::std::os::raw::c_char,
4194    #[doc = "< Clear this handle type"]
4195    pub cb_clear: HHandleDestructorFunc,
4196    #[doc = "< Signal (for semaphores etc.)"]
4197    pub cb_signal: HHandleSignalFunc,
4198    #[doc = "< List of handles, or NULL"]
4199    pub list: *mut HhandleListT,
4200}
4201#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4202const _: () = {
4203    ["Size of H_HANDLE_TYPE"][::std::mem::size_of::<H_HANDLE_TYPE>() - 64usize];
4204    ["Alignment of H_HANDLE_TYPE"][::std::mem::align_of::<H_HANDLE_TYPE>() - 8usize];
4205    ["Offset of field: H_HANDLE_TYPE::type_id"]
4206        [::std::mem::offset_of!(H_HANDLE_TYPE, type_id) - 0usize];
4207    ["Offset of field: H_HANDLE_TYPE::sem_type"]
4208        [::std::mem::offset_of!(H_HANDLE_TYPE, sem_type) - 8usize];
4209    ["Offset of field: H_HANDLE_TYPE::cb_serialize"]
4210        [::std::mem::offset_of!(H_HANDLE_TYPE, cb_serialize) - 16usize];
4211    ["Offset of field: H_HANDLE_TYPE::cb_deserialize"]
4212        [::std::mem::offset_of!(H_HANDLE_TYPE, cb_deserialize) - 24usize];
4213    ["Offset of field: H_HANDLE_TYPE::header"]
4214        [::std::mem::offset_of!(H_HANDLE_TYPE, header) - 32usize];
4215    ["Offset of field: H_HANDLE_TYPE::cb_clear"]
4216        [::std::mem::offset_of!(H_HANDLE_TYPE, cb_clear) - 40usize];
4217    ["Offset of field: H_HANDLE_TYPE::cb_signal"]
4218        [::std::mem::offset_of!(H_HANDLE_TYPE, cb_signal) - 48usize];
4219    ["Offset of field: H_HANDLE_TYPE::list"][::std::mem::offset_of!(H_HANDLE_TYPE, list) - 56usize];
4220};
4221#[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"]
4222pub type HHandleInfo = H_HANDLE_TYPE;
4223#[repr(C)]
4224#[derive(Debug, Copy, Clone)]
4225pub struct HhandleT {
4226    _unused: [u8; 0],
4227}
4228pub type Hphandle = *mut HhandleT;
4229#[repr(C)]
4230#[derive(Copy, Clone)]
4231pub union Hpar {
4232    pub l: INT4_8,
4233    pub d: f64,
4234    pub s: *mut ::std::os::raw::c_char,
4235    pub h: Hphandle,
4236}
4237#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4238const _: () = {
4239    ["Size of Hpar"][::std::mem::size_of::<Hpar>() - 8usize];
4240    ["Alignment of Hpar"][::std::mem::align_of::<Hpar>() - 8usize];
4241    ["Offset of field: Hpar::l"][::std::mem::offset_of!(Hpar, l) - 0usize];
4242    ["Offset of field: Hpar::d"][::std::mem::offset_of!(Hpar, d) - 0usize];
4243    ["Offset of field: Hpar::s"][::std::mem::offset_of!(Hpar, s) - 0usize];
4244    ["Offset of field: Hpar::h"][::std::mem::offset_of!(Hpar, h) - 0usize];
4245};
4246#[repr(C)]
4247#[derive(Copy, Clone)]
4248pub struct Hcpar {
4249    pub par: Hpar,
4250    pub type_: ::std::os::raw::c_int,
4251}
4252#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4253const _: () = {
4254    ["Size of Hcpar"][::std::mem::size_of::<Hcpar>() - 16usize];
4255    ["Alignment of Hcpar"][::std::mem::align_of::<Hcpar>() - 8usize];
4256    ["Offset of field: Hcpar::par"][::std::mem::offset_of!(Hcpar, par) - 0usize];
4257    ["Offset of field: Hcpar::type_"][::std::mem::offset_of!(Hcpar, type_) - 8usize];
4258};
4259#[repr(C)]
4260#[derive(Copy, Clone)]
4261pub union Hcelem {
4262    pub l: *mut INT4_8,
4263    pub d: *mut f64,
4264    pub s: *mut *mut ::std::os::raw::c_char,
4265    pub cpar: *mut Hcpar,
4266    pub h: *mut Hphandle,
4267}
4268#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4269const _: () = {
4270    ["Size of Hcelem"][::std::mem::size_of::<Hcelem>() - 8usize];
4271    ["Alignment of Hcelem"][::std::mem::align_of::<Hcelem>() - 8usize];
4272    ["Offset of field: Hcelem::l"][::std::mem::offset_of!(Hcelem, l) - 0usize];
4273    ["Offset of field: Hcelem::d"][::std::mem::offset_of!(Hcelem, d) - 0usize];
4274    ["Offset of field: Hcelem::s"][::std::mem::offset_of!(Hcelem, s) - 0usize];
4275    ["Offset of field: Hcelem::cpar"][::std::mem::offset_of!(Hcelem, cpar) - 0usize];
4276    ["Offset of field: Hcelem::h"][::std::mem::offset_of!(Hcelem, h) - 0usize];
4277};
4278#[repr(C)]
4279#[derive(Copy, Clone)]
4280pub struct Hctuple {
4281    pub val: Hcpar,
4282    pub num: INT4_8,
4283    pub capacity: INT4_8,
4284    pub flags: ::std::os::raw::c_int,
4285    pub elem: Hcelem,
4286}
4287#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4288const _: () = {
4289    ["Size of Hctuple"][::std::mem::size_of::<Hctuple>() - 48usize];
4290    ["Alignment of Hctuple"][::std::mem::align_of::<Hctuple>() - 8usize];
4291    ["Offset of field: Hctuple::val"][::std::mem::offset_of!(Hctuple, val) - 0usize];
4292    ["Offset of field: Hctuple::num"][::std::mem::offset_of!(Hctuple, num) - 16usize];
4293    ["Offset of field: Hctuple::capacity"][::std::mem::offset_of!(Hctuple, capacity) - 24usize];
4294    ["Offset of field: Hctuple::flags"][::std::mem::offset_of!(Hctuple, flags) - 32usize];
4295    ["Offset of field: Hctuple::elem"][::std::mem::offset_of!(Hctuple, elem) - 40usize];
4296};
4297pub type H_pthread_t = *mut ::std::os::raw::c_void;
4298pub type H_pthread_mutex_t = *mut ::std::os::raw::c_void;
4299pub type H_pthread_cond_t = *mut ::std::os::raw::c_void;
4300pub type H_pthread_barrier_t = *mut ::std::os::raw::c_void;
4301pub type HDrawObjectCallback = ::std::option::Option<
4302    unsafe extern "C" fn(
4303        DrawHandle: Hphandle,
4304        WindowHandle: Hphandle,
4305        type_: *mut ::std::os::raw::c_char,
4306    ) -> Herror,
4307>;
4308pub type HUpdateContentCallback =
4309    ::std::option::Option<unsafe extern "C" fn(context: *mut ::std::os::raw::c_void) -> Herror>;
4310pub type HLicenseRecheckFailedCallback = ::std::option::Option<
4311    unsafe extern "C" fn(context: *mut ::std::os::raw::c_void, error: Herror),
4312>;
4313unsafe extern "C" {
4314    pub static mut HDoLowError: ::std::os::raw::c_int;
4315}
4316unsafe extern "C" {
4317    pub static mut HLowErrorAction: [i32; 4usize];
4318}
4319unsafe extern "C" {
4320    pub static mut HDoMessageBoxOnError: i32;
4321}
4322unsafe extern "C" {
4323    pub static mut HDoLicenseError: ::std::os::raw::c_int;
4324}
4325unsafe extern "C" {
4326    pub static mut HUseSpinLock: ::std::os::raw::c_int;
4327}
4328unsafe extern "C" {
4329    pub static mut HStartUpThreadPool: ::std::os::raw::c_int;
4330}
4331unsafe extern "C" {
4332    pub static mut HShutdownThreadPool: ::std::os::raw::c_int;
4333}
4334unsafe extern "C" {
4335    pub static mut HShuttingDown: ::std::os::raw::c_int;
4336}
4337unsafe extern "C" {
4338    pub fn HSetDoMessageBoxOnError(value: i32);
4339}
4340unsafe extern "C" {
4341    pub fn HSetDoLicenseError(value: ::std::os::raw::c_int);
4342}
4343unsafe extern "C" {
4344    pub fn HSetUseSpinLock(value: ::std::os::raw::c_int);
4345}
4346unsafe extern "C" {
4347    pub fn HSetStartUpThreadPool(value: ::std::os::raw::c_int);
4348}
4349unsafe extern "C" {
4350    pub fn HSetShutdownThreadPool(value: ::std::os::raw::c_int);
4351}
4352unsafe extern "C" {
4353    pub fn HGetDoMessageBoxOnError() -> i32;
4354}
4355unsafe extern "C" {
4356    pub fn HGetDoLicenseError() -> ::std::os::raw::c_int;
4357}
4358unsafe extern "C" {
4359    pub fn HGetUseSpinLock() -> ::std::os::raw::c_int;
4360}
4361unsafe extern "C" {
4362    pub fn HGetStartUpThreadPool() -> ::std::os::raw::c_int;
4363}
4364unsafe extern "C" {
4365    pub fn HGetShutdownThreadPool() -> ::std::os::raw::c_int;
4366}
4367unsafe extern "C" {
4368    pub fn HGetShuttingDown() -> ::std::os::raw::c_int;
4369}
4370pub const eHMemoryAllocatorType_eHMemoryAllocatorTypeInvalid: eHMemoryAllocatorType = -1;
4371pub const eHMemoryAllocatorType_eHMemoryAllocatorTypeSystem: eHMemoryAllocatorType = 0;
4372pub const eHMemoryAllocatorType_eHMemoryAllocatorTypeMiMalloc: eHMemoryAllocatorType = 1;
4373pub type eHMemoryAllocatorType = ::std::os::raw::c_int;
4374unsafe extern "C" {
4375    pub fn HGetMemoryAllocatorType() -> eHMemoryAllocatorType;
4376}
4377unsafe extern "C" {
4378    pub fn HSetMemoryAllocatorType(allocator: eHMemoryAllocatorType) -> Herror;
4379}
4380unsafe extern "C" {
4381    pub fn HSetHDevelopInt(AccessByHDevelop: ::std::os::raw::c_int);
4382}
4383unsafe extern "C" {
4384    pub fn HGetHDevelopInt() -> ::std::os::raw::c_int;
4385}
4386unsafe extern "C" {
4387    pub fn HSetLicenseRecheckFailedCallback(
4388        callback: HLicenseRecheckFailedCallback,
4389        context: *mut ::std::os::raw::c_void,
4390    );
4391}
4392unsafe extern "C" {
4393    pub fn FinalizeHALCONLibrary() -> ::std::os::raw::c_int;
4394}
4395pub type HProgressBarCallback = ::std::option::Option<
4396    unsafe extern "C" fn(
4397        id: Hlong,
4398        operator_name: *const ::std::os::raw::c_char,
4399        progress: f64,
4400        message: *const ::std::os::raw::c_char,
4401    ),
4402>;
4403unsafe extern "C" {
4404    pub fn HVerifyXMLFile(
4405        path: *const ::std::os::raw::c_char,
4406        pk: *const ::std::os::raw::c_void,
4407    ) -> Herror;
4408}
4409pub type HIMGDIM = i32;
4410pub type HIMGCOOR = i16;
4411pub type HLINCOOR = i32;
4412pub type HIMGCNT = i32;
4413pub type HITEMCNT = i32;
4414pub type HSUBCOOR = f32;
4415pub type HSUBATTR = f32;
4416pub type HImageAllocProc =
4417    ::std::option::Option<unsafe extern "C" fn(size: usize) -> *mut ::std::os::raw::c_void>;
4418pub type HImageFreeProc =
4419    ::std::option::Option<unsafe extern "C" fn(mem: *mut ::std::os::raw::c_void)>;
4420#[repr(C)]
4421#[derive(Debug, Copy, Clone)]
4422pub struct HComplexPixel {
4423    pub re: f32,
4424    pub im: f32,
4425}
4426#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4427const _: () = {
4428    ["Size of HComplexPixel"][::std::mem::size_of::<HComplexPixel>() - 8usize];
4429    ["Alignment of HComplexPixel"][::std::mem::align_of::<HComplexPixel>() - 4usize];
4430    ["Offset of field: HComplexPixel::re"][::std::mem::offset_of!(HComplexPixel, re) - 0usize];
4431    ["Offset of field: HComplexPixel::im"][::std::mem::offset_of!(HComplexPixel, im) - 4usize];
4432};
4433#[repr(C)]
4434#[derive(Debug, Copy, Clone)]
4435pub struct HInt2Pixel {
4436    pub p: *mut i16,
4437    pub num_bits: i8,
4438}
4439#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4440const _: () = {
4441    ["Size of HInt2Pixel"][::std::mem::size_of::<HInt2Pixel>() - 16usize];
4442    ["Alignment of HInt2Pixel"][::std::mem::align_of::<HInt2Pixel>() - 8usize];
4443    ["Offset of field: HInt2Pixel::p"][::std::mem::offset_of!(HInt2Pixel, p) - 0usize];
4444    ["Offset of field: HInt2Pixel::num_bits"]
4445        [::std::mem::offset_of!(HInt2Pixel, num_bits) - 8usize];
4446};
4447#[repr(C)]
4448#[derive(Debug, Copy, Clone)]
4449pub struct HUInt2Pixel {
4450    pub p: *mut u16,
4451    pub num_bits: i8,
4452}
4453#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4454const _: () = {
4455    ["Size of HUInt2Pixel"][::std::mem::size_of::<HUInt2Pixel>() - 16usize];
4456    ["Alignment of HUInt2Pixel"][::std::mem::align_of::<HUInt2Pixel>() - 8usize];
4457    ["Offset of field: HUInt2Pixel::p"][::std::mem::offset_of!(HUInt2Pixel, p) - 0usize];
4458    ["Offset of field: HUInt2Pixel::num_bits"]
4459        [::std::mem::offset_of!(HUInt2Pixel, num_bits) - 8usize];
4460};
4461#[repr(C)]
4462#[derive(Debug, Copy, Clone)]
4463pub struct HVFPixel {
4464    pub row: *mut f32,
4465    pub col: *mut f32,
4466    pub kind: i32,
4467}
4468#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4469const _: () = {
4470    ["Size of HVFPixel"][::std::mem::size_of::<HVFPixel>() - 24usize];
4471    ["Alignment of HVFPixel"][::std::mem::align_of::<HVFPixel>() - 8usize];
4472    ["Offset of field: HVFPixel::row"][::std::mem::offset_of!(HVFPixel, row) - 0usize];
4473    ["Offset of field: HVFPixel::col"][::std::mem::offset_of!(HVFPixel, col) - 8usize];
4474    ["Offset of field: HVFPixel::kind"][::std::mem::offset_of!(HVFPixel, kind) - 16usize];
4475};
4476#[repr(C)]
4477#[derive(Copy, Clone)]
4478pub union HPixelImage {
4479    pub b: *mut u8,
4480    pub z: *mut u8,
4481    pub d: *mut u8,
4482    pub i: *mut i8,
4483    pub l: *mut i32,
4484    pub i8_: *mut i64,
4485    pub f: *mut f32,
4486    pub vf: HVFPixel,
4487    pub c: *mut HComplexPixel,
4488    pub s: HInt2Pixel,
4489    pub u: HUInt2Pixel,
4490}
4491#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4492const _: () = {
4493    ["Size of HPixelImage"][::std::mem::size_of::<HPixelImage>() - 24usize];
4494    ["Alignment of HPixelImage"][::std::mem::align_of::<HPixelImage>() - 8usize];
4495    ["Offset of field: HPixelImage::b"][::std::mem::offset_of!(HPixelImage, b) - 0usize];
4496    ["Offset of field: HPixelImage::z"][::std::mem::offset_of!(HPixelImage, z) - 0usize];
4497    ["Offset of field: HPixelImage::d"][::std::mem::offset_of!(HPixelImage, d) - 0usize];
4498    ["Offset of field: HPixelImage::i"][::std::mem::offset_of!(HPixelImage, i) - 0usize];
4499    ["Offset of field: HPixelImage::l"][::std::mem::offset_of!(HPixelImage, l) - 0usize];
4500    ["Offset of field: HPixelImage::i8_"][::std::mem::offset_of!(HPixelImage, i8_) - 0usize];
4501    ["Offset of field: HPixelImage::f"][::std::mem::offset_of!(HPixelImage, f) - 0usize];
4502    ["Offset of field: HPixelImage::vf"][::std::mem::offset_of!(HPixelImage, vf) - 0usize];
4503    ["Offset of field: HPixelImage::c"][::std::mem::offset_of!(HPixelImage, c) - 0usize];
4504    ["Offset of field: HPixelImage::s"][::std::mem::offset_of!(HPixelImage, s) - 0usize];
4505    ["Offset of field: HPixelImage::u"][::std::mem::offset_of!(HPixelImage, u) - 0usize];
4506};
4507#[repr(C)]
4508#[derive(Copy, Clone)]
4509pub struct Himage {
4510    pub kind: ::std::os::raw::c_int,
4511    pub pixel: HPixelImage,
4512    pub width: HIMGDIM,
4513    pub height: HIMGDIM,
4514    pub free_proc: HImageFreeProc,
4515    pub free: bool,
4516    pub msec: u16,
4517    pub sec: u8,
4518    pub min: u8,
4519    pub hour: u8,
4520    pub day: u8,
4521    pub yday: u16,
4522    pub mon: u8,
4523    pub year: u16,
4524}
4525#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4526const _: () = {
4527    ["Size of Himage"][::std::mem::size_of::<Himage>() - 64usize];
4528    ["Alignment of Himage"][::std::mem::align_of::<Himage>() - 8usize];
4529    ["Offset of field: Himage::kind"][::std::mem::offset_of!(Himage, kind) - 0usize];
4530    ["Offset of field: Himage::pixel"][::std::mem::offset_of!(Himage, pixel) - 8usize];
4531    ["Offset of field: Himage::width"][::std::mem::offset_of!(Himage, width) - 32usize];
4532    ["Offset of field: Himage::height"][::std::mem::offset_of!(Himage, height) - 36usize];
4533    ["Offset of field: Himage::free_proc"][::std::mem::offset_of!(Himage, free_proc) - 40usize];
4534    ["Offset of field: Himage::free"][::std::mem::offset_of!(Himage, free) - 48usize];
4535    ["Offset of field: Himage::msec"][::std::mem::offset_of!(Himage, msec) - 50usize];
4536    ["Offset of field: Himage::sec"][::std::mem::offset_of!(Himage, sec) - 52usize];
4537    ["Offset of field: Himage::min"][::std::mem::offset_of!(Himage, min) - 53usize];
4538    ["Offset of field: Himage::hour"][::std::mem::offset_of!(Himage, hour) - 54usize];
4539    ["Offset of field: Himage::day"][::std::mem::offset_of!(Himage, day) - 55usize];
4540    ["Offset of field: Himage::yday"][::std::mem::offset_of!(Himage, yday) - 56usize];
4541    ["Offset of field: Himage::mon"][::std::mem::offset_of!(Himage, mon) - 58usize];
4542    ["Offset of field: Himage::year"][::std::mem::offset_of!(Himage, year) - 60usize];
4543};
4544#[repr(C)]
4545#[derive(Debug, Copy, Clone)]
4546pub struct Himage_exp {
4547    pub width: i32,
4548    pub kind: i32,
4549    pub height: i32,
4550    pub info: [::std::os::raw::c_char; 996usize],
4551}
4552#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4553const _: () = {
4554    ["Size of Himage_exp"][::std::mem::size_of::<Himage_exp>() - 1008usize];
4555    ["Alignment of Himage_exp"][::std::mem::align_of::<Himage_exp>() - 4usize];
4556    ["Offset of field: Himage_exp::width"][::std::mem::offset_of!(Himage_exp, width) - 0usize];
4557    ["Offset of field: Himage_exp::kind"][::std::mem::offset_of!(Himage_exp, kind) - 4usize];
4558    ["Offset of field: Himage_exp::height"][::std::mem::offset_of!(Himage_exp, height) - 8usize];
4559    ["Offset of field: Himage_exp::info"][::std::mem::offset_of!(Himage_exp, info) - 12usize];
4560};
4561#[repr(C)]
4562#[derive(Debug, Copy, Clone)]
4563pub struct Himage_hobj_file_header {
4564    pub version_number: i32,
4565    pub num_images: i32,
4566    pub is_msb_first: bool,
4567}
4568#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4569const _: () = {
4570    ["Size of Himage_hobj_file_header"][::std::mem::size_of::<Himage_hobj_file_header>() - 12usize];
4571    ["Alignment of Himage_hobj_file_header"]
4572        [::std::mem::align_of::<Himage_hobj_file_header>() - 4usize];
4573    ["Offset of field: Himage_hobj_file_header::version_number"]
4574        [::std::mem::offset_of!(Himage_hobj_file_header, version_number) - 0usize];
4575    ["Offset of field: Himage_hobj_file_header::num_images"]
4576        [::std::mem::offset_of!(Himage_hobj_file_header, num_images) - 4usize];
4577    ["Offset of field: Himage_hobj_file_header::is_msb_first"]
4578        [::std::mem::offset_of!(Himage_hobj_file_header, is_msb_first) - 8usize];
4579};
4580#[repr(C)]
4581#[derive(Debug, Copy, Clone)]
4582pub struct Himage_hobj_image_header {
4583    pub width: i32,
4584    pub height: i32,
4585    pub num_channels: i32,
4586}
4587#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4588const _: () = {
4589    ["Size of Himage_hobj_image_header"]
4590        [::std::mem::size_of::<Himage_hobj_image_header>() - 12usize];
4591    ["Alignment of Himage_hobj_image_header"]
4592        [::std::mem::align_of::<Himage_hobj_image_header>() - 4usize];
4593    ["Offset of field: Himage_hobj_image_header::width"]
4594        [::std::mem::offset_of!(Himage_hobj_image_header, width) - 0usize];
4595    ["Offset of field: Himage_hobj_image_header::height"]
4596        [::std::mem::offset_of!(Himage_hobj_image_header, height) - 4usize];
4597    ["Offset of field: Himage_hobj_image_header::num_channels"]
4598        [::std::mem::offset_of!(Himage_hobj_image_header, num_channels) - 8usize];
4599};
4600pub type Hbits = *mut u8;
4601#[repr(C)]
4602#[derive(Debug, Copy, Clone)]
4603pub struct Hrun {
4604    pub l: HIMGCOOR,
4605    pub cb: HIMGCOOR,
4606    pub ce: HIMGCOOR,
4607}
4608#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4609const _: () = {
4610    ["Size of Hrun"][::std::mem::size_of::<Hrun>() - 6usize];
4611    ["Alignment of Hrun"][::std::mem::align_of::<Hrun>() - 2usize];
4612    ["Offset of field: Hrun::l"][::std::mem::offset_of!(Hrun, l) - 0usize];
4613    ["Offset of field: Hrun::cb"][::std::mem::offset_of!(Hrun, cb) - 2usize];
4614    ["Offset of field: Hrun::ce"][::std::mem::offset_of!(Hrun, ce) - 4usize];
4615};
4616#[repr(C)]
4617#[derive(Debug, Copy, Clone)]
4618pub struct Hvrun {
4619    pub c: HIMGCOOR,
4620    pub lb: HIMGCOOR,
4621    pub le: HIMGCOOR,
4622}
4623#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4624const _: () = {
4625    ["Size of Hvrun"][::std::mem::size_of::<Hvrun>() - 6usize];
4626    ["Alignment of Hvrun"][::std::mem::align_of::<Hvrun>() - 2usize];
4627    ["Offset of field: Hvrun::c"][::std::mem::offset_of!(Hvrun, c) - 0usize];
4628    ["Offset of field: Hvrun::lb"][::std::mem::offset_of!(Hvrun, lb) - 2usize];
4629    ["Offset of field: Hvrun::le"][::std::mem::offset_of!(Hvrun, le) - 4usize];
4630};
4631#[repr(C)]
4632#[repr(align(4))]
4633#[derive(Debug, Copy, Clone)]
4634pub struct HFeatureFlags {
4635    pub _bitfield_align_1: [u8; 0],
4636    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 3usize]>,
4637    pub __bindgen_padding_0: u8,
4638}
4639#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4640const _: () = {
4641    ["Size of HFeatureFlags"][::std::mem::size_of::<HFeatureFlags>() - 4usize];
4642    ["Alignment of HFeatureFlags"][::std::mem::align_of::<HFeatureFlags>() - 4usize];
4643};
4644impl HFeatureFlags {
4645    #[inline]
4646    pub fn shape(&self) -> ::std::os::raw::c_uint {
4647        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
4648    }
4649    #[inline]
4650    pub fn set_shape(&mut self, val: ::std::os::raw::c_uint) {
4651        unsafe {
4652            let val: u32 = ::std::mem::transmute(val);
4653            self._bitfield_1.set(0usize, 1u8, val as u64)
4654        }
4655    }
4656    #[inline]
4657    pub unsafe fn shape_raw(this: *const Self) -> ::std::os::raw::c_uint {
4658        unsafe {
4659            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get(
4660                ::std::ptr::addr_of!((*this)._bitfield_1),
4661                0usize,
4662                1u8,
4663            ) as u32)
4664        }
4665    }
4666    #[inline]
4667    pub unsafe fn set_shape_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
4668        unsafe {
4669            let val: u32 = ::std::mem::transmute(val);
4670            <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set(
4671                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
4672                0usize,
4673                1u8,
4674                val as u64,
4675            )
4676        }
4677    }
4678    #[inline]
4679    pub fn is_convex(&self) -> ::std::os::raw::c_uint {
4680        unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
4681    }
4682    #[inline]
4683    pub fn set_is_convex(&mut self, val: ::std::os::raw::c_uint) {
4684        unsafe {
4685            let val: u32 = ::std::mem::transmute(val);
4686            self._bitfield_1.set(1usize, 1u8, val as u64)
4687        }
4688    }
4689    #[inline]
4690    pub unsafe fn is_convex_raw(this: *const Self) -> ::std::os::raw::c_uint {
4691        unsafe {
4692            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get(
4693                ::std::ptr::addr_of!((*this)._bitfield_1),
4694                1usize,
4695                1u8,
4696            ) as u32)
4697        }
4698    }
4699    #[inline]
4700    pub unsafe fn set_is_convex_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
4701        unsafe {
4702            let val: u32 = ::std::mem::transmute(val);
4703            <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set(
4704                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
4705                1usize,
4706                1u8,
4707                val as u64,
4708            )
4709        }
4710    }
4711    #[inline]
4712    pub fn is_filled(&self) -> ::std::os::raw::c_uint {
4713        unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
4714    }
4715    #[inline]
4716    pub fn set_is_filled(&mut self, val: ::std::os::raw::c_uint) {
4717        unsafe {
4718            let val: u32 = ::std::mem::transmute(val);
4719            self._bitfield_1.set(2usize, 1u8, val as u64)
4720        }
4721    }
4722    #[inline]
4723    pub unsafe fn is_filled_raw(this: *const Self) -> ::std::os::raw::c_uint {
4724        unsafe {
4725            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get(
4726                ::std::ptr::addr_of!((*this)._bitfield_1),
4727                2usize,
4728                1u8,
4729            ) as u32)
4730        }
4731    }
4732    #[inline]
4733    pub unsafe fn set_is_filled_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
4734        unsafe {
4735            let val: u32 = ::std::mem::transmute(val);
4736            <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set(
4737                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
4738                2usize,
4739                1u8,
4740                val as u64,
4741            )
4742        }
4743    }
4744    #[inline]
4745    pub fn is_connected4(&self) -> ::std::os::raw::c_uint {
4746        unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) }
4747    }
4748    #[inline]
4749    pub fn set_is_connected4(&mut self, val: ::std::os::raw::c_uint) {
4750        unsafe {
4751            let val: u32 = ::std::mem::transmute(val);
4752            self._bitfield_1.set(3usize, 1u8, val as u64)
4753        }
4754    }
4755    #[inline]
4756    pub unsafe fn is_connected4_raw(this: *const Self) -> ::std::os::raw::c_uint {
4757        unsafe {
4758            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get(
4759                ::std::ptr::addr_of!((*this)._bitfield_1),
4760                3usize,
4761                1u8,
4762            ) as u32)
4763        }
4764    }
4765    #[inline]
4766    pub unsafe fn set_is_connected4_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
4767        unsafe {
4768            let val: u32 = ::std::mem::transmute(val);
4769            <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set(
4770                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
4771                3usize,
4772                1u8,
4773                val as u64,
4774            )
4775        }
4776    }
4777    #[inline]
4778    pub fn is_connected8(&self) -> ::std::os::raw::c_uint {
4779        unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) }
4780    }
4781    #[inline]
4782    pub fn set_is_connected8(&mut self, val: ::std::os::raw::c_uint) {
4783        unsafe {
4784            let val: u32 = ::std::mem::transmute(val);
4785            self._bitfield_1.set(4usize, 1u8, val as u64)
4786        }
4787    }
4788    #[inline]
4789    pub unsafe fn is_connected8_raw(this: *const Self) -> ::std::os::raw::c_uint {
4790        unsafe {
4791            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get(
4792                ::std::ptr::addr_of!((*this)._bitfield_1),
4793                4usize,
4794                1u8,
4795            ) as u32)
4796        }
4797    }
4798    #[inline]
4799    pub unsafe fn set_is_connected8_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
4800        unsafe {
4801            let val: u32 = ::std::mem::transmute(val);
4802            <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set(
4803                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
4804                4usize,
4805                1u8,
4806                val as u64,
4807            )
4808        }
4809    }
4810    #[inline]
4811    pub fn is_thin(&self) -> ::std::os::raw::c_uint {
4812        unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u32) }
4813    }
4814    #[inline]
4815    pub fn set_is_thin(&mut self, val: ::std::os::raw::c_uint) {
4816        unsafe {
4817            let val: u32 = ::std::mem::transmute(val);
4818            self._bitfield_1.set(5usize, 1u8, val as u64)
4819        }
4820    }
4821    #[inline]
4822    pub unsafe fn is_thin_raw(this: *const Self) -> ::std::os::raw::c_uint {
4823        unsafe {
4824            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get(
4825                ::std::ptr::addr_of!((*this)._bitfield_1),
4826                5usize,
4827                1u8,
4828            ) as u32)
4829        }
4830    }
4831    #[inline]
4832    pub unsafe fn set_is_thin_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
4833        unsafe {
4834            let val: u32 = ::std::mem::transmute(val);
4835            <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set(
4836                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
4837                5usize,
4838                1u8,
4839                val as u64,
4840            )
4841        }
4842    }
4843    #[inline]
4844    pub fn circularity(&self) -> ::std::os::raw::c_uint {
4845        unsafe { ::std::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u32) }
4846    }
4847    #[inline]
4848    pub fn set_circularity(&mut self, val: ::std::os::raw::c_uint) {
4849        unsafe {
4850            let val: u32 = ::std::mem::transmute(val);
4851            self._bitfield_1.set(6usize, 1u8, val as u64)
4852        }
4853    }
4854    #[inline]
4855    pub unsafe fn circularity_raw(this: *const Self) -> ::std::os::raw::c_uint {
4856        unsafe {
4857            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get(
4858                ::std::ptr::addr_of!((*this)._bitfield_1),
4859                6usize,
4860                1u8,
4861            ) as u32)
4862        }
4863    }
4864    #[inline]
4865    pub unsafe fn set_circularity_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
4866        unsafe {
4867            let val: u32 = ::std::mem::transmute(val);
4868            <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set(
4869                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
4870                6usize,
4871                1u8,
4872                val as u64,
4873            )
4874        }
4875    }
4876    #[inline]
4877    pub fn compactness(&self) -> ::std::os::raw::c_uint {
4878        unsafe { ::std::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u32) }
4879    }
4880    #[inline]
4881    pub fn set_compactness(&mut self, val: ::std::os::raw::c_uint) {
4882        unsafe {
4883            let val: u32 = ::std::mem::transmute(val);
4884            self._bitfield_1.set(7usize, 1u8, val as u64)
4885        }
4886    }
4887    #[inline]
4888    pub unsafe fn compactness_raw(this: *const Self) -> ::std::os::raw::c_uint {
4889        unsafe {
4890            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get(
4891                ::std::ptr::addr_of!((*this)._bitfield_1),
4892                7usize,
4893                1u8,
4894            ) as u32)
4895        }
4896    }
4897    #[inline]
4898    pub unsafe fn set_compactness_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
4899        unsafe {
4900            let val: u32 = ::std::mem::transmute(val);
4901            <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set(
4902                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
4903                7usize,
4904                1u8,
4905                val as u64,
4906            )
4907        }
4908    }
4909    #[inline]
4910    pub fn contlength(&self) -> ::std::os::raw::c_uint {
4911        unsafe { ::std::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u32) }
4912    }
4913    #[inline]
4914    pub fn set_contlength(&mut self, val: ::std::os::raw::c_uint) {
4915        unsafe {
4916            let val: u32 = ::std::mem::transmute(val);
4917            self._bitfield_1.set(8usize, 1u8, val as u64)
4918        }
4919    }
4920    #[inline]
4921    pub unsafe fn contlength_raw(this: *const Self) -> ::std::os::raw::c_uint {
4922        unsafe {
4923            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get(
4924                ::std::ptr::addr_of!((*this)._bitfield_1),
4925                8usize,
4926                1u8,
4927            ) as u32)
4928        }
4929    }
4930    #[inline]
4931    pub unsafe fn set_contlength_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
4932        unsafe {
4933            let val: u32 = ::std::mem::transmute(val);
4934            <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set(
4935                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
4936                8usize,
4937                1u8,
4938                val as u64,
4939            )
4940        }
4941    }
4942    #[inline]
4943    pub fn convexity(&self) -> ::std::os::raw::c_uint {
4944        unsafe { ::std::mem::transmute(self._bitfield_1.get(9usize, 1u8) as u32) }
4945    }
4946    #[inline]
4947    pub fn set_convexity(&mut self, val: ::std::os::raw::c_uint) {
4948        unsafe {
4949            let val: u32 = ::std::mem::transmute(val);
4950            self._bitfield_1.set(9usize, 1u8, val as u64)
4951        }
4952    }
4953    #[inline]
4954    pub unsafe fn convexity_raw(this: *const Self) -> ::std::os::raw::c_uint {
4955        unsafe {
4956            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get(
4957                ::std::ptr::addr_of!((*this)._bitfield_1),
4958                9usize,
4959                1u8,
4960            ) as u32)
4961        }
4962    }
4963    #[inline]
4964    pub unsafe fn set_convexity_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
4965        unsafe {
4966            let val: u32 = ::std::mem::transmute(val);
4967            <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set(
4968                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
4969                9usize,
4970                1u8,
4971                val as u64,
4972            )
4973        }
4974    }
4975    #[inline]
4976    pub fn phi(&self) -> ::std::os::raw::c_uint {
4977        unsafe { ::std::mem::transmute(self._bitfield_1.get(10usize, 1u8) as u32) }
4978    }
4979    #[inline]
4980    pub fn set_phi(&mut self, val: ::std::os::raw::c_uint) {
4981        unsafe {
4982            let val: u32 = ::std::mem::transmute(val);
4983            self._bitfield_1.set(10usize, 1u8, val as u64)
4984        }
4985    }
4986    #[inline]
4987    pub unsafe fn phi_raw(this: *const Self) -> ::std::os::raw::c_uint {
4988        unsafe {
4989            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get(
4990                ::std::ptr::addr_of!((*this)._bitfield_1),
4991                10usize,
4992                1u8,
4993            ) as u32)
4994        }
4995    }
4996    #[inline]
4997    pub unsafe fn set_phi_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
4998        unsafe {
4999            let val: u32 = ::std::mem::transmute(val);
5000            <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set(
5001                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
5002                10usize,
5003                1u8,
5004                val as u64,
5005            )
5006        }
5007    }
5008    #[inline]
5009    pub fn elliptic_axis(&self) -> ::std::os::raw::c_uint {
5010        unsafe { ::std::mem::transmute(self._bitfield_1.get(11usize, 1u8) as u32) }
5011    }
5012    #[inline]
5013    pub fn set_elliptic_axis(&mut self, val: ::std::os::raw::c_uint) {
5014        unsafe {
5015            let val: u32 = ::std::mem::transmute(val);
5016            self._bitfield_1.set(11usize, 1u8, val as u64)
5017        }
5018    }
5019    #[inline]
5020    pub unsafe fn elliptic_axis_raw(this: *const Self) -> ::std::os::raw::c_uint {
5021        unsafe {
5022            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get(
5023                ::std::ptr::addr_of!((*this)._bitfield_1),
5024                11usize,
5025                1u8,
5026            ) as u32)
5027        }
5028    }
5029    #[inline]
5030    pub unsafe fn set_elliptic_axis_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
5031        unsafe {
5032            let val: u32 = ::std::mem::transmute(val);
5033            <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set(
5034                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
5035                11usize,
5036                1u8,
5037                val as u64,
5038            )
5039        }
5040    }
5041    #[inline]
5042    pub fn elliptic_shape(&self) -> ::std::os::raw::c_uint {
5043        unsafe { ::std::mem::transmute(self._bitfield_1.get(12usize, 1u8) as u32) }
5044    }
5045    #[inline]
5046    pub fn set_elliptic_shape(&mut self, val: ::std::os::raw::c_uint) {
5047        unsafe {
5048            let val: u32 = ::std::mem::transmute(val);
5049            self._bitfield_1.set(12usize, 1u8, val as u64)
5050        }
5051    }
5052    #[inline]
5053    pub unsafe fn elliptic_shape_raw(this: *const Self) -> ::std::os::raw::c_uint {
5054        unsafe {
5055            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get(
5056                ::std::ptr::addr_of!((*this)._bitfield_1),
5057                12usize,
5058                1u8,
5059            ) as u32)
5060        }
5061    }
5062    #[inline]
5063    pub unsafe fn set_elliptic_shape_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
5064        unsafe {
5065            let val: u32 = ::std::mem::transmute(val);
5066            <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set(
5067                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
5068                12usize,
5069                1u8,
5070                val as u64,
5071            )
5072        }
5073    }
5074    #[inline]
5075    pub fn excentricity(&self) -> ::std::os::raw::c_uint {
5076        unsafe { ::std::mem::transmute(self._bitfield_1.get(13usize, 1u8) as u32) }
5077    }
5078    #[inline]
5079    pub fn set_excentricity(&mut self, val: ::std::os::raw::c_uint) {
5080        unsafe {
5081            let val: u32 = ::std::mem::transmute(val);
5082            self._bitfield_1.set(13usize, 1u8, val as u64)
5083        }
5084    }
5085    #[inline]
5086    pub unsafe fn excentricity_raw(this: *const Self) -> ::std::os::raw::c_uint {
5087        unsafe {
5088            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get(
5089                ::std::ptr::addr_of!((*this)._bitfield_1),
5090                13usize,
5091                1u8,
5092            ) as u32)
5093        }
5094    }
5095    #[inline]
5096    pub unsafe fn set_excentricity_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
5097        unsafe {
5098            let val: u32 = ::std::mem::transmute(val);
5099            <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set(
5100                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
5101                13usize,
5102                1u8,
5103                val as u64,
5104            )
5105        }
5106    }
5107    #[inline]
5108    pub fn moments(&self) -> ::std::os::raw::c_uint {
5109        unsafe { ::std::mem::transmute(self._bitfield_1.get(14usize, 1u8) as u32) }
5110    }
5111    #[inline]
5112    pub fn set_moments(&mut self, val: ::std::os::raw::c_uint) {
5113        unsafe {
5114            let val: u32 = ::std::mem::transmute(val);
5115            self._bitfield_1.set(14usize, 1u8, val as u64)
5116        }
5117    }
5118    #[inline]
5119    pub unsafe fn moments_raw(this: *const Self) -> ::std::os::raw::c_uint {
5120        unsafe {
5121            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get(
5122                ::std::ptr::addr_of!((*this)._bitfield_1),
5123                14usize,
5124                1u8,
5125            ) as u32)
5126        }
5127    }
5128    #[inline]
5129    pub unsafe fn set_moments_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
5130        unsafe {
5131            let val: u32 = ::std::mem::transmute(val);
5132            <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set(
5133                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
5134                14usize,
5135                1u8,
5136                val as u64,
5137            )
5138        }
5139    }
5140    #[inline]
5141    pub fn center_area(&self) -> ::std::os::raw::c_uint {
5142        unsafe { ::std::mem::transmute(self._bitfield_1.get(15usize, 1u8) as u32) }
5143    }
5144    #[inline]
5145    pub fn set_center_area(&mut self, val: ::std::os::raw::c_uint) {
5146        unsafe {
5147            let val: u32 = ::std::mem::transmute(val);
5148            self._bitfield_1.set(15usize, 1u8, val as u64)
5149        }
5150    }
5151    #[inline]
5152    pub unsafe fn center_area_raw(this: *const Self) -> ::std::os::raw::c_uint {
5153        unsafe {
5154            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get(
5155                ::std::ptr::addr_of!((*this)._bitfield_1),
5156                15usize,
5157                1u8,
5158            ) as u32)
5159        }
5160    }
5161    #[inline]
5162    pub unsafe fn set_center_area_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
5163        unsafe {
5164            let val: u32 = ::std::mem::transmute(val);
5165            <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set(
5166                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
5167                15usize,
5168                1u8,
5169                val as u64,
5170            )
5171        }
5172    }
5173    #[inline]
5174    pub fn smallest_rectangle1(&self) -> ::std::os::raw::c_uint {
5175        unsafe { ::std::mem::transmute(self._bitfield_1.get(16usize, 1u8) as u32) }
5176    }
5177    #[inline]
5178    pub fn set_smallest_rectangle1(&mut self, val: ::std::os::raw::c_uint) {
5179        unsafe {
5180            let val: u32 = ::std::mem::transmute(val);
5181            self._bitfield_1.set(16usize, 1u8, val as u64)
5182        }
5183    }
5184    #[inline]
5185    pub unsafe fn smallest_rectangle1_raw(this: *const Self) -> ::std::os::raw::c_uint {
5186        unsafe {
5187            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get(
5188                ::std::ptr::addr_of!((*this)._bitfield_1),
5189                16usize,
5190                1u8,
5191            ) as u32)
5192        }
5193    }
5194    #[inline]
5195    pub unsafe fn set_smallest_rectangle1_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
5196        unsafe {
5197            let val: u32 = ::std::mem::transmute(val);
5198            <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set(
5199                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
5200                16usize,
5201                1u8,
5202                val as u64,
5203            )
5204        }
5205    }
5206    #[inline]
5207    pub fn smallest_rectangle2(&self) -> ::std::os::raw::c_uint {
5208        unsafe { ::std::mem::transmute(self._bitfield_1.get(17usize, 1u8) as u32) }
5209    }
5210    #[inline]
5211    pub fn set_smallest_rectangle2(&mut self, val: ::std::os::raw::c_uint) {
5212        unsafe {
5213            let val: u32 = ::std::mem::transmute(val);
5214            self._bitfield_1.set(17usize, 1u8, val as u64)
5215        }
5216    }
5217    #[inline]
5218    pub unsafe fn smallest_rectangle2_raw(this: *const Self) -> ::std::os::raw::c_uint {
5219        unsafe {
5220            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get(
5221                ::std::ptr::addr_of!((*this)._bitfield_1),
5222                17usize,
5223                1u8,
5224            ) as u32)
5225        }
5226    }
5227    #[inline]
5228    pub unsafe fn set_smallest_rectangle2_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
5229        unsafe {
5230            let val: u32 = ::std::mem::transmute(val);
5231            <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set(
5232                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
5233                17usize,
5234                1u8,
5235                val as u64,
5236            )
5237        }
5238    }
5239    #[inline]
5240    pub fn smallest_circle(&self) -> ::std::os::raw::c_uint {
5241        unsafe { ::std::mem::transmute(self._bitfield_1.get(18usize, 1u8) as u32) }
5242    }
5243    #[inline]
5244    pub fn set_smallest_circle(&mut self, val: ::std::os::raw::c_uint) {
5245        unsafe {
5246            let val: u32 = ::std::mem::transmute(val);
5247            self._bitfield_1.set(18usize, 1u8, val as u64)
5248        }
5249    }
5250    #[inline]
5251    pub unsafe fn smallest_circle_raw(this: *const Self) -> ::std::os::raw::c_uint {
5252        unsafe {
5253            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get(
5254                ::std::ptr::addr_of!((*this)._bitfield_1),
5255                18usize,
5256                1u8,
5257            ) as u32)
5258        }
5259    }
5260    #[inline]
5261    pub unsafe fn set_smallest_circle_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
5262        unsafe {
5263            let val: u32 = ::std::mem::transmute(val);
5264            <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set(
5265                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
5266                18usize,
5267                1u8,
5268                val as u64,
5269            )
5270        }
5271    }
5272    #[inline]
5273    pub fn min_max_chord(&self) -> ::std::os::raw::c_uint {
5274        unsafe { ::std::mem::transmute(self._bitfield_1.get(19usize, 1u8) as u32) }
5275    }
5276    #[inline]
5277    pub fn set_min_max_chord(&mut self, val: ::std::os::raw::c_uint) {
5278        unsafe {
5279            let val: u32 = ::std::mem::transmute(val);
5280            self._bitfield_1.set(19usize, 1u8, val as u64)
5281        }
5282    }
5283    #[inline]
5284    pub unsafe fn min_max_chord_raw(this: *const Self) -> ::std::os::raw::c_uint {
5285        unsafe {
5286            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get(
5287                ::std::ptr::addr_of!((*this)._bitfield_1),
5288                19usize,
5289                1u8,
5290            ) as u32)
5291        }
5292    }
5293    #[inline]
5294    pub unsafe fn set_min_max_chord_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
5295        unsafe {
5296            let val: u32 = ::std::mem::transmute(val);
5297            <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set(
5298                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
5299                19usize,
5300                1u8,
5301                val as u64,
5302            )
5303        }
5304    }
5305    #[inline]
5306    pub fn min_max_chord_gap(&self) -> ::std::os::raw::c_uint {
5307        unsafe { ::std::mem::transmute(self._bitfield_1.get(20usize, 1u8) as u32) }
5308    }
5309    #[inline]
5310    pub fn set_min_max_chord_gap(&mut self, val: ::std::os::raw::c_uint) {
5311        unsafe {
5312            let val: u32 = ::std::mem::transmute(val);
5313            self._bitfield_1.set(20usize, 1u8, val as u64)
5314        }
5315    }
5316    #[inline]
5317    pub unsafe fn min_max_chord_gap_raw(this: *const Self) -> ::std::os::raw::c_uint {
5318        unsafe {
5319            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get(
5320                ::std::ptr::addr_of!((*this)._bitfield_1),
5321                20usize,
5322                1u8,
5323            ) as u32)
5324        }
5325    }
5326    #[inline]
5327    pub unsafe fn set_min_max_chord_gap_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
5328        unsafe {
5329            let val: u32 = ::std::mem::transmute(val);
5330            <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set(
5331                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
5332                20usize,
5333                1u8,
5334                val as u64,
5335            )
5336        }
5337    }
5338    #[inline]
5339    pub fn rectangularity(&self) -> ::std::os::raw::c_uint {
5340        unsafe { ::std::mem::transmute(self._bitfield_1.get(21usize, 1u8) as u32) }
5341    }
5342    #[inline]
5343    pub fn set_rectangularity(&mut self, val: ::std::os::raw::c_uint) {
5344        unsafe {
5345            let val: u32 = ::std::mem::transmute(val);
5346            self._bitfield_1.set(21usize, 1u8, val as u64)
5347        }
5348    }
5349    #[inline]
5350    pub unsafe fn rectangularity_raw(this: *const Self) -> ::std::os::raw::c_uint {
5351        unsafe {
5352            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get(
5353                ::std::ptr::addr_of!((*this)._bitfield_1),
5354                21usize,
5355                1u8,
5356            ) as u32)
5357        }
5358    }
5359    #[inline]
5360    pub unsafe fn set_rectangularity_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
5361        unsafe {
5362            let val: u32 = ::std::mem::transmute(val);
5363            <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set(
5364                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
5365                21usize,
5366                1u8,
5367                val as u64,
5368            )
5369        }
5370    }
5371    #[inline]
5372    pub fn new_bitfield_1(
5373        shape: ::std::os::raw::c_uint,
5374        is_convex: ::std::os::raw::c_uint,
5375        is_filled: ::std::os::raw::c_uint,
5376        is_connected4: ::std::os::raw::c_uint,
5377        is_connected8: ::std::os::raw::c_uint,
5378        is_thin: ::std::os::raw::c_uint,
5379        circularity: ::std::os::raw::c_uint,
5380        compactness: ::std::os::raw::c_uint,
5381        contlength: ::std::os::raw::c_uint,
5382        convexity: ::std::os::raw::c_uint,
5383        phi: ::std::os::raw::c_uint,
5384        elliptic_axis: ::std::os::raw::c_uint,
5385        elliptic_shape: ::std::os::raw::c_uint,
5386        excentricity: ::std::os::raw::c_uint,
5387        moments: ::std::os::raw::c_uint,
5388        center_area: ::std::os::raw::c_uint,
5389        smallest_rectangle1: ::std::os::raw::c_uint,
5390        smallest_rectangle2: ::std::os::raw::c_uint,
5391        smallest_circle: ::std::os::raw::c_uint,
5392        min_max_chord: ::std::os::raw::c_uint,
5393        min_max_chord_gap: ::std::os::raw::c_uint,
5394        rectangularity: ::std::os::raw::c_uint,
5395    ) -> __BindgenBitfieldUnit<[u8; 3usize]> {
5396        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 3usize]> = Default::default();
5397        __bindgen_bitfield_unit.set(0usize, 1u8, {
5398            let shape: u32 = unsafe { ::std::mem::transmute(shape) };
5399            shape as u64
5400        });
5401        __bindgen_bitfield_unit.set(1usize, 1u8, {
5402            let is_convex: u32 = unsafe { ::std::mem::transmute(is_convex) };
5403            is_convex as u64
5404        });
5405        __bindgen_bitfield_unit.set(2usize, 1u8, {
5406            let is_filled: u32 = unsafe { ::std::mem::transmute(is_filled) };
5407            is_filled as u64
5408        });
5409        __bindgen_bitfield_unit.set(3usize, 1u8, {
5410            let is_connected4: u32 = unsafe { ::std::mem::transmute(is_connected4) };
5411            is_connected4 as u64
5412        });
5413        __bindgen_bitfield_unit.set(4usize, 1u8, {
5414            let is_connected8: u32 = unsafe { ::std::mem::transmute(is_connected8) };
5415            is_connected8 as u64
5416        });
5417        __bindgen_bitfield_unit.set(5usize, 1u8, {
5418            let is_thin: u32 = unsafe { ::std::mem::transmute(is_thin) };
5419            is_thin as u64
5420        });
5421        __bindgen_bitfield_unit.set(6usize, 1u8, {
5422            let circularity: u32 = unsafe { ::std::mem::transmute(circularity) };
5423            circularity as u64
5424        });
5425        __bindgen_bitfield_unit.set(7usize, 1u8, {
5426            let compactness: u32 = unsafe { ::std::mem::transmute(compactness) };
5427            compactness as u64
5428        });
5429        __bindgen_bitfield_unit.set(8usize, 1u8, {
5430            let contlength: u32 = unsafe { ::std::mem::transmute(contlength) };
5431            contlength as u64
5432        });
5433        __bindgen_bitfield_unit.set(9usize, 1u8, {
5434            let convexity: u32 = unsafe { ::std::mem::transmute(convexity) };
5435            convexity as u64
5436        });
5437        __bindgen_bitfield_unit.set(10usize, 1u8, {
5438            let phi: u32 = unsafe { ::std::mem::transmute(phi) };
5439            phi as u64
5440        });
5441        __bindgen_bitfield_unit.set(11usize, 1u8, {
5442            let elliptic_axis: u32 = unsafe { ::std::mem::transmute(elliptic_axis) };
5443            elliptic_axis as u64
5444        });
5445        __bindgen_bitfield_unit.set(12usize, 1u8, {
5446            let elliptic_shape: u32 = unsafe { ::std::mem::transmute(elliptic_shape) };
5447            elliptic_shape as u64
5448        });
5449        __bindgen_bitfield_unit.set(13usize, 1u8, {
5450            let excentricity: u32 = unsafe { ::std::mem::transmute(excentricity) };
5451            excentricity as u64
5452        });
5453        __bindgen_bitfield_unit.set(14usize, 1u8, {
5454            let moments: u32 = unsafe { ::std::mem::transmute(moments) };
5455            moments as u64
5456        });
5457        __bindgen_bitfield_unit.set(15usize, 1u8, {
5458            let center_area: u32 = unsafe { ::std::mem::transmute(center_area) };
5459            center_area as u64
5460        });
5461        __bindgen_bitfield_unit.set(16usize, 1u8, {
5462            let smallest_rectangle1: u32 = unsafe { ::std::mem::transmute(smallest_rectangle1) };
5463            smallest_rectangle1 as u64
5464        });
5465        __bindgen_bitfield_unit.set(17usize, 1u8, {
5466            let smallest_rectangle2: u32 = unsafe { ::std::mem::transmute(smallest_rectangle2) };
5467            smallest_rectangle2 as u64
5468        });
5469        __bindgen_bitfield_unit.set(18usize, 1u8, {
5470            let smallest_circle: u32 = unsafe { ::std::mem::transmute(smallest_circle) };
5471            smallest_circle as u64
5472        });
5473        __bindgen_bitfield_unit.set(19usize, 1u8, {
5474            let min_max_chord: u32 = unsafe { ::std::mem::transmute(min_max_chord) };
5475            min_max_chord as u64
5476        });
5477        __bindgen_bitfield_unit.set(20usize, 1u8, {
5478            let min_max_chord_gap: u32 = unsafe { ::std::mem::transmute(min_max_chord_gap) };
5479            min_max_chord_gap as u64
5480        });
5481        __bindgen_bitfield_unit.set(21usize, 1u8, {
5482            let rectangularity: u32 = unsafe { ::std::mem::transmute(rectangularity) };
5483            rectangularity as u64
5484        });
5485        __bindgen_bitfield_unit
5486    }
5487}
5488#[repr(C)]
5489#[derive(Copy, Clone)]
5490pub struct HRegFeature {
5491    pub def: HRegFeature__bindgen_ty_1,
5492    pub shape: u8,
5493    pub is_convex: bool,
5494    pub is_filled: bool,
5495    pub is_connected4: bool,
5496    pub is_connected8: bool,
5497    pub is_thin: bool,
5498    pub circularity: f64,
5499    pub compactness: f64,
5500    pub contlength: f64,
5501    pub convexity: f64,
5502    pub phi: f64,
5503    pub ra: f64,
5504    pub rb: f64,
5505    pub ra_: f64,
5506    pub rb_: f64,
5507    pub anisometry: f64,
5508    pub bulkiness: f64,
5509    pub structure_factor: f64,
5510    pub m11: f64,
5511    pub m20: f64,
5512    pub m02: f64,
5513    pub ia: f64,
5514    pub ib: f64,
5515    pub row: f64,
5516    pub col: f64,
5517    pub area: HIMGCNT,
5518    pub row1: HIMGCOOR,
5519    pub col1: HIMGCOOR,
5520    pub row2: HIMGCOOR,
5521    pub col2: HIMGCOOR,
5522    pub row_rect: f64,
5523    pub col_rect: f64,
5524    pub phi_rect: f64,
5525    pub length1: f64,
5526    pub length2: f64,
5527    pub row_circle: f64,
5528    pub col_circle: f64,
5529    pub radius: f64,
5530    pub min_chord: HIMGCOOR,
5531    pub max_chord: HIMGCOOR,
5532    pub min_chord_gap: HIMGCOOR,
5533    pub max_chord_gap: HIMGCOOR,
5534    pub rectangularity: f64,
5535}
5536#[repr(C)]
5537#[derive(Copy, Clone)]
5538pub union HRegFeature__bindgen_ty_1 {
5539    pub single: HFeatureFlags,
5540    pub all: ::std::os::raw::c_long,
5541}
5542#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5543const _: () = {
5544    ["Size of HRegFeature__bindgen_ty_1"]
5545        [::std::mem::size_of::<HRegFeature__bindgen_ty_1>() - 4usize];
5546    ["Alignment of HRegFeature__bindgen_ty_1"]
5547        [::std::mem::align_of::<HRegFeature__bindgen_ty_1>() - 4usize];
5548    ["Offset of field: HRegFeature__bindgen_ty_1::single"]
5549        [::std::mem::offset_of!(HRegFeature__bindgen_ty_1, single) - 0usize];
5550    ["Offset of field: HRegFeature__bindgen_ty_1::all"]
5551        [::std::mem::offset_of!(HRegFeature__bindgen_ty_1, all) - 0usize];
5552};
5553#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5554const _: () = {
5555    ["Size of HRegFeature"][::std::mem::size_of::<HRegFeature>() - 264usize];
5556    ["Alignment of HRegFeature"][::std::mem::align_of::<HRegFeature>() - 8usize];
5557    ["Offset of field: HRegFeature::def"][::std::mem::offset_of!(HRegFeature, def) - 0usize];
5558    ["Offset of field: HRegFeature::shape"][::std::mem::offset_of!(HRegFeature, shape) - 4usize];
5559    ["Offset of field: HRegFeature::is_convex"]
5560        [::std::mem::offset_of!(HRegFeature, is_convex) - 5usize];
5561    ["Offset of field: HRegFeature::is_filled"]
5562        [::std::mem::offset_of!(HRegFeature, is_filled) - 6usize];
5563    ["Offset of field: HRegFeature::is_connected4"]
5564        [::std::mem::offset_of!(HRegFeature, is_connected4) - 7usize];
5565    ["Offset of field: HRegFeature::is_connected8"]
5566        [::std::mem::offset_of!(HRegFeature, is_connected8) - 8usize];
5567    ["Offset of field: HRegFeature::is_thin"]
5568        [::std::mem::offset_of!(HRegFeature, is_thin) - 9usize];
5569    ["Offset of field: HRegFeature::circularity"]
5570        [::std::mem::offset_of!(HRegFeature, circularity) - 16usize];
5571    ["Offset of field: HRegFeature::compactness"]
5572        [::std::mem::offset_of!(HRegFeature, compactness) - 24usize];
5573    ["Offset of field: HRegFeature::contlength"]
5574        [::std::mem::offset_of!(HRegFeature, contlength) - 32usize];
5575    ["Offset of field: HRegFeature::convexity"]
5576        [::std::mem::offset_of!(HRegFeature, convexity) - 40usize];
5577    ["Offset of field: HRegFeature::phi"][::std::mem::offset_of!(HRegFeature, phi) - 48usize];
5578    ["Offset of field: HRegFeature::ra"][::std::mem::offset_of!(HRegFeature, ra) - 56usize];
5579    ["Offset of field: HRegFeature::rb"][::std::mem::offset_of!(HRegFeature, rb) - 64usize];
5580    ["Offset of field: HRegFeature::ra_"][::std::mem::offset_of!(HRegFeature, ra_) - 72usize];
5581    ["Offset of field: HRegFeature::rb_"][::std::mem::offset_of!(HRegFeature, rb_) - 80usize];
5582    ["Offset of field: HRegFeature::anisometry"]
5583        [::std::mem::offset_of!(HRegFeature, anisometry) - 88usize];
5584    ["Offset of field: HRegFeature::bulkiness"]
5585        [::std::mem::offset_of!(HRegFeature, bulkiness) - 96usize];
5586    ["Offset of field: HRegFeature::structure_factor"]
5587        [::std::mem::offset_of!(HRegFeature, structure_factor) - 104usize];
5588    ["Offset of field: HRegFeature::m11"][::std::mem::offset_of!(HRegFeature, m11) - 112usize];
5589    ["Offset of field: HRegFeature::m20"][::std::mem::offset_of!(HRegFeature, m20) - 120usize];
5590    ["Offset of field: HRegFeature::m02"][::std::mem::offset_of!(HRegFeature, m02) - 128usize];
5591    ["Offset of field: HRegFeature::ia"][::std::mem::offset_of!(HRegFeature, ia) - 136usize];
5592    ["Offset of field: HRegFeature::ib"][::std::mem::offset_of!(HRegFeature, ib) - 144usize];
5593    ["Offset of field: HRegFeature::row"][::std::mem::offset_of!(HRegFeature, row) - 152usize];
5594    ["Offset of field: HRegFeature::col"][::std::mem::offset_of!(HRegFeature, col) - 160usize];
5595    ["Offset of field: HRegFeature::area"][::std::mem::offset_of!(HRegFeature, area) - 168usize];
5596    ["Offset of field: HRegFeature::row1"][::std::mem::offset_of!(HRegFeature, row1) - 172usize];
5597    ["Offset of field: HRegFeature::col1"][::std::mem::offset_of!(HRegFeature, col1) - 174usize];
5598    ["Offset of field: HRegFeature::row2"][::std::mem::offset_of!(HRegFeature, row2) - 176usize];
5599    ["Offset of field: HRegFeature::col2"][::std::mem::offset_of!(HRegFeature, col2) - 178usize];
5600    ["Offset of field: HRegFeature::row_rect"]
5601        [::std::mem::offset_of!(HRegFeature, row_rect) - 184usize];
5602    ["Offset of field: HRegFeature::col_rect"]
5603        [::std::mem::offset_of!(HRegFeature, col_rect) - 192usize];
5604    ["Offset of field: HRegFeature::phi_rect"]
5605        [::std::mem::offset_of!(HRegFeature, phi_rect) - 200usize];
5606    ["Offset of field: HRegFeature::length1"]
5607        [::std::mem::offset_of!(HRegFeature, length1) - 208usize];
5608    ["Offset of field: HRegFeature::length2"]
5609        [::std::mem::offset_of!(HRegFeature, length2) - 216usize];
5610    ["Offset of field: HRegFeature::row_circle"]
5611        [::std::mem::offset_of!(HRegFeature, row_circle) - 224usize];
5612    ["Offset of field: HRegFeature::col_circle"]
5613        [::std::mem::offset_of!(HRegFeature, col_circle) - 232usize];
5614    ["Offset of field: HRegFeature::radius"]
5615        [::std::mem::offset_of!(HRegFeature, radius) - 240usize];
5616    ["Offset of field: HRegFeature::min_chord"]
5617        [::std::mem::offset_of!(HRegFeature, min_chord) - 248usize];
5618    ["Offset of field: HRegFeature::max_chord"]
5619        [::std::mem::offset_of!(HRegFeature, max_chord) - 250usize];
5620    ["Offset of field: HRegFeature::min_chord_gap"]
5621        [::std::mem::offset_of!(HRegFeature, min_chord_gap) - 252usize];
5622    ["Offset of field: HRegFeature::max_chord_gap"]
5623        [::std::mem::offset_of!(HRegFeature, max_chord_gap) - 254usize];
5624    ["Offset of field: HRegFeature::rectangularity"]
5625        [::std::mem::offset_of!(HRegFeature, rectangularity) - 256usize];
5626};
5627#[repr(C)]
5628#[derive(Copy, Clone)]
5629pub struct Hrlregion {
5630    pub is_compl: bool,
5631    pub num: HITEMCNT,
5632    pub num_max: HITEMCNT,
5633    pub feature: HRegFeature,
5634    pub rl: *mut Hrun,
5635}
5636#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5637const _: () = {
5638    ["Size of Hrlregion"][::std::mem::size_of::<Hrlregion>() - 288usize];
5639    ["Alignment of Hrlregion"][::std::mem::align_of::<Hrlregion>() - 8usize];
5640    ["Offset of field: Hrlregion::is_compl"][::std::mem::offset_of!(Hrlregion, is_compl) - 0usize];
5641    ["Offset of field: Hrlregion::num"][::std::mem::offset_of!(Hrlregion, num) - 4usize];
5642    ["Offset of field: Hrlregion::num_max"][::std::mem::offset_of!(Hrlregion, num_max) - 8usize];
5643    ["Offset of field: Hrlregion::feature"][::std::mem::offset_of!(Hrlregion, feature) - 16usize];
5644    ["Offset of field: Hrlregion::rl"][::std::mem::offset_of!(Hrlregion, rl) - 280usize];
5645};
5646#[repr(C)]
5647#[derive(Copy, Clone)]
5648pub struct Hvrlregion {
5649    pub is_compl: bool,
5650    pub num: HITEMCNT,
5651    pub num_max: HITEMCNT,
5652    pub feature: HRegFeature,
5653    pub rc: *mut Hvrun,
5654}
5655#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5656const _: () = {
5657    ["Size of Hvrlregion"][::std::mem::size_of::<Hvrlregion>() - 288usize];
5658    ["Alignment of Hvrlregion"][::std::mem::align_of::<Hvrlregion>() - 8usize];
5659    ["Offset of field: Hvrlregion::is_compl"]
5660        [::std::mem::offset_of!(Hvrlregion, is_compl) - 0usize];
5661    ["Offset of field: Hvrlregion::num"][::std::mem::offset_of!(Hvrlregion, num) - 4usize];
5662    ["Offset of field: Hvrlregion::num_max"][::std::mem::offset_of!(Hvrlregion, num_max) - 8usize];
5663    ["Offset of field: Hvrlregion::feature"][::std::mem::offset_of!(Hvrlregion, feature) - 16usize];
5664    ["Offset of field: Hvrlregion::rc"][::std::mem::offset_of!(Hvrlregion, rc) - 280usize];
5665};
5666#[repr(C)]
5667#[derive(Debug, Copy, Clone)]
5668pub struct Hrlaccess {
5669    pub min: HIMGCOOR,
5670    pub max: HIMGCOOR,
5671    pub rl: *mut Hrun,
5672    pub first: *mut HITEMCNT,
5673    pub last: *mut HITEMCNT,
5674    pub no_row: *mut bool,
5675}
5676#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5677const _: () = {
5678    ["Size of Hrlaccess"][::std::mem::size_of::<Hrlaccess>() - 40usize];
5679    ["Alignment of Hrlaccess"][::std::mem::align_of::<Hrlaccess>() - 8usize];
5680    ["Offset of field: Hrlaccess::min"][::std::mem::offset_of!(Hrlaccess, min) - 0usize];
5681    ["Offset of field: Hrlaccess::max"][::std::mem::offset_of!(Hrlaccess, max) - 2usize];
5682    ["Offset of field: Hrlaccess::rl"][::std::mem::offset_of!(Hrlaccess, rl) - 8usize];
5683    ["Offset of field: Hrlaccess::first"][::std::mem::offset_of!(Hrlaccess, first) - 16usize];
5684    ["Offset of field: Hrlaccess::last"][::std::mem::offset_of!(Hrlaccess, last) - 24usize];
5685    ["Offset of field: Hrlaccess::no_row"][::std::mem::offset_of!(Hrlaccess, no_row) - 32usize];
5686};
5687#[repr(C)]
5688#[derive(Debug, Copy, Clone)]
5689pub struct HMultiChannelImage {
5690    pub channels: *mut Himage,
5691    pub region: *mut Hrlregion,
5692    pub num_channels: ::std::os::raw::c_int,
5693}
5694#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5695const _: () = {
5696    ["Size of HMultiChannelImage"][::std::mem::size_of::<HMultiChannelImage>() - 24usize];
5697    ["Alignment of HMultiChannelImage"][::std::mem::align_of::<HMultiChannelImage>() - 8usize];
5698    ["Offset of field: HMultiChannelImage::channels"]
5699        [::std::mem::offset_of!(HMultiChannelImage, channels) - 0usize];
5700    ["Offset of field: HMultiChannelImage::region"]
5701        [::std::mem::offset_of!(HMultiChannelImage, region) - 8usize];
5702    ["Offset of field: HMultiChannelImage::num_channels"]
5703        [::std::mem::offset_of!(HMultiChannelImage, num_channels) - 16usize];
5704};
5705#[repr(C)]
5706#[derive(Debug, Copy, Clone)]
5707pub struct Hcontvar {
5708    pub row: *mut HIMGCOOR,
5709    pub col: *mut HIMGCOOR,
5710    pub num: HITEMCNT,
5711    pub max_num: HITEMCNT,
5712}
5713#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5714const _: () = {
5715    ["Size of Hcontvar"][::std::mem::size_of::<Hcontvar>() - 24usize];
5716    ["Alignment of Hcontvar"][::std::mem::align_of::<Hcontvar>() - 8usize];
5717    ["Offset of field: Hcontvar::row"][::std::mem::offset_of!(Hcontvar, row) - 0usize];
5718    ["Offset of field: Hcontvar::col"][::std::mem::offset_of!(Hcontvar, col) - 8usize];
5719    ["Offset of field: Hcontvar::num"][::std::mem::offset_of!(Hcontvar, num) - 16usize];
5720    ["Offset of field: Hcontvar::max_num"][::std::mem::offset_of!(Hcontvar, max_num) - 20usize];
5721};
5722#[repr(C)]
5723#[derive(Debug, Copy, Clone)]
5724pub struct Hfcontvar {
5725    pub row: *mut HSUBCOOR,
5726    pub col: *mut HSUBCOOR,
5727    pub num: HITEMCNT,
5728    pub max_num: HITEMCNT,
5729}
5730#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5731const _: () = {
5732    ["Size of Hfcontvar"][::std::mem::size_of::<Hfcontvar>() - 24usize];
5733    ["Alignment of Hfcontvar"][::std::mem::align_of::<Hfcontvar>() - 8usize];
5734    ["Offset of field: Hfcontvar::row"][::std::mem::offset_of!(Hfcontvar, row) - 0usize];
5735    ["Offset of field: Hfcontvar::col"][::std::mem::offset_of!(Hfcontvar, col) - 8usize];
5736    ["Offset of field: Hfcontvar::num"][::std::mem::offset_of!(Hfcontvar, num) - 16usize];
5737    ["Offset of field: Hfcontvar::max_num"][::std::mem::offset_of!(Hfcontvar, max_num) - 20usize];
5738};
5739#[repr(C)]
5740#[derive(Debug, Copy, Clone)]
5741pub struct Hchain_code {
5742    pub l: HIMGCOOR,
5743    pub c: HIMGCOOR,
5744    pub cc: *mut u8,
5745    pub num: HITEMCNT,
5746}
5747#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5748const _: () = {
5749    ["Size of Hchain_code"][::std::mem::size_of::<Hchain_code>() - 24usize];
5750    ["Alignment of Hchain_code"][::std::mem::align_of::<Hchain_code>() - 8usize];
5751    ["Offset of field: Hchain_code::l"][::std::mem::offset_of!(Hchain_code, l) - 0usize];
5752    ["Offset of field: Hchain_code::c"][::std::mem::offset_of!(Hchain_code, c) - 2usize];
5753    ["Offset of field: Hchain_code::cc"][::std::mem::offset_of!(Hchain_code, cc) - 8usize];
5754    ["Offset of field: Hchain_code::num"][::std::mem::offset_of!(Hchain_code, num) - 16usize];
5755};
5756#[repr(C)]
5757#[derive(Debug, Copy, Clone)]
5758pub struct Hline {
5759    pub row1: HSUBCOOR,
5760    pub col1: HSUBCOOR,
5761    pub row2: HSUBCOOR,
5762    pub col2: HSUBCOOR,
5763}
5764#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5765const _: () = {
5766    ["Size of Hline"][::std::mem::size_of::<Hline>() - 16usize];
5767    ["Alignment of Hline"][::std::mem::align_of::<Hline>() - 4usize];
5768    ["Offset of field: Hline::row1"][::std::mem::offset_of!(Hline, row1) - 0usize];
5769    ["Offset of field: Hline::col1"][::std::mem::offset_of!(Hline, col1) - 4usize];
5770    ["Offset of field: Hline::row2"][::std::mem::offset_of!(Hline, row2) - 8usize];
5771    ["Offset of field: Hline::col2"][::std::mem::offset_of!(Hline, col2) - 12usize];
5772};
5773#[repr(C)]
5774#[derive(Debug, Copy, Clone)]
5775pub struct Hlines {
5776    pub num: HITEMCNT,
5777    pub line: *mut Hline,
5778}
5779#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5780const _: () = {
5781    ["Size of Hlines"][::std::mem::size_of::<Hlines>() - 16usize];
5782    ["Alignment of Hlines"][::std::mem::align_of::<Hlines>() - 8usize];
5783    ["Offset of field: Hlines::num"][::std::mem::offset_of!(Hlines, num) - 0usize];
5784    ["Offset of field: Hlines::line"][::std::mem::offset_of!(Hlines, line) - 8usize];
5785};
5786pub type Hhisto_abs = [HIMGCNT; 256usize];
5787pub type Hhisto_rel = [f64; 256usize];
5788#[repr(C)]
5789#[derive(Debug, Copy, Clone)]
5790pub struct Hconv_mask_s {
5791    pub f: i32,
5792    pub gk: *mut i32,
5793    pub num_max: i32,
5794}
5795#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5796const _: () = {
5797    ["Size of Hconv_mask_s"][::std::mem::size_of::<Hconv_mask_s>() - 24usize];
5798    ["Alignment of Hconv_mask_s"][::std::mem::align_of::<Hconv_mask_s>() - 8usize];
5799    ["Offset of field: Hconv_mask_s::f"][::std::mem::offset_of!(Hconv_mask_s, f) - 0usize];
5800    ["Offset of field: Hconv_mask_s::gk"][::std::mem::offset_of!(Hconv_mask_s, gk) - 8usize];
5801    ["Offset of field: Hconv_mask_s::num_max"]
5802        [::std::mem::offset_of!(Hconv_mask_s, num_max) - 16usize];
5803};
5804#[repr(C)]
5805#[derive(Debug, Copy, Clone)]
5806pub struct Hconv_mask_2 {
5807    pub min_row: HIMGCOOR,
5808    pub max_row: HIMGCOOR,
5809    pub min_col: HIMGCOOR,
5810    pub max_col: HIMGCOOR,
5811    pub norm: i32,
5812    pub num: i32,
5813    pub row: [HIMGCOOR; 50000usize],
5814    pub col: [HIMGCOOR; 50000usize],
5815    pub koor: [HLINCOOR; 50000usize],
5816    pub m: [i32; 50000usize],
5817}
5818#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5819const _: () = {
5820    ["Size of Hconv_mask_2"][::std::mem::size_of::<Hconv_mask_2>() - 600016usize];
5821    ["Alignment of Hconv_mask_2"][::std::mem::align_of::<Hconv_mask_2>() - 4usize];
5822    ["Offset of field: Hconv_mask_2::min_row"]
5823        [::std::mem::offset_of!(Hconv_mask_2, min_row) - 0usize];
5824    ["Offset of field: Hconv_mask_2::max_row"]
5825        [::std::mem::offset_of!(Hconv_mask_2, max_row) - 2usize];
5826    ["Offset of field: Hconv_mask_2::min_col"]
5827        [::std::mem::offset_of!(Hconv_mask_2, min_col) - 4usize];
5828    ["Offset of field: Hconv_mask_2::max_col"]
5829        [::std::mem::offset_of!(Hconv_mask_2, max_col) - 6usize];
5830    ["Offset of field: Hconv_mask_2::norm"][::std::mem::offset_of!(Hconv_mask_2, norm) - 8usize];
5831    ["Offset of field: Hconv_mask_2::num"][::std::mem::offset_of!(Hconv_mask_2, num) - 12usize];
5832    ["Offset of field: Hconv_mask_2::row"][::std::mem::offset_of!(Hconv_mask_2, row) - 16usize];
5833    ["Offset of field: Hconv_mask_2::col"][::std::mem::offset_of!(Hconv_mask_2, col) - 100016usize];
5834    ["Offset of field: Hconv_mask_2::koor"]
5835        [::std::mem::offset_of!(Hconv_mask_2, koor) - 200016usize];
5836    ["Offset of field: Hconv_mask_2::m"][::std::mem::offset_of!(Hconv_mask_2, m) - 400016usize];
5837};
5838#[repr(C)]
5839#[derive(Debug, Copy, Clone)]
5840pub struct Hconv_mask_1 {
5841    pub min_col: HIMGCOOR,
5842    pub max_col: HIMGCOOR,
5843    pub norm: i32,
5844    pub num: i32,
5845    pub col: [HIMGCOOR; 50000usize],
5846    pub m: [i32; 50000usize],
5847}
5848#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5849const _: () = {
5850    ["Size of Hconv_mask_1"][::std::mem::size_of::<Hconv_mask_1>() - 300012usize];
5851    ["Alignment of Hconv_mask_1"][::std::mem::align_of::<Hconv_mask_1>() - 4usize];
5852    ["Offset of field: Hconv_mask_1::min_col"]
5853        [::std::mem::offset_of!(Hconv_mask_1, min_col) - 0usize];
5854    ["Offset of field: Hconv_mask_1::max_col"]
5855        [::std::mem::offset_of!(Hconv_mask_1, max_col) - 2usize];
5856    ["Offset of field: Hconv_mask_1::norm"][::std::mem::offset_of!(Hconv_mask_1, norm) - 4usize];
5857    ["Offset of field: Hconv_mask_1::num"][::std::mem::offset_of!(Hconv_mask_1, num) - 8usize];
5858    ["Offset of field: Hconv_mask_1::col"][::std::mem::offset_of!(Hconv_mask_1, col) - 12usize];
5859    ["Offset of field: Hconv_mask_1::m"][::std::mem::offset_of!(Hconv_mask_1, m) - 100012usize];
5860};
5861#[repr(C)]
5862#[derive(Debug, Copy, Clone)]
5863pub struct Hcolor {
5864    pub red: u8,
5865    pub green: u8,
5866    pub blue: u8,
5867    pub name: [::std::os::raw::c_char; 40usize],
5868}
5869#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5870const _: () = {
5871    ["Size of Hcolor"][::std::mem::size_of::<Hcolor>() - 43usize];
5872    ["Alignment of Hcolor"][::std::mem::align_of::<Hcolor>() - 1usize];
5873    ["Offset of field: Hcolor::red"][::std::mem::offset_of!(Hcolor, red) - 0usize];
5874    ["Offset of field: Hcolor::green"][::std::mem::offset_of!(Hcolor, green) - 1usize];
5875    ["Offset of field: Hcolor::blue"][::std::mem::offset_of!(Hcolor, blue) - 2usize];
5876    ["Offset of field: Hcolor::name"][::std::mem::offset_of!(Hcolor, name) - 3usize];
5877};
5878pub const cont_class_cont_unknown: cont_class = 0;
5879pub const cont_class_cont_no_junc: cont_class = 1;
5880pub const cont_class_cont_start_junc: cont_class = 2;
5881pub const cont_class_cont_end_junc: cont_class = 3;
5882pub const cont_class_cont_both_junc: cont_class = 4;
5883pub const cont_class_cont_closed: cont_class = 5;
5884pub type cont_class = ::std::os::raw::c_int;
5885use std::f64;
5886
5887pub use self::cont_class as Hcont_class;
5888#[repr(C)]
5889#[derive(Debug, Copy, Clone)]
5890pub struct cont_attrib {
5891    pub name: *mut ::std::os::raw::c_char,
5892    pub val: *mut HSUBATTR,
5893}
5894#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5895const _: () = {
5896    ["Size of cont_attrib"][::std::mem::size_of::<cont_attrib>() - 16usize];
5897    ["Alignment of cont_attrib"][::std::mem::align_of::<cont_attrib>() - 8usize];
5898    ["Offset of field: cont_attrib::name"][::std::mem::offset_of!(cont_attrib, name) - 0usize];
5899    ["Offset of field: cont_attrib::val"][::std::mem::offset_of!(cont_attrib, val) - 8usize];
5900};
5901pub type Hcont_attrib = cont_attrib;
5902#[repr(C)]
5903#[derive(Debug, Copy, Clone)]
5904pub struct cont_global_attrib {
5905    pub name: *mut ::std::os::raw::c_char,
5906    pub val: HSUBATTR,
5907}
5908#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5909const _: () = {
5910    ["Size of cont_global_attrib"][::std::mem::size_of::<cont_global_attrib>() - 16usize];
5911    ["Alignment of cont_global_attrib"][::std::mem::align_of::<cont_global_attrib>() - 8usize];
5912    ["Offset of field: cont_global_attrib::name"]
5913        [::std::mem::offset_of!(cont_global_attrib, name) - 0usize];
5914    ["Offset of field: cont_global_attrib::val"]
5915        [::std::mem::offset_of!(cont_global_attrib, val) - 8usize];
5916};
5917pub type Hcont_global_attrib = cont_global_attrib;
5918#[repr(C)]
5919#[derive(Debug, Copy, Clone)]
5920pub struct cont_type {
5921    pub num: HITEMCNT,
5922    pub row: *mut HSUBCOOR,
5923    pub col: *mut HSUBCOOR,
5924    pub cont_class: Hcont_class,
5925    pub num_attrib: i32,
5926    pub attribs: *mut Hcont_attrib,
5927    pub num_global: i32,
5928    pub global: *mut Hcont_global_attrib,
5929    pub h: i32,
5930}
5931#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5932const _: () = {
5933    ["Size of cont_type"][::std::mem::size_of::<cont_type>() - 64usize];
5934    ["Alignment of cont_type"][::std::mem::align_of::<cont_type>() - 8usize];
5935    ["Offset of field: cont_type::num"][::std::mem::offset_of!(cont_type, num) - 0usize];
5936    ["Offset of field: cont_type::row"][::std::mem::offset_of!(cont_type, row) - 8usize];
5937    ["Offset of field: cont_type::col"][::std::mem::offset_of!(cont_type, col) - 16usize];
5938    ["Offset of field: cont_type::cont_class"]
5939        [::std::mem::offset_of!(cont_type, cont_class) - 24usize];
5940    ["Offset of field: cont_type::num_attrib"]
5941        [::std::mem::offset_of!(cont_type, num_attrib) - 28usize];
5942    ["Offset of field: cont_type::attribs"][::std::mem::offset_of!(cont_type, attribs) - 32usize];
5943    ["Offset of field: cont_type::num_global"]
5944        [::std::mem::offset_of!(cont_type, num_global) - 40usize];
5945    ["Offset of field: cont_type::global"][::std::mem::offset_of!(cont_type, global) - 48usize];
5946    ["Offset of field: cont_type::h"][::std::mem::offset_of!(cont_type, h) - 56usize];
5947};
5948pub type Hcont = cont_type;
5949#[repr(C)]
5950#[derive(Debug, Copy, Clone)]
5951pub struct lin_seg_type {
5952    pub row: HSUBCOOR,
5953    pub col: HSUBCOOR,
5954    pub length: HSUBATTR,
5955    pub phi: HSUBATTR,
5956    pub ref_: Hkey,
5957    pub first: HITEMCNT,
5958    pub last: HITEMCNT,
5959}
5960#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5961const _: () = {
5962    ["Size of lin_seg_type"][::std::mem::size_of::<lin_seg_type>() - 32usize];
5963    ["Alignment of lin_seg_type"][::std::mem::align_of::<lin_seg_type>() - 8usize];
5964    ["Offset of field: lin_seg_type::row"][::std::mem::offset_of!(lin_seg_type, row) - 0usize];
5965    ["Offset of field: lin_seg_type::col"][::std::mem::offset_of!(lin_seg_type, col) - 4usize];
5966    ["Offset of field: lin_seg_type::length"]
5967        [::std::mem::offset_of!(lin_seg_type, length) - 8usize];
5968    ["Offset of field: lin_seg_type::phi"][::std::mem::offset_of!(lin_seg_type, phi) - 12usize];
5969    ["Offset of field: lin_seg_type::ref_"][::std::mem::offset_of!(lin_seg_type, ref_) - 16usize];
5970    ["Offset of field: lin_seg_type::first"][::std::mem::offset_of!(lin_seg_type, first) - 24usize];
5971    ["Offset of field: lin_seg_type::last"][::std::mem::offset_of!(lin_seg_type, last) - 28usize];
5972};
5973pub type Hline_seg = lin_seg_type;
5974#[repr(C)]
5975#[derive(Debug, Copy, Clone)]
5976pub struct poly_type {
5977    pub num_line: HITEMCNT,
5978    pub len_line: HITEMCNT,
5979    pub lines: *mut Hline_seg,
5980}
5981#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5982const _: () = {
5983    ["Size of poly_type"][::std::mem::size_of::<poly_type>() - 16usize];
5984    ["Alignment of poly_type"][::std::mem::align_of::<poly_type>() - 8usize];
5985    ["Offset of field: poly_type::num_line"][::std::mem::offset_of!(poly_type, num_line) - 0usize];
5986    ["Offset of field: poly_type::len_line"][::std::mem::offset_of!(poly_type, len_line) - 4usize];
5987    ["Offset of field: poly_type::lines"][::std::mem::offset_of!(poly_type, lines) - 8usize];
5988};
5989pub type Hpoly = poly_type;
5990#[repr(C)]
5991#[derive(Debug, Copy, Clone)]
5992pub struct para_poly_type {
5993    pub poly1: Hkey,
5994    pub poly2: Hkey,
5995    pub first1: HITEMCNT,
5996    pub last1: HITEMCNT,
5997    pub first2: HITEMCNT,
5998    pub last2: HITEMCNT,
5999    pub quality: f64,
6000}
6001#[allow(clippy::unnecessary_operation, clippy::identity_op)]
6002const _: () = {
6003    ["Size of para_poly_type"][::std::mem::size_of::<para_poly_type>() - 40usize];
6004    ["Alignment of para_poly_type"][::std::mem::align_of::<para_poly_type>() - 8usize];
6005    ["Offset of field: para_poly_type::poly1"]
6006        [::std::mem::offset_of!(para_poly_type, poly1) - 0usize];
6007    ["Offset of field: para_poly_type::poly2"]
6008        [::std::mem::offset_of!(para_poly_type, poly2) - 8usize];
6009    ["Offset of field: para_poly_type::first1"]
6010        [::std::mem::offset_of!(para_poly_type, first1) - 16usize];
6011    ["Offset of field: para_poly_type::last1"]
6012        [::std::mem::offset_of!(para_poly_type, last1) - 20usize];
6013    ["Offset of field: para_poly_type::first2"]
6014        [::std::mem::offset_of!(para_poly_type, first2) - 24usize];
6015    ["Offset of field: para_poly_type::last2"]
6016        [::std::mem::offset_of!(para_poly_type, last2) - 28usize];
6017    ["Offset of field: para_poly_type::quality"]
6018        [::std::mem::offset_of!(para_poly_type, quality) - 32usize];
6019};
6020pub type Hpara_poly = para_poly_type;
6021#[repr(C)]
6022#[derive(Debug, Copy, Clone)]
6023pub struct mod_para_type {
6024    pub poly1: Hkey,
6025    pub poly2: Hkey,
6026    pub first1: HITEMCNT,
6027    pub last1: HITEMCNT,
6028    pub first2: HITEMCNT,
6029    pub last2: HITEMCNT,
6030    pub first1_dist: HSUBATTR,
6031    pub last1_dist: HSUBATTR,
6032    pub first2_dist: HSUBATTR,
6033    pub last2_dist: HSUBATTR,
6034    pub dir1: i16,
6035    pub dir2: i16,
6036}
6037#[allow(clippy::unnecessary_operation, clippy::identity_op)]
6038const _: () = {
6039    ["Size of mod_para_type"][::std::mem::size_of::<mod_para_type>() - 56usize];
6040    ["Alignment of mod_para_type"][::std::mem::align_of::<mod_para_type>() - 8usize];
6041    ["Offset of field: mod_para_type::poly1"]
6042        [::std::mem::offset_of!(mod_para_type, poly1) - 0usize];
6043    ["Offset of field: mod_para_type::poly2"]
6044        [::std::mem::offset_of!(mod_para_type, poly2) - 8usize];
6045    ["Offset of field: mod_para_type::first1"]
6046        [::std::mem::offset_of!(mod_para_type, first1) - 16usize];
6047    ["Offset of field: mod_para_type::last1"]
6048        [::std::mem::offset_of!(mod_para_type, last1) - 20usize];
6049    ["Offset of field: mod_para_type::first2"]
6050        [::std::mem::offset_of!(mod_para_type, first2) - 24usize];
6051    ["Offset of field: mod_para_type::last2"]
6052        [::std::mem::offset_of!(mod_para_type, last2) - 28usize];
6053    ["Offset of field: mod_para_type::first1_dist"]
6054        [::std::mem::offset_of!(mod_para_type, first1_dist) - 32usize];
6055    ["Offset of field: mod_para_type::last1_dist"]
6056        [::std::mem::offset_of!(mod_para_type, last1_dist) - 36usize];
6057    ["Offset of field: mod_para_type::first2_dist"]
6058        [::std::mem::offset_of!(mod_para_type, first2_dist) - 40usize];
6059    ["Offset of field: mod_para_type::last2_dist"]
6060        [::std::mem::offset_of!(mod_para_type, last2_dist) - 44usize];
6061    ["Offset of field: mod_para_type::dir1"][::std::mem::offset_of!(mod_para_type, dir1) - 48usize];
6062    ["Offset of field: mod_para_type::dir2"][::std::mem::offset_of!(mod_para_type, dir2) - 50usize];
6063};
6064pub type Hmod_para = mod_para_type;
6065#[repr(C)]
6066#[derive(Debug, Copy, Clone)]
6067pub struct ext_para_type {
6068    pub poly1: Hkey,
6069    pub poly2: Hkey,
6070    pub first1: HITEMCNT,
6071    pub last1: HITEMCNT,
6072    pub first2: HITEMCNT,
6073    pub last2: HITEMCNT,
6074}
6075#[allow(clippy::unnecessary_operation, clippy::identity_op)]
6076const _: () = {
6077    ["Size of ext_para_type"][::std::mem::size_of::<ext_para_type>() - 32usize];
6078    ["Alignment of ext_para_type"][::std::mem::align_of::<ext_para_type>() - 8usize];
6079    ["Offset of field: ext_para_type::poly1"]
6080        [::std::mem::offset_of!(ext_para_type, poly1) - 0usize];
6081    ["Offset of field: ext_para_type::poly2"]
6082        [::std::mem::offset_of!(ext_para_type, poly2) - 8usize];
6083    ["Offset of field: ext_para_type::first1"]
6084        [::std::mem::offset_of!(ext_para_type, first1) - 16usize];
6085    ["Offset of field: ext_para_type::last1"]
6086        [::std::mem::offset_of!(ext_para_type, last1) - 20usize];
6087    ["Offset of field: ext_para_type::first2"]
6088        [::std::mem::offset_of!(ext_para_type, first2) - 24usize];
6089    ["Offset of field: ext_para_type::last2"]
6090        [::std::mem::offset_of!(ext_para_type, last2) - 28usize];
6091};
6092pub type Hext_para = ext_para_type;
6093pub type Hhom_mat_2d = [[f64; 3usize]; 2usize];
6094pub type pHhom_mat_2d = *mut [f64; 3usize];
6095pub type pHhom_mat_2d_const = *const [f64; 3usize];
6096pub type puHhom_mat_2d = *mut [f64; 3usize];
6097pub type Hhom_mat_3d = [[f64; 4usize]; 3usize];
6098pub type pHhom_mat_3d = *mut [f64; 4usize];
6099pub type puHhom_mat_3d = *mut [f64; 4usize];
6100pub type Hproj_mat_2d = [[f64; 3usize]; 3usize];
6101pub type pHproj_mat_2d = *mut [f64; 3usize];
6102pub type pHproj_mat_2d_const = *const [f64; 3usize];
6103pub type puHproj_mat_2d = *mut [f64; 3usize];
6104pub type Hproj_mat_3d = [[f64; 4usize]; 4usize];
6105pub type pHproj_mat_3d = *mut [f64; 4usize];
6106pub type puHproj_mat_3d = *mut [f64; 4usize];
6107#[repr(C)]
6108#[derive(Debug, Copy, Clone)]
6109pub struct Hfunction_1d {
6110    pub num: i32,
6111    pub x: *mut f32,
6112    pub y: *mut f32,
6113    pub xmin: f32,
6114    pub xmax: f32,
6115    pub xdist: f32,
6116    pub is_equidist: bool,
6117}
6118#[allow(clippy::unnecessary_operation, clippy::identity_op)]
6119const _: () = {
6120    ["Size of Hfunction_1d"][::std::mem::size_of::<Hfunction_1d>() - 40usize];
6121    ["Alignment of Hfunction_1d"][::std::mem::align_of::<Hfunction_1d>() - 8usize];
6122    ["Offset of field: Hfunction_1d::num"][::std::mem::offset_of!(Hfunction_1d, num) - 0usize];
6123    ["Offset of field: Hfunction_1d::x"][::std::mem::offset_of!(Hfunction_1d, x) - 8usize];
6124    ["Offset of field: Hfunction_1d::y"][::std::mem::offset_of!(Hfunction_1d, y) - 16usize];
6125    ["Offset of field: Hfunction_1d::xmin"][::std::mem::offset_of!(Hfunction_1d, xmin) - 24usize];
6126    ["Offset of field: Hfunction_1d::xmax"][::std::mem::offset_of!(Hfunction_1d, xmax) - 28usize];
6127    ["Offset of field: Hfunction_1d::xdist"][::std::mem::offset_of!(Hfunction_1d, xdist) - 32usize];
6128    ["Offset of field: Hfunction_1d::is_equidist"]
6129        [::std::mem::offset_of!(Hfunction_1d, is_equidist) - 36usize];
6130};
6131#[repr(C)]
6132#[derive(Copy, Clone)]
6133pub union DPHpar {
6134    pub l: *mut INT4_8,
6135    pub f: *mut f64,
6136    pub s: *mut ::std::os::raw::c_char,
6137}
6138#[allow(clippy::unnecessary_operation, clippy::identity_op)]
6139const _: () = {
6140    ["Size of DPHpar"][::std::mem::size_of::<DPHpar>() - 8usize];
6141    ["Alignment of DPHpar"][::std::mem::align_of::<DPHpar>() - 8usize];
6142    ["Offset of field: DPHpar::l"][::std::mem::offset_of!(DPHpar, l) - 0usize];
6143    ["Offset of field: DPHpar::f"][::std::mem::offset_of!(DPHpar, f) - 0usize];
6144    ["Offset of field: DPHpar::s"][::std::mem::offset_of!(DPHpar, s) - 0usize];
6145};
6146#[repr(C)]
6147#[derive(Copy, Clone)]
6148pub union DVHpar {
6149    pub l: INT4_8,
6150    pub f: f64,
6151    pub s: *mut ::std::os::raw::c_char,
6152}
6153#[allow(clippy::unnecessary_operation, clippy::identity_op)]
6154const _: () = {
6155    ["Size of DVHpar"][::std::mem::size_of::<DVHpar>() - 8usize];
6156    ["Alignment of DVHpar"][::std::mem::align_of::<DVHpar>() - 8usize];
6157    ["Offset of field: DVHpar::l"][::std::mem::offset_of!(DVHpar, l) - 0usize];
6158    ["Offset of field: DVHpar::f"][::std::mem::offset_of!(DVHpar, f) - 0usize];
6159    ["Offset of field: DVHpar::s"][::std::mem::offset_of!(DVHpar, s) - 0usize];
6160};
6161pub type HLowLevelErrorCallbackProc =
6162    ::std::option::Option<unsafe extern "C" fn(err: *const ::std::os::raw::c_char)>;
6163unsafe extern "C" {
6164    pub fn memchr(
6165        _Buf: *const ::std::os::raw::c_void,
6166        _Val: ::std::os::raw::c_int,
6167        _MaxCount: ::std::os::raw::c_ulonglong,
6168    ) -> *mut ::std::os::raw::c_void;
6169}
6170unsafe extern "C" {
6171    pub fn memcmp(
6172        _Buf1: *const ::std::os::raw::c_void,
6173        _Buf2: *const ::std::os::raw::c_void,
6174        _Size: ::std::os::raw::c_ulonglong,
6175    ) -> ::std::os::raw::c_int;
6176}
6177unsafe extern "C" {
6178    pub fn memcpy(
6179        _Dst: *mut ::std::os::raw::c_void,
6180        _Src: *const ::std::os::raw::c_void,
6181        _Size: ::std::os::raw::c_ulonglong,
6182    ) -> *mut ::std::os::raw::c_void;
6183}
6184unsafe extern "C" {
6185    pub fn memmove(
6186        _Dst: *mut ::std::os::raw::c_void,
6187        _Src: *const ::std::os::raw::c_void,
6188        _Size: ::std::os::raw::c_ulonglong,
6189    ) -> *mut ::std::os::raw::c_void;
6190}
6191unsafe extern "C" {
6192    pub fn memset(
6193        _Dst: *mut ::std::os::raw::c_void,
6194        _Val: ::std::os::raw::c_int,
6195        _Size: ::std::os::raw::c_ulonglong,
6196    ) -> *mut ::std::os::raw::c_void;
6197}
6198unsafe extern "C" {
6199    pub fn strchr(
6200        _Str: *const ::std::os::raw::c_char,
6201        _Val: ::std::os::raw::c_int,
6202    ) -> *mut ::std::os::raw::c_char;
6203}
6204unsafe extern "C" {
6205    pub fn strrchr(
6206        _Str: *const ::std::os::raw::c_char,
6207        _Ch: ::std::os::raw::c_int,
6208    ) -> *mut ::std::os::raw::c_char;
6209}
6210unsafe extern "C" {
6211    pub fn strstr(
6212        _Str: *const ::std::os::raw::c_char,
6213        _SubStr: *const ::std::os::raw::c_char,
6214    ) -> *mut ::std::os::raw::c_char;
6215}
6216unsafe extern "C" {
6217    pub fn wcschr(
6218        _Str: *const ::std::os::raw::c_ushort,
6219        _Ch: ::std::os::raw::c_ushort,
6220    ) -> *mut ::std::os::raw::c_ushort;
6221}
6222unsafe extern "C" {
6223    pub fn wcsrchr(_Str: *const wchar_t, _Ch: wchar_t) -> *mut wchar_t;
6224}
6225unsafe extern "C" {
6226    pub fn wcsstr(_Str: *const wchar_t, _SubStr: *const wchar_t) -> *mut wchar_t;
6227}
6228unsafe extern "C" {
6229    pub fn _memicmp(
6230        _Buf1: *const ::std::os::raw::c_void,
6231        _Buf2: *const ::std::os::raw::c_void,
6232        _Size: usize,
6233    ) -> ::std::os::raw::c_int;
6234}
6235unsafe extern "C" {
6236    pub fn _memicmp_l(
6237        _Buf1: *const ::std::os::raw::c_void,
6238        _Buf2: *const ::std::os::raw::c_void,
6239        _Size: usize,
6240        _Locale: _locale_t,
6241    ) -> ::std::os::raw::c_int;
6242}
6243unsafe extern "C" {
6244    pub fn memccpy(
6245        _Dst: *mut ::std::os::raw::c_void,
6246        _Src: *const ::std::os::raw::c_void,
6247        _Val: ::std::os::raw::c_int,
6248        _Size: ::std::os::raw::c_ulonglong,
6249    ) -> *mut ::std::os::raw::c_void;
6250}
6251unsafe extern "C" {
6252    pub fn memicmp(
6253        _Buf1: *const ::std::os::raw::c_void,
6254        _Buf2: *const ::std::os::raw::c_void,
6255        _Size: usize,
6256    ) -> ::std::os::raw::c_int;
6257}
6258unsafe extern "C" {
6259    pub fn wcscat_s(
6260        _Destination: *mut wchar_t,
6261        _SizeInWords: rsize_t,
6262        _Source: *const wchar_t,
6263    ) -> errno_t;
6264}
6265unsafe extern "C" {
6266    pub fn wcscpy_s(
6267        _Destination: *mut wchar_t,
6268        _SizeInWords: rsize_t,
6269        _Source: *const wchar_t,
6270    ) -> errno_t;
6271}
6272unsafe extern "C" {
6273    pub fn wcsncat_s(
6274        _Destination: *mut wchar_t,
6275        _SizeInWords: rsize_t,
6276        _Source: *const wchar_t,
6277        _MaxCount: rsize_t,
6278    ) -> errno_t;
6279}
6280unsafe extern "C" {
6281    pub fn wcsncpy_s(
6282        _Destination: *mut wchar_t,
6283        _SizeInWords: rsize_t,
6284        _Source: *const wchar_t,
6285        _MaxCount: rsize_t,
6286    ) -> errno_t;
6287}
6288unsafe extern "C" {
6289    pub fn wcstok_s(
6290        _String: *mut wchar_t,
6291        _Delimiter: *const wchar_t,
6292        _Context: *mut *mut wchar_t,
6293    ) -> *mut wchar_t;
6294}
6295unsafe extern "C" {
6296    pub fn _wcsdup(_String: *const wchar_t) -> *mut wchar_t;
6297}
6298unsafe extern "C" {
6299    pub fn wcscat(_Destination: *mut wchar_t, _Source: *const wchar_t) -> *mut wchar_t;
6300}
6301unsafe extern "C" {
6302    pub fn wcscmp(
6303        _String1: *const ::std::os::raw::c_ushort,
6304        _String2: *const ::std::os::raw::c_ushort,
6305    ) -> ::std::os::raw::c_int;
6306}
6307unsafe extern "C" {
6308    pub fn wcscpy(_Destination: *mut wchar_t, _Source: *const wchar_t) -> *mut wchar_t;
6309}
6310unsafe extern "C" {
6311    pub fn wcscspn(_String: *const wchar_t, _Control: *const wchar_t) -> usize;
6312}
6313unsafe extern "C" {
6314    pub fn wcslen(_String: *const ::std::os::raw::c_ushort) -> ::std::os::raw::c_ulonglong;
6315}
6316unsafe extern "C" {
6317    pub fn wcsnlen(_Source: *const wchar_t, _MaxCount: usize) -> usize;
6318}
6319unsafe extern "C" {
6320    pub fn wcsncat(
6321        _Destination: *mut wchar_t,
6322        _Source: *const wchar_t,
6323        _Count: usize,
6324    ) -> *mut wchar_t;
6325}
6326unsafe extern "C" {
6327    pub fn wcsncmp(
6328        _String1: *const ::std::os::raw::c_ushort,
6329        _String2: *const ::std::os::raw::c_ushort,
6330        _MaxCount: ::std::os::raw::c_ulonglong,
6331    ) -> ::std::os::raw::c_int;
6332}
6333unsafe extern "C" {
6334    pub fn wcsncpy(
6335        _Destination: *mut wchar_t,
6336        _Source: *const wchar_t,
6337        _Count: usize,
6338    ) -> *mut wchar_t;
6339}
6340unsafe extern "C" {
6341    pub fn wcspbrk(_String: *const wchar_t, _Control: *const wchar_t) -> *mut wchar_t;
6342}
6343unsafe extern "C" {
6344    pub fn wcsspn(_String: *const wchar_t, _Control: *const wchar_t) -> usize;
6345}
6346unsafe extern "C" {
6347    pub fn wcstok(
6348        _String: *mut wchar_t,
6349        _Delimiter: *const wchar_t,
6350        _Context: *mut *mut wchar_t,
6351    ) -> *mut wchar_t;
6352}
6353unsafe extern "C" {
6354    pub fn _wcserror(_ErrorNumber: ::std::os::raw::c_int) -> *mut wchar_t;
6355}
6356unsafe extern "C" {
6357    pub fn _wcserror_s(
6358        _Buffer: *mut wchar_t,
6359        _SizeInWords: usize,
6360        _ErrorNumber: ::std::os::raw::c_int,
6361    ) -> errno_t;
6362}
6363unsafe extern "C" {
6364    pub fn __wcserror(_String: *const wchar_t) -> *mut wchar_t;
6365}
6366unsafe extern "C" {
6367    pub fn __wcserror_s(
6368        _Buffer: *mut wchar_t,
6369        _SizeInWords: usize,
6370        _ErrorMessage: *const wchar_t,
6371    ) -> errno_t;
6372}
6373unsafe extern "C" {
6374    pub fn _wcsicmp(_String1: *const wchar_t, _String2: *const wchar_t) -> ::std::os::raw::c_int;
6375}
6376unsafe extern "C" {
6377    pub fn _wcsicmp_l(
6378        _String1: *const wchar_t,
6379        _String2: *const wchar_t,
6380        _Locale: _locale_t,
6381    ) -> ::std::os::raw::c_int;
6382}
6383unsafe extern "C" {
6384    pub fn _wcsnicmp(
6385        _String1: *const wchar_t,
6386        _String2: *const wchar_t,
6387        _MaxCount: usize,
6388    ) -> ::std::os::raw::c_int;
6389}
6390unsafe extern "C" {
6391    pub fn _wcsnicmp_l(
6392        _String1: *const wchar_t,
6393        _String2: *const wchar_t,
6394        _MaxCount: usize,
6395        _Locale: _locale_t,
6396    ) -> ::std::os::raw::c_int;
6397}
6398unsafe extern "C" {
6399    pub fn _wcsnset_s(
6400        _Destination: *mut wchar_t,
6401        _SizeInWords: usize,
6402        _Value: wchar_t,
6403        _MaxCount: usize,
6404    ) -> errno_t;
6405}
6406unsafe extern "C" {
6407    pub fn _wcsnset(_String: *mut wchar_t, _Value: wchar_t, _MaxCount: usize) -> *mut wchar_t;
6408}
6409unsafe extern "C" {
6410    pub fn _wcsrev(_String: *mut wchar_t) -> *mut wchar_t;
6411}
6412unsafe extern "C" {
6413    pub fn _wcsset_s(_Destination: *mut wchar_t, _SizeInWords: usize, _Value: wchar_t) -> errno_t;
6414}
6415unsafe extern "C" {
6416    pub fn _wcsset(_String: *mut wchar_t, _Value: wchar_t) -> *mut wchar_t;
6417}
6418unsafe extern "C" {
6419    pub fn _wcslwr_s(_String: *mut wchar_t, _SizeInWords: usize) -> errno_t;
6420}
6421unsafe extern "C" {
6422    pub fn _wcslwr(_String: *mut wchar_t) -> *mut wchar_t;
6423}
6424unsafe extern "C" {
6425    pub fn _wcslwr_s_l(_String: *mut wchar_t, _SizeInWords: usize, _Locale: _locale_t) -> errno_t;
6426}
6427unsafe extern "C" {
6428    pub fn _wcslwr_l(_String: *mut wchar_t, _Locale: _locale_t) -> *mut wchar_t;
6429}
6430unsafe extern "C" {
6431    pub fn _wcsupr_s(_String: *mut wchar_t, _Size: usize) -> errno_t;
6432}
6433unsafe extern "C" {
6434    pub fn _wcsupr(_String: *mut wchar_t) -> *mut wchar_t;
6435}
6436unsafe extern "C" {
6437    pub fn _wcsupr_s_l(_String: *mut wchar_t, _Size: usize, _Locale: _locale_t) -> errno_t;
6438}
6439unsafe extern "C" {
6440    pub fn _wcsupr_l(_String: *mut wchar_t, _Locale: _locale_t) -> *mut wchar_t;
6441}
6442unsafe extern "C" {
6443    pub fn wcsxfrm(_Destination: *mut wchar_t, _Source: *const wchar_t, _MaxCount: usize) -> usize;
6444}
6445unsafe extern "C" {
6446    pub fn _wcsxfrm_l(
6447        _Destination: *mut wchar_t,
6448        _Source: *const wchar_t,
6449        _MaxCount: usize,
6450        _Locale: _locale_t,
6451    ) -> usize;
6452}
6453unsafe extern "C" {
6454    pub fn wcscoll(_String1: *const wchar_t, _String2: *const wchar_t) -> ::std::os::raw::c_int;
6455}
6456unsafe extern "C" {
6457    pub fn _wcscoll_l(
6458        _String1: *const wchar_t,
6459        _String2: *const wchar_t,
6460        _Locale: _locale_t,
6461    ) -> ::std::os::raw::c_int;
6462}
6463unsafe extern "C" {
6464    pub fn _wcsicoll(_String1: *const wchar_t, _String2: *const wchar_t) -> ::std::os::raw::c_int;
6465}
6466unsafe extern "C" {
6467    pub fn _wcsicoll_l(
6468        _String1: *const wchar_t,
6469        _String2: *const wchar_t,
6470        _Locale: _locale_t,
6471    ) -> ::std::os::raw::c_int;
6472}
6473unsafe extern "C" {
6474    pub fn _wcsncoll(
6475        _String1: *const wchar_t,
6476        _String2: *const wchar_t,
6477        _MaxCount: usize,
6478    ) -> ::std::os::raw::c_int;
6479}
6480unsafe extern "C" {
6481    pub fn _wcsncoll_l(
6482        _String1: *const wchar_t,
6483        _String2: *const wchar_t,
6484        _MaxCount: usize,
6485        _Locale: _locale_t,
6486    ) -> ::std::os::raw::c_int;
6487}
6488unsafe extern "C" {
6489    pub fn _wcsnicoll(
6490        _String1: *const wchar_t,
6491        _String2: *const wchar_t,
6492        _MaxCount: usize,
6493    ) -> ::std::os::raw::c_int;
6494}
6495unsafe extern "C" {
6496    pub fn _wcsnicoll_l(
6497        _String1: *const wchar_t,
6498        _String2: *const wchar_t,
6499        _MaxCount: usize,
6500        _Locale: _locale_t,
6501    ) -> ::std::os::raw::c_int;
6502}
6503unsafe extern "C" {
6504    pub fn wcsdup(_String: *const wchar_t) -> *mut wchar_t;
6505}
6506unsafe extern "C" {
6507    pub fn wcsicmp(_String1: *const wchar_t, _String2: *const wchar_t) -> ::std::os::raw::c_int;
6508}
6509unsafe extern "C" {
6510    pub fn wcsnicmp(
6511        _String1: *const wchar_t,
6512        _String2: *const wchar_t,
6513        _MaxCount: usize,
6514    ) -> ::std::os::raw::c_int;
6515}
6516unsafe extern "C" {
6517    pub fn wcsnset(_String: *mut wchar_t, _Value: wchar_t, _MaxCount: usize) -> *mut wchar_t;
6518}
6519unsafe extern "C" {
6520    pub fn wcsrev(_String: *mut wchar_t) -> *mut wchar_t;
6521}
6522unsafe extern "C" {
6523    pub fn wcsset(_String: *mut wchar_t, _Value: wchar_t) -> *mut wchar_t;
6524}
6525unsafe extern "C" {
6526    pub fn wcslwr(_String: *mut wchar_t) -> *mut wchar_t;
6527}
6528unsafe extern "C" {
6529    pub fn wcsupr(_String: *mut wchar_t) -> *mut wchar_t;
6530}
6531unsafe extern "C" {
6532    pub fn wcsicoll(_String1: *const wchar_t, _String2: *const wchar_t) -> ::std::os::raw::c_int;
6533}
6534unsafe extern "C" {
6535    pub fn strcpy_s(
6536        _Destination: *mut ::std::os::raw::c_char,
6537        _SizeInBytes: rsize_t,
6538        _Source: *const ::std::os::raw::c_char,
6539    ) -> errno_t;
6540}
6541unsafe extern "C" {
6542    pub fn strcat_s(
6543        _Destination: *mut ::std::os::raw::c_char,
6544        _SizeInBytes: rsize_t,
6545        _Source: *const ::std::os::raw::c_char,
6546    ) -> errno_t;
6547}
6548unsafe extern "C" {
6549    pub fn strerror_s(
6550        _Buffer: *mut ::std::os::raw::c_char,
6551        _SizeInBytes: usize,
6552        _ErrorNumber: ::std::os::raw::c_int,
6553    ) -> errno_t;
6554}
6555unsafe extern "C" {
6556    pub fn strncat_s(
6557        _Destination: *mut ::std::os::raw::c_char,
6558        _SizeInBytes: rsize_t,
6559        _Source: *const ::std::os::raw::c_char,
6560        _MaxCount: rsize_t,
6561    ) -> errno_t;
6562}
6563unsafe extern "C" {
6564    pub fn strncpy_s(
6565        _Destination: *mut ::std::os::raw::c_char,
6566        _SizeInBytes: rsize_t,
6567        _Source: *const ::std::os::raw::c_char,
6568        _MaxCount: rsize_t,
6569    ) -> errno_t;
6570}
6571unsafe extern "C" {
6572    pub fn strtok_s(
6573        _String: *mut ::std::os::raw::c_char,
6574        _Delimiter: *const ::std::os::raw::c_char,
6575        _Context: *mut *mut ::std::os::raw::c_char,
6576    ) -> *mut ::std::os::raw::c_char;
6577}
6578unsafe extern "C" {
6579    pub fn _memccpy(
6580        _Dst: *mut ::std::os::raw::c_void,
6581        _Src: *const ::std::os::raw::c_void,
6582        _Val: ::std::os::raw::c_int,
6583        _MaxCount: usize,
6584    ) -> *mut ::std::os::raw::c_void;
6585}
6586unsafe extern "C" {
6587    pub fn strcat(
6588        _Destination: *mut ::std::os::raw::c_char,
6589        _Source: *const ::std::os::raw::c_char,
6590    ) -> *mut ::std::os::raw::c_char;
6591}
6592unsafe extern "C" {
6593    pub fn strcmp(
6594        _Str1: *const ::std::os::raw::c_char,
6595        _Str2: *const ::std::os::raw::c_char,
6596    ) -> ::std::os::raw::c_int;
6597}
6598unsafe extern "C" {
6599    pub fn _strcmpi(
6600        _String1: *const ::std::os::raw::c_char,
6601        _String2: *const ::std::os::raw::c_char,
6602    ) -> ::std::os::raw::c_int;
6603}
6604unsafe extern "C" {
6605    pub fn strcoll(
6606        _String1: *const ::std::os::raw::c_char,
6607        _String2: *const ::std::os::raw::c_char,
6608    ) -> ::std::os::raw::c_int;
6609}
6610unsafe extern "C" {
6611    pub fn _strcoll_l(
6612        _String1: *const ::std::os::raw::c_char,
6613        _String2: *const ::std::os::raw::c_char,
6614        _Locale: _locale_t,
6615    ) -> ::std::os::raw::c_int;
6616}
6617unsafe extern "C" {
6618    pub fn strcpy(
6619        _Destination: *mut ::std::os::raw::c_char,
6620        _Source: *const ::std::os::raw::c_char,
6621    ) -> *mut ::std::os::raw::c_char;
6622}
6623unsafe extern "C" {
6624    pub fn strcspn(
6625        _Str: *const ::std::os::raw::c_char,
6626        _Control: *const ::std::os::raw::c_char,
6627    ) -> ::std::os::raw::c_ulonglong;
6628}
6629unsafe extern "C" {
6630    pub fn _strdup(_Source: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
6631}
6632unsafe extern "C" {
6633    pub fn _strerror(_ErrorMessage: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
6634}
6635unsafe extern "C" {
6636    pub fn _strerror_s(
6637        _Buffer: *mut ::std::os::raw::c_char,
6638        _SizeInBytes: usize,
6639        _ErrorMessage: *const ::std::os::raw::c_char,
6640    ) -> errno_t;
6641}
6642unsafe extern "C" {
6643    pub fn strerror(_ErrorMessage: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char;
6644}
6645unsafe extern "C" {
6646    pub fn _stricmp(
6647        _String1: *const ::std::os::raw::c_char,
6648        _String2: *const ::std::os::raw::c_char,
6649    ) -> ::std::os::raw::c_int;
6650}
6651unsafe extern "C" {
6652    pub fn _stricoll(
6653        _String1: *const ::std::os::raw::c_char,
6654        _String2: *const ::std::os::raw::c_char,
6655    ) -> ::std::os::raw::c_int;
6656}
6657unsafe extern "C" {
6658    pub fn _stricoll_l(
6659        _String1: *const ::std::os::raw::c_char,
6660        _String2: *const ::std::os::raw::c_char,
6661        _Locale: _locale_t,
6662    ) -> ::std::os::raw::c_int;
6663}
6664unsafe extern "C" {
6665    pub fn _stricmp_l(
6666        _String1: *const ::std::os::raw::c_char,
6667        _String2: *const ::std::os::raw::c_char,
6668        _Locale: _locale_t,
6669    ) -> ::std::os::raw::c_int;
6670}
6671unsafe extern "C" {
6672    pub fn strlen(_Str: *const ::std::os::raw::c_char) -> ::std::os::raw::c_ulonglong;
6673}
6674unsafe extern "C" {
6675    pub fn _strlwr_s(_String: *mut ::std::os::raw::c_char, _Size: usize) -> errno_t;
6676}
6677unsafe extern "C" {
6678    pub fn _strlwr(_String: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
6679}
6680unsafe extern "C" {
6681    pub fn _strlwr_s_l(
6682        _String: *mut ::std::os::raw::c_char,
6683        _Size: usize,
6684        _Locale: _locale_t,
6685    ) -> errno_t;
6686}
6687unsafe extern "C" {
6688    pub fn _strlwr_l(
6689        _String: *mut ::std::os::raw::c_char,
6690        _Locale: _locale_t,
6691    ) -> *mut ::std::os::raw::c_char;
6692}
6693unsafe extern "C" {
6694    pub fn strncat(
6695        _Destination: *mut ::std::os::raw::c_char,
6696        _Source: *const ::std::os::raw::c_char,
6697        _Count: ::std::os::raw::c_ulonglong,
6698    ) -> *mut ::std::os::raw::c_char;
6699}
6700unsafe extern "C" {
6701    pub fn strncmp(
6702        _Str1: *const ::std::os::raw::c_char,
6703        _Str2: *const ::std::os::raw::c_char,
6704        _MaxCount: ::std::os::raw::c_ulonglong,
6705    ) -> ::std::os::raw::c_int;
6706}
6707unsafe extern "C" {
6708    pub fn _strnicmp(
6709        _String1: *const ::std::os::raw::c_char,
6710        _String2: *const ::std::os::raw::c_char,
6711        _MaxCount: usize,
6712    ) -> ::std::os::raw::c_int;
6713}
6714unsafe extern "C" {
6715    pub fn _strnicmp_l(
6716        _String1: *const ::std::os::raw::c_char,
6717        _String2: *const ::std::os::raw::c_char,
6718        _MaxCount: usize,
6719        _Locale: _locale_t,
6720    ) -> ::std::os::raw::c_int;
6721}
6722unsafe extern "C" {
6723    pub fn _strnicoll(
6724        _String1: *const ::std::os::raw::c_char,
6725        _String2: *const ::std::os::raw::c_char,
6726        _MaxCount: usize,
6727    ) -> ::std::os::raw::c_int;
6728}
6729unsafe extern "C" {
6730    pub fn _strnicoll_l(
6731        _String1: *const ::std::os::raw::c_char,
6732        _String2: *const ::std::os::raw::c_char,
6733        _MaxCount: usize,
6734        _Locale: _locale_t,
6735    ) -> ::std::os::raw::c_int;
6736}
6737unsafe extern "C" {
6738    pub fn _strncoll(
6739        _String1: *const ::std::os::raw::c_char,
6740        _String2: *const ::std::os::raw::c_char,
6741        _MaxCount: usize,
6742    ) -> ::std::os::raw::c_int;
6743}
6744unsafe extern "C" {
6745    pub fn _strncoll_l(
6746        _String1: *const ::std::os::raw::c_char,
6747        _String2: *const ::std::os::raw::c_char,
6748        _MaxCount: usize,
6749        _Locale: _locale_t,
6750    ) -> ::std::os::raw::c_int;
6751}
6752unsafe extern "C" {
6753    pub fn __strncnt(_String: *const ::std::os::raw::c_char, _Count: usize) -> usize;
6754}
6755unsafe extern "C" {
6756    pub fn strncpy(
6757        _Destination: *mut ::std::os::raw::c_char,
6758        _Source: *const ::std::os::raw::c_char,
6759        _Count: ::std::os::raw::c_ulonglong,
6760    ) -> *mut ::std::os::raw::c_char;
6761}
6762unsafe extern "C" {
6763    pub fn strnlen(_String: *const ::std::os::raw::c_char, _MaxCount: usize) -> usize;
6764}
6765unsafe extern "C" {
6766    pub fn _strnset_s(
6767        _String: *mut ::std::os::raw::c_char,
6768        _SizeInBytes: usize,
6769        _Value: ::std::os::raw::c_int,
6770        _MaxCount: usize,
6771    ) -> errno_t;
6772}
6773unsafe extern "C" {
6774    pub fn _strnset(
6775        _Destination: *mut ::std::os::raw::c_char,
6776        _Value: ::std::os::raw::c_int,
6777        _Count: usize,
6778    ) -> *mut ::std::os::raw::c_char;
6779}
6780unsafe extern "C" {
6781    pub fn strpbrk(
6782        _Str: *const ::std::os::raw::c_char,
6783        _Control: *const ::std::os::raw::c_char,
6784    ) -> *mut ::std::os::raw::c_char;
6785}
6786unsafe extern "C" {
6787    pub fn _strrev(_Str: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
6788}
6789unsafe extern "C" {
6790    pub fn _strset_s(
6791        _Destination: *mut ::std::os::raw::c_char,
6792        _DestinationSize: usize,
6793        _Value: ::std::os::raw::c_int,
6794    ) -> errno_t;
6795}
6796unsafe extern "C" {
6797    pub fn _strset(
6798        _Destination: *mut ::std::os::raw::c_char,
6799        _Value: ::std::os::raw::c_int,
6800    ) -> *mut ::std::os::raw::c_char;
6801}
6802unsafe extern "C" {
6803    pub fn strspn(
6804        _Str: *const ::std::os::raw::c_char,
6805        _Control: *const ::std::os::raw::c_char,
6806    ) -> ::std::os::raw::c_ulonglong;
6807}
6808unsafe extern "C" {
6809    pub fn strtok(
6810        _String: *mut ::std::os::raw::c_char,
6811        _Delimiter: *const ::std::os::raw::c_char,
6812    ) -> *mut ::std::os::raw::c_char;
6813}
6814unsafe extern "C" {
6815    pub fn _strupr_s(_String: *mut ::std::os::raw::c_char, _Size: usize) -> errno_t;
6816}
6817unsafe extern "C" {
6818    pub fn _strupr(_String: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
6819}
6820unsafe extern "C" {
6821    pub fn _strupr_s_l(
6822        _String: *mut ::std::os::raw::c_char,
6823        _Size: usize,
6824        _Locale: _locale_t,
6825    ) -> errno_t;
6826}
6827unsafe extern "C" {
6828    pub fn _strupr_l(
6829        _String: *mut ::std::os::raw::c_char,
6830        _Locale: _locale_t,
6831    ) -> *mut ::std::os::raw::c_char;
6832}
6833unsafe extern "C" {
6834    pub fn strxfrm(
6835        _Destination: *mut ::std::os::raw::c_char,
6836        _Source: *const ::std::os::raw::c_char,
6837        _MaxCount: ::std::os::raw::c_ulonglong,
6838    ) -> ::std::os::raw::c_ulonglong;
6839}
6840unsafe extern "C" {
6841    pub fn _strxfrm_l(
6842        _Destination: *mut ::std::os::raw::c_char,
6843        _Source: *const ::std::os::raw::c_char,
6844        _MaxCount: usize,
6845        _Locale: _locale_t,
6846    ) -> usize;
6847}
6848unsafe extern "C" {
6849    pub fn strdup(_String: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
6850}
6851unsafe extern "C" {
6852    pub fn strcmpi(
6853        _String1: *const ::std::os::raw::c_char,
6854        _String2: *const ::std::os::raw::c_char,
6855    ) -> ::std::os::raw::c_int;
6856}
6857unsafe extern "C" {
6858    pub fn stricmp(
6859        _String1: *const ::std::os::raw::c_char,
6860        _String2: *const ::std::os::raw::c_char,
6861    ) -> ::std::os::raw::c_int;
6862}
6863unsafe extern "C" {
6864    pub fn strlwr(_String: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
6865}
6866unsafe extern "C" {
6867    pub fn strnicmp(
6868        _String1: *const ::std::os::raw::c_char,
6869        _String2: *const ::std::os::raw::c_char,
6870        _MaxCount: usize,
6871    ) -> ::std::os::raw::c_int;
6872}
6873unsafe extern "C" {
6874    pub fn strnset(
6875        _String: *mut ::std::os::raw::c_char,
6876        _Value: ::std::os::raw::c_int,
6877        _MaxCount: usize,
6878    ) -> *mut ::std::os::raw::c_char;
6879}
6880unsafe extern "C" {
6881    pub fn strrev(_String: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
6882}
6883unsafe extern "C" {
6884    pub fn strset(
6885        _String: *mut ::std::os::raw::c_char,
6886        _Value: ::std::os::raw::c_int,
6887    ) -> *mut ::std::os::raw::c_char;
6888}
6889unsafe extern "C" {
6890    pub fn strupr(_String: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
6891}
6892pub type Hobject = Hkey;
6893pub type Htuple = Hctuple;
6894unsafe extern "C" {
6895    pub fn SetHcInterfaceStringEncodingIsUtf8(is_utf8: ::std::os::raw::c_int);
6896}
6897unsafe extern "C" {
6898    pub fn IsHcInterfaceStringEncodingUtf8() -> ::std::os::raw::c_int;
6899}
6900unsafe extern "C" {
6901    pub fn CMalloc(
6902        size: usize,
6903        file: *const ::std::os::raw::c_char,
6904        line: INT4_8,
6905    ) -> *mut ::std::os::raw::c_void;
6906}
6907unsafe extern "C" {
6908    pub fn CFree(
6909        mem: *mut ::std::os::raw::c_void,
6910        file: *const ::std::os::raw::c_char,
6911        line: INT4_8,
6912    );
6913}
6914unsafe extern "C" {
6915    pub fn Mcreate_tuple(
6916        t: *mut Htuple,
6917        l: Hlong,
6918        file: *const ::std::os::raw::c_char,
6919        line: ::std::os::raw::c_int,
6920    );
6921}
6922unsafe extern "C" {
6923    pub fn Mcreate_tuple_type(
6924        t: *mut Htuple,
6925        l: Hlong,
6926        type_: ::std::os::raw::c_int,
6927        file: *const ::std::os::raw::c_char,
6928        line: ::std::os::raw::c_int,
6929    );
6930}
6931unsafe extern "C" {
6932    pub fn Mcopy_tuple(
6933        input: *const Htuple,
6934        output: *mut Htuple,
6935        file: *const ::std::os::raw::c_char,
6936        line: ::std::os::raw::c_int,
6937    );
6938}
6939unsafe extern "C" {
6940    pub fn Mattach_tuple(
6941        src: *mut Htuple,
6942        dest: *mut Htuple,
6943        file: *const ::std::os::raw::c_char,
6944        line: ::std::os::raw::c_int,
6945    );
6946}
6947unsafe extern "C" {
6948    pub fn Mresize_tuple(
6949        input: *mut Htuple,
6950        LEN: Hlong,
6951        file: *const ::std::os::raw::c_char,
6952        line: ::std::os::raw::c_int,
6953    );
6954}
6955unsafe extern "C" {
6956    pub fn Mdestroy_tuple(
6957        t: *mut Htuple,
6958        file: *const ::std::os::raw::c_char,
6959        line: ::std::os::raw::c_int,
6960    );
6961}
6962unsafe extern "C" {
6963    pub fn Mlength_tuple(
6964        t: *const Htuple,
6965        file: *const ::std::os::raw::c_char,
6966        line: ::std::os::raw::c_int,
6967    ) -> Hlong;
6968}
6969unsafe extern "C" {
6970    pub fn Mset_i(
6971        t: *mut Htuple,
6972        v: Hlong,
6973        i: Hlong,
6974        file: *const ::std::os::raw::c_char,
6975        line: ::std::os::raw::c_int,
6976    );
6977}
6978unsafe extern "C" {
6979    pub fn Mset_d(
6980        t: *mut Htuple,
6981        v: f64,
6982        i: Hlong,
6983        file: *const ::std::os::raw::c_char,
6984        line: ::std::os::raw::c_int,
6985    );
6986}
6987unsafe extern "C" {
6988    pub fn Mset_s(
6989        t: *mut Htuple,
6990        v: *const ::std::os::raw::c_char,
6991        i: Hlong,
6992        file: *const ::std::os::raw::c_char,
6993        line: ::std::os::raw::c_int,
6994    );
6995}
6996unsafe extern "C" {
6997    pub fn Mset_s_from_utf8(
6998        t: *mut Htuple,
6999        v: *const ::std::os::raw::c_char,
7000        i: Hlong,
7001        file: *const ::std::os::raw::c_char,
7002        line: ::std::os::raw::c_int,
7003    );
7004}
7005unsafe extern "C" {
7006    pub fn Mset_s_from_local8bit(
7007        t: *mut Htuple,
7008        v: *const ::std::os::raw::c_char,
7009        i: Hlong,
7010        file: *const ::std::os::raw::c_char,
7011        line: ::std::os::raw::c_int,
7012    );
7013}
7014unsafe extern "C" {
7015    pub fn Mset_s_from_wcs(
7016        t: *mut Htuple,
7017        v: *const wchar_t,
7018        i: Hlong,
7019        file: *const ::std::os::raw::c_char,
7020        line: ::std::os::raw::c_int,
7021    );
7022}
7023unsafe extern "C" {
7024    pub fn Mset_s_len(
7025        t: *mut Htuple,
7026        len: Hlong,
7027        i: Hlong,
7028        file: *const ::std::os::raw::c_char,
7029        line: ::std::os::raw::c_int,
7030    );
7031}
7032unsafe extern "C" {
7033    pub fn Mset_h(
7034        t: *mut Htuple,
7035        v: Hphandle,
7036        i: Hlong,
7037        file: *const ::std::os::raw::c_char,
7038        line: ::std::os::raw::c_int,
7039    );
7040}
7041unsafe extern "C" {
7042    pub fn Mget_i(
7043        t: *const Htuple,
7044        i: Hlong,
7045        file: *const ::std::os::raw::c_char,
7046        line: ::std::os::raw::c_int,
7047    ) -> Hlong;
7048}
7049unsafe extern "C" {
7050    pub fn Mget_d(
7051        t: *const Htuple,
7052        i: Hlong,
7053        file: *const ::std::os::raw::c_char,
7054        line: ::std::os::raw::c_int,
7055    ) -> f64;
7056}
7057unsafe extern "C" {
7058    pub fn Mget_s(
7059        t: *const Htuple,
7060        i: Hlong,
7061        file: *const ::std::os::raw::c_char,
7062        line: ::std::os::raw::c_int,
7063    ) -> *const ::std::os::raw::c_char;
7064}
7065unsafe extern "C" {
7066    pub fn Mget_s_to_utf8(
7067        dest: *mut ::std::os::raw::c_char,
7068        dest_size: Hlong,
7069        t: *const Htuple,
7070        i: Hlong,
7071        file: *const ::std::os::raw::c_char,
7072        line: ::std::os::raw::c_int,
7073    ) -> Hlong;
7074}
7075unsafe extern "C" {
7076    pub fn Mget_s_to_local8bit(
7077        dest: *mut ::std::os::raw::c_char,
7078        dest_size: Hlong,
7079        t: *const Htuple,
7080        i: Hlong,
7081        file: *const ::std::os::raw::c_char,
7082        line: ::std::os::raw::c_int,
7083    ) -> Hlong;
7084}
7085unsafe extern "C" {
7086    pub fn Mget_s_to_wcs(
7087        dest: *mut wchar_t,
7088        dest_size: Hlong,
7089        t: *const Htuple,
7090        i: Hlong,
7091        file: *const ::std::os::raw::c_char,
7092        line: ::std::os::raw::c_int,
7093    ) -> Hlong;
7094}
7095unsafe extern "C" {
7096    pub fn Mget_h(
7097        t: *const Htuple,
7098        i: Hlong,
7099        file: *const ::std::os::raw::c_char,
7100        line: ::std::os::raw::c_int,
7101    ) -> Hphandle;
7102}
7103unsafe extern "C" {
7104    pub fn Mget_type(
7105        t: *const Htuple,
7106        i: Hlong,
7107        file: *const ::std::os::raw::c_char,
7108        line: ::std::os::raw::c_int,
7109    ) -> ::std::os::raw::c_int;
7110}
7111unsafe extern "C" {
7112    pub fn Mcreate_tuple_i(
7113        t: *mut Htuple,
7114        value: Hlong,
7115        file: *const ::std::os::raw::c_char,
7116        line: ::std::os::raw::c_int,
7117    );
7118}
7119unsafe extern "C" {
7120    pub fn Mcreate_tuple_d(
7121        t: *mut Htuple,
7122        value: f64,
7123        file: *const ::std::os::raw::c_char,
7124        line: ::std::os::raw::c_int,
7125    );
7126}
7127unsafe extern "C" {
7128    pub fn Mcreate_tuple_s(
7129        t: *mut Htuple,
7130        value: *const ::std::os::raw::c_char,
7131        file: *const ::std::os::raw::c_char,
7132        line: ::std::os::raw::c_int,
7133    );
7134}
7135unsafe extern "C" {
7136    pub fn Mcreate_tuple_s_from_utf8(
7137        t: *mut Htuple,
7138        value: *const ::std::os::raw::c_char,
7139        file: *const ::std::os::raw::c_char,
7140        line: ::std::os::raw::c_int,
7141    );
7142}
7143unsafe extern "C" {
7144    pub fn Mcreate_tuple_s_from_local8bit(
7145        t: *mut Htuple,
7146        value: *const ::std::os::raw::c_char,
7147        file: *const ::std::os::raw::c_char,
7148        line: ::std::os::raw::c_int,
7149    );
7150}
7151unsafe extern "C" {
7152    pub fn Mcreate_tuple_s_from_wcs(
7153        t: *mut Htuple,
7154        value: *const wchar_t,
7155        file: *const ::std::os::raw::c_char,
7156        line: ::std::os::raw::c_int,
7157    );
7158}
7159unsafe extern "C" {
7160    pub fn Mcreate_tuple_h(
7161        t: *mut Htuple,
7162        value: Hphandle,
7163        file: *const ::std::os::raw::c_char,
7164        line: ::std::os::raw::c_int,
7165    );
7166}
7167unsafe extern "C" {
7168    pub fn Mreuse_tuple_i(
7169        t: *mut Htuple,
7170        value: Hlong,
7171        file: *const ::std::os::raw::c_char,
7172        line: ::std::os::raw::c_int,
7173    );
7174}
7175unsafe extern "C" {
7176    pub fn Mreuse_tuple_d(
7177        t: *mut Htuple,
7178        value: f64,
7179        file: *const ::std::os::raw::c_char,
7180        line: ::std::os::raw::c_int,
7181    );
7182}
7183unsafe extern "C" {
7184    pub fn Mreuse_tuple_s(
7185        t: *mut Htuple,
7186        value: *const ::std::os::raw::c_char,
7187        file: *const ::std::os::raw::c_char,
7188        line: ::std::os::raw::c_int,
7189    );
7190}
7191unsafe extern "C" {
7192    pub fn Mreuse_tuple_s_from_utf8(
7193        t: *mut Htuple,
7194        value: *const ::std::os::raw::c_char,
7195        file: *const ::std::os::raw::c_char,
7196        line: ::std::os::raw::c_int,
7197    );
7198}
7199unsafe extern "C" {
7200    pub fn Mreuse_tuple_s_from_local8bit(
7201        t: *mut Htuple,
7202        value: *const ::std::os::raw::c_char,
7203        file: *const ::std::os::raw::c_char,
7204        line: ::std::os::raw::c_int,
7205    );
7206}
7207unsafe extern "C" {
7208    pub fn Mreuse_tuple_s_from_wcs(
7209        t: *mut Htuple,
7210        value: *const wchar_t,
7211        file: *const ::std::os::raw::c_char,
7212        line: ::std::os::raw::c_int,
7213    );
7214}
7215unsafe extern "C" {
7216    pub fn Mreuse_tuple_h(
7217        t: *mut Htuple,
7218        value: Hphandle,
7219        file: *const ::std::os::raw::c_char,
7220        line: ::std::os::raw::c_int,
7221    );
7222}
7223unsafe extern "C" {
7224    pub fn F_create_tuple_type(htuple: *mut Htuple, len: Hlong, type_: ::std::os::raw::c_int);
7225}
7226unsafe extern "C" {
7227    pub fn F_create_tuple(htuple: *mut Htuple, l: Hlong);
7228}
7229unsafe extern "C" {
7230    pub fn F_copy_tuple(in_: *const Htuple, out: *mut Htuple);
7231}
7232unsafe extern "C" {
7233    pub fn F_attach_tuple(src: *mut Htuple, dest: *mut Htuple);
7234}
7235unsafe extern "C" {
7236    pub fn F_resize_tuple(htuple: *mut Htuple, LEN: Hlong);
7237}
7238unsafe extern "C" {
7239    pub fn F_destroy_tuple(htuple: *mut Htuple);
7240}
7241unsafe extern "C" {
7242    pub fn F_set_i(t: *mut Htuple, value: Hlong, idx: Hlong);
7243}
7244unsafe extern "C" {
7245    pub fn F_set_d(t: *mut Htuple, value: f64, idx: Hlong);
7246}
7247unsafe extern "C" {
7248    pub fn F_set_s(t: *mut Htuple, val: *const ::std::os::raw::c_char, idx: Hlong);
7249}
7250unsafe extern "C" {
7251    pub fn F_set_s_from_utf8(t: *mut Htuple, val: *const ::std::os::raw::c_char, idx: Hlong);
7252}
7253unsafe extern "C" {
7254    pub fn F_set_s_from_local8bit(t: *mut Htuple, val: *const ::std::os::raw::c_char, idx: Hlong);
7255}
7256unsafe extern "C" {
7257    pub fn F_set_s_from_wcs(t: *mut Htuple, val: *const wchar_t, idx: Hlong);
7258}
7259unsafe extern "C" {
7260    pub fn F_set_h(t: *mut Htuple, val: Hphandle, idx: Hlong);
7261}
7262unsafe extern "C" {
7263    pub fn F_init_i(t: *mut Htuple, value: Hlong, idx: Hlong);
7264}
7265unsafe extern "C" {
7266    pub fn F_init_d(t: *mut Htuple, value: f64, idx: Hlong);
7267}
7268unsafe extern "C" {
7269    pub fn F_init_s(t: *mut Htuple, value: *const ::std::os::raw::c_char, idx: Hlong);
7270}
7271unsafe extern "C" {
7272    pub fn F_init_s_from_utf8(t: *mut Htuple, value: *const ::std::os::raw::c_char, idx: Hlong);
7273}
7274unsafe extern "C" {
7275    pub fn F_init_s_from_local8bit(
7276        t: *mut Htuple,
7277        value: *const ::std::os::raw::c_char,
7278        idx: Hlong,
7279    );
7280}
7281unsafe extern "C" {
7282    pub fn F_init_s_from_wcs(t: *mut Htuple, value: *const wchar_t, idx: Hlong);
7283}
7284unsafe extern "C" {
7285    pub fn F_init_s_len(t: *mut Htuple, len: Hlong, idx: Hlong);
7286}
7287unsafe extern "C" {
7288    pub fn F_init_h(t: *mut Htuple, value: Hphandle, idx: Hlong);
7289}
7290unsafe extern "C" {
7291    pub fn F_get_i(t: *const Htuple, idx: Hlong) -> Hlong;
7292}
7293unsafe extern "C" {
7294    pub fn F_get_d(t: *const Htuple, idx: Hlong) -> f64;
7295}
7296unsafe extern "C" {
7297    pub fn F_get_s(t: *const Htuple, idx: Hlong) -> *const ::std::os::raw::c_char;
7298}
7299unsafe extern "C" {
7300    pub fn F_get_s_to_utf8(
7301        dest: *mut ::std::os::raw::c_char,
7302        dest_size: Hlong,
7303        t: *const Htuple,
7304        i: Hlong,
7305    ) -> Hlong;
7306}
7307unsafe extern "C" {
7308    pub fn F_get_s_to_local8bit(
7309        dest: *mut ::std::os::raw::c_char,
7310        dest_size: Hlong,
7311        t: *const Htuple,
7312        i: Hlong,
7313    ) -> Hlong;
7314}
7315unsafe extern "C" {
7316    pub fn F_get_s_to_wcs(
7317        dest: *mut wchar_t,
7318        dest_size: Hlong,
7319        t: *const Htuple,
7320        i: Hlong,
7321    ) -> Hlong;
7322}
7323unsafe extern "C" {
7324    pub fn F_get_h(t: *const Htuple, idx: Hlong) -> Hphandle;
7325}
7326unsafe extern "C" {
7327    pub fn F_create_tuple_i(t: *mut Htuple, val: Hlong);
7328}
7329unsafe extern "C" {
7330    pub fn F_create_tuple_d(t: *mut Htuple, val: f64);
7331}
7332unsafe extern "C" {
7333    pub fn F_create_tuple_s(t: *mut Htuple, val: *const ::std::os::raw::c_char);
7334}
7335unsafe extern "C" {
7336    pub fn F_create_tuple_s_from_utf8(t: *mut Htuple, val: *const ::std::os::raw::c_char);
7337}
7338unsafe extern "C" {
7339    pub fn F_create_tuple_s_from_local8bit(t: *mut Htuple, val: *const ::std::os::raw::c_char);
7340}
7341unsafe extern "C" {
7342    pub fn F_create_tuple_s_from_wcs(t: *mut Htuple, val: *const wchar_t);
7343}
7344unsafe extern "C" {
7345    pub fn F_create_tuple_h(t: *mut Htuple, val: Hphandle);
7346}
7347unsafe extern "C" {
7348    pub fn F_reuse_tuple_i(t: *mut Htuple, val: Hlong);
7349}
7350unsafe extern "C" {
7351    pub fn F_reuse_tuple_d(t: *mut Htuple, val: f64);
7352}
7353unsafe extern "C" {
7354    pub fn F_reuse_tuple_s(t: *mut Htuple, val: *const ::std::os::raw::c_char);
7355}
7356unsafe extern "C" {
7357    pub fn F_reuse_tuple_s_from_utf8(t: *mut Htuple, val: *const ::std::os::raw::c_char);
7358}
7359unsafe extern "C" {
7360    pub fn F_reuse_tuple_s_from_local8bit(t: *mut Htuple, val: *const ::std::os::raw::c_char);
7361}
7362unsafe extern "C" {
7363    pub fn F_reuse_tuple_s_from_wcs(t: *mut Htuple, val: *const wchar_t);
7364}
7365unsafe extern "C" {
7366    pub fn F_reuse_tuple_h(t: *mut Htuple, val: Hphandle);
7367}
7368unsafe extern "C" {
7369    pub fn get_operator_id(name: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
7370}
7371unsafe extern "C" {
7372    pub fn T_call_halcon_by_id(
7373        id: ::std::os::raw::c_int,
7374        in_objs: *const Hobject,
7375        out_objs: *mut Hobject,
7376        in_ctrls: *const Htuple,
7377        out_ctrls: *mut Htuple,
7378    ) -> Herror;
7379}
7380unsafe extern "C" {
7381    pub fn set_in_tpar(t: *mut Htuple, i: ::std::os::raw::c_int);
7382}
7383unsafe extern "C" {
7384    pub fn set_out_tpar(t: *mut Htuple, i: ::std::os::raw::c_int);
7385}
7386unsafe extern "C" {
7387    pub fn set_in_opar(o: Hobject, i: ::std::os::raw::c_int);
7388}
7389unsafe extern "C" {
7390    pub fn set_out_opar(o: *mut Hobject, i: ::std::os::raw::c_int);
7391}
7392unsafe extern "C" {
7393    pub fn T_call_halcon(n: *const ::std::os::raw::c_char) -> Herror;
7394}
7395unsafe extern "C" {
7396    pub fn num_tuple() -> Hlong;
7397}
7398unsafe extern "C" {
7399    pub fn hdev_window_stack_push(win_handle: Htuple);
7400}
7401unsafe extern "C" {
7402    pub fn hdev_window_stack_pop(win_handle: *mut Htuple);
7403}
7404unsafe extern "C" {
7405    pub fn hdev_window_stack_get_active(win_handle: *mut Htuple);
7406}
7407unsafe extern "C" {
7408    pub fn hdev_window_stack_set_active(win_handle: Htuple);
7409}
7410unsafe extern "C" {
7411    pub fn hdev_window_stack_is_open() -> ::std::os::raw::c_int;
7412}
7413unsafe extern "C" {
7414    pub fn hdev_window_stack_close_all();
7415}
7416unsafe extern "C" {
7417    pub fn T_test_equal_dict_item(
7418        dicts: Htuple,
7419        key1: Htuple,
7420        key2: Htuple,
7421        result: *mut Htuple,
7422    ) -> Herror;
7423}
7424unsafe extern "C" {
7425    pub fn window_stack_push(win_handle: Hlong);
7426}
7427unsafe extern "C" {
7428    pub fn window_stack_pop() -> Hlong;
7429}
7430unsafe extern "C" {
7431    pub fn window_stack_get_active() -> Hlong;
7432}
7433unsafe extern "C" {
7434    pub fn window_stack_set_active(win_handle: Hlong);
7435}
7436unsafe extern "C" {
7437    pub fn window_stack_is_open() -> ::std::os::raw::c_int;
7438}
7439unsafe extern "C" {
7440    pub fn window_stack_close_all();
7441}
7442unsafe extern "C" {
7443    pub fn replace_elements(
7444        htuple: *mut Htuple,
7445        index: *mut Htuple,
7446        replace_val: *const Htuple,
7447    ) -> Herror;
7448}
7449unsafe extern "C" {
7450    pub fn HcErrorHandling(ph: Hproc_handle, err: Herror) -> Herror;
7451}
7452unsafe extern "C" {
7453    pub fn HcException(op_id: ::std::os::raw::c_int, err: Herror) -> Herror;
7454}
7455unsafe extern "C" {
7456    pub fn HcPreCall(proc_index: ::std::os::raw::c_int, ph: *mut Hproc_handle) -> Herror;
7457}
7458unsafe extern "C" {
7459    pub fn HcCall(ph: Hproc_handle) -> Herror;
7460}
7461unsafe extern "C" {
7462    pub fn HcPostCall(ph: Hproc_handle, err: Herror) -> Herror;
7463}
7464unsafe extern "C" {
7465    pub fn HcStoreIO(ph: Hproc_handle, par: ::std::os::raw::c_int, inObjVar: Hobject) -> Herror;
7466}
7467unsafe extern "C" {
7468    pub fn HcStoreICL(ph: Hproc_handle, par: ::std::os::raw::c_int, value: Hlong) -> Herror;
7469}
7470unsafe extern "C" {
7471    pub fn HcStoreICD(ph: Hproc_handle, par: ::std::os::raw::c_int, value: f64) -> Herror;
7472}
7473unsafe extern "C" {
7474    pub fn HcStoreICS(
7475        ph: Hproc_handle,
7476        par: ::std::os::raw::c_int,
7477        value: *const ::std::os::raw::c_char,
7478    ) -> Herror;
7479}
7480unsafe extern "C" {
7481    pub fn HcStoreICSEnc(
7482        ph: Hproc_handle,
7483        par: ::std::os::raw::c_int,
7484        value: *const ::std::os::raw::c_char,
7485    ) -> Herror;
7486}
7487unsafe extern "C" {
7488    pub fn HcStoreICT(ph: Hproc_handle, par: ::std::os::raw::c_int, value: *const Htuple)
7489    -> Herror;
7490}
7491unsafe extern "C" {
7492    pub fn HcStoreICTEnc(
7493        ph: Hproc_handle,
7494        par: ::std::os::raw::c_int,
7495        value: *const Htuple,
7496    ) -> Herror;
7497}
7498unsafe extern "C" {
7499    pub fn HcInitOC(ph: Hproc_handle, par: ::std::os::raw::c_int);
7500}
7501unsafe extern "C" {
7502    pub fn HcInitOCD(ph: Hproc_handle, par: ::std::os::raw::c_int);
7503}
7504unsafe extern "C" {
7505    pub fn HcInitOCL(ph: Hproc_handle, par: ::std::os::raw::c_int);
7506}
7507unsafe extern "C" {
7508    pub fn HcInitOCS(ph: Hproc_handle, par: ::std::os::raw::c_int);
7509}
7510unsafe extern "C" {
7511    pub fn HcInitOCT(ph: Hproc_handle, par: ::std::os::raw::c_int, ctuple: *mut Hctuple);
7512}
7513unsafe extern "C" {
7514    pub fn HcStoreOO(
7515        ph: Hproc_handle,
7516        par: ::std::os::raw::c_int,
7517        outObjVar: *mut Hobject,
7518        err: Herror,
7519    ) -> Herror;
7520}
7521unsafe extern "C" {
7522    pub fn HcStoreOCL(
7523        ph: Hproc_handle,
7524        par: ::std::os::raw::c_int,
7525        outCtrlVar: *mut Hlong,
7526        err: Herror,
7527    ) -> Herror;
7528}
7529unsafe extern "C" {
7530    pub fn HcStoreOCD(
7531        ph: Hproc_handle,
7532        par: ::std::os::raw::c_int,
7533        outCtrlVar: *mut f64,
7534        err: Herror,
7535    ) -> Herror;
7536}
7537unsafe extern "C" {
7538    pub fn HcStoreOCS(
7539        ph: Hproc_handle,
7540        par: ::std::os::raw::c_int,
7541        outCtrlVar: *mut ::std::os::raw::c_char,
7542        err: Herror,
7543    ) -> Herror;
7544}
7545unsafe extern "C" {
7546    pub fn HcStoreOCSEnc(
7547        ph: Hproc_handle,
7548        par: ::std::os::raw::c_int,
7549        outCtrlVar: *mut ::std::os::raw::c_char,
7550        err: Herror,
7551    ) -> Herror;
7552}
7553unsafe extern "C" {
7554    pub fn HcStoreOCT(
7555        ph: Hproc_handle,
7556        par: ::std::os::raw::c_int,
7557        outCtrlVar: *mut Htuple,
7558        err: Herror,
7559    ) -> Herror;
7560}
7561unsafe extern "C" {
7562    pub fn HcStoreOCTEnc(
7563        ph: Hproc_handle,
7564        par: ::std::os::raw::c_int,
7565        outCtrlVar: *mut Htuple,
7566        err: Herror,
7567    ) -> Herror;
7568}
7569pub type Hvector = Hlong;
7570pub const Hvectype_eVector: Hvectype = 99352576;
7571pub const Hvectype_eTupleVector: Hvectype = 99352577;
7572pub const Hvectype_eTupleLeaf: Hvectype = 99352578;
7573pub const Hvectype_eObjectVector: Hvectype = 99352579;
7574pub const Hvectype_eObjectLeaf: Hvectype = 99352580;
7575pub type Hvectype = ::std::os::raw::c_int;
7576unsafe extern "C" {
7577    #[doc = " Hvector functionality"]
7578    pub fn V_create_obj_vector(dim: Hlong, vec: *mut Hvector) -> Herror;
7579}
7580unsafe extern "C" {
7581    pub fn V_create_tuple_vector(dim: Hlong, vec: *mut Hvector) -> Herror;
7582}
7583unsafe extern "C" {
7584    pub fn V_destroy_vector(vec: Hvector) -> Herror;
7585}
7586unsafe extern "C" {
7587    pub fn V_copy_vector(src: Hvector, dest: *mut Hvector) -> Herror;
7588}
7589unsafe extern "C" {
7590    pub fn V_set_vector_elem(vec: Hvector, vec_idx: Htuple, subvec: Hvector) -> Herror;
7591}
7592unsafe extern "C" {
7593    pub fn V_set_vector_obj(obj: Hobject, vec: Hvector, vec_idx: Htuple) -> Herror;
7594}
7595unsafe extern "C" {
7596    pub fn V_set_vector_tuple(vec: Hvector, vec_idx: Htuple, tpl: Htuple) -> Herror;
7597}
7598unsafe extern "C" {
7599    pub fn V_set_vector_tuple_elem(
7600        vec: Hvector,
7601        vec_idx: Htuple,
7602        tpl_idx: Htuple,
7603        val: Htuple,
7604    ) -> Herror;
7605}
7606unsafe extern "C" {
7607    pub fn V_get_vector_elem(vec: Hvector, index: Htuple, subvec: *mut Hvector) -> Herror;
7608}
7609unsafe extern "C" {
7610    pub fn V_get_vector_obj(obj: *mut Hobject, vec: Hvector, index: Htuple) -> Herror;
7611}
7612unsafe extern "C" {
7613    pub fn V_get_vector_tuple(vec: Hvector, index: Htuple, tpl: *mut Htuple) -> Herror;
7614}
7615unsafe extern "C" {
7616    pub fn V_concat_vector(vec1: Hvector, vec2: Hvector, vec_concat: *mut Hvector) -> Herror;
7617}
7618unsafe extern "C" {
7619    pub fn V_insert_vector_elem(
7620        vec: Hvector,
7621        vec_idx: Htuple,
7622        ins_idx: Htuple,
7623        ins: Hvector,
7624    ) -> Herror;
7625}
7626unsafe extern "C" {
7627    pub fn V_remove_vector_elem(vec: Hvector, vec_idx: Htuple, rmv_idx: Htuple) -> Herror;
7628}
7629unsafe extern "C" {
7630    pub fn V_clear_vector(vec: Hvector, index: Htuple) -> Herror;
7631}
7632unsafe extern "C" {
7633    pub fn V_insert_vector_obj(
7634        obj: Hobject,
7635        vec: Hvector,
7636        vec_idx: Htuple,
7637        ins_idx: Htuple,
7638    ) -> Herror;
7639}
7640unsafe extern "C" {
7641    pub fn V_insert_vector_tuple(
7642        vec: Hvector,
7643        vec_idx: Htuple,
7644        ins_idx: Htuple,
7645        tpl: Htuple,
7646    ) -> Herror;
7647}
7648unsafe extern "C" {
7649    pub fn V_convert_vector_to_tuple(vec: Hvector, tpl: *mut Htuple) -> Herror;
7650}
7651unsafe extern "C" {
7652    pub fn V_convert_tuple_to_vector_1d(tpl: Htuple, lengths: Htuple, vec: *mut Hvector) -> Herror;
7653}
7654unsafe extern "C" {
7655    pub fn V_vector_equal(vec1: Hvector, vec2: Hvector, equal: *mut bool) -> Herror;
7656}
7657unsafe extern "C" {
7658    pub fn V_vector_dim(vec: Hvector, dim: *mut Hlong) -> Herror;
7659}
7660unsafe extern "C" {
7661    pub fn V_vector_type(vec: Hvector, type_: *mut Hvectype) -> Herror;
7662}
7663unsafe extern "C" {
7664    pub fn V_vector_length(vec: Hvector, length: *mut Hlong) -> Herror;
7665}
7666unsafe extern "C" {
7667    pub fn V_sub_vector_length(vec: Hvector, vec_idx: Htuple, length: *mut Hlong) -> Herror;
7668}
7669unsafe extern "C" {
7670    pub fn Hsnprintf_Hvector(
7671        str_: *mut ::std::os::raw::c_char,
7672        size: Hlong,
7673        vec: Hvector,
7674    ) -> ::std::os::raw::c_int;
7675}
7676unsafe extern "C" {
7677    pub fn Hsnprintf_Htuple(
7678        str_: *mut ::std::os::raw::c_char,
7679        size: Hlong,
7680        tpl: Htuple,
7681    ) -> ::std::os::raw::c_int;
7682}
7683unsafe extern "C" {
7684    pub fn Hsnprintf_Hobject(
7685        str_: *mut ::std::os::raw::c_char,
7686        size: Hlong,
7687        obj: Hobject,
7688    ) -> ::std::os::raw::c_int;
7689}
7690unsafe extern "C" {
7691    pub fn T_union_cotangential_contours_xld(
7692        Contours: Hobject,
7693        UnionContours: *mut Hobject,
7694        FitClippingLength: Htuple,
7695        FitLength: Htuple,
7696        MaxTangAngle: Htuple,
7697        MaxDist: Htuple,
7698        MaxDistPerp: Htuple,
7699        MaxOverlap: Htuple,
7700        Mode: Htuple,
7701    ) -> Herror;
7702}
7703unsafe extern "C" {
7704    pub fn union_cotangential_contours_xld(
7705        Contours: Hobject,
7706        UnionContours: *mut Hobject,
7707        FitClippingLength: f64,
7708        FitLength: f64,
7709        MaxTangAngle: f64,
7710        MaxDist: f64,
7711        MaxDistPerp: f64,
7712        MaxOverlap: f64,
7713        Mode: *const ::std::os::raw::c_char,
7714    ) -> Herror;
7715}
7716unsafe extern "C" {
7717    pub fn T_polar_trans_contour_xld_inv(
7718        PolarContour: Hobject,
7719        XYTransContour: *mut Hobject,
7720        Row: Htuple,
7721        Column: Htuple,
7722        AngleStart: Htuple,
7723        AngleEnd: Htuple,
7724        RadiusStart: Htuple,
7725        RadiusEnd: Htuple,
7726        WidthIn: Htuple,
7727        HeightIn: Htuple,
7728        Width: Htuple,
7729        Height: Htuple,
7730    ) -> Herror;
7731}
7732unsafe extern "C" {
7733    pub fn polar_trans_contour_xld_inv(
7734        PolarContour: Hobject,
7735        XYTransContour: *mut Hobject,
7736        Row: f64,
7737        Column: f64,
7738        AngleStart: f64,
7739        AngleEnd: f64,
7740        RadiusStart: f64,
7741        RadiusEnd: f64,
7742        WidthIn: Hlong,
7743        HeightIn: Hlong,
7744        Width: Hlong,
7745        Height: Hlong,
7746    ) -> Herror;
7747}
7748unsafe extern "C" {
7749    pub fn T_polar_trans_contour_xld(
7750        Contour: Hobject,
7751        PolarTransContour: *mut Hobject,
7752        Row: Htuple,
7753        Column: Htuple,
7754        AngleStart: Htuple,
7755        AngleEnd: Htuple,
7756        RadiusStart: Htuple,
7757        RadiusEnd: Htuple,
7758        Width: Htuple,
7759        Height: Htuple,
7760    ) -> Herror;
7761}
7762unsafe extern "C" {
7763    pub fn polar_trans_contour_xld(
7764        Contour: Hobject,
7765        PolarTransContour: *mut Hobject,
7766        Row: f64,
7767        Column: f64,
7768        AngleStart: f64,
7769        AngleEnd: f64,
7770        RadiusStart: f64,
7771        RadiusEnd: f64,
7772        Width: Hlong,
7773        Height: Hlong,
7774    ) -> Herror;
7775}
7776unsafe extern "C" {
7777    pub fn T_gen_nurbs_interp(
7778        Rows: Htuple,
7779        Cols: Htuple,
7780        Tangents: Htuple,
7781        Degree: Htuple,
7782        CtrlRows: *mut Htuple,
7783        CtrlCols: *mut Htuple,
7784        Knots: *mut Htuple,
7785    ) -> Herror;
7786}
7787unsafe extern "C" {
7788    pub fn T_gen_contour_nurbs_xld(
7789        Contour: *mut Hobject,
7790        Rows: Htuple,
7791        Cols: Htuple,
7792        Knots: Htuple,
7793        Weights: Htuple,
7794        Degree: Htuple,
7795        MaxError: Htuple,
7796        MaxDistance: Htuple,
7797    ) -> Herror;
7798}
7799unsafe extern "C" {
7800    pub fn T_union2_closed_polygons_xld(
7801        Polygons1: Hobject,
7802        Polygons2: Hobject,
7803        PolygonsUnion: *mut Hobject,
7804    ) -> Herror;
7805}
7806unsafe extern "C" {
7807    pub fn union2_closed_polygons_xld(
7808        Polygons1: Hobject,
7809        Polygons2: Hobject,
7810        PolygonsUnion: *mut Hobject,
7811    ) -> Herror;
7812}
7813unsafe extern "C" {
7814    pub fn T_union2_closed_contours_xld(
7815        Contours1: Hobject,
7816        Contours2: Hobject,
7817        ContoursUnion: *mut Hobject,
7818    ) -> Herror;
7819}
7820unsafe extern "C" {
7821    pub fn union2_closed_contours_xld(
7822        Contours1: Hobject,
7823        Contours2: Hobject,
7824        ContoursUnion: *mut Hobject,
7825    ) -> Herror;
7826}
7827unsafe extern "C" {
7828    pub fn T_symm_difference_closed_polygons_xld(
7829        Polygons1: Hobject,
7830        Polygons2: Hobject,
7831        PolygonsDifference: *mut Hobject,
7832    ) -> Herror;
7833}
7834unsafe extern "C" {
7835    pub fn symm_difference_closed_polygons_xld(
7836        Polygons1: Hobject,
7837        Polygons2: Hobject,
7838        PolygonsDifference: *mut Hobject,
7839    ) -> Herror;
7840}
7841unsafe extern "C" {
7842    pub fn T_symm_difference_closed_contours_xld(
7843        Contours1: Hobject,
7844        Contours2: Hobject,
7845        ContoursDifference: *mut Hobject,
7846    ) -> Herror;
7847}
7848unsafe extern "C" {
7849    pub fn symm_difference_closed_contours_xld(
7850        Contours1: Hobject,
7851        Contours2: Hobject,
7852        ContoursDifference: *mut Hobject,
7853    ) -> Herror;
7854}
7855unsafe extern "C" {
7856    pub fn T_difference_closed_polygons_xld(
7857        Polygons: Hobject,
7858        Sub: Hobject,
7859        PolygonsDifference: *mut Hobject,
7860    ) -> Herror;
7861}
7862unsafe extern "C" {
7863    pub fn difference_closed_polygons_xld(
7864        Polygons: Hobject,
7865        Sub: Hobject,
7866        PolygonsDifference: *mut Hobject,
7867    ) -> Herror;
7868}
7869unsafe extern "C" {
7870    pub fn T_difference_closed_contours_xld(
7871        Contours: Hobject,
7872        Sub: Hobject,
7873        ContoursDifference: *mut Hobject,
7874    ) -> Herror;
7875}
7876unsafe extern "C" {
7877    pub fn difference_closed_contours_xld(
7878        Contours: Hobject,
7879        Sub: Hobject,
7880        ContoursDifference: *mut Hobject,
7881    ) -> Herror;
7882}
7883unsafe extern "C" {
7884    pub fn T_intersection_closed_polygons_xld(
7885        Polygons1: Hobject,
7886        Polygons2: Hobject,
7887        PolygonsIntersection: *mut Hobject,
7888    ) -> Herror;
7889}
7890unsafe extern "C" {
7891    pub fn intersection_closed_polygons_xld(
7892        Polygons1: Hobject,
7893        Polygons2: Hobject,
7894        PolygonsIntersection: *mut Hobject,
7895    ) -> Herror;
7896}
7897unsafe extern "C" {
7898    pub fn T_intersection_closed_contours_xld(
7899        Contours1: Hobject,
7900        Contours2: Hobject,
7901        ContoursIntersection: *mut Hobject,
7902    ) -> Herror;
7903}
7904unsafe extern "C" {
7905    pub fn intersection_closed_contours_xld(
7906        Contours1: Hobject,
7907        Contours2: Hobject,
7908        ContoursIntersection: *mut Hobject,
7909    ) -> Herror;
7910}
7911unsafe extern "C" {
7912    pub fn T_union_cocircular_contours_xld(
7913        Contours: Hobject,
7914        UnionContours: *mut Hobject,
7915        MaxArcAngleDiff: Htuple,
7916        MaxArcOverlap: Htuple,
7917        MaxTangentAngle: Htuple,
7918        MaxDist: Htuple,
7919        MaxRadiusDiff: Htuple,
7920        MaxCenterDist: Htuple,
7921        MergeSmallContours: Htuple,
7922        Iterations: Htuple,
7923    ) -> Herror;
7924}
7925unsafe extern "C" {
7926    pub fn union_cocircular_contours_xld(
7927        Contours: Hobject,
7928        UnionContours: *mut Hobject,
7929        MaxArcAngleDiff: f64,
7930        MaxArcOverlap: f64,
7931        MaxTangentAngle: f64,
7932        MaxDist: f64,
7933        MaxRadiusDiff: f64,
7934        MaxCenterDist: f64,
7935        MergeSmallContours: *const ::std::os::raw::c_char,
7936        Iterations: Hlong,
7937    ) -> Herror;
7938}
7939unsafe extern "C" {
7940    pub fn T_crop_contours_xld(
7941        Contours: Hobject,
7942        CroppedContours: *mut Hobject,
7943        Row1: Htuple,
7944        Col1: Htuple,
7945        Row2: Htuple,
7946        Col2: Htuple,
7947        CloseContours: Htuple,
7948    ) -> Herror;
7949}
7950unsafe extern "C" {
7951    pub fn crop_contours_xld(
7952        Contours: Hobject,
7953        CroppedContours: *mut Hobject,
7954        Row1: f64,
7955        Col1: f64,
7956        Row2: f64,
7957        Col2: f64,
7958        CloseContours: *const ::std::os::raw::c_char,
7959    ) -> Herror;
7960}
7961unsafe extern "C" {
7962    pub fn T_gen_cross_contour_xld(
7963        Cross: *mut Hobject,
7964        Row: Htuple,
7965        Col: Htuple,
7966        Size: Htuple,
7967        Angle: Htuple,
7968    ) -> Herror;
7969}
7970unsafe extern "C" {
7971    pub fn gen_cross_contour_xld(
7972        Cross: *mut Hobject,
7973        Row: f64,
7974        Col: f64,
7975        Size: f64,
7976        Angle: f64,
7977    ) -> Herror;
7978}
7979unsafe extern "C" {
7980    pub fn T_sort_contours_xld(
7981        Contours: Hobject,
7982        SortedContours: *mut Hobject,
7983        SortMode: Htuple,
7984        Order: Htuple,
7985        RowOrCol: Htuple,
7986    ) -> Herror;
7987}
7988unsafe extern "C" {
7989    pub fn sort_contours_xld(
7990        Contours: Hobject,
7991        SortedContours: *mut Hobject,
7992        SortMode: *const ::std::os::raw::c_char,
7993        Order: *const ::std::os::raw::c_char,
7994        RowOrCol: *const ::std::os::raw::c_char,
7995    ) -> Herror;
7996}
7997unsafe extern "C" {
7998    pub fn T_merge_cont_line_scan_xld(
7999        CurrConts: Hobject,
8000        PrevConts: Hobject,
8001        CurrMergedConts: *mut Hobject,
8002        PrevMergedConts: *mut Hobject,
8003        ImageHeight: Htuple,
8004        Margin: Htuple,
8005        MergeBorder: Htuple,
8006        MaxImagesCont: Htuple,
8007    ) -> Herror;
8008}
8009unsafe extern "C" {
8010    pub fn merge_cont_line_scan_xld(
8011        CurrConts: Hobject,
8012        PrevConts: Hobject,
8013        CurrMergedConts: *mut Hobject,
8014        PrevMergedConts: *mut Hobject,
8015        ImageHeight: Hlong,
8016        Margin: f64,
8017        MergeBorder: *const ::std::os::raw::c_char,
8018        MaxImagesCont: Hlong,
8019    ) -> Herror;
8020}
8021unsafe extern "C" {
8022    pub fn T_read_polygon_xld_arc_info(Polygons: *mut Hobject, FileName: Htuple) -> Herror;
8023}
8024unsafe extern "C" {
8025    pub fn read_polygon_xld_arc_info(
8026        Polygons: *mut Hobject,
8027        FileName: *const ::std::os::raw::c_char,
8028    ) -> Herror;
8029}
8030unsafe extern "C" {
8031    pub fn T_write_polygon_xld_arc_info(Polygons: Hobject, FileName: Htuple) -> Herror;
8032}
8033unsafe extern "C" {
8034    pub fn write_polygon_xld_arc_info(
8035        Polygons: Hobject,
8036        FileName: *const ::std::os::raw::c_char,
8037    ) -> Herror;
8038}
8039unsafe extern "C" {
8040    pub fn T_read_contour_xld_arc_info(Contours: *mut Hobject, FileName: Htuple) -> Herror;
8041}
8042unsafe extern "C" {
8043    pub fn read_contour_xld_arc_info(
8044        Contours: *mut Hobject,
8045        FileName: *const ::std::os::raw::c_char,
8046    ) -> Herror;
8047}
8048unsafe extern "C" {
8049    pub fn T_write_contour_xld_arc_info(Contours: Hobject, FileName: Htuple) -> Herror;
8050}
8051unsafe extern "C" {
8052    pub fn write_contour_xld_arc_info(
8053        Contours: Hobject,
8054        FileName: *const ::std::os::raw::c_char,
8055    ) -> Herror;
8056}
8057unsafe extern "C" {
8058    pub fn T_read_world_file(FileName: Htuple, WorldTransformation: *mut Htuple) -> Herror;
8059}
8060unsafe extern "C" {
8061    pub fn T_gen_parallel_contour_xld(
8062        Contours: Hobject,
8063        ParallelContours: *mut Hobject,
8064        Mode: Htuple,
8065        Distance: Htuple,
8066    ) -> Herror;
8067}
8068unsafe extern "C" {
8069    pub fn gen_parallel_contour_xld(
8070        Contours: Hobject,
8071        ParallelContours: *mut Hobject,
8072        Mode: *const ::std::os::raw::c_char,
8073        Distance: f64,
8074    ) -> Herror;
8075}
8076unsafe extern "C" {
8077    pub fn T_gen_rectangle2_contour_xld(
8078        Rectangle: *mut Hobject,
8079        Row: Htuple,
8080        Column: Htuple,
8081        Phi: Htuple,
8082        Length1: Htuple,
8083        Length2: Htuple,
8084    ) -> Herror;
8085}
8086unsafe extern "C" {
8087    pub fn gen_rectangle2_contour_xld(
8088        Rectangle: *mut Hobject,
8089        Row: f64,
8090        Column: f64,
8091        Phi: f64,
8092        Length1: f64,
8093        Length2: f64,
8094    ) -> Herror;
8095}
8096unsafe extern "C" {
8097    pub fn T_dist_rectangle2_contour_points_xld(
8098        Contour: Hobject,
8099        ClippingEndPoints: Htuple,
8100        Row: Htuple,
8101        Column: Htuple,
8102        Phi: Htuple,
8103        Length1: Htuple,
8104        Length2: Htuple,
8105        Distances: *mut Htuple,
8106    ) -> Herror;
8107}
8108unsafe extern "C" {
8109    pub fn T_fit_rectangle2_contour_xld(
8110        Contours: Hobject,
8111        Algorithm: Htuple,
8112        MaxNumPoints: Htuple,
8113        MaxClosureDist: Htuple,
8114        ClippingEndPoints: Htuple,
8115        Iterations: Htuple,
8116        ClippingFactor: Htuple,
8117        Row: *mut Htuple,
8118        Column: *mut Htuple,
8119        Phi: *mut Htuple,
8120        Length1: *mut Htuple,
8121        Length2: *mut Htuple,
8122        PointOrder: *mut Htuple,
8123    ) -> Herror;
8124}
8125unsafe extern "C" {
8126    pub fn fit_rectangle2_contour_xld(
8127        Contours: Hobject,
8128        Algorithm: *const ::std::os::raw::c_char,
8129        MaxNumPoints: Hlong,
8130        MaxClosureDist: f64,
8131        ClippingEndPoints: Hlong,
8132        Iterations: Hlong,
8133        ClippingFactor: f64,
8134        Row: *mut f64,
8135        Column: *mut f64,
8136        Phi: *mut f64,
8137        Length1: *mut f64,
8138        Length2: *mut f64,
8139        PointOrder: *mut ::std::os::raw::c_char,
8140    ) -> Herror;
8141}
8142unsafe extern "C" {
8143    pub fn T_segment_contour_attrib_xld(
8144        Contour: Hobject,
8145        ContourPart: *mut Hobject,
8146        Attribute: Htuple,
8147        Operation: Htuple,
8148        Min: Htuple,
8149        Max: Htuple,
8150    ) -> Herror;
8151}
8152unsafe extern "C" {
8153    pub fn segment_contour_attrib_xld(
8154        Contour: Hobject,
8155        ContourPart: *mut Hobject,
8156        Attribute: *const ::std::os::raw::c_char,
8157        Operation: *const ::std::os::raw::c_char,
8158        Min: f64,
8159        Max: f64,
8160    ) -> Herror;
8161}
8162unsafe extern "C" {
8163    pub fn T_segment_contours_xld(
8164        Contours: Hobject,
8165        ContoursSplit: *mut Hobject,
8166        Mode: Htuple,
8167        SmoothCont: Htuple,
8168        MaxLineDist1: Htuple,
8169        MaxLineDist2: Htuple,
8170    ) -> Herror;
8171}
8172unsafe extern "C" {
8173    pub fn segment_contours_xld(
8174        Contours: Hobject,
8175        ContoursSplit: *mut Hobject,
8176        Mode: *const ::std::os::raw::c_char,
8177        SmoothCont: Hlong,
8178        MaxLineDist1: f64,
8179        MaxLineDist2: f64,
8180    ) -> Herror;
8181}
8182unsafe extern "C" {
8183    pub fn T_fit_circle_contour_xld(
8184        Contours: Hobject,
8185        Algorithm: Htuple,
8186        MaxNumPoints: Htuple,
8187        MaxClosureDist: Htuple,
8188        ClippingEndPoints: Htuple,
8189        Iterations: Htuple,
8190        ClippingFactor: Htuple,
8191        Row: *mut Htuple,
8192        Column: *mut Htuple,
8193        Radius: *mut Htuple,
8194        StartPhi: *mut Htuple,
8195        EndPhi: *mut Htuple,
8196        PointOrder: *mut Htuple,
8197    ) -> Herror;
8198}
8199unsafe extern "C" {
8200    pub fn fit_circle_contour_xld(
8201        Contours: Hobject,
8202        Algorithm: *const ::std::os::raw::c_char,
8203        MaxNumPoints: Hlong,
8204        MaxClosureDist: f64,
8205        ClippingEndPoints: Hlong,
8206        Iterations: Hlong,
8207        ClippingFactor: f64,
8208        Row: *mut f64,
8209        Column: *mut f64,
8210        Radius: *mut f64,
8211        StartPhi: *mut f64,
8212        EndPhi: *mut f64,
8213        PointOrder: *mut ::std::os::raw::c_char,
8214    ) -> Herror;
8215}
8216unsafe extern "C" {
8217    pub fn T_fit_line_contour_xld(
8218        Contours: Hobject,
8219        Algorithm: Htuple,
8220        MaxNumPoints: Htuple,
8221        ClippingEndPoints: Htuple,
8222        Iterations: Htuple,
8223        ClippingFactor: Htuple,
8224        RowBegin: *mut Htuple,
8225        ColBegin: *mut Htuple,
8226        RowEnd: *mut Htuple,
8227        ColEnd: *mut Htuple,
8228        Nr: *mut Htuple,
8229        Nc: *mut Htuple,
8230        Dist: *mut Htuple,
8231    ) -> Herror;
8232}
8233unsafe extern "C" {
8234    pub fn fit_line_contour_xld(
8235        Contours: Hobject,
8236        Algorithm: *const ::std::os::raw::c_char,
8237        MaxNumPoints: Hlong,
8238        ClippingEndPoints: Hlong,
8239        Iterations: Hlong,
8240        ClippingFactor: f64,
8241        RowBegin: *mut f64,
8242        ColBegin: *mut f64,
8243        RowEnd: *mut f64,
8244        ColEnd: *mut f64,
8245        Nr: *mut f64,
8246        Nc: *mut f64,
8247        Dist: *mut f64,
8248    ) -> Herror;
8249}
8250unsafe extern "C" {
8251    pub fn T_dist_ellipse_contour_points_xld(
8252        Contour: Hobject,
8253        DistanceMode: Htuple,
8254        ClippingEndPoints: Htuple,
8255        Row: Htuple,
8256        Column: Htuple,
8257        Phi: Htuple,
8258        Radius1: Htuple,
8259        Radius2: Htuple,
8260        Distances: *mut Htuple,
8261    ) -> Herror;
8262}
8263unsafe extern "C" {
8264    pub fn T_dist_ellipse_contour_xld(
8265        Contours: Hobject,
8266        Mode: Htuple,
8267        MaxNumPoints: Htuple,
8268        ClippingEndPoints: Htuple,
8269        Row: Htuple,
8270        Column: Htuple,
8271        Phi: Htuple,
8272        Radius1: Htuple,
8273        Radius2: Htuple,
8274        MinDist: *mut Htuple,
8275        MaxDist: *mut Htuple,
8276        AvgDist: *mut Htuple,
8277        SigmaDist: *mut Htuple,
8278    ) -> Herror;
8279}
8280unsafe extern "C" {
8281    pub fn dist_ellipse_contour_xld(
8282        Contours: Hobject,
8283        Mode: *const ::std::os::raw::c_char,
8284        MaxNumPoints: Hlong,
8285        ClippingEndPoints: Hlong,
8286        Row: f64,
8287        Column: f64,
8288        Phi: f64,
8289        Radius1: f64,
8290        Radius2: f64,
8291        MinDist: *mut f64,
8292        MaxDist: *mut f64,
8293        AvgDist: *mut f64,
8294        SigmaDist: *mut f64,
8295    ) -> Herror;
8296}
8297unsafe extern "C" {
8298    pub fn T_fit_ellipse_contour_xld(
8299        Contours: Hobject,
8300        Algorithm: Htuple,
8301        MaxNumPoints: Htuple,
8302        MaxClosureDist: Htuple,
8303        ClippingEndPoints: Htuple,
8304        VossTabSize: Htuple,
8305        Iterations: Htuple,
8306        ClippingFactor: Htuple,
8307        Row: *mut Htuple,
8308        Column: *mut Htuple,
8309        Phi: *mut Htuple,
8310        Radius1: *mut Htuple,
8311        Radius2: *mut Htuple,
8312        StartPhi: *mut Htuple,
8313        EndPhi: *mut Htuple,
8314        PointOrder: *mut Htuple,
8315    ) -> Herror;
8316}
8317unsafe extern "C" {
8318    pub fn fit_ellipse_contour_xld(
8319        Contours: Hobject,
8320        Algorithm: *const ::std::os::raw::c_char,
8321        MaxNumPoints: Hlong,
8322        MaxClosureDist: f64,
8323        ClippingEndPoints: Hlong,
8324        VossTabSize: Hlong,
8325        Iterations: Hlong,
8326        ClippingFactor: f64,
8327        Row: *mut f64,
8328        Column: *mut f64,
8329        Phi: *mut f64,
8330        Radius1: *mut f64,
8331        Radius2: *mut f64,
8332        StartPhi: *mut f64,
8333        EndPhi: *mut f64,
8334        PointOrder: *mut ::std::os::raw::c_char,
8335    ) -> Herror;
8336}
8337unsafe extern "C" {
8338    pub fn T_gen_circle_contour_xld(
8339        ContCircle: *mut Hobject,
8340        Row: Htuple,
8341        Column: Htuple,
8342        Radius: Htuple,
8343        StartPhi: Htuple,
8344        EndPhi: Htuple,
8345        PointOrder: Htuple,
8346        Resolution: Htuple,
8347    ) -> Herror;
8348}
8349unsafe extern "C" {
8350    pub fn gen_circle_contour_xld(
8351        ContCircle: *mut Hobject,
8352        Row: f64,
8353        Column: f64,
8354        Radius: f64,
8355        StartPhi: f64,
8356        EndPhi: f64,
8357        PointOrder: *const ::std::os::raw::c_char,
8358        Resolution: f64,
8359    ) -> Herror;
8360}
8361unsafe extern "C" {
8362    pub fn T_gen_ellipse_contour_xld(
8363        ContEllipse: *mut Hobject,
8364        Row: Htuple,
8365        Column: Htuple,
8366        Phi: Htuple,
8367        Radius1: Htuple,
8368        Radius2: Htuple,
8369        StartPhi: Htuple,
8370        EndPhi: Htuple,
8371        PointOrder: Htuple,
8372        Resolution: Htuple,
8373    ) -> Herror;
8374}
8375unsafe extern "C" {
8376    pub fn gen_ellipse_contour_xld(
8377        ContEllipse: *mut Hobject,
8378        Row: f64,
8379        Column: f64,
8380        Phi: f64,
8381        Radius1: f64,
8382        Radius2: f64,
8383        StartPhi: f64,
8384        EndPhi: f64,
8385        PointOrder: *const ::std::os::raw::c_char,
8386        Resolution: f64,
8387    ) -> Herror;
8388}
8389unsafe extern "C" {
8390    pub fn T_add_noise_white_contour_xld(
8391        Contours: Hobject,
8392        NoisyContours: *mut Hobject,
8393        NumRegrPoints: Htuple,
8394        Amp: Htuple,
8395    ) -> Herror;
8396}
8397unsafe extern "C" {
8398    pub fn add_noise_white_contour_xld(
8399        Contours: Hobject,
8400        NoisyContours: *mut Hobject,
8401        NumRegrPoints: Hlong,
8402        Amp: f64,
8403    ) -> Herror;
8404}
8405unsafe extern "C" {
8406    pub fn T_combine_roads_xld(
8407        EdgePolygons: Hobject,
8408        ModParallels: Hobject,
8409        ExtParallels: Hobject,
8410        CenterLines: Hobject,
8411        RoadSides: *mut Hobject,
8412        MaxAngleParallel: Htuple,
8413        MaxAngleColinear: Htuple,
8414        MaxDistanceParallel: Htuple,
8415        MaxDistanceColinear: Htuple,
8416    ) -> Herror;
8417}
8418unsafe extern "C" {
8419    pub fn combine_roads_xld(
8420        EdgePolygons: Hobject,
8421        ModParallels: Hobject,
8422        ExtParallels: Hobject,
8423        CenterLines: Hobject,
8424        RoadSides: *mut Hobject,
8425        MaxAngleParallel: f64,
8426        MaxAngleColinear: f64,
8427        MaxDistanceParallel: f64,
8428        MaxDistanceColinear: f64,
8429    ) -> Herror;
8430}
8431unsafe extern "C" {
8432    pub fn T_max_parallels_xld(ExtParallels: Hobject, MaxPolygons: *mut Hobject) -> Herror;
8433}
8434unsafe extern "C" {
8435    pub fn max_parallels_xld(ExtParallels: Hobject, MaxPolygons: *mut Hobject) -> Herror;
8436}
8437unsafe extern "C" {
8438    pub fn T_mod_parallels_xld(
8439        Parallels: Hobject,
8440        Image: Hobject,
8441        ModParallels: *mut Hobject,
8442        ExtParallels: *mut Hobject,
8443        Quality: Htuple,
8444        MinGray: Htuple,
8445        MaxGray: Htuple,
8446        MaxStandard: Htuple,
8447    ) -> Herror;
8448}
8449unsafe extern "C" {
8450    pub fn mod_parallels_xld(
8451        Parallels: Hobject,
8452        Image: Hobject,
8453        ModParallels: *mut Hobject,
8454        ExtParallels: *mut Hobject,
8455        Quality: f64,
8456        MinGray: Hlong,
8457        MaxGray: Hlong,
8458        MaxStandard: f64,
8459    ) -> Herror;
8460}
8461unsafe extern "C" {
8462    pub fn T_info_parallels_xld(
8463        Parallels: Hobject,
8464        Image: Hobject,
8465        QualityMin: *mut Htuple,
8466        QualityMax: *mut Htuple,
8467        GrayMin: *mut Htuple,
8468        GrayMax: *mut Htuple,
8469        StandardMin: *mut Htuple,
8470        StandardMax: *mut Htuple,
8471    ) -> Herror;
8472}
8473unsafe extern "C" {
8474    pub fn info_parallels_xld(
8475        Parallels: Hobject,
8476        Image: Hobject,
8477        QualityMin: *mut f64,
8478        QualityMax: *mut f64,
8479        GrayMin: *mut Hlong,
8480        GrayMax: *mut Hlong,
8481        StandardMin: *mut f64,
8482        StandardMax: *mut f64,
8483    ) -> Herror;
8484}
8485unsafe extern "C" {
8486    pub fn T_get_parallels_xld(
8487        Parallels: Hobject,
8488        Row1: *mut Htuple,
8489        Col1: *mut Htuple,
8490        Length1: *mut Htuple,
8491        Phi1: *mut Htuple,
8492        Row2: *mut Htuple,
8493        Col2: *mut Htuple,
8494        Length2: *mut Htuple,
8495        Phi2: *mut Htuple,
8496    ) -> Herror;
8497}
8498unsafe extern "C" {
8499    pub fn T_gen_parallels_xld(
8500        Polygons: Hobject,
8501        Parallels: *mut Hobject,
8502        Len: Htuple,
8503        Dist: Htuple,
8504        Alpha: Htuple,
8505        Merge: Htuple,
8506    ) -> Herror;
8507}
8508unsafe extern "C" {
8509    pub fn gen_parallels_xld(
8510        Polygons: Hobject,
8511        Parallels: *mut Hobject,
8512        Len: f64,
8513        Dist: f64,
8514        Alpha: f64,
8515        Merge: *const ::std::os::raw::c_char,
8516    ) -> Herror;
8517}
8518unsafe extern "C" {
8519    pub fn T_get_lines_xld(
8520        Polygon: Hobject,
8521        BeginRow: *mut Htuple,
8522        BeginCol: *mut Htuple,
8523        EndRow: *mut Htuple,
8524        EndCol: *mut Htuple,
8525        Length: *mut Htuple,
8526        Phi: *mut Htuple,
8527    ) -> Herror;
8528}
8529unsafe extern "C" {
8530    pub fn T_get_polygon_xld(
8531        Polygon: Hobject,
8532        Row: *mut Htuple,
8533        Col: *mut Htuple,
8534        Length: *mut Htuple,
8535        Phi: *mut Htuple,
8536    ) -> Herror;
8537}
8538unsafe extern "C" {
8539    pub fn T_gen_polygons_xld(
8540        Contours: Hobject,
8541        Polygons: *mut Hobject,
8542        Type: Htuple,
8543        Alpha: Htuple,
8544    ) -> Herror;
8545}
8546unsafe extern "C" {
8547    pub fn gen_polygons_xld(
8548        Contours: Hobject,
8549        Polygons: *mut Hobject,
8550        Type: *const ::std::os::raw::c_char,
8551        Alpha: f64,
8552    ) -> Herror;
8553}
8554unsafe extern "C" {
8555    pub fn T_split_contours_xld(
8556        Polygons: Hobject,
8557        Contours: *mut Hobject,
8558        Mode: Htuple,
8559        Weight: Htuple,
8560        Smooth: Htuple,
8561    ) -> Herror;
8562}
8563unsafe extern "C" {
8564    pub fn split_contours_xld(
8565        Polygons: Hobject,
8566        Contours: *mut Hobject,
8567        Mode: *const ::std::os::raw::c_char,
8568        Weight: Hlong,
8569        Smooth: Hlong,
8570    ) -> Herror;
8571}
8572unsafe extern "C" {
8573    pub fn T_projective_trans_contour_xld(
8574        Contours: Hobject,
8575        ContoursProjTrans: *mut Hobject,
8576        HomMat2D: Htuple,
8577    ) -> Herror;
8578}
8579unsafe extern "C" {
8580    pub fn T_affine_trans_polygon_xld(
8581        Polygons: Hobject,
8582        PolygonsAffineTrans: *mut Hobject,
8583        HomMat2D: Htuple,
8584    ) -> Herror;
8585}
8586unsafe extern "C" {
8587    pub fn T_affine_trans_contour_xld(
8588        Contours: Hobject,
8589        ContoursAffineTrans: *mut Hobject,
8590        HomMat2D: Htuple,
8591    ) -> Herror;
8592}
8593unsafe extern "C" {
8594    pub fn T_close_contours_xld(Contours: Hobject, ClosedContours: *mut Hobject) -> Herror;
8595}
8596unsafe extern "C" {
8597    pub fn close_contours_xld(Contours: Hobject, ClosedContours: *mut Hobject) -> Herror;
8598}
8599unsafe extern "C" {
8600    pub fn T_clip_end_points_contours_xld(
8601        Contours: Hobject,
8602        ClippedContours: *mut Hobject,
8603        Mode: Htuple,
8604        Length: Htuple,
8605    ) -> Herror;
8606}
8607unsafe extern "C" {
8608    pub fn clip_end_points_contours_xld(
8609        Contours: Hobject,
8610        ClippedContours: *mut Hobject,
8611        Mode: *const ::std::os::raw::c_char,
8612        Length: f64,
8613    ) -> Herror;
8614}
8615unsafe extern "C" {
8616    pub fn T_clip_contours_xld(
8617        Contours: Hobject,
8618        ClippedContours: *mut Hobject,
8619        Row1: Htuple,
8620        Column1: Htuple,
8621        Row2: Htuple,
8622        Column2: Htuple,
8623    ) -> Herror;
8624}
8625unsafe extern "C" {
8626    pub fn clip_contours_xld(
8627        Contours: Hobject,
8628        ClippedContours: *mut Hobject,
8629        Row1: Hlong,
8630        Column1: Hlong,
8631        Row2: Hlong,
8632        Column2: Hlong,
8633    ) -> Herror;
8634}
8635unsafe extern "C" {
8636    pub fn T_local_max_contours_xld(
8637        Contours: Hobject,
8638        Image: Hobject,
8639        LocalMaxContours: *mut Hobject,
8640        MinPercent: Htuple,
8641        MinDiff: Htuple,
8642        Distance: Htuple,
8643    ) -> Herror;
8644}
8645unsafe extern "C" {
8646    pub fn local_max_contours_xld(
8647        Contours: Hobject,
8648        Image: Hobject,
8649        LocalMaxContours: *mut Hobject,
8650        MinPercent: Hlong,
8651        MinDiff: Hlong,
8652        Distance: Hlong,
8653    ) -> Herror;
8654}
8655unsafe extern "C" {
8656    pub fn T_union_straight_contours_histo_xld(
8657        Contours: Hobject,
8658        UnionContours: *mut Hobject,
8659        SelectedContours: *mut Hobject,
8660        RefLineStartRow: Htuple,
8661        RefLineStartColumn: Htuple,
8662        RefLineEndRow: Htuple,
8663        RefLineEndColumn: Htuple,
8664        Width: Htuple,
8665        MaxWidth: Htuple,
8666        FilterSize: Htuple,
8667        HistoValues: *mut Htuple,
8668    ) -> Herror;
8669}
8670unsafe extern "C" {
8671    pub fn T_union_straight_contours_xld(
8672        Contours: Hobject,
8673        UnionContours: *mut Hobject,
8674        MaxDist: Htuple,
8675        MaxDiff: Htuple,
8676        Percent: Htuple,
8677        Mode: Htuple,
8678        Iterations: Htuple,
8679    ) -> Herror;
8680}
8681unsafe extern "C" {
8682    pub fn union_straight_contours_xld(
8683        Contours: Hobject,
8684        UnionContours: *mut Hobject,
8685        MaxDist: f64,
8686        MaxDiff: f64,
8687        Percent: f64,
8688        Mode: *const ::std::os::raw::c_char,
8689        Iterations: *const ::std::os::raw::c_char,
8690    ) -> Herror;
8691}
8692unsafe extern "C" {
8693    pub fn T_union_collinear_contours_ext_xld(
8694        Contours: Hobject,
8695        UnionContours: *mut Hobject,
8696        MaxDistAbs: Htuple,
8697        MaxDistRel: Htuple,
8698        MaxShift: Htuple,
8699        MaxAngle: Htuple,
8700        MaxOverlap: Htuple,
8701        MaxRegrError: Htuple,
8702        MaxCosts: Htuple,
8703        WeightDist: Htuple,
8704        WeightShift: Htuple,
8705        WeightAngle: Htuple,
8706        WeightLink: Htuple,
8707        WeightRegr: Htuple,
8708        Mode: Htuple,
8709    ) -> Herror;
8710}
8711unsafe extern "C" {
8712    pub fn union_collinear_contours_ext_xld(
8713        Contours: Hobject,
8714        UnionContours: *mut Hobject,
8715        MaxDistAbs: f64,
8716        MaxDistRel: f64,
8717        MaxShift: f64,
8718        MaxAngle: f64,
8719        MaxOverlap: f64,
8720        MaxRegrError: f64,
8721        MaxCosts: f64,
8722        WeightDist: f64,
8723        WeightShift: f64,
8724        WeightAngle: f64,
8725        WeightLink: f64,
8726        WeightRegr: f64,
8727        Mode: *const ::std::os::raw::c_char,
8728    ) -> Herror;
8729}
8730unsafe extern "C" {
8731    pub fn T_union_collinear_contours_xld(
8732        Contours: Hobject,
8733        UnionContours: *mut Hobject,
8734        MaxDistAbs: Htuple,
8735        MaxDistRel: Htuple,
8736        MaxShift: Htuple,
8737        MaxAngle: Htuple,
8738        Mode: Htuple,
8739    ) -> Herror;
8740}
8741unsafe extern "C" {
8742    pub fn union_collinear_contours_xld(
8743        Contours: Hobject,
8744        UnionContours: *mut Hobject,
8745        MaxDistAbs: f64,
8746        MaxDistRel: f64,
8747        MaxShift: f64,
8748        MaxAngle: f64,
8749        Mode: *const ::std::os::raw::c_char,
8750    ) -> Herror;
8751}
8752unsafe extern "C" {
8753    pub fn T_union_adjacent_contours_xld(
8754        Contours: Hobject,
8755        UnionContours: *mut Hobject,
8756        MaxDistAbs: Htuple,
8757        MaxDistRel: Htuple,
8758        Mode: Htuple,
8759    ) -> Herror;
8760}
8761unsafe extern "C" {
8762    pub fn union_adjacent_contours_xld(
8763        Contours: Hobject,
8764        UnionContours: *mut Hobject,
8765        MaxDistAbs: f64,
8766        MaxDistRel: f64,
8767        Mode: *const ::std::os::raw::c_char,
8768    ) -> Herror;
8769}
8770unsafe extern "C" {
8771    pub fn T_select_contours_xld(
8772        Contours: Hobject,
8773        SelectedContours: *mut Hobject,
8774        Feature: Htuple,
8775        Min1: Htuple,
8776        Max1: Htuple,
8777        Min2: Htuple,
8778        Max2: Htuple,
8779    ) -> Herror;
8780}
8781unsafe extern "C" {
8782    pub fn select_contours_xld(
8783        Contours: Hobject,
8784        SelectedContours: *mut Hobject,
8785        Feature: *const ::std::os::raw::c_char,
8786        Min1: f64,
8787        Max1: f64,
8788        Min2: f64,
8789        Max2: f64,
8790    ) -> Herror;
8791}
8792unsafe extern "C" {
8793    pub fn T_get_regress_params_xld(
8794        Contours: Hobject,
8795        Length: *mut Htuple,
8796        Nx: *mut Htuple,
8797        Ny: *mut Htuple,
8798        Dist: *mut Htuple,
8799        Fpx: *mut Htuple,
8800        Fpy: *mut Htuple,
8801        Lpx: *mut Htuple,
8802        Lpy: *mut Htuple,
8803        Mean: *mut Htuple,
8804        Deviation: *mut Htuple,
8805    ) -> Herror;
8806}
8807unsafe extern "C" {
8808    pub fn T_regress_contours_xld(
8809        Contours: Hobject,
8810        RegressContours: *mut Hobject,
8811        Mode: Htuple,
8812        Iterations: Htuple,
8813    ) -> Herror;
8814}
8815unsafe extern "C" {
8816    pub fn regress_contours_xld(
8817        Contours: Hobject,
8818        RegressContours: *mut Hobject,
8819        Mode: *const ::std::os::raw::c_char,
8820        Iterations: Hlong,
8821    ) -> Herror;
8822}
8823unsafe extern "C" {
8824    pub fn T_get_contour_angle_xld(
8825        Contour: Hobject,
8826        AngleMode: Htuple,
8827        CalcMode: Htuple,
8828        Lookaround: Htuple,
8829        Angles: *mut Htuple,
8830    ) -> Herror;
8831}
8832unsafe extern "C" {
8833    pub fn T_smooth_contours_xld(
8834        Contours: Hobject,
8835        SmoothedContours: *mut Hobject,
8836        NumRegrPoints: Htuple,
8837    ) -> Herror;
8838}
8839unsafe extern "C" {
8840    pub fn smooth_contours_xld(
8841        Contours: Hobject,
8842        SmoothedContours: *mut Hobject,
8843        NumRegrPoints: Hlong,
8844    ) -> Herror;
8845}
8846unsafe extern "C" {
8847    pub fn T_contour_point_num_xld(Contour: Hobject, Length: *mut Htuple) -> Herror;
8848}
8849unsafe extern "C" {
8850    pub fn contour_point_num_xld(Contour: Hobject, Length: *mut Hlong) -> Herror;
8851}
8852unsafe extern "C" {
8853    pub fn T_query_contour_global_attribs_xld(Contour: Hobject, Attribs: *mut Htuple) -> Herror;
8854}
8855unsafe extern "C" {
8856    pub fn T_get_contour_global_attrib_xld(
8857        Contour: Hobject,
8858        Name: Htuple,
8859        Attrib: *mut Htuple,
8860    ) -> Herror;
8861}
8862unsafe extern "C" {
8863    pub fn T_query_contour_attribs_xld(Contour: Hobject, Attribs: *mut Htuple) -> Herror;
8864}
8865unsafe extern "C" {
8866    pub fn T_get_contour_attrib_xld(Contour: Hobject, Name: Htuple, Attrib: *mut Htuple) -> Herror;
8867}
8868unsafe extern "C" {
8869    pub fn T_get_contour_xld(Contour: Hobject, Row: *mut Htuple, Col: *mut Htuple) -> Herror;
8870}
8871unsafe extern "C" {
8872    pub fn T_gen_contour_region_xld(
8873        Regions: Hobject,
8874        Contours: *mut Hobject,
8875        Mode: Htuple,
8876    ) -> Herror;
8877}
8878unsafe extern "C" {
8879    pub fn gen_contour_region_xld(
8880        Regions: Hobject,
8881        Contours: *mut Hobject,
8882        Mode: *const ::std::os::raw::c_char,
8883    ) -> Herror;
8884}
8885unsafe extern "C" {
8886    pub fn T_gen_contour_polygon_rounded_xld(
8887        Contour: *mut Hobject,
8888        Row: Htuple,
8889        Col: Htuple,
8890        Radius: Htuple,
8891        SamplingInterval: Htuple,
8892    ) -> Herror;
8893}
8894unsafe extern "C" {
8895    pub fn T_gen_contour_polygon_xld(Contour: *mut Hobject, Row: Htuple, Col: Htuple) -> Herror;
8896}
8897unsafe extern "C" {
8898    pub fn T_gen_contours_skeleton_xld(
8899        Skeleton: Hobject,
8900        Contours: *mut Hobject,
8901        Length: Htuple,
8902        Mode: Htuple,
8903    ) -> Herror;
8904}
8905unsafe extern "C" {
8906    pub fn gen_contours_skeleton_xld(
8907        Skeleton: Hobject,
8908        Contours: *mut Hobject,
8909        Length: Hlong,
8910        Mode: *const ::std::os::raw::c_char,
8911    ) -> Herror;
8912}
8913unsafe extern "C" {
8914    pub fn T_disp_xld(XLDObject: Hobject, WindowHandle: Htuple) -> Herror;
8915}
8916unsafe extern "C" {
8917    pub fn disp_xld(XLDObject: Hobject, WindowHandle: Hlong) -> Herror;
8918}
8919unsafe extern "C" {
8920    pub fn T_wiener_filter_ni(
8921        Image: Hobject,
8922        Psf: Hobject,
8923        NoiseRegion: Hobject,
8924        RestoredImage: *mut Hobject,
8925        MaskWidth: Htuple,
8926        MaskHeight: Htuple,
8927    ) -> Herror;
8928}
8929unsafe extern "C" {
8930    pub fn wiener_filter_ni(
8931        Image: Hobject,
8932        Psf: Hobject,
8933        NoiseRegion: Hobject,
8934        RestoredImage: *mut Hobject,
8935        MaskWidth: Hlong,
8936        MaskHeight: Hlong,
8937    ) -> Herror;
8938}
8939unsafe extern "C" {
8940    pub fn T_wiener_filter(
8941        Image: Hobject,
8942        Psf: Hobject,
8943        FilteredImage: Hobject,
8944        RestoredImage: *mut Hobject,
8945    ) -> Herror;
8946}
8947unsafe extern "C" {
8948    pub fn wiener_filter(
8949        Image: Hobject,
8950        Psf: Hobject,
8951        FilteredImage: Hobject,
8952        RestoredImage: *mut Hobject,
8953    ) -> Herror;
8954}
8955unsafe extern "C" {
8956    pub fn T_gen_psf_motion(
8957        Psf: *mut Hobject,
8958        PSFwidth: Htuple,
8959        PSFheight: Htuple,
8960        Blurring: Htuple,
8961        Angle: Htuple,
8962        Type: Htuple,
8963    ) -> Herror;
8964}
8965unsafe extern "C" {
8966    pub fn gen_psf_motion(
8967        Psf: *mut Hobject,
8968        PSFwidth: Hlong,
8969        PSFheight: Hlong,
8970        Blurring: f64,
8971        Angle: Hlong,
8972        Type: Hlong,
8973    ) -> Herror;
8974}
8975unsafe extern "C" {
8976    pub fn T_simulate_motion(
8977        Image: Hobject,
8978        MovedImage: *mut Hobject,
8979        Blurring: Htuple,
8980        Angle: Htuple,
8981        Type: Htuple,
8982    ) -> Herror;
8983}
8984unsafe extern "C" {
8985    pub fn simulate_motion(
8986        Image: Hobject,
8987        MovedImage: *mut Hobject,
8988        Blurring: f64,
8989        Angle: Hlong,
8990        Type: Hlong,
8991    ) -> Herror;
8992}
8993unsafe extern "C" {
8994    pub fn T_gen_psf_defocus(
8995        Psf: *mut Hobject,
8996        PSFwidth: Htuple,
8997        PSFheight: Htuple,
8998        Blurring: Htuple,
8999    ) -> Herror;
9000}
9001unsafe extern "C" {
9002    pub fn gen_psf_defocus(
9003        Psf: *mut Hobject,
9004        PSFwidth: Hlong,
9005        PSFheight: Hlong,
9006        Blurring: f64,
9007    ) -> Herror;
9008}
9009unsafe extern "C" {
9010    pub fn T_simulate_defocus(
9011        Image: Hobject,
9012        DefocusedImage: *mut Hobject,
9013        Blurring: Htuple,
9014    ) -> Herror;
9015}
9016unsafe extern "C" {
9017    pub fn simulate_defocus(Image: Hobject, DefocusedImage: *mut Hobject, Blurring: f64) -> Herror;
9018}
9019unsafe extern "C" {
9020    pub fn T_deserialize_variation_model(
9021        SerializedItemHandle: Htuple,
9022        ModelID: *mut Htuple,
9023    ) -> Herror;
9024}
9025unsafe extern "C" {
9026    pub fn deserialize_variation_model(SerializedItemHandle: Hlong, ModelID: *mut Hlong) -> Herror;
9027}
9028unsafe extern "C" {
9029    pub fn T_serialize_variation_model(
9030        ModelID: Htuple,
9031        SerializedItemHandle: *mut Htuple,
9032    ) -> Herror;
9033}
9034unsafe extern "C" {
9035    pub fn serialize_variation_model(ModelID: Hlong, SerializedItemHandle: *mut Hlong) -> Herror;
9036}
9037unsafe extern "C" {
9038    pub fn T_read_variation_model(FileName: Htuple, ModelID: *mut Htuple) -> Herror;
9039}
9040unsafe extern "C" {
9041    pub fn read_variation_model(
9042        FileName: *const ::std::os::raw::c_char,
9043        ModelID: *mut Hlong,
9044    ) -> Herror;
9045}
9046unsafe extern "C" {
9047    pub fn T_write_variation_model(ModelID: Htuple, FileName: Htuple) -> Herror;
9048}
9049unsafe extern "C" {
9050    pub fn write_variation_model(ModelID: Hlong, FileName: *const ::std::os::raw::c_char)
9051    -> Herror;
9052}
9053unsafe extern "C" {
9054    pub fn T_get_thresh_images_variation_model(
9055        MinImage: *mut Hobject,
9056        MaxImage: *mut Hobject,
9057        ModelID: Htuple,
9058    ) -> Herror;
9059}
9060unsafe extern "C" {
9061    pub fn get_thresh_images_variation_model(
9062        MinImage: *mut Hobject,
9063        MaxImage: *mut Hobject,
9064        ModelID: Hlong,
9065    ) -> Herror;
9066}
9067unsafe extern "C" {
9068    pub fn T_get_variation_model(
9069        Image: *mut Hobject,
9070        VarImage: *mut Hobject,
9071        ModelID: Htuple,
9072    ) -> Herror;
9073}
9074unsafe extern "C" {
9075    pub fn get_variation_model(
9076        Image: *mut Hobject,
9077        VarImage: *mut Hobject,
9078        ModelID: Hlong,
9079    ) -> Herror;
9080}
9081unsafe extern "C" {
9082    pub fn T_compare_ext_variation_model(
9083        Image: Hobject,
9084        Region: *mut Hobject,
9085        ModelID: Htuple,
9086        Mode: Htuple,
9087    ) -> Herror;
9088}
9089unsafe extern "C" {
9090    pub fn compare_ext_variation_model(
9091        Image: Hobject,
9092        Region: *mut Hobject,
9093        ModelID: Hlong,
9094        Mode: *const ::std::os::raw::c_char,
9095    ) -> Herror;
9096}
9097unsafe extern "C" {
9098    pub fn T_compare_variation_model(
9099        Image: Hobject,
9100        Region: *mut Hobject,
9101        ModelID: Htuple,
9102    ) -> Herror;
9103}
9104unsafe extern "C" {
9105    pub fn compare_variation_model(Image: Hobject, Region: *mut Hobject, ModelID: Hlong) -> Herror;
9106}
9107unsafe extern "C" {
9108    pub fn T_prepare_direct_variation_model(
9109        RefImage: Hobject,
9110        VarImage: Hobject,
9111        ModelID: Htuple,
9112        AbsThreshold: Htuple,
9113        VarThreshold: Htuple,
9114    ) -> Herror;
9115}
9116unsafe extern "C" {
9117    pub fn prepare_direct_variation_model(
9118        RefImage: Hobject,
9119        VarImage: Hobject,
9120        ModelID: Hlong,
9121        AbsThreshold: f64,
9122        VarThreshold: f64,
9123    ) -> Herror;
9124}
9125unsafe extern "C" {
9126    pub fn T_prepare_variation_model(
9127        ModelID: Htuple,
9128        AbsThreshold: Htuple,
9129        VarThreshold: Htuple,
9130    ) -> Herror;
9131}
9132unsafe extern "C" {
9133    pub fn prepare_variation_model(ModelID: Hlong, AbsThreshold: f64, VarThreshold: f64) -> Herror;
9134}
9135unsafe extern "C" {
9136    pub fn T_train_variation_model(Images: Hobject, ModelID: Htuple) -> Herror;
9137}
9138unsafe extern "C" {
9139    pub fn train_variation_model(Images: Hobject, ModelID: Hlong) -> Herror;
9140}
9141unsafe extern "C" {
9142    pub fn T_clear_all_variation_models() -> Herror;
9143}
9144unsafe extern "C" {
9145    pub fn clear_all_variation_models() -> Herror;
9146}
9147unsafe extern "C" {
9148    pub fn T_clear_variation_model(ModelID: Htuple) -> Herror;
9149}
9150unsafe extern "C" {
9151    pub fn clear_variation_model(ModelID: Hlong) -> Herror;
9152}
9153unsafe extern "C" {
9154    pub fn T_clear_train_data_variation_model(ModelID: Htuple) -> Herror;
9155}
9156unsafe extern "C" {
9157    pub fn clear_train_data_variation_model(ModelID: Hlong) -> Herror;
9158}
9159unsafe extern "C" {
9160    pub fn T_create_variation_model(
9161        Width: Htuple,
9162        Height: Htuple,
9163        Type: Htuple,
9164        Mode: Htuple,
9165        ModelID: *mut Htuple,
9166    ) -> Herror;
9167}
9168unsafe extern "C" {
9169    pub fn create_variation_model(
9170        Width: Hlong,
9171        Height: Hlong,
9172        Type: *const ::std::os::raw::c_char,
9173        Mode: *const ::std::os::raw::c_char,
9174        ModelID: *mut Hlong,
9175    ) -> Herror;
9176}
9177unsafe extern "C" {
9178    pub fn T_tuple_union(Set1: Htuple, Set2: Htuple, Union: *mut Htuple) -> Herror;
9179}
9180unsafe extern "C" {
9181    pub fn tuple_union(Set1: Hlong, Set2: Hlong, Union: *mut Hlong) -> Herror;
9182}
9183unsafe extern "C" {
9184    pub fn T_tuple_intersection(Set1: Htuple, Set2: Htuple, Intersection: *mut Htuple) -> Herror;
9185}
9186unsafe extern "C" {
9187    pub fn tuple_intersection(Set1: Hlong, Set2: Hlong, Intersection: *mut Hlong) -> Herror;
9188}
9189unsafe extern "C" {
9190    pub fn T_tuple_difference(Set1: Htuple, Set2: Htuple, Difference: *mut Htuple) -> Herror;
9191}
9192unsafe extern "C" {
9193    pub fn tuple_difference(Set1: Hlong, Set2: Hlong, Difference: *mut Hlong) -> Herror;
9194}
9195unsafe extern "C" {
9196    pub fn T_tuple_symmdiff(Set1: Htuple, Set2: Htuple, SymmDiff: *mut Htuple) -> Herror;
9197}
9198unsafe extern "C" {
9199    pub fn tuple_symmdiff(Set1: Hlong, Set2: Hlong, SymmDiff: *mut Hlong) -> Herror;
9200}
9201unsafe extern "C" {
9202    pub fn T_tuple_is_string_elem(T: Htuple, IsString: *mut Htuple) -> Herror;
9203}
9204unsafe extern "C" {
9205    pub fn tuple_is_string_elem(T: *const ::std::os::raw::c_char, IsString: *mut Hlong) -> Herror;
9206}
9207unsafe extern "C" {
9208    pub fn T_tuple_is_real_elem(T: Htuple, IsReal: *mut Htuple) -> Herror;
9209}
9210unsafe extern "C" {
9211    pub fn tuple_is_real_elem(T: f64, IsReal: *mut Hlong) -> Herror;
9212}
9213unsafe extern "C" {
9214    pub fn T_tuple_is_int_elem(T: Htuple, IsInt: *mut Htuple) -> Herror;
9215}
9216unsafe extern "C" {
9217    pub fn tuple_is_int_elem(T: Hlong, IsInt: *mut Hlong) -> Herror;
9218}
9219unsafe extern "C" {
9220    pub fn T_tuple_type_elem(T: Htuple, Types: *mut Htuple) -> Herror;
9221}
9222unsafe extern "C" {
9223    pub fn tuple_type_elem(T: f64, Types: *mut Hlong) -> Herror;
9224}
9225unsafe extern "C" {
9226    pub fn T_tuple_is_mixed(T: Htuple, IsMixed: *mut Htuple) -> Herror;
9227}
9228unsafe extern "C" {
9229    pub fn tuple_is_mixed(T: *const ::std::os::raw::c_char, IsMixed: *mut Hlong) -> Herror;
9230}
9231unsafe extern "C" {
9232    pub fn T_tuple_is_string(T: Htuple, IsString: *mut Htuple) -> Herror;
9233}
9234unsafe extern "C" {
9235    pub fn tuple_is_string(T: *const ::std::os::raw::c_char, IsString: *mut Hlong) -> Herror;
9236}
9237unsafe extern "C" {
9238    pub fn T_tuple_is_real(T: Htuple, IsReal: *mut Htuple) -> Herror;
9239}
9240unsafe extern "C" {
9241    pub fn tuple_is_real(T: f64, IsReal: *mut Hlong) -> Herror;
9242}
9243unsafe extern "C" {
9244    pub fn T_tuple_is_int(T: Htuple, IsInt: *mut Htuple) -> Herror;
9245}
9246unsafe extern "C" {
9247    pub fn tuple_is_int(T: Hlong, IsInt: *mut Hlong) -> Herror;
9248}
9249unsafe extern "C" {
9250    pub fn T_tuple_type(T: Htuple, Type: *mut Htuple) -> Herror;
9251}
9252unsafe extern "C" {
9253    pub fn tuple_type(T: f64, Type: *mut Hlong) -> Herror;
9254}
9255unsafe extern "C" {
9256    pub fn T_tuple_histo_range(
9257        Tuple: Htuple,
9258        Min: Htuple,
9259        Max: Htuple,
9260        NumBins: Htuple,
9261        Histo: *mut Htuple,
9262        BinSize: *mut Htuple,
9263    ) -> Herror;
9264}
9265unsafe extern "C" {
9266    pub fn T_tuple_regexp_select(
9267        Data: Htuple,
9268        Expression: Htuple,
9269        Selection: *mut Htuple,
9270    ) -> Herror;
9271}
9272unsafe extern "C" {
9273    pub fn tuple_regexp_select(
9274        Data: *const ::std::os::raw::c_char,
9275        Expression: *const ::std::os::raw::c_char,
9276        Selection: *mut ::std::os::raw::c_char,
9277    ) -> Herror;
9278}
9279unsafe extern "C" {
9280    pub fn T_tuple_regexp_test(Data: Htuple, Expression: Htuple, NumMatches: *mut Htuple)
9281    -> Herror;
9282}
9283unsafe extern "C" {
9284    pub fn tuple_regexp_test(
9285        Data: *const ::std::os::raw::c_char,
9286        Expression: *const ::std::os::raw::c_char,
9287        NumMatches: *mut Hlong,
9288    ) -> Herror;
9289}
9290unsafe extern "C" {
9291    pub fn T_tuple_regexp_replace(
9292        Data: Htuple,
9293        Expression: Htuple,
9294        Replace: Htuple,
9295        Result: *mut Htuple,
9296    ) -> Herror;
9297}
9298unsafe extern "C" {
9299    pub fn tuple_regexp_replace(
9300        Data: *const ::std::os::raw::c_char,
9301        Expression: *const ::std::os::raw::c_char,
9302        Replace: *const ::std::os::raw::c_char,
9303        Result: *mut ::std::os::raw::c_char,
9304    ) -> Herror;
9305}
9306unsafe extern "C" {
9307    pub fn T_tuple_regexp_match(Data: Htuple, Expression: Htuple, Matches: *mut Htuple) -> Herror;
9308}
9309unsafe extern "C" {
9310    pub fn tuple_regexp_match(
9311        Data: *const ::std::os::raw::c_char,
9312        Expression: *const ::std::os::raw::c_char,
9313        Matches: *mut ::std::os::raw::c_char,
9314    ) -> Herror;
9315}
9316unsafe extern "C" {
9317    pub fn T_tuple_rand(Length: Htuple, Rand: *mut Htuple) -> Herror;
9318}
9319unsafe extern "C" {
9320    pub fn tuple_rand(Length: Hlong, Rand: *mut f64) -> Herror;
9321}
9322unsafe extern "C" {
9323    pub fn T_tuple_length(Tuple: Htuple, Length: *mut Htuple) -> Herror;
9324}
9325unsafe extern "C" {
9326    pub fn tuple_length(Tuple: Hlong, Length: *mut Hlong) -> Herror;
9327}
9328unsafe extern "C" {
9329    pub fn T_tuple_sgn(T: Htuple, Sgn: *mut Htuple) -> Herror;
9330}
9331unsafe extern "C" {
9332    pub fn tuple_sgn(T: f64, Sgn: *mut Hlong) -> Herror;
9333}
9334unsafe extern "C" {
9335    pub fn T_tuple_max2(T1: Htuple, T2: Htuple, Max2: *mut Htuple) -> Herror;
9336}
9337unsafe extern "C" {
9338    pub fn tuple_max2(T1: f64, T2: f64, Max2: *mut f64) -> Herror;
9339}
9340unsafe extern "C" {
9341    pub fn T_tuple_min2(T1: Htuple, T2: Htuple, Min2: *mut Htuple) -> Herror;
9342}
9343unsafe extern "C" {
9344    pub fn tuple_min2(T1: f64, T2: f64, Min2: *mut f64) -> Herror;
9345}
9346unsafe extern "C" {
9347    pub fn T_tuple_max(Tuple: Htuple, Max: *mut Htuple) -> Herror;
9348}
9349unsafe extern "C" {
9350    pub fn tuple_max(Tuple: Hlong, Max: *mut f64) -> Herror;
9351}
9352unsafe extern "C" {
9353    pub fn T_tuple_min(Tuple: Htuple, Min: *mut Htuple) -> Herror;
9354}
9355unsafe extern "C" {
9356    pub fn tuple_min(Tuple: Hlong, Min: *mut f64) -> Herror;
9357}
9358unsafe extern "C" {
9359    pub fn T_tuple_cumul(Tuple: Htuple, Cumul: *mut Htuple) -> Herror;
9360}
9361unsafe extern "C" {
9362    pub fn tuple_cumul(Tuple: Hlong, Cumul: *mut f64) -> Herror;
9363}
9364unsafe extern "C" {
9365    pub fn T_tuple_select_rank(Tuple: Htuple, RankIndex: Htuple, Selected: *mut Htuple) -> Herror;
9366}
9367unsafe extern "C" {
9368    pub fn tuple_select_rank(Tuple: Hlong, RankIndex: Hlong, Selected: *mut Hlong) -> Herror;
9369}
9370unsafe extern "C" {
9371    pub fn T_tuple_median(Tuple: Htuple, Median: *mut Htuple) -> Herror;
9372}
9373unsafe extern "C" {
9374    pub fn tuple_median(Tuple: Hlong, Median: *mut Hlong) -> Herror;
9375}
9376unsafe extern "C" {
9377    pub fn T_tuple_sum(Tuple: Htuple, Sum: *mut Htuple) -> Herror;
9378}
9379unsafe extern "C" {
9380    pub fn tuple_sum(Tuple: Hlong, Sum: *mut f64) -> Herror;
9381}
9382unsafe extern "C" {
9383    pub fn T_tuple_mean(Tuple: Htuple, Mean: *mut Htuple) -> Herror;
9384}
9385unsafe extern "C" {
9386    pub fn tuple_mean(Tuple: Hlong, Mean: *mut f64) -> Herror;
9387}
9388unsafe extern "C" {
9389    pub fn T_tuple_deviation(Tuple: Htuple, Deviation: *mut Htuple) -> Herror;
9390}
9391unsafe extern "C" {
9392    pub fn tuple_deviation(Tuple: Hlong, Deviation: *mut f64) -> Herror;
9393}
9394unsafe extern "C" {
9395    pub fn T_tuple_uniq(Tuple: Htuple, Uniq: *mut Htuple) -> Herror;
9396}
9397unsafe extern "C" {
9398    pub fn tuple_uniq(Tuple: Hlong, Uniq: *mut Hlong) -> Herror;
9399}
9400unsafe extern "C" {
9401    pub fn T_tuple_find_last(Tuple: Htuple, ToFind: Htuple, Index: *mut Htuple) -> Herror;
9402}
9403unsafe extern "C" {
9404    pub fn tuple_find_last(Tuple: Hlong, ToFind: Hlong, Index: *mut Hlong) -> Herror;
9405}
9406unsafe extern "C" {
9407    pub fn T_tuple_find_first(Tuple: Htuple, ToFind: Htuple, Index: *mut Htuple) -> Herror;
9408}
9409unsafe extern "C" {
9410    pub fn tuple_find_first(Tuple: Hlong, ToFind: Hlong, Index: *mut Hlong) -> Herror;
9411}
9412unsafe extern "C" {
9413    pub fn T_tuple_find(Tuple: Htuple, ToFind: Htuple, Indices: *mut Htuple) -> Herror;
9414}
9415unsafe extern "C" {
9416    pub fn tuple_find(Tuple: Hlong, ToFind: Hlong, Indices: *mut Hlong) -> Herror;
9417}
9418unsafe extern "C" {
9419    pub fn T_tuple_sort_index(Tuple: Htuple, Indices: *mut Htuple) -> Herror;
9420}
9421unsafe extern "C" {
9422    pub fn tuple_sort_index(Tuple: Hlong, Indices: *mut Hlong) -> Herror;
9423}
9424unsafe extern "C" {
9425    pub fn T_tuple_sort(Tuple: Htuple, Sorted: *mut Htuple) -> Herror;
9426}
9427unsafe extern "C" {
9428    pub fn tuple_sort(Tuple: Hlong, Sorted: *mut Hlong) -> Herror;
9429}
9430unsafe extern "C" {
9431    pub fn T_tuple_inverse(Tuple: Htuple, Inverted: *mut Htuple) -> Herror;
9432}
9433unsafe extern "C" {
9434    pub fn tuple_inverse(Tuple: Hlong, Inverted: *mut Hlong) -> Herror;
9435}
9436unsafe extern "C" {
9437    pub fn T_tuple_concat(T1: Htuple, T2: Htuple, Concat: *mut Htuple) -> Herror;
9438}
9439unsafe extern "C" {
9440    pub fn tuple_concat(T1: Hlong, T2: Hlong, Concat: *mut Hlong) -> Herror;
9441}
9442unsafe extern "C" {
9443    pub fn T_tuple_select_range(
9444        Tuple: Htuple,
9445        Leftindex: Htuple,
9446        Rightindex: Htuple,
9447        Selected: *mut Htuple,
9448    ) -> Herror;
9449}
9450unsafe extern "C" {
9451    pub fn tuple_select_range(
9452        Tuple: Hlong,
9453        Leftindex: Hlong,
9454        Rightindex: Hlong,
9455        Selected: *mut Hlong,
9456    ) -> Herror;
9457}
9458unsafe extern "C" {
9459    pub fn T_tuple_last_n(Tuple: Htuple, Index: Htuple, Selected: *mut Htuple) -> Herror;
9460}
9461unsafe extern "C" {
9462    pub fn tuple_last_n(Tuple: Hlong, Index: Hlong, Selected: *mut Hlong) -> Herror;
9463}
9464unsafe extern "C" {
9465    pub fn T_tuple_first_n(Tuple: Htuple, Index: Htuple, Selected: *mut Htuple) -> Herror;
9466}
9467unsafe extern "C" {
9468    pub fn tuple_first_n(Tuple: Hlong, Index: Hlong, Selected: *mut Hlong) -> Herror;
9469}
9470unsafe extern "C" {
9471    pub fn T_tuple_insert(
9472        Tuple: Htuple,
9473        Index: Htuple,
9474        InsertTuple: Htuple,
9475        Extended: *mut Htuple,
9476    ) -> Herror;
9477}
9478unsafe extern "C" {
9479    pub fn T_tuple_replace(
9480        Tuple: Htuple,
9481        Index: Htuple,
9482        ReplaceTuple: Htuple,
9483        Replaced: *mut Htuple,
9484    ) -> Herror;
9485}
9486unsafe extern "C" {
9487    pub fn T_tuple_remove(Tuple: Htuple, Index: Htuple, Reduced: *mut Htuple) -> Herror;
9488}
9489unsafe extern "C" {
9490    pub fn tuple_remove(Tuple: Hlong, Index: Hlong, Reduced: *mut Hlong) -> Herror;
9491}
9492unsafe extern "C" {
9493    pub fn T_tuple_select_mask(Tuple: Htuple, Mask: Htuple, Selected: *mut Htuple) -> Herror;
9494}
9495unsafe extern "C" {
9496    pub fn tuple_select_mask(Tuple: Hlong, Mask: Hlong, Selected: *mut Hlong) -> Herror;
9497}
9498unsafe extern "C" {
9499    pub fn T_tuple_select(Tuple: Htuple, Index: Htuple, Selected: *mut Htuple) -> Herror;
9500}
9501unsafe extern "C" {
9502    pub fn tuple_select(Tuple: Hlong, Index: Hlong, Selected: *mut Hlong) -> Herror;
9503}
9504unsafe extern "C" {
9505    pub fn T_tuple_str_bit_select(Tuple: Htuple, Index: Htuple, Selected: *mut Htuple) -> Herror;
9506}
9507unsafe extern "C" {
9508    pub fn tuple_str_bit_select(
9509        Tuple: *const ::std::os::raw::c_char,
9510        Index: Hlong,
9511        Selected: *mut ::std::os::raw::c_char,
9512    ) -> Herror;
9513}
9514unsafe extern "C" {
9515    pub fn T_tuple_gen_sequence(
9516        Start: Htuple,
9517        End: Htuple,
9518        Step: Htuple,
9519        Sequence: *mut Htuple,
9520    ) -> Herror;
9521}
9522unsafe extern "C" {
9523    pub fn tuple_gen_sequence(
9524        Start: Hlong,
9525        End: Hlong,
9526        Step: Hlong,
9527        Sequence: *mut Hlong,
9528    ) -> Herror;
9529}
9530unsafe extern "C" {
9531    pub fn T_tuple_gen_const(Length: Htuple, Const: Htuple, Newtuple: *mut Htuple) -> Herror;
9532}
9533unsafe extern "C" {
9534    pub fn tuple_gen_const(Length: Hlong, Const: Hlong, Newtuple: *mut Hlong) -> Herror;
9535}
9536unsafe extern "C" {
9537    pub fn T_tuple_environment(Names: Htuple, Values: *mut Htuple) -> Herror;
9538}
9539unsafe extern "C" {
9540    pub fn tuple_environment(
9541        Names: *const ::std::os::raw::c_char,
9542        Values: *mut ::std::os::raw::c_char,
9543    ) -> Herror;
9544}
9545unsafe extern "C" {
9546    pub fn T_tuple_split(String: Htuple, Separator: Htuple, Substrings: *mut Htuple) -> Herror;
9547}
9548unsafe extern "C" {
9549    pub fn tuple_split(
9550        String: *const ::std::os::raw::c_char,
9551        Separator: *const ::std::os::raw::c_char,
9552        Substrings: *mut ::std::os::raw::c_char,
9553    ) -> Herror;
9554}
9555unsafe extern "C" {
9556    pub fn T_tuple_substr(
9557        String: Htuple,
9558        Position1: Htuple,
9559        Position2: Htuple,
9560        Substring: *mut Htuple,
9561    ) -> Herror;
9562}
9563unsafe extern "C" {
9564    pub fn tuple_substr(
9565        String: *const ::std::os::raw::c_char,
9566        Position1: Hlong,
9567        Position2: Hlong,
9568        Substring: *mut ::std::os::raw::c_char,
9569    ) -> Herror;
9570}
9571unsafe extern "C" {
9572    pub fn T_tuple_str_last_n(String: Htuple, Position: Htuple, Substring: *mut Htuple) -> Herror;
9573}
9574unsafe extern "C" {
9575    pub fn tuple_str_last_n(
9576        String: *const ::std::os::raw::c_char,
9577        Position: Hlong,
9578        Substring: *mut ::std::os::raw::c_char,
9579    ) -> Herror;
9580}
9581unsafe extern "C" {
9582    pub fn T_tuple_str_first_n(String: Htuple, Position: Htuple, Substring: *mut Htuple) -> Herror;
9583}
9584unsafe extern "C" {
9585    pub fn tuple_str_first_n(
9586        String: *const ::std::os::raw::c_char,
9587        Position: Hlong,
9588        Substring: *mut ::std::os::raw::c_char,
9589    ) -> Herror;
9590}
9591unsafe extern "C" {
9592    pub fn T_tuple_strrchr(String: Htuple, ToFind: Htuple, Position: *mut Htuple) -> Herror;
9593}
9594unsafe extern "C" {
9595    pub fn tuple_strrchr(
9596        String: *const ::std::os::raw::c_char,
9597        ToFind: *const ::std::os::raw::c_char,
9598        Position: *mut Hlong,
9599    ) -> Herror;
9600}
9601unsafe extern "C" {
9602    pub fn T_tuple_strchr(String: Htuple, ToFind: Htuple, Position: *mut Htuple) -> Herror;
9603}
9604unsafe extern "C" {
9605    pub fn tuple_strchr(
9606        String: *const ::std::os::raw::c_char,
9607        ToFind: *const ::std::os::raw::c_char,
9608        Position: *mut Hlong,
9609    ) -> Herror;
9610}
9611unsafe extern "C" {
9612    pub fn T_tuple_strrstr(String: Htuple, ToFind: Htuple, Position: *mut Htuple) -> Herror;
9613}
9614unsafe extern "C" {
9615    pub fn tuple_strrstr(
9616        String: *const ::std::os::raw::c_char,
9617        ToFind: *const ::std::os::raw::c_char,
9618        Position: *mut Hlong,
9619    ) -> Herror;
9620}
9621unsafe extern "C" {
9622    pub fn T_tuple_strstr(String: Htuple, ToFind: Htuple, Position: *mut Htuple) -> Herror;
9623}
9624unsafe extern "C" {
9625    pub fn tuple_strstr(
9626        String: *const ::std::os::raw::c_char,
9627        ToFind: *const ::std::os::raw::c_char,
9628        Position: *mut Hlong,
9629    ) -> Herror;
9630}
9631unsafe extern "C" {
9632    pub fn T_tuple_strlen(T1: Htuple, Length: *mut Htuple) -> Herror;
9633}
9634unsafe extern "C" {
9635    pub fn tuple_strlen(T1: *const ::std::os::raw::c_char, Length: *mut Hlong) -> Herror;
9636}
9637unsafe extern "C" {
9638    pub fn T_tuple_less_equal_elem(T1: Htuple, T2: Htuple, Lesseq: *mut Htuple) -> Herror;
9639}
9640unsafe extern "C" {
9641    pub fn tuple_less_equal_elem(T1: Hlong, T2: Hlong, Lesseq: *mut Hlong) -> Herror;
9642}
9643unsafe extern "C" {
9644    pub fn T_tuple_less_elem(T1: Htuple, T2: Htuple, Less: *mut Htuple) -> Herror;
9645}
9646unsafe extern "C" {
9647    pub fn tuple_less_elem(T1: Hlong, T2: Hlong, Less: *mut Hlong) -> Herror;
9648}
9649unsafe extern "C" {
9650    pub fn T_tuple_greater_equal_elem(T1: Htuple, T2: Htuple, Greatereq: *mut Htuple) -> Herror;
9651}
9652unsafe extern "C" {
9653    pub fn tuple_greater_equal_elem(T1: Hlong, T2: Hlong, Greatereq: *mut Hlong) -> Herror;
9654}
9655unsafe extern "C" {
9656    pub fn T_tuple_greater_elem(T1: Htuple, T2: Htuple, Greater: *mut Htuple) -> Herror;
9657}
9658unsafe extern "C" {
9659    pub fn tuple_greater_elem(T1: Hlong, T2: Hlong, Greater: *mut Hlong) -> Herror;
9660}
9661unsafe extern "C" {
9662    pub fn T_tuple_not_equal_elem(T1: Htuple, T2: Htuple, Nequal: *mut Htuple) -> Herror;
9663}
9664unsafe extern "C" {
9665    pub fn tuple_not_equal_elem(T1: Hlong, T2: Hlong, Nequal: *mut Hlong) -> Herror;
9666}
9667unsafe extern "C" {
9668    pub fn T_tuple_equal_elem(T1: Htuple, T2: Htuple, Equal: *mut Htuple) -> Herror;
9669}
9670unsafe extern "C" {
9671    pub fn tuple_equal_elem(T1: Hlong, T2: Hlong, Equal: *mut Hlong) -> Herror;
9672}
9673unsafe extern "C" {
9674    pub fn T_tuple_less_equal(T1: Htuple, T2: Htuple, Lesseq: *mut Htuple) -> Herror;
9675}
9676unsafe extern "C" {
9677    pub fn tuple_less_equal(T1: Hlong, T2: Hlong, Lesseq: *mut Hlong) -> Herror;
9678}
9679unsafe extern "C" {
9680    pub fn T_tuple_less(T1: Htuple, T2: Htuple, Less: *mut Htuple) -> Herror;
9681}
9682unsafe extern "C" {
9683    pub fn tuple_less(T1: Hlong, T2: Hlong, Less: *mut Hlong) -> Herror;
9684}
9685unsafe extern "C" {
9686    pub fn T_tuple_greater_equal(T1: Htuple, T2: Htuple, Greatereq: *mut Htuple) -> Herror;
9687}
9688unsafe extern "C" {
9689    pub fn tuple_greater_equal(T1: Hlong, T2: Hlong, Greatereq: *mut Hlong) -> Herror;
9690}
9691unsafe extern "C" {
9692    pub fn T_tuple_greater(T1: Htuple, T2: Htuple, Greater: *mut Htuple) -> Herror;
9693}
9694unsafe extern "C" {
9695    pub fn tuple_greater(T1: Hlong, T2: Hlong, Greater: *mut Hlong) -> Herror;
9696}
9697unsafe extern "C" {
9698    pub fn T_tuple_not_equal(T1: Htuple, T2: Htuple, Nequal: *mut Htuple) -> Herror;
9699}
9700unsafe extern "C" {
9701    pub fn tuple_not_equal(T1: Hlong, T2: Hlong, Nequal: *mut Hlong) -> Herror;
9702}
9703unsafe extern "C" {
9704    pub fn T_tuple_equal(T1: Htuple, T2: Htuple, Equal: *mut Htuple) -> Herror;
9705}
9706unsafe extern "C" {
9707    pub fn tuple_equal(T1: Hlong, T2: Hlong, Equal: *mut Hlong) -> Herror;
9708}
9709unsafe extern "C" {
9710    pub fn T_tuple_not(T: Htuple, Not: *mut Htuple) -> Herror;
9711}
9712unsafe extern "C" {
9713    pub fn tuple_not(T: Hlong, Not: *mut Hlong) -> Herror;
9714}
9715unsafe extern "C" {
9716    pub fn T_tuple_xor(T1: Htuple, T2: Htuple, Xor: *mut Htuple) -> Herror;
9717}
9718unsafe extern "C" {
9719    pub fn tuple_xor(T1: Hlong, T2: Hlong, Xor: *mut Hlong) -> Herror;
9720}
9721unsafe extern "C" {
9722    pub fn T_tuple_or(T1: Htuple, T2: Htuple, Or: *mut Htuple) -> Herror;
9723}
9724unsafe extern "C" {
9725    pub fn tuple_or(T1: Hlong, T2: Hlong, Or: *mut Hlong) -> Herror;
9726}
9727unsafe extern "C" {
9728    pub fn T_tuple_and(T1: Htuple, T2: Htuple, And: *mut Htuple) -> Herror;
9729}
9730unsafe extern "C" {
9731    pub fn tuple_and(T1: Hlong, T2: Hlong, And: *mut Hlong) -> Herror;
9732}
9733unsafe extern "C" {
9734    pub fn T_tuple_bnot(T: Htuple, BNot: *mut Htuple) -> Herror;
9735}
9736unsafe extern "C" {
9737    pub fn tuple_bnot(T: Hlong, BNot: *mut Hlong) -> Herror;
9738}
9739unsafe extern "C" {
9740    pub fn T_tuple_bxor(T1: Htuple, T2: Htuple, BXor: *mut Htuple) -> Herror;
9741}
9742unsafe extern "C" {
9743    pub fn tuple_bxor(T1: Hlong, T2: Hlong, BXor: *mut Hlong) -> Herror;
9744}
9745unsafe extern "C" {
9746    pub fn T_tuple_bor(T1: Htuple, T2: Htuple, BOr: *mut Htuple) -> Herror;
9747}
9748unsafe extern "C" {
9749    pub fn tuple_bor(T1: Hlong, T2: Hlong, BOr: *mut Hlong) -> Herror;
9750}
9751unsafe extern "C" {
9752    pub fn T_tuple_band(T1: Htuple, T2: Htuple, BAnd: *mut Htuple) -> Herror;
9753}
9754unsafe extern "C" {
9755    pub fn tuple_band(T1: Hlong, T2: Hlong, BAnd: *mut Hlong) -> Herror;
9756}
9757unsafe extern "C" {
9758    pub fn T_tuple_rsh(T: Htuple, Shift: Htuple, Rsh: *mut Htuple) -> Herror;
9759}
9760unsafe extern "C" {
9761    pub fn tuple_rsh(T: Hlong, Shift: Hlong, Rsh: *mut Hlong) -> Herror;
9762}
9763unsafe extern "C" {
9764    pub fn T_tuple_lsh(T: Htuple, Shift: Htuple, Lsh: *mut Htuple) -> Herror;
9765}
9766unsafe extern "C" {
9767    pub fn tuple_lsh(T: Hlong, Shift: Hlong, Lsh: *mut Hlong) -> Herror;
9768}
9769unsafe extern "C" {
9770    pub fn T_tuple_chrt(T: Htuple, Chrt: *mut Htuple) -> Herror;
9771}
9772unsafe extern "C" {
9773    pub fn tuple_chrt(T: Hlong, Chrt: *mut ::std::os::raw::c_char) -> Herror;
9774}
9775unsafe extern "C" {
9776    pub fn T_tuple_ords(T: Htuple, Ords: *mut Htuple) -> Herror;
9777}
9778unsafe extern "C" {
9779    pub fn tuple_ords(T: *const ::std::os::raw::c_char, Ords: *mut Hlong) -> Herror;
9780}
9781unsafe extern "C" {
9782    pub fn T_tuple_chr(T: Htuple, Chr: *mut Htuple) -> Herror;
9783}
9784unsafe extern "C" {
9785    pub fn tuple_chr(T: Hlong, Chr: *mut ::std::os::raw::c_char) -> Herror;
9786}
9787unsafe extern "C" {
9788    pub fn T_tuple_ord(T: Htuple, Ord: *mut Htuple) -> Herror;
9789}
9790unsafe extern "C" {
9791    pub fn tuple_ord(T: *const ::std::os::raw::c_char, Ord: *mut Hlong) -> Herror;
9792}
9793unsafe extern "C" {
9794    pub fn T_tuple_string(T: Htuple, Format: Htuple, String: *mut Htuple) -> Herror;
9795}
9796unsafe extern "C" {
9797    pub fn tuple_string(
9798        T: f64,
9799        Format: *const ::std::os::raw::c_char,
9800        String: *mut ::std::os::raw::c_char,
9801    ) -> Herror;
9802}
9803unsafe extern "C" {
9804    pub fn T_tuple_is_number(T: Htuple, IsNumber: *mut Htuple) -> Herror;
9805}
9806unsafe extern "C" {
9807    pub fn tuple_is_number(T: f64, IsNumber: *mut Hlong) -> Herror;
9808}
9809unsafe extern "C" {
9810    pub fn T_tuple_number(T: Htuple, Number: *mut Htuple) -> Herror;
9811}
9812unsafe extern "C" {
9813    pub fn tuple_number(T: *const ::std::os::raw::c_char, Number: *mut f64) -> Herror;
9814}
9815unsafe extern "C" {
9816    pub fn T_tuple_round(T: Htuple, Round: *mut Htuple) -> Herror;
9817}
9818unsafe extern "C" {
9819    pub fn tuple_round(T: f64, Round: *mut Hlong) -> Herror;
9820}
9821unsafe extern "C" {
9822    pub fn T_tuple_int(T: Htuple, Int: *mut Htuple) -> Herror;
9823}
9824unsafe extern "C" {
9825    pub fn tuple_int(T: f64, Int: *mut Hlong) -> Herror;
9826}
9827unsafe extern "C" {
9828    pub fn T_tuple_real(T: Htuple, Real: *mut Htuple) -> Herror;
9829}
9830unsafe extern "C" {
9831    pub fn tuple_real(T: f64, Real: *mut f64) -> Herror;
9832}
9833unsafe extern "C" {
9834    pub fn T_tuple_ldexp(T1: Htuple, T2: Htuple, Ldexp: *mut Htuple) -> Herror;
9835}
9836unsafe extern "C" {
9837    pub fn tuple_ldexp(T1: f64, T2: f64, Ldexp: *mut f64) -> Herror;
9838}
9839unsafe extern "C" {
9840    pub fn T_tuple_fmod(T1: Htuple, T2: Htuple, Fmod: *mut Htuple) -> Herror;
9841}
9842unsafe extern "C" {
9843    pub fn tuple_fmod(T1: f64, T2: f64, Fmod: *mut f64) -> Herror;
9844}
9845unsafe extern "C" {
9846    pub fn T_tuple_mod(T1: Htuple, T2: Htuple, Mod: *mut Htuple) -> Herror;
9847}
9848unsafe extern "C" {
9849    pub fn tuple_mod(T1: Hlong, T2: Hlong, Mod: *mut Hlong) -> Herror;
9850}
9851unsafe extern "C" {
9852    pub fn T_tuple_ceil(T: Htuple, Ceil: *mut Htuple) -> Herror;
9853}
9854unsafe extern "C" {
9855    pub fn tuple_ceil(T: f64, Ceil: *mut f64) -> Herror;
9856}
9857unsafe extern "C" {
9858    pub fn T_tuple_floor(T: Htuple, Floor: *mut Htuple) -> Herror;
9859}
9860unsafe extern "C" {
9861    pub fn tuple_floor(T: f64, Floor: *mut f64) -> Herror;
9862}
9863unsafe extern "C" {
9864    pub fn T_tuple_pow(T1: Htuple, T2: Htuple, Pow: *mut Htuple) -> Herror;
9865}
9866unsafe extern "C" {
9867    pub fn tuple_pow(T1: f64, T2: f64, Pow: *mut f64) -> Herror;
9868}
9869unsafe extern "C" {
9870    pub fn T_tuple_log10(T: Htuple, Log: *mut Htuple) -> Herror;
9871}
9872unsafe extern "C" {
9873    pub fn tuple_log10(T: f64, Log: *mut f64) -> Herror;
9874}
9875unsafe extern "C" {
9876    pub fn T_tuple_log(T: Htuple, Log: *mut Htuple) -> Herror;
9877}
9878unsafe extern "C" {
9879    pub fn tuple_log(T: f64, Log: *mut f64) -> Herror;
9880}
9881unsafe extern "C" {
9882    pub fn T_tuple_exp(T: Htuple, Exp: *mut Htuple) -> Herror;
9883}
9884unsafe extern "C" {
9885    pub fn tuple_exp(T: f64, Exp: *mut f64) -> Herror;
9886}
9887unsafe extern "C" {
9888    pub fn T_tuple_tanh(T: Htuple, Tanh: *mut Htuple) -> Herror;
9889}
9890unsafe extern "C" {
9891    pub fn tuple_tanh(T: f64, Tanh: *mut f64) -> Herror;
9892}
9893unsafe extern "C" {
9894    pub fn T_tuple_cosh(T: Htuple, Cosh: *mut Htuple) -> Herror;
9895}
9896unsafe extern "C" {
9897    pub fn tuple_cosh(T: f64, Cosh: *mut f64) -> Herror;
9898}
9899unsafe extern "C" {
9900    pub fn T_tuple_sinh(T: Htuple, Sinh: *mut Htuple) -> Herror;
9901}
9902unsafe extern "C" {
9903    pub fn tuple_sinh(T: f64, Sinh: *mut f64) -> Herror;
9904}
9905unsafe extern "C" {
9906    pub fn T_tuple_rad(Deg: Htuple, Rad: *mut Htuple) -> Herror;
9907}
9908unsafe extern "C" {
9909    pub fn tuple_rad(Deg: f64, Rad: *mut f64) -> Herror;
9910}
9911unsafe extern "C" {
9912    pub fn T_tuple_deg(Rad: Htuple, Deg: *mut Htuple) -> Herror;
9913}
9914unsafe extern "C" {
9915    pub fn tuple_deg(Rad: f64, Deg: *mut f64) -> Herror;
9916}
9917unsafe extern "C" {
9918    pub fn T_tuple_atan2(Y: Htuple, X: Htuple, ATan: *mut Htuple) -> Herror;
9919}
9920unsafe extern "C" {
9921    pub fn tuple_atan2(Y: f64, X: f64, ATan: *mut f64) -> Herror;
9922}
9923unsafe extern "C" {
9924    pub fn T_tuple_atan(T: Htuple, ATan: *mut Htuple) -> Herror;
9925}
9926unsafe extern "C" {
9927    pub fn tuple_atan(T: f64, ATan: *mut f64) -> Herror;
9928}
9929unsafe extern "C" {
9930    pub fn T_tuple_acos(T: Htuple, ACos: *mut Htuple) -> Herror;
9931}
9932unsafe extern "C" {
9933    pub fn tuple_acos(T: f64, ACos: *mut f64) -> Herror;
9934}
9935unsafe extern "C" {
9936    pub fn T_tuple_asin(T: Htuple, ASin: *mut Htuple) -> Herror;
9937}
9938unsafe extern "C" {
9939    pub fn tuple_asin(T: f64, ASin: *mut f64) -> Herror;
9940}
9941unsafe extern "C" {
9942    pub fn T_tuple_tan(T: Htuple, Tan: *mut Htuple) -> Herror;
9943}
9944unsafe extern "C" {
9945    pub fn tuple_tan(T: f64, Tan: *mut f64) -> Herror;
9946}
9947unsafe extern "C" {
9948    pub fn T_tuple_cos(T: Htuple, Cos: *mut Htuple) -> Herror;
9949}
9950unsafe extern "C" {
9951    pub fn tuple_cos(T: f64, Cos: *mut f64) -> Herror;
9952}
9953unsafe extern "C" {
9954    pub fn T_tuple_sin(T: Htuple, Sin: *mut Htuple) -> Herror;
9955}
9956unsafe extern "C" {
9957    pub fn tuple_sin(T: f64, Sin: *mut f64) -> Herror;
9958}
9959unsafe extern "C" {
9960    pub fn T_tuple_fabs(T: Htuple, Abs: *mut Htuple) -> Herror;
9961}
9962unsafe extern "C" {
9963    pub fn tuple_fabs(T: f64, Abs: *mut f64) -> Herror;
9964}
9965unsafe extern "C" {
9966    pub fn T_tuple_sqrt(T: Htuple, Sqrt: *mut Htuple) -> Herror;
9967}
9968unsafe extern "C" {
9969    pub fn tuple_sqrt(T: f64, Sqrt: *mut f64) -> Herror;
9970}
9971unsafe extern "C" {
9972    pub fn T_tuple_abs(T: Htuple, Abs: *mut Htuple) -> Herror;
9973}
9974unsafe extern "C" {
9975    pub fn tuple_abs(T: f64, Abs: *mut f64) -> Herror;
9976}
9977unsafe extern "C" {
9978    pub fn T_tuple_neg(T: Htuple, Neg: *mut Htuple) -> Herror;
9979}
9980unsafe extern "C" {
9981    pub fn tuple_neg(T: f64, Neg: *mut f64) -> Herror;
9982}
9983unsafe extern "C" {
9984    pub fn T_tuple_div(Q1: Htuple, Q2: Htuple, Quot: *mut Htuple) -> Herror;
9985}
9986unsafe extern "C" {
9987    pub fn tuple_div(Q1: f64, Q2: f64, Quot: *mut f64) -> Herror;
9988}
9989unsafe extern "C" {
9990    pub fn T_tuple_mult(P1: Htuple, P2: Htuple, Prod: *mut Htuple) -> Herror;
9991}
9992unsafe extern "C" {
9993    pub fn tuple_mult(P1: f64, P2: f64, Prod: *mut f64) -> Herror;
9994}
9995unsafe extern "C" {
9996    pub fn T_tuple_sub(D1: Htuple, D2: Htuple, Diff: *mut Htuple) -> Herror;
9997}
9998unsafe extern "C" {
9999    pub fn tuple_sub(D1: f64, D2: f64, Diff: *mut f64) -> Herror;
10000}
10001unsafe extern "C" {
10002    pub fn T_tuple_add(S1: Htuple, S2: Htuple, Sum: *mut Htuple) -> Herror;
10003}
10004unsafe extern "C" {
10005    pub fn tuple_add(S1: f64, S2: f64, Sum: *mut f64) -> Herror;
10006}
10007unsafe extern "C" {
10008    pub fn T_deserialize_tuple(SerializedItemHandle: Htuple, Tuple: *mut Htuple) -> Herror;
10009}
10010unsafe extern "C" {
10011    pub fn deserialize_tuple(SerializedItemHandle: Hlong, Tuple: *mut f64) -> Herror;
10012}
10013unsafe extern "C" {
10014    pub fn T_serialize_tuple(Tuple: Htuple, SerializedItemHandle: *mut Htuple) -> Herror;
10015}
10016unsafe extern "C" {
10017    pub fn serialize_tuple(Tuple: f64, SerializedItemHandle: *mut Hlong) -> Herror;
10018}
10019unsafe extern "C" {
10020    pub fn T_write_tuple(Tuple: Htuple, FileName: Htuple) -> Herror;
10021}
10022unsafe extern "C" {
10023    pub fn write_tuple(Tuple: f64, FileName: *const ::std::os::raw::c_char) -> Herror;
10024}
10025unsafe extern "C" {
10026    pub fn T_read_tuple(FileName: Htuple, Tuple: *mut Htuple) -> Herror;
10027}
10028unsafe extern "C" {
10029    pub fn read_tuple(FileName: *const ::std::os::raw::c_char, Tuple: *mut f64) -> Herror;
10030}
10031unsafe extern "C" {
10032    pub fn T_pose_average(
10033        Poses: Htuple,
10034        Weights: Htuple,
10035        Mode: Htuple,
10036        SigmaT: Htuple,
10037        SigmaR: Htuple,
10038        AveragePose: *mut Htuple,
10039        Quality: *mut Htuple,
10040    ) -> Herror;
10041}
10042unsafe extern "C" {
10043    pub fn T_quat_rotate_point_3d(
10044        Quaternion: Htuple,
10045        Px: Htuple,
10046        Py: Htuple,
10047        Pz: Htuple,
10048        Qx: *mut Htuple,
10049        Qy: *mut Htuple,
10050        Qz: *mut Htuple,
10051    ) -> Herror;
10052}
10053unsafe extern "C" {
10054    pub fn T_quat_conjugate(Quaternion: Htuple, ConjugatedQuaternion: *mut Htuple) -> Herror;
10055}
10056unsafe extern "C" {
10057    pub fn T_quat_normalize(Quaternion: Htuple, NormalizedQuaternion: *mut Htuple) -> Herror;
10058}
10059unsafe extern "C" {
10060    pub fn T_axis_angle_to_quat(
10061        AxisX: Htuple,
10062        AxisY: Htuple,
10063        AxisZ: Htuple,
10064        Angle: Htuple,
10065        Quaternion: *mut Htuple,
10066    ) -> Herror;
10067}
10068unsafe extern "C" {
10069    pub fn T_quat_to_pose(Quaternion: Htuple, Pose: *mut Htuple) -> Herror;
10070}
10071unsafe extern "C" {
10072    pub fn T_pose_invert(Pose: Htuple, PoseInvert: *mut Htuple) -> Herror;
10073}
10074unsafe extern "C" {
10075    pub fn T_pose_compose(PoseLeft: Htuple, PoseRight: Htuple, PoseCompose: *mut Htuple) -> Herror;
10076}
10077unsafe extern "C" {
10078    pub fn T_quat_to_hom_mat3d(Quaternion: Htuple, RotationMatrix: *mut Htuple) -> Herror;
10079}
10080unsafe extern "C" {
10081    pub fn T_pose_to_quat(Pose: Htuple, Quaternion: *mut Htuple) -> Herror;
10082}
10083unsafe extern "C" {
10084    pub fn T_quat_interpolate(
10085        QuaternionStart: Htuple,
10086        QuaternionEnd: Htuple,
10087        InterpPos: Htuple,
10088        QuaternionInterpolated: *mut Htuple,
10089    ) -> Herror;
10090}
10091unsafe extern "C" {
10092    pub fn T_quat_compose(
10093        QuaternionLeft: Htuple,
10094        QuaternionRight: Htuple,
10095        QuaternionComposed: *mut Htuple,
10096    ) -> Herror;
10097}
10098unsafe extern "C" {
10099    pub fn T_deserialize_hom_mat3d(SerializedItemHandle: Htuple, HomMat3D: *mut Htuple) -> Herror;
10100}
10101unsafe extern "C" {
10102    pub fn T_serialize_hom_mat3d(HomMat3D: Htuple, SerializedItemHandle: *mut Htuple) -> Herror;
10103}
10104unsafe extern "C" {
10105    pub fn T_deserialize_hom_mat2d(SerializedItemHandle: Htuple, HomMat2D: *mut Htuple) -> Herror;
10106}
10107unsafe extern "C" {
10108    pub fn T_serialize_hom_mat2d(HomMat2D: Htuple, SerializedItemHandle: *mut Htuple) -> Herror;
10109}
10110unsafe extern "C" {
10111    pub fn T_deserialize_quat(SerializedItemHandle: Htuple, Quaternion: *mut Htuple) -> Herror;
10112}
10113unsafe extern "C" {
10114    pub fn T_serialize_quat(Quaternion: Htuple, SerializedItemHandle: *mut Htuple) -> Herror;
10115}
10116unsafe extern "C" {
10117    pub fn T_projective_trans_hom_point_3d(
10118        HomMat3D: Htuple,
10119        Px: Htuple,
10120        Py: Htuple,
10121        Pz: Htuple,
10122        Pw: Htuple,
10123        Qx: *mut Htuple,
10124        Qy: *mut Htuple,
10125        Qz: *mut Htuple,
10126        Qw: *mut Htuple,
10127    ) -> Herror;
10128}
10129unsafe extern "C" {
10130    pub fn T_projective_trans_point_3d(
10131        HomMat3D: Htuple,
10132        Px: Htuple,
10133        Py: Htuple,
10134        Pz: Htuple,
10135        Qx: *mut Htuple,
10136        Qy: *mut Htuple,
10137        Qz: *mut Htuple,
10138    ) -> Herror;
10139}
10140unsafe extern "C" {
10141    pub fn T_affine_trans_point_3d(
10142        HomMat3D: Htuple,
10143        Px: Htuple,
10144        Py: Htuple,
10145        Pz: Htuple,
10146        Qx: *mut Htuple,
10147        Qy: *mut Htuple,
10148        Qz: *mut Htuple,
10149    ) -> Herror;
10150}
10151unsafe extern "C" {
10152    pub fn T_vector_to_hom_mat3d(
10153        TransformationType: Htuple,
10154        Px: Htuple,
10155        Py: Htuple,
10156        Pz: Htuple,
10157        Qx: Htuple,
10158        Qy: Htuple,
10159        Qz: Htuple,
10160        HomMat3D: *mut Htuple,
10161    ) -> Herror;
10162}
10163unsafe extern "C" {
10164    pub fn T_hom_mat3d_determinant(HomMat3D: Htuple, Determinant: *mut Htuple) -> Herror;
10165}
10166unsafe extern "C" {
10167    pub fn T_hom_mat3d_transpose(HomMat3D: Htuple, HomMat3DTranspose: *mut Htuple) -> Herror;
10168}
10169unsafe extern "C" {
10170    pub fn T_hom_mat3d_invert(HomMat3D: Htuple, HomMat3DInvert: *mut Htuple) -> Herror;
10171}
10172unsafe extern "C" {
10173    pub fn T_hom_mat3d_compose(
10174        HomMat3DLeft: Htuple,
10175        HomMat3DRight: Htuple,
10176        HomMat3DCompose: *mut Htuple,
10177    ) -> Herror;
10178}
10179unsafe extern "C" {
10180    pub fn T_hom_mat3d_rotate_local(
10181        HomMat3D: Htuple,
10182        Phi: Htuple,
10183        Axis: Htuple,
10184        HomMat3DRotate: *mut Htuple,
10185    ) -> Herror;
10186}
10187unsafe extern "C" {
10188    pub fn T_hom_mat3d_rotate(
10189        HomMat3D: Htuple,
10190        Phi: Htuple,
10191        Axis: Htuple,
10192        Px: Htuple,
10193        Py: Htuple,
10194        Pz: Htuple,
10195        HomMat3DRotate: *mut Htuple,
10196    ) -> Herror;
10197}
10198unsafe extern "C" {
10199    pub fn T_hom_mat3d_scale_local(
10200        HomMat3D: Htuple,
10201        Sx: Htuple,
10202        Sy: Htuple,
10203        Sz: Htuple,
10204        HomMat3DScale: *mut Htuple,
10205    ) -> Herror;
10206}
10207unsafe extern "C" {
10208    pub fn T_hom_mat3d_scale(
10209        HomMat3D: Htuple,
10210        Sx: Htuple,
10211        Sy: Htuple,
10212        Sz: Htuple,
10213        Px: Htuple,
10214        Py: Htuple,
10215        Pz: Htuple,
10216        HomMat3DScale: *mut Htuple,
10217    ) -> Herror;
10218}
10219unsafe extern "C" {
10220    pub fn T_hom_mat3d_translate_local(
10221        HomMat3D: Htuple,
10222        Tx: Htuple,
10223        Ty: Htuple,
10224        Tz: Htuple,
10225        HomMat3DTranslate: *mut Htuple,
10226    ) -> Herror;
10227}
10228unsafe extern "C" {
10229    pub fn T_hom_mat3d_translate(
10230        HomMat3D: Htuple,
10231        Tx: Htuple,
10232        Ty: Htuple,
10233        Tz: Htuple,
10234        HomMat3DTranslate: *mut Htuple,
10235    ) -> Herror;
10236}
10237unsafe extern "C" {
10238    pub fn T_hom_mat3d_identity(HomMat3DIdentity: *mut Htuple) -> Herror;
10239}
10240unsafe extern "C" {
10241    pub fn T_hom_mat3d_project(
10242        HomMat3D: Htuple,
10243        PrincipalPointRow: Htuple,
10244        PrincipalPointCol: Htuple,
10245        Focus: Htuple,
10246        HomMat2D: *mut Htuple,
10247    ) -> Herror;
10248}
10249unsafe extern "C" {
10250    pub fn T_bundle_adjust_mosaic(
10251        NumImages: Htuple,
10252        ReferenceImage: Htuple,
10253        MappingSource: Htuple,
10254        MappingDest: Htuple,
10255        HomMatrices2D: Htuple,
10256        Rows1: Htuple,
10257        Cols1: Htuple,
10258        Rows2: Htuple,
10259        Cols2: Htuple,
10260        NumCorrespondences: Htuple,
10261        Transformation: Htuple,
10262        MosaicMatrices2D: *mut Htuple,
10263        Rows: *mut Htuple,
10264        Cols: *mut Htuple,
10265        Error: *mut Htuple,
10266    ) -> Herror;
10267}
10268unsafe extern "C" {
10269    pub fn T_proj_match_points_distortion_ransac_guided(
10270        Image1: Hobject,
10271        Image2: Hobject,
10272        Rows1: Htuple,
10273        Cols1: Htuple,
10274        Rows2: Htuple,
10275        Cols2: Htuple,
10276        GrayMatchMethod: Htuple,
10277        MaskSize: Htuple,
10278        HomMat2DGuide: Htuple,
10279        KappaGuide: Htuple,
10280        DistanceTolerance: Htuple,
10281        MatchThreshold: Htuple,
10282        EstimationMethod: Htuple,
10283        DistanceThreshold: Htuple,
10284        RandSeed: Htuple,
10285        HomMat2D: *mut Htuple,
10286        Kappa: *mut Htuple,
10287        Error: *mut Htuple,
10288        Points1: *mut Htuple,
10289        Points2: *mut Htuple,
10290    ) -> Herror;
10291}
10292unsafe extern "C" {
10293    pub fn T_proj_match_points_distortion_ransac(
10294        Image1: Hobject,
10295        Image2: Hobject,
10296        Rows1: Htuple,
10297        Cols1: Htuple,
10298        Rows2: Htuple,
10299        Cols2: Htuple,
10300        GrayMatchMethod: Htuple,
10301        MaskSize: Htuple,
10302        RowMove: Htuple,
10303        ColMove: Htuple,
10304        RowTolerance: Htuple,
10305        ColTolerance: Htuple,
10306        Rotation: Htuple,
10307        MatchThreshold: Htuple,
10308        EstimationMethod: Htuple,
10309        DistanceThreshold: Htuple,
10310        RandSeed: Htuple,
10311        HomMat2D: *mut Htuple,
10312        Kappa: *mut Htuple,
10313        Error: *mut Htuple,
10314        Points1: *mut Htuple,
10315        Points2: *mut Htuple,
10316    ) -> Herror;
10317}
10318unsafe extern "C" {
10319    pub fn T_proj_match_points_ransac_guided(
10320        Image1: Hobject,
10321        Image2: Hobject,
10322        Rows1: Htuple,
10323        Cols1: Htuple,
10324        Rows2: Htuple,
10325        Cols2: Htuple,
10326        GrayMatchMethod: Htuple,
10327        MaskSize: Htuple,
10328        HomMat2DGuide: Htuple,
10329        DistanceTolerance: Htuple,
10330        MatchThreshold: Htuple,
10331        EstimationMethod: Htuple,
10332        DistanceThreshold: Htuple,
10333        RandSeed: Htuple,
10334        HomMat2D: *mut Htuple,
10335        Points1: *mut Htuple,
10336        Points2: *mut Htuple,
10337    ) -> Herror;
10338}
10339unsafe extern "C" {
10340    pub fn T_proj_match_points_ransac(
10341        Image1: Hobject,
10342        Image2: Hobject,
10343        Rows1: Htuple,
10344        Cols1: Htuple,
10345        Rows2: Htuple,
10346        Cols2: Htuple,
10347        GrayMatchMethod: Htuple,
10348        MaskSize: Htuple,
10349        RowMove: Htuple,
10350        ColMove: Htuple,
10351        RowTolerance: Htuple,
10352        ColTolerance: Htuple,
10353        Rotation: Htuple,
10354        MatchThreshold: Htuple,
10355        EstimationMethod: Htuple,
10356        DistanceThreshold: Htuple,
10357        RandSeed: Htuple,
10358        HomMat2D: *mut Htuple,
10359        Points1: *mut Htuple,
10360        Points2: *mut Htuple,
10361    ) -> Herror;
10362}
10363unsafe extern "C" {
10364    pub fn T_vector_to_proj_hom_mat2d_distortion(
10365        Points1Row: Htuple,
10366        Points1Col: Htuple,
10367        Points2Row: Htuple,
10368        Points2Col: Htuple,
10369        CovRR1: Htuple,
10370        CovRC1: Htuple,
10371        CovCC1: Htuple,
10372        CovRR2: Htuple,
10373        CovRC2: Htuple,
10374        CovCC2: Htuple,
10375        ImageWidth: Htuple,
10376        ImageHeight: Htuple,
10377        Method: Htuple,
10378        HomMat2D: *mut Htuple,
10379        Kappa: *mut Htuple,
10380        Error: *mut Htuple,
10381    ) -> Herror;
10382}
10383unsafe extern "C" {
10384    pub fn T_hom_vector_to_proj_hom_mat2d(
10385        Px: Htuple,
10386        Py: Htuple,
10387        Pw: Htuple,
10388        Qx: Htuple,
10389        Qy: Htuple,
10390        Qw: Htuple,
10391        Method: Htuple,
10392        HomMat2D: *mut Htuple,
10393    ) -> Herror;
10394}
10395unsafe extern "C" {
10396    pub fn T_vector_to_proj_hom_mat2d(
10397        Px: Htuple,
10398        Py: Htuple,
10399        Qx: Htuple,
10400        Qy: Htuple,
10401        Method: Htuple,
10402        CovXX1: Htuple,
10403        CovYY1: Htuple,
10404        CovXY1: Htuple,
10405        CovXX2: Htuple,
10406        CovYY2: Htuple,
10407        CovXY2: Htuple,
10408        HomMat2D: *mut Htuple,
10409        Covariance: *mut Htuple,
10410    ) -> Herror;
10411}
10412unsafe extern "C" {
10413    pub fn T_hom_mat2d_to_affine_par(
10414        HomMat2D: Htuple,
10415        Sx: *mut Htuple,
10416        Sy: *mut Htuple,
10417        Phi: *mut Htuple,
10418        Theta: *mut Htuple,
10419        Tx: *mut Htuple,
10420        Ty: *mut Htuple,
10421    ) -> Herror;
10422}
10423unsafe extern "C" {
10424    pub fn T_vector_angle_to_rigid(
10425        Row1: Htuple,
10426        Column1: Htuple,
10427        Angle1: Htuple,
10428        Row2: Htuple,
10429        Column2: Htuple,
10430        Angle2: Htuple,
10431        HomMat2D: *mut Htuple,
10432    ) -> Herror;
10433}
10434unsafe extern "C" {
10435    pub fn T_point_line_to_hom_mat2d(
10436        TransformationType: Htuple,
10437        Px: Htuple,
10438        Py: Htuple,
10439        L1x: Htuple,
10440        L1y: Htuple,
10441        L2x: Htuple,
10442        L2y: Htuple,
10443        HomMat2D: *mut Htuple,
10444    ) -> Herror;
10445}
10446unsafe extern "C" {
10447    pub fn T_vector_to_rigid(
10448        Px: Htuple,
10449        Py: Htuple,
10450        Qx: Htuple,
10451        Qy: Htuple,
10452        HomMat2D: *mut Htuple,
10453    ) -> Herror;
10454}
10455unsafe extern "C" {
10456    pub fn T_vector_to_similarity(
10457        Px: Htuple,
10458        Py: Htuple,
10459        Qx: Htuple,
10460        Qy: Htuple,
10461        HomMat2D: *mut Htuple,
10462    ) -> Herror;
10463}
10464unsafe extern "C" {
10465    pub fn T_vector_to_aniso(
10466        Px: Htuple,
10467        Py: Htuple,
10468        Qx: Htuple,
10469        Qy: Htuple,
10470        HomMat2D: *mut Htuple,
10471    ) -> Herror;
10472}
10473unsafe extern "C" {
10474    pub fn T_vector_to_hom_mat2d(
10475        Px: Htuple,
10476        Py: Htuple,
10477        Qx: Htuple,
10478        Qy: Htuple,
10479        HomMat2D: *mut Htuple,
10480    ) -> Herror;
10481}
10482unsafe extern "C" {
10483    pub fn T_projective_trans_pixel(
10484        HomMat2D: Htuple,
10485        Row: Htuple,
10486        Col: Htuple,
10487        RowTrans: *mut Htuple,
10488        ColTrans: *mut Htuple,
10489    ) -> Herror;
10490}
10491unsafe extern "C" {
10492    pub fn T_projective_trans_point_2d(
10493        HomMat2D: Htuple,
10494        Px: Htuple,
10495        Py: Htuple,
10496        Pw: Htuple,
10497        Qx: *mut Htuple,
10498        Qy: *mut Htuple,
10499        Qw: *mut Htuple,
10500    ) -> Herror;
10501}
10502unsafe extern "C" {
10503    pub fn T_affine_trans_pixel(
10504        HomMat2D: Htuple,
10505        Row: Htuple,
10506        Col: Htuple,
10507        RowTrans: *mut Htuple,
10508        ColTrans: *mut Htuple,
10509    ) -> Herror;
10510}
10511unsafe extern "C" {
10512    pub fn T_affine_trans_point_2d(
10513        HomMat2D: Htuple,
10514        Px: Htuple,
10515        Py: Htuple,
10516        Qx: *mut Htuple,
10517        Qy: *mut Htuple,
10518    ) -> Herror;
10519}
10520unsafe extern "C" {
10521    pub fn T_hom_mat2d_determinant(HomMat2D: Htuple, Determinant: *mut Htuple) -> Herror;
10522}
10523unsafe extern "C" {
10524    pub fn T_hom_mat2d_transpose(HomMat2D: Htuple, HomMat2DTranspose: *mut Htuple) -> Herror;
10525}
10526unsafe extern "C" {
10527    pub fn T_hom_mat2d_invert(HomMat2D: Htuple, HomMat2DInvert: *mut Htuple) -> Herror;
10528}
10529unsafe extern "C" {
10530    pub fn T_hom_mat2d_compose(
10531        HomMat2DLeft: Htuple,
10532        HomMat2DRight: Htuple,
10533        HomMat2DCompose: *mut Htuple,
10534    ) -> Herror;
10535}
10536unsafe extern "C" {
10537    pub fn T_hom_mat2d_reflect_local(
10538        HomMat2D: Htuple,
10539        Px: Htuple,
10540        Py: Htuple,
10541        HomMat2DReflect: *mut Htuple,
10542    ) -> Herror;
10543}
10544unsafe extern "C" {
10545    pub fn T_hom_mat2d_reflect(
10546        HomMat2D: Htuple,
10547        Px: Htuple,
10548        Py: Htuple,
10549        Qx: Htuple,
10550        Qy: Htuple,
10551        HomMat2DReflect: *mut Htuple,
10552    ) -> Herror;
10553}
10554unsafe extern "C" {
10555    pub fn T_hom_mat2d_slant_local(
10556        HomMat2D: Htuple,
10557        Theta: Htuple,
10558        Axis: Htuple,
10559        HomMat2DSlant: *mut Htuple,
10560    ) -> Herror;
10561}
10562unsafe extern "C" {
10563    pub fn T_hom_mat2d_slant(
10564        HomMat2D: Htuple,
10565        Theta: Htuple,
10566        Axis: Htuple,
10567        Px: Htuple,
10568        Py: Htuple,
10569        HomMat2DSlant: *mut Htuple,
10570    ) -> Herror;
10571}
10572unsafe extern "C" {
10573    pub fn T_hom_mat2d_rotate_local(
10574        HomMat2D: Htuple,
10575        Phi: Htuple,
10576        HomMat2DRotate: *mut Htuple,
10577    ) -> Herror;
10578}
10579unsafe extern "C" {
10580    pub fn T_hom_mat2d_rotate(
10581        HomMat2D: Htuple,
10582        Phi: Htuple,
10583        Px: Htuple,
10584        Py: Htuple,
10585        HomMat2DRotate: *mut Htuple,
10586    ) -> Herror;
10587}
10588unsafe extern "C" {
10589    pub fn T_hom_mat2d_scale_local(
10590        HomMat2D: Htuple,
10591        Sx: Htuple,
10592        Sy: Htuple,
10593        HomMat2DScale: *mut Htuple,
10594    ) -> Herror;
10595}
10596unsafe extern "C" {
10597    pub fn T_hom_mat2d_scale(
10598        HomMat2D: Htuple,
10599        Sx: Htuple,
10600        Sy: Htuple,
10601        Px: Htuple,
10602        Py: Htuple,
10603        HomMat2DScale: *mut Htuple,
10604    ) -> Herror;
10605}
10606unsafe extern "C" {
10607    pub fn T_hom_mat2d_translate_local(
10608        HomMat2D: Htuple,
10609        Tx: Htuple,
10610        Ty: Htuple,
10611        HomMat2DTranslate: *mut Htuple,
10612    ) -> Herror;
10613}
10614unsafe extern "C" {
10615    pub fn T_hom_mat2d_translate(
10616        HomMat2D: Htuple,
10617        Tx: Htuple,
10618        Ty: Htuple,
10619        HomMat2DTranslate: *mut Htuple,
10620    ) -> Herror;
10621}
10622unsafe extern "C" {
10623    pub fn T_hom_mat2d_identity(HomMat2DIdentity: *mut Htuple) -> Herror;
10624}
10625unsafe extern "C" {
10626    pub fn T_clear_all_scattered_data_interpolators() -> Herror;
10627}
10628unsafe extern "C" {
10629    pub fn clear_all_scattered_data_interpolators() -> Herror;
10630}
10631unsafe extern "C" {
10632    pub fn T_clear_scattered_data_interpolator(ScatteredDataInterpolatorHandle: Htuple) -> Herror;
10633}
10634unsafe extern "C" {
10635    pub fn clear_scattered_data_interpolator(ScatteredDataInterpolatorHandle: Hlong) -> Herror;
10636}
10637unsafe extern "C" {
10638    pub fn T_interpolate_scattered_data(
10639        ScatteredDataInterpolatorHandle: Htuple,
10640        Row: Htuple,
10641        Column: Htuple,
10642        ValueInterpolated: *mut Htuple,
10643    ) -> Herror;
10644}
10645unsafe extern "C" {
10646    pub fn interpolate_scattered_data(
10647        ScatteredDataInterpolatorHandle: Hlong,
10648        Row: f64,
10649        Column: f64,
10650        ValueInterpolated: *mut f64,
10651    ) -> Herror;
10652}
10653unsafe extern "C" {
10654    pub fn T_create_scattered_data_interpolator(
10655        Method: Htuple,
10656        Rows: Htuple,
10657        Columns: Htuple,
10658        Values: Htuple,
10659        GenParamName: Htuple,
10660        GenParamValue: Htuple,
10661        ScatteredDataInterpolatorHandle: *mut Htuple,
10662    ) -> Herror;
10663}
10664unsafe extern "C" {
10665    pub fn T_interpolate_scattered_data_points_to_image(
10666        ImageInterpolated: *mut Hobject,
10667        Method: Htuple,
10668        Rows: Htuple,
10669        Columns: Htuple,
10670        Values: Htuple,
10671        Width: Htuple,
10672        Height: Htuple,
10673        GenParamName: Htuple,
10674        GenParamValue: Htuple,
10675    ) -> Herror;
10676}
10677unsafe extern "C" {
10678    pub fn T_interpolate_scattered_data_image(
10679        Image: Hobject,
10680        RegionInterpolate: Hobject,
10681        ImageInterpolated: *mut Hobject,
10682        Method: Htuple,
10683        GenParamName: Htuple,
10684        GenParamValue: Htuple,
10685    ) -> Herror;
10686}
10687unsafe extern "C" {
10688    pub fn T_get_system_time(
10689        MSecond: *mut Htuple,
10690        Second: *mut Htuple,
10691        Minute: *mut Htuple,
10692        Hour: *mut Htuple,
10693        Day: *mut Htuple,
10694        YDay: *mut Htuple,
10695        Month: *mut Htuple,
10696        Year: *mut Htuple,
10697    ) -> Herror;
10698}
10699unsafe extern "C" {
10700    pub fn get_system_time(
10701        MSecond: *mut Hlong,
10702        Second: *mut Hlong,
10703        Minute: *mut Hlong,
10704        Hour: *mut Hlong,
10705        Day: *mut Hlong,
10706        YDay: *mut Hlong,
10707        Month: *mut Hlong,
10708        Year: *mut Hlong,
10709    ) -> Herror;
10710}
10711unsafe extern "C" {
10712    pub fn T_get_compute_device_param(
10713        DeviceHandle: Htuple,
10714        GenParamName: Htuple,
10715        GenParamValue: *mut Htuple,
10716    ) -> Herror;
10717}
10718unsafe extern "C" {
10719    pub fn get_compute_device_param(
10720        DeviceHandle: Hlong,
10721        GenParamName: *const ::std::os::raw::c_char,
10722        GenParamValue: *mut ::std::os::raw::c_char,
10723    ) -> Herror;
10724}
10725unsafe extern "C" {
10726    pub fn T_set_compute_device_param(
10727        DeviceHandle: Htuple,
10728        GenParamName: Htuple,
10729        GenParamValue: Htuple,
10730    ) -> Herror;
10731}
10732unsafe extern "C" {
10733    pub fn set_compute_device_param(
10734        DeviceHandle: Hlong,
10735        GenParamName: *const ::std::os::raw::c_char,
10736        GenParamValue: *const ::std::os::raw::c_char,
10737    ) -> Herror;
10738}
10739unsafe extern "C" {
10740    pub fn T_release_all_compute_devices() -> Herror;
10741}
10742unsafe extern "C" {
10743    pub fn release_all_compute_devices() -> Herror;
10744}
10745unsafe extern "C" {
10746    pub fn T_release_compute_device(DeviceHandle: Htuple) -> Herror;
10747}
10748unsafe extern "C" {
10749    pub fn release_compute_device(DeviceHandle: Hlong) -> Herror;
10750}
10751unsafe extern "C" {
10752    pub fn T_deactivate_all_compute_devices() -> Herror;
10753}
10754unsafe extern "C" {
10755    pub fn deactivate_all_compute_devices() -> Herror;
10756}
10757unsafe extern "C" {
10758    pub fn T_deactivate_compute_device(DeviceHandle: Htuple) -> Herror;
10759}
10760unsafe extern "C" {
10761    pub fn deactivate_compute_device(DeviceHandle: Hlong) -> Herror;
10762}
10763unsafe extern "C" {
10764    pub fn T_activate_compute_device(DeviceHandle: Htuple) -> Herror;
10765}
10766unsafe extern "C" {
10767    pub fn activate_compute_device(DeviceHandle: Hlong) -> Herror;
10768}
10769unsafe extern "C" {
10770    pub fn T_init_compute_device(DeviceHandle: Htuple, Operators: Htuple) -> Herror;
10771}
10772unsafe extern "C" {
10773    pub fn T_open_compute_device(DeviceIdentifier: Htuple, DeviceHandle: *mut Htuple) -> Herror;
10774}
10775unsafe extern "C" {
10776    pub fn open_compute_device(DeviceIdentifier: Hlong, DeviceHandle: *mut Hlong) -> Herror;
10777}
10778unsafe extern "C" {
10779    pub fn T_get_compute_device_info(
10780        DeviceIdentifier: Htuple,
10781        InfoName: Htuple,
10782        Info: *mut Htuple,
10783    ) -> Herror;
10784}
10785unsafe extern "C" {
10786    pub fn get_compute_device_info(
10787        DeviceIdentifier: Hlong,
10788        InfoName: *const ::std::os::raw::c_char,
10789        Info: *mut ::std::os::raw::c_char,
10790    ) -> Herror;
10791}
10792unsafe extern "C" {
10793    pub fn T_query_available_compute_devices(DeviceIdentifier: *mut Htuple) -> Herror;
10794}
10795unsafe extern "C" {
10796    pub fn T_clear_serial(SerialHandle: Htuple, Channel: Htuple) -> Herror;
10797}
10798unsafe extern "C" {
10799    pub fn clear_serial(SerialHandle: Hlong, Channel: *const ::std::os::raw::c_char) -> Herror;
10800}
10801unsafe extern "C" {
10802    pub fn T_write_serial(SerialHandle: Htuple, Data: Htuple) -> Herror;
10803}
10804unsafe extern "C" {
10805    pub fn write_serial(SerialHandle: Hlong, Data: Hlong) -> Herror;
10806}
10807unsafe extern "C" {
10808    pub fn T_read_serial(SerialHandle: Htuple, NumCharacters: Htuple, Data: *mut Htuple) -> Herror;
10809}
10810unsafe extern "C" {
10811    pub fn read_serial(SerialHandle: Hlong, NumCharacters: Hlong, Data: *mut Hlong) -> Herror;
10812}
10813unsafe extern "C" {
10814    pub fn T_get_serial_param(
10815        SerialHandle: Htuple,
10816        BaudRate: *mut Htuple,
10817        DataBits: *mut Htuple,
10818        FlowControl: *mut Htuple,
10819        Parity: *mut Htuple,
10820        StopBits: *mut Htuple,
10821        TotalTimeOut: *mut Htuple,
10822        InterCharTimeOut: *mut Htuple,
10823    ) -> Herror;
10824}
10825unsafe extern "C" {
10826    pub fn get_serial_param(
10827        SerialHandle: Hlong,
10828        BaudRate: *mut Hlong,
10829        DataBits: *mut Hlong,
10830        FlowControl: *mut ::std::os::raw::c_char,
10831        Parity: *mut ::std::os::raw::c_char,
10832        StopBits: *mut Hlong,
10833        TotalTimeOut: *mut Hlong,
10834        InterCharTimeOut: *mut Hlong,
10835    ) -> Herror;
10836}
10837unsafe extern "C" {
10838    pub fn T_set_serial_param(
10839        SerialHandle: Htuple,
10840        BaudRate: Htuple,
10841        DataBits: Htuple,
10842        FlowControl: Htuple,
10843        Parity: Htuple,
10844        StopBits: Htuple,
10845        TotalTimeOut: Htuple,
10846        InterCharTimeOut: Htuple,
10847    ) -> Herror;
10848}
10849unsafe extern "C" {
10850    pub fn set_serial_param(
10851        SerialHandle: Hlong,
10852        BaudRate: Hlong,
10853        DataBits: Hlong,
10854        FlowControl: *const ::std::os::raw::c_char,
10855        Parity: *const ::std::os::raw::c_char,
10856        StopBits: Hlong,
10857        TotalTimeOut: Hlong,
10858        InterCharTimeOut: Hlong,
10859    ) -> Herror;
10860}
10861unsafe extern "C" {
10862    pub fn T_close_all_serials() -> Herror;
10863}
10864unsafe extern "C" {
10865    pub fn close_all_serials() -> Herror;
10866}
10867unsafe extern "C" {
10868    pub fn T_close_serial(SerialHandle: Htuple) -> Herror;
10869}
10870unsafe extern "C" {
10871    pub fn close_serial(SerialHandle: Hlong) -> Herror;
10872}
10873unsafe extern "C" {
10874    pub fn T_open_serial(PortName: Htuple, SerialHandle: *mut Htuple) -> Herror;
10875}
10876unsafe extern "C" {
10877    pub fn open_serial(PortName: *const ::std::os::raw::c_char, SerialHandle: *mut Hlong)
10878    -> Herror;
10879}
10880unsafe extern "C" {
10881    pub fn T_wait_seconds(Seconds: Htuple) -> Herror;
10882}
10883unsafe extern "C" {
10884    pub fn wait_seconds(Seconds: f64) -> Herror;
10885}
10886unsafe extern "C" {
10887    pub fn T_system_call(Command: Htuple) -> Herror;
10888}
10889unsafe extern "C" {
10890    pub fn system_call(Command: *const ::std::os::raw::c_char) -> Herror;
10891}
10892unsafe extern "C" {
10893    pub fn T_set_system(SystemParameter: Htuple, Value: Htuple) -> Herror;
10894}
10895unsafe extern "C" {
10896    pub fn set_system(
10897        SystemParameter: *const ::std::os::raw::c_char,
10898        Value: *const ::std::os::raw::c_char,
10899    ) -> Herror;
10900}
10901unsafe extern "C" {
10902    pub fn T_set_check(Check: Htuple) -> Herror;
10903}
10904unsafe extern "C" {
10905    pub fn set_check(Check: *const ::std::os::raw::c_char) -> Herror;
10906}
10907unsafe extern "C" {
10908    pub fn T_reset_obj_db(
10909        DefaultImageWidth: Htuple,
10910        DefaultImageHeight: Htuple,
10911        DefaultChannels: Htuple,
10912    ) -> Herror;
10913}
10914unsafe extern "C" {
10915    pub fn reset_obj_db(
10916        DefaultImageWidth: Hlong,
10917        DefaultImageHeight: Hlong,
10918        DefaultChannels: Hlong,
10919    ) -> Herror;
10920}
10921unsafe extern "C" {
10922    pub fn T_get_system(Query: Htuple, Information: *mut Htuple) -> Herror;
10923}
10924unsafe extern "C" {
10925    pub fn get_system(Query: *const ::std::os::raw::c_char, Information: *mut Hlong) -> Herror;
10926}
10927unsafe extern "C" {
10928    pub fn T_get_check(Check: *mut Htuple) -> Herror;
10929}
10930unsafe extern "C" {
10931    pub fn T_get_error_text(ErrorCode: Htuple, ErrorMessage: *mut Htuple) -> Herror;
10932}
10933unsafe extern "C" {
10934    pub fn get_error_text(ErrorCode: Hlong, ErrorMessage: *mut ::std::os::raw::c_char) -> Herror;
10935}
10936unsafe extern "C" {
10937    pub fn T_count_seconds(Seconds: *mut Htuple) -> Herror;
10938}
10939unsafe extern "C" {
10940    pub fn count_seconds(Seconds: *mut f64) -> Herror;
10941}
10942unsafe extern "C" {
10943    pub fn T_count_relation(RelationName: Htuple, NumOfTuples: *mut Htuple) -> Herror;
10944}
10945unsafe extern "C" {
10946    pub fn count_relation(
10947        RelationName: *const ::std::os::raw::c_char,
10948        NumOfTuples: *mut Hlong,
10949    ) -> Herror;
10950}
10951unsafe extern "C" {
10952    pub fn T_receive_image(Image: *mut Hobject, Socket: Htuple) -> Herror;
10953}
10954unsafe extern "C" {
10955    pub fn receive_image(Image: *mut Hobject, Socket: Hlong) -> Herror;
10956}
10957unsafe extern "C" {
10958    pub fn T_send_image(Image: Hobject, Socket: Htuple) -> Herror;
10959}
10960unsafe extern "C" {
10961    pub fn send_image(Image: Hobject, Socket: Hlong) -> Herror;
10962}
10963unsafe extern "C" {
10964    pub fn T_receive_region(Region: *mut Hobject, Socket: Htuple) -> Herror;
10965}
10966unsafe extern "C" {
10967    pub fn receive_region(Region: *mut Hobject, Socket: Hlong) -> Herror;
10968}
10969unsafe extern "C" {
10970    pub fn T_send_region(Region: Hobject, Socket: Htuple) -> Herror;
10971}
10972unsafe extern "C" {
10973    pub fn send_region(Region: Hobject, Socket: Hlong) -> Herror;
10974}
10975unsafe extern "C" {
10976    pub fn T_receive_xld(XLD: *mut Hobject, Socket: Htuple) -> Herror;
10977}
10978unsafe extern "C" {
10979    pub fn receive_xld(XLD: *mut Hobject, Socket: Hlong) -> Herror;
10980}
10981unsafe extern "C" {
10982    pub fn T_send_xld(XLD: Hobject, Socket: Htuple) -> Herror;
10983}
10984unsafe extern "C" {
10985    pub fn send_xld(XLD: Hobject, Socket: Hlong) -> Herror;
10986}
10987unsafe extern "C" {
10988    pub fn T_receive_tuple(Socket: Htuple, Tuple: *mut Htuple) -> Herror;
10989}
10990unsafe extern "C" {
10991    pub fn receive_tuple(Socket: Hlong, Tuple: *mut ::std::os::raw::c_char) -> Herror;
10992}
10993unsafe extern "C" {
10994    pub fn T_send_tuple(Socket: Htuple, Tuple: Htuple) -> Herror;
10995}
10996unsafe extern "C" {
10997    pub fn send_tuple(Socket: Hlong, Tuple: *const ::std::os::raw::c_char) -> Herror;
10998}
10999unsafe extern "C" {
11000    pub fn T_receive_data(
11001        Socket: Htuple,
11002        Format: Htuple,
11003        Data: *mut Htuple,
11004        From: *mut Htuple,
11005    ) -> Herror;
11006}
11007unsafe extern "C" {
11008    pub fn receive_data(
11009        Socket: Hlong,
11010        Format: *const ::std::os::raw::c_char,
11011        Data: *mut ::std::os::raw::c_char,
11012        From: *mut ::std::os::raw::c_char,
11013    ) -> Herror;
11014}
11015unsafe extern "C" {
11016    pub fn T_send_data(Socket: Htuple, Format: Htuple, Data: Htuple, To: Htuple) -> Herror;
11017}
11018unsafe extern "C" {
11019    pub fn send_data(
11020        Socket: Hlong,
11021        Format: *const ::std::os::raw::c_char,
11022        Data: *const ::std::os::raw::c_char,
11023        To: *const ::std::os::raw::c_char,
11024    ) -> Herror;
11025}
11026unsafe extern "C" {
11027    pub fn T_get_socket_param(
11028        Socket: Htuple,
11029        GenParamName: Htuple,
11030        GenParamValue: *mut Htuple,
11031    ) -> Herror;
11032}
11033unsafe extern "C" {
11034    pub fn get_socket_param(
11035        Socket: Hlong,
11036        GenParamName: *const ::std::os::raw::c_char,
11037        GenParamValue: *mut ::std::os::raw::c_char,
11038    ) -> Herror;
11039}
11040unsafe extern "C" {
11041    pub fn T_set_socket_param(
11042        Socket: Htuple,
11043        GenParamName: Htuple,
11044        GenParamValue: Htuple,
11045    ) -> Herror;
11046}
11047unsafe extern "C" {
11048    pub fn set_socket_param(
11049        Socket: Hlong,
11050        GenParamName: *const ::std::os::raw::c_char,
11051        GenParamValue: *const ::std::os::raw::c_char,
11052    ) -> Herror;
11053}
11054unsafe extern "C" {
11055    pub fn T_get_next_socket_data_type(Socket: Htuple, DataType: *mut Htuple) -> Herror;
11056}
11057unsafe extern "C" {
11058    pub fn get_next_socket_data_type(
11059        Socket: Hlong,
11060        DataType: *mut ::std::os::raw::c_char,
11061    ) -> Herror;
11062}
11063unsafe extern "C" {
11064    pub fn T_get_socket_descriptor(Socket: Htuple, SocketDescriptor: *mut Htuple) -> Herror;
11065}
11066unsafe extern "C" {
11067    pub fn get_socket_descriptor(Socket: Hlong, SocketDescriptor: *mut Hlong) -> Herror;
11068}
11069unsafe extern "C" {
11070    pub fn T_close_all_sockets() -> Herror;
11071}
11072unsafe extern "C" {
11073    pub fn close_all_sockets() -> Herror;
11074}
11075unsafe extern "C" {
11076    pub fn T_close_socket(Socket: Htuple) -> Herror;
11077}
11078unsafe extern "C" {
11079    pub fn close_socket(Socket: Hlong) -> Herror;
11080}
11081unsafe extern "C" {
11082    pub fn T_socket_accept_connect(
11083        AcceptingSocket: Htuple,
11084        Wait: Htuple,
11085        Socket: *mut Htuple,
11086    ) -> Herror;
11087}
11088unsafe extern "C" {
11089    pub fn socket_accept_connect(
11090        AcceptingSocket: Hlong,
11091        Wait: *const ::std::os::raw::c_char,
11092        Socket: *mut Hlong,
11093    ) -> Herror;
11094}
11095unsafe extern "C" {
11096    pub fn T_open_socket_connect(
11097        HostName: Htuple,
11098        Port: Htuple,
11099        GenParamName: Htuple,
11100        GenParamValue: Htuple,
11101        Socket: *mut Htuple,
11102    ) -> Herror;
11103}
11104unsafe extern "C" {
11105    pub fn open_socket_connect(
11106        HostName: *const ::std::os::raw::c_char,
11107        Port: Hlong,
11108        GenParamName: *const ::std::os::raw::c_char,
11109        GenParamValue: *const ::std::os::raw::c_char,
11110        Socket: *mut Hlong,
11111    ) -> Herror;
11112}
11113unsafe extern "C" {
11114    pub fn T_open_socket_accept(
11115        Port: Htuple,
11116        GenParamName: Htuple,
11117        GenParamValue: Htuple,
11118        AcceptingSocket: *mut Htuple,
11119    ) -> Herror;
11120}
11121unsafe extern "C" {
11122    pub fn open_socket_accept(
11123        Port: Hlong,
11124        GenParamName: *const ::std::os::raw::c_char,
11125        GenParamValue: *const ::std::os::raw::c_char,
11126        AcceptingSocket: *mut Hlong,
11127    ) -> Herror;
11128}
11129unsafe extern "C" {
11130    pub fn T_get_extended_error_info(
11131        OperatorName: *mut Htuple,
11132        ErrorCode: *mut Htuple,
11133        ErrorMessage: *mut Htuple,
11134    ) -> Herror;
11135}
11136unsafe extern "C" {
11137    pub fn get_extended_error_info(
11138        OperatorName: *mut ::std::os::raw::c_char,
11139        ErrorCode: *mut Hlong,
11140        ErrorMessage: *mut ::std::os::raw::c_char,
11141    ) -> Herror;
11142}
11143unsafe extern "C" {
11144    pub fn T_get_modules(UsedModules: *mut Htuple, ModuleKey: *mut Htuple) -> Herror;
11145}
11146unsafe extern "C" {
11147    pub fn T_binocular_distance_ms(
11148        ImageRect1: Hobject,
11149        ImageRect2: Hobject,
11150        Distance: *mut Hobject,
11151        Score: *mut Hobject,
11152        CamParamRect1: Htuple,
11153        CamParamRect2: Htuple,
11154        RelPoseRect: Htuple,
11155        MinDisparity: Htuple,
11156        MaxDisparity: Htuple,
11157        SurfaceSmoothing: Htuple,
11158        EdgeSmoothing: Htuple,
11159        GenParamName: Htuple,
11160        GenParamValue: Htuple,
11161    ) -> Herror;
11162}
11163unsafe extern "C" {
11164    pub fn T_binocular_disparity_ms(
11165        ImageRect1: Hobject,
11166        ImageRect2: Hobject,
11167        Disparity: *mut Hobject,
11168        Score: *mut Hobject,
11169        MinDisparity: Htuple,
11170        MaxDisparity: Htuple,
11171        SurfaceSmoothing: Htuple,
11172        EdgeSmoothing: Htuple,
11173        GenParamName: Htuple,
11174        GenParamValue: Htuple,
11175    ) -> Herror;
11176}
11177unsafe extern "C" {
11178    pub fn binocular_disparity_ms(
11179        ImageRect1: Hobject,
11180        ImageRect2: Hobject,
11181        Disparity: *mut Hobject,
11182        Score: *mut Hobject,
11183        MinDisparity: Hlong,
11184        MaxDisparity: Hlong,
11185        SurfaceSmoothing: Hlong,
11186        EdgeSmoothing: Hlong,
11187        GenParamName: *const ::std::os::raw::c_char,
11188        GenParamValue: *const ::std::os::raw::c_char,
11189    ) -> Herror;
11190}
11191unsafe extern "C" {
11192    pub fn T_binocular_distance_mg(
11193        ImageRect1: Hobject,
11194        ImageRect2: Hobject,
11195        Distance: *mut Hobject,
11196        Score: *mut Hobject,
11197        CamParamRect1: Htuple,
11198        CamParamRect2: Htuple,
11199        RelPoseRect: Htuple,
11200        GrayConstancy: Htuple,
11201        GradientConstancy: Htuple,
11202        Smoothness: Htuple,
11203        InitialGuess: Htuple,
11204        CalculateScore: Htuple,
11205        MGParamName: Htuple,
11206        MGParamValue: Htuple,
11207    ) -> Herror;
11208}
11209unsafe extern "C" {
11210    pub fn T_binocular_disparity_mg(
11211        ImageRect1: Hobject,
11212        ImageRect2: Hobject,
11213        Disparity: *mut Hobject,
11214        Score: *mut Hobject,
11215        GrayConstancy: Htuple,
11216        GradientConstancy: Htuple,
11217        Smoothness: Htuple,
11218        InitialGuess: Htuple,
11219        CalculateScore: Htuple,
11220        MGParamName: Htuple,
11221        MGParamValue: Htuple,
11222    ) -> Herror;
11223}
11224unsafe extern "C" {
11225    pub fn binocular_disparity_mg(
11226        ImageRect1: Hobject,
11227        ImageRect2: Hobject,
11228        Disparity: *mut Hobject,
11229        Score: *mut Hobject,
11230        GrayConstancy: f64,
11231        GradientConstancy: f64,
11232        Smoothness: f64,
11233        InitialGuess: f64,
11234        CalculateScore: *const ::std::os::raw::c_char,
11235        MGParamName: *const ::std::os::raw::c_char,
11236        MGParamValue: *const ::std::os::raw::c_char,
11237    ) -> Herror;
11238}
11239unsafe extern "C" {
11240    pub fn T_reconst3d_from_fundamental_matrix(
11241        Rows1: Htuple,
11242        Cols1: Htuple,
11243        Rows2: Htuple,
11244        Cols2: Htuple,
11245        CovRR1: Htuple,
11246        CovRC1: Htuple,
11247        CovCC1: Htuple,
11248        CovRR2: Htuple,
11249        CovRC2: Htuple,
11250        CovCC2: Htuple,
11251        FMatrix: Htuple,
11252        CovFMat: Htuple,
11253        X: *mut Htuple,
11254        Y: *mut Htuple,
11255        Z: *mut Htuple,
11256        W: *mut Htuple,
11257        CovXYZW: *mut Htuple,
11258    ) -> Herror;
11259}
11260unsafe extern "C" {
11261    pub fn T_gen_binocular_proj_rectification(
11262        Map1: *mut Hobject,
11263        Map2: *mut Hobject,
11264        FMatrix: Htuple,
11265        CovFMat: Htuple,
11266        Width1: Htuple,
11267        Height1: Htuple,
11268        Width2: Htuple,
11269        Height2: Htuple,
11270        SubSampling: Htuple,
11271        Mapping: Htuple,
11272        CovFMatRect: *mut Htuple,
11273        H1: *mut Htuple,
11274        H2: *mut Htuple,
11275    ) -> Herror;
11276}
11277unsafe extern "C" {
11278    pub fn T_vector_to_fundamental_matrix_distortion(
11279        Rows1: Htuple,
11280        Cols1: Htuple,
11281        Rows2: Htuple,
11282        Cols2: Htuple,
11283        CovRR1: Htuple,
11284        CovRC1: Htuple,
11285        CovCC1: Htuple,
11286        CovRR2: Htuple,
11287        CovRC2: Htuple,
11288        CovCC2: Htuple,
11289        ImageWidth: Htuple,
11290        ImageHeight: Htuple,
11291        Method: Htuple,
11292        FMatrix: *mut Htuple,
11293        Kappa: *mut Htuple,
11294        Error: *mut Htuple,
11295        X: *mut Htuple,
11296        Y: *mut Htuple,
11297        Z: *mut Htuple,
11298        W: *mut Htuple,
11299    ) -> Herror;
11300}
11301unsafe extern "C" {
11302    pub fn T_rel_pose_to_fundamental_matrix(
11303        RelPose: Htuple,
11304        CovRelPose: Htuple,
11305        CamPar1: Htuple,
11306        CamPar2: Htuple,
11307        FMatrix: *mut Htuple,
11308        CovFMat: *mut Htuple,
11309    ) -> Herror;
11310}
11311unsafe extern "C" {
11312    pub fn T_essential_to_fundamental_matrix(
11313        EMatrix: Htuple,
11314        CovEMat: Htuple,
11315        CamMat1: Htuple,
11316        CamMat2: Htuple,
11317        FMatrix: *mut Htuple,
11318        CovFMat: *mut Htuple,
11319    ) -> Herror;
11320}
11321unsafe extern "C" {
11322    pub fn T_vector_to_rel_pose(
11323        Rows1: Htuple,
11324        Cols1: Htuple,
11325        Rows2: Htuple,
11326        Cols2: Htuple,
11327        CovRR1: Htuple,
11328        CovRC1: Htuple,
11329        CovCC1: Htuple,
11330        CovRR2: Htuple,
11331        CovRC2: Htuple,
11332        CovCC2: Htuple,
11333        CamPar1: Htuple,
11334        CamPar2: Htuple,
11335        Method: Htuple,
11336        RelPose: *mut Htuple,
11337        CovRelPose: *mut Htuple,
11338        Error: *mut Htuple,
11339        X: *mut Htuple,
11340        Y: *mut Htuple,
11341        Z: *mut Htuple,
11342        CovXYZ: *mut Htuple,
11343    ) -> Herror;
11344}
11345unsafe extern "C" {
11346    pub fn T_vector_to_essential_matrix(
11347        Rows1: Htuple,
11348        Cols1: Htuple,
11349        Rows2: Htuple,
11350        Cols2: Htuple,
11351        CovRR1: Htuple,
11352        CovRC1: Htuple,
11353        CovCC1: Htuple,
11354        CovRR2: Htuple,
11355        CovRC2: Htuple,
11356        CovCC2: Htuple,
11357        CamMat1: Htuple,
11358        CamMat2: Htuple,
11359        Method: Htuple,
11360        EMatrix: *mut Htuple,
11361        CovEMat: *mut Htuple,
11362        Error: *mut Htuple,
11363        X: *mut Htuple,
11364        Y: *mut Htuple,
11365        Z: *mut Htuple,
11366        CovXYZ: *mut Htuple,
11367    ) -> Herror;
11368}
11369unsafe extern "C" {
11370    pub fn T_vector_to_fundamental_matrix(
11371        Rows1: Htuple,
11372        Cols1: Htuple,
11373        Rows2: Htuple,
11374        Cols2: Htuple,
11375        CovRR1: Htuple,
11376        CovRC1: Htuple,
11377        CovCC1: Htuple,
11378        CovRR2: Htuple,
11379        CovRC2: Htuple,
11380        CovCC2: Htuple,
11381        Method: Htuple,
11382        FMatrix: *mut Htuple,
11383        CovFMat: *mut Htuple,
11384        Error: *mut Htuple,
11385        X: *mut Htuple,
11386        Y: *mut Htuple,
11387        Z: *mut Htuple,
11388        W: *mut Htuple,
11389        CovXYZW: *mut Htuple,
11390    ) -> Herror;
11391}
11392unsafe extern "C" {
11393    pub fn T_match_fundamental_matrix_distortion_ransac(
11394        Image1: Hobject,
11395        Image2: Hobject,
11396        Rows1: Htuple,
11397        Cols1: Htuple,
11398        Rows2: Htuple,
11399        Cols2: Htuple,
11400        GrayMatchMethod: Htuple,
11401        MaskSize: Htuple,
11402        RowMove: Htuple,
11403        ColMove: Htuple,
11404        RowTolerance: Htuple,
11405        ColTolerance: Htuple,
11406        Rotation: Htuple,
11407        MatchThreshold: Htuple,
11408        EstimationMethod: Htuple,
11409        DistanceThreshold: Htuple,
11410        RandSeed: Htuple,
11411        FMatrix: *mut Htuple,
11412        Kappa: *mut Htuple,
11413        Error: *mut Htuple,
11414        Points1: *mut Htuple,
11415        Points2: *mut Htuple,
11416    ) -> Herror;
11417}
11418unsafe extern "C" {
11419    pub fn T_match_rel_pose_ransac(
11420        Image1: Hobject,
11421        Image2: Hobject,
11422        Rows1: Htuple,
11423        Cols1: Htuple,
11424        Rows2: Htuple,
11425        Cols2: Htuple,
11426        CamPar1: Htuple,
11427        CamPar2: Htuple,
11428        GrayMatchMethod: Htuple,
11429        MaskSize: Htuple,
11430        RowMove: Htuple,
11431        ColMove: Htuple,
11432        RowTolerance: Htuple,
11433        ColTolerance: Htuple,
11434        Rotation: Htuple,
11435        MatchThreshold: Htuple,
11436        EstimationMethod: Htuple,
11437        DistanceThreshold: Htuple,
11438        RandSeed: Htuple,
11439        RelPose: *mut Htuple,
11440        CovRelPose: *mut Htuple,
11441        Error: *mut Htuple,
11442        Points1: *mut Htuple,
11443        Points2: *mut Htuple,
11444    ) -> Herror;
11445}
11446unsafe extern "C" {
11447    pub fn T_match_essential_matrix_ransac(
11448        Image1: Hobject,
11449        Image2: Hobject,
11450        Rows1: Htuple,
11451        Cols1: Htuple,
11452        Rows2: Htuple,
11453        Cols2: Htuple,
11454        CamMat1: Htuple,
11455        CamMat2: Htuple,
11456        GrayMatchMethod: Htuple,
11457        MaskSize: Htuple,
11458        RowMove: Htuple,
11459        ColMove: Htuple,
11460        RowTolerance: Htuple,
11461        ColTolerance: Htuple,
11462        Rotation: Htuple,
11463        MatchThreshold: Htuple,
11464        EstimationMethod: Htuple,
11465        DistanceThreshold: Htuple,
11466        RandSeed: Htuple,
11467        EMatrix: *mut Htuple,
11468        CovEMat: *mut Htuple,
11469        Error: *mut Htuple,
11470        Points1: *mut Htuple,
11471        Points2: *mut Htuple,
11472    ) -> Herror;
11473}
11474unsafe extern "C" {
11475    pub fn T_match_fundamental_matrix_ransac(
11476        Image1: Hobject,
11477        Image2: Hobject,
11478        Rows1: Htuple,
11479        Cols1: Htuple,
11480        Rows2: Htuple,
11481        Cols2: Htuple,
11482        GrayMatchMethod: Htuple,
11483        MaskSize: Htuple,
11484        RowMove: Htuple,
11485        ColMove: Htuple,
11486        RowTolerance: Htuple,
11487        ColTolerance: Htuple,
11488        Rotation: Htuple,
11489        MatchThreshold: Htuple,
11490        EstimationMethod: Htuple,
11491        DistanceThreshold: Htuple,
11492        RandSeed: Htuple,
11493        FMatrix: *mut Htuple,
11494        CovFMat: *mut Htuple,
11495        Error: *mut Htuple,
11496        Points1: *mut Htuple,
11497        Points2: *mut Htuple,
11498    ) -> Herror;
11499}
11500unsafe extern "C" {
11501    pub fn T_binocular_distance(
11502        ImageRect1: Hobject,
11503        ImageRect2: Hobject,
11504        Distance: *mut Hobject,
11505        Score: *mut Hobject,
11506        CamParamRect1: Htuple,
11507        CamParamRect2: Htuple,
11508        RelPoseRect: Htuple,
11509        Method: Htuple,
11510        MaskWidth: Htuple,
11511        MaskHeight: Htuple,
11512        TextureThresh: Htuple,
11513        MinDisparity: Htuple,
11514        MaxDisparity: Htuple,
11515        NumLevels: Htuple,
11516        ScoreThresh: Htuple,
11517        Filter: Htuple,
11518        SubDistance: Htuple,
11519    ) -> Herror;
11520}
11521unsafe extern "C" {
11522    pub fn T_binocular_disparity(
11523        ImageRect1: Hobject,
11524        ImageRect2: Hobject,
11525        Disparity: *mut Hobject,
11526        Score: *mut Hobject,
11527        Method: Htuple,
11528        MaskWidth: Htuple,
11529        MaskHeight: Htuple,
11530        TextureThresh: Htuple,
11531        MinDisparity: Htuple,
11532        MaxDisparity: Htuple,
11533        NumLevels: Htuple,
11534        ScoreThresh: Htuple,
11535        Filter: Htuple,
11536        SubDisparity: Htuple,
11537    ) -> Herror;
11538}
11539unsafe extern "C" {
11540    pub fn binocular_disparity(
11541        ImageRect1: Hobject,
11542        ImageRect2: Hobject,
11543        Disparity: *mut Hobject,
11544        Score: *mut Hobject,
11545        Method: *const ::std::os::raw::c_char,
11546        MaskWidth: Hlong,
11547        MaskHeight: Hlong,
11548        TextureThresh: f64,
11549        MinDisparity: Hlong,
11550        MaxDisparity: Hlong,
11551        NumLevels: Hlong,
11552        ScoreThresh: f64,
11553        Filter: *const ::std::os::raw::c_char,
11554        SubDisparity: *const ::std::os::raw::c_char,
11555    ) -> Herror;
11556}
11557unsafe extern "C" {
11558    pub fn T_intersect_lines_of_sight(
11559        CamParam1: Htuple,
11560        CamParam2: Htuple,
11561        RelPose: Htuple,
11562        Row1: Htuple,
11563        Col1: Htuple,
11564        Row2: Htuple,
11565        Col2: Htuple,
11566        X: *mut Htuple,
11567        Y: *mut Htuple,
11568        Z: *mut Htuple,
11569        Dist: *mut Htuple,
11570    ) -> Herror;
11571}
11572unsafe extern "C" {
11573    pub fn T_disparity_image_to_xyz(
11574        Disparity: Hobject,
11575        X: *mut Hobject,
11576        Y: *mut Hobject,
11577        Z: *mut Hobject,
11578        CamParamRect1: Htuple,
11579        CamParamRect2: Htuple,
11580        RelPoseRect: Htuple,
11581    ) -> Herror;
11582}
11583unsafe extern "C" {
11584    pub fn T_disparity_to_point_3d(
11585        CamParamRect1: Htuple,
11586        CamParamRect2: Htuple,
11587        RelPoseRect: Htuple,
11588        Row1: Htuple,
11589        Col1: Htuple,
11590        Disparity: Htuple,
11591        X: *mut Htuple,
11592        Y: *mut Htuple,
11593        Z: *mut Htuple,
11594    ) -> Herror;
11595}
11596unsafe extern "C" {
11597    pub fn T_disparity_to_distance(
11598        CamParamRect1: Htuple,
11599        CamParamRect2: Htuple,
11600        RelPoseRect: Htuple,
11601        Disparity: Htuple,
11602        Distance: *mut Htuple,
11603    ) -> Herror;
11604}
11605unsafe extern "C" {
11606    pub fn T_distance_to_disparity(
11607        CamParamRect1: Htuple,
11608        CamParamRect2: Htuple,
11609        RelPoseRect: Htuple,
11610        Distance: Htuple,
11611        Disparity: *mut Htuple,
11612    ) -> Herror;
11613}
11614unsafe extern "C" {
11615    pub fn T_gen_binocular_rectification_map(
11616        Map1: *mut Hobject,
11617        Map2: *mut Hobject,
11618        CamParam1: Htuple,
11619        CamParam2: Htuple,
11620        RelPose: Htuple,
11621        SubSampling: Htuple,
11622        Method: Htuple,
11623        MapType: Htuple,
11624        CamParamRect1: *mut Htuple,
11625        CamParamRect2: *mut Htuple,
11626        CamPoseRect1: *mut Htuple,
11627        CamPoseRect2: *mut Htuple,
11628        RelPoseRect: *mut Htuple,
11629    ) -> Herror;
11630}
11631unsafe extern "C" {
11632    pub fn T_binocular_calibration(
11633        NX: Htuple,
11634        NY: Htuple,
11635        NZ: Htuple,
11636        NRow1: Htuple,
11637        NCol1: Htuple,
11638        NRow2: Htuple,
11639        NCol2: Htuple,
11640        StartCamParam1: Htuple,
11641        StartCamParam2: Htuple,
11642        NStartPose1: Htuple,
11643        NStartPose2: Htuple,
11644        EstimateParams: Htuple,
11645        CamParam1: *mut Htuple,
11646        CamParam2: *mut Htuple,
11647        NFinalPose1: *mut Htuple,
11648        NFinalPose2: *mut Htuple,
11649        RelPose: *mut Htuple,
11650        Errors: *mut Htuple,
11651    ) -> Herror;
11652}
11653unsafe extern "C" {
11654    pub fn T_query_spy(Classes: *mut Htuple, Values: *mut Htuple) -> Herror;
11655}
11656unsafe extern "C" {
11657    pub fn T_set_spy(Class: Htuple, Value: Htuple) -> Herror;
11658}
11659unsafe extern "C" {
11660    pub fn set_spy(
11661        Class: *const ::std::os::raw::c_char,
11662        Value: *const ::std::os::raw::c_char,
11663    ) -> Herror;
11664}
11665unsafe extern "C" {
11666    pub fn T_get_spy(Class: Htuple, Value: *mut Htuple) -> Herror;
11667}
11668unsafe extern "C" {
11669    pub fn get_spy(
11670        Class: *const ::std::os::raw::c_char,
11671        Value: *mut ::std::os::raw::c_char,
11672    ) -> Herror;
11673}
11674unsafe extern "C" {
11675    pub fn T_read_sheet_of_light_model(
11676        FileName: Htuple,
11677        SheetOfLightModelID: *mut Htuple,
11678    ) -> Herror;
11679}
11680unsafe extern "C" {
11681    pub fn read_sheet_of_light_model(
11682        FileName: *const ::std::os::raw::c_char,
11683        SheetOfLightModelID: *mut Hlong,
11684    ) -> Herror;
11685}
11686unsafe extern "C" {
11687    pub fn T_write_sheet_of_light_model(SheetOfLightModelID: Htuple, FileName: Htuple) -> Herror;
11688}
11689unsafe extern "C" {
11690    pub fn write_sheet_of_light_model(
11691        SheetOfLightModelID: Hlong,
11692        FileName: *const ::std::os::raw::c_char,
11693    ) -> Herror;
11694}
11695unsafe extern "C" {
11696    pub fn T_deserialize_sheet_of_light_model(
11697        SerializedItemHandle: Htuple,
11698        SheetOfLightModelID: *mut Htuple,
11699    ) -> Herror;
11700}
11701unsafe extern "C" {
11702    pub fn deserialize_sheet_of_light_model(
11703        SerializedItemHandle: Hlong,
11704        SheetOfLightModelID: *mut Hlong,
11705    ) -> Herror;
11706}
11707unsafe extern "C" {
11708    pub fn T_serialize_sheet_of_light_model(
11709        SheetOfLightModelID: Htuple,
11710        SerializedItemHandle: *mut Htuple,
11711    ) -> Herror;
11712}
11713unsafe extern "C" {
11714    pub fn serialize_sheet_of_light_model(
11715        SheetOfLightModelID: Hlong,
11716        SerializedItemHandle: *mut Hlong,
11717    ) -> Herror;
11718}
11719unsafe extern "C" {
11720    pub fn T_create_sheet_of_light_calib_object(
11721        Width: Htuple,
11722        Length: Htuple,
11723        HeightMin: Htuple,
11724        HeightMax: Htuple,
11725        FileName: Htuple,
11726    ) -> Herror;
11727}
11728unsafe extern "C" {
11729    pub fn create_sheet_of_light_calib_object(
11730        Width: f64,
11731        Length: f64,
11732        HeightMin: f64,
11733        HeightMax: f64,
11734        FileName: *const ::std::os::raw::c_char,
11735    ) -> Herror;
11736}
11737unsafe extern "C" {
11738    pub fn T_calibrate_sheet_of_light(SheetOfLightModelID: Htuple, Error: *mut Htuple) -> Herror;
11739}
11740unsafe extern "C" {
11741    pub fn calibrate_sheet_of_light(SheetOfLightModelID: Hlong, Error: *mut f64) -> Herror;
11742}
11743unsafe extern "C" {
11744    pub fn T_get_sheet_of_light_result_object_model_3d(
11745        SheetOfLightModelID: Htuple,
11746        ObjectModel3D: *mut Htuple,
11747    ) -> Herror;
11748}
11749unsafe extern "C" {
11750    pub fn get_sheet_of_light_result_object_model_3d(
11751        SheetOfLightModelID: Hlong,
11752        ObjectModel3D: *mut Hlong,
11753    ) -> Herror;
11754}
11755unsafe extern "C" {
11756    pub fn T_get_sheet_of_light_result(
11757        ResultValue: *mut Hobject,
11758        SheetOfLightModelID: Htuple,
11759        ResultName: Htuple,
11760    ) -> Herror;
11761}
11762unsafe extern "C" {
11763    pub fn get_sheet_of_light_result(
11764        ResultValue: *mut Hobject,
11765        SheetOfLightModelID: Hlong,
11766        ResultName: *const ::std::os::raw::c_char,
11767    ) -> Herror;
11768}
11769unsafe extern "C" {
11770    pub fn T_apply_sheet_of_light_calibration(
11771        Disparity: Hobject,
11772        SheetOfLightModelID: Htuple,
11773    ) -> Herror;
11774}
11775unsafe extern "C" {
11776    pub fn apply_sheet_of_light_calibration(
11777        Disparity: Hobject,
11778        SheetOfLightModelID: Hlong,
11779    ) -> Herror;
11780}
11781unsafe extern "C" {
11782    pub fn T_set_profile_sheet_of_light(
11783        ProfileDisparityImage: Hobject,
11784        SheetOfLightModelID: Htuple,
11785        MovementPoses: Htuple,
11786    ) -> Herror;
11787}
11788unsafe extern "C" {
11789    pub fn T_measure_profile_sheet_of_light(
11790        ProfileImage: Hobject,
11791        SheetOfLightModelID: Htuple,
11792        MovementPose: Htuple,
11793    ) -> Herror;
11794}
11795unsafe extern "C" {
11796    pub fn T_set_sheet_of_light_param(
11797        SheetOfLightModelID: Htuple,
11798        GenParamName: Htuple,
11799        GenParamValue: Htuple,
11800    ) -> Herror;
11801}
11802unsafe extern "C" {
11803    pub fn set_sheet_of_light_param(
11804        SheetOfLightModelID: Hlong,
11805        GenParamName: *const ::std::os::raw::c_char,
11806        GenParamValue: *const ::std::os::raw::c_char,
11807    ) -> Herror;
11808}
11809unsafe extern "C" {
11810    pub fn T_get_sheet_of_light_param(
11811        SheetOfLightModelID: Htuple,
11812        GenParamName: Htuple,
11813        GenParamValue: *mut Htuple,
11814    ) -> Herror;
11815}
11816unsafe extern "C" {
11817    pub fn get_sheet_of_light_param(
11818        SheetOfLightModelID: Hlong,
11819        GenParamName: *const ::std::os::raw::c_char,
11820        GenParamValue: *mut ::std::os::raw::c_char,
11821    ) -> Herror;
11822}
11823unsafe extern "C" {
11824    pub fn T_query_sheet_of_light_params(
11825        SheetOfLightModelID: Htuple,
11826        QueryName: Htuple,
11827        GenParamName: *mut Htuple,
11828    ) -> Herror;
11829}
11830unsafe extern "C" {
11831    pub fn T_reset_sheet_of_light_model(SheetOfLightModelID: Htuple) -> Herror;
11832}
11833unsafe extern "C" {
11834    pub fn reset_sheet_of_light_model(SheetOfLightModelID: Hlong) -> Herror;
11835}
11836unsafe extern "C" {
11837    pub fn T_clear_all_sheet_of_light_models() -> Herror;
11838}
11839unsafe extern "C" {
11840    pub fn clear_all_sheet_of_light_models() -> Herror;
11841}
11842unsafe extern "C" {
11843    pub fn T_clear_sheet_of_light_model(SheetOfLightModelID: Htuple) -> Herror;
11844}
11845unsafe extern "C" {
11846    pub fn clear_sheet_of_light_model(SheetOfLightModelID: Hlong) -> Herror;
11847}
11848unsafe extern "C" {
11849    pub fn T_create_sheet_of_light_model(
11850        ProfileRegion: Hobject,
11851        GenParamName: Htuple,
11852        GenParamValue: Htuple,
11853        SheetOfLightModelID: *mut Htuple,
11854    ) -> Herror;
11855}
11856unsafe extern "C" {
11857    pub fn create_sheet_of_light_model(
11858        ProfileRegion: Hobject,
11859        GenParamName: *const ::std::os::raw::c_char,
11860        GenParamValue: Hlong,
11861        SheetOfLightModelID: *mut Hlong,
11862    ) -> Herror;
11863}
11864unsafe extern "C" {
11865    pub fn T_shade_height_field(
11866        ImageHeight: Hobject,
11867        ImageShade: *mut Hobject,
11868        Slant: Htuple,
11869        Tilt: Htuple,
11870        Albedo: Htuple,
11871        Ambient: Htuple,
11872        Shadows: Htuple,
11873    ) -> Herror;
11874}
11875unsafe extern "C" {
11876    pub fn shade_height_field(
11877        ImageHeight: Hobject,
11878        ImageShade: *mut Hobject,
11879        Slant: f64,
11880        Tilt: f64,
11881        Albedo: f64,
11882        Ambient: f64,
11883        Shadows: *const ::std::os::raw::c_char,
11884    ) -> Herror;
11885}
11886unsafe extern "C" {
11887    pub fn T_estimate_al_am(Image: Hobject, Albedo: *mut Htuple, Ambient: *mut Htuple) -> Herror;
11888}
11889unsafe extern "C" {
11890    pub fn estimate_al_am(Image: Hobject, Albedo: *mut f64, Ambient: *mut f64) -> Herror;
11891}
11892unsafe extern "C" {
11893    pub fn T_estimate_sl_al_zc(Image: Hobject, Slant: *mut Htuple, Albedo: *mut Htuple) -> Herror;
11894}
11895unsafe extern "C" {
11896    pub fn estimate_sl_al_zc(Image: Hobject, Slant: *mut f64, Albedo: *mut f64) -> Herror;
11897}
11898unsafe extern "C" {
11899    pub fn T_estimate_sl_al_lr(Image: Hobject, Slant: *mut Htuple, Albedo: *mut Htuple) -> Herror;
11900}
11901unsafe extern "C" {
11902    pub fn estimate_sl_al_lr(Image: Hobject, Slant: *mut f64, Albedo: *mut f64) -> Herror;
11903}
11904unsafe extern "C" {
11905    pub fn T_estimate_tilt_zc(Image: Hobject, Tilt: *mut Htuple) -> Herror;
11906}
11907unsafe extern "C" {
11908    pub fn estimate_tilt_zc(Image: Hobject, Tilt: *mut f64) -> Herror;
11909}
11910unsafe extern "C" {
11911    pub fn T_estimate_tilt_lr(Image: Hobject, Tilt: *mut Htuple) -> Herror;
11912}
11913unsafe extern "C" {
11914    pub fn estimate_tilt_lr(Image: Hobject, Tilt: *mut f64) -> Herror;
11915}
11916unsafe extern "C" {
11917    pub fn T_reconstruct_height_field_from_gradient(
11918        Gradient: Hobject,
11919        HeightField: *mut Hobject,
11920        ReconstructionMethod: Htuple,
11921        GenParamName: Htuple,
11922        GenParamValue: Htuple,
11923    ) -> Herror;
11924}
11925unsafe extern "C" {
11926    pub fn T_photometric_stereo(
11927        Images: Hobject,
11928        HeightField: *mut Hobject,
11929        Gradient: *mut Hobject,
11930        Albedo: *mut Hobject,
11931        Slants: Htuple,
11932        Tilts: Htuple,
11933        ResultType: Htuple,
11934        ReconstructionMethod: Htuple,
11935        GenParamName: Htuple,
11936        GenParamValue: Htuple,
11937    ) -> Herror;
11938}
11939unsafe extern "C" {
11940    pub fn T_sfs_pentland(
11941        Image: Hobject,
11942        Height: *mut Hobject,
11943        Slant: Htuple,
11944        Tilt: Htuple,
11945        Albedo: Htuple,
11946        Ambient: Htuple,
11947    ) -> Herror;
11948}
11949unsafe extern "C" {
11950    pub fn sfs_pentland(
11951        Image: Hobject,
11952        Height: *mut Hobject,
11953        Slant: f64,
11954        Tilt: f64,
11955        Albedo: f64,
11956        Ambient: f64,
11957    ) -> Herror;
11958}
11959unsafe extern "C" {
11960    pub fn T_sfs_orig_lr(
11961        Image: Hobject,
11962        Height: *mut Hobject,
11963        Slant: Htuple,
11964        Tilt: Htuple,
11965        Albedo: Htuple,
11966        Ambient: Htuple,
11967    ) -> Herror;
11968}
11969unsafe extern "C" {
11970    pub fn sfs_orig_lr(
11971        Image: Hobject,
11972        Height: *mut Hobject,
11973        Slant: f64,
11974        Tilt: f64,
11975        Albedo: f64,
11976        Ambient: f64,
11977    ) -> Herror;
11978}
11979unsafe extern "C" {
11980    pub fn T_sfs_mod_lr(
11981        Image: Hobject,
11982        Height: *mut Hobject,
11983        Slant: Htuple,
11984        Tilt: Htuple,
11985        Albedo: Htuple,
11986        Ambient: Htuple,
11987    ) -> Herror;
11988}
11989unsafe extern "C" {
11990    pub fn sfs_mod_lr(
11991        Image: Hobject,
11992        Height: *mut Hobject,
11993        Slant: f64,
11994        Tilt: f64,
11995        Albedo: f64,
11996        Ambient: f64,
11997    ) -> Herror;
11998}
11999unsafe extern "C" {
12000    pub fn T_receive_serialized_item(Socket: Htuple, SerializedItemHandle: *mut Htuple) -> Herror;
12001}
12002unsafe extern "C" {
12003    pub fn receive_serialized_item(Socket: Hlong, SerializedItemHandle: *mut Hlong) -> Herror;
12004}
12005unsafe extern "C" {
12006    pub fn T_send_serialized_item(Socket: Htuple, SerializedItemHandle: Htuple) -> Herror;
12007}
12008unsafe extern "C" {
12009    pub fn send_serialized_item(Socket: Hlong, SerializedItemHandle: Hlong) -> Herror;
12010}
12011unsafe extern "C" {
12012    pub fn T_fwrite_serialized_item(FileHandle: Htuple, SerializedItemHandle: Htuple) -> Herror;
12013}
12014unsafe extern "C" {
12015    pub fn fwrite_serialized_item(FileHandle: Hlong, SerializedItemHandle: Hlong) -> Herror;
12016}
12017unsafe extern "C" {
12018    pub fn T_fread_serialized_item(FileHandle: Htuple, SerializedItemHandle: *mut Htuple)
12019    -> Herror;
12020}
12021unsafe extern "C" {
12022    pub fn fread_serialized_item(FileHandle: Hlong, SerializedItemHandle: *mut Hlong) -> Herror;
12023}
12024unsafe extern "C" {
12025    pub fn T_clear_all_serialized_items() -> Herror;
12026}
12027unsafe extern "C" {
12028    pub fn clear_all_serialized_items() -> Herror;
12029}
12030unsafe extern "C" {
12031    pub fn T_clear_serialized_item(SerializedItemHandle: Htuple) -> Herror;
12032}
12033unsafe extern "C" {
12034    pub fn clear_serialized_item(SerializedItemHandle: Hlong) -> Herror;
12035}
12036unsafe extern "C" {
12037    pub fn T_get_serialized_item_ptr(
12038        SerializedItemHandle: Htuple,
12039        Pointer: *mut Htuple,
12040        Size: *mut Htuple,
12041    ) -> Herror;
12042}
12043unsafe extern "C" {
12044    pub fn get_serialized_item_ptr(
12045        SerializedItemHandle: Hlong,
12046        Pointer: *mut Hlong,
12047        Size: *mut Hlong,
12048    ) -> Herror;
12049}
12050unsafe extern "C" {
12051    pub fn T_create_serialized_item_ptr(
12052        Pointer: Htuple,
12053        Size: Htuple,
12054        Copy: Htuple,
12055        SerializedItemHandle: *mut Htuple,
12056    ) -> Herror;
12057}
12058unsafe extern "C" {
12059    pub fn create_serialized_item_ptr(
12060        Pointer: Hlong,
12061        Size: Hlong,
12062        Copy: *const ::std::os::raw::c_char,
12063        SerializedItemHandle: *mut Hlong,
12064    ) -> Herror;
12065}
12066unsafe extern "C" {
12067    pub fn T_fit_primitives_object_model_3d(
12068        ObjectModel3D: Htuple,
12069        GenParamName: Htuple,
12070        GenParamValue: Htuple,
12071        ObjectModel3DOut: *mut Htuple,
12072    ) -> Herror;
12073}
12074unsafe extern "C" {
12075    pub fn T_segment_object_model_3d(
12076        ObjectModel3D: Htuple,
12077        GenParamName: Htuple,
12078        GenParamValue: Htuple,
12079        ObjectModel3DOut: *mut Htuple,
12080    ) -> Herror;
12081}
12082unsafe extern "C" {
12083    pub fn T_clear_all_text_results() -> Herror;
12084}
12085unsafe extern "C" {
12086    pub fn clear_all_text_results() -> Herror;
12087}
12088unsafe extern "C" {
12089    pub fn T_clear_text_result(TextResultID: Htuple) -> Herror;
12090}
12091unsafe extern "C" {
12092    pub fn clear_text_result(TextResultID: Hlong) -> Herror;
12093}
12094unsafe extern "C" {
12095    pub fn T_get_text_object(
12096        Characters: *mut Hobject,
12097        TextResultID: Htuple,
12098        ResultName: Htuple,
12099    ) -> Herror;
12100}
12101unsafe extern "C" {
12102    pub fn get_text_object(
12103        Characters: *mut Hobject,
12104        TextResultID: Hlong,
12105        ResultName: *const ::std::os::raw::c_char,
12106    ) -> Herror;
12107}
12108unsafe extern "C" {
12109    pub fn T_get_text_result(
12110        TextResultID: Htuple,
12111        ResultName: Htuple,
12112        ResultValue: *mut Htuple,
12113    ) -> Herror;
12114}
12115unsafe extern "C" {
12116    pub fn get_text_result(
12117        TextResultID: Hlong,
12118        ResultName: *const ::std::os::raw::c_char,
12119        ResultValue: *mut Hlong,
12120    ) -> Herror;
12121}
12122unsafe extern "C" {
12123    pub fn T_find_text(Image: Hobject, TextModel: Htuple, TextResultID: *mut Htuple) -> Herror;
12124}
12125unsafe extern "C" {
12126    pub fn find_text(Image: Hobject, TextModel: Hlong, TextResultID: *mut Hlong) -> Herror;
12127}
12128unsafe extern "C" {
12129    pub fn T_get_text_model_param(
12130        TextModel: Htuple,
12131        GenParamName: Htuple,
12132        GenParamValue: *mut Htuple,
12133    ) -> Herror;
12134}
12135unsafe extern "C" {
12136    pub fn get_text_model_param(
12137        TextModel: Hlong,
12138        GenParamName: *const ::std::os::raw::c_char,
12139        GenParamValue: *mut Hlong,
12140    ) -> Herror;
12141}
12142unsafe extern "C" {
12143    pub fn T_set_text_model_param(
12144        TextModel: Htuple,
12145        GenParamName: Htuple,
12146        GenParamValue: Htuple,
12147    ) -> Herror;
12148}
12149unsafe extern "C" {
12150    pub fn set_text_model_param(
12151        TextModel: Hlong,
12152        GenParamName: *const ::std::os::raw::c_char,
12153        GenParamValue: Hlong,
12154    ) -> Herror;
12155}
12156unsafe extern "C" {
12157    pub fn T_clear_all_text_models() -> Herror;
12158}
12159unsafe extern "C" {
12160    pub fn clear_all_text_models() -> Herror;
12161}
12162unsafe extern "C" {
12163    pub fn T_clear_text_model(TextModel: Htuple) -> Herror;
12164}
12165unsafe extern "C" {
12166    pub fn clear_text_model(TextModel: Hlong) -> Herror;
12167}
12168unsafe extern "C" {
12169    pub fn T_create_text_model_reader(
12170        Mode: Htuple,
12171        OCRClassifier: Htuple,
12172        TextModel: *mut Htuple,
12173    ) -> Herror;
12174}
12175unsafe extern "C" {
12176    pub fn create_text_model_reader(
12177        Mode: *const ::std::os::raw::c_char,
12178        OCRClassifier: *const ::std::os::raw::c_char,
12179        TextModel: *mut Hlong,
12180    ) -> Herror;
12181}
12182unsafe extern "C" {
12183    pub fn T_create_text_model(TextModel: *mut Htuple) -> Herror;
12184}
12185unsafe extern "C" {
12186    pub fn create_text_model(TextModel: *mut Hlong) -> Herror;
12187}
12188unsafe extern "C" {
12189    pub fn T_select_characters(
12190        Region: Hobject,
12191        RegionCharacters: *mut Hobject,
12192        DotPrint: Htuple,
12193        StrokeWidth: Htuple,
12194        CharWidth: Htuple,
12195        CharHeight: Htuple,
12196        Punctuation: Htuple,
12197        DiacriticMarks: Htuple,
12198        PartitionMethod: Htuple,
12199        PartitionLines: Htuple,
12200        FragmentDistance: Htuple,
12201        ConnectFragments: Htuple,
12202        ClutterSizeMax: Htuple,
12203        StopAfter: Htuple,
12204    ) -> Herror;
12205}
12206unsafe extern "C" {
12207    pub fn T_segment_characters(
12208        Region: Hobject,
12209        Image: Hobject,
12210        ImageForeground: *mut Hobject,
12211        RegionForeground: *mut Hobject,
12212        Method: Htuple,
12213        EliminateLines: Htuple,
12214        DotPrint: Htuple,
12215        StrokeWidth: Htuple,
12216        CharWidth: Htuple,
12217        CharHeight: Htuple,
12218        ThresholdOffset: Htuple,
12219        Contrast: Htuple,
12220        UsedThreshold: *mut Htuple,
12221    ) -> Herror;
12222}
12223unsafe extern "C" {
12224    pub fn T_text_line_slant(
12225        Region: Hobject,
12226        Image: Hobject,
12227        CharHeight: Htuple,
12228        SlantFrom: Htuple,
12229        SlantTo: Htuple,
12230        SlantAngle: *mut Htuple,
12231    ) -> Herror;
12232}
12233unsafe extern "C" {
12234    pub fn text_line_slant(
12235        Region: Hobject,
12236        Image: Hobject,
12237        CharHeight: Hlong,
12238        SlantFrom: f64,
12239        SlantTo: f64,
12240        SlantAngle: *mut f64,
12241    ) -> Herror;
12242}
12243unsafe extern "C" {
12244    pub fn T_text_line_orientation(
12245        Region: Hobject,
12246        Image: Hobject,
12247        CharHeight: Htuple,
12248        OrientationFrom: Htuple,
12249        OrientationTo: Htuple,
12250        OrientationAngle: *mut Htuple,
12251    ) -> Herror;
12252}
12253unsafe extern "C" {
12254    pub fn text_line_orientation(
12255        Region: Hobject,
12256        Image: Hobject,
12257        CharHeight: Hlong,
12258        OrientationFrom: f64,
12259        OrientationTo: f64,
12260        OrientationAngle: *mut f64,
12261    ) -> Herror;
12262}
12263unsafe extern "C" {
12264    pub fn T_classify_image_class_lut(
12265        Image: Hobject,
12266        ClassRegions: *mut Hobject,
12267        ClassLUTHandle: Htuple,
12268    ) -> Herror;
12269}
12270unsafe extern "C" {
12271    pub fn classify_image_class_lut(
12272        Image: Hobject,
12273        ClassRegions: *mut Hobject,
12274        ClassLUTHandle: Hlong,
12275    ) -> Herror;
12276}
12277unsafe extern "C" {
12278    pub fn T_classify_image_class_knn(
12279        Image: Hobject,
12280        ClassRegions: *mut Hobject,
12281        DistanceImage: *mut Hobject,
12282        KNNHandle: Htuple,
12283        RejectionThreshold: Htuple,
12284    ) -> Herror;
12285}
12286unsafe extern "C" {
12287    pub fn classify_image_class_knn(
12288        Image: Hobject,
12289        ClassRegions: *mut Hobject,
12290        DistanceImage: *mut Hobject,
12291        KNNHandle: Hlong,
12292        RejectionThreshold: f64,
12293    ) -> Herror;
12294}
12295unsafe extern "C" {
12296    pub fn T_add_samples_image_class_knn(
12297        Image: Hobject,
12298        ClassRegions: Hobject,
12299        KNNHandle: Htuple,
12300    ) -> Herror;
12301}
12302unsafe extern "C" {
12303    pub fn add_samples_image_class_knn(
12304        Image: Hobject,
12305        ClassRegions: Hobject,
12306        KNNHandle: Hlong,
12307    ) -> Herror;
12308}
12309unsafe extern "C" {
12310    pub fn T_classify_image_class_gmm(
12311        Image: Hobject,
12312        ClassRegions: *mut Hobject,
12313        GMMHandle: Htuple,
12314        RejectionThreshold: Htuple,
12315    ) -> Herror;
12316}
12317unsafe extern "C" {
12318    pub fn classify_image_class_gmm(
12319        Image: Hobject,
12320        ClassRegions: *mut Hobject,
12321        GMMHandle: Hlong,
12322        RejectionThreshold: f64,
12323    ) -> Herror;
12324}
12325unsafe extern "C" {
12326    pub fn T_add_samples_image_class_gmm(
12327        Image: Hobject,
12328        ClassRegions: Hobject,
12329        GMMHandle: Htuple,
12330        Randomize: Htuple,
12331    ) -> Herror;
12332}
12333unsafe extern "C" {
12334    pub fn add_samples_image_class_gmm(
12335        Image: Hobject,
12336        ClassRegions: Hobject,
12337        GMMHandle: Hlong,
12338        Randomize: f64,
12339    ) -> Herror;
12340}
12341unsafe extern "C" {
12342    pub fn T_classify_image_class_svm(
12343        Image: Hobject,
12344        ClassRegions: *mut Hobject,
12345        SVMHandle: Htuple,
12346    ) -> Herror;
12347}
12348unsafe extern "C" {
12349    pub fn classify_image_class_svm(
12350        Image: Hobject,
12351        ClassRegions: *mut Hobject,
12352        SVMHandle: Hlong,
12353    ) -> Herror;
12354}
12355unsafe extern "C" {
12356    pub fn T_add_samples_image_class_svm(
12357        Image: Hobject,
12358        ClassRegions: Hobject,
12359        SVMHandle: Htuple,
12360    ) -> Herror;
12361}
12362unsafe extern "C" {
12363    pub fn add_samples_image_class_svm(
12364        Image: Hobject,
12365        ClassRegions: Hobject,
12366        SVMHandle: Hlong,
12367    ) -> Herror;
12368}
12369unsafe extern "C" {
12370    pub fn T_classify_image_class_mlp(
12371        Image: Hobject,
12372        ClassRegions: *mut Hobject,
12373        MLPHandle: Htuple,
12374        RejectionThreshold: Htuple,
12375    ) -> Herror;
12376}
12377unsafe extern "C" {
12378    pub fn classify_image_class_mlp(
12379        Image: Hobject,
12380        ClassRegions: *mut Hobject,
12381        MLPHandle: Hlong,
12382        RejectionThreshold: f64,
12383    ) -> Herror;
12384}
12385unsafe extern "C" {
12386    pub fn T_add_samples_image_class_mlp(
12387        Image: Hobject,
12388        ClassRegions: Hobject,
12389        MLPHandle: Htuple,
12390    ) -> Herror;
12391}
12392unsafe extern "C" {
12393    pub fn add_samples_image_class_mlp(
12394        Image: Hobject,
12395        ClassRegions: Hobject,
12396        MLPHandle: Hlong,
12397    ) -> Herror;
12398}
12399unsafe extern "C" {
12400    pub fn T_learn_ndim_norm(
12401        Foreground: Hobject,
12402        Background: Hobject,
12403        Image: Hobject,
12404        Metric: Htuple,
12405        Distance: Htuple,
12406        MinNumberPercent: Htuple,
12407        Radius: *mut Htuple,
12408        Center: *mut Htuple,
12409        Quality: *mut Htuple,
12410    ) -> Herror;
12411}
12412unsafe extern "C" {
12413    pub fn T_learn_ndim_box(
12414        Foreground: Hobject,
12415        Background: Hobject,
12416        MultiChannelImage: Hobject,
12417        ClassifHandle: Htuple,
12418    ) -> Herror;
12419}
12420unsafe extern "C" {
12421    pub fn learn_ndim_box(
12422        Foreground: Hobject,
12423        Background: Hobject,
12424        MultiChannelImage: Hobject,
12425        ClassifHandle: Hlong,
12426    ) -> Herror;
12427}
12428unsafe extern "C" {
12429    pub fn T_class_ndim_box(
12430        MultiChannelImage: Hobject,
12431        Regions: *mut Hobject,
12432        ClassifHandle: Htuple,
12433    ) -> Herror;
12434}
12435unsafe extern "C" {
12436    pub fn class_ndim_box(
12437        MultiChannelImage: Hobject,
12438        Regions: *mut Hobject,
12439        ClassifHandle: Hlong,
12440    ) -> Herror;
12441}
12442unsafe extern "C" {
12443    pub fn T_class_ndim_norm(
12444        MultiChannelImage: Hobject,
12445        Regions: *mut Hobject,
12446        Metric: Htuple,
12447        SingleMultiple: Htuple,
12448        Radius: Htuple,
12449        Center: Htuple,
12450    ) -> Herror;
12451}
12452unsafe extern "C" {
12453    pub fn class_ndim_norm(
12454        MultiChannelImage: Hobject,
12455        Regions: *mut Hobject,
12456        Metric: *const ::std::os::raw::c_char,
12457        SingleMultiple: *const ::std::os::raw::c_char,
12458        Radius: f64,
12459        Center: f64,
12460    ) -> Herror;
12461}
12462unsafe extern "C" {
12463    pub fn T_class_2dim_sup(
12464        ImageCol: Hobject,
12465        ImageRow: Hobject,
12466        FeatureSpace: Hobject,
12467        RegionClass2Dim: *mut Hobject,
12468    ) -> Herror;
12469}
12470unsafe extern "C" {
12471    pub fn class_2dim_sup(
12472        ImageCol: Hobject,
12473        ImageRow: Hobject,
12474        FeatureSpace: Hobject,
12475        RegionClass2Dim: *mut Hobject,
12476    ) -> Herror;
12477}
12478unsafe extern "C" {
12479    pub fn T_class_2dim_unsup(
12480        Image1: Hobject,
12481        Image2: Hobject,
12482        Classes: *mut Hobject,
12483        Threshold: Htuple,
12484        NumClasses: Htuple,
12485    ) -> Herror;
12486}
12487unsafe extern "C" {
12488    pub fn class_2dim_unsup(
12489        Image1: Hobject,
12490        Image2: Hobject,
12491        Classes: *mut Hobject,
12492        Threshold: Hlong,
12493        NumClasses: Hlong,
12494    ) -> Herror;
12495}
12496unsafe extern "C" {
12497    pub fn T_check_difference(
12498        Image: Hobject,
12499        Pattern: Hobject,
12500        Selected: *mut Hobject,
12501        Mode: Htuple,
12502        DiffLowerBound: Htuple,
12503        DiffUpperBound: Htuple,
12504        GrayOffset: Htuple,
12505        AddRow: Htuple,
12506        AddCol: Htuple,
12507    ) -> Herror;
12508}
12509unsafe extern "C" {
12510    pub fn check_difference(
12511        Image: Hobject,
12512        Pattern: Hobject,
12513        Selected: *mut Hobject,
12514        Mode: *const ::std::os::raw::c_char,
12515        DiffLowerBound: Hlong,
12516        DiffUpperBound: Hlong,
12517        GrayOffset: Hlong,
12518        AddRow: Hlong,
12519        AddCol: Hlong,
12520    ) -> Herror;
12521}
12522unsafe extern "C" {
12523    pub fn T_char_threshold(
12524        Image: Hobject,
12525        HistoRegion: Hobject,
12526        Characters: *mut Hobject,
12527        Sigma: Htuple,
12528        Percent: Htuple,
12529        Threshold: *mut Htuple,
12530    ) -> Herror;
12531}
12532unsafe extern "C" {
12533    pub fn char_threshold(
12534        Image: Hobject,
12535        HistoRegion: Hobject,
12536        Characters: *mut Hobject,
12537        Sigma: f64,
12538        Percent: f64,
12539        Threshold: *mut Hlong,
12540    ) -> Herror;
12541}
12542unsafe extern "C" {
12543    pub fn T_label_to_region(LabelImage: Hobject, Regions: *mut Hobject) -> Herror;
12544}
12545unsafe extern "C" {
12546    pub fn label_to_region(LabelImage: Hobject, Regions: *mut Hobject) -> Herror;
12547}
12548unsafe extern "C" {
12549    pub fn T_nonmax_suppression_amp(
12550        ImgAmp: Hobject,
12551        ImageResult: *mut Hobject,
12552        Mode: Htuple,
12553    ) -> Herror;
12554}
12555unsafe extern "C" {
12556    pub fn nonmax_suppression_amp(
12557        ImgAmp: Hobject,
12558        ImageResult: *mut Hobject,
12559        Mode: *const ::std::os::raw::c_char,
12560    ) -> Herror;
12561}
12562unsafe extern "C" {
12563    pub fn T_nonmax_suppression_dir(
12564        ImgAmp: Hobject,
12565        ImgDir: Hobject,
12566        ImageResult: *mut Hobject,
12567        Mode: Htuple,
12568    ) -> Herror;
12569}
12570unsafe extern "C" {
12571    pub fn nonmax_suppression_dir(
12572        ImgAmp: Hobject,
12573        ImgDir: Hobject,
12574        ImageResult: *mut Hobject,
12575        Mode: *const ::std::os::raw::c_char,
12576    ) -> Herror;
12577}
12578unsafe extern "C" {
12579    pub fn T_hysteresis_threshold(
12580        Image: Hobject,
12581        RegionHysteresis: *mut Hobject,
12582        Low: Htuple,
12583        High: Htuple,
12584        MaxLength: Htuple,
12585    ) -> Herror;
12586}
12587unsafe extern "C" {
12588    pub fn hysteresis_threshold(
12589        Image: Hobject,
12590        RegionHysteresis: *mut Hobject,
12591        Low: Hlong,
12592        High: Hlong,
12593        MaxLength: Hlong,
12594    ) -> Herror;
12595}
12596unsafe extern "C" {
12597    pub fn T_binary_threshold(
12598        Image: Hobject,
12599        Region: *mut Hobject,
12600        Method: Htuple,
12601        LightDark: Htuple,
12602        UsedThreshold: *mut Htuple,
12603    ) -> Herror;
12604}
12605unsafe extern "C" {
12606    pub fn binary_threshold(
12607        Image: Hobject,
12608        Region: *mut Hobject,
12609        Method: *const ::std::os::raw::c_char,
12610        LightDark: *const ::std::os::raw::c_char,
12611        UsedThreshold: *mut Hlong,
12612    ) -> Herror;
12613}
12614unsafe extern "C" {
12615    pub fn T_local_threshold(
12616        Image: Hobject,
12617        Region: *mut Hobject,
12618        Method: Htuple,
12619        LightDark: Htuple,
12620        GenParamName: Htuple,
12621        GenParamValue: Htuple,
12622    ) -> Herror;
12623}
12624unsafe extern "C" {
12625    pub fn local_threshold(
12626        Image: Hobject,
12627        Region: *mut Hobject,
12628        Method: *const ::std::os::raw::c_char,
12629        LightDark: *const ::std::os::raw::c_char,
12630        GenParamName: *const ::std::os::raw::c_char,
12631        GenParamValue: Hlong,
12632    ) -> Herror;
12633}
12634unsafe extern "C" {
12635    pub fn T_var_threshold(
12636        Image: Hobject,
12637        Region: *mut Hobject,
12638        MaskWidth: Htuple,
12639        MaskHeight: Htuple,
12640        StdDevScale: Htuple,
12641        AbsThreshold: Htuple,
12642        LightDark: Htuple,
12643    ) -> Herror;
12644}
12645unsafe extern "C" {
12646    pub fn var_threshold(
12647        Image: Hobject,
12648        Region: *mut Hobject,
12649        MaskWidth: Hlong,
12650        MaskHeight: Hlong,
12651        StdDevScale: f64,
12652        AbsThreshold: f64,
12653        LightDark: *const ::std::os::raw::c_char,
12654    ) -> Herror;
12655}
12656unsafe extern "C" {
12657    pub fn T_dyn_threshold(
12658        OrigImage: Hobject,
12659        ThresholdImage: Hobject,
12660        RegionDynThresh: *mut Hobject,
12661        Offset: Htuple,
12662        LightDark: Htuple,
12663    ) -> Herror;
12664}
12665unsafe extern "C" {
12666    pub fn dyn_threshold(
12667        OrigImage: Hobject,
12668        ThresholdImage: Hobject,
12669        RegionDynThresh: *mut Hobject,
12670        Offset: f64,
12671        LightDark: *const ::std::os::raw::c_char,
12672    ) -> Herror;
12673}
12674unsafe extern "C" {
12675    pub fn T_threshold(
12676        Image: Hobject,
12677        Region: *mut Hobject,
12678        MinGray: Htuple,
12679        MaxGray: Htuple,
12680    ) -> Herror;
12681}
12682unsafe extern "C" {
12683    pub fn threshold(Image: Hobject, Region: *mut Hobject, MinGray: f64, MaxGray: f64) -> Herror;
12684}
12685unsafe extern "C" {
12686    pub fn T_threshold_sub_pix(Image: Hobject, Border: *mut Hobject, Threshold: Htuple) -> Herror;
12687}
12688unsafe extern "C" {
12689    pub fn threshold_sub_pix(Image: Hobject, Border: *mut Hobject, Threshold: f64) -> Herror;
12690}
12691unsafe extern "C" {
12692    pub fn T_regiongrowing_n(
12693        MultiChannelImage: Hobject,
12694        Regions: *mut Hobject,
12695        Metric: Htuple,
12696        MinTolerance: Htuple,
12697        MaxTolerance: Htuple,
12698        MinSize: Htuple,
12699    ) -> Herror;
12700}
12701unsafe extern "C" {
12702    pub fn regiongrowing_n(
12703        MultiChannelImage: Hobject,
12704        Regions: *mut Hobject,
12705        Metric: *const ::std::os::raw::c_char,
12706        MinTolerance: f64,
12707        MaxTolerance: f64,
12708        MinSize: Hlong,
12709    ) -> Herror;
12710}
12711unsafe extern "C" {
12712    pub fn T_regiongrowing(
12713        Image: Hobject,
12714        Regions: *mut Hobject,
12715        RasterHeight: Htuple,
12716        RasterWidth: Htuple,
12717        Tolerance: Htuple,
12718        MinSize: Htuple,
12719    ) -> Herror;
12720}
12721unsafe extern "C" {
12722    pub fn regiongrowing(
12723        Image: Hobject,
12724        Regions: *mut Hobject,
12725        RasterHeight: Hlong,
12726        RasterWidth: Hlong,
12727        Tolerance: f64,
12728        MinSize: Hlong,
12729    ) -> Herror;
12730}
12731unsafe extern "C" {
12732    pub fn T_regiongrowing_mean(
12733        Image: Hobject,
12734        Regions: *mut Hobject,
12735        StartRows: Htuple,
12736        StartColumns: Htuple,
12737        Tolerance: Htuple,
12738        MinSize: Htuple,
12739    ) -> Herror;
12740}
12741unsafe extern "C" {
12742    pub fn regiongrowing_mean(
12743        Image: Hobject,
12744        Regions: *mut Hobject,
12745        StartRows: Hlong,
12746        StartColumns: Hlong,
12747        Tolerance: f64,
12748        MinSize: Hlong,
12749    ) -> Herror;
12750}
12751unsafe extern "C" {
12752    pub fn T_pouring(
12753        Image: Hobject,
12754        Regions: *mut Hobject,
12755        Mode: Htuple,
12756        MinGray: Htuple,
12757        MaxGray: Htuple,
12758    ) -> Herror;
12759}
12760unsafe extern "C" {
12761    pub fn pouring(
12762        Image: Hobject,
12763        Regions: *mut Hobject,
12764        Mode: *const ::std::os::raw::c_char,
12765        MinGray: Hlong,
12766        MaxGray: Hlong,
12767    ) -> Herror;
12768}
12769unsafe extern "C" {
12770    pub fn T_watersheds_threshold(
12771        Image: Hobject,
12772        Basins: *mut Hobject,
12773        Threshold: Htuple,
12774    ) -> Herror;
12775}
12776unsafe extern "C" {
12777    pub fn watersheds_threshold(Image: Hobject, Basins: *mut Hobject, Threshold: Hlong) -> Herror;
12778}
12779unsafe extern "C" {
12780    pub fn T_watersheds(Image: Hobject, Basins: *mut Hobject, Watersheds: *mut Hobject) -> Herror;
12781}
12782unsafe extern "C" {
12783    pub fn watersheds(Image: Hobject, Basins: *mut Hobject, Watersheds: *mut Hobject) -> Herror;
12784}
12785unsafe extern "C" {
12786    pub fn T_zero_crossing(Image: Hobject, RegionCrossing: *mut Hobject) -> Herror;
12787}
12788unsafe extern "C" {
12789    pub fn zero_crossing(Image: Hobject, RegionCrossing: *mut Hobject) -> Herror;
12790}
12791unsafe extern "C" {
12792    pub fn T_zero_crossing_sub_pix(Image: Hobject, ZeroCrossings: *mut Hobject) -> Herror;
12793}
12794unsafe extern "C" {
12795    pub fn zero_crossing_sub_pix(Image: Hobject, ZeroCrossings: *mut Hobject) -> Herror;
12796}
12797unsafe extern "C" {
12798    pub fn T_dual_threshold(
12799        Image: Hobject,
12800        RegionCrossings: *mut Hobject,
12801        MinSize: Htuple,
12802        MinGray: Htuple,
12803        Threshold: Htuple,
12804    ) -> Herror;
12805}
12806unsafe extern "C" {
12807    pub fn dual_threshold(
12808        Image: Hobject,
12809        RegionCrossings: *mut Hobject,
12810        MinSize: Hlong,
12811        MinGray: f64,
12812        Threshold: f64,
12813    ) -> Herror;
12814}
12815unsafe extern "C" {
12816    pub fn T_expand_line(
12817        Image: Hobject,
12818        RegionExpand: *mut Hobject,
12819        Coordinate: Htuple,
12820        ExpandType: Htuple,
12821        RowColumn: Htuple,
12822        Threshold: Htuple,
12823    ) -> Herror;
12824}
12825unsafe extern "C" {
12826    pub fn expand_line(
12827        Image: Hobject,
12828        RegionExpand: *mut Hobject,
12829        Coordinate: Hlong,
12830        ExpandType: *const ::std::os::raw::c_char,
12831        RowColumn: *const ::std::os::raw::c_char,
12832        Threshold: f64,
12833    ) -> Herror;
12834}
12835unsafe extern "C" {
12836    pub fn T_local_min(Image: Hobject, LocalMinima: *mut Hobject) -> Herror;
12837}
12838unsafe extern "C" {
12839    pub fn local_min(Image: Hobject, LocalMinima: *mut Hobject) -> Herror;
12840}
12841unsafe extern "C" {
12842    pub fn T_lowlands(Image: Hobject, Lowlands: *mut Hobject) -> Herror;
12843}
12844unsafe extern "C" {
12845    pub fn lowlands(Image: Hobject, Lowlands: *mut Hobject) -> Herror;
12846}
12847unsafe extern "C" {
12848    pub fn T_lowlands_center(Image: Hobject, Lowlands: *mut Hobject) -> Herror;
12849}
12850unsafe extern "C" {
12851    pub fn lowlands_center(Image: Hobject, Lowlands: *mut Hobject) -> Herror;
12852}
12853unsafe extern "C" {
12854    pub fn T_local_max(Image: Hobject, LocalMaxima: *mut Hobject) -> Herror;
12855}
12856unsafe extern "C" {
12857    pub fn local_max(Image: Hobject, LocalMaxima: *mut Hobject) -> Herror;
12858}
12859unsafe extern "C" {
12860    pub fn T_plateaus(Image: Hobject, Plateaus: *mut Hobject) -> Herror;
12861}
12862unsafe extern "C" {
12863    pub fn plateaus(Image: Hobject, Plateaus: *mut Hobject) -> Herror;
12864}
12865unsafe extern "C" {
12866    pub fn T_plateaus_center(Image: Hobject, Plateaus: *mut Hobject) -> Herror;
12867}
12868unsafe extern "C" {
12869    pub fn plateaus_center(Image: Hobject, Plateaus: *mut Hobject) -> Herror;
12870}
12871unsafe extern "C" {
12872    pub fn T_histo_to_thresh(
12873        Histogramm: Htuple,
12874        Sigma: Htuple,
12875        MinThresh: *mut Htuple,
12876        MaxThresh: *mut Htuple,
12877    ) -> Herror;
12878}
12879unsafe extern "C" {
12880    pub fn T_auto_threshold(Image: Hobject, Regions: *mut Hobject, Sigma: Htuple) -> Herror;
12881}
12882unsafe extern "C" {
12883    pub fn auto_threshold(Image: Hobject, Regions: *mut Hobject, Sigma: f64) -> Herror;
12884}
12885unsafe extern "C" {
12886    pub fn T_bin_threshold(Image: Hobject, Region: *mut Hobject) -> Herror;
12887}
12888unsafe extern "C" {
12889    pub fn bin_threshold(Image: Hobject, Region: *mut Hobject) -> Herror;
12890}
12891unsafe extern "C" {
12892    pub fn T_fast_threshold(
12893        Image: Hobject,
12894        Region: *mut Hobject,
12895        MinGray: Htuple,
12896        MaxGray: Htuple,
12897        MinSize: Htuple,
12898    ) -> Herror;
12899}
12900unsafe extern "C" {
12901    pub fn fast_threshold(
12902        Image: Hobject,
12903        Region: *mut Hobject,
12904        MinGray: f64,
12905        MaxGray: f64,
12906        MinSize: Hlong,
12907    ) -> Herror;
12908}
12909unsafe extern "C" {
12910    pub fn T_polar_trans_region_inv(
12911        PolarRegion: Hobject,
12912        XYTransRegion: *mut Hobject,
12913        Row: Htuple,
12914        Column: Htuple,
12915        AngleStart: Htuple,
12916        AngleEnd: Htuple,
12917        RadiusStart: Htuple,
12918        RadiusEnd: Htuple,
12919        WidthIn: Htuple,
12920        HeightIn: Htuple,
12921        Width: Htuple,
12922        Height: Htuple,
12923        Interpolation: Htuple,
12924    ) -> Herror;
12925}
12926unsafe extern "C" {
12927    pub fn polar_trans_region_inv(
12928        PolarRegion: Hobject,
12929        XYTransRegion: *mut Hobject,
12930        Row: f64,
12931        Column: f64,
12932        AngleStart: f64,
12933        AngleEnd: f64,
12934        RadiusStart: f64,
12935        RadiusEnd: f64,
12936        WidthIn: Hlong,
12937        HeightIn: Hlong,
12938        Width: Hlong,
12939        Height: Hlong,
12940        Interpolation: *const ::std::os::raw::c_char,
12941    ) -> Herror;
12942}
12943unsafe extern "C" {
12944    pub fn T_polar_trans_region(
12945        Region: Hobject,
12946        PolarTransRegion: *mut Hobject,
12947        Row: Htuple,
12948        Column: Htuple,
12949        AngleStart: Htuple,
12950        AngleEnd: Htuple,
12951        RadiusStart: Htuple,
12952        RadiusEnd: Htuple,
12953        Width: Htuple,
12954        Height: Htuple,
12955        Interpolation: Htuple,
12956    ) -> Herror;
12957}
12958unsafe extern "C" {
12959    pub fn polar_trans_region(
12960        Region: Hobject,
12961        PolarTransRegion: *mut Hobject,
12962        Row: f64,
12963        Column: f64,
12964        AngleStart: f64,
12965        AngleEnd: f64,
12966        RadiusStart: f64,
12967        RadiusEnd: f64,
12968        Width: Hlong,
12969        Height: Hlong,
12970        Interpolation: *const ::std::os::raw::c_char,
12971    ) -> Herror;
12972}
12973unsafe extern "C" {
12974    pub fn T_merge_regions_line_scan(
12975        CurrRegions: Hobject,
12976        PrevRegions: Hobject,
12977        CurrMergedRegions: *mut Hobject,
12978        PrevMergedRegions: *mut Hobject,
12979        ImageHeight: Htuple,
12980        MergeBorder: Htuple,
12981        MaxImagesRegion: Htuple,
12982    ) -> Herror;
12983}
12984unsafe extern "C" {
12985    pub fn merge_regions_line_scan(
12986        CurrRegions: Hobject,
12987        PrevRegions: Hobject,
12988        CurrMergedRegions: *mut Hobject,
12989        PrevMergedRegions: *mut Hobject,
12990        ImageHeight: Hlong,
12991        MergeBorder: *const ::std::os::raw::c_char,
12992        MaxImagesRegion: Hlong,
12993    ) -> Herror;
12994}
12995unsafe extern "C" {
12996    pub fn T_partition_rectangle(
12997        Region: Hobject,
12998        Partitioned: *mut Hobject,
12999        Width: Htuple,
13000        Height: Htuple,
13001    ) -> Herror;
13002}
13003unsafe extern "C" {
13004    pub fn partition_rectangle(
13005        Region: Hobject,
13006        Partitioned: *mut Hobject,
13007        Width: f64,
13008        Height: f64,
13009    ) -> Herror;
13010}
13011unsafe extern "C" {
13012    pub fn T_partition_dynamic(
13013        Region: Hobject,
13014        Partitioned: *mut Hobject,
13015        Distance: Htuple,
13016        Percent: Htuple,
13017    ) -> Herror;
13018}
13019unsafe extern "C" {
13020    pub fn partition_dynamic(
13021        Region: Hobject,
13022        Partitioned: *mut Hobject,
13023        Distance: f64,
13024        Percent: f64,
13025    ) -> Herror;
13026}
13027unsafe extern "C" {
13028    pub fn T_region_to_label(
13029        Region: Hobject,
13030        ImageLabel: *mut Hobject,
13031        Type: Htuple,
13032        Width: Htuple,
13033        Height: Htuple,
13034    ) -> Herror;
13035}
13036unsafe extern "C" {
13037    pub fn region_to_label(
13038        Region: Hobject,
13039        ImageLabel: *mut Hobject,
13040        Type: *const ::std::os::raw::c_char,
13041        Width: Hlong,
13042        Height: Hlong,
13043    ) -> Herror;
13044}
13045unsafe extern "C" {
13046    pub fn T_region_to_bin(
13047        Region: Hobject,
13048        BinImage: *mut Hobject,
13049        ForegroundGray: Htuple,
13050        BackgroundGray: Htuple,
13051        Width: Htuple,
13052        Height: Htuple,
13053    ) -> Herror;
13054}
13055unsafe extern "C" {
13056    pub fn region_to_bin(
13057        Region: Hobject,
13058        BinImage: *mut Hobject,
13059        ForegroundGray: Hlong,
13060        BackgroundGray: Hlong,
13061        Width: Hlong,
13062        Height: Hlong,
13063    ) -> Herror;
13064}
13065unsafe extern "C" {
13066    pub fn T_union2(Region1: Hobject, Region2: Hobject, RegionUnion: *mut Hobject) -> Herror;
13067}
13068unsafe extern "C" {
13069    pub fn union2(Region1: Hobject, Region2: Hobject, RegionUnion: *mut Hobject) -> Herror;
13070}
13071unsafe extern "C" {
13072    pub fn T_union1(Region: Hobject, RegionUnion: *mut Hobject) -> Herror;
13073}
13074unsafe extern "C" {
13075    pub fn union1(Region: Hobject, RegionUnion: *mut Hobject) -> Herror;
13076}
13077unsafe extern "C" {
13078    pub fn T_closest_point_transform(
13079        Region: Hobject,
13080        Distances: *mut Hobject,
13081        ClosestPoints: *mut Hobject,
13082        Metric: Htuple,
13083        Foreground: Htuple,
13084        ClosestPointMode: Htuple,
13085        Width: Htuple,
13086        Height: Htuple,
13087    ) -> Herror;
13088}
13089unsafe extern "C" {
13090    pub fn closest_point_transform(
13091        Region: Hobject,
13092        Distances: *mut Hobject,
13093        ClosestPoints: *mut Hobject,
13094        Metric: *const ::std::os::raw::c_char,
13095        Foreground: *const ::std::os::raw::c_char,
13096        ClosestPointMode: *const ::std::os::raw::c_char,
13097        Width: Hlong,
13098        Height: Hlong,
13099    ) -> Herror;
13100}
13101unsafe extern "C" {
13102    pub fn T_distance_transform(
13103        Region: Hobject,
13104        DistanceImage: *mut Hobject,
13105        Metric: Htuple,
13106        Foreground: Htuple,
13107        Width: Htuple,
13108        Height: Htuple,
13109    ) -> Herror;
13110}
13111unsafe extern "C" {
13112    pub fn distance_transform(
13113        Region: Hobject,
13114        DistanceImage: *mut Hobject,
13115        Metric: *const ::std::os::raw::c_char,
13116        Foreground: *const ::std::os::raw::c_char,
13117        Width: Hlong,
13118        Height: Hlong,
13119    ) -> Herror;
13120}
13121unsafe extern "C" {
13122    pub fn T_skeleton(Region: Hobject, Skeleton: *mut Hobject) -> Herror;
13123}
13124unsafe extern "C" {
13125    pub fn skeleton(Region: Hobject, Skeleton: *mut Hobject) -> Herror;
13126}
13127unsafe extern "C" {
13128    pub fn T_projective_trans_region(
13129        Regions: Hobject,
13130        TransRegions: *mut Hobject,
13131        HomMat2D: Htuple,
13132        Interpolation: Htuple,
13133    ) -> Herror;
13134}
13135unsafe extern "C" {
13136    pub fn T_affine_trans_region(
13137        Region: Hobject,
13138        RegionAffineTrans: *mut Hobject,
13139        HomMat2D: Htuple,
13140        Interpolate: Htuple,
13141    ) -> Herror;
13142}
13143unsafe extern "C" {
13144    pub fn T_mirror_region(
13145        Region: Hobject,
13146        RegionMirror: *mut Hobject,
13147        Mode: Htuple,
13148        WidthHeight: Htuple,
13149    ) -> Herror;
13150}
13151unsafe extern "C" {
13152    pub fn mirror_region(
13153        Region: Hobject,
13154        RegionMirror: *mut Hobject,
13155        Mode: *const ::std::os::raw::c_char,
13156        WidthHeight: Hlong,
13157    ) -> Herror;
13158}
13159unsafe extern "C" {
13160    pub fn T_zoom_region(
13161        Region: Hobject,
13162        RegionZoom: *mut Hobject,
13163        ScaleWidth: Htuple,
13164        ScaleHeight: Htuple,
13165    ) -> Herror;
13166}
13167unsafe extern "C" {
13168    pub fn zoom_region(
13169        Region: Hobject,
13170        RegionZoom: *mut Hobject,
13171        ScaleWidth: f64,
13172        ScaleHeight: f64,
13173    ) -> Herror;
13174}
13175unsafe extern "C" {
13176    pub fn T_move_region(
13177        Region: Hobject,
13178        RegionMoved: *mut Hobject,
13179        Row: Htuple,
13180        Column: Htuple,
13181    ) -> Herror;
13182}
13183unsafe extern "C" {
13184    pub fn move_region(
13185        Region: Hobject,
13186        RegionMoved: *mut Hobject,
13187        Row: Hlong,
13188        Column: Hlong,
13189    ) -> Herror;
13190}
13191unsafe extern "C" {
13192    pub fn T_junctions_skeleton(
13193        Region: Hobject,
13194        EndPoints: *mut Hobject,
13195        JuncPoints: *mut Hobject,
13196    ) -> Herror;
13197}
13198unsafe extern "C" {
13199    pub fn junctions_skeleton(
13200        Region: Hobject,
13201        EndPoints: *mut Hobject,
13202        JuncPoints: *mut Hobject,
13203    ) -> Herror;
13204}
13205unsafe extern "C" {
13206    pub fn T_intersection(
13207        Region1: Hobject,
13208        Region2: Hobject,
13209        RegionIntersection: *mut Hobject,
13210    ) -> Herror;
13211}
13212unsafe extern "C" {
13213    pub fn intersection(
13214        Region1: Hobject,
13215        Region2: Hobject,
13216        RegionIntersection: *mut Hobject,
13217    ) -> Herror;
13218}
13219unsafe extern "C" {
13220    pub fn T_interjacent(Region: Hobject, RegionInterjacent: *mut Hobject, Mode: Htuple) -> Herror;
13221}
13222unsafe extern "C" {
13223    pub fn interjacent(
13224        Region: Hobject,
13225        RegionInterjacent: *mut Hobject,
13226        Mode: *const ::std::os::raw::c_char,
13227    ) -> Herror;
13228}
13229unsafe extern "C" {
13230    pub fn T_fill_up(Region: Hobject, RegionFillUp: *mut Hobject) -> Herror;
13231}
13232unsafe extern "C" {
13233    pub fn fill_up(Region: Hobject, RegionFillUp: *mut Hobject) -> Herror;
13234}
13235unsafe extern "C" {
13236    pub fn T_fill_up_shape(
13237        Region: Hobject,
13238        RegionFillUp: *mut Hobject,
13239        Feature: Htuple,
13240        Min: Htuple,
13241        Max: Htuple,
13242    ) -> Herror;
13243}
13244unsafe extern "C" {
13245    pub fn fill_up_shape(
13246        Region: Hobject,
13247        RegionFillUp: *mut Hobject,
13248        Feature: *const ::std::os::raw::c_char,
13249        Min: f64,
13250        Max: f64,
13251    ) -> Herror;
13252}
13253unsafe extern "C" {
13254    pub fn T_expand_region(
13255        Regions: Hobject,
13256        ForbiddenArea: Hobject,
13257        RegionExpanded: *mut Hobject,
13258        Iterations: Htuple,
13259        Mode: Htuple,
13260    ) -> Herror;
13261}
13262unsafe extern "C" {
13263    pub fn expand_region(
13264        Regions: Hobject,
13265        ForbiddenArea: Hobject,
13266        RegionExpanded: *mut Hobject,
13267        Iterations: Hlong,
13268        Mode: *const ::std::os::raw::c_char,
13269    ) -> Herror;
13270}
13271unsafe extern "C" {
13272    pub fn T_clip_region_rel(
13273        Region: Hobject,
13274        RegionClipped: *mut Hobject,
13275        Top: Htuple,
13276        Bottom: Htuple,
13277        Left: Htuple,
13278        Right: Htuple,
13279    ) -> Herror;
13280}
13281unsafe extern "C" {
13282    pub fn clip_region_rel(
13283        Region: Hobject,
13284        RegionClipped: *mut Hobject,
13285        Top: Hlong,
13286        Bottom: Hlong,
13287        Left: Hlong,
13288        Right: Hlong,
13289    ) -> Herror;
13290}
13291unsafe extern "C" {
13292    pub fn T_clip_region(
13293        Region: Hobject,
13294        RegionClipped: *mut Hobject,
13295        Row1: Htuple,
13296        Column1: Htuple,
13297        Row2: Htuple,
13298        Column2: Htuple,
13299    ) -> Herror;
13300}
13301unsafe extern "C" {
13302    pub fn clip_region(
13303        Region: Hobject,
13304        RegionClipped: *mut Hobject,
13305        Row1: Hlong,
13306        Column1: Hlong,
13307        Row2: Hlong,
13308        Column2: Hlong,
13309    ) -> Herror;
13310}
13311unsafe extern "C" {
13312    pub fn T_rank_region(
13313        Region: Hobject,
13314        RegionCount: *mut Hobject,
13315        Width: Htuple,
13316        Height: Htuple,
13317        Number: Htuple,
13318    ) -> Herror;
13319}
13320unsafe extern "C" {
13321    pub fn rank_region(
13322        Region: Hobject,
13323        RegionCount: *mut Hobject,
13324        Width: Hlong,
13325        Height: Hlong,
13326        Number: Hlong,
13327    ) -> Herror;
13328}
13329unsafe extern "C" {
13330    pub fn T_connection(Region: Hobject, ConnectedRegions: *mut Hobject) -> Herror;
13331}
13332unsafe extern "C" {
13333    pub fn connection(Region: Hobject, ConnectedRegions: *mut Hobject) -> Herror;
13334}
13335unsafe extern "C" {
13336    pub fn T_symm_difference(
13337        Region1: Hobject,
13338        Region2: Hobject,
13339        RegionDifference: *mut Hobject,
13340    ) -> Herror;
13341}
13342unsafe extern "C" {
13343    pub fn symm_difference(
13344        Region1: Hobject,
13345        Region2: Hobject,
13346        RegionDifference: *mut Hobject,
13347    ) -> Herror;
13348}
13349unsafe extern "C" {
13350    pub fn T_difference(Region: Hobject, Sub: Hobject, RegionDifference: *mut Hobject) -> Herror;
13351}
13352unsafe extern "C" {
13353    pub fn difference(Region: Hobject, Sub: Hobject, RegionDifference: *mut Hobject) -> Herror;
13354}
13355unsafe extern "C" {
13356    pub fn T_complement(Region: Hobject, RegionComplement: *mut Hobject) -> Herror;
13357}
13358unsafe extern "C" {
13359    pub fn complement(Region: Hobject, RegionComplement: *mut Hobject) -> Herror;
13360}
13361unsafe extern "C" {
13362    pub fn T_background_seg(Foreground: Hobject, BackgroundRegions: *mut Hobject) -> Herror;
13363}
13364unsafe extern "C" {
13365    pub fn background_seg(Foreground: Hobject, BackgroundRegions: *mut Hobject) -> Herror;
13366}
13367unsafe extern "C" {
13368    pub fn T_hamming_change_region(
13369        InputRegion: Hobject,
13370        OutputRegion: *mut Hobject,
13371        Width: Htuple,
13372        Height: Htuple,
13373        Distance: Htuple,
13374    ) -> Herror;
13375}
13376unsafe extern "C" {
13377    pub fn hamming_change_region(
13378        InputRegion: Hobject,
13379        OutputRegion: *mut Hobject,
13380        Width: Hlong,
13381        Height: Hlong,
13382        Distance: Hlong,
13383    ) -> Herror;
13384}
13385unsafe extern "C" {
13386    pub fn T_remove_noise_region(
13387        InputRegion: Hobject,
13388        OutputRegion: *mut Hobject,
13389        Type: Htuple,
13390    ) -> Herror;
13391}
13392unsafe extern "C" {
13393    pub fn remove_noise_region(
13394        InputRegion: Hobject,
13395        OutputRegion: *mut Hobject,
13396        Type: *const ::std::os::raw::c_char,
13397    ) -> Herror;
13398}
13399unsafe extern "C" {
13400    pub fn T_shape_trans(Region: Hobject, RegionTrans: *mut Hobject, Type: Htuple) -> Herror;
13401}
13402unsafe extern "C" {
13403    pub fn shape_trans(
13404        Region: Hobject,
13405        RegionTrans: *mut Hobject,
13406        Type: *const ::std::os::raw::c_char,
13407    ) -> Herror;
13408}
13409unsafe extern "C" {
13410    pub fn T_expand_gray(
13411        Regions: Hobject,
13412        Image: Hobject,
13413        ForbiddenArea: Hobject,
13414        RegionExpand: *mut Hobject,
13415        Iterations: Htuple,
13416        Mode: Htuple,
13417        Threshold: Htuple,
13418    ) -> Herror;
13419}
13420unsafe extern "C" {
13421    pub fn expand_gray(
13422        Regions: Hobject,
13423        Image: Hobject,
13424        ForbiddenArea: Hobject,
13425        RegionExpand: *mut Hobject,
13426        Iterations: *const ::std::os::raw::c_char,
13427        Mode: *const ::std::os::raw::c_char,
13428        Threshold: Hlong,
13429    ) -> Herror;
13430}
13431unsafe extern "C" {
13432    pub fn T_expand_gray_ref(
13433        Regions: Hobject,
13434        Image: Hobject,
13435        ForbiddenArea: Hobject,
13436        RegionExpand: *mut Hobject,
13437        Iterations: Htuple,
13438        Mode: Htuple,
13439        RefGray: Htuple,
13440        Threshold: Htuple,
13441    ) -> Herror;
13442}
13443unsafe extern "C" {
13444    pub fn expand_gray_ref(
13445        Regions: Hobject,
13446        Image: Hobject,
13447        ForbiddenArea: Hobject,
13448        RegionExpand: *mut Hobject,
13449        Iterations: *const ::std::os::raw::c_char,
13450        Mode: *const ::std::os::raw::c_char,
13451        RefGray: Hlong,
13452        Threshold: Hlong,
13453    ) -> Herror;
13454}
13455unsafe extern "C" {
13456    pub fn T_split_skeleton_lines(
13457        SkeletonRegion: Hobject,
13458        MaxDistance: Htuple,
13459        BeginRow: *mut Htuple,
13460        BeginCol: *mut Htuple,
13461        EndRow: *mut Htuple,
13462        EndCol: *mut Htuple,
13463    ) -> Herror;
13464}
13465unsafe extern "C" {
13466    pub fn T_split_skeleton_region(
13467        SkeletonRegion: Hobject,
13468        RegionLines: *mut Hobject,
13469        MaxDistance: Htuple,
13470    ) -> Herror;
13471}
13472unsafe extern "C" {
13473    pub fn split_skeleton_region(
13474        SkeletonRegion: Hobject,
13475        RegionLines: *mut Hobject,
13476        MaxDistance: Hlong,
13477    ) -> Herror;
13478}
13479unsafe extern "C" {
13480    pub fn T_gen_region_histo(
13481        Region: *mut Hobject,
13482        Histogram: Htuple,
13483        Row: Htuple,
13484        Column: Htuple,
13485        Scale: Htuple,
13486    ) -> Herror;
13487}
13488unsafe extern "C" {
13489    pub fn T_eliminate_runs(
13490        Region: Hobject,
13491        RegionClipped: *mut Hobject,
13492        ElimShorter: Htuple,
13493        ElimLonger: Htuple,
13494    ) -> Herror;
13495}
13496unsafe extern "C" {
13497    pub fn eliminate_runs(
13498        Region: Hobject,
13499        RegionClipped: *mut Hobject,
13500        ElimShorter: Hlong,
13501        ElimLonger: Hlong,
13502    ) -> Herror;
13503}
13504unsafe extern "C" {
13505    pub fn T_surface_normals_object_model_3d(
13506        ObjectModel3D: Htuple,
13507        Method: Htuple,
13508        GenParamName: Htuple,
13509        GenParamValue: Htuple,
13510        ObjectModel3DNormals: *mut Htuple,
13511    ) -> Herror;
13512}
13513unsafe extern "C" {
13514    pub fn T_smooth_object_model_3d(
13515        ObjectModel3D: Htuple,
13516        Method: Htuple,
13517        GenParamName: Htuple,
13518        GenParamValue: Htuple,
13519        SmoothObjectModel3D: *mut Htuple,
13520    ) -> Herror;
13521}
13522unsafe extern "C" {
13523    pub fn T_triangulate_object_model_3d(
13524        ObjectModel3D: Htuple,
13525        Method: Htuple,
13526        GenParamName: Htuple,
13527        GenParamValue: Htuple,
13528        TriangulatedObjectModel3D: *mut Htuple,
13529        Information: *mut Htuple,
13530    ) -> Herror;
13531}
13532unsafe extern "C" {
13533    pub fn T_clear_all_stereo_models() -> Herror;
13534}
13535unsafe extern "C" {
13536    pub fn clear_all_stereo_models() -> Herror;
13537}
13538unsafe extern "C" {
13539    pub fn T_clear_stereo_model(StereoModelID: Htuple) -> Herror;
13540}
13541unsafe extern "C" {
13542    pub fn clear_stereo_model(StereoModelID: Hlong) -> Herror;
13543}
13544unsafe extern "C" {
13545    pub fn T_reconstruct_points_stereo(
13546        StereoModelID: Htuple,
13547        Row: Htuple,
13548        Column: Htuple,
13549        CovIP: Htuple,
13550        CameraIdx: Htuple,
13551        PointIdx: Htuple,
13552        X: *mut Htuple,
13553        Y: *mut Htuple,
13554        Z: *mut Htuple,
13555        CovWP: *mut Htuple,
13556        PointIdxOut: *mut Htuple,
13557    ) -> Herror;
13558}
13559unsafe extern "C" {
13560    pub fn T_reconstruct_surface_stereo(
13561        Images: Hobject,
13562        StereoModelID: Htuple,
13563        ObjectModel3D: *mut Htuple,
13564    ) -> Herror;
13565}
13566unsafe extern "C" {
13567    pub fn reconstruct_surface_stereo(
13568        Images: Hobject,
13569        StereoModelID: Hlong,
13570        ObjectModel3D: *mut Hlong,
13571    ) -> Herror;
13572}
13573unsafe extern "C" {
13574    pub fn T_get_stereo_model_object(
13575        Object: *mut Hobject,
13576        StereoModelID: Htuple,
13577        PairIndex: Htuple,
13578        ObjectName: Htuple,
13579    ) -> Herror;
13580}
13581unsafe extern "C" {
13582    pub fn get_stereo_model_object(
13583        Object: *mut Hobject,
13584        StereoModelID: Hlong,
13585        PairIndex: Hlong,
13586        ObjectName: *const ::std::os::raw::c_char,
13587    ) -> Herror;
13588}
13589unsafe extern "C" {
13590    pub fn T_get_stereo_model_image_pairs(
13591        StereoModelID: Htuple,
13592        From: *mut Htuple,
13593        To: *mut Htuple,
13594    ) -> Herror;
13595}
13596unsafe extern "C" {
13597    pub fn T_set_stereo_model_image_pairs(
13598        StereoModelID: Htuple,
13599        From: Htuple,
13600        To: Htuple,
13601    ) -> Herror;
13602}
13603unsafe extern "C" {
13604    pub fn T_get_stereo_model_param(
13605        StereoModelID: Htuple,
13606        GenParamName: Htuple,
13607        GenParamValue: *mut Htuple,
13608    ) -> Herror;
13609}
13610unsafe extern "C" {
13611    pub fn T_set_stereo_model_param(
13612        StereoModelID: Htuple,
13613        GenParamName: Htuple,
13614        GenParamValue: Htuple,
13615    ) -> Herror;
13616}
13617unsafe extern "C" {
13618    pub fn T_create_stereo_model(
13619        CameraSetupModelID: Htuple,
13620        Method: Htuple,
13621        GenParamName: Htuple,
13622        GenParamValue: Htuple,
13623        StereoModelID: *mut Htuple,
13624    ) -> Herror;
13625}
13626unsafe extern "C" {
13627    pub fn T_get_message_queue_param(
13628        QueueHandle: Htuple,
13629        GenParamName: Htuple,
13630        GenParamValue: *mut Htuple,
13631    ) -> Herror;
13632}
13633unsafe extern "C" {
13634    pub fn get_message_queue_param(
13635        QueueHandle: Hlong,
13636        GenParamName: *const ::std::os::raw::c_char,
13637        GenParamValue: *mut ::std::os::raw::c_char,
13638    ) -> Herror;
13639}
13640unsafe extern "C" {
13641    pub fn T_set_message_queue_param(
13642        QueueHandle: Htuple,
13643        GenParamName: Htuple,
13644        GenParamValue: Htuple,
13645    ) -> Herror;
13646}
13647unsafe extern "C" {
13648    pub fn set_message_queue_param(
13649        QueueHandle: Hlong,
13650        GenParamName: *const ::std::os::raw::c_char,
13651        GenParamValue: *const ::std::os::raw::c_char,
13652    ) -> Herror;
13653}
13654unsafe extern "C" {
13655    pub fn T_dequeue_message(
13656        QueueHandle: Htuple,
13657        GenParamName: Htuple,
13658        GenParamValue: Htuple,
13659        MessageHandle: *mut Htuple,
13660    ) -> Herror;
13661}
13662unsafe extern "C" {
13663    pub fn dequeue_message(
13664        QueueHandle: Hlong,
13665        GenParamName: *const ::std::os::raw::c_char,
13666        GenParamValue: *const ::std::os::raw::c_char,
13667        MessageHandle: *mut Hlong,
13668    ) -> Herror;
13669}
13670unsafe extern "C" {
13671    pub fn T_enqueue_message(
13672        QueueHandle: Htuple,
13673        MessageHandle: Htuple,
13674        GenParamName: Htuple,
13675        GenParamValue: Htuple,
13676    ) -> Herror;
13677}
13678unsafe extern "C" {
13679    pub fn T_clear_message_queue(QueueHandle: Htuple) -> Herror;
13680}
13681unsafe extern "C" {
13682    pub fn clear_message_queue(QueueHandle: Hlong) -> Herror;
13683}
13684unsafe extern "C" {
13685    pub fn T_create_message_queue(QueueHandle: *mut Htuple) -> Herror;
13686}
13687unsafe extern "C" {
13688    pub fn create_message_queue(QueueHandle: *mut Hlong) -> Herror;
13689}
13690unsafe extern "C" {
13691    pub fn T_get_message_param(
13692        MessageHandle: Htuple,
13693        GenParamName: Htuple,
13694        Key: Htuple,
13695        GenParamValue: *mut Htuple,
13696    ) -> Herror;
13697}
13698unsafe extern "C" {
13699    pub fn get_message_param(
13700        MessageHandle: Hlong,
13701        GenParamName: *const ::std::os::raw::c_char,
13702        Key: *const ::std::os::raw::c_char,
13703        GenParamValue: *mut ::std::os::raw::c_char,
13704    ) -> Herror;
13705}
13706unsafe extern "C" {
13707    pub fn T_set_message_param(
13708        MessageHandle: Htuple,
13709        GenParamName: Htuple,
13710        Key: Htuple,
13711        GenParamValue: Htuple,
13712    ) -> Herror;
13713}
13714unsafe extern "C" {
13715    pub fn set_message_param(
13716        MessageHandle: Hlong,
13717        GenParamName: *const ::std::os::raw::c_char,
13718        Key: *const ::std::os::raw::c_char,
13719        GenParamValue: *const ::std::os::raw::c_char,
13720    ) -> Herror;
13721}
13722unsafe extern "C" {
13723    pub fn T_get_message_obj(
13724        ObjectData: *mut Hobject,
13725        MessageHandle: Htuple,
13726        Key: Htuple,
13727    ) -> Herror;
13728}
13729unsafe extern "C" {
13730    pub fn get_message_obj(
13731        ObjectData: *mut Hobject,
13732        MessageHandle: Hlong,
13733        Key: *const ::std::os::raw::c_char,
13734    ) -> Herror;
13735}
13736unsafe extern "C" {
13737    pub fn T_set_message_obj(ObjectData: Hobject, MessageHandle: Htuple, Key: Htuple) -> Herror;
13738}
13739unsafe extern "C" {
13740    pub fn set_message_obj(
13741        ObjectData: Hobject,
13742        MessageHandle: Hlong,
13743        Key: *const ::std::os::raw::c_char,
13744    ) -> Herror;
13745}
13746unsafe extern "C" {
13747    pub fn T_get_message_tuple(
13748        MessageHandle: Htuple,
13749        Key: Htuple,
13750        TupleData: *mut Htuple,
13751    ) -> Herror;
13752}
13753unsafe extern "C" {
13754    pub fn get_message_tuple(
13755        MessageHandle: Hlong,
13756        Key: *const ::std::os::raw::c_char,
13757        TupleData: *mut ::std::os::raw::c_char,
13758    ) -> Herror;
13759}
13760unsafe extern "C" {
13761    pub fn T_set_message_tuple(MessageHandle: Htuple, Key: Htuple, TupleData: Htuple) -> Herror;
13762}
13763unsafe extern "C" {
13764    pub fn T_clear_message(MessageHandle: Htuple) -> Herror;
13765}
13766unsafe extern "C" {
13767    pub fn clear_message(MessageHandle: Hlong) -> Herror;
13768}
13769unsafe extern "C" {
13770    pub fn T_create_message(MessageHandle: *mut Htuple) -> Herror;
13771}
13772unsafe extern "C" {
13773    pub fn create_message(MessageHandle: *mut Hlong) -> Herror;
13774}
13775unsafe extern "C" {
13776    pub fn T_clear_all_conditions() -> Herror;
13777}
13778unsafe extern "C" {
13779    pub fn clear_all_conditions() -> Herror;
13780}
13781unsafe extern "C" {
13782    pub fn T_clear_condition(ConditionHandle: Htuple) -> Herror;
13783}
13784unsafe extern "C" {
13785    pub fn clear_condition(ConditionHandle: Hlong) -> Herror;
13786}
13787unsafe extern "C" {
13788    pub fn T_broadcast_condition(ConditionHandle: Htuple) -> Herror;
13789}
13790unsafe extern "C" {
13791    pub fn broadcast_condition(ConditionHandle: Hlong) -> Herror;
13792}
13793unsafe extern "C" {
13794    pub fn T_signal_condition(ConditionHandle: Htuple) -> Herror;
13795}
13796unsafe extern "C" {
13797    pub fn signal_condition(ConditionHandle: Hlong) -> Herror;
13798}
13799unsafe extern "C" {
13800    pub fn T_timed_wait_condition(
13801        ConditionHandle: Htuple,
13802        MutexHandle: Htuple,
13803        Timeout: Htuple,
13804    ) -> Herror;
13805}
13806unsafe extern "C" {
13807    pub fn timed_wait_condition(
13808        ConditionHandle: Hlong,
13809        MutexHandle: Hlong,
13810        Timeout: Hlong,
13811    ) -> Herror;
13812}
13813unsafe extern "C" {
13814    pub fn T_wait_condition(ConditionHandle: Htuple, MutexHandle: Htuple) -> Herror;
13815}
13816unsafe extern "C" {
13817    pub fn wait_condition(ConditionHandle: Hlong, MutexHandle: Hlong) -> Herror;
13818}
13819unsafe extern "C" {
13820    pub fn T_create_condition(
13821        AttribName: Htuple,
13822        AttribValue: Htuple,
13823        ConditionHandle: *mut Htuple,
13824    ) -> Herror;
13825}
13826unsafe extern "C" {
13827    pub fn create_condition(
13828        AttribName: *const ::std::os::raw::c_char,
13829        AttribValue: *const ::std::os::raw::c_char,
13830        ConditionHandle: *mut Hlong,
13831    ) -> Herror;
13832}
13833unsafe extern "C" {
13834    pub fn T_clear_all_barriers() -> Herror;
13835}
13836unsafe extern "C" {
13837    pub fn clear_all_barriers() -> Herror;
13838}
13839unsafe extern "C" {
13840    pub fn T_clear_barrier(BarrierHandle: Htuple) -> Herror;
13841}
13842unsafe extern "C" {
13843    pub fn clear_barrier(BarrierHandle: Hlong) -> Herror;
13844}
13845unsafe extern "C" {
13846    pub fn T_wait_barrier(BarrierHandle: Htuple) -> Herror;
13847}
13848unsafe extern "C" {
13849    pub fn wait_barrier(BarrierHandle: Hlong) -> Herror;
13850}
13851unsafe extern "C" {
13852    pub fn T_create_barrier(
13853        AttribName: Htuple,
13854        AttribValue: Htuple,
13855        TeamSize: Htuple,
13856        BarrierHandle: *mut Htuple,
13857    ) -> Herror;
13858}
13859unsafe extern "C" {
13860    pub fn create_barrier(
13861        AttribName: *const ::std::os::raw::c_char,
13862        AttribValue: *const ::std::os::raw::c_char,
13863        TeamSize: Hlong,
13864        BarrierHandle: *mut Hlong,
13865    ) -> Herror;
13866}
13867unsafe extern "C" {
13868    pub fn T_clear_all_events() -> Herror;
13869}
13870unsafe extern "C" {
13871    pub fn clear_all_events() -> Herror;
13872}
13873unsafe extern "C" {
13874    pub fn T_clear_event(EventHandle: Htuple) -> Herror;
13875}
13876unsafe extern "C" {
13877    pub fn clear_event(EventHandle: Hlong) -> Herror;
13878}
13879unsafe extern "C" {
13880    pub fn T_signal_event(EventHandle: Htuple) -> Herror;
13881}
13882unsafe extern "C" {
13883    pub fn signal_event(EventHandle: Hlong) -> Herror;
13884}
13885unsafe extern "C" {
13886    pub fn T_try_wait_event(EventHandle: Htuple, Busy: *mut Htuple) -> Herror;
13887}
13888unsafe extern "C" {
13889    pub fn try_wait_event(EventHandle: Hlong, Busy: *mut Hlong) -> Herror;
13890}
13891unsafe extern "C" {
13892    pub fn T_wait_event(EventHandle: Htuple) -> Herror;
13893}
13894unsafe extern "C" {
13895    pub fn wait_event(EventHandle: Hlong) -> Herror;
13896}
13897unsafe extern "C" {
13898    pub fn T_create_event(
13899        AttribName: Htuple,
13900        AttribValue: Htuple,
13901        EventHandle: *mut Htuple,
13902    ) -> Herror;
13903}
13904unsafe extern "C" {
13905    pub fn create_event(
13906        AttribName: *const ::std::os::raw::c_char,
13907        AttribValue: *const ::std::os::raw::c_char,
13908        EventHandle: *mut Hlong,
13909    ) -> Herror;
13910}
13911unsafe extern "C" {
13912    pub fn T_clear_all_mutexes() -> Herror;
13913}
13914unsafe extern "C" {
13915    pub fn clear_all_mutexes() -> Herror;
13916}
13917unsafe extern "C" {
13918    pub fn T_clear_mutex(MutexHandle: Htuple) -> Herror;
13919}
13920unsafe extern "C" {
13921    pub fn clear_mutex(MutexHandle: Hlong) -> Herror;
13922}
13923unsafe extern "C" {
13924    pub fn T_unlock_mutex(MutexHandle: Htuple) -> Herror;
13925}
13926unsafe extern "C" {
13927    pub fn unlock_mutex(MutexHandle: Hlong) -> Herror;
13928}
13929unsafe extern "C" {
13930    pub fn T_try_lock_mutex(MutexHandle: Htuple, Busy: *mut Htuple) -> Herror;
13931}
13932unsafe extern "C" {
13933    pub fn try_lock_mutex(MutexHandle: Hlong, Busy: *mut Hlong) -> Herror;
13934}
13935unsafe extern "C" {
13936    pub fn T_lock_mutex(MutexHandle: Htuple) -> Herror;
13937}
13938unsafe extern "C" {
13939    pub fn lock_mutex(MutexHandle: Hlong) -> Herror;
13940}
13941unsafe extern "C" {
13942    pub fn T_create_mutex(
13943        AttribName: Htuple,
13944        AttribValue: Htuple,
13945        MutexHandle: *mut Htuple,
13946    ) -> Herror;
13947}
13948unsafe extern "C" {
13949    pub fn create_mutex(
13950        AttribName: *const ::std::os::raw::c_char,
13951        AttribValue: *const ::std::os::raw::c_char,
13952        MutexHandle: *mut Hlong,
13953    ) -> Herror;
13954}
13955unsafe extern "C" {
13956    pub fn T_get_threading_attrib(
13957        ThreadingHandle: Htuple,
13958        ThreadingClass: *mut Htuple,
13959        AttribName: *mut Htuple,
13960        AttribValue: *mut Htuple,
13961    ) -> Herror;
13962}
13963unsafe extern "C" {
13964    pub fn T_set_aop_info(
13965        OperatorName: Htuple,
13966        IndexName: Htuple,
13967        IndexValue: Htuple,
13968        InfoName: Htuple,
13969        InfoValue: Htuple,
13970    ) -> Herror;
13971}
13972unsafe extern "C" {
13973    pub fn set_aop_info(
13974        OperatorName: *const ::std::os::raw::c_char,
13975        IndexName: *const ::std::os::raw::c_char,
13976        IndexValue: *const ::std::os::raw::c_char,
13977        InfoName: *const ::std::os::raw::c_char,
13978        InfoValue: Hlong,
13979    ) -> Herror;
13980}
13981unsafe extern "C" {
13982    pub fn T_get_aop_info(
13983        OperatorName: Htuple,
13984        IndexName: Htuple,
13985        IndexValue: Htuple,
13986        InfoName: Htuple,
13987        InfoValue: *mut Htuple,
13988    ) -> Herror;
13989}
13990unsafe extern "C" {
13991    pub fn T_query_aop_info(
13992        OperatorName: Htuple,
13993        IndexName: Htuple,
13994        IndexValue: Htuple,
13995        Name: *mut Htuple,
13996        Value: *mut Htuple,
13997    ) -> Herror;
13998}
13999unsafe extern "C" {
14000    pub fn T_optimize_aop(
14001        OperatorName: Htuple,
14002        IconicType: Htuple,
14003        FileName: Htuple,
14004        GenParamName: Htuple,
14005        GenParamValue: Htuple,
14006    ) -> Herror;
14007}
14008unsafe extern "C" {
14009    pub fn T_write_aop_knowledge(
14010        FileName: Htuple,
14011        GenParamName: Htuple,
14012        GenParamValue: Htuple,
14013    ) -> Herror;
14014}
14015unsafe extern "C" {
14016    pub fn write_aop_knowledge(
14017        FileName: *const ::std::os::raw::c_char,
14018        GenParamName: *const ::std::os::raw::c_char,
14019        GenParamValue: *const ::std::os::raw::c_char,
14020    ) -> Herror;
14021}
14022unsafe extern "C" {
14023    pub fn T_read_aop_knowledge(
14024        FileName: Htuple,
14025        GenParamName: Htuple,
14026        GenParamValue: Htuple,
14027        Attributes: *mut Htuple,
14028        OperatorNames: *mut Htuple,
14029    ) -> Herror;
14030}
14031unsafe extern "C" {
14032    pub fn T_test_access(
14033        Object: Hobject,
14034        Dummy: *mut Hobject,
14035        NumReadChord: Htuple,
14036        NumCopyObj: Htuple,
14037        Write_chord: Htuple,
14038    ) -> Herror;
14039}
14040unsafe extern "C" {
14041    pub fn test_access(
14042        Object: Hobject,
14043        Dummy: *mut Hobject,
14044        NumReadChord: Hlong,
14045        NumCopyObj: Hlong,
14046        Write_chord: Hlong,
14047    ) -> Herror;
14048}
14049unsafe extern "C" {
14050    pub fn T_obj_diff(Objects: Hobject, ObjectsSub: Hobject, ObjectsDiff: *mut Hobject) -> Herror;
14051}
14052unsafe extern "C" {
14053    pub fn obj_diff(Objects: Hobject, ObjectsSub: Hobject, ObjectsDiff: *mut Hobject) -> Herror;
14054}
14055unsafe extern "C" {
14056    pub fn T_set_grayval(Image: Hobject, Row: Htuple, Column: Htuple, Grayval: Htuple) -> Herror;
14057}
14058unsafe extern "C" {
14059    pub fn set_grayval(Image: Hobject, Row: Hlong, Column: Hlong, Grayval: f64) -> Herror;
14060}
14061unsafe extern "C" {
14062    pub fn T_paint_xld(
14063        XLD: Hobject,
14064        Image: Hobject,
14065        ImageResult: *mut Hobject,
14066        Grayval: Htuple,
14067    ) -> Herror;
14068}
14069unsafe extern "C" {
14070    pub fn paint_xld(
14071        XLD: Hobject,
14072        Image: Hobject,
14073        ImageResult: *mut Hobject,
14074        Grayval: f64,
14075    ) -> Herror;
14076}
14077unsafe extern "C" {
14078    pub fn T_paint_region(
14079        Region: Hobject,
14080        Image: Hobject,
14081        ImageResult: *mut Hobject,
14082        Grayval: Htuple,
14083        Type: Htuple,
14084    ) -> Herror;
14085}
14086unsafe extern "C" {
14087    pub fn paint_region(
14088        Region: Hobject,
14089        Image: Hobject,
14090        ImageResult: *mut Hobject,
14091        Grayval: f64,
14092        Type: *const ::std::os::raw::c_char,
14093    ) -> Herror;
14094}
14095unsafe extern "C" {
14096    pub fn T_overpaint_region(
14097        Image: Hobject,
14098        Region: Hobject,
14099        Grayval: Htuple,
14100        Type: Htuple,
14101    ) -> Herror;
14102}
14103unsafe extern "C" {
14104    pub fn overpaint_region(
14105        Image: Hobject,
14106        Region: Hobject,
14107        Grayval: f64,
14108        Type: *const ::std::os::raw::c_char,
14109    ) -> Herror;
14110}
14111unsafe extern "C" {
14112    pub fn T_gen_image_proto(Image: Hobject, ImageCleared: *mut Hobject, Grayval: Htuple)
14113    -> Herror;
14114}
14115unsafe extern "C" {
14116    pub fn gen_image_proto(Image: Hobject, ImageCleared: *mut Hobject, Grayval: f64) -> Herror;
14117}
14118unsafe extern "C" {
14119    pub fn T_paint_gray(
14120        ImageSource: Hobject,
14121        ImageDestination: Hobject,
14122        MixedImage: *mut Hobject,
14123    ) -> Herror;
14124}
14125unsafe extern "C" {
14126    pub fn paint_gray(
14127        ImageSource: Hobject,
14128        ImageDestination: Hobject,
14129        MixedImage: *mut Hobject,
14130    ) -> Herror;
14131}
14132unsafe extern "C" {
14133    pub fn T_overpaint_gray(ImageDestination: Hobject, ImageSource: Hobject) -> Herror;
14134}
14135unsafe extern "C" {
14136    pub fn overpaint_gray(ImageDestination: Hobject, ImageSource: Hobject) -> Herror;
14137}
14138unsafe extern "C" {
14139    pub fn T_integer_to_obj(Objects: *mut Hobject, SurrogateTuple: Htuple) -> Herror;
14140}
14141unsafe extern "C" {
14142    pub fn integer_to_obj(Objects: *mut Hobject, SurrogateTuple: Hlong) -> Herror;
14143}
14144unsafe extern "C" {
14145    pub fn T_obj_to_integer(
14146        Objects: Hobject,
14147        Index: Htuple,
14148        Number: Htuple,
14149        SurrogateTuple: *mut Htuple,
14150    ) -> Herror;
14151}
14152unsafe extern "C" {
14153    pub fn obj_to_integer(
14154        Objects: Hobject,
14155        Index: Hlong,
14156        Number: Hlong,
14157        SurrogateTuple: *mut Hlong,
14158    ) -> Herror;
14159}
14160unsafe extern "C" {
14161    pub fn T_copy_obj(
14162        Objects: Hobject,
14163        ObjectsSelected: *mut Hobject,
14164        Index: Htuple,
14165        NumObj: Htuple,
14166    ) -> Herror;
14167}
14168unsafe extern "C" {
14169    pub fn copy_obj(
14170        Objects: Hobject,
14171        ObjectsSelected: *mut Hobject,
14172        Index: Hlong,
14173        NumObj: Hlong,
14174    ) -> Herror;
14175}
14176unsafe extern "C" {
14177    pub fn T_concat_obj(
14178        Objects1: Hobject,
14179        Objects2: Hobject,
14180        ObjectsConcat: *mut Hobject,
14181    ) -> Herror;
14182}
14183unsafe extern "C" {
14184    pub fn concat_obj(Objects1: Hobject, Objects2: Hobject, ObjectsConcat: *mut Hobject) -> Herror;
14185}
14186unsafe extern "C" {
14187    pub fn T_clear_obj(Objects: Hobject) -> Herror;
14188}
14189unsafe extern "C" {
14190    pub fn clear_obj(Objects: Hobject) -> Herror;
14191}
14192unsafe extern "C" {
14193    pub fn T_copy_image(Image: Hobject, DupImage: *mut Hobject) -> Herror;
14194}
14195unsafe extern "C" {
14196    pub fn copy_image(Image: Hobject, DupImage: *mut Hobject) -> Herror;
14197}
14198unsafe extern "C" {
14199    pub fn T_select_obj(Objects: Hobject, ObjectSelected: *mut Hobject, Index: Htuple) -> Herror;
14200}
14201unsafe extern "C" {
14202    pub fn select_obj(Objects: Hobject, ObjectSelected: *mut Hobject, Index: Hlong) -> Herror;
14203}
14204unsafe extern "C" {
14205    pub fn T_compare_obj(
14206        Objects1: Hobject,
14207        Objects2: Hobject,
14208        Epsilon: Htuple,
14209        IsEqual: *mut Htuple,
14210    ) -> Herror;
14211}
14212unsafe extern "C" {
14213    pub fn compare_obj(
14214        Objects1: Hobject,
14215        Objects2: Hobject,
14216        Epsilon: f64,
14217        IsEqual: *mut Hlong,
14218    ) -> Herror;
14219}
14220unsafe extern "C" {
14221    pub fn T_test_subset_region(
14222        Region1: Hobject,
14223        Region2: Hobject,
14224        IsSubset: *mut Htuple,
14225    ) -> Herror;
14226}
14227unsafe extern "C" {
14228    pub fn test_subset_region(Region1: Hobject, Region2: Hobject, IsSubset: *mut Hlong) -> Herror;
14229}
14230unsafe extern "C" {
14231    pub fn T_test_equal_region(
14232        Regions1: Hobject,
14233        Regions2: Hobject,
14234        IsEqual: *mut Htuple,
14235    ) -> Herror;
14236}
14237unsafe extern "C" {
14238    pub fn test_equal_region(Regions1: Hobject, Regions2: Hobject, IsEqual: *mut Hlong) -> Herror;
14239}
14240unsafe extern "C" {
14241    pub fn T_test_equal_obj(Objects1: Hobject, Objects2: Hobject, IsEqual: *mut Htuple) -> Herror;
14242}
14243unsafe extern "C" {
14244    pub fn test_equal_obj(Objects1: Hobject, Objects2: Hobject, IsEqual: *mut Hlong) -> Herror;
14245}
14246unsafe extern "C" {
14247    pub fn T_count_obj(Objects: Hobject, Number: *mut Htuple) -> Herror;
14248}
14249unsafe extern "C" {
14250    pub fn count_obj(Objects: Hobject, Number: *mut Hlong) -> Herror;
14251}
14252unsafe extern "C" {
14253    pub fn T_get_channel_info(
14254        Object: Hobject,
14255        Request: Htuple,
14256        Channel: Htuple,
14257        Information: *mut Htuple,
14258    ) -> Herror;
14259}
14260unsafe extern "C" {
14261    pub fn get_channel_info(
14262        Object: Hobject,
14263        Request: *const ::std::os::raw::c_char,
14264        Channel: Hlong,
14265        Information: *mut ::std::os::raw::c_char,
14266    ) -> Herror;
14267}
14268unsafe extern "C" {
14269    pub fn T_get_obj_class(Object: Hobject, Class: *mut Htuple) -> Herror;
14270}
14271unsafe extern "C" {
14272    pub fn get_obj_class(Object: Hobject, Class: *mut ::std::os::raw::c_char) -> Herror;
14273}
14274unsafe extern "C" {
14275    pub fn T_gen_image_interleaved(
14276        ImageRGB: *mut Hobject,
14277        PixelPointer: Htuple,
14278        ColorFormat: Htuple,
14279        OriginalWidth: Htuple,
14280        OriginalHeight: Htuple,
14281        Alignment: Htuple,
14282        Type: Htuple,
14283        ImageWidth: Htuple,
14284        ImageHeight: Htuple,
14285        StartRow: Htuple,
14286        StartColumn: Htuple,
14287        BitsPerChannel: Htuple,
14288        BitShift: Htuple,
14289    ) -> Herror;
14290}
14291unsafe extern "C" {
14292    pub fn gen_image_interleaved(
14293        ImageRGB: *mut Hobject,
14294        PixelPointer: Hlong,
14295        ColorFormat: *const ::std::os::raw::c_char,
14296        OriginalWidth: Hlong,
14297        OriginalHeight: Hlong,
14298        Alignment: Hlong,
14299        Type: *const ::std::os::raw::c_char,
14300        ImageWidth: Hlong,
14301        ImageHeight: Hlong,
14302        StartRow: Hlong,
14303        StartColumn: Hlong,
14304        BitsPerChannel: Hlong,
14305        BitShift: Hlong,
14306    ) -> Herror;
14307}
14308unsafe extern "C" {
14309    pub fn T_gen_region_polygon_xld(Polygon: Hobject, Region: *mut Hobject, Mode: Htuple)
14310    -> Herror;
14311}
14312unsafe extern "C" {
14313    pub fn gen_region_polygon_xld(
14314        Polygon: Hobject,
14315        Region: *mut Hobject,
14316        Mode: *const ::std::os::raw::c_char,
14317    ) -> Herror;
14318}
14319unsafe extern "C" {
14320    pub fn T_gen_region_contour_xld(Contour: Hobject, Region: *mut Hobject, Mode: Htuple)
14321    -> Herror;
14322}
14323unsafe extern "C" {
14324    pub fn gen_region_contour_xld(
14325        Contour: Hobject,
14326        Region: *mut Hobject,
14327        Mode: *const ::std::os::raw::c_char,
14328    ) -> Herror;
14329}
14330unsafe extern "C" {
14331    pub fn T_gen_region_polygon_filled(
14332        Region: *mut Hobject,
14333        Rows: Htuple,
14334        Columns: Htuple,
14335    ) -> Herror;
14336}
14337unsafe extern "C" {
14338    pub fn T_gen_region_polygon(Region: *mut Hobject, Rows: Htuple, Columns: Htuple) -> Herror;
14339}
14340unsafe extern "C" {
14341    pub fn T_gen_region_points(Region: *mut Hobject, Rows: Htuple, Columns: Htuple) -> Herror;
14342}
14343unsafe extern "C" {
14344    pub fn gen_region_points(Region: *mut Hobject, Rows: Hlong, Columns: Hlong) -> Herror;
14345}
14346unsafe extern "C" {
14347    pub fn T_gen_region_runs(
14348        Region: *mut Hobject,
14349        Row: Htuple,
14350        ColumnBegin: Htuple,
14351        ColumnEnd: Htuple,
14352    ) -> Herror;
14353}
14354unsafe extern "C" {
14355    pub fn gen_region_runs(
14356        Region: *mut Hobject,
14357        Row: Hlong,
14358        ColumnBegin: Hlong,
14359        ColumnEnd: Hlong,
14360    ) -> Herror;
14361}
14362unsafe extern "C" {
14363    pub fn T_gen_rectangle2(
14364        Rectangle: *mut Hobject,
14365        Row: Htuple,
14366        Column: Htuple,
14367        Phi: Htuple,
14368        Length1: Htuple,
14369        Length2: Htuple,
14370    ) -> Herror;
14371}
14372unsafe extern "C" {
14373    pub fn gen_rectangle2(
14374        Rectangle: *mut Hobject,
14375        Row: f64,
14376        Column: f64,
14377        Phi: f64,
14378        Length1: f64,
14379        Length2: f64,
14380    ) -> Herror;
14381}
14382unsafe extern "C" {
14383    pub fn T_gen_rectangle1(
14384        Rectangle: *mut Hobject,
14385        Row1: Htuple,
14386        Column1: Htuple,
14387        Row2: Htuple,
14388        Column2: Htuple,
14389    ) -> Herror;
14390}
14391unsafe extern "C" {
14392    pub fn gen_rectangle1(
14393        Rectangle: *mut Hobject,
14394        Row1: f64,
14395        Column1: f64,
14396        Row2: f64,
14397        Column2: f64,
14398    ) -> Herror;
14399}
14400unsafe extern "C" {
14401    pub fn T_gen_random_region(RegionRandom: *mut Hobject, Width: Htuple, Height: Htuple)
14402    -> Herror;
14403}
14404unsafe extern "C" {
14405    pub fn gen_random_region(RegionRandom: *mut Hobject, Width: Hlong, Height: Hlong) -> Herror;
14406}
14407unsafe extern "C" {
14408    pub fn T_gen_image3(
14409        ImageRGB: *mut Hobject,
14410        Type: Htuple,
14411        Width: Htuple,
14412        Height: Htuple,
14413        PixelPointerRed: Htuple,
14414        PixelPointerGreen: Htuple,
14415        PixelPointerBlue: Htuple,
14416    ) -> Herror;
14417}
14418unsafe extern "C" {
14419    pub fn gen_image3(
14420        ImageRGB: *mut Hobject,
14421        Type: *const ::std::os::raw::c_char,
14422        Width: Hlong,
14423        Height: Hlong,
14424        PixelPointerRed: Hlong,
14425        PixelPointerGreen: Hlong,
14426        PixelPointerBlue: Hlong,
14427    ) -> Herror;
14428}
14429unsafe extern "C" {
14430    pub fn T_gen_image1(
14431        Image: *mut Hobject,
14432        Type: Htuple,
14433        Width: Htuple,
14434        Height: Htuple,
14435        PixelPointer: Htuple,
14436    ) -> Herror;
14437}
14438unsafe extern "C" {
14439    pub fn gen_image1(
14440        Image: *mut Hobject,
14441        Type: *const ::std::os::raw::c_char,
14442        Width: Hlong,
14443        Height: Hlong,
14444        PixelPointer: Hlong,
14445    ) -> Herror;
14446}
14447unsafe extern "C" {
14448    pub fn T_gen_image_const(
14449        Image: *mut Hobject,
14450        Type: Htuple,
14451        Width: Htuple,
14452        Height: Htuple,
14453    ) -> Herror;
14454}
14455unsafe extern "C" {
14456    pub fn gen_image_const(
14457        Image: *mut Hobject,
14458        Type: *const ::std::os::raw::c_char,
14459        Width: Hlong,
14460        Height: Hlong,
14461    ) -> Herror;
14462}
14463unsafe extern "C" {
14464    pub fn T_gen_ellipse_sector(
14465        EllipseSector: *mut Hobject,
14466        Row: Htuple,
14467        Column: Htuple,
14468        Phi: Htuple,
14469        Radius1: Htuple,
14470        Radius2: Htuple,
14471        StartAngle: Htuple,
14472        EndAngle: Htuple,
14473    ) -> Herror;
14474}
14475unsafe extern "C" {
14476    pub fn gen_ellipse_sector(
14477        EllipseSector: *mut Hobject,
14478        Row: f64,
14479        Column: f64,
14480        Phi: f64,
14481        Radius1: f64,
14482        Radius2: f64,
14483        StartAngle: f64,
14484        EndAngle: f64,
14485    ) -> Herror;
14486}
14487unsafe extern "C" {
14488    pub fn T_gen_ellipse(
14489        Ellipse: *mut Hobject,
14490        Row: Htuple,
14491        Column: Htuple,
14492        Phi: Htuple,
14493        Radius1: Htuple,
14494        Radius2: Htuple,
14495    ) -> Herror;
14496}
14497unsafe extern "C" {
14498    pub fn gen_ellipse(
14499        Ellipse: *mut Hobject,
14500        Row: f64,
14501        Column: f64,
14502        Phi: f64,
14503        Radius1: f64,
14504        Radius2: f64,
14505    ) -> Herror;
14506}
14507unsafe extern "C" {
14508    pub fn T_gen_circle_sector(
14509        CircleSector: *mut Hobject,
14510        Row: Htuple,
14511        Column: Htuple,
14512        Radius: Htuple,
14513        StartAngle: Htuple,
14514        EndAngle: Htuple,
14515    ) -> Herror;
14516}
14517unsafe extern "C" {
14518    pub fn gen_circle_sector(
14519        CircleSector: *mut Hobject,
14520        Row: f64,
14521        Column: f64,
14522        Radius: f64,
14523        StartAngle: f64,
14524        EndAngle: f64,
14525    ) -> Herror;
14526}
14527unsafe extern "C" {
14528    pub fn T_gen_circle(
14529        Circle: *mut Hobject,
14530        Row: Htuple,
14531        Column: Htuple,
14532        Radius: Htuple,
14533    ) -> Herror;
14534}
14535unsafe extern "C" {
14536    pub fn gen_circle(Circle: *mut Hobject, Row: f64, Column: f64, Radius: f64) -> Herror;
14537}
14538unsafe extern "C" {
14539    pub fn T_gen_checker_region(
14540        RegionChecker: *mut Hobject,
14541        WidthRegion: Htuple,
14542        HeightRegion: Htuple,
14543        WidthPattern: Htuple,
14544        HeightPattern: Htuple,
14545    ) -> Herror;
14546}
14547unsafe extern "C" {
14548    pub fn gen_checker_region(
14549        RegionChecker: *mut Hobject,
14550        WidthRegion: Hlong,
14551        HeightRegion: Hlong,
14552        WidthPattern: Hlong,
14553        HeightPattern: Hlong,
14554    ) -> Herror;
14555}
14556unsafe extern "C" {
14557    pub fn T_gen_grid_region(
14558        RegionGrid: *mut Hobject,
14559        RowSteps: Htuple,
14560        ColumnSteps: Htuple,
14561        Type: Htuple,
14562        Width: Htuple,
14563        Height: Htuple,
14564    ) -> Herror;
14565}
14566unsafe extern "C" {
14567    pub fn gen_grid_region(
14568        RegionGrid: *mut Hobject,
14569        RowSteps: Hlong,
14570        ColumnSteps: Hlong,
14571        Type: *const ::std::os::raw::c_char,
14572        Width: Hlong,
14573        Height: Hlong,
14574    ) -> Herror;
14575}
14576unsafe extern "C" {
14577    pub fn T_gen_random_regions(
14578        Regions: *mut Hobject,
14579        Type: Htuple,
14580        WidthMin: Htuple,
14581        WidthMax: Htuple,
14582        HeightMin: Htuple,
14583        HeightMax: Htuple,
14584        PhiMin: Htuple,
14585        PhiMax: Htuple,
14586        NumRegions: Htuple,
14587        Width: Htuple,
14588        Height: Htuple,
14589    ) -> Herror;
14590}
14591unsafe extern "C" {
14592    pub fn gen_random_regions(
14593        Regions: *mut Hobject,
14594        Type: *const ::std::os::raw::c_char,
14595        WidthMin: f64,
14596        WidthMax: f64,
14597        HeightMin: f64,
14598        HeightMax: f64,
14599        PhiMin: f64,
14600        PhiMax: f64,
14601        NumRegions: Hlong,
14602        Width: Hlong,
14603        Height: Hlong,
14604    ) -> Herror;
14605}
14606unsafe extern "C" {
14607    pub fn T_gen_region_hline(
14608        Regions: *mut Hobject,
14609        Orientation: Htuple,
14610        Distance: Htuple,
14611    ) -> Herror;
14612}
14613unsafe extern "C" {
14614    pub fn gen_region_hline(Regions: *mut Hobject, Orientation: f64, Distance: f64) -> Herror;
14615}
14616unsafe extern "C" {
14617    pub fn T_gen_region_line(
14618        RegionLines: *mut Hobject,
14619        BeginRow: Htuple,
14620        BeginCol: Htuple,
14621        EndRow: Htuple,
14622        EndCol: Htuple,
14623    ) -> Herror;
14624}
14625unsafe extern "C" {
14626    pub fn gen_region_line(
14627        RegionLines: *mut Hobject,
14628        BeginRow: Hlong,
14629        BeginCol: Hlong,
14630        EndRow: Hlong,
14631        EndCol: Hlong,
14632    ) -> Herror;
14633}
14634unsafe extern "C" {
14635    pub fn T_gen_empty_obj(EmptyObject: *mut Hobject) -> Herror;
14636}
14637unsafe extern "C" {
14638    pub fn gen_empty_obj(EmptyObject: *mut Hobject) -> Herror;
14639}
14640unsafe extern "C" {
14641    pub fn T_gen_empty_region(EmptyRegion: *mut Hobject) -> Herror;
14642}
14643unsafe extern "C" {
14644    pub fn gen_empty_region(EmptyRegion: *mut Hobject) -> Herror;
14645}
14646unsafe extern "C" {
14647    pub fn T_gen_image_gray_ramp(
14648        ImageGrayRamp: *mut Hobject,
14649        Alpha: Htuple,
14650        Beta: Htuple,
14651        Mean: Htuple,
14652        Row: Htuple,
14653        Column: Htuple,
14654        Width: Htuple,
14655        Height: Htuple,
14656    ) -> Herror;
14657}
14658unsafe extern "C" {
14659    pub fn gen_image_gray_ramp(
14660        ImageGrayRamp: *mut Hobject,
14661        Alpha: f64,
14662        Beta: f64,
14663        Mean: f64,
14664        Row: Hlong,
14665        Column: Hlong,
14666        Width: Hlong,
14667        Height: Hlong,
14668    ) -> Herror;
14669}
14670unsafe extern "C" {
14671    pub fn T_gen_image3_extern(
14672        Image: *mut Hobject,
14673        Type: Htuple,
14674        Width: Htuple,
14675        Height: Htuple,
14676        PointerRed: Htuple,
14677        PointerGreen: Htuple,
14678        PointerBlue: Htuple,
14679        ClearProc: Htuple,
14680    ) -> Herror;
14681}
14682unsafe extern "C" {
14683    pub fn gen_image3_extern(
14684        Image: *mut Hobject,
14685        Type: *const ::std::os::raw::c_char,
14686        Width: Hlong,
14687        Height: Hlong,
14688        PointerRed: Hlong,
14689        PointerGreen: Hlong,
14690        PointerBlue: Hlong,
14691        ClearProc: Hlong,
14692    ) -> Herror;
14693}
14694unsafe extern "C" {
14695    pub fn T_gen_image1_extern(
14696        Image: *mut Hobject,
14697        Type: Htuple,
14698        Width: Htuple,
14699        Height: Htuple,
14700        PixelPointer: Htuple,
14701        ClearProc: Htuple,
14702    ) -> Herror;
14703}
14704unsafe extern "C" {
14705    pub fn gen_image1_extern(
14706        Image: *mut Hobject,
14707        Type: *const ::std::os::raw::c_char,
14708        Width: Hlong,
14709        Height: Hlong,
14710        PixelPointer: Hlong,
14711        ClearProc: Hlong,
14712    ) -> Herror;
14713}
14714unsafe extern "C" {
14715    pub fn T_gen_image1_rect(
14716        Image: *mut Hobject,
14717        PixelPointer: Htuple,
14718        Width: Htuple,
14719        Height: Htuple,
14720        VerticalPitch: Htuple,
14721        HorizontalBitPitch: Htuple,
14722        BitsPerPixel: Htuple,
14723        DoCopy: Htuple,
14724        ClearProc: Htuple,
14725    ) -> Herror;
14726}
14727unsafe extern "C" {
14728    pub fn gen_image1_rect(
14729        Image: *mut Hobject,
14730        PixelPointer: Hlong,
14731        Width: Hlong,
14732        Height: Hlong,
14733        VerticalPitch: Hlong,
14734        HorizontalBitPitch: Hlong,
14735        BitsPerPixel: Hlong,
14736        DoCopy: *const ::std::os::raw::c_char,
14737        ClearProc: Hlong,
14738    ) -> Herror;
14739}
14740unsafe extern "C" {
14741    pub fn T_get_image_pointer1_rect(
14742        Image: Hobject,
14743        PixelPointer: *mut Htuple,
14744        Width: *mut Htuple,
14745        Height: *mut Htuple,
14746        VerticalPitch: *mut Htuple,
14747        HorizontalBitPitch: *mut Htuple,
14748        BitsPerPixel: *mut Htuple,
14749    ) -> Herror;
14750}
14751unsafe extern "C" {
14752    pub fn get_image_pointer1_rect(
14753        Image: Hobject,
14754        PixelPointer: *mut Hlong,
14755        Width: *mut Hlong,
14756        Height: *mut Hlong,
14757        VerticalPitch: *mut Hlong,
14758        HorizontalBitPitch: *mut Hlong,
14759        BitsPerPixel: *mut Hlong,
14760    ) -> Herror;
14761}
14762unsafe extern "C" {
14763    pub fn T_get_image_pointer3(
14764        ImageRGB: Hobject,
14765        PointerRed: *mut Htuple,
14766        PointerGreen: *mut Htuple,
14767        PointerBlue: *mut Htuple,
14768        Type: *mut Htuple,
14769        Width: *mut Htuple,
14770        Height: *mut Htuple,
14771    ) -> Herror;
14772}
14773unsafe extern "C" {
14774    pub fn get_image_pointer3(
14775        ImageRGB: Hobject,
14776        PointerRed: *mut Hlong,
14777        PointerGreen: *mut Hlong,
14778        PointerBlue: *mut Hlong,
14779        Type: *mut ::std::os::raw::c_char,
14780        Width: *mut Hlong,
14781        Height: *mut Hlong,
14782    ) -> Herror;
14783}
14784unsafe extern "C" {
14785    pub fn T_get_image_pointer1(
14786        Image: Hobject,
14787        Pointer: *mut Htuple,
14788        Type: *mut Htuple,
14789        Width: *mut Htuple,
14790        Height: *mut Htuple,
14791    ) -> Herror;
14792}
14793unsafe extern "C" {
14794    pub fn get_image_pointer1(
14795        Image: Hobject,
14796        Pointer: *mut Hlong,
14797        Type: *mut ::std::os::raw::c_char,
14798        Width: *mut Hlong,
14799        Height: *mut Hlong,
14800    ) -> Herror;
14801}
14802unsafe extern "C" {
14803    pub fn T_get_image_type(Image: Hobject, Type: *mut Htuple) -> Herror;
14804}
14805unsafe extern "C" {
14806    pub fn get_image_type(Image: Hobject, Type: *mut ::std::os::raw::c_char) -> Herror;
14807}
14808unsafe extern "C" {
14809    pub fn T_get_image_size(Image: Hobject, Width: *mut Htuple, Height: *mut Htuple) -> Herror;
14810}
14811unsafe extern "C" {
14812    pub fn get_image_size(Image: Hobject, Width: *mut Hlong, Height: *mut Hlong) -> Herror;
14813}
14814unsafe extern "C" {
14815    pub fn T_get_image_time(
14816        Image: Hobject,
14817        MSecond: *mut Htuple,
14818        Second: *mut Htuple,
14819        Minute: *mut Htuple,
14820        Hour: *mut Htuple,
14821        Day: *mut Htuple,
14822        YDay: *mut Htuple,
14823        Month: *mut Htuple,
14824        Year: *mut Htuple,
14825    ) -> Herror;
14826}
14827unsafe extern "C" {
14828    pub fn get_image_time(
14829        Image: Hobject,
14830        MSecond: *mut Hlong,
14831        Second: *mut Hlong,
14832        Minute: *mut Hlong,
14833        Hour: *mut Hlong,
14834        Day: *mut Hlong,
14835        YDay: *mut Hlong,
14836        Month: *mut Hlong,
14837        Year: *mut Hlong,
14838    ) -> Herror;
14839}
14840unsafe extern "C" {
14841    pub fn T_get_grayval_interpolated(
14842        Image: Hobject,
14843        Row: Htuple,
14844        Column: Htuple,
14845        Interpolation: Htuple,
14846        Grayval: *mut Htuple,
14847    ) -> Herror;
14848}
14849unsafe extern "C" {
14850    pub fn get_grayval_interpolated(
14851        Image: Hobject,
14852        Row: f64,
14853        Column: f64,
14854        Interpolation: *const ::std::os::raw::c_char,
14855        Grayval: *mut f64,
14856    ) -> Herror;
14857}
14858unsafe extern "C" {
14859    pub fn T_get_grayval(
14860        Image: Hobject,
14861        Row: Htuple,
14862        Column: Htuple,
14863        Grayval: *mut Htuple,
14864    ) -> Herror;
14865}
14866unsafe extern "C" {
14867    pub fn T_get_region_thickness(
14868        Region: Hobject,
14869        Thickness: *mut Htuple,
14870        Histogramm: *mut Htuple,
14871    ) -> Herror;
14872}
14873unsafe extern "C" {
14874    pub fn T_get_region_polygon(
14875        Region: Hobject,
14876        Tolerance: Htuple,
14877        Rows: *mut Htuple,
14878        Columns: *mut Htuple,
14879    ) -> Herror;
14880}
14881unsafe extern "C" {
14882    pub fn T_get_region_points(Region: Hobject, Rows: *mut Htuple, Columns: *mut Htuple) -> Herror;
14883}
14884unsafe extern "C" {
14885    pub fn T_get_region_contour(Region: Hobject, Rows: *mut Htuple, Columns: *mut Htuple)
14886    -> Herror;
14887}
14888unsafe extern "C" {
14889    pub fn T_get_region_runs(
14890        Region: Hobject,
14891        Row: *mut Htuple,
14892        ColumnBegin: *mut Htuple,
14893        ColumnEnd: *mut Htuple,
14894    ) -> Herror;
14895}
14896unsafe extern "C" {
14897    pub fn T_get_region_chain(
14898        Region: Hobject,
14899        Row: *mut Htuple,
14900        Column: *mut Htuple,
14901        Chain: *mut Htuple,
14902    ) -> Herror;
14903}
14904unsafe extern "C" {
14905    pub fn T_get_region_convex(Region: Hobject, Rows: *mut Htuple, Columns: *mut Htuple) -> Herror;
14906}
14907unsafe extern "C" {
14908    pub fn T_do_ocv_simple(
14909        Pattern: Hobject,
14910        OCVHandle: Htuple,
14911        PatternName: Htuple,
14912        AdaptPos: Htuple,
14913        AdaptSize: Htuple,
14914        AdaptAngle: Htuple,
14915        AdaptGray: Htuple,
14916        Threshold: Htuple,
14917        Quality: *mut Htuple,
14918    ) -> Herror;
14919}
14920unsafe extern "C" {
14921    pub fn do_ocv_simple(
14922        Pattern: Hobject,
14923        OCVHandle: Hlong,
14924        PatternName: *const ::std::os::raw::c_char,
14925        AdaptPos: *const ::std::os::raw::c_char,
14926        AdaptSize: *const ::std::os::raw::c_char,
14927        AdaptAngle: *const ::std::os::raw::c_char,
14928        AdaptGray: *const ::std::os::raw::c_char,
14929        Threshold: f64,
14930        Quality: *mut f64,
14931    ) -> Herror;
14932}
14933unsafe extern "C" {
14934    pub fn T_traind_ocv_proj(
14935        Pattern: Hobject,
14936        OCVHandle: Htuple,
14937        Name: Htuple,
14938        Mode: Htuple,
14939    ) -> Herror;
14940}
14941unsafe extern "C" {
14942    pub fn traind_ocv_proj(
14943        Pattern: Hobject,
14944        OCVHandle: Hlong,
14945        Name: *const ::std::os::raw::c_char,
14946        Mode: *const ::std::os::raw::c_char,
14947    ) -> Herror;
14948}
14949unsafe extern "C" {
14950    pub fn T_deserialize_ocv(SerializedItemHandle: Htuple, OCVHandle: *mut Htuple) -> Herror;
14951}
14952unsafe extern "C" {
14953    pub fn deserialize_ocv(SerializedItemHandle: Hlong, OCVHandle: *mut Hlong) -> Herror;
14954}
14955unsafe extern "C" {
14956    pub fn T_serialize_ocv(OCVHandle: Htuple, SerializedItemHandle: *mut Htuple) -> Herror;
14957}
14958unsafe extern "C" {
14959    pub fn serialize_ocv(OCVHandle: Hlong, SerializedItemHandle: *mut Hlong) -> Herror;
14960}
14961unsafe extern "C" {
14962    pub fn T_read_ocv(FileName: Htuple, OCVHandle: *mut Htuple) -> Herror;
14963}
14964unsafe extern "C" {
14965    pub fn read_ocv(FileName: *const ::std::os::raw::c_char, OCVHandle: *mut Hlong) -> Herror;
14966}
14967unsafe extern "C" {
14968    pub fn T_write_ocv(OCVHandle: Htuple, FileName: Htuple) -> Herror;
14969}
14970unsafe extern "C" {
14971    pub fn write_ocv(OCVHandle: Hlong, FileName: *const ::std::os::raw::c_char) -> Herror;
14972}
14973unsafe extern "C" {
14974    pub fn T_close_all_ocvs() -> Herror;
14975}
14976unsafe extern "C" {
14977    pub fn close_all_ocvs() -> Herror;
14978}
14979unsafe extern "C" {
14980    pub fn T_close_ocv(OCVHandle: Htuple) -> Herror;
14981}
14982unsafe extern "C" {
14983    pub fn close_ocv(OCVHandle: Hlong) -> Herror;
14984}
14985unsafe extern "C" {
14986    pub fn T_create_ocv_proj(PatternNames: Htuple, OCVHandle: *mut Htuple) -> Herror;
14987}
14988unsafe extern "C" {
14989    pub fn create_ocv_proj(
14990        PatternNames: *const ::std::os::raw::c_char,
14991        OCVHandle: *mut Hlong,
14992    ) -> Herror;
14993}
14994unsafe extern "C" {
14995    pub fn T_do_ocr_word_knn(
14996        Character: Hobject,
14997        Image: Hobject,
14998        OCRHandle: Htuple,
14999        Expression: Htuple,
15000        NumAlternatives: Htuple,
15001        NumCorrections: Htuple,
15002        Class: *mut Htuple,
15003        Confidence: *mut Htuple,
15004        Word: *mut Htuple,
15005        Score: *mut Htuple,
15006    ) -> Herror;
15007}
15008unsafe extern "C" {
15009    pub fn do_ocr_word_knn(
15010        Character: Hobject,
15011        Image: Hobject,
15012        OCRHandle: Hlong,
15013        Expression: *const ::std::os::raw::c_char,
15014        NumAlternatives: Hlong,
15015        NumCorrections: Hlong,
15016        Class: *mut ::std::os::raw::c_char,
15017        Confidence: *mut f64,
15018        Word: *mut ::std::os::raw::c_char,
15019        Score: *mut f64,
15020    ) -> Herror;
15021}
15022unsafe extern "C" {
15023    pub fn T_deserialize_ocr_class_knn(
15024        SerializedItemHandle: Htuple,
15025        OCRHandle: *mut Htuple,
15026    ) -> Herror;
15027}
15028unsafe extern "C" {
15029    pub fn deserialize_ocr_class_knn(SerializedItemHandle: Hlong, OCRHandle: *mut Hlong) -> Herror;
15030}
15031unsafe extern "C" {
15032    pub fn T_serialize_ocr_class_knn(
15033        OCRHandle: Htuple,
15034        SerializedItemHandle: *mut Htuple,
15035    ) -> Herror;
15036}
15037unsafe extern "C" {
15038    pub fn serialize_ocr_class_knn(OCRHandle: Hlong, SerializedItemHandle: *mut Hlong) -> Herror;
15039}
15040unsafe extern "C" {
15041    pub fn T_read_ocr_class_knn(FileName: Htuple, OCRHandle: *mut Htuple) -> Herror;
15042}
15043unsafe extern "C" {
15044    pub fn read_ocr_class_knn(
15045        FileName: *const ::std::os::raw::c_char,
15046        OCRHandle: *mut Hlong,
15047    ) -> Herror;
15048}
15049unsafe extern "C" {
15050    pub fn T_write_ocr_class_knn(OCRHandle: Htuple, FileName: Htuple) -> Herror;
15051}
15052unsafe extern "C" {
15053    pub fn write_ocr_class_knn(OCRHandle: Hlong, FileName: *const ::std::os::raw::c_char)
15054    -> Herror;
15055}
15056unsafe extern "C" {
15057    pub fn T_clear_all_ocr_class_knn() -> Herror;
15058}
15059unsafe extern "C" {
15060    pub fn clear_all_ocr_class_knn() -> Herror;
15061}
15062unsafe extern "C" {
15063    pub fn T_clear_ocr_class_knn(OCRHandle: Htuple) -> Herror;
15064}
15065unsafe extern "C" {
15066    pub fn clear_ocr_class_knn(OCRHandle: Hlong) -> Herror;
15067}
15068unsafe extern "C" {
15069    pub fn T_create_ocr_class_knn(
15070        WidthCharacter: Htuple,
15071        HeightCharacter: Htuple,
15072        Interpolation: Htuple,
15073        Features: Htuple,
15074        Characters: Htuple,
15075        GenParamName: Htuple,
15076        GenParamValue: Htuple,
15077        OCRHandle: *mut Htuple,
15078    ) -> Herror;
15079}
15080unsafe extern "C" {
15081    pub fn T_trainf_ocr_class_knn(
15082        OCRHandle: Htuple,
15083        TrainingFile: Htuple,
15084        GenParamName: Htuple,
15085        GenParamValue: Htuple,
15086    ) -> Herror;
15087}
15088unsafe extern "C" {
15089    pub fn T_get_features_ocr_class_knn(
15090        Character: Hobject,
15091        OCRHandle: Htuple,
15092        Transform: Htuple,
15093        Features: *mut Htuple,
15094    ) -> Herror;
15095}
15096unsafe extern "C" {
15097    pub fn T_get_params_ocr_class_knn(
15098        OCRHandle: Htuple,
15099        WidthCharacter: *mut Htuple,
15100        HeightCharacter: *mut Htuple,
15101        Interpolation: *mut Htuple,
15102        Features: *mut Htuple,
15103        Characters: *mut Htuple,
15104        Preprocessing: *mut Htuple,
15105        NumTrees: *mut Htuple,
15106    ) -> Herror;
15107}
15108unsafe extern "C" {
15109    pub fn T_do_ocr_multi_class_knn(
15110        Character: Hobject,
15111        Image: Hobject,
15112        OCRHandle: Htuple,
15113        Class: *mut Htuple,
15114        Confidence: *mut Htuple,
15115    ) -> Herror;
15116}
15117unsafe extern "C" {
15118    pub fn do_ocr_multi_class_knn(
15119        Character: Hobject,
15120        Image: Hobject,
15121        OCRHandle: Hlong,
15122        Class: *mut ::std::os::raw::c_char,
15123        Confidence: *mut f64,
15124    ) -> Herror;
15125}
15126unsafe extern "C" {
15127    pub fn T_do_ocr_single_class_knn(
15128        Character: Hobject,
15129        Image: Hobject,
15130        OCRHandle: Htuple,
15131        NumClasses: Htuple,
15132        NumNeighbors: Htuple,
15133        Class: *mut Htuple,
15134        Confidence: *mut Htuple,
15135    ) -> Herror;
15136}
15137unsafe extern "C" {
15138    pub fn T_select_feature_set_trainf_knn(
15139        TrainingFile: Htuple,
15140        FeatureList: Htuple,
15141        SelectionMethod: Htuple,
15142        Width: Htuple,
15143        Height: Htuple,
15144        GenParamName: Htuple,
15145        GenParamValue: Htuple,
15146        OCRHandle: *mut Htuple,
15147        FeatureSet: *mut Htuple,
15148        Score: *mut Htuple,
15149    ) -> Herror;
15150}
15151unsafe extern "C" {
15152    pub fn T_select_feature_set_trainf_mlp_protected(
15153        TrainingFile: Htuple,
15154        Password: Htuple,
15155        FeatureList: Htuple,
15156        SelectionMethod: Htuple,
15157        Width: Htuple,
15158        Height: Htuple,
15159        GenParamName: Htuple,
15160        GenParamValue: Htuple,
15161        OCRHandle: *mut Htuple,
15162        FeatureSet: *mut Htuple,
15163        Score: *mut Htuple,
15164    ) -> Herror;
15165}
15166unsafe extern "C" {
15167    pub fn T_select_feature_set_trainf_mlp(
15168        TrainingFile: Htuple,
15169        FeatureList: Htuple,
15170        SelectionMethod: Htuple,
15171        Width: Htuple,
15172        Height: Htuple,
15173        GenParamName: Htuple,
15174        GenParamValue: Htuple,
15175        OCRHandle: *mut Htuple,
15176        FeatureSet: *mut Htuple,
15177        Score: *mut Htuple,
15178    ) -> Herror;
15179}
15180unsafe extern "C" {
15181    pub fn T_select_feature_set_trainf_svm_protected(
15182        TrainingFile: Htuple,
15183        Password: Htuple,
15184        FeatureList: Htuple,
15185        SelectionMethod: Htuple,
15186        Width: Htuple,
15187        Height: Htuple,
15188        GenParamName: Htuple,
15189        GenParamValue: Htuple,
15190        OCRHandle: *mut Htuple,
15191        FeatureSet: *mut Htuple,
15192        Score: *mut Htuple,
15193    ) -> Herror;
15194}
15195unsafe extern "C" {
15196    pub fn T_select_feature_set_trainf_svm(
15197        TrainingFile: Htuple,
15198        FeatureList: Htuple,
15199        SelectionMethod: Htuple,
15200        Width: Htuple,
15201        Height: Htuple,
15202        GenParamName: Htuple,
15203        GenParamValue: Htuple,
15204        OCRHandle: *mut Htuple,
15205        FeatureSet: *mut Htuple,
15206        Score: *mut Htuple,
15207    ) -> Herror;
15208}
15209unsafe extern "C" {
15210    pub fn T_clear_all_lexica() -> Herror;
15211}
15212unsafe extern "C" {
15213    pub fn clear_all_lexica() -> Herror;
15214}
15215unsafe extern "C" {
15216    pub fn T_clear_lexicon(LexiconHandle: Htuple) -> Herror;
15217}
15218unsafe extern "C" {
15219    pub fn clear_lexicon(LexiconHandle: Hlong) -> Herror;
15220}
15221unsafe extern "C" {
15222    pub fn T_suggest_lexicon(
15223        LexiconHandle: Htuple,
15224        Word: Htuple,
15225        Suggestion: *mut Htuple,
15226        NumCorrections: *mut Htuple,
15227    ) -> Herror;
15228}
15229unsafe extern "C" {
15230    pub fn suggest_lexicon(
15231        LexiconHandle: Hlong,
15232        Word: *const ::std::os::raw::c_char,
15233        Suggestion: *mut ::std::os::raw::c_char,
15234        NumCorrections: *mut Hlong,
15235    ) -> Herror;
15236}
15237unsafe extern "C" {
15238    pub fn T_lookup_lexicon(LexiconHandle: Htuple, Word: Htuple, Found: *mut Htuple) -> Herror;
15239}
15240unsafe extern "C" {
15241    pub fn lookup_lexicon(
15242        LexiconHandle: Hlong,
15243        Word: *const ::std::os::raw::c_char,
15244        Found: *mut Hlong,
15245    ) -> Herror;
15246}
15247unsafe extern "C" {
15248    pub fn T_inspect_lexicon(LexiconHandle: Htuple, Words: *mut Htuple) -> Herror;
15249}
15250unsafe extern "C" {
15251    pub fn inspect_lexicon(LexiconHandle: Hlong, Words: *mut ::std::os::raw::c_char) -> Herror;
15252}
15253unsafe extern "C" {
15254    pub fn T_import_lexicon(Name: Htuple, FileName: Htuple, LexiconHandle: *mut Htuple) -> Herror;
15255}
15256unsafe extern "C" {
15257    pub fn import_lexicon(
15258        Name: *const ::std::os::raw::c_char,
15259        FileName: *const ::std::os::raw::c_char,
15260        LexiconHandle: *mut Hlong,
15261    ) -> Herror;
15262}
15263unsafe extern "C" {
15264    pub fn T_create_lexicon(Name: Htuple, Words: Htuple, LexiconHandle: *mut Htuple) -> Herror;
15265}
15266unsafe extern "C" {
15267    pub fn T_clear_all_ocr_class_svm() -> Herror;
15268}
15269unsafe extern "C" {
15270    pub fn clear_all_ocr_class_svm() -> Herror;
15271}
15272unsafe extern "C" {
15273    pub fn T_clear_ocr_class_svm(OCRHandle: Htuple) -> Herror;
15274}
15275unsafe extern "C" {
15276    pub fn clear_ocr_class_svm(OCRHandle: Hlong) -> Herror;
15277}
15278unsafe extern "C" {
15279    pub fn T_deserialize_ocr_class_svm(
15280        SerializedItemHandle: Htuple,
15281        OCRHandle: *mut Htuple,
15282    ) -> Herror;
15283}
15284unsafe extern "C" {
15285    pub fn deserialize_ocr_class_svm(SerializedItemHandle: Hlong, OCRHandle: *mut Hlong) -> Herror;
15286}
15287unsafe extern "C" {
15288    pub fn T_serialize_ocr_class_svm(
15289        OCRHandle: Htuple,
15290        SerializedItemHandle: *mut Htuple,
15291    ) -> Herror;
15292}
15293unsafe extern "C" {
15294    pub fn serialize_ocr_class_svm(OCRHandle: Hlong, SerializedItemHandle: *mut Hlong) -> Herror;
15295}
15296unsafe extern "C" {
15297    pub fn T_read_ocr_class_svm(FileName: Htuple, OCRHandle: *mut Htuple) -> Herror;
15298}
15299unsafe extern "C" {
15300    pub fn read_ocr_class_svm(
15301        FileName: *const ::std::os::raw::c_char,
15302        OCRHandle: *mut Hlong,
15303    ) -> Herror;
15304}
15305unsafe extern "C" {
15306    pub fn T_write_ocr_class_svm(OCRHandle: Htuple, FileName: Htuple) -> Herror;
15307}
15308unsafe extern "C" {
15309    pub fn write_ocr_class_svm(OCRHandle: Hlong, FileName: *const ::std::os::raw::c_char)
15310    -> Herror;
15311}
15312unsafe extern "C" {
15313    pub fn T_get_features_ocr_class_svm(
15314        Character: Hobject,
15315        OCRHandle: Htuple,
15316        Transform: Htuple,
15317        Features: *mut Htuple,
15318    ) -> Herror;
15319}
15320unsafe extern "C" {
15321    pub fn T_do_ocr_word_svm(
15322        Character: Hobject,
15323        Image: Hobject,
15324        OCRHandle: Htuple,
15325        Expression: Htuple,
15326        NumAlternatives: Htuple,
15327        NumCorrections: Htuple,
15328        Class: *mut Htuple,
15329        Word: *mut Htuple,
15330        Score: *mut Htuple,
15331    ) -> Herror;
15332}
15333unsafe extern "C" {
15334    pub fn do_ocr_word_svm(
15335        Character: Hobject,
15336        Image: Hobject,
15337        OCRHandle: Hlong,
15338        Expression: *const ::std::os::raw::c_char,
15339        NumAlternatives: Hlong,
15340        NumCorrections: Hlong,
15341        Class: *mut ::std::os::raw::c_char,
15342        Word: *mut ::std::os::raw::c_char,
15343        Score: *mut f64,
15344    ) -> Herror;
15345}
15346unsafe extern "C" {
15347    pub fn T_do_ocr_multi_class_svm(
15348        Character: Hobject,
15349        Image: Hobject,
15350        OCRHandle: Htuple,
15351        Class: *mut Htuple,
15352    ) -> Herror;
15353}
15354unsafe extern "C" {
15355    pub fn do_ocr_multi_class_svm(
15356        Character: Hobject,
15357        Image: Hobject,
15358        OCRHandle: Hlong,
15359        Class: *mut ::std::os::raw::c_char,
15360    ) -> Herror;
15361}
15362unsafe extern "C" {
15363    pub fn T_do_ocr_single_class_svm(
15364        Character: Hobject,
15365        Image: Hobject,
15366        OCRHandle: Htuple,
15367        Num: Htuple,
15368        Class: *mut Htuple,
15369    ) -> Herror;
15370}
15371unsafe extern "C" {
15372    pub fn T_reduce_ocr_class_svm(
15373        OCRHandle: Htuple,
15374        Method: Htuple,
15375        MinRemainingSV: Htuple,
15376        MaxError: Htuple,
15377        OCRHandleReduced: *mut Htuple,
15378    ) -> Herror;
15379}
15380unsafe extern "C" {
15381    pub fn reduce_ocr_class_svm(
15382        OCRHandle: Hlong,
15383        Method: *const ::std::os::raw::c_char,
15384        MinRemainingSV: Hlong,
15385        MaxError: f64,
15386        OCRHandleReduced: *mut Hlong,
15387    ) -> Herror;
15388}
15389unsafe extern "C" {
15390    pub fn T_trainf_ocr_class_svm_protected(
15391        OCRHandle: Htuple,
15392        TrainingFile: Htuple,
15393        Password: Htuple,
15394        Epsilon: Htuple,
15395        TrainMode: Htuple,
15396    ) -> Herror;
15397}
15398unsafe extern "C" {
15399    pub fn trainf_ocr_class_svm_protected(
15400        OCRHandle: Hlong,
15401        TrainingFile: *const ::std::os::raw::c_char,
15402        Password: *const ::std::os::raw::c_char,
15403        Epsilon: f64,
15404        TrainMode: *const ::std::os::raw::c_char,
15405    ) -> Herror;
15406}
15407unsafe extern "C" {
15408    pub fn T_trainf_ocr_class_svm(
15409        OCRHandle: Htuple,
15410        TrainingFile: Htuple,
15411        Epsilon: Htuple,
15412        TrainMode: Htuple,
15413    ) -> Herror;
15414}
15415unsafe extern "C" {
15416    pub fn trainf_ocr_class_svm(
15417        OCRHandle: Hlong,
15418        TrainingFile: *const ::std::os::raw::c_char,
15419        Epsilon: f64,
15420        TrainMode: *const ::std::os::raw::c_char,
15421    ) -> Herror;
15422}
15423unsafe extern "C" {
15424    pub fn T_get_prep_info_ocr_class_svm(
15425        OCRHandle: Htuple,
15426        TrainingFile: Htuple,
15427        Preprocessing: Htuple,
15428        InformationCont: *mut Htuple,
15429        CumInformationCont: *mut Htuple,
15430    ) -> Herror;
15431}
15432unsafe extern "C" {
15433    pub fn T_get_support_vector_num_ocr_class_svm(
15434        OCRHandle: Htuple,
15435        NumSupportVectors: *mut Htuple,
15436        NumSVPerSVM: *mut Htuple,
15437    ) -> Herror;
15438}
15439unsafe extern "C" {
15440    pub fn T_get_support_vector_ocr_class_svm(
15441        OCRHandle: Htuple,
15442        IndexSupportVector: Htuple,
15443        Index: *mut Htuple,
15444    ) -> Herror;
15445}
15446unsafe extern "C" {
15447    pub fn T_get_params_ocr_class_svm(
15448        OCRHandle: Htuple,
15449        WidthCharacter: *mut Htuple,
15450        HeightCharacter: *mut Htuple,
15451        Interpolation: *mut Htuple,
15452        Features: *mut Htuple,
15453        Characters: *mut Htuple,
15454        KernelType: *mut Htuple,
15455        KernelParam: *mut Htuple,
15456        Nu: *mut Htuple,
15457        Mode: *mut Htuple,
15458        Preprocessing: *mut Htuple,
15459        NumComponents: *mut Htuple,
15460    ) -> Herror;
15461}
15462unsafe extern "C" {
15463    pub fn T_create_ocr_class_svm(
15464        WidthCharacter: Htuple,
15465        HeightCharacter: Htuple,
15466        Interpolation: Htuple,
15467        Features: Htuple,
15468        Characters: Htuple,
15469        KernelType: Htuple,
15470        KernelParam: Htuple,
15471        Nu: Htuple,
15472        Mode: Htuple,
15473        Preprocessing: Htuple,
15474        NumComponents: Htuple,
15475        OCRHandle: *mut Htuple,
15476    ) -> Herror;
15477}
15478unsafe extern "C" {
15479    pub fn T_clear_all_ocr_class_mlp() -> Herror;
15480}
15481unsafe extern "C" {
15482    pub fn clear_all_ocr_class_mlp() -> Herror;
15483}
15484unsafe extern "C" {
15485    pub fn T_clear_ocr_class_mlp(OCRHandle: Htuple) -> Herror;
15486}
15487unsafe extern "C" {
15488    pub fn clear_ocr_class_mlp(OCRHandle: Hlong) -> Herror;
15489}
15490unsafe extern "C" {
15491    pub fn T_deserialize_ocr_class_mlp(
15492        SerializedItemHandle: Htuple,
15493        OCRHandle: *mut Htuple,
15494    ) -> Herror;
15495}
15496unsafe extern "C" {
15497    pub fn deserialize_ocr_class_mlp(SerializedItemHandle: Hlong, OCRHandle: *mut Hlong) -> Herror;
15498}
15499unsafe extern "C" {
15500    pub fn T_serialize_ocr_class_mlp(
15501        OCRHandle: Htuple,
15502        SerializedItemHandle: *mut Htuple,
15503    ) -> Herror;
15504}
15505unsafe extern "C" {
15506    pub fn serialize_ocr_class_mlp(OCRHandle: Hlong, SerializedItemHandle: *mut Hlong) -> Herror;
15507}
15508unsafe extern "C" {
15509    pub fn T_read_ocr_class_mlp(FileName: Htuple, OCRHandle: *mut Htuple) -> Herror;
15510}
15511unsafe extern "C" {
15512    pub fn read_ocr_class_mlp(
15513        FileName: *const ::std::os::raw::c_char,
15514        OCRHandle: *mut Hlong,
15515    ) -> Herror;
15516}
15517unsafe extern "C" {
15518    pub fn T_write_ocr_class_mlp(OCRHandle: Htuple, FileName: Htuple) -> Herror;
15519}
15520unsafe extern "C" {
15521    pub fn write_ocr_class_mlp(OCRHandle: Hlong, FileName: *const ::std::os::raw::c_char)
15522    -> Herror;
15523}
15524unsafe extern "C" {
15525    pub fn T_get_features_ocr_class_mlp(
15526        Character: Hobject,
15527        OCRHandle: Htuple,
15528        Transform: Htuple,
15529        Features: *mut Htuple,
15530    ) -> Herror;
15531}
15532unsafe extern "C" {
15533    pub fn T_do_ocr_word_mlp(
15534        Character: Hobject,
15535        Image: Hobject,
15536        OCRHandle: Htuple,
15537        Expression: Htuple,
15538        NumAlternatives: Htuple,
15539        NumCorrections: Htuple,
15540        Class: *mut Htuple,
15541        Confidence: *mut Htuple,
15542        Word: *mut Htuple,
15543        Score: *mut Htuple,
15544    ) -> Herror;
15545}
15546unsafe extern "C" {
15547    pub fn do_ocr_word_mlp(
15548        Character: Hobject,
15549        Image: Hobject,
15550        OCRHandle: Hlong,
15551        Expression: *const ::std::os::raw::c_char,
15552        NumAlternatives: Hlong,
15553        NumCorrections: Hlong,
15554        Class: *mut ::std::os::raw::c_char,
15555        Confidence: *mut f64,
15556        Word: *mut ::std::os::raw::c_char,
15557        Score: *mut f64,
15558    ) -> Herror;
15559}
15560unsafe extern "C" {
15561    pub fn T_do_ocr_multi_class_mlp(
15562        Character: Hobject,
15563        Image: Hobject,
15564        OCRHandle: Htuple,
15565        Class: *mut Htuple,
15566        Confidence: *mut Htuple,
15567    ) -> Herror;
15568}
15569unsafe extern "C" {
15570    pub fn do_ocr_multi_class_mlp(
15571        Character: Hobject,
15572        Image: Hobject,
15573        OCRHandle: Hlong,
15574        Class: *mut ::std::os::raw::c_char,
15575        Confidence: *mut f64,
15576    ) -> Herror;
15577}
15578unsafe extern "C" {
15579    pub fn T_do_ocr_single_class_mlp(
15580        Character: Hobject,
15581        Image: Hobject,
15582        OCRHandle: Htuple,
15583        Num: Htuple,
15584        Class: *mut Htuple,
15585        Confidence: *mut Htuple,
15586    ) -> Herror;
15587}
15588unsafe extern "C" {
15589    pub fn T_trainf_ocr_class_mlp_protected(
15590        OCRHandle: Htuple,
15591        TrainingFile: Htuple,
15592        Password: Htuple,
15593        MaxIterations: Htuple,
15594        WeightTolerance: Htuple,
15595        ErrorTolerance: Htuple,
15596        Error: *mut Htuple,
15597        ErrorLog: *mut Htuple,
15598    ) -> Herror;
15599}
15600unsafe extern "C" {
15601    pub fn T_trainf_ocr_class_mlp(
15602        OCRHandle: Htuple,
15603        TrainingFile: Htuple,
15604        MaxIterations: Htuple,
15605        WeightTolerance: Htuple,
15606        ErrorTolerance: Htuple,
15607        Error: *mut Htuple,
15608        ErrorLog: *mut Htuple,
15609    ) -> Herror;
15610}
15611unsafe extern "C" {
15612    pub fn T_get_prep_info_ocr_class_mlp(
15613        OCRHandle: Htuple,
15614        TrainingFile: Htuple,
15615        Preprocessing: Htuple,
15616        InformationCont: *mut Htuple,
15617        CumInformationCont: *mut Htuple,
15618    ) -> Herror;
15619}
15620unsafe extern "C" {
15621    pub fn T_get_rejection_params_ocr_class_mlp(
15622        OCRHandle: Htuple,
15623        GenParamName: Htuple,
15624        GenParamValue: *mut Htuple,
15625    ) -> Herror;
15626}
15627unsafe extern "C" {
15628    pub fn get_rejection_params_ocr_class_mlp(
15629        OCRHandle: Hlong,
15630        GenParamName: *const ::std::os::raw::c_char,
15631        GenParamValue: *mut ::std::os::raw::c_char,
15632    ) -> Herror;
15633}
15634unsafe extern "C" {
15635    pub fn T_set_rejection_params_ocr_class_mlp(
15636        OCRHandle: Htuple,
15637        GenParamName: Htuple,
15638        GenParamValue: Htuple,
15639    ) -> Herror;
15640}
15641unsafe extern "C" {
15642    pub fn set_rejection_params_ocr_class_mlp(
15643        OCRHandle: Hlong,
15644        GenParamName: *const ::std::os::raw::c_char,
15645        GenParamValue: *const ::std::os::raw::c_char,
15646    ) -> Herror;
15647}
15648unsafe extern "C" {
15649    pub fn T_get_regularization_params_ocr_class_mlp(
15650        OCRHandle: Htuple,
15651        GenParamName: Htuple,
15652        GenParamValue: *mut Htuple,
15653    ) -> Herror;
15654}
15655unsafe extern "C" {
15656    pub fn get_regularization_params_ocr_class_mlp(
15657        OCRHandle: Hlong,
15658        GenParamName: *const ::std::os::raw::c_char,
15659        GenParamValue: *mut f64,
15660    ) -> Herror;
15661}
15662unsafe extern "C" {
15663    pub fn T_set_regularization_params_ocr_class_mlp(
15664        OCRHandle: Htuple,
15665        GenParamName: Htuple,
15666        GenParamValue: Htuple,
15667    ) -> Herror;
15668}
15669unsafe extern "C" {
15670    pub fn set_regularization_params_ocr_class_mlp(
15671        OCRHandle: Hlong,
15672        GenParamName: *const ::std::os::raw::c_char,
15673        GenParamValue: f64,
15674    ) -> Herror;
15675}
15676unsafe extern "C" {
15677    pub fn T_get_params_ocr_class_mlp(
15678        OCRHandle: Htuple,
15679        WidthCharacter: *mut Htuple,
15680        HeightCharacter: *mut Htuple,
15681        Interpolation: *mut Htuple,
15682        Features: *mut Htuple,
15683        Characters: *mut Htuple,
15684        NumHidden: *mut Htuple,
15685        Preprocessing: *mut Htuple,
15686        NumComponents: *mut Htuple,
15687    ) -> Herror;
15688}
15689unsafe extern "C" {
15690    pub fn T_create_ocr_class_mlp(
15691        WidthCharacter: Htuple,
15692        HeightCharacter: Htuple,
15693        Interpolation: Htuple,
15694        Features: Htuple,
15695        Characters: Htuple,
15696        NumHidden: Htuple,
15697        Preprocessing: Htuple,
15698        NumComponents: Htuple,
15699        RandSeed: Htuple,
15700        OCRHandle: *mut Htuple,
15701    ) -> Herror;
15702}
15703unsafe extern "C" {
15704    pub fn T_serialize_ocr(OcrHandle: Htuple, SerializedItemHandle: *mut Htuple) -> Herror;
15705}
15706unsafe extern "C" {
15707    pub fn serialize_ocr(OcrHandle: Hlong, SerializedItemHandle: *mut Hlong) -> Herror;
15708}
15709unsafe extern "C" {
15710    pub fn T_deserialize_ocr(SerializedItemHandle: Htuple, OcrHandle: *mut Htuple) -> Herror;
15711}
15712unsafe extern "C" {
15713    pub fn deserialize_ocr(SerializedItemHandle: Hlong, OcrHandle: *mut Hlong) -> Herror;
15714}
15715unsafe extern "C" {
15716    pub fn T_write_ocr(OcrHandle: Htuple, FileName: Htuple) -> Herror;
15717}
15718unsafe extern "C" {
15719    pub fn write_ocr(OcrHandle: Hlong, FileName: *const ::std::os::raw::c_char) -> Herror;
15720}
15721unsafe extern "C" {
15722    pub fn T_read_ocr(FileName: Htuple, OcrHandle: *mut Htuple) -> Herror;
15723}
15724unsafe extern "C" {
15725    pub fn read_ocr(FileName: *const ::std::os::raw::c_char, OcrHandle: *mut Hlong) -> Herror;
15726}
15727unsafe extern "C" {
15728    pub fn T_do_ocr_single(
15729        Character: Hobject,
15730        Image: Hobject,
15731        OcrHandle: Htuple,
15732        Classes: *mut Htuple,
15733        Confidences: *mut Htuple,
15734    ) -> Herror;
15735}
15736unsafe extern "C" {
15737    pub fn T_do_ocr_multi(
15738        Character: Hobject,
15739        Image: Hobject,
15740        OcrHandle: Htuple,
15741        Class: *mut Htuple,
15742        Confidence: *mut Htuple,
15743    ) -> Herror;
15744}
15745unsafe extern "C" {
15746    pub fn do_ocr_multi(
15747        Character: Hobject,
15748        Image: Hobject,
15749        OcrHandle: Hlong,
15750        Class: *mut ::std::os::raw::c_char,
15751        Confidence: *mut f64,
15752    ) -> Herror;
15753}
15754unsafe extern "C" {
15755    pub fn T_info_ocr_class_box(
15756        OcrHandle: Htuple,
15757        WidthPattern: *mut Htuple,
15758        HeightPattern: *mut Htuple,
15759        Interpolation: *mut Htuple,
15760        WidthMaxChar: *mut Htuple,
15761        HeightMaxChar: *mut Htuple,
15762        Features: *mut Htuple,
15763        Characters: *mut Htuple,
15764    ) -> Herror;
15765}
15766unsafe extern "C" {
15767    pub fn T_create_ocr_class_box(
15768        WidthPattern: Htuple,
15769        HeightPattern: Htuple,
15770        Interpolation: Htuple,
15771        Features: Htuple,
15772        Character: Htuple,
15773        OcrHandle: *mut Htuple,
15774    ) -> Herror;
15775}
15776unsafe extern "C" {
15777    pub fn T_traind_ocr_class_box(
15778        Character: Hobject,
15779        Image: Hobject,
15780        OcrHandle: Htuple,
15781        Class: Htuple,
15782        AvgConfidence: *mut Htuple,
15783    ) -> Herror;
15784}
15785unsafe extern "C" {
15786    pub fn traind_ocr_class_box(
15787        Character: Hobject,
15788        Image: Hobject,
15789        OcrHandle: Hlong,
15790        Class: *const ::std::os::raw::c_char,
15791        AvgConfidence: *mut f64,
15792    ) -> Herror;
15793}
15794unsafe extern "C" {
15795    pub fn T_trainf_ocr_class_box(
15796        OcrHandle: Htuple,
15797        TrainingFile: Htuple,
15798        AvgConfidence: *mut Htuple,
15799    ) -> Herror;
15800}
15801unsafe extern "C" {
15802    pub fn trainf_ocr_class_box(
15803        OcrHandle: Hlong,
15804        TrainingFile: *const ::std::os::raw::c_char,
15805        AvgConfidence: *mut f64,
15806    ) -> Herror;
15807}
15808unsafe extern "C" {
15809    pub fn T_protect_ocr_trainf(
15810        TrainingFile: Htuple,
15811        Password: Htuple,
15812        TrainingFileProtected: Htuple,
15813    ) -> Herror;
15814}
15815unsafe extern "C" {
15816    pub fn protect_ocr_trainf(
15817        TrainingFile: *const ::std::os::raw::c_char,
15818        Password: *const ::std::os::raw::c_char,
15819        TrainingFileProtected: *const ::std::os::raw::c_char,
15820    ) -> Herror;
15821}
15822unsafe extern "C" {
15823    pub fn T_write_ocr_trainf(
15824        Character: Hobject,
15825        Image: Hobject,
15826        Class: Htuple,
15827        TrainingFile: Htuple,
15828    ) -> Herror;
15829}
15830unsafe extern "C" {
15831    pub fn write_ocr_trainf(
15832        Character: Hobject,
15833        Image: Hobject,
15834        Class: *const ::std::os::raw::c_char,
15835        TrainingFile: *const ::std::os::raw::c_char,
15836    ) -> Herror;
15837}
15838unsafe extern "C" {
15839    pub fn T_ocr_change_char(OcrHandle: Htuple, Character: Htuple) -> Herror;
15840}
15841unsafe extern "C" {
15842    pub fn T_close_ocr(OcrHandle: Htuple) -> Herror;
15843}
15844unsafe extern "C" {
15845    pub fn close_ocr(OcrHandle: Hlong) -> Herror;
15846}
15847unsafe extern "C" {
15848    pub fn T_sort_region(
15849        Regions: Hobject,
15850        SortedRegions: *mut Hobject,
15851        SortMode: Htuple,
15852        Order: Htuple,
15853        RowOrCol: Htuple,
15854    ) -> Herror;
15855}
15856unsafe extern "C" {
15857    pub fn sort_region(
15858        Regions: Hobject,
15859        SortedRegions: *mut Hobject,
15860        SortMode: *const ::std::os::raw::c_char,
15861        Order: *const ::std::os::raw::c_char,
15862        RowOrCol: *const ::std::os::raw::c_char,
15863    ) -> Herror;
15864}
15865unsafe extern "C" {
15866    pub fn T_close_all_ocrs() -> Herror;
15867}
15868unsafe extern "C" {
15869    pub fn close_all_ocrs() -> Herror;
15870}
15871unsafe extern "C" {
15872    pub fn T_testd_ocr_class_box(
15873        Character: Hobject,
15874        Image: Hobject,
15875        OcrHandle: Htuple,
15876        Class: Htuple,
15877        Confidence: *mut Htuple,
15878    ) -> Herror;
15879}
15880unsafe extern "C" {
15881    pub fn testd_ocr_class_box(
15882        Character: Hobject,
15883        Image: Hobject,
15884        OcrHandle: Hlong,
15885        Class: *const ::std::os::raw::c_char,
15886        Confidence: *mut f64,
15887    ) -> Herror;
15888}
15889unsafe extern "C" {
15890    pub fn T_crop_domain_rel(
15891        Image: Hobject,
15892        ImagePart: *mut Hobject,
15893        Top: Htuple,
15894        Left: Htuple,
15895        Bottom: Htuple,
15896        Right: Htuple,
15897    ) -> Herror;
15898}
15899unsafe extern "C" {
15900    pub fn crop_domain_rel(
15901        Image: Hobject,
15902        ImagePart: *mut Hobject,
15903        Top: Hlong,
15904        Left: Hlong,
15905        Bottom: Hlong,
15906        Right: Hlong,
15907    ) -> Herror;
15908}
15909unsafe extern "C" {
15910    pub fn T_ocr_get_features(
15911        Character: Hobject,
15912        OcrHandle: Htuple,
15913        FeatureVector: *mut Htuple,
15914    ) -> Herror;
15915}
15916unsafe extern "C" {
15917    pub fn T_concat_ocr_trainf(SingleFiles: Htuple, ComposedFile: Htuple) -> Herror;
15918}
15919unsafe extern "C" {
15920    pub fn concat_ocr_trainf(
15921        SingleFiles: *const ::std::os::raw::c_char,
15922        ComposedFile: *const ::std::os::raw::c_char,
15923    ) -> Herror;
15924}
15925unsafe extern "C" {
15926    pub fn T_write_ocr_trainf_image(
15927        Character: Hobject,
15928        Class: Htuple,
15929        TrainingFile: Htuple,
15930    ) -> Herror;
15931}
15932unsafe extern "C" {
15933    pub fn write_ocr_trainf_image(
15934        Character: Hobject,
15935        Class: *const ::std::os::raw::c_char,
15936        TrainingFile: *const ::std::os::raw::c_char,
15937    ) -> Herror;
15938}
15939unsafe extern "C" {
15940    pub fn T_append_ocr_trainf(
15941        Character: Hobject,
15942        Image: Hobject,
15943        Class: Htuple,
15944        TrainingFile: Htuple,
15945    ) -> Herror;
15946}
15947unsafe extern "C" {
15948    pub fn append_ocr_trainf(
15949        Character: Hobject,
15950        Image: Hobject,
15951        Class: *const ::std::os::raw::c_char,
15952        TrainingFile: *const ::std::os::raw::c_char,
15953    ) -> Herror;
15954}
15955unsafe extern "C" {
15956    pub fn T_read_ocr_trainf_names_protected(
15957        TrainingFile: Htuple,
15958        Password: Htuple,
15959        CharacterNames: *mut Htuple,
15960        CharacterCount: *mut Htuple,
15961    ) -> Herror;
15962}
15963unsafe extern "C" {
15964    pub fn read_ocr_trainf_names_protected(
15965        TrainingFile: *const ::std::os::raw::c_char,
15966        Password: *const ::std::os::raw::c_char,
15967        CharacterNames: *mut ::std::os::raw::c_char,
15968        CharacterCount: *mut Hlong,
15969    ) -> Herror;
15970}
15971unsafe extern "C" {
15972    pub fn T_read_ocr_trainf_names(
15973        TrainingFile: Htuple,
15974        CharacterNames: *mut Htuple,
15975        CharacterCount: *mut Htuple,
15976    ) -> Herror;
15977}
15978unsafe extern "C" {
15979    pub fn read_ocr_trainf_names(
15980        TrainingFile: *const ::std::os::raw::c_char,
15981        CharacterNames: *mut ::std::os::raw::c_char,
15982        CharacterCount: *mut Hlong,
15983    ) -> Herror;
15984}
15985unsafe extern "C" {
15986    pub fn T_read_ocr_trainf_select(
15987        Characters: *mut Hobject,
15988        TrainingFile: Htuple,
15989        SearchNames: Htuple,
15990        FoundNames: *mut Htuple,
15991    ) -> Herror;
15992}
15993unsafe extern "C" {
15994    pub fn read_ocr_trainf_select(
15995        Characters: *mut Hobject,
15996        TrainingFile: *const ::std::os::raw::c_char,
15997        SearchNames: *const ::std::os::raw::c_char,
15998        FoundNames: *mut ::std::os::raw::c_char,
15999    ) -> Herror;
16000}
16001unsafe extern "C" {
16002    pub fn T_read_ocr_trainf(
16003        Characters: *mut Hobject,
16004        TrainingFile: Htuple,
16005        CharacterNames: *mut Htuple,
16006    ) -> Herror;
16007}
16008unsafe extern "C" {
16009    pub fn T_pruning(Region: Hobject, RegionPrune: *mut Hobject, Length: Htuple) -> Herror;
16010}
16011unsafe extern "C" {
16012    pub fn pruning(Region: Hobject, RegionPrune: *mut Hobject, Length: Hlong) -> Herror;
16013}
16014unsafe extern "C" {
16015    pub fn T_boundary(Region: Hobject, RegionBorder: *mut Hobject, BoundaryType: Htuple) -> Herror;
16016}
16017unsafe extern "C" {
16018    pub fn boundary(
16019        Region: Hobject,
16020        RegionBorder: *mut Hobject,
16021        BoundaryType: *const ::std::os::raw::c_char,
16022    ) -> Herror;
16023}
16024unsafe extern "C" {
16025    pub fn T_fitting(
16026        Region: Hobject,
16027        StructElements: Hobject,
16028        RegionFitted: *mut Hobject,
16029    ) -> Herror;
16030}
16031unsafe extern "C" {
16032    pub fn fitting(Region: Hobject, StructElements: Hobject, RegionFitted: *mut Hobject) -> Herror;
16033}
16034unsafe extern "C" {
16035    pub fn T_gen_struct_elements(
16036        StructElements: *mut Hobject,
16037        Type: Htuple,
16038        Row: Htuple,
16039        Column: Htuple,
16040    ) -> Herror;
16041}
16042unsafe extern "C" {
16043    pub fn gen_struct_elements(
16044        StructElements: *mut Hobject,
16045        Type: *const ::std::os::raw::c_char,
16046        Row: Hlong,
16047        Column: Hlong,
16048    ) -> Herror;
16049}
16050unsafe extern "C" {
16051    pub fn T_transpose_region(
16052        Region: Hobject,
16053        Transposed: *mut Hobject,
16054        Row: Htuple,
16055        Column: Htuple,
16056    ) -> Herror;
16057}
16058unsafe extern "C" {
16059    pub fn transpose_region(
16060        Region: Hobject,
16061        Transposed: *mut Hobject,
16062        Row: Hlong,
16063        Column: Hlong,
16064    ) -> Herror;
16065}
16066unsafe extern "C" {
16067    pub fn T_thinning_seq(
16068        Region: Hobject,
16069        RegionThin: *mut Hobject,
16070        GolayElement: Htuple,
16071        Iterations: Htuple,
16072    ) -> Herror;
16073}
16074unsafe extern "C" {
16075    pub fn thinning_seq(
16076        Region: Hobject,
16077        RegionThin: *mut Hobject,
16078        GolayElement: *const ::std::os::raw::c_char,
16079        Iterations: Hlong,
16080    ) -> Herror;
16081}
16082unsafe extern "C" {
16083    pub fn T_thinning_golay(
16084        Region: Hobject,
16085        RegionThin: *mut Hobject,
16086        GolayElement: Htuple,
16087        Rotation: Htuple,
16088    ) -> Herror;
16089}
16090unsafe extern "C" {
16091    pub fn thinning_golay(
16092        Region: Hobject,
16093        RegionThin: *mut Hobject,
16094        GolayElement: *const ::std::os::raw::c_char,
16095        Rotation: Hlong,
16096    ) -> Herror;
16097}
16098unsafe extern "C" {
16099    pub fn T_thinning(
16100        Region: Hobject,
16101        StructElement1: Hobject,
16102        StructElement2: Hobject,
16103        RegionThin: *mut Hobject,
16104        Row: Htuple,
16105        Column: Htuple,
16106        Iterations: Htuple,
16107    ) -> Herror;
16108}
16109unsafe extern "C" {
16110    pub fn thinning(
16111        Region: Hobject,
16112        StructElement1: Hobject,
16113        StructElement2: Hobject,
16114        RegionThin: *mut Hobject,
16115        Row: Hlong,
16116        Column: Hlong,
16117        Iterations: Hlong,
16118    ) -> Herror;
16119}
16120unsafe extern "C" {
16121    pub fn T_thickening_seq(
16122        Region: Hobject,
16123        RegionThick: *mut Hobject,
16124        GolayElement: Htuple,
16125        Iterations: Htuple,
16126    ) -> Herror;
16127}
16128unsafe extern "C" {
16129    pub fn thickening_seq(
16130        Region: Hobject,
16131        RegionThick: *mut Hobject,
16132        GolayElement: *const ::std::os::raw::c_char,
16133        Iterations: Hlong,
16134    ) -> Herror;
16135}
16136unsafe extern "C" {
16137    pub fn T_thickening_golay(
16138        Region: Hobject,
16139        RegionThick: *mut Hobject,
16140        GolayElement: Htuple,
16141        Rotation: Htuple,
16142    ) -> Herror;
16143}
16144unsafe extern "C" {
16145    pub fn thickening_golay(
16146        Region: Hobject,
16147        RegionThick: *mut Hobject,
16148        GolayElement: *const ::std::os::raw::c_char,
16149        Rotation: Hlong,
16150    ) -> Herror;
16151}
16152unsafe extern "C" {
16153    pub fn T_thickening(
16154        Region: Hobject,
16155        StructElement1: Hobject,
16156        StructElement2: Hobject,
16157        RegionThick: *mut Hobject,
16158        Row: Htuple,
16159        Column: Htuple,
16160        Iterations: Htuple,
16161    ) -> Herror;
16162}
16163unsafe extern "C" {
16164    pub fn thickening(
16165        Region: Hobject,
16166        StructElement1: Hobject,
16167        StructElement2: Hobject,
16168        RegionThick: *mut Hobject,
16169        Row: Hlong,
16170        Column: Hlong,
16171        Iterations: Hlong,
16172    ) -> Herror;
16173}
16174unsafe extern "C" {
16175    pub fn T_hit_or_miss_seq(
16176        Region: Hobject,
16177        RegionHitMiss: *mut Hobject,
16178        GolayElement: Htuple,
16179    ) -> Herror;
16180}
16181unsafe extern "C" {
16182    pub fn hit_or_miss_seq(
16183        Region: Hobject,
16184        RegionHitMiss: *mut Hobject,
16185        GolayElement: *const ::std::os::raw::c_char,
16186    ) -> Herror;
16187}
16188unsafe extern "C" {
16189    pub fn T_hit_or_miss_golay(
16190        Region: Hobject,
16191        RegionHitMiss: *mut Hobject,
16192        GolayElement: Htuple,
16193        Rotation: Htuple,
16194    ) -> Herror;
16195}
16196unsafe extern "C" {
16197    pub fn hit_or_miss_golay(
16198        Region: Hobject,
16199        RegionHitMiss: *mut Hobject,
16200        GolayElement: *const ::std::os::raw::c_char,
16201        Rotation: Hlong,
16202    ) -> Herror;
16203}
16204unsafe extern "C" {
16205    pub fn T_hit_or_miss(
16206        Region: Hobject,
16207        StructElement1: Hobject,
16208        StructElement2: Hobject,
16209        RegionHitMiss: *mut Hobject,
16210        Row: Htuple,
16211        Column: Htuple,
16212    ) -> Herror;
16213}
16214unsafe extern "C" {
16215    pub fn hit_or_miss(
16216        Region: Hobject,
16217        StructElement1: Hobject,
16218        StructElement2: Hobject,
16219        RegionHitMiss: *mut Hobject,
16220        Row: Hlong,
16221        Column: Hlong,
16222    ) -> Herror;
16223}
16224unsafe extern "C" {
16225    pub fn T_golay_elements(
16226        StructElement1: *mut Hobject,
16227        StructElement2: *mut Hobject,
16228        GolayElement: Htuple,
16229        Rotation: Htuple,
16230        Row: Htuple,
16231        Column: Htuple,
16232    ) -> Herror;
16233}
16234unsafe extern "C" {
16235    pub fn golay_elements(
16236        StructElement1: *mut Hobject,
16237        StructElement2: *mut Hobject,
16238        GolayElement: *const ::std::os::raw::c_char,
16239        Rotation: Hlong,
16240        Row: Hlong,
16241        Column: Hlong,
16242    ) -> Herror;
16243}
16244unsafe extern "C" {
16245    pub fn T_morph_skiz(
16246        Region: Hobject,
16247        RegionSkiz: *mut Hobject,
16248        Iterations1: Htuple,
16249        Iterations2: Htuple,
16250    ) -> Herror;
16251}
16252unsafe extern "C" {
16253    pub fn morph_skiz(
16254        Region: Hobject,
16255        RegionSkiz: *mut Hobject,
16256        Iterations1: Hlong,
16257        Iterations2: Hlong,
16258    ) -> Herror;
16259}
16260unsafe extern "C" {
16261    pub fn T_morph_skeleton(Region: Hobject, RegionSkeleton: *mut Hobject) -> Herror;
16262}
16263unsafe extern "C" {
16264    pub fn morph_skeleton(Region: Hobject, RegionSkeleton: *mut Hobject) -> Herror;
16265}
16266unsafe extern "C" {
16267    pub fn T_morph_hat(
16268        Region: Hobject,
16269        StructElement: Hobject,
16270        RegionMorphHat: *mut Hobject,
16271    ) -> Herror;
16272}
16273unsafe extern "C" {
16274    pub fn morph_hat(
16275        Region: Hobject,
16276        StructElement: Hobject,
16277        RegionMorphHat: *mut Hobject,
16278    ) -> Herror;
16279}
16280unsafe extern "C" {
16281    pub fn T_bottom_hat(
16282        Region: Hobject,
16283        StructElement: Hobject,
16284        RegionBottomHat: *mut Hobject,
16285    ) -> Herror;
16286}
16287unsafe extern "C" {
16288    pub fn bottom_hat(
16289        Region: Hobject,
16290        StructElement: Hobject,
16291        RegionBottomHat: *mut Hobject,
16292    ) -> Herror;
16293}
16294unsafe extern "C" {
16295    pub fn T_top_hat(Region: Hobject, StructElement: Hobject, RegionTopHat: *mut Hobject)
16296    -> Herror;
16297}
16298unsafe extern "C" {
16299    pub fn top_hat(Region: Hobject, StructElement: Hobject, RegionTopHat: *mut Hobject) -> Herror;
16300}
16301unsafe extern "C" {
16302    pub fn T_minkowski_sub2(
16303        Region: Hobject,
16304        StructElement: Hobject,
16305        RegionMinkSub: *mut Hobject,
16306        Row: Htuple,
16307        Column: Htuple,
16308        Iterations: Htuple,
16309    ) -> Herror;
16310}
16311unsafe extern "C" {
16312    pub fn minkowski_sub2(
16313        Region: Hobject,
16314        StructElement: Hobject,
16315        RegionMinkSub: *mut Hobject,
16316        Row: Hlong,
16317        Column: Hlong,
16318        Iterations: Hlong,
16319    ) -> Herror;
16320}
16321unsafe extern "C" {
16322    pub fn T_minkowski_sub1(
16323        Region: Hobject,
16324        StructElement: Hobject,
16325        RegionMinkSub: *mut Hobject,
16326        Iterations: Htuple,
16327    ) -> Herror;
16328}
16329unsafe extern "C" {
16330    pub fn minkowski_sub1(
16331        Region: Hobject,
16332        StructElement: Hobject,
16333        RegionMinkSub: *mut Hobject,
16334        Iterations: Hlong,
16335    ) -> Herror;
16336}
16337unsafe extern "C" {
16338    pub fn T_minkowski_add2(
16339        Region: Hobject,
16340        StructElement: Hobject,
16341        RegionMinkAdd: *mut Hobject,
16342        Row: Htuple,
16343        Column: Htuple,
16344        Iterations: Htuple,
16345    ) -> Herror;
16346}
16347unsafe extern "C" {
16348    pub fn minkowski_add2(
16349        Region: Hobject,
16350        StructElement: Hobject,
16351        RegionMinkAdd: *mut Hobject,
16352        Row: Hlong,
16353        Column: Hlong,
16354        Iterations: Hlong,
16355    ) -> Herror;
16356}
16357unsafe extern "C" {
16358    pub fn T_minkowski_add1(
16359        Region: Hobject,
16360        StructElement: Hobject,
16361        RegionMinkAdd: *mut Hobject,
16362        Iterations: Htuple,
16363    ) -> Herror;
16364}
16365unsafe extern "C" {
16366    pub fn minkowski_add1(
16367        Region: Hobject,
16368        StructElement: Hobject,
16369        RegionMinkAdd: *mut Hobject,
16370        Iterations: Hlong,
16371    ) -> Herror;
16372}
16373unsafe extern "C" {
16374    pub fn T_closing_rectangle1(
16375        Region: Hobject,
16376        RegionClosing: *mut Hobject,
16377        Width: Htuple,
16378        Height: Htuple,
16379    ) -> Herror;
16380}
16381unsafe extern "C" {
16382    pub fn closing_rectangle1(
16383        Region: Hobject,
16384        RegionClosing: *mut Hobject,
16385        Width: Hlong,
16386        Height: Hlong,
16387    ) -> Herror;
16388}
16389unsafe extern "C" {
16390    pub fn T_closing_golay(
16391        Region: Hobject,
16392        RegionClosing: *mut Hobject,
16393        GolayElement: Htuple,
16394        Rotation: Htuple,
16395    ) -> Herror;
16396}
16397unsafe extern "C" {
16398    pub fn closing_golay(
16399        Region: Hobject,
16400        RegionClosing: *mut Hobject,
16401        GolayElement: *const ::std::os::raw::c_char,
16402        Rotation: Hlong,
16403    ) -> Herror;
16404}
16405unsafe extern "C" {
16406    pub fn T_closing_circle(Region: Hobject, RegionClosing: *mut Hobject, Radius: Htuple)
16407    -> Herror;
16408}
16409unsafe extern "C" {
16410    pub fn closing_circle(Region: Hobject, RegionClosing: *mut Hobject, Radius: f64) -> Herror;
16411}
16412unsafe extern "C" {
16413    pub fn T_closing(
16414        Region: Hobject,
16415        StructElement: Hobject,
16416        RegionClosing: *mut Hobject,
16417    ) -> Herror;
16418}
16419unsafe extern "C" {
16420    pub fn closing(Region: Hobject, StructElement: Hobject, RegionClosing: *mut Hobject) -> Herror;
16421}
16422unsafe extern "C" {
16423    pub fn T_opening_seg(
16424        Region: Hobject,
16425        StructElement: Hobject,
16426        RegionOpening: *mut Hobject,
16427    ) -> Herror;
16428}
16429unsafe extern "C" {
16430    pub fn opening_seg(
16431        Region: Hobject,
16432        StructElement: Hobject,
16433        RegionOpening: *mut Hobject,
16434    ) -> Herror;
16435}
16436unsafe extern "C" {
16437    pub fn T_opening_golay(
16438        Region: Hobject,
16439        RegionOpening: *mut Hobject,
16440        GolayElement: Htuple,
16441        Rotation: Htuple,
16442    ) -> Herror;
16443}
16444unsafe extern "C" {
16445    pub fn opening_golay(
16446        Region: Hobject,
16447        RegionOpening: *mut Hobject,
16448        GolayElement: *const ::std::os::raw::c_char,
16449        Rotation: Hlong,
16450    ) -> Herror;
16451}
16452unsafe extern "C" {
16453    pub fn T_opening_rectangle1(
16454        Region: Hobject,
16455        RegionOpening: *mut Hobject,
16456        Width: Htuple,
16457        Height: Htuple,
16458    ) -> Herror;
16459}
16460unsafe extern "C" {
16461    pub fn opening_rectangle1(
16462        Region: Hobject,
16463        RegionOpening: *mut Hobject,
16464        Width: Hlong,
16465        Height: Hlong,
16466    ) -> Herror;
16467}
16468unsafe extern "C" {
16469    pub fn T_opening_circle(Region: Hobject, RegionOpening: *mut Hobject, Radius: Htuple)
16470    -> Herror;
16471}
16472unsafe extern "C" {
16473    pub fn opening_circle(Region: Hobject, RegionOpening: *mut Hobject, Radius: f64) -> Herror;
16474}
16475unsafe extern "C" {
16476    pub fn T_opening(
16477        Region: Hobject,
16478        StructElement: Hobject,
16479        RegionOpening: *mut Hobject,
16480    ) -> Herror;
16481}
16482unsafe extern "C" {
16483    pub fn opening(Region: Hobject, StructElement: Hobject, RegionOpening: *mut Hobject) -> Herror;
16484}
16485unsafe extern "C" {
16486    pub fn T_erosion_seq(
16487        Region: Hobject,
16488        RegionErosion: *mut Hobject,
16489        GolayElement: Htuple,
16490        Iterations: Htuple,
16491    ) -> Herror;
16492}
16493unsafe extern "C" {
16494    pub fn erosion_seq(
16495        Region: Hobject,
16496        RegionErosion: *mut Hobject,
16497        GolayElement: *const ::std::os::raw::c_char,
16498        Iterations: Hlong,
16499    ) -> Herror;
16500}
16501unsafe extern "C" {
16502    pub fn T_erosion_golay(
16503        Region: Hobject,
16504        RegionErosion: *mut Hobject,
16505        GolayElement: Htuple,
16506        Iterations: Htuple,
16507        Rotation: Htuple,
16508    ) -> Herror;
16509}
16510unsafe extern "C" {
16511    pub fn erosion_golay(
16512        Region: Hobject,
16513        RegionErosion: *mut Hobject,
16514        GolayElement: *const ::std::os::raw::c_char,
16515        Iterations: Hlong,
16516        Rotation: Hlong,
16517    ) -> Herror;
16518}
16519unsafe extern "C" {
16520    pub fn T_erosion_rectangle1(
16521        Region: Hobject,
16522        RegionErosion: *mut Hobject,
16523        Width: Htuple,
16524        Height: Htuple,
16525    ) -> Herror;
16526}
16527unsafe extern "C" {
16528    pub fn erosion_rectangle1(
16529        Region: Hobject,
16530        RegionErosion: *mut Hobject,
16531        Width: Hlong,
16532        Height: Hlong,
16533    ) -> Herror;
16534}
16535unsafe extern "C" {
16536    pub fn T_erosion_circle(Region: Hobject, RegionErosion: *mut Hobject, Radius: Htuple)
16537    -> Herror;
16538}
16539unsafe extern "C" {
16540    pub fn erosion_circle(Region: Hobject, RegionErosion: *mut Hobject, Radius: f64) -> Herror;
16541}
16542unsafe extern "C" {
16543    pub fn T_erosion2(
16544        Region: Hobject,
16545        StructElement: Hobject,
16546        RegionErosion: *mut Hobject,
16547        Row: Htuple,
16548        Column: Htuple,
16549        Iterations: Htuple,
16550    ) -> Herror;
16551}
16552unsafe extern "C" {
16553    pub fn erosion2(
16554        Region: Hobject,
16555        StructElement: Hobject,
16556        RegionErosion: *mut Hobject,
16557        Row: Hlong,
16558        Column: Hlong,
16559        Iterations: Hlong,
16560    ) -> Herror;
16561}
16562unsafe extern "C" {
16563    pub fn T_erosion1(
16564        Region: Hobject,
16565        StructElement: Hobject,
16566        RegionErosion: *mut Hobject,
16567        Iterations: Htuple,
16568    ) -> Herror;
16569}
16570unsafe extern "C" {
16571    pub fn erosion1(
16572        Region: Hobject,
16573        StructElement: Hobject,
16574        RegionErosion: *mut Hobject,
16575        Iterations: Hlong,
16576    ) -> Herror;
16577}
16578unsafe extern "C" {
16579    pub fn T_dilation_seq(
16580        Region: Hobject,
16581        RegionDilation: *mut Hobject,
16582        GolayElement: Htuple,
16583        Iterations: Htuple,
16584    ) -> Herror;
16585}
16586unsafe extern "C" {
16587    pub fn dilation_seq(
16588        Region: Hobject,
16589        RegionDilation: *mut Hobject,
16590        GolayElement: *const ::std::os::raw::c_char,
16591        Iterations: Hlong,
16592    ) -> Herror;
16593}
16594unsafe extern "C" {
16595    pub fn T_dilation_golay(
16596        Region: Hobject,
16597        RegionDilation: *mut Hobject,
16598        GolayElement: Htuple,
16599        Iterations: Htuple,
16600        Rotation: Htuple,
16601    ) -> Herror;
16602}
16603unsafe extern "C" {
16604    pub fn dilation_golay(
16605        Region: Hobject,
16606        RegionDilation: *mut Hobject,
16607        GolayElement: *const ::std::os::raw::c_char,
16608        Iterations: Hlong,
16609        Rotation: Hlong,
16610    ) -> Herror;
16611}
16612unsafe extern "C" {
16613    pub fn T_dilation_rectangle1(
16614        Region: Hobject,
16615        RegionDilation: *mut Hobject,
16616        Width: Htuple,
16617        Height: Htuple,
16618    ) -> Herror;
16619}
16620unsafe extern "C" {
16621    pub fn dilation_rectangle1(
16622        Region: Hobject,
16623        RegionDilation: *mut Hobject,
16624        Width: Hlong,
16625        Height: Hlong,
16626    ) -> Herror;
16627}
16628unsafe extern "C" {
16629    pub fn T_dilation_circle(
16630        Region: Hobject,
16631        RegionDilation: *mut Hobject,
16632        Radius: Htuple,
16633    ) -> Herror;
16634}
16635unsafe extern "C" {
16636    pub fn dilation_circle(Region: Hobject, RegionDilation: *mut Hobject, Radius: f64) -> Herror;
16637}
16638unsafe extern "C" {
16639    pub fn T_dilation2(
16640        Region: Hobject,
16641        StructElement: Hobject,
16642        RegionDilation: *mut Hobject,
16643        Row: Htuple,
16644        Column: Htuple,
16645        Iterations: Htuple,
16646    ) -> Herror;
16647}
16648unsafe extern "C" {
16649    pub fn dilation2(
16650        Region: Hobject,
16651        StructElement: Hobject,
16652        RegionDilation: *mut Hobject,
16653        Row: Hlong,
16654        Column: Hlong,
16655        Iterations: Hlong,
16656    ) -> Herror;
16657}
16658unsafe extern "C" {
16659    pub fn T_dilation1(
16660        Region: Hobject,
16661        StructElement: Hobject,
16662        RegionDilation: *mut Hobject,
16663        Iterations: Htuple,
16664    ) -> Herror;
16665}
16666unsafe extern "C" {
16667    pub fn dilation1(
16668        Region: Hobject,
16669        StructElement: Hobject,
16670        RegionDilation: *mut Hobject,
16671        Iterations: Hlong,
16672    ) -> Herror;
16673}
16674unsafe extern "C" {
16675    pub fn T_gray_bothat(Image: Hobject, SE: Hobject, ImageBotHat: *mut Hobject) -> Herror;
16676}
16677unsafe extern "C" {
16678    pub fn gray_bothat(Image: Hobject, SE: Hobject, ImageBotHat: *mut Hobject) -> Herror;
16679}
16680unsafe extern "C" {
16681    pub fn T_gray_tophat(Image: Hobject, SE: Hobject, ImageTopHat: *mut Hobject) -> Herror;
16682}
16683unsafe extern "C" {
16684    pub fn gray_tophat(Image: Hobject, SE: Hobject, ImageTopHat: *mut Hobject) -> Herror;
16685}
16686unsafe extern "C" {
16687    pub fn T_gray_closing(Image: Hobject, SE: Hobject, ImageClosing: *mut Hobject) -> Herror;
16688}
16689unsafe extern "C" {
16690    pub fn gray_closing(Image: Hobject, SE: Hobject, ImageClosing: *mut Hobject) -> Herror;
16691}
16692unsafe extern "C" {
16693    pub fn T_gray_opening(Image: Hobject, SE: Hobject, ImageOpening: *mut Hobject) -> Herror;
16694}
16695unsafe extern "C" {
16696    pub fn gray_opening(Image: Hobject, SE: Hobject, ImageOpening: *mut Hobject) -> Herror;
16697}
16698unsafe extern "C" {
16699    pub fn T_gray_dilation(Image: Hobject, SE: Hobject, ImageDilation: *mut Hobject) -> Herror;
16700}
16701unsafe extern "C" {
16702    pub fn gray_dilation(Image: Hobject, SE: Hobject, ImageDilation: *mut Hobject) -> Herror;
16703}
16704unsafe extern "C" {
16705    pub fn T_gray_erosion(Image: Hobject, SE: Hobject, ImageErosion: *mut Hobject) -> Herror;
16706}
16707unsafe extern "C" {
16708    pub fn gray_erosion(Image: Hobject, SE: Hobject, ImageErosion: *mut Hobject) -> Herror;
16709}
16710unsafe extern "C" {
16711    pub fn T_read_gray_se(SE: *mut Hobject, FileName: Htuple) -> Herror;
16712}
16713unsafe extern "C" {
16714    pub fn read_gray_se(SE: *mut Hobject, FileName: *const ::std::os::raw::c_char) -> Herror;
16715}
16716unsafe extern "C" {
16717    pub fn T_gen_disc_se(
16718        SE: *mut Hobject,
16719        Type: Htuple,
16720        Width: Htuple,
16721        Height: Htuple,
16722        Smax: Htuple,
16723    ) -> Herror;
16724}
16725unsafe extern "C" {
16726    pub fn gen_disc_se(
16727        SE: *mut Hobject,
16728        Type: *const ::std::os::raw::c_char,
16729        Width: Hlong,
16730        Height: Hlong,
16731        Smax: f64,
16732    ) -> Herror;
16733}
16734unsafe extern "C" {
16735    pub fn T_get_metrology_object_model_contour(
16736        Contour: *mut Hobject,
16737        MetrologyHandle: Htuple,
16738        Index: Htuple,
16739        Resolution: Htuple,
16740    ) -> Herror;
16741}
16742unsafe extern "C" {
16743    pub fn get_metrology_object_model_contour(
16744        Contour: *mut Hobject,
16745        MetrologyHandle: Hlong,
16746        Index: Hlong,
16747        Resolution: f64,
16748    ) -> Herror;
16749}
16750unsafe extern "C" {
16751    pub fn T_get_metrology_object_result_contour(
16752        Contour: *mut Hobject,
16753        MetrologyHandle: Htuple,
16754        Index: Htuple,
16755        Instance: Htuple,
16756        Resolution: Htuple,
16757    ) -> Herror;
16758}
16759unsafe extern "C" {
16760    pub fn get_metrology_object_result_contour(
16761        Contour: *mut Hobject,
16762        MetrologyHandle: Hlong,
16763        Index: Hlong,
16764        Instance: *const ::std::os::raw::c_char,
16765        Resolution: f64,
16766    ) -> Herror;
16767}
16768unsafe extern "C" {
16769    pub fn T_align_metrology_model(
16770        MetrologyHandle: Htuple,
16771        Row: Htuple,
16772        Column: Htuple,
16773        Angle: Htuple,
16774    ) -> Herror;
16775}
16776unsafe extern "C" {
16777    pub fn align_metrology_model(
16778        MetrologyHandle: Hlong,
16779        Row: f64,
16780        Column: f64,
16781        Angle: f64,
16782    ) -> Herror;
16783}
16784unsafe extern "C" {
16785    pub fn T_add_metrology_object_generic(
16786        MetrologyHandle: Htuple,
16787        Shape: Htuple,
16788        ShapeParam: Htuple,
16789        MeasureLength1: Htuple,
16790        MeasureLength2: Htuple,
16791        MeasureSigma: Htuple,
16792        MeasureThreshold: Htuple,
16793        GenParamName: Htuple,
16794        GenParamValue: Htuple,
16795        Index: *mut Htuple,
16796    ) -> Herror;
16797}
16798unsafe extern "C" {
16799    pub fn T_get_metrology_model_param(
16800        MetrologyHandle: Htuple,
16801        GenParamName: Htuple,
16802        GenParamValue: *mut Htuple,
16803    ) -> Herror;
16804}
16805unsafe extern "C" {
16806    pub fn get_metrology_model_param(
16807        MetrologyHandle: Hlong,
16808        GenParamName: *const ::std::os::raw::c_char,
16809        GenParamValue: *mut ::std::os::raw::c_char,
16810    ) -> Herror;
16811}
16812unsafe extern "C" {
16813    pub fn T_set_metrology_model_param(
16814        MetrologyHandle: Htuple,
16815        GenParamName: Htuple,
16816        GenParamValue: Htuple,
16817    ) -> Herror;
16818}
16819unsafe extern "C" {
16820    pub fn set_metrology_model_param(
16821        MetrologyHandle: Hlong,
16822        GenParamName: *const ::std::os::raw::c_char,
16823        GenParamValue: *const ::std::os::raw::c_char,
16824    ) -> Herror;
16825}
16826unsafe extern "C" {
16827    pub fn T_deserialize_metrology_model(
16828        SerializedItemHandle: Htuple,
16829        MetrologyHandle: *mut Htuple,
16830    ) -> Herror;
16831}
16832unsafe extern "C" {
16833    pub fn deserialize_metrology_model(
16834        SerializedItemHandle: Hlong,
16835        MetrologyHandle: *mut Hlong,
16836    ) -> Herror;
16837}
16838unsafe extern "C" {
16839    pub fn T_serialize_metrology_model(
16840        MetrologyHandle: Htuple,
16841        SerializedItemHandle: *mut Htuple,
16842    ) -> Herror;
16843}
16844unsafe extern "C" {
16845    pub fn serialize_metrology_model(
16846        MetrologyHandle: Hlong,
16847        SerializedItemHandle: *mut Hlong,
16848    ) -> Herror;
16849}
16850unsafe extern "C" {
16851    pub fn T_transform_metrology_object(
16852        MetrologyHandle: Htuple,
16853        Index: Htuple,
16854        Row: Htuple,
16855        Column: Htuple,
16856        Phi: Htuple,
16857        Mode: Htuple,
16858    ) -> Herror;
16859}
16860unsafe extern "C" {
16861    pub fn transform_metrology_object(
16862        MetrologyHandle: Hlong,
16863        Index: *const ::std::os::raw::c_char,
16864        Row: f64,
16865        Column: f64,
16866        Phi: f64,
16867        Mode: *const ::std::os::raw::c_char,
16868    ) -> Herror;
16869}
16870unsafe extern "C" {
16871    pub fn T_write_metrology_model(MetrologyHandle: Htuple, FileName: Htuple) -> Herror;
16872}
16873unsafe extern "C" {
16874    pub fn write_metrology_model(
16875        MetrologyHandle: Hlong,
16876        FileName: *const ::std::os::raw::c_char,
16877    ) -> Herror;
16878}
16879unsafe extern "C" {
16880    pub fn T_read_metrology_model(FileName: Htuple, MetrologyHandle: *mut Htuple) -> Herror;
16881}
16882unsafe extern "C" {
16883    pub fn read_metrology_model(
16884        FileName: *const ::std::os::raw::c_char,
16885        MetrologyHandle: *mut Hlong,
16886    ) -> Herror;
16887}
16888unsafe extern "C" {
16889    pub fn T_copy_metrology_model(
16890        MetrologyHandle: Htuple,
16891        Index: Htuple,
16892        CopiedMetrologyHandle: *mut Htuple,
16893    ) -> Herror;
16894}
16895unsafe extern "C" {
16896    pub fn copy_metrology_model(
16897        MetrologyHandle: Hlong,
16898        Index: *const ::std::os::raw::c_char,
16899        CopiedMetrologyHandle: *mut Hlong,
16900    ) -> Herror;
16901}
16902unsafe extern "C" {
16903    pub fn T_copy_metrology_object(
16904        MetrologyHandle: Htuple,
16905        Index: Htuple,
16906        CopiedIndices: *mut Htuple,
16907    ) -> Herror;
16908}
16909unsafe extern "C" {
16910    pub fn copy_metrology_object(
16911        MetrologyHandle: Hlong,
16912        Index: *const ::std::os::raw::c_char,
16913        CopiedIndices: *mut Hlong,
16914    ) -> Herror;
16915}
16916unsafe extern "C" {
16917    pub fn T_get_metrology_object_num_instances(
16918        MetrologyHandle: Htuple,
16919        Index: Htuple,
16920        NumInstances: *mut Htuple,
16921    ) -> Herror;
16922}
16923unsafe extern "C" {
16924    pub fn get_metrology_object_num_instances(
16925        MetrologyHandle: Hlong,
16926        Index: Hlong,
16927        NumInstances: *mut f64,
16928    ) -> Herror;
16929}
16930unsafe extern "C" {
16931    pub fn T_get_metrology_object_result(
16932        MetrologyHandle: Htuple,
16933        Index: Htuple,
16934        Instance: Htuple,
16935        GenParamName: Htuple,
16936        GenParamValue: Htuple,
16937        Parameter: *mut Htuple,
16938    ) -> Herror;
16939}
16940unsafe extern "C" {
16941    pub fn T_get_metrology_object_measures(
16942        Contours: *mut Hobject,
16943        MetrologyHandle: Htuple,
16944        Index: Htuple,
16945        Transition: Htuple,
16946        Row: *mut Htuple,
16947        Column: *mut Htuple,
16948    ) -> Herror;
16949}
16950unsafe extern "C" {
16951    pub fn T_apply_metrology_model(Image: Hobject, MetrologyHandle: Htuple) -> Herror;
16952}
16953unsafe extern "C" {
16954    pub fn apply_metrology_model(Image: Hobject, MetrologyHandle: Hlong) -> Herror;
16955}
16956unsafe extern "C" {
16957    pub fn T_get_metrology_object_indices(MetrologyHandle: Htuple, Indices: *mut Htuple) -> Herror;
16958}
16959unsafe extern "C" {
16960    pub fn get_metrology_object_indices(MetrologyHandle: Hlong, Indices: *mut Hlong) -> Herror;
16961}
16962unsafe extern "C" {
16963    pub fn T_reset_metrology_object_fuzzy_param(MetrologyHandle: Htuple, Index: Htuple) -> Herror;
16964}
16965unsafe extern "C" {
16966    pub fn reset_metrology_object_fuzzy_param(
16967        MetrologyHandle: Hlong,
16968        Index: *const ::std::os::raw::c_char,
16969    ) -> Herror;
16970}
16971unsafe extern "C" {
16972    pub fn T_reset_metrology_object_param(MetrologyHandle: Htuple, Index: Htuple) -> Herror;
16973}
16974unsafe extern "C" {
16975    pub fn reset_metrology_object_param(
16976        MetrologyHandle: Hlong,
16977        Index: *const ::std::os::raw::c_char,
16978    ) -> Herror;
16979}
16980unsafe extern "C" {
16981    pub fn T_get_metrology_object_fuzzy_param(
16982        MetrologyHandle: Htuple,
16983        Index: Htuple,
16984        GenParamName: Htuple,
16985        GenParamValue: *mut Htuple,
16986    ) -> Herror;
16987}
16988unsafe extern "C" {
16989    pub fn T_get_metrology_object_param(
16990        MetrologyHandle: Htuple,
16991        Index: Htuple,
16992        GenParamName: Htuple,
16993        GenParamValue: *mut Htuple,
16994    ) -> Herror;
16995}
16996unsafe extern "C" {
16997    pub fn T_set_metrology_object_fuzzy_param(
16998        MetrologyHandle: Htuple,
16999        Index: Htuple,
17000        GenParamName: Htuple,
17001        GenParamValue: Htuple,
17002    ) -> Herror;
17003}
17004unsafe extern "C" {
17005    pub fn T_set_metrology_object_param(
17006        MetrologyHandle: Htuple,
17007        Index: Htuple,
17008        GenParamName: Htuple,
17009        GenParamValue: Htuple,
17010    ) -> Herror;
17011}
17012unsafe extern "C" {
17013    pub fn T_add_metrology_object_rectangle2_measure(
17014        MetrologyHandle: Htuple,
17015        Row: Htuple,
17016        Column: Htuple,
17017        Phi: Htuple,
17018        Length1: Htuple,
17019        Length2: Htuple,
17020        MeasureLength1: Htuple,
17021        MeasureLength2: Htuple,
17022        MeasureSigma: Htuple,
17023        MeasureThreshold: Htuple,
17024        GenParamName: Htuple,
17025        GenParamValue: Htuple,
17026        Index: *mut Htuple,
17027    ) -> Herror;
17028}
17029unsafe extern "C" {
17030    pub fn T_add_metrology_object_line_measure(
17031        MetrologyHandle: Htuple,
17032        RowBegin: Htuple,
17033        ColumnBegin: Htuple,
17034        RowEnd: Htuple,
17035        ColumnEnd: Htuple,
17036        MeasureLength1: Htuple,
17037        MeasureLength2: Htuple,
17038        MeasureSigma: Htuple,
17039        MeasureThreshold: Htuple,
17040        GenParamName: Htuple,
17041        GenParamValue: Htuple,
17042        Index: *mut Htuple,
17043    ) -> Herror;
17044}
17045unsafe extern "C" {
17046    pub fn T_add_metrology_object_ellipse_measure(
17047        MetrologyHandle: Htuple,
17048        Row: Htuple,
17049        Column: Htuple,
17050        Phi: Htuple,
17051        Radius1: Htuple,
17052        Radius2: Htuple,
17053        MeasureLength1: Htuple,
17054        MeasureLength2: Htuple,
17055        MeasureSigma: Htuple,
17056        MeasureThreshold: Htuple,
17057        GenParamName: Htuple,
17058        GenParamValue: Htuple,
17059        Index: *mut Htuple,
17060    ) -> Herror;
17061}
17062unsafe extern "C" {
17063    pub fn T_add_metrology_object_circle_measure(
17064        MetrologyHandle: Htuple,
17065        Row: Htuple,
17066        Column: Htuple,
17067        Radius: Htuple,
17068        MeasureLength1: Htuple,
17069        MeasureLength2: Htuple,
17070        MeasureSigma: Htuple,
17071        MeasureThreshold: Htuple,
17072        GenParamName: Htuple,
17073        GenParamValue: Htuple,
17074        Index: *mut Htuple,
17075    ) -> Herror;
17076}
17077unsafe extern "C" {
17078    pub fn T_clear_all_metrology_models() -> Herror;
17079}
17080unsafe extern "C" {
17081    pub fn clear_all_metrology_models() -> Herror;
17082}
17083unsafe extern "C" {
17084    pub fn T_clear_metrology_model(MetrologyHandle: Htuple) -> Herror;
17085}
17086unsafe extern "C" {
17087    pub fn clear_metrology_model(MetrologyHandle: Hlong) -> Herror;
17088}
17089unsafe extern "C" {
17090    pub fn T_clear_metrology_object(MetrologyHandle: Htuple, Index: Htuple) -> Herror;
17091}
17092unsafe extern "C" {
17093    pub fn clear_metrology_object(
17094        MetrologyHandle: Hlong,
17095        Index: *const ::std::os::raw::c_char,
17096    ) -> Herror;
17097}
17098unsafe extern "C" {
17099    pub fn T_set_metrology_model_image_size(
17100        MetrologyHandle: Htuple,
17101        Width: Htuple,
17102        Height: Htuple,
17103    ) -> Herror;
17104}
17105unsafe extern "C" {
17106    pub fn set_metrology_model_image_size(
17107        MetrologyHandle: Hlong,
17108        Width: Hlong,
17109        Height: Hlong,
17110    ) -> Herror;
17111}
17112unsafe extern "C" {
17113    pub fn T_create_metrology_model(MetrologyHandle: *mut Htuple) -> Herror;
17114}
17115unsafe extern "C" {
17116    pub fn create_metrology_model(MetrologyHandle: *mut Hlong) -> Herror;
17117}
17118unsafe extern "C" {
17119    pub fn T_serialize_measure(MeasureHandle: Htuple, SerializedItemHandle: *mut Htuple) -> Herror;
17120}
17121unsafe extern "C" {
17122    pub fn serialize_measure(MeasureHandle: Hlong, SerializedItemHandle: *mut Hlong) -> Herror;
17123}
17124unsafe extern "C" {
17125    pub fn T_deserialize_measure(
17126        SerializedItemHandle: Htuple,
17127        MeasureHandle: *mut Htuple,
17128    ) -> Herror;
17129}
17130unsafe extern "C" {
17131    pub fn deserialize_measure(SerializedItemHandle: Hlong, MeasureHandle: *mut Hlong) -> Herror;
17132}
17133unsafe extern "C" {
17134    pub fn T_write_measure(MeasureHandle: Htuple, FileName: Htuple) -> Herror;
17135}
17136unsafe extern "C" {
17137    pub fn write_measure(MeasureHandle: Hlong, FileName: *const ::std::os::raw::c_char) -> Herror;
17138}
17139unsafe extern "C" {
17140    pub fn T_read_measure(FileName: Htuple, MeasureHandle: *mut Htuple) -> Herror;
17141}
17142unsafe extern "C" {
17143    pub fn read_measure(
17144        FileName: *const ::std::os::raw::c_char,
17145        MeasureHandle: *mut Hlong,
17146    ) -> Herror;
17147}
17148unsafe extern "C" {
17149    pub fn T_measure_thresh(
17150        Image: Hobject,
17151        MeasureHandle: Htuple,
17152        Sigma: Htuple,
17153        Threshold: Htuple,
17154        Select: Htuple,
17155        RowThresh: *mut Htuple,
17156        ColumnThresh: *mut Htuple,
17157        Distance: *mut Htuple,
17158    ) -> Herror;
17159}
17160unsafe extern "C" {
17161    pub fn T_close_all_measures() -> Herror;
17162}
17163unsafe extern "C" {
17164    pub fn close_all_measures() -> Herror;
17165}
17166unsafe extern "C" {
17167    pub fn T_close_measure(MeasureHandle: Htuple) -> Herror;
17168}
17169unsafe extern "C" {
17170    pub fn close_measure(MeasureHandle: Hlong) -> Herror;
17171}
17172unsafe extern "C" {
17173    pub fn T_measure_projection(
17174        Image: Hobject,
17175        MeasureHandle: Htuple,
17176        GrayValues: *mut Htuple,
17177    ) -> Herror;
17178}
17179unsafe extern "C" {
17180    pub fn T_reset_fuzzy_measure(MeasureHandle: Htuple, SetType: Htuple) -> Herror;
17181}
17182unsafe extern "C" {
17183    pub fn reset_fuzzy_measure(
17184        MeasureHandle: Hlong,
17185        SetType: *const ::std::os::raw::c_char,
17186    ) -> Herror;
17187}
17188unsafe extern "C" {
17189    pub fn T_set_fuzzy_measure_norm_pair(
17190        MeasureHandle: Htuple,
17191        PairSize: Htuple,
17192        SetType: Htuple,
17193        Function: Htuple,
17194    ) -> Herror;
17195}
17196unsafe extern "C" {
17197    pub fn T_set_fuzzy_measure(MeasureHandle: Htuple, SetType: Htuple, Function: Htuple) -> Herror;
17198}
17199unsafe extern "C" {
17200    pub fn T_fuzzy_measure_pairing(
17201        Image: Hobject,
17202        MeasureHandle: Htuple,
17203        Sigma: Htuple,
17204        AmpThresh: Htuple,
17205        FuzzyThresh: Htuple,
17206        Transition: Htuple,
17207        Pairing: Htuple,
17208        NumPairs: Htuple,
17209        RowEdgeFirst: *mut Htuple,
17210        ColumnEdgeFirst: *mut Htuple,
17211        AmplitudeFirst: *mut Htuple,
17212        RowEdgeSecond: *mut Htuple,
17213        ColumnEdgeSecond: *mut Htuple,
17214        AmplitudeSecond: *mut Htuple,
17215        RowPairCenter: *mut Htuple,
17216        ColumnPairCenter: *mut Htuple,
17217        FuzzyScore: *mut Htuple,
17218        IntraDistance: *mut Htuple,
17219    ) -> Herror;
17220}
17221unsafe extern "C" {
17222    pub fn T_fuzzy_measure_pairs(
17223        Image: Hobject,
17224        MeasureHandle: Htuple,
17225        Sigma: Htuple,
17226        AmpThresh: Htuple,
17227        FuzzyThresh: Htuple,
17228        Transition: Htuple,
17229        RowEdgeFirst: *mut Htuple,
17230        ColumnEdgeFirst: *mut Htuple,
17231        AmplitudeFirst: *mut Htuple,
17232        RowEdgeSecond: *mut Htuple,
17233        ColumnEdgeSecond: *mut Htuple,
17234        AmplitudeSecond: *mut Htuple,
17235        RowEdgeCenter: *mut Htuple,
17236        ColumnEdgeCenter: *mut Htuple,
17237        FuzzyScore: *mut Htuple,
17238        IntraDistance: *mut Htuple,
17239        InterDistance: *mut Htuple,
17240    ) -> Herror;
17241}
17242unsafe extern "C" {
17243    pub fn T_fuzzy_measure_pos(
17244        Image: Hobject,
17245        MeasureHandle: Htuple,
17246        Sigma: Htuple,
17247        AmpThresh: Htuple,
17248        FuzzyThresh: Htuple,
17249        Transition: Htuple,
17250        RowEdge: *mut Htuple,
17251        ColumnEdge: *mut Htuple,
17252        Amplitude: *mut Htuple,
17253        FuzzyScore: *mut Htuple,
17254        Distance: *mut Htuple,
17255    ) -> Herror;
17256}
17257unsafe extern "C" {
17258    pub fn T_measure_pairs(
17259        Image: Hobject,
17260        MeasureHandle: Htuple,
17261        Sigma: Htuple,
17262        Threshold: Htuple,
17263        Transition: Htuple,
17264        Select: Htuple,
17265        RowEdgeFirst: *mut Htuple,
17266        ColumnEdgeFirst: *mut Htuple,
17267        AmplitudeFirst: *mut Htuple,
17268        RowEdgeSecond: *mut Htuple,
17269        ColumnEdgeSecond: *mut Htuple,
17270        AmplitudeSecond: *mut Htuple,
17271        IntraDistance: *mut Htuple,
17272        InterDistance: *mut Htuple,
17273    ) -> Herror;
17274}
17275unsafe extern "C" {
17276    pub fn T_measure_pos(
17277        Image: Hobject,
17278        MeasureHandle: Htuple,
17279        Sigma: Htuple,
17280        Threshold: Htuple,
17281        Transition: Htuple,
17282        Select: Htuple,
17283        RowEdge: *mut Htuple,
17284        ColumnEdge: *mut Htuple,
17285        Amplitude: *mut Htuple,
17286        Distance: *mut Htuple,
17287    ) -> Herror;
17288}
17289unsafe extern "C" {
17290    pub fn T_translate_measure(MeasureHandle: Htuple, Row: Htuple, Column: Htuple) -> Herror;
17291}
17292unsafe extern "C" {
17293    pub fn translate_measure(MeasureHandle: Hlong, Row: f64, Column: f64) -> Herror;
17294}
17295unsafe extern "C" {
17296    pub fn T_gen_measure_arc(
17297        CenterRow: Htuple,
17298        CenterCol: Htuple,
17299        Radius: Htuple,
17300        AngleStart: Htuple,
17301        AngleExtent: Htuple,
17302        AnnulusRadius: Htuple,
17303        Width: Htuple,
17304        Height: Htuple,
17305        Interpolation: Htuple,
17306        MeasureHandle: *mut Htuple,
17307    ) -> Herror;
17308}
17309unsafe extern "C" {
17310    pub fn gen_measure_arc(
17311        CenterRow: f64,
17312        CenterCol: f64,
17313        Radius: f64,
17314        AngleStart: f64,
17315        AngleExtent: f64,
17316        AnnulusRadius: f64,
17317        Width: Hlong,
17318        Height: Hlong,
17319        Interpolation: *const ::std::os::raw::c_char,
17320        MeasureHandle: *mut Hlong,
17321    ) -> Herror;
17322}
17323unsafe extern "C" {
17324    pub fn T_gen_measure_rectangle2(
17325        Row: Htuple,
17326        Column: Htuple,
17327        Phi: Htuple,
17328        Length1: Htuple,
17329        Length2: Htuple,
17330        Width: Htuple,
17331        Height: Htuple,
17332        Interpolation: Htuple,
17333        MeasureHandle: *mut Htuple,
17334    ) -> Herror;
17335}
17336unsafe extern "C" {
17337    pub fn gen_measure_rectangle2(
17338        Row: f64,
17339        Column: f64,
17340        Phi: f64,
17341        Length1: f64,
17342        Length2: f64,
17343        Width: Hlong,
17344        Height: Hlong,
17345        Interpolation: *const ::std::os::raw::c_char,
17346        MeasureHandle: *mut Hlong,
17347    ) -> Herror;
17348}
17349unsafe extern "C" {
17350    pub fn T_deserialize_matrix(SerializedItemHandle: Htuple, MatrixID: *mut Htuple) -> Herror;
17351}
17352unsafe extern "C" {
17353    pub fn deserialize_matrix(SerializedItemHandle: Hlong, MatrixID: *mut Hlong) -> Herror;
17354}
17355unsafe extern "C" {
17356    pub fn T_serialize_matrix(MatrixID: Htuple, SerializedItemHandle: *mut Htuple) -> Herror;
17357}
17358unsafe extern "C" {
17359    pub fn serialize_matrix(MatrixID: Hlong, SerializedItemHandle: *mut Hlong) -> Herror;
17360}
17361unsafe extern "C" {
17362    pub fn T_read_matrix(FileName: Htuple, MatrixID: *mut Htuple) -> Herror;
17363}
17364unsafe extern "C" {
17365    pub fn read_matrix(FileName: *const ::std::os::raw::c_char, MatrixID: *mut Hlong) -> Herror;
17366}
17367unsafe extern "C" {
17368    pub fn T_write_matrix(MatrixID: Htuple, FileFormat: Htuple, FileName: Htuple) -> Herror;
17369}
17370unsafe extern "C" {
17371    pub fn write_matrix(
17372        MatrixID: Hlong,
17373        FileFormat: *const ::std::os::raw::c_char,
17374        FileName: *const ::std::os::raw::c_char,
17375    ) -> Herror;
17376}
17377unsafe extern "C" {
17378    pub fn T_orthogonal_decompose_matrix(
17379        MatrixID: Htuple,
17380        DecompositionType: Htuple,
17381        OutputMatricesType: Htuple,
17382        ComputeOrthogonal: Htuple,
17383        MatrixOrthogonalID: *mut Htuple,
17384        MatrixTriangularID: *mut Htuple,
17385    ) -> Herror;
17386}
17387unsafe extern "C" {
17388    pub fn orthogonal_decompose_matrix(
17389        MatrixID: Hlong,
17390        DecompositionType: *const ::std::os::raw::c_char,
17391        OutputMatricesType: *const ::std::os::raw::c_char,
17392        ComputeOrthogonal: *const ::std::os::raw::c_char,
17393        MatrixOrthogonalID: *mut Hlong,
17394        MatrixTriangularID: *mut Hlong,
17395    ) -> Herror;
17396}
17397unsafe extern "C" {
17398    pub fn T_decompose_matrix(
17399        MatrixID: Htuple,
17400        MatrixType: Htuple,
17401        Matrix1ID: *mut Htuple,
17402        Matrix2ID: *mut Htuple,
17403    ) -> Herror;
17404}
17405unsafe extern "C" {
17406    pub fn decompose_matrix(
17407        MatrixID: Hlong,
17408        MatrixType: *const ::std::os::raw::c_char,
17409        Matrix1ID: *mut Hlong,
17410        Matrix2ID: *mut Hlong,
17411    ) -> Herror;
17412}
17413unsafe extern "C" {
17414    pub fn T_svd_matrix(
17415        MatrixID: Htuple,
17416        SVDType: Htuple,
17417        ComputeSingularVectors: Htuple,
17418        MatrixUID: *mut Htuple,
17419        MatrixSID: *mut Htuple,
17420        MatrixVID: *mut Htuple,
17421    ) -> Herror;
17422}
17423unsafe extern "C" {
17424    pub fn svd_matrix(
17425        MatrixID: Hlong,
17426        SVDType: *const ::std::os::raw::c_char,
17427        ComputeSingularVectors: *const ::std::os::raw::c_char,
17428        MatrixUID: *mut Hlong,
17429        MatrixSID: *mut Hlong,
17430        MatrixVID: *mut Hlong,
17431    ) -> Herror;
17432}
17433unsafe extern "C" {
17434    pub fn T_generalized_eigenvalues_general_matrix(
17435        MatrixAID: Htuple,
17436        MatrixBID: Htuple,
17437        ComputeEigenvectors: Htuple,
17438        EigenvaluesRealID: *mut Htuple,
17439        EigenvaluesImagID: *mut Htuple,
17440        EigenvectorsRealID: *mut Htuple,
17441        EigenvectorsImagID: *mut Htuple,
17442    ) -> Herror;
17443}
17444unsafe extern "C" {
17445    pub fn generalized_eigenvalues_general_matrix(
17446        MatrixAID: Hlong,
17447        MatrixBID: Hlong,
17448        ComputeEigenvectors: *const ::std::os::raw::c_char,
17449        EigenvaluesRealID: *mut Hlong,
17450        EigenvaluesImagID: *mut Hlong,
17451        EigenvectorsRealID: *mut Hlong,
17452        EigenvectorsImagID: *mut Hlong,
17453    ) -> Herror;
17454}
17455unsafe extern "C" {
17456    pub fn T_generalized_eigenvalues_symmetric_matrix(
17457        MatrixAID: Htuple,
17458        MatrixBID: Htuple,
17459        ComputeEigenvectors: Htuple,
17460        EigenvaluesID: *mut Htuple,
17461        EigenvectorsID: *mut Htuple,
17462    ) -> Herror;
17463}
17464unsafe extern "C" {
17465    pub fn generalized_eigenvalues_symmetric_matrix(
17466        MatrixAID: Hlong,
17467        MatrixBID: Hlong,
17468        ComputeEigenvectors: *const ::std::os::raw::c_char,
17469        EigenvaluesID: *mut Hlong,
17470        EigenvectorsID: *mut Hlong,
17471    ) -> Herror;
17472}
17473unsafe extern "C" {
17474    pub fn T_eigenvalues_general_matrix(
17475        MatrixID: Htuple,
17476        ComputeEigenvectors: Htuple,
17477        EigenvaluesRealID: *mut Htuple,
17478        EigenvaluesImagID: *mut Htuple,
17479        EigenvectorsRealID: *mut Htuple,
17480        EigenvectorsImagID: *mut Htuple,
17481    ) -> Herror;
17482}
17483unsafe extern "C" {
17484    pub fn eigenvalues_general_matrix(
17485        MatrixID: Hlong,
17486        ComputeEigenvectors: *const ::std::os::raw::c_char,
17487        EigenvaluesRealID: *mut Hlong,
17488        EigenvaluesImagID: *mut Hlong,
17489        EigenvectorsRealID: *mut Hlong,
17490        EigenvectorsImagID: *mut Hlong,
17491    ) -> Herror;
17492}
17493unsafe extern "C" {
17494    pub fn T_eigenvalues_symmetric_matrix(
17495        MatrixID: Htuple,
17496        ComputeEigenvectors: Htuple,
17497        EigenvaluesID: *mut Htuple,
17498        EigenvectorsID: *mut Htuple,
17499    ) -> Herror;
17500}
17501unsafe extern "C" {
17502    pub fn eigenvalues_symmetric_matrix(
17503        MatrixID: Hlong,
17504        ComputeEigenvectors: *const ::std::os::raw::c_char,
17505        EigenvaluesID: *mut Hlong,
17506        EigenvectorsID: *mut Hlong,
17507    ) -> Herror;
17508}
17509unsafe extern "C" {
17510    pub fn T_solve_matrix(
17511        MatrixLHSID: Htuple,
17512        MatrixLHSType: Htuple,
17513        Epsilon: Htuple,
17514        MatrixRHSID: Htuple,
17515        MatrixResultID: *mut Htuple,
17516    ) -> Herror;
17517}
17518unsafe extern "C" {
17519    pub fn solve_matrix(
17520        MatrixLHSID: Hlong,
17521        MatrixLHSType: *const ::std::os::raw::c_char,
17522        Epsilon: f64,
17523        MatrixRHSID: Hlong,
17524        MatrixResultID: *mut Hlong,
17525    ) -> Herror;
17526}
17527unsafe extern "C" {
17528    pub fn T_determinant_matrix(MatrixID: Htuple, MatrixType: Htuple, Value: *mut Htuple)
17529    -> Herror;
17530}
17531unsafe extern "C" {
17532    pub fn determinant_matrix(
17533        MatrixID: Hlong,
17534        MatrixType: *const ::std::os::raw::c_char,
17535        Value: *mut f64,
17536    ) -> Herror;
17537}
17538unsafe extern "C" {
17539    pub fn T_invert_matrix_mod(MatrixID: Htuple, MatrixType: Htuple, Epsilon: Htuple) -> Herror;
17540}
17541unsafe extern "C" {
17542    pub fn invert_matrix_mod(
17543        MatrixID: Hlong,
17544        MatrixType: *const ::std::os::raw::c_char,
17545        Epsilon: f64,
17546    ) -> Herror;
17547}
17548unsafe extern "C" {
17549    pub fn T_invert_matrix(
17550        MatrixID: Htuple,
17551        MatrixType: Htuple,
17552        Epsilon: Htuple,
17553        MatrixInvID: *mut Htuple,
17554    ) -> Herror;
17555}
17556unsafe extern "C" {
17557    pub fn invert_matrix(
17558        MatrixID: Hlong,
17559        MatrixType: *const ::std::os::raw::c_char,
17560        Epsilon: f64,
17561        MatrixInvID: *mut Hlong,
17562    ) -> Herror;
17563}
17564unsafe extern "C" {
17565    pub fn T_transpose_matrix_mod(MatrixID: Htuple) -> Herror;
17566}
17567unsafe extern "C" {
17568    pub fn transpose_matrix_mod(MatrixID: Hlong) -> Herror;
17569}
17570unsafe extern "C" {
17571    pub fn T_transpose_matrix(MatrixID: Htuple, MatrixTransposedID: *mut Htuple) -> Herror;
17572}
17573unsafe extern "C" {
17574    pub fn transpose_matrix(MatrixID: Hlong, MatrixTransposedID: *mut Hlong) -> Herror;
17575}
17576unsafe extern "C" {
17577    pub fn T_max_matrix(MatrixID: Htuple, MaxType: Htuple, MatrixMaxID: *mut Htuple) -> Herror;
17578}
17579unsafe extern "C" {
17580    pub fn max_matrix(
17581        MatrixID: Hlong,
17582        MaxType: *const ::std::os::raw::c_char,
17583        MatrixMaxID: *mut Hlong,
17584    ) -> Herror;
17585}
17586unsafe extern "C" {
17587    pub fn T_min_matrix(MatrixID: Htuple, MinType: Htuple, MatrixMinID: *mut Htuple) -> Herror;
17588}
17589unsafe extern "C" {
17590    pub fn min_matrix(
17591        MatrixID: Hlong,
17592        MinType: *const ::std::os::raw::c_char,
17593        MatrixMinID: *mut Hlong,
17594    ) -> Herror;
17595}
17596unsafe extern "C" {
17597    pub fn T_pow_matrix_mod(MatrixID: Htuple, MatrixType: Htuple, Power: Htuple) -> Herror;
17598}
17599unsafe extern "C" {
17600    pub fn pow_matrix_mod(
17601        MatrixID: Hlong,
17602        MatrixType: *const ::std::os::raw::c_char,
17603        Power: f64,
17604    ) -> Herror;
17605}
17606unsafe extern "C" {
17607    pub fn T_pow_matrix(
17608        MatrixID: Htuple,
17609        MatrixType: Htuple,
17610        Power: Htuple,
17611        MatrixPowID: *mut Htuple,
17612    ) -> Herror;
17613}
17614unsafe extern "C" {
17615    pub fn pow_matrix(
17616        MatrixID: Hlong,
17617        MatrixType: *const ::std::os::raw::c_char,
17618        Power: f64,
17619        MatrixPowID: *mut Hlong,
17620    ) -> Herror;
17621}
17622unsafe extern "C" {
17623    pub fn T_pow_element_matrix_mod(MatrixID: Htuple, MatrixExpID: Htuple) -> Herror;
17624}
17625unsafe extern "C" {
17626    pub fn pow_element_matrix_mod(MatrixID: Hlong, MatrixExpID: Hlong) -> Herror;
17627}
17628unsafe extern "C" {
17629    pub fn T_pow_element_matrix(
17630        MatrixID: Htuple,
17631        MatrixExpID: Htuple,
17632        MatrixPowID: *mut Htuple,
17633    ) -> Herror;
17634}
17635unsafe extern "C" {
17636    pub fn pow_element_matrix(
17637        MatrixID: Hlong,
17638        MatrixExpID: Hlong,
17639        MatrixPowID: *mut Hlong,
17640    ) -> Herror;
17641}
17642unsafe extern "C" {
17643    pub fn T_pow_scalar_element_matrix_mod(MatrixID: Htuple, Power: Htuple) -> Herror;
17644}
17645unsafe extern "C" {
17646    pub fn pow_scalar_element_matrix_mod(MatrixID: Hlong, Power: f64) -> Herror;
17647}
17648unsafe extern "C" {
17649    pub fn T_pow_scalar_element_matrix(
17650        MatrixID: Htuple,
17651        Power: Htuple,
17652        MatrixPowID: *mut Htuple,
17653    ) -> Herror;
17654}
17655unsafe extern "C" {
17656    pub fn pow_scalar_element_matrix(
17657        MatrixID: Hlong,
17658        Power: f64,
17659        MatrixPowID: *mut Hlong,
17660    ) -> Herror;
17661}
17662unsafe extern "C" {
17663    pub fn T_sqrt_matrix_mod(MatrixID: Htuple) -> Herror;
17664}
17665unsafe extern "C" {
17666    pub fn sqrt_matrix_mod(MatrixID: Hlong) -> Herror;
17667}
17668unsafe extern "C" {
17669    pub fn T_sqrt_matrix(MatrixID: Htuple, MatrixSqrtID: *mut Htuple) -> Herror;
17670}
17671unsafe extern "C" {
17672    pub fn sqrt_matrix(MatrixID: Hlong, MatrixSqrtID: *mut Hlong) -> Herror;
17673}
17674unsafe extern "C" {
17675    pub fn T_abs_matrix_mod(MatrixID: Htuple) -> Herror;
17676}
17677unsafe extern "C" {
17678    pub fn abs_matrix_mod(MatrixID: Hlong) -> Herror;
17679}
17680unsafe extern "C" {
17681    pub fn T_abs_matrix(MatrixID: Htuple, MatrixAbsID: *mut Htuple) -> Herror;
17682}
17683unsafe extern "C" {
17684    pub fn abs_matrix(MatrixID: Hlong, MatrixAbsID: *mut Hlong) -> Herror;
17685}
17686unsafe extern "C" {
17687    pub fn T_norm_matrix(MatrixID: Htuple, NormType: Htuple, Value: *mut Htuple) -> Herror;
17688}
17689unsafe extern "C" {
17690    pub fn norm_matrix(
17691        MatrixID: Hlong,
17692        NormType: *const ::std::os::raw::c_char,
17693        Value: *mut f64,
17694    ) -> Herror;
17695}
17696unsafe extern "C" {
17697    pub fn T_mean_matrix(MatrixID: Htuple, MeanType: Htuple, MatrixMeanID: *mut Htuple) -> Herror;
17698}
17699unsafe extern "C" {
17700    pub fn mean_matrix(
17701        MatrixID: Hlong,
17702        MeanType: *const ::std::os::raw::c_char,
17703        MatrixMeanID: *mut Hlong,
17704    ) -> Herror;
17705}
17706unsafe extern "C" {
17707    pub fn T_sum_matrix(MatrixID: Htuple, SumType: Htuple, MatrixSumID: *mut Htuple) -> Herror;
17708}
17709unsafe extern "C" {
17710    pub fn sum_matrix(
17711        MatrixID: Hlong,
17712        SumType: *const ::std::os::raw::c_char,
17713        MatrixSumID: *mut Hlong,
17714    ) -> Herror;
17715}
17716unsafe extern "C" {
17717    pub fn T_div_element_matrix_mod(MatrixAID: Htuple, MatrixBID: Htuple) -> Herror;
17718}
17719unsafe extern "C" {
17720    pub fn div_element_matrix_mod(MatrixAID: Hlong, MatrixBID: Hlong) -> Herror;
17721}
17722unsafe extern "C" {
17723    pub fn T_div_element_matrix(
17724        MatrixAID: Htuple,
17725        MatrixBID: Htuple,
17726        MatrixDivID: *mut Htuple,
17727    ) -> Herror;
17728}
17729unsafe extern "C" {
17730    pub fn div_element_matrix(
17731        MatrixAID: Hlong,
17732        MatrixBID: Hlong,
17733        MatrixDivID: *mut Hlong,
17734    ) -> Herror;
17735}
17736unsafe extern "C" {
17737    pub fn T_mult_element_matrix_mod(MatrixAID: Htuple, MatrixBID: Htuple) -> Herror;
17738}
17739unsafe extern "C" {
17740    pub fn mult_element_matrix_mod(MatrixAID: Hlong, MatrixBID: Hlong) -> Herror;
17741}
17742unsafe extern "C" {
17743    pub fn T_mult_element_matrix(
17744        MatrixAID: Htuple,
17745        MatrixBID: Htuple,
17746        MatrixMultID: *mut Htuple,
17747    ) -> Herror;
17748}
17749unsafe extern "C" {
17750    pub fn mult_element_matrix(
17751        MatrixAID: Hlong,
17752        MatrixBID: Hlong,
17753        MatrixMultID: *mut Hlong,
17754    ) -> Herror;
17755}
17756unsafe extern "C" {
17757    pub fn T_scale_matrix_mod(MatrixID: Htuple, Factor: Htuple) -> Herror;
17758}
17759unsafe extern "C" {
17760    pub fn scale_matrix_mod(MatrixID: Hlong, Factor: f64) -> Herror;
17761}
17762unsafe extern "C" {
17763    pub fn T_scale_matrix(MatrixID: Htuple, Factor: Htuple, MatrixScaledID: *mut Htuple) -> Herror;
17764}
17765unsafe extern "C" {
17766    pub fn scale_matrix(MatrixID: Hlong, Factor: f64, MatrixScaledID: *mut Hlong) -> Herror;
17767}
17768unsafe extern "C" {
17769    pub fn T_sub_matrix_mod(MatrixAID: Htuple, MatrixBID: Htuple) -> Herror;
17770}
17771unsafe extern "C" {
17772    pub fn sub_matrix_mod(MatrixAID: Hlong, MatrixBID: Hlong) -> Herror;
17773}
17774unsafe extern "C" {
17775    pub fn T_sub_matrix(MatrixAID: Htuple, MatrixBID: Htuple, MatrixSubID: *mut Htuple) -> Herror;
17776}
17777unsafe extern "C" {
17778    pub fn sub_matrix(MatrixAID: Hlong, MatrixBID: Hlong, MatrixSubID: *mut Hlong) -> Herror;
17779}
17780unsafe extern "C" {
17781    pub fn T_add_matrix_mod(MatrixAID: Htuple, MatrixBID: Htuple) -> Herror;
17782}
17783unsafe extern "C" {
17784    pub fn add_matrix_mod(MatrixAID: Hlong, MatrixBID: Hlong) -> Herror;
17785}
17786unsafe extern "C" {
17787    pub fn T_add_matrix(MatrixAID: Htuple, MatrixBID: Htuple, MatrixSumID: *mut Htuple) -> Herror;
17788}
17789unsafe extern "C" {
17790    pub fn add_matrix(MatrixAID: Hlong, MatrixBID: Hlong, MatrixSumID: *mut Hlong) -> Herror;
17791}
17792unsafe extern "C" {
17793    pub fn T_mult_matrix_mod(MatrixAID: Htuple, MatrixBID: Htuple, MultType: Htuple) -> Herror;
17794}
17795unsafe extern "C" {
17796    pub fn mult_matrix_mod(
17797        MatrixAID: Hlong,
17798        MatrixBID: Hlong,
17799        MultType: *const ::std::os::raw::c_char,
17800    ) -> Herror;
17801}
17802unsafe extern "C" {
17803    pub fn T_mult_matrix(
17804        MatrixAID: Htuple,
17805        MatrixBID: Htuple,
17806        MultType: Htuple,
17807        MatrixMultID: *mut Htuple,
17808    ) -> Herror;
17809}
17810unsafe extern "C" {
17811    pub fn mult_matrix(
17812        MatrixAID: Hlong,
17813        MatrixBID: Hlong,
17814        MultType: *const ::std::os::raw::c_char,
17815        MatrixMultID: *mut Hlong,
17816    ) -> Herror;
17817}
17818unsafe extern "C" {
17819    pub fn T_get_size_matrix(MatrixID: Htuple, Rows: *mut Htuple, Columns: *mut Htuple) -> Herror;
17820}
17821unsafe extern "C" {
17822    pub fn get_size_matrix(MatrixID: Hlong, Rows: *mut Hlong, Columns: *mut Hlong) -> Herror;
17823}
17824unsafe extern "C" {
17825    pub fn T_repeat_matrix(
17826        MatrixID: Htuple,
17827        Rows: Htuple,
17828        Columns: Htuple,
17829        MatrixRepeatedID: *mut Htuple,
17830    ) -> Herror;
17831}
17832unsafe extern "C" {
17833    pub fn repeat_matrix(
17834        MatrixID: Hlong,
17835        Rows: Hlong,
17836        Columns: Hlong,
17837        MatrixRepeatedID: *mut Hlong,
17838    ) -> Herror;
17839}
17840unsafe extern "C" {
17841    pub fn T_copy_matrix(MatrixID: Htuple, MatrixCopyID: *mut Htuple) -> Herror;
17842}
17843unsafe extern "C" {
17844    pub fn copy_matrix(MatrixID: Hlong, MatrixCopyID: *mut Hlong) -> Herror;
17845}
17846unsafe extern "C" {
17847    pub fn T_set_diagonal_matrix(MatrixID: Htuple, VectorID: Htuple, Diagonal: Htuple) -> Herror;
17848}
17849unsafe extern "C" {
17850    pub fn set_diagonal_matrix(MatrixID: Hlong, VectorID: Hlong, Diagonal: Hlong) -> Herror;
17851}
17852unsafe extern "C" {
17853    pub fn T_get_diagonal_matrix(
17854        MatrixID: Htuple,
17855        Diagonal: Htuple,
17856        VectorID: *mut Htuple,
17857    ) -> Herror;
17858}
17859unsafe extern "C" {
17860    pub fn get_diagonal_matrix(MatrixID: Hlong, Diagonal: Hlong, VectorID: *mut Hlong) -> Herror;
17861}
17862unsafe extern "C" {
17863    pub fn T_set_sub_matrix(
17864        MatrixID: Htuple,
17865        MatrixSubID: Htuple,
17866        Row: Htuple,
17867        Column: Htuple,
17868    ) -> Herror;
17869}
17870unsafe extern "C" {
17871    pub fn set_sub_matrix(MatrixID: Hlong, MatrixSubID: Hlong, Row: Hlong, Column: Hlong)
17872    -> Herror;
17873}
17874unsafe extern "C" {
17875    pub fn T_get_sub_matrix(
17876        MatrixID: Htuple,
17877        Row: Htuple,
17878        Column: Htuple,
17879        RowsSub: Htuple,
17880        ColumnsSub: Htuple,
17881        MatrixSubID: *mut Htuple,
17882    ) -> Herror;
17883}
17884unsafe extern "C" {
17885    pub fn get_sub_matrix(
17886        MatrixID: Hlong,
17887        Row: Hlong,
17888        Column: Hlong,
17889        RowsSub: Hlong,
17890        ColumnsSub: Hlong,
17891        MatrixSubID: *mut Hlong,
17892    ) -> Herror;
17893}
17894unsafe extern "C" {
17895    pub fn T_set_full_matrix(MatrixID: Htuple, Values: Htuple) -> Herror;
17896}
17897unsafe extern "C" {
17898    pub fn set_full_matrix(MatrixID: Hlong, Values: f64) -> Herror;
17899}
17900unsafe extern "C" {
17901    pub fn T_get_full_matrix(MatrixID: Htuple, Values: *mut Htuple) -> Herror;
17902}
17903unsafe extern "C" {
17904    pub fn get_full_matrix(MatrixID: Hlong, Values: *mut f64) -> Herror;
17905}
17906unsafe extern "C" {
17907    pub fn T_set_value_matrix(
17908        MatrixID: Htuple,
17909        Row: Htuple,
17910        Column: Htuple,
17911        Value: Htuple,
17912    ) -> Herror;
17913}
17914unsafe extern "C" {
17915    pub fn set_value_matrix(MatrixID: Hlong, Row: Hlong, Column: Hlong, Value: f64) -> Herror;
17916}
17917unsafe extern "C" {
17918    pub fn T_get_value_matrix(
17919        MatrixID: Htuple,
17920        Row: Htuple,
17921        Column: Htuple,
17922        Value: *mut Htuple,
17923    ) -> Herror;
17924}
17925unsafe extern "C" {
17926    pub fn get_value_matrix(MatrixID: Hlong, Row: Hlong, Column: Hlong, Value: *mut f64) -> Herror;
17927}
17928unsafe extern "C" {
17929    pub fn T_clear_all_matrices() -> Herror;
17930}
17931unsafe extern "C" {
17932    pub fn clear_all_matrices() -> Herror;
17933}
17934unsafe extern "C" {
17935    pub fn T_clear_matrix(MatrixID: Htuple) -> Herror;
17936}
17937unsafe extern "C" {
17938    pub fn clear_matrix(MatrixID: Hlong) -> Herror;
17939}
17940unsafe extern "C" {
17941    pub fn T_create_matrix(
17942        Rows: Htuple,
17943        Columns: Htuple,
17944        Value: Htuple,
17945        MatrixID: *mut Htuple,
17946    ) -> Herror;
17947}
17948unsafe extern "C" {
17949    pub fn create_matrix(Rows: Hlong, Columns: Hlong, Value: f64, MatrixID: *mut Hlong) -> Herror;
17950}
17951unsafe extern "C" {
17952    pub fn T_clear_all_sample_identifiers() -> Herror;
17953}
17954unsafe extern "C" {
17955    pub fn clear_all_sample_identifiers() -> Herror;
17956}
17957unsafe extern "C" {
17958    pub fn T_clear_sample_identifier(SampleIdentifier: Htuple) -> Herror;
17959}
17960unsafe extern "C" {
17961    pub fn clear_sample_identifier(SampleIdentifier: Hlong) -> Herror;
17962}
17963unsafe extern "C" {
17964    pub fn T_deserialize_sample_identifier(
17965        SerializedItemHandle: Htuple,
17966        SampleIdentifier: *mut Htuple,
17967    ) -> Herror;
17968}
17969unsafe extern "C" {
17970    pub fn deserialize_sample_identifier(
17971        SerializedItemHandle: Hlong,
17972        SampleIdentifier: *mut Hlong,
17973    ) -> Herror;
17974}
17975unsafe extern "C" {
17976    pub fn T_read_sample_identifier(FileName: Htuple, SampleIdentifier: *mut Htuple) -> Herror;
17977}
17978unsafe extern "C" {
17979    pub fn read_sample_identifier(
17980        FileName: *const ::std::os::raw::c_char,
17981        SampleIdentifier: *mut Hlong,
17982    ) -> Herror;
17983}
17984unsafe extern "C" {
17985    pub fn T_serialize_sample_identifier(
17986        SampleIdentifier: Htuple,
17987        SerializedItemHandle: *mut Htuple,
17988    ) -> Herror;
17989}
17990unsafe extern "C" {
17991    pub fn serialize_sample_identifier(
17992        SampleIdentifier: Hlong,
17993        SerializedItemHandle: *mut Hlong,
17994    ) -> Herror;
17995}
17996unsafe extern "C" {
17997    pub fn T_write_sample_identifier(SampleIdentifier: Htuple, FileName: Htuple) -> Herror;
17998}
17999unsafe extern "C" {
18000    pub fn write_sample_identifier(
18001        SampleIdentifier: Hlong,
18002        FileName: *const ::std::os::raw::c_char,
18003    ) -> Herror;
18004}
18005unsafe extern "C" {
18006    pub fn T_apply_sample_identifier(
18007        Image: Hobject,
18008        SampleIdentifier: Htuple,
18009        NumResults: Htuple,
18010        RatingThreshold: Htuple,
18011        GenParamName: Htuple,
18012        GenParamValue: Htuple,
18013        ObjectIdx: *mut Htuple,
18014        Rating: *mut Htuple,
18015    ) -> Herror;
18016}
18017unsafe extern "C" {
18018    pub fn T_get_sample_identifier_param(
18019        SampleIdentifier: Htuple,
18020        GenParamName: Htuple,
18021        GenParamValue: *mut Htuple,
18022    ) -> Herror;
18023}
18024unsafe extern "C" {
18025    pub fn get_sample_identifier_param(
18026        SampleIdentifier: Hlong,
18027        GenParamName: *const ::std::os::raw::c_char,
18028        GenParamValue: *mut f64,
18029    ) -> Herror;
18030}
18031unsafe extern "C" {
18032    pub fn T_set_sample_identifier_param(
18033        SampleIdentifier: Htuple,
18034        GenParamName: Htuple,
18035        GenParamValue: Htuple,
18036    ) -> Herror;
18037}
18038unsafe extern "C" {
18039    pub fn set_sample_identifier_param(
18040        SampleIdentifier: Hlong,
18041        GenParamName: *const ::std::os::raw::c_char,
18042        GenParamValue: f64,
18043    ) -> Herror;
18044}
18045unsafe extern "C" {
18046    pub fn T_get_sample_identifier_object_info(
18047        SampleIdentifier: Htuple,
18048        ObjectIdx: Htuple,
18049        InfoName: Htuple,
18050        InfoValue: *mut Htuple,
18051    ) -> Herror;
18052}
18053unsafe extern "C" {
18054    pub fn get_sample_identifier_object_info(
18055        SampleIdentifier: Hlong,
18056        ObjectIdx: Hlong,
18057        InfoName: *const ::std::os::raw::c_char,
18058        InfoValue: *mut Hlong,
18059    ) -> Herror;
18060}
18061unsafe extern "C" {
18062    pub fn T_set_sample_identifier_object_info(
18063        SampleIdentifier: Htuple,
18064        ObjectIdx: Htuple,
18065        InfoName: Htuple,
18066        InfoValue: Htuple,
18067    ) -> Herror;
18068}
18069unsafe extern "C" {
18070    pub fn set_sample_identifier_object_info(
18071        SampleIdentifier: Hlong,
18072        ObjectIdx: Hlong,
18073        InfoName: *const ::std::os::raw::c_char,
18074        InfoValue: *const ::std::os::raw::c_char,
18075    ) -> Herror;
18076}
18077unsafe extern "C" {
18078    pub fn T_remove_sample_identifier_training_data(
18079        SampleIdentifier: Htuple,
18080        ObjectIdx: Htuple,
18081        ObjectSampleIdx: Htuple,
18082    ) -> Herror;
18083}
18084unsafe extern "C" {
18085    pub fn remove_sample_identifier_training_data(
18086        SampleIdentifier: Hlong,
18087        ObjectIdx: Hlong,
18088        ObjectSampleIdx: Hlong,
18089    ) -> Herror;
18090}
18091unsafe extern "C" {
18092    pub fn T_remove_sample_identifier_preparation_data(
18093        SampleIdentifier: Htuple,
18094        ObjectIdx: Htuple,
18095        ObjectSampleIdx: Htuple,
18096    ) -> Herror;
18097}
18098unsafe extern "C" {
18099    pub fn remove_sample_identifier_preparation_data(
18100        SampleIdentifier: Hlong,
18101        ObjectIdx: Hlong,
18102        ObjectSampleIdx: Hlong,
18103    ) -> Herror;
18104}
18105unsafe extern "C" {
18106    pub fn T_train_sample_identifier(
18107        SampleIdentifier: Htuple,
18108        GenParamName: Htuple,
18109        GenParamValue: Htuple,
18110    ) -> Herror;
18111}
18112unsafe extern "C" {
18113    pub fn T_add_sample_identifier_training_data(
18114        SampleImage: Hobject,
18115        SampleIdentifier: Htuple,
18116        ObjectIdx: Htuple,
18117        GenParamName: Htuple,
18118        GenParamValue: Htuple,
18119        ObjectSampleIdx: *mut Htuple,
18120    ) -> Herror;
18121}
18122unsafe extern "C" {
18123    pub fn T_prepare_sample_identifier(
18124        SampleIdentifier: Htuple,
18125        RemovePreparationData: Htuple,
18126        GenParamName: Htuple,
18127        GenParamValue: Htuple,
18128    ) -> Herror;
18129}
18130unsafe extern "C" {
18131    pub fn T_add_sample_identifier_preparation_data(
18132        SampleImage: Hobject,
18133        SampleIdentifier: Htuple,
18134        ObjectIdx: Htuple,
18135        GenParamName: Htuple,
18136        GenParamValue: Htuple,
18137        ObjectSampleIdx: *mut Htuple,
18138    ) -> Herror;
18139}
18140unsafe extern "C" {
18141    pub fn T_create_sample_identifier(
18142        GenParamName: Htuple,
18143        GenParamValue: Htuple,
18144        SampleIdentifier: *mut Htuple,
18145    ) -> Herror;
18146}
18147unsafe extern "C" {
18148    pub fn T_deserialize_shape_model(SerializedItemHandle: Htuple, ModelID: *mut Htuple) -> Herror;
18149}
18150unsafe extern "C" {
18151    pub fn deserialize_shape_model(SerializedItemHandle: Hlong, ModelID: *mut Hlong) -> Herror;
18152}
18153unsafe extern "C" {
18154    pub fn T_read_shape_model(FileName: Htuple, ModelID: *mut Htuple) -> Herror;
18155}
18156unsafe extern "C" {
18157    pub fn read_shape_model(FileName: *const ::std::os::raw::c_char, ModelID: *mut Hlong)
18158    -> Herror;
18159}
18160unsafe extern "C" {
18161    pub fn T_serialize_shape_model(ModelID: Htuple, SerializedItemHandle: *mut Htuple) -> Herror;
18162}
18163unsafe extern "C" {
18164    pub fn serialize_shape_model(ModelID: Hlong, SerializedItemHandle: *mut Hlong) -> Herror;
18165}
18166unsafe extern "C" {
18167    pub fn T_write_shape_model(ModelID: Htuple, FileName: Htuple) -> Herror;
18168}
18169unsafe extern "C" {
18170    pub fn write_shape_model(ModelID: Hlong, FileName: *const ::std::os::raw::c_char) -> Herror;
18171}
18172unsafe extern "C" {
18173    pub fn T_clear_all_shape_models() -> Herror;
18174}
18175unsafe extern "C" {
18176    pub fn clear_all_shape_models() -> Herror;
18177}
18178unsafe extern "C" {
18179    pub fn T_clear_shape_model(ModelID: Htuple) -> Herror;
18180}
18181unsafe extern "C" {
18182    pub fn clear_shape_model(ModelID: Hlong) -> Herror;
18183}
18184unsafe extern "C" {
18185    pub fn T_get_shape_model_contours(
18186        ModelContours: *mut Hobject,
18187        ModelID: Htuple,
18188        Level: Htuple,
18189    ) -> Herror;
18190}
18191unsafe extern "C" {
18192    pub fn get_shape_model_contours(
18193        ModelContours: *mut Hobject,
18194        ModelID: Hlong,
18195        Level: Hlong,
18196    ) -> Herror;
18197}
18198unsafe extern "C" {
18199    pub fn T_determine_shape_model_params(
18200        Template: Hobject,
18201        NumLevels: Htuple,
18202        AngleStart: Htuple,
18203        AngleExtent: Htuple,
18204        ScaleMin: Htuple,
18205        ScaleMax: Htuple,
18206        Optimization: Htuple,
18207        Metric: Htuple,
18208        Contrast: Htuple,
18209        MinContrast: Htuple,
18210        Parameters: Htuple,
18211        ParameterName: *mut Htuple,
18212        ParameterValue: *mut Htuple,
18213    ) -> Herror;
18214}
18215unsafe extern "C" {
18216    pub fn T_get_shape_model_params(
18217        ModelID: Htuple,
18218        NumLevels: *mut Htuple,
18219        AngleStart: *mut Htuple,
18220        AngleExtent: *mut Htuple,
18221        AngleStep: *mut Htuple,
18222        ScaleMin: *mut Htuple,
18223        ScaleMax: *mut Htuple,
18224        ScaleStep: *mut Htuple,
18225        Metric: *mut Htuple,
18226        MinContrast: *mut Htuple,
18227    ) -> Herror;
18228}
18229unsafe extern "C" {
18230    pub fn get_shape_model_params(
18231        ModelID: Hlong,
18232        NumLevels: *mut Hlong,
18233        AngleStart: *mut f64,
18234        AngleExtent: *mut f64,
18235        AngleStep: *mut f64,
18236        ScaleMin: *mut f64,
18237        ScaleMax: *mut f64,
18238        ScaleStep: *mut f64,
18239        Metric: *mut ::std::os::raw::c_char,
18240        MinContrast: *mut Hlong,
18241    ) -> Herror;
18242}
18243unsafe extern "C" {
18244    pub fn T_get_shape_model_origin(
18245        ModelID: Htuple,
18246        Row: *mut Htuple,
18247        Column: *mut Htuple,
18248    ) -> Herror;
18249}
18250unsafe extern "C" {
18251    pub fn get_shape_model_origin(ModelID: Hlong, Row: *mut f64, Column: *mut f64) -> Herror;
18252}
18253unsafe extern "C" {
18254    pub fn T_set_shape_model_origin(ModelID: Htuple, Row: Htuple, Column: Htuple) -> Herror;
18255}
18256unsafe extern "C" {
18257    pub fn set_shape_model_origin(ModelID: Hlong, Row: f64, Column: f64) -> Herror;
18258}
18259unsafe extern "C" {
18260    pub fn T_find_aniso_shape_models(
18261        Image: Hobject,
18262        ModelIDs: Htuple,
18263        AngleStart: Htuple,
18264        AngleExtent: Htuple,
18265        ScaleRMin: Htuple,
18266        ScaleRMax: Htuple,
18267        ScaleCMin: Htuple,
18268        ScaleCMax: Htuple,
18269        MinScore: Htuple,
18270        NumMatches: Htuple,
18271        MaxOverlap: Htuple,
18272        SubPixel: Htuple,
18273        NumLevels: Htuple,
18274        Greediness: Htuple,
18275        Row: *mut Htuple,
18276        Column: *mut Htuple,
18277        Angle: *mut Htuple,
18278        ScaleR: *mut Htuple,
18279        ScaleC: *mut Htuple,
18280        Score: *mut Htuple,
18281        Model: *mut Htuple,
18282    ) -> Herror;
18283}
18284unsafe extern "C" {
18285    pub fn T_find_scaled_shape_models(
18286        Image: Hobject,
18287        ModelIDs: Htuple,
18288        AngleStart: Htuple,
18289        AngleExtent: Htuple,
18290        ScaleMin: Htuple,
18291        ScaleMax: Htuple,
18292        MinScore: Htuple,
18293        NumMatches: Htuple,
18294        MaxOverlap: Htuple,
18295        SubPixel: Htuple,
18296        NumLevels: Htuple,
18297        Greediness: Htuple,
18298        Row: *mut Htuple,
18299        Column: *mut Htuple,
18300        Angle: *mut Htuple,
18301        Scale: *mut Htuple,
18302        Score: *mut Htuple,
18303        Model: *mut Htuple,
18304    ) -> Herror;
18305}
18306unsafe extern "C" {
18307    pub fn T_find_shape_models(
18308        Image: Hobject,
18309        ModelIDs: Htuple,
18310        AngleStart: Htuple,
18311        AngleExtent: Htuple,
18312        MinScore: Htuple,
18313        NumMatches: Htuple,
18314        MaxOverlap: Htuple,
18315        SubPixel: Htuple,
18316        NumLevels: Htuple,
18317        Greediness: Htuple,
18318        Row: *mut Htuple,
18319        Column: *mut Htuple,
18320        Angle: *mut Htuple,
18321        Score: *mut Htuple,
18322        Model: *mut Htuple,
18323    ) -> Herror;
18324}
18325unsafe extern "C" {
18326    pub fn T_find_aniso_shape_model(
18327        Image: Hobject,
18328        ModelID: Htuple,
18329        AngleStart: Htuple,
18330        AngleExtent: Htuple,
18331        ScaleRMin: Htuple,
18332        ScaleRMax: Htuple,
18333        ScaleCMin: Htuple,
18334        ScaleCMax: Htuple,
18335        MinScore: Htuple,
18336        NumMatches: Htuple,
18337        MaxOverlap: Htuple,
18338        SubPixel: Htuple,
18339        NumLevels: Htuple,
18340        Greediness: Htuple,
18341        Row: *mut Htuple,
18342        Column: *mut Htuple,
18343        Angle: *mut Htuple,
18344        ScaleR: *mut Htuple,
18345        ScaleC: *mut Htuple,
18346        Score: *mut Htuple,
18347    ) -> Herror;
18348}
18349unsafe extern "C" {
18350    pub fn T_find_scaled_shape_model(
18351        Image: Hobject,
18352        ModelID: Htuple,
18353        AngleStart: Htuple,
18354        AngleExtent: Htuple,
18355        ScaleMin: Htuple,
18356        ScaleMax: Htuple,
18357        MinScore: Htuple,
18358        NumMatches: Htuple,
18359        MaxOverlap: Htuple,
18360        SubPixel: Htuple,
18361        NumLevels: Htuple,
18362        Greediness: Htuple,
18363        Row: *mut Htuple,
18364        Column: *mut Htuple,
18365        Angle: *mut Htuple,
18366        Scale: *mut Htuple,
18367        Score: *mut Htuple,
18368    ) -> Herror;
18369}
18370unsafe extern "C" {
18371    pub fn T_find_shape_model(
18372        Image: Hobject,
18373        ModelID: Htuple,
18374        AngleStart: Htuple,
18375        AngleExtent: Htuple,
18376        MinScore: Htuple,
18377        NumMatches: Htuple,
18378        MaxOverlap: Htuple,
18379        SubPixel: Htuple,
18380        NumLevels: Htuple,
18381        Greediness: Htuple,
18382        Row: *mut Htuple,
18383        Column: *mut Htuple,
18384        Angle: *mut Htuple,
18385        Score: *mut Htuple,
18386    ) -> Herror;
18387}
18388unsafe extern "C" {
18389    pub fn T_set_shape_model_metric(
18390        Image: Hobject,
18391        ModelID: Htuple,
18392        HomMat2D: Htuple,
18393        Metric: Htuple,
18394    ) -> Herror;
18395}
18396unsafe extern "C" {
18397    pub fn T_set_shape_model_param(
18398        ModelID: Htuple,
18399        GenParamName: Htuple,
18400        GenParamValue: Htuple,
18401    ) -> Herror;
18402}
18403unsafe extern "C" {
18404    pub fn T_create_aniso_shape_model_xld(
18405        Contours: Hobject,
18406        NumLevels: Htuple,
18407        AngleStart: Htuple,
18408        AngleExtent: Htuple,
18409        AngleStep: Htuple,
18410        ScaleRMin: Htuple,
18411        ScaleRMax: Htuple,
18412        ScaleRStep: Htuple,
18413        ScaleCMin: Htuple,
18414        ScaleCMax: Htuple,
18415        ScaleCStep: Htuple,
18416        Optimization: Htuple,
18417        Metric: Htuple,
18418        MinContrast: Htuple,
18419        ModelID: *mut Htuple,
18420    ) -> Herror;
18421}
18422unsafe extern "C" {
18423    pub fn create_aniso_shape_model_xld(
18424        Contours: Hobject,
18425        NumLevels: Hlong,
18426        AngleStart: f64,
18427        AngleExtent: f64,
18428        AngleStep: f64,
18429        ScaleRMin: f64,
18430        ScaleRMax: f64,
18431        ScaleRStep: f64,
18432        ScaleCMin: f64,
18433        ScaleCMax: f64,
18434        ScaleCStep: f64,
18435        Optimization: *const ::std::os::raw::c_char,
18436        Metric: *const ::std::os::raw::c_char,
18437        MinContrast: Hlong,
18438        ModelID: *mut Hlong,
18439    ) -> Herror;
18440}
18441unsafe extern "C" {
18442    pub fn T_create_scaled_shape_model_xld(
18443        Contours: Hobject,
18444        NumLevels: Htuple,
18445        AngleStart: Htuple,
18446        AngleExtent: Htuple,
18447        AngleStep: Htuple,
18448        ScaleMin: Htuple,
18449        ScaleMax: Htuple,
18450        ScaleStep: Htuple,
18451        Optimization: Htuple,
18452        Metric: Htuple,
18453        MinContrast: Htuple,
18454        ModelID: *mut Htuple,
18455    ) -> Herror;
18456}
18457unsafe extern "C" {
18458    pub fn create_scaled_shape_model_xld(
18459        Contours: Hobject,
18460        NumLevels: Hlong,
18461        AngleStart: f64,
18462        AngleExtent: f64,
18463        AngleStep: f64,
18464        ScaleMin: f64,
18465        ScaleMax: f64,
18466        ScaleStep: f64,
18467        Optimization: *const ::std::os::raw::c_char,
18468        Metric: *const ::std::os::raw::c_char,
18469        MinContrast: Hlong,
18470        ModelID: *mut Hlong,
18471    ) -> Herror;
18472}
18473unsafe extern "C" {
18474    pub fn T_create_shape_model_xld(
18475        Contours: Hobject,
18476        NumLevels: Htuple,
18477        AngleStart: Htuple,
18478        AngleExtent: Htuple,
18479        AngleStep: Htuple,
18480        Optimization: Htuple,
18481        Metric: Htuple,
18482        MinContrast: Htuple,
18483        ModelID: *mut Htuple,
18484    ) -> Herror;
18485}
18486unsafe extern "C" {
18487    pub fn create_shape_model_xld(
18488        Contours: Hobject,
18489        NumLevels: Hlong,
18490        AngleStart: f64,
18491        AngleExtent: f64,
18492        AngleStep: f64,
18493        Optimization: *const ::std::os::raw::c_char,
18494        Metric: *const ::std::os::raw::c_char,
18495        MinContrast: Hlong,
18496        ModelID: *mut Hlong,
18497    ) -> Herror;
18498}
18499unsafe extern "C" {
18500    pub fn T_create_aniso_shape_model(
18501        Template: Hobject,
18502        NumLevels: Htuple,
18503        AngleStart: Htuple,
18504        AngleExtent: Htuple,
18505        AngleStep: Htuple,
18506        ScaleRMin: Htuple,
18507        ScaleRMax: Htuple,
18508        ScaleRStep: Htuple,
18509        ScaleCMin: Htuple,
18510        ScaleCMax: Htuple,
18511        ScaleCStep: Htuple,
18512        Optimization: Htuple,
18513        Metric: Htuple,
18514        Contrast: Htuple,
18515        MinContrast: Htuple,
18516        ModelID: *mut Htuple,
18517    ) -> Herror;
18518}
18519unsafe extern "C" {
18520    pub fn create_aniso_shape_model(
18521        Template: Hobject,
18522        NumLevels: Hlong,
18523        AngleStart: f64,
18524        AngleExtent: f64,
18525        AngleStep: f64,
18526        ScaleRMin: f64,
18527        ScaleRMax: f64,
18528        ScaleRStep: f64,
18529        ScaleCMin: f64,
18530        ScaleCMax: f64,
18531        ScaleCStep: f64,
18532        Optimization: *const ::std::os::raw::c_char,
18533        Metric: *const ::std::os::raw::c_char,
18534        Contrast: Hlong,
18535        MinContrast: Hlong,
18536        ModelID: *mut Hlong,
18537    ) -> Herror;
18538}
18539unsafe extern "C" {
18540    pub fn T_create_scaled_shape_model(
18541        Template: Hobject,
18542        NumLevels: Htuple,
18543        AngleStart: Htuple,
18544        AngleExtent: Htuple,
18545        AngleStep: Htuple,
18546        ScaleMin: Htuple,
18547        ScaleMax: Htuple,
18548        ScaleStep: Htuple,
18549        Optimization: Htuple,
18550        Metric: Htuple,
18551        Contrast: Htuple,
18552        MinContrast: Htuple,
18553        ModelID: *mut Htuple,
18554    ) -> Herror;
18555}
18556unsafe extern "C" {
18557    pub fn create_scaled_shape_model(
18558        Template: Hobject,
18559        NumLevels: Hlong,
18560        AngleStart: f64,
18561        AngleExtent: f64,
18562        AngleStep: f64,
18563        ScaleMin: f64,
18564        ScaleMax: f64,
18565        ScaleStep: f64,
18566        Optimization: *const ::std::os::raw::c_char,
18567        Metric: *const ::std::os::raw::c_char,
18568        Contrast: Hlong,
18569        MinContrast: Hlong,
18570        ModelID: *mut Hlong,
18571    ) -> Herror;
18572}
18573unsafe extern "C" {
18574    pub fn T_create_shape_model(
18575        Template: Hobject,
18576        NumLevels: Htuple,
18577        AngleStart: Htuple,
18578        AngleExtent: Htuple,
18579        AngleStep: Htuple,
18580        Optimization: Htuple,
18581        Metric: Htuple,
18582        Contrast: Htuple,
18583        MinContrast: Htuple,
18584        ModelID: *mut Htuple,
18585    ) -> Herror;
18586}
18587unsafe extern "C" {
18588    pub fn create_shape_model(
18589        Template: Hobject,
18590        NumLevels: Hlong,
18591        AngleStart: f64,
18592        AngleExtent: f64,
18593        AngleStep: f64,
18594        Optimization: *const ::std::os::raw::c_char,
18595        Metric: *const ::std::os::raw::c_char,
18596        Contrast: Hlong,
18597        MinContrast: Hlong,
18598        ModelID: *mut Hlong,
18599    ) -> Herror;
18600}
18601unsafe extern "C" {
18602    pub fn T_inspect_shape_model(
18603        Image: Hobject,
18604        ModelImages: *mut Hobject,
18605        ModelRegions: *mut Hobject,
18606        NumLevels: Htuple,
18607        Contrast: Htuple,
18608    ) -> Herror;
18609}
18610unsafe extern "C" {
18611    pub fn inspect_shape_model(
18612        Image: Hobject,
18613        ModelImages: *mut Hobject,
18614        ModelRegions: *mut Hobject,
18615        NumLevels: Hlong,
18616        Contrast: Hlong,
18617    ) -> Herror;
18618}
18619unsafe extern "C" {
18620    pub fn T_clear_all_descriptor_models() -> Herror;
18621}
18622unsafe extern "C" {
18623    pub fn clear_all_descriptor_models() -> Herror;
18624}
18625unsafe extern "C" {
18626    pub fn T_clear_descriptor_model(ModelID: Htuple) -> Herror;
18627}
18628unsafe extern "C" {
18629    pub fn clear_descriptor_model(ModelID: Hlong) -> Herror;
18630}
18631unsafe extern "C" {
18632    pub fn T_deserialize_descriptor_model(
18633        SerializedItemHandle: Htuple,
18634        ModelID: *mut Htuple,
18635    ) -> Herror;
18636}
18637unsafe extern "C" {
18638    pub fn deserialize_descriptor_model(SerializedItemHandle: Hlong, ModelID: *mut Hlong)
18639    -> Herror;
18640}
18641unsafe extern "C" {
18642    pub fn T_serialize_descriptor_model(
18643        ModelID: Htuple,
18644        SerializedItemHandle: *mut Htuple,
18645    ) -> Herror;
18646}
18647unsafe extern "C" {
18648    pub fn serialize_descriptor_model(ModelID: Hlong, SerializedItemHandle: *mut Hlong) -> Herror;
18649}
18650unsafe extern "C" {
18651    pub fn T_read_descriptor_model(FileName: Htuple, ModelID: *mut Htuple) -> Herror;
18652}
18653unsafe extern "C" {
18654    pub fn read_descriptor_model(
18655        FileName: *const ::std::os::raw::c_char,
18656        ModelID: *mut Hlong,
18657    ) -> Herror;
18658}
18659unsafe extern "C" {
18660    pub fn T_write_descriptor_model(ModelID: Htuple, FileName: Htuple) -> Herror;
18661}
18662unsafe extern "C" {
18663    pub fn write_descriptor_model(
18664        ModelID: Hlong,
18665        FileName: *const ::std::os::raw::c_char,
18666    ) -> Herror;
18667}
18668unsafe extern "C" {
18669    pub fn T_find_calib_descriptor_model(
18670        Image: Hobject,
18671        ModelID: Htuple,
18672        DetectorParamName: Htuple,
18673        DetectorParamValue: Htuple,
18674        DescriptorParamName: Htuple,
18675        DescriptorParamValue: Htuple,
18676        MinScore: Htuple,
18677        NumMatches: Htuple,
18678        CamParam: Htuple,
18679        ScoreType: Htuple,
18680        Pose: *mut Htuple,
18681        Score: *mut Htuple,
18682    ) -> Herror;
18683}
18684unsafe extern "C" {
18685    pub fn T_find_uncalib_descriptor_model(
18686        Image: Hobject,
18687        ModelID: Htuple,
18688        DetectorParamName: Htuple,
18689        DetectorParamValue: Htuple,
18690        DescriptorParamName: Htuple,
18691        DescriptorParamValue: Htuple,
18692        MinScore: Htuple,
18693        NumMatches: Htuple,
18694        ScoreType: Htuple,
18695        HomMat2D: *mut Htuple,
18696        Score: *mut Htuple,
18697    ) -> Herror;
18698}
18699unsafe extern "C" {
18700    pub fn T_get_descriptor_model_points(
18701        ModelID: Htuple,
18702        Set: Htuple,
18703        Subset: Htuple,
18704        Row: *mut Htuple,
18705        Column: *mut Htuple,
18706    ) -> Herror;
18707}
18708unsafe extern "C" {
18709    pub fn T_get_descriptor_model_params(
18710        ModelID: Htuple,
18711        DetectorType: *mut Htuple,
18712        DetectorParamName: *mut Htuple,
18713        DetectorParamValue: *mut Htuple,
18714        DescriptorParamName: *mut Htuple,
18715        DescriptorParamValue: *mut Htuple,
18716    ) -> Herror;
18717}
18718unsafe extern "C" {
18719    pub fn T_create_calib_descriptor_model(
18720        Template: Hobject,
18721        CamParam: Htuple,
18722        ReferencePose: Htuple,
18723        DetectorType: Htuple,
18724        DetectorParamName: Htuple,
18725        DetectorParamValue: Htuple,
18726        DescriptorParamName: Htuple,
18727        DescriptorParamValue: Htuple,
18728        Seed: Htuple,
18729        ModelID: *mut Htuple,
18730    ) -> Herror;
18731}
18732unsafe extern "C" {
18733    pub fn T_create_uncalib_descriptor_model(
18734        Template: Hobject,
18735        DetectorType: Htuple,
18736        DetectorParamName: Htuple,
18737        DetectorParamValue: Htuple,
18738        DescriptorParamName: Htuple,
18739        DescriptorParamValue: Htuple,
18740        Seed: Htuple,
18741        ModelID: *mut Htuple,
18742    ) -> Herror;
18743}
18744unsafe extern "C" {
18745    pub fn T_get_descriptor_model_results(
18746        ModelID: Htuple,
18747        ObjectID: Htuple,
18748        ResultNames: Htuple,
18749        Results: *mut Htuple,
18750    ) -> Herror;
18751}
18752unsafe extern "C" {
18753    pub fn get_descriptor_model_results(
18754        ModelID: Hlong,
18755        ObjectID: Hlong,
18756        ResultNames: *const ::std::os::raw::c_char,
18757        Results: *mut ::std::os::raw::c_char,
18758    ) -> Herror;
18759}
18760unsafe extern "C" {
18761    pub fn T_get_descriptor_model_origin(
18762        ModelID: Htuple,
18763        Row: *mut Htuple,
18764        Column: *mut Htuple,
18765    ) -> Herror;
18766}
18767unsafe extern "C" {
18768    pub fn get_descriptor_model_origin(ModelID: Hlong, Row: *mut f64, Column: *mut f64) -> Herror;
18769}
18770unsafe extern "C" {
18771    pub fn T_set_descriptor_model_origin(ModelID: Htuple, Row: Htuple, Column: Htuple) -> Herror;
18772}
18773unsafe extern "C" {
18774    pub fn set_descriptor_model_origin(ModelID: Hlong, Row: f64, Column: f64) -> Herror;
18775}
18776unsafe extern "C" {
18777    pub fn T_get_deformable_model_origin(
18778        ModelID: Htuple,
18779        Row: *mut Htuple,
18780        Column: *mut Htuple,
18781    ) -> Herror;
18782}
18783unsafe extern "C" {
18784    pub fn get_deformable_model_origin(ModelID: Hlong, Row: *mut f64, Column: *mut f64) -> Herror;
18785}
18786unsafe extern "C" {
18787    pub fn T_set_deformable_model_origin(ModelID: Htuple, Row: Htuple, Column: Htuple) -> Herror;
18788}
18789unsafe extern "C" {
18790    pub fn set_deformable_model_origin(ModelID: Hlong, Row: f64, Column: f64) -> Herror;
18791}
18792unsafe extern "C" {
18793    pub fn T_set_deformable_model_param(
18794        ModelID: Htuple,
18795        GenParamName: Htuple,
18796        GenParamValue: Htuple,
18797    ) -> Herror;
18798}
18799unsafe extern "C" {
18800    pub fn T_get_deformable_model_params(
18801        ModelID: Htuple,
18802        GenParamName: Htuple,
18803        GenParamValue: *mut Htuple,
18804    ) -> Herror;
18805}
18806unsafe extern "C" {
18807    pub fn get_deformable_model_params(
18808        ModelID: Hlong,
18809        GenParamName: *const ::std::os::raw::c_char,
18810        GenParamValue: *mut ::std::os::raw::c_char,
18811    ) -> Herror;
18812}
18813unsafe extern "C" {
18814    pub fn T_get_deformable_model_contours(
18815        ModelContours: *mut Hobject,
18816        ModelID: Htuple,
18817        Level: Htuple,
18818    ) -> Herror;
18819}
18820unsafe extern "C" {
18821    pub fn get_deformable_model_contours(
18822        ModelContours: *mut Hobject,
18823        ModelID: Hlong,
18824        Level: Hlong,
18825    ) -> Herror;
18826}
18827unsafe extern "C" {
18828    pub fn T_determine_deformable_model_params(
18829        Template: Hobject,
18830        NumLevels: Htuple,
18831        AngleStart: Htuple,
18832        AngleExtent: Htuple,
18833        ScaleMin: Htuple,
18834        ScaleMax: Htuple,
18835        Optimization: Htuple,
18836        Metric: Htuple,
18837        Contrast: Htuple,
18838        MinContrast: Htuple,
18839        GenParamName: Htuple,
18840        GenParamValue: Htuple,
18841        Parameters: Htuple,
18842        ParameterName: *mut Htuple,
18843        ParameterValue: *mut Htuple,
18844    ) -> Herror;
18845}
18846unsafe extern "C" {
18847    pub fn T_deserialize_deformable_model(
18848        SerializedItemHandle: Htuple,
18849        ModelID: *mut Htuple,
18850    ) -> Herror;
18851}
18852unsafe extern "C" {
18853    pub fn deserialize_deformable_model(SerializedItemHandle: Hlong, ModelID: *mut Hlong)
18854    -> Herror;
18855}
18856unsafe extern "C" {
18857    pub fn T_serialize_deformable_model(
18858        ModelID: Htuple,
18859        SerializedItemHandle: *mut Htuple,
18860    ) -> Herror;
18861}
18862unsafe extern "C" {
18863    pub fn serialize_deformable_model(ModelID: Hlong, SerializedItemHandle: *mut Hlong) -> Herror;
18864}
18865unsafe extern "C" {
18866    pub fn T_read_deformable_model(FileName: Htuple, ModelID: *mut Htuple) -> Herror;
18867}
18868unsafe extern "C" {
18869    pub fn read_deformable_model(
18870        FileName: *const ::std::os::raw::c_char,
18871        ModelID: *mut Hlong,
18872    ) -> Herror;
18873}
18874unsafe extern "C" {
18875    pub fn T_write_deformable_model(ModelID: Htuple, FileName: Htuple) -> Herror;
18876}
18877unsafe extern "C" {
18878    pub fn write_deformable_model(
18879        ModelID: Hlong,
18880        FileName: *const ::std::os::raw::c_char,
18881    ) -> Herror;
18882}
18883unsafe extern "C" {
18884    pub fn T_clear_all_deformable_models() -> Herror;
18885}
18886unsafe extern "C" {
18887    pub fn clear_all_deformable_models() -> Herror;
18888}
18889unsafe extern "C" {
18890    pub fn T_clear_deformable_model(ModelID: Htuple) -> Herror;
18891}
18892unsafe extern "C" {
18893    pub fn clear_deformable_model(ModelID: Hlong) -> Herror;
18894}
18895unsafe extern "C" {
18896    pub fn T_find_local_deformable_model(
18897        Image: Hobject,
18898        ImageRectified: *mut Hobject,
18899        VectorField: *mut Hobject,
18900        DeformedContours: *mut Hobject,
18901        ModelID: Htuple,
18902        AngleStart: Htuple,
18903        AngleExtent: Htuple,
18904        ScaleRMin: Htuple,
18905        ScaleRMax: Htuple,
18906        ScaleCMin: Htuple,
18907        ScaleCMax: Htuple,
18908        MinScore: Htuple,
18909        NumMatches: Htuple,
18910        MaxOverlap: Htuple,
18911        NumLevels: Htuple,
18912        Greediness: Htuple,
18913        ResultType: Htuple,
18914        GenParamName: Htuple,
18915        GenParamValue: Htuple,
18916        Score: *mut Htuple,
18917        Row: *mut Htuple,
18918        Column: *mut Htuple,
18919    ) -> Herror;
18920}
18921unsafe extern "C" {
18922    pub fn T_find_planar_calib_deformable_model(
18923        Image: Hobject,
18924        ModelID: Htuple,
18925        AngleStart: Htuple,
18926        AngleExtent: Htuple,
18927        ScaleRMin: Htuple,
18928        ScaleRMax: Htuple,
18929        ScaleCMin: Htuple,
18930        ScaleCMax: Htuple,
18931        MinScore: Htuple,
18932        NumMatches: Htuple,
18933        MaxOverlap: Htuple,
18934        NumLevels: Htuple,
18935        Greediness: Htuple,
18936        GenParamName: Htuple,
18937        GenParamValue: Htuple,
18938        Pose: *mut Htuple,
18939        CovPose: *mut Htuple,
18940        Score: *mut Htuple,
18941    ) -> Herror;
18942}
18943unsafe extern "C" {
18944    pub fn T_find_planar_uncalib_deformable_model(
18945        Image: Hobject,
18946        ModelID: Htuple,
18947        AngleStart: Htuple,
18948        AngleExtent: Htuple,
18949        ScaleRMin: Htuple,
18950        ScaleRMax: Htuple,
18951        ScaleCMin: Htuple,
18952        ScaleCMax: Htuple,
18953        MinScore: Htuple,
18954        NumMatches: Htuple,
18955        MaxOverlap: Htuple,
18956        NumLevels: Htuple,
18957        Greediness: Htuple,
18958        GenParamName: Htuple,
18959        GenParamValue: Htuple,
18960        HomMat2D: *mut Htuple,
18961        Score: *mut Htuple,
18962    ) -> Herror;
18963}
18964unsafe extern "C" {
18965    pub fn T_set_local_deformable_model_metric(
18966        Image: Hobject,
18967        VectorField: Hobject,
18968        ModelID: Htuple,
18969        Metric: Htuple,
18970    ) -> Herror;
18971}
18972unsafe extern "C" {
18973    pub fn set_local_deformable_model_metric(
18974        Image: Hobject,
18975        VectorField: Hobject,
18976        ModelID: Hlong,
18977        Metric: *const ::std::os::raw::c_char,
18978    ) -> Herror;
18979}
18980unsafe extern "C" {
18981    pub fn T_set_planar_calib_deformable_model_metric(
18982        Image: Hobject,
18983        ModelID: Htuple,
18984        Pose: Htuple,
18985        Metric: Htuple,
18986    ) -> Herror;
18987}
18988unsafe extern "C" {
18989    pub fn T_set_planar_uncalib_deformable_model_metric(
18990        Image: Hobject,
18991        ModelID: Htuple,
18992        HomMat2D: Htuple,
18993        Metric: Htuple,
18994    ) -> Herror;
18995}
18996unsafe extern "C" {
18997    pub fn T_create_local_deformable_model_xld(
18998        Contours: Hobject,
18999        NumLevels: Htuple,
19000        AngleStart: Htuple,
19001        AngleExtent: Htuple,
19002        AngleStep: Htuple,
19003        ScaleRMin: Htuple,
19004        ScaleRMax: Htuple,
19005        ScaleRStep: Htuple,
19006        ScaleCMin: Htuple,
19007        ScaleCMax: Htuple,
19008        ScaleCStep: Htuple,
19009        Optimization: Htuple,
19010        Metric: Htuple,
19011        MinContrast: Htuple,
19012        GenParamName: Htuple,
19013        GenParamValue: Htuple,
19014        ModelID: *mut Htuple,
19015    ) -> Herror;
19016}
19017unsafe extern "C" {
19018    pub fn T_create_planar_calib_deformable_model_xld(
19019        Contours: Hobject,
19020        CamParam: Htuple,
19021        ReferencePose: Htuple,
19022        NumLevels: Htuple,
19023        AngleStart: Htuple,
19024        AngleExtent: Htuple,
19025        AngleStep: Htuple,
19026        ScaleRMin: Htuple,
19027        ScaleRMax: Htuple,
19028        ScaleRStep: Htuple,
19029        ScaleCMin: Htuple,
19030        ScaleCMax: Htuple,
19031        ScaleCStep: Htuple,
19032        Optimization: Htuple,
19033        Metric: Htuple,
19034        MinContrast: Htuple,
19035        GenParamName: Htuple,
19036        GenParamValue: Htuple,
19037        ModelID: *mut Htuple,
19038    ) -> Herror;
19039}
19040unsafe extern "C" {
19041    pub fn T_create_planar_uncalib_deformable_model_xld(
19042        Contours: Hobject,
19043        NumLevels: Htuple,
19044        AngleStart: Htuple,
19045        AngleExtent: Htuple,
19046        AngleStep: Htuple,
19047        ScaleRMin: Htuple,
19048        ScaleRMax: Htuple,
19049        ScaleRStep: Htuple,
19050        ScaleCMin: Htuple,
19051        ScaleCMax: Htuple,
19052        ScaleCStep: Htuple,
19053        Optimization: Htuple,
19054        Metric: Htuple,
19055        MinContrast: Htuple,
19056        GenParamName: Htuple,
19057        GenParamValue: Htuple,
19058        ModelID: *mut Htuple,
19059    ) -> Herror;
19060}
19061unsafe extern "C" {
19062    pub fn T_create_local_deformable_model(
19063        Template: Hobject,
19064        NumLevels: Htuple,
19065        AngleStart: Htuple,
19066        AngleExtent: Htuple,
19067        AngleStep: Htuple,
19068        ScaleRMin: Htuple,
19069        ScaleRMax: Htuple,
19070        ScaleRStep: Htuple,
19071        ScaleCMin: Htuple,
19072        ScaleCMax: Htuple,
19073        ScaleCStep: Htuple,
19074        Optimization: Htuple,
19075        Metric: Htuple,
19076        Contrast: Htuple,
19077        MinContrast: Htuple,
19078        GenParamName: Htuple,
19079        GenParamValue: Htuple,
19080        ModelID: *mut Htuple,
19081    ) -> Herror;
19082}
19083unsafe extern "C" {
19084    pub fn T_create_planar_calib_deformable_model(
19085        Template: Hobject,
19086        CamParam: Htuple,
19087        ReferencePose: Htuple,
19088        NumLevels: Htuple,
19089        AngleStart: Htuple,
19090        AngleExtent: Htuple,
19091        AngleStep: Htuple,
19092        ScaleRMin: Htuple,
19093        ScaleRMax: Htuple,
19094        ScaleRStep: Htuple,
19095        ScaleCMin: Htuple,
19096        ScaleCMax: Htuple,
19097        ScaleCStep: Htuple,
19098        Optimization: Htuple,
19099        Metric: Htuple,
19100        Contrast: Htuple,
19101        MinContrast: Htuple,
19102        GenParamName: Htuple,
19103        GenParamValue: Htuple,
19104        ModelID: *mut Htuple,
19105    ) -> Herror;
19106}
19107unsafe extern "C" {
19108    pub fn T_create_planar_uncalib_deformable_model(
19109        Template: Hobject,
19110        NumLevels: Htuple,
19111        AngleStart: Htuple,
19112        AngleExtent: Htuple,
19113        AngleStep: Htuple,
19114        ScaleRMin: Htuple,
19115        ScaleRMax: Htuple,
19116        ScaleRStep: Htuple,
19117        ScaleCMin: Htuple,
19118        ScaleCMax: Htuple,
19119        ScaleCStep: Htuple,
19120        Optimization: Htuple,
19121        Metric: Htuple,
19122        Contrast: Htuple,
19123        MinContrast: Htuple,
19124        GenParamName: Htuple,
19125        GenParamValue: Htuple,
19126        ModelID: *mut Htuple,
19127    ) -> Herror;
19128}
19129unsafe extern "C" {
19130    pub fn T_clear_all_ncc_models() -> Herror;
19131}
19132unsafe extern "C" {
19133    pub fn clear_all_ncc_models() -> Herror;
19134}
19135unsafe extern "C" {
19136    pub fn T_clear_ncc_model(ModelID: Htuple) -> Herror;
19137}
19138unsafe extern "C" {
19139    pub fn clear_ncc_model(ModelID: Hlong) -> Herror;
19140}
19141unsafe extern "C" {
19142    pub fn T_deserialize_ncc_model(SerializedItemHandle: Htuple, ModelID: *mut Htuple) -> Herror;
19143}
19144unsafe extern "C" {
19145    pub fn deserialize_ncc_model(SerializedItemHandle: Hlong, ModelID: *mut Hlong) -> Herror;
19146}
19147unsafe extern "C" {
19148    pub fn T_serialize_ncc_model(ModelID: Htuple, SerializedItemHandle: *mut Htuple) -> Herror;
19149}
19150unsafe extern "C" {
19151    pub fn serialize_ncc_model(ModelID: Hlong, SerializedItemHandle: *mut Hlong) -> Herror;
19152}
19153unsafe extern "C" {
19154    pub fn T_read_ncc_model(FileName: Htuple, ModelID: *mut Htuple) -> Herror;
19155}
19156unsafe extern "C" {
19157    pub fn read_ncc_model(FileName: *const ::std::os::raw::c_char, ModelID: *mut Hlong) -> Herror;
19158}
19159unsafe extern "C" {
19160    pub fn T_write_ncc_model(ModelID: Htuple, FileName: Htuple) -> Herror;
19161}
19162unsafe extern "C" {
19163    pub fn write_ncc_model(ModelID: Hlong, FileName: *const ::std::os::raw::c_char) -> Herror;
19164}
19165unsafe extern "C" {
19166    pub fn T_determine_ncc_model_params(
19167        Template: Hobject,
19168        NumLevels: Htuple,
19169        AngleStart: Htuple,
19170        AngleExtent: Htuple,
19171        Metric: Htuple,
19172        Parameters: Htuple,
19173        ParameterName: *mut Htuple,
19174        ParameterValue: *mut Htuple,
19175    ) -> Herror;
19176}
19177unsafe extern "C" {
19178    pub fn T_get_ncc_model_params(
19179        ModelID: Htuple,
19180        NumLevels: *mut Htuple,
19181        AngleStart: *mut Htuple,
19182        AngleExtent: *mut Htuple,
19183        AngleStep: *mut Htuple,
19184        Metric: *mut Htuple,
19185    ) -> Herror;
19186}
19187unsafe extern "C" {
19188    pub fn get_ncc_model_params(
19189        ModelID: Hlong,
19190        NumLevels: *mut Hlong,
19191        AngleStart: *mut f64,
19192        AngleExtent: *mut f64,
19193        AngleStep: *mut f64,
19194        Metric: *mut ::std::os::raw::c_char,
19195    ) -> Herror;
19196}
19197unsafe extern "C" {
19198    pub fn T_get_ncc_model_origin(ModelID: Htuple, Row: *mut Htuple, Column: *mut Htuple)
19199    -> Herror;
19200}
19201unsafe extern "C" {
19202    pub fn get_ncc_model_origin(ModelID: Hlong, Row: *mut f64, Column: *mut f64) -> Herror;
19203}
19204unsafe extern "C" {
19205    pub fn T_set_ncc_model_origin(ModelID: Htuple, Row: Htuple, Column: Htuple) -> Herror;
19206}
19207unsafe extern "C" {
19208    pub fn set_ncc_model_origin(ModelID: Hlong, Row: f64, Column: f64) -> Herror;
19209}
19210unsafe extern "C" {
19211    pub fn T_find_ncc_model(
19212        Image: Hobject,
19213        ModelID: Htuple,
19214        AngleStart: Htuple,
19215        AngleExtent: Htuple,
19216        MinScore: Htuple,
19217        NumMatches: Htuple,
19218        MaxOverlap: Htuple,
19219        SubPixel: Htuple,
19220        NumLevels: Htuple,
19221        Row: *mut Htuple,
19222        Column: *mut Htuple,
19223        Angle: *mut Htuple,
19224        Score: *mut Htuple,
19225    ) -> Herror;
19226}
19227unsafe extern "C" {
19228    pub fn T_set_ncc_model_param(
19229        ModelID: Htuple,
19230        GenParamName: Htuple,
19231        GenParamValue: Htuple,
19232    ) -> Herror;
19233}
19234unsafe extern "C" {
19235    pub fn T_create_ncc_model(
19236        Template: Hobject,
19237        NumLevels: Htuple,
19238        AngleStart: Htuple,
19239        AngleExtent: Htuple,
19240        AngleStep: Htuple,
19241        Metric: Htuple,
19242        ModelID: *mut Htuple,
19243    ) -> Herror;
19244}
19245unsafe extern "C" {
19246    pub fn create_ncc_model(
19247        Template: Hobject,
19248        NumLevels: Hlong,
19249        AngleStart: f64,
19250        AngleExtent: f64,
19251        AngleStep: f64,
19252        Metric: *const ::std::os::raw::c_char,
19253        ModelID: *mut Hlong,
19254    ) -> Herror;
19255}
19256unsafe extern "C" {
19257    pub fn T_get_found_component_model(
19258        FoundComponents: *mut Hobject,
19259        ComponentModelID: Htuple,
19260        ModelStart: Htuple,
19261        ModelEnd: Htuple,
19262        RowComp: Htuple,
19263        ColumnComp: Htuple,
19264        AngleComp: Htuple,
19265        ScoreComp: Htuple,
19266        ModelComp: Htuple,
19267        ModelMatch: Htuple,
19268        MarkOrientation: Htuple,
19269        RowCompInst: *mut Htuple,
19270        ColumnCompInst: *mut Htuple,
19271        AngleCompInst: *mut Htuple,
19272        ScoreCompInst: *mut Htuple,
19273    ) -> Herror;
19274}
19275unsafe extern "C" {
19276    pub fn get_found_component_model(
19277        FoundComponents: *mut Hobject,
19278        ComponentModelID: Hlong,
19279        ModelStart: Hlong,
19280        ModelEnd: Hlong,
19281        RowComp: f64,
19282        ColumnComp: f64,
19283        AngleComp: f64,
19284        ScoreComp: f64,
19285        ModelComp: Hlong,
19286        ModelMatch: Hlong,
19287        MarkOrientation: *const ::std::os::raw::c_char,
19288        RowCompInst: *mut f64,
19289        ColumnCompInst: *mut f64,
19290        AngleCompInst: *mut f64,
19291        ScoreCompInst: *mut f64,
19292    ) -> Herror;
19293}
19294unsafe extern "C" {
19295    pub fn T_find_component_model(
19296        Image: Hobject,
19297        ComponentModelID: Htuple,
19298        RootComponent: Htuple,
19299        AngleStartRoot: Htuple,
19300        AngleExtentRoot: Htuple,
19301        MinScore: Htuple,
19302        NumMatches: Htuple,
19303        MaxOverlap: Htuple,
19304        IfRootNotFound: Htuple,
19305        IfComponentNotFound: Htuple,
19306        PosePrediction: Htuple,
19307        MinScoreComp: Htuple,
19308        SubPixelComp: Htuple,
19309        NumLevelsComp: Htuple,
19310        GreedinessComp: Htuple,
19311        ModelStart: *mut Htuple,
19312        ModelEnd: *mut Htuple,
19313        Score: *mut Htuple,
19314        RowComp: *mut Htuple,
19315        ColumnComp: *mut Htuple,
19316        AngleComp: *mut Htuple,
19317        ScoreComp: *mut Htuple,
19318        ModelComp: *mut Htuple,
19319    ) -> Herror;
19320}
19321unsafe extern "C" {
19322    pub fn find_component_model(
19323        Image: Hobject,
19324        ComponentModelID: Hlong,
19325        RootComponent: Hlong,
19326        AngleStartRoot: f64,
19327        AngleExtentRoot: f64,
19328        MinScore: f64,
19329        NumMatches: Hlong,
19330        MaxOverlap: f64,
19331        IfRootNotFound: *const ::std::os::raw::c_char,
19332        IfComponentNotFound: *const ::std::os::raw::c_char,
19333        PosePrediction: *const ::std::os::raw::c_char,
19334        MinScoreComp: f64,
19335        SubPixelComp: *const ::std::os::raw::c_char,
19336        NumLevelsComp: Hlong,
19337        GreedinessComp: f64,
19338        ModelStart: *mut Hlong,
19339        ModelEnd: *mut Hlong,
19340        Score: *mut f64,
19341        RowComp: *mut f64,
19342        ColumnComp: *mut f64,
19343        AngleComp: *mut f64,
19344        ScoreComp: *mut f64,
19345        ModelComp: *mut Hlong,
19346    ) -> Herror;
19347}
19348unsafe extern "C" {
19349    pub fn T_clear_all_component_models() -> Herror;
19350}
19351unsafe extern "C" {
19352    pub fn clear_all_component_models() -> Herror;
19353}
19354unsafe extern "C" {
19355    pub fn T_clear_component_model(ComponentModelID: Htuple) -> Herror;
19356}
19357unsafe extern "C" {
19358    pub fn clear_component_model(ComponentModelID: Hlong) -> Herror;
19359}
19360unsafe extern "C" {
19361    pub fn T_get_component_model_tree(
19362        Tree: *mut Hobject,
19363        Relations: *mut Hobject,
19364        ComponentModelID: Htuple,
19365        RootComponent: Htuple,
19366        Image: Htuple,
19367        StartNode: *mut Htuple,
19368        EndNode: *mut Htuple,
19369        Row: *mut Htuple,
19370        Column: *mut Htuple,
19371        Phi: *mut Htuple,
19372        Length1: *mut Htuple,
19373        Length2: *mut Htuple,
19374        AngleStart: *mut Htuple,
19375        AngleExtent: *mut Htuple,
19376    ) -> Herror;
19377}
19378unsafe extern "C" {
19379    pub fn get_component_model_tree(
19380        Tree: *mut Hobject,
19381        Relations: *mut Hobject,
19382        ComponentModelID: Hlong,
19383        RootComponent: Hlong,
19384        Image: *const ::std::os::raw::c_char,
19385        StartNode: *mut Hlong,
19386        EndNode: *mut Hlong,
19387        Row: *mut f64,
19388        Column: *mut f64,
19389        Phi: *mut f64,
19390        Length1: *mut f64,
19391        Length2: *mut f64,
19392        AngleStart: *mut f64,
19393        AngleExtent: *mut f64,
19394    ) -> Herror;
19395}
19396unsafe extern "C" {
19397    pub fn T_get_component_model_params(
19398        ComponentModelID: Htuple,
19399        MinScoreComp: *mut Htuple,
19400        RootRanking: *mut Htuple,
19401        ShapeModelIDs: *mut Htuple,
19402    ) -> Herror;
19403}
19404unsafe extern "C" {
19405    pub fn get_component_model_params(
19406        ComponentModelID: Hlong,
19407        MinScoreComp: *mut f64,
19408        RootRanking: *mut Hlong,
19409        ShapeModelIDs: *mut Hlong,
19410    ) -> Herror;
19411}
19412unsafe extern "C" {
19413    pub fn T_deserialize_component_model(
19414        SerializedItemHandle: Htuple,
19415        ComponentModelID: *mut Htuple,
19416    ) -> Herror;
19417}
19418unsafe extern "C" {
19419    pub fn deserialize_component_model(
19420        SerializedItemHandle: Hlong,
19421        ComponentModelID: *mut Hlong,
19422    ) -> Herror;
19423}
19424unsafe extern "C" {
19425    pub fn T_serialize_component_model(
19426        ComponentModelID: Htuple,
19427        SerializedItemHandle: *mut Htuple,
19428    ) -> Herror;
19429}
19430unsafe extern "C" {
19431    pub fn serialize_component_model(
19432        ComponentModelID: Hlong,
19433        SerializedItemHandle: *mut Hlong,
19434    ) -> Herror;
19435}
19436unsafe extern "C" {
19437    pub fn T_read_component_model(FileName: Htuple, ComponentModelID: *mut Htuple) -> Herror;
19438}
19439unsafe extern "C" {
19440    pub fn read_component_model(
19441        FileName: *const ::std::os::raw::c_char,
19442        ComponentModelID: *mut Hlong,
19443    ) -> Herror;
19444}
19445unsafe extern "C" {
19446    pub fn T_write_component_model(ComponentModelID: Htuple, FileName: Htuple) -> Herror;
19447}
19448unsafe extern "C" {
19449    pub fn write_component_model(
19450        ComponentModelID: Hlong,
19451        FileName: *const ::std::os::raw::c_char,
19452    ) -> Herror;
19453}
19454unsafe extern "C" {
19455    pub fn T_create_component_model(
19456        ModelImage: Hobject,
19457        ComponentRegions: Hobject,
19458        VariationRow: Htuple,
19459        VariationColumn: Htuple,
19460        VariationAngle: Htuple,
19461        AngleStart: Htuple,
19462        AngleExtent: Htuple,
19463        ContrastLowComp: Htuple,
19464        ContrastHighComp: Htuple,
19465        MinSizeComp: Htuple,
19466        MinContrastComp: Htuple,
19467        MinScoreComp: Htuple,
19468        NumLevelsComp: Htuple,
19469        AngleStepComp: Htuple,
19470        OptimizationComp: Htuple,
19471        MetricComp: Htuple,
19472        PregenerationComp: Htuple,
19473        ComponentModelID: *mut Htuple,
19474        RootRanking: *mut Htuple,
19475    ) -> Herror;
19476}
19477unsafe extern "C" {
19478    pub fn create_component_model(
19479        ModelImage: Hobject,
19480        ComponentRegions: Hobject,
19481        VariationRow: Hlong,
19482        VariationColumn: Hlong,
19483        VariationAngle: f64,
19484        AngleStart: f64,
19485        AngleExtent: f64,
19486        ContrastLowComp: Hlong,
19487        ContrastHighComp: Hlong,
19488        MinSizeComp: Hlong,
19489        MinContrastComp: Hlong,
19490        MinScoreComp: f64,
19491        NumLevelsComp: Hlong,
19492        AngleStepComp: f64,
19493        OptimizationComp: *const ::std::os::raw::c_char,
19494        MetricComp: *const ::std::os::raw::c_char,
19495        PregenerationComp: *const ::std::os::raw::c_char,
19496        ComponentModelID: *mut Hlong,
19497        RootRanking: *mut Hlong,
19498    ) -> Herror;
19499}
19500unsafe extern "C" {
19501    pub fn T_create_trained_component_model(
19502        ComponentTrainingID: Htuple,
19503        AngleStart: Htuple,
19504        AngleExtent: Htuple,
19505        MinContrastComp: Htuple,
19506        MinScoreComp: Htuple,
19507        NumLevelsComp: Htuple,
19508        AngleStepComp: Htuple,
19509        OptimizationComp: Htuple,
19510        MetricComp: Htuple,
19511        PregenerationComp: Htuple,
19512        ComponentModelID: *mut Htuple,
19513        RootRanking: *mut Htuple,
19514    ) -> Herror;
19515}
19516unsafe extern "C" {
19517    pub fn create_trained_component_model(
19518        ComponentTrainingID: Hlong,
19519        AngleStart: f64,
19520        AngleExtent: f64,
19521        MinContrastComp: Hlong,
19522        MinScoreComp: f64,
19523        NumLevelsComp: Hlong,
19524        AngleStepComp: f64,
19525        OptimizationComp: *const ::std::os::raw::c_char,
19526        MetricComp: *const ::std::os::raw::c_char,
19527        PregenerationComp: *const ::std::os::raw::c_char,
19528        ComponentModelID: *mut Hlong,
19529        RootRanking: *mut Hlong,
19530    ) -> Herror;
19531}
19532unsafe extern "C" {
19533    pub fn T_clear_all_training_components() -> Herror;
19534}
19535unsafe extern "C" {
19536    pub fn clear_all_training_components() -> Herror;
19537}
19538unsafe extern "C" {
19539    pub fn T_clear_training_components(ComponentTrainingID: Htuple) -> Herror;
19540}
19541unsafe extern "C" {
19542    pub fn clear_training_components(ComponentTrainingID: Hlong) -> Herror;
19543}
19544unsafe extern "C" {
19545    pub fn T_get_component_relations(
19546        Relations: *mut Hobject,
19547        ComponentTrainingID: Htuple,
19548        ReferenceComponent: Htuple,
19549        Image: Htuple,
19550        Row: *mut Htuple,
19551        Column: *mut Htuple,
19552        Phi: *mut Htuple,
19553        Length1: *mut Htuple,
19554        Length2: *mut Htuple,
19555        AngleStart: *mut Htuple,
19556        AngleExtent: *mut Htuple,
19557    ) -> Herror;
19558}
19559unsafe extern "C" {
19560    pub fn get_component_relations(
19561        Relations: *mut Hobject,
19562        ComponentTrainingID: Hlong,
19563        ReferenceComponent: Hlong,
19564        Image: *const ::std::os::raw::c_char,
19565        Row: *mut f64,
19566        Column: *mut f64,
19567        Phi: *mut f64,
19568        Length1: *mut f64,
19569        Length2: *mut f64,
19570        AngleStart: *mut f64,
19571        AngleExtent: *mut f64,
19572    ) -> Herror;
19573}
19574unsafe extern "C" {
19575    pub fn T_get_training_components(
19576        TrainingComponents: *mut Hobject,
19577        ComponentTrainingID: Htuple,
19578        Components: Htuple,
19579        Image: Htuple,
19580        MarkOrientation: Htuple,
19581        Row: *mut Htuple,
19582        Column: *mut Htuple,
19583        Angle: *mut Htuple,
19584        Score: *mut Htuple,
19585    ) -> Herror;
19586}
19587unsafe extern "C" {
19588    pub fn get_training_components(
19589        TrainingComponents: *mut Hobject,
19590        ComponentTrainingID: Hlong,
19591        Components: *const ::std::os::raw::c_char,
19592        Image: *const ::std::os::raw::c_char,
19593        MarkOrientation: *const ::std::os::raw::c_char,
19594        Row: *mut f64,
19595        Column: *mut f64,
19596        Angle: *mut f64,
19597        Score: *mut f64,
19598    ) -> Herror;
19599}
19600unsafe extern "C" {
19601    pub fn T_modify_component_relations(
19602        ComponentTrainingID: Htuple,
19603        ReferenceComponent: Htuple,
19604        ToleranceComponent: Htuple,
19605        PositionTolerance: Htuple,
19606        AngleTolerance: Htuple,
19607    ) -> Herror;
19608}
19609unsafe extern "C" {
19610    pub fn modify_component_relations(
19611        ComponentTrainingID: Hlong,
19612        ReferenceComponent: *const ::std::os::raw::c_char,
19613        ToleranceComponent: *const ::std::os::raw::c_char,
19614        PositionTolerance: f64,
19615        AngleTolerance: f64,
19616    ) -> Herror;
19617}
19618unsafe extern "C" {
19619    pub fn T_deserialize_training_components(
19620        SerializedItemHandle: Htuple,
19621        ComponentTrainingID: *mut Htuple,
19622    ) -> Herror;
19623}
19624unsafe extern "C" {
19625    pub fn deserialize_training_components(
19626        SerializedItemHandle: Hlong,
19627        ComponentTrainingID: *mut Hlong,
19628    ) -> Herror;
19629}
19630unsafe extern "C" {
19631    pub fn T_serialize_training_components(
19632        ComponentTrainingID: Htuple,
19633        SerializedItemHandle: *mut Htuple,
19634    ) -> Herror;
19635}
19636unsafe extern "C" {
19637    pub fn serialize_training_components(
19638        ComponentTrainingID: Hlong,
19639        SerializedItemHandle: *mut Hlong,
19640    ) -> Herror;
19641}
19642unsafe extern "C" {
19643    pub fn T_read_training_components(FileName: Htuple, ComponentTrainingID: *mut Htuple)
19644    -> Herror;
19645}
19646unsafe extern "C" {
19647    pub fn read_training_components(
19648        FileName: *const ::std::os::raw::c_char,
19649        ComponentTrainingID: *mut Hlong,
19650    ) -> Herror;
19651}
19652unsafe extern "C" {
19653    pub fn T_write_training_components(ComponentTrainingID: Htuple, FileName: Htuple) -> Herror;
19654}
19655unsafe extern "C" {
19656    pub fn write_training_components(
19657        ComponentTrainingID: Hlong,
19658        FileName: *const ::std::os::raw::c_char,
19659    ) -> Herror;
19660}
19661unsafe extern "C" {
19662    pub fn T_cluster_model_components(
19663        TrainingImages: Hobject,
19664        ModelComponents: *mut Hobject,
19665        ComponentTrainingID: Htuple,
19666        AmbiguityCriterion: Htuple,
19667        MaxContourOverlap: Htuple,
19668        ClusterThreshold: Htuple,
19669    ) -> Herror;
19670}
19671unsafe extern "C" {
19672    pub fn cluster_model_components(
19673        TrainingImages: Hobject,
19674        ModelComponents: *mut Hobject,
19675        ComponentTrainingID: Hlong,
19676        AmbiguityCriterion: *const ::std::os::raw::c_char,
19677        MaxContourOverlap: f64,
19678        ClusterThreshold: f64,
19679    ) -> Herror;
19680}
19681unsafe extern "C" {
19682    pub fn T_inspect_clustered_components(
19683        ModelComponents: *mut Hobject,
19684        ComponentTrainingID: Htuple,
19685        AmbiguityCriterion: Htuple,
19686        MaxContourOverlap: Htuple,
19687        ClusterThreshold: Htuple,
19688    ) -> Herror;
19689}
19690unsafe extern "C" {
19691    pub fn inspect_clustered_components(
19692        ModelComponents: *mut Hobject,
19693        ComponentTrainingID: Hlong,
19694        AmbiguityCriterion: *const ::std::os::raw::c_char,
19695        MaxContourOverlap: f64,
19696        ClusterThreshold: f64,
19697    ) -> Herror;
19698}
19699unsafe extern "C" {
19700    pub fn T_train_model_components(
19701        ModelImage: Hobject,
19702        InitialComponents: Hobject,
19703        TrainingImages: Hobject,
19704        ModelComponents: *mut Hobject,
19705        ContrastLow: Htuple,
19706        ContrastHigh: Htuple,
19707        MinSize: Htuple,
19708        MinScore: Htuple,
19709        SearchRowTol: Htuple,
19710        SearchColumnTol: Htuple,
19711        SearchAngleTol: Htuple,
19712        TrainingEmphasis: Htuple,
19713        AmbiguityCriterion: Htuple,
19714        MaxContourOverlap: Htuple,
19715        ClusterThreshold: Htuple,
19716        ComponentTrainingID: *mut Htuple,
19717    ) -> Herror;
19718}
19719unsafe extern "C" {
19720    pub fn train_model_components(
19721        ModelImage: Hobject,
19722        InitialComponents: Hobject,
19723        TrainingImages: Hobject,
19724        ModelComponents: *mut Hobject,
19725        ContrastLow: Hlong,
19726        ContrastHigh: Hlong,
19727        MinSize: Hlong,
19728        MinScore: f64,
19729        SearchRowTol: Hlong,
19730        SearchColumnTol: Hlong,
19731        SearchAngleTol: f64,
19732        TrainingEmphasis: *const ::std::os::raw::c_char,
19733        AmbiguityCriterion: *const ::std::os::raw::c_char,
19734        MaxContourOverlap: f64,
19735        ClusterThreshold: f64,
19736        ComponentTrainingID: *mut Hlong,
19737    ) -> Herror;
19738}
19739unsafe extern "C" {
19740    pub fn T_gen_initial_components(
19741        ModelImage: Hobject,
19742        InitialComponents: *mut Hobject,
19743        ContrastLow: Htuple,
19744        ContrastHigh: Htuple,
19745        MinSize: Htuple,
19746        Mode: Htuple,
19747        GenericName: Htuple,
19748        GenericValue: Htuple,
19749    ) -> Herror;
19750}
19751unsafe extern "C" {
19752    pub fn gen_initial_components(
19753        ModelImage: Hobject,
19754        InitialComponents: *mut Hobject,
19755        ContrastLow: Hlong,
19756        ContrastHigh: Hlong,
19757        MinSize: Hlong,
19758        Mode: *const ::std::os::raw::c_char,
19759        GenericName: *const ::std::os::raw::c_char,
19760        GenericValue: f64,
19761    ) -> Herror;
19762}
19763unsafe extern "C" {
19764    pub fn T_get_deformable_surface_matching_result(
19765        DeformableSurfaceMatchingResult: Htuple,
19766        ResultName: Htuple,
19767        ResultIndex: Htuple,
19768        ResultValue: *mut Htuple,
19769    ) -> Herror;
19770}
19771unsafe extern "C" {
19772    pub fn get_deformable_surface_matching_result(
19773        DeformableSurfaceMatchingResult: Hlong,
19774        ResultName: *const ::std::os::raw::c_char,
19775        ResultIndex: Hlong,
19776        ResultValue: *mut Hlong,
19777    ) -> Herror;
19778}
19779unsafe extern "C" {
19780    pub fn T_clear_deformable_surface_matching_result(
19781        DeformableSurfaceMatchingResult: Htuple,
19782    ) -> Herror;
19783}
19784unsafe extern "C" {
19785    pub fn clear_deformable_surface_matching_result(
19786        DeformableSurfaceMatchingResult: Hlong,
19787    ) -> Herror;
19788}
19789unsafe extern "C" {
19790    pub fn T_clear_deformable_surface_model(DeformableSurfaceModel: Htuple) -> Herror;
19791}
19792unsafe extern "C" {
19793    pub fn clear_deformable_surface_model(DeformableSurfaceModel: Hlong) -> Herror;
19794}
19795unsafe extern "C" {
19796    pub fn T_deserialize_deformable_surface_model(
19797        SerializedItemHandle: Htuple,
19798        DeformableSurfaceModel: *mut Htuple,
19799    ) -> Herror;
19800}
19801unsafe extern "C" {
19802    pub fn deserialize_deformable_surface_model(
19803        SerializedItemHandle: Hlong,
19804        DeformableSurfaceModel: *mut Hlong,
19805    ) -> Herror;
19806}
19807unsafe extern "C" {
19808    pub fn T_serialize_deformable_surface_model(
19809        DeformableSurfaceModel: Htuple,
19810        SerializedItemHandle: *mut Htuple,
19811    ) -> Herror;
19812}
19813unsafe extern "C" {
19814    pub fn serialize_deformable_surface_model(
19815        DeformableSurfaceModel: Hlong,
19816        SerializedItemHandle: *mut Hlong,
19817    ) -> Herror;
19818}
19819unsafe extern "C" {
19820    pub fn T_read_deformable_surface_model(
19821        FileName: Htuple,
19822        DeformableSurfaceModel: *mut Htuple,
19823    ) -> Herror;
19824}
19825unsafe extern "C" {
19826    pub fn read_deformable_surface_model(
19827        FileName: *const ::std::os::raw::c_char,
19828        DeformableSurfaceModel: *mut Hlong,
19829    ) -> Herror;
19830}
19831unsafe extern "C" {
19832    pub fn T_write_deformable_surface_model(
19833        DeformableSurfaceModel: Htuple,
19834        FileName: Htuple,
19835    ) -> Herror;
19836}
19837unsafe extern "C" {
19838    pub fn write_deformable_surface_model(
19839        DeformableSurfaceModel: Hlong,
19840        FileName: *const ::std::os::raw::c_char,
19841    ) -> Herror;
19842}
19843unsafe extern "C" {
19844    pub fn T_refine_deformable_surface_model(
19845        DeformableSurfaceModel: Htuple,
19846        ObjectModel3D: Htuple,
19847        RelSamplingDistance: Htuple,
19848        InitialDeformationObjectModel3D: Htuple,
19849        GenParamName: Htuple,
19850        GenParamValue: Htuple,
19851        Score: *mut Htuple,
19852        DeformableSurfaceMatchingResult: *mut Htuple,
19853    ) -> Herror;
19854}
19855unsafe extern "C" {
19856    pub fn refine_deformable_surface_model(
19857        DeformableSurfaceModel: Hlong,
19858        ObjectModel3D: Hlong,
19859        RelSamplingDistance: f64,
19860        InitialDeformationObjectModel3D: Hlong,
19861        GenParamName: *const ::std::os::raw::c_char,
19862        GenParamValue: *const ::std::os::raw::c_char,
19863        Score: *mut f64,
19864        DeformableSurfaceMatchingResult: *mut Hlong,
19865    ) -> Herror;
19866}
19867unsafe extern "C" {
19868    pub fn T_find_deformable_surface_model(
19869        DeformableSurfaceModel: Htuple,
19870        ObjectModel3D: Htuple,
19871        RelSamplingDistance: Htuple,
19872        MinScore: Htuple,
19873        GenParamName: Htuple,
19874        GenParamValue: Htuple,
19875        Score: *mut Htuple,
19876        DeformableSurfaceMatchingResult: *mut Htuple,
19877    ) -> Herror;
19878}
19879unsafe extern "C" {
19880    pub fn T_get_deformable_surface_model_param(
19881        DeformableSurfaceModel: Htuple,
19882        GenParamName: Htuple,
19883        GenParamValue: *mut Htuple,
19884    ) -> Herror;
19885}
19886unsafe extern "C" {
19887    pub fn get_deformable_surface_model_param(
19888        DeformableSurfaceModel: Hlong,
19889        GenParamName: *const ::std::os::raw::c_char,
19890        GenParamValue: *mut f64,
19891    ) -> Herror;
19892}
19893unsafe extern "C" {
19894    pub fn T_add_deformable_surface_model_reference_point(
19895        DeformableSurfaceModel: Htuple,
19896        ReferencePointX: Htuple,
19897        ReferencePointY: Htuple,
19898        ReferencePointZ: Htuple,
19899        ReferencePointIndex: *mut Htuple,
19900    ) -> Herror;
19901}
19902unsafe extern "C" {
19903    pub fn add_deformable_surface_model_reference_point(
19904        DeformableSurfaceModel: Hlong,
19905        ReferencePointX: f64,
19906        ReferencePointY: f64,
19907        ReferencePointZ: f64,
19908        ReferencePointIndex: *mut Hlong,
19909    ) -> Herror;
19910}
19911unsafe extern "C" {
19912    pub fn T_add_deformable_surface_model_sample(
19913        DeformableSurfaceModel: Htuple,
19914        ObjectModel3D: Htuple,
19915    ) -> Herror;
19916}
19917unsafe extern "C" {
19918    pub fn add_deformable_surface_model_sample(
19919        DeformableSurfaceModel: Hlong,
19920        ObjectModel3D: Hlong,
19921    ) -> Herror;
19922}
19923unsafe extern "C" {
19924    pub fn T_create_deformable_surface_model(
19925        ObjectModel3D: Htuple,
19926        RelSamplingDistance: Htuple,
19927        GenParamName: Htuple,
19928        GenParamValue: Htuple,
19929        DeformableSurfaceModel: *mut Htuple,
19930    ) -> Herror;
19931}
19932unsafe extern "C" {
19933    pub fn create_deformable_surface_model(
19934        ObjectModel3D: Hlong,
19935        RelSamplingDistance: f64,
19936        GenParamName: *const ::std::os::raw::c_char,
19937        GenParamValue: *const ::std::os::raw::c_char,
19938        DeformableSurfaceModel: *mut Hlong,
19939    ) -> Herror;
19940}
19941unsafe extern "C" {
19942    pub fn T_get_surface_matching_result(
19943        SurfaceMatchingResultID: Htuple,
19944        ResultName: Htuple,
19945        ResultIndex: Htuple,
19946        ResultValue: *mut Htuple,
19947    ) -> Herror;
19948}
19949unsafe extern "C" {
19950    pub fn get_surface_matching_result(
19951        SurfaceMatchingResultID: Hlong,
19952        ResultName: *const ::std::os::raw::c_char,
19953        ResultIndex: Hlong,
19954        ResultValue: *mut Hlong,
19955    ) -> Herror;
19956}
19957unsafe extern "C" {
19958    pub fn T_clear_all_surface_matching_results() -> Herror;
19959}
19960unsafe extern "C" {
19961    pub fn clear_all_surface_matching_results() -> Herror;
19962}
19963unsafe extern "C" {
19964    pub fn T_clear_surface_matching_result(SurfaceMatchingResultID: Htuple) -> Herror;
19965}
19966unsafe extern "C" {
19967    pub fn clear_surface_matching_result(SurfaceMatchingResultID: Hlong) -> Herror;
19968}
19969unsafe extern "C" {
19970    pub fn T_clear_all_surface_models() -> Herror;
19971}
19972unsafe extern "C" {
19973    pub fn clear_all_surface_models() -> Herror;
19974}
19975unsafe extern "C" {
19976    pub fn T_clear_surface_model(SurfaceModelID: Htuple) -> Herror;
19977}
19978unsafe extern "C" {
19979    pub fn clear_surface_model(SurfaceModelID: Hlong) -> Herror;
19980}
19981unsafe extern "C" {
19982    pub fn T_deserialize_surface_model(
19983        SerializedItemHandle: Htuple,
19984        SurfaceModelID: *mut Htuple,
19985    ) -> Herror;
19986}
19987unsafe extern "C" {
19988    pub fn deserialize_surface_model(
19989        SerializedItemHandle: Hlong,
19990        SurfaceModelID: *mut Hlong,
19991    ) -> Herror;
19992}
19993unsafe extern "C" {
19994    pub fn T_serialize_surface_model(
19995        SurfaceModelID: Htuple,
19996        SerializedItemHandle: *mut Htuple,
19997    ) -> Herror;
19998}
19999unsafe extern "C" {
20000    pub fn serialize_surface_model(
20001        SurfaceModelID: Hlong,
20002        SerializedItemHandle: *mut Hlong,
20003    ) -> Herror;
20004}
20005unsafe extern "C" {
20006    pub fn T_read_surface_model(FileName: Htuple, SurfaceModelID: *mut Htuple) -> Herror;
20007}
20008unsafe extern "C" {
20009    pub fn read_surface_model(
20010        FileName: *const ::std::os::raw::c_char,
20011        SurfaceModelID: *mut Hlong,
20012    ) -> Herror;
20013}
20014unsafe extern "C" {
20015    pub fn T_write_surface_model(SurfaceModelID: Htuple, FileName: Htuple) -> Herror;
20016}
20017unsafe extern "C" {
20018    pub fn write_surface_model(
20019        SurfaceModelID: Hlong,
20020        FileName: *const ::std::os::raw::c_char,
20021    ) -> Herror;
20022}
20023unsafe extern "C" {
20024    pub fn T_refine_surface_model_pose(
20025        SurfaceModelID: Htuple,
20026        ObjectModel3D: Htuple,
20027        InitialPose: Htuple,
20028        MinScore: Htuple,
20029        ReturnResultHandle: Htuple,
20030        GenParamName: Htuple,
20031        GenParamValue: Htuple,
20032        Pose: *mut Htuple,
20033        Score: *mut Htuple,
20034        SurfaceMatchingResultID: *mut Htuple,
20035    ) -> Herror;
20036}
20037unsafe extern "C" {
20038    pub fn T_find_surface_model(
20039        SurfaceModelID: Htuple,
20040        ObjectModel3D: Htuple,
20041        RelSamplingDistance: Htuple,
20042        KeyPointFraction: Htuple,
20043        MinScore: Htuple,
20044        ReturnResultHandle: Htuple,
20045        GenParamName: Htuple,
20046        GenParamValue: Htuple,
20047        Pose: *mut Htuple,
20048        Score: *mut Htuple,
20049        SurfaceMatchingResultID: *mut Htuple,
20050    ) -> Herror;
20051}
20052unsafe extern "C" {
20053    pub fn T_get_surface_model_param(
20054        SurfaceModelID: Htuple,
20055        GenParamName: Htuple,
20056        GenParamValue: *mut Htuple,
20057    ) -> Herror;
20058}
20059unsafe extern "C" {
20060    pub fn get_surface_model_param(
20061        SurfaceModelID: Hlong,
20062        GenParamName: *const ::std::os::raw::c_char,
20063        GenParamValue: *mut f64,
20064    ) -> Herror;
20065}
20066unsafe extern "C" {
20067    pub fn T_create_surface_model(
20068        ObjectModel3D: Htuple,
20069        RelSamplingDistance: Htuple,
20070        GenParamName: Htuple,
20071        GenParamValue: Htuple,
20072        SurfaceModelID: *mut Htuple,
20073    ) -> Herror;
20074}
20075unsafe extern "C" {
20076    pub fn create_surface_model(
20077        ObjectModel3D: Hlong,
20078        RelSamplingDistance: f64,
20079        GenParamName: *const ::std::os::raw::c_char,
20080        GenParamValue: *const ::std::os::raw::c_char,
20081        SurfaceModelID: *mut Hlong,
20082    ) -> Herror;
20083}
20084unsafe extern "C" {
20085    pub fn T_create_cam_pose_look_at_point(
20086        CamPosX: Htuple,
20087        CamPosY: Htuple,
20088        CamPosZ: Htuple,
20089        LookAtX: Htuple,
20090        LookAtY: Htuple,
20091        LookAtZ: Htuple,
20092        RefPlaneNormal: Htuple,
20093        CamRoll: Htuple,
20094        CamPose: *mut Htuple,
20095    ) -> Herror;
20096}
20097unsafe extern "C" {
20098    pub fn T_convert_point_3d_spher_to_cart(
20099        Longitude: Htuple,
20100        Latitude: Htuple,
20101        Radius: Htuple,
20102        EquatPlaneNormal: Htuple,
20103        ZeroMeridian: Htuple,
20104        X: *mut Htuple,
20105        Y: *mut Htuple,
20106        Z: *mut Htuple,
20107    ) -> Herror;
20108}
20109unsafe extern "C" {
20110    pub fn convert_point_3d_spher_to_cart(
20111        Longitude: f64,
20112        Latitude: f64,
20113        Radius: f64,
20114        EquatPlaneNormal: *const ::std::os::raw::c_char,
20115        ZeroMeridian: *const ::std::os::raw::c_char,
20116        X: *mut f64,
20117        Y: *mut f64,
20118        Z: *mut f64,
20119    ) -> Herror;
20120}
20121unsafe extern "C" {
20122    pub fn T_convert_point_3d_cart_to_spher(
20123        X: Htuple,
20124        Y: Htuple,
20125        Z: Htuple,
20126        EquatPlaneNormal: Htuple,
20127        ZeroMeridian: Htuple,
20128        Longitude: *mut Htuple,
20129        Latitude: *mut Htuple,
20130        Radius: *mut Htuple,
20131    ) -> Herror;
20132}
20133unsafe extern "C" {
20134    pub fn convert_point_3d_cart_to_spher(
20135        X: f64,
20136        Y: f64,
20137        Z: f64,
20138        EquatPlaneNormal: *const ::std::os::raw::c_char,
20139        ZeroMeridian: *const ::std::os::raw::c_char,
20140        Longitude: *mut f64,
20141        Latitude: *mut f64,
20142        Radius: *mut f64,
20143    ) -> Herror;
20144}
20145unsafe extern "C" {
20146    pub fn T_clear_all_shape_model_3d() -> Herror;
20147}
20148unsafe extern "C" {
20149    pub fn clear_all_shape_model_3d() -> Herror;
20150}
20151unsafe extern "C" {
20152    pub fn T_clear_shape_model_3d(ShapeModel3DID: Htuple) -> Herror;
20153}
20154unsafe extern "C" {
20155    pub fn clear_shape_model_3d(ShapeModel3DID: Hlong) -> Herror;
20156}
20157unsafe extern "C" {
20158    pub fn T_deserialize_shape_model_3d(
20159        SerializedItemHandle: Htuple,
20160        ShapeModel3DID: *mut Htuple,
20161    ) -> Herror;
20162}
20163unsafe extern "C" {
20164    pub fn deserialize_shape_model_3d(
20165        SerializedItemHandle: Hlong,
20166        ShapeModel3DID: *mut Hlong,
20167    ) -> Herror;
20168}
20169unsafe extern "C" {
20170    pub fn T_serialize_shape_model_3d(
20171        ShapeModel3DID: Htuple,
20172        SerializedItemHandle: *mut Htuple,
20173    ) -> Herror;
20174}
20175unsafe extern "C" {
20176    pub fn serialize_shape_model_3d(
20177        ShapeModel3DID: Hlong,
20178        SerializedItemHandle: *mut Hlong,
20179    ) -> Herror;
20180}
20181unsafe extern "C" {
20182    pub fn T_read_shape_model_3d(FileName: Htuple, ShapeModel3DID: *mut Htuple) -> Herror;
20183}
20184unsafe extern "C" {
20185    pub fn read_shape_model_3d(
20186        FileName: *const ::std::os::raw::c_char,
20187        ShapeModel3DID: *mut Hlong,
20188    ) -> Herror;
20189}
20190unsafe extern "C" {
20191    pub fn T_write_shape_model_3d(ShapeModel3DID: Htuple, FileName: Htuple) -> Herror;
20192}
20193unsafe extern "C" {
20194    pub fn write_shape_model_3d(
20195        ShapeModel3DID: Hlong,
20196        FileName: *const ::std::os::raw::c_char,
20197    ) -> Herror;
20198}
20199unsafe extern "C" {
20200    pub fn T_trans_pose_shape_model_3d(
20201        ShapeModel3DID: Htuple,
20202        PoseIn: Htuple,
20203        Transformation: Htuple,
20204        PoseOut: *mut Htuple,
20205    ) -> Herror;
20206}
20207unsafe extern "C" {
20208    pub fn T_project_shape_model_3d(
20209        ModelContours: *mut Hobject,
20210        ShapeModel3DID: Htuple,
20211        CamParam: Htuple,
20212        Pose: Htuple,
20213        HiddenSurfaceRemoval: Htuple,
20214        MinFaceAngle: Htuple,
20215    ) -> Herror;
20216}
20217unsafe extern "C" {
20218    pub fn T_get_shape_model_3d_contours(
20219        ModelContours: *mut Hobject,
20220        ShapeModel3DID: Htuple,
20221        Level: Htuple,
20222        View: Htuple,
20223        ViewPose: *mut Htuple,
20224    ) -> Herror;
20225}
20226unsafe extern "C" {
20227    pub fn T_get_shape_model_3d_params(
20228        ShapeModel3DID: Htuple,
20229        GenParamName: Htuple,
20230        GenParamValue: *mut Htuple,
20231    ) -> Herror;
20232}
20233unsafe extern "C" {
20234    pub fn get_shape_model_3d_params(
20235        ShapeModel3DID: Hlong,
20236        GenParamName: *const ::std::os::raw::c_char,
20237        GenParamValue: *mut ::std::os::raw::c_char,
20238    ) -> Herror;
20239}
20240unsafe extern "C" {
20241    pub fn T_find_shape_model_3d(
20242        Image: Hobject,
20243        ShapeModel3DID: Htuple,
20244        MinScore: Htuple,
20245        Greediness: Htuple,
20246        NumLevels: Htuple,
20247        GenParamName: Htuple,
20248        GenParamValue: Htuple,
20249        Pose: *mut Htuple,
20250        CovPose: *mut Htuple,
20251        Score: *mut Htuple,
20252    ) -> Herror;
20253}
20254unsafe extern "C" {
20255    pub fn T_create_shape_model_3d(
20256        ObjectModel3D: Htuple,
20257        CamParam: Htuple,
20258        RefRotX: Htuple,
20259        RefRotY: Htuple,
20260        RefRotZ: Htuple,
20261        OrderOfRotation: Htuple,
20262        LongitudeMin: Htuple,
20263        LongitudeMax: Htuple,
20264        LatitudeMin: Htuple,
20265        LatitudeMax: Htuple,
20266        CamRollMin: Htuple,
20267        CamRollMax: Htuple,
20268        DistMin: Htuple,
20269        DistMax: Htuple,
20270        MinContrast: Htuple,
20271        GenParamName: Htuple,
20272        GenParamValue: Htuple,
20273        ShapeModel3DID: *mut Htuple,
20274    ) -> Herror;
20275}
20276unsafe extern "C" {
20277    pub fn T_simplify_object_model_3d(
20278        ObjectModel3D: Htuple,
20279        Method: Htuple,
20280        Amount: Htuple,
20281        GenParamName: Htuple,
20282        GenParamValue: Htuple,
20283        SimplifiedObjectModel3D: *mut Htuple,
20284    ) -> Herror;
20285}
20286unsafe extern "C" {
20287    pub fn T_distance_object_model_3d(
20288        ObjectModel3DFrom: Htuple,
20289        ObjectModel3DTo: Htuple,
20290        Pose: Htuple,
20291        MaxDistance: Htuple,
20292        GenParamName: Htuple,
20293        GenParamValue: Htuple,
20294    ) -> Herror;
20295}
20296unsafe extern "C" {
20297    pub fn T_union_object_model_3d(
20298        ObjectModels3D: Htuple,
20299        Method: Htuple,
20300        UnionObjectModel3D: *mut Htuple,
20301    ) -> Herror;
20302}
20303unsafe extern "C" {
20304    pub fn union_object_model_3d(
20305        ObjectModels3D: Hlong,
20306        Method: *const ::std::os::raw::c_char,
20307        UnionObjectModel3D: *mut Hlong,
20308    ) -> Herror;
20309}
20310unsafe extern "C" {
20311    pub fn T_set_object_model_3d_attrib_mod(
20312        ObjectModel3D: Htuple,
20313        AttribName: Htuple,
20314        AttachExtAttribTo: Htuple,
20315        AttribValues: Htuple,
20316    ) -> Herror;
20317}
20318unsafe extern "C" {
20319    pub fn set_object_model_3d_attrib_mod(
20320        ObjectModel3D: Hlong,
20321        AttribName: *const ::std::os::raw::c_char,
20322        AttachExtAttribTo: *const ::std::os::raw::c_char,
20323        AttribValues: f64,
20324    ) -> Herror;
20325}
20326unsafe extern "C" {
20327    pub fn T_set_object_model_3d_attrib(
20328        ObjectModel3D: Htuple,
20329        AttribName: Htuple,
20330        AttachExtAttribTo: Htuple,
20331        AttribValues: Htuple,
20332        ObjectModel3DOut: *mut Htuple,
20333    ) -> Herror;
20334}
20335unsafe extern "C" {
20336    pub fn set_object_model_3d_attrib(
20337        ObjectModel3D: Hlong,
20338        AttribName: *const ::std::os::raw::c_char,
20339        AttachExtAttribTo: *const ::std::os::raw::c_char,
20340        AttribValues: f64,
20341        ObjectModel3DOut: *mut Hlong,
20342    ) -> Herror;
20343}
20344unsafe extern "C" {
20345    pub fn T_gen_empty_object_model_3d(EmptyObjectModel3D: *mut Htuple) -> Herror;
20346}
20347unsafe extern "C" {
20348    pub fn gen_empty_object_model_3d(EmptyObjectModel3D: *mut Hlong) -> Herror;
20349}
20350unsafe extern "C" {
20351    pub fn T_sample_object_model_3d(
20352        ObjectModel3D: Htuple,
20353        Method: Htuple,
20354        SamplingParam: Htuple,
20355        GenParamName: Htuple,
20356        GenParamValue: Htuple,
20357        SampledObjectModel3D: *mut Htuple,
20358    ) -> Herror;
20359}
20360unsafe extern "C" {
20361    pub fn T_register_object_model_3d_global(
20362        ObjectModels3D: Htuple,
20363        HomMats3D: Htuple,
20364        From: Htuple,
20365        To: Htuple,
20366        GenParamName: Htuple,
20367        GenParamValue: Htuple,
20368        HomMats3DOut: *mut Htuple,
20369        Scores: *mut Htuple,
20370    ) -> Herror;
20371}
20372unsafe extern "C" {
20373    pub fn T_register_object_model_3d_pair(
20374        ObjectModel3D1: Htuple,
20375        ObjectModel3D2: Htuple,
20376        Method: Htuple,
20377        GenParamName: Htuple,
20378        GenParamValue: Htuple,
20379        Pose: *mut Htuple,
20380        Score: *mut Htuple,
20381    ) -> Herror;
20382}
20383unsafe extern "C" {
20384    pub fn T_gen_object_model_3d_from_points(
20385        X: Htuple,
20386        Y: Htuple,
20387        Z: Htuple,
20388        ObjectModel3D: *mut Htuple,
20389    ) -> Herror;
20390}
20391unsafe extern "C" {
20392    pub fn gen_object_model_3d_from_points(
20393        X: f64,
20394        Y: f64,
20395        Z: f64,
20396        ObjectModel3D: *mut Hlong,
20397    ) -> Herror;
20398}
20399unsafe extern "C" {
20400    pub fn T_gen_box_object_model_3d(
20401        Pose: Htuple,
20402        LengthX: Htuple,
20403        LengthY: Htuple,
20404        LengthZ: Htuple,
20405        ObjectModel3D: *mut Htuple,
20406    ) -> Herror;
20407}
20408unsafe extern "C" {
20409    pub fn T_gen_plane_object_model_3d(
20410        Pose: Htuple,
20411        XExtent: Htuple,
20412        YExtent: Htuple,
20413        ObjectModel3D: *mut Htuple,
20414    ) -> Herror;
20415}
20416unsafe extern "C" {
20417    pub fn T_gen_sphere_object_model_3d_center(
20418        X: Htuple,
20419        Y: Htuple,
20420        Z: Htuple,
20421        Radius: Htuple,
20422        ObjectModel3D: *mut Htuple,
20423    ) -> Herror;
20424}
20425unsafe extern "C" {
20426    pub fn gen_sphere_object_model_3d_center(
20427        X: f64,
20428        Y: f64,
20429        Z: f64,
20430        Radius: f64,
20431        ObjectModel3D: *mut Hlong,
20432    ) -> Herror;
20433}
20434unsafe extern "C" {
20435    pub fn T_gen_sphere_object_model_3d(
20436        Pose: Htuple,
20437        Radius: Htuple,
20438        ObjectModel3D: *mut Htuple,
20439    ) -> Herror;
20440}
20441unsafe extern "C" {
20442    pub fn T_gen_cylinder_object_model_3d(
20443        Pose: Htuple,
20444        Radius: Htuple,
20445        MinExtent: Htuple,
20446        MaxExtent: Htuple,
20447        ObjectModel3D: *mut Htuple,
20448    ) -> Herror;
20449}
20450unsafe extern "C" {
20451    pub fn T_smallest_bounding_box_object_model_3d(
20452        ObjectModel3D: Htuple,
20453        Type: Htuple,
20454        Pose: *mut Htuple,
20455        Length1: *mut Htuple,
20456        Length2: *mut Htuple,
20457        Length3: *mut Htuple,
20458    ) -> Herror;
20459}
20460unsafe extern "C" {
20461    pub fn T_smallest_sphere_object_model_3d(
20462        ObjectModel3D: Htuple,
20463        CenterPoint: *mut Htuple,
20464        Radius: *mut Htuple,
20465    ) -> Herror;
20466}
20467unsafe extern "C" {
20468    pub fn T_intersect_plane_object_model_3d(
20469        ObjectModel3D: Htuple,
20470        Plane: Htuple,
20471        ObjectModel3DIntersection: *mut Htuple,
20472    ) -> Herror;
20473}
20474unsafe extern "C" {
20475    pub fn T_convex_hull_object_model_3d(
20476        ObjectModel3D: Htuple,
20477        ObjectModel3DConvexHull: *mut Htuple,
20478    ) -> Herror;
20479}
20480unsafe extern "C" {
20481    pub fn convex_hull_object_model_3d(
20482        ObjectModel3D: Hlong,
20483        ObjectModel3DConvexHull: *mut Hlong,
20484    ) -> Herror;
20485}
20486unsafe extern "C" {
20487    pub fn T_select_object_model_3d(
20488        ObjectModel3D: Htuple,
20489        Feature: Htuple,
20490        Operation: Htuple,
20491        MinValue: Htuple,
20492        MaxValue: Htuple,
20493        ObjectModel3DSelected: *mut Htuple,
20494    ) -> Herror;
20495}
20496unsafe extern "C" {
20497    pub fn select_object_model_3d(
20498        ObjectModel3D: Hlong,
20499        Feature: *const ::std::os::raw::c_char,
20500        Operation: *const ::std::os::raw::c_char,
20501        MinValue: f64,
20502        MaxValue: f64,
20503        ObjectModel3DSelected: *mut Hlong,
20504    ) -> Herror;
20505}
20506unsafe extern "C" {
20507    pub fn T_area_object_model_3d(ObjectModel3D: Htuple, Area: *mut Htuple) -> Herror;
20508}
20509unsafe extern "C" {
20510    pub fn area_object_model_3d(ObjectModel3D: Hlong, Area: *mut f64) -> Herror;
20511}
20512unsafe extern "C" {
20513    pub fn T_max_diameter_object_model_3d(ObjectModel3D: Htuple, Diameter: *mut Htuple) -> Herror;
20514}
20515unsafe extern "C" {
20516    pub fn max_diameter_object_model_3d(ObjectModel3D: Hlong, Diameter: *mut f64) -> Herror;
20517}
20518unsafe extern "C" {
20519    pub fn T_moments_object_model_3d(
20520        ObjectModel3D: Htuple,
20521        MomentsToCalculate: Htuple,
20522        Moments: *mut Htuple,
20523    ) -> Herror;
20524}
20525unsafe extern "C" {
20526    pub fn moments_object_model_3d(
20527        ObjectModel3D: Hlong,
20528        MomentsToCalculate: *const ::std::os::raw::c_char,
20529        Moments: *mut f64,
20530    ) -> Herror;
20531}
20532unsafe extern "C" {
20533    pub fn T_volume_object_model_3d_relative_to_plane(
20534        ObjectModel3D: Htuple,
20535        Plane: Htuple,
20536        Mode: Htuple,
20537        UseFaceOrientation: Htuple,
20538        Volume: *mut Htuple,
20539    ) -> Herror;
20540}
20541unsafe extern "C" {
20542    pub fn T_reduce_object_model_3d_by_view(
20543        Region: Hobject,
20544        ObjectModel3D: Htuple,
20545        CamParam: Htuple,
20546        Pose: Htuple,
20547        ObjectModel3DReduced: *mut Htuple,
20548    ) -> Herror;
20549}
20550unsafe extern "C" {
20551    pub fn T_connection_object_model_3d(
20552        ObjectModel3D: Htuple,
20553        Feature: Htuple,
20554        Value: Htuple,
20555        ObjectModel3DConnected: *mut Htuple,
20556    ) -> Herror;
20557}
20558unsafe extern "C" {
20559    pub fn T_select_points_object_model_3d(
20560        ObjectModel3D: Htuple,
20561        Attrib: Htuple,
20562        MinValue: Htuple,
20563        MaxValue: Htuple,
20564        ObjectModel3DThresholded: *mut Htuple,
20565    ) -> Herror;
20566}
20567unsafe extern "C" {
20568    pub fn select_points_object_model_3d(
20569        ObjectModel3D: Hlong,
20570        Attrib: *const ::std::os::raw::c_char,
20571        MinValue: f64,
20572        MaxValue: f64,
20573        ObjectModel3DThresholded: *mut Hlong,
20574    ) -> Herror;
20575}
20576unsafe extern "C" {
20577    pub fn T_get_disp_object_model_3d_info(
20578        WindowHandle: Htuple,
20579        Row: Htuple,
20580        Column: Htuple,
20581        Information: Htuple,
20582        Value: *mut Htuple,
20583    ) -> Herror;
20584}
20585unsafe extern "C" {
20586    pub fn get_disp_object_model_3d_info(
20587        WindowHandle: Hlong,
20588        Row: f64,
20589        Column: f64,
20590        Information: *const ::std::os::raw::c_char,
20591        Value: *mut Hlong,
20592    ) -> Herror;
20593}
20594unsafe extern "C" {
20595    pub fn T_render_object_model_3d(
20596        Image: *mut Hobject,
20597        ObjectModel3D: Htuple,
20598        CamParam: Htuple,
20599        Pose: Htuple,
20600        GenParamName: Htuple,
20601        GenParamValue: Htuple,
20602    ) -> Herror;
20603}
20604unsafe extern "C" {
20605    pub fn T_disp_object_model_3d(
20606        WindowHandle: Htuple,
20607        ObjectModel3D: Htuple,
20608        CamParam: Htuple,
20609        Pose: Htuple,
20610        GenParamName: Htuple,
20611        GenParamValue: Htuple,
20612    ) -> Herror;
20613}
20614unsafe extern "C" {
20615    pub fn T_copy_object_model_3d(
20616        ObjectModel3D: Htuple,
20617        Attributes: Htuple,
20618        CopiedObjectModel3D: *mut Htuple,
20619    ) -> Herror;
20620}
20621unsafe extern "C" {
20622    pub fn copy_object_model_3d(
20623        ObjectModel3D: Hlong,
20624        Attributes: *const ::std::os::raw::c_char,
20625        CopiedObjectModel3D: *mut Hlong,
20626    ) -> Herror;
20627}
20628unsafe extern "C" {
20629    pub fn T_prepare_object_model_3d(
20630        ObjectModel3D: Htuple,
20631        Purpose: Htuple,
20632        OverwriteData: Htuple,
20633        GenParamName: Htuple,
20634        GenParamValue: Htuple,
20635    ) -> Herror;
20636}
20637unsafe extern "C" {
20638    pub fn T_object_model_3d_to_xyz(
20639        X: *mut Hobject,
20640        Y: *mut Hobject,
20641        Z: *mut Hobject,
20642        ObjectModel3D: Htuple,
20643        Type: Htuple,
20644        CamParam: Htuple,
20645        Pose: Htuple,
20646    ) -> Herror;
20647}
20648unsafe extern "C" {
20649    pub fn T_xyz_to_object_model_3d(
20650        X: Hobject,
20651        Y: Hobject,
20652        Z: Hobject,
20653        ObjectModel3D: *mut Htuple,
20654    ) -> Herror;
20655}
20656unsafe extern "C" {
20657    pub fn xyz_to_object_model_3d(
20658        X: Hobject,
20659        Y: Hobject,
20660        Z: Hobject,
20661        ObjectModel3D: *mut Hlong,
20662    ) -> Herror;
20663}
20664unsafe extern "C" {
20665    pub fn T_get_object_model_3d_params(
20666        ObjectModel3D: Htuple,
20667        GenParamName: Htuple,
20668        GenParamValue: *mut Htuple,
20669    ) -> Herror;
20670}
20671unsafe extern "C" {
20672    pub fn T_project_object_model_3d(
20673        ModelContours: *mut Hobject,
20674        ObjectModel3D: Htuple,
20675        CamParam: Htuple,
20676        Pose: Htuple,
20677        GenParamName: Htuple,
20678        GenParamValue: Htuple,
20679    ) -> Herror;
20680}
20681unsafe extern "C" {
20682    pub fn T_rigid_trans_object_model_3d(
20683        ObjectModel3D: Htuple,
20684        Pose: Htuple,
20685        ObjectModel3DRigidTrans: *mut Htuple,
20686    ) -> Herror;
20687}
20688unsafe extern "C" {
20689    pub fn T_projective_trans_object_model_3d(
20690        ObjectModel3D: Htuple,
20691        HomMat3D: Htuple,
20692        ObjectModel3DProjectiveTrans: *mut Htuple,
20693    ) -> Herror;
20694}
20695unsafe extern "C" {
20696    pub fn T_affine_trans_object_model_3d(
20697        ObjectModel3D: Htuple,
20698        HomMat3D: Htuple,
20699        ObjectModel3DAffineTrans: *mut Htuple,
20700    ) -> Herror;
20701}
20702unsafe extern "C" {
20703    pub fn T_clear_all_object_model_3d() -> Herror;
20704}
20705unsafe extern "C" {
20706    pub fn clear_all_object_model_3d() -> Herror;
20707}
20708unsafe extern "C" {
20709    pub fn T_clear_object_model_3d(ObjectModel3D: Htuple) -> Herror;
20710}
20711unsafe extern "C" {
20712    pub fn clear_object_model_3d(ObjectModel3D: Hlong) -> Herror;
20713}
20714unsafe extern "C" {
20715    pub fn T_serialize_object_model_3d(
20716        ObjectModel3D: Htuple,
20717        SerializedItemHandle: *mut Htuple,
20718    ) -> Herror;
20719}
20720unsafe extern "C" {
20721    pub fn serialize_object_model_3d(
20722        ObjectModel3D: Hlong,
20723        SerializedItemHandle: *mut Hlong,
20724    ) -> Herror;
20725}
20726unsafe extern "C" {
20727    pub fn T_deserialize_object_model_3d(
20728        SerializedItemHandle: Htuple,
20729        ObjectModel3D: *mut Htuple,
20730    ) -> Herror;
20731}
20732unsafe extern "C" {
20733    pub fn deserialize_object_model_3d(
20734        SerializedItemHandle: Hlong,
20735        ObjectModel3D: *mut Hlong,
20736    ) -> Herror;
20737}
20738unsafe extern "C" {
20739    pub fn T_write_object_model_3d(
20740        ObjectModel3D: Htuple,
20741        FileType: Htuple,
20742        FileName: Htuple,
20743        GenParamName: Htuple,
20744        GenParamValue: Htuple,
20745    ) -> Herror;
20746}
20747unsafe extern "C" {
20748    pub fn write_object_model_3d(
20749        ObjectModel3D: Hlong,
20750        FileType: *const ::std::os::raw::c_char,
20751        FileName: *const ::std::os::raw::c_char,
20752        GenParamName: *const ::std::os::raw::c_char,
20753        GenParamValue: *const ::std::os::raw::c_char,
20754    ) -> Herror;
20755}
20756unsafe extern "C" {
20757    pub fn T_read_object_model_3d(
20758        FileName: Htuple,
20759        Scale: Htuple,
20760        GenParamName: Htuple,
20761        GenParamValue: Htuple,
20762        ObjectModel3D: *mut Htuple,
20763        Status: *mut Htuple,
20764    ) -> Herror;
20765}
20766unsafe extern "C" {
20767    pub fn read_object_model_3d(
20768        FileName: *const ::std::os::raw::c_char,
20769        Scale: *const ::std::os::raw::c_char,
20770        GenParamName: *const ::std::os::raw::c_char,
20771        GenParamValue: *const ::std::os::raw::c_char,
20772        ObjectModel3D: *mut Hlong,
20773        Status: *mut ::std::os::raw::c_char,
20774    ) -> Herror;
20775}
20776unsafe extern "C" {
20777    pub fn T_read_kalman(
20778        FileName: Htuple,
20779        Dimension: *mut Htuple,
20780        Model: *mut Htuple,
20781        Measurement: *mut Htuple,
20782        Prediction: *mut Htuple,
20783    ) -> Herror;
20784}
20785unsafe extern "C" {
20786    pub fn T_update_kalman(
20787        FileName: Htuple,
20788        DimensionIn: Htuple,
20789        ModelIn: Htuple,
20790        MeasurementIn: Htuple,
20791        DimensionOut: *mut Htuple,
20792        ModelOut: *mut Htuple,
20793        MeasurementOut: *mut Htuple,
20794    ) -> Herror;
20795}
20796unsafe extern "C" {
20797    pub fn T_filter_kalman(
20798        Dimension: Htuple,
20799        Model: Htuple,
20800        Measurement: Htuple,
20801        PredictionIn: Htuple,
20802        PredictionOut: *mut Htuple,
20803        Estimate: *mut Htuple,
20804    ) -> Herror;
20805}
20806unsafe extern "C" {
20807    pub fn T_query_operator_info(Slots: *mut Htuple) -> Herror;
20808}
20809unsafe extern "C" {
20810    pub fn T_query_param_info(Slots: *mut Htuple) -> Herror;
20811}
20812unsafe extern "C" {
20813    pub fn T_get_operator_name(Pattern: Htuple, OperatorNames: *mut Htuple) -> Herror;
20814}
20815unsafe extern "C" {
20816    pub fn T_get_param_types(
20817        OperatorName: Htuple,
20818        InpCtrlParType: *mut Htuple,
20819        OutpCtrlParType: *mut Htuple,
20820    ) -> Herror;
20821}
20822unsafe extern "C" {
20823    pub fn T_get_param_num(
20824        OperatorName: Htuple,
20825        CName: *mut Htuple,
20826        InpObjPar: *mut Htuple,
20827        OutpObjPar: *mut Htuple,
20828        InpCtrlPar: *mut Htuple,
20829        OutpCtrlPar: *mut Htuple,
20830        Type: *mut Htuple,
20831    ) -> Herror;
20832}
20833unsafe extern "C" {
20834    pub fn get_param_num(
20835        OperatorName: *const ::std::os::raw::c_char,
20836        CName: *mut ::std::os::raw::c_char,
20837        InpObjPar: *mut Hlong,
20838        OutpObjPar: *mut Hlong,
20839        InpCtrlPar: *mut Hlong,
20840        OutpCtrlPar: *mut Hlong,
20841        Type: *mut ::std::os::raw::c_char,
20842    ) -> Herror;
20843}
20844unsafe extern "C" {
20845    pub fn T_get_param_names(
20846        OperatorName: Htuple,
20847        InpObjPar: *mut Htuple,
20848        OutpObjPar: *mut Htuple,
20849        InpCtrlPar: *mut Htuple,
20850        OutpCtrlPar: *mut Htuple,
20851    ) -> Herror;
20852}
20853unsafe extern "C" {
20854    pub fn T_get_operator_info(
20855        OperatorName: Htuple,
20856        Slot: Htuple,
20857        Information: *mut Htuple,
20858    ) -> Herror;
20859}
20860unsafe extern "C" {
20861    pub fn get_operator_info(
20862        OperatorName: *const ::std::os::raw::c_char,
20863        Slot: *const ::std::os::raw::c_char,
20864        Information: *mut ::std::os::raw::c_char,
20865    ) -> Herror;
20866}
20867unsafe extern "C" {
20868    pub fn T_get_param_info(
20869        OperatorName: Htuple,
20870        ParamName: Htuple,
20871        Slot: Htuple,
20872        Information: *mut Htuple,
20873    ) -> Herror;
20874}
20875unsafe extern "C" {
20876    pub fn get_param_info(
20877        OperatorName: *const ::std::os::raw::c_char,
20878        ParamName: *const ::std::os::raw::c_char,
20879        Slot: *const ::std::os::raw::c_char,
20880        Information: *mut ::std::os::raw::c_char,
20881    ) -> Herror;
20882}
20883unsafe extern "C" {
20884    pub fn T_search_operator(Keyword: Htuple, OperatorNames: *mut Htuple) -> Herror;
20885}
20886unsafe extern "C" {
20887    pub fn T_get_keywords(OperatorName: Htuple, Keywords: *mut Htuple) -> Herror;
20888}
20889unsafe extern "C" {
20890    pub fn T_get_chapter_info(Chapter: Htuple, Info: *mut Htuple) -> Herror;
20891}
20892unsafe extern "C" {
20893    pub fn T_channels_to_image(Images: Hobject, MultiChannelImage: *mut Hobject) -> Herror;
20894}
20895unsafe extern "C" {
20896    pub fn channels_to_image(Images: Hobject, MultiChannelImage: *mut Hobject) -> Herror;
20897}
20898unsafe extern "C" {
20899    pub fn T_image_to_channels(MultiChannelImage: Hobject, Images: *mut Hobject) -> Herror;
20900}
20901unsafe extern "C" {
20902    pub fn image_to_channels(MultiChannelImage: Hobject, Images: *mut Hobject) -> Herror;
20903}
20904unsafe extern "C" {
20905    pub fn T_compose7(
20906        Image1: Hobject,
20907        Image2: Hobject,
20908        Image3: Hobject,
20909        Image4: Hobject,
20910        Image5: Hobject,
20911        Image6: Hobject,
20912        Image7: Hobject,
20913        MultiChannelImage: *mut Hobject,
20914    ) -> Herror;
20915}
20916unsafe extern "C" {
20917    pub fn compose7(
20918        Image1: Hobject,
20919        Image2: Hobject,
20920        Image3: Hobject,
20921        Image4: Hobject,
20922        Image5: Hobject,
20923        Image6: Hobject,
20924        Image7: Hobject,
20925        MultiChannelImage: *mut Hobject,
20926    ) -> Herror;
20927}
20928unsafe extern "C" {
20929    pub fn T_compose6(
20930        Image1: Hobject,
20931        Image2: Hobject,
20932        Image3: Hobject,
20933        Image4: Hobject,
20934        Image5: Hobject,
20935        Image6: Hobject,
20936        MultiChannelImage: *mut Hobject,
20937    ) -> Herror;
20938}
20939unsafe extern "C" {
20940    pub fn compose6(
20941        Image1: Hobject,
20942        Image2: Hobject,
20943        Image3: Hobject,
20944        Image4: Hobject,
20945        Image5: Hobject,
20946        Image6: Hobject,
20947        MultiChannelImage: *mut Hobject,
20948    ) -> Herror;
20949}
20950unsafe extern "C" {
20951    pub fn T_compose5(
20952        Image1: Hobject,
20953        Image2: Hobject,
20954        Image3: Hobject,
20955        Image4: Hobject,
20956        Image5: Hobject,
20957        MultiChannelImage: *mut Hobject,
20958    ) -> Herror;
20959}
20960unsafe extern "C" {
20961    pub fn compose5(
20962        Image1: Hobject,
20963        Image2: Hobject,
20964        Image3: Hobject,
20965        Image4: Hobject,
20966        Image5: Hobject,
20967        MultiChannelImage: *mut Hobject,
20968    ) -> Herror;
20969}
20970unsafe extern "C" {
20971    pub fn T_compose4(
20972        Image1: Hobject,
20973        Image2: Hobject,
20974        Image3: Hobject,
20975        Image4: Hobject,
20976        MultiChannelImage: *mut Hobject,
20977    ) -> Herror;
20978}
20979unsafe extern "C" {
20980    pub fn compose4(
20981        Image1: Hobject,
20982        Image2: Hobject,
20983        Image3: Hobject,
20984        Image4: Hobject,
20985        MultiChannelImage: *mut Hobject,
20986    ) -> Herror;
20987}
20988unsafe extern "C" {
20989    pub fn T_compose3(
20990        Image1: Hobject,
20991        Image2: Hobject,
20992        Image3: Hobject,
20993        MultiChannelImage: *mut Hobject,
20994    ) -> Herror;
20995}
20996unsafe extern "C" {
20997    pub fn compose3(
20998        Image1: Hobject,
20999        Image2: Hobject,
21000        Image3: Hobject,
21001        MultiChannelImage: *mut Hobject,
21002    ) -> Herror;
21003}
21004unsafe extern "C" {
21005    pub fn T_compose2(Image1: Hobject, Image2: Hobject, MultiChannelImage: *mut Hobject) -> Herror;
21006}
21007unsafe extern "C" {
21008    pub fn compose2(Image1: Hobject, Image2: Hobject, MultiChannelImage: *mut Hobject) -> Herror;
21009}
21010unsafe extern "C" {
21011    pub fn T_decompose7(
21012        MultiChannelImage: Hobject,
21013        Image1: *mut Hobject,
21014        Image2: *mut Hobject,
21015        Image3: *mut Hobject,
21016        Image4: *mut Hobject,
21017        Image5: *mut Hobject,
21018        Image6: *mut Hobject,
21019        Image7: *mut Hobject,
21020    ) -> Herror;
21021}
21022unsafe extern "C" {
21023    pub fn decompose7(
21024        MultiChannelImage: Hobject,
21025        Image1: *mut Hobject,
21026        Image2: *mut Hobject,
21027        Image3: *mut Hobject,
21028        Image4: *mut Hobject,
21029        Image5: *mut Hobject,
21030        Image6: *mut Hobject,
21031        Image7: *mut Hobject,
21032    ) -> Herror;
21033}
21034unsafe extern "C" {
21035    pub fn T_decompose6(
21036        MultiChannelImage: Hobject,
21037        Image1: *mut Hobject,
21038        Image2: *mut Hobject,
21039        Image3: *mut Hobject,
21040        Image4: *mut Hobject,
21041        Image5: *mut Hobject,
21042        Image6: *mut Hobject,
21043    ) -> Herror;
21044}
21045unsafe extern "C" {
21046    pub fn decompose6(
21047        MultiChannelImage: Hobject,
21048        Image1: *mut Hobject,
21049        Image2: *mut Hobject,
21050        Image3: *mut Hobject,
21051        Image4: *mut Hobject,
21052        Image5: *mut Hobject,
21053        Image6: *mut Hobject,
21054    ) -> Herror;
21055}
21056unsafe extern "C" {
21057    pub fn T_decompose5(
21058        MultiChannelImage: Hobject,
21059        Image1: *mut Hobject,
21060        Image2: *mut Hobject,
21061        Image3: *mut Hobject,
21062        Image4: *mut Hobject,
21063        Image5: *mut Hobject,
21064    ) -> Herror;
21065}
21066unsafe extern "C" {
21067    pub fn decompose5(
21068        MultiChannelImage: Hobject,
21069        Image1: *mut Hobject,
21070        Image2: *mut Hobject,
21071        Image3: *mut Hobject,
21072        Image4: *mut Hobject,
21073        Image5: *mut Hobject,
21074    ) -> Herror;
21075}
21076unsafe extern "C" {
21077    pub fn T_decompose4(
21078        MultiChannelImage: Hobject,
21079        Image1: *mut Hobject,
21080        Image2: *mut Hobject,
21081        Image3: *mut Hobject,
21082        Image4: *mut Hobject,
21083    ) -> Herror;
21084}
21085unsafe extern "C" {
21086    pub fn decompose4(
21087        MultiChannelImage: Hobject,
21088        Image1: *mut Hobject,
21089        Image2: *mut Hobject,
21090        Image3: *mut Hobject,
21091        Image4: *mut Hobject,
21092    ) -> Herror;
21093}
21094unsafe extern "C" {
21095    pub fn T_decompose3(
21096        MultiChannelImage: Hobject,
21097        Image1: *mut Hobject,
21098        Image2: *mut Hobject,
21099        Image3: *mut Hobject,
21100    ) -> Herror;
21101}
21102unsafe extern "C" {
21103    pub fn decompose3(
21104        MultiChannelImage: Hobject,
21105        Image1: *mut Hobject,
21106        Image2: *mut Hobject,
21107        Image3: *mut Hobject,
21108    ) -> Herror;
21109}
21110unsafe extern "C" {
21111    pub fn T_decompose2(
21112        MultiChannelImage: Hobject,
21113        Image1: *mut Hobject,
21114        Image2: *mut Hobject,
21115    ) -> Herror;
21116}
21117unsafe extern "C" {
21118    pub fn decompose2(
21119        MultiChannelImage: Hobject,
21120        Image1: *mut Hobject,
21121        Image2: *mut Hobject,
21122    ) -> Herror;
21123}
21124unsafe extern "C" {
21125    pub fn T_count_channels(MultiChannelImage: Hobject, Channels: *mut Htuple) -> Herror;
21126}
21127unsafe extern "C" {
21128    pub fn count_channels(MultiChannelImage: Hobject, Channels: *mut Hlong) -> Herror;
21129}
21130unsafe extern "C" {
21131    pub fn T_append_channel(
21132        MultiChannelImage: Hobject,
21133        Image: Hobject,
21134        ImageExtended: *mut Hobject,
21135    ) -> Herror;
21136}
21137unsafe extern "C" {
21138    pub fn append_channel(
21139        MultiChannelImage: Hobject,
21140        Image: Hobject,
21141        ImageExtended: *mut Hobject,
21142    ) -> Herror;
21143}
21144unsafe extern "C" {
21145    pub fn T_access_channel(
21146        MultiChannelImage: Hobject,
21147        Image: *mut Hobject,
21148        Channel: Htuple,
21149    ) -> Herror;
21150}
21151unsafe extern "C" {
21152    pub fn access_channel(
21153        MultiChannelImage: Hobject,
21154        Image: *mut Hobject,
21155        Channel: Hlong,
21156    ) -> Herror;
21157}
21158unsafe extern "C" {
21159    pub fn T_tile_images_offset(
21160        Images: Hobject,
21161        TiledImage: *mut Hobject,
21162        OffsetRow: Htuple,
21163        OffsetCol: Htuple,
21164        Row1: Htuple,
21165        Col1: Htuple,
21166        Row2: Htuple,
21167        Col2: Htuple,
21168        Width: Htuple,
21169        Height: Htuple,
21170    ) -> Herror;
21171}
21172unsafe extern "C" {
21173    pub fn tile_images_offset(
21174        Images: Hobject,
21175        TiledImage: *mut Hobject,
21176        OffsetRow: Hlong,
21177        OffsetCol: Hlong,
21178        Row1: Hlong,
21179        Col1: Hlong,
21180        Row2: Hlong,
21181        Col2: Hlong,
21182        Width: Hlong,
21183        Height: Hlong,
21184    ) -> Herror;
21185}
21186unsafe extern "C" {
21187    pub fn T_tile_images(
21188        Images: Hobject,
21189        TiledImage: *mut Hobject,
21190        NumColumns: Htuple,
21191        TileOrder: Htuple,
21192    ) -> Herror;
21193}
21194unsafe extern "C" {
21195    pub fn tile_images(
21196        Images: Hobject,
21197        TiledImage: *mut Hobject,
21198        NumColumns: Hlong,
21199        TileOrder: *const ::std::os::raw::c_char,
21200    ) -> Herror;
21201}
21202unsafe extern "C" {
21203    pub fn T_tile_channels(
21204        Image: Hobject,
21205        TiledImage: *mut Hobject,
21206        NumColumns: Htuple,
21207        TileOrder: Htuple,
21208    ) -> Herror;
21209}
21210unsafe extern "C" {
21211    pub fn tile_channels(
21212        Image: Hobject,
21213        TiledImage: *mut Hobject,
21214        NumColumns: Hlong,
21215        TileOrder: *const ::std::os::raw::c_char,
21216    ) -> Herror;
21217}
21218unsafe extern "C" {
21219    pub fn T_crop_domain(Image: Hobject, ImagePart: *mut Hobject) -> Herror;
21220}
21221unsafe extern "C" {
21222    pub fn crop_domain(Image: Hobject, ImagePart: *mut Hobject) -> Herror;
21223}
21224unsafe extern "C" {
21225    pub fn T_crop_rectangle1(
21226        Image: Hobject,
21227        ImagePart: *mut Hobject,
21228        Row1: Htuple,
21229        Column1: Htuple,
21230        Row2: Htuple,
21231        Column2: Htuple,
21232    ) -> Herror;
21233}
21234unsafe extern "C" {
21235    pub fn crop_rectangle1(
21236        Image: Hobject,
21237        ImagePart: *mut Hobject,
21238        Row1: Hlong,
21239        Column1: Hlong,
21240        Row2: Hlong,
21241        Column2: Hlong,
21242    ) -> Herror;
21243}
21244unsafe extern "C" {
21245    pub fn T_crop_part(
21246        Image: Hobject,
21247        ImagePart: *mut Hobject,
21248        Row: Htuple,
21249        Column: Htuple,
21250        Width: Htuple,
21251        Height: Htuple,
21252    ) -> Herror;
21253}
21254unsafe extern "C" {
21255    pub fn crop_part(
21256        Image: Hobject,
21257        ImagePart: *mut Hobject,
21258        Row: Hlong,
21259        Column: Hlong,
21260        Width: Hlong,
21261        Height: Hlong,
21262    ) -> Herror;
21263}
21264unsafe extern "C" {
21265    pub fn T_change_format(
21266        Image: Hobject,
21267        ImagePart: *mut Hobject,
21268        Width: Htuple,
21269        Height: Htuple,
21270    ) -> Herror;
21271}
21272unsafe extern "C" {
21273    pub fn change_format(
21274        Image: Hobject,
21275        ImagePart: *mut Hobject,
21276        Width: Hlong,
21277        Height: Hlong,
21278    ) -> Herror;
21279}
21280unsafe extern "C" {
21281    pub fn T_change_domain(Image: Hobject, NewDomain: Hobject, ImageNew: *mut Hobject) -> Herror;
21282}
21283unsafe extern "C" {
21284    pub fn change_domain(Image: Hobject, NewDomain: Hobject, ImageNew: *mut Hobject) -> Herror;
21285}
21286unsafe extern "C" {
21287    pub fn T_add_channels(Regions: Hobject, Image: Hobject, GrayRegions: *mut Hobject) -> Herror;
21288}
21289unsafe extern "C" {
21290    pub fn add_channels(Regions: Hobject, Image: Hobject, GrayRegions: *mut Hobject) -> Herror;
21291}
21292unsafe extern "C" {
21293    pub fn T_rectangle1_domain(
21294        Image: Hobject,
21295        ImageReduced: *mut Hobject,
21296        Row1: Htuple,
21297        Column1: Htuple,
21298        Row2: Htuple,
21299        Column2: Htuple,
21300    ) -> Herror;
21301}
21302unsafe extern "C" {
21303    pub fn rectangle1_domain(
21304        Image: Hobject,
21305        ImageReduced: *mut Hobject,
21306        Row1: Hlong,
21307        Column1: Hlong,
21308        Row2: Hlong,
21309        Column2: Hlong,
21310    ) -> Herror;
21311}
21312unsafe extern "C" {
21313    pub fn T_reduce_domain(Image: Hobject, Region: Hobject, ImageReduced: *mut Hobject) -> Herror;
21314}
21315unsafe extern "C" {
21316    pub fn reduce_domain(Image: Hobject, Region: Hobject, ImageReduced: *mut Hobject) -> Herror;
21317}
21318unsafe extern "C" {
21319    pub fn T_full_domain(Image: Hobject, ImageFull: *mut Hobject) -> Herror;
21320}
21321unsafe extern "C" {
21322    pub fn full_domain(Image: Hobject, ImageFull: *mut Hobject) -> Herror;
21323}
21324unsafe extern "C" {
21325    pub fn T_get_domain(Image: Hobject, Domain: *mut Hobject) -> Herror;
21326}
21327unsafe extern "C" {
21328    pub fn get_domain(Image: Hobject, Domain: *mut Hobject) -> Herror;
21329}
21330unsafe extern "C" {
21331    pub fn T_hough_circles(
21332        RegionIn: Hobject,
21333        RegionOut: *mut Hobject,
21334        Radius: Htuple,
21335        Percent: Htuple,
21336        Mode: Htuple,
21337    ) -> Herror;
21338}
21339unsafe extern "C" {
21340    pub fn hough_circles(
21341        RegionIn: Hobject,
21342        RegionOut: *mut Hobject,
21343        Radius: Hlong,
21344        Percent: Hlong,
21345        Mode: Hlong,
21346    ) -> Herror;
21347}
21348unsafe extern "C" {
21349    pub fn T_hough_circle_trans(
21350        Region: Hobject,
21351        HoughImage: *mut Hobject,
21352        Radius: Htuple,
21353    ) -> Herror;
21354}
21355unsafe extern "C" {
21356    pub fn hough_circle_trans(Region: Hobject, HoughImage: *mut Hobject, Radius: Hlong) -> Herror;
21357}
21358unsafe extern "C" {
21359    pub fn T_hough_lines_dir(
21360        ImageDir: Hobject,
21361        HoughImage: *mut Hobject,
21362        Lines: *mut Hobject,
21363        DirectionUncertainty: Htuple,
21364        AngleResolution: Htuple,
21365        Smoothing: Htuple,
21366        FilterSize: Htuple,
21367        Threshold: Htuple,
21368        AngleGap: Htuple,
21369        DistGap: Htuple,
21370        GenLines: Htuple,
21371        Angle: *mut Htuple,
21372        Dist: *mut Htuple,
21373    ) -> Herror;
21374}
21375unsafe extern "C" {
21376    pub fn T_hough_line_trans_dir(
21377        ImageDir: Hobject,
21378        HoughImage: *mut Hobject,
21379        DirectionUncertainty: Htuple,
21380        AngleResolution: Htuple,
21381    ) -> Herror;
21382}
21383unsafe extern "C" {
21384    pub fn hough_line_trans_dir(
21385        ImageDir: Hobject,
21386        HoughImage: *mut Hobject,
21387        DirectionUncertainty: Hlong,
21388        AngleResolution: Hlong,
21389    ) -> Herror;
21390}
21391unsafe extern "C" {
21392    pub fn T_hough_lines(
21393        RegionIn: Hobject,
21394        AngleResolution: Htuple,
21395        Threshold: Htuple,
21396        AngleGap: Htuple,
21397        DistGap: Htuple,
21398        Angle: *mut Htuple,
21399        Dist: *mut Htuple,
21400    ) -> Herror;
21401}
21402unsafe extern "C" {
21403    pub fn T_hough_line_trans(
21404        Region: Hobject,
21405        HoughImage: *mut Hobject,
21406        AngleResolution: Htuple,
21407    ) -> Herror;
21408}
21409unsafe extern "C" {
21410    pub fn hough_line_trans(
21411        Region: Hobject,
21412        HoughImage: *mut Hobject,
21413        AngleResolution: Hlong,
21414    ) -> Herror;
21415}
21416unsafe extern "C" {
21417    pub fn T_select_matching_lines(
21418        RegionIn: Hobject,
21419        RegionLines: *mut Hobject,
21420        AngleIn: Htuple,
21421        DistIn: Htuple,
21422        LineWidth: Htuple,
21423        Thresh: Htuple,
21424        AngleOut: *mut Htuple,
21425        DistOut: *mut Htuple,
21426    ) -> Herror;
21427}
21428unsafe extern "C" {
21429    pub fn select_matching_lines(
21430        RegionIn: Hobject,
21431        RegionLines: *mut Hobject,
21432        AngleIn: f64,
21433        DistIn: f64,
21434        LineWidth: Hlong,
21435        Thresh: Hlong,
21436        AngleOut: *mut f64,
21437        DistOut: *mut f64,
21438    ) -> Herror;
21439}
21440unsafe extern "C" {
21441    pub fn T_find_rectification_grid(
21442        Image: Hobject,
21443        GridRegion: *mut Hobject,
21444        MinContrast: Htuple,
21445        Radius: Htuple,
21446    ) -> Herror;
21447}
21448unsafe extern "C" {
21449    pub fn find_rectification_grid(
21450        Image: Hobject,
21451        GridRegion: *mut Hobject,
21452        MinContrast: f64,
21453        Radius: f64,
21454    ) -> Herror;
21455}
21456unsafe extern "C" {
21457    pub fn T_create_rectification_grid(
21458        Width: Htuple,
21459        NumSquares: Htuple,
21460        GridFile: Htuple,
21461    ) -> Herror;
21462}
21463unsafe extern "C" {
21464    pub fn create_rectification_grid(
21465        Width: f64,
21466        NumSquares: Hlong,
21467        GridFile: *const ::std::os::raw::c_char,
21468    ) -> Herror;
21469}
21470unsafe extern "C" {
21471    pub fn T_connect_grid_points(
21472        Image: Hobject,
21473        ConnectingLines: *mut Hobject,
21474        Row: Htuple,
21475        Column: Htuple,
21476        Sigma: Htuple,
21477        MaxDist: Htuple,
21478    ) -> Herror;
21479}
21480unsafe extern "C" {
21481    pub fn T_gen_grid_rectification_map(
21482        Image: Hobject,
21483        ConnectingLines: Hobject,
21484        Map: *mut Hobject,
21485        Meshes: *mut Hobject,
21486        GridSpacing: Htuple,
21487        Rotation: Htuple,
21488        Row: Htuple,
21489        Column: Htuple,
21490        MapType: Htuple,
21491    ) -> Herror;
21492}
21493unsafe extern "C" {
21494    pub fn T_gen_arbitrary_distortion_map(
21495        Map: *mut Hobject,
21496        GridSpacing: Htuple,
21497        Row: Htuple,
21498        Column: Htuple,
21499        GridWidth: Htuple,
21500        ImageWidth: Htuple,
21501        ImageHeight: Htuple,
21502        MapType: Htuple,
21503    ) -> Herror;
21504}
21505unsafe extern "C" {
21506    pub fn T_get_window_background_image(
21507        BackgroundImage: *mut Hobject,
21508        WindowHandle: Htuple,
21509    ) -> Herror;
21510}
21511unsafe extern "C" {
21512    pub fn get_window_background_image(
21513        BackgroundImage: *mut Hobject,
21514        WindowHandle: Hlong,
21515    ) -> Herror;
21516}
21517unsafe extern "C" {
21518    pub fn T_set_drawing_object_callback(
21519        DrawHandle: Htuple,
21520        DrawObjectEvent: Htuple,
21521        CallbackFunction: Htuple,
21522    ) -> Herror;
21523}
21524unsafe extern "C" {
21525    pub fn set_drawing_object_callback(
21526        DrawHandle: Hlong,
21527        DrawObjectEvent: *const ::std::os::raw::c_char,
21528        CallbackFunction: Hlong,
21529    ) -> Herror;
21530}
21531unsafe extern "C" {
21532    pub fn T_detach_background_from_window(WindowHandle: Htuple) -> Herror;
21533}
21534unsafe extern "C" {
21535    pub fn detach_background_from_window(WindowHandle: Hlong) -> Herror;
21536}
21537unsafe extern "C" {
21538    pub fn T_attach_background_to_window(Image: Hobject, WindowHandle: Htuple) -> Herror;
21539}
21540unsafe extern "C" {
21541    pub fn attach_background_to_window(Image: Hobject, WindowHandle: Hlong) -> Herror;
21542}
21543unsafe extern "C" {
21544    pub fn T_detach_drawing_object_from_window(WindowHandle: Htuple, DrawHandle: Htuple) -> Herror;
21545}
21546unsafe extern "C" {
21547    pub fn detach_drawing_object_from_window(WindowHandle: Hlong, DrawHandle: Hlong) -> Herror;
21548}
21549unsafe extern "C" {
21550    pub fn T_attach_drawing_object_to_window(WindowHandle: Htuple, DrawHandle: Htuple) -> Herror;
21551}
21552unsafe extern "C" {
21553    pub fn attach_drawing_object_to_window(WindowHandle: Hlong, DrawHandle: Hlong) -> Herror;
21554}
21555unsafe extern "C" {
21556    pub fn T_update_window_pose(
21557        WindowHandle: Htuple,
21558        LastRow: Htuple,
21559        LastCol: Htuple,
21560        CurrentRow: Htuple,
21561        CurrentCol: Htuple,
21562        Mode: Htuple,
21563    ) -> Herror;
21564}
21565unsafe extern "C" {
21566    pub fn update_window_pose(
21567        WindowHandle: Hlong,
21568        LastRow: f64,
21569        LastCol: f64,
21570        CurrentRow: f64,
21571        CurrentCol: f64,
21572        Mode: *const ::std::os::raw::c_char,
21573    ) -> Herror;
21574}
21575unsafe extern "C" {
21576    pub fn T_unproject_coordinates(
21577        Image: Hobject,
21578        WindowHandle: Htuple,
21579        Row: Htuple,
21580        Column: Htuple,
21581        ImageRow: *mut Htuple,
21582        ImageColumn: *mut Htuple,
21583        Height: *mut Htuple,
21584    ) -> Herror;
21585}
21586unsafe extern "C" {
21587    pub fn unproject_coordinates(
21588        Image: Hobject,
21589        WindowHandle: Hlong,
21590        Row: f64,
21591        Column: f64,
21592        ImageRow: *mut Hlong,
21593        ImageColumn: *mut Hlong,
21594        Height: *mut Hlong,
21595    ) -> Herror;
21596}
21597unsafe extern "C" {
21598    pub fn T_get_os_window_handle(
21599        WindowHandle: Htuple,
21600        OSWindowHandle: *mut Htuple,
21601        OSDisplayHandle: *mut Htuple,
21602    ) -> Herror;
21603}
21604unsafe extern "C" {
21605    pub fn get_os_window_handle(
21606        WindowHandle: Hlong,
21607        OSWindowHandle: *mut Hlong,
21608        OSDisplayHandle: *mut Hlong,
21609    ) -> Herror;
21610}
21611unsafe extern "C" {
21612    pub fn T_set_window_dc(WindowHandle: Htuple, WINHDC: Htuple) -> Herror;
21613}
21614unsafe extern "C" {
21615    pub fn set_window_dc(WindowHandle: Hlong, WINHDC: Hlong) -> Herror;
21616}
21617unsafe extern "C" {
21618    pub fn T_new_extern_window(
21619        WINHWnd: Htuple,
21620        Row: Htuple,
21621        Column: Htuple,
21622        Width: Htuple,
21623        Height: Htuple,
21624        WindowHandle: *mut Htuple,
21625    ) -> Herror;
21626}
21627unsafe extern "C" {
21628    pub fn new_extern_window(
21629        WINHWnd: Hlong,
21630        Row: Hlong,
21631        Column: Hlong,
21632        Width: Hlong,
21633        Height: Hlong,
21634        WindowHandle: *mut Hlong,
21635    ) -> Herror;
21636}
21637unsafe extern "C" {
21638    pub fn T_slide_image(
21639        WindowHandleSource1: Htuple,
21640        WindowHandleSource2: Htuple,
21641        WindowHandle: Htuple,
21642    ) -> Herror;
21643}
21644unsafe extern "C" {
21645    pub fn slide_image(
21646        WindowHandleSource1: Hlong,
21647        WindowHandleSource2: Hlong,
21648        WindowHandle: Hlong,
21649    ) -> Herror;
21650}
21651unsafe extern "C" {
21652    pub fn T_set_window_type(WindowType: Htuple) -> Herror;
21653}
21654unsafe extern "C" {
21655    pub fn set_window_type(WindowType: *const ::std::os::raw::c_char) -> Herror;
21656}
21657unsafe extern "C" {
21658    pub fn T_set_window_extents(
21659        WindowHandle: Htuple,
21660        Row: Htuple,
21661        Column: Htuple,
21662        Width: Htuple,
21663        Height: Htuple,
21664    ) -> Herror;
21665}
21666unsafe extern "C" {
21667    pub fn set_window_extents(
21668        WindowHandle: Hlong,
21669        Row: Hlong,
21670        Column: Hlong,
21671        Width: Hlong,
21672        Height: Hlong,
21673    ) -> Herror;
21674}
21675unsafe extern "C" {
21676    pub fn T_get_window_attr(AttributeName: Htuple, AttributeValue: *mut Htuple) -> Herror;
21677}
21678unsafe extern "C" {
21679    pub fn get_window_attr(
21680        AttributeName: *const ::std::os::raw::c_char,
21681        AttributeValue: *mut ::std::os::raw::c_char,
21682    ) -> Herror;
21683}
21684unsafe extern "C" {
21685    pub fn T_set_window_attr(AttributeName: Htuple, AttributeValue: Htuple) -> Herror;
21686}
21687unsafe extern "C" {
21688    pub fn set_window_attr(
21689        AttributeName: *const ::std::os::raw::c_char,
21690        AttributeValue: *const ::std::os::raw::c_char,
21691    ) -> Herror;
21692}
21693unsafe extern "C" {
21694    pub fn T_query_window_type(WindowTypes: *mut Htuple) -> Herror;
21695}
21696unsafe extern "C" {
21697    pub fn T_open_window(
21698        Row: Htuple,
21699        Column: Htuple,
21700        Width: Htuple,
21701        Height: Htuple,
21702        FatherWindow: Htuple,
21703        Mode: Htuple,
21704        Machine: Htuple,
21705        WindowHandle: *mut Htuple,
21706    ) -> Herror;
21707}
21708unsafe extern "C" {
21709    pub fn open_window(
21710        Row: Hlong,
21711        Column: Hlong,
21712        Width: Hlong,
21713        Height: Hlong,
21714        FatherWindow: Hlong,
21715        Mode: *const ::std::os::raw::c_char,
21716        Machine: *const ::std::os::raw::c_char,
21717        WindowHandle: *mut Hlong,
21718    ) -> Herror;
21719}
21720unsafe extern "C" {
21721    pub fn T_open_textwindow(
21722        Row: Htuple,
21723        Column: Htuple,
21724        Width: Htuple,
21725        Height: Htuple,
21726        BorderWidth: Htuple,
21727        BorderColor: Htuple,
21728        BackgroundColor: Htuple,
21729        FatherWindow: Htuple,
21730        Mode: Htuple,
21731        Machine: Htuple,
21732        WindowHandle: *mut Htuple,
21733    ) -> Herror;
21734}
21735unsafe extern "C" {
21736    pub fn open_textwindow(
21737        Row: Hlong,
21738        Column: Hlong,
21739        Width: Hlong,
21740        Height: Hlong,
21741        BorderWidth: Hlong,
21742        BorderColor: *const ::std::os::raw::c_char,
21743        BackgroundColor: *const ::std::os::raw::c_char,
21744        FatherWindow: Hlong,
21745        Mode: *const ::std::os::raw::c_char,
21746        Machine: *const ::std::os::raw::c_char,
21747        WindowHandle: *mut Hlong,
21748    ) -> Herror;
21749}
21750unsafe extern "C" {
21751    pub fn T_move_rectangle(
21752        WindowHandle: Htuple,
21753        Row1: Htuple,
21754        Column1: Htuple,
21755        Row2: Htuple,
21756        Column2: Htuple,
21757        DestRow: Htuple,
21758        DestColumn: Htuple,
21759    ) -> Herror;
21760}
21761unsafe extern "C" {
21762    pub fn move_rectangle(
21763        WindowHandle: Hlong,
21764        Row1: Hlong,
21765        Column1: Hlong,
21766        Row2: Hlong,
21767        Column2: Hlong,
21768        DestRow: Hlong,
21769        DestColumn: Hlong,
21770    ) -> Herror;
21771}
21772unsafe extern "C" {
21773    pub fn T_get_window_type(WindowHandle: Htuple, WindowType: *mut Htuple) -> Herror;
21774}
21775unsafe extern "C" {
21776    pub fn get_window_type(WindowHandle: Hlong, WindowType: *mut ::std::os::raw::c_char) -> Herror;
21777}
21778unsafe extern "C" {
21779    pub fn T_get_window_pointer3(
21780        WindowHandle: Htuple,
21781        ImageRed: *mut Htuple,
21782        ImageGreen: *mut Htuple,
21783        ImageBlue: *mut Htuple,
21784        Width: *mut Htuple,
21785        Height: *mut Htuple,
21786    ) -> Herror;
21787}
21788unsafe extern "C" {
21789    pub fn get_window_pointer3(
21790        WindowHandle: Hlong,
21791        ImageRed: *mut Hlong,
21792        ImageGreen: *mut Hlong,
21793        ImageBlue: *mut Hlong,
21794        Width: *mut Hlong,
21795        Height: *mut Hlong,
21796    ) -> Herror;
21797}
21798unsafe extern "C" {
21799    pub fn T_get_window_extents(
21800        WindowHandle: Htuple,
21801        Row: *mut Htuple,
21802        Column: *mut Htuple,
21803        Width: *mut Htuple,
21804        Height: *mut Htuple,
21805    ) -> Herror;
21806}
21807unsafe extern "C" {
21808    pub fn get_window_extents(
21809        WindowHandle: Hlong,
21810        Row: *mut Hlong,
21811        Column: *mut Hlong,
21812        Width: *mut Hlong,
21813        Height: *mut Hlong,
21814    ) -> Herror;
21815}
21816unsafe extern "C" {
21817    pub fn T_dump_window_image(Image: *mut Hobject, WindowHandle: Htuple) -> Herror;
21818}
21819unsafe extern "C" {
21820    pub fn dump_window_image(Image: *mut Hobject, WindowHandle: Hlong) -> Herror;
21821}
21822unsafe extern "C" {
21823    pub fn T_dump_window(WindowHandle: Htuple, Device: Htuple, FileName: Htuple) -> Herror;
21824}
21825unsafe extern "C" {
21826    pub fn dump_window(
21827        WindowHandle: Hlong,
21828        Device: *const ::std::os::raw::c_char,
21829        FileName: *const ::std::os::raw::c_char,
21830    ) -> Herror;
21831}
21832unsafe extern "C" {
21833    pub fn T_copy_rectangle(
21834        WindowHandleSource: Htuple,
21835        WindowHandleDestination: Htuple,
21836        Row1: Htuple,
21837        Column1: Htuple,
21838        Row2: Htuple,
21839        Column2: Htuple,
21840        DestRow: Htuple,
21841        DestColumn: Htuple,
21842    ) -> Herror;
21843}
21844unsafe extern "C" {
21845    pub fn copy_rectangle(
21846        WindowHandleSource: Hlong,
21847        WindowHandleDestination: Hlong,
21848        Row1: Hlong,
21849        Column1: Hlong,
21850        Row2: Hlong,
21851        Column2: Hlong,
21852        DestRow: Hlong,
21853        DestColumn: Hlong,
21854    ) -> Herror;
21855}
21856unsafe extern "C" {
21857    pub fn T_close_window(WindowHandle: Htuple) -> Herror;
21858}
21859unsafe extern "C" {
21860    pub fn close_window(WindowHandle: Hlong) -> Herror;
21861}
21862unsafe extern "C" {
21863    pub fn T_clear_window(WindowHandle: Htuple) -> Herror;
21864}
21865unsafe extern "C" {
21866    pub fn clear_window(WindowHandle: Hlong) -> Herror;
21867}
21868unsafe extern "C" {
21869    pub fn T_clear_rectangle(
21870        WindowHandle: Htuple,
21871        Row1: Htuple,
21872        Column1: Htuple,
21873        Row2: Htuple,
21874        Column2: Htuple,
21875    ) -> Herror;
21876}
21877unsafe extern "C" {
21878    pub fn clear_rectangle(
21879        WindowHandle: Hlong,
21880        Row1: Hlong,
21881        Column1: Hlong,
21882        Row2: Hlong,
21883        Column2: Hlong,
21884    ) -> Herror;
21885}
21886unsafe extern "C" {
21887    pub fn T_write_string(WindowHandle: Htuple, String: Htuple) -> Herror;
21888}
21889unsafe extern "C" {
21890    pub fn write_string(WindowHandle: Hlong, String: *const ::std::os::raw::c_char) -> Herror;
21891}
21892unsafe extern "C" {
21893    pub fn T_set_tshape(WindowHandle: Htuple, TextCursor: Htuple) -> Herror;
21894}
21895unsafe extern "C" {
21896    pub fn set_tshape(WindowHandle: Hlong, TextCursor: *const ::std::os::raw::c_char) -> Herror;
21897}
21898unsafe extern "C" {
21899    pub fn T_set_tposition(WindowHandle: Htuple, Row: Htuple, Column: Htuple) -> Herror;
21900}
21901unsafe extern "C" {
21902    pub fn set_tposition(WindowHandle: Hlong, Row: Hlong, Column: Hlong) -> Herror;
21903}
21904unsafe extern "C" {
21905    pub fn T_read_string(
21906        WindowHandle: Htuple,
21907        InString: Htuple,
21908        Length: Htuple,
21909        OutString: *mut Htuple,
21910    ) -> Herror;
21911}
21912unsafe extern "C" {
21913    pub fn read_string(
21914        WindowHandle: Hlong,
21915        InString: *const ::std::os::raw::c_char,
21916        Length: Hlong,
21917        OutString: *mut ::std::os::raw::c_char,
21918    ) -> Herror;
21919}
21920unsafe extern "C" {
21921    pub fn T_read_char(WindowHandle: Htuple, Char: *mut Htuple, Code: *mut Htuple) -> Herror;
21922}
21923unsafe extern "C" {
21924    pub fn read_char(
21925        WindowHandle: Hlong,
21926        Char: *mut ::std::os::raw::c_char,
21927        Code: *mut ::std::os::raw::c_char,
21928    ) -> Herror;
21929}
21930unsafe extern "C" {
21931    pub fn T_new_line(WindowHandle: Htuple) -> Herror;
21932}
21933unsafe extern "C" {
21934    pub fn new_line(WindowHandle: Hlong) -> Herror;
21935}
21936unsafe extern "C" {
21937    pub fn T_get_tshape(WindowHandle: Htuple, TextCursor: *mut Htuple) -> Herror;
21938}
21939unsafe extern "C" {
21940    pub fn get_tshape(WindowHandle: Hlong, TextCursor: *mut ::std::os::raw::c_char) -> Herror;
21941}
21942unsafe extern "C" {
21943    pub fn T_get_tposition(WindowHandle: Htuple, Row: *mut Htuple, Column: *mut Htuple) -> Herror;
21944}
21945unsafe extern "C" {
21946    pub fn get_tposition(WindowHandle: Hlong, Row: *mut Hlong, Column: *mut Hlong) -> Herror;
21947}
21948unsafe extern "C" {
21949    pub fn T_get_font_extents(
21950        WindowHandle: Htuple,
21951        MaxAscent: *mut Htuple,
21952        MaxDescent: *mut Htuple,
21953        MaxWidth: *mut Htuple,
21954        MaxHeight: *mut Htuple,
21955    ) -> Herror;
21956}
21957unsafe extern "C" {
21958    pub fn get_font_extents(
21959        WindowHandle: Hlong,
21960        MaxAscent: *mut Hlong,
21961        MaxDescent: *mut Hlong,
21962        MaxWidth: *mut Hlong,
21963        MaxHeight: *mut Hlong,
21964    ) -> Herror;
21965}
21966unsafe extern "C" {
21967    pub fn T_get_string_extents(
21968        WindowHandle: Htuple,
21969        Values: Htuple,
21970        Ascent: *mut Htuple,
21971        Descent: *mut Htuple,
21972        Width: *mut Htuple,
21973        Height: *mut Htuple,
21974    ) -> Herror;
21975}
21976unsafe extern "C" {
21977    pub fn get_string_extents(
21978        WindowHandle: Hlong,
21979        Values: *const ::std::os::raw::c_char,
21980        Ascent: *mut Hlong,
21981        Descent: *mut Hlong,
21982        Width: *mut Hlong,
21983        Height: *mut Hlong,
21984    ) -> Herror;
21985}
21986unsafe extern "C" {
21987    pub fn T_query_font(WindowHandle: Htuple, Font: *mut Htuple) -> Herror;
21988}
21989unsafe extern "C" {
21990    pub fn T_query_tshape(WindowHandle: Htuple, TextCursor: *mut Htuple) -> Herror;
21991}
21992unsafe extern "C" {
21993    pub fn T_set_font(WindowHandle: Htuple, Font: Htuple) -> Herror;
21994}
21995unsafe extern "C" {
21996    pub fn set_font(WindowHandle: Hlong, Font: *const ::std::os::raw::c_char) -> Herror;
21997}
21998unsafe extern "C" {
21999    pub fn T_get_font(WindowHandle: Htuple, Font: *mut Htuple) -> Herror;
22000}
22001unsafe extern "C" {
22002    pub fn get_font(WindowHandle: Hlong, Font: *mut ::std::os::raw::c_char) -> Herror;
22003}
22004unsafe extern "C" {
22005    pub fn T_get_display_scene_3d_info(
22006        WindowHandle: Htuple,
22007        Scene3D: Htuple,
22008        Row: Htuple,
22009        Column: Htuple,
22010        Information: Htuple,
22011        Value: *mut Htuple,
22012    ) -> Herror;
22013}
22014unsafe extern "C" {
22015    pub fn get_display_scene_3d_info(
22016        WindowHandle: Hlong,
22017        Scene3D: Hlong,
22018        Row: f64,
22019        Column: f64,
22020        Information: *const ::std::os::raw::c_char,
22021        Value: *mut Hlong,
22022    ) -> Herror;
22023}
22024unsafe extern "C" {
22025    pub fn T_set_scene_3d_to_world_pose(Scene3D: Htuple, ToWorldPose: Htuple) -> Herror;
22026}
22027unsafe extern "C" {
22028    pub fn set_scene_3d_to_world_pose(Scene3D: Hlong, ToWorldPose: f64) -> Herror;
22029}
22030unsafe extern "C" {
22031    pub fn T_set_scene_3d_param(
22032        Scene3D: Htuple,
22033        GenParamName: Htuple,
22034        GenParamValue: Htuple,
22035    ) -> Herror;
22036}
22037unsafe extern "C" {
22038    pub fn set_scene_3d_param(
22039        Scene3D: Hlong,
22040        GenParamName: *const ::std::os::raw::c_char,
22041        GenParamValue: *const ::std::os::raw::c_char,
22042    ) -> Herror;
22043}
22044unsafe extern "C" {
22045    pub fn T_set_scene_3d_light_param(
22046        Scene3D: Htuple,
22047        LightIndex: Htuple,
22048        GenParamName: Htuple,
22049        GenParamValue: Htuple,
22050    ) -> Herror;
22051}
22052unsafe extern "C" {
22053    pub fn set_scene_3d_light_param(
22054        Scene3D: Hlong,
22055        LightIndex: Hlong,
22056        GenParamName: *const ::std::os::raw::c_char,
22057        GenParamValue: *const ::std::os::raw::c_char,
22058    ) -> Herror;
22059}
22060unsafe extern "C" {
22061    pub fn T_set_scene_3d_instance_pose(
22062        Scene3D: Htuple,
22063        InstanceIndex: Htuple,
22064        Pose: Htuple,
22065    ) -> Herror;
22066}
22067unsafe extern "C" {
22068    pub fn set_scene_3d_instance_pose(Scene3D: Hlong, InstanceIndex: Hlong, Pose: f64) -> Herror;
22069}
22070unsafe extern "C" {
22071    pub fn T_set_scene_3d_instance_param(
22072        Scene3D: Htuple,
22073        InstanceIndex: Htuple,
22074        GenParamName: Htuple,
22075        GenParamValue: Htuple,
22076    ) -> Herror;
22077}
22078unsafe extern "C" {
22079    pub fn T_set_scene_3d_camera_pose(Scene3D: Htuple, CameraIndex: Htuple, Pose: Htuple)
22080    -> Herror;
22081}
22082unsafe extern "C" {
22083    pub fn set_scene_3d_camera_pose(Scene3D: Hlong, CameraIndex: Hlong, Pose: f64) -> Herror;
22084}
22085unsafe extern "C" {
22086    pub fn T_render_scene_3d(Image: *mut Hobject, Scene3D: Htuple, CameraIndex: Htuple) -> Herror;
22087}
22088unsafe extern "C" {
22089    pub fn render_scene_3d(Image: *mut Hobject, Scene3D: Hlong, CameraIndex: Hlong) -> Herror;
22090}
22091unsafe extern "C" {
22092    pub fn T_remove_scene_3d_light(Scene3D: Htuple, LightIndex: Htuple) -> Herror;
22093}
22094unsafe extern "C" {
22095    pub fn remove_scene_3d_light(Scene3D: Hlong, LightIndex: Hlong) -> Herror;
22096}
22097unsafe extern "C" {
22098    pub fn T_remove_scene_3d_instance(Scene3D: Htuple, InstanceIndex: Htuple) -> Herror;
22099}
22100unsafe extern "C" {
22101    pub fn remove_scene_3d_instance(Scene3D: Hlong, InstanceIndex: Hlong) -> Herror;
22102}
22103unsafe extern "C" {
22104    pub fn T_remove_scene_3d_camera(Scene3D: Htuple, CameraIndex: Htuple) -> Herror;
22105}
22106unsafe extern "C" {
22107    pub fn remove_scene_3d_camera(Scene3D: Hlong, CameraIndex: Hlong) -> Herror;
22108}
22109unsafe extern "C" {
22110    pub fn T_display_scene_3d(WindowHandle: Htuple, Scene3D: Htuple, CameraIndex: Htuple)
22111    -> Herror;
22112}
22113unsafe extern "C" {
22114    pub fn display_scene_3d(
22115        WindowHandle: Hlong,
22116        Scene3D: Hlong,
22117        CameraIndex: *const ::std::os::raw::c_char,
22118    ) -> Herror;
22119}
22120unsafe extern "C" {
22121    pub fn T_add_scene_3d_light(
22122        Scene3D: Htuple,
22123        LightPosition: Htuple,
22124        LightKind: Htuple,
22125        LightIndex: *mut Htuple,
22126    ) -> Herror;
22127}
22128unsafe extern "C" {
22129    pub fn T_add_scene_3d_instance(
22130        Scene3D: Htuple,
22131        ObjectModel3D: Htuple,
22132        Pose: Htuple,
22133        InstanceIndex: *mut Htuple,
22134    ) -> Herror;
22135}
22136unsafe extern "C" {
22137    pub fn T_add_scene_3d_camera(
22138        Scene3D: Htuple,
22139        CameraParam: Htuple,
22140        CameraIndex: *mut Htuple,
22141    ) -> Herror;
22142}
22143unsafe extern "C" {
22144    pub fn T_clear_scene_3d(Scene3D: Htuple) -> Herror;
22145}
22146unsafe extern "C" {
22147    pub fn clear_scene_3d(Scene3D: Hlong) -> Herror;
22148}
22149unsafe extern "C" {
22150    pub fn T_create_scene_3d(Scene3D: *mut Htuple) -> Herror;
22151}
22152unsafe extern "C" {
22153    pub fn create_scene_3d(Scene3D: *mut Hlong) -> Herror;
22154}
22155unsafe extern "C" {
22156    pub fn T_get_window_param(WindowHandle: Htuple, Param: Htuple, Value: *mut Htuple) -> Herror;
22157}
22158unsafe extern "C" {
22159    pub fn get_window_param(
22160        WindowHandle: Hlong,
22161        Param: *const ::std::os::raw::c_char,
22162        Value: *mut ::std::os::raw::c_char,
22163    ) -> Herror;
22164}
22165unsafe extern "C" {
22166    pub fn T_set_window_param(WindowHandle: Htuple, Param: Htuple, Value: Htuple) -> Herror;
22167}
22168unsafe extern "C" {
22169    pub fn set_window_param(
22170        WindowHandle: Hlong,
22171        Param: *const ::std::os::raw::c_char,
22172        Value: *const ::std::os::raw::c_char,
22173    ) -> Herror;
22174}
22175unsafe extern "C" {
22176    pub fn T_set_shape(WindowHandle: Htuple, Shape: Htuple) -> Herror;
22177}
22178unsafe extern "C" {
22179    pub fn set_shape(WindowHandle: Hlong, Shape: *const ::std::os::raw::c_char) -> Herror;
22180}
22181unsafe extern "C" {
22182    pub fn T_set_rgb(WindowHandle: Htuple, Red: Htuple, Green: Htuple, Blue: Htuple) -> Herror;
22183}
22184unsafe extern "C" {
22185    pub fn set_rgb(WindowHandle: Hlong, Red: Hlong, Green: Hlong, Blue: Hlong) -> Herror;
22186}
22187unsafe extern "C" {
22188    pub fn T_set_pixel(WindowHandle: Htuple, Pixel: Htuple) -> Herror;
22189}
22190unsafe extern "C" {
22191    pub fn set_pixel(WindowHandle: Hlong, Pixel: Hlong) -> Herror;
22192}
22193unsafe extern "C" {
22194    pub fn T_set_part_style(WindowHandle: Htuple, Style: Htuple) -> Herror;
22195}
22196unsafe extern "C" {
22197    pub fn set_part_style(WindowHandle: Hlong, Style: Hlong) -> Herror;
22198}
22199unsafe extern "C" {
22200    pub fn T_set_part(
22201        WindowHandle: Htuple,
22202        Row1: Htuple,
22203        Column1: Htuple,
22204        Row2: Htuple,
22205        Column2: Htuple,
22206    ) -> Herror;
22207}
22208unsafe extern "C" {
22209    pub fn set_part(
22210        WindowHandle: Hlong,
22211        Row1: Hlong,
22212        Column1: Hlong,
22213        Row2: Hlong,
22214        Column2: Hlong,
22215    ) -> Herror;
22216}
22217unsafe extern "C" {
22218    pub fn T_set_paint(WindowHandle: Htuple, Mode: Htuple) -> Herror;
22219}
22220unsafe extern "C" {
22221    pub fn T_set_line_width(WindowHandle: Htuple, Width: Htuple) -> Herror;
22222}
22223unsafe extern "C" {
22224    pub fn set_line_width(WindowHandle: Hlong, Width: f64) -> Herror;
22225}
22226unsafe extern "C" {
22227    pub fn T_set_line_style(WindowHandle: Htuple, Style: Htuple) -> Herror;
22228}
22229unsafe extern "C" {
22230    pub fn T_set_line_approx(WindowHandle: Htuple, Approximation: Htuple) -> Herror;
22231}
22232unsafe extern "C" {
22233    pub fn set_line_approx(WindowHandle: Hlong, Approximation: Hlong) -> Herror;
22234}
22235unsafe extern "C" {
22236    pub fn T_set_insert(WindowHandle: Htuple, Mode: Htuple) -> Herror;
22237}
22238unsafe extern "C" {
22239    pub fn set_insert(WindowHandle: Hlong, Mode: *const ::std::os::raw::c_char) -> Herror;
22240}
22241unsafe extern "C" {
22242    pub fn T_set_hsi(
22243        WindowHandle: Htuple,
22244        Hue: Htuple,
22245        Saturation: Htuple,
22246        Intensity: Htuple,
22247    ) -> Herror;
22248}
22249unsafe extern "C" {
22250    pub fn set_hsi(WindowHandle: Hlong, Hue: Hlong, Saturation: Hlong, Intensity: Hlong) -> Herror;
22251}
22252unsafe extern "C" {
22253    pub fn T_set_gray(WindowHandle: Htuple, GrayValues: Htuple) -> Herror;
22254}
22255unsafe extern "C" {
22256    pub fn set_gray(WindowHandle: Hlong, GrayValues: Hlong) -> Herror;
22257}
22258unsafe extern "C" {
22259    pub fn T_set_draw(WindowHandle: Htuple, Mode: Htuple) -> Herror;
22260}
22261unsafe extern "C" {
22262    pub fn set_draw(WindowHandle: Hlong, Mode: *const ::std::os::raw::c_char) -> Herror;
22263}
22264unsafe extern "C" {
22265    pub fn T_set_comprise(WindowHandle: Htuple, Mode: Htuple) -> Herror;
22266}
22267unsafe extern "C" {
22268    pub fn set_comprise(WindowHandle: Hlong, Mode: *const ::std::os::raw::c_char) -> Herror;
22269}
22270unsafe extern "C" {
22271    pub fn T_set_colored(WindowHandle: Htuple, NumberOfColors: Htuple) -> Herror;
22272}
22273unsafe extern "C" {
22274    pub fn set_colored(WindowHandle: Hlong, NumberOfColors: Hlong) -> Herror;
22275}
22276unsafe extern "C" {
22277    pub fn T_set_color(WindowHandle: Htuple, Color: Htuple) -> Herror;
22278}
22279unsafe extern "C" {
22280    pub fn set_color(WindowHandle: Hlong, Color: *const ::std::os::raw::c_char) -> Herror;
22281}
22282unsafe extern "C" {
22283    pub fn T_get_shape(WindowHandle: Htuple, DisplayShape: *mut Htuple) -> Herror;
22284}
22285unsafe extern "C" {
22286    pub fn get_shape(WindowHandle: Hlong, DisplayShape: *mut ::std::os::raw::c_char) -> Herror;
22287}
22288unsafe extern "C" {
22289    pub fn T_get_rgb(
22290        WindowHandle: Htuple,
22291        Red: *mut Htuple,
22292        Green: *mut Htuple,
22293        Blue: *mut Htuple,
22294    ) -> Herror;
22295}
22296unsafe extern "C" {
22297    pub fn T_get_pixel(WindowHandle: Htuple, Pixel: *mut Htuple) -> Herror;
22298}
22299unsafe extern "C" {
22300    pub fn T_get_part_style(WindowHandle: Htuple, Style: *mut Htuple) -> Herror;
22301}
22302unsafe extern "C" {
22303    pub fn get_part_style(WindowHandle: Hlong, Style: *mut Hlong) -> Herror;
22304}
22305unsafe extern "C" {
22306    pub fn T_get_part(
22307        WindowHandle: Htuple,
22308        Row1: *mut Htuple,
22309        Column1: *mut Htuple,
22310        Row2: *mut Htuple,
22311        Column2: *mut Htuple,
22312    ) -> Herror;
22313}
22314unsafe extern "C" {
22315    pub fn get_part(
22316        WindowHandle: Hlong,
22317        Row1: *mut Hlong,
22318        Column1: *mut Hlong,
22319        Row2: *mut Hlong,
22320        Column2: *mut Hlong,
22321    ) -> Herror;
22322}
22323unsafe extern "C" {
22324    pub fn T_get_paint(WindowHandle: Htuple, Mode: *mut Htuple) -> Herror;
22325}
22326unsafe extern "C" {
22327    pub fn T_get_line_width(WindowHandle: Htuple, Width: *mut Htuple) -> Herror;
22328}
22329unsafe extern "C" {
22330    pub fn get_line_width(WindowHandle: Hlong, Width: *mut f64) -> Herror;
22331}
22332unsafe extern "C" {
22333    pub fn T_get_line_style(WindowHandle: Htuple, Style: *mut Htuple) -> Herror;
22334}
22335unsafe extern "C" {
22336    pub fn T_get_line_approx(WindowHandle: Htuple, Approximation: *mut Htuple) -> Herror;
22337}
22338unsafe extern "C" {
22339    pub fn get_line_approx(WindowHandle: Hlong, Approximation: *mut Hlong) -> Herror;
22340}
22341unsafe extern "C" {
22342    pub fn T_get_insert(WindowHandle: Htuple, Mode: *mut Htuple) -> Herror;
22343}
22344unsafe extern "C" {
22345    pub fn get_insert(WindowHandle: Hlong, Mode: *mut ::std::os::raw::c_char) -> Herror;
22346}
22347unsafe extern "C" {
22348    pub fn T_get_hsi(
22349        WindowHandle: Htuple,
22350        Hue: *mut Htuple,
22351        Saturation: *mut Htuple,
22352        Intensity: *mut Htuple,
22353    ) -> Herror;
22354}
22355unsafe extern "C" {
22356    pub fn T_get_draw(WindowHandle: Htuple, Mode: *mut Htuple) -> Herror;
22357}
22358unsafe extern "C" {
22359    pub fn get_draw(WindowHandle: Hlong, Mode: *mut ::std::os::raw::c_char) -> Herror;
22360}
22361unsafe extern "C" {
22362    pub fn T_get_comprise(WindowHandle: Htuple, Mode: *mut Htuple) -> Herror;
22363}
22364unsafe extern "C" {
22365    pub fn get_comprise(WindowHandle: Hlong, Mode: *mut ::std::os::raw::c_char) -> Herror;
22366}
22367unsafe extern "C" {
22368    pub fn T_query_shape(DisplayShape: *mut Htuple) -> Herror;
22369}
22370unsafe extern "C" {
22371    pub fn T_query_paint(WindowHandle: Htuple, Mode: *mut Htuple) -> Herror;
22372}
22373unsafe extern "C" {
22374    pub fn T_query_line_width(Min: *mut Htuple, Max: *mut Htuple) -> Herror;
22375}
22376unsafe extern "C" {
22377    pub fn query_line_width(Min: *mut Hlong, Max: *mut Hlong) -> Herror;
22378}
22379unsafe extern "C" {
22380    pub fn T_query_insert(WindowHandle: Htuple, Mode: *mut Htuple) -> Herror;
22381}
22382unsafe extern "C" {
22383    pub fn T_query_gray(WindowHandle: Htuple, Grayval: *mut Htuple) -> Herror;
22384}
22385unsafe extern "C" {
22386    pub fn T_query_colored(PossibleNumberOfColors: *mut Htuple) -> Herror;
22387}
22388unsafe extern "C" {
22389    pub fn T_query_all_colors(WindowHandle: Htuple, Colors: *mut Htuple) -> Herror;
22390}
22391unsafe extern "C" {
22392    pub fn T_query_color(WindowHandle: Htuple, Colors: *mut Htuple) -> Herror;
22393}
22394unsafe extern "C" {
22395    pub fn T_get_icon(Icon: *mut Hobject, WindowHandle: Htuple) -> Herror;
22396}
22397unsafe extern "C" {
22398    pub fn get_icon(Icon: *mut Hobject, WindowHandle: Hlong) -> Herror;
22399}
22400unsafe extern "C" {
22401    pub fn T_set_icon(Icon: Hobject, WindowHandle: Htuple) -> Herror;
22402}
22403unsafe extern "C" {
22404    pub fn set_icon(Icon: Hobject, WindowHandle: Hlong) -> Herror;
22405}
22406unsafe extern "C" {
22407    pub fn T_disp_region(DispRegions: Hobject, WindowHandle: Htuple) -> Herror;
22408}
22409unsafe extern "C" {
22410    pub fn disp_region(DispRegions: Hobject, WindowHandle: Hlong) -> Herror;
22411}
22412unsafe extern "C" {
22413    pub fn T_disp_rectangle2(
22414        WindowHandle: Htuple,
22415        CenterRow: Htuple,
22416        CenterCol: Htuple,
22417        Phi: Htuple,
22418        Length1: Htuple,
22419        Length2: Htuple,
22420    ) -> Herror;
22421}
22422unsafe extern "C" {
22423    pub fn disp_rectangle2(
22424        WindowHandle: Hlong,
22425        CenterRow: f64,
22426        CenterCol: f64,
22427        Phi: f64,
22428        Length1: f64,
22429        Length2: f64,
22430    ) -> Herror;
22431}
22432unsafe extern "C" {
22433    pub fn T_disp_rectangle1(
22434        WindowHandle: Htuple,
22435        Row1: Htuple,
22436        Column1: Htuple,
22437        Row2: Htuple,
22438        Column2: Htuple,
22439    ) -> Herror;
22440}
22441unsafe extern "C" {
22442    pub fn disp_rectangle1(
22443        WindowHandle: Hlong,
22444        Row1: f64,
22445        Column1: f64,
22446        Row2: f64,
22447        Column2: f64,
22448    ) -> Herror;
22449}
22450unsafe extern "C" {
22451    pub fn T_disp_polygon(WindowHandle: Htuple, Row: Htuple, Column: Htuple) -> Herror;
22452}
22453unsafe extern "C" {
22454    pub fn T_disp_line(
22455        WindowHandle: Htuple,
22456        Row1: Htuple,
22457        Column1: Htuple,
22458        Row2: Htuple,
22459        Column2: Htuple,
22460    ) -> Herror;
22461}
22462unsafe extern "C" {
22463    pub fn disp_line(
22464        WindowHandle: Hlong,
22465        Row1: f64,
22466        Column1: f64,
22467        Row2: f64,
22468        Column2: f64,
22469    ) -> Herror;
22470}
22471unsafe extern "C" {
22472    pub fn T_disp_cross(
22473        WindowHandle: Htuple,
22474        Row: Htuple,
22475        Column: Htuple,
22476        Size: Htuple,
22477        Angle: Htuple,
22478    ) -> Herror;
22479}
22480unsafe extern "C" {
22481    pub fn disp_cross(WindowHandle: Hlong, Row: f64, Column: f64, Size: f64, Angle: f64) -> Herror;
22482}
22483unsafe extern "C" {
22484    pub fn T_disp_image(Image: Hobject, WindowHandle: Htuple) -> Herror;
22485}
22486unsafe extern "C" {
22487    pub fn disp_image(Image: Hobject, WindowHandle: Hlong) -> Herror;
22488}
22489unsafe extern "C" {
22490    pub fn T_disp_channel(
22491        MultichannelImage: Hobject,
22492        WindowHandle: Htuple,
22493        Channel: Htuple,
22494    ) -> Herror;
22495}
22496unsafe extern "C" {
22497    pub fn disp_channel(MultichannelImage: Hobject, WindowHandle: Hlong, Channel: Hlong) -> Herror;
22498}
22499unsafe extern "C" {
22500    pub fn T_disp_color(ColorImage: Hobject, WindowHandle: Htuple) -> Herror;
22501}
22502unsafe extern "C" {
22503    pub fn disp_color(ColorImage: Hobject, WindowHandle: Hlong) -> Herror;
22504}
22505unsafe extern "C" {
22506    pub fn T_disp_ellipse(
22507        WindowHandle: Htuple,
22508        CenterRow: Htuple,
22509        CenterCol: Htuple,
22510        Phi: Htuple,
22511        Radius1: Htuple,
22512        Radius2: Htuple,
22513    ) -> Herror;
22514}
22515unsafe extern "C" {
22516    pub fn disp_ellipse(
22517        WindowHandle: Hlong,
22518        CenterRow: Hlong,
22519        CenterCol: Hlong,
22520        Phi: f64,
22521        Radius1: f64,
22522        Radius2: f64,
22523    ) -> Herror;
22524}
22525unsafe extern "C" {
22526    pub fn T_disp_distribution(
22527        WindowHandle: Htuple,
22528        Distribution: Htuple,
22529        Row: Htuple,
22530        Column: Htuple,
22531        Scale: Htuple,
22532    ) -> Herror;
22533}
22534unsafe extern "C" {
22535    pub fn T_disp_circle(
22536        WindowHandle: Htuple,
22537        Row: Htuple,
22538        Column: Htuple,
22539        Radius: Htuple,
22540    ) -> Herror;
22541}
22542unsafe extern "C" {
22543    pub fn disp_circle(WindowHandle: Hlong, Row: f64, Column: f64, Radius: f64) -> Herror;
22544}
22545unsafe extern "C" {
22546    pub fn T_disp_arrow(
22547        WindowHandle: Htuple,
22548        Row1: Htuple,
22549        Column1: Htuple,
22550        Row2: Htuple,
22551        Column2: Htuple,
22552        Size: Htuple,
22553    ) -> Herror;
22554}
22555unsafe extern "C" {
22556    pub fn disp_arrow(
22557        WindowHandle: Hlong,
22558        Row1: f64,
22559        Column1: f64,
22560        Row2: f64,
22561        Column2: f64,
22562        Size: f64,
22563    ) -> Herror;
22564}
22565unsafe extern "C" {
22566    pub fn T_disp_arc(
22567        WindowHandle: Htuple,
22568        CenterRow: Htuple,
22569        CenterCol: Htuple,
22570        Angle: Htuple,
22571        BeginRow: Htuple,
22572        BeginCol: Htuple,
22573    ) -> Herror;
22574}
22575unsafe extern "C" {
22576    pub fn disp_arc(
22577        WindowHandle: Hlong,
22578        CenterRow: f64,
22579        CenterCol: f64,
22580        Angle: f64,
22581        BeginRow: Hlong,
22582        BeginCol: Hlong,
22583    ) -> Herror;
22584}
22585unsafe extern "C" {
22586    pub fn T_disp_obj(Object: Hobject, WindowHandle: Htuple) -> Herror;
22587}
22588unsafe extern "C" {
22589    pub fn disp_obj(Object: Hobject, WindowHandle: Hlong) -> Herror;
22590}
22591unsafe extern "C" {
22592    pub fn T_set_mshape(WindowHandle: Htuple, Cursor: Htuple) -> Herror;
22593}
22594unsafe extern "C" {
22595    pub fn set_mshape(WindowHandle: Hlong, Cursor: *const ::std::os::raw::c_char) -> Herror;
22596}
22597unsafe extern "C" {
22598    pub fn T_get_mshape(WindowHandle: Htuple, Cursor: *mut Htuple) -> Herror;
22599}
22600unsafe extern "C" {
22601    pub fn get_mshape(WindowHandle: Hlong, Cursor: *mut ::std::os::raw::c_char) -> Herror;
22602}
22603unsafe extern "C" {
22604    pub fn T_query_mshape(WindowHandle: Htuple, ShapeNames: *mut Htuple) -> Herror;
22605}
22606unsafe extern "C" {
22607    pub fn T_get_mposition_sub_pix(
22608        WindowHandle: Htuple,
22609        Row: *mut Htuple,
22610        Column: *mut Htuple,
22611        Button: *mut Htuple,
22612    ) -> Herror;
22613}
22614unsafe extern "C" {
22615    pub fn get_mposition_sub_pix(
22616        WindowHandle: Hlong,
22617        Row: *mut f64,
22618        Column: *mut f64,
22619        Button: *mut Hlong,
22620    ) -> Herror;
22621}
22622unsafe extern "C" {
22623    pub fn T_get_mposition(
22624        WindowHandle: Htuple,
22625        Row: *mut Htuple,
22626        Column: *mut Htuple,
22627        Button: *mut Htuple,
22628    ) -> Herror;
22629}
22630unsafe extern "C" {
22631    pub fn get_mposition(
22632        WindowHandle: Hlong,
22633        Row: *mut Hlong,
22634        Column: *mut Hlong,
22635        Button: *mut Hlong,
22636    ) -> Herror;
22637}
22638unsafe extern "C" {
22639    pub fn T_get_mbutton_sub_pix(
22640        WindowHandle: Htuple,
22641        Row: *mut Htuple,
22642        Column: *mut Htuple,
22643        Button: *mut Htuple,
22644    ) -> Herror;
22645}
22646unsafe extern "C" {
22647    pub fn get_mbutton_sub_pix(
22648        WindowHandle: Hlong,
22649        Row: *mut f64,
22650        Column: *mut f64,
22651        Button: *mut Hlong,
22652    ) -> Herror;
22653}
22654unsafe extern "C" {
22655    pub fn T_get_mbutton(
22656        WindowHandle: Htuple,
22657        Row: *mut Htuple,
22658        Column: *mut Htuple,
22659        Button: *mut Htuple,
22660    ) -> Herror;
22661}
22662unsafe extern "C" {
22663    pub fn get_mbutton(
22664        WindowHandle: Hlong,
22665        Row: *mut Hlong,
22666        Column: *mut Hlong,
22667        Button: *mut Hlong,
22668    ) -> Herror;
22669}
22670unsafe extern "C" {
22671    pub fn T_write_lut(WindowHandle: Htuple, FileName: Htuple) -> Herror;
22672}
22673unsafe extern "C" {
22674    pub fn write_lut(WindowHandle: Hlong, FileName: *const ::std::os::raw::c_char) -> Herror;
22675}
22676unsafe extern "C" {
22677    pub fn T_disp_lut(WindowHandle: Htuple, Row: Htuple, Column: Htuple, Scale: Htuple) -> Herror;
22678}
22679unsafe extern "C" {
22680    pub fn disp_lut(WindowHandle: Hlong, Row: Hlong, Column: Hlong, Scale: Hlong) -> Herror;
22681}
22682unsafe extern "C" {
22683    pub fn T_query_lut(WindowHandle: Htuple, LookUpTable: *mut Htuple) -> Herror;
22684}
22685unsafe extern "C" {
22686    pub fn T_get_lut_style(
22687        WindowHandle: Htuple,
22688        Hue: *mut Htuple,
22689        Saturation: *mut Htuple,
22690        Intensity: *mut Htuple,
22691    ) -> Herror;
22692}
22693unsafe extern "C" {
22694    pub fn get_lut_style(
22695        WindowHandle: Hlong,
22696        Hue: *mut f64,
22697        Saturation: *mut f64,
22698        Intensity: *mut f64,
22699    ) -> Herror;
22700}
22701unsafe extern "C" {
22702    pub fn T_set_lut_style(
22703        WindowHandle: Htuple,
22704        Hue: Htuple,
22705        Saturation: Htuple,
22706        Intensity: Htuple,
22707    ) -> Herror;
22708}
22709unsafe extern "C" {
22710    pub fn set_lut_style(WindowHandle: Hlong, Hue: f64, Saturation: f64, Intensity: f64) -> Herror;
22711}
22712unsafe extern "C" {
22713    pub fn T_get_lut(WindowHandle: Htuple, LookUpTable: *mut Htuple) -> Herror;
22714}
22715unsafe extern "C" {
22716    pub fn T_set_lut(WindowHandle: Htuple, LookUpTable: Htuple) -> Herror;
22717}
22718unsafe extern "C" {
22719    pub fn set_lut(WindowHandle: Hlong, LookUpTable: *const ::std::os::raw::c_char) -> Herror;
22720}
22721unsafe extern "C" {
22722    pub fn T_get_fix(WindowHandle: Htuple, Mode: *mut Htuple) -> Herror;
22723}
22724unsafe extern "C" {
22725    pub fn get_fix(WindowHandle: Hlong, Mode: *mut ::std::os::raw::c_char) -> Herror;
22726}
22727unsafe extern "C" {
22728    pub fn T_set_fix(WindowHandle: Htuple, Mode: Htuple) -> Herror;
22729}
22730unsafe extern "C" {
22731    pub fn set_fix(WindowHandle: Hlong, Mode: *const ::std::os::raw::c_char) -> Herror;
22732}
22733unsafe extern "C" {
22734    pub fn T_get_fixed_lut(WindowHandle: Htuple, Mode: *mut Htuple) -> Herror;
22735}
22736unsafe extern "C" {
22737    pub fn get_fixed_lut(WindowHandle: Hlong, Mode: *mut ::std::os::raw::c_char) -> Herror;
22738}
22739unsafe extern "C" {
22740    pub fn T_set_fixed_lut(WindowHandle: Htuple, Mode: Htuple) -> Herror;
22741}
22742unsafe extern "C" {
22743    pub fn set_fixed_lut(WindowHandle: Hlong, Mode: *const ::std::os::raw::c_char) -> Herror;
22744}
22745unsafe extern "C" {
22746    pub fn T_create_drawing_object_text(
22747        Row: Htuple,
22748        Column: Htuple,
22749        String: Htuple,
22750        DrawID: *mut Htuple,
22751    ) -> Herror;
22752}
22753unsafe extern "C" {
22754    pub fn create_drawing_object_text(
22755        Row: Hlong,
22756        Column: Hlong,
22757        String: *const ::std::os::raw::c_char,
22758        DrawID: *mut Hlong,
22759    ) -> Herror;
22760}
22761unsafe extern "C" {
22762    pub fn T_get_drawing_object_iconic(Object: *mut Hobject, DrawID: Htuple) -> Herror;
22763}
22764unsafe extern "C" {
22765    pub fn get_drawing_object_iconic(Object: *mut Hobject, DrawID: Hlong) -> Herror;
22766}
22767unsafe extern "C" {
22768    pub fn T_clear_drawing_object(DrawID: Htuple) -> Herror;
22769}
22770unsafe extern "C" {
22771    pub fn clear_drawing_object(DrawID: Hlong) -> Herror;
22772}
22773unsafe extern "C" {
22774    pub fn T_set_drawing_object_params(
22775        DrawID: Htuple,
22776        GenParamName: Htuple,
22777        GenParamValue: Htuple,
22778    ) -> Herror;
22779}
22780unsafe extern "C" {
22781    pub fn set_drawing_object_params(
22782        DrawID: Hlong,
22783        GenParamName: *const ::std::os::raw::c_char,
22784        GenParamValue: f64,
22785    ) -> Herror;
22786}
22787unsafe extern "C" {
22788    pub fn T_get_drawing_object_params(
22789        DrawID: Htuple,
22790        GenParamName: Htuple,
22791        GenParamValue: *mut Htuple,
22792    ) -> Herror;
22793}
22794unsafe extern "C" {
22795    pub fn get_drawing_object_params(
22796        DrawID: Hlong,
22797        GenParamName: *const ::std::os::raw::c_char,
22798        GenParamValue: *mut f64,
22799    ) -> Herror;
22800}
22801unsafe extern "C" {
22802    pub fn T_set_drawing_object_xld(Contour: Hobject, DrawID: Htuple) -> Herror;
22803}
22804unsafe extern "C" {
22805    pub fn set_drawing_object_xld(Contour: Hobject, DrawID: Hlong) -> Herror;
22806}
22807unsafe extern "C" {
22808    pub fn T_create_drawing_object_xld(Row: Htuple, Column: Htuple, DrawID: *mut Htuple) -> Herror;
22809}
22810unsafe extern "C" {
22811    pub fn T_create_drawing_object_circle_sector(
22812        Row: Htuple,
22813        Column: Htuple,
22814        Radius: Htuple,
22815        StartAngle: Htuple,
22816        EndAngle: Htuple,
22817        DrawID: *mut Htuple,
22818    ) -> Herror;
22819}
22820unsafe extern "C" {
22821    pub fn create_drawing_object_circle_sector(
22822        Row: f64,
22823        Column: f64,
22824        Radius: f64,
22825        StartAngle: f64,
22826        EndAngle: f64,
22827        DrawID: *mut Hlong,
22828    ) -> Herror;
22829}
22830unsafe extern "C" {
22831    pub fn T_create_drawing_object_ellipse_sector(
22832        Row: Htuple,
22833        Column: Htuple,
22834        Phi: Htuple,
22835        Radius1: Htuple,
22836        Radius2: Htuple,
22837        StartAngle: Htuple,
22838        EndAngle: Htuple,
22839        DrawID: *mut Htuple,
22840    ) -> Herror;
22841}
22842unsafe extern "C" {
22843    pub fn create_drawing_object_ellipse_sector(
22844        Row: f64,
22845        Column: f64,
22846        Phi: f64,
22847        Radius1: f64,
22848        Radius2: f64,
22849        StartAngle: f64,
22850        EndAngle: f64,
22851        DrawID: *mut Hlong,
22852    ) -> Herror;
22853}
22854unsafe extern "C" {
22855    pub fn T_create_drawing_object_line(
22856        Row1: Htuple,
22857        Column1: Htuple,
22858        Row2: Htuple,
22859        Column2: Htuple,
22860        DrawID: *mut Htuple,
22861    ) -> Herror;
22862}
22863unsafe extern "C" {
22864    pub fn create_drawing_object_line(
22865        Row1: f64,
22866        Column1: f64,
22867        Row2: f64,
22868        Column2: f64,
22869        DrawID: *mut Hlong,
22870    ) -> Herror;
22871}
22872unsafe extern "C" {
22873    pub fn T_create_drawing_object_circle(
22874        Row: Htuple,
22875        Column: Htuple,
22876        Radius: Htuple,
22877        DrawID: *mut Htuple,
22878    ) -> Herror;
22879}
22880unsafe extern "C" {
22881    pub fn create_drawing_object_circle(
22882        Row: f64,
22883        Column: f64,
22884        Radius: f64,
22885        DrawID: *mut Hlong,
22886    ) -> Herror;
22887}
22888unsafe extern "C" {
22889    pub fn T_create_drawing_object_ellipse(
22890        Row: Htuple,
22891        Column: Htuple,
22892        Phi: Htuple,
22893        Radius1: Htuple,
22894        Radius2: Htuple,
22895        DrawID: *mut Htuple,
22896    ) -> Herror;
22897}
22898unsafe extern "C" {
22899    pub fn create_drawing_object_ellipse(
22900        Row: f64,
22901        Column: f64,
22902        Phi: f64,
22903        Radius1: f64,
22904        Radius2: f64,
22905        DrawID: *mut Hlong,
22906    ) -> Herror;
22907}
22908unsafe extern "C" {
22909    pub fn T_create_drawing_object_rectangle2(
22910        Row: Htuple,
22911        Column: Htuple,
22912        Phi: Htuple,
22913        Length1: Htuple,
22914        Length2: Htuple,
22915        DrawID: *mut Htuple,
22916    ) -> Herror;
22917}
22918unsafe extern "C" {
22919    pub fn create_drawing_object_rectangle2(
22920        Row: f64,
22921        Column: f64,
22922        Phi: f64,
22923        Length1: f64,
22924        Length2: f64,
22925        DrawID: *mut Hlong,
22926    ) -> Herror;
22927}
22928unsafe extern "C" {
22929    pub fn T_create_drawing_object_rectangle1(
22930        Row1: Htuple,
22931        Column1: Htuple,
22932        Row2: Htuple,
22933        Column2: Htuple,
22934        DrawID: *mut Htuple,
22935    ) -> Herror;
22936}
22937unsafe extern "C" {
22938    pub fn create_drawing_object_rectangle1(
22939        Row1: f64,
22940        Column1: f64,
22941        Row2: f64,
22942        Column2: f64,
22943        DrawID: *mut Hlong,
22944    ) -> Herror;
22945}
22946unsafe extern "C" {
22947    pub fn T_drag_region3(
22948        SourceRegion: Hobject,
22949        MaskRegion: Hobject,
22950        DestinationRegion: *mut Hobject,
22951        WindowHandle: Htuple,
22952        Row: Htuple,
22953        Column: Htuple,
22954    ) -> Herror;
22955}
22956unsafe extern "C" {
22957    pub fn drag_region3(
22958        SourceRegion: Hobject,
22959        MaskRegion: Hobject,
22960        DestinationRegion: *mut Hobject,
22961        WindowHandle: Hlong,
22962        Row: Hlong,
22963        Column: Hlong,
22964    ) -> Herror;
22965}
22966unsafe extern "C" {
22967    pub fn T_drag_region2(
22968        SourceRegion: Hobject,
22969        DestinationRegion: *mut Hobject,
22970        WindowHandle: Htuple,
22971        Row: Htuple,
22972        Column: Htuple,
22973    ) -> Herror;
22974}
22975unsafe extern "C" {
22976    pub fn drag_region2(
22977        SourceRegion: Hobject,
22978        DestinationRegion: *mut Hobject,
22979        WindowHandle: Hlong,
22980        Row: Hlong,
22981        Column: Hlong,
22982    ) -> Herror;
22983}
22984unsafe extern "C" {
22985    pub fn T_drag_region1(
22986        SourceRegion: Hobject,
22987        DestinationRegion: *mut Hobject,
22988        WindowHandle: Htuple,
22989    ) -> Herror;
22990}
22991unsafe extern "C" {
22992    pub fn drag_region1(
22993        SourceRegion: Hobject,
22994        DestinationRegion: *mut Hobject,
22995        WindowHandle: Hlong,
22996    ) -> Herror;
22997}
22998unsafe extern "C" {
22999    pub fn T_draw_nurbs_interp_mod(
23000        ContOut: *mut Hobject,
23001        WindowHandle: Htuple,
23002        Rotate: Htuple,
23003        Move: Htuple,
23004        Scale: Htuple,
23005        KeepRatio: Htuple,
23006        Edit: Htuple,
23007        Degree: Htuple,
23008        RowsIn: Htuple,
23009        ColsIn: Htuple,
23010        TangentsIn: Htuple,
23011        ControlRows: *mut Htuple,
23012        ControlCols: *mut Htuple,
23013        Knots: *mut Htuple,
23014        Rows: *mut Htuple,
23015        Cols: *mut Htuple,
23016        Tangents: *mut Htuple,
23017    ) -> Herror;
23018}
23019unsafe extern "C" {
23020    pub fn T_draw_nurbs_interp(
23021        ContOut: *mut Hobject,
23022        WindowHandle: Htuple,
23023        Rotate: Htuple,
23024        Move: Htuple,
23025        Scale: Htuple,
23026        KeepRatio: Htuple,
23027        Degree: Htuple,
23028        ControlRows: *mut Htuple,
23029        ControlCols: *mut Htuple,
23030        Knots: *mut Htuple,
23031        Rows: *mut Htuple,
23032        Cols: *mut Htuple,
23033        Tangents: *mut Htuple,
23034    ) -> Herror;
23035}
23036unsafe extern "C" {
23037    pub fn T_draw_nurbs_mod(
23038        ContOut: *mut Hobject,
23039        WindowHandle: Htuple,
23040        Rotate: Htuple,
23041        Move: Htuple,
23042        Scale: Htuple,
23043        KeepRatio: Htuple,
23044        Edit: Htuple,
23045        Degree: Htuple,
23046        RowsIn: Htuple,
23047        ColsIn: Htuple,
23048        WeightsIn: Htuple,
23049        Rows: *mut Htuple,
23050        Cols: *mut Htuple,
23051        Weights: *mut Htuple,
23052    ) -> Herror;
23053}
23054unsafe extern "C" {
23055    pub fn T_draw_nurbs(
23056        ContOut: *mut Hobject,
23057        WindowHandle: Htuple,
23058        Rotate: Htuple,
23059        Move: Htuple,
23060        Scale: Htuple,
23061        KeepRatio: Htuple,
23062        Degree: Htuple,
23063        Rows: *mut Htuple,
23064        Cols: *mut Htuple,
23065        Weights: *mut Htuple,
23066    ) -> Herror;
23067}
23068unsafe extern "C" {
23069    pub fn T_draw_xld_mod(
23070        ContIn: Hobject,
23071        ContOut: *mut Hobject,
23072        WindowHandle: Htuple,
23073        Rotate: Htuple,
23074        Move: Htuple,
23075        Scale: Htuple,
23076        KeepRatio: Htuple,
23077        Edit: Htuple,
23078    ) -> Herror;
23079}
23080unsafe extern "C" {
23081    pub fn draw_xld_mod(
23082        ContIn: Hobject,
23083        ContOut: *mut Hobject,
23084        WindowHandle: Hlong,
23085        Rotate: *const ::std::os::raw::c_char,
23086        Move: *const ::std::os::raw::c_char,
23087        Scale: *const ::std::os::raw::c_char,
23088        KeepRatio: *const ::std::os::raw::c_char,
23089        Edit: *const ::std::os::raw::c_char,
23090    ) -> Herror;
23091}
23092unsafe extern "C" {
23093    pub fn T_draw_xld(
23094        ContOut: *mut Hobject,
23095        WindowHandle: Htuple,
23096        Rotate: Htuple,
23097        Move: Htuple,
23098        Scale: Htuple,
23099        KeepRatio: Htuple,
23100    ) -> Herror;
23101}
23102unsafe extern "C" {
23103    pub fn draw_xld(
23104        ContOut: *mut Hobject,
23105        WindowHandle: Hlong,
23106        Rotate: *const ::std::os::raw::c_char,
23107        Move: *const ::std::os::raw::c_char,
23108        Scale: *const ::std::os::raw::c_char,
23109        KeepRatio: *const ::std::os::raw::c_char,
23110    ) -> Herror;
23111}
23112unsafe extern "C" {
23113    pub fn T_draw_rectangle2_mod(
23114        WindowHandle: Htuple,
23115        RowIn: Htuple,
23116        ColumnIn: Htuple,
23117        PhiIn: Htuple,
23118        Length1In: Htuple,
23119        Length2In: Htuple,
23120        Row: *mut Htuple,
23121        Column: *mut Htuple,
23122        Phi: *mut Htuple,
23123        Length1: *mut Htuple,
23124        Length2: *mut Htuple,
23125    ) -> Herror;
23126}
23127unsafe extern "C" {
23128    pub fn draw_rectangle2_mod(
23129        WindowHandle: Hlong,
23130        RowIn: f64,
23131        ColumnIn: f64,
23132        PhiIn: f64,
23133        Length1In: f64,
23134        Length2In: f64,
23135        Row: *mut f64,
23136        Column: *mut f64,
23137        Phi: *mut f64,
23138        Length1: *mut f64,
23139        Length2: *mut f64,
23140    ) -> Herror;
23141}
23142unsafe extern "C" {
23143    pub fn T_draw_rectangle2(
23144        WindowHandle: Htuple,
23145        Row: *mut Htuple,
23146        Column: *mut Htuple,
23147        Phi: *mut Htuple,
23148        Length1: *mut Htuple,
23149        Length2: *mut Htuple,
23150    ) -> Herror;
23151}
23152unsafe extern "C" {
23153    pub fn draw_rectangle2(
23154        WindowHandle: Hlong,
23155        Row: *mut f64,
23156        Column: *mut f64,
23157        Phi: *mut f64,
23158        Length1: *mut f64,
23159        Length2: *mut f64,
23160    ) -> Herror;
23161}
23162unsafe extern "C" {
23163    pub fn T_draw_rectangle1_mod(
23164        WindowHandle: Htuple,
23165        Row1In: Htuple,
23166        Column1In: Htuple,
23167        Row2In: Htuple,
23168        Column2In: Htuple,
23169        Row1: *mut Htuple,
23170        Column1: *mut Htuple,
23171        Row2: *mut Htuple,
23172        Column2: *mut Htuple,
23173    ) -> Herror;
23174}
23175unsafe extern "C" {
23176    pub fn draw_rectangle1_mod(
23177        WindowHandle: Hlong,
23178        Row1In: f64,
23179        Column1In: f64,
23180        Row2In: f64,
23181        Column2In: f64,
23182        Row1: *mut f64,
23183        Column1: *mut f64,
23184        Row2: *mut f64,
23185        Column2: *mut f64,
23186    ) -> Herror;
23187}
23188unsafe extern "C" {
23189    pub fn T_draw_rectangle1(
23190        WindowHandle: Htuple,
23191        Row1: *mut Htuple,
23192        Column1: *mut Htuple,
23193        Row2: *mut Htuple,
23194        Column2: *mut Htuple,
23195    ) -> Herror;
23196}
23197unsafe extern "C" {
23198    pub fn draw_rectangle1(
23199        WindowHandle: Hlong,
23200        Row1: *mut f64,
23201        Column1: *mut f64,
23202        Row2: *mut f64,
23203        Column2: *mut f64,
23204    ) -> Herror;
23205}
23206unsafe extern "C" {
23207    pub fn T_draw_point_mod(
23208        WindowHandle: Htuple,
23209        RowIn: Htuple,
23210        ColumnIn: Htuple,
23211        Row: *mut Htuple,
23212        Column: *mut Htuple,
23213    ) -> Herror;
23214}
23215unsafe extern "C" {
23216    pub fn draw_point_mod(
23217        WindowHandle: Hlong,
23218        RowIn: f64,
23219        ColumnIn: f64,
23220        Row: *mut f64,
23221        Column: *mut f64,
23222    ) -> Herror;
23223}
23224unsafe extern "C" {
23225    pub fn T_draw_point(WindowHandle: Htuple, Row: *mut Htuple, Column: *mut Htuple) -> Herror;
23226}
23227unsafe extern "C" {
23228    pub fn draw_point(WindowHandle: Hlong, Row: *mut f64, Column: *mut f64) -> Herror;
23229}
23230unsafe extern "C" {
23231    pub fn T_draw_line_mod(
23232        WindowHandle: Htuple,
23233        Row1In: Htuple,
23234        Column1In: Htuple,
23235        Row2In: Htuple,
23236        Column2In: Htuple,
23237        Row1: *mut Htuple,
23238        Column1: *mut Htuple,
23239        Row2: *mut Htuple,
23240        Column2: *mut Htuple,
23241    ) -> Herror;
23242}
23243unsafe extern "C" {
23244    pub fn draw_line_mod(
23245        WindowHandle: Hlong,
23246        Row1In: f64,
23247        Column1In: f64,
23248        Row2In: f64,
23249        Column2In: f64,
23250        Row1: *mut f64,
23251        Column1: *mut f64,
23252        Row2: *mut f64,
23253        Column2: *mut f64,
23254    ) -> Herror;
23255}
23256unsafe extern "C" {
23257    pub fn T_draw_line(
23258        WindowHandle: Htuple,
23259        Row1: *mut Htuple,
23260        Column1: *mut Htuple,
23261        Row2: *mut Htuple,
23262        Column2: *mut Htuple,
23263    ) -> Herror;
23264}
23265unsafe extern "C" {
23266    pub fn draw_line(
23267        WindowHandle: Hlong,
23268        Row1: *mut f64,
23269        Column1: *mut f64,
23270        Row2: *mut f64,
23271        Column2: *mut f64,
23272    ) -> Herror;
23273}
23274unsafe extern "C" {
23275    pub fn T_draw_ellipse_mod(
23276        WindowHandle: Htuple,
23277        RowIn: Htuple,
23278        ColumnIn: Htuple,
23279        PhiIn: Htuple,
23280        Radius1In: Htuple,
23281        Radius2In: Htuple,
23282        Row: *mut Htuple,
23283        Column: *mut Htuple,
23284        Phi: *mut Htuple,
23285        Radius1: *mut Htuple,
23286        Radius2: *mut Htuple,
23287    ) -> Herror;
23288}
23289unsafe extern "C" {
23290    pub fn draw_ellipse_mod(
23291        WindowHandle: Hlong,
23292        RowIn: f64,
23293        ColumnIn: f64,
23294        PhiIn: f64,
23295        Radius1In: f64,
23296        Radius2In: f64,
23297        Row: *mut f64,
23298        Column: *mut f64,
23299        Phi: *mut f64,
23300        Radius1: *mut f64,
23301        Radius2: *mut f64,
23302    ) -> Herror;
23303}
23304unsafe extern "C" {
23305    pub fn T_draw_ellipse(
23306        WindowHandle: Htuple,
23307        Row: *mut Htuple,
23308        Column: *mut Htuple,
23309        Phi: *mut Htuple,
23310        Radius1: *mut Htuple,
23311        Radius2: *mut Htuple,
23312    ) -> Herror;
23313}
23314unsafe extern "C" {
23315    pub fn draw_ellipse(
23316        WindowHandle: Hlong,
23317        Row: *mut f64,
23318        Column: *mut f64,
23319        Phi: *mut f64,
23320        Radius1: *mut f64,
23321        Radius2: *mut f64,
23322    ) -> Herror;
23323}
23324unsafe extern "C" {
23325    pub fn T_draw_circle_mod(
23326        WindowHandle: Htuple,
23327        RowIn: Htuple,
23328        ColumnIn: Htuple,
23329        RadiusIn: Htuple,
23330        Row: *mut Htuple,
23331        Column: *mut Htuple,
23332        Radius: *mut Htuple,
23333    ) -> Herror;
23334}
23335unsafe extern "C" {
23336    pub fn draw_circle_mod(
23337        WindowHandle: Hlong,
23338        RowIn: f64,
23339        ColumnIn: f64,
23340        RadiusIn: f64,
23341        Row: *mut f64,
23342        Column: *mut f64,
23343        Radius: *mut f64,
23344    ) -> Herror;
23345}
23346unsafe extern "C" {
23347    pub fn T_draw_circle(
23348        WindowHandle: Htuple,
23349        Row: *mut Htuple,
23350        Column: *mut Htuple,
23351        Radius: *mut Htuple,
23352    ) -> Herror;
23353}
23354unsafe extern "C" {
23355    pub fn draw_circle(
23356        WindowHandle: Hlong,
23357        Row: *mut f64,
23358        Column: *mut f64,
23359        Radius: *mut f64,
23360    ) -> Herror;
23361}
23362unsafe extern "C" {
23363    pub fn T_draw_region(Region: *mut Hobject, WindowHandle: Htuple) -> Herror;
23364}
23365unsafe extern "C" {
23366    pub fn draw_region(Region: *mut Hobject, WindowHandle: Hlong) -> Herror;
23367}
23368unsafe extern "C" {
23369    pub fn T_draw_polygon(PolygonRegion: *mut Hobject, WindowHandle: Htuple) -> Herror;
23370}
23371unsafe extern "C" {
23372    pub fn draw_polygon(PolygonRegion: *mut Hobject, WindowHandle: Hlong) -> Herror;
23373}
23374unsafe extern "C" {
23375    pub fn T_projection_pl(
23376        Row: Htuple,
23377        Column: Htuple,
23378        Row1: Htuple,
23379        Column1: Htuple,
23380        Row2: Htuple,
23381        Column2: Htuple,
23382        RowProj: *mut Htuple,
23383        ColProj: *mut Htuple,
23384    ) -> Herror;
23385}
23386unsafe extern "C" {
23387    pub fn projection_pl(
23388        Row: f64,
23389        Column: f64,
23390        Row1: f64,
23391        Column1: f64,
23392        Row2: f64,
23393        Column2: f64,
23394        RowProj: *mut f64,
23395        ColProj: *mut f64,
23396    ) -> Herror;
23397}
23398unsafe extern "C" {
23399    pub fn T_get_points_ellipse(
23400        Angle: Htuple,
23401        Row: Htuple,
23402        Column: Htuple,
23403        Phi: Htuple,
23404        Radius1: Htuple,
23405        Radius2: Htuple,
23406        RowPoint: *mut Htuple,
23407        ColPoint: *mut Htuple,
23408    ) -> Herror;
23409}
23410unsafe extern "C" {
23411    pub fn get_points_ellipse(
23412        Angle: f64,
23413        Row: f64,
23414        Column: f64,
23415        Phi: f64,
23416        Radius1: f64,
23417        Radius2: f64,
23418        RowPoint: *mut f64,
23419        ColPoint: *mut f64,
23420    ) -> Herror;
23421}
23422unsafe extern "C" {
23423    pub fn T_intersection_ll(
23424        RowA1: Htuple,
23425        ColumnA1: Htuple,
23426        RowA2: Htuple,
23427        ColumnA2: Htuple,
23428        RowB1: Htuple,
23429        ColumnB1: Htuple,
23430        RowB2: Htuple,
23431        ColumnB2: Htuple,
23432        Row: *mut Htuple,
23433        Column: *mut Htuple,
23434        IsParallel: *mut Htuple,
23435    ) -> Herror;
23436}
23437unsafe extern "C" {
23438    pub fn intersection_ll(
23439        RowA1: f64,
23440        ColumnA1: f64,
23441        RowA2: f64,
23442        ColumnA2: f64,
23443        RowB1: f64,
23444        ColumnB1: f64,
23445        RowB2: f64,
23446        ColumnB2: f64,
23447        Row: *mut f64,
23448        Column: *mut f64,
23449        IsParallel: *mut Hlong,
23450    ) -> Herror;
23451}
23452unsafe extern "C" {
23453    pub fn T_intersection_contours_xld(
23454        Contour1: Hobject,
23455        Contour2: Hobject,
23456        IntersectionType: Htuple,
23457        Row: *mut Htuple,
23458        Column: *mut Htuple,
23459        IsOverlapping: *mut Htuple,
23460    ) -> Herror;
23461}
23462unsafe extern "C" {
23463    pub fn intersection_contours_xld(
23464        Contour1: Hobject,
23465        Contour2: Hobject,
23466        IntersectionType: *const ::std::os::raw::c_char,
23467        Row: *mut f64,
23468        Column: *mut f64,
23469        IsOverlapping: *mut Hlong,
23470    ) -> Herror;
23471}
23472unsafe extern "C" {
23473    pub fn T_intersection_circle_contour_xld(
23474        Contour: Hobject,
23475        CircleRow: Htuple,
23476        CircleColumn: Htuple,
23477        CircleRadius: Htuple,
23478        CircleStartPhi: Htuple,
23479        CircleEndPhi: Htuple,
23480        CirclePointOrder: Htuple,
23481        Row: *mut Htuple,
23482        Column: *mut Htuple,
23483    ) -> Herror;
23484}
23485unsafe extern "C" {
23486    pub fn intersection_circle_contour_xld(
23487        Contour: Hobject,
23488        CircleRow: f64,
23489        CircleColumn: f64,
23490        CircleRadius: f64,
23491        CircleStartPhi: f64,
23492        CircleEndPhi: f64,
23493        CirclePointOrder: *const ::std::os::raw::c_char,
23494        Row: *mut f64,
23495        Column: *mut f64,
23496    ) -> Herror;
23497}
23498unsafe extern "C" {
23499    pub fn T_intersection_circles(
23500        Circle1Row: Htuple,
23501        Circle1Column: Htuple,
23502        Circle1Radius: Htuple,
23503        Circle1StartPhi: Htuple,
23504        Circle1EndPhi: Htuple,
23505        Circle1PointOrder: Htuple,
23506        Circle2Row: Htuple,
23507        Circle2Column: Htuple,
23508        Circle2Radius: Htuple,
23509        Circle2StartPhi: Htuple,
23510        Circle2EndPhi: Htuple,
23511        Circle2PointOrder: Htuple,
23512        Row: *mut Htuple,
23513        Column: *mut Htuple,
23514        IsOverlapping: *mut Htuple,
23515    ) -> Herror;
23516}
23517unsafe extern "C" {
23518    pub fn intersection_circles(
23519        Circle1Row: f64,
23520        Circle1Column: f64,
23521        Circle1Radius: f64,
23522        Circle1StartPhi: f64,
23523        Circle1EndPhi: f64,
23524        Circle1PointOrder: *const ::std::os::raw::c_char,
23525        Circle2Row: f64,
23526        Circle2Column: f64,
23527        Circle2Radius: f64,
23528        Circle2StartPhi: f64,
23529        Circle2EndPhi: f64,
23530        Circle2PointOrder: *const ::std::os::raw::c_char,
23531        Row: *mut f64,
23532        Column: *mut f64,
23533        IsOverlapping: *mut Hlong,
23534    ) -> Herror;
23535}
23536unsafe extern "C" {
23537    pub fn T_intersection_line_contour_xld(
23538        Contour: Hobject,
23539        LineRow1: Htuple,
23540        LineColumn1: Htuple,
23541        LineRow2: Htuple,
23542        LineColumn2: Htuple,
23543        Row: *mut Htuple,
23544        Column: *mut Htuple,
23545        IsOverlapping: *mut Htuple,
23546    ) -> Herror;
23547}
23548unsafe extern "C" {
23549    pub fn intersection_line_contour_xld(
23550        Contour: Hobject,
23551        LineRow1: f64,
23552        LineColumn1: f64,
23553        LineRow2: f64,
23554        LineColumn2: f64,
23555        Row: *mut f64,
23556        Column: *mut f64,
23557        IsOverlapping: *mut Hlong,
23558    ) -> Herror;
23559}
23560unsafe extern "C" {
23561    pub fn T_intersection_line_circle(
23562        LineRow1: Htuple,
23563        LineColumn1: Htuple,
23564        LineRow2: Htuple,
23565        LineColumn2: Htuple,
23566        CircleRow: Htuple,
23567        CircleColumn: Htuple,
23568        CircleRadius: Htuple,
23569        CircleStartPhi: Htuple,
23570        CircleEndPhi: Htuple,
23571        CirclePointOrder: Htuple,
23572        Row: *mut Htuple,
23573        Column: *mut Htuple,
23574    ) -> Herror;
23575}
23576unsafe extern "C" {
23577    pub fn intersection_line_circle(
23578        LineRow1: f64,
23579        LineColumn1: f64,
23580        LineRow2: f64,
23581        LineColumn2: f64,
23582        CircleRow: f64,
23583        CircleColumn: f64,
23584        CircleRadius: f64,
23585        CircleStartPhi: f64,
23586        CircleEndPhi: f64,
23587        CirclePointOrder: *const ::std::os::raw::c_char,
23588        Row: *mut f64,
23589        Column: *mut f64,
23590    ) -> Herror;
23591}
23592unsafe extern "C" {
23593    pub fn T_intersection_lines(
23594        Line1Row1: Htuple,
23595        Line1Column1: Htuple,
23596        Line1Row2: Htuple,
23597        Line1Column2: Htuple,
23598        Line2Row1: Htuple,
23599        Line2Column1: Htuple,
23600        Line2Row2: Htuple,
23601        Line2Column2: Htuple,
23602        Row: *mut Htuple,
23603        Column: *mut Htuple,
23604        IsOverlapping: *mut Htuple,
23605    ) -> Herror;
23606}
23607unsafe extern "C" {
23608    pub fn intersection_lines(
23609        Line1Row1: f64,
23610        Line1Column1: f64,
23611        Line1Row2: f64,
23612        Line1Column2: f64,
23613        Line2Row1: f64,
23614        Line2Column1: f64,
23615        Line2Row2: f64,
23616        Line2Column2: f64,
23617        Row: *mut f64,
23618        Column: *mut f64,
23619        IsOverlapping: *mut Hlong,
23620    ) -> Herror;
23621}
23622unsafe extern "C" {
23623    pub fn T_intersection_segment_contour_xld(
23624        Contour: Hobject,
23625        SegmentRow1: Htuple,
23626        SegmentColumn1: Htuple,
23627        SegmentRow2: Htuple,
23628        SegmentColumn2: Htuple,
23629        Row: *mut Htuple,
23630        Column: *mut Htuple,
23631        IsOverlapping: *mut Htuple,
23632    ) -> Herror;
23633}
23634unsafe extern "C" {
23635    pub fn intersection_segment_contour_xld(
23636        Contour: Hobject,
23637        SegmentRow1: f64,
23638        SegmentColumn1: f64,
23639        SegmentRow2: f64,
23640        SegmentColumn2: f64,
23641        Row: *mut f64,
23642        Column: *mut f64,
23643        IsOverlapping: *mut Hlong,
23644    ) -> Herror;
23645}
23646unsafe extern "C" {
23647    pub fn T_intersection_segment_circle(
23648        SegmentRow1: Htuple,
23649        SegmentColumn1: Htuple,
23650        SegmentRow2: Htuple,
23651        SegmentColumn2: Htuple,
23652        CircleRow: Htuple,
23653        CircleColumn: Htuple,
23654        CircleRadius: Htuple,
23655        CircleStartPhi: Htuple,
23656        CircleEndPhi: Htuple,
23657        CirclePointOrder: Htuple,
23658        Row: *mut Htuple,
23659        Column: *mut Htuple,
23660    ) -> Herror;
23661}
23662unsafe extern "C" {
23663    pub fn intersection_segment_circle(
23664        SegmentRow1: f64,
23665        SegmentColumn1: f64,
23666        SegmentRow2: f64,
23667        SegmentColumn2: f64,
23668        CircleRow: f64,
23669        CircleColumn: f64,
23670        CircleRadius: f64,
23671        CircleStartPhi: f64,
23672        CircleEndPhi: f64,
23673        CirclePointOrder: *const ::std::os::raw::c_char,
23674        Row: *mut f64,
23675        Column: *mut f64,
23676    ) -> Herror;
23677}
23678unsafe extern "C" {
23679    pub fn T_intersection_segment_line(
23680        SegmentRow1: Htuple,
23681        SegmentColumn1: Htuple,
23682        SegmentRow2: Htuple,
23683        SegmentColumn2: Htuple,
23684        LineRow1: Htuple,
23685        LineColumn1: Htuple,
23686        LineRow2: Htuple,
23687        LineColumn2: Htuple,
23688        Row: *mut Htuple,
23689        Column: *mut Htuple,
23690        IsOverlapping: *mut Htuple,
23691    ) -> Herror;
23692}
23693unsafe extern "C" {
23694    pub fn intersection_segment_line(
23695        SegmentRow1: f64,
23696        SegmentColumn1: f64,
23697        SegmentRow2: f64,
23698        SegmentColumn2: f64,
23699        LineRow1: f64,
23700        LineColumn1: f64,
23701        LineRow2: f64,
23702        LineColumn2: f64,
23703        Row: *mut f64,
23704        Column: *mut f64,
23705        IsOverlapping: *mut Hlong,
23706    ) -> Herror;
23707}
23708unsafe extern "C" {
23709    pub fn T_intersection_segments(
23710        Segment1Row1: Htuple,
23711        Segment1Column1: Htuple,
23712        Segment1Row2: Htuple,
23713        Segment1Column2: Htuple,
23714        Segment2Row1: Htuple,
23715        Segment2Column1: Htuple,
23716        Segment2Row2: Htuple,
23717        Segment2Column2: Htuple,
23718        Row: *mut Htuple,
23719        Column: *mut Htuple,
23720        IsOverlapping: *mut Htuple,
23721    ) -> Herror;
23722}
23723unsafe extern "C" {
23724    pub fn intersection_segments(
23725        Segment1Row1: f64,
23726        Segment1Column1: f64,
23727        Segment1Row2: f64,
23728        Segment1Column2: f64,
23729        Segment2Row1: f64,
23730        Segment2Column1: f64,
23731        Segment2Row2: f64,
23732        Segment2Column2: f64,
23733        Row: *mut f64,
23734        Column: *mut f64,
23735        IsOverlapping: *mut Hlong,
23736    ) -> Herror;
23737}
23738unsafe extern "C" {
23739    pub fn T_clear_distance_transform_xld(DistanceTransformID: Htuple) -> Herror;
23740}
23741unsafe extern "C" {
23742    pub fn clear_distance_transform_xld(DistanceTransformID: Hlong) -> Herror;
23743}
23744unsafe extern "C" {
23745    pub fn T_apply_distance_transform_xld(
23746        Contour: Hobject,
23747        ContourOut: *mut Hobject,
23748        DistanceTransformID: Htuple,
23749    ) -> Herror;
23750}
23751unsafe extern "C" {
23752    pub fn apply_distance_transform_xld(
23753        Contour: Hobject,
23754        ContourOut: *mut Hobject,
23755        DistanceTransformID: Hlong,
23756    ) -> Herror;
23757}
23758unsafe extern "C" {
23759    pub fn T_read_distance_transform_xld(
23760        FileName: Htuple,
23761        DistanceTransformID: *mut Htuple,
23762    ) -> Herror;
23763}
23764unsafe extern "C" {
23765    pub fn read_distance_transform_xld(
23766        FileName: *const ::std::os::raw::c_char,
23767        DistanceTransformID: *mut Hlong,
23768    ) -> Herror;
23769}
23770unsafe extern "C" {
23771    pub fn T_deserialize_distance_transform_xld(
23772        SerializedItemHandle: Htuple,
23773        DistanceTransformID: *mut Htuple,
23774    ) -> Herror;
23775}
23776unsafe extern "C" {
23777    pub fn deserialize_distance_transform_xld(
23778        SerializedItemHandle: Hlong,
23779        DistanceTransformID: *mut Hlong,
23780    ) -> Herror;
23781}
23782unsafe extern "C" {
23783    pub fn T_serialize_distance_transform_xld(
23784        DistanceTransformID: Htuple,
23785        SerializedItemHandle: *mut Htuple,
23786    ) -> Herror;
23787}
23788unsafe extern "C" {
23789    pub fn serialize_distance_transform_xld(
23790        DistanceTransformID: Hlong,
23791        SerializedItemHandle: *mut Hlong,
23792    ) -> Herror;
23793}
23794unsafe extern "C" {
23795    pub fn T_write_distance_transform_xld(DistanceTransformID: Htuple, FileName: Htuple) -> Herror;
23796}
23797unsafe extern "C" {
23798    pub fn write_distance_transform_xld(
23799        DistanceTransformID: Hlong,
23800        FileName: *const ::std::os::raw::c_char,
23801    ) -> Herror;
23802}
23803unsafe extern "C" {
23804    pub fn T_set_distance_transform_xld_param(
23805        DistanceTransformID: Htuple,
23806        GenParamName: Htuple,
23807        GenParamValue: Htuple,
23808    ) -> Herror;
23809}
23810unsafe extern "C" {
23811    pub fn set_distance_transform_xld_param(
23812        DistanceTransformID: Hlong,
23813        GenParamName: *const ::std::os::raw::c_char,
23814        GenParamValue: *const ::std::os::raw::c_char,
23815    ) -> Herror;
23816}
23817unsafe extern "C" {
23818    pub fn T_get_distance_transform_xld_param(
23819        DistanceTransformID: Htuple,
23820        GenParamName: Htuple,
23821        GenParamValue: *mut Htuple,
23822    ) -> Herror;
23823}
23824unsafe extern "C" {
23825    pub fn get_distance_transform_xld_param(
23826        DistanceTransformID: Hlong,
23827        GenParamName: *const ::std::os::raw::c_char,
23828        GenParamValue: *mut ::std::os::raw::c_char,
23829    ) -> Herror;
23830}
23831unsafe extern "C" {
23832    pub fn T_get_distance_transform_xld_contour(
23833        Contour: *mut Hobject,
23834        DistanceTransformID: Htuple,
23835    ) -> Herror;
23836}
23837unsafe extern "C" {
23838    pub fn get_distance_transform_xld_contour(
23839        Contour: *mut Hobject,
23840        DistanceTransformID: Hlong,
23841    ) -> Herror;
23842}
23843unsafe extern "C" {
23844    pub fn T_create_distance_transform_xld(
23845        Contour: Hobject,
23846        Mode: Htuple,
23847        MaxDistance: Htuple,
23848        DistanceTransformID: *mut Htuple,
23849    ) -> Herror;
23850}
23851unsafe extern "C" {
23852    pub fn create_distance_transform_xld(
23853        Contour: Hobject,
23854        Mode: *const ::std::os::raw::c_char,
23855        MaxDistance: f64,
23856        DistanceTransformID: *mut Hlong,
23857    ) -> Herror;
23858}
23859unsafe extern "C" {
23860    pub fn T_distance_contours_xld(
23861        ContourFrom: Hobject,
23862        ContourTo: Hobject,
23863        ContourOut: *mut Hobject,
23864        Mode: Htuple,
23865    ) -> Herror;
23866}
23867unsafe extern "C" {
23868    pub fn distance_contours_xld(
23869        ContourFrom: Hobject,
23870        ContourTo: Hobject,
23871        ContourOut: *mut Hobject,
23872        Mode: *const ::std::os::raw::c_char,
23873    ) -> Herror;
23874}
23875unsafe extern "C" {
23876    pub fn T_distance_cc_min(
23877        Contour1: Hobject,
23878        Contour2: Hobject,
23879        Mode: Htuple,
23880        DistanceMin: *mut Htuple,
23881    ) -> Herror;
23882}
23883unsafe extern "C" {
23884    pub fn distance_cc_min(
23885        Contour1: Hobject,
23886        Contour2: Hobject,
23887        Mode: *const ::std::os::raw::c_char,
23888        DistanceMin: *mut f64,
23889    ) -> Herror;
23890}
23891unsafe extern "C" {
23892    pub fn T_distance_cc(
23893        Contour1: Hobject,
23894        Contour2: Hobject,
23895        Mode: Htuple,
23896        DistanceMin: *mut Htuple,
23897        DistanceMax: *mut Htuple,
23898    ) -> Herror;
23899}
23900unsafe extern "C" {
23901    pub fn distance_cc(
23902        Contour1: Hobject,
23903        Contour2: Hobject,
23904        Mode: *const ::std::os::raw::c_char,
23905        DistanceMin: *mut f64,
23906        DistanceMax: *mut f64,
23907    ) -> Herror;
23908}
23909unsafe extern "C" {
23910    pub fn T_distance_sc(
23911        Contour: Hobject,
23912        Row1: Htuple,
23913        Column1: Htuple,
23914        Row2: Htuple,
23915        Column2: Htuple,
23916        DistanceMin: *mut Htuple,
23917        DistanceMax: *mut Htuple,
23918    ) -> Herror;
23919}
23920unsafe extern "C" {
23921    pub fn distance_sc(
23922        Contour: Hobject,
23923        Row1: f64,
23924        Column1: f64,
23925        Row2: f64,
23926        Column2: f64,
23927        DistanceMin: *mut f64,
23928        DistanceMax: *mut f64,
23929    ) -> Herror;
23930}
23931unsafe extern "C" {
23932    pub fn T_distance_lc(
23933        Contour: Hobject,
23934        Row1: Htuple,
23935        Column1: Htuple,
23936        Row2: Htuple,
23937        Column2: Htuple,
23938        DistanceMin: *mut Htuple,
23939        DistanceMax: *mut Htuple,
23940    ) -> Herror;
23941}
23942unsafe extern "C" {
23943    pub fn distance_lc(
23944        Contour: Hobject,
23945        Row1: f64,
23946        Column1: f64,
23947        Row2: f64,
23948        Column2: f64,
23949        DistanceMin: *mut f64,
23950        DistanceMax: *mut f64,
23951    ) -> Herror;
23952}
23953unsafe extern "C" {
23954    pub fn T_distance_pc(
23955        Contour: Hobject,
23956        Row: Htuple,
23957        Column: Htuple,
23958        DistanceMin: *mut Htuple,
23959        DistanceMax: *mut Htuple,
23960    ) -> Herror;
23961}
23962unsafe extern "C" {
23963    pub fn distance_pc(
23964        Contour: Hobject,
23965        Row: f64,
23966        Column: f64,
23967        DistanceMin: *mut f64,
23968        DistanceMax: *mut f64,
23969    ) -> Herror;
23970}
23971unsafe extern "C" {
23972    pub fn T_distance_sr(
23973        Region: Hobject,
23974        Row1: Htuple,
23975        Column1: Htuple,
23976        Row2: Htuple,
23977        Column2: Htuple,
23978        DistanceMin: *mut Htuple,
23979        DistanceMax: *mut Htuple,
23980    ) -> Herror;
23981}
23982unsafe extern "C" {
23983    pub fn distance_sr(
23984        Region: Hobject,
23985        Row1: f64,
23986        Column1: f64,
23987        Row2: f64,
23988        Column2: f64,
23989        DistanceMin: *mut f64,
23990        DistanceMax: *mut f64,
23991    ) -> Herror;
23992}
23993unsafe extern "C" {
23994    pub fn T_distance_lr(
23995        Region: Hobject,
23996        Row1: Htuple,
23997        Column1: Htuple,
23998        Row2: Htuple,
23999        Column2: Htuple,
24000        DistanceMin: *mut Htuple,
24001        DistanceMax: *mut Htuple,
24002    ) -> Herror;
24003}
24004unsafe extern "C" {
24005    pub fn distance_lr(
24006        Region: Hobject,
24007        Row1: f64,
24008        Column1: f64,
24009        Row2: f64,
24010        Column2: f64,
24011        DistanceMin: *mut f64,
24012        DistanceMax: *mut f64,
24013    ) -> Herror;
24014}
24015unsafe extern "C" {
24016    pub fn T_distance_pr(
24017        Region: Hobject,
24018        Row: Htuple,
24019        Column: Htuple,
24020        DistanceMin: *mut Htuple,
24021        DistanceMax: *mut Htuple,
24022    ) -> Herror;
24023}
24024unsafe extern "C" {
24025    pub fn distance_pr(
24026        Region: Hobject,
24027        Row: f64,
24028        Column: f64,
24029        DistanceMin: *mut f64,
24030        DistanceMax: *mut f64,
24031    ) -> Herror;
24032}
24033unsafe extern "C" {
24034    pub fn T_angle_lx(
24035        Row1: Htuple,
24036        Column1: Htuple,
24037        Row2: Htuple,
24038        Column2: Htuple,
24039        Angle: *mut Htuple,
24040    ) -> Herror;
24041}
24042unsafe extern "C" {
24043    pub fn angle_lx(Row1: f64, Column1: f64, Row2: f64, Column2: f64, Angle: *mut f64) -> Herror;
24044}
24045unsafe extern "C" {
24046    pub fn T_angle_ll(
24047        RowA1: Htuple,
24048        ColumnA1: Htuple,
24049        RowA2: Htuple,
24050        ColumnA2: Htuple,
24051        RowB1: Htuple,
24052        ColumnB1: Htuple,
24053        RowB2: Htuple,
24054        ColumnB2: Htuple,
24055        Angle: *mut Htuple,
24056    ) -> Herror;
24057}
24058unsafe extern "C" {
24059    pub fn angle_ll(
24060        RowA1: f64,
24061        ColumnA1: f64,
24062        RowA2: f64,
24063        ColumnA2: f64,
24064        RowB1: f64,
24065        ColumnB1: f64,
24066        RowB2: f64,
24067        ColumnB2: f64,
24068        Angle: *mut f64,
24069    ) -> Herror;
24070}
24071unsafe extern "C" {
24072    pub fn T_distance_sl(
24073        RowA1: Htuple,
24074        ColumnA1: Htuple,
24075        RowA2: Htuple,
24076        ColumnA2: Htuple,
24077        RowB1: Htuple,
24078        ColumnB1: Htuple,
24079        RowB2: Htuple,
24080        ColumnB2: Htuple,
24081        DistanceMin: *mut Htuple,
24082        DistanceMax: *mut Htuple,
24083    ) -> Herror;
24084}
24085unsafe extern "C" {
24086    pub fn distance_sl(
24087        RowA1: f64,
24088        ColumnA1: f64,
24089        RowA2: f64,
24090        ColumnA2: f64,
24091        RowB1: f64,
24092        ColumnB1: f64,
24093        RowB2: f64,
24094        ColumnB2: f64,
24095        DistanceMin: *mut f64,
24096        DistanceMax: *mut f64,
24097    ) -> Herror;
24098}
24099unsafe extern "C" {
24100    pub fn T_distance_ss(
24101        RowA1: Htuple,
24102        ColumnA1: Htuple,
24103        RowA2: Htuple,
24104        ColumnA2: Htuple,
24105        RowB1: Htuple,
24106        ColumnB1: Htuple,
24107        RowB2: Htuple,
24108        ColumnB2: Htuple,
24109        DistanceMin: *mut Htuple,
24110        DistanceMax: *mut Htuple,
24111    ) -> Herror;
24112}
24113unsafe extern "C" {
24114    pub fn distance_ss(
24115        RowA1: f64,
24116        ColumnA1: f64,
24117        RowA2: f64,
24118        ColumnA2: f64,
24119        RowB1: f64,
24120        ColumnB1: f64,
24121        RowB2: f64,
24122        ColumnB2: f64,
24123        DistanceMin: *mut f64,
24124        DistanceMax: *mut f64,
24125    ) -> Herror;
24126}
24127unsafe extern "C" {
24128    pub fn T_distance_ps(
24129        Row: Htuple,
24130        Column: Htuple,
24131        Row1: Htuple,
24132        Column1: Htuple,
24133        Row2: Htuple,
24134        Column2: Htuple,
24135        DistanceMin: *mut Htuple,
24136        DistanceMax: *mut Htuple,
24137    ) -> Herror;
24138}
24139unsafe extern "C" {
24140    pub fn distance_ps(
24141        Row: f64,
24142        Column: f64,
24143        Row1: f64,
24144        Column1: f64,
24145        Row2: f64,
24146        Column2: f64,
24147        DistanceMin: *mut f64,
24148        DistanceMax: *mut f64,
24149    ) -> Herror;
24150}
24151unsafe extern "C" {
24152    pub fn T_distance_pl(
24153        Row: Htuple,
24154        Column: Htuple,
24155        Row1: Htuple,
24156        Column1: Htuple,
24157        Row2: Htuple,
24158        Column2: Htuple,
24159        Distance: *mut Htuple,
24160    ) -> Herror;
24161}
24162unsafe extern "C" {
24163    pub fn distance_pl(
24164        Row: f64,
24165        Column: f64,
24166        Row1: f64,
24167        Column1: f64,
24168        Row2: f64,
24169        Column2: f64,
24170        Distance: *mut f64,
24171    ) -> Herror;
24172}
24173unsafe extern "C" {
24174    pub fn T_distance_pp(
24175        Row1: Htuple,
24176        Column1: Htuple,
24177        Row2: Htuple,
24178        Column2: Htuple,
24179        Distance: *mut Htuple,
24180    ) -> Herror;
24181}
24182unsafe extern "C" {
24183    pub fn distance_pp(
24184        Row1: f64,
24185        Column1: f64,
24186        Row2: f64,
24187        Column2: f64,
24188        Distance: *mut f64,
24189    ) -> Herror;
24190}
24191unsafe extern "C" {
24192    pub fn T_compose_funct_1d(
24193        Function1: Htuple,
24194        Function2: Htuple,
24195        Border: Htuple,
24196        ComposedFunction: *mut Htuple,
24197    ) -> Herror;
24198}
24199unsafe extern "C" {
24200    pub fn T_invert_funct_1d(Function: Htuple, InverseFunction: *mut Htuple) -> Herror;
24201}
24202unsafe extern "C" {
24203    pub fn T_derivate_funct_1d(Function: Htuple, Mode: Htuple, Derivative: *mut Htuple) -> Herror;
24204}
24205unsafe extern "C" {
24206    pub fn T_local_min_max_funct_1d(
24207        Function: Htuple,
24208        Mode: Htuple,
24209        Interpolation: Htuple,
24210        Min: *mut Htuple,
24211        Max: *mut Htuple,
24212    ) -> Herror;
24213}
24214unsafe extern "C" {
24215    pub fn T_zero_crossings_funct_1d(Function: Htuple, ZeroCrossings: *mut Htuple) -> Herror;
24216}
24217unsafe extern "C" {
24218    pub fn T_scale_y_funct_1d(
24219        Function: Htuple,
24220        Mult: Htuple,
24221        Add: Htuple,
24222        FunctionScaled: *mut Htuple,
24223    ) -> Herror;
24224}
24225unsafe extern "C" {
24226    pub fn T_negate_funct_1d(Function: Htuple, FunctionInverted: *mut Htuple) -> Herror;
24227}
24228unsafe extern "C" {
24229    pub fn T_abs_funct_1d(Function: Htuple, FunctionAbsolute: *mut Htuple) -> Herror;
24230}
24231unsafe extern "C" {
24232    pub fn T_get_y_value_funct_1d(
24233        Function: Htuple,
24234        X: Htuple,
24235        Border: Htuple,
24236        Y: *mut Htuple,
24237    ) -> Herror;
24238}
24239unsafe extern "C" {
24240    pub fn T_get_pair_funct_1d(
24241        Function: Htuple,
24242        Index: Htuple,
24243        X: *mut Htuple,
24244        Y: *mut Htuple,
24245    ) -> Herror;
24246}
24247unsafe extern "C" {
24248    pub fn T_num_points_funct_1d(Function: Htuple, Length: *mut Htuple) -> Herror;
24249}
24250unsafe extern "C" {
24251    pub fn T_y_range_funct_1d(Function: Htuple, YMin: *mut Htuple, YMax: *mut Htuple) -> Herror;
24252}
24253unsafe extern "C" {
24254    pub fn T_x_range_funct_1d(Function: Htuple, XMin: *mut Htuple, XMax: *mut Htuple) -> Herror;
24255}
24256unsafe extern "C" {
24257    pub fn T_funct_1d_to_pairs(
24258        Function: Htuple,
24259        XValues: *mut Htuple,
24260        YValues: *mut Htuple,
24261    ) -> Herror;
24262}
24263unsafe extern "C" {
24264    pub fn T_sample_funct_1d(
24265        Function: Htuple,
24266        XMin: Htuple,
24267        XMax: Htuple,
24268        XDist: Htuple,
24269        Border: Htuple,
24270        SampledFunction: *mut Htuple,
24271    ) -> Herror;
24272}
24273unsafe extern "C" {
24274    pub fn T_transform_funct_1d(
24275        Function: Htuple,
24276        Params: Htuple,
24277        TransformedFunction: *mut Htuple,
24278    ) -> Herror;
24279}
24280unsafe extern "C" {
24281    pub fn T_match_funct_1d_trans(
24282        Function1: Htuple,
24283        Function2: Htuple,
24284        Border: Htuple,
24285        ParamsConst: Htuple,
24286        UseParams: Htuple,
24287        Params: *mut Htuple,
24288        ChiSquare: *mut Htuple,
24289        Covar: *mut Htuple,
24290    ) -> Herror;
24291}
24292unsafe extern "C" {
24293    pub fn T_distance_funct_1d(
24294        Function1: Htuple,
24295        Function2: Htuple,
24296        Mode: Htuple,
24297        Sigma: Htuple,
24298        Distance: *mut Htuple,
24299    ) -> Herror;
24300}
24301unsafe extern "C" {
24302    pub fn T_smooth_funct_1d_gauss(
24303        Function: Htuple,
24304        Sigma: Htuple,
24305        SmoothedFunction: *mut Htuple,
24306    ) -> Herror;
24307}
24308unsafe extern "C" {
24309    pub fn T_integrate_funct_1d(
24310        Function: Htuple,
24311        Positive: *mut Htuple,
24312        Negative: *mut Htuple,
24313    ) -> Herror;
24314}
24315unsafe extern "C" {
24316    pub fn T_read_funct_1d(FileName: Htuple, Function: *mut Htuple) -> Herror;
24317}
24318unsafe extern "C" {
24319    pub fn read_funct_1d(FileName: *const ::std::os::raw::c_char, Function: *mut f64) -> Herror;
24320}
24321unsafe extern "C" {
24322    pub fn T_write_funct_1d(Function: Htuple, FileName: Htuple) -> Herror;
24323}
24324unsafe extern "C" {
24325    pub fn T_create_funct_1d_array(YValues: Htuple, Function: *mut Htuple) -> Herror;
24326}
24327unsafe extern "C" {
24328    pub fn T_create_funct_1d_pairs(
24329        XValues: Htuple,
24330        YValues: Htuple,
24331        Function: *mut Htuple,
24332    ) -> Herror;
24333}
24334unsafe extern "C" {
24335    pub fn T_smooth_funct_1d_mean(
24336        Function: Htuple,
24337        SmoothSize: Htuple,
24338        Iterations: Htuple,
24339        SmoothedFunction: *mut Htuple,
24340    ) -> Herror;
24341}
24342unsafe extern "C" {
24343    pub fn T_texture_laws(
24344        Image: Hobject,
24345        ImageTexture: *mut Hobject,
24346        FilterTypes: Htuple,
24347        Shift: Htuple,
24348        FilterSize: Htuple,
24349    ) -> Herror;
24350}
24351unsafe extern "C" {
24352    pub fn texture_laws(
24353        Image: Hobject,
24354        ImageTexture: *mut Hobject,
24355        FilterTypes: *const ::std::os::raw::c_char,
24356        Shift: Hlong,
24357        FilterSize: Hlong,
24358    ) -> Herror;
24359}
24360unsafe extern "C" {
24361    pub fn T_deviation_image(
24362        Image: Hobject,
24363        ImageDeviation: *mut Hobject,
24364        Width: Htuple,
24365        Height: Htuple,
24366    ) -> Herror;
24367}
24368unsafe extern "C" {
24369    pub fn deviation_image(
24370        Image: Hobject,
24371        ImageDeviation: *mut Hobject,
24372        Width: Hlong,
24373        Height: Hlong,
24374    ) -> Herror;
24375}
24376unsafe extern "C" {
24377    pub fn T_entropy_image(
24378        Image: Hobject,
24379        ImageEntropy: *mut Hobject,
24380        Width: Htuple,
24381        Height: Htuple,
24382    ) -> Herror;
24383}
24384unsafe extern "C" {
24385    pub fn entropy_image(
24386        Image: Hobject,
24387        ImageEntropy: *mut Hobject,
24388        Width: Hlong,
24389        Height: Hlong,
24390    ) -> Herror;
24391}
24392unsafe extern "C" {
24393    pub fn T_isotropic_diffusion(
24394        Image: Hobject,
24395        SmoothedImage: *mut Hobject,
24396        Sigma: Htuple,
24397        Iterations: Htuple,
24398    ) -> Herror;
24399}
24400unsafe extern "C" {
24401    pub fn isotropic_diffusion(
24402        Image: Hobject,
24403        SmoothedImage: *mut Hobject,
24404        Sigma: f64,
24405        Iterations: Hlong,
24406    ) -> Herror;
24407}
24408unsafe extern "C" {
24409    pub fn T_anisotropic_diffusion(
24410        Image: Hobject,
24411        ImageAniso: *mut Hobject,
24412        Mode: Htuple,
24413        Contrast: Htuple,
24414        Theta: Htuple,
24415        Iterations: Htuple,
24416    ) -> Herror;
24417}
24418unsafe extern "C" {
24419    pub fn anisotropic_diffusion(
24420        Image: Hobject,
24421        ImageAniso: *mut Hobject,
24422        Mode: *const ::std::os::raw::c_char,
24423        Contrast: f64,
24424        Theta: f64,
24425        Iterations: Hlong,
24426    ) -> Herror;
24427}
24428unsafe extern "C" {
24429    pub fn T_smooth_image(
24430        Image: Hobject,
24431        ImageSmooth: *mut Hobject,
24432        Filter: Htuple,
24433        Alpha: Htuple,
24434    ) -> Herror;
24435}
24436unsafe extern "C" {
24437    pub fn smooth_image(
24438        Image: Hobject,
24439        ImageSmooth: *mut Hobject,
24440        Filter: *const ::std::os::raw::c_char,
24441        Alpha: f64,
24442    ) -> Herror;
24443}
24444unsafe extern "C" {
24445    pub fn T_sigma_image(
24446        Image: Hobject,
24447        ImageSigma: *mut Hobject,
24448        MaskHeight: Htuple,
24449        MaskWidth: Htuple,
24450        Sigma: Htuple,
24451    ) -> Herror;
24452}
24453unsafe extern "C" {
24454    pub fn sigma_image(
24455        Image: Hobject,
24456        ImageSigma: *mut Hobject,
24457        MaskHeight: Hlong,
24458        MaskWidth: Hlong,
24459        Sigma: Hlong,
24460    ) -> Herror;
24461}
24462unsafe extern "C" {
24463    pub fn T_midrange_image(
24464        Image: Hobject,
24465        Mask: Hobject,
24466        ImageMidrange: *mut Hobject,
24467        Margin: Htuple,
24468    ) -> Herror;
24469}
24470unsafe extern "C" {
24471    pub fn midrange_image(
24472        Image: Hobject,
24473        Mask: Hobject,
24474        ImageMidrange: *mut Hobject,
24475        Margin: *const ::std::os::raw::c_char,
24476    ) -> Herror;
24477}
24478unsafe extern "C" {
24479    pub fn T_trimmed_mean(
24480        Image: Hobject,
24481        Mask: Hobject,
24482        ImageTMean: *mut Hobject,
24483        Number: Htuple,
24484        Margin: Htuple,
24485    ) -> Herror;
24486}
24487unsafe extern "C" {
24488    pub fn trimmed_mean(
24489        Image: Hobject,
24490        Mask: Hobject,
24491        ImageTMean: *mut Hobject,
24492        Number: Hlong,
24493        Margin: *const ::std::os::raw::c_char,
24494    ) -> Herror;
24495}
24496unsafe extern "C" {
24497    pub fn T_median_separate(
24498        Image: Hobject,
24499        ImageSMedian: *mut Hobject,
24500        MaskWidth: Htuple,
24501        MaskHeight: Htuple,
24502        Margin: Htuple,
24503    ) -> Herror;
24504}
24505unsafe extern "C" {
24506    pub fn median_separate(
24507        Image: Hobject,
24508        ImageSMedian: *mut Hobject,
24509        MaskWidth: Hlong,
24510        MaskHeight: Hlong,
24511        Margin: *const ::std::os::raw::c_char,
24512    ) -> Herror;
24513}
24514unsafe extern "C" {
24515    pub fn T_median_rect(
24516        Image: Hobject,
24517        ImageMedian: *mut Hobject,
24518        MaskWidth: Htuple,
24519        MaskHeight: Htuple,
24520    ) -> Herror;
24521}
24522unsafe extern "C" {
24523    pub fn median_rect(
24524        Image: Hobject,
24525        ImageMedian: *mut Hobject,
24526        MaskWidth: Hlong,
24527        MaskHeight: Hlong,
24528    ) -> Herror;
24529}
24530unsafe extern "C" {
24531    pub fn T_median_image(
24532        Image: Hobject,
24533        ImageMedian: *mut Hobject,
24534        MaskType: Htuple,
24535        Radius: Htuple,
24536        Margin: Htuple,
24537    ) -> Herror;
24538}
24539unsafe extern "C" {
24540    pub fn median_image(
24541        Image: Hobject,
24542        ImageMedian: *mut Hobject,
24543        MaskType: *const ::std::os::raw::c_char,
24544        Radius: Hlong,
24545        Margin: *const ::std::os::raw::c_char,
24546    ) -> Herror;
24547}
24548unsafe extern "C" {
24549    pub fn T_median_weighted(
24550        Image: Hobject,
24551        ImageWMedian: *mut Hobject,
24552        MaskType: Htuple,
24553        MaskSize: Htuple,
24554    ) -> Herror;
24555}
24556unsafe extern "C" {
24557    pub fn median_weighted(
24558        Image: Hobject,
24559        ImageWMedian: *mut Hobject,
24560        MaskType: *const ::std::os::raw::c_char,
24561        MaskSize: Hlong,
24562    ) -> Herror;
24563}
24564unsafe extern "C" {
24565    pub fn T_rank_rect(
24566        Image: Hobject,
24567        ImageRank: *mut Hobject,
24568        MaskWidth: Htuple,
24569        MaskHeight: Htuple,
24570        Rank: Htuple,
24571    ) -> Herror;
24572}
24573unsafe extern "C" {
24574    pub fn rank_rect(
24575        Image: Hobject,
24576        ImageRank: *mut Hobject,
24577        MaskWidth: Hlong,
24578        MaskHeight: Hlong,
24579        Rank: Hlong,
24580    ) -> Herror;
24581}
24582unsafe extern "C" {
24583    pub fn T_rank_image(
24584        Image: Hobject,
24585        Mask: Hobject,
24586        ImageRank: *mut Hobject,
24587        Rank: Htuple,
24588        Margin: Htuple,
24589    ) -> Herror;
24590}
24591unsafe extern "C" {
24592    pub fn rank_image(
24593        Image: Hobject,
24594        Mask: Hobject,
24595        ImageRank: *mut Hobject,
24596        Rank: Hlong,
24597        Margin: *const ::std::os::raw::c_char,
24598    ) -> Herror;
24599}
24600unsafe extern "C" {
24601    pub fn T_dual_rank(
24602        Image: Hobject,
24603        ImageRank: *mut Hobject,
24604        MaskType: Htuple,
24605        Radius: Htuple,
24606        ModePercent: Htuple,
24607        Margin: Htuple,
24608    ) -> Herror;
24609}
24610unsafe extern "C" {
24611    pub fn dual_rank(
24612        Image: Hobject,
24613        ImageRank: *mut Hobject,
24614        MaskType: *const ::std::os::raw::c_char,
24615        Radius: Hlong,
24616        ModePercent: Hlong,
24617        Margin: *const ::std::os::raw::c_char,
24618    ) -> Herror;
24619}
24620unsafe extern "C" {
24621    pub fn T_mean_image(
24622        Image: Hobject,
24623        ImageMean: *mut Hobject,
24624        MaskWidth: Htuple,
24625        MaskHeight: Htuple,
24626    ) -> Herror;
24627}
24628unsafe extern "C" {
24629    pub fn mean_image(
24630        Image: Hobject,
24631        ImageMean: *mut Hobject,
24632        MaskWidth: Hlong,
24633        MaskHeight: Hlong,
24634    ) -> Herror;
24635}
24636unsafe extern "C" {
24637    pub fn T_info_smooth(
24638        Filter: Htuple,
24639        Alpha: Htuple,
24640        Size: *mut Htuple,
24641        Coeffs: *mut Htuple,
24642    ) -> Herror;
24643}
24644unsafe extern "C" {
24645    pub fn T_binomial_filter(
24646        Image: Hobject,
24647        ImageBinomial: *mut Hobject,
24648        MaskWidth: Htuple,
24649        MaskHeight: Htuple,
24650    ) -> Herror;
24651}
24652unsafe extern "C" {
24653    pub fn binomial_filter(
24654        Image: Hobject,
24655        ImageBinomial: *mut Hobject,
24656        MaskWidth: Hlong,
24657        MaskHeight: Hlong,
24658    ) -> Herror;
24659}
24660unsafe extern "C" {
24661    pub fn T_gauss_image(Image: Hobject, ImageGauss: *mut Hobject, Size: Htuple) -> Herror;
24662}
24663unsafe extern "C" {
24664    pub fn gauss_image(Image: Hobject, ImageGauss: *mut Hobject, Size: Hlong) -> Herror;
24665}
24666unsafe extern "C" {
24667    pub fn T_gauss_filter(Image: Hobject, ImageGauss: *mut Hobject, Size: Htuple) -> Herror;
24668}
24669unsafe extern "C" {
24670    pub fn gauss_filter(Image: Hobject, ImageGauss: *mut Hobject, Size: Hlong) -> Herror;
24671}
24672unsafe extern "C" {
24673    pub fn T_eliminate_min_max(
24674        Image: Hobject,
24675        FilteredImage: *mut Hobject,
24676        MaskWidth: Htuple,
24677        MaskHeight: Htuple,
24678        Gap: Htuple,
24679        Mode: Htuple,
24680    ) -> Herror;
24681}
24682unsafe extern "C" {
24683    pub fn eliminate_min_max(
24684        Image: Hobject,
24685        FilteredImage: *mut Hobject,
24686        MaskWidth: Hlong,
24687        MaskHeight: Hlong,
24688        Gap: f64,
24689        Mode: Hlong,
24690    ) -> Herror;
24691}
24692unsafe extern "C" {
24693    pub fn T_fill_interlace(
24694        ImageCamera: Hobject,
24695        ImageFilled: *mut Hobject,
24696        Mode: Htuple,
24697    ) -> Herror;
24698}
24699unsafe extern "C" {
24700    pub fn fill_interlace(
24701        ImageCamera: Hobject,
24702        ImageFilled: *mut Hobject,
24703        Mode: *const ::std::os::raw::c_char,
24704    ) -> Herror;
24705}
24706unsafe extern "C" {
24707    pub fn T_rank_n(Image: Hobject, RankImage: *mut Hobject, RankIndex: Htuple) -> Herror;
24708}
24709unsafe extern "C" {
24710    pub fn rank_n(Image: Hobject, RankImage: *mut Hobject, RankIndex: Hlong) -> Herror;
24711}
24712unsafe extern "C" {
24713    pub fn T_mean_n(Image: Hobject, ImageMean: *mut Hobject) -> Herror;
24714}
24715unsafe extern "C" {
24716    pub fn mean_n(Image: Hobject, ImageMean: *mut Hobject) -> Herror;
24717}
24718unsafe extern "C" {
24719    pub fn T_eliminate_sp(
24720        Image: Hobject,
24721        ImageFillSP: *mut Hobject,
24722        MaskWidth: Htuple,
24723        MaskHeight: Htuple,
24724        MinThresh: Htuple,
24725        MaxThresh: Htuple,
24726    ) -> Herror;
24727}
24728unsafe extern "C" {
24729    pub fn eliminate_sp(
24730        Image: Hobject,
24731        ImageFillSP: *mut Hobject,
24732        MaskWidth: Hlong,
24733        MaskHeight: Hlong,
24734        MinThresh: Hlong,
24735        MaxThresh: Hlong,
24736    ) -> Herror;
24737}
24738unsafe extern "C" {
24739    pub fn T_mean_sp(
24740        Image: Hobject,
24741        ImageSPMean: *mut Hobject,
24742        MaskWidth: Htuple,
24743        MaskHeight: Htuple,
24744        MinThresh: Htuple,
24745        MaxThresh: Htuple,
24746    ) -> Herror;
24747}
24748unsafe extern "C" {
24749    pub fn mean_sp(
24750        Image: Hobject,
24751        ImageSPMean: *mut Hobject,
24752        MaskWidth: Hlong,
24753        MaskHeight: Hlong,
24754        MinThresh: Hlong,
24755        MaxThresh: Hlong,
24756    ) -> Herror;
24757}
24758unsafe extern "C" {
24759    pub fn T_points_sojka(
24760        Image: Hobject,
24761        MaskSize: Htuple,
24762        SigmaW: Htuple,
24763        SigmaD: Htuple,
24764        MinGrad: Htuple,
24765        MinApparentness: Htuple,
24766        MinAngle: Htuple,
24767        Subpix: Htuple,
24768        Row: *mut Htuple,
24769        Column: *mut Htuple,
24770    ) -> Herror;
24771}
24772unsafe extern "C" {
24773    pub fn T_dots_image(
24774        Image: Hobject,
24775        DotImage: *mut Hobject,
24776        Diameter: Htuple,
24777        FilterType: Htuple,
24778        PixelShift: Htuple,
24779    ) -> Herror;
24780}
24781unsafe extern "C" {
24782    pub fn dots_image(
24783        Image: Hobject,
24784        DotImage: *mut Hobject,
24785        Diameter: Hlong,
24786        FilterType: *const ::std::os::raw::c_char,
24787        PixelShift: Hlong,
24788    ) -> Herror;
24789}
24790unsafe extern "C" {
24791    pub fn T_local_min_sub_pix(
24792        Image: Hobject,
24793        Filter: Htuple,
24794        Sigma: Htuple,
24795        Threshold: Htuple,
24796        Row: *mut Htuple,
24797        Column: *mut Htuple,
24798    ) -> Herror;
24799}
24800unsafe extern "C" {
24801    pub fn T_local_max_sub_pix(
24802        Image: Hobject,
24803        Filter: Htuple,
24804        Sigma: Htuple,
24805        Threshold: Htuple,
24806        Row: *mut Htuple,
24807        Column: *mut Htuple,
24808    ) -> Herror;
24809}
24810unsafe extern "C" {
24811    pub fn T_saddle_points_sub_pix(
24812        Image: Hobject,
24813        Filter: Htuple,
24814        Sigma: Htuple,
24815        Threshold: Htuple,
24816        Row: *mut Htuple,
24817        Column: *mut Htuple,
24818    ) -> Herror;
24819}
24820unsafe extern "C" {
24821    pub fn T_critical_points_sub_pix(
24822        Image: Hobject,
24823        Filter: Htuple,
24824        Sigma: Htuple,
24825        Threshold: Htuple,
24826        RowMin: *mut Htuple,
24827        ColumnMin: *mut Htuple,
24828        RowMax: *mut Htuple,
24829        ColumnMax: *mut Htuple,
24830        RowSaddle: *mut Htuple,
24831        ColumnSaddle: *mut Htuple,
24832    ) -> Herror;
24833}
24834unsafe extern "C" {
24835    pub fn T_points_harris(
24836        Image: Hobject,
24837        SigmaGrad: Htuple,
24838        SigmaSmooth: Htuple,
24839        Alpha: Htuple,
24840        Threshold: Htuple,
24841        Row: *mut Htuple,
24842        Column: *mut Htuple,
24843    ) -> Herror;
24844}
24845unsafe extern "C" {
24846    pub fn T_points_harris_binomial(
24847        Image: Hobject,
24848        MaskSizeGrad: Htuple,
24849        MaskSizeSmooth: Htuple,
24850        Alpha: Htuple,
24851        Threshold: Htuple,
24852        Subpix: Htuple,
24853        Row: *mut Htuple,
24854        Column: *mut Htuple,
24855    ) -> Herror;
24856}
24857unsafe extern "C" {
24858    pub fn T_points_lepetit(
24859        Image: Hobject,
24860        Radius: Htuple,
24861        CheckNeighbor: Htuple,
24862        MinCheckNeighborDiff: Htuple,
24863        MinScore: Htuple,
24864        Subpix: Htuple,
24865        Row: *mut Htuple,
24866        Column: *mut Htuple,
24867    ) -> Herror;
24868}
24869unsafe extern "C" {
24870    pub fn T_points_foerstner(
24871        Image: Hobject,
24872        SigmaGrad: Htuple,
24873        SigmaInt: Htuple,
24874        SigmaPoints: Htuple,
24875        ThreshInhom: Htuple,
24876        ThreshShape: Htuple,
24877        Smoothing: Htuple,
24878        EliminateDoublets: Htuple,
24879        RowJunctions: *mut Htuple,
24880        ColumnJunctions: *mut Htuple,
24881        CoRRJunctions: *mut Htuple,
24882        CoRCJunctions: *mut Htuple,
24883        CoCCJunctions: *mut Htuple,
24884        RowArea: *mut Htuple,
24885        ColumnArea: *mut Htuple,
24886        CoRRArea: *mut Htuple,
24887        CoRCArea: *mut Htuple,
24888        CoCCArea: *mut Htuple,
24889    ) -> Herror;
24890}
24891unsafe extern "C" {
24892    pub fn T_estimate_noise(
24893        Image: Hobject,
24894        Method: Htuple,
24895        Percent: Htuple,
24896        Sigma: *mut Htuple,
24897    ) -> Herror;
24898}
24899unsafe extern "C" {
24900    pub fn estimate_noise(
24901        Image: Hobject,
24902        Method: *const ::std::os::raw::c_char,
24903        Percent: f64,
24904        Sigma: *mut f64,
24905    ) -> Herror;
24906}
24907unsafe extern "C" {
24908    pub fn T_noise_distribution_mean(
24909        ConstRegion: Hobject,
24910        Image: Hobject,
24911        FilterSize: Htuple,
24912        Distribution: *mut Htuple,
24913    ) -> Herror;
24914}
24915unsafe extern "C" {
24916    pub fn T_add_noise_white(Image: Hobject, ImageNoise: *mut Hobject, Amp: Htuple) -> Herror;
24917}
24918unsafe extern "C" {
24919    pub fn add_noise_white(Image: Hobject, ImageNoise: *mut Hobject, Amp: f64) -> Herror;
24920}
24921unsafe extern "C" {
24922    pub fn T_add_noise_distribution(
24923        Image: Hobject,
24924        ImageNoise: *mut Hobject,
24925        Distribution: Htuple,
24926    ) -> Herror;
24927}
24928unsafe extern "C" {
24929    pub fn T_gauss_distribution(Sigma: Htuple, Distribution: *mut Htuple) -> Herror;
24930}
24931unsafe extern "C" {
24932    pub fn T_sp_distribution(
24933        PercentSalt: Htuple,
24934        PercentPepper: Htuple,
24935        Distribution: *mut Htuple,
24936    ) -> Herror;
24937}
24938unsafe extern "C" {
24939    pub fn T_deviation_n(Image: Hobject, ImageDeviation: *mut Hobject) -> Herror;
24940}
24941unsafe extern "C" {
24942    pub fn deviation_n(Image: Hobject, ImageDeviation: *mut Hobject) -> Herror;
24943}
24944unsafe extern "C" {
24945    pub fn T_inpainting_texture(
24946        Image: Hobject,
24947        Region: Hobject,
24948        InpaintedImage: *mut Hobject,
24949        MaskSize: Htuple,
24950        SearchSize: Htuple,
24951        Anisotropy: Htuple,
24952        PostIteration: Htuple,
24953        Smoothness: Htuple,
24954    ) -> Herror;
24955}
24956unsafe extern "C" {
24957    pub fn inpainting_texture(
24958        Image: Hobject,
24959        Region: Hobject,
24960        InpaintedImage: *mut Hobject,
24961        MaskSize: Hlong,
24962        SearchSize: Hlong,
24963        Anisotropy: f64,
24964        PostIteration: *const ::std::os::raw::c_char,
24965        Smoothness: f64,
24966    ) -> Herror;
24967}
24968unsafe extern "C" {
24969    pub fn T_inpainting_ct(
24970        Image: Hobject,
24971        Region: Hobject,
24972        InpaintedImage: *mut Hobject,
24973        Epsilon: Htuple,
24974        Kappa: Htuple,
24975        Sigma: Htuple,
24976        Rho: Htuple,
24977        ChannelCoefficients: Htuple,
24978    ) -> Herror;
24979}
24980unsafe extern "C" {
24981    pub fn inpainting_ct(
24982        Image: Hobject,
24983        Region: Hobject,
24984        InpaintedImage: *mut Hobject,
24985        Epsilon: f64,
24986        Kappa: f64,
24987        Sigma: f64,
24988        Rho: f64,
24989        ChannelCoefficients: f64,
24990    ) -> Herror;
24991}
24992unsafe extern "C" {
24993    pub fn T_inpainting_mcf(
24994        Image: Hobject,
24995        Region: Hobject,
24996        InpaintedImage: *mut Hobject,
24997        Sigma: Htuple,
24998        Theta: Htuple,
24999        Iterations: Htuple,
25000    ) -> Herror;
25001}
25002unsafe extern "C" {
25003    pub fn inpainting_mcf(
25004        Image: Hobject,
25005        Region: Hobject,
25006        InpaintedImage: *mut Hobject,
25007        Sigma: f64,
25008        Theta: f64,
25009        Iterations: Hlong,
25010    ) -> Herror;
25011}
25012unsafe extern "C" {
25013    pub fn T_inpainting_ced(
25014        Image: Hobject,
25015        Region: Hobject,
25016        InpaintedImage: *mut Hobject,
25017        Sigma: Htuple,
25018        Rho: Htuple,
25019        Theta: Htuple,
25020        Iterations: Htuple,
25021    ) -> Herror;
25022}
25023unsafe extern "C" {
25024    pub fn inpainting_ced(
25025        Image: Hobject,
25026        Region: Hobject,
25027        InpaintedImage: *mut Hobject,
25028        Sigma: f64,
25029        Rho: f64,
25030        Theta: f64,
25031        Iterations: Hlong,
25032    ) -> Herror;
25033}
25034unsafe extern "C" {
25035    pub fn T_inpainting_aniso(
25036        Image: Hobject,
25037        Region: Hobject,
25038        InpaintedImage: *mut Hobject,
25039        Mode: Htuple,
25040        Contrast: Htuple,
25041        Theta: Htuple,
25042        Iterations: Htuple,
25043        Rho: Htuple,
25044    ) -> Herror;
25045}
25046unsafe extern "C" {
25047    pub fn inpainting_aniso(
25048        Image: Hobject,
25049        Region: Hobject,
25050        InpaintedImage: *mut Hobject,
25051        Mode: *const ::std::os::raw::c_char,
25052        Contrast: f64,
25053        Theta: f64,
25054        Iterations: Hlong,
25055        Rho: f64,
25056    ) -> Herror;
25057}
25058unsafe extern "C" {
25059    pub fn T_harmonic_interpolation(
25060        Image: Hobject,
25061        Region: Hobject,
25062        InpaintedImage: *mut Hobject,
25063        Precision: Htuple,
25064    ) -> Herror;
25065}
25066unsafe extern "C" {
25067    pub fn harmonic_interpolation(
25068        Image: Hobject,
25069        Region: Hobject,
25070        InpaintedImage: *mut Hobject,
25071        Precision: f64,
25072    ) -> Herror;
25073}
25074unsafe extern "C" {
25075    pub fn T_expand_domain_gray(
25076        InputImage: Hobject,
25077        ExpandedImage: *mut Hobject,
25078        ExpansionRange: Htuple,
25079    ) -> Herror;
25080}
25081unsafe extern "C" {
25082    pub fn expand_domain_gray(
25083        InputImage: Hobject,
25084        ExpandedImage: *mut Hobject,
25085        ExpansionRange: Hlong,
25086    ) -> Herror;
25087}
25088unsafe extern "C" {
25089    pub fn T_topographic_sketch(Image: Hobject, Sketch: *mut Hobject) -> Herror;
25090}
25091unsafe extern "C" {
25092    pub fn topographic_sketch(Image: Hobject, Sketch: *mut Hobject) -> Herror;
25093}
25094unsafe extern "C" {
25095    pub fn T_linear_trans_color(
25096        Image: Hobject,
25097        ImageTrans: *mut Hobject,
25098        TransMat: Htuple,
25099    ) -> Herror;
25100}
25101unsafe extern "C" {
25102    pub fn T_gen_principal_comp_trans(
25103        MultichannelImage: Hobject,
25104        Trans: *mut Htuple,
25105        TransInv: *mut Htuple,
25106        Mean: *mut Htuple,
25107        Cov: *mut Htuple,
25108        InfoPerComp: *mut Htuple,
25109    ) -> Herror;
25110}
25111unsafe extern "C" {
25112    pub fn T_principal_comp(
25113        MultichannelImage: Hobject,
25114        PCAImage: *mut Hobject,
25115        InfoPerComp: *mut Htuple,
25116    ) -> Herror;
25117}
25118unsafe extern "C" {
25119    pub fn T_fuzzy_entropy(
25120        Regions: Hobject,
25121        Image: Hobject,
25122        Apar: Htuple,
25123        Cpar: Htuple,
25124        Entropy: *mut Htuple,
25125    ) -> Herror;
25126}
25127unsafe extern "C" {
25128    pub fn fuzzy_entropy(
25129        Regions: Hobject,
25130        Image: Hobject,
25131        Apar: Hlong,
25132        Cpar: Hlong,
25133        Entropy: *mut f64,
25134    ) -> Herror;
25135}
25136unsafe extern "C" {
25137    pub fn T_fuzzy_perimeter(
25138        Regions: Hobject,
25139        Image: Hobject,
25140        Apar: Htuple,
25141        Cpar: Htuple,
25142        Perimeter: *mut Htuple,
25143    ) -> Herror;
25144}
25145unsafe extern "C" {
25146    pub fn fuzzy_perimeter(
25147        Regions: Hobject,
25148        Image: Hobject,
25149        Apar: Hlong,
25150        Cpar: Hlong,
25151        Perimeter: *mut f64,
25152    ) -> Herror;
25153}
25154unsafe extern "C" {
25155    pub fn T_gray_closing_shape(
25156        Image: Hobject,
25157        ImageClosing: *mut Hobject,
25158        MaskHeight: Htuple,
25159        MaskWidth: Htuple,
25160        MaskShape: Htuple,
25161    ) -> Herror;
25162}
25163unsafe extern "C" {
25164    pub fn gray_closing_shape(
25165        Image: Hobject,
25166        ImageClosing: *mut Hobject,
25167        MaskHeight: f64,
25168        MaskWidth: f64,
25169        MaskShape: *const ::std::os::raw::c_char,
25170    ) -> Herror;
25171}
25172unsafe extern "C" {
25173    pub fn T_gray_opening_shape(
25174        Image: Hobject,
25175        ImageOpening: *mut Hobject,
25176        MaskHeight: Htuple,
25177        MaskWidth: Htuple,
25178        MaskShape: Htuple,
25179    ) -> Herror;
25180}
25181unsafe extern "C" {
25182    pub fn gray_opening_shape(
25183        Image: Hobject,
25184        ImageOpening: *mut Hobject,
25185        MaskHeight: f64,
25186        MaskWidth: f64,
25187        MaskShape: *const ::std::os::raw::c_char,
25188    ) -> Herror;
25189}
25190unsafe extern "C" {
25191    pub fn T_gray_erosion_shape(
25192        Image: Hobject,
25193        ImageMin: *mut Hobject,
25194        MaskHeight: Htuple,
25195        MaskWidth: Htuple,
25196        MaskShape: Htuple,
25197    ) -> Herror;
25198}
25199unsafe extern "C" {
25200    pub fn gray_erosion_shape(
25201        Image: Hobject,
25202        ImageMin: *mut Hobject,
25203        MaskHeight: f64,
25204        MaskWidth: f64,
25205        MaskShape: *const ::std::os::raw::c_char,
25206    ) -> Herror;
25207}
25208unsafe extern "C" {
25209    pub fn T_gray_dilation_shape(
25210        Image: Hobject,
25211        ImageMax: *mut Hobject,
25212        MaskHeight: Htuple,
25213        MaskWidth: Htuple,
25214        MaskShape: Htuple,
25215    ) -> Herror;
25216}
25217unsafe extern "C" {
25218    pub fn gray_dilation_shape(
25219        Image: Hobject,
25220        ImageMax: *mut Hobject,
25221        MaskHeight: f64,
25222        MaskWidth: f64,
25223        MaskShape: *const ::std::os::raw::c_char,
25224    ) -> Herror;
25225}
25226unsafe extern "C" {
25227    pub fn T_gray_range_rect(
25228        Image: Hobject,
25229        ImageResult: *mut Hobject,
25230        MaskHeight: Htuple,
25231        MaskWidth: Htuple,
25232    ) -> Herror;
25233}
25234unsafe extern "C" {
25235    pub fn gray_range_rect(
25236        Image: Hobject,
25237        ImageResult: *mut Hobject,
25238        MaskHeight: Hlong,
25239        MaskWidth: Hlong,
25240    ) -> Herror;
25241}
25242unsafe extern "C" {
25243    pub fn T_gray_closing_rect(
25244        Image: Hobject,
25245        ImageClosing: *mut Hobject,
25246        MaskHeight: Htuple,
25247        MaskWidth: Htuple,
25248    ) -> Herror;
25249}
25250unsafe extern "C" {
25251    pub fn gray_closing_rect(
25252        Image: Hobject,
25253        ImageClosing: *mut Hobject,
25254        MaskHeight: Hlong,
25255        MaskWidth: Hlong,
25256    ) -> Herror;
25257}
25258unsafe extern "C" {
25259    pub fn T_gray_opening_rect(
25260        Image: Hobject,
25261        ImageOpening: *mut Hobject,
25262        MaskHeight: Htuple,
25263        MaskWidth: Htuple,
25264    ) -> Herror;
25265}
25266unsafe extern "C" {
25267    pub fn gray_opening_rect(
25268        Image: Hobject,
25269        ImageOpening: *mut Hobject,
25270        MaskHeight: Hlong,
25271        MaskWidth: Hlong,
25272    ) -> Herror;
25273}
25274unsafe extern "C" {
25275    pub fn T_gray_erosion_rect(
25276        Image: Hobject,
25277        ImageMin: *mut Hobject,
25278        MaskHeight: Htuple,
25279        MaskWidth: Htuple,
25280    ) -> Herror;
25281}
25282unsafe extern "C" {
25283    pub fn gray_erosion_rect(
25284        Image: Hobject,
25285        ImageMin: *mut Hobject,
25286        MaskHeight: Hlong,
25287        MaskWidth: Hlong,
25288    ) -> Herror;
25289}
25290unsafe extern "C" {
25291    pub fn T_gray_dilation_rect(
25292        Image: Hobject,
25293        ImageMax: *mut Hobject,
25294        MaskHeight: Htuple,
25295        MaskWidth: Htuple,
25296    ) -> Herror;
25297}
25298unsafe extern "C" {
25299    pub fn gray_dilation_rect(
25300        Image: Hobject,
25301        ImageMax: *mut Hobject,
25302        MaskHeight: Hlong,
25303        MaskWidth: Hlong,
25304    ) -> Herror;
25305}
25306unsafe extern "C" {
25307    pub fn T_gray_skeleton(Image: Hobject, GraySkeleton: *mut Hobject) -> Herror;
25308}
25309unsafe extern "C" {
25310    pub fn gray_skeleton(Image: Hobject, GraySkeleton: *mut Hobject) -> Herror;
25311}
25312unsafe extern "C" {
25313    pub fn T_lut_trans(Image: Hobject, ImageResult: *mut Hobject, Lut: Htuple) -> Herror;
25314}
25315unsafe extern "C" {
25316    pub fn T_convol_image(
25317        Image: Hobject,
25318        ImageResult: *mut Hobject,
25319        FilterMask: Htuple,
25320        Margin: Htuple,
25321    ) -> Herror;
25322}
25323unsafe extern "C" {
25324    pub fn convol_image(
25325        Image: Hobject,
25326        ImageResult: *mut Hobject,
25327        FilterMask: *const ::std::os::raw::c_char,
25328        Margin: *const ::std::os::raw::c_char,
25329    ) -> Herror;
25330}
25331unsafe extern "C" {
25332    pub fn T_convert_image_type(
25333        Image: Hobject,
25334        ImageConverted: *mut Hobject,
25335        NewType: Htuple,
25336    ) -> Herror;
25337}
25338unsafe extern "C" {
25339    pub fn convert_image_type(
25340        Image: Hobject,
25341        ImageConverted: *mut Hobject,
25342        NewType: *const ::std::os::raw::c_char,
25343    ) -> Herror;
25344}
25345unsafe extern "C" {
25346    pub fn T_real_to_vector_field(
25347        Row: Hobject,
25348        Col: Hobject,
25349        VectorField: *mut Hobject,
25350        Type: Htuple,
25351    ) -> Herror;
25352}
25353unsafe extern "C" {
25354    pub fn real_to_vector_field(
25355        Row: Hobject,
25356        Col: Hobject,
25357        VectorField: *mut Hobject,
25358        Type: *const ::std::os::raw::c_char,
25359    ) -> Herror;
25360}
25361unsafe extern "C" {
25362    pub fn T_vector_field_to_real(
25363        VectorField: Hobject,
25364        Row: *mut Hobject,
25365        Col: *mut Hobject,
25366    ) -> Herror;
25367}
25368unsafe extern "C" {
25369    pub fn vector_field_to_real(
25370        VectorField: Hobject,
25371        Row: *mut Hobject,
25372        Col: *mut Hobject,
25373    ) -> Herror;
25374}
25375unsafe extern "C" {
25376    pub fn T_real_to_complex(
25377        ImageReal: Hobject,
25378        ImageImaginary: Hobject,
25379        ImageComplex: *mut Hobject,
25380    ) -> Herror;
25381}
25382unsafe extern "C" {
25383    pub fn real_to_complex(
25384        ImageReal: Hobject,
25385        ImageImaginary: Hobject,
25386        ImageComplex: *mut Hobject,
25387    ) -> Herror;
25388}
25389unsafe extern "C" {
25390    pub fn T_complex_to_real(
25391        ImageComplex: Hobject,
25392        ImageReal: *mut Hobject,
25393        ImageImaginary: *mut Hobject,
25394    ) -> Herror;
25395}
25396unsafe extern "C" {
25397    pub fn complex_to_real(
25398        ImageComplex: Hobject,
25399        ImageReal: *mut Hobject,
25400        ImageImaginary: *mut Hobject,
25401    ) -> Herror;
25402}
25403unsafe extern "C" {
25404    pub fn T_region_to_mean(Regions: Hobject, Image: Hobject, ImageMean: *mut Hobject) -> Herror;
25405}
25406unsafe extern "C" {
25407    pub fn region_to_mean(Regions: Hobject, Image: Hobject, ImageMean: *mut Hobject) -> Herror;
25408}
25409unsafe extern "C" {
25410    pub fn T_gray_inside(Image: Hobject, ImageDist: *mut Hobject) -> Herror;
25411}
25412unsafe extern "C" {
25413    pub fn gray_inside(Image: Hobject, ImageDist: *mut Hobject) -> Herror;
25414}
25415unsafe extern "C" {
25416    pub fn T_symmetry(
25417        Image: Hobject,
25418        ImageSymmetry: *mut Hobject,
25419        MaskSize: Htuple,
25420        Direction: Htuple,
25421        Exponent: Htuple,
25422    ) -> Herror;
25423}
25424unsafe extern "C" {
25425    pub fn symmetry(
25426        Image: Hobject,
25427        ImageSymmetry: *mut Hobject,
25428        MaskSize: Hlong,
25429        Direction: f64,
25430        Exponent: f64,
25431    ) -> Herror;
25432}
25433unsafe extern "C" {
25434    pub fn T_select_grayvalues_from_channels(
25435        MultichannelImage: Hobject,
25436        IndexImage: Hobject,
25437        Selected: *mut Hobject,
25438    ) -> Herror;
25439}
25440unsafe extern "C" {
25441    pub fn select_grayvalues_from_channels(
25442        MultichannelImage: Hobject,
25443        IndexImage: Hobject,
25444        Selected: *mut Hobject,
25445    ) -> Herror;
25446}
25447unsafe extern "C" {
25448    pub fn T_depth_from_focus(
25449        MultiFocusImage: Hobject,
25450        Depth: *mut Hobject,
25451        Confidence: *mut Hobject,
25452        Filter: Htuple,
25453        Selection: Htuple,
25454    ) -> Herror;
25455}
25456unsafe extern "C" {
25457    pub fn depth_from_focus(
25458        MultiFocusImage: Hobject,
25459        Depth: *mut Hobject,
25460        Confidence: *mut Hobject,
25461        Filter: *const ::std::os::raw::c_char,
25462        Selection: *const ::std::os::raw::c_char,
25463    ) -> Herror;
25464}
25465unsafe extern "C" {
25466    pub fn T_scene_flow_calib(
25467        ImageRect1T1: Hobject,
25468        ImageRect2T1: Hobject,
25469        ImageRect1T2: Hobject,
25470        ImageRect2T2: Hobject,
25471        Disparity: Hobject,
25472        SmoothingFlow: Htuple,
25473        SmoothingDisparity: Htuple,
25474        GenParamName: Htuple,
25475        GenParamValue: Htuple,
25476        CamParamRect1: Htuple,
25477        CamParamRect2: Htuple,
25478        RelPoseRect: Htuple,
25479        ObjectModel3D: *mut Htuple,
25480    ) -> Herror;
25481}
25482unsafe extern "C" {
25483    pub fn T_scene_flow_uncalib(
25484        ImageRect1T1: Hobject,
25485        ImageRect2T1: Hobject,
25486        ImageRect1T2: Hobject,
25487        ImageRect2T2: Hobject,
25488        Disparity: Hobject,
25489        OpticalFlow: *mut Hobject,
25490        DisparityChange: *mut Hobject,
25491        SmoothingFlow: Htuple,
25492        SmoothingDisparity: Htuple,
25493        GenParamName: Htuple,
25494        GenParamValue: Htuple,
25495    ) -> Herror;
25496}
25497unsafe extern "C" {
25498    pub fn scene_flow_uncalib(
25499        ImageRect1T1: Hobject,
25500        ImageRect2T1: Hobject,
25501        ImageRect1T2: Hobject,
25502        ImageRect2T2: Hobject,
25503        Disparity: Hobject,
25504        OpticalFlow: *mut Hobject,
25505        DisparityChange: *mut Hobject,
25506        SmoothingFlow: f64,
25507        SmoothingDisparity: f64,
25508        GenParamName: *const ::std::os::raw::c_char,
25509        GenParamValue: *const ::std::os::raw::c_char,
25510    ) -> Herror;
25511}
25512unsafe extern "C" {
25513    pub fn T_unwarp_image_vector_field(
25514        Image: Hobject,
25515        VectorField: Hobject,
25516        ImageUnwarped: *mut Hobject,
25517    ) -> Herror;
25518}
25519unsafe extern "C" {
25520    pub fn unwarp_image_vector_field(
25521        Image: Hobject,
25522        VectorField: Hobject,
25523        ImageUnwarped: *mut Hobject,
25524    ) -> Herror;
25525}
25526unsafe extern "C" {
25527    pub fn T_derivate_vector_field(
25528        VectorField: Hobject,
25529        Result: *mut Hobject,
25530        Sigma: Htuple,
25531        Component: Htuple,
25532    ) -> Herror;
25533}
25534unsafe extern "C" {
25535    pub fn derivate_vector_field(
25536        VectorField: Hobject,
25537        Result: *mut Hobject,
25538        Sigma: f64,
25539        Component: *const ::std::os::raw::c_char,
25540    ) -> Herror;
25541}
25542unsafe extern "C" {
25543    pub fn T_vector_field_length(
25544        VectorField: Hobject,
25545        Length: *mut Hobject,
25546        Mode: Htuple,
25547    ) -> Herror;
25548}
25549unsafe extern "C" {
25550    pub fn vector_field_length(
25551        VectorField: Hobject,
25552        Length: *mut Hobject,
25553        Mode: *const ::std::os::raw::c_char,
25554    ) -> Herror;
25555}
25556unsafe extern "C" {
25557    pub fn T_optical_flow_mg(
25558        ImageT1: Hobject,
25559        ImageT2: Hobject,
25560        VectorField: *mut Hobject,
25561        Algorithm: Htuple,
25562        SmoothingSigma: Htuple,
25563        IntegrationSigma: Htuple,
25564        FlowSmoothness: Htuple,
25565        GradientConstancy: Htuple,
25566        MGParamName: Htuple,
25567        MGParamValue: Htuple,
25568    ) -> Herror;
25569}
25570unsafe extern "C" {
25571    pub fn optical_flow_mg(
25572        ImageT1: Hobject,
25573        ImageT2: Hobject,
25574        VectorField: *mut Hobject,
25575        Algorithm: *const ::std::os::raw::c_char,
25576        SmoothingSigma: f64,
25577        IntegrationSigma: f64,
25578        FlowSmoothness: f64,
25579        GradientConstancy: f64,
25580        MGParamName: *const ::std::os::raw::c_char,
25581        MGParamValue: *const ::std::os::raw::c_char,
25582    ) -> Herror;
25583}
25584unsafe extern "C" {
25585    pub fn T_exhaustive_match_mg(
25586        Image: Hobject,
25587        ImageTemplate: Hobject,
25588        ImageMatch: *mut Hobject,
25589        Mode: Htuple,
25590        Level: Htuple,
25591        Threshold: Htuple,
25592    ) -> Herror;
25593}
25594unsafe extern "C" {
25595    pub fn exhaustive_match_mg(
25596        Image: Hobject,
25597        ImageTemplate: Hobject,
25598        ImageMatch: *mut Hobject,
25599        Mode: *const ::std::os::raw::c_char,
25600        Level: Hlong,
25601        Threshold: Hlong,
25602    ) -> Herror;
25603}
25604unsafe extern "C" {
25605    pub fn T_create_template_rot(
25606        Template: Hobject,
25607        NumLevel: Htuple,
25608        AngleStart: Htuple,
25609        AngleExtend: Htuple,
25610        AngleStep: Htuple,
25611        Optimize: Htuple,
25612        GrayValues: Htuple,
25613        TemplateID: *mut Htuple,
25614    ) -> Herror;
25615}
25616unsafe extern "C" {
25617    pub fn create_template_rot(
25618        Template: Hobject,
25619        NumLevel: Hlong,
25620        AngleStart: f64,
25621        AngleExtend: f64,
25622        AngleStep: f64,
25623        Optimize: *const ::std::os::raw::c_char,
25624        GrayValues: *const ::std::os::raw::c_char,
25625        TemplateID: *mut Hlong,
25626    ) -> Herror;
25627}
25628unsafe extern "C" {
25629    pub fn T_create_template(
25630        Template: Hobject,
25631        FirstError: Htuple,
25632        NumLevel: Htuple,
25633        Optimize: Htuple,
25634        GrayValues: Htuple,
25635        TemplateID: *mut Htuple,
25636    ) -> Herror;
25637}
25638unsafe extern "C" {
25639    pub fn create_template(
25640        Template: Hobject,
25641        FirstError: Hlong,
25642        NumLevel: Hlong,
25643        Optimize: *const ::std::os::raw::c_char,
25644        GrayValues: *const ::std::os::raw::c_char,
25645        TemplateID: *mut Hlong,
25646    ) -> Herror;
25647}
25648unsafe extern "C" {
25649    pub fn T_serialize_template(TemplateID: Htuple, SerializedItemHandle: *mut Htuple) -> Herror;
25650}
25651unsafe extern "C" {
25652    pub fn serialize_template(TemplateID: Hlong, SerializedItemHandle: *mut Hlong) -> Herror;
25653}
25654unsafe extern "C" {
25655    pub fn T_deserialize_template(SerializedItemHandle: Htuple, TemplateID: *mut Htuple) -> Herror;
25656}
25657unsafe extern "C" {
25658    pub fn deserialize_template(SerializedItemHandle: Hlong, TemplateID: *mut Hlong) -> Herror;
25659}
25660unsafe extern "C" {
25661    pub fn T_write_template(TemplateID: Htuple, FileName: Htuple) -> Herror;
25662}
25663unsafe extern "C" {
25664    pub fn write_template(TemplateID: Hlong, FileName: *const ::std::os::raw::c_char) -> Herror;
25665}
25666unsafe extern "C" {
25667    pub fn T_read_template(FileName: Htuple, TemplateID: *mut Htuple) -> Herror;
25668}
25669unsafe extern "C" {
25670    pub fn read_template(FileName: *const ::std::os::raw::c_char, TemplateID: *mut Hlong)
25671    -> Herror;
25672}
25673unsafe extern "C" {
25674    pub fn T_clear_all_templates() -> Herror;
25675}
25676unsafe extern "C" {
25677    pub fn clear_all_templates() -> Herror;
25678}
25679unsafe extern "C" {
25680    pub fn T_clear_template(TemplateID: Htuple) -> Herror;
25681}
25682unsafe extern "C" {
25683    pub fn clear_template(TemplateID: Hlong) -> Herror;
25684}
25685unsafe extern "C" {
25686    pub fn T_set_offset_template(TemplateID: Htuple, GrayOffset: Htuple) -> Herror;
25687}
25688unsafe extern "C" {
25689    pub fn set_offset_template(TemplateID: Hlong, GrayOffset: Hlong) -> Herror;
25690}
25691unsafe extern "C" {
25692    pub fn T_set_reference_template(TemplateID: Htuple, Row: Htuple, Column: Htuple) -> Herror;
25693}
25694unsafe extern "C" {
25695    pub fn set_reference_template(TemplateID: Hlong, Row: f64, Column: f64) -> Herror;
25696}
25697unsafe extern "C" {
25698    pub fn T_adapt_template(Image: Hobject, TemplateID: Htuple) -> Herror;
25699}
25700unsafe extern "C" {
25701    pub fn adapt_template(Image: Hobject, TemplateID: Hlong) -> Herror;
25702}
25703unsafe extern "C" {
25704    pub fn T_fast_match_mg(
25705        Image: Hobject,
25706        Matches: *mut Hobject,
25707        TemplateID: Htuple,
25708        MaxError: Htuple,
25709        NumLevel: Htuple,
25710    ) -> Herror;
25711}
25712unsafe extern "C" {
25713    pub fn fast_match_mg(
25714        Image: Hobject,
25715        Matches: *mut Hobject,
25716        TemplateID: Hlong,
25717        MaxError: f64,
25718        NumLevel: Hlong,
25719    ) -> Herror;
25720}
25721unsafe extern "C" {
25722    pub fn T_best_match_pre_mg(
25723        ImagePyramid: Hobject,
25724        TemplateID: Htuple,
25725        MaxError: Htuple,
25726        SubPixel: Htuple,
25727        NumLevels: Htuple,
25728        WhichLevels: Htuple,
25729        Row: *mut Htuple,
25730        Column: *mut Htuple,
25731        Error: *mut Htuple,
25732    ) -> Herror;
25733}
25734unsafe extern "C" {
25735    pub fn best_match_pre_mg(
25736        ImagePyramid: Hobject,
25737        TemplateID: Hlong,
25738        MaxError: f64,
25739        SubPixel: *const ::std::os::raw::c_char,
25740        NumLevels: Hlong,
25741        WhichLevels: Hlong,
25742        Row: *mut f64,
25743        Column: *mut f64,
25744        Error: *mut f64,
25745    ) -> Herror;
25746}
25747unsafe extern "C" {
25748    pub fn T_best_match_mg(
25749        Image: Hobject,
25750        TemplateID: Htuple,
25751        MaxError: Htuple,
25752        SubPixel: Htuple,
25753        NumLevels: Htuple,
25754        WhichLevels: Htuple,
25755        Row: *mut Htuple,
25756        Column: *mut Htuple,
25757        Error: *mut Htuple,
25758    ) -> Herror;
25759}
25760unsafe extern "C" {
25761    pub fn best_match_mg(
25762        Image: Hobject,
25763        TemplateID: Hlong,
25764        MaxError: f64,
25765        SubPixel: *const ::std::os::raw::c_char,
25766        NumLevels: Hlong,
25767        WhichLevels: Hlong,
25768        Row: *mut f64,
25769        Column: *mut f64,
25770        Error: *mut f64,
25771    ) -> Herror;
25772}
25773unsafe extern "C" {
25774    pub fn T_fast_match(
25775        Image: Hobject,
25776        Matches: *mut Hobject,
25777        TemplateID: Htuple,
25778        MaxError: Htuple,
25779    ) -> Herror;
25780}
25781unsafe extern "C" {
25782    pub fn fast_match(
25783        Image: Hobject,
25784        Matches: *mut Hobject,
25785        TemplateID: Hlong,
25786        MaxError: f64,
25787    ) -> Herror;
25788}
25789unsafe extern "C" {
25790    pub fn T_best_match_rot_mg(
25791        Image: Hobject,
25792        TemplateID: Htuple,
25793        AngleStart: Htuple,
25794        AngleExtend: Htuple,
25795        MaxError: Htuple,
25796        SubPixel: Htuple,
25797        NumLevels: Htuple,
25798        Row: *mut Htuple,
25799        Column: *mut Htuple,
25800        Angle: *mut Htuple,
25801        Error: *mut Htuple,
25802    ) -> Herror;
25803}
25804unsafe extern "C" {
25805    pub fn best_match_rot_mg(
25806        Image: Hobject,
25807        TemplateID: Hlong,
25808        AngleStart: f64,
25809        AngleExtend: f64,
25810        MaxError: f64,
25811        SubPixel: *const ::std::os::raw::c_char,
25812        NumLevels: Hlong,
25813        Row: *mut f64,
25814        Column: *mut f64,
25815        Angle: *mut f64,
25816        Error: *mut f64,
25817    ) -> Herror;
25818}
25819unsafe extern "C" {
25820    pub fn T_best_match_rot(
25821        Image: Hobject,
25822        TemplateID: Htuple,
25823        AngleStart: Htuple,
25824        AngleExtend: Htuple,
25825        MaxError: Htuple,
25826        SubPixel: Htuple,
25827        Row: *mut Htuple,
25828        Column: *mut Htuple,
25829        Angle: *mut Htuple,
25830        Error: *mut Htuple,
25831    ) -> Herror;
25832}
25833unsafe extern "C" {
25834    pub fn best_match_rot(
25835        Image: Hobject,
25836        TemplateID: Hlong,
25837        AngleStart: f64,
25838        AngleExtend: f64,
25839        MaxError: f64,
25840        SubPixel: *const ::std::os::raw::c_char,
25841        Row: *mut f64,
25842        Column: *mut f64,
25843        Angle: *mut f64,
25844        Error: *mut f64,
25845    ) -> Herror;
25846}
25847unsafe extern "C" {
25848    pub fn T_best_match(
25849        Image: Hobject,
25850        TemplateID: Htuple,
25851        MaxError: Htuple,
25852        SubPixel: Htuple,
25853        Row: *mut Htuple,
25854        Column: *mut Htuple,
25855        Error: *mut Htuple,
25856    ) -> Herror;
25857}
25858unsafe extern "C" {
25859    pub fn best_match(
25860        Image: Hobject,
25861        TemplateID: Hlong,
25862        MaxError: f64,
25863        SubPixel: *const ::std::os::raw::c_char,
25864        Row: *mut f64,
25865        Column: *mut f64,
25866        Error: *mut f64,
25867    ) -> Herror;
25868}
25869unsafe extern "C" {
25870    pub fn T_exhaustive_match(
25871        Image: Hobject,
25872        RegionOfInterest: Hobject,
25873        ImageTemplate: Hobject,
25874        ImageMatch: *mut Hobject,
25875        Mode: Htuple,
25876    ) -> Herror;
25877}
25878unsafe extern "C" {
25879    pub fn exhaustive_match(
25880        Image: Hobject,
25881        RegionOfInterest: Hobject,
25882        ImageTemplate: Hobject,
25883        ImageMatch: *mut Hobject,
25884        Mode: *const ::std::os::raw::c_char,
25885    ) -> Herror;
25886}
25887unsafe extern "C" {
25888    pub fn T_corner_response(
25889        Image: Hobject,
25890        ImageCorner: *mut Hobject,
25891        Size: Htuple,
25892        Weight: Htuple,
25893    ) -> Herror;
25894}
25895unsafe extern "C" {
25896    pub fn corner_response(
25897        Image: Hobject,
25898        ImageCorner: *mut Hobject,
25899        Size: Hlong,
25900        Weight: f64,
25901    ) -> Herror;
25902}
25903unsafe extern "C" {
25904    pub fn T_gen_gauss_pyramid(
25905        Image: Hobject,
25906        ImagePyramid: *mut Hobject,
25907        Mode: Htuple,
25908        Scale: Htuple,
25909    ) -> Herror;
25910}
25911unsafe extern "C" {
25912    pub fn gen_gauss_pyramid(
25913        Image: Hobject,
25914        ImagePyramid: *mut Hobject,
25915        Mode: *const ::std::os::raw::c_char,
25916        Scale: f64,
25917    ) -> Herror;
25918}
25919unsafe extern "C" {
25920    pub fn T_monotony(Image: Hobject, ImageMonotony: *mut Hobject) -> Herror;
25921}
25922unsafe extern "C" {
25923    pub fn monotony(Image: Hobject, ImageMonotony: *mut Hobject) -> Herror;
25924}
25925unsafe extern "C" {
25926    pub fn T_bandpass_image(
25927        Image: Hobject,
25928        ImageBandpass: *mut Hobject,
25929        FilterType: Htuple,
25930    ) -> Herror;
25931}
25932unsafe extern "C" {
25933    pub fn bandpass_image(
25934        Image: Hobject,
25935        ImageBandpass: *mut Hobject,
25936        FilterType: *const ::std::os::raw::c_char,
25937    ) -> Herror;
25938}
25939unsafe extern "C" {
25940    pub fn T_lines_color(
25941        Image: Hobject,
25942        Lines: *mut Hobject,
25943        Sigma: Htuple,
25944        Low: Htuple,
25945        High: Htuple,
25946        ExtractWidth: Htuple,
25947        CompleteJunctions: Htuple,
25948    ) -> Herror;
25949}
25950unsafe extern "C" {
25951    pub fn lines_color(
25952        Image: Hobject,
25953        Lines: *mut Hobject,
25954        Sigma: f64,
25955        Low: f64,
25956        High: f64,
25957        ExtractWidth: *const ::std::os::raw::c_char,
25958        CompleteJunctions: *const ::std::os::raw::c_char,
25959    ) -> Herror;
25960}
25961unsafe extern "C" {
25962    pub fn T_lines_gauss(
25963        Image: Hobject,
25964        Lines: *mut Hobject,
25965        Sigma: Htuple,
25966        Low: Htuple,
25967        High: Htuple,
25968        LightDark: Htuple,
25969        ExtractWidth: Htuple,
25970        LineModel: Htuple,
25971        CompleteJunctions: Htuple,
25972    ) -> Herror;
25973}
25974unsafe extern "C" {
25975    pub fn lines_gauss(
25976        Image: Hobject,
25977        Lines: *mut Hobject,
25978        Sigma: f64,
25979        Low: f64,
25980        High: f64,
25981        LightDark: *const ::std::os::raw::c_char,
25982        ExtractWidth: *const ::std::os::raw::c_char,
25983        LineModel: *const ::std::os::raw::c_char,
25984        CompleteJunctions: *const ::std::os::raw::c_char,
25985    ) -> Herror;
25986}
25987unsafe extern "C" {
25988    pub fn T_lines_facet(
25989        Image: Hobject,
25990        Lines: *mut Hobject,
25991        MaskSize: Htuple,
25992        Low: Htuple,
25993        High: Htuple,
25994        LightDark: Htuple,
25995    ) -> Herror;
25996}
25997unsafe extern "C" {
25998    pub fn lines_facet(
25999        Image: Hobject,
26000        Lines: *mut Hobject,
26001        MaskSize: Hlong,
26002        Low: f64,
26003        High: f64,
26004        LightDark: *const ::std::os::raw::c_char,
26005    ) -> Herror;
26006}
26007unsafe extern "C" {
26008    pub fn T_gen_filter_mask(
26009        ImageFilter: *mut Hobject,
26010        FilterMask: Htuple,
26011        Scale: Htuple,
26012        Width: Htuple,
26013        Height: Htuple,
26014    ) -> Herror;
26015}
26016unsafe extern "C" {
26017    pub fn gen_filter_mask(
26018        ImageFilter: *mut Hobject,
26019        FilterMask: *const ::std::os::raw::c_char,
26020        Scale: f64,
26021        Width: Hlong,
26022        Height: Hlong,
26023    ) -> Herror;
26024}
26025unsafe extern "C" {
26026    pub fn T_gen_mean_filter(
26027        ImageMean: *mut Hobject,
26028        MaskShape: Htuple,
26029        Diameter1: Htuple,
26030        Diameter2: Htuple,
26031        Phi: Htuple,
26032        Norm: Htuple,
26033        Mode: Htuple,
26034        Width: Htuple,
26035        Height: Htuple,
26036    ) -> Herror;
26037}
26038unsafe extern "C" {
26039    pub fn gen_mean_filter(
26040        ImageMean: *mut Hobject,
26041        MaskShape: *const ::std::os::raw::c_char,
26042        Diameter1: f64,
26043        Diameter2: f64,
26044        Phi: f64,
26045        Norm: *const ::std::os::raw::c_char,
26046        Mode: *const ::std::os::raw::c_char,
26047        Width: Hlong,
26048        Height: Hlong,
26049    ) -> Herror;
26050}
26051unsafe extern "C" {
26052    pub fn T_gen_gauss_filter(
26053        ImageGauss: *mut Hobject,
26054        Sigma1: Htuple,
26055        Sigma2: Htuple,
26056        Phi: Htuple,
26057        Norm: Htuple,
26058        Mode: Htuple,
26059        Width: Htuple,
26060        Height: Htuple,
26061    ) -> Herror;
26062}
26063unsafe extern "C" {
26064    pub fn gen_gauss_filter(
26065        ImageGauss: *mut Hobject,
26066        Sigma1: f64,
26067        Sigma2: f64,
26068        Phi: f64,
26069        Norm: *const ::std::os::raw::c_char,
26070        Mode: *const ::std::os::raw::c_char,
26071        Width: Hlong,
26072        Height: Hlong,
26073    ) -> Herror;
26074}
26075unsafe extern "C" {
26076    pub fn T_gen_derivative_filter(
26077        ImageDerivative: *mut Hobject,
26078        Derivative: Htuple,
26079        Exponent: Htuple,
26080        Norm: Htuple,
26081        Mode: Htuple,
26082        Width: Htuple,
26083        Height: Htuple,
26084    ) -> Herror;
26085}
26086unsafe extern "C" {
26087    pub fn gen_derivative_filter(
26088        ImageDerivative: *mut Hobject,
26089        Derivative: *const ::std::os::raw::c_char,
26090        Exponent: Hlong,
26091        Norm: *const ::std::os::raw::c_char,
26092        Mode: *const ::std::os::raw::c_char,
26093        Width: Hlong,
26094        Height: Hlong,
26095    ) -> Herror;
26096}
26097unsafe extern "C" {
26098    pub fn T_gen_std_bandpass(
26099        ImageFilter: *mut Hobject,
26100        Frequency: Htuple,
26101        Sigma: Htuple,
26102        Type: Htuple,
26103        Norm: Htuple,
26104        Mode: Htuple,
26105        Width: Htuple,
26106        Height: Htuple,
26107    ) -> Herror;
26108}
26109unsafe extern "C" {
26110    pub fn gen_std_bandpass(
26111        ImageFilter: *mut Hobject,
26112        Frequency: f64,
26113        Sigma: f64,
26114        Type: *const ::std::os::raw::c_char,
26115        Norm: *const ::std::os::raw::c_char,
26116        Mode: *const ::std::os::raw::c_char,
26117        Width: Hlong,
26118        Height: Hlong,
26119    ) -> Herror;
26120}
26121unsafe extern "C" {
26122    pub fn T_gen_sin_bandpass(
26123        ImageFilter: *mut Hobject,
26124        Frequency: Htuple,
26125        Norm: Htuple,
26126        Mode: Htuple,
26127        Width: Htuple,
26128        Height: Htuple,
26129    ) -> Herror;
26130}
26131unsafe extern "C" {
26132    pub fn gen_sin_bandpass(
26133        ImageFilter: *mut Hobject,
26134        Frequency: f64,
26135        Norm: *const ::std::os::raw::c_char,
26136        Mode: *const ::std::os::raw::c_char,
26137        Width: Hlong,
26138        Height: Hlong,
26139    ) -> Herror;
26140}
26141unsafe extern "C" {
26142    pub fn T_gen_bandfilter(
26143        ImageFilter: *mut Hobject,
26144        MinFrequency: Htuple,
26145        MaxFrequency: Htuple,
26146        Norm: Htuple,
26147        Mode: Htuple,
26148        Width: Htuple,
26149        Height: Htuple,
26150    ) -> Herror;
26151}
26152unsafe extern "C" {
26153    pub fn gen_bandfilter(
26154        ImageFilter: *mut Hobject,
26155        MinFrequency: f64,
26156        MaxFrequency: f64,
26157        Norm: *const ::std::os::raw::c_char,
26158        Mode: *const ::std::os::raw::c_char,
26159        Width: Hlong,
26160        Height: Hlong,
26161    ) -> Herror;
26162}
26163unsafe extern "C" {
26164    pub fn T_gen_bandpass(
26165        ImageBandpass: *mut Hobject,
26166        MinFrequency: Htuple,
26167        MaxFrequency: Htuple,
26168        Norm: Htuple,
26169        Mode: Htuple,
26170        Width: Htuple,
26171        Height: Htuple,
26172    ) -> Herror;
26173}
26174unsafe extern "C" {
26175    pub fn gen_bandpass(
26176        ImageBandpass: *mut Hobject,
26177        MinFrequency: f64,
26178        MaxFrequency: f64,
26179        Norm: *const ::std::os::raw::c_char,
26180        Mode: *const ::std::os::raw::c_char,
26181        Width: Hlong,
26182        Height: Hlong,
26183    ) -> Herror;
26184}
26185unsafe extern "C" {
26186    pub fn T_gen_lowpass(
26187        ImageLowpass: *mut Hobject,
26188        Frequency: Htuple,
26189        Norm: Htuple,
26190        Mode: Htuple,
26191        Width: Htuple,
26192        Height: Htuple,
26193    ) -> Herror;
26194}
26195unsafe extern "C" {
26196    pub fn gen_lowpass(
26197        ImageLowpass: *mut Hobject,
26198        Frequency: f64,
26199        Norm: *const ::std::os::raw::c_char,
26200        Mode: *const ::std::os::raw::c_char,
26201        Width: Hlong,
26202        Height: Hlong,
26203    ) -> Herror;
26204}
26205unsafe extern "C" {
26206    pub fn T_gen_highpass(
26207        ImageHighpass: *mut Hobject,
26208        Frequency: Htuple,
26209        Norm: Htuple,
26210        Mode: Htuple,
26211        Width: Htuple,
26212        Height: Htuple,
26213    ) -> Herror;
26214}
26215unsafe extern "C" {
26216    pub fn gen_highpass(
26217        ImageHighpass: *mut Hobject,
26218        Frequency: f64,
26219        Norm: *const ::std::os::raw::c_char,
26220        Mode: *const ::std::os::raw::c_char,
26221        Width: Hlong,
26222        Height: Hlong,
26223    ) -> Herror;
26224}
26225unsafe extern "C" {
26226    pub fn T_power_ln(Image: Hobject, ImageResult: *mut Hobject) -> Herror;
26227}
26228unsafe extern "C" {
26229    pub fn power_ln(Image: Hobject, ImageResult: *mut Hobject) -> Herror;
26230}
26231unsafe extern "C" {
26232    pub fn T_power_real(Image: Hobject, ImageResult: *mut Hobject) -> Herror;
26233}
26234unsafe extern "C" {
26235    pub fn power_real(Image: Hobject, ImageResult: *mut Hobject) -> Herror;
26236}
26237unsafe extern "C" {
26238    pub fn T_power_byte(Image: Hobject, PowerByte: *mut Hobject) -> Herror;
26239}
26240unsafe extern "C" {
26241    pub fn power_byte(Image: Hobject, PowerByte: *mut Hobject) -> Herror;
26242}
26243unsafe extern "C" {
26244    pub fn T_phase_deg(ImageComplex: Hobject, ImagePhase: *mut Hobject) -> Herror;
26245}
26246unsafe extern "C" {
26247    pub fn phase_deg(ImageComplex: Hobject, ImagePhase: *mut Hobject) -> Herror;
26248}
26249unsafe extern "C" {
26250    pub fn T_phase_rad(ImageComplex: Hobject, ImagePhase: *mut Hobject) -> Herror;
26251}
26252unsafe extern "C" {
26253    pub fn phase_rad(ImageComplex: Hobject, ImagePhase: *mut Hobject) -> Herror;
26254}
26255unsafe extern "C" {
26256    pub fn T_energy_gabor(
26257        ImageGabor: Hobject,
26258        ImageHilbert: Hobject,
26259        Energy: *mut Hobject,
26260    ) -> Herror;
26261}
26262unsafe extern "C" {
26263    pub fn energy_gabor(ImageGabor: Hobject, ImageHilbert: Hobject, Energy: *mut Hobject)
26264    -> Herror;
26265}
26266unsafe extern "C" {
26267    pub fn T_convol_gabor(
26268        ImageFFT: Hobject,
26269        GaborFilter: Hobject,
26270        ImageResultGabor: *mut Hobject,
26271        ImageResultHilbert: *mut Hobject,
26272    ) -> Herror;
26273}
26274unsafe extern "C" {
26275    pub fn convol_gabor(
26276        ImageFFT: Hobject,
26277        GaborFilter: Hobject,
26278        ImageResultGabor: *mut Hobject,
26279        ImageResultHilbert: *mut Hobject,
26280    ) -> Herror;
26281}
26282unsafe extern "C" {
26283    pub fn T_gen_gabor(
26284        ImageFilter: *mut Hobject,
26285        Angle: Htuple,
26286        Frequency: Htuple,
26287        Bandwidth: Htuple,
26288        Orientation: Htuple,
26289        Norm: Htuple,
26290        Mode: Htuple,
26291        Width: Htuple,
26292        Height: Htuple,
26293    ) -> Herror;
26294}
26295unsafe extern "C" {
26296    pub fn gen_gabor(
26297        ImageFilter: *mut Hobject,
26298        Angle: f64,
26299        Frequency: f64,
26300        Bandwidth: f64,
26301        Orientation: f64,
26302        Norm: *const ::std::os::raw::c_char,
26303        Mode: *const ::std::os::raw::c_char,
26304        Width: Hlong,
26305        Height: Hlong,
26306    ) -> Herror;
26307}
26308unsafe extern "C" {
26309    pub fn T_phase_correlation_fft(
26310        ImageFFT1: Hobject,
26311        ImageFFT2: Hobject,
26312        ImagePhaseCorrelation: *mut Hobject,
26313    ) -> Herror;
26314}
26315unsafe extern "C" {
26316    pub fn phase_correlation_fft(
26317        ImageFFT1: Hobject,
26318        ImageFFT2: Hobject,
26319        ImagePhaseCorrelation: *mut Hobject,
26320    ) -> Herror;
26321}
26322unsafe extern "C" {
26323    pub fn T_correlation_fft(
26324        ImageFFT1: Hobject,
26325        ImageFFT2: Hobject,
26326        ImageCorrelation: *mut Hobject,
26327    ) -> Herror;
26328}
26329unsafe extern "C" {
26330    pub fn correlation_fft(
26331        ImageFFT1: Hobject,
26332        ImageFFT2: Hobject,
26333        ImageCorrelation: *mut Hobject,
26334    ) -> Herror;
26335}
26336unsafe extern "C" {
26337    pub fn T_convol_fft(
26338        ImageFFT: Hobject,
26339        ImageFilter: Hobject,
26340        ImageConvol: *mut Hobject,
26341    ) -> Herror;
26342}
26343unsafe extern "C" {
26344    pub fn convol_fft(ImageFFT: Hobject, ImageFilter: Hobject, ImageConvol: *mut Hobject)
26345    -> Herror;
26346}
26347unsafe extern "C" {
26348    pub fn T_deserialize_fft_optimization_data(SerializedItemHandle: Htuple) -> Herror;
26349}
26350unsafe extern "C" {
26351    pub fn deserialize_fft_optimization_data(SerializedItemHandle: Hlong) -> Herror;
26352}
26353unsafe extern "C" {
26354    pub fn T_serialize_fft_optimization_data(SerializedItemHandle: *mut Htuple) -> Herror;
26355}
26356unsafe extern "C" {
26357    pub fn serialize_fft_optimization_data(SerializedItemHandle: *mut Hlong) -> Herror;
26358}
26359unsafe extern "C" {
26360    pub fn T_read_fft_optimization_data(FileName: Htuple) -> Herror;
26361}
26362unsafe extern "C" {
26363    pub fn read_fft_optimization_data(FileName: *const ::std::os::raw::c_char) -> Herror;
26364}
26365unsafe extern "C" {
26366    pub fn T_write_fft_optimization_data(FileName: Htuple) -> Herror;
26367}
26368unsafe extern "C" {
26369    pub fn write_fft_optimization_data(FileName: *const ::std::os::raw::c_char) -> Herror;
26370}
26371unsafe extern "C" {
26372    pub fn T_optimize_rft_speed(Width: Htuple, Height: Htuple, Mode: Htuple) -> Herror;
26373}
26374unsafe extern "C" {
26375    pub fn optimize_rft_speed(
26376        Width: Hlong,
26377        Height: Hlong,
26378        Mode: *const ::std::os::raw::c_char,
26379    ) -> Herror;
26380}
26381unsafe extern "C" {
26382    pub fn T_optimize_fft_speed(Width: Htuple, Height: Htuple, Mode: Htuple) -> Herror;
26383}
26384unsafe extern "C" {
26385    pub fn optimize_fft_speed(
26386        Width: Hlong,
26387        Height: Hlong,
26388        Mode: *const ::std::os::raw::c_char,
26389    ) -> Herror;
26390}
26391unsafe extern "C" {
26392    pub fn T_rft_generic(
26393        Image: Hobject,
26394        ImageFFT: *mut Hobject,
26395        Direction: Htuple,
26396        Norm: Htuple,
26397        ResultType: Htuple,
26398        Width: Htuple,
26399    ) -> Herror;
26400}
26401unsafe extern "C" {
26402    pub fn rft_generic(
26403        Image: Hobject,
26404        ImageFFT: *mut Hobject,
26405        Direction: *const ::std::os::raw::c_char,
26406        Norm: *const ::std::os::raw::c_char,
26407        ResultType: *const ::std::os::raw::c_char,
26408        Width: Hlong,
26409    ) -> Herror;
26410}
26411unsafe extern "C" {
26412    pub fn T_fft_image_inv(Image: Hobject, ImageFFTInv: *mut Hobject) -> Herror;
26413}
26414unsafe extern "C" {
26415    pub fn fft_image_inv(Image: Hobject, ImageFFTInv: *mut Hobject) -> Herror;
26416}
26417unsafe extern "C" {
26418    pub fn T_fft_image(Image: Hobject, ImageFFT: *mut Hobject) -> Herror;
26419}
26420unsafe extern "C" {
26421    pub fn fft_image(Image: Hobject, ImageFFT: *mut Hobject) -> Herror;
26422}
26423unsafe extern "C" {
26424    pub fn T_fft_generic(
26425        Image: Hobject,
26426        ImageFFT: *mut Hobject,
26427        Direction: Htuple,
26428        Exponent: Htuple,
26429        Norm: Htuple,
26430        Mode: Htuple,
26431        ResultType: Htuple,
26432    ) -> Herror;
26433}
26434unsafe extern "C" {
26435    pub fn fft_generic(
26436        Image: Hobject,
26437        ImageFFT: *mut Hobject,
26438        Direction: *const ::std::os::raw::c_char,
26439        Exponent: Hlong,
26440        Norm: *const ::std::os::raw::c_char,
26441        Mode: *const ::std::os::raw::c_char,
26442        ResultType: *const ::std::os::raw::c_char,
26443    ) -> Herror;
26444}
26445unsafe extern "C" {
26446    pub fn T_shock_filter(
26447        Image: Hobject,
26448        SharpenedImage: *mut Hobject,
26449        Theta: Htuple,
26450        Iterations: Htuple,
26451        Mode: Htuple,
26452        Sigma: Htuple,
26453    ) -> Herror;
26454}
26455unsafe extern "C" {
26456    pub fn shock_filter(
26457        Image: Hobject,
26458        SharpenedImage: *mut Hobject,
26459        Theta: f64,
26460        Iterations: Hlong,
26461        Mode: *const ::std::os::raw::c_char,
26462        Sigma: f64,
26463    ) -> Herror;
26464}
26465unsafe extern "C" {
26466    pub fn T_mean_curvature_flow(
26467        Image: Hobject,
26468        ImageMCF: *mut Hobject,
26469        Sigma: Htuple,
26470        Theta: Htuple,
26471        Iterations: Htuple,
26472    ) -> Herror;
26473}
26474unsafe extern "C" {
26475    pub fn mean_curvature_flow(
26476        Image: Hobject,
26477        ImageMCF: *mut Hobject,
26478        Sigma: f64,
26479        Theta: f64,
26480        Iterations: Hlong,
26481    ) -> Herror;
26482}
26483unsafe extern "C" {
26484    pub fn T_coherence_enhancing_diff(
26485        Image: Hobject,
26486        ImageCED: *mut Hobject,
26487        Sigma: Htuple,
26488        Rho: Htuple,
26489        Theta: Htuple,
26490        Iterations: Htuple,
26491    ) -> Herror;
26492}
26493unsafe extern "C" {
26494    pub fn coherence_enhancing_diff(
26495        Image: Hobject,
26496        ImageCED: *mut Hobject,
26497        Sigma: f64,
26498        Rho: f64,
26499        Theta: f64,
26500        Iterations: Hlong,
26501    ) -> Herror;
26502}
26503unsafe extern "C" {
26504    pub fn T_equ_histo_image(Image: Hobject, ImageEquHisto: *mut Hobject) -> Herror;
26505}
26506unsafe extern "C" {
26507    pub fn equ_histo_image(Image: Hobject, ImageEquHisto: *mut Hobject) -> Herror;
26508}
26509unsafe extern "C" {
26510    pub fn T_illuminate(
26511        Image: Hobject,
26512        ImageIlluminate: *mut Hobject,
26513        MaskWidth: Htuple,
26514        MaskHeight: Htuple,
26515        Factor: Htuple,
26516    ) -> Herror;
26517}
26518unsafe extern "C" {
26519    pub fn illuminate(
26520        Image: Hobject,
26521        ImageIlluminate: *mut Hobject,
26522        MaskWidth: Hlong,
26523        MaskHeight: Hlong,
26524        Factor: f64,
26525    ) -> Herror;
26526}
26527unsafe extern "C" {
26528    pub fn T_emphasize(
26529        Image: Hobject,
26530        ImageEmphasize: *mut Hobject,
26531        MaskWidth: Htuple,
26532        MaskHeight: Htuple,
26533        Factor: Htuple,
26534    ) -> Herror;
26535}
26536unsafe extern "C" {
26537    pub fn emphasize(
26538        Image: Hobject,
26539        ImageEmphasize: *mut Hobject,
26540        MaskWidth: Hlong,
26541        MaskHeight: Hlong,
26542        Factor: f64,
26543    ) -> Herror;
26544}
26545unsafe extern "C" {
26546    pub fn T_scale_image_max(Image: Hobject, ImageScaleMax: *mut Hobject) -> Herror;
26547}
26548unsafe extern "C" {
26549    pub fn scale_image_max(Image: Hobject, ImageScaleMax: *mut Hobject) -> Herror;
26550}
26551unsafe extern "C" {
26552    pub fn T_robinson_dir(
26553        Image: Hobject,
26554        ImageEdgeAmp: *mut Hobject,
26555        ImageEdgeDir: *mut Hobject,
26556    ) -> Herror;
26557}
26558unsafe extern "C" {
26559    pub fn robinson_dir(
26560        Image: Hobject,
26561        ImageEdgeAmp: *mut Hobject,
26562        ImageEdgeDir: *mut Hobject,
26563    ) -> Herror;
26564}
26565unsafe extern "C" {
26566    pub fn T_robinson_amp(Image: Hobject, ImageEdgeAmp: *mut Hobject) -> Herror;
26567}
26568unsafe extern "C" {
26569    pub fn robinson_amp(Image: Hobject, ImageEdgeAmp: *mut Hobject) -> Herror;
26570}
26571unsafe extern "C" {
26572    pub fn T_kirsch_dir(
26573        Image: Hobject,
26574        ImageEdgeAmp: *mut Hobject,
26575        ImageEdgeDir: *mut Hobject,
26576    ) -> Herror;
26577}
26578unsafe extern "C" {
26579    pub fn kirsch_dir(
26580        Image: Hobject,
26581        ImageEdgeAmp: *mut Hobject,
26582        ImageEdgeDir: *mut Hobject,
26583    ) -> Herror;
26584}
26585unsafe extern "C" {
26586    pub fn T_kirsch_amp(Image: Hobject, ImageEdgeAmp: *mut Hobject) -> Herror;
26587}
26588unsafe extern "C" {
26589    pub fn kirsch_amp(Image: Hobject, ImageEdgeAmp: *mut Hobject) -> Herror;
26590}
26591unsafe extern "C" {
26592    pub fn T_frei_dir(
26593        Image: Hobject,
26594        ImageEdgeAmp: *mut Hobject,
26595        ImageEdgeDir: *mut Hobject,
26596    ) -> Herror;
26597}
26598unsafe extern "C" {
26599    pub fn frei_dir(
26600        Image: Hobject,
26601        ImageEdgeAmp: *mut Hobject,
26602        ImageEdgeDir: *mut Hobject,
26603    ) -> Herror;
26604}
26605unsafe extern "C" {
26606    pub fn T_frei_amp(Image: Hobject, ImageEdgeAmp: *mut Hobject) -> Herror;
26607}
26608unsafe extern "C" {
26609    pub fn frei_amp(Image: Hobject, ImageEdgeAmp: *mut Hobject) -> Herror;
26610}
26611unsafe extern "C" {
26612    pub fn T_prewitt_dir(
26613        Image: Hobject,
26614        ImageEdgeAmp: *mut Hobject,
26615        ImageEdgeDir: *mut Hobject,
26616    ) -> Herror;
26617}
26618unsafe extern "C" {
26619    pub fn prewitt_dir(
26620        Image: Hobject,
26621        ImageEdgeAmp: *mut Hobject,
26622        ImageEdgeDir: *mut Hobject,
26623    ) -> Herror;
26624}
26625unsafe extern "C" {
26626    pub fn T_prewitt_amp(Image: Hobject, ImageEdgeAmp: *mut Hobject) -> Herror;
26627}
26628unsafe extern "C" {
26629    pub fn prewitt_amp(Image: Hobject, ImageEdgeAmp: *mut Hobject) -> Herror;
26630}
26631unsafe extern "C" {
26632    pub fn T_sobel_amp(
26633        Image: Hobject,
26634        EdgeAmplitude: *mut Hobject,
26635        FilterType: Htuple,
26636        Size: Htuple,
26637    ) -> Herror;
26638}
26639unsafe extern "C" {
26640    pub fn sobel_amp(
26641        Image: Hobject,
26642        EdgeAmplitude: *mut Hobject,
26643        FilterType: *const ::std::os::raw::c_char,
26644        Size: Hlong,
26645    ) -> Herror;
26646}
26647unsafe extern "C" {
26648    pub fn T_sobel_dir(
26649        Image: Hobject,
26650        EdgeAmplitude: *mut Hobject,
26651        EdgeDirection: *mut Hobject,
26652        FilterType: Htuple,
26653        Size: Htuple,
26654    ) -> Herror;
26655}
26656unsafe extern "C" {
26657    pub fn sobel_dir(
26658        Image: Hobject,
26659        EdgeAmplitude: *mut Hobject,
26660        EdgeDirection: *mut Hobject,
26661        FilterType: *const ::std::os::raw::c_char,
26662        Size: Hlong,
26663    ) -> Herror;
26664}
26665unsafe extern "C" {
26666    pub fn T_roberts(Image: Hobject, ImageRoberts: *mut Hobject, FilterType: Htuple) -> Herror;
26667}
26668unsafe extern "C" {
26669    pub fn roberts(
26670        Image: Hobject,
26671        ImageRoberts: *mut Hobject,
26672        FilterType: *const ::std::os::raw::c_char,
26673    ) -> Herror;
26674}
26675unsafe extern "C" {
26676    pub fn T_laplace(
26677        Image: Hobject,
26678        ImageLaplace: *mut Hobject,
26679        ResultType: Htuple,
26680        MaskSize: Htuple,
26681        FilterMask: Htuple,
26682    ) -> Herror;
26683}
26684unsafe extern "C" {
26685    pub fn laplace(
26686        Image: Hobject,
26687        ImageLaplace: *mut Hobject,
26688        ResultType: *const ::std::os::raw::c_char,
26689        MaskSize: Hlong,
26690        FilterMask: *const ::std::os::raw::c_char,
26691    ) -> Herror;
26692}
26693unsafe extern "C" {
26694    pub fn T_highpass_image(
26695        Image: Hobject,
26696        Highpass: *mut Hobject,
26697        Width: Htuple,
26698        Height: Htuple,
26699    ) -> Herror;
26700}
26701unsafe extern "C" {
26702    pub fn highpass_image(
26703        Image: Hobject,
26704        Highpass: *mut Hobject,
26705        Width: Hlong,
26706        Height: Hlong,
26707    ) -> Herror;
26708}
26709unsafe extern "C" {
26710    pub fn T_info_edges(
26711        Filter: Htuple,
26712        Mode: Htuple,
26713        Alpha: Htuple,
26714        Size: *mut Htuple,
26715        Coeffs: *mut Htuple,
26716    ) -> Herror;
26717}
26718unsafe extern "C" {
26719    pub fn T_edges_color_sub_pix(
26720        Image: Hobject,
26721        Edges: *mut Hobject,
26722        Filter: Htuple,
26723        Alpha: Htuple,
26724        Low: Htuple,
26725        High: Htuple,
26726    ) -> Herror;
26727}
26728unsafe extern "C" {
26729    pub fn edges_color_sub_pix(
26730        Image: Hobject,
26731        Edges: *mut Hobject,
26732        Filter: *const ::std::os::raw::c_char,
26733        Alpha: f64,
26734        Low: f64,
26735        High: f64,
26736    ) -> Herror;
26737}
26738unsafe extern "C" {
26739    pub fn T_edges_color(
26740        Image: Hobject,
26741        ImaAmp: *mut Hobject,
26742        ImaDir: *mut Hobject,
26743        Filter: Htuple,
26744        Alpha: Htuple,
26745        NMS: Htuple,
26746        Low: Htuple,
26747        High: Htuple,
26748    ) -> Herror;
26749}
26750unsafe extern "C" {
26751    pub fn edges_color(
26752        Image: Hobject,
26753        ImaAmp: *mut Hobject,
26754        ImaDir: *mut Hobject,
26755        Filter: *const ::std::os::raw::c_char,
26756        Alpha: f64,
26757        NMS: *const ::std::os::raw::c_char,
26758        Low: Hlong,
26759        High: Hlong,
26760    ) -> Herror;
26761}
26762unsafe extern "C" {
26763    pub fn T_edges_sub_pix(
26764        Image: Hobject,
26765        Edges: *mut Hobject,
26766        Filter: Htuple,
26767        Alpha: Htuple,
26768        Low: Htuple,
26769        High: Htuple,
26770    ) -> Herror;
26771}
26772unsafe extern "C" {
26773    pub fn edges_sub_pix(
26774        Image: Hobject,
26775        Edges: *mut Hobject,
26776        Filter: *const ::std::os::raw::c_char,
26777        Alpha: f64,
26778        Low: Hlong,
26779        High: Hlong,
26780    ) -> Herror;
26781}
26782unsafe extern "C" {
26783    pub fn T_edges_image(
26784        Image: Hobject,
26785        ImaAmp: *mut Hobject,
26786        ImaDir: *mut Hobject,
26787        Filter: Htuple,
26788        Alpha: Htuple,
26789        NMS: Htuple,
26790        Low: Htuple,
26791        High: Htuple,
26792    ) -> Herror;
26793}
26794unsafe extern "C" {
26795    pub fn edges_image(
26796        Image: Hobject,
26797        ImaAmp: *mut Hobject,
26798        ImaDir: *mut Hobject,
26799        Filter: *const ::std::os::raw::c_char,
26800        Alpha: f64,
26801        NMS: *const ::std::os::raw::c_char,
26802        Low: Hlong,
26803        High: Hlong,
26804    ) -> Herror;
26805}
26806unsafe extern "C" {
26807    pub fn T_derivate_gauss(
26808        Image: Hobject,
26809        DerivGauss: *mut Hobject,
26810        Sigma: Htuple,
26811        Component: Htuple,
26812    ) -> Herror;
26813}
26814unsafe extern "C" {
26815    pub fn derivate_gauss(
26816        Image: Hobject,
26817        DerivGauss: *mut Hobject,
26818        Sigma: f64,
26819        Component: *const ::std::os::raw::c_char,
26820    ) -> Herror;
26821}
26822unsafe extern "C" {
26823    pub fn T_laplace_of_gauss(Image: Hobject, ImageLaplace: *mut Hobject, Sigma: Htuple) -> Herror;
26824}
26825unsafe extern "C" {
26826    pub fn laplace_of_gauss(Image: Hobject, ImageLaplace: *mut Hobject, Sigma: f64) -> Herror;
26827}
26828unsafe extern "C" {
26829    pub fn T_diff_of_gauss(
26830        Image: Hobject,
26831        DiffOfGauss: *mut Hobject,
26832        Sigma: Htuple,
26833        SigFactor: Htuple,
26834    ) -> Herror;
26835}
26836unsafe extern "C" {
26837    pub fn diff_of_gauss(
26838        Image: Hobject,
26839        DiffOfGauss: *mut Hobject,
26840        Sigma: f64,
26841        SigFactor: f64,
26842    ) -> Herror;
26843}
26844unsafe extern "C" {
26845    pub fn T_close_edges_length(
26846        Edges: Hobject,
26847        Gradient: Hobject,
26848        ClosedEdges: *mut Hobject,
26849        MinAmplitude: Htuple,
26850        MaxGapLength: Htuple,
26851    ) -> Herror;
26852}
26853unsafe extern "C" {
26854    pub fn close_edges_length(
26855        Edges: Hobject,
26856        Gradient: Hobject,
26857        ClosedEdges: *mut Hobject,
26858        MinAmplitude: Hlong,
26859        MaxGapLength: Hlong,
26860    ) -> Herror;
26861}
26862unsafe extern "C" {
26863    pub fn T_close_edges(
26864        Edges: Hobject,
26865        EdgeImage: Hobject,
26866        RegionResult: *mut Hobject,
26867        MinAmplitude: Htuple,
26868    ) -> Herror;
26869}
26870unsafe extern "C" {
26871    pub fn close_edges(
26872        Edges: Hobject,
26873        EdgeImage: Hobject,
26874        RegionResult: *mut Hobject,
26875        MinAmplitude: Hlong,
26876    ) -> Herror;
26877}
26878unsafe extern "C" {
26879    pub fn T_detect_edge_segments(
26880        Image: Hobject,
26881        SobelSize: Htuple,
26882        MinAmplitude: Htuple,
26883        MaxDistance: Htuple,
26884        MinLength: Htuple,
26885        BeginRow: *mut Htuple,
26886        BeginCol: *mut Htuple,
26887        EndRow: *mut Htuple,
26888        EndCol: *mut Htuple,
26889    ) -> Herror;
26890}
26891unsafe extern "C" {
26892    pub fn T_clear_all_color_trans_luts() -> Herror;
26893}
26894unsafe extern "C" {
26895    pub fn clear_all_color_trans_luts() -> Herror;
26896}
26897unsafe extern "C" {
26898    pub fn T_clear_color_trans_lut(ColorTransLUTHandle: Htuple) -> Herror;
26899}
26900unsafe extern "C" {
26901    pub fn clear_color_trans_lut(ColorTransLUTHandle: Hlong) -> Herror;
26902}
26903unsafe extern "C" {
26904    pub fn T_apply_color_trans_lut(
26905        Image1: Hobject,
26906        Image2: Hobject,
26907        Image3: Hobject,
26908        ImageResult1: *mut Hobject,
26909        ImageResult2: *mut Hobject,
26910        ImageResult3: *mut Hobject,
26911        ColorTransLUTHandle: Htuple,
26912    ) -> Herror;
26913}
26914unsafe extern "C" {
26915    pub fn apply_color_trans_lut(
26916        Image1: Hobject,
26917        Image2: Hobject,
26918        Image3: Hobject,
26919        ImageResult1: *mut Hobject,
26920        ImageResult2: *mut Hobject,
26921        ImageResult3: *mut Hobject,
26922        ColorTransLUTHandle: Hlong,
26923    ) -> Herror;
26924}
26925unsafe extern "C" {
26926    pub fn T_create_color_trans_lut(
26927        ColorSpace: Htuple,
26928        TransDirection: Htuple,
26929        NumBits: Htuple,
26930        ColorTransLUTHandle: *mut Htuple,
26931    ) -> Herror;
26932}
26933unsafe extern "C" {
26934    pub fn create_color_trans_lut(
26935        ColorSpace: *const ::std::os::raw::c_char,
26936        TransDirection: *const ::std::os::raw::c_char,
26937        NumBits: Hlong,
26938        ColorTransLUTHandle: *mut Hlong,
26939    ) -> Herror;
26940}
26941unsafe extern "C" {
26942    pub fn T_cfa_to_rgb(
26943        CFAImage: Hobject,
26944        RGBImage: *mut Hobject,
26945        CFAType: Htuple,
26946        Interpolation: Htuple,
26947    ) -> Herror;
26948}
26949unsafe extern "C" {
26950    pub fn cfa_to_rgb(
26951        CFAImage: Hobject,
26952        RGBImage: *mut Hobject,
26953        CFAType: *const ::std::os::raw::c_char,
26954        Interpolation: *const ::std::os::raw::c_char,
26955    ) -> Herror;
26956}
26957unsafe extern "C" {
26958    pub fn T_rgb1_to_gray(RGBImage: Hobject, GrayImage: *mut Hobject) -> Herror;
26959}
26960unsafe extern "C" {
26961    pub fn rgb1_to_gray(RGBImage: Hobject, GrayImage: *mut Hobject) -> Herror;
26962}
26963unsafe extern "C" {
26964    pub fn T_rgb3_to_gray(
26965        ImageRed: Hobject,
26966        ImageGreen: Hobject,
26967        ImageBlue: Hobject,
26968        ImageGray: *mut Hobject,
26969    ) -> Herror;
26970}
26971unsafe extern "C" {
26972    pub fn rgb3_to_gray(
26973        ImageRed: Hobject,
26974        ImageGreen: Hobject,
26975        ImageBlue: Hobject,
26976        ImageGray: *mut Hobject,
26977    ) -> Herror;
26978}
26979unsafe extern "C" {
26980    pub fn T_trans_from_rgb(
26981        ImageRed: Hobject,
26982        ImageGreen: Hobject,
26983        ImageBlue: Hobject,
26984        ImageResult1: *mut Hobject,
26985        ImageResult2: *mut Hobject,
26986        ImageResult3: *mut Hobject,
26987        ColorSpace: Htuple,
26988    ) -> Herror;
26989}
26990unsafe extern "C" {
26991    pub fn trans_from_rgb(
26992        ImageRed: Hobject,
26993        ImageGreen: Hobject,
26994        ImageBlue: Hobject,
26995        ImageResult1: *mut Hobject,
26996        ImageResult2: *mut Hobject,
26997        ImageResult3: *mut Hobject,
26998        ColorSpace: *const ::std::os::raw::c_char,
26999    ) -> Herror;
27000}
27001unsafe extern "C" {
27002    pub fn T_trans_to_rgb(
27003        ImageInput1: Hobject,
27004        ImageInput2: Hobject,
27005        ImageInput3: Hobject,
27006        ImageRed: *mut Hobject,
27007        ImageGreen: *mut Hobject,
27008        ImageBlue: *mut Hobject,
27009        ColorSpace: Htuple,
27010    ) -> Herror;
27011}
27012unsafe extern "C" {
27013    pub fn trans_to_rgb(
27014        ImageInput1: Hobject,
27015        ImageInput2: Hobject,
27016        ImageInput3: Hobject,
27017        ImageRed: *mut Hobject,
27018        ImageGreen: *mut Hobject,
27019        ImageBlue: *mut Hobject,
27020        ColorSpace: *const ::std::os::raw::c_char,
27021    ) -> Herror;
27022}
27023unsafe extern "C" {
27024    pub fn T_bit_mask(Image: Hobject, ImageMask: *mut Hobject, BitMask: Htuple) -> Herror;
27025}
27026unsafe extern "C" {
27027    pub fn bit_mask(Image: Hobject, ImageMask: *mut Hobject, BitMask: Hlong) -> Herror;
27028}
27029unsafe extern "C" {
27030    pub fn T_bit_slice(Image: Hobject, ImageSlice: *mut Hobject, Bit: Htuple) -> Herror;
27031}
27032unsafe extern "C" {
27033    pub fn bit_slice(Image: Hobject, ImageSlice: *mut Hobject, Bit: Hlong) -> Herror;
27034}
27035unsafe extern "C" {
27036    pub fn T_bit_rshift(Image: Hobject, ImageRShift: *mut Hobject, Shift: Htuple) -> Herror;
27037}
27038unsafe extern "C" {
27039    pub fn bit_rshift(Image: Hobject, ImageRShift: *mut Hobject, Shift: Hlong) -> Herror;
27040}
27041unsafe extern "C" {
27042    pub fn T_bit_lshift(Image: Hobject, ImageLShift: *mut Hobject, Shift: Htuple) -> Herror;
27043}
27044unsafe extern "C" {
27045    pub fn bit_lshift(Image: Hobject, ImageLShift: *mut Hobject, Shift: Hlong) -> Herror;
27046}
27047unsafe extern "C" {
27048    pub fn T_bit_not(Image: Hobject, ImageNot: *mut Hobject) -> Herror;
27049}
27050unsafe extern "C" {
27051    pub fn bit_not(Image: Hobject, ImageNot: *mut Hobject) -> Herror;
27052}
27053unsafe extern "C" {
27054    pub fn T_bit_xor(Image1: Hobject, Image2: Hobject, ImageXor: *mut Hobject) -> Herror;
27055}
27056unsafe extern "C" {
27057    pub fn bit_xor(Image1: Hobject, Image2: Hobject, ImageXor: *mut Hobject) -> Herror;
27058}
27059unsafe extern "C" {
27060    pub fn T_bit_or(Image1: Hobject, Image2: Hobject, ImageOr: *mut Hobject) -> Herror;
27061}
27062unsafe extern "C" {
27063    pub fn bit_or(Image1: Hobject, Image2: Hobject, ImageOr: *mut Hobject) -> Herror;
27064}
27065unsafe extern "C" {
27066    pub fn T_bit_and(Image1: Hobject, Image2: Hobject, ImageAnd: *mut Hobject) -> Herror;
27067}
27068unsafe extern "C" {
27069    pub fn bit_and(Image1: Hobject, Image2: Hobject, ImageAnd: *mut Hobject) -> Herror;
27070}
27071unsafe extern "C" {
27072    pub fn T_gamma_image(
27073        Image: Hobject,
27074        GammaImage: *mut Hobject,
27075        Gamma: Htuple,
27076        Offset: Htuple,
27077        Threshold: Htuple,
27078        MaxGray: Htuple,
27079        Encode: Htuple,
27080    ) -> Herror;
27081}
27082unsafe extern "C" {
27083    pub fn gamma_image(
27084        Image: Hobject,
27085        GammaImage: *mut Hobject,
27086        Gamma: f64,
27087        Offset: f64,
27088        Threshold: f64,
27089        MaxGray: f64,
27090        Encode: *const ::std::os::raw::c_char,
27091    ) -> Herror;
27092}
27093unsafe extern "C" {
27094    pub fn T_pow_image(Image: Hobject, PowImage: *mut Hobject, Exponent: Htuple) -> Herror;
27095}
27096unsafe extern "C" {
27097    pub fn pow_image(Image: Hobject, PowImage: *mut Hobject, Exponent: f64) -> Herror;
27098}
27099unsafe extern "C" {
27100    pub fn T_exp_image(Image: Hobject, ExpImage: *mut Hobject, Base: Htuple) -> Herror;
27101}
27102unsafe extern "C" {
27103    pub fn exp_image(
27104        Image: Hobject,
27105        ExpImage: *mut Hobject,
27106        Base: *const ::std::os::raw::c_char,
27107    ) -> Herror;
27108}
27109unsafe extern "C" {
27110    pub fn T_log_image(Image: Hobject, LogImage: *mut Hobject, Base: Htuple) -> Herror;
27111}
27112unsafe extern "C" {
27113    pub fn log_image(
27114        Image: Hobject,
27115        LogImage: *mut Hobject,
27116        Base: *const ::std::os::raw::c_char,
27117    ) -> Herror;
27118}
27119unsafe extern "C" {
27120    pub fn T_atan2_image(ImageY: Hobject, ImageX: Hobject, ArctanImage: *mut Hobject) -> Herror;
27121}
27122unsafe extern "C" {
27123    pub fn atan2_image(ImageY: Hobject, ImageX: Hobject, ArctanImage: *mut Hobject) -> Herror;
27124}
27125unsafe extern "C" {
27126    pub fn T_atan_image(Image: Hobject, ArctanImage: *mut Hobject) -> Herror;
27127}
27128unsafe extern "C" {
27129    pub fn atan_image(Image: Hobject, ArctanImage: *mut Hobject) -> Herror;
27130}
27131unsafe extern "C" {
27132    pub fn T_acos_image(Image: Hobject, ArccosImage: *mut Hobject) -> Herror;
27133}
27134unsafe extern "C" {
27135    pub fn acos_image(Image: Hobject, ArccosImage: *mut Hobject) -> Herror;
27136}
27137unsafe extern "C" {
27138    pub fn T_asin_image(Image: Hobject, ArcsinImage: *mut Hobject) -> Herror;
27139}
27140unsafe extern "C" {
27141    pub fn asin_image(Image: Hobject, ArcsinImage: *mut Hobject) -> Herror;
27142}
27143unsafe extern "C" {
27144    pub fn T_tan_image(Image: Hobject, TanImage: *mut Hobject) -> Herror;
27145}
27146unsafe extern "C" {
27147    pub fn tan_image(Image: Hobject, TanImage: *mut Hobject) -> Herror;
27148}
27149unsafe extern "C" {
27150    pub fn T_cos_image(Image: Hobject, CosImage: *mut Hobject) -> Herror;
27151}
27152unsafe extern "C" {
27153    pub fn cos_image(Image: Hobject, CosImage: *mut Hobject) -> Herror;
27154}
27155unsafe extern "C" {
27156    pub fn T_sin_image(Image: Hobject, SinImage: *mut Hobject) -> Herror;
27157}
27158unsafe extern "C" {
27159    pub fn sin_image(Image: Hobject, SinImage: *mut Hobject) -> Herror;
27160}
27161unsafe extern "C" {
27162    pub fn T_abs_diff_image(
27163        Image1: Hobject,
27164        Image2: Hobject,
27165        ImageAbsDiff: *mut Hobject,
27166        Mult: Htuple,
27167    ) -> Herror;
27168}
27169unsafe extern "C" {
27170    pub fn abs_diff_image(
27171        Image1: Hobject,
27172        Image2: Hobject,
27173        ImageAbsDiff: *mut Hobject,
27174        Mult: f64,
27175    ) -> Herror;
27176}
27177unsafe extern "C" {
27178    pub fn T_sqrt_image(Image: Hobject, SqrtImage: *mut Hobject) -> Herror;
27179}
27180unsafe extern "C" {
27181    pub fn sqrt_image(Image: Hobject, SqrtImage: *mut Hobject) -> Herror;
27182}
27183unsafe extern "C" {
27184    pub fn T_sub_image(
27185        ImageMinuend: Hobject,
27186        ImageSubtrahend: Hobject,
27187        ImageSub: *mut Hobject,
27188        Mult: Htuple,
27189        Add: Htuple,
27190    ) -> Herror;
27191}
27192unsafe extern "C" {
27193    pub fn sub_image(
27194        ImageMinuend: Hobject,
27195        ImageSubtrahend: Hobject,
27196        ImageSub: *mut Hobject,
27197        Mult: f64,
27198        Add: f64,
27199    ) -> Herror;
27200}
27201unsafe extern "C" {
27202    pub fn T_scale_image(
27203        Image: Hobject,
27204        ImageScaled: *mut Hobject,
27205        Mult: Htuple,
27206        Add: Htuple,
27207    ) -> Herror;
27208}
27209unsafe extern "C" {
27210    pub fn scale_image(Image: Hobject, ImageScaled: *mut Hobject, Mult: f64, Add: f64) -> Herror;
27211}
27212unsafe extern "C" {
27213    pub fn T_div_image(
27214        Image1: Hobject,
27215        Image2: Hobject,
27216        ImageResult: *mut Hobject,
27217        Mult: Htuple,
27218        Add: Htuple,
27219    ) -> Herror;
27220}
27221unsafe extern "C" {
27222    pub fn div_image(
27223        Image1: Hobject,
27224        Image2: Hobject,
27225        ImageResult: *mut Hobject,
27226        Mult: f64,
27227        Add: f64,
27228    ) -> Herror;
27229}
27230unsafe extern "C" {
27231    pub fn T_mult_image(
27232        Image1: Hobject,
27233        Image2: Hobject,
27234        ImageResult: *mut Hobject,
27235        Mult: Htuple,
27236        Add: Htuple,
27237    ) -> Herror;
27238}
27239unsafe extern "C" {
27240    pub fn mult_image(
27241        Image1: Hobject,
27242        Image2: Hobject,
27243        ImageResult: *mut Hobject,
27244        Mult: f64,
27245        Add: f64,
27246    ) -> Herror;
27247}
27248unsafe extern "C" {
27249    pub fn T_add_image(
27250        Image1: Hobject,
27251        Image2: Hobject,
27252        ImageResult: *mut Hobject,
27253        Mult: Htuple,
27254        Add: Htuple,
27255    ) -> Herror;
27256}
27257unsafe extern "C" {
27258    pub fn add_image(
27259        Image1: Hobject,
27260        Image2: Hobject,
27261        ImageResult: *mut Hobject,
27262        Mult: f64,
27263        Add: f64,
27264    ) -> Herror;
27265}
27266unsafe extern "C" {
27267    pub fn T_abs_image(Image: Hobject, ImageAbs: *mut Hobject) -> Herror;
27268}
27269unsafe extern "C" {
27270    pub fn abs_image(Image: Hobject, ImageAbs: *mut Hobject) -> Herror;
27271}
27272unsafe extern "C" {
27273    pub fn T_min_image(Image1: Hobject, Image2: Hobject, ImageMin: *mut Hobject) -> Herror;
27274}
27275unsafe extern "C" {
27276    pub fn min_image(Image1: Hobject, Image2: Hobject, ImageMin: *mut Hobject) -> Herror;
27277}
27278unsafe extern "C" {
27279    pub fn T_max_image(Image1: Hobject, Image2: Hobject, ImageMax: *mut Hobject) -> Herror;
27280}
27281unsafe extern "C" {
27282    pub fn max_image(Image1: Hobject, Image2: Hobject, ImageMax: *mut Hobject) -> Herror;
27283}
27284unsafe extern "C" {
27285    pub fn T_invert_image(Image: Hobject, ImageInvert: *mut Hobject) -> Herror;
27286}
27287unsafe extern "C" {
27288    pub fn invert_image(Image: Hobject, ImageInvert: *mut Hobject) -> Herror;
27289}
27290unsafe extern "C" {
27291    pub fn T_adjust_mosaic_images(
27292        Images: Hobject,
27293        CorrectedImages: *mut Hobject,
27294        From: Htuple,
27295        To: Htuple,
27296        ReferenceImage: Htuple,
27297        HomMatrices2D: Htuple,
27298        EstimationMethod: Htuple,
27299        EstimateParameters: Htuple,
27300        OECFModel: Htuple,
27301    ) -> Herror;
27302}
27303unsafe extern "C" {
27304    pub fn T_gen_cube_map_mosaic(
27305        Images: Hobject,
27306        Front: *mut Hobject,
27307        Rear: *mut Hobject,
27308        Left: *mut Hobject,
27309        Right: *mut Hobject,
27310        Top: *mut Hobject,
27311        Bottom: *mut Hobject,
27312        CameraMatrices: Htuple,
27313        RotationMatrices: Htuple,
27314        CubeMapDimension: Htuple,
27315        StackingOrder: Htuple,
27316        Interpolation: Htuple,
27317    ) -> Herror;
27318}
27319unsafe extern "C" {
27320    pub fn T_gen_spherical_mosaic(
27321        Images: Hobject,
27322        MosaicImage: *mut Hobject,
27323        CameraMatrices: Htuple,
27324        RotationMatrices: Htuple,
27325        LatMin: Htuple,
27326        LatMax: Htuple,
27327        LongMin: Htuple,
27328        LongMax: Htuple,
27329        LatLongStep: Htuple,
27330        StackingOrder: Htuple,
27331        Interpolation: Htuple,
27332    ) -> Herror;
27333}
27334unsafe extern "C" {
27335    pub fn T_gen_bundle_adjusted_mosaic(
27336        Images: Hobject,
27337        MosaicImage: *mut Hobject,
27338        HomMatrices2D: Htuple,
27339        StackingOrder: Htuple,
27340        TransformDomain: Htuple,
27341        TransMat2D: *mut Htuple,
27342    ) -> Herror;
27343}
27344unsafe extern "C" {
27345    pub fn T_gen_projective_mosaic(
27346        Images: Hobject,
27347        MosaicImage: *mut Hobject,
27348        StartImage: Htuple,
27349        MappingSource: Htuple,
27350        MappingDest: Htuple,
27351        HomMatrices2D: Htuple,
27352        StackingOrder: Htuple,
27353        TransformDomain: Htuple,
27354        MosaicMatrices2D: *mut Htuple,
27355    ) -> Herror;
27356}
27357unsafe extern "C" {
27358    pub fn T_projective_trans_image_size(
27359        Image: Hobject,
27360        TransImage: *mut Hobject,
27361        HomMat2D: Htuple,
27362        Interpolation: Htuple,
27363        Width: Htuple,
27364        Height: Htuple,
27365        TransformDomain: Htuple,
27366    ) -> Herror;
27367}
27368unsafe extern "C" {
27369    pub fn T_projective_trans_image(
27370        Image: Hobject,
27371        TransImage: *mut Hobject,
27372        HomMat2D: Htuple,
27373        Interpolation: Htuple,
27374        AdaptImageSize: Htuple,
27375        TransformDomain: Htuple,
27376    ) -> Herror;
27377}
27378unsafe extern "C" {
27379    pub fn T_affine_trans_image_size(
27380        Image: Hobject,
27381        ImageAffineTrans: *mut Hobject,
27382        HomMat2D: Htuple,
27383        Interpolation: Htuple,
27384        Width: Htuple,
27385        Height: Htuple,
27386    ) -> Herror;
27387}
27388unsafe extern "C" {
27389    pub fn T_affine_trans_image(
27390        Image: Hobject,
27391        ImageAffineTrans: *mut Hobject,
27392        HomMat2D: Htuple,
27393        Interpolation: Htuple,
27394        AdaptImageSize: Htuple,
27395    ) -> Herror;
27396}
27397unsafe extern "C" {
27398    pub fn T_zoom_image_factor(
27399        Image: Hobject,
27400        ImageZoomed: *mut Hobject,
27401        ScaleWidth: Htuple,
27402        ScaleHeight: Htuple,
27403        Interpolation: Htuple,
27404    ) -> Herror;
27405}
27406unsafe extern "C" {
27407    pub fn zoom_image_factor(
27408        Image: Hobject,
27409        ImageZoomed: *mut Hobject,
27410        ScaleWidth: f64,
27411        ScaleHeight: f64,
27412        Interpolation: *const ::std::os::raw::c_char,
27413    ) -> Herror;
27414}
27415unsafe extern "C" {
27416    pub fn T_zoom_image_size(
27417        Image: Hobject,
27418        ImageZoom: *mut Hobject,
27419        Width: Htuple,
27420        Height: Htuple,
27421        Interpolation: Htuple,
27422    ) -> Herror;
27423}
27424unsafe extern "C" {
27425    pub fn zoom_image_size(
27426        Image: Hobject,
27427        ImageZoom: *mut Hobject,
27428        Width: Hlong,
27429        Height: Hlong,
27430        Interpolation: *const ::std::os::raw::c_char,
27431    ) -> Herror;
27432}
27433unsafe extern "C" {
27434    pub fn T_mirror_image(Image: Hobject, ImageMirror: *mut Hobject, Mode: Htuple) -> Herror;
27435}
27436unsafe extern "C" {
27437    pub fn mirror_image(
27438        Image: Hobject,
27439        ImageMirror: *mut Hobject,
27440        Mode: *const ::std::os::raw::c_char,
27441    ) -> Herror;
27442}
27443unsafe extern "C" {
27444    pub fn T_rotate_image(
27445        Image: Hobject,
27446        ImageRotate: *mut Hobject,
27447        Phi: Htuple,
27448        Interpolation: Htuple,
27449    ) -> Herror;
27450}
27451unsafe extern "C" {
27452    pub fn rotate_image(
27453        Image: Hobject,
27454        ImageRotate: *mut Hobject,
27455        Phi: f64,
27456        Interpolation: *const ::std::os::raw::c_char,
27457    ) -> Herror;
27458}
27459unsafe extern "C" {
27460    pub fn T_polar_trans_image_inv(
27461        PolarImage: Hobject,
27462        XYTransImage: *mut Hobject,
27463        Row: Htuple,
27464        Column: Htuple,
27465        AngleStart: Htuple,
27466        AngleEnd: Htuple,
27467        RadiusStart: Htuple,
27468        RadiusEnd: Htuple,
27469        Width: Htuple,
27470        Height: Htuple,
27471        Interpolation: Htuple,
27472    ) -> Herror;
27473}
27474unsafe extern "C" {
27475    pub fn polar_trans_image_inv(
27476        PolarImage: Hobject,
27477        XYTransImage: *mut Hobject,
27478        Row: f64,
27479        Column: f64,
27480        AngleStart: f64,
27481        AngleEnd: f64,
27482        RadiusStart: f64,
27483        RadiusEnd: f64,
27484        Width: Hlong,
27485        Height: Hlong,
27486        Interpolation: *const ::std::os::raw::c_char,
27487    ) -> Herror;
27488}
27489unsafe extern "C" {
27490    pub fn T_polar_trans_image_ext(
27491        Image: Hobject,
27492        PolarTransImage: *mut Hobject,
27493        Row: Htuple,
27494        Column: Htuple,
27495        AngleStart: Htuple,
27496        AngleEnd: Htuple,
27497        RadiusStart: Htuple,
27498        RadiusEnd: Htuple,
27499        Width: Htuple,
27500        Height: Htuple,
27501        Interpolation: Htuple,
27502    ) -> Herror;
27503}
27504unsafe extern "C" {
27505    pub fn polar_trans_image_ext(
27506        Image: Hobject,
27507        PolarTransImage: *mut Hobject,
27508        Row: f64,
27509        Column: f64,
27510        AngleStart: f64,
27511        AngleEnd: f64,
27512        RadiusStart: f64,
27513        RadiusEnd: f64,
27514        Width: Hlong,
27515        Height: Hlong,
27516        Interpolation: *const ::std::os::raw::c_char,
27517    ) -> Herror;
27518}
27519unsafe extern "C" {
27520    pub fn T_polar_trans_image(
27521        ImageXY: Hobject,
27522        ImagePolar: *mut Hobject,
27523        Row: Htuple,
27524        Column: Htuple,
27525        Width: Htuple,
27526        Height: Htuple,
27527    ) -> Herror;
27528}
27529unsafe extern "C" {
27530    pub fn polar_trans_image(
27531        ImageXY: Hobject,
27532        ImagePolar: *mut Hobject,
27533        Row: Hlong,
27534        Column: Hlong,
27535        Width: Hlong,
27536        Height: Hlong,
27537    ) -> Herror;
27538}
27539unsafe extern "C" {
27540    pub fn T_vector_field_to_hom_mat2d(VectorField: Hobject, HomMat2D: *mut Htuple) -> Herror;
27541}
27542unsafe extern "C" {
27543    pub fn T_deserialize_xld(XLD: *mut Hobject, SerializedItemHandle: Htuple) -> Herror;
27544}
27545unsafe extern "C" {
27546    pub fn deserialize_xld(XLD: *mut Hobject, SerializedItemHandle: Hlong) -> Herror;
27547}
27548unsafe extern "C" {
27549    pub fn T_serialize_xld(XLD: Hobject, SerializedItemHandle: *mut Htuple) -> Herror;
27550}
27551unsafe extern "C" {
27552    pub fn serialize_xld(XLD: Hobject, SerializedItemHandle: *mut Hlong) -> Herror;
27553}
27554unsafe extern "C" {
27555    pub fn T_read_polygon_xld_dxf(
27556        Polygons: *mut Hobject,
27557        FileName: Htuple,
27558        GenParamName: Htuple,
27559        GenParamValue: Htuple,
27560        DxfStatus: *mut Htuple,
27561    ) -> Herror;
27562}
27563unsafe extern "C" {
27564    pub fn read_polygon_xld_dxf(
27565        Polygons: *mut Hobject,
27566        FileName: *const ::std::os::raw::c_char,
27567        GenParamName: *const ::std::os::raw::c_char,
27568        GenParamValue: f64,
27569        DxfStatus: *mut ::std::os::raw::c_char,
27570    ) -> Herror;
27571}
27572unsafe extern "C" {
27573    pub fn T_write_polygon_xld_dxf(Polygons: Hobject, FileName: Htuple) -> Herror;
27574}
27575unsafe extern "C" {
27576    pub fn write_polygon_xld_dxf(
27577        Polygons: Hobject,
27578        FileName: *const ::std::os::raw::c_char,
27579    ) -> Herror;
27580}
27581unsafe extern "C" {
27582    pub fn T_read_contour_xld_dxf(
27583        Contours: *mut Hobject,
27584        FileName: Htuple,
27585        GenParamName: Htuple,
27586        GenParamValue: Htuple,
27587        DxfStatus: *mut Htuple,
27588    ) -> Herror;
27589}
27590unsafe extern "C" {
27591    pub fn read_contour_xld_dxf(
27592        Contours: *mut Hobject,
27593        FileName: *const ::std::os::raw::c_char,
27594        GenParamName: *const ::std::os::raw::c_char,
27595        GenParamValue: f64,
27596        DxfStatus: *mut ::std::os::raw::c_char,
27597    ) -> Herror;
27598}
27599unsafe extern "C" {
27600    pub fn T_write_contour_xld_dxf(Contours: Hobject, FileName: Htuple) -> Herror;
27601}
27602unsafe extern "C" {
27603    pub fn write_contour_xld_dxf(
27604        Contours: Hobject,
27605        FileName: *const ::std::os::raw::c_char,
27606    ) -> Herror;
27607}
27608unsafe extern "C" {
27609    pub fn T_copy_file(SourceFile: Htuple, DestinationFile: Htuple) -> Herror;
27610}
27611unsafe extern "C" {
27612    pub fn copy_file(
27613        SourceFile: *const ::std::os::raw::c_char,
27614        DestinationFile: *const ::std::os::raw::c_char,
27615    ) -> Herror;
27616}
27617unsafe extern "C" {
27618    pub fn T_set_current_dir(DirName: Htuple) -> Herror;
27619}
27620unsafe extern "C" {
27621    pub fn set_current_dir(DirName: *const ::std::os::raw::c_char) -> Herror;
27622}
27623unsafe extern "C" {
27624    pub fn T_get_current_dir(DirName: *mut Htuple) -> Herror;
27625}
27626unsafe extern "C" {
27627    pub fn get_current_dir(DirName: *mut ::std::os::raw::c_char) -> Herror;
27628}
27629unsafe extern "C" {
27630    pub fn T_remove_dir(DirName: Htuple) -> Herror;
27631}
27632unsafe extern "C" {
27633    pub fn remove_dir(DirName: *const ::std::os::raw::c_char) -> Herror;
27634}
27635unsafe extern "C" {
27636    pub fn T_make_dir(DirName: Htuple) -> Herror;
27637}
27638unsafe extern "C" {
27639    pub fn make_dir(DirName: *const ::std::os::raw::c_char) -> Herror;
27640}
27641unsafe extern "C" {
27642    pub fn T_list_files(Directory: Htuple, Options: Htuple, Files: *mut Htuple) -> Herror;
27643}
27644unsafe extern "C" {
27645    pub fn T_delete_file(FileName: Htuple) -> Herror;
27646}
27647unsafe extern "C" {
27648    pub fn delete_file(FileName: *const ::std::os::raw::c_char) -> Herror;
27649}
27650unsafe extern "C" {
27651    pub fn T_file_exists(FileName: Htuple, FileExists: *mut Htuple) -> Herror;
27652}
27653unsafe extern "C" {
27654    pub fn file_exists(FileName: *const ::std::os::raw::c_char, FileExists: *mut Hlong) -> Herror;
27655}
27656unsafe extern "C" {
27657    pub fn T_read_object(Object: *mut Hobject, FileName: Htuple) -> Herror;
27658}
27659unsafe extern "C" {
27660    pub fn read_object(Object: *mut Hobject, FileName: *const ::std::os::raw::c_char) -> Herror;
27661}
27662unsafe extern "C" {
27663    pub fn T_write_object(Object: Hobject, FileName: Htuple) -> Herror;
27664}
27665unsafe extern "C" {
27666    pub fn write_object(Object: Hobject, FileName: *const ::std::os::raw::c_char) -> Herror;
27667}
27668unsafe extern "C" {
27669    pub fn T_deserialize_object(Object: *mut Hobject, SerializedItemHandle: Htuple) -> Herror;
27670}
27671unsafe extern "C" {
27672    pub fn deserialize_object(Object: *mut Hobject, SerializedItemHandle: Hlong) -> Herror;
27673}
27674unsafe extern "C" {
27675    pub fn T_serialize_object(Object: Hobject, SerializedItemHandle: *mut Htuple) -> Herror;
27676}
27677unsafe extern "C" {
27678    pub fn serialize_object(Object: Hobject, SerializedItemHandle: *mut Hlong) -> Herror;
27679}
27680unsafe extern "C" {
27681    pub fn T_deserialize_image(Image: *mut Hobject, SerializedItemHandle: Htuple) -> Herror;
27682}
27683unsafe extern "C" {
27684    pub fn deserialize_image(Image: *mut Hobject, SerializedItemHandle: Hlong) -> Herror;
27685}
27686unsafe extern "C" {
27687    pub fn T_serialize_image(Image: Hobject, SerializedItemHandle: *mut Htuple) -> Herror;
27688}
27689unsafe extern "C" {
27690    pub fn serialize_image(Image: Hobject, SerializedItemHandle: *mut Hlong) -> Herror;
27691}
27692unsafe extern "C" {
27693    pub fn T_deserialize_region(Region: *mut Hobject, SerializedItemHandle: Htuple) -> Herror;
27694}
27695unsafe extern "C" {
27696    pub fn deserialize_region(Region: *mut Hobject, SerializedItemHandle: Hlong) -> Herror;
27697}
27698unsafe extern "C" {
27699    pub fn T_serialize_region(Region: Hobject, SerializedItemHandle: *mut Htuple) -> Herror;
27700}
27701unsafe extern "C" {
27702    pub fn serialize_region(Region: Hobject, SerializedItemHandle: *mut Hlong) -> Herror;
27703}
27704unsafe extern "C" {
27705    pub fn T_write_region(Region: Hobject, FileName: Htuple) -> Herror;
27706}
27707unsafe extern "C" {
27708    pub fn write_region(Region: Hobject, FileName: *const ::std::os::raw::c_char) -> Herror;
27709}
27710unsafe extern "C" {
27711    pub fn T_write_image(
27712        Image: Hobject,
27713        Format: Htuple,
27714        FillColor: Htuple,
27715        FileName: Htuple,
27716    ) -> Herror;
27717}
27718unsafe extern "C" {
27719    pub fn write_image(
27720        Image: Hobject,
27721        Format: *const ::std::os::raw::c_char,
27722        FillColor: Hlong,
27723        FileName: *const ::std::os::raw::c_char,
27724    ) -> Herror;
27725}
27726unsafe extern "C" {
27727    pub fn T_read_sequence(
27728        Image: *mut Hobject,
27729        HeaderSize: Htuple,
27730        SourceWidth: Htuple,
27731        SourceHeight: Htuple,
27732        StartRow: Htuple,
27733        StartColumn: Htuple,
27734        DestWidth: Htuple,
27735        DestHeight: Htuple,
27736        PixelType: Htuple,
27737        BitOrder: Htuple,
27738        ByteOrder: Htuple,
27739        Pad: Htuple,
27740        Index: Htuple,
27741        FileName: Htuple,
27742    ) -> Herror;
27743}
27744unsafe extern "C" {
27745    pub fn read_sequence(
27746        Image: *mut Hobject,
27747        HeaderSize: Hlong,
27748        SourceWidth: Hlong,
27749        SourceHeight: Hlong,
27750        StartRow: Hlong,
27751        StartColumn: Hlong,
27752        DestWidth: Hlong,
27753        DestHeight: Hlong,
27754        PixelType: *const ::std::os::raw::c_char,
27755        BitOrder: *const ::std::os::raw::c_char,
27756        ByteOrder: *const ::std::os::raw::c_char,
27757        Pad: *const ::std::os::raw::c_char,
27758        Index: Hlong,
27759        FileName: *const ::std::os::raw::c_char,
27760    ) -> Herror;
27761}
27762unsafe extern "C" {
27763    pub fn T_read_region(Region: *mut Hobject, FileName: Htuple) -> Herror;
27764}
27765unsafe extern "C" {
27766    pub fn read_region(Region: *mut Hobject, FileName: *const ::std::os::raw::c_char) -> Herror;
27767}
27768unsafe extern "C" {
27769    pub fn T_read_image(Image: *mut Hobject, FileName: Htuple) -> Herror;
27770}
27771unsafe extern "C" {
27772    pub fn read_image(Image: *mut Hobject, FileName: *const ::std::os::raw::c_char) -> Herror;
27773}
27774unsafe extern "C" {
27775    pub fn T_open_file(FileName: Htuple, FileType: Htuple, FileHandle: *mut Htuple) -> Herror;
27776}
27777unsafe extern "C" {
27778    pub fn open_file(
27779        FileName: *const ::std::os::raw::c_char,
27780        FileType: *const ::std::os::raw::c_char,
27781        FileHandle: *mut Hlong,
27782    ) -> Herror;
27783}
27784unsafe extern "C" {
27785    pub fn T_fwrite_string(FileHandle: Htuple, String: Htuple) -> Herror;
27786}
27787unsafe extern "C" {
27788    pub fn fwrite_string(FileHandle: Hlong, String: *const ::std::os::raw::c_char) -> Herror;
27789}
27790unsafe extern "C" {
27791    pub fn T_fread_line(FileHandle: Htuple, OutLine: *mut Htuple, IsEOF: *mut Htuple) -> Herror;
27792}
27793unsafe extern "C" {
27794    pub fn fread_line(
27795        FileHandle: Hlong,
27796        OutLine: *mut ::std::os::raw::c_char,
27797        IsEOF: *mut Hlong,
27798    ) -> Herror;
27799}
27800unsafe extern "C" {
27801    pub fn T_fread_string(FileHandle: Htuple, OutString: *mut Htuple, IsEOF: *mut Htuple)
27802    -> Herror;
27803}
27804unsafe extern "C" {
27805    pub fn fread_string(
27806        FileHandle: Hlong,
27807        OutString: *mut ::std::os::raw::c_char,
27808        IsEOF: *mut Hlong,
27809    ) -> Herror;
27810}
27811unsafe extern "C" {
27812    pub fn T_fread_char(FileHandle: Htuple, Char: *mut Htuple) -> Herror;
27813}
27814unsafe extern "C" {
27815    pub fn fread_char(FileHandle: Hlong, Char: *mut ::std::os::raw::c_char) -> Herror;
27816}
27817unsafe extern "C" {
27818    pub fn T_fnew_line(FileHandle: Htuple) -> Herror;
27819}
27820unsafe extern "C" {
27821    pub fn fnew_line(FileHandle: Hlong) -> Herror;
27822}
27823unsafe extern "C" {
27824    pub fn T_close_file(FileHandle: Htuple) -> Herror;
27825}
27826unsafe extern "C" {
27827    pub fn close_file(FileHandle: Hlong) -> Herror;
27828}
27829unsafe extern "C" {
27830    pub fn T_close_all_files() -> Herror;
27831}
27832unsafe extern "C" {
27833    pub fn close_all_files() -> Herror;
27834}
27835unsafe extern "C" {
27836    pub fn T_test_closed_xld(XLD: Hobject, IsClosed: *mut Htuple) -> Herror;
27837}
27838unsafe extern "C" {
27839    pub fn test_closed_xld(XLD: Hobject, IsClosed: *mut Hlong) -> Herror;
27840}
27841unsafe extern "C" {
27842    pub fn T_get_grayval_contour_xld(
27843        Image: Hobject,
27844        Contour: Hobject,
27845        Interpolation: Htuple,
27846        Grayval: *mut Htuple,
27847    ) -> Herror;
27848}
27849unsafe extern "C" {
27850    pub fn get_grayval_contour_xld(
27851        Image: Hobject,
27852        Contour: Hobject,
27853        Interpolation: *const ::std::os::raw::c_char,
27854        Grayval: *mut f64,
27855    ) -> Herror;
27856}
27857unsafe extern "C" {
27858    pub fn T_moments_any_points_xld(
27859        XLD: Hobject,
27860        Mode: Htuple,
27861        Area: Htuple,
27862        CenterRow: Htuple,
27863        CenterCol: Htuple,
27864        P: Htuple,
27865        Q: Htuple,
27866        M: *mut Htuple,
27867    ) -> Herror;
27868}
27869unsafe extern "C" {
27870    pub fn moments_any_points_xld(
27871        XLD: Hobject,
27872        Mode: *const ::std::os::raw::c_char,
27873        Area: f64,
27874        CenterRow: f64,
27875        CenterCol: f64,
27876        P: Hlong,
27877        Q: Hlong,
27878        M: *mut f64,
27879    ) -> Herror;
27880}
27881unsafe extern "C" {
27882    pub fn T_eccentricity_points_xld(XLD: Hobject, Anisometry: *mut Htuple) -> Herror;
27883}
27884unsafe extern "C" {
27885    pub fn eccentricity_points_xld(XLD: Hobject, Anisometry: *mut f64) -> Herror;
27886}
27887unsafe extern "C" {
27888    pub fn T_elliptic_axis_points_xld(
27889        XLD: Hobject,
27890        Ra: *mut Htuple,
27891        Rb: *mut Htuple,
27892        Phi: *mut Htuple,
27893    ) -> Herror;
27894}
27895unsafe extern "C" {
27896    pub fn elliptic_axis_points_xld(
27897        XLD: Hobject,
27898        Ra: *mut f64,
27899        Rb: *mut f64,
27900        Phi: *mut f64,
27901    ) -> Herror;
27902}
27903unsafe extern "C" {
27904    pub fn T_orientation_points_xld(XLD: Hobject, Phi: *mut Htuple) -> Herror;
27905}
27906unsafe extern "C" {
27907    pub fn orientation_points_xld(XLD: Hobject, Phi: *mut f64) -> Herror;
27908}
27909unsafe extern "C" {
27910    pub fn T_moments_points_xld(
27911        XLD: Hobject,
27912        M11: *mut Htuple,
27913        M20: *mut Htuple,
27914        M02: *mut Htuple,
27915    ) -> Herror;
27916}
27917unsafe extern "C" {
27918    pub fn moments_points_xld(XLD: Hobject, M11: *mut f64, M20: *mut f64, M02: *mut f64) -> Herror;
27919}
27920unsafe extern "C" {
27921    pub fn T_area_center_points_xld(
27922        XLD: Hobject,
27923        Area: *mut Htuple,
27924        Row: *mut Htuple,
27925        Column: *mut Htuple,
27926    ) -> Herror;
27927}
27928unsafe extern "C" {
27929    pub fn area_center_points_xld(
27930        XLD: Hobject,
27931        Area: *mut f64,
27932        Row: *mut f64,
27933        Column: *mut f64,
27934    ) -> Herror;
27935}
27936unsafe extern "C" {
27937    pub fn T_test_self_intersection_xld(
27938        XLD: Hobject,
27939        CloseXLD: Htuple,
27940        DoesIntersect: *mut Htuple,
27941    ) -> Herror;
27942}
27943unsafe extern "C" {
27944    pub fn test_self_intersection_xld(
27945        XLD: Hobject,
27946        CloseXLD: *const ::std::os::raw::c_char,
27947        DoesIntersect: *mut Hlong,
27948    ) -> Herror;
27949}
27950unsafe extern "C" {
27951    pub fn T_select_xld_point(
27952        XLDs: Hobject,
27953        DestXLDs: *mut Hobject,
27954        Row: Htuple,
27955        Column: Htuple,
27956    ) -> Herror;
27957}
27958unsafe extern "C" {
27959    pub fn select_xld_point(XLDs: Hobject, DestXLDs: *mut Hobject, Row: f64, Column: f64)
27960    -> Herror;
27961}
27962unsafe extern "C" {
27963    pub fn T_test_xld_point(
27964        XLD: Hobject,
27965        Row: Htuple,
27966        Column: Htuple,
27967        IsInside: *mut Htuple,
27968    ) -> Herror;
27969}
27970unsafe extern "C" {
27971    pub fn test_xld_point(XLD: Hobject, Row: f64, Column: f64, IsInside: *mut Hlong) -> Herror;
27972}
27973unsafe extern "C" {
27974    pub fn T_select_shape_xld(
27975        XLD: Hobject,
27976        SelectedXLD: *mut Hobject,
27977        Features: Htuple,
27978        Operation: Htuple,
27979        Min: Htuple,
27980        Max: Htuple,
27981    ) -> Herror;
27982}
27983unsafe extern "C" {
27984    pub fn select_shape_xld(
27985        XLD: Hobject,
27986        SelectedXLD: *mut Hobject,
27987        Features: *const ::std::os::raw::c_char,
27988        Operation: *const ::std::os::raw::c_char,
27989        Min: f64,
27990        Max: f64,
27991    ) -> Herror;
27992}
27993unsafe extern "C" {
27994    pub fn T_orientation_xld(XLD: Hobject, Phi: *mut Htuple) -> Herror;
27995}
27996unsafe extern "C" {
27997    pub fn orientation_xld(XLD: Hobject, Phi: *mut f64) -> Herror;
27998}
27999unsafe extern "C" {
28000    pub fn T_eccentricity_xld(
28001        XLD: Hobject,
28002        Anisometry: *mut Htuple,
28003        Bulkiness: *mut Htuple,
28004        StructureFactor: *mut Htuple,
28005    ) -> Herror;
28006}
28007unsafe extern "C" {
28008    pub fn eccentricity_xld(
28009        XLD: Hobject,
28010        Anisometry: *mut f64,
28011        Bulkiness: *mut f64,
28012        StructureFactor: *mut f64,
28013    ) -> Herror;
28014}
28015unsafe extern "C" {
28016    pub fn T_compactness_xld(XLD: Hobject, Compactness: *mut Htuple) -> Herror;
28017}
28018unsafe extern "C" {
28019    pub fn compactness_xld(XLD: Hobject, Compactness: *mut f64) -> Herror;
28020}
28021unsafe extern "C" {
28022    pub fn T_diameter_xld(
28023        XLD: Hobject,
28024        Row1: *mut Htuple,
28025        Column1: *mut Htuple,
28026        Row2: *mut Htuple,
28027        Column2: *mut Htuple,
28028        Diameter: *mut Htuple,
28029    ) -> Herror;
28030}
28031unsafe extern "C" {
28032    pub fn diameter_xld(
28033        XLD: Hobject,
28034        Row1: *mut f64,
28035        Column1: *mut f64,
28036        Row2: *mut f64,
28037        Column2: *mut f64,
28038        Diameter: *mut f64,
28039    ) -> Herror;
28040}
28041unsafe extern "C" {
28042    pub fn T_convexity_xld(XLD: Hobject, Convexity: *mut Htuple) -> Herror;
28043}
28044unsafe extern "C" {
28045    pub fn convexity_xld(XLD: Hobject, Convexity: *mut f64) -> Herror;
28046}
28047unsafe extern "C" {
28048    pub fn T_circularity_xld(XLD: Hobject, Circularity: *mut Htuple) -> Herror;
28049}
28050unsafe extern "C" {
28051    pub fn circularity_xld(XLD: Hobject, Circularity: *mut f64) -> Herror;
28052}
28053unsafe extern "C" {
28054    pub fn T_elliptic_axis_xld(
28055        XLD: Hobject,
28056        Ra: *mut Htuple,
28057        Rb: *mut Htuple,
28058        Phi: *mut Htuple,
28059    ) -> Herror;
28060}
28061unsafe extern "C" {
28062    pub fn elliptic_axis_xld(XLD: Hobject, Ra: *mut f64, Rb: *mut f64, Phi: *mut f64) -> Herror;
28063}
28064unsafe extern "C" {
28065    pub fn T_smallest_rectangle2_xld(
28066        XLD: Hobject,
28067        Row: *mut Htuple,
28068        Column: *mut Htuple,
28069        Phi: *mut Htuple,
28070        Length1: *mut Htuple,
28071        Length2: *mut Htuple,
28072    ) -> Herror;
28073}
28074unsafe extern "C" {
28075    pub fn smallest_rectangle2_xld(
28076        XLD: Hobject,
28077        Row: *mut f64,
28078        Column: *mut f64,
28079        Phi: *mut f64,
28080        Length1: *mut f64,
28081        Length2: *mut f64,
28082    ) -> Herror;
28083}
28084unsafe extern "C" {
28085    pub fn T_smallest_rectangle1_xld(
28086        XLD: Hobject,
28087        Row1: *mut Htuple,
28088        Column1: *mut Htuple,
28089        Row2: *mut Htuple,
28090        Column2: *mut Htuple,
28091    ) -> Herror;
28092}
28093unsafe extern "C" {
28094    pub fn smallest_rectangle1_xld(
28095        XLD: Hobject,
28096        Row1: *mut f64,
28097        Column1: *mut f64,
28098        Row2: *mut f64,
28099        Column2: *mut f64,
28100    ) -> Herror;
28101}
28102unsafe extern "C" {
28103    pub fn T_smallest_circle_xld(
28104        XLD: Hobject,
28105        Row: *mut Htuple,
28106        Column: *mut Htuple,
28107        Radius: *mut Htuple,
28108    ) -> Herror;
28109}
28110unsafe extern "C" {
28111    pub fn smallest_circle_xld(
28112        XLD: Hobject,
28113        Row: *mut f64,
28114        Column: *mut f64,
28115        Radius: *mut f64,
28116    ) -> Herror;
28117}
28118unsafe extern "C" {
28119    pub fn T_shape_trans_xld(XLD: Hobject, XLDTrans: *mut Hobject, Type: Htuple) -> Herror;
28120}
28121unsafe extern "C" {
28122    pub fn shape_trans_xld(
28123        XLD: Hobject,
28124        XLDTrans: *mut Hobject,
28125        Type: *const ::std::os::raw::c_char,
28126    ) -> Herror;
28127}
28128unsafe extern "C" {
28129    pub fn T_length_xld(XLD: Hobject, Length: *mut Htuple) -> Herror;
28130}
28131unsafe extern "C" {
28132    pub fn length_xld(XLD: Hobject, Length: *mut f64) -> Herror;
28133}
28134unsafe extern "C" {
28135    pub fn T_moments_any_xld(
28136        XLD: Hobject,
28137        Mode: Htuple,
28138        PointOrder: Htuple,
28139        Area: Htuple,
28140        CenterRow: Htuple,
28141        CenterCol: Htuple,
28142        P: Htuple,
28143        Q: Htuple,
28144        M: *mut Htuple,
28145    ) -> Herror;
28146}
28147unsafe extern "C" {
28148    pub fn moments_any_xld(
28149        XLD: Hobject,
28150        Mode: *const ::std::os::raw::c_char,
28151        PointOrder: *const ::std::os::raw::c_char,
28152        Area: f64,
28153        CenterRow: f64,
28154        CenterCol: f64,
28155        P: Hlong,
28156        Q: Hlong,
28157        M: *mut f64,
28158    ) -> Herror;
28159}
28160unsafe extern "C" {
28161    pub fn T_moments_xld(
28162        XLD: Hobject,
28163        M11: *mut Htuple,
28164        M20: *mut Htuple,
28165        M02: *mut Htuple,
28166    ) -> Herror;
28167}
28168unsafe extern "C" {
28169    pub fn moments_xld(XLD: Hobject, M11: *mut f64, M20: *mut f64, M02: *mut f64) -> Herror;
28170}
28171unsafe extern "C" {
28172    pub fn T_area_center_xld(
28173        XLD: Hobject,
28174        Area: *mut Htuple,
28175        Row: *mut Htuple,
28176        Column: *mut Htuple,
28177        PointOrder: *mut Htuple,
28178    ) -> Herror;
28179}
28180unsafe extern "C" {
28181    pub fn area_center_xld(
28182        XLD: Hobject,
28183        Area: *mut f64,
28184        Row: *mut f64,
28185        Column: *mut f64,
28186        PointOrder: *mut ::std::os::raw::c_char,
28187    ) -> Herror;
28188}
28189unsafe extern "C" {
28190    pub fn T_moments_region_central_invar(
28191        Regions: Hobject,
28192        PSI1: *mut Htuple,
28193        PSI2: *mut Htuple,
28194        PSI3: *mut Htuple,
28195        PSI4: *mut Htuple,
28196    ) -> Herror;
28197}
28198unsafe extern "C" {
28199    pub fn moments_region_central_invar(
28200        Regions: Hobject,
28201        PSI1: *mut f64,
28202        PSI2: *mut f64,
28203        PSI3: *mut f64,
28204        PSI4: *mut f64,
28205    ) -> Herror;
28206}
28207unsafe extern "C" {
28208    pub fn T_moments_region_central(
28209        Regions: Hobject,
28210        I1: *mut Htuple,
28211        I2: *mut Htuple,
28212        I3: *mut Htuple,
28213        I4: *mut Htuple,
28214    ) -> Herror;
28215}
28216unsafe extern "C" {
28217    pub fn moments_region_central(
28218        Regions: Hobject,
28219        I1: *mut f64,
28220        I2: *mut f64,
28221        I3: *mut f64,
28222        I4: *mut f64,
28223    ) -> Herror;
28224}
28225unsafe extern "C" {
28226    pub fn T_moments_region_3rd_invar(
28227        Regions: Hobject,
28228        M21: *mut Htuple,
28229        M12: *mut Htuple,
28230        M03: *mut Htuple,
28231        M30: *mut Htuple,
28232    ) -> Herror;
28233}
28234unsafe extern "C" {
28235    pub fn moments_region_3rd_invar(
28236        Regions: Hobject,
28237        M21: *mut f64,
28238        M12: *mut f64,
28239        M03: *mut f64,
28240        M30: *mut f64,
28241    ) -> Herror;
28242}
28243unsafe extern "C" {
28244    pub fn T_moments_region_3rd(
28245        Regions: Hobject,
28246        M21: *mut Htuple,
28247        M12: *mut Htuple,
28248        M03: *mut Htuple,
28249        M30: *mut Htuple,
28250    ) -> Herror;
28251}
28252unsafe extern "C" {
28253    pub fn moments_region_3rd(
28254        Regions: Hobject,
28255        M21: *mut f64,
28256        M12: *mut f64,
28257        M03: *mut f64,
28258        M30: *mut f64,
28259    ) -> Herror;
28260}
28261unsafe extern "C" {
28262    pub fn T_smallest_rectangle2(
28263        Regions: Hobject,
28264        Row: *mut Htuple,
28265        Column: *mut Htuple,
28266        Phi: *mut Htuple,
28267        Length1: *mut Htuple,
28268        Length2: *mut Htuple,
28269    ) -> Herror;
28270}
28271unsafe extern "C" {
28272    pub fn smallest_rectangle2(
28273        Regions: Hobject,
28274        Row: *mut f64,
28275        Column: *mut f64,
28276        Phi: *mut f64,
28277        Length1: *mut f64,
28278        Length2: *mut f64,
28279    ) -> Herror;
28280}
28281unsafe extern "C" {
28282    pub fn T_smallest_rectangle1(
28283        Regions: Hobject,
28284        Row1: *mut Htuple,
28285        Column1: *mut Htuple,
28286        Row2: *mut Htuple,
28287        Column2: *mut Htuple,
28288    ) -> Herror;
28289}
28290unsafe extern "C" {
28291    pub fn smallest_rectangle1(
28292        Regions: Hobject,
28293        Row1: *mut Hlong,
28294        Column1: *mut Hlong,
28295        Row2: *mut Hlong,
28296        Column2: *mut Hlong,
28297    ) -> Herror;
28298}
28299unsafe extern "C" {
28300    pub fn T_smallest_circle(
28301        Regions: Hobject,
28302        Row: *mut Htuple,
28303        Column: *mut Htuple,
28304        Radius: *mut Htuple,
28305    ) -> Herror;
28306}
28307unsafe extern "C" {
28308    pub fn smallest_circle(
28309        Regions: Hobject,
28310        Row: *mut f64,
28311        Column: *mut f64,
28312        Radius: *mut f64,
28313    ) -> Herror;
28314}
28315unsafe extern "C" {
28316    pub fn T_select_shape_proto(
28317        Regions: Hobject,
28318        Pattern: Hobject,
28319        SelectedRegions: *mut Hobject,
28320        Feature: Htuple,
28321        Min: Htuple,
28322        Max: Htuple,
28323    ) -> Herror;
28324}
28325unsafe extern "C" {
28326    pub fn select_shape_proto(
28327        Regions: Hobject,
28328        Pattern: Hobject,
28329        SelectedRegions: *mut Hobject,
28330        Feature: *const ::std::os::raw::c_char,
28331        Min: f64,
28332        Max: f64,
28333    ) -> Herror;
28334}
28335unsafe extern "C" {
28336    pub fn T_region_features(Regions: Hobject, Features: Htuple, Value: *mut Htuple) -> Herror;
28337}
28338unsafe extern "C" {
28339    pub fn region_features(
28340        Regions: Hobject,
28341        Features: *const ::std::os::raw::c_char,
28342        Value: *mut f64,
28343    ) -> Herror;
28344}
28345unsafe extern "C" {
28346    pub fn T_select_shape(
28347        Regions: Hobject,
28348        SelectedRegions: *mut Hobject,
28349        Features: Htuple,
28350        Operation: Htuple,
28351        Min: Htuple,
28352        Max: Htuple,
28353    ) -> Herror;
28354}
28355unsafe extern "C" {
28356    pub fn select_shape(
28357        Regions: Hobject,
28358        SelectedRegions: *mut Hobject,
28359        Features: *const ::std::os::raw::c_char,
28360        Operation: *const ::std::os::raw::c_char,
28361        Min: f64,
28362        Max: f64,
28363    ) -> Herror;
28364}
28365unsafe extern "C" {
28366    pub fn T_runlength_features(
28367        Regions: Hobject,
28368        NumRuns: *mut Htuple,
28369        KFactor: *mut Htuple,
28370        LFactor: *mut Htuple,
28371        MeanLength: *mut Htuple,
28372        Bytes: *mut Htuple,
28373    ) -> Herror;
28374}
28375unsafe extern "C" {
28376    pub fn runlength_features(
28377        Regions: Hobject,
28378        NumRuns: *mut Hlong,
28379        KFactor: *mut f64,
28380        LFactor: *mut f64,
28381        MeanLength: *mut f64,
28382        Bytes: *mut Hlong,
28383    ) -> Herror;
28384}
28385unsafe extern "C" {
28386    pub fn T_find_neighbors(
28387        Regions1: Hobject,
28388        Regions2: Hobject,
28389        MaxDistance: Htuple,
28390        RegionIndex1: *mut Htuple,
28391        RegionIndex2: *mut Htuple,
28392    ) -> Herror;
28393}
28394unsafe extern "C" {
28395    pub fn T_moments_region_2nd_rel_invar(
28396        Regions: Hobject,
28397        PHI1: *mut Htuple,
28398        PHI2: *mut Htuple,
28399    ) -> Herror;
28400}
28401unsafe extern "C" {
28402    pub fn moments_region_2nd_rel_invar(Regions: Hobject, PHI1: *mut f64, PHI2: *mut f64)
28403    -> Herror;
28404}
28405unsafe extern "C" {
28406    pub fn T_moments_region_2nd_invar(
28407        Regions: Hobject,
28408        M11: *mut Htuple,
28409        M20: *mut Htuple,
28410        M02: *mut Htuple,
28411    ) -> Herror;
28412}
28413unsafe extern "C" {
28414    pub fn moments_region_2nd_invar(
28415        Regions: Hobject,
28416        M11: *mut f64,
28417        M20: *mut f64,
28418        M02: *mut f64,
28419    ) -> Herror;
28420}
28421unsafe extern "C" {
28422    pub fn T_moments_region_2nd(
28423        Regions: Hobject,
28424        M11: *mut Htuple,
28425        M20: *mut Htuple,
28426        M02: *mut Htuple,
28427        Ia: *mut Htuple,
28428        Ib: *mut Htuple,
28429    ) -> Herror;
28430}
28431unsafe extern "C" {
28432    pub fn moments_region_2nd(
28433        Regions: Hobject,
28434        M11: *mut f64,
28435        M20: *mut f64,
28436        M02: *mut f64,
28437        Ia: *mut f64,
28438        Ib: *mut f64,
28439    ) -> Herror;
28440}
28441unsafe extern "C" {
28442    pub fn T_distance_rr_min(
28443        Regions1: Hobject,
28444        Regions2: Hobject,
28445        MinDistance: *mut Htuple,
28446        Row1: *mut Htuple,
28447        Column1: *mut Htuple,
28448        Row2: *mut Htuple,
28449        Column2: *mut Htuple,
28450    ) -> Herror;
28451}
28452unsafe extern "C" {
28453    pub fn distance_rr_min(
28454        Regions1: Hobject,
28455        Regions2: Hobject,
28456        MinDistance: *mut f64,
28457        Row1: *mut Hlong,
28458        Column1: *mut Hlong,
28459        Row2: *mut Hlong,
28460        Column2: *mut Hlong,
28461    ) -> Herror;
28462}
28463unsafe extern "C" {
28464    pub fn T_distance_rr_min_dil(
28465        Regions1: Hobject,
28466        Regions2: Hobject,
28467        MinDistance: *mut Htuple,
28468    ) -> Herror;
28469}
28470unsafe extern "C" {
28471    pub fn distance_rr_min_dil(
28472        Regions1: Hobject,
28473        Regions2: Hobject,
28474        MinDistance: *mut Hlong,
28475    ) -> Herror;
28476}
28477unsafe extern "C" {
28478    pub fn T_diameter_region(
28479        Regions: Hobject,
28480        Row1: *mut Htuple,
28481        Column1: *mut Htuple,
28482        Row2: *mut Htuple,
28483        Column2: *mut Htuple,
28484        Diameter: *mut Htuple,
28485    ) -> Herror;
28486}
28487unsafe extern "C" {
28488    pub fn diameter_region(
28489        Regions: Hobject,
28490        Row1: *mut Hlong,
28491        Column1: *mut Hlong,
28492        Row2: *mut Hlong,
28493        Column2: *mut Hlong,
28494        Diameter: *mut f64,
28495    ) -> Herror;
28496}
28497unsafe extern "C" {
28498    pub fn T_test_region_point(
28499        Regions: Hobject,
28500        Row: Htuple,
28501        Column: Htuple,
28502        IsInside: *mut Htuple,
28503    ) -> Herror;
28504}
28505unsafe extern "C" {
28506    pub fn test_region_point(
28507        Regions: Hobject,
28508        Row: Hlong,
28509        Column: Hlong,
28510        IsInside: *mut Hlong,
28511    ) -> Herror;
28512}
28513unsafe extern "C" {
28514    pub fn T_get_region_index(
28515        Regions: Hobject,
28516        Row: Htuple,
28517        Column: Htuple,
28518        Index: *mut Htuple,
28519    ) -> Herror;
28520}
28521unsafe extern "C" {
28522    pub fn get_region_index(
28523        Regions: Hobject,
28524        Row: Hlong,
28525        Column: Hlong,
28526        Index: *mut Hlong,
28527    ) -> Herror;
28528}
28529unsafe extern "C" {
28530    pub fn T_select_region_point(
28531        Regions: Hobject,
28532        DestRegions: *mut Hobject,
28533        Row: Htuple,
28534        Column: Htuple,
28535    ) -> Herror;
28536}
28537unsafe extern "C" {
28538    pub fn select_region_point(
28539        Regions: Hobject,
28540        DestRegions: *mut Hobject,
28541        Row: Hlong,
28542        Column: Hlong,
28543    ) -> Herror;
28544}
28545unsafe extern "C" {
28546    pub fn T_select_shape_std(
28547        Regions: Hobject,
28548        SelectedRegions: *mut Hobject,
28549        Shape: Htuple,
28550        Percent: Htuple,
28551    ) -> Herror;
28552}
28553unsafe extern "C" {
28554    pub fn select_shape_std(
28555        Regions: Hobject,
28556        SelectedRegions: *mut Hobject,
28557        Shape: *const ::std::os::raw::c_char,
28558        Percent: f64,
28559    ) -> Herror;
28560}
28561unsafe extern "C" {
28562    pub fn T_hamming_distance_norm(
28563        Regions1: Hobject,
28564        Regions2: Hobject,
28565        Norm: Htuple,
28566        Distance: *mut Htuple,
28567        Similarity: *mut Htuple,
28568    ) -> Herror;
28569}
28570unsafe extern "C" {
28571    pub fn hamming_distance_norm(
28572        Regions1: Hobject,
28573        Regions2: Hobject,
28574        Norm: *const ::std::os::raw::c_char,
28575        Distance: *mut Hlong,
28576        Similarity: *mut f64,
28577    ) -> Herror;
28578}
28579unsafe extern "C" {
28580    pub fn T_hamming_distance(
28581        Regions1: Hobject,
28582        Regions2: Hobject,
28583        Distance: *mut Htuple,
28584        Similarity: *mut Htuple,
28585    ) -> Herror;
28586}
28587unsafe extern "C" {
28588    pub fn hamming_distance(
28589        Regions1: Hobject,
28590        Regions2: Hobject,
28591        Distance: *mut Hlong,
28592        Similarity: *mut f64,
28593    ) -> Herror;
28594}
28595unsafe extern "C" {
28596    pub fn T_eccentricity(
28597        Regions: Hobject,
28598        Anisometry: *mut Htuple,
28599        Bulkiness: *mut Htuple,
28600        StructureFactor: *mut Htuple,
28601    ) -> Herror;
28602}
28603unsafe extern "C" {
28604    pub fn eccentricity(
28605        Regions: Hobject,
28606        Anisometry: *mut f64,
28607        Bulkiness: *mut f64,
28608        StructureFactor: *mut f64,
28609    ) -> Herror;
28610}
28611unsafe extern "C" {
28612    pub fn T_euler_number(Regions: Hobject, EulerNumber: *mut Htuple) -> Herror;
28613}
28614unsafe extern "C" {
28615    pub fn euler_number(Regions: Hobject, EulerNumber: *mut Hlong) -> Herror;
28616}
28617unsafe extern "C" {
28618    pub fn T_orientation_region(Regions: Hobject, Phi: *mut Htuple) -> Herror;
28619}
28620unsafe extern "C" {
28621    pub fn orientation_region(Regions: Hobject, Phi: *mut f64) -> Herror;
28622}
28623unsafe extern "C" {
28624    pub fn T_elliptic_axis(
28625        Regions: Hobject,
28626        Ra: *mut Htuple,
28627        Rb: *mut Htuple,
28628        Phi: *mut Htuple,
28629    ) -> Herror;
28630}
28631unsafe extern "C" {
28632    pub fn elliptic_axis(Regions: Hobject, Ra: *mut f64, Rb: *mut f64, Phi: *mut f64) -> Herror;
28633}
28634unsafe extern "C" {
28635    pub fn T_select_region_spatial(
28636        Regions1: Hobject,
28637        Regions2: Hobject,
28638        Direction: Htuple,
28639        RegionIndex1: *mut Htuple,
28640        RegionIndex2: *mut Htuple,
28641    ) -> Herror;
28642}
28643unsafe extern "C" {
28644    pub fn T_spatial_relation(
28645        Regions1: Hobject,
28646        Regions2: Hobject,
28647        Percent: Htuple,
28648        RegionIndex1: *mut Htuple,
28649        RegionIndex2: *mut Htuple,
28650        Relation1: *mut Htuple,
28651        Relation2: *mut Htuple,
28652    ) -> Herror;
28653}
28654unsafe extern "C" {
28655    pub fn T_convexity(Regions: Hobject, Convexity: *mut Htuple) -> Herror;
28656}
28657unsafe extern "C" {
28658    pub fn convexity(Regions: Hobject, Convexity: *mut f64) -> Herror;
28659}
28660unsafe extern "C" {
28661    pub fn T_contlength(Regions: Hobject, ContLength: *mut Htuple) -> Herror;
28662}
28663unsafe extern "C" {
28664    pub fn contlength(Regions: Hobject, ContLength: *mut f64) -> Herror;
28665}
28666unsafe extern "C" {
28667    pub fn T_connect_and_holes(
28668        Regions: Hobject,
28669        NumConnected: *mut Htuple,
28670        NumHoles: *mut Htuple,
28671    ) -> Herror;
28672}
28673unsafe extern "C" {
28674    pub fn connect_and_holes(
28675        Regions: Hobject,
28676        NumConnected: *mut Hlong,
28677        NumHoles: *mut Hlong,
28678    ) -> Herror;
28679}
28680unsafe extern "C" {
28681    pub fn T_rectangularity(Regions: Hobject, Rectangularity: *mut Htuple) -> Herror;
28682}
28683unsafe extern "C" {
28684    pub fn rectangularity(Regions: Hobject, Rectangularity: *mut f64) -> Herror;
28685}
28686unsafe extern "C" {
28687    pub fn T_compactness(Regions: Hobject, Compactness: *mut Htuple) -> Herror;
28688}
28689unsafe extern "C" {
28690    pub fn compactness(Regions: Hobject, Compactness: *mut f64) -> Herror;
28691}
28692unsafe extern "C" {
28693    pub fn T_circularity(Regions: Hobject, Circularity: *mut Htuple) -> Herror;
28694}
28695unsafe extern "C" {
28696    pub fn circularity(Regions: Hobject, Circularity: *mut f64) -> Herror;
28697}
28698unsafe extern "C" {
28699    pub fn T_area_holes(Regions: Hobject, Area: *mut Htuple) -> Herror;
28700}
28701unsafe extern "C" {
28702    pub fn area_holes(Regions: Hobject, Area: *mut Hlong) -> Herror;
28703}
28704unsafe extern "C" {
28705    pub fn T_area_center(
28706        Regions: Hobject,
28707        Area: *mut Htuple,
28708        Row: *mut Htuple,
28709        Column: *mut Htuple,
28710    ) -> Herror;
28711}
28712unsafe extern "C" {
28713    pub fn area_center(
28714        Regions: Hobject,
28715        Area: *mut Hlong,
28716        Row: *mut f64,
28717        Column: *mut f64,
28718    ) -> Herror;
28719}
28720unsafe extern "C" {
28721    pub fn T_runlength_distribution(
28722        Region: Hobject,
28723        Foreground: *mut Htuple,
28724        Background: *mut Htuple,
28725    ) -> Herror;
28726}
28727unsafe extern "C" {
28728    pub fn T_roundness(
28729        Regions: Hobject,
28730        Distance: *mut Htuple,
28731        Sigma: *mut Htuple,
28732        Roundness: *mut Htuple,
28733        Sides: *mut Htuple,
28734    ) -> Herror;
28735}
28736unsafe extern "C" {
28737    pub fn roundness(
28738        Regions: Hobject,
28739        Distance: *mut f64,
28740        Sigma: *mut f64,
28741        Roundness: *mut f64,
28742        Sides: *mut f64,
28743    ) -> Herror;
28744}
28745unsafe extern "C" {
28746    pub fn T_inner_rectangle1(
28747        Regions: Hobject,
28748        Row1: *mut Htuple,
28749        Column1: *mut Htuple,
28750        Row2: *mut Htuple,
28751        Column2: *mut Htuple,
28752    ) -> Herror;
28753}
28754unsafe extern "C" {
28755    pub fn inner_rectangle1(
28756        Regions: Hobject,
28757        Row1: *mut Hlong,
28758        Column1: *mut Hlong,
28759        Row2: *mut Hlong,
28760        Column2: *mut Hlong,
28761    ) -> Herror;
28762}
28763unsafe extern "C" {
28764    pub fn T_inner_circle(
28765        Regions: Hobject,
28766        Row: *mut Htuple,
28767        Column: *mut Htuple,
28768        Radius: *mut Htuple,
28769    ) -> Herror;
28770}
28771unsafe extern "C" {
28772    pub fn inner_circle(
28773        Regions: Hobject,
28774        Row: *mut f64,
28775        Column: *mut f64,
28776        Radius: *mut f64,
28777    ) -> Herror;
28778}
28779unsafe extern "C" {
28780    pub fn T_select_lines_longest(
28781        RowBeginIn: Htuple,
28782        ColBeginIn: Htuple,
28783        RowEndIn: Htuple,
28784        ColEndIn: Htuple,
28785        Num: Htuple,
28786        RowBeginOut: *mut Htuple,
28787        ColBeginOut: *mut Htuple,
28788        RowEndOut: *mut Htuple,
28789        ColEndOut: *mut Htuple,
28790    ) -> Herror;
28791}
28792unsafe extern "C" {
28793    pub fn T_partition_lines(
28794        RowBeginIn: Htuple,
28795        ColBeginIn: Htuple,
28796        RowEndIn: Htuple,
28797        ColEndIn: Htuple,
28798        Feature: Htuple,
28799        Operation: Htuple,
28800        Min: Htuple,
28801        Max: Htuple,
28802        RowBeginOut: *mut Htuple,
28803        ColBeginOut: *mut Htuple,
28804        RowEndOut: *mut Htuple,
28805        ColEndOut: *mut Htuple,
28806        FailRowBOut: *mut Htuple,
28807        FailColBOut: *mut Htuple,
28808        FailRowEOut: *mut Htuple,
28809        FailColEOut: *mut Htuple,
28810    ) -> Herror;
28811}
28812unsafe extern "C" {
28813    pub fn T_select_lines(
28814        RowBeginIn: Htuple,
28815        ColBeginIn: Htuple,
28816        RowEndIn: Htuple,
28817        ColEndIn: Htuple,
28818        Feature: Htuple,
28819        Operation: Htuple,
28820        Min: Htuple,
28821        Max: Htuple,
28822        RowBeginOut: *mut Htuple,
28823        ColBeginOut: *mut Htuple,
28824        RowEndOut: *mut Htuple,
28825        ColEndOut: *mut Htuple,
28826    ) -> Herror;
28827}
28828unsafe extern "C" {
28829    pub fn T_line_position(
28830        RowBegin: Htuple,
28831        ColBegin: Htuple,
28832        RowEnd: Htuple,
28833        ColEnd: Htuple,
28834        RowCenter: *mut Htuple,
28835        ColCenter: *mut Htuple,
28836        Length: *mut Htuple,
28837        Phi: *mut Htuple,
28838    ) -> Herror;
28839}
28840unsafe extern "C" {
28841    pub fn line_position(
28842        RowBegin: f64,
28843        ColBegin: f64,
28844        RowEnd: f64,
28845        ColEnd: f64,
28846        RowCenter: *mut f64,
28847        ColCenter: *mut f64,
28848        Length: *mut f64,
28849        Phi: *mut f64,
28850    ) -> Herror;
28851}
28852unsafe extern "C" {
28853    pub fn T_line_orientation(
28854        RowBegin: Htuple,
28855        ColBegin: Htuple,
28856        RowEnd: Htuple,
28857        ColEnd: Htuple,
28858        Phi: *mut Htuple,
28859    ) -> Herror;
28860}
28861unsafe extern "C" {
28862    pub fn line_orientation(
28863        RowBegin: f64,
28864        ColBegin: f64,
28865        RowEnd: f64,
28866        ColEnd: f64,
28867        Phi: *mut f64,
28868    ) -> Herror;
28869}
28870unsafe extern "C" {
28871    pub fn T_approx_chain_simple(
28872        Row: Htuple,
28873        Column: Htuple,
28874        ArcCenterRow: *mut Htuple,
28875        ArcCenterCol: *mut Htuple,
28876        ArcAngle: *mut Htuple,
28877        ArcBeginRow: *mut Htuple,
28878        ArcBeginCol: *mut Htuple,
28879        LineBeginRow: *mut Htuple,
28880        LineBeginCol: *mut Htuple,
28881        LineEndRow: *mut Htuple,
28882        LineEndCol: *mut Htuple,
28883        Order: *mut Htuple,
28884    ) -> Herror;
28885}
28886unsafe extern "C" {
28887    pub fn T_approx_chain(
28888        Row: Htuple,
28889        Column: Htuple,
28890        MinWidthCoord: Htuple,
28891        MaxWidthCoord: Htuple,
28892        ThreshStart: Htuple,
28893        ThreshEnd: Htuple,
28894        ThreshStep: Htuple,
28895        MinWidthSmooth: Htuple,
28896        MaxWidthSmooth: Htuple,
28897        MinWidthCurve: Htuple,
28898        MaxWidthCurve: Htuple,
28899        Weight1: Htuple,
28900        Weight2: Htuple,
28901        Weight3: Htuple,
28902        ArcCenterRow: *mut Htuple,
28903        ArcCenterCol: *mut Htuple,
28904        ArcAngle: *mut Htuple,
28905        ArcBeginRow: *mut Htuple,
28906        ArcBeginCol: *mut Htuple,
28907        LineBeginRow: *mut Htuple,
28908        LineBeginCol: *mut Htuple,
28909        LineEndRow: *mut Htuple,
28910        LineEndCol: *mut Htuple,
28911        Order: *mut Htuple,
28912    ) -> Herror;
28913}
28914unsafe extern "C" {
28915    pub fn T_fit_surface_first_order(
28916        Regions: Hobject,
28917        Image: Hobject,
28918        Algorithm: Htuple,
28919        Iterations: Htuple,
28920        ClippingFactor: Htuple,
28921        Alpha: *mut Htuple,
28922        Beta: *mut Htuple,
28923        Gamma: *mut Htuple,
28924    ) -> Herror;
28925}
28926unsafe extern "C" {
28927    pub fn fit_surface_first_order(
28928        Regions: Hobject,
28929        Image: Hobject,
28930        Algorithm: *const ::std::os::raw::c_char,
28931        Iterations: Hlong,
28932        ClippingFactor: f64,
28933        Alpha: *mut f64,
28934        Beta: *mut f64,
28935        Gamma: *mut f64,
28936    ) -> Herror;
28937}
28938unsafe extern "C" {
28939    pub fn T_fit_surface_second_order(
28940        Regions: Hobject,
28941        Image: Hobject,
28942        Algorithm: Htuple,
28943        Iterations: Htuple,
28944        ClippingFactor: Htuple,
28945        Alpha: *mut Htuple,
28946        Beta: *mut Htuple,
28947        Gamma: *mut Htuple,
28948        Delta: *mut Htuple,
28949        Epsilon: *mut Htuple,
28950        Zeta: *mut Htuple,
28951    ) -> Herror;
28952}
28953unsafe extern "C" {
28954    pub fn fit_surface_second_order(
28955        Regions: Hobject,
28956        Image: Hobject,
28957        Algorithm: *const ::std::os::raw::c_char,
28958        Iterations: Hlong,
28959        ClippingFactor: f64,
28960        Alpha: *mut f64,
28961        Beta: *mut f64,
28962        Gamma: *mut f64,
28963        Delta: *mut f64,
28964        Epsilon: *mut f64,
28965        Zeta: *mut f64,
28966    ) -> Herror;
28967}
28968unsafe extern "C" {
28969    pub fn T_gen_image_surface_second_order(
28970        ImageSurface: *mut Hobject,
28971        Type: Htuple,
28972        Alpha: Htuple,
28973        Beta: Htuple,
28974        Gamma: Htuple,
28975        Delta: Htuple,
28976        Epsilon: Htuple,
28977        Zeta: Htuple,
28978        Row: Htuple,
28979        Column: Htuple,
28980        Width: Htuple,
28981        Height: Htuple,
28982    ) -> Herror;
28983}
28984unsafe extern "C" {
28985    pub fn gen_image_surface_second_order(
28986        ImageSurface: *mut Hobject,
28987        Type: *const ::std::os::raw::c_char,
28988        Alpha: f64,
28989        Beta: f64,
28990        Gamma: f64,
28991        Delta: f64,
28992        Epsilon: f64,
28993        Zeta: f64,
28994        Row: f64,
28995        Column: f64,
28996        Width: Hlong,
28997        Height: Hlong,
28998    ) -> Herror;
28999}
29000unsafe extern "C" {
29001    pub fn T_gen_image_surface_first_order(
29002        ImageSurface: *mut Hobject,
29003        Type: Htuple,
29004        Alpha: Htuple,
29005        Beta: Htuple,
29006        Gamma: Htuple,
29007        Row: Htuple,
29008        Column: Htuple,
29009        Width: Htuple,
29010        Height: Htuple,
29011    ) -> Herror;
29012}
29013unsafe extern "C" {
29014    pub fn gen_image_surface_first_order(
29015        ImageSurface: *mut Hobject,
29016        Type: *const ::std::os::raw::c_char,
29017        Alpha: f64,
29018        Beta: f64,
29019        Gamma: f64,
29020        Row: f64,
29021        Column: f64,
29022        Width: Hlong,
29023        Height: Hlong,
29024    ) -> Herror;
29025}
29026unsafe extern "C" {
29027    pub fn T_shape_histo_point(
29028        Region: Hobject,
29029        Image: Hobject,
29030        Feature: Htuple,
29031        Row: Htuple,
29032        Column: Htuple,
29033        AbsoluteHisto: *mut Htuple,
29034        RelativeHisto: *mut Htuple,
29035    ) -> Herror;
29036}
29037unsafe extern "C" {
29038    pub fn T_shape_histo_all(
29039        Region: Hobject,
29040        Image: Hobject,
29041        Feature: Htuple,
29042        AbsoluteHisto: *mut Htuple,
29043        RelativeHisto: *mut Htuple,
29044    ) -> Herror;
29045}
29046unsafe extern "C" {
29047    pub fn T_gray_features(
29048        Regions: Hobject,
29049        Image: Hobject,
29050        Features: Htuple,
29051        Value: *mut Htuple,
29052    ) -> Herror;
29053}
29054unsafe extern "C" {
29055    pub fn gray_features(
29056        Regions: Hobject,
29057        Image: Hobject,
29058        Features: *const ::std::os::raw::c_char,
29059        Value: *mut f64,
29060    ) -> Herror;
29061}
29062unsafe extern "C" {
29063    pub fn T_select_gray(
29064        Regions: Hobject,
29065        Image: Hobject,
29066        SelectedRegions: *mut Hobject,
29067        Features: Htuple,
29068        Operation: Htuple,
29069        Min: Htuple,
29070        Max: Htuple,
29071    ) -> Herror;
29072}
29073unsafe extern "C" {
29074    pub fn select_gray(
29075        Regions: Hobject,
29076        Image: Hobject,
29077        SelectedRegions: *mut Hobject,
29078        Features: *const ::std::os::raw::c_char,
29079        Operation: *const ::std::os::raw::c_char,
29080        Min: f64,
29081        Max: f64,
29082    ) -> Herror;
29083}
29084unsafe extern "C" {
29085    pub fn T_min_max_gray(
29086        Regions: Hobject,
29087        Image: Hobject,
29088        Percent: Htuple,
29089        Min: *mut Htuple,
29090        Max: *mut Htuple,
29091        Range: *mut Htuple,
29092    ) -> Herror;
29093}
29094unsafe extern "C" {
29095    pub fn min_max_gray(
29096        Regions: Hobject,
29097        Image: Hobject,
29098        Percent: f64,
29099        Min: *mut f64,
29100        Max: *mut f64,
29101        Range: *mut f64,
29102    ) -> Herror;
29103}
29104unsafe extern "C" {
29105    pub fn T_intensity(
29106        Regions: Hobject,
29107        Image: Hobject,
29108        Mean: *mut Htuple,
29109        Deviation: *mut Htuple,
29110    ) -> Herror;
29111}
29112unsafe extern "C" {
29113    pub fn intensity(
29114        Regions: Hobject,
29115        Image: Hobject,
29116        Mean: *mut f64,
29117        Deviation: *mut f64,
29118    ) -> Herror;
29119}
29120unsafe extern "C" {
29121    pub fn T_gray_histo_range(
29122        Region: Hobject,
29123        Image: Hobject,
29124        Min: Htuple,
29125        Max: Htuple,
29126        NumBins: Htuple,
29127        Histo: *mut Htuple,
29128        BinSize: *mut Htuple,
29129    ) -> Herror;
29130}
29131unsafe extern "C" {
29132    pub fn gray_histo_range(
29133        Region: Hobject,
29134        Image: Hobject,
29135        Min: f64,
29136        Max: f64,
29137        NumBins: Hlong,
29138        Histo: *mut Hlong,
29139        BinSize: *mut f64,
29140    ) -> Herror;
29141}
29142unsafe extern "C" {
29143    pub fn T_histo_2dim(
29144        Regions: Hobject,
29145        ImageCol: Hobject,
29146        ImageRow: Hobject,
29147        Histo2Dim: *mut Hobject,
29148    ) -> Herror;
29149}
29150unsafe extern "C" {
29151    pub fn histo_2dim(
29152        Regions: Hobject,
29153        ImageCol: Hobject,
29154        ImageRow: Hobject,
29155        Histo2Dim: *mut Hobject,
29156    ) -> Herror;
29157}
29158unsafe extern "C" {
29159    pub fn T_gray_histo_abs(
29160        Region: Hobject,
29161        Image: Hobject,
29162        Quantization: Htuple,
29163        AbsoluteHisto: *mut Htuple,
29164    ) -> Herror;
29165}
29166unsafe extern "C" {
29167    pub fn T_gray_histo(
29168        Region: Hobject,
29169        Image: Hobject,
29170        AbsoluteHisto: *mut Htuple,
29171        RelativeHisto: *mut Htuple,
29172    ) -> Herror;
29173}
29174unsafe extern "C" {
29175    pub fn T_entropy_gray(
29176        Regions: Hobject,
29177        Image: Hobject,
29178        Entropy: *mut Htuple,
29179        Anisotropy: *mut Htuple,
29180    ) -> Herror;
29181}
29182unsafe extern "C" {
29183    pub fn entropy_gray(
29184        Regions: Hobject,
29185        Image: Hobject,
29186        Entropy: *mut f64,
29187        Anisotropy: *mut f64,
29188    ) -> Herror;
29189}
29190unsafe extern "C" {
29191    pub fn T_cooc_feature_matrix(
29192        CoocMatrix: Hobject,
29193        Energy: *mut Htuple,
29194        Correlation: *mut Htuple,
29195        Homogeneity: *mut Htuple,
29196        Contrast: *mut Htuple,
29197    ) -> Herror;
29198}
29199unsafe extern "C" {
29200    pub fn cooc_feature_matrix(
29201        CoocMatrix: Hobject,
29202        Energy: *mut f64,
29203        Correlation: *mut f64,
29204        Homogeneity: *mut f64,
29205        Contrast: *mut f64,
29206    ) -> Herror;
29207}
29208unsafe extern "C" {
29209    pub fn T_cooc_feature_image(
29210        Regions: Hobject,
29211        Image: Hobject,
29212        LdGray: Htuple,
29213        Direction: Htuple,
29214        Energy: *mut Htuple,
29215        Correlation: *mut Htuple,
29216        Homogeneity: *mut Htuple,
29217        Contrast: *mut Htuple,
29218    ) -> Herror;
29219}
29220unsafe extern "C" {
29221    pub fn cooc_feature_image(
29222        Regions: Hobject,
29223        Image: Hobject,
29224        LdGray: Hlong,
29225        Direction: Hlong,
29226        Energy: *mut f64,
29227        Correlation: *mut f64,
29228        Homogeneity: *mut f64,
29229        Contrast: *mut f64,
29230    ) -> Herror;
29231}
29232unsafe extern "C" {
29233    pub fn T_gen_cooc_matrix(
29234        Regions: Hobject,
29235        Image: Hobject,
29236        Matrix: *mut Hobject,
29237        LdGray: Htuple,
29238        Direction: Htuple,
29239    ) -> Herror;
29240}
29241unsafe extern "C" {
29242    pub fn gen_cooc_matrix(
29243        Regions: Hobject,
29244        Image: Hobject,
29245        Matrix: *mut Hobject,
29246        LdGray: Hlong,
29247        Direction: Hlong,
29248    ) -> Herror;
29249}
29250unsafe extern "C" {
29251    pub fn T_moments_gray_plane(
29252        Regions: Hobject,
29253        Image: Hobject,
29254        MRow: *mut Htuple,
29255        MCol: *mut Htuple,
29256        Alpha: *mut Htuple,
29257        Beta: *mut Htuple,
29258        Mean: *mut Htuple,
29259    ) -> Herror;
29260}
29261unsafe extern "C" {
29262    pub fn moments_gray_plane(
29263        Regions: Hobject,
29264        Image: Hobject,
29265        MRow: *mut f64,
29266        MCol: *mut f64,
29267        Alpha: *mut f64,
29268        Beta: *mut f64,
29269        Mean: *mut f64,
29270    ) -> Herror;
29271}
29272unsafe extern "C" {
29273    pub fn T_plane_deviation(Regions: Hobject, Image: Hobject, Deviation: *mut Htuple) -> Herror;
29274}
29275unsafe extern "C" {
29276    pub fn plane_deviation(Regions: Hobject, Image: Hobject, Deviation: *mut f64) -> Herror;
29277}
29278unsafe extern "C" {
29279    pub fn T_elliptic_axis_gray(
29280        Regions: Hobject,
29281        Image: Hobject,
29282        Ra: *mut Htuple,
29283        Rb: *mut Htuple,
29284        Phi: *mut Htuple,
29285    ) -> Herror;
29286}
29287unsafe extern "C" {
29288    pub fn elliptic_axis_gray(
29289        Regions: Hobject,
29290        Image: Hobject,
29291        Ra: *mut f64,
29292        Rb: *mut f64,
29293        Phi: *mut f64,
29294    ) -> Herror;
29295}
29296unsafe extern "C" {
29297    pub fn T_area_center_gray(
29298        Regions: Hobject,
29299        Image: Hobject,
29300        Area: *mut Htuple,
29301        Row: *mut Htuple,
29302        Column: *mut Htuple,
29303    ) -> Herror;
29304}
29305unsafe extern "C" {
29306    pub fn area_center_gray(
29307        Regions: Hobject,
29308        Image: Hobject,
29309        Area: *mut f64,
29310        Row: *mut f64,
29311        Column: *mut f64,
29312    ) -> Herror;
29313}
29314unsafe extern "C" {
29315    pub fn T_gray_projections(
29316        Region: Hobject,
29317        Image: Hobject,
29318        Mode: Htuple,
29319        HorProjection: *mut Htuple,
29320        VertProjection: *mut Htuple,
29321    ) -> Herror;
29322}
29323unsafe extern "C" {
29324    pub fn T_get_data_code_2d_objects(
29325        DataCodeObjects: *mut Hobject,
29326        DataCodeHandle: Htuple,
29327        CandidateHandle: Htuple,
29328        ObjectName: Htuple,
29329    ) -> Herror;
29330}
29331unsafe extern "C" {
29332    pub fn get_data_code_2d_objects(
29333        DataCodeObjects: *mut Hobject,
29334        DataCodeHandle: Hlong,
29335        CandidateHandle: Hlong,
29336        ObjectName: *const ::std::os::raw::c_char,
29337    ) -> Herror;
29338}
29339unsafe extern "C" {
29340    pub fn T_get_data_code_2d_results(
29341        DataCodeHandle: Htuple,
29342        CandidateHandle: Htuple,
29343        ResultNames: Htuple,
29344        ResultValues: *mut Htuple,
29345    ) -> Herror;
29346}
29347unsafe extern "C" {
29348    pub fn get_data_code_2d_results(
29349        DataCodeHandle: Hlong,
29350        CandidateHandle: *const ::std::os::raw::c_char,
29351        ResultNames: *const ::std::os::raw::c_char,
29352        ResultValues: *mut ::std::os::raw::c_char,
29353    ) -> Herror;
29354}
29355unsafe extern "C" {
29356    pub fn T_find_data_code_2d(
29357        Image: Hobject,
29358        SymbolXLDs: *mut Hobject,
29359        DataCodeHandle: Htuple,
29360        GenParamName: Htuple,
29361        GenParamValue: Htuple,
29362        ResultHandles: *mut Htuple,
29363        DecodedDataStrings: *mut Htuple,
29364    ) -> Herror;
29365}
29366unsafe extern "C" {
29367    pub fn find_data_code_2d(
29368        Image: Hobject,
29369        SymbolXLDs: *mut Hobject,
29370        DataCodeHandle: Hlong,
29371        GenParamName: *const ::std::os::raw::c_char,
29372        GenParamValue: Hlong,
29373        ResultHandles: *mut Hlong,
29374        DecodedDataStrings: *mut ::std::os::raw::c_char,
29375    ) -> Herror;
29376}
29377unsafe extern "C" {
29378    pub fn T_set_data_code_2d_param(
29379        DataCodeHandle: Htuple,
29380        GenParamName: Htuple,
29381        GenParamValue: Htuple,
29382    ) -> Herror;
29383}
29384unsafe extern "C" {
29385    pub fn set_data_code_2d_param(
29386        DataCodeHandle: Hlong,
29387        GenParamName: *const ::std::os::raw::c_char,
29388        GenParamValue: *const ::std::os::raw::c_char,
29389    ) -> Herror;
29390}
29391unsafe extern "C" {
29392    pub fn T_get_data_code_2d_param(
29393        DataCodeHandle: Htuple,
29394        GenParamName: Htuple,
29395        GenParamValue: *mut Htuple,
29396    ) -> Herror;
29397}
29398unsafe extern "C" {
29399    pub fn get_data_code_2d_param(
29400        DataCodeHandle: Hlong,
29401        GenParamName: *const ::std::os::raw::c_char,
29402        GenParamValue: *mut ::std::os::raw::c_char,
29403    ) -> Herror;
29404}
29405unsafe extern "C" {
29406    pub fn T_query_data_code_2d_params(
29407        DataCodeHandle: Htuple,
29408        QueryName: Htuple,
29409        GenParamName: *mut Htuple,
29410    ) -> Herror;
29411}
29412unsafe extern "C" {
29413    pub fn T_deserialize_data_code_2d_model(
29414        SerializedItemHandle: Htuple,
29415        DataCodeHandle: *mut Htuple,
29416    ) -> Herror;
29417}
29418unsafe extern "C" {
29419    pub fn deserialize_data_code_2d_model(
29420        SerializedItemHandle: Hlong,
29421        DataCodeHandle: *mut Hlong,
29422    ) -> Herror;
29423}
29424unsafe extern "C" {
29425    pub fn T_serialize_data_code_2d_model(
29426        DataCodeHandle: Htuple,
29427        SerializedItemHandle: *mut Htuple,
29428    ) -> Herror;
29429}
29430unsafe extern "C" {
29431    pub fn serialize_data_code_2d_model(
29432        DataCodeHandle: Hlong,
29433        SerializedItemHandle: *mut Hlong,
29434    ) -> Herror;
29435}
29436unsafe extern "C" {
29437    pub fn T_read_data_code_2d_model(FileName: Htuple, DataCodeHandle: *mut Htuple) -> Herror;
29438}
29439unsafe extern "C" {
29440    pub fn read_data_code_2d_model(
29441        FileName: *const ::std::os::raw::c_char,
29442        DataCodeHandle: *mut Hlong,
29443    ) -> Herror;
29444}
29445unsafe extern "C" {
29446    pub fn T_write_data_code_2d_model(DataCodeHandle: Htuple, FileName: Htuple) -> Herror;
29447}
29448unsafe extern "C" {
29449    pub fn write_data_code_2d_model(
29450        DataCodeHandle: Hlong,
29451        FileName: *const ::std::os::raw::c_char,
29452    ) -> Herror;
29453}
29454unsafe extern "C" {
29455    pub fn T_clear_all_data_code_2d_models() -> Herror;
29456}
29457unsafe extern "C" {
29458    pub fn clear_all_data_code_2d_models() -> Herror;
29459}
29460unsafe extern "C" {
29461    pub fn T_clear_data_code_2d_model(DataCodeHandle: Htuple) -> Herror;
29462}
29463unsafe extern "C" {
29464    pub fn clear_data_code_2d_model(DataCodeHandle: Hlong) -> Herror;
29465}
29466unsafe extern "C" {
29467    pub fn T_create_data_code_2d_model(
29468        SymbolType: Htuple,
29469        GenParamName: Htuple,
29470        GenParamValue: Htuple,
29471        DataCodeHandle: *mut Htuple,
29472    ) -> Herror;
29473}
29474unsafe extern "C" {
29475    pub fn create_data_code_2d_model(
29476        SymbolType: *const ::std::os::raw::c_char,
29477        GenParamName: *const ::std::os::raw::c_char,
29478        GenParamValue: *const ::std::os::raw::c_char,
29479        DataCodeHandle: *mut Hlong,
29480    ) -> Herror;
29481}
29482unsafe extern "C" {
29483    pub fn T_deserialize_class_train_data(
29484        SerializedItemHandle: Htuple,
29485        ClassTrainDataHandle: *mut Htuple,
29486    ) -> Herror;
29487}
29488unsafe extern "C" {
29489    pub fn deserialize_class_train_data(
29490        SerializedItemHandle: Hlong,
29491        ClassTrainDataHandle: *mut Hlong,
29492    ) -> Herror;
29493}
29494unsafe extern "C" {
29495    pub fn T_serialize_class_train_data(
29496        ClassTrainDataHandle: Htuple,
29497        SerializedItemHandle: *mut Htuple,
29498    ) -> Herror;
29499}
29500unsafe extern "C" {
29501    pub fn serialize_class_train_data(
29502        ClassTrainDataHandle: Hlong,
29503        SerializedItemHandle: *mut Hlong,
29504    ) -> Herror;
29505}
29506unsafe extern "C" {
29507    pub fn T_read_class_train_data(FileName: Htuple, ClassTrainDataHandle: *mut Htuple) -> Herror;
29508}
29509unsafe extern "C" {
29510    pub fn read_class_train_data(
29511        FileName: *const ::std::os::raw::c_char,
29512        ClassTrainDataHandle: *mut Hlong,
29513    ) -> Herror;
29514}
29515unsafe extern "C" {
29516    pub fn T_write_class_train_data(ClassTrainDataHandle: Htuple, FileName: Htuple) -> Herror;
29517}
29518unsafe extern "C" {
29519    pub fn write_class_train_data(
29520        ClassTrainDataHandle: Hlong,
29521        FileName: *const ::std::os::raw::c_char,
29522    ) -> Herror;
29523}
29524unsafe extern "C" {
29525    pub fn T_select_sub_feature_class_train_data(
29526        ClassTrainDataHandle: Htuple,
29527        SubFeatureIndices: Htuple,
29528        SelectedClassTrainDataHandle: *mut Htuple,
29529    ) -> Herror;
29530}
29531unsafe extern "C" {
29532    pub fn T_set_feature_lengths_class_train_data(
29533        ClassTrainDataHandle: Htuple,
29534        SubFeatureLength: Htuple,
29535        Names: Htuple,
29536    ) -> Herror;
29537}
29538unsafe extern "C" {
29539    pub fn T_get_class_train_data_gmm(
29540        GMMHandle: Htuple,
29541        ClassTrainDataHandle: *mut Htuple,
29542    ) -> Herror;
29543}
29544unsafe extern "C" {
29545    pub fn get_class_train_data_gmm(GMMHandle: Hlong, ClassTrainDataHandle: *mut Hlong) -> Herror;
29546}
29547unsafe extern "C" {
29548    pub fn T_add_class_train_data_gmm(GMMHandle: Htuple, ClassTrainDataHandle: Htuple) -> Herror;
29549}
29550unsafe extern "C" {
29551    pub fn add_class_train_data_gmm(GMMHandle: Hlong, ClassTrainDataHandle: Hlong) -> Herror;
29552}
29553unsafe extern "C" {
29554    pub fn T_get_class_train_data_mlp(
29555        MLPHandle: Htuple,
29556        ClassTrainDataHandle: *mut Htuple,
29557    ) -> Herror;
29558}
29559unsafe extern "C" {
29560    pub fn get_class_train_data_mlp(MLPHandle: Hlong, ClassTrainDataHandle: *mut Hlong) -> Herror;
29561}
29562unsafe extern "C" {
29563    pub fn T_add_class_train_data_mlp(MLPHandle: Htuple, ClassTrainDataHandle: Htuple) -> Herror;
29564}
29565unsafe extern "C" {
29566    pub fn add_class_train_data_mlp(MLPHandle: Hlong, ClassTrainDataHandle: Hlong) -> Herror;
29567}
29568unsafe extern "C" {
29569    pub fn T_get_class_train_data_knn(
29570        KNNHandle: Htuple,
29571        ClassTrainDataHandle: *mut Htuple,
29572    ) -> Herror;
29573}
29574unsafe extern "C" {
29575    pub fn get_class_train_data_knn(KNNHandle: Hlong, ClassTrainDataHandle: *mut Hlong) -> Herror;
29576}
29577unsafe extern "C" {
29578    pub fn T_add_class_train_data_knn(KNNHandle: Htuple, ClassTrainDataHandle: Htuple) -> Herror;
29579}
29580unsafe extern "C" {
29581    pub fn add_class_train_data_knn(KNNHandle: Hlong, ClassTrainDataHandle: Hlong) -> Herror;
29582}
29583unsafe extern "C" {
29584    pub fn T_get_class_train_data_svm(
29585        SVMHandle: Htuple,
29586        ClassTrainDataHandle: *mut Htuple,
29587    ) -> Herror;
29588}
29589unsafe extern "C" {
29590    pub fn get_class_train_data_svm(SVMHandle: Hlong, ClassTrainDataHandle: *mut Hlong) -> Herror;
29591}
29592unsafe extern "C" {
29593    pub fn T_add_class_train_data_svm(SVMHandle: Htuple, ClassTrainDataHandle: Htuple) -> Herror;
29594}
29595unsafe extern "C" {
29596    pub fn add_class_train_data_svm(SVMHandle: Hlong, ClassTrainDataHandle: Hlong) -> Herror;
29597}
29598unsafe extern "C" {
29599    pub fn T_get_sample_num_class_train_data(
29600        ClassTrainDataHandle: Htuple,
29601        NumSamples: *mut Htuple,
29602    ) -> Herror;
29603}
29604unsafe extern "C" {
29605    pub fn get_sample_num_class_train_data(
29606        ClassTrainDataHandle: Hlong,
29607        NumSamples: *mut Hlong,
29608    ) -> Herror;
29609}
29610unsafe extern "C" {
29611    pub fn T_get_sample_class_train_data(
29612        ClassTrainDataHandle: Htuple,
29613        IndexSample: Htuple,
29614        Features: *mut Htuple,
29615        ClassID: *mut Htuple,
29616    ) -> Herror;
29617}
29618unsafe extern "C" {
29619    pub fn T_clear_all_class_train_data() -> Herror;
29620}
29621unsafe extern "C" {
29622    pub fn clear_all_class_train_data() -> Herror;
29623}
29624unsafe extern "C" {
29625    pub fn T_clear_class_train_data(ClassTrainDataHandle: Htuple) -> Herror;
29626}
29627unsafe extern "C" {
29628    pub fn clear_class_train_data(ClassTrainDataHandle: Hlong) -> Herror;
29629}
29630unsafe extern "C" {
29631    pub fn T_add_sample_class_train_data(
29632        ClassTrainDataHandle: Htuple,
29633        Order: Htuple,
29634        Features: Htuple,
29635        ClassID: Htuple,
29636    ) -> Herror;
29637}
29638unsafe extern "C" {
29639    pub fn T_create_class_train_data(NumDim: Htuple, ClassTrainDataHandle: *mut Htuple) -> Herror;
29640}
29641unsafe extern "C" {
29642    pub fn create_class_train_data(NumDim: Hlong, ClassTrainDataHandle: *mut Hlong) -> Herror;
29643}
29644unsafe extern "C" {
29645    pub fn T_select_feature_set_mlp(
29646        ClassTrainDataHandle: Htuple,
29647        SelectionMethod: Htuple,
29648        GenParamName: Htuple,
29649        GenParamValue: Htuple,
29650        MLPHandle: *mut Htuple,
29651        SelectedFeatureIndices: *mut Htuple,
29652        Score: *mut Htuple,
29653    ) -> Herror;
29654}
29655unsafe extern "C" {
29656    pub fn T_select_feature_set_svm(
29657        ClassTrainDataHandle: Htuple,
29658        SelectionMethod: Htuple,
29659        GenParamName: Htuple,
29660        GenParamValue: Htuple,
29661        SVMHandle: *mut Htuple,
29662        SelectedFeatureIndices: *mut Htuple,
29663        Score: *mut Htuple,
29664    ) -> Herror;
29665}
29666unsafe extern "C" {
29667    pub fn T_select_feature_set_gmm(
29668        ClassTrainDataHandle: Htuple,
29669        SelectionMethod: Htuple,
29670        GenParamName: Htuple,
29671        GenParamValue: Htuple,
29672        GMMHandle: *mut Htuple,
29673        SelectedFeatureIndices: *mut Htuple,
29674        Score: *mut Htuple,
29675    ) -> Herror;
29676}
29677unsafe extern "C" {
29678    pub fn T_select_feature_set_knn(
29679        ClassTrainDataHandle: Htuple,
29680        SelectionMethod: Htuple,
29681        GenParamName: Htuple,
29682        GenParamValue: Htuple,
29683        KNNHandle: *mut Htuple,
29684        SelectedFeatureIndices: *mut Htuple,
29685        Score: *mut Htuple,
29686    ) -> Herror;
29687}
29688unsafe extern "C" {
29689    pub fn T_clear_all_class_knn() -> Herror;
29690}
29691unsafe extern "C" {
29692    pub fn clear_all_class_knn() -> Herror;
29693}
29694unsafe extern "C" {
29695    pub fn T_clear_class_knn(KNNHandle: Htuple) -> Herror;
29696}
29697unsafe extern "C" {
29698    pub fn clear_class_knn(KNNHandle: Hlong) -> Herror;
29699}
29700unsafe extern "C" {
29701    pub fn T_get_sample_num_class_knn(KNNHandle: Htuple, NumSamples: *mut Htuple) -> Herror;
29702}
29703unsafe extern "C" {
29704    pub fn get_sample_num_class_knn(KNNHandle: Hlong, NumSamples: *mut Hlong) -> Herror;
29705}
29706unsafe extern "C" {
29707    pub fn T_get_sample_class_knn(
29708        KNNHandle: Htuple,
29709        IndexSample: Htuple,
29710        Features: *mut Htuple,
29711        ClassID: *mut Htuple,
29712    ) -> Herror;
29713}
29714unsafe extern "C" {
29715    pub fn T_deserialize_class_knn(SerializedItemHandle: Htuple, KNNHandle: *mut Htuple) -> Herror;
29716}
29717unsafe extern "C" {
29718    pub fn deserialize_class_knn(SerializedItemHandle: Hlong, KNNHandle: *mut Hlong) -> Herror;
29719}
29720unsafe extern "C" {
29721    pub fn T_serialize_class_knn(KNNHandle: Htuple, SerializedItemHandle: *mut Htuple) -> Herror;
29722}
29723unsafe extern "C" {
29724    pub fn serialize_class_knn(KNNHandle: Hlong, SerializedItemHandle: *mut Hlong) -> Herror;
29725}
29726unsafe extern "C" {
29727    pub fn T_read_class_knn(FileName: Htuple, KNNHandle: *mut Htuple) -> Herror;
29728}
29729unsafe extern "C" {
29730    pub fn read_class_knn(FileName: *const ::std::os::raw::c_char, KNNHandle: *mut Hlong)
29731    -> Herror;
29732}
29733unsafe extern "C" {
29734    pub fn T_write_class_knn(KNNHandle: Htuple, FileName: Htuple) -> Herror;
29735}
29736unsafe extern "C" {
29737    pub fn write_class_knn(KNNHandle: Hlong, FileName: *const ::std::os::raw::c_char) -> Herror;
29738}
29739unsafe extern "C" {
29740    pub fn T_get_params_class_knn(
29741        KNNHandle: Htuple,
29742        GenParamName: Htuple,
29743        GenParamValue: *mut Htuple,
29744    ) -> Herror;
29745}
29746unsafe extern "C" {
29747    pub fn T_set_params_class_knn(
29748        KNNHandle: Htuple,
29749        GenParamName: Htuple,
29750        GenParamValue: Htuple,
29751    ) -> Herror;
29752}
29753unsafe extern "C" {
29754    pub fn T_classify_class_knn(
29755        KNNHandle: Htuple,
29756        Features: Htuple,
29757        Result: *mut Htuple,
29758        Rating: *mut Htuple,
29759    ) -> Herror;
29760}
29761unsafe extern "C" {
29762    pub fn T_train_class_knn(
29763        KNNHandle: Htuple,
29764        GenParamName: Htuple,
29765        GenParamValue: Htuple,
29766    ) -> Herror;
29767}
29768unsafe extern "C" {
29769    pub fn T_add_sample_class_knn(KNNHandle: Htuple, Features: Htuple, ClassID: Htuple) -> Herror;
29770}
29771unsafe extern "C" {
29772    pub fn add_sample_class_knn(KNNHandle: Hlong, Features: f64, ClassID: Hlong) -> Herror;
29773}
29774unsafe extern "C" {
29775    pub fn T_create_class_knn(NumDim: Htuple, KNNHandle: *mut Htuple) -> Herror;
29776}
29777unsafe extern "C" {
29778    pub fn T_clear_all_class_lut() -> Herror;
29779}
29780unsafe extern "C" {
29781    pub fn clear_all_class_lut() -> Herror;
29782}
29783unsafe extern "C" {
29784    pub fn T_clear_class_lut(ClassLUTHandle: Htuple) -> Herror;
29785}
29786unsafe extern "C" {
29787    pub fn clear_class_lut(ClassLUTHandle: Hlong) -> Herror;
29788}
29789unsafe extern "C" {
29790    pub fn T_create_class_lut_knn(
29791        KNNHandle: Htuple,
29792        GenParamName: Htuple,
29793        GenParamValue: Htuple,
29794        ClassLUTHandle: *mut Htuple,
29795    ) -> Herror;
29796}
29797unsafe extern "C" {
29798    pub fn T_create_class_lut_gmm(
29799        GMMHandle: Htuple,
29800        GenParamName: Htuple,
29801        GenParamValue: Htuple,
29802        ClassLUTHandle: *mut Htuple,
29803    ) -> Herror;
29804}
29805unsafe extern "C" {
29806    pub fn T_create_class_lut_svm(
29807        SVMHandle: Htuple,
29808        GenParamName: Htuple,
29809        GenParamValue: Htuple,
29810        ClassLUTHandle: *mut Htuple,
29811    ) -> Herror;
29812}
29813unsafe extern "C" {
29814    pub fn T_create_class_lut_mlp(
29815        MLPHandle: Htuple,
29816        GenParamName: Htuple,
29817        GenParamValue: Htuple,
29818        ClassLUTHandle: *mut Htuple,
29819    ) -> Herror;
29820}
29821unsafe extern "C" {
29822    pub fn T_clear_all_class_gmm() -> Herror;
29823}
29824unsafe extern "C" {
29825    pub fn clear_all_class_gmm() -> Herror;
29826}
29827unsafe extern "C" {
29828    pub fn T_clear_class_gmm(GMMHandle: Htuple) -> Herror;
29829}
29830unsafe extern "C" {
29831    pub fn clear_class_gmm(GMMHandle: Hlong) -> Herror;
29832}
29833unsafe extern "C" {
29834    pub fn T_clear_samples_class_gmm(GMMHandle: Htuple) -> Herror;
29835}
29836unsafe extern "C" {
29837    pub fn clear_samples_class_gmm(GMMHandle: Hlong) -> Herror;
29838}
29839unsafe extern "C" {
29840    pub fn T_deserialize_class_gmm(SerializedItemHandle: Htuple, GMMHandle: *mut Htuple) -> Herror;
29841}
29842unsafe extern "C" {
29843    pub fn deserialize_class_gmm(SerializedItemHandle: Hlong, GMMHandle: *mut Hlong) -> Herror;
29844}
29845unsafe extern "C" {
29846    pub fn T_serialize_class_gmm(GMMHandle: Htuple, SerializedItemHandle: *mut Htuple) -> Herror;
29847}
29848unsafe extern "C" {
29849    pub fn serialize_class_gmm(GMMHandle: Hlong, SerializedItemHandle: *mut Hlong) -> Herror;
29850}
29851unsafe extern "C" {
29852    pub fn T_read_class_gmm(FileName: Htuple, GMMHandle: *mut Htuple) -> Herror;
29853}
29854unsafe extern "C" {
29855    pub fn read_class_gmm(FileName: *const ::std::os::raw::c_char, GMMHandle: *mut Hlong)
29856    -> Herror;
29857}
29858unsafe extern "C" {
29859    pub fn T_write_class_gmm(GMMHandle: Htuple, FileName: Htuple) -> Herror;
29860}
29861unsafe extern "C" {
29862    pub fn write_class_gmm(GMMHandle: Hlong, FileName: *const ::std::os::raw::c_char) -> Herror;
29863}
29864unsafe extern "C" {
29865    pub fn T_read_samples_class_gmm(GMMHandle: Htuple, FileName: Htuple) -> Herror;
29866}
29867unsafe extern "C" {
29868    pub fn read_samples_class_gmm(
29869        GMMHandle: Hlong,
29870        FileName: *const ::std::os::raw::c_char,
29871    ) -> Herror;
29872}
29873unsafe extern "C" {
29874    pub fn T_write_samples_class_gmm(GMMHandle: Htuple, FileName: Htuple) -> Herror;
29875}
29876unsafe extern "C" {
29877    pub fn write_samples_class_gmm(
29878        GMMHandle: Hlong,
29879        FileName: *const ::std::os::raw::c_char,
29880    ) -> Herror;
29881}
29882unsafe extern "C" {
29883    pub fn T_classify_class_gmm(
29884        GMMHandle: Htuple,
29885        Features: Htuple,
29886        Num: Htuple,
29887        ClassID: *mut Htuple,
29888        ClassProb: *mut Htuple,
29889        Density: *mut Htuple,
29890        KSigmaProb: *mut Htuple,
29891    ) -> Herror;
29892}
29893unsafe extern "C" {
29894    pub fn T_evaluate_class_gmm(
29895        GMMHandle: Htuple,
29896        Features: Htuple,
29897        ClassProb: *mut Htuple,
29898        Density: *mut Htuple,
29899        KSigmaProb: *mut Htuple,
29900    ) -> Herror;
29901}
29902unsafe extern "C" {
29903    pub fn T_train_class_gmm(
29904        GMMHandle: Htuple,
29905        MaxIter: Htuple,
29906        Threshold: Htuple,
29907        ClassPriors: Htuple,
29908        Regularize: Htuple,
29909        Centers: *mut Htuple,
29910        Iter: *mut Htuple,
29911    ) -> Herror;
29912}
29913unsafe extern "C" {
29914    pub fn T_get_prep_info_class_gmm(
29915        GMMHandle: Htuple,
29916        Preprocessing: Htuple,
29917        InformationCont: *mut Htuple,
29918        CumInformationCont: *mut Htuple,
29919    ) -> Herror;
29920}
29921unsafe extern "C" {
29922    pub fn T_get_sample_num_class_gmm(GMMHandle: Htuple, NumSamples: *mut Htuple) -> Herror;
29923}
29924unsafe extern "C" {
29925    pub fn get_sample_num_class_gmm(GMMHandle: Hlong, NumSamples: *mut Hlong) -> Herror;
29926}
29927unsafe extern "C" {
29928    pub fn T_get_sample_class_gmm(
29929        GMMHandle: Htuple,
29930        NumSample: Htuple,
29931        Features: *mut Htuple,
29932        ClassID: *mut Htuple,
29933    ) -> Herror;
29934}
29935unsafe extern "C" {
29936    pub fn T_add_sample_class_gmm(
29937        GMMHandle: Htuple,
29938        Features: Htuple,
29939        ClassID: Htuple,
29940        Randomize: Htuple,
29941    ) -> Herror;
29942}
29943unsafe extern "C" {
29944    pub fn T_get_params_class_gmm(
29945        GMMHandle: Htuple,
29946        NumDim: *mut Htuple,
29947        NumClasses: *mut Htuple,
29948        MinCenters: *mut Htuple,
29949        MaxCenters: *mut Htuple,
29950        CovarType: *mut Htuple,
29951    ) -> Herror;
29952}
29953unsafe extern "C" {
29954    pub fn T_create_class_gmm(
29955        NumDim: Htuple,
29956        NumClasses: Htuple,
29957        NumCenters: Htuple,
29958        CovarType: Htuple,
29959        Preprocessing: Htuple,
29960        NumComponents: Htuple,
29961        RandSeed: Htuple,
29962        GMMHandle: *mut Htuple,
29963    ) -> Herror;
29964}
29965unsafe extern "C" {
29966    pub fn create_class_gmm(
29967        NumDim: Hlong,
29968        NumClasses: Hlong,
29969        NumCenters: Hlong,
29970        CovarType: *const ::std::os::raw::c_char,
29971        Preprocessing: *const ::std::os::raw::c_char,
29972        NumComponents: Hlong,
29973        RandSeed: Hlong,
29974        GMMHandle: *mut Hlong,
29975    ) -> Herror;
29976}
29977unsafe extern "C" {
29978    pub fn T_clear_all_class_svm() -> Herror;
29979}
29980unsafe extern "C" {
29981    pub fn clear_all_class_svm() -> Herror;
29982}
29983unsafe extern "C" {
29984    pub fn T_clear_class_svm(SVMHandle: Htuple) -> Herror;
29985}
29986unsafe extern "C" {
29987    pub fn clear_class_svm(SVMHandle: Hlong) -> Herror;
29988}
29989unsafe extern "C" {
29990    pub fn T_clear_samples_class_svm(SVMHandle: Htuple) -> Herror;
29991}
29992unsafe extern "C" {
29993    pub fn clear_samples_class_svm(SVMHandle: Hlong) -> Herror;
29994}
29995unsafe extern "C" {
29996    pub fn T_deserialize_class_svm(SerializedItemHandle: Htuple, SVMHandle: *mut Htuple) -> Herror;
29997}
29998unsafe extern "C" {
29999    pub fn deserialize_class_svm(SerializedItemHandle: Hlong, SVMHandle: *mut Hlong) -> Herror;
30000}
30001unsafe extern "C" {
30002    pub fn T_serialize_class_svm(SVMHandle: Htuple, SerializedItemHandle: *mut Htuple) -> Herror;
30003}
30004unsafe extern "C" {
30005    pub fn serialize_class_svm(SVMHandle: Hlong, SerializedItemHandle: *mut Hlong) -> Herror;
30006}
30007unsafe extern "C" {
30008    pub fn T_read_class_svm(FileName: Htuple, SVMHandle: *mut Htuple) -> Herror;
30009}
30010unsafe extern "C" {
30011    pub fn read_class_svm(FileName: *const ::std::os::raw::c_char, SVMHandle: *mut Hlong)
30012    -> Herror;
30013}
30014unsafe extern "C" {
30015    pub fn T_write_class_svm(SVMHandle: Htuple, FileName: Htuple) -> Herror;
30016}
30017unsafe extern "C" {
30018    pub fn write_class_svm(SVMHandle: Hlong, FileName: *const ::std::os::raw::c_char) -> Herror;
30019}
30020unsafe extern "C" {
30021    pub fn T_read_samples_class_svm(SVMHandle: Htuple, FileName: Htuple) -> Herror;
30022}
30023unsafe extern "C" {
30024    pub fn read_samples_class_svm(
30025        SVMHandle: Hlong,
30026        FileName: *const ::std::os::raw::c_char,
30027    ) -> Herror;
30028}
30029unsafe extern "C" {
30030    pub fn T_write_samples_class_svm(SVMHandle: Htuple, FileName: Htuple) -> Herror;
30031}
30032unsafe extern "C" {
30033    pub fn write_samples_class_svm(
30034        SVMHandle: Hlong,
30035        FileName: *const ::std::os::raw::c_char,
30036    ) -> Herror;
30037}
30038unsafe extern "C" {
30039    pub fn T_evaluate_class_svm(SVMHandle: Htuple, Features: Htuple, Result: *mut Htuple)
30040    -> Herror;
30041}
30042unsafe extern "C" {
30043    pub fn T_classify_class_svm(
30044        SVMHandle: Htuple,
30045        Features: Htuple,
30046        Num: Htuple,
30047        Class: *mut Htuple,
30048    ) -> Herror;
30049}
30050unsafe extern "C" {
30051    pub fn T_reduce_class_svm(
30052        SVMHandle: Htuple,
30053        Method: Htuple,
30054        MinRemainingSV: Htuple,
30055        MaxError: Htuple,
30056        SVMHandleReduced: *mut Htuple,
30057    ) -> Herror;
30058}
30059unsafe extern "C" {
30060    pub fn reduce_class_svm(
30061        SVMHandle: Hlong,
30062        Method: *const ::std::os::raw::c_char,
30063        MinRemainingSV: Hlong,
30064        MaxError: f64,
30065        SVMHandleReduced: *mut Hlong,
30066    ) -> Herror;
30067}
30068unsafe extern "C" {
30069    pub fn T_train_class_svm(SVMHandle: Htuple, Epsilon: Htuple, TrainMode: Htuple) -> Herror;
30070}
30071unsafe extern "C" {
30072    pub fn train_class_svm(
30073        SVMHandle: Hlong,
30074        Epsilon: f64,
30075        TrainMode: *const ::std::os::raw::c_char,
30076    ) -> Herror;
30077}
30078unsafe extern "C" {
30079    pub fn T_get_prep_info_class_svm(
30080        SVMHandle: Htuple,
30081        Preprocessing: Htuple,
30082        InformationCont: *mut Htuple,
30083        CumInformationCont: *mut Htuple,
30084    ) -> Herror;
30085}
30086unsafe extern "C" {
30087    pub fn T_get_support_vector_num_class_svm(
30088        SVMHandle: Htuple,
30089        NumSupportVectors: *mut Htuple,
30090        NumSVPerSVM: *mut Htuple,
30091    ) -> Herror;
30092}
30093unsafe extern "C" {
30094    pub fn T_get_support_vector_class_svm(
30095        SVMHandle: Htuple,
30096        IndexSupportVector: Htuple,
30097        Index: *mut Htuple,
30098    ) -> Herror;
30099}
30100unsafe extern "C" {
30101    pub fn get_support_vector_class_svm(
30102        SVMHandle: Hlong,
30103        IndexSupportVector: Hlong,
30104        Index: *mut f64,
30105    ) -> Herror;
30106}
30107unsafe extern "C" {
30108    pub fn T_get_sample_num_class_svm(SVMHandle: Htuple, NumSamples: *mut Htuple) -> Herror;
30109}
30110unsafe extern "C" {
30111    pub fn get_sample_num_class_svm(SVMHandle: Hlong, NumSamples: *mut Hlong) -> Herror;
30112}
30113unsafe extern "C" {
30114    pub fn T_get_sample_class_svm(
30115        SVMHandle: Htuple,
30116        IndexSample: Htuple,
30117        Features: *mut Htuple,
30118        Target: *mut Htuple,
30119    ) -> Herror;
30120}
30121unsafe extern "C" {
30122    pub fn T_add_sample_class_svm(SVMHandle: Htuple, Features: Htuple, Class: Htuple) -> Herror;
30123}
30124unsafe extern "C" {
30125    pub fn T_get_params_class_svm(
30126        SVMHandle: Htuple,
30127        NumFeatures: *mut Htuple,
30128        KernelType: *mut Htuple,
30129        KernelParam: *mut Htuple,
30130        Nu: *mut Htuple,
30131        NumClasses: *mut Htuple,
30132        Mode: *mut Htuple,
30133        Preprocessing: *mut Htuple,
30134        NumComponents: *mut Htuple,
30135    ) -> Herror;
30136}
30137unsafe extern "C" {
30138    pub fn get_params_class_svm(
30139        SVMHandle: Hlong,
30140        NumFeatures: *mut Hlong,
30141        KernelType: *mut ::std::os::raw::c_char,
30142        KernelParam: *mut f64,
30143        Nu: *mut f64,
30144        NumClasses: *mut Hlong,
30145        Mode: *mut ::std::os::raw::c_char,
30146        Preprocessing: *mut ::std::os::raw::c_char,
30147        NumComponents: *mut Hlong,
30148    ) -> Herror;
30149}
30150unsafe extern "C" {
30151    pub fn T_create_class_svm(
30152        NumFeatures: Htuple,
30153        KernelType: Htuple,
30154        KernelParam: Htuple,
30155        Nu: Htuple,
30156        NumClasses: Htuple,
30157        Mode: Htuple,
30158        Preprocessing: Htuple,
30159        NumComponents: Htuple,
30160        SVMHandle: *mut Htuple,
30161    ) -> Herror;
30162}
30163unsafe extern "C" {
30164    pub fn create_class_svm(
30165        NumFeatures: Hlong,
30166        KernelType: *const ::std::os::raw::c_char,
30167        KernelParam: f64,
30168        Nu: f64,
30169        NumClasses: Hlong,
30170        Mode: *const ::std::os::raw::c_char,
30171        Preprocessing: *const ::std::os::raw::c_char,
30172        NumComponents: Hlong,
30173        SVMHandle: *mut Hlong,
30174    ) -> Herror;
30175}
30176unsafe extern "C" {
30177    pub fn T_clear_all_class_mlp() -> Herror;
30178}
30179unsafe extern "C" {
30180    pub fn clear_all_class_mlp() -> Herror;
30181}
30182unsafe extern "C" {
30183    pub fn T_clear_class_mlp(MLPHandle: Htuple) -> Herror;
30184}
30185unsafe extern "C" {
30186    pub fn clear_class_mlp(MLPHandle: Hlong) -> Herror;
30187}
30188unsafe extern "C" {
30189    pub fn T_clear_samples_class_mlp(MLPHandle: Htuple) -> Herror;
30190}
30191unsafe extern "C" {
30192    pub fn clear_samples_class_mlp(MLPHandle: Hlong) -> Herror;
30193}
30194unsafe extern "C" {
30195    pub fn T_deserialize_class_mlp(SerializedItemHandle: Htuple, MLPHandle: *mut Htuple) -> Herror;
30196}
30197unsafe extern "C" {
30198    pub fn deserialize_class_mlp(SerializedItemHandle: Hlong, MLPHandle: *mut Hlong) -> Herror;
30199}
30200unsafe extern "C" {
30201    pub fn T_serialize_class_mlp(MLPHandle: Htuple, SerializedItemHandle: *mut Htuple) -> Herror;
30202}
30203unsafe extern "C" {
30204    pub fn serialize_class_mlp(MLPHandle: Hlong, SerializedItemHandle: *mut Hlong) -> Herror;
30205}
30206unsafe extern "C" {
30207    pub fn T_read_class_mlp(FileName: Htuple, MLPHandle: *mut Htuple) -> Herror;
30208}
30209unsafe extern "C" {
30210    pub fn read_class_mlp(FileName: *const ::std::os::raw::c_char, MLPHandle: *mut Hlong)
30211    -> Herror;
30212}
30213unsafe extern "C" {
30214    pub fn T_write_class_mlp(MLPHandle: Htuple, FileName: Htuple) -> Herror;
30215}
30216unsafe extern "C" {
30217    pub fn write_class_mlp(MLPHandle: Hlong, FileName: *const ::std::os::raw::c_char) -> Herror;
30218}
30219unsafe extern "C" {
30220    pub fn T_read_samples_class_mlp(MLPHandle: Htuple, FileName: Htuple) -> Herror;
30221}
30222unsafe extern "C" {
30223    pub fn read_samples_class_mlp(
30224        MLPHandle: Hlong,
30225        FileName: *const ::std::os::raw::c_char,
30226    ) -> Herror;
30227}
30228unsafe extern "C" {
30229    pub fn T_write_samples_class_mlp(MLPHandle: Htuple, FileName: Htuple) -> Herror;
30230}
30231unsafe extern "C" {
30232    pub fn write_samples_class_mlp(
30233        MLPHandle: Hlong,
30234        FileName: *const ::std::os::raw::c_char,
30235    ) -> Herror;
30236}
30237unsafe extern "C" {
30238    pub fn T_classify_class_mlp(
30239        MLPHandle: Htuple,
30240        Features: Htuple,
30241        Num: Htuple,
30242        Class: *mut Htuple,
30243        Confidence: *mut Htuple,
30244    ) -> Herror;
30245}
30246unsafe extern "C" {
30247    pub fn T_evaluate_class_mlp(MLPHandle: Htuple, Features: Htuple, Result: *mut Htuple)
30248    -> Herror;
30249}
30250unsafe extern "C" {
30251    pub fn T_train_class_mlp(
30252        MLPHandle: Htuple,
30253        MaxIterations: Htuple,
30254        WeightTolerance: Htuple,
30255        ErrorTolerance: Htuple,
30256        Error: *mut Htuple,
30257        ErrorLog: *mut Htuple,
30258    ) -> Herror;
30259}
30260unsafe extern "C" {
30261    pub fn T_get_prep_info_class_mlp(
30262        MLPHandle: Htuple,
30263        Preprocessing: Htuple,
30264        InformationCont: *mut Htuple,
30265        CumInformationCont: *mut Htuple,
30266    ) -> Herror;
30267}
30268unsafe extern "C" {
30269    pub fn T_get_sample_num_class_mlp(MLPHandle: Htuple, NumSamples: *mut Htuple) -> Herror;
30270}
30271unsafe extern "C" {
30272    pub fn get_sample_num_class_mlp(MLPHandle: Hlong, NumSamples: *mut Hlong) -> Herror;
30273}
30274unsafe extern "C" {
30275    pub fn T_get_sample_class_mlp(
30276        MLPHandle: Htuple,
30277        IndexSample: Htuple,
30278        Features: *mut Htuple,
30279        Target: *mut Htuple,
30280    ) -> Herror;
30281}
30282unsafe extern "C" {
30283    pub fn T_get_rejection_params_class_mlp(
30284        MLPHandle: Htuple,
30285        GenParamName: Htuple,
30286        GenParamValue: *mut Htuple,
30287    ) -> Herror;
30288}
30289unsafe extern "C" {
30290    pub fn get_rejection_params_class_mlp(
30291        MLPHandle: Hlong,
30292        GenParamName: *const ::std::os::raw::c_char,
30293        GenParamValue: *mut ::std::os::raw::c_char,
30294    ) -> Herror;
30295}
30296unsafe extern "C" {
30297    pub fn T_set_rejection_params_class_mlp(
30298        MLPHandle: Htuple,
30299        GenParamName: Htuple,
30300        GenParamValue: Htuple,
30301    ) -> Herror;
30302}
30303unsafe extern "C" {
30304    pub fn set_rejection_params_class_mlp(
30305        MLPHandle: Hlong,
30306        GenParamName: *const ::std::os::raw::c_char,
30307        GenParamValue: *const ::std::os::raw::c_char,
30308    ) -> Herror;
30309}
30310unsafe extern "C" {
30311    pub fn T_add_sample_class_mlp(MLPHandle: Htuple, Features: Htuple, Target: Htuple) -> Herror;
30312}
30313unsafe extern "C" {
30314    pub fn T_get_regularization_params_class_mlp(
30315        MLPHandle: Htuple,
30316        GenParamName: Htuple,
30317        GenParamValue: *mut Htuple,
30318    ) -> Herror;
30319}
30320unsafe extern "C" {
30321    pub fn get_regularization_params_class_mlp(
30322        MLPHandle: Hlong,
30323        GenParamName: *const ::std::os::raw::c_char,
30324        GenParamValue: *mut f64,
30325    ) -> Herror;
30326}
30327unsafe extern "C" {
30328    pub fn T_set_regularization_params_class_mlp(
30329        MLPHandle: Htuple,
30330        GenParamName: Htuple,
30331        GenParamValue: Htuple,
30332    ) -> Herror;
30333}
30334unsafe extern "C" {
30335    pub fn set_regularization_params_class_mlp(
30336        MLPHandle: Hlong,
30337        GenParamName: *const ::std::os::raw::c_char,
30338        GenParamValue: f64,
30339    ) -> Herror;
30340}
30341unsafe extern "C" {
30342    pub fn T_get_params_class_mlp(
30343        MLPHandle: Htuple,
30344        NumInput: *mut Htuple,
30345        NumHidden: *mut Htuple,
30346        NumOutput: *mut Htuple,
30347        OutputFunction: *mut Htuple,
30348        Preprocessing: *mut Htuple,
30349        NumComponents: *mut Htuple,
30350    ) -> Herror;
30351}
30352unsafe extern "C" {
30353    pub fn get_params_class_mlp(
30354        MLPHandle: Hlong,
30355        NumInput: *mut Hlong,
30356        NumHidden: *mut Hlong,
30357        NumOutput: *mut Hlong,
30358        OutputFunction: *mut ::std::os::raw::c_char,
30359        Preprocessing: *mut ::std::os::raw::c_char,
30360        NumComponents: *mut Hlong,
30361    ) -> Herror;
30362}
30363unsafe extern "C" {
30364    pub fn T_create_class_mlp(
30365        NumInput: Htuple,
30366        NumHidden: Htuple,
30367        NumOutput: Htuple,
30368        OutputFunction: Htuple,
30369        Preprocessing: Htuple,
30370        NumComponents: Htuple,
30371        RandSeed: Htuple,
30372        MLPHandle: *mut Htuple,
30373    ) -> Herror;
30374}
30375unsafe extern "C" {
30376    pub fn create_class_mlp(
30377        NumInput: Hlong,
30378        NumHidden: Hlong,
30379        NumOutput: Hlong,
30380        OutputFunction: *const ::std::os::raw::c_char,
30381        Preprocessing: *const ::std::os::raw::c_char,
30382        NumComponents: Hlong,
30383        RandSeed: Hlong,
30384        MLPHandle: *mut Hlong,
30385    ) -> Herror;
30386}
30387unsafe extern "C" {
30388    pub fn T_deserialize_class_box(ClassifHandle: Htuple, SerializedItemHandle: Htuple) -> Herror;
30389}
30390unsafe extern "C" {
30391    pub fn deserialize_class_box(ClassifHandle: Hlong, SerializedItemHandle: Hlong) -> Herror;
30392}
30393unsafe extern "C" {
30394    pub fn T_serialize_class_box(
30395        ClassifHandle: Htuple,
30396        SerializedItemHandle: *mut Htuple,
30397    ) -> Herror;
30398}
30399unsafe extern "C" {
30400    pub fn serialize_class_box(ClassifHandle: Hlong, SerializedItemHandle: *mut Hlong) -> Herror;
30401}
30402unsafe extern "C" {
30403    pub fn T_write_class_box(ClassifHandle: Htuple, FileName: Htuple) -> Herror;
30404}
30405unsafe extern "C" {
30406    pub fn write_class_box(ClassifHandle: Hlong, FileName: *const ::std::os::raw::c_char)
30407    -> Herror;
30408}
30409unsafe extern "C" {
30410    pub fn T_set_class_box_param(ClassifHandle: Htuple, Flag: Htuple, Value: Htuple) -> Herror;
30411}
30412unsafe extern "C" {
30413    pub fn set_class_box_param(
30414        ClassifHandle: Hlong,
30415        Flag: *const ::std::os::raw::c_char,
30416        Value: f64,
30417    ) -> Herror;
30418}
30419unsafe extern "C" {
30420    pub fn T_read_sampset(FileName: Htuple, SampKey: *mut Htuple) -> Herror;
30421}
30422unsafe extern "C" {
30423    pub fn read_sampset(FileName: *const ::std::os::raw::c_char, SampKey: *mut Hlong) -> Herror;
30424}
30425unsafe extern "C" {
30426    pub fn T_read_class_box(ClassifHandle: Htuple, FileName: Htuple) -> Herror;
30427}
30428unsafe extern "C" {
30429    pub fn read_class_box(ClassifHandle: Hlong, FileName: *const ::std::os::raw::c_char) -> Herror;
30430}
30431unsafe extern "C" {
30432    pub fn T_learn_sampset_box(
30433        ClassifHandle: Htuple,
30434        SampKey: Htuple,
30435        Outfile: Htuple,
30436        NSamples: Htuple,
30437        StopError: Htuple,
30438        ErrorN: Htuple,
30439    ) -> Herror;
30440}
30441unsafe extern "C" {
30442    pub fn learn_sampset_box(
30443        ClassifHandle: Hlong,
30444        SampKey: Hlong,
30445        Outfile: *const ::std::os::raw::c_char,
30446        NSamples: Hlong,
30447        StopError: f64,
30448        ErrorN: Hlong,
30449    ) -> Herror;
30450}
30451unsafe extern "C" {
30452    pub fn T_learn_class_box(ClassifHandle: Htuple, Features: Htuple, Class: Htuple) -> Herror;
30453}
30454unsafe extern "C" {
30455    pub fn T_get_class_box_param(ClassifHandle: Htuple, Flag: Htuple, Value: *mut Htuple)
30456    -> Herror;
30457}
30458unsafe extern "C" {
30459    pub fn get_class_box_param(
30460        ClassifHandle: Hlong,
30461        Flag: *const ::std::os::raw::c_char,
30462        Value: *mut f64,
30463    ) -> Herror;
30464}
30465unsafe extern "C" {
30466    pub fn T_clear_sampset(SampKey: Htuple) -> Herror;
30467}
30468unsafe extern "C" {
30469    pub fn clear_sampset(SampKey: Hlong) -> Herror;
30470}
30471unsafe extern "C" {
30472    pub fn T_close_class_box(ClassifHandle: Htuple) -> Herror;
30473}
30474unsafe extern "C" {
30475    pub fn close_class_box(ClassifHandle: Hlong) -> Herror;
30476}
30477unsafe extern "C" {
30478    pub fn T_create_class_box(ClassifHandle: *mut Htuple) -> Herror;
30479}
30480unsafe extern "C" {
30481    pub fn create_class_box(ClassifHandle: *mut Hlong) -> Herror;
30482}
30483unsafe extern "C" {
30484    pub fn T_descript_class_box(
30485        ClassifHandle: Htuple,
30486        Dimensions: Htuple,
30487        ClassIdx: *mut Htuple,
30488        BoxIdx: *mut Htuple,
30489        BoxLowerBound: *mut Htuple,
30490        BoxHigherBound: *mut Htuple,
30491        BoxNumSamplesTrain: *mut Htuple,
30492        BoxNumSamplesWrong: *mut Htuple,
30493    ) -> Herror;
30494}
30495unsafe extern "C" {
30496    pub fn descript_class_box(
30497        ClassifHandle: Hlong,
30498        Dimensions: Hlong,
30499        ClassIdx: *mut Hlong,
30500        BoxIdx: *mut Hlong,
30501        BoxLowerBound: *mut Hlong,
30502        BoxHigherBound: *mut Hlong,
30503        BoxNumSamplesTrain: *mut Hlong,
30504        BoxNumSamplesWrong: *mut Hlong,
30505    ) -> Herror;
30506}
30507unsafe extern "C" {
30508    pub fn T_test_sampset_box(ClassifHandle: Htuple, SampKey: Htuple, Error: *mut Htuple)
30509    -> Herror;
30510}
30511unsafe extern "C" {
30512    pub fn test_sampset_box(ClassifHandle: Hlong, SampKey: Hlong, Error: *mut f64) -> Herror;
30513}
30514unsafe extern "C" {
30515    pub fn T_enquire_reject_class_box(
30516        ClassifHandle: Htuple,
30517        FeatureList: Htuple,
30518        Class: *mut Htuple,
30519    ) -> Herror;
30520}
30521unsafe extern "C" {
30522    pub fn T_enquire_class_box(
30523        ClassifHandle: Htuple,
30524        FeatureList: Htuple,
30525        Class: *mut Htuple,
30526    ) -> Herror;
30527}
30528unsafe extern "C" {
30529    pub fn T_close_all_class_box() -> Herror;
30530}
30531unsafe extern "C" {
30532    pub fn close_all_class_box() -> Herror;
30533}
30534unsafe extern "C" {
30535    pub fn T_convert_map_type(
30536        Map: Hobject,
30537        MapConverted: *mut Hobject,
30538        NewType: Htuple,
30539        ImageWidth: Htuple,
30540    ) -> Herror;
30541}
30542unsafe extern "C" {
30543    pub fn convert_map_type(
30544        Map: Hobject,
30545        MapConverted: *mut Hobject,
30546        NewType: *const ::std::os::raw::c_char,
30547        ImageWidth: Hlong,
30548    ) -> Herror;
30549}
30550unsafe extern "C" {
30551    pub fn T_vector_to_pose(
30552        WorldX: Htuple,
30553        WorldY: Htuple,
30554        WorldZ: Htuple,
30555        ImageRow: Htuple,
30556        ImageColumn: Htuple,
30557        CameraParam: Htuple,
30558        Method: Htuple,
30559        QualityType: Htuple,
30560        Pose: *mut Htuple,
30561        Quality: *mut Htuple,
30562    ) -> Herror;
30563}
30564unsafe extern "C" {
30565    pub fn T_proj_hom_mat2d_to_pose(
30566        Homography: Htuple,
30567        CameraMatrix: Htuple,
30568        Method: Htuple,
30569        Pose: *mut Htuple,
30570    ) -> Herror;
30571}
30572unsafe extern "C" {
30573    pub fn T_radial_distortion_self_calibration(
30574        Contours: Hobject,
30575        SelectedContours: *mut Hobject,
30576        Width: Htuple,
30577        Height: Htuple,
30578        InlierThreshold: Htuple,
30579        RandSeed: Htuple,
30580        DistortionModel: Htuple,
30581        DistortionCenter: Htuple,
30582        PrincipalPointVar: Htuple,
30583        CameraParam: *mut Htuple,
30584    ) -> Herror;
30585}
30586unsafe extern "C" {
30587    pub fn T_cam_par_to_cam_mat(
30588        CameraParam: Htuple,
30589        CameraMatrix: *mut Htuple,
30590        ImageWidth: *mut Htuple,
30591        ImageHeight: *mut Htuple,
30592    ) -> Herror;
30593}
30594unsafe extern "C" {
30595    pub fn T_cam_mat_to_cam_par(
30596        CameraMatrix: Htuple,
30597        Kappa: Htuple,
30598        ImageWidth: Htuple,
30599        ImageHeight: Htuple,
30600        CameraParam: *mut Htuple,
30601    ) -> Herror;
30602}
30603unsafe extern "C" {
30604    pub fn T_stationary_camera_self_calibration(
30605        NumImages: Htuple,
30606        ImageWidth: Htuple,
30607        ImageHeight: Htuple,
30608        ReferenceImage: Htuple,
30609        MappingSource: Htuple,
30610        MappingDest: Htuple,
30611        HomMatrices2D: Htuple,
30612        Rows1: Htuple,
30613        Cols1: Htuple,
30614        Rows2: Htuple,
30615        Cols2: Htuple,
30616        NumCorrespondences: Htuple,
30617        EstimationMethod: Htuple,
30618        CameraModel: Htuple,
30619        FixedCameraParams: Htuple,
30620        CameraMatrices: *mut Htuple,
30621        Kappa: *mut Htuple,
30622        RotationMatrices: *mut Htuple,
30623        X: *mut Htuple,
30624        Y: *mut Htuple,
30625        Z: *mut Htuple,
30626        Error: *mut Htuple,
30627    ) -> Herror;
30628}
30629unsafe extern "C" {
30630    pub fn T_get_rectangle_pose(
30631        Contour: Hobject,
30632        CameraParam: Htuple,
30633        Width: Htuple,
30634        Height: Htuple,
30635        WeightingMode: Htuple,
30636        ClippingFactor: Htuple,
30637        Pose: *mut Htuple,
30638        CovPose: *mut Htuple,
30639        Error: *mut Htuple,
30640    ) -> Herror;
30641}
30642unsafe extern "C" {
30643    pub fn T_get_circle_pose(
30644        Contour: Hobject,
30645        CameraParam: Htuple,
30646        Radius: Htuple,
30647        OutputType: Htuple,
30648        Pose1: *mut Htuple,
30649        Pose2: *mut Htuple,
30650    ) -> Herror;
30651}
30652unsafe extern "C" {
30653    pub fn T_radiometric_self_calibration(
30654        Images: Hobject,
30655        ExposureRatios: Htuple,
30656        Features: Htuple,
30657        FunctionType: Htuple,
30658        Smoothness: Htuple,
30659        PolynomialDegree: Htuple,
30660        InverseResponse: *mut Htuple,
30661    ) -> Herror;
30662}
30663unsafe extern "C" {
30664    pub fn T_map_image(Image: Hobject, Map: Hobject, ImageMapped: *mut Hobject) -> Herror;
30665}
30666unsafe extern "C" {
30667    pub fn map_image(Image: Hobject, Map: Hobject, ImageMapped: *mut Hobject) -> Herror;
30668}
30669unsafe extern "C" {
30670    pub fn T_gen_radial_distortion_map(
30671        Map: *mut Hobject,
30672        CamParamIn: Htuple,
30673        CamParamOut: Htuple,
30674        MapType: Htuple,
30675    ) -> Herror;
30676}
30677unsafe extern "C" {
30678    pub fn T_gen_image_to_world_plane_map(
30679        Map: *mut Hobject,
30680        CameraParam: Htuple,
30681        WorldPose: Htuple,
30682        WidthIn: Htuple,
30683        HeightIn: Htuple,
30684        WidthMapped: Htuple,
30685        HeightMapped: Htuple,
30686        Scale: Htuple,
30687        MapType: Htuple,
30688    ) -> Herror;
30689}
30690unsafe extern "C" {
30691    pub fn T_image_to_world_plane(
30692        Image: Hobject,
30693        ImageWorld: *mut Hobject,
30694        CameraParam: Htuple,
30695        WorldPose: Htuple,
30696        Width: Htuple,
30697        Height: Htuple,
30698        Scale: Htuple,
30699        Interpolation: Htuple,
30700    ) -> Herror;
30701}
30702unsafe extern "C" {
30703    pub fn T_contour_to_world_plane_xld(
30704        Contours: Hobject,
30705        ContoursTrans: *mut Hobject,
30706        CameraParam: Htuple,
30707        WorldPose: Htuple,
30708        Scale: Htuple,
30709    ) -> Herror;
30710}
30711unsafe extern "C" {
30712    pub fn T_image_points_to_world_plane(
30713        CameraParam: Htuple,
30714        WorldPose: Htuple,
30715        Rows: Htuple,
30716        Cols: Htuple,
30717        Scale: Htuple,
30718        X: *mut Htuple,
30719        Y: *mut Htuple,
30720    ) -> Herror;
30721}
30722unsafe extern "C" {
30723    pub fn T_set_origin_pose(
30724        PoseIn: Htuple,
30725        DX: Htuple,
30726        DY: Htuple,
30727        DZ: Htuple,
30728        PoseNewOrigin: *mut Htuple,
30729    ) -> Herror;
30730}
30731unsafe extern "C" {
30732    pub fn T_hand_eye_calibration(
30733        X: Htuple,
30734        Y: Htuple,
30735        Z: Htuple,
30736        Row: Htuple,
30737        Col: Htuple,
30738        NumPoints: Htuple,
30739        RobotPoses: Htuple,
30740        CameraParam: Htuple,
30741        Method: Htuple,
30742        QualityType: Htuple,
30743        CameraPose: *mut Htuple,
30744        CalibrationPose: *mut Htuple,
30745        Quality: *mut Htuple,
30746    ) -> Herror;
30747}
30748unsafe extern "C" {
30749    pub fn T_get_pose_type(
30750        Pose: Htuple,
30751        OrderOfTransform: *mut Htuple,
30752        OrderOfRotation: *mut Htuple,
30753        ViewOfTransform: *mut Htuple,
30754    ) -> Herror;
30755}
30756unsafe extern "C" {
30757    pub fn T_convert_pose_type(
30758        PoseIn: Htuple,
30759        OrderOfTransform: Htuple,
30760        OrderOfRotation: Htuple,
30761        ViewOfTransform: Htuple,
30762        PoseOut: *mut Htuple,
30763    ) -> Herror;
30764}
30765unsafe extern "C" {
30766    pub fn T_create_pose(
30767        TransX: Htuple,
30768        TransY: Htuple,
30769        TransZ: Htuple,
30770        RotX: Htuple,
30771        RotY: Htuple,
30772        RotZ: Htuple,
30773        OrderOfTransform: Htuple,
30774        OrderOfRotation: Htuple,
30775        ViewOfTransform: Htuple,
30776        Pose: *mut Htuple,
30777    ) -> Herror;
30778}
30779unsafe extern "C" {
30780    pub fn T_change_radial_distortion_contours_xld(
30781        Contours: Hobject,
30782        ContoursRectified: *mut Hobject,
30783        CamParamIn: Htuple,
30784        CamParamOut: Htuple,
30785    ) -> Herror;
30786}
30787unsafe extern "C" {
30788    pub fn T_change_radial_distortion_points(
30789        Row: Htuple,
30790        Col: Htuple,
30791        CamParamIn: Htuple,
30792        CamParamOut: Htuple,
30793        RowChanged: *mut Htuple,
30794        ColChanged: *mut Htuple,
30795    ) -> Herror;
30796}
30797unsafe extern "C" {
30798    pub fn T_change_radial_distortion_image(
30799        Image: Hobject,
30800        Region: Hobject,
30801        ImageRectified: *mut Hobject,
30802        CamParamIn: Htuple,
30803        CamParamOut: Htuple,
30804    ) -> Herror;
30805}
30806unsafe extern "C" {
30807    pub fn T_change_radial_distortion_cam_par(
30808        Mode: Htuple,
30809        CamParamIn: Htuple,
30810        DistortionCoeffs: Htuple,
30811        CamParamOut: *mut Htuple,
30812    ) -> Herror;
30813}
30814unsafe extern "C" {
30815    pub fn T_gen_caltab(
30816        XNum: Htuple,
30817        YNum: Htuple,
30818        MarkDist: Htuple,
30819        DiameterRatio: Htuple,
30820        CalPlateDescr: Htuple,
30821        CalPlatePSFile: Htuple,
30822    ) -> Herror;
30823}
30824unsafe extern "C" {
30825    pub fn gen_caltab(
30826        XNum: Hlong,
30827        YNum: Hlong,
30828        MarkDist: f64,
30829        DiameterRatio: f64,
30830        CalPlateDescr: *const ::std::os::raw::c_char,
30831        CalPlatePSFile: *const ::std::os::raw::c_char,
30832    ) -> Herror;
30833}
30834unsafe extern "C" {
30835    pub fn T_create_caltab(
30836        NumRows: Htuple,
30837        MarksPerRow: Htuple,
30838        Diameter: Htuple,
30839        FinderRow: Htuple,
30840        FinderColumn: Htuple,
30841        Polarity: Htuple,
30842        CalPlateDescr: Htuple,
30843        CalPlatePSFile: Htuple,
30844    ) -> Herror;
30845}
30846unsafe extern "C" {
30847    pub fn create_caltab(
30848        NumRows: Hlong,
30849        MarksPerRow: Hlong,
30850        Diameter: f64,
30851        FinderRow: Hlong,
30852        FinderColumn: Hlong,
30853        Polarity: *const ::std::os::raw::c_char,
30854        CalPlateDescr: *const ::std::os::raw::c_char,
30855        CalPlatePSFile: *const ::std::os::raw::c_char,
30856    ) -> Herror;
30857}
30858unsafe extern "C" {
30859    pub fn T_caltab_points(
30860        CalPlateDescr: Htuple,
30861        X: *mut Htuple,
30862        Y: *mut Htuple,
30863        Z: *mut Htuple,
30864    ) -> Herror;
30865}
30866unsafe extern "C" {
30867    pub fn T_get_line_of_sight(
30868        Row: Htuple,
30869        Column: Htuple,
30870        CameraParam: Htuple,
30871        PX: *mut Htuple,
30872        PY: *mut Htuple,
30873        PZ: *mut Htuple,
30874        QX: *mut Htuple,
30875        QY: *mut Htuple,
30876        QZ: *mut Htuple,
30877    ) -> Herror;
30878}
30879unsafe extern "C" {
30880    pub fn T_project_hom_point_hom_mat3d(
30881        HomMat3D: Htuple,
30882        Px: Htuple,
30883        Py: Htuple,
30884        Pz: Htuple,
30885        Pw: Htuple,
30886        Qx: *mut Htuple,
30887        Qy: *mut Htuple,
30888        Qw: *mut Htuple,
30889    ) -> Herror;
30890}
30891unsafe extern "C" {
30892    pub fn T_project_point_hom_mat3d(
30893        HomMat3D: Htuple,
30894        Px: Htuple,
30895        Py: Htuple,
30896        Pz: Htuple,
30897        Qx: *mut Htuple,
30898        Qy: *mut Htuple,
30899    ) -> Herror;
30900}
30901unsafe extern "C" {
30902    pub fn T_project_3d_point(
30903        X: Htuple,
30904        Y: Htuple,
30905        Z: Htuple,
30906        CameraParam: Htuple,
30907        Row: *mut Htuple,
30908        Column: *mut Htuple,
30909    ) -> Herror;
30910}
30911unsafe extern "C" {
30912    pub fn T_cam_par_pose_to_hom_mat3d(
30913        CameraParam: Htuple,
30914        Pose: Htuple,
30915        HomMat3D: *mut Htuple,
30916    ) -> Herror;
30917}
30918unsafe extern "C" {
30919    pub fn T_hom_mat3d_to_pose(HomMat3D: Htuple, Pose: *mut Htuple) -> Herror;
30920}
30921unsafe extern "C" {
30922    pub fn T_pose_to_hom_mat3d(Pose: Htuple, HomMat3D: *mut Htuple) -> Herror;
30923}
30924unsafe extern "C" {
30925    pub fn T_deserialize_cam_par(SerializedItemHandle: Htuple, CameraParam: *mut Htuple) -> Herror;
30926}
30927unsafe extern "C" {
30928    pub fn T_serialize_cam_par(CameraParam: Htuple, SerializedItemHandle: *mut Htuple) -> Herror;
30929}
30930unsafe extern "C" {
30931    pub fn T_deserialize_pose(SerializedItemHandle: Htuple, Pose: *mut Htuple) -> Herror;
30932}
30933unsafe extern "C" {
30934    pub fn T_serialize_pose(Pose: Htuple, SerializedItemHandle: *mut Htuple) -> Herror;
30935}
30936unsafe extern "C" {
30937    pub fn T_read_pose(PoseFile: Htuple, Pose: *mut Htuple) -> Herror;
30938}
30939unsafe extern "C" {
30940    pub fn T_write_pose(Pose: Htuple, PoseFile: Htuple) -> Herror;
30941}
30942unsafe extern "C" {
30943    pub fn T_read_cam_par(CamParFile: Htuple, CameraParam: *mut Htuple) -> Herror;
30944}
30945unsafe extern "C" {
30946    pub fn T_write_cam_par(CameraParam: Htuple, CamParFile: Htuple) -> Herror;
30947}
30948unsafe extern "C" {
30949    pub fn T_sim_caltab(
30950        SimImage: *mut Hobject,
30951        CalPlateDescr: Htuple,
30952        CameraParam: Htuple,
30953        CalPlatePose: Htuple,
30954        GrayBackground: Htuple,
30955        GrayPlate: Htuple,
30956        GrayMarks: Htuple,
30957        ScaleFac: Htuple,
30958    ) -> Herror;
30959}
30960unsafe extern "C" {
30961    pub fn T_disp_caltab(
30962        WindowHandle: Htuple,
30963        CalPlateDescr: Htuple,
30964        CameraParam: Htuple,
30965        CalPlatePose: Htuple,
30966        ScaleFac: Htuple,
30967    ) -> Herror;
30968}
30969unsafe extern "C" {
30970    pub fn T_camera_calibration(
30971        NX: Htuple,
30972        NY: Htuple,
30973        NZ: Htuple,
30974        NRow: Htuple,
30975        NCol: Htuple,
30976        StartCamParam: Htuple,
30977        NStartPose: Htuple,
30978        EstimateParams: Htuple,
30979        CameraParam: *mut Htuple,
30980        NFinalPose: *mut Htuple,
30981        Errors: *mut Htuple,
30982    ) -> Herror;
30983}
30984unsafe extern "C" {
30985    pub fn T_find_marks_and_pose(
30986        Image: Hobject,
30987        CalPlateRegion: Hobject,
30988        CalPlateDescr: Htuple,
30989        StartCamParam: Htuple,
30990        StartThresh: Htuple,
30991        DeltaThresh: Htuple,
30992        MinThresh: Htuple,
30993        Alpha: Htuple,
30994        MinContLength: Htuple,
30995        MaxDiamMarks: Htuple,
30996        RCoord: *mut Htuple,
30997        CCoord: *mut Htuple,
30998        StartPose: *mut Htuple,
30999    ) -> Herror;
31000}
31001unsafe extern "C" {
31002    pub fn T_find_caltab(
31003        Image: Hobject,
31004        CalPlate: *mut Hobject,
31005        CalPlateDescr: Htuple,
31006        SizeGauss: Htuple,
31007        MarkThresh: Htuple,
31008        MinDiamMarks: Htuple,
31009    ) -> Herror;
31010}
31011unsafe extern "C" {
31012    pub fn find_caltab(
31013        Image: Hobject,
31014        CalPlate: *mut Hobject,
31015        CalPlateDescr: *const ::std::os::raw::c_char,
31016        SizeGauss: Hlong,
31017        MarkThresh: Hlong,
31018        MinDiamMarks: Hlong,
31019    ) -> Herror;
31020}
31021unsafe extern "C" {
31022    pub fn T_clear_all_camera_setup_models() -> Herror;
31023}
31024unsafe extern "C" {
31025    pub fn clear_all_camera_setup_models() -> Herror;
31026}
31027unsafe extern "C" {
31028    pub fn T_clear_camera_setup_model(CameraSetupModelID: Htuple) -> Herror;
31029}
31030unsafe extern "C" {
31031    pub fn clear_camera_setup_model(CameraSetupModelID: Hlong) -> Herror;
31032}
31033unsafe extern "C" {
31034    pub fn T_serialize_camera_setup_model(
31035        CameraSetupModelID: Htuple,
31036        SerializedItemHandle: *mut Htuple,
31037    ) -> Herror;
31038}
31039unsafe extern "C" {
31040    pub fn serialize_camera_setup_model(
31041        CameraSetupModelID: Hlong,
31042        SerializedItemHandle: *mut Hlong,
31043    ) -> Herror;
31044}
31045unsafe extern "C" {
31046    pub fn T_deserialize_camera_setup_model(
31047        SerializedItemHandle: Htuple,
31048        CameraSetupModelID: *mut Htuple,
31049    ) -> Herror;
31050}
31051unsafe extern "C" {
31052    pub fn deserialize_camera_setup_model(
31053        SerializedItemHandle: Hlong,
31054        CameraSetupModelID: *mut Hlong,
31055    ) -> Herror;
31056}
31057unsafe extern "C" {
31058    pub fn T_write_camera_setup_model(CameraSetupModelID: Htuple, FileName: Htuple) -> Herror;
31059}
31060unsafe extern "C" {
31061    pub fn write_camera_setup_model(
31062        CameraSetupModelID: Hlong,
31063        FileName: *const ::std::os::raw::c_char,
31064    ) -> Herror;
31065}
31066unsafe extern "C" {
31067    pub fn T_read_camera_setup_model(FileName: Htuple, CameraSetupModelID: *mut Htuple) -> Herror;
31068}
31069unsafe extern "C" {
31070    pub fn read_camera_setup_model(
31071        FileName: *const ::std::os::raw::c_char,
31072        CameraSetupModelID: *mut Hlong,
31073    ) -> Herror;
31074}
31075unsafe extern "C" {
31076    pub fn T_get_camera_setup_param(
31077        CameraSetupModelID: Htuple,
31078        CameraIdx: Htuple,
31079        GenParamName: Htuple,
31080        GenParamValue: *mut Htuple,
31081    ) -> Herror;
31082}
31083unsafe extern "C" {
31084    pub fn get_camera_setup_param(
31085        CameraSetupModelID: Hlong,
31086        CameraIdx: Hlong,
31087        GenParamName: *const ::std::os::raw::c_char,
31088        GenParamValue: *mut f64,
31089    ) -> Herror;
31090}
31091unsafe extern "C" {
31092    pub fn T_set_camera_setup_param(
31093        CameraSetupModelID: Htuple,
31094        CameraIdx: Htuple,
31095        GenParamName: Htuple,
31096        GenParamValue: Htuple,
31097    ) -> Herror;
31098}
31099unsafe extern "C" {
31100    pub fn set_camera_setup_param(
31101        CameraSetupModelID: Hlong,
31102        CameraIdx: Hlong,
31103        GenParamName: *const ::std::os::raw::c_char,
31104        GenParamValue: f64,
31105    ) -> Herror;
31106}
31107unsafe extern "C" {
31108    pub fn T_set_camera_setup_cam_param(
31109        CameraSetupModelID: Htuple,
31110        CameraIdx: Htuple,
31111        CameraType: Htuple,
31112        CameraParam: Htuple,
31113        CameraPose: Htuple,
31114    ) -> Herror;
31115}
31116unsafe extern "C" {
31117    pub fn T_create_camera_setup_model(
31118        NumCameras: Htuple,
31119        CameraSetupModelID: *mut Htuple,
31120    ) -> Herror;
31121}
31122unsafe extern "C" {
31123    pub fn create_camera_setup_model(NumCameras: Hlong, CameraSetupModelID: *mut Hlong) -> Herror;
31124}
31125unsafe extern "C" {
31126    pub fn T_clear_all_calib_data() -> Herror;
31127}
31128unsafe extern "C" {
31129    pub fn clear_all_calib_data() -> Herror;
31130}
31131unsafe extern "C" {
31132    pub fn T_clear_calib_data(CalibDataID: Htuple) -> Herror;
31133}
31134unsafe extern "C" {
31135    pub fn clear_calib_data(CalibDataID: Hlong) -> Herror;
31136}
31137unsafe extern "C" {
31138    pub fn T_deserialize_calib_data(
31139        SerializedItemHandle: Htuple,
31140        CalibDataID: *mut Htuple,
31141    ) -> Herror;
31142}
31143unsafe extern "C" {
31144    pub fn deserialize_calib_data(SerializedItemHandle: Hlong, CalibDataID: *mut Hlong) -> Herror;
31145}
31146unsafe extern "C" {
31147    pub fn T_serialize_calib_data(CalibDataID: Htuple, SerializedItemHandle: *mut Htuple)
31148    -> Herror;
31149}
31150unsafe extern "C" {
31151    pub fn serialize_calib_data(CalibDataID: Hlong, SerializedItemHandle: *mut Hlong) -> Herror;
31152}
31153unsafe extern "C" {
31154    pub fn T_read_calib_data(FileName: Htuple, CalibDataID: *mut Htuple) -> Herror;
31155}
31156unsafe extern "C" {
31157    pub fn read_calib_data(
31158        FileName: *const ::std::os::raw::c_char,
31159        CalibDataID: *mut Hlong,
31160    ) -> Herror;
31161}
31162unsafe extern "C" {
31163    pub fn T_write_calib_data(CalibDataID: Htuple, FileName: Htuple) -> Herror;
31164}
31165unsafe extern "C" {
31166    pub fn write_calib_data(CalibDataID: Hlong, FileName: *const ::std::os::raw::c_char) -> Herror;
31167}
31168unsafe extern "C" {
31169    pub fn T_calibrate_hand_eye(CalibDataID: Htuple, Errors: *mut Htuple) -> Herror;
31170}
31171unsafe extern "C" {
31172    pub fn T_calibrate_cameras(CalibDataID: Htuple, Error: *mut Htuple) -> Herror;
31173}
31174unsafe extern "C" {
31175    pub fn calibrate_cameras(CalibDataID: Hlong, Error: *mut f64) -> Herror;
31176}
31177unsafe extern "C" {
31178    pub fn T_remove_calib_data(CalibDataID: Htuple, ItemType: Htuple, ItemIdx: Htuple) -> Herror;
31179}
31180unsafe extern "C" {
31181    pub fn remove_calib_data(
31182        CalibDataID: Hlong,
31183        ItemType: *const ::std::os::raw::c_char,
31184        ItemIdx: Hlong,
31185    ) -> Herror;
31186}
31187unsafe extern "C" {
31188    pub fn T_set_calib_data(
31189        CalibDataID: Htuple,
31190        ItemType: Htuple,
31191        ItemIdx: Htuple,
31192        DataName: Htuple,
31193        DataValue: Htuple,
31194    ) -> Herror;
31195}
31196unsafe extern "C" {
31197    pub fn set_calib_data(
31198        CalibDataID: Hlong,
31199        ItemType: *const ::std::os::raw::c_char,
31200        ItemIdx: Hlong,
31201        DataName: *const ::std::os::raw::c_char,
31202        DataValue: *const ::std::os::raw::c_char,
31203    ) -> Herror;
31204}
31205unsafe extern "C" {
31206    pub fn T_find_calib_object(
31207        Image: Hobject,
31208        CalibDataID: Htuple,
31209        CameraIdx: Htuple,
31210        CalibObjIdx: Htuple,
31211        CalibObjPoseIdx: Htuple,
31212        GenParamName: Htuple,
31213        GenParamValue: Htuple,
31214    ) -> Herror;
31215}
31216unsafe extern "C" {
31217    pub fn T_remove_calib_data_observ(
31218        CalibDataID: Htuple,
31219        CameraIdx: Htuple,
31220        CalibObjIdx: Htuple,
31221        CalibObjPoseIdx: Htuple,
31222    ) -> Herror;
31223}
31224unsafe extern "C" {
31225    pub fn remove_calib_data_observ(
31226        CalibDataID: Hlong,
31227        CameraIdx: Hlong,
31228        CalibObjIdx: Hlong,
31229        CalibObjPoseIdx: Hlong,
31230    ) -> Herror;
31231}
31232unsafe extern "C" {
31233    pub fn T_get_calib_data_observ_contours(
31234        Contours: *mut Hobject,
31235        CalibDataID: Htuple,
31236        ContourName: Htuple,
31237        CameraIdx: Htuple,
31238        CalibObjIdx: Htuple,
31239        CalibObjPoseIdx: Htuple,
31240    ) -> Herror;
31241}
31242unsafe extern "C" {
31243    pub fn get_calib_data_observ_contours(
31244        Contours: *mut Hobject,
31245        CalibDataID: Hlong,
31246        ContourName: *const ::std::os::raw::c_char,
31247        CameraIdx: Hlong,
31248        CalibObjIdx: Hlong,
31249        CalibObjPoseIdx: Hlong,
31250    ) -> Herror;
31251}
31252unsafe extern "C" {
31253    pub fn T_get_calib_data_observ_pose(
31254        CalibDataID: Htuple,
31255        CameraIdx: Htuple,
31256        CalibObjIdx: Htuple,
31257        CalibObjPoseIdx: Htuple,
31258        ObjInCameraPose: *mut Htuple,
31259    ) -> Herror;
31260}
31261unsafe extern "C" {
31262    pub fn T_set_calib_data_observ_pose(
31263        CalibDataID: Htuple,
31264        CameraIdx: Htuple,
31265        CalibObjIdx: Htuple,
31266        CalibObjPoseIdx: Htuple,
31267        ObjInCameraPose: Htuple,
31268    ) -> Herror;
31269}
31270unsafe extern "C" {
31271    pub fn T_get_calib_data_observ_points(
31272        CalibDataID: Htuple,
31273        CameraIdx: Htuple,
31274        CalibObjIdx: Htuple,
31275        CalibObjPoseIdx: Htuple,
31276        Row: *mut Htuple,
31277        Column: *mut Htuple,
31278        Index: *mut Htuple,
31279        Pose: *mut Htuple,
31280    ) -> Herror;
31281}
31282unsafe extern "C" {
31283    pub fn T_set_calib_data_observ_points(
31284        CalibDataID: Htuple,
31285        CameraIdx: Htuple,
31286        CalibObjIdx: Htuple,
31287        CalibObjPoseIdx: Htuple,
31288        Row: Htuple,
31289        Column: Htuple,
31290        Index: Htuple,
31291        Pose: Htuple,
31292    ) -> Herror;
31293}
31294unsafe extern "C" {
31295    pub fn T_query_calib_data_observ_indices(
31296        CalibDataID: Htuple,
31297        ItemType: Htuple,
31298        ItemIdx: Htuple,
31299        Index1: *mut Htuple,
31300        Index2: *mut Htuple,
31301    ) -> Herror;
31302}
31303unsafe extern "C" {
31304    pub fn T_get_calib_data(
31305        CalibDataID: Htuple,
31306        ItemType: Htuple,
31307        ItemIdx: Htuple,
31308        DataName: Htuple,
31309        DataValue: *mut Htuple,
31310    ) -> Herror;
31311}
31312unsafe extern "C" {
31313    pub fn get_calib_data(
31314        CalibDataID: Hlong,
31315        ItemType: *const ::std::os::raw::c_char,
31316        ItemIdx: Hlong,
31317        DataName: *const ::std::os::raw::c_char,
31318        DataValue: *mut f64,
31319    ) -> Herror;
31320}
31321unsafe extern "C" {
31322    pub fn T_set_calib_data_calib_object(
31323        CalibDataID: Htuple,
31324        CalibObjIdx: Htuple,
31325        CalibObjDescr: Htuple,
31326    ) -> Herror;
31327}
31328unsafe extern "C" {
31329    pub fn set_calib_data_calib_object(
31330        CalibDataID: Hlong,
31331        CalibObjIdx: Hlong,
31332        CalibObjDescr: f64,
31333    ) -> Herror;
31334}
31335unsafe extern "C" {
31336    pub fn T_set_calib_data_cam_param(
31337        CalibDataID: Htuple,
31338        CameraIdx: Htuple,
31339        CameraType: Htuple,
31340        CameraParam: Htuple,
31341    ) -> Herror;
31342}
31343unsafe extern "C" {
31344    pub fn T_create_calib_data(
31345        CalibSetup: Htuple,
31346        NumCameras: Htuple,
31347        NumCalibObjects: Htuple,
31348        CalibDataID: *mut Htuple,
31349    ) -> Herror;
31350}
31351unsafe extern "C" {
31352    pub fn create_calib_data(
31353        CalibSetup: *const ::std::os::raw::c_char,
31354        NumCameras: Hlong,
31355        NumCalibObjects: Hlong,
31356        CalibDataID: *mut Hlong,
31357    ) -> Herror;
31358}
31359unsafe extern "C" {
31360    pub fn T_get_bead_inspection_param(
31361        BeadInspectionModel: Htuple,
31362        GenParamName: Htuple,
31363        GenParamValue: *mut Htuple,
31364    ) -> Herror;
31365}
31366unsafe extern "C" {
31367    pub fn get_bead_inspection_param(
31368        BeadInspectionModel: Hlong,
31369        GenParamName: *const ::std::os::raw::c_char,
31370        GenParamValue: *mut Hlong,
31371    ) -> Herror;
31372}
31373unsafe extern "C" {
31374    pub fn T_set_bead_inspection_param(
31375        BeadInspectionModel: Htuple,
31376        GenParamName: Htuple,
31377        GenParamValue: Htuple,
31378    ) -> Herror;
31379}
31380unsafe extern "C" {
31381    pub fn set_bead_inspection_param(
31382        BeadInspectionModel: Hlong,
31383        GenParamName: *const ::std::os::raw::c_char,
31384        GenParamValue: *const ::std::os::raw::c_char,
31385    ) -> Herror;
31386}
31387unsafe extern "C" {
31388    pub fn T_apply_bead_inspection_model(
31389        Image: Hobject,
31390        LeftContour: *mut Hobject,
31391        RightContour: *mut Hobject,
31392        ErrorSegment: *mut Hobject,
31393        BeadInspectionModel: Htuple,
31394        ErrorType: *mut Htuple,
31395    ) -> Herror;
31396}
31397unsafe extern "C" {
31398    pub fn T_clear_bead_inspection_model(BeadInspectionModel: Htuple) -> Herror;
31399}
31400unsafe extern "C" {
31401    pub fn clear_bead_inspection_model(BeadInspectionModel: Hlong) -> Herror;
31402}
31403unsafe extern "C" {
31404    pub fn T_create_bead_inspection_model(
31405        BeadContour: Hobject,
31406        TargetThickness: Htuple,
31407        ThicknessTolerance: Htuple,
31408        PositionTolerance: Htuple,
31409        Polarity: Htuple,
31410        GenParamName: Htuple,
31411        GenParamValue: Htuple,
31412        BeadInspectionModel: *mut Htuple,
31413    ) -> Herror;
31414}
31415unsafe extern "C" {
31416    pub fn create_bead_inspection_model(
31417        BeadContour: Hobject,
31418        TargetThickness: Hlong,
31419        ThicknessTolerance: Hlong,
31420        PositionTolerance: Hlong,
31421        Polarity: *const ::std::os::raw::c_char,
31422        GenParamName: *const ::std::os::raw::c_char,
31423        GenParamValue: Hlong,
31424        BeadInspectionModel: *mut Hlong,
31425    ) -> Herror;
31426}
31427unsafe extern "C" {
31428    pub fn T_deserialize_bar_code_model(
31429        SerializedItemHandle: Htuple,
31430        BarCodeHandle: *mut Htuple,
31431    ) -> Herror;
31432}
31433unsafe extern "C" {
31434    pub fn deserialize_bar_code_model(
31435        SerializedItemHandle: Hlong,
31436        BarCodeHandle: *mut Hlong,
31437    ) -> Herror;
31438}
31439unsafe extern "C" {
31440    pub fn T_serialize_bar_code_model(
31441        BarCodeHandle: Htuple,
31442        SerializedItemHandle: *mut Htuple,
31443    ) -> Herror;
31444}
31445unsafe extern "C" {
31446    pub fn serialize_bar_code_model(
31447        BarCodeHandle: Hlong,
31448        SerializedItemHandle: *mut Hlong,
31449    ) -> Herror;
31450}
31451unsafe extern "C" {
31452    pub fn T_read_bar_code_model(FileName: Htuple, BarCodeHandle: *mut Htuple) -> Herror;
31453}
31454unsafe extern "C" {
31455    pub fn read_bar_code_model(
31456        FileName: *const ::std::os::raw::c_char,
31457        BarCodeHandle: *mut Hlong,
31458    ) -> Herror;
31459}
31460unsafe extern "C" {
31461    pub fn T_write_bar_code_model(BarCodeHandle: Htuple, FileName: Htuple) -> Herror;
31462}
31463unsafe extern "C" {
31464    pub fn write_bar_code_model(
31465        BarCodeHandle: Hlong,
31466        FileName: *const ::std::os::raw::c_char,
31467    ) -> Herror;
31468}
31469unsafe extern "C" {
31470    pub fn T_get_bar_code_object(
31471        BarCodeObjects: *mut Hobject,
31472        BarCodeHandle: Htuple,
31473        CandidateHandle: Htuple,
31474        ObjectName: Htuple,
31475    ) -> Herror;
31476}
31477unsafe extern "C" {
31478    pub fn get_bar_code_object(
31479        BarCodeObjects: *mut Hobject,
31480        BarCodeHandle: Hlong,
31481        CandidateHandle: *const ::std::os::raw::c_char,
31482        ObjectName: *const ::std::os::raw::c_char,
31483    ) -> Herror;
31484}
31485unsafe extern "C" {
31486    pub fn T_get_bar_code_result(
31487        BarCodeHandle: Htuple,
31488        CandidateHandle: Htuple,
31489        ResultName: Htuple,
31490        BarCodeResults: *mut Htuple,
31491    ) -> Herror;
31492}
31493unsafe extern "C" {
31494    pub fn get_bar_code_result(
31495        BarCodeHandle: Hlong,
31496        CandidateHandle: *const ::std::os::raw::c_char,
31497        ResultName: *const ::std::os::raw::c_char,
31498        BarCodeResults: *mut ::std::os::raw::c_char,
31499    ) -> Herror;
31500}
31501unsafe extern "C" {
31502    pub fn T_decode_bar_code_rectangle2(
31503        Image: Hobject,
31504        BarCodeHandle: Htuple,
31505        CodeType: Htuple,
31506        Row: Htuple,
31507        Column: Htuple,
31508        Phi: Htuple,
31509        Length1: Htuple,
31510        Length2: Htuple,
31511        DecodedDataStrings: *mut Htuple,
31512    ) -> Herror;
31513}
31514unsafe extern "C" {
31515    pub fn decode_bar_code_rectangle2(
31516        Image: Hobject,
31517        BarCodeHandle: Hlong,
31518        CodeType: *const ::std::os::raw::c_char,
31519        Row: f64,
31520        Column: f64,
31521        Phi: f64,
31522        Length1: f64,
31523        Length2: f64,
31524        DecodedDataStrings: *mut ::std::os::raw::c_char,
31525    ) -> Herror;
31526}
31527unsafe extern "C" {
31528    pub fn T_find_bar_code(
31529        Image: Hobject,
31530        SymbolRegions: *mut Hobject,
31531        BarCodeHandle: Htuple,
31532        CodeType: Htuple,
31533        DecodedDataStrings: *mut Htuple,
31534    ) -> Herror;
31535}
31536unsafe extern "C" {
31537    pub fn find_bar_code(
31538        Image: Hobject,
31539        SymbolRegions: *mut Hobject,
31540        BarCodeHandle: Hlong,
31541        CodeType: *const ::std::os::raw::c_char,
31542        DecodedDataStrings: *mut ::std::os::raw::c_char,
31543    ) -> Herror;
31544}
31545unsafe extern "C" {
31546    pub fn T_query_bar_code_params(
31547        BarCodeHandle: Htuple,
31548        Properties: Htuple,
31549        GenParamName: *mut Htuple,
31550    ) -> Herror;
31551}
31552unsafe extern "C" {
31553    pub fn query_bar_code_params(
31554        BarCodeHandle: Hlong,
31555        Properties: *const ::std::os::raw::c_char,
31556        GenParamName: *mut ::std::os::raw::c_char,
31557    ) -> Herror;
31558}
31559unsafe extern "C" {
31560    pub fn T_get_bar_code_param_specific(
31561        BarCodeHandle: Htuple,
31562        CodeTypes: Htuple,
31563        GenParamName: Htuple,
31564        GenParamValue: *mut Htuple,
31565    ) -> Herror;
31566}
31567unsafe extern "C" {
31568    pub fn get_bar_code_param_specific(
31569        BarCodeHandle: Hlong,
31570        CodeTypes: *const ::std::os::raw::c_char,
31571        GenParamName: *const ::std::os::raw::c_char,
31572        GenParamValue: *mut f64,
31573    ) -> Herror;
31574}
31575unsafe extern "C" {
31576    pub fn T_get_bar_code_param(
31577        BarCodeHandle: Htuple,
31578        GenParamName: Htuple,
31579        GenParamValue: *mut Htuple,
31580    ) -> Herror;
31581}
31582unsafe extern "C" {
31583    pub fn get_bar_code_param(
31584        BarCodeHandle: Hlong,
31585        GenParamName: *const ::std::os::raw::c_char,
31586        GenParamValue: *mut f64,
31587    ) -> Herror;
31588}
31589unsafe extern "C" {
31590    pub fn T_set_bar_code_param_specific(
31591        BarCodeHandle: Htuple,
31592        CodeTypes: Htuple,
31593        GenParamName: Htuple,
31594        GenParamValue: Htuple,
31595    ) -> Herror;
31596}
31597unsafe extern "C" {
31598    pub fn T_set_bar_code_param(
31599        BarCodeHandle: Htuple,
31600        GenParamName: Htuple,
31601        GenParamValue: Htuple,
31602    ) -> Herror;
31603}
31604unsafe extern "C" {
31605    pub fn set_bar_code_param(
31606        BarCodeHandle: Hlong,
31607        GenParamName: *const ::std::os::raw::c_char,
31608        GenParamValue: f64,
31609    ) -> Herror;
31610}
31611unsafe extern "C" {
31612    pub fn T_clear_all_bar_code_models() -> Herror;
31613}
31614unsafe extern "C" {
31615    pub fn clear_all_bar_code_models() -> Herror;
31616}
31617unsafe extern "C" {
31618    pub fn T_clear_bar_code_model(BarCodeHandle: Htuple) -> Herror;
31619}
31620unsafe extern "C" {
31621    pub fn clear_bar_code_model(BarCodeHandle: Hlong) -> Herror;
31622}
31623unsafe extern "C" {
31624    pub fn T_create_bar_code_model(
31625        GenParamName: Htuple,
31626        GenParamValue: Htuple,
31627        BarCodeHandle: *mut Htuple,
31628    ) -> Herror;
31629}
31630unsafe extern "C" {
31631    pub fn create_bar_code_model(
31632        GenParamName: *const ::std::os::raw::c_char,
31633        GenParamValue: f64,
31634        BarCodeHandle: *mut Hlong,
31635    ) -> Herror;
31636}
31637unsafe extern "C" {
31638    pub fn T_close_bg_esti(BgEstiHandle: Htuple) -> Herror;
31639}
31640unsafe extern "C" {
31641    pub fn close_bg_esti(BgEstiHandle: Hlong) -> Herror;
31642}
31643unsafe extern "C" {
31644    pub fn T_give_bg_esti(BackgroundImage: *mut Hobject, BgEstiHandle: Htuple) -> Herror;
31645}
31646unsafe extern "C" {
31647    pub fn give_bg_esti(BackgroundImage: *mut Hobject, BgEstiHandle: Hlong) -> Herror;
31648}
31649unsafe extern "C" {
31650    pub fn T_update_bg_esti(
31651        PresentImage: Hobject,
31652        UpDateRegion: Hobject,
31653        BgEstiHandle: Htuple,
31654    ) -> Herror;
31655}
31656unsafe extern "C" {
31657    pub fn update_bg_esti(
31658        PresentImage: Hobject,
31659        UpDateRegion: Hobject,
31660        BgEstiHandle: Hlong,
31661    ) -> Herror;
31662}
31663unsafe extern "C" {
31664    pub fn T_run_bg_esti(
31665        PresentImage: Hobject,
31666        ForegroundRegion: *mut Hobject,
31667        BgEstiHandle: Htuple,
31668    ) -> Herror;
31669}
31670unsafe extern "C" {
31671    pub fn run_bg_esti(
31672        PresentImage: Hobject,
31673        ForegroundRegion: *mut Hobject,
31674        BgEstiHandle: Hlong,
31675    ) -> Herror;
31676}
31677unsafe extern "C" {
31678    pub fn T_get_bg_esti_params(
31679        BgEstiHandle: Htuple,
31680        Syspar1: *mut Htuple,
31681        Syspar2: *mut Htuple,
31682        GainMode: *mut Htuple,
31683        Gain1: *mut Htuple,
31684        Gain2: *mut Htuple,
31685        AdaptMode: *mut Htuple,
31686        MinDiff: *mut Htuple,
31687        StatNum: *mut Htuple,
31688        ConfidenceC: *mut Htuple,
31689        TimeC: *mut Htuple,
31690    ) -> Herror;
31691}
31692unsafe extern "C" {
31693    pub fn get_bg_esti_params(
31694        BgEstiHandle: Hlong,
31695        Syspar1: *mut f64,
31696        Syspar2: *mut f64,
31697        GainMode: *mut ::std::os::raw::c_char,
31698        Gain1: *mut f64,
31699        Gain2: *mut f64,
31700        AdaptMode: *mut ::std::os::raw::c_char,
31701        MinDiff: *mut f64,
31702        StatNum: *mut Hlong,
31703        ConfidenceC: *mut f64,
31704        TimeC: *mut f64,
31705    ) -> Herror;
31706}
31707unsafe extern "C" {
31708    pub fn T_set_bg_esti_params(
31709        BgEstiHandle: Htuple,
31710        Syspar1: Htuple,
31711        Syspar2: Htuple,
31712        GainMode: Htuple,
31713        Gain1: Htuple,
31714        Gain2: Htuple,
31715        AdaptMode: Htuple,
31716        MinDiff: Htuple,
31717        StatNum: Htuple,
31718        ConfidenceC: Htuple,
31719        TimeC: Htuple,
31720    ) -> Herror;
31721}
31722unsafe extern "C" {
31723    pub fn set_bg_esti_params(
31724        BgEstiHandle: Hlong,
31725        Syspar1: f64,
31726        Syspar2: f64,
31727        GainMode: *const ::std::os::raw::c_char,
31728        Gain1: f64,
31729        Gain2: f64,
31730        AdaptMode: *const ::std::os::raw::c_char,
31731        MinDiff: f64,
31732        StatNum: Hlong,
31733        ConfidenceC: f64,
31734        TimeC: f64,
31735    ) -> Herror;
31736}
31737unsafe extern "C" {
31738    pub fn T_create_bg_esti(
31739        InitializeImage: Hobject,
31740        Syspar1: Htuple,
31741        Syspar2: Htuple,
31742        GainMode: Htuple,
31743        Gain1: Htuple,
31744        Gain2: Htuple,
31745        AdaptMode: Htuple,
31746        MinDiff: Htuple,
31747        StatNum: Htuple,
31748        ConfidenceC: Htuple,
31749        TimeC: Htuple,
31750        BgEstiHandle: *mut Htuple,
31751    ) -> Herror;
31752}
31753unsafe extern "C" {
31754    pub fn create_bg_esti(
31755        InitializeImage: Hobject,
31756        Syspar1: f64,
31757        Syspar2: f64,
31758        GainMode: *const ::std::os::raw::c_char,
31759        Gain1: f64,
31760        Gain2: f64,
31761        AdaptMode: *const ::std::os::raw::c_char,
31762        MinDiff: f64,
31763        StatNum: Hlong,
31764        ConfidenceC: f64,
31765        TimeC: f64,
31766        BgEstiHandle: *mut Hlong,
31767    ) -> Herror;
31768}
31769unsafe extern "C" {
31770    pub fn T_close_all_bg_esti() -> Herror;
31771}
31772unsafe extern "C" {
31773    pub fn close_all_bg_esti() -> Herror;
31774}
31775unsafe extern "C" {
31776    pub fn T_control_io_channel(
31777        IOChannelHandle: Htuple,
31778        Action: Htuple,
31779        Argument: Htuple,
31780        Result: *mut Htuple,
31781    ) -> Herror;
31782}
31783unsafe extern "C" {
31784    pub fn T_write_io_channel(
31785        IOChannelHandle: Htuple,
31786        Value: Htuple,
31787        Status: *mut Htuple,
31788    ) -> Herror;
31789}
31790unsafe extern "C" {
31791    pub fn T_read_io_channel(
31792        IOChannelHandle: Htuple,
31793        Value: *mut Htuple,
31794        Status: *mut Htuple,
31795    ) -> Herror;
31796}
31797unsafe extern "C" {
31798    pub fn T_set_io_channel_param(
31799        IOChannelHandle: Htuple,
31800        GenParamName: Htuple,
31801        GenParamValue: Htuple,
31802    ) -> Herror;
31803}
31804unsafe extern "C" {
31805    pub fn T_get_io_channel_param(
31806        IOChannelHandle: Htuple,
31807        GenParamName: Htuple,
31808        GenParamValue: *mut Htuple,
31809    ) -> Herror;
31810}
31811unsafe extern "C" {
31812    pub fn T_close_io_channel(IOChannelHandle: Htuple) -> Herror;
31813}
31814unsafe extern "C" {
31815    pub fn close_io_channel(IOChannelHandle: Hlong) -> Herror;
31816}
31817unsafe extern "C" {
31818    pub fn T_open_io_channel(
31819        IODeviceHandle: Htuple,
31820        IOChannelName: Htuple,
31821        GenParamName: Htuple,
31822        GenParamValue: Htuple,
31823        IOChannelHandle: *mut Htuple,
31824    ) -> Herror;
31825}
31826unsafe extern "C" {
31827    pub fn T_query_io_device(
31828        IODeviceHandle: Htuple,
31829        IOChannelName: Htuple,
31830        Query: Htuple,
31831        Result: *mut Htuple,
31832    ) -> Herror;
31833}
31834unsafe extern "C" {
31835    pub fn T_control_io_device(
31836        IODeviceHandle: Htuple,
31837        Action: Htuple,
31838        Argument: Htuple,
31839        Result: *mut Htuple,
31840    ) -> Herror;
31841}
31842unsafe extern "C" {
31843    pub fn T_set_io_device_param(
31844        IODeviceHandle: Htuple,
31845        GenParamName: Htuple,
31846        GenParamValue: Htuple,
31847    ) -> Herror;
31848}
31849unsafe extern "C" {
31850    pub fn set_io_device_param(
31851        IODeviceHandle: Hlong,
31852        GenParamName: *const ::std::os::raw::c_char,
31853        GenParamValue: *const ::std::os::raw::c_char,
31854    ) -> Herror;
31855}
31856unsafe extern "C" {
31857    pub fn T_get_io_device_param(
31858        IODeviceHandle: Htuple,
31859        GenParamName: Htuple,
31860        GenParamValue: *mut Htuple,
31861    ) -> Herror;
31862}
31863unsafe extern "C" {
31864    pub fn get_io_device_param(
31865        IODeviceHandle: Hlong,
31866        GenParamName: *const ::std::os::raw::c_char,
31867        GenParamValue: *mut ::std::os::raw::c_char,
31868    ) -> Herror;
31869}
31870unsafe extern "C" {
31871    pub fn T_close_io_device(IODeviceHandle: Htuple) -> Herror;
31872}
31873unsafe extern "C" {
31874    pub fn close_io_device(IODeviceHandle: Hlong) -> Herror;
31875}
31876unsafe extern "C" {
31877    pub fn T_open_io_device(
31878        IOInterfaceName: Htuple,
31879        IODeviceName: Htuple,
31880        GenParamName: Htuple,
31881        GenParamValue: Htuple,
31882        IODeviceHandle: *mut Htuple,
31883    ) -> Herror;
31884}
31885unsafe extern "C" {
31886    pub fn T_control_io_interface(
31887        IOInterfaceName: Htuple,
31888        Action: Htuple,
31889        Argument: Htuple,
31890        Result: *mut Htuple,
31891    ) -> Herror;
31892}
31893unsafe extern "C" {
31894    pub fn T_query_io_interface(
31895        IOInterfaceName: Htuple,
31896        Query: Htuple,
31897        Result: *mut Htuple,
31898    ) -> Herror;
31899}
31900unsafe extern "C" {
31901    pub fn T_get_framegrabber_param(AcqHandle: Htuple, Param: Htuple, Value: *mut Htuple)
31902    -> Herror;
31903}
31904unsafe extern "C" {
31905    pub fn get_framegrabber_param(
31906        AcqHandle: Hlong,
31907        Param: *const ::std::os::raw::c_char,
31908        Value: *mut ::std::os::raw::c_char,
31909    ) -> Herror;
31910}
31911unsafe extern "C" {
31912    pub fn T_set_framegrabber_param(AcqHandle: Htuple, Param: Htuple, Value: Htuple) -> Herror;
31913}
31914unsafe extern "C" {
31915    pub fn set_framegrabber_param(
31916        AcqHandle: Hlong,
31917        Param: *const ::std::os::raw::c_char,
31918        Value: *const ::std::os::raw::c_char,
31919    ) -> Herror;
31920}
31921unsafe extern "C" {
31922    pub fn T_get_framegrabber_callback(
31923        AcqHandle: Htuple,
31924        CallbackType: Htuple,
31925        CallbackFunction: *mut Htuple,
31926        UserContext: *mut Htuple,
31927    ) -> Herror;
31928}
31929unsafe extern "C" {
31930    pub fn get_framegrabber_callback(
31931        AcqHandle: Hlong,
31932        CallbackType: *const ::std::os::raw::c_char,
31933        CallbackFunction: *mut Hlong,
31934        UserContext: *mut Hlong,
31935    ) -> Herror;
31936}
31937unsafe extern "C" {
31938    pub fn T_set_framegrabber_callback(
31939        AcqHandle: Htuple,
31940        CallbackType: Htuple,
31941        CallbackFunction: Htuple,
31942        UserContext: Htuple,
31943    ) -> Herror;
31944}
31945unsafe extern "C" {
31946    pub fn set_framegrabber_callback(
31947        AcqHandle: Hlong,
31948        CallbackType: *const ::std::os::raw::c_char,
31949        CallbackFunction: Hlong,
31950        UserContext: Hlong,
31951    ) -> Herror;
31952}
31953unsafe extern "C" {
31954    pub fn T_grab_data_async(
31955        Image: *mut Hobject,
31956        Region: *mut Hobject,
31957        Contours: *mut Hobject,
31958        AcqHandle: Htuple,
31959        MaxDelay: Htuple,
31960        Data: *mut Htuple,
31961    ) -> Herror;
31962}
31963unsafe extern "C" {
31964    pub fn grab_data_async(
31965        Image: *mut Hobject,
31966        Region: *mut Hobject,
31967        Contours: *mut Hobject,
31968        AcqHandle: Hlong,
31969        MaxDelay: f64,
31970        Data: *mut ::std::os::raw::c_char,
31971    ) -> Herror;
31972}
31973unsafe extern "C" {
31974    pub fn T_grab_data(
31975        Image: *mut Hobject,
31976        Region: *mut Hobject,
31977        Contours: *mut Hobject,
31978        AcqHandle: Htuple,
31979        Data: *mut Htuple,
31980    ) -> Herror;
31981}
31982unsafe extern "C" {
31983    pub fn grab_data(
31984        Image: *mut Hobject,
31985        Region: *mut Hobject,
31986        Contours: *mut Hobject,
31987        AcqHandle: Hlong,
31988        Data: *mut ::std::os::raw::c_char,
31989    ) -> Herror;
31990}
31991unsafe extern "C" {
31992    pub fn T_grab_image_async(Image: *mut Hobject, AcqHandle: Htuple, MaxDelay: Htuple) -> Herror;
31993}
31994unsafe extern "C" {
31995    pub fn grab_image_async(Image: *mut Hobject, AcqHandle: Hlong, MaxDelay: f64) -> Herror;
31996}
31997unsafe extern "C" {
31998    pub fn T_grab_image_start(AcqHandle: Htuple, MaxDelay: Htuple) -> Herror;
31999}
32000unsafe extern "C" {
32001    pub fn grab_image_start(AcqHandle: Hlong, MaxDelay: f64) -> Herror;
32002}
32003unsafe extern "C" {
32004    pub fn T_grab_image(Image: *mut Hobject, AcqHandle: Htuple) -> Herror;
32005}
32006unsafe extern "C" {
32007    pub fn grab_image(Image: *mut Hobject, AcqHandle: Hlong) -> Herror;
32008}
32009unsafe extern "C" {
32010    pub fn T_info_framegrabber(
32011        Name: Htuple,
32012        Query: Htuple,
32013        Information: *mut Htuple,
32014        ValueList: *mut Htuple,
32015    ) -> Herror;
32016}
32017unsafe extern "C" {
32018    pub fn T_close_all_framegrabbers() -> Herror;
32019}
32020unsafe extern "C" {
32021    pub fn close_all_framegrabbers() -> Herror;
32022}
32023unsafe extern "C" {
32024    pub fn T_close_framegrabber(AcqHandle: Htuple) -> Herror;
32025}
32026unsafe extern "C" {
32027    pub fn close_framegrabber(AcqHandle: Hlong) -> Herror;
32028}
32029unsafe extern "C" {
32030    pub fn T_open_framegrabber(
32031        Name: Htuple,
32032        HorizontalResolution: Htuple,
32033        VerticalResolution: Htuple,
32034        ImageWidth: Htuple,
32035        ImageHeight: Htuple,
32036        StartRow: Htuple,
32037        StartColumn: Htuple,
32038        Field: Htuple,
32039        BitsPerChannel: Htuple,
32040        ColorSpace: Htuple,
32041        Generic: Htuple,
32042        ExternalTrigger: Htuple,
32043        CameraType: Htuple,
32044        Device: Htuple,
32045        Port: Htuple,
32046        LineIn: Htuple,
32047        AcqHandle: *mut Htuple,
32048    ) -> Herror;
32049}
32050unsafe extern "C" {
32051    pub fn open_framegrabber(
32052        Name: *const ::std::os::raw::c_char,
32053        HorizontalResolution: Hlong,
32054        VerticalResolution: Hlong,
32055        ImageWidth: Hlong,
32056        ImageHeight: Hlong,
32057        StartRow: Hlong,
32058        StartColumn: Hlong,
32059        Field: *const ::std::os::raw::c_char,
32060        BitsPerChannel: Hlong,
32061        ColorSpace: *const ::std::os::raw::c_char,
32062        Generic: f64,
32063        ExternalTrigger: *const ::std::os::raw::c_char,
32064        CameraType: *const ::std::os::raw::c_char,
32065        Device: *const ::std::os::raw::c_char,
32066        Port: Hlong,
32067        LineIn: Hlong,
32068        AcqHandle: *mut Hlong,
32069    ) -> Herror;
32070}
32071unsafe extern "C" {
32072    pub fn T_get_framegrabber_lut(
32073        AcqHandle: Htuple,
32074        ImageRed: *mut Htuple,
32075        ImageGreen: *mut Htuple,
32076        ImageBlue: *mut Htuple,
32077    ) -> Herror;
32078}
32079unsafe extern "C" {
32080    pub fn T_set_framegrabber_lut(
32081        AcqHandle: Htuple,
32082        ImageRed: Htuple,
32083        ImageGreen: Htuple,
32084        ImageBlue: Htuple,
32085    ) -> Herror;
32086}
32087unsafe extern "C" {
32088    pub fn T_add_scene_3d_label(
32089        Scene3D: Htuple,
32090        Text: Htuple,
32091        ReferencePoint: Htuple,
32092        Position: Htuple,
32093        RelatesTo: Htuple,
32094        LabelIndex: *mut Htuple,
32095    ) -> Herror;
32096}
32097unsafe extern "C" {
32098    pub fn T_remove_scene_3d_label(Scene3D: Htuple, LabelIndex: Htuple) -> Herror;
32099}
32100unsafe extern "C" {
32101    pub fn remove_scene_3d_label(Scene3D: Hlong, LabelIndex: Hlong) -> Herror;
32102}
32103unsafe extern "C" {
32104    pub fn T_set_scene_3d_label_param(
32105        Scene3D: Htuple,
32106        LabelIndex: Htuple,
32107        GenParamName: Htuple,
32108        GenParamValue: Htuple,
32109    ) -> Herror;
32110}
32111unsafe extern "C" {
32112    pub fn T_add_texture_inspection_model_image(
32113        Image: Hobject,
32114        TextureInspectionModel: Htuple,
32115        Indices: *mut Htuple,
32116    ) -> Herror;
32117}
32118unsafe extern "C" {
32119    pub fn add_texture_inspection_model_image(
32120        Image: Hobject,
32121        TextureInspectionModel: Hlong,
32122        Indices: *mut Hlong,
32123    ) -> Herror;
32124}
32125unsafe extern "C" {
32126    pub fn T_apply_texture_inspection_model(
32127        Image: Hobject,
32128        NoveltyRegion: *mut Hobject,
32129        TextureInspectionModel: Htuple,
32130        TextureInspectionResultID: *mut Htuple,
32131    ) -> Herror;
32132}
32133unsafe extern "C" {
32134    pub fn apply_texture_inspection_model(
32135        Image: Hobject,
32136        NoveltyRegion: *mut Hobject,
32137        TextureInspectionModel: Hlong,
32138        TextureInspectionResultID: *mut Hlong,
32139    ) -> Herror;
32140}
32141unsafe extern "C" {
32142    pub fn T_bilateral_filter(
32143        Image: Hobject,
32144        ImageJoint: Hobject,
32145        ImageBilateral: *mut Hobject,
32146        SigmaSpatial: Htuple,
32147        SigmaRange: Htuple,
32148        GenParamName: Htuple,
32149        GenParamValue: Htuple,
32150    ) -> Herror;
32151}
32152unsafe extern "C" {
32153    pub fn bilateral_filter(
32154        Image: Hobject,
32155        ImageJoint: Hobject,
32156        ImageBilateral: *mut Hobject,
32157        SigmaSpatial: f64,
32158        SigmaRange: f64,
32159        GenParamName: *const ::std::os::raw::c_char,
32160        GenParamValue: f64,
32161    ) -> Herror;
32162}
32163unsafe extern "C" {
32164    pub fn T_clear_ocr_class_cnn(OCRHandle: Htuple) -> Herror;
32165}
32166unsafe extern "C" {
32167    pub fn clear_ocr_class_cnn(OCRHandle: Hlong) -> Herror;
32168}
32169unsafe extern "C" {
32170    pub fn T_clear_texture_inspection_model(TextureInspectionModel: Htuple) -> Herror;
32171}
32172unsafe extern "C" {
32173    pub fn clear_texture_inspection_model(TextureInspectionModel: Hlong) -> Herror;
32174}
32175unsafe extern "C" {
32176    pub fn T_clear_texture_inspection_result(TextureInspectionResultID: Htuple) -> Herror;
32177}
32178unsafe extern "C" {
32179    pub fn clear_texture_inspection_result(TextureInspectionResultID: Hlong) -> Herror;
32180}
32181unsafe extern "C" {
32182    pub fn T_convert_coordinates_image_to_window(
32183        WindowHandle: Htuple,
32184        RowImage: Htuple,
32185        ColumnImage: Htuple,
32186        RowWindow: *mut Htuple,
32187        ColumnWindow: *mut Htuple,
32188    ) -> Herror;
32189}
32190unsafe extern "C" {
32191    pub fn convert_coordinates_image_to_window(
32192        WindowHandle: Hlong,
32193        RowImage: f64,
32194        ColumnImage: f64,
32195        RowWindow: *mut f64,
32196        ColumnWindow: *mut f64,
32197    ) -> Herror;
32198}
32199unsafe extern "C" {
32200    pub fn T_convert_coordinates_window_to_image(
32201        WindowHandle: Htuple,
32202        RowWindow: Htuple,
32203        ColumnWindow: Htuple,
32204        RowImage: *mut Htuple,
32205        ColumnImage: *mut Htuple,
32206    ) -> Herror;
32207}
32208unsafe extern "C" {
32209    pub fn convert_coordinates_window_to_image(
32210        WindowHandle: Hlong,
32211        RowWindow: f64,
32212        ColumnWindow: f64,
32213        RowImage: *mut f64,
32214        ColumnImage: *mut f64,
32215    ) -> Herror;
32216}
32217unsafe extern "C" {
32218    pub fn T_create_texture_inspection_model(
32219        ModelType: Htuple,
32220        TextureInspectionModel: *mut Htuple,
32221    ) -> Herror;
32222}
32223unsafe extern "C" {
32224    pub fn create_texture_inspection_model(
32225        ModelType: *const ::std::os::raw::c_char,
32226        TextureInspectionModel: *mut Hlong,
32227    ) -> Herror;
32228}
32229unsafe extern "C" {
32230    pub fn T_deserialize_dual_quat(
32231        SerializedItemHandle: Htuple,
32232        DualQuaternion: *mut Htuple,
32233    ) -> Herror;
32234}
32235unsafe extern "C" {
32236    pub fn T_deserialize_ocr_class_cnn(
32237        SerializedItemHandle: Htuple,
32238        OCRHandle: *mut Htuple,
32239    ) -> Herror;
32240}
32241unsafe extern "C" {
32242    pub fn deserialize_ocr_class_cnn(SerializedItemHandle: Hlong, OCRHandle: *mut Hlong) -> Herror;
32243}
32244unsafe extern "C" {
32245    pub fn T_deserialize_texture_inspection_model(
32246        SerializedItemHandle: Htuple,
32247        TextureInspectionModel: *mut Htuple,
32248    ) -> Herror;
32249}
32250unsafe extern "C" {
32251    pub fn deserialize_texture_inspection_model(
32252        SerializedItemHandle: Hlong,
32253        TextureInspectionModel: *mut Hlong,
32254    ) -> Herror;
32255}
32256unsafe extern "C" {
32257    pub fn T_disp_text(
32258        WindowHandle: Htuple,
32259        String: Htuple,
32260        CoordSystem: Htuple,
32261        Row: Htuple,
32262        Column: Htuple,
32263        Color: Htuple,
32264        GenParamName: Htuple,
32265        GenParamValue: Htuple,
32266    ) -> Herror;
32267}
32268unsafe extern "C" {
32269    pub fn T_do_ocr_multi_class_cnn(
32270        Character: Hobject,
32271        Image: Hobject,
32272        OCRHandle: Htuple,
32273        Class: *mut Htuple,
32274        Confidence: *mut Htuple,
32275    ) -> Herror;
32276}
32277unsafe extern "C" {
32278    pub fn do_ocr_multi_class_cnn(
32279        Character: Hobject,
32280        Image: Hobject,
32281        OCRHandle: Hlong,
32282        Class: *mut ::std::os::raw::c_char,
32283        Confidence: *mut f64,
32284    ) -> Herror;
32285}
32286unsafe extern "C" {
32287    pub fn T_do_ocr_single_class_cnn(
32288        Character: Hobject,
32289        Image: Hobject,
32290        OCRHandle: Htuple,
32291        Num: Htuple,
32292        Class: *mut Htuple,
32293        Confidence: *mut Htuple,
32294    ) -> Herror;
32295}
32296unsafe extern "C" {
32297    pub fn T_do_ocr_word_cnn(
32298        Character: Hobject,
32299        Image: Hobject,
32300        OCRHandle: Htuple,
32301        Expression: Htuple,
32302        NumAlternatives: Htuple,
32303        NumCorrections: Htuple,
32304        Class: *mut Htuple,
32305        Confidence: *mut Htuple,
32306        Word: *mut Htuple,
32307        Score: *mut Htuple,
32308    ) -> Herror;
32309}
32310unsafe extern "C" {
32311    pub fn do_ocr_word_cnn(
32312        Character: Hobject,
32313        Image: Hobject,
32314        OCRHandle: Hlong,
32315        Expression: *const ::std::os::raw::c_char,
32316        NumAlternatives: Hlong,
32317        NumCorrections: Hlong,
32318        Class: *mut ::std::os::raw::c_char,
32319        Confidence: *mut f64,
32320        Word: *mut ::std::os::raw::c_char,
32321        Score: *mut f64,
32322    ) -> Herror;
32323}
32324unsafe extern "C" {
32325    pub fn T_dual_quat_compose(
32326        DualQuaternionLeft: Htuple,
32327        DualQuaternionRight: Htuple,
32328        DualQuaternionComposed: *mut Htuple,
32329    ) -> Herror;
32330}
32331unsafe extern "C" {
32332    pub fn T_dual_quat_conjugate(
32333        DualQuaternion: Htuple,
32334        DualQuaternionConjugate: *mut Htuple,
32335    ) -> Herror;
32336}
32337unsafe extern "C" {
32338    pub fn T_dual_quat_interpolate(
32339        DualQuaternionStart: Htuple,
32340        DualQuaternionEnd: Htuple,
32341        InterpPos: Htuple,
32342        DualQuaternionInterpolated: *mut Htuple,
32343    ) -> Herror;
32344}
32345unsafe extern "C" {
32346    pub fn T_dual_quat_normalize(
32347        DualQuaternion: Htuple,
32348        DualQuaternionNormalized: *mut Htuple,
32349    ) -> Herror;
32350}
32351unsafe extern "C" {
32352    pub fn T_dual_quat_to_hom_mat3d(DualQuaternion: Htuple, HomMat3D: *mut Htuple) -> Herror;
32353}
32354unsafe extern "C" {
32355    pub fn T_dual_quat_to_pose(DualQuaternion: Htuple, Pose: *mut Htuple) -> Herror;
32356}
32357unsafe extern "C" {
32358    pub fn T_dual_quat_to_screw(
32359        DualQuaternion: Htuple,
32360        ScrewFormat: Htuple,
32361        AxisDirectionX: *mut Htuple,
32362        AxisDirectionY: *mut Htuple,
32363        AxisDirectionZ: *mut Htuple,
32364        AxisMomentOrPointX: *mut Htuple,
32365        AxisMomentOrPointY: *mut Htuple,
32366        AxisMomentOrPointZ: *mut Htuple,
32367        Rotation: *mut Htuple,
32368        Translation: *mut Htuple,
32369    ) -> Herror;
32370}
32371unsafe extern "C" {
32372    pub fn T_dual_quat_trans_line_3d(
32373        DualQuaternion: Htuple,
32374        LineFormat: Htuple,
32375        LineDirectionX: Htuple,
32376        LineDirectionY: Htuple,
32377        LineDirectionZ: Htuple,
32378        LineMomentOrPointX: Htuple,
32379        LineMomentOrPointY: Htuple,
32380        LineMomentOrPointZ: Htuple,
32381        TransLineDirectionX: *mut Htuple,
32382        TransLineDirectionY: *mut Htuple,
32383        TransLineDirectionZ: *mut Htuple,
32384        TransLineMomentOrPointX: *mut Htuple,
32385        TransLineMomentOrPointY: *mut Htuple,
32386        TransLineMomentOrPointZ: *mut Htuple,
32387    ) -> Herror;
32388}
32389unsafe extern "C" {
32390    pub fn T_edges_object_model_3d(
32391        ObjectModel3D: Htuple,
32392        MinAmplitude: Htuple,
32393        GenParamName: Htuple,
32394        GenParamValue: Htuple,
32395        ObjectModel3DEdges: *mut Htuple,
32396    ) -> Herror;
32397}
32398unsafe extern "C" {
32399    pub fn edges_object_model_3d(
32400        ObjectModel3D: Hlong,
32401        MinAmplitude: f64,
32402        GenParamName: *const ::std::os::raw::c_char,
32403        GenParamValue: f64,
32404        ObjectModel3DEdges: *mut Hlong,
32405    ) -> Herror;
32406}
32407unsafe extern "C" {
32408    pub fn T_find_ncc_models(
32409        Image: Hobject,
32410        ModelIDs: Htuple,
32411        AngleStart: Htuple,
32412        AngleExtent: Htuple,
32413        MinScore: Htuple,
32414        NumMatches: Htuple,
32415        MaxOverlap: Htuple,
32416        SubPixel: Htuple,
32417        NumLevels: Htuple,
32418        Row: *mut Htuple,
32419        Column: *mut Htuple,
32420        Angle: *mut Htuple,
32421        Score: *mut Htuple,
32422        Model: *mut Htuple,
32423    ) -> Herror;
32424}
32425unsafe extern "C" {
32426    pub fn T_find_surface_model_image(
32427        Image: Hobject,
32428        SurfaceModelID: Htuple,
32429        ObjectModel3D: Htuple,
32430        RelSamplingDistance: Htuple,
32431        KeyPointFraction: Htuple,
32432        MinScore: Htuple,
32433        ReturnResultHandle: Htuple,
32434        GenParamName: Htuple,
32435        GenParamValue: Htuple,
32436        Pose: *mut Htuple,
32437        Score: *mut Htuple,
32438        SurfaceMatchingResultID: *mut Htuple,
32439    ) -> Herror;
32440}
32441unsafe extern "C" {
32442    pub fn T_flush_buffer(WindowHandle: Htuple) -> Herror;
32443}
32444unsafe extern "C" {
32445    pub fn flush_buffer(WindowHandle: Hlong) -> Herror;
32446}
32447unsafe extern "C" {
32448    pub fn T_get_ncc_model_region(ModelRegion: *mut Hobject, ModelID: Htuple) -> Herror;
32449}
32450unsafe extern "C" {
32451    pub fn get_ncc_model_region(ModelRegion: *mut Hobject, ModelID: Hlong) -> Herror;
32452}
32453unsafe extern "C" {
32454    pub fn T_get_params_ocr_class_cnn(
32455        OCRHandle: Htuple,
32456        GenParamName: Htuple,
32457        GenParamValue: *mut Htuple,
32458    ) -> Herror;
32459}
32460unsafe extern "C" {
32461    pub fn get_params_ocr_class_cnn(
32462        OCRHandle: Hlong,
32463        GenParamName: *const ::std::os::raw::c_char,
32464        GenParamValue: *mut Hlong,
32465    ) -> Herror;
32466}
32467unsafe extern "C" {
32468    pub fn T_get_rgba(
32469        WindowHandle: Htuple,
32470        Red: *mut Htuple,
32471        Green: *mut Htuple,
32472        Blue: *mut Htuple,
32473        Alpha: *mut Htuple,
32474    ) -> Herror;
32475}
32476unsafe extern "C" {
32477    pub fn T_get_stereo_model_object_model_3d(
32478        StereoModelID: Htuple,
32479        GenParamName: Htuple,
32480        ObjectModel3D: *mut Htuple,
32481    ) -> Herror;
32482}
32483unsafe extern "C" {
32484    pub fn get_stereo_model_object_model_3d(
32485        StereoModelID: Hlong,
32486        GenParamName: *const ::std::os::raw::c_char,
32487        ObjectModel3D: *mut Hlong,
32488    ) -> Herror;
32489}
32490unsafe extern "C" {
32491    pub fn T_get_texture_inspection_model_image(
32492        ModelImages: *mut Hobject,
32493        TextureInspectionModel: Htuple,
32494    ) -> Herror;
32495}
32496unsafe extern "C" {
32497    pub fn get_texture_inspection_model_image(
32498        ModelImages: *mut Hobject,
32499        TextureInspectionModel: Hlong,
32500    ) -> Herror;
32501}
32502unsafe extern "C" {
32503    pub fn T_get_texture_inspection_model_param(
32504        TextureInspectionModel: Htuple,
32505        GenParamName: Htuple,
32506        GenParamValue: *mut Htuple,
32507    ) -> Herror;
32508}
32509unsafe extern "C" {
32510    pub fn get_texture_inspection_model_param(
32511        TextureInspectionModel: Hlong,
32512        GenParamName: *const ::std::os::raw::c_char,
32513        GenParamValue: *mut Hlong,
32514    ) -> Herror;
32515}
32516unsafe extern "C" {
32517    pub fn T_get_texture_inspection_result_object(
32518        Object: *mut Hobject,
32519        TextureInspectionResultID: Htuple,
32520        ResultName: Htuple,
32521    ) -> Herror;
32522}
32523unsafe extern "C" {
32524    pub fn get_texture_inspection_result_object(
32525        Object: *mut Hobject,
32526        TextureInspectionResultID: Hlong,
32527        ResultName: *const ::std::os::raw::c_char,
32528    ) -> Herror;
32529}
32530unsafe extern "C" {
32531    pub fn T_guided_filter(
32532        Image: Hobject,
32533        ImageGuide: Hobject,
32534        ImageGuided: *mut Hobject,
32535        Radius: Htuple,
32536        Amplitude: Htuple,
32537    ) -> Herror;
32538}
32539unsafe extern "C" {
32540    pub fn guided_filter(
32541        Image: Hobject,
32542        ImageGuide: Hobject,
32543        ImageGuided: *mut Hobject,
32544        Radius: Hlong,
32545        Amplitude: f64,
32546    ) -> Herror;
32547}
32548unsafe extern "C" {
32549    pub fn T_interleave_channels(
32550        MultichannelImage: Hobject,
32551        InterleavedImage: *mut Hobject,
32552        PixelFormat: Htuple,
32553        RowBytes: Htuple,
32554        Alpha: Htuple,
32555    ) -> Herror;
32556}
32557unsafe extern "C" {
32558    pub fn interleave_channels(
32559        MultichannelImage: Hobject,
32560        InterleavedImage: *mut Hobject,
32561        PixelFormat: *const ::std::os::raw::c_char,
32562        RowBytes: *const ::std::os::raw::c_char,
32563        Alpha: Hlong,
32564    ) -> Herror;
32565}
32566unsafe extern "C" {
32567    pub fn T_pose_to_dual_quat(Pose: Htuple, DualQuaternion: *mut Htuple) -> Herror;
32568}
32569unsafe extern "C" {
32570    pub fn T_query_params_ocr_class_cnn(OCRHandle: Htuple, GenParamName: *mut Htuple) -> Herror;
32571}
32572unsafe extern "C" {
32573    pub fn query_params_ocr_class_cnn(
32574        OCRHandle: Hlong,
32575        GenParamName: *mut ::std::os::raw::c_char,
32576    ) -> Herror;
32577}
32578unsafe extern "C" {
32579    pub fn T_read_ocr_class_cnn(FileName: Htuple, OCRHandle: *mut Htuple) -> Herror;
32580}
32581unsafe extern "C" {
32582    pub fn read_ocr_class_cnn(
32583        FileName: *const ::std::os::raw::c_char,
32584        OCRHandle: *mut Hlong,
32585    ) -> Herror;
32586}
32587unsafe extern "C" {
32588    pub fn T_read_texture_inspection_model(
32589        FileName: Htuple,
32590        TextureInspectionModel: *mut Htuple,
32591    ) -> Herror;
32592}
32593unsafe extern "C" {
32594    pub fn read_texture_inspection_model(
32595        FileName: *const ::std::os::raw::c_char,
32596        TextureInspectionModel: *mut Hlong,
32597    ) -> Herror;
32598}
32599unsafe extern "C" {
32600    pub fn T_refine_surface_model_pose_image(
32601        Image: Hobject,
32602        SurfaceModelID: Htuple,
32603        ObjectModel3D: Htuple,
32604        InitialPose: Htuple,
32605        MinScore: Htuple,
32606        ReturnResultHandle: Htuple,
32607        GenParamName: Htuple,
32608        GenParamValue: Htuple,
32609        Pose: *mut Htuple,
32610        Score: *mut Htuple,
32611        SurfaceMatchingResultID: *mut Htuple,
32612    ) -> Herror;
32613}
32614unsafe extern "C" {
32615    pub fn T_remove_texture_inspection_model_image(
32616        TextureInspectionModel: Htuple,
32617        Indices: Htuple,
32618        RemainingIndices: *mut Htuple,
32619    ) -> Herror;
32620}
32621unsafe extern "C" {
32622    pub fn T_screw_to_dual_quat(
32623        ScrewFormat: Htuple,
32624        AxisDirectionX: Htuple,
32625        AxisDirectionY: Htuple,
32626        AxisDirectionZ: Htuple,
32627        AxisMomentOrPointX: Htuple,
32628        AxisMomentOrPointY: Htuple,
32629        AxisMomentOrPointZ: Htuple,
32630        Rotation: Htuple,
32631        Translation: Htuple,
32632        DualQuaternion: *mut Htuple,
32633    ) -> Herror;
32634}
32635unsafe extern "C" {
32636    pub fn T_segment_image_mser(
32637        Image: Hobject,
32638        MSERDark: *mut Hobject,
32639        MSERLight: *mut Hobject,
32640        Polarity: Htuple,
32641        MinArea: Htuple,
32642        MaxArea: Htuple,
32643        Delta: Htuple,
32644        GenParamName: Htuple,
32645        GenParamValue: Htuple,
32646    ) -> Herror;
32647}
32648unsafe extern "C" {
32649    pub fn T_send_mouse_double_click_event(
32650        WindowHandle: Htuple,
32651        Row: Htuple,
32652        Column: Htuple,
32653        Button: Htuple,
32654        Processed: *mut Htuple,
32655    ) -> Herror;
32656}
32657unsafe extern "C" {
32658    pub fn send_mouse_double_click_event(
32659        WindowHandle: Hlong,
32660        Row: Hlong,
32661        Column: Hlong,
32662        Button: Hlong,
32663        Processed: *mut ::std::os::raw::c_char,
32664    ) -> Herror;
32665}
32666unsafe extern "C" {
32667    pub fn T_send_mouse_down_event(
32668        WindowHandle: Htuple,
32669        Row: Htuple,
32670        Column: Htuple,
32671        Button: Htuple,
32672        Processed: *mut Htuple,
32673    ) -> Herror;
32674}
32675unsafe extern "C" {
32676    pub fn send_mouse_down_event(
32677        WindowHandle: Hlong,
32678        Row: Hlong,
32679        Column: Hlong,
32680        Button: Hlong,
32681        Processed: *mut ::std::os::raw::c_char,
32682    ) -> Herror;
32683}
32684unsafe extern "C" {
32685    pub fn T_send_mouse_drag_event(
32686        WindowHandle: Htuple,
32687        Row: Htuple,
32688        Column: Htuple,
32689        Button: Htuple,
32690        Processed: *mut Htuple,
32691    ) -> Herror;
32692}
32693unsafe extern "C" {
32694    pub fn send_mouse_drag_event(
32695        WindowHandle: Hlong,
32696        Row: Hlong,
32697        Column: Hlong,
32698        Button: Hlong,
32699        Processed: *mut ::std::os::raw::c_char,
32700    ) -> Herror;
32701}
32702unsafe extern "C" {
32703    pub fn T_send_mouse_up_event(
32704        WindowHandle: Htuple,
32705        Row: Htuple,
32706        Column: Htuple,
32707        Button: Htuple,
32708        Processed: *mut Htuple,
32709    ) -> Herror;
32710}
32711unsafe extern "C" {
32712    pub fn send_mouse_up_event(
32713        WindowHandle: Hlong,
32714        Row: Hlong,
32715        Column: Hlong,
32716        Button: Hlong,
32717        Processed: *mut ::std::os::raw::c_char,
32718    ) -> Herror;
32719}
32720unsafe extern "C" {
32721    pub fn T_serialize_dual_quat(
32722        DualQuaternion: Htuple,
32723        SerializedItemHandle: *mut Htuple,
32724    ) -> Herror;
32725}
32726unsafe extern "C" {
32727    pub fn T_serialize_ocr_class_cnn(
32728        OCRHandle: Htuple,
32729        SerializedItemHandle: *mut Htuple,
32730    ) -> Herror;
32731}
32732unsafe extern "C" {
32733    pub fn serialize_ocr_class_cnn(OCRHandle: Hlong, SerializedItemHandle: *mut Hlong) -> Herror;
32734}
32735unsafe extern "C" {
32736    pub fn T_serialize_texture_inspection_model(
32737        TextureInspectionModel: Htuple,
32738        SerializedItemHandle: *mut Htuple,
32739    ) -> Herror;
32740}
32741unsafe extern "C" {
32742    pub fn serialize_texture_inspection_model(
32743        TextureInspectionModel: Hlong,
32744        SerializedItemHandle: *mut Hlong,
32745    ) -> Herror;
32746}
32747unsafe extern "C" {
32748    pub fn T_set_content_update_callback(
32749        WindowHandle: Htuple,
32750        CallbackFunction: Htuple,
32751        CallbackContext: Htuple,
32752    ) -> Herror;
32753}
32754unsafe extern "C" {
32755    pub fn set_content_update_callback(
32756        WindowHandle: Hlong,
32757        CallbackFunction: Hlong,
32758        CallbackContext: Hlong,
32759    ) -> Herror;
32760}
32761unsafe extern "C" {
32762    pub fn T_set_rgba(
32763        WindowHandle: Htuple,
32764        Red: Htuple,
32765        Green: Htuple,
32766        Blue: Htuple,
32767        Alpha: Htuple,
32768    ) -> Herror;
32769}
32770unsafe extern "C" {
32771    pub fn set_rgba(
32772        WindowHandle: Hlong,
32773        Red: Hlong,
32774        Green: Hlong,
32775        Blue: Hlong,
32776        Alpha: Hlong,
32777    ) -> Herror;
32778}
32779unsafe extern "C" {
32780    pub fn T_set_surface_model_param(
32781        SurfaceModelID: Htuple,
32782        GenParamName: Htuple,
32783        GenParamValue: Htuple,
32784    ) -> Herror;
32785}
32786unsafe extern "C" {
32787    pub fn set_surface_model_param(
32788        SurfaceModelID: Hlong,
32789        GenParamName: *const ::std::os::raw::c_char,
32790        GenParamValue: f64,
32791    ) -> Herror;
32792}
32793unsafe extern "C" {
32794    pub fn T_set_texture_inspection_model_param(
32795        TextureInspectionModel: Htuple,
32796        GenParamName: Htuple,
32797        GenParamValue: Htuple,
32798    ) -> Herror;
32799}
32800unsafe extern "C" {
32801    pub fn set_texture_inspection_model_param(
32802        TextureInspectionModel: Hlong,
32803        GenParamName: *const ::std::os::raw::c_char,
32804        GenParamValue: Hlong,
32805    ) -> Herror;
32806}
32807unsafe extern "C" {
32808    pub fn T_train_texture_inspection_model(TextureInspectionModel: Htuple) -> Herror;
32809}
32810unsafe extern "C" {
32811    pub fn train_texture_inspection_model(TextureInspectionModel: Hlong) -> Herror;
32812}
32813unsafe extern "C" {
32814    pub fn T_write_texture_inspection_model(
32815        TextureInspectionModel: Htuple,
32816        FileName: Htuple,
32817    ) -> Herror;
32818}
32819unsafe extern "C" {
32820    pub fn write_texture_inspection_model(
32821        TextureInspectionModel: Hlong,
32822        FileName: *const ::std::os::raw::c_char,
32823    ) -> Herror;
32824}
32825unsafe extern "C" {
32826    pub fn T_uncalibrated_photometric_stereo(
32827        Images: Hobject,
32828        NormalField: *mut Hobject,
32829        Gradient: *mut Hobject,
32830        Albedo: *mut Hobject,
32831        ResultType: Htuple,
32832    ) -> Herror;
32833}
32834unsafe extern "C" {
32835    pub fn T_apply_dl_classifier(
32836        Images: Hobject,
32837        DLClassifierHandle: Htuple,
32838        DLClassifierResultHandle: *mut Htuple,
32839    ) -> Herror;
32840}
32841unsafe extern "C" {
32842    pub fn apply_dl_classifier(
32843        Images: Hobject,
32844        DLClassifierHandle: Hlong,
32845        DLClassifierResultHandle: *mut Hlong,
32846    ) -> Herror;
32847}
32848unsafe extern "C" {
32849    pub fn T_clear_dl_classifier(DLClassifierHandle: Htuple) -> Herror;
32850}
32851unsafe extern "C" {
32852    pub fn clear_dl_classifier(DLClassifierHandle: Hlong) -> Herror;
32853}
32854unsafe extern "C" {
32855    pub fn T_clear_dl_classifier_result(DLClassifierResultHandle: Htuple) -> Herror;
32856}
32857unsafe extern "C" {
32858    pub fn clear_dl_classifier_result(DLClassifierResultHandle: Hlong) -> Herror;
32859}
32860unsafe extern "C" {
32861    pub fn T_clear_dl_classifier_train_result(DLClassifierTrainResultHandle: Htuple) -> Herror;
32862}
32863unsafe extern "C" {
32864    pub fn clear_dl_classifier_train_result(DLClassifierTrainResultHandle: Hlong) -> Herror;
32865}
32866unsafe extern "C" {
32867    pub fn T_clear_structured_light_model(StructuredLightModel: Htuple) -> Herror;
32868}
32869unsafe extern "C" {
32870    pub fn clear_structured_light_model(StructuredLightModel: Hlong) -> Herror;
32871}
32872unsafe extern "C" {
32873    pub fn T_create_structured_light_model(
32874        ModelType: Htuple,
32875        StructuredLightModel: *mut Htuple,
32876    ) -> Herror;
32877}
32878unsafe extern "C" {
32879    pub fn create_structured_light_model(
32880        ModelType: *const ::std::os::raw::c_char,
32881        StructuredLightModel: *mut Hlong,
32882    ) -> Herror;
32883}
32884unsafe extern "C" {
32885    pub fn T_decode_structured_light_pattern(
32886        CameraImages: Hobject,
32887        StructuredLightModel: Htuple,
32888    ) -> Herror;
32889}
32890unsafe extern "C" {
32891    pub fn decode_structured_light_pattern(
32892        CameraImages: Hobject,
32893        StructuredLightModel: Hlong,
32894    ) -> Herror;
32895}
32896unsafe extern "C" {
32897    pub fn T_deserialize_dl_classifier(
32898        SerializedItemHandle: Htuple,
32899        DLClassifierHandle: *mut Htuple,
32900    ) -> Herror;
32901}
32902unsafe extern "C" {
32903    pub fn deserialize_dl_classifier(
32904        SerializedItemHandle: Hlong,
32905        DLClassifierHandle: *mut Hlong,
32906    ) -> Herror;
32907}
32908unsafe extern "C" {
32909    pub fn T_deserialize_structured_light_model(
32910        SerializedItemHandle: Htuple,
32911        StructuredLightModel: *mut Htuple,
32912    ) -> Herror;
32913}
32914unsafe extern "C" {
32915    pub fn deserialize_structured_light_model(
32916        SerializedItemHandle: Hlong,
32917        StructuredLightModel: *mut Hlong,
32918    ) -> Herror;
32919}
32920unsafe extern "C" {
32921    pub fn T_distance_cc_min_points(
32922        Contour1: Hobject,
32923        Contour2: Hobject,
32924        Mode: Htuple,
32925        DistanceMin: *mut Htuple,
32926        Row1: *mut Htuple,
32927        Column1: *mut Htuple,
32928        Row2: *mut Htuple,
32929        Column2: *mut Htuple,
32930    ) -> Herror;
32931}
32932unsafe extern "C" {
32933    pub fn distance_cc_min_points(
32934        Contour1: Hobject,
32935        Contour2: Hobject,
32936        Mode: *const ::std::os::raw::c_char,
32937        DistanceMin: *mut f64,
32938        Row1: *mut f64,
32939        Column1: *mut f64,
32940        Row2: *mut f64,
32941        Column2: *mut f64,
32942    ) -> Herror;
32943}
32944unsafe extern "C" {
32945    pub fn T_fuse_object_model_3d(
32946        ObjectModel3D: Htuple,
32947        BoundingBox: Htuple,
32948        Resolution: Htuple,
32949        SurfaceTolerance: Htuple,
32950        MinThickness: Htuple,
32951        Smoothing: Htuple,
32952        NormalDirection: Htuple,
32953        GenParamName: Htuple,
32954        GenParamValue: Htuple,
32955        ObjectModel3DFusion: *mut Htuple,
32956    ) -> Herror;
32957}
32958unsafe extern "C" {
32959    pub fn T_gen_structured_light_pattern(
32960        PatternImages: *mut Hobject,
32961        StructuredLightModel: Htuple,
32962    ) -> Herror;
32963}
32964unsafe extern "C" {
32965    pub fn gen_structured_light_pattern(
32966        PatternImages: *mut Hobject,
32967        StructuredLightModel: Hlong,
32968    ) -> Herror;
32969}
32970unsafe extern "C" {
32971    pub fn T_get_dl_classifier_param(
32972        DLClassifierHandle: Htuple,
32973        GenParamName: Htuple,
32974        GenParamValue: *mut Htuple,
32975    ) -> Herror;
32976}
32977unsafe extern "C" {
32978    pub fn get_dl_classifier_param(
32979        DLClassifierHandle: Hlong,
32980        GenParamName: *const ::std::os::raw::c_char,
32981        GenParamValue: *mut Hlong,
32982    ) -> Herror;
32983}
32984unsafe extern "C" {
32985    pub fn T_get_dl_classifier_result(
32986        DLClassifierResultHandle: Htuple,
32987        Index: Htuple,
32988        GenResultName: Htuple,
32989        GenResultValue: *mut Htuple,
32990    ) -> Herror;
32991}
32992unsafe extern "C" {
32993    pub fn get_dl_classifier_result(
32994        DLClassifierResultHandle: Hlong,
32995        Index: *const ::std::os::raw::c_char,
32996        GenResultName: *const ::std::os::raw::c_char,
32997        GenResultValue: *mut f64,
32998    ) -> Herror;
32999}
33000unsafe extern "C" {
33001    pub fn T_get_dl_classifier_train_result(
33002        DLClassifierTrainResultHandle: Htuple,
33003        GenParamName: Htuple,
33004        GenParamValue: *mut Htuple,
33005    ) -> Herror;
33006}
33007unsafe extern "C" {
33008    pub fn get_dl_classifier_train_result(
33009        DLClassifierTrainResultHandle: Hlong,
33010        GenParamName: *const ::std::os::raw::c_char,
33011        GenParamValue: *mut f64,
33012    ) -> Herror;
33013}
33014unsafe extern "C" {
33015    pub fn T_get_structured_light_model_param(
33016        StructuredLightModel: Htuple,
33017        GenParamName: Htuple,
33018        GenParamValue: *mut Htuple,
33019    ) -> Herror;
33020}
33021unsafe extern "C" {
33022    pub fn get_structured_light_model_param(
33023        StructuredLightModel: Hlong,
33024        GenParamName: *const ::std::os::raw::c_char,
33025        GenParamValue: *mut Hlong,
33026    ) -> Herror;
33027}
33028unsafe extern "C" {
33029    pub fn T_get_structured_light_object(
33030        Object: *mut Hobject,
33031        StructuredLightModel: Htuple,
33032        ObjectName: Htuple,
33033    ) -> Herror;
33034}
33035unsafe extern "C" {
33036    pub fn get_structured_light_object(
33037        Object: *mut Hobject,
33038        StructuredLightModel: Hlong,
33039        ObjectName: *const ::std::os::raw::c_char,
33040    ) -> Herror;
33041}
33042unsafe extern "C" {
33043    pub fn T_height_width_ratio(
33044        Regions: Hobject,
33045        Height: *mut Htuple,
33046        Width: *mut Htuple,
33047        Ratio: *mut Htuple,
33048    ) -> Herror;
33049}
33050unsafe extern "C" {
33051    pub fn height_width_ratio(
33052        Regions: Hobject,
33053        Height: *mut Hlong,
33054        Width: *mut Hlong,
33055        Ratio: *mut f64,
33056    ) -> Herror;
33057}
33058unsafe extern "C" {
33059    pub fn T_height_width_ratio_xld(
33060        XLD: Hobject,
33061        Height: *mut Htuple,
33062        Width: *mut Htuple,
33063        Ratio: *mut Htuple,
33064    ) -> Herror;
33065}
33066unsafe extern "C" {
33067    pub fn height_width_ratio_xld(
33068        XLD: Hobject,
33069        Height: *mut f64,
33070        Width: *mut f64,
33071        Ratio: *mut f64,
33072    ) -> Herror;
33073}
33074unsafe extern "C" {
33075    pub fn T_insert_obj(
33076        Objects: Hobject,
33077        ObjectsInsert: Hobject,
33078        ObjectsExtended: *mut Hobject,
33079        Index: Htuple,
33080    ) -> Herror;
33081}
33082unsafe extern "C" {
33083    pub fn insert_obj(
33084        Objects: Hobject,
33085        ObjectsInsert: Hobject,
33086        ObjectsExtended: *mut Hobject,
33087        Index: Hlong,
33088    ) -> Herror;
33089}
33090unsafe extern "C" {
33091    pub fn T_read_dl_classifier(FileName: Htuple, DLClassifierHandle: *mut Htuple) -> Herror;
33092}
33093unsafe extern "C" {
33094    pub fn read_dl_classifier(
33095        FileName: *const ::std::os::raw::c_char,
33096        DLClassifierHandle: *mut Hlong,
33097    ) -> Herror;
33098}
33099unsafe extern "C" {
33100    pub fn T_read_structured_light_model(
33101        FileName: Htuple,
33102        StructuredLightModel: *mut Htuple,
33103    ) -> Herror;
33104}
33105unsafe extern "C" {
33106    pub fn read_structured_light_model(
33107        FileName: *const ::std::os::raw::c_char,
33108        StructuredLightModel: *mut Hlong,
33109    ) -> Herror;
33110}
33111unsafe extern "C" {
33112    pub fn T_remove_obj(Objects: Hobject, ObjectsReduced: *mut Hobject, Index: Htuple) -> Herror;
33113}
33114unsafe extern "C" {
33115    pub fn remove_obj(Objects: Hobject, ObjectsReduced: *mut Hobject, Index: Hlong) -> Herror;
33116}
33117unsafe extern "C" {
33118    pub fn T_replace_obj(
33119        Objects: Hobject,
33120        ObjectsReplace: Hobject,
33121        Replaced: *mut Hobject,
33122        Index: Htuple,
33123    ) -> Herror;
33124}
33125unsafe extern "C" {
33126    pub fn replace_obj(
33127        Objects: Hobject,
33128        ObjectsReplace: Hobject,
33129        Replaced: *mut Hobject,
33130        Index: Hlong,
33131    ) -> Herror;
33132}
33133unsafe extern "C" {
33134    pub fn T_serialize_dl_classifier(
33135        DLClassifierHandle: Htuple,
33136        SerializedItemHandle: *mut Htuple,
33137    ) -> Herror;
33138}
33139unsafe extern "C" {
33140    pub fn serialize_dl_classifier(
33141        DLClassifierHandle: Hlong,
33142        SerializedItemHandle: *mut Hlong,
33143    ) -> Herror;
33144}
33145unsafe extern "C" {
33146    pub fn T_serialize_structured_light_model(
33147        StructuredLightModel: Htuple,
33148        SerializedItemHandle: *mut Htuple,
33149    ) -> Herror;
33150}
33151unsafe extern "C" {
33152    pub fn serialize_structured_light_model(
33153        StructuredLightModel: Hlong,
33154        SerializedItemHandle: *mut Hlong,
33155    ) -> Herror;
33156}
33157unsafe extern "C" {
33158    pub fn T_set_dl_classifier_param(
33159        DLClassifierHandle: Htuple,
33160        GenParamName: Htuple,
33161        GenParamValue: Htuple,
33162    ) -> Herror;
33163}
33164unsafe extern "C" {
33165    pub fn set_dl_classifier_param(
33166        DLClassifierHandle: Hlong,
33167        GenParamName: *const ::std::os::raw::c_char,
33168        GenParamValue: *const ::std::os::raw::c_char,
33169    ) -> Herror;
33170}
33171unsafe extern "C" {
33172    pub fn T_set_operator_timeout(OperatorName: Htuple, Timeout: Htuple, Mode: Htuple) -> Herror;
33173}
33174unsafe extern "C" {
33175    pub fn set_operator_timeout(
33176        OperatorName: *const ::std::os::raw::c_char,
33177        Timeout: f64,
33178        Mode: *const ::std::os::raw::c_char,
33179    ) -> Herror;
33180}
33181unsafe extern "C" {
33182    pub fn T_set_structured_light_model_param(
33183        StructuredLightModel: Htuple,
33184        GenParamName: Htuple,
33185        GenParamValue: Htuple,
33186    ) -> Herror;
33187}
33188unsafe extern "C" {
33189    pub fn set_structured_light_model_param(
33190        StructuredLightModel: Hlong,
33191        GenParamName: *const ::std::os::raw::c_char,
33192        GenParamValue: Hlong,
33193    ) -> Herror;
33194}
33195unsafe extern "C" {
33196    pub fn T_train_dl_classifier_batch(
33197        BatchImages: Hobject,
33198        DLClassifierHandle: Htuple,
33199        BatchLabels: Htuple,
33200        DLClassifierTrainResultHandle: *mut Htuple,
33201    ) -> Herror;
33202}
33203unsafe extern "C" {
33204    pub fn T_write_dl_classifier(DLClassifierHandle: Htuple, FileName: Htuple) -> Herror;
33205}
33206unsafe extern "C" {
33207    pub fn write_dl_classifier(
33208        DLClassifierHandle: Hlong,
33209        FileName: *const ::std::os::raw::c_char,
33210    ) -> Herror;
33211}
33212unsafe extern "C" {
33213    pub fn T_write_structured_light_model(StructuredLightModel: Htuple, FileName: Htuple)
33214    -> Herror;
33215}
33216unsafe extern "C" {
33217    pub fn write_structured_light_model(
33218        StructuredLightModel: Hlong,
33219        FileName: *const ::std::os::raw::c_char,
33220    ) -> Herror;
33221}
33222unsafe extern "C" {
33223    pub fn T_clear_handle(Handle: Htuple) -> Herror;
33224}
33225unsafe extern "C" {
33226    pub fn clear_handle(Handle: Hlong) -> Herror;
33227}
33228unsafe extern "C" {
33229    pub fn T_deserialize_handle(SerializedItem: Htuple, Handle: *mut Htuple) -> Herror;
33230}
33231unsafe extern "C" {
33232    pub fn deserialize_handle(SerializedItem: Hlong, Handle: *mut Hlong) -> Herror;
33233}
33234unsafe extern "C" {
33235    pub fn T_handle_to_integer(Handle: Htuple, CastedHandle: *mut Htuple) -> Herror;
33236}
33237unsafe extern "C" {
33238    pub fn handle_to_integer(Handle: Hlong, CastedHandle: *mut Hlong) -> Herror;
33239}
33240unsafe extern "C" {
33241    pub fn T_integer_to_handle(IntegerHandle: Htuple, Handle: *mut Htuple) -> Herror;
33242}
33243unsafe extern "C" {
33244    pub fn integer_to_handle(IntegerHandle: Hlong, Handle: *mut Hlong) -> Herror;
33245}
33246unsafe extern "C" {
33247    pub fn T_serialize_handle(Handle: Htuple, SerializedItem: *mut Htuple) -> Herror;
33248}
33249unsafe extern "C" {
33250    pub fn serialize_handle(Handle: Hlong, SerializedItem: *mut Hlong) -> Herror;
33251}
33252unsafe extern "C" {
33253    pub fn T_tuple_is_handle(T: Htuple, IsHandle: *mut Htuple) -> Herror;
33254}
33255unsafe extern "C" {
33256    pub fn tuple_is_handle(T: Hlong, IsHandle: *mut Hlong) -> Herror;
33257}
33258unsafe extern "C" {
33259    pub fn T_tuple_is_handle_elem(T: Htuple, IsHandle: *mut Htuple) -> Herror;
33260}
33261unsafe extern "C" {
33262    pub fn tuple_is_handle_elem(T: Hlong, IsHandle: *mut Hlong) -> Herror;
33263}
33264unsafe extern "C" {
33265    pub fn T_tuple_is_serializable(Tuple: Htuple, IsSerializable: *mut Htuple) -> Herror;
33266}
33267unsafe extern "C" {
33268    pub fn tuple_is_serializable(Tuple: Hlong, IsSerializable: *mut Hlong) -> Herror;
33269}
33270unsafe extern "C" {
33271    pub fn T_tuple_is_serializable_elem(Tuple: Htuple, IsSerializableElem: *mut Htuple) -> Herror;
33272}
33273unsafe extern "C" {
33274    pub fn tuple_is_serializable_elem(Tuple: Hlong, IsSerializableElem: *mut Hlong) -> Herror;
33275}
33276unsafe extern "C" {
33277    pub fn T_tuple_is_valid_handle(Handle: Htuple, IsValid: *mut Htuple) -> Herror;
33278}
33279unsafe extern "C" {
33280    pub fn tuple_is_valid_handle(Handle: Hlong, IsValid: *mut Hlong) -> Herror;
33281}
33282unsafe extern "C" {
33283    pub fn T_tuple_sem_type(T: Htuple, SemType: *mut Htuple) -> Herror;
33284}
33285unsafe extern "C" {
33286    pub fn tuple_sem_type(T: Hlong, SemType: *mut ::std::os::raw::c_char) -> Herror;
33287}
33288unsafe extern "C" {
33289    pub fn T_tuple_sem_type_elem(T: Htuple, SemTypes: *mut Htuple) -> Herror;
33290}
33291unsafe extern "C" {
33292    pub fn tuple_sem_type_elem(T: Hlong, SemTypes: *mut ::std::os::raw::c_char) -> Herror;
33293}
33294unsafe extern "C" {
33295    pub fn T_apply_dl_model(
33296        DLModelHandle: Htuple,
33297        DLSampleBatch: Htuple,
33298        Outputs: Htuple,
33299        DLResultBatch: *mut Htuple,
33300    ) -> Herror;
33301}
33302unsafe extern "C" {
33303    pub fn T_clear_dl_model(DLModelHandle: Htuple) -> Herror;
33304}
33305unsafe extern "C" {
33306    pub fn T_copy_dict(
33307        DictHandle: Htuple,
33308        GenParamName: Htuple,
33309        GenParamValue: Htuple,
33310        CopiedDictHandle: *mut Htuple,
33311    ) -> Herror;
33312}
33313unsafe extern "C" {
33314    pub fn T_create_dict(DictHandle: *mut Htuple) -> Herror;
33315}
33316unsafe extern "C" {
33317    pub fn T_create_dl_model_detection(
33318        Backbone: Htuple,
33319        NumClasses: Htuple,
33320        DLModelDetectionParam: Htuple,
33321        DLModelHandle: *mut Htuple,
33322    ) -> Herror;
33323}
33324unsafe extern "C" {
33325    pub fn T_deserialize_dl_model(
33326        SerializedItemHandle: Htuple,
33327        DLModelHandle: *mut Htuple,
33328    ) -> Herror;
33329}
33330unsafe extern "C" {
33331    pub fn T_get_current_hthread_id(HThreadID: *mut Htuple) -> Herror;
33332}
33333unsafe extern "C" {
33334    pub fn get_current_hthread_id(HThreadID: *mut Hlong) -> Herror;
33335}
33336unsafe extern "C" {
33337    pub fn T_get_dict_object(Object: *mut Hobject, DictHandle: Htuple, Key: Htuple) -> Herror;
33338}
33339unsafe extern "C" {
33340    pub fn T_get_dict_param(
33341        DictHandle: Htuple,
33342        GenParamName: Htuple,
33343        Key: Htuple,
33344        GenParamValue: *mut Htuple,
33345    ) -> Herror;
33346}
33347unsafe extern "C" {
33348    pub fn T_get_dict_tuple(DictHandle: Htuple, Key: Htuple, Tuple: *mut Htuple) -> Herror;
33349}
33350unsafe extern "C" {
33351    pub fn T_get_dl_model_param(
33352        DLModelHandle: Htuple,
33353        GenParamName: Htuple,
33354        GenParamValue: *mut Htuple,
33355    ) -> Herror;
33356}
33357unsafe extern "C" {
33358    pub fn T_get_handle_object(Object: *mut Hobject, Handle: Htuple, Key: Htuple) -> Herror;
33359}
33360unsafe extern "C" {
33361    pub fn T_get_handle_param(
33362        Handle: Htuple,
33363        GenParamName: Htuple,
33364        Key: Htuple,
33365        GenParamValue: *mut Htuple,
33366    ) -> Herror;
33367}
33368unsafe extern "C" {
33369    pub fn T_get_handle_tuple(Handle: Htuple, Key: Htuple, Tuple: *mut Htuple) -> Herror;
33370}
33371unsafe extern "C" {
33372    pub fn T_get_system_info(Query: Htuple, Information: *mut Htuple) -> Herror;
33373}
33374unsafe extern "C" {
33375    pub fn get_system_info(Query: *const ::std::os::raw::c_char, Information: *mut Hlong)
33376    -> Herror;
33377}
33378unsafe extern "C" {
33379    pub fn T_interrupt_operator(HThreadID: Htuple, Mode: Htuple) -> Herror;
33380}
33381unsafe extern "C" {
33382    pub fn interrupt_operator(HThreadID: Hlong, Mode: *const ::std::os::raw::c_char) -> Herror;
33383}
33384unsafe extern "C" {
33385    pub fn T_read_dict(
33386        FileName: Htuple,
33387        GenParamName: Htuple,
33388        GenParamValue: Htuple,
33389        DictHandle: *mut Htuple,
33390    ) -> Herror;
33391}
33392unsafe extern "C" {
33393    pub fn T_read_dl_model(FileName: Htuple, DLModelHandle: *mut Htuple) -> Herror;
33394}
33395unsafe extern "C" {
33396    pub fn T_read_message(
33397        FileName: Htuple,
33398        GenParamName: Htuple,
33399        GenParamValue: Htuple,
33400        MessageHandle: *mut Htuple,
33401    ) -> Herror;
33402}
33403unsafe extern "C" {
33404    pub fn T_remove_dict_key(DictHandle: Htuple, Key: Htuple) -> Herror;
33405}
33406unsafe extern "C" {
33407    pub fn T_send_key_press_event(WindowHandle: Htuple, Char: Htuple, Code: Htuple) -> Herror;
33408}
33409unsafe extern "C" {
33410    pub fn send_key_press_event(
33411        WindowHandle: Hlong,
33412        Char: *const ::std::os::raw::c_char,
33413        Code: Hlong,
33414    ) -> Herror;
33415}
33416unsafe extern "C" {
33417    pub fn T_send_key_release_event(WindowHandle: Htuple, Char: Htuple, Code: Htuple) -> Herror;
33418}
33419unsafe extern "C" {
33420    pub fn send_key_release_event(
33421        WindowHandle: Hlong,
33422        Char: *const ::std::os::raw::c_char,
33423        Code: Hlong,
33424    ) -> Herror;
33425}
33426unsafe extern "C" {
33427    pub fn T_serialize_dl_model(DLModelHandle: Htuple, SerializedItemHandle: *mut Htuple)
33428    -> Herror;
33429}
33430unsafe extern "C" {
33431    pub fn T_set_dict_object(Object: Hobject, DictHandle: Htuple, Key: Htuple) -> Herror;
33432}
33433unsafe extern "C" {
33434    pub fn T_set_dict_tuple(DictHandle: Htuple, Key: Htuple, Tuple: Htuple) -> Herror;
33435}
33436unsafe extern "C" {
33437    pub fn T_set_dl_model_param(
33438        DLModelHandle: Htuple,
33439        GenParamName: Htuple,
33440        GenParamValue: Htuple,
33441    ) -> Herror;
33442}
33443unsafe extern "C" {
33444    pub fn T_train_dl_model_batch(
33445        DLModelHandle: Htuple,
33446        DLSampleBatch: Htuple,
33447        DLTrainResult: *mut Htuple,
33448    ) -> Herror;
33449}
33450unsafe extern "C" {
33451    pub fn T_write_dict(
33452        DictHandle: Htuple,
33453        FileName: Htuple,
33454        GenParamName: Htuple,
33455        GenParamValue: Htuple,
33456    ) -> Herror;
33457}
33458unsafe extern "C" {
33459    pub fn T_write_dl_model(DLModelHandle: Htuple, FileName: Htuple) -> Herror;
33460}
33461unsafe extern "C" {
33462    pub fn T_write_message(
33463        MessageHandle: Htuple,
33464        FileName: Htuple,
33465        GenParamName: Htuple,
33466        GenParamValue: Htuple,
33467    ) -> Herror;
33468}
33469unsafe extern "C" {
33470    pub fn T_area_intersection_rectangle2(
33471        Rect1Row: Htuple,
33472        Rect1Column: Htuple,
33473        Rect1Phi: Htuple,
33474        Rect1Length1: Htuple,
33475        Rect1Length2: Htuple,
33476        Rect2Row: Htuple,
33477        Rect2Column: Htuple,
33478        Rect2Phi: Htuple,
33479        Rect2Length1: Htuple,
33480        Rect2Length2: Htuple,
33481        AreaIntersection: *mut Htuple,
33482    ) -> Herror;
33483}
33484unsafe extern "C" {
33485    pub fn area_intersection_rectangle2(
33486        Rect1Row: f64,
33487        Rect1Column: f64,
33488        Rect1Phi: f64,
33489        Rect1Length1: f64,
33490        Rect1Length2: f64,
33491        Rect2Row: f64,
33492        Rect2Column: f64,
33493        Rect2Phi: f64,
33494        Rect2Length1: f64,
33495        Rect2Length2: f64,
33496        AreaIntersection: *mut f64,
33497    ) -> Herror;
33498}
33499unsafe extern "C" {
33500    pub fn T_get_contour_style(WindowHandle: Htuple, Style: *mut Htuple) -> Herror;
33501}
33502unsafe extern "C" {
33503    pub fn T_get_shape_model_clutter(
33504        ClutterRegion: *mut Hobject,
33505        ModelID: Htuple,
33506        GenParamName: Htuple,
33507        GenParamValue: *mut Htuple,
33508        HomMat2D: *mut Htuple,
33509        ClutterContrast: *mut Htuple,
33510    ) -> Herror;
33511}
33512unsafe extern "C" {
33513    pub fn T_set_contour_style(WindowHandle: Htuple, Style: Htuple) -> Herror;
33514}
33515unsafe extern "C" {
33516    pub fn T_set_shape_model_clutter(
33517        ClutterRegion: Hobject,
33518        ModelID: Htuple,
33519        HomMat2D: Htuple,
33520        ClutterContrast: Htuple,
33521        GenParamName: Htuple,
33522        GenParamValue: Htuple,
33523    ) -> Herror;
33524}
33525unsafe extern "C" {
33526    pub fn T_find_box_3d(
33527        ObjectModel3DScene: Htuple,
33528        SideLen1: Htuple,
33529        SideLen2: Htuple,
33530        SideLen3: Htuple,
33531        MinScore: Htuple,
33532        GenParam: Htuple,
33533        GrippingPose: *mut Htuple,
33534        Score: *mut Htuple,
33535        ObjectModel3DBox: *mut Htuple,
33536        BoxInformation: *mut Htuple,
33537    ) -> Herror;
33538}
33539unsafe extern "C" {
33540    pub fn T_fread_bytes(
33541        FileHandle: Htuple,
33542        NumberOfBytes: Htuple,
33543        ReadData: *mut Htuple,
33544        IsEOF: *mut Htuple,
33545    ) -> Herror;
33546}
33547unsafe extern "C" {
33548    pub fn T_fwrite_bytes(
33549        FileHandle: Htuple,
33550        DataToWrite: Htuple,
33551        NumberOfBytesWritten: *mut Htuple,
33552    ) -> Herror;
33553}
33554unsafe extern "C" {
33555    pub fn T_gen_dl_model_heatmap(
33556        DLModelHandle: Htuple,
33557        DLSample: Htuple,
33558        HeatmapMethod: Htuple,
33559        TargetClasses: Htuple,
33560        GenParam: Htuple,
33561        DLResult: *mut Htuple,
33562    ) -> Herror;
33563}
33564unsafe extern "C" {
33565    pub fn T_read_image_metadata(
33566        Format: Htuple,
33567        TagName: Htuple,
33568        FileName: Htuple,
33569        TagValue: *mut Htuple,
33570    ) -> Herror;
33571}
33572unsafe extern "C" {
33573    pub fn read_image_metadata(
33574        Format: *const ::std::os::raw::c_char,
33575        TagName: *const ::std::os::raw::c_char,
33576        FileName: *const ::std::os::raw::c_char,
33577        TagValue: *mut ::std::os::raw::c_char,
33578    ) -> Herror;
33579}
33580unsafe extern "C" {
33581    pub fn T_rectangularity_xld(XLD: Hobject, Rectangularity: *mut Htuple) -> Herror;
33582}
33583unsafe extern "C" {
33584    pub fn rectangularity_xld(XLD: Hobject, Rectangularity: *mut f64) -> Herror;
33585}
33586unsafe extern "C" {
33587    pub fn T_remove_object_model_3d_attrib(
33588        ObjectModel3D: Htuple,
33589        Attributes: Htuple,
33590        ObjectModel3DOut: *mut Htuple,
33591    ) -> Herror;
33592}
33593unsafe extern "C" {
33594    pub fn T_remove_object_model_3d_attrib_mod(ObjectModel3D: Htuple, Attributes: Htuple)
33595    -> Herror;
33596}
33597unsafe extern "C" {
33598    pub fn T_train_dl_model_anomaly_dataset(
33599        DLModelHandle: Htuple,
33600        DLSamples: Htuple,
33601        DLTrainParam: Htuple,
33602        DLTrainResult: *mut Htuple,
33603    ) -> Herror;
33604}
33605unsafe extern "C" {
33606    pub fn T_watersheds_marker(Image: Hobject, Markers: Hobject, Basins: *mut Hobject) -> Herror;
33607}
33608unsafe extern "C" {
33609    pub fn watersheds_marker(Image: Hobject, Markers: Hobject, Basins: *mut Hobject) -> Herror;
33610}
33611unsafe extern "C" {
33612    pub fn T_write_image_metadata(
33613        Format: Htuple,
33614        TagName: Htuple,
33615        TagValue: Htuple,
33616        FileName: Htuple,
33617    ) -> Herror;
33618}
33619unsafe extern "C" {
33620    pub fn write_image_metadata(
33621        Format: *const ::std::os::raw::c_char,
33622        TagName: *const ::std::os::raw::c_char,
33623        TagValue: *const ::std::os::raw::c_char,
33624        FileName: *const ::std::os::raw::c_char,
33625    ) -> Herror;
33626}
33627unsafe extern "C" {
33628    pub fn T_tuple_acosh(T: Htuple, Acosh: *mut Htuple) -> Herror;
33629}
33630unsafe extern "C" {
33631    pub fn tuple_acosh(T: f64, Acosh: *mut f64) -> Herror;
33632}
33633unsafe extern "C" {
33634    pub fn T_tuple_asinh(T: Htuple, Asinh: *mut Htuple) -> Herror;
33635}
33636unsafe extern "C" {
33637    pub fn tuple_asinh(T: f64, Asinh: *mut f64) -> Herror;
33638}
33639unsafe extern "C" {
33640    pub fn T_tuple_atanh(T: Htuple, Atanh: *mut Htuple) -> Herror;
33641}
33642unsafe extern "C" {
33643    pub fn tuple_atanh(T: f64, Atanh: *mut f64) -> Herror;
33644}
33645unsafe extern "C" {
33646    pub fn T_tuple_cbrt(T: Htuple, Cbrt: *mut Htuple) -> Herror;
33647}
33648unsafe extern "C" {
33649    pub fn tuple_cbrt(T: f64, Cbrt: *mut f64) -> Herror;
33650}
33651unsafe extern "C" {
33652    pub fn T_tuple_erf(T: Htuple, Erf: *mut Htuple) -> Herror;
33653}
33654unsafe extern "C" {
33655    pub fn tuple_erf(T: f64, Erf: *mut f64) -> Herror;
33656}
33657unsafe extern "C" {
33658    pub fn T_tuple_erfc(T: Htuple, Erfc: *mut Htuple) -> Herror;
33659}
33660unsafe extern "C" {
33661    pub fn tuple_erfc(T: f64, Erfc: *mut f64) -> Herror;
33662}
33663unsafe extern "C" {
33664    pub fn T_tuple_exp10(T: Htuple, Exp: *mut Htuple) -> Herror;
33665}
33666unsafe extern "C" {
33667    pub fn tuple_exp10(T: f64, Exp: *mut f64) -> Herror;
33668}
33669unsafe extern "C" {
33670    pub fn T_tuple_exp2(T: Htuple, Exp: *mut Htuple) -> Herror;
33671}
33672unsafe extern "C" {
33673    pub fn tuple_exp2(T: f64, Exp: *mut f64) -> Herror;
33674}
33675unsafe extern "C" {
33676    pub fn T_tuple_hypot(T1: Htuple, T2: Htuple, Hypot: *mut Htuple) -> Herror;
33677}
33678unsafe extern "C" {
33679    pub fn tuple_hypot(T1: f64, T2: f64, Hypot: *mut f64) -> Herror;
33680}
33681unsafe extern "C" {
33682    pub fn T_tuple_lgamma(T: Htuple, LogGamma: *mut Htuple) -> Herror;
33683}
33684unsafe extern "C" {
33685    pub fn tuple_lgamma(T: f64, LogGamma: *mut f64) -> Herror;
33686}
33687unsafe extern "C" {
33688    pub fn T_tuple_log2(T: Htuple, Log: *mut Htuple) -> Herror;
33689}
33690unsafe extern "C" {
33691    pub fn tuple_log2(T: f64, Log: *mut f64) -> Herror;
33692}
33693unsafe extern "C" {
33694    pub fn T_tuple_tgamma(T: Htuple, Gamma: *mut Htuple) -> Herror;
33695}
33696unsafe extern "C" {
33697    pub fn tuple_tgamma(T: f64, Gamma: *mut f64) -> Herror;
33698}
33699unsafe extern "C" {
33700    pub fn T_adapt_shape_model_high_noise(
33701        ImageReduced: Hobject,
33702        ModelID: Htuple,
33703        GenParam: Htuple,
33704        ResultDict: *mut Htuple,
33705    ) -> Herror;
33706}
33707unsafe extern "C" {
33708    pub fn T_add_dl_pruning_batch(
33709        DLModelHandleToPrune: Htuple,
33710        DLPruningHandle: Htuple,
33711        DLSampleBatch: Htuple,
33712    ) -> Herror;
33713}
33714unsafe extern "C" {
33715    pub fn T_apply_deep_ocr(
33716        Image: Hobject,
33717        DeepOcrHandle: Htuple,
33718        Mode: Htuple,
33719        DeepOcrResult: *mut Htuple,
33720    ) -> Herror;
33721}
33722unsafe extern "C" {
33723    pub fn T_create_deep_ocr(
33724        GenParamName: Htuple,
33725        GenParamValue: Htuple,
33726        DeepOcrHandle: *mut Htuple,
33727    ) -> Herror;
33728}
33729unsafe extern "C" {
33730    pub fn T_create_dl_pruning(
33731        DLModelHandle: Htuple,
33732        Mode: Htuple,
33733        GenParam: Htuple,
33734        DLPruningHandle: *mut Htuple,
33735    ) -> Herror;
33736}
33737unsafe extern "C" {
33738    pub fn T_crop_rectangle2(
33739        Image: Hobject,
33740        ImagePart: *mut Hobject,
33741        Row: Htuple,
33742        Column: Htuple,
33743        Phi: Htuple,
33744        Length1: Htuple,
33745        Length2: Htuple,
33746        AlignToAxis: Htuple,
33747        Interpolation: Htuple,
33748    ) -> Herror;
33749}
33750unsafe extern "C" {
33751    pub fn crop_rectangle2(
33752        Image: Hobject,
33753        ImagePart: *mut Hobject,
33754        Row: f64,
33755        Column: f64,
33756        Phi: f64,
33757        Length1: f64,
33758        Length2: f64,
33759        AlignToAxis: *const ::std::os::raw::c_char,
33760        Interpolation: *const ::std::os::raw::c_char,
33761    ) -> Herror;
33762}
33763unsafe extern "C" {
33764    pub fn T_gen_dl_pruned_model(
33765        DLModelHandleToPrune: Htuple,
33766        DLPruningHandle: Htuple,
33767        DLModelHandlePruned: *mut Htuple,
33768    ) -> Herror;
33769}
33770unsafe extern "C" {
33771    pub fn T_get_deep_ocr_param(
33772        DeepOcrHandle: Htuple,
33773        GenParamName: Htuple,
33774        GenParamValue: *mut Htuple,
33775    ) -> Herror;
33776}
33777unsafe extern "C" {
33778    pub fn T_get_dl_device_param(
33779        DLDeviceHandle: Htuple,
33780        GenParamName: Htuple,
33781        GenParamValue: *mut Htuple,
33782    ) -> Herror;
33783}
33784unsafe extern "C" {
33785    pub fn T_get_dl_pruning_param(
33786        DLPruningHandle: Htuple,
33787        GenParamName: Htuple,
33788        GenParamValue: *mut Htuple,
33789    ) -> Herror;
33790}
33791unsafe extern "C" {
33792    pub fn T_query_available_dl_devices(
33793        GenParamName: Htuple,
33794        GenParamValue: Htuple,
33795        DLDeviceHandles: *mut Htuple,
33796    ) -> Herror;
33797}
33798unsafe extern "C" {
33799    pub fn T_read_deep_ocr(FileName: Htuple, DeepOcrHandle: *mut Htuple) -> Herror;
33800}
33801unsafe extern "C" {
33802    pub fn T_set_deep_ocr_param(
33803        DeepOcrHandle: Htuple,
33804        GenParamName: Htuple,
33805        GenParamValue: Htuple,
33806    ) -> Herror;
33807}
33808unsafe extern "C" {
33809    pub fn T_set_dl_pruning_param(
33810        DLPruningHandle: Htuple,
33811        GenParamName: Htuple,
33812        GenParamValue: Htuple,
33813    ) -> Herror;
33814}
33815unsafe extern "C" {
33816    pub fn T_write_deep_ocr(DeepOcrHandle: Htuple, FileName: Htuple) -> Herror;
33817}
33818unsafe extern "C" {
33819    pub fn T_optimize_dl_model_for_inference(
33820        DLModelHandle: Htuple,
33821        DLDeviceHandle: Htuple,
33822        Precision: Htuple,
33823        DLSamples: Htuple,
33824        GenParam: Htuple,
33825        DLModelHandleConverted: *mut Htuple,
33826        ConversionReport: *mut Htuple,
33827    ) -> Herror;
33828}
33829unsafe extern "C" {
33830    pub fn T_set_dl_device_param(
33831        DLDeviceHandle: Htuple,
33832        GenParamName: Htuple,
33833        GenParamValue: Htuple,
33834    ) -> Herror;
33835}
33836unsafe extern "C" {
33837    pub fn T_create_dl_layer_activation(
33838        DLLayerInput: Htuple,
33839        LayerName: Htuple,
33840        ActivationType: Htuple,
33841        GenParamName: Htuple,
33842        GenParamValue: Htuple,
33843        DLLayerActivation: *mut Htuple,
33844    ) -> Herror;
33845}
33846unsafe extern "C" {
33847    pub fn T_create_dl_layer_batch_normalization(
33848        DLLayerInput: Htuple,
33849        LayerName: Htuple,
33850        Momentum: Htuple,
33851        Epsilon: Htuple,
33852        Activation: Htuple,
33853        GenParamName: Htuple,
33854        GenParamValue: Htuple,
33855        DLLayerBatchNorm: *mut Htuple,
33856    ) -> Herror;
33857}
33858unsafe extern "C" {
33859    pub fn T_create_dl_layer_class_id_conversion(
33860        DLLayerInput: Htuple,
33861        LayerName: Htuple,
33862        ConversionMode: Htuple,
33863        GenParamName: Htuple,
33864        GenParamValue: Htuple,
33865        DLLayerClassIdConversion: *mut Htuple,
33866    ) -> Herror;
33867}
33868unsafe extern "C" {
33869    pub fn T_create_dl_layer_concat(
33870        DLLayerInputs: Htuple,
33871        LayerName: Htuple,
33872        Axis: Htuple,
33873        GenParamName: Htuple,
33874        GenParamValue: Htuple,
33875        DLLayerConcat: *mut Htuple,
33876    ) -> Herror;
33877}
33878unsafe extern "C" {
33879    pub fn T_create_dl_layer_convolution(
33880        DLLayerInput: Htuple,
33881        LayerName: Htuple,
33882        KernelSize: Htuple,
33883        Dilation: Htuple,
33884        Stride: Htuple,
33885        NumKernel: Htuple,
33886        Groups: Htuple,
33887        Padding: Htuple,
33888        Activation: Htuple,
33889        GenParamName: Htuple,
33890        GenParamValue: Htuple,
33891        DLLayerConvolution: *mut Htuple,
33892    ) -> Herror;
33893}
33894unsafe extern "C" {
33895    pub fn T_create_dl_layer_dense(
33896        DLLayerInput: Htuple,
33897        LayerName: Htuple,
33898        NumOut: Htuple,
33899        GenParamName: Htuple,
33900        GenParamValue: Htuple,
33901        DLLayerDense: *mut Htuple,
33902    ) -> Herror;
33903}
33904unsafe extern "C" {
33905    pub fn T_create_dl_layer_depth_max(
33906        DLLayerInput: Htuple,
33907        LayerName: Htuple,
33908        DepthMaxMode: Htuple,
33909        GenParamName: Htuple,
33910        GenParamValue: Htuple,
33911        DLLayerDepthMaxArg: *mut Htuple,
33912        DLLayerDepthMaxValue: *mut Htuple,
33913    ) -> Herror;
33914}
33915unsafe extern "C" {
33916    pub fn T_create_dl_layer_dropout(
33917        DLLayerInput: Htuple,
33918        LayerName: Htuple,
33919        Probability: Htuple,
33920        GenParamName: Htuple,
33921        GenParamValue: Htuple,
33922        DLLayerDropOut: *mut Htuple,
33923    ) -> Herror;
33924}
33925unsafe extern "C" {
33926    pub fn T_create_dl_layer_elementwise(
33927        DLLayerInputs: Htuple,
33928        LayerName: Htuple,
33929        Operation: Htuple,
33930        Coefficients: Htuple,
33931        GenParamName: Htuple,
33932        GenParamValue: Htuple,
33933        DLLayerElementWise: *mut Htuple,
33934    ) -> Herror;
33935}
33936unsafe extern "C" {
33937    pub fn T_create_dl_layer_input(
33938        LayerName: Htuple,
33939        Shape: Htuple,
33940        GenParamName: Htuple,
33941        GenParamValue: Htuple,
33942        DLLayerInput: *mut Htuple,
33943    ) -> Herror;
33944}
33945unsafe extern "C" {
33946    pub fn T_create_dl_layer_loss_cross_entropy(
33947        DLLayerInput: Htuple,
33948        DLLayerTarget: Htuple,
33949        DLLayerWeights: Htuple,
33950        LayerName: Htuple,
33951        LossWeight: Htuple,
33952        GenParamName: Htuple,
33953        GenParamValue: Htuple,
33954        DLLayerLossCrossEntropy: *mut Htuple,
33955    ) -> Herror;
33956}
33957unsafe extern "C" {
33958    pub fn T_create_dl_layer_loss_ctc(
33959        DLLayerInput: Htuple,
33960        DLLayerInputLengths: Htuple,
33961        DLLayerTarget: Htuple,
33962        DLLayerTargetLengths: Htuple,
33963        LayerName: Htuple,
33964        GenParamName: Htuple,
33965        GenParamValue: Htuple,
33966        DLLayerLossCTC: *mut Htuple,
33967    ) -> Herror;
33968}
33969unsafe extern "C" {
33970    pub fn T_create_dl_layer_loss_distance(
33971        DLLayerInput: Htuple,
33972        DLLayerTarget: Htuple,
33973        DLLayerWeights: Htuple,
33974        LayerName: Htuple,
33975        DistanceType: Htuple,
33976        LossWeight: Htuple,
33977        GenParamName: Htuple,
33978        GenParamValue: Htuple,
33979        DLLayerLossDistance: *mut Htuple,
33980    ) -> Herror;
33981}
33982unsafe extern "C" {
33983    pub fn T_create_dl_layer_loss_focal(
33984        DLLayerInput: Htuple,
33985        DLLayerTarget: Htuple,
33986        DLLayerWeights: Htuple,
33987        DLLayerNormalization: Htuple,
33988        LayerName: Htuple,
33989        LossWeight: Htuple,
33990        Gamma: Htuple,
33991        ClassWeights: Htuple,
33992        Type: Htuple,
33993        GenParamName: Htuple,
33994        GenParamValue: Htuple,
33995        DLLayerLossFocal: *mut Htuple,
33996    ) -> Herror;
33997}
33998unsafe extern "C" {
33999    pub fn T_create_dl_layer_loss_huber(
34000        DLLayerInput: Htuple,
34001        DLLayerTarget: Htuple,
34002        DLLayerWeights: Htuple,
34003        DLLayerNormalization: Htuple,
34004        LayerName: Htuple,
34005        LossWeight: Htuple,
34006        Beta: Htuple,
34007        GenParamName: Htuple,
34008        GenParamValue: Htuple,
34009        DLLayerLossHuber: *mut Htuple,
34010    ) -> Herror;
34011}
34012unsafe extern "C" {
34013    pub fn T_create_dl_layer_lrn(
34014        DLLayerInput: Htuple,
34015        LayerName: Htuple,
34016        LocalSize: Htuple,
34017        Alpha: Htuple,
34018        Beta: Htuple,
34019        K: Htuple,
34020        NormRegion: Htuple,
34021        GenParamName: Htuple,
34022        GenParamValue: Htuple,
34023        DLLayerLRN: *mut Htuple,
34024    ) -> Herror;
34025}
34026unsafe extern "C" {
34027    pub fn T_create_dl_layer_pooling(
34028        DLLayerInput: Htuple,
34029        LayerName: Htuple,
34030        KernelSize: Htuple,
34031        Stride: Htuple,
34032        Padding: Htuple,
34033        Mode: Htuple,
34034        GenParamName: Htuple,
34035        GenParamValue: Htuple,
34036        DLLayerPooling: *mut Htuple,
34037    ) -> Herror;
34038}
34039unsafe extern "C" {
34040    pub fn T_create_dl_layer_reshape(
34041        DLLayerInput: Htuple,
34042        LayerName: Htuple,
34043        Shape: Htuple,
34044        GenParamName: Htuple,
34045        GenParamValue: Htuple,
34046        DLLayerReshape: *mut Htuple,
34047    ) -> Herror;
34048}
34049unsafe extern "C" {
34050    pub fn T_create_dl_layer_softmax(
34051        DLLayerInput: Htuple,
34052        LayerName: Htuple,
34053        GenParamName: Htuple,
34054        GenParamValue: Htuple,
34055        DLLayerSoftMax: *mut Htuple,
34056    ) -> Herror;
34057}
34058unsafe extern "C" {
34059    pub fn T_create_dl_layer_transposed_convolution(
34060        DLLayerInput: Htuple,
34061        LayerName: Htuple,
34062        KernelSize: Htuple,
34063        Stride: Htuple,
34064        KernelDepth: Htuple,
34065        Groups: Htuple,
34066        Padding: Htuple,
34067        GenParamName: Htuple,
34068        GenParamValue: Htuple,
34069        DLLayerTransposedConvolution: *mut Htuple,
34070    ) -> Herror;
34071}
34072unsafe extern "C" {
34073    pub fn T_create_dl_layer_zoom_factor(
34074        DLLayerInput: Htuple,
34075        LayerName: Htuple,
34076        ScaleWidth: Htuple,
34077        ScaleHeight: Htuple,
34078        Interpolation: Htuple,
34079        AlignCorners: Htuple,
34080        GenParamName: Htuple,
34081        GenParamValue: Htuple,
34082        DLLayerZoom: *mut Htuple,
34083    ) -> Herror;
34084}
34085unsafe extern "C" {
34086    pub fn T_create_dl_layer_zoom_size(
34087        DLLayerInput: Htuple,
34088        LayerName: Htuple,
34089        Width: Htuple,
34090        Height: Htuple,
34091        Interpolation: Htuple,
34092        AlignCorners: Htuple,
34093        GenParamName: Htuple,
34094        GenParamValue: Htuple,
34095        DLLayerZoom: *mut Htuple,
34096    ) -> Herror;
34097}
34098unsafe extern "C" {
34099    pub fn T_create_dl_layer_zoom_to_layer_size(
34100        DLLayerInput: Htuple,
34101        DLLayerReference: Htuple,
34102        LayerName: Htuple,
34103        Interpolation: Htuple,
34104        AlignCorners: Htuple,
34105        GenParamName: Htuple,
34106        GenParamValue: Htuple,
34107        DLLayerZoom: *mut Htuple,
34108    ) -> Herror;
34109}
34110unsafe extern "C" {
34111    pub fn T_create_dl_model(OutputLayers: Htuple, DLModelHandle: *mut Htuple) -> Herror;
34112}
34113unsafe extern "C" {
34114    pub fn T_create_generic_shape_model(ModelID: *mut Htuple) -> Herror;
34115}
34116unsafe extern "C" {
34117    pub fn T_find_generic_shape_model(
34118        SearchImage: Hobject,
34119        ModelID: Htuple,
34120        MatchResultID: *mut Htuple,
34121        NumMatchResult: *mut Htuple,
34122    ) -> Herror;
34123}
34124unsafe extern "C" {
34125    pub fn T_get_dl_layer_param(
34126        DLLayer: Htuple,
34127        GenParamName: Htuple,
34128        GenParamValue: *mut Htuple,
34129    ) -> Herror;
34130}
34131unsafe extern "C" {
34132    pub fn T_get_dl_model_layer(
34133        DLModelHandle: Htuple,
34134        LayerNames: Htuple,
34135        DLLayers: *mut Htuple,
34136    ) -> Herror;
34137}
34138unsafe extern "C" {
34139    pub fn T_get_dl_model_layer_activations(
34140        Activations: *mut Hobject,
34141        DLModelHandle: Htuple,
34142        LayerName: Htuple,
34143    ) -> Herror;
34144}
34145unsafe extern "C" {
34146    pub fn T_get_dl_model_layer_gradients(
34147        Gradients: *mut Hobject,
34148        DLModelHandle: Htuple,
34149        LayerName: Htuple,
34150    ) -> Herror;
34151}
34152unsafe extern "C" {
34153    pub fn T_get_dl_model_layer_param(
34154        DLModelHandle: Htuple,
34155        LayerName: Htuple,
34156        ParamName: Htuple,
34157        ParamValue: *mut Htuple,
34158    ) -> Herror;
34159}
34160unsafe extern "C" {
34161    pub fn T_get_dl_model_layer_weights(
34162        Weights: *mut Hobject,
34163        DLModelHandle: Htuple,
34164        LayerName: Htuple,
34165        WeightsType: Htuple,
34166    ) -> Herror;
34167}
34168unsafe extern "C" {
34169    pub fn T_get_generic_shape_model_param(
34170        ModelID: Htuple,
34171        GenParamName: Htuple,
34172        GenParamValue: *mut Htuple,
34173    ) -> Herror;
34174}
34175unsafe extern "C" {
34176    pub fn T_get_generic_shape_model_result(
34177        MatchResultID: Htuple,
34178        MatchSelector: Htuple,
34179        GenParamName: Htuple,
34180        GenParamValue: *mut Htuple,
34181    ) -> Herror;
34182}
34183unsafe extern "C" {
34184    pub fn T_get_generic_shape_model_result_object(
34185        Objects: *mut Hobject,
34186        MatchResultID: Htuple,
34187        MatchSelector: Htuple,
34188        GenParamName: Htuple,
34189    ) -> Herror;
34190}
34191unsafe extern "C" {
34192    pub fn T_load_dl_model_weights(
34193        DLModelHandleSource: Htuple,
34194        DLModelHandleTarget: Htuple,
34195        ChangesByLayer: *mut Htuple,
34196    ) -> Herror;
34197}
34198unsafe extern "C" {
34199    pub fn T_set_dl_model_layer_param(
34200        DLModelHandle: Htuple,
34201        LayerName: Htuple,
34202        ParamName: Htuple,
34203        ParamValue: Htuple,
34204    ) -> Herror;
34205}
34206unsafe extern "C" {
34207    pub fn T_set_dl_model_layer_weights(
34208        Weights: Hobject,
34209        DLModelHandle: Htuple,
34210        LayerName: Htuple,
34211        WeightsType: Htuple,
34212    ) -> Herror;
34213}
34214unsafe extern "C" {
34215    pub fn T_set_generic_shape_model_object(
34216        Object: Hobject,
34217        ModelID: Htuple,
34218        GenParamName: Htuple,
34219    ) -> Herror;
34220}
34221unsafe extern "C" {
34222    pub fn T_set_generic_shape_model_param(
34223        ModelID: Htuple,
34224        GenParamName: Htuple,
34225        GenParamValue: Htuple,
34226    ) -> Herror;
34227}
34228unsafe extern "C" {
34229    pub fn T_train_generic_shape_model(Template: Hobject, ModelID: Htuple) -> Herror;
34230}
34231unsafe extern "C" {
34232    pub fn T_dict_to_json(
34233        DictHandle: Htuple,
34234        GenParamName: Htuple,
34235        GenParamValue: Htuple,
34236        JsonString: *mut Htuple,
34237    ) -> Herror;
34238}
34239unsafe extern "C" {
34240    pub fn T_distance_point_line(
34241        PointX: Htuple,
34242        PointY: Htuple,
34243        PointZ: Htuple,
34244        Point1X: Htuple,
34245        Point1Y: Htuple,
34246        Point1Z: Htuple,
34247        Point2X: Htuple,
34248        Point2Y: Htuple,
34249        Point2Z: Htuple,
34250        Distance: *mut Htuple,
34251    ) -> Herror;
34252}
34253unsafe extern "C" {
34254    pub fn distance_point_line(
34255        PointX: f64,
34256        PointY: f64,
34257        PointZ: f64,
34258        Point1X: f64,
34259        Point1Y: f64,
34260        Point1Z: f64,
34261        Point2X: f64,
34262        Point2Y: f64,
34263        Point2Z: f64,
34264        Distance: *mut f64,
34265    ) -> Herror;
34266}
34267unsafe extern "C" {
34268    pub fn T_distance_point_pluecker_line(
34269        PointX: Htuple,
34270        PointY: Htuple,
34271        PointZ: Htuple,
34272        LineDirectionX: Htuple,
34273        LineDirectionY: Htuple,
34274        LineDirectionZ: Htuple,
34275        LineMomentX: Htuple,
34276        LineMomentY: Htuple,
34277        LineMomentZ: Htuple,
34278        Distance: *mut Htuple,
34279    ) -> Herror;
34280}
34281unsafe extern "C" {
34282    pub fn distance_point_pluecker_line(
34283        PointX: f64,
34284        PointY: f64,
34285        PointZ: f64,
34286        LineDirectionX: f64,
34287        LineDirectionY: f64,
34288        LineDirectionZ: f64,
34289        LineMomentX: f64,
34290        LineMomentY: f64,
34291        LineMomentZ: f64,
34292        Distance: *mut f64,
34293    ) -> Herror;
34294}
34295unsafe extern "C" {
34296    pub fn T_get_generic_shape_model_object(
34297        Object: *mut Hobject,
34298        ModelID: Htuple,
34299        GenParamName: Htuple,
34300    ) -> Herror;
34301}
34302unsafe extern "C" {
34303    pub fn T_json_to_dict(
34304        JsonString: Htuple,
34305        GenParamName: Htuple,
34306        GenParamValue: Htuple,
34307        DictHandle: *mut Htuple,
34308    ) -> Herror;
34309}
34310unsafe extern "C" {
34311    pub fn T_pluecker_line_to_point_direction(
34312        LineDirectionX: Htuple,
34313        LineDirectionY: Htuple,
34314        LineDirectionZ: Htuple,
34315        LineMomentX: Htuple,
34316        LineMomentY: Htuple,
34317        LineMomentZ: Htuple,
34318        PointX: *mut Htuple,
34319        PointY: *mut Htuple,
34320        PointZ: *mut Htuple,
34321        DirectionX: *mut Htuple,
34322        DirectionY: *mut Htuple,
34323        DirectionZ: *mut Htuple,
34324    ) -> Herror;
34325}
34326unsafe extern "C" {
34327    pub fn pluecker_line_to_point_direction(
34328        LineDirectionX: f64,
34329        LineDirectionY: f64,
34330        LineDirectionZ: f64,
34331        LineMomentX: f64,
34332        LineMomentY: f64,
34333        LineMomentZ: f64,
34334        PointX: *mut f64,
34335        PointY: *mut f64,
34336        PointZ: *mut f64,
34337        DirectionX: *mut f64,
34338        DirectionY: *mut f64,
34339        DirectionZ: *mut f64,
34340    ) -> Herror;
34341}
34342unsafe extern "C" {
34343    pub fn T_pluecker_line_to_points(
34344        LineDirectionX: Htuple,
34345        LineDirectionY: Htuple,
34346        LineDirectionZ: Htuple,
34347        LineMomentX: Htuple,
34348        LineMomentY: Htuple,
34349        LineMomentZ: Htuple,
34350        Point1X: *mut Htuple,
34351        Point1Y: *mut Htuple,
34352        Point1Z: *mut Htuple,
34353        Point2X: *mut Htuple,
34354        Point2Y: *mut Htuple,
34355        Point2Z: *mut Htuple,
34356    ) -> Herror;
34357}
34358unsafe extern "C" {
34359    pub fn pluecker_line_to_points(
34360        LineDirectionX: f64,
34361        LineDirectionY: f64,
34362        LineDirectionZ: f64,
34363        LineMomentX: f64,
34364        LineMomentY: f64,
34365        LineMomentZ: f64,
34366        Point1X: *mut f64,
34367        Point1Y: *mut f64,
34368        Point1Z: *mut f64,
34369        Point2X: *mut f64,
34370        Point2Y: *mut f64,
34371        Point2Z: *mut f64,
34372    ) -> Herror;
34373}
34374unsafe extern "C" {
34375    pub fn T_point_direction_to_pluecker_line(
34376        PointX: Htuple,
34377        PointY: Htuple,
34378        PointZ: Htuple,
34379        DirectionX: Htuple,
34380        DirectionY: Htuple,
34381        DirectionZ: Htuple,
34382        LineDirectionX: *mut Htuple,
34383        LineDirectionY: *mut Htuple,
34384        LineDirectionZ: *mut Htuple,
34385        LineMomentX: *mut Htuple,
34386        LineMomentY: *mut Htuple,
34387        LineMomentZ: *mut Htuple,
34388    ) -> Herror;
34389}
34390unsafe extern "C" {
34391    pub fn point_direction_to_pluecker_line(
34392        PointX: f64,
34393        PointY: f64,
34394        PointZ: f64,
34395        DirectionX: f64,
34396        DirectionY: f64,
34397        DirectionZ: f64,
34398        LineDirectionX: *mut f64,
34399        LineDirectionY: *mut f64,
34400        LineDirectionZ: *mut f64,
34401        LineMomentX: *mut f64,
34402        LineMomentY: *mut f64,
34403        LineMomentZ: *mut f64,
34404    ) -> Herror;
34405}
34406unsafe extern "C" {
34407    pub fn T_point_pluecker_line_to_hom_mat3d(
34408        TransformationType: Htuple,
34409        PointX: Htuple,
34410        PointY: Htuple,
34411        PointZ: Htuple,
34412        LineDirectionX: Htuple,
34413        LineDirectionY: Htuple,
34414        LineDirectionZ: Htuple,
34415        LineMomentX: Htuple,
34416        LineMomentY: Htuple,
34417        LineMomentZ: Htuple,
34418        HomMat3D: *mut Htuple,
34419    ) -> Herror;
34420}
34421unsafe extern "C" {
34422    pub fn T_points_to_pluecker_line(
34423        Point1X: Htuple,
34424        Point1Y: Htuple,
34425        Point1Z: Htuple,
34426        Point2X: Htuple,
34427        Point2Y: Htuple,
34428        Point2Z: Htuple,
34429        LineDirectionX: *mut Htuple,
34430        LineDirectionY: *mut Htuple,
34431        LineDirectionZ: *mut Htuple,
34432        LineMomentX: *mut Htuple,
34433        LineMomentY: *mut Htuple,
34434        LineMomentZ: *mut Htuple,
34435    ) -> Herror;
34436}
34437unsafe extern "C" {
34438    pub fn points_to_pluecker_line(
34439        Point1X: f64,
34440        Point1Y: f64,
34441        Point1Z: f64,
34442        Point2X: f64,
34443        Point2Y: f64,
34444        Point2Z: f64,
34445        LineDirectionX: *mut f64,
34446        LineDirectionY: *mut f64,
34447        LineDirectionZ: *mut f64,
34448        LineMomentX: *mut f64,
34449        LineMomentY: *mut f64,
34450        LineMomentZ: *mut f64,
34451    ) -> Herror;
34452}
34453unsafe extern "C" {
34454    pub fn T_set_dict_tuple_at(
34455        DictHandle: Htuple,
34456        Key: Htuple,
34457        Index: Htuple,
34458        Value: Htuple,
34459    ) -> Herror;
34460}
34461unsafe extern "C" {
34462    pub fn T_create_dl_layer_permutation(
34463        DLLayerInput: Htuple,
34464        LayerName: Htuple,
34465        Permutation: Htuple,
34466        GenParamName: Htuple,
34467        GenParamValue: Htuple,
34468        DLLayerPermutation: *mut Htuple,
34469    ) -> Herror;
34470}
34471unsafe extern "C" {
34472    pub fn T_dual_quat_trans_point_3d(
34473        DualQuaternion: Htuple,
34474        Px: Htuple,
34475        Py: Htuple,
34476        Pz: Htuple,
34477        Tx: *mut Htuple,
34478        Ty: *mut Htuple,
34479        Tz: *mut Htuple,
34480    ) -> Herror;
34481}
34482unsafe extern "C" {
34483    pub fn T_equ_histo_image_rect(
34484        Image: Hobject,
34485        ImageEquHisto: *mut Hobject,
34486        Mode: Htuple,
34487        MaskWidth: Htuple,
34488        MaskHeight: Htuple,
34489        MaxContrast: Htuple,
34490    ) -> Herror;
34491}
34492unsafe extern "C" {
34493    pub fn equ_histo_image_rect(
34494        Image: Hobject,
34495        ImageEquHisto: *mut Hobject,
34496        Mode: *const ::std::os::raw::c_char,
34497        MaskWidth: Hlong,
34498        MaskHeight: Hlong,
34499        MaxContrast: f64,
34500    ) -> Herror;
34501}
34502unsafe extern "C" {
34503    pub fn T_get_measure_param(
34504        MeasureHandle: Htuple,
34505        GenParamName: Htuple,
34506        GenParamValue: *mut Htuple,
34507    ) -> Herror;
34508}
34509unsafe extern "C" {
34510    pub fn T_mean_image_shape(Image: Hobject, Mask: Hobject, ImageMean: *mut Hobject) -> Herror;
34511}
34512unsafe extern "C" {
34513    pub fn mean_image_shape(Image: Hobject, Mask: Hobject, ImageMean: *mut Hobject) -> Herror;
34514}
34515unsafe extern "C" {
34516    pub fn T_tuple_join(Strings: Htuple, Separators: Htuple, JoinedStrings: *mut Htuple) -> Herror;
34517}
34518unsafe extern "C" {
34519    pub fn tuple_join(
34520        Strings: *const ::std::os::raw::c_char,
34521        Separators: *const ::std::os::raw::c_char,
34522        JoinedStrings: *mut ::std::os::raw::c_char,
34523    ) -> Herror;
34524}
34525unsafe extern "C" {
34526    pub fn T_compare_memory_block(
34527        MemoryBlocks1: Htuple,
34528        MemoryBlocks2: Htuple,
34529        IsEqual: *mut Htuple,
34530    ) -> Herror;
34531}
34532unsafe extern "C" {
34533    pub fn T_create_dl_layer_depth_to_space(
34534        DLLayerInput: Htuple,
34535        LayerName: Htuple,
34536        BlockSize: Htuple,
34537        Mode: Htuple,
34538        GenParamName: Htuple,
34539        GenParamValue: Htuple,
34540        DLLayerDepthToSpace: *mut Htuple,
34541    ) -> Herror;
34542}
34543unsafe extern "C" {
34544    pub fn T_create_dl_layer_identity(
34545        DLLayerInput: Htuple,
34546        LayerName: Htuple,
34547        GenParamName: Htuple,
34548        GenParamValue: Htuple,
34549        DLLayerIdentity: *mut Htuple,
34550    ) -> Herror;
34551}
34552unsafe extern "C" {
34553    pub fn T_create_memory_block_extern(
34554        Pointer: Htuple,
34555        Size: Htuple,
34556        FreeFunction: Htuple,
34557        MemoryBlockHandle: *mut Htuple,
34558    ) -> Herror;
34559}
34560unsafe extern "C" {
34561    pub fn T_create_memory_block_extern_copy(
34562        Pointer: Htuple,
34563        Size: Htuple,
34564        MemoryBlockHandle: *mut Htuple,
34565    ) -> Herror;
34566}
34567unsafe extern "C" {
34568    pub fn T_decrypt_serialized_item(
34569        EncryptedItemHandle: Htuple,
34570        DecryptionParam: Htuple,
34571        SerializedItemHandle: *mut Htuple,
34572    ) -> Herror;
34573}
34574unsafe extern "C" {
34575    pub fn T_encrypt_serialized_item(
34576        SerializedItemHandle: Htuple,
34577        EncryptionParam: Htuple,
34578        EncryptedItemHandle: *mut Htuple,
34579    ) -> Herror;
34580}
34581unsafe extern "C" {
34582    pub fn T_get_memory_block_ptr(
34583        MemoryBlockHandle: Htuple,
34584        Pointer: *mut Htuple,
34585        Size: *mut Htuple,
34586    ) -> Herror;
34587}
34588unsafe extern "C" {
34589    pub fn T_image_to_memory_block(
34590        Image: Hobject,
34591        Format: Htuple,
34592        FillColor: Htuple,
34593        MemoryBlockHandle: *mut Htuple,
34594    ) -> Herror;
34595}
34596unsafe extern "C" {
34597    pub fn T_memory_block_to_image(Image: *mut Hobject, MemoryBlockHandle: Htuple) -> Herror;
34598}
34599unsafe extern "C" {
34600    pub fn T_read_encrypted_item(FileName: Htuple, EncryptedItemHandle: *mut Htuple) -> Herror;
34601}
34602unsafe extern "C" {
34603    pub fn T_read_memory_block(FileName: Htuple, MemoryBlockHandle: *mut Htuple) -> Herror;
34604}
34605unsafe extern "C" {
34606    pub fn T_tuple_constant(Name: Htuple, Value: *mut Htuple) -> Herror;
34607}
34608unsafe extern "C" {
34609    pub fn tuple_constant(Name: *const ::std::os::raw::c_char, Value: *mut Hlong) -> Herror;
34610}
34611unsafe extern "C" {
34612    pub fn T_tuple_is_nan_elem(T: Htuple, IsNaN: *mut Htuple) -> Herror;
34613}
34614unsafe extern "C" {
34615    pub fn tuple_is_nan_elem(T: f64, IsNaN: *mut Hlong) -> Herror;
34616}
34617unsafe extern "C" {
34618    pub fn T_write_encrypted_item(EncryptedItemHandle: Htuple, FileName: Htuple) -> Herror;
34619}
34620unsafe extern "C" {
34621    pub fn T_write_memory_block(MemoryBlockHandle: Htuple, FileName: Htuple) -> Herror;
34622}
34623unsafe extern "C" {
34624    pub fn T_add_image_border(
34625        Image: Hobject,
34626        ImageBorder: *mut Hobject,
34627        Size: Htuple,
34628        Value: Htuple,
34629    ) -> Herror;
34630}
34631unsafe extern "C" {
34632    pub fn add_image_border(
34633        Image: Hobject,
34634        ImageBorder: *mut Hobject,
34635        Size: Hlong,
34636        Value: Hlong,
34637    ) -> Herror;
34638}
34639unsafe extern "C" {
34640    pub fn T_apply_deep_counting_model(
34641        Image: Hobject,
34642        DeepCountingHandle: Htuple,
34643        Count: *mut Htuple,
34644        DeepCountingResult: *mut Htuple,
34645    ) -> Herror;
34646}
34647unsafe extern "C" {
34648    pub fn T_create_deep_counting_model(
34649        GenParamName: Htuple,
34650        GenParamValue: Htuple,
34651        DeepCountingHandle: *mut Htuple,
34652    ) -> Herror;
34653}
34654unsafe extern "C" {
34655    pub fn T_create_dl_layer_matmul(
34656        DLLayerA: Htuple,
34657        DLLayerB: Htuple,
34658        LayerName: Htuple,
34659        GenParamName: Htuple,
34660        GenParamValue: Htuple,
34661        DLLayerMatMul: *mut Htuple,
34662    ) -> Herror;
34663}
34664unsafe extern "C" {
34665    pub fn T_get_deep_counting_model_param(
34666        DeepCountingHandle: Htuple,
34667        GenParamName: Htuple,
34668        GenParamValue: *mut Htuple,
34669    ) -> Herror;
34670}
34671unsafe extern "C" {
34672    pub fn T_prepare_deep_counting_model(Templates: Hobject, DeepCountingHandle: Htuple) -> Herror;
34673}
34674unsafe extern "C" {
34675    pub fn T_read_deep_counting_model(FileName: Htuple, DeepCountingHandle: *mut Htuple) -> Herror;
34676}
34677unsafe extern "C" {
34678    pub fn T_set_deep_counting_model_param(
34679        DeepCountingHandle: Htuple,
34680        GenParamName: Htuple,
34681        GenParamValue: Htuple,
34682    ) -> Herror;
34683}
34684unsafe extern "C" {
34685    pub fn T_write_deep_counting_model(DeepCountingHandle: Htuple, FileName: Htuple) -> Herror;
34686}
34687unsafe extern "C" {
34688    pub fn T_create_dl_layer_reduce(
34689        DLLayerInput: Htuple,
34690        LayerName: Htuple,
34691        Operation: Htuple,
34692        Axes: Htuple,
34693        GenParamName: Htuple,
34694        GenParamValue: Htuple,
34695        DLLayerReduce: *mut Htuple,
34696    ) -> Herror;
34697}
34698unsafe extern "C" {
34699    pub fn T_reconstruct_surface_structured_light(
34700        StructuredLightModel: Htuple,
34701        ObjectModel3D: *mut Htuple,
34702    ) -> Herror;
34703}
34704unsafe extern "C" {
34705    pub fn T_intersection_region_contour_xld(
34706        Region: Hobject,
34707        Contour: Hobject,
34708        ContourIntersection: *mut Hobject,
34709        Mode: Htuple,
34710    ) -> Herror;
34711}
34712unsafe extern "C" {
34713    pub fn intersection_region_contour_xld(
34714        Region: Hobject,
34715        Contour: Hobject,
34716        ContourIntersection: *mut Hobject,
34717        Mode: *const ::std::os::raw::c_char,
34718    ) -> Herror;
34719}
34720unsafe extern "C" {
34721    pub fn T_tuple_repeat(Tuple: Htuple, Num: Htuple, Result: *mut Htuple) -> Herror;
34722}
34723unsafe extern "C" {
34724    pub fn tuple_repeat(Tuple: Hlong, Num: Hlong, Result: *mut Hlong) -> Herror;
34725}
34726unsafe extern "C" {
34727    pub fn T_tuple_repeat_elem(Tuple: Htuple, Num: Htuple, Result: *mut Htuple) -> Herror;
34728}
34729unsafe extern "C" {
34730    pub fn tuple_repeat_elem(Tuple: Hlong, Num: Hlong, Result: *mut Hlong) -> Herror;
34731}
34732unsafe extern "C" {
34733    pub fn T_tuple_str_replace(
34734        String: Htuple,
34735        Before: Htuple,
34736        After: Htuple,
34737        Replaced: *mut Htuple,
34738    ) -> Herror;
34739}
34740unsafe extern "C" {
34741    pub fn tuple_str_replace(
34742        String: *const ::std::os::raw::c_char,
34743        Before: *const ::std::os::raw::c_char,
34744        After: *const ::std::os::raw::c_char,
34745        Replaced: *mut ::std::os::raw::c_char,
34746    ) -> Herror;
34747}
34748unsafe extern "C" {
34749    pub fn T_apply_deep_matching_3d(
34750        Images: Hobject,
34751        Deep3DMatchingModel: Htuple,
34752        DeepMatchingResults: *mut Htuple,
34753    ) -> Herror;
34754}
34755unsafe extern "C" {
34756    pub fn T_fit_dl_out_of_distribution(
34757        DLModelHandle: Htuple,
34758        DLDataset: Htuple,
34759        GenParam: Htuple,
34760    ) -> Herror;
34761}
34762unsafe extern "C" {
34763    pub fn T_get_deep_matching_3d_param(
34764        Deep3DMatchingModel: Htuple,
34765        GenParamName: Htuple,
34766        GenParamValue: *mut Htuple,
34767    ) -> Herror;
34768}
34769unsafe extern "C" {
34770    pub fn T_read_deep_matching_3d(FileName: Htuple, Deep3DMatchingModel: *mut Htuple) -> Herror;
34771}
34772unsafe extern "C" {
34773    pub fn T_set_deep_matching_3d_param(
34774        Deep3DMatchingModel: Htuple,
34775        GenParamName: Htuple,
34776        GenParamValue: Htuple,
34777    ) -> Herror;
34778}
34779unsafe extern "C" {
34780    pub fn T_test_region_points(
34781        Regions: Hobject,
34782        Row: Htuple,
34783        Column: Htuple,
34784        IsInside: *mut Htuple,
34785    ) -> Herror;
34786}
34787unsafe extern "C" {
34788    pub fn test_region_points(
34789        Regions: Hobject,
34790        Row: Hlong,
34791        Column: Hlong,
34792        IsInside: *mut Hlong,
34793    ) -> Herror;
34794}
34795unsafe extern "C" {
34796    pub fn T_tuple_str_distance(
34797        String1: Htuple,
34798        String2: Htuple,
34799        Mode: Htuple,
34800        Distance: *mut Htuple,
34801    ) -> Herror;
34802}
34803unsafe extern "C" {
34804    pub fn tuple_str_distance(
34805        String1: *const ::std::os::raw::c_char,
34806        String2: *const ::std::os::raw::c_char,
34807        Mode: *const ::std::os::raw::c_char,
34808        Distance: *mut Hlong,
34809    ) -> Herror;
34810}
34811unsafe extern "C" {
34812    pub fn T_write_deep_matching_3d(Deep3DMatchingModel: Htuple, FileName: Htuple) -> Herror;
34813}
34814#[repr(C)]
34815#[derive(Debug, Copy, Clone)]
34816pub struct __crt_locale_data {
34817    pub _address: u8,
34818}
34819#[repr(C)]
34820#[derive(Debug, Copy, Clone)]
34821pub struct __crt_multibyte_data {
34822    pub _address: u8,
34823}