1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
use interoptopus::{constant, extra_type, function, pattern, Inventory, InventoryBuilder};
pub mod constants;
pub mod functions;
pub mod patterns {
pub mod api_guard;
pub mod ascii_pointer;
pub mod callbacks;
pub mod option;
pub mod primitives;
pub mod result;
pub mod service;
pub mod slice;
}
pub mod types;
pub fn ffi_inventory() -> Inventory {
{
InventoryBuilder::new()
.register(function!(functions::primitive_void))
.register(function!(functions::primitive_void2))
.register(function!(functions::primitive_bool))
.register(function!(functions::primitive_u8))
.register(function!(functions::primitive_u16))
.register(function!(functions::primitive_u32))
.register(function!(functions::primitive_u64))
.register(function!(functions::primitive_i8))
.register(function!(functions::primitive_i16))
.register(function!(functions::primitive_i32))
.register(function!(functions::primitive_i64))
.register(function!(functions::many_args_5))
.register(function!(functions::many_args_10))
.register(function!(functions::ptr))
.register(function!(functions::ptr_mut))
.register(function!(functions::ptr_ptr))
.register(function!(functions::ref_simple))
.register(function!(functions::ref_mut_simple))
.register(function!(functions::ref_option))
.register(function!(functions::ref_mut_option))
.register(function!(functions::tupled))
.register(function!(functions::complex_args_1))
.register(function!(functions::complex_args_2))
.register(function!(functions::callback))
.register(function!(functions::generic_1a))
.register(function!(functions::generic_1b))
.register(function!(functions::generic_1c))
.register(function!(functions::generic_2))
.register(function!(functions::generic_3))
.register(function!(functions::generic_4))
.register(function!(functions::array_1))
.register(function!(functions::documented))
.register(function!(functions::ambiguous_1))
.register(function!(functions::ambiguous_2))
.register(function!(functions::ambiguous_3))
.register(function!(functions::namespaced_type))
.register(function!(functions::panics))
.register(function!(functions::renamed))
.register(function!(functions::sleep))
.register(function!(functions::weird_1))
.register(function!(functions::visibility))
.register(function!(functions::repr_transparent))
.register(function!(patterns::ascii_pointer::pattern_ascii_pointer_1))
.register(function!(patterns::ascii_pointer::pattern_ascii_pointer_2))
.register(function!(patterns::ascii_pointer::pattern_ascii_pointer_len))
.register(function!(patterns::ascii_pointer::pattern_ascii_pointer_return_slice))
.register(function!(patterns::slice::pattern_ffi_slice_1))
.register(function!(patterns::slice::pattern_ffi_slice_2))
.register(function!(patterns::slice::pattern_ffi_slice_3))
.register(function!(patterns::slice::pattern_ffi_slice_4))
.register(function!(patterns::slice::pattern_ffi_slice_5))
.register(function!(patterns::slice::pattern_ffi_slice_6))
.register(function!(patterns::slice::pattern_ffi_slice_delegate))
.register(function!(patterns::slice::pattern_ffi_slice_delegate_huge))
.register(function!(patterns::option::pattern_ffi_option_1))
.register(function!(patterns::option::pattern_ffi_option_2))
.register(function!(patterns::primitives::pattern_ffi_bool))
.register(function!(patterns::api_guard::pattern_api_guard))
.register(function!(patterns::callbacks::pattern_callback_1))
.register(function!(patterns::callbacks::pattern_callback_2))
.register(constant!(constants::U8))
.register(constant!(constants::F32_MIN_POSITIVE))
.register(constant!(constants::COMPUTED_I32))
.register(extra_type!(types::ExtraType<f32>))
.register(pattern!(patterns::service::SimpleService))
.register(pattern!(patterns::service::SimpleServiceLifetime))
.inventory()
}
}