1use libc::FILE;
4
5#[repr(C)]
6#[derive(Debug, Copy, Clone)]
7pub struct Btor {
8 _unused: [u8; 0],
9}
10#[repr(C)]
11#[derive(Debug, Copy, Clone)]
12pub struct BtorNode {
13 _unused: [u8; 0],
14}
15pub const BtorSolverResult_BTOR_RESULT_SAT: BtorSolverResult = 10;
16pub const BtorSolverResult_BTOR_RESULT_UNSAT: BtorSolverResult = 20;
17pub const BtorSolverResult_BTOR_RESULT_UNKNOWN: BtorSolverResult = 0;
18pub type BtorSolverResult = ::std::os::raw::c_uint;
19#[repr(C)]
20#[derive(Debug, Copy, Clone)]
21pub struct BoolectorNode {
22 _unused: [u8; 0],
23}
24#[repr(C)]
25#[derive(Debug, Copy, Clone)]
26pub struct BoolectorAnonymous {
27 _unused: [u8; 0],
28}
29pub type BoolectorSort = *mut BoolectorAnonymous;
30#[repr(C)]
31#[derive(Debug, Copy, Clone)]
32pub struct BtorAbortCallback {
33 pub abort_fun: ::std::option::Option<unsafe extern "C" fn(msg: *const ::std::os::raw::c_char)>,
34 pub cb_fun: *mut ::std::os::raw::c_void,
35}
36#[test]
37fn bindgen_test_layout_BtorAbortCallback() {
38 assert_eq!(
39 ::std::mem::size_of::<BtorAbortCallback>(),
40 16usize,
41 concat!("Size of: ", stringify!(BtorAbortCallback))
42 );
43 assert_eq!(
44 ::std::mem::align_of::<BtorAbortCallback>(),
45 8usize,
46 concat!("Alignment of ", stringify!(BtorAbortCallback))
47 );
48 assert_eq!(
49 unsafe { &(*(::std::ptr::null::<BtorAbortCallback>())).abort_fun as *const _ as usize },
50 0usize,
51 concat!(
52 "Offset of field: ",
53 stringify!(BtorAbortCallback),
54 "::",
55 stringify!(abort_fun)
56 )
57 );
58 assert_eq!(
59 unsafe { &(*(::std::ptr::null::<BtorAbortCallback>())).cb_fun as *const _ as usize },
60 8usize,
61 concat!(
62 "Offset of field: ",
63 stringify!(BtorAbortCallback),
64 "::",
65 stringify!(cb_fun)
66 )
67 );
68}
69extern "C" {
70 pub fn boolector_new() -> *mut Btor;
71}
72extern "C" {
73 pub fn boolector_clone(btor: *mut Btor) -> *mut Btor;
74}
75extern "C" {
76 pub fn boolector_delete(btor: *mut Btor);
77}
78extern "C" {
79 pub fn boolector_set_term(
80 btor: *mut Btor,
81 fun: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void) -> i32>,
82 state: *mut ::std::os::raw::c_void,
83 );
84}
85extern "C" {
86 pub fn boolector_terminate(btor: *mut Btor) -> i32;
87}
88extern "C" {
89 pub fn boolector_set_abort(
90 fun: ::std::option::Option<unsafe extern "C" fn(msg: *const ::std::os::raw::c_char)>,
91 );
92}
93extern "C" {
94 pub fn boolector_set_msg_prefix(btor: *mut Btor, prefix: *const ::std::os::raw::c_char);
95}
96extern "C" {
97 pub fn boolector_get_refs(btor: *mut Btor) -> u32;
98}
99extern "C" {
100 pub fn boolector_reset_time(btor: *mut Btor);
101}
102extern "C" {
103 pub fn boolector_reset_stats(btor: *mut Btor);
104}
105extern "C" {
106 pub fn boolector_print_stats(btor: *mut Btor);
107}
108extern "C" {
109 pub fn boolector_set_trapi(btor: *mut Btor, apitrace: *mut FILE);
110}
111extern "C" {
112 pub fn boolector_get_trapi(btor: *mut Btor) -> *mut FILE;
113}
114extern "C" {
115 pub fn boolector_push(btor: *mut Btor, level: u32);
116}
117extern "C" {
118 pub fn boolector_pop(btor: *mut Btor, level: u32);
119}
120extern "C" {
121 pub fn boolector_assert(btor: *mut Btor, node: *mut BoolectorNode);
122}
123extern "C" {
124 pub fn boolector_assume(btor: *mut Btor, node: *mut BoolectorNode);
125}
126extern "C" {
127 pub fn boolector_failed(btor: *mut Btor, node: *mut BoolectorNode) -> bool;
128}
129extern "C" {
130 pub fn boolector_get_failed_assumptions(btor: *mut Btor) -> *mut *mut BoolectorNode;
131}
132extern "C" {
133 pub fn boolector_fixate_assumptions(btor: *mut Btor);
134}
135extern "C" {
136 pub fn boolector_reset_assumptions(btor: *mut Btor);
137}
138extern "C" {
139 pub fn boolector_sat(btor: *mut Btor) -> i32;
140}
141extern "C" {
142 pub fn boolector_limited_sat(btor: *mut Btor, lod_limit: i32, sat_limit: i32) -> i32;
143}
144extern "C" {
145 pub fn boolector_simplify(btor: *mut Btor) -> i32;
146}
147extern "C" {
148 pub fn boolector_set_sat_solver(btor: *mut Btor, solver: *const ::std::os::raw::c_char);
149}
150extern "C" {
151 pub fn boolector_set_opt(btor: *mut Btor, opt: BtorOption, val: u32);
152}
153extern "C" {
154 pub fn boolector_get_opt(btor: *mut Btor, opt: BtorOption) -> u32;
155}
156extern "C" {
157 pub fn boolector_get_opt_min(btor: *mut Btor, opt: BtorOption) -> u32;
158}
159extern "C" {
160 pub fn boolector_get_opt_max(btor: *mut Btor, opt: BtorOption) -> u32;
161}
162extern "C" {
163 pub fn boolector_get_opt_dflt(btor: *mut Btor, opt: BtorOption) -> u32;
164}
165extern "C" {
166 pub fn boolector_get_opt_lng(btor: *mut Btor, opt: BtorOption)
167 -> *const ::std::os::raw::c_char;
168}
169extern "C" {
170 pub fn boolector_get_opt_shrt(
171 btor: *mut Btor,
172 opt: BtorOption,
173 ) -> *const ::std::os::raw::c_char;
174}
175extern "C" {
176 pub fn boolector_get_opt_desc(
177 btor: *mut Btor,
178 opt: BtorOption,
179 ) -> *const ::std::os::raw::c_char;
180}
181extern "C" {
182 pub fn boolector_has_opt(Btor: *mut Btor, opt: BtorOption) -> bool;
183}
184extern "C" {
185 pub fn boolector_first_opt(btor: *mut Btor) -> BtorOption;
186}
187extern "C" {
188 pub fn boolector_next_opt(btor: *mut Btor, opt: BtorOption) -> BtorOption;
189}
190extern "C" {
191 pub fn boolector_copy(btor: *mut Btor, node: *mut BoolectorNode) -> *mut BoolectorNode;
192}
193extern "C" {
194 pub fn boolector_release(btor: *mut Btor, node: *mut BoolectorNode);
195}
196extern "C" {
197 pub fn boolector_release_all(btor: *mut Btor);
198}
199extern "C" {
200 pub fn boolector_true(btor: *mut Btor) -> *mut BoolectorNode;
201}
202extern "C" {
203 pub fn boolector_false(btor: *mut Btor) -> *mut BoolectorNode;
204}
205extern "C" {
206 pub fn boolector_implies(
207 btor: *mut Btor,
208 n0: *mut BoolectorNode,
209 n1: *mut BoolectorNode,
210 ) -> *mut BoolectorNode;
211}
212extern "C" {
213 pub fn boolector_iff(
214 btor: *mut Btor,
215 n0: *mut BoolectorNode,
216 n1: *mut BoolectorNode,
217 ) -> *mut BoolectorNode;
218}
219extern "C" {
220 pub fn boolector_eq(
221 btor: *mut Btor,
222 n0: *mut BoolectorNode,
223 n1: *mut BoolectorNode,
224 ) -> *mut BoolectorNode;
225}
226extern "C" {
227 pub fn boolector_ne(
228 btor: *mut Btor,
229 n0: *mut BoolectorNode,
230 n1: *mut BoolectorNode,
231 ) -> *mut BoolectorNode;
232}
233extern "C" {
234 pub fn boolector_is_bv_const_zero(btor: *mut Btor, node: *mut BoolectorNode) -> bool;
235}
236extern "C" {
237 pub fn boolector_is_bv_const_one(btor: *mut Btor, node: *mut BoolectorNode) -> bool;
238}
239extern "C" {
240 pub fn boolector_is_bv_const_ones(btor: *mut Btor, node: *mut BoolectorNode) -> bool;
241}
242extern "C" {
243 pub fn boolector_is_bv_const_max_signed(btor: *mut Btor, node: *mut BoolectorNode) -> bool;
244}
245extern "C" {
246 pub fn boolector_is_bv_const_min_signed(btor: *mut Btor, node: *mut BoolectorNode) -> bool;
247}
248extern "C" {
249 pub fn boolector_const(
250 btor: *mut Btor,
251 bits: *const ::std::os::raw::c_char,
252 ) -> *mut BoolectorNode;
253}
254extern "C" {
255 pub fn boolector_constd(
256 btor: *mut Btor,
257 sort: BoolectorSort,
258 str_: *const ::std::os::raw::c_char,
259 ) -> *mut BoolectorNode;
260}
261extern "C" {
262 pub fn boolector_consth(
263 btor: *mut Btor,
264 sort: BoolectorSort,
265 str_: *const ::std::os::raw::c_char,
266 ) -> *mut BoolectorNode;
267}
268extern "C" {
269 pub fn boolector_zero(btor: *mut Btor, sort: BoolectorSort) -> *mut BoolectorNode;
270}
271extern "C" {
272 pub fn boolector_ones(btor: *mut Btor, sort: BoolectorSort) -> *mut BoolectorNode;
273}
274extern "C" {
275 pub fn boolector_one(btor: *mut Btor, sort: BoolectorSort) -> *mut BoolectorNode;
276}
277extern "C" {
278 pub fn boolector_min_signed(btor: *mut Btor, sort: BoolectorSort) -> *mut BoolectorNode;
279}
280extern "C" {
281 pub fn boolector_max_signed(btor: *mut Btor, sort: BoolectorSort) -> *mut BoolectorNode;
282}
283extern "C" {
284 pub fn boolector_unsigned_int(
285 btor: *mut Btor,
286 u: u32,
287 sort: BoolectorSort,
288 ) -> *mut BoolectorNode;
289}
290extern "C" {
291 pub fn boolector_int(btor: *mut Btor, i: i32, sort: BoolectorSort) -> *mut BoolectorNode;
292}
293extern "C" {
294 pub fn boolector_var(
295 btor: *mut Btor,
296 sort: BoolectorSort,
297 symbol: *const ::std::os::raw::c_char,
298 ) -> *mut BoolectorNode;
299}
300extern "C" {
301 pub fn boolector_array(
302 btor: *mut Btor,
303 sort: BoolectorSort,
304 symbol: *const ::std::os::raw::c_char,
305 ) -> *mut BoolectorNode;
306}
307extern "C" {
308 pub fn boolector_const_array(
309 btor: *mut Btor,
310 sort: BoolectorSort,
311 value: *mut BoolectorNode,
312 ) -> *mut BoolectorNode;
313}
314extern "C" {
315 pub fn boolector_uf(
316 btor: *mut Btor,
317 sort: BoolectorSort,
318 symbol: *const ::std::os::raw::c_char,
319 ) -> *mut BoolectorNode;
320}
321extern "C" {
322 pub fn boolector_not(btor: *mut Btor, node: *mut BoolectorNode) -> *mut BoolectorNode;
323}
324extern "C" {
325 pub fn boolector_neg(btor: *mut Btor, node: *mut BoolectorNode) -> *mut BoolectorNode;
326}
327extern "C" {
328 pub fn boolector_redor(btor: *mut Btor, node: *mut BoolectorNode) -> *mut BoolectorNode;
329}
330extern "C" {
331 pub fn boolector_redxor(btor: *mut Btor, node: *mut BoolectorNode) -> *mut BoolectorNode;
332}
333extern "C" {
334 pub fn boolector_redand(btor: *mut Btor, node: *mut BoolectorNode) -> *mut BoolectorNode;
335}
336extern "C" {
337 pub fn boolector_slice(
338 btor: *mut Btor,
339 node: *mut BoolectorNode,
340 upper: u32,
341 lower: u32,
342 ) -> *mut BoolectorNode;
343}
344extern "C" {
345 pub fn boolector_uext(
346 btor: *mut Btor,
347 node: *mut BoolectorNode,
348 width: u32,
349 ) -> *mut BoolectorNode;
350}
351extern "C" {
352 pub fn boolector_sext(
353 btor: *mut Btor,
354 node: *mut BoolectorNode,
355 width: u32,
356 ) -> *mut BoolectorNode;
357}
358extern "C" {
359 pub fn boolector_xor(
360 btor: *mut Btor,
361 n0: *mut BoolectorNode,
362 n1: *mut BoolectorNode,
363 ) -> *mut BoolectorNode;
364}
365extern "C" {
366 pub fn boolector_xnor(
367 btor: *mut Btor,
368 n0: *mut BoolectorNode,
369 n1: *mut BoolectorNode,
370 ) -> *mut BoolectorNode;
371}
372extern "C" {
373 pub fn boolector_and(
374 btor: *mut Btor,
375 n0: *mut BoolectorNode,
376 n1: *mut BoolectorNode,
377 ) -> *mut BoolectorNode;
378}
379extern "C" {
380 pub fn boolector_nand(
381 btor: *mut Btor,
382 n0: *mut BoolectorNode,
383 n1: *mut BoolectorNode,
384 ) -> *mut BoolectorNode;
385}
386extern "C" {
387 pub fn boolector_or(
388 btor: *mut Btor,
389 n0: *mut BoolectorNode,
390 n1: *mut BoolectorNode,
391 ) -> *mut BoolectorNode;
392}
393extern "C" {
394 pub fn boolector_nor(
395 btor: *mut Btor,
396 n0: *mut BoolectorNode,
397 n1: *mut BoolectorNode,
398 ) -> *mut BoolectorNode;
399}
400extern "C" {
401 pub fn boolector_add(
402 btor: *mut Btor,
403 n0: *mut BoolectorNode,
404 n1: *mut BoolectorNode,
405 ) -> *mut BoolectorNode;
406}
407extern "C" {
408 pub fn boolector_uaddo(
409 btor: *mut Btor,
410 n0: *mut BoolectorNode,
411 n1: *mut BoolectorNode,
412 ) -> *mut BoolectorNode;
413}
414extern "C" {
415 pub fn boolector_saddo(
416 btor: *mut Btor,
417 n0: *mut BoolectorNode,
418 n1: *mut BoolectorNode,
419 ) -> *mut BoolectorNode;
420}
421extern "C" {
422 pub fn boolector_mul(
423 btor: *mut Btor,
424 n0: *mut BoolectorNode,
425 n1: *mut BoolectorNode,
426 ) -> *mut BoolectorNode;
427}
428extern "C" {
429 pub fn boolector_umulo(
430 btor: *mut Btor,
431 n0: *mut BoolectorNode,
432 n1: *mut BoolectorNode,
433 ) -> *mut BoolectorNode;
434}
435extern "C" {
436 pub fn boolector_smulo(
437 btor: *mut Btor,
438 n0: *mut BoolectorNode,
439 n1: *mut BoolectorNode,
440 ) -> *mut BoolectorNode;
441}
442extern "C" {
443 pub fn boolector_ult(
444 btor: *mut Btor,
445 n0: *mut BoolectorNode,
446 n1: *mut BoolectorNode,
447 ) -> *mut BoolectorNode;
448}
449extern "C" {
450 pub fn boolector_slt(
451 btor: *mut Btor,
452 n0: *mut BoolectorNode,
453 n1: *mut BoolectorNode,
454 ) -> *mut BoolectorNode;
455}
456extern "C" {
457 pub fn boolector_ulte(
458 btor: *mut Btor,
459 n0: *mut BoolectorNode,
460 n1: *mut BoolectorNode,
461 ) -> *mut BoolectorNode;
462}
463extern "C" {
464 pub fn boolector_slte(
465 btor: *mut Btor,
466 n0: *mut BoolectorNode,
467 n1: *mut BoolectorNode,
468 ) -> *mut BoolectorNode;
469}
470extern "C" {
471 pub fn boolector_ugt(
472 btor: *mut Btor,
473 n0: *mut BoolectorNode,
474 n1: *mut BoolectorNode,
475 ) -> *mut BoolectorNode;
476}
477extern "C" {
478 pub fn boolector_sgt(
479 btor: *mut Btor,
480 n0: *mut BoolectorNode,
481 n1: *mut BoolectorNode,
482 ) -> *mut BoolectorNode;
483}
484extern "C" {
485 pub fn boolector_ugte(
486 btor: *mut Btor,
487 n0: *mut BoolectorNode,
488 n1: *mut BoolectorNode,
489 ) -> *mut BoolectorNode;
490}
491extern "C" {
492 pub fn boolector_sgte(
493 btor: *mut Btor,
494 n0: *mut BoolectorNode,
495 n1: *mut BoolectorNode,
496 ) -> *mut BoolectorNode;
497}
498extern "C" {
499 pub fn boolector_sll(
500 btor: *mut Btor,
501 n0: *mut BoolectorNode,
502 n1: *mut BoolectorNode,
503 ) -> *mut BoolectorNode;
504}
505extern "C" {
506 pub fn boolector_srl(
507 btor: *mut Btor,
508 n0: *mut BoolectorNode,
509 n1: *mut BoolectorNode,
510 ) -> *mut BoolectorNode;
511}
512extern "C" {
513 pub fn boolector_sra(
514 btor: *mut Btor,
515 n0: *mut BoolectorNode,
516 n1: *mut BoolectorNode,
517 ) -> *mut BoolectorNode;
518}
519extern "C" {
520 pub fn boolector_rol(
521 btor: *mut Btor,
522 n0: *mut BoolectorNode,
523 n1: *mut BoolectorNode,
524 ) -> *mut BoolectorNode;
525}
526extern "C" {
527 pub fn boolector_ror(
528 btor: *mut Btor,
529 n0: *mut BoolectorNode,
530 n1: *mut BoolectorNode,
531 ) -> *mut BoolectorNode;
532}
533extern "C" {
534 pub fn boolector_roli(btor: *mut Btor, n: *mut BoolectorNode, nbits: u32)
535 -> *mut BoolectorNode;
536}
537extern "C" {
538 pub fn boolector_rori(btor: *mut Btor, n: *mut BoolectorNode, nbits: u32)
539 -> *mut BoolectorNode;
540}
541extern "C" {
542 pub fn boolector_sub(
543 btor: *mut Btor,
544 n0: *mut BoolectorNode,
545 n1: *mut BoolectorNode,
546 ) -> *mut BoolectorNode;
547}
548extern "C" {
549 pub fn boolector_usubo(
550 btor: *mut Btor,
551 n0: *mut BoolectorNode,
552 n1: *mut BoolectorNode,
553 ) -> *mut BoolectorNode;
554}
555extern "C" {
556 pub fn boolector_ssubo(
557 btor: *mut Btor,
558 n0: *mut BoolectorNode,
559 n1: *mut BoolectorNode,
560 ) -> *mut BoolectorNode;
561}
562extern "C" {
563 pub fn boolector_udiv(
564 btor: *mut Btor,
565 n0: *mut BoolectorNode,
566 n1: *mut BoolectorNode,
567 ) -> *mut BoolectorNode;
568}
569extern "C" {
570 pub fn boolector_sdiv(
571 btor: *mut Btor,
572 n0: *mut BoolectorNode,
573 n1: *mut BoolectorNode,
574 ) -> *mut BoolectorNode;
575}
576extern "C" {
577 pub fn boolector_sdivo(
578 btor: *mut Btor,
579 n0: *mut BoolectorNode,
580 n1: *mut BoolectorNode,
581 ) -> *mut BoolectorNode;
582}
583extern "C" {
584 pub fn boolector_urem(
585 btor: *mut Btor,
586 n0: *mut BoolectorNode,
587 n1: *mut BoolectorNode,
588 ) -> *mut BoolectorNode;
589}
590extern "C" {
591 pub fn boolector_srem(
592 btor: *mut Btor,
593 n0: *mut BoolectorNode,
594 n1: *mut BoolectorNode,
595 ) -> *mut BoolectorNode;
596}
597extern "C" {
598 pub fn boolector_smod(
599 btor: *mut Btor,
600 n0: *mut BoolectorNode,
601 n1: *mut BoolectorNode,
602 ) -> *mut BoolectorNode;
603}
604extern "C" {
605 pub fn boolector_concat(
606 btor: *mut Btor,
607 n0: *mut BoolectorNode,
608 n1: *mut BoolectorNode,
609 ) -> *mut BoolectorNode;
610}
611extern "C" {
612 pub fn boolector_repeat(
613 btor: *mut Btor,
614 node: *mut BoolectorNode,
615 n: u32,
616 ) -> *mut BoolectorNode;
617}
618extern "C" {
619 pub fn boolector_read(
620 btor: *mut Btor,
621 n_array: *mut BoolectorNode,
622 n_index: *mut BoolectorNode,
623 ) -> *mut BoolectorNode;
624}
625extern "C" {
626 pub fn boolector_write(
627 btor: *mut Btor,
628 n_array: *mut BoolectorNode,
629 n_index: *mut BoolectorNode,
630 n_value: *mut BoolectorNode,
631 ) -> *mut BoolectorNode;
632}
633extern "C" {
634 pub fn boolector_cond(
635 btor: *mut Btor,
636 n_cond: *mut BoolectorNode,
637 n_then: *mut BoolectorNode,
638 n_else: *mut BoolectorNode,
639 ) -> *mut BoolectorNode;
640}
641extern "C" {
642 pub fn boolector_param(
643 btor: *mut Btor,
644 sort: BoolectorSort,
645 symbol: *const ::std::os::raw::c_char,
646 ) -> *mut BoolectorNode;
647}
648extern "C" {
649 pub fn boolector_fun(
650 btor: *mut Btor,
651 param_nodes: *mut *mut BoolectorNode,
652 paramc: u32,
653 node: *mut BoolectorNode,
654 ) -> *mut BoolectorNode;
655}
656extern "C" {
657 pub fn boolector_apply(
658 btor: *mut Btor,
659 arg_nodes: *mut *mut BoolectorNode,
660 argc: u32,
661 n_fun: *mut BoolectorNode,
662 ) -> *mut BoolectorNode;
663}
664extern "C" {
665 pub fn boolector_inc(btor: *mut Btor, node: *mut BoolectorNode) -> *mut BoolectorNode;
666}
667extern "C" {
668 pub fn boolector_dec(btor: *mut Btor, node: *mut BoolectorNode) -> *mut BoolectorNode;
669}
670extern "C" {
671 pub fn boolector_forall(
672 btor: *mut Btor,
673 params: *mut *mut BoolectorNode,
674 paramc: u32,
675 body: *mut BoolectorNode,
676 ) -> *mut BoolectorNode;
677}
678extern "C" {
679 pub fn boolector_exists(
680 btor: *mut Btor,
681 param: *mut *mut BoolectorNode,
682 paramc: u32,
683 body: *mut BoolectorNode,
684 ) -> *mut BoolectorNode;
685}
686extern "C" {
687 pub fn boolector_get_btor(node: *mut BoolectorNode) -> *mut Btor;
688}
689extern "C" {
690 pub fn boolector_get_node_id(btor: *mut Btor, node: *mut BoolectorNode) -> i32;
691}
692extern "C" {
693 pub fn boolector_get_sort(btor: *mut Btor, node: *const BoolectorNode) -> BoolectorSort;
694}
695extern "C" {
696 pub fn boolector_fun_get_domain_sort(
697 btor: *mut Btor,
698 node: *const BoolectorNode,
699 ) -> BoolectorSort;
700}
701extern "C" {
702 pub fn boolector_fun_get_codomain_sort(
703 btor: *mut Btor,
704 node: *const BoolectorNode,
705 ) -> BoolectorSort;
706}
707extern "C" {
708 pub fn boolector_match_node_by_id(btor: *mut Btor, id: i32) -> *mut BoolectorNode;
709}
710extern "C" {
711 pub fn boolector_match_node_by_symbol(
712 btor: *mut Btor,
713 symbol: *const ::std::os::raw::c_char,
714 ) -> *mut BoolectorNode;
715}
716extern "C" {
717 pub fn boolector_match_node(btor: *mut Btor, node: *mut BoolectorNode) -> *mut BoolectorNode;
718}
719extern "C" {
720 pub fn boolector_get_symbol(
721 btor: *mut Btor,
722 node: *mut BoolectorNode,
723 ) -> *const ::std::os::raw::c_char;
724}
725extern "C" {
726 pub fn boolector_set_symbol(
727 btor: *mut Btor,
728 node: *mut BoolectorNode,
729 symbol: *const ::std::os::raw::c_char,
730 );
731}
732extern "C" {
733 pub fn boolector_get_width(btor: *mut Btor, node: *mut BoolectorNode) -> u32;
734}
735extern "C" {
736 pub fn boolector_get_index_width(btor: *mut Btor, n_array: *mut BoolectorNode) -> u32;
737}
738extern "C" {
739 pub fn boolector_get_bits(
740 btor: *mut Btor,
741 node: *mut BoolectorNode,
742 ) -> *const ::std::os::raw::c_char;
743}
744extern "C" {
745 pub fn boolector_free_bits(btor: *mut Btor, bits: *const ::std::os::raw::c_char);
746}
747extern "C" {
748 pub fn boolector_get_fun_arity(btor: *mut Btor, node: *mut BoolectorNode) -> u32;
749}
750extern "C" {
751 pub fn boolector_is_const(btor: *mut Btor, node: *mut BoolectorNode) -> bool;
752}
753extern "C" {
754 pub fn boolector_is_var(btor: *mut Btor, node: *mut BoolectorNode) -> bool;
755}
756extern "C" {
757 pub fn boolector_is_array(btor: *mut Btor, node: *mut BoolectorNode) -> bool;
758}
759extern "C" {
760 pub fn boolector_is_array_var(btor: *mut Btor, node: *mut BoolectorNode) -> bool;
761}
762extern "C" {
763 pub fn boolector_is_param(btor: *mut Btor, node: *mut BoolectorNode) -> bool;
764}
765extern "C" {
766 pub fn boolector_is_bound_param(btor: *mut Btor, node: *mut BoolectorNode) -> bool;
767}
768extern "C" {
769 pub fn boolector_is_uf(btor: *mut Btor, node: *mut BoolectorNode) -> bool;
770}
771extern "C" {
772 pub fn boolector_is_fun(btor: *mut Btor, node: *mut BoolectorNode) -> bool;
773}
774extern "C" {
775 pub fn boolector_fun_sort_check(
776 btor: *mut Btor,
777 arg_nodes: *mut *mut BoolectorNode,
778 argc: u32,
779 n_fun: *mut BoolectorNode,
780 ) -> i32;
781}
782extern "C" {
783 pub fn boolector_get_value(btor: *mut Btor, node: *mut BoolectorNode) -> *mut BoolectorNode;
784}
785extern "C" {
786 pub fn boolector_bv_assignment(
787 btor: *mut Btor,
788 node: *mut BoolectorNode,
789 ) -> *const ::std::os::raw::c_char;
790}
791extern "C" {
792 pub fn boolector_free_bv_assignment(btor: *mut Btor, assignment: *const ::std::os::raw::c_char);
793}
794extern "C" {
795 pub fn boolector_array_assignment(
796 btor: *mut Btor,
797 n_array: *mut BoolectorNode,
798 indices: *mut *mut *mut ::std::os::raw::c_char,
799 values: *mut *mut *mut ::std::os::raw::c_char,
800 size: *mut u32,
801 );
802}
803extern "C" {
804 pub fn boolector_free_array_assignment(
805 btor: *mut Btor,
806 indices: *mut *mut ::std::os::raw::c_char,
807 values: *mut *mut ::std::os::raw::c_char,
808 size: u32,
809 );
810}
811extern "C" {
812 pub fn boolector_uf_assignment(
813 btor: *mut Btor,
814 n_uf: *mut BoolectorNode,
815 args: *mut *mut *mut ::std::os::raw::c_char,
816 values: *mut *mut *mut ::std::os::raw::c_char,
817 size: *mut u32,
818 );
819}
820extern "C" {
821 pub fn boolector_free_uf_assignment(
822 btor: *mut Btor,
823 args: *mut *mut ::std::os::raw::c_char,
824 values: *mut *mut ::std::os::raw::c_char,
825 size: u32,
826 );
827}
828extern "C" {
829 pub fn boolector_print_model(
830 btor: *mut Btor,
831 format: *mut ::std::os::raw::c_char,
832 file: *mut FILE,
833 );
834}
835extern "C" {
836 pub fn boolector_bool_sort(btor: *mut Btor) -> BoolectorSort;
837}
838extern "C" {
839 pub fn boolector_bitvec_sort(btor: *mut Btor, width: u32) -> BoolectorSort;
840}
841extern "C" {
842 pub fn boolector_fun_sort(
843 btor: *mut Btor,
844 domain: *mut BoolectorSort,
845 arity: u32,
846 codomain: BoolectorSort,
847 ) -> BoolectorSort;
848}
849extern "C" {
850 pub fn boolector_array_sort(
851 btor: *mut Btor,
852 index: BoolectorSort,
853 element: BoolectorSort,
854 ) -> BoolectorSort;
855}
856extern "C" {
857 pub fn boolector_copy_sort(btor: *mut Btor, sort: BoolectorSort) -> BoolectorSort;
858}
859extern "C" {
860 pub fn boolector_release_sort(btor: *mut Btor, sort: BoolectorSort);
861}
862extern "C" {
863 pub fn boolector_is_equal_sort(
864 btor: *mut Btor,
865 n0: *mut BoolectorNode,
866 n1: *mut BoolectorNode,
867 ) -> bool;
868}
869extern "C" {
870 pub fn boolector_is_array_sort(btor: *mut Btor, sort: BoolectorSort) -> bool;
871}
872extern "C" {
873 pub fn boolector_is_bitvec_sort(btor: *mut Btor, sort: BoolectorSort) -> bool;
874}
875extern "C" {
876 pub fn boolector_is_fun_sort(btor: *mut Btor, sort: BoolectorSort) -> bool;
877}
878extern "C" {
879 pub fn boolector_bitvec_sort_get_width(btor: *mut Btor, sort: BoolectorSort) -> u32;
880}
881extern "C" {
882 pub fn boolector_parse(
883 btor: *mut Btor,
884 infile: *mut FILE,
885 infile_name: *const ::std::os::raw::c_char,
886 outfile: *mut FILE,
887 error_msg: *mut *mut ::std::os::raw::c_char,
888 status: *mut i32,
889 parsed_smt2: *mut bool,
890 ) -> i32;
891}
892extern "C" {
893 pub fn boolector_parse_btor(
894 btor: *mut Btor,
895 infile: *mut FILE,
896 infile_name: *const ::std::os::raw::c_char,
897 outfile: *mut FILE,
898 error_msg: *mut *mut ::std::os::raw::c_char,
899 status: *mut i32,
900 ) -> i32;
901}
902extern "C" {
903 pub fn boolector_parse_btor2(
904 btor: *mut Btor,
905 infile: *mut FILE,
906 infile_name: *const ::std::os::raw::c_char,
907 outfile: *mut FILE,
908 error_msg: *mut *mut ::std::os::raw::c_char,
909 status: *mut i32,
910 ) -> i32;
911}
912extern "C" {
913 pub fn boolector_parse_smt1(
914 btor: *mut Btor,
915 infile: *mut FILE,
916 infile_name: *const ::std::os::raw::c_char,
917 outfile: *mut FILE,
918 error_msg: *mut *mut ::std::os::raw::c_char,
919 status: *mut i32,
920 ) -> i32;
921}
922extern "C" {
923 pub fn boolector_parse_smt2(
924 btor: *mut Btor,
925 infile: *mut FILE,
926 infile_name: *const ::std::os::raw::c_char,
927 outfile: *mut FILE,
928 error_msg: *mut *mut ::std::os::raw::c_char,
929 status: *mut i32,
930 ) -> i32;
931}
932extern "C" {
933 pub fn boolector_dump_btor_node(btor: *mut Btor, file: *mut FILE, node: *mut BoolectorNode);
934}
935extern "C" {
936 pub fn boolector_dump_btor(btor: *mut Btor, file: *mut FILE);
937}
938extern "C" {
939 pub fn boolector_dump_smt2_node(btor: *mut Btor, file: *mut FILE, node: *mut BoolectorNode);
940}
941extern "C" {
942 pub fn boolector_dump_smt2(btor: *mut Btor, file: *mut FILE);
943}
944extern "C" {
945 pub fn boolector_dump_aiger_ascii(btor: *mut Btor, file: *mut FILE, merge_roots: bool);
946}
947extern "C" {
948 pub fn boolector_dump_aiger_binary(btor: *mut Btor, file: *mut FILE, merge_roots: bool);
949}
950extern "C" {
951 pub fn boolector_copyright(btor: *mut Btor) -> *const ::std::os::raw::c_char;
952}
953extern "C" {
954 pub fn boolector_version(btor: *mut Btor) -> *const ::std::os::raw::c_char;
955}
956extern "C" {
957 pub fn boolector_git_id(btor: *mut Btor) -> *const ::std::os::raw::c_char;
958}