bitmagic_sys/
bindings.rs

1/* automatically generated by rust-bindgen 0.55.1 */
2
3pub const BM_OK: u32 = 0;
4pub const BM_ERR_BADALLOC: u32 = 1;
5pub const BM_ERR_BADARG: u32 = 2;
6pub const BM_ERR_RANGE: u32 = 3;
7pub const BM_ERR_CPU: u32 = 4;
8pub const BM_ERR_SERIALFORMAT: u32 = 5;
9pub const BM_ERR_BAD_VALUE: u32 = 6;
10pub const BM_ERR_RANK_SELECT_IDX_MISSING: u32 = 7;
11pub const BM_ERR_DETACHED: u32 = 101;
12pub const BM_ERR_JVM_NOT_SUPPORTED: u32 = 102;
13pub const BM_ERR_JVM_OUT_OF_MEMORY: u32 = 103;
14pub const BM_OK_MSG: &'static [u8; 19usize] = b"BM-00: All correct\0";
15pub const BM_ERR_BADALLOC_MSG: &'static [u8; 24usize] = b"BM-01: Allocation error\0";
16pub const BM_ERR_BADARG_MSG: &'static [u8; 44usize] =
17    b"BM-02: Invalid or missing function argument\0";
18pub const BM_ERR_RANGE_MSG: &'static [u8; 32usize] = b"BM-03: Incorrect range or index\0";
19pub const BM_ERR_CPU_MSG: &'static [u8; 50usize] =
20    b"BM-04: Incorrect CPU vectorization (SIMD) version\0";
21pub const BM_ERR_SERIALFORMAT_MSG: &'static [u8; 34usize] = b"BM-05: Serialization format error\0";
22pub const BM_ERR_BAD_VALUE_MSG: &'static [u8; 17usize] = b"BM-06: Bad value\0";
23pub const BM_ERR_DETACHED_MSG: &'static [u8; 42usize] =
24    b"BM-101: Current thread no attached to JVM\0";
25pub const BM_ERR_JVM_NOT_SUPPORTED_MSG: &'static [u8; 34usize] =
26    b"BM-102: JVM version not supported\0";
27pub const BM_ERR_JVM_OUT_OF_MEMORY_MSG: &'static [u8; 28usize] = b"BM-103: Out of memory error\0";
28pub const BM_UNK_MSG: &'static [u8; 21usize] = b"BM-XX: Unknown error\0";
29pub const BM_SIMD_NO: u32 = 0;
30pub const BM_SIMD_SSE2: u32 = 1;
31pub const BM_SIMD_SSE42: u32 = 2;
32pub const BM_SIMD_AVX2: u32 = 5;
33pub const BM_TRUE: u32 = 1;
34pub const BM_FALSE: u32 = 0;
35pub type wchar_t = ::std::os::raw::c_int;
36#[repr(C)]
37#[repr(align(16))]
38#[derive(Debug, Copy, Clone)]
39pub struct max_align_t {
40    pub __clang_max_align_nonce1: ::std::os::raw::c_longlong,
41    pub __bindgen_padding_0: u64,
42    pub __clang_max_align_nonce2: u128,
43}
44#[test]
45fn bindgen_test_layout_max_align_t() {
46    assert_eq!(
47        ::core::mem::size_of::<max_align_t>(),
48        32usize,
49        concat!("Size of: ", stringify!(max_align_t))
50    );
51    assert_eq!(
52        ::core::mem::align_of::<max_align_t>(),
53        16usize,
54        concat!("Alignment of ", stringify!(max_align_t))
55    );
56    assert_eq!(
57        unsafe {
58            &(*(::core::ptr::null::<max_align_t>())).__clang_max_align_nonce1 as *const _ as usize
59        },
60        0usize,
61        concat!(
62            "Offset of field: ",
63            stringify!(max_align_t),
64            "::",
65            stringify!(__clang_max_align_nonce1)
66        )
67    );
68    assert_eq!(
69        unsafe {
70            &(*(::core::ptr::null::<max_align_t>())).__clang_max_align_nonce2 as *const _ as usize
71        },
72        16usize,
73        concat!(
74            "Offset of field: ",
75            stringify!(max_align_t),
76            "::",
77            stringify!(__clang_max_align_nonce2)
78        )
79    );
80}
81#[repr(C)]
82#[derive(Debug, Copy, Clone)]
83pub struct BM_bvector_statistics {
84    pub bit_blocks: usize,
85    pub gap_blocks: usize,
86    pub max_serialize_mem: usize,
87    pub memory_used: usize,
88}
89#[test]
90fn bindgen_test_layout_BM_bvector_statistics() {
91    assert_eq!(
92        ::core::mem::size_of::<BM_bvector_statistics>(),
93        32usize,
94        concat!("Size of: ", stringify!(BM_bvector_statistics))
95    );
96    assert_eq!(
97        ::core::mem::align_of::<BM_bvector_statistics>(),
98        8usize,
99        concat!("Alignment of ", stringify!(BM_bvector_statistics))
100    );
101    assert_eq!(
102        unsafe {
103            &(*(::core::ptr::null::<BM_bvector_statistics>())).bit_blocks as *const _ as usize
104        },
105        0usize,
106        concat!(
107            "Offset of field: ",
108            stringify!(BM_bvector_statistics),
109            "::",
110            stringify!(bit_blocks)
111        )
112    );
113    assert_eq!(
114        unsafe {
115            &(*(::core::ptr::null::<BM_bvector_statistics>())).gap_blocks as *const _ as usize
116        },
117        8usize,
118        concat!(
119            "Offset of field: ",
120            stringify!(BM_bvector_statistics),
121            "::",
122            stringify!(gap_blocks)
123        )
124    );
125    assert_eq!(
126        unsafe {
127            &(*(::core::ptr::null::<BM_bvector_statistics>())).max_serialize_mem as *const _
128                as usize
129        },
130        16usize,
131        concat!(
132            "Offset of field: ",
133            stringify!(BM_bvector_statistics),
134            "::",
135            stringify!(max_serialize_mem)
136        )
137    );
138    assert_eq!(
139        unsafe {
140            &(*(::core::ptr::null::<BM_bvector_statistics>())).memory_used as *const _ as usize
141        },
142        24usize,
143        concat!(
144            "Offset of field: ",
145            stringify!(BM_bvector_statistics),
146            "::",
147            stringify!(memory_used)
148        )
149    );
150}
151extern "C" {
152    pub fn BM_init(arg1: *mut ::core::ffi::c_void) -> ::std::os::raw::c_int;
153}
154extern "C" {
155    #[doc = "return copyright info string and version information."]
156    pub fn BM_version(
157        major: *mut ::std::os::raw::c_int,
158        minor: *mut ::std::os::raw::c_int,
159        patch: *mut ::std::os::raw::c_int,
160    ) -> *const ::std::os::raw::c_char;
161}
162extern "C" {
163    #[doc = "return SIMD version used to build binaries"]
164    #[doc = "one of BM_SIMD_* defines"]
165    pub fn BM_simd_version() -> ::std::os::raw::c_int;
166}
167extern "C" {
168    #[doc = "return error message by code"]
169    pub fn BM_error_msg(errcode: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
170}
171extern "C" {
172    pub fn BM_bvector_construct(
173        h: *mut *mut ::core::ffi::c_void,
174        bv_max: ::std::os::raw::c_uint,
175    ) -> ::std::os::raw::c_int;
176}
177extern "C" {
178    pub fn BM_bvector_init(h: *mut ::core::ffi::c_void) -> ::std::os::raw::c_int;
179}
180extern "C" {
181    pub fn BM_bvector_construct_copy(
182        h: *mut *mut ::core::ffi::c_void,
183        hfrom: *mut ::core::ffi::c_void,
184    ) -> ::std::os::raw::c_int;
185}
186extern "C" {
187    pub fn BM_bvector_free(h: *mut ::core::ffi::c_void) -> ::std::os::raw::c_int;
188}
189extern "C" {
190    pub fn BM_bvector_get_size(
191        h: *mut ::core::ffi::c_void,
192        psize: *mut ::std::os::raw::c_uint,
193    ) -> ::std::os::raw::c_int;
194}
195extern "C" {
196    pub fn BM_bvector_set_size(
197        h: *mut ::core::ffi::c_void,
198        new_size: ::std::os::raw::c_uint,
199    ) -> ::std::os::raw::c_int;
200}
201extern "C" {
202    pub fn BM_bvector_swap(
203        h1: *mut ::core::ffi::c_void,
204        h2: *mut ::core::ffi::c_void,
205    ) -> ::std::os::raw::c_int;
206}
207extern "C" {
208    pub fn BM_bvector_set_bit(
209        h: *mut ::core::ffi::c_void,
210        i: ::std::os::raw::c_uint,
211        val: ::std::os::raw::c_int,
212    ) -> ::std::os::raw::c_int;
213}
214extern "C" {
215    pub fn BM_bvector_set_bits(
216        h: *mut ::core::ffi::c_void,
217        idx: *mut ::std::os::raw::c_uint,
218        idx_size: ::std::os::raw::c_uint,
219    ) -> ::std::os::raw::c_int;
220}
221extern "C" {
222    pub fn BM_bvector_set_bit_no_check(
223        h: *mut ::core::ffi::c_void,
224        i: ::std::os::raw::c_uint,
225    ) -> ::std::os::raw::c_int;
226}
227extern "C" {
228    pub fn BM_bvector_set_bit_conditional(
229        h: *mut ::core::ffi::c_void,
230        i: ::std::os::raw::c_uint,
231        val: ::std::os::raw::c_int,
232        condition: ::std::os::raw::c_int,
233        pchanged: *mut ::std::os::raw::c_int,
234    ) -> ::std::os::raw::c_int;
235}
236extern "C" {
237    pub fn BM_bvector_flip_bit(
238        h: *mut ::core::ffi::c_void,
239        i: ::std::os::raw::c_uint,
240    ) -> ::std::os::raw::c_int;
241}
242extern "C" {
243    pub fn BM_bvector_inc_bit(
244        h: *mut ::core::ffi::c_void,
245        i: ::std::os::raw::c_uint,
246        carry_over: *mut ::std::os::raw::c_int,
247    ) -> ::std::os::raw::c_int;
248}
249extern "C" {
250    pub fn BM_bvector_set(h: *mut ::core::ffi::c_void) -> ::std::os::raw::c_int;
251}
252extern "C" {
253    pub fn BM_bvector_set_range(
254        h: *mut ::core::ffi::c_void,
255        left: ::std::os::raw::c_uint,
256        right: ::std::os::raw::c_uint,
257        value: ::std::os::raw::c_int,
258    ) -> ::std::os::raw::c_int;
259}
260extern "C" {
261    pub fn BM_bvector_invert(h: *mut ::core::ffi::c_void) -> ::std::os::raw::c_int;
262}
263extern "C" {
264    pub fn BM_bvector_clear(
265        h: *mut ::core::ffi::c_void,
266        free_mem: ::std::os::raw::c_int,
267    ) -> ::std::os::raw::c_int;
268}
269extern "C" {
270    pub fn BM_bvector_extract_next(
271        h: *mut ::core::ffi::c_void,
272        i: ::std::os::raw::c_uint,
273        pnext: *mut ::std::os::raw::c_uint,
274    ) -> ::std::os::raw::c_int;
275}
276extern "C" {
277    pub fn BM_bvector_get_bit(
278        h: *mut ::core::ffi::c_void,
279        i: ::std::os::raw::c_uint,
280        pval: *mut ::std::os::raw::c_int,
281    ) -> ::std::os::raw::c_int;
282}
283extern "C" {
284    pub fn BM_bvector_count(
285        h: *mut ::core::ffi::c_void,
286        pcount: *mut ::std::os::raw::c_uint,
287    ) -> ::std::os::raw::c_int;
288}
289extern "C" {
290    pub fn BM_bvector_count_range(
291        h: *mut ::core::ffi::c_void,
292        left: ::std::os::raw::c_uint,
293        right: ::std::os::raw::c_uint,
294        pcount: *mut ::std::os::raw::c_uint,
295    ) -> ::std::os::raw::c_int;
296}
297extern "C" {
298    pub fn BM_bvector_any(
299        h: *mut ::core::ffi::c_void,
300        pval: *mut ::std::os::raw::c_int,
301    ) -> ::std::os::raw::c_int;
302}
303extern "C" {
304    pub fn BM_bvector_find(
305        h: *mut ::core::ffi::c_void,
306        from: ::std::os::raw::c_uint,
307        ppos: *mut ::std::os::raw::c_uint,
308        pfound: *mut ::std::os::raw::c_int,
309    ) -> ::std::os::raw::c_int;
310}
311extern "C" {
312    pub fn BM_bvector_find_reverse(
313        h: *mut ::core::ffi::c_void,
314        ppos: *mut ::std::os::raw::c_uint,
315        pfound: *mut ::std::os::raw::c_int,
316    ) -> ::std::os::raw::c_int;
317}
318extern "C" {
319    pub fn BM_bvector_find_rank(
320        h: *mut ::core::ffi::c_void,
321        rank: ::std::os::raw::c_uint,
322        from: ::std::os::raw::c_uint,
323        pidx: *mut ::std::os::raw::c_uint,
324        pfound: *mut ::std::os::raw::c_int,
325    ) -> ::std::os::raw::c_int;
326}
327extern "C" {
328    pub fn BM_bvector_get_first(
329        h: *mut ::core::ffi::c_void,
330        pi: *mut ::std::os::raw::c_uint,
331        pfound: *mut ::std::os::raw::c_int,
332    ) -> ::std::os::raw::c_int;
333}
334extern "C" {
335    pub fn BM_bvector_get_next(
336        h: *mut ::core::ffi::c_void,
337        i: ::std::os::raw::c_uint,
338        pnext: *mut ::std::os::raw::c_uint,
339    ) -> ::std::os::raw::c_int;
340}
341extern "C" {
342    pub fn BM_bvector_compare(
343        h1: *mut ::core::ffi::c_void,
344        h2: *mut ::core::ffi::c_void,
345        pres: *mut ::std::os::raw::c_int,
346    ) -> ::std::os::raw::c_int;
347}
348extern "C" {
349    pub fn BM_bvector_find_first_mismatch(
350        h1: *mut ::core::ffi::c_void,
351        h2: *mut ::core::ffi::c_void,
352        pi: *mut ::std::os::raw::c_uint,
353        pfound: *mut ::std::os::raw::c_int,
354    ) -> ::std::os::raw::c_int;
355}
356extern "C" {
357    pub fn BM_bvector_optimize(
358        h: *mut ::core::ffi::c_void,
359        opt_mode: ::std::os::raw::c_int,
360        pstat: *mut BM_bvector_statistics,
361    ) -> ::std::os::raw::c_int;
362}
363extern "C" {
364    pub fn BM_bvector_calc_stat(
365        h: *mut ::core::ffi::c_void,
366        pstat: *mut BM_bvector_statistics,
367    ) -> ::std::os::raw::c_int;
368}
369extern "C" {
370    pub fn BM_bvector_combine_operation(
371        hdst: *mut ::core::ffi::c_void,
372        hsrc: *mut ::core::ffi::c_void,
373        opcode: ::std::os::raw::c_int,
374    ) -> ::std::os::raw::c_int;
375}
376extern "C" {
377    pub fn BM_bvector_combine_AND(
378        hdst: *mut ::core::ffi::c_void,
379        hsrc: *mut ::core::ffi::c_void,
380    ) -> ::std::os::raw::c_int;
381}
382extern "C" {
383    pub fn BM_bvector_combine_AND_2sc(
384        hdst: *mut ::core::ffi::c_void,
385        hsrc1: *mut ::core::ffi::c_void,
386        hsrc2: *mut ::core::ffi::c_void,
387        compress: ::std::os::raw::c_int,
388    ) -> ::std::os::raw::c_int;
389}
390extern "C" {
391    pub fn BM_bvector_combine_OR(
392        hdst: *mut ::core::ffi::c_void,
393        hsrc: *mut ::core::ffi::c_void,
394    ) -> ::std::os::raw::c_int;
395}
396extern "C" {
397    pub fn BM_bvector_combine_OR_2sc(
398        hdst: *mut ::core::ffi::c_void,
399        hsrc1: *mut ::core::ffi::c_void,
400        hsrc2: *mut ::core::ffi::c_void,
401        compress: ::std::os::raw::c_int,
402    ) -> ::std::os::raw::c_int;
403}
404extern "C" {
405    pub fn BM_bvector_combine_SUB(
406        hdst: *mut ::core::ffi::c_void,
407        hsrc: *mut ::core::ffi::c_void,
408    ) -> ::std::os::raw::c_int;
409}
410extern "C" {
411    pub fn BM_bvector_combine_SUB_2sc(
412        hdst: *mut ::core::ffi::c_void,
413        hsrc1: *mut ::core::ffi::c_void,
414        hsrc2: *mut ::core::ffi::c_void,
415        compress: ::std::os::raw::c_int,
416    ) -> ::std::os::raw::c_int;
417}
418extern "C" {
419    pub fn BM_bvector_combine_XOR(
420        hdst: *mut ::core::ffi::c_void,
421        hsrc: *mut ::core::ffi::c_void,
422    ) -> ::std::os::raw::c_int;
423}
424extern "C" {
425    pub fn BM_bvector_combine_XOR_2sc(
426        hdst: *mut ::core::ffi::c_void,
427        hsrc1: *mut ::core::ffi::c_void,
428        hsrc2: *mut ::core::ffi::c_void,
429        compress: ::std::os::raw::c_int,
430    ) -> ::std::os::raw::c_int;
431}
432extern "C" {
433    pub fn BM_bvector_merge(
434        hdst: *mut ::core::ffi::c_void,
435        hsrc: *mut ::core::ffi::c_void,
436    ) -> ::std::os::raw::c_int;
437}
438extern "C" {
439    pub fn BM_bvector_rshift1(hdst: *mut ::core::ffi::c_void) -> ::std::os::raw::c_int;
440}
441extern "C" {
442    pub fn BM_bvector_combine_OR_arr(
443        hdst: *mut ::core::ffi::c_void,
444        arr_begin: *const ::std::os::raw::c_uint,
445        arr_end: *const ::std::os::raw::c_uint,
446    ) -> ::std::os::raw::c_int;
447}
448extern "C" {
449    pub fn BM_bvector_combine_XOR_arr(
450        hdst: *mut ::core::ffi::c_void,
451        arr_begin: *const ::std::os::raw::c_uint,
452        arr_end: *const ::std::os::raw::c_uint,
453    ) -> ::std::os::raw::c_int;
454}
455extern "C" {
456    pub fn BM_bvector_combine_SUB_arr(
457        hdst: *mut ::core::ffi::c_void,
458        arr_begin: *const ::std::os::raw::c_uint,
459        arr_end: *const ::std::os::raw::c_uint,
460    ) -> ::std::os::raw::c_int;
461}
462extern "C" {
463    pub fn BM_bvector_combine_AND_arr(
464        hdst: *mut ::core::ffi::c_void,
465        arr_begin: *const ::std::os::raw::c_uint,
466        arr_end: *const ::std::os::raw::c_uint,
467    ) -> ::std::os::raw::c_int;
468}
469extern "C" {
470    pub fn BM_bvector_combine_AND_arr_sorted(
471        hdst: *mut ::core::ffi::c_void,
472        arr_begin: *const ::std::os::raw::c_uint,
473        arr_end: *const ::std::os::raw::c_uint,
474    ) -> ::std::os::raw::c_int;
475}
476extern "C" {
477    pub fn BM_bvector_enumerator_construct(
478        h: *mut ::core::ffi::c_void,
479        peh: *mut *mut ::core::ffi::c_void,
480    ) -> ::std::os::raw::c_int;
481}
482extern "C" {
483    pub fn BM_bvector_enumerator_construct_from(
484        h: *mut ::core::ffi::c_void,
485        peh: *mut *mut ::core::ffi::c_void,
486        pos: ::std::os::raw::c_uint,
487    ) -> ::std::os::raw::c_int;
488}
489extern "C" {
490    pub fn BM_bvector_enumerator_free(eh: *mut ::core::ffi::c_void) -> ::std::os::raw::c_int;
491}
492extern "C" {
493    pub fn BM_bvector_enumerator_is_valid(
494        eh: *mut ::core::ffi::c_void,
495        pvalid: *mut ::std::os::raw::c_int,
496    ) -> ::std::os::raw::c_int;
497}
498extern "C" {
499    pub fn BM_bvector_enumerator_get_value(
500        eh: *mut ::core::ffi::c_void,
501        pvalue: *mut ::std::os::raw::c_uint,
502    ) -> ::std::os::raw::c_int;
503}
504extern "C" {
505    pub fn BM_bvector_enumerator_next(
506        eh: *mut ::core::ffi::c_void,
507        pvalid: *mut ::std::os::raw::c_int,
508        pvalue: *mut ::std::os::raw::c_uint,
509    ) -> ::std::os::raw::c_int;
510}
511extern "C" {
512    pub fn BM_bvector_enumerator_goto(
513        eh: *mut ::core::ffi::c_void,
514        pos: ::std::os::raw::c_uint,
515        pvalid: *mut ::std::os::raw::c_int,
516        pvalue: *mut ::std::os::raw::c_uint,
517    ) -> ::std::os::raw::c_int;
518}
519extern "C" {
520    pub fn BM_bvector_serialize(
521        h: *mut ::core::ffi::c_void,
522        buf: *mut ::std::os::raw::c_char,
523        buf_size: usize,
524        pblob_size: *mut usize,
525    ) -> ::std::os::raw::c_int;
526}
527extern "C" {
528    pub fn BM_bvector_deserialize(
529        h: *mut ::core::ffi::c_void,
530        buf: *const ::std::os::raw::c_char,
531        buf_size: usize,
532    ) -> ::std::os::raw::c_int;
533}
534extern "C" {
535    pub fn BM_bvector_count_AND(
536        h1: *mut ::core::ffi::c_void,
537        h2: *mut ::core::ffi::c_void,
538        pcount: *mut ::std::os::raw::c_uint,
539    ) -> ::std::os::raw::c_int;
540}
541extern "C" {
542    pub fn BM_bvector_any_AND(
543        h1: *mut ::core::ffi::c_void,
544        h2: *mut ::core::ffi::c_void,
545        pany: *mut ::std::os::raw::c_uint,
546    ) -> ::std::os::raw::c_int;
547}
548extern "C" {
549    pub fn BM_bvector_count_XOR(
550        h1: *mut ::core::ffi::c_void,
551        h2: *mut ::core::ffi::c_void,
552        pcount: *mut ::std::os::raw::c_uint,
553    ) -> ::std::os::raw::c_int;
554}
555extern "C" {
556    pub fn BM_bvector_any_XOR(
557        h1: *mut ::core::ffi::c_void,
558        h2: *mut ::core::ffi::c_void,
559        pany: *mut ::std::os::raw::c_uint,
560    ) -> ::std::os::raw::c_int;
561}
562extern "C" {
563    pub fn BM_bvector_count_SUB(
564        h1: *mut ::core::ffi::c_void,
565        h2: *mut ::core::ffi::c_void,
566        pcount: *mut ::std::os::raw::c_uint,
567    ) -> ::std::os::raw::c_int;
568}
569extern "C" {
570    pub fn BM_bvector_any_SUB(
571        h1: *mut ::core::ffi::c_void,
572        h2: *mut ::core::ffi::c_void,
573        pany: *mut ::std::os::raw::c_uint,
574    ) -> ::std::os::raw::c_int;
575}
576extern "C" {
577    pub fn BM_bvector_count_OR(
578        h1: *mut ::core::ffi::c_void,
579        h2: *mut ::core::ffi::c_void,
580        pcount: *mut ::std::os::raw::c_uint,
581    ) -> ::std::os::raw::c_int;
582}
583extern "C" {
584    pub fn BM_bvector_any_OR(
585        h1: *mut ::core::ffi::c_void,
586        h2: *mut ::core::ffi::c_void,
587        pany: *mut ::std::os::raw::c_uint,
588    ) -> ::std::os::raw::c_int;
589}