Skip to main content

falco_plugin_api/
ffi.rs

1/* automatically generated by rust-bindgen 0.72.1 */
2
3pub const PLUGIN_API_VERSION_MAJOR: u32 = 3;
4pub const PLUGIN_API_VERSION_MINOR: u32 = 12;
5pub const PLUGIN_API_VERSION_PATCH: u32 = 0;
6pub const PLUGIN_MAX_ERRLEN: u32 = 1024;
7pub const PLUGIN_EVENT_PAYLOAD_OFFSET: u32 = 38;
8pub type ss_plugin_bool = u32;
9pub const ss_plugin_field_type_FTYPE_UINT64: ss_plugin_field_type = 8;
10pub const ss_plugin_field_type_FTYPE_STRING: ss_plugin_field_type = 9;
11pub const ss_plugin_field_type_FTYPE_RELTIME: ss_plugin_field_type = 20;
12pub const ss_plugin_field_type_FTYPE_ABSTIME: ss_plugin_field_type = 21;
13pub const ss_plugin_field_type_FTYPE_BOOL: ss_plugin_field_type = 25;
14pub const ss_plugin_field_type_FTYPE_IPADDR: ss_plugin_field_type = 40;
15pub const ss_plugin_field_type_FTYPE_IPNET: ss_plugin_field_type = 41;
16pub type ss_plugin_field_type = ::std::os::raw::c_uint;
17pub const ss_plugin_rc_SS_PLUGIN_SUCCESS: ss_plugin_rc = 0;
18pub const ss_plugin_rc_SS_PLUGIN_FAILURE: ss_plugin_rc = 1;
19pub const ss_plugin_rc_SS_PLUGIN_TIMEOUT: ss_plugin_rc = -1;
20pub const ss_plugin_rc_SS_PLUGIN_EOF: ss_plugin_rc = 2;
21pub const ss_plugin_rc_SS_PLUGIN_NOT_SUPPORTED: ss_plugin_rc = 3;
22pub type ss_plugin_rc = ::std::os::raw::c_int;
23pub const ss_plugin_schema_type_SS_PLUGIN_SCHEMA_NONE: ss_plugin_schema_type = 0;
24pub const ss_plugin_schema_type_SS_PLUGIN_SCHEMA_JSON: ss_plugin_schema_type = 1;
25pub type ss_plugin_schema_type = ::std::os::raw::c_uint;
26#[repr(C, packed)]
27#[derive(Debug, Copy, Clone)]
28pub struct ss_plugin_event {
29    pub ts: u64,
30    pub tid: u64,
31    pub len: u32,
32    pub type_: u16,
33    pub nparams: u32,
34}
35#[allow(clippy::unnecessary_operation, clippy::identity_op)]
36const _: () = {
37    ["Size of ss_plugin_event"][::std::mem::size_of::<ss_plugin_event>() - 26usize];
38    ["Alignment of ss_plugin_event"][::std::mem::align_of::<ss_plugin_event>() - 1usize];
39    ["Offset of field: ss_plugin_event::ts"][::std::mem::offset_of!(ss_plugin_event, ts) - 0usize];
40    ["Offset of field: ss_plugin_event::tid"]
41        [::std::mem::offset_of!(ss_plugin_event, tid) - 8usize];
42    ["Offset of field: ss_plugin_event::len"]
43        [::std::mem::offset_of!(ss_plugin_event, len) - 16usize];
44    ["Offset of field: ss_plugin_event::type_"]
45        [::std::mem::offset_of!(ss_plugin_event, type_) - 20usize];
46    ["Offset of field: ss_plugin_event::nparams"]
47        [::std::mem::offset_of!(ss_plugin_event, nparams) - 22usize];
48};
49#[repr(C)]
50#[derive(Debug, Copy, Clone)]
51pub struct ss_plugin_event_input {
52    pub evt: *const ss_plugin_event,
53    pub evtnum: u64,
54    pub evtsrc: *const ::std::os::raw::c_char,
55}
56#[allow(clippy::unnecessary_operation, clippy::identity_op)]
57const _: () = {
58    ["Size of ss_plugin_event_input"][::std::mem::size_of::<ss_plugin_event_input>() - 24usize];
59    ["Alignment of ss_plugin_event_input"]
60        [::std::mem::align_of::<ss_plugin_event_input>() - 8usize];
61    ["Offset of field: ss_plugin_event_input::evt"]
62        [::std::mem::offset_of!(ss_plugin_event_input, evt) - 0usize];
63    ["Offset of field: ss_plugin_event_input::evtnum"]
64        [::std::mem::offset_of!(ss_plugin_event_input, evtnum) - 8usize];
65    ["Offset of field: ss_plugin_event_input::evtsrc"]
66        [::std::mem::offset_of!(ss_plugin_event_input, evtsrc) - 16usize];
67};
68#[repr(C)]
69#[derive(Debug, Copy, Clone)]
70pub struct ss_plugin_byte_buffer {
71    pub len: u32,
72    pub ptr: *const ::std::os::raw::c_void,
73}
74#[allow(clippy::unnecessary_operation, clippy::identity_op)]
75const _: () = {
76    ["Size of ss_plugin_byte_buffer"][::std::mem::size_of::<ss_plugin_byte_buffer>() - 16usize];
77    ["Alignment of ss_plugin_byte_buffer"]
78        [::std::mem::align_of::<ss_plugin_byte_buffer>() - 8usize];
79    ["Offset of field: ss_plugin_byte_buffer::len"]
80        [::std::mem::offset_of!(ss_plugin_byte_buffer, len) - 0usize];
81    ["Offset of field: ss_plugin_byte_buffer::ptr"]
82        [::std::mem::offset_of!(ss_plugin_byte_buffer, ptr) - 8usize];
83};
84#[repr(C)]
85#[derive(Debug, Copy, Clone)]
86pub struct ss_plugin_extract_value_offsets {
87    pub start: *mut u32,
88    pub length: *mut u32,
89}
90#[allow(clippy::unnecessary_operation, clippy::identity_op)]
91const _: () = {
92    ["Size of ss_plugin_extract_value_offsets"]
93        [::std::mem::size_of::<ss_plugin_extract_value_offsets>() - 16usize];
94    ["Alignment of ss_plugin_extract_value_offsets"]
95        [::std::mem::align_of::<ss_plugin_extract_value_offsets>() - 8usize];
96    ["Offset of field: ss_plugin_extract_value_offsets::start"]
97        [::std::mem::offset_of!(ss_plugin_extract_value_offsets, start) - 0usize];
98    ["Offset of field: ss_plugin_extract_value_offsets::length"]
99        [::std::mem::offset_of!(ss_plugin_extract_value_offsets, length) - 8usize];
100};
101#[repr(C)]
102#[derive(Copy, Clone)]
103pub struct ss_plugin_extract_field {
104    pub res: ss_plugin_extract_field__bindgen_ty_1,
105    pub res_len: u64,
106    pub field_id: u32,
107    pub field: *const ::std::os::raw::c_char,
108    pub arg_key: *const ::std::os::raw::c_char,
109    pub arg_index: u64,
110    pub arg_present: ss_plugin_bool,
111    pub ftype: u32,
112    pub flist: ss_plugin_bool,
113}
114#[repr(C)]
115#[derive(Copy, Clone)]
116pub union ss_plugin_extract_field__bindgen_ty_1 {
117    pub str_: *mut *const ::std::os::raw::c_char,
118    pub u64_: *mut u64,
119    pub u32_: *mut u32,
120    pub boolean: *mut ss_plugin_bool,
121    pub buf: *mut ss_plugin_byte_buffer,
122}
123#[allow(clippy::unnecessary_operation, clippy::identity_op)]
124const _: () = {
125    ["Size of ss_plugin_extract_field__bindgen_ty_1"]
126        [::std::mem::size_of::<ss_plugin_extract_field__bindgen_ty_1>() - 8usize];
127    ["Alignment of ss_plugin_extract_field__bindgen_ty_1"]
128        [::std::mem::align_of::<ss_plugin_extract_field__bindgen_ty_1>() - 8usize];
129    ["Offset of field: ss_plugin_extract_field__bindgen_ty_1::str_"]
130        [::std::mem::offset_of!(ss_plugin_extract_field__bindgen_ty_1, str_) - 0usize];
131    ["Offset of field: ss_plugin_extract_field__bindgen_ty_1::u64_"]
132        [::std::mem::offset_of!(ss_plugin_extract_field__bindgen_ty_1, u64_) - 0usize];
133    ["Offset of field: ss_plugin_extract_field__bindgen_ty_1::u32_"]
134        [::std::mem::offset_of!(ss_plugin_extract_field__bindgen_ty_1, u32_) - 0usize];
135    ["Offset of field: ss_plugin_extract_field__bindgen_ty_1::boolean"]
136        [::std::mem::offset_of!(ss_plugin_extract_field__bindgen_ty_1, boolean) - 0usize];
137    ["Offset of field: ss_plugin_extract_field__bindgen_ty_1::buf"]
138        [::std::mem::offset_of!(ss_plugin_extract_field__bindgen_ty_1, buf) - 0usize];
139};
140#[allow(clippy::unnecessary_operation, clippy::identity_op)]
141const _: () = {
142    ["Size of ss_plugin_extract_field"][::std::mem::size_of::<ss_plugin_extract_field>() - 64usize];
143    ["Alignment of ss_plugin_extract_field"]
144        [::std::mem::align_of::<ss_plugin_extract_field>() - 8usize];
145    ["Offset of field: ss_plugin_extract_field::res"]
146        [::std::mem::offset_of!(ss_plugin_extract_field, res) - 0usize];
147    ["Offset of field: ss_plugin_extract_field::res_len"]
148        [::std::mem::offset_of!(ss_plugin_extract_field, res_len) - 8usize];
149    ["Offset of field: ss_plugin_extract_field::field_id"]
150        [::std::mem::offset_of!(ss_plugin_extract_field, field_id) - 16usize];
151    ["Offset of field: ss_plugin_extract_field::field"]
152        [::std::mem::offset_of!(ss_plugin_extract_field, field) - 24usize];
153    ["Offset of field: ss_plugin_extract_field::arg_key"]
154        [::std::mem::offset_of!(ss_plugin_extract_field, arg_key) - 32usize];
155    ["Offset of field: ss_plugin_extract_field::arg_index"]
156        [::std::mem::offset_of!(ss_plugin_extract_field, arg_index) - 40usize];
157    ["Offset of field: ss_plugin_extract_field::arg_present"]
158        [::std::mem::offset_of!(ss_plugin_extract_field, arg_present) - 48usize];
159    ["Offset of field: ss_plugin_extract_field::ftype"]
160        [::std::mem::offset_of!(ss_plugin_extract_field, ftype) - 52usize];
161    ["Offset of field: ss_plugin_extract_field::flist"]
162        [::std::mem::offset_of!(ss_plugin_extract_field, flist) - 56usize];
163};
164#[repr(transparent)]
165#[derive(Debug)]
166pub struct ss_plugin_table_t(pub ::std::os::raw::c_void);
167#[repr(transparent)]
168#[derive(Debug)]
169pub struct ss_plugin_table_entry_t(pub ::std::os::raw::c_void);
170#[repr(transparent)]
171#[derive(Debug)]
172pub struct ss_plugin_table_field_t(pub ::std::os::raw::c_void);
173pub const ss_plugin_state_type_SS_PLUGIN_ST_INT8: ss_plugin_state_type = 1;
174pub const ss_plugin_state_type_SS_PLUGIN_ST_INT16: ss_plugin_state_type = 2;
175pub const ss_plugin_state_type_SS_PLUGIN_ST_INT32: ss_plugin_state_type = 3;
176pub const ss_plugin_state_type_SS_PLUGIN_ST_INT64: ss_plugin_state_type = 4;
177pub const ss_plugin_state_type_SS_PLUGIN_ST_UINT8: ss_plugin_state_type = 5;
178pub const ss_plugin_state_type_SS_PLUGIN_ST_UINT16: ss_plugin_state_type = 6;
179pub const ss_plugin_state_type_SS_PLUGIN_ST_UINT32: ss_plugin_state_type = 7;
180pub const ss_plugin_state_type_SS_PLUGIN_ST_UINT64: ss_plugin_state_type = 8;
181pub const ss_plugin_state_type_SS_PLUGIN_ST_STRING: ss_plugin_state_type = 9;
182pub const ss_plugin_state_type_SS_PLUGIN_ST_TABLE: ss_plugin_state_type = 10;
183pub const ss_plugin_state_type_SS_PLUGIN_ST_BOOL: ss_plugin_state_type = 25;
184pub type ss_plugin_state_type = ::std::os::raw::c_uint;
185#[repr(C)]
186#[derive(Copy, Clone)]
187pub union ss_plugin_state_data {
188    pub s8: i8,
189    pub s16: i16,
190    pub s32: i32,
191    pub s64: i64,
192    pub u8_: u8,
193    pub u16_: u16,
194    pub u32_: u32,
195    pub u64_: u64,
196    pub str_: *const ::std::os::raw::c_char,
197    pub b: ss_plugin_bool,
198    pub table: *mut ss_plugin_table_t,
199}
200#[allow(clippy::unnecessary_operation, clippy::identity_op)]
201const _: () = {
202    ["Size of ss_plugin_state_data"][::std::mem::size_of::<ss_plugin_state_data>() - 8usize];
203    ["Alignment of ss_plugin_state_data"][::std::mem::align_of::<ss_plugin_state_data>() - 8usize];
204    ["Offset of field: ss_plugin_state_data::s8"]
205        [::std::mem::offset_of!(ss_plugin_state_data, s8) - 0usize];
206    ["Offset of field: ss_plugin_state_data::s16"]
207        [::std::mem::offset_of!(ss_plugin_state_data, s16) - 0usize];
208    ["Offset of field: ss_plugin_state_data::s32"]
209        [::std::mem::offset_of!(ss_plugin_state_data, s32) - 0usize];
210    ["Offset of field: ss_plugin_state_data::s64"]
211        [::std::mem::offset_of!(ss_plugin_state_data, s64) - 0usize];
212    ["Offset of field: ss_plugin_state_data::u8_"]
213        [::std::mem::offset_of!(ss_plugin_state_data, u8_) - 0usize];
214    ["Offset of field: ss_plugin_state_data::u16_"]
215        [::std::mem::offset_of!(ss_plugin_state_data, u16_) - 0usize];
216    ["Offset of field: ss_plugin_state_data::u32_"]
217        [::std::mem::offset_of!(ss_plugin_state_data, u32_) - 0usize];
218    ["Offset of field: ss_plugin_state_data::u64_"]
219        [::std::mem::offset_of!(ss_plugin_state_data, u64_) - 0usize];
220    ["Offset of field: ss_plugin_state_data::str_"]
221        [::std::mem::offset_of!(ss_plugin_state_data, str_) - 0usize];
222    ["Offset of field: ss_plugin_state_data::b"]
223        [::std::mem::offset_of!(ss_plugin_state_data, b) - 0usize];
224    ["Offset of field: ss_plugin_state_data::table"]
225        [::std::mem::offset_of!(ss_plugin_state_data, table) - 0usize];
226};
227#[repr(C)]
228#[derive(Copy, Clone)]
229pub struct ss_plugin_table_info {
230    pub name: *const ::std::os::raw::c_char,
231    pub key_type: ss_plugin_state_type,
232}
233#[allow(clippy::unnecessary_operation, clippy::identity_op)]
234const _: () = {
235    ["Size of ss_plugin_table_info"][::std::mem::size_of::<ss_plugin_table_info>() - 16usize];
236    ["Alignment of ss_plugin_table_info"][::std::mem::align_of::<ss_plugin_table_info>() - 8usize];
237    ["Offset of field: ss_plugin_table_info::name"]
238        [::std::mem::offset_of!(ss_plugin_table_info, name) - 0usize];
239    ["Offset of field: ss_plugin_table_info::key_type"]
240        [::std::mem::offset_of!(ss_plugin_table_info, key_type) - 8usize];
241};
242#[repr(C)]
243#[derive(Copy, Clone)]
244pub struct ss_plugin_table_fieldinfo {
245    pub name: *const ::std::os::raw::c_char,
246    pub field_type: ss_plugin_state_type,
247    pub read_only: ss_plugin_bool,
248}
249#[allow(clippy::unnecessary_operation, clippy::identity_op)]
250const _: () = {
251    ["Size of ss_plugin_table_fieldinfo"]
252        [::std::mem::size_of::<ss_plugin_table_fieldinfo>() - 16usize];
253    ["Alignment of ss_plugin_table_fieldinfo"]
254        [::std::mem::align_of::<ss_plugin_table_fieldinfo>() - 8usize];
255    ["Offset of field: ss_plugin_table_fieldinfo::name"]
256        [::std::mem::offset_of!(ss_plugin_table_fieldinfo, name) - 0usize];
257    ["Offset of field: ss_plugin_table_fieldinfo::field_type"]
258        [::std::mem::offset_of!(ss_plugin_table_fieldinfo, field_type) - 8usize];
259    ["Offset of field: ss_plugin_table_fieldinfo::read_only"]
260        [::std::mem::offset_of!(ss_plugin_table_fieldinfo, read_only) - 12usize];
261};
262#[repr(transparent)]
263#[derive(Debug)]
264pub struct ss_plugin_owner_t(pub ::std::os::raw::c_void);
265#[repr(transparent)]
266#[derive(Debug)]
267pub struct ss_plugin_t(pub ::std::os::raw::c_void);
268#[repr(transparent)]
269#[derive(Debug)]
270pub struct ss_instance_t(pub ::std::os::raw::c_void);
271pub const ss_plugin_log_severity_SS_PLUGIN_LOG_SEV_FATAL: ss_plugin_log_severity = 1;
272pub const ss_plugin_log_severity_SS_PLUGIN_LOG_SEV_CRITICAL: ss_plugin_log_severity = 2;
273pub const ss_plugin_log_severity_SS_PLUGIN_LOG_SEV_ERROR: ss_plugin_log_severity = 3;
274pub const ss_plugin_log_severity_SS_PLUGIN_LOG_SEV_WARNING: ss_plugin_log_severity = 4;
275pub const ss_plugin_log_severity_SS_PLUGIN_LOG_SEV_NOTICE: ss_plugin_log_severity = 5;
276pub const ss_plugin_log_severity_SS_PLUGIN_LOG_SEV_INFO: ss_plugin_log_severity = 6;
277pub const ss_plugin_log_severity_SS_PLUGIN_LOG_SEV_DEBUG: ss_plugin_log_severity = 7;
278pub const ss_plugin_log_severity_SS_PLUGIN_LOG_SEV_TRACE: ss_plugin_log_severity = 8;
279pub type ss_plugin_log_severity = ::std::os::raw::c_uint;
280pub const ss_plugin_metric_value_type_SS_PLUGIN_METRIC_VALUE_TYPE_U32: ss_plugin_metric_value_type =
281    0;
282pub const ss_plugin_metric_value_type_SS_PLUGIN_METRIC_VALUE_TYPE_S32: ss_plugin_metric_value_type =
283    1;
284pub const ss_plugin_metric_value_type_SS_PLUGIN_METRIC_VALUE_TYPE_U64: ss_plugin_metric_value_type =
285    2;
286pub const ss_plugin_metric_value_type_SS_PLUGIN_METRIC_VALUE_TYPE_S64: ss_plugin_metric_value_type =
287    3;
288pub const ss_plugin_metric_value_type_SS_PLUGIN_METRIC_VALUE_TYPE_D: ss_plugin_metric_value_type =
289    4;
290pub const ss_plugin_metric_value_type_SS_PLUGIN_METRIC_VALUE_TYPE_F: ss_plugin_metric_value_type =
291    5;
292pub const ss_plugin_metric_value_type_SS_PLUGIN_METRIC_VALUE_TYPE_I: ss_plugin_metric_value_type =
293    6;
294pub type ss_plugin_metric_value_type = ::std::os::raw::c_uint;
295#[repr(C)]
296#[derive(Copy, Clone)]
297pub union ss_plugin_metric_value {
298    pub u32_: u32,
299    pub s32: i32,
300    pub u64_: u64,
301    pub s64: i64,
302    pub d: f64,
303    pub f: f32,
304    pub i: ::std::os::raw::c_int,
305}
306#[allow(clippy::unnecessary_operation, clippy::identity_op)]
307const _: () = {
308    ["Size of ss_plugin_metric_value"][::std::mem::size_of::<ss_plugin_metric_value>() - 8usize];
309    ["Alignment of ss_plugin_metric_value"]
310        [::std::mem::align_of::<ss_plugin_metric_value>() - 8usize];
311    ["Offset of field: ss_plugin_metric_value::u32_"]
312        [::std::mem::offset_of!(ss_plugin_metric_value, u32_) - 0usize];
313    ["Offset of field: ss_plugin_metric_value::s32"]
314        [::std::mem::offset_of!(ss_plugin_metric_value, s32) - 0usize];
315    ["Offset of field: ss_plugin_metric_value::u64_"]
316        [::std::mem::offset_of!(ss_plugin_metric_value, u64_) - 0usize];
317    ["Offset of field: ss_plugin_metric_value::s64"]
318        [::std::mem::offset_of!(ss_plugin_metric_value, s64) - 0usize];
319    ["Offset of field: ss_plugin_metric_value::d"]
320        [::std::mem::offset_of!(ss_plugin_metric_value, d) - 0usize];
321    ["Offset of field: ss_plugin_metric_value::f"]
322        [::std::mem::offset_of!(ss_plugin_metric_value, f) - 0usize];
323    ["Offset of field: ss_plugin_metric_value::i"]
324        [::std::mem::offset_of!(ss_plugin_metric_value, i) - 0usize];
325};
326pub const ss_plugin_metric_type_SS_PLUGIN_METRIC_TYPE_MONOTONIC: ss_plugin_metric_type = 0;
327pub const ss_plugin_metric_type_SS_PLUGIN_METRIC_TYPE_NON_MONOTONIC: ss_plugin_metric_type = 1;
328pub type ss_plugin_metric_type = ::std::os::raw::c_uint;
329#[repr(C)]
330#[derive(Copy, Clone)]
331pub struct ss_plugin_metric {
332    pub name: *const ::std::os::raw::c_char,
333    pub type_: ss_plugin_metric_type,
334    pub value: ss_plugin_metric_value,
335    pub value_type: ss_plugin_metric_value_type,
336}
337#[allow(clippy::unnecessary_operation, clippy::identity_op)]
338const _: () = {
339    ["Size of ss_plugin_metric"][::std::mem::size_of::<ss_plugin_metric>() - 32usize];
340    ["Alignment of ss_plugin_metric"][::std::mem::align_of::<ss_plugin_metric>() - 8usize];
341    ["Offset of field: ss_plugin_metric::name"]
342        [::std::mem::offset_of!(ss_plugin_metric, name) - 0usize];
343    ["Offset of field: ss_plugin_metric::type_"]
344        [::std::mem::offset_of!(ss_plugin_metric, type_) - 8usize];
345    ["Offset of field: ss_plugin_metric::value"]
346        [::std::mem::offset_of!(ss_plugin_metric, value) - 16usize];
347    ["Offset of field: ss_plugin_metric::value_type"]
348        [::std::mem::offset_of!(ss_plugin_metric, value_type) - 24usize];
349};
350#[repr(C)]
351#[derive(Debug, Copy, Clone)]
352pub struct ss_plugin_table_fields_vtable {
353    pub list_table_fields: ::std::option::Option<
354        unsafe extern "C" fn(
355            t: *mut ss_plugin_table_t,
356            nfields: *mut u32,
357        ) -> *const ss_plugin_table_fieldinfo,
358    >,
359    pub get_table_field: ::std::option::Option<
360        unsafe extern "C" fn(
361            t: *mut ss_plugin_table_t,
362            name: *const ::std::os::raw::c_char,
363            data_type: ss_plugin_state_type,
364        ) -> *mut ss_plugin_table_field_t,
365    >,
366    pub add_table_field: ::std::option::Option<
367        unsafe extern "C" fn(
368            t: *mut ss_plugin_table_t,
369            name: *const ::std::os::raw::c_char,
370            data_type: ss_plugin_state_type,
371        ) -> *mut ss_plugin_table_field_t,
372    >,
373}
374#[allow(clippy::unnecessary_operation, clippy::identity_op)]
375const _: () = {
376    ["Size of ss_plugin_table_fields_vtable"]
377        [::std::mem::size_of::<ss_plugin_table_fields_vtable>() - 24usize];
378    ["Alignment of ss_plugin_table_fields_vtable"]
379        [::std::mem::align_of::<ss_plugin_table_fields_vtable>() - 8usize];
380    ["Offset of field: ss_plugin_table_fields_vtable::list_table_fields"]
381        [::std::mem::offset_of!(ss_plugin_table_fields_vtable, list_table_fields) - 0usize];
382    ["Offset of field: ss_plugin_table_fields_vtable::get_table_field"]
383        [::std::mem::offset_of!(ss_plugin_table_fields_vtable, get_table_field) - 8usize];
384    ["Offset of field: ss_plugin_table_fields_vtable::add_table_field"]
385        [::std::mem::offset_of!(ss_plugin_table_fields_vtable, add_table_field) - 16usize];
386};
387#[repr(C)]
388#[derive(Debug, Copy, Clone)]
389pub struct ss_plugin_table_fields_vtable_ext {
390    pub list_table_fields: ::std::option::Option<
391        unsafe extern "C" fn(
392            t: *mut ss_plugin_table_t,
393            nfields: *mut u32,
394        ) -> *const ss_plugin_table_fieldinfo,
395    >,
396    pub get_table_field: ::std::option::Option<
397        unsafe extern "C" fn(
398            t: *mut ss_plugin_table_t,
399            name: *const ::std::os::raw::c_char,
400            data_type: ss_plugin_state_type,
401        ) -> *mut ss_plugin_table_field_t,
402    >,
403    pub add_table_field: ::std::option::Option<
404        unsafe extern "C" fn(
405            t: *mut ss_plugin_table_t,
406            name: *const ::std::os::raw::c_char,
407            data_type: ss_plugin_state_type,
408        ) -> *mut ss_plugin_table_field_t,
409    >,
410}
411#[allow(clippy::unnecessary_operation, clippy::identity_op)]
412const _: () = {
413    ["Size of ss_plugin_table_fields_vtable_ext"]
414        [::std::mem::size_of::<ss_plugin_table_fields_vtable_ext>() - 24usize];
415    ["Alignment of ss_plugin_table_fields_vtable_ext"]
416        [::std::mem::align_of::<ss_plugin_table_fields_vtable_ext>() - 8usize];
417    ["Offset of field: ss_plugin_table_fields_vtable_ext::list_table_fields"]
418        [::std::mem::offset_of!(ss_plugin_table_fields_vtable_ext, list_table_fields) - 0usize];
419    ["Offset of field: ss_plugin_table_fields_vtable_ext::get_table_field"]
420        [::std::mem::offset_of!(ss_plugin_table_fields_vtable_ext, get_table_field) - 8usize];
421    ["Offset of field: ss_plugin_table_fields_vtable_ext::add_table_field"]
422        [::std::mem::offset_of!(ss_plugin_table_fields_vtable_ext, add_table_field) - 16usize];
423};
424#[repr(C)]
425#[derive(Debug, Copy, Clone)]
426pub struct ss_plugin_table_reader_vtable {
427    pub get_table_name: ::std::option::Option<
428        unsafe extern "C" fn(t: *mut ss_plugin_table_t) -> *const ::std::os::raw::c_char,
429    >,
430    pub get_table_size:
431        ::std::option::Option<unsafe extern "C" fn(t: *mut ss_plugin_table_t) -> u64>,
432    pub get_table_entry: ::std::option::Option<
433        unsafe extern "C" fn(
434            t: *mut ss_plugin_table_t,
435            key: *const ss_plugin_state_data,
436        ) -> *mut ss_plugin_table_entry_t,
437    >,
438    pub read_entry_field: ::std::option::Option<
439        unsafe extern "C" fn(
440            t: *mut ss_plugin_table_t,
441            e: *mut ss_plugin_table_entry_t,
442            f: *const ss_plugin_table_field_t,
443            out: *mut ss_plugin_state_data,
444        ) -> ss_plugin_rc,
445    >,
446}
447#[allow(clippy::unnecessary_operation, clippy::identity_op)]
448const _: () = {
449    ["Size of ss_plugin_table_reader_vtable"]
450        [::std::mem::size_of::<ss_plugin_table_reader_vtable>() - 32usize];
451    ["Alignment of ss_plugin_table_reader_vtable"]
452        [::std::mem::align_of::<ss_plugin_table_reader_vtable>() - 8usize];
453    ["Offset of field: ss_plugin_table_reader_vtable::get_table_name"]
454        [::std::mem::offset_of!(ss_plugin_table_reader_vtable, get_table_name) - 0usize];
455    ["Offset of field: ss_plugin_table_reader_vtable::get_table_size"]
456        [::std::mem::offset_of!(ss_plugin_table_reader_vtable, get_table_size) - 8usize];
457    ["Offset of field: ss_plugin_table_reader_vtable::get_table_entry"]
458        [::std::mem::offset_of!(ss_plugin_table_reader_vtable, get_table_entry) - 16usize];
459    ["Offset of field: ss_plugin_table_reader_vtable::read_entry_field"]
460        [::std::mem::offset_of!(ss_plugin_table_reader_vtable, read_entry_field) - 24usize];
461};
462#[repr(transparent)]
463#[derive(Debug)]
464pub struct ss_plugin_table_iterator_state_t(pub ::std::os::raw::c_void);
465pub type ss_plugin_table_iterator_func_t = ::std::option::Option<
466    unsafe extern "C" fn(
467        s: *mut ss_plugin_table_iterator_state_t,
468        e: *mut ss_plugin_table_entry_t,
469    ) -> ss_plugin_bool,
470>;
471#[repr(C)]
472#[derive(Debug, Copy, Clone)]
473pub struct ss_plugin_table_reader_vtable_ext {
474    pub get_table_name: ::std::option::Option<
475        unsafe extern "C" fn(t: *mut ss_plugin_table_t) -> *const ::std::os::raw::c_char,
476    >,
477    pub get_table_size:
478        ::std::option::Option<unsafe extern "C" fn(t: *mut ss_plugin_table_t) -> u64>,
479    pub get_table_entry: ::std::option::Option<
480        unsafe extern "C" fn(
481            t: *mut ss_plugin_table_t,
482            key: *const ss_plugin_state_data,
483        ) -> *mut ss_plugin_table_entry_t,
484    >,
485    pub read_entry_field: ::std::option::Option<
486        unsafe extern "C" fn(
487            t: *mut ss_plugin_table_t,
488            e: *mut ss_plugin_table_entry_t,
489            f: *const ss_plugin_table_field_t,
490            out: *mut ss_plugin_state_data,
491        ) -> ss_plugin_rc,
492    >,
493    pub release_table_entry: ::std::option::Option<
494        unsafe extern "C" fn(t: *mut ss_plugin_table_t, e: *mut ss_plugin_table_entry_t),
495    >,
496    pub iterate_entries: ::std::option::Option<
497        unsafe extern "C" fn(
498            t: *mut ss_plugin_table_t,
499            it: ss_plugin_table_iterator_func_t,
500            s: *mut ss_plugin_table_iterator_state_t,
501        ) -> ss_plugin_bool,
502    >,
503}
504#[allow(clippy::unnecessary_operation, clippy::identity_op)]
505const _: () = {
506    ["Size of ss_plugin_table_reader_vtable_ext"]
507        [::std::mem::size_of::<ss_plugin_table_reader_vtable_ext>() - 48usize];
508    ["Alignment of ss_plugin_table_reader_vtable_ext"]
509        [::std::mem::align_of::<ss_plugin_table_reader_vtable_ext>() - 8usize];
510    ["Offset of field: ss_plugin_table_reader_vtable_ext::get_table_name"]
511        [::std::mem::offset_of!(ss_plugin_table_reader_vtable_ext, get_table_name) - 0usize];
512    ["Offset of field: ss_plugin_table_reader_vtable_ext::get_table_size"]
513        [::std::mem::offset_of!(ss_plugin_table_reader_vtable_ext, get_table_size) - 8usize];
514    ["Offset of field: ss_plugin_table_reader_vtable_ext::get_table_entry"]
515        [::std::mem::offset_of!(ss_plugin_table_reader_vtable_ext, get_table_entry) - 16usize];
516    ["Offset of field: ss_plugin_table_reader_vtable_ext::read_entry_field"]
517        [::std::mem::offset_of!(ss_plugin_table_reader_vtable_ext, read_entry_field) - 24usize];
518    ["Offset of field: ss_plugin_table_reader_vtable_ext::release_table_entry"]
519        [::std::mem::offset_of!(ss_plugin_table_reader_vtable_ext, release_table_entry) - 32usize];
520    ["Offset of field: ss_plugin_table_reader_vtable_ext::iterate_entries"]
521        [::std::mem::offset_of!(ss_plugin_table_reader_vtable_ext, iterate_entries) - 40usize];
522};
523#[repr(C)]
524#[derive(Debug, Copy, Clone)]
525pub struct ss_plugin_table_writer_vtable {
526    pub clear_table:
527        ::std::option::Option<unsafe extern "C" fn(t: *mut ss_plugin_table_t) -> ss_plugin_rc>,
528    pub erase_table_entry: ::std::option::Option<
529        unsafe extern "C" fn(
530            t: *mut ss_plugin_table_t,
531            key: *const ss_plugin_state_data,
532        ) -> ss_plugin_rc,
533    >,
534    pub create_table_entry: ::std::option::Option<
535        unsafe extern "C" fn(t: *mut ss_plugin_table_t) -> *mut ss_plugin_table_entry_t,
536    >,
537    pub destroy_table_entry: ::std::option::Option<
538        unsafe extern "C" fn(t: *mut ss_plugin_table_t, e: *mut ss_plugin_table_entry_t),
539    >,
540    pub add_table_entry: ::std::option::Option<
541        unsafe extern "C" fn(
542            t: *mut ss_plugin_table_t,
543            key: *const ss_plugin_state_data,
544            entry: *mut ss_plugin_table_entry_t,
545        ) -> *mut ss_plugin_table_entry_t,
546    >,
547    pub write_entry_field: ::std::option::Option<
548        unsafe extern "C" fn(
549            t: *mut ss_plugin_table_t,
550            e: *mut ss_plugin_table_entry_t,
551            f: *const ss_plugin_table_field_t,
552            in_: *const ss_plugin_state_data,
553        ) -> ss_plugin_rc,
554    >,
555}
556#[allow(clippy::unnecessary_operation, clippy::identity_op)]
557const _: () = {
558    ["Size of ss_plugin_table_writer_vtable"]
559        [::std::mem::size_of::<ss_plugin_table_writer_vtable>() - 48usize];
560    ["Alignment of ss_plugin_table_writer_vtable"]
561        [::std::mem::align_of::<ss_plugin_table_writer_vtable>() - 8usize];
562    ["Offset of field: ss_plugin_table_writer_vtable::clear_table"]
563        [::std::mem::offset_of!(ss_plugin_table_writer_vtable, clear_table) - 0usize];
564    ["Offset of field: ss_plugin_table_writer_vtable::erase_table_entry"]
565        [::std::mem::offset_of!(ss_plugin_table_writer_vtable, erase_table_entry) - 8usize];
566    ["Offset of field: ss_plugin_table_writer_vtable::create_table_entry"]
567        [::std::mem::offset_of!(ss_plugin_table_writer_vtable, create_table_entry) - 16usize];
568    ["Offset of field: ss_plugin_table_writer_vtable::destroy_table_entry"]
569        [::std::mem::offset_of!(ss_plugin_table_writer_vtable, destroy_table_entry) - 24usize];
570    ["Offset of field: ss_plugin_table_writer_vtable::add_table_entry"]
571        [::std::mem::offset_of!(ss_plugin_table_writer_vtable, add_table_entry) - 32usize];
572    ["Offset of field: ss_plugin_table_writer_vtable::write_entry_field"]
573        [::std::mem::offset_of!(ss_plugin_table_writer_vtable, write_entry_field) - 40usize];
574};
575#[repr(C)]
576#[derive(Debug, Copy, Clone)]
577pub struct ss_plugin_table_writer_vtable_ext {
578    pub clear_table:
579        ::std::option::Option<unsafe extern "C" fn(t: *mut ss_plugin_table_t) -> ss_plugin_rc>,
580    pub erase_table_entry: ::std::option::Option<
581        unsafe extern "C" fn(
582            t: *mut ss_plugin_table_t,
583            key: *const ss_plugin_state_data,
584        ) -> ss_plugin_rc,
585    >,
586    pub create_table_entry: ::std::option::Option<
587        unsafe extern "C" fn(t: *mut ss_plugin_table_t) -> *mut ss_plugin_table_entry_t,
588    >,
589    pub destroy_table_entry: ::std::option::Option<
590        unsafe extern "C" fn(t: *mut ss_plugin_table_t, e: *mut ss_plugin_table_entry_t),
591    >,
592    pub add_table_entry: ::std::option::Option<
593        unsafe extern "C" fn(
594            t: *mut ss_plugin_table_t,
595            key: *const ss_plugin_state_data,
596            entry: *mut ss_plugin_table_entry_t,
597        ) -> *mut ss_plugin_table_entry_t,
598    >,
599    pub write_entry_field: ::std::option::Option<
600        unsafe extern "C" fn(
601            t: *mut ss_plugin_table_t,
602            e: *mut ss_plugin_table_entry_t,
603            f: *const ss_plugin_table_field_t,
604            in_: *const ss_plugin_state_data,
605        ) -> ss_plugin_rc,
606    >,
607}
608#[allow(clippy::unnecessary_operation, clippy::identity_op)]
609const _: () = {
610    ["Size of ss_plugin_table_writer_vtable_ext"]
611        [::std::mem::size_of::<ss_plugin_table_writer_vtable_ext>() - 48usize];
612    ["Alignment of ss_plugin_table_writer_vtable_ext"]
613        [::std::mem::align_of::<ss_plugin_table_writer_vtable_ext>() - 8usize];
614    ["Offset of field: ss_plugin_table_writer_vtable_ext::clear_table"]
615        [::std::mem::offset_of!(ss_plugin_table_writer_vtable_ext, clear_table) - 0usize];
616    ["Offset of field: ss_plugin_table_writer_vtable_ext::erase_table_entry"]
617        [::std::mem::offset_of!(ss_plugin_table_writer_vtable_ext, erase_table_entry) - 8usize];
618    ["Offset of field: ss_plugin_table_writer_vtable_ext::create_table_entry"]
619        [::std::mem::offset_of!(ss_plugin_table_writer_vtable_ext, create_table_entry) - 16usize];
620    ["Offset of field: ss_plugin_table_writer_vtable_ext::destroy_table_entry"]
621        [::std::mem::offset_of!(ss_plugin_table_writer_vtable_ext, destroy_table_entry) - 24usize];
622    ["Offset of field: ss_plugin_table_writer_vtable_ext::add_table_entry"]
623        [::std::mem::offset_of!(ss_plugin_table_writer_vtable_ext, add_table_entry) - 32usize];
624    ["Offset of field: ss_plugin_table_writer_vtable_ext::write_entry_field"]
625        [::std::mem::offset_of!(ss_plugin_table_writer_vtable_ext, write_entry_field) - 40usize];
626};
627#[repr(C)]
628#[derive(Debug, Copy, Clone)]
629pub struct ss_plugin_table_input {
630    pub name: *const ::std::os::raw::c_char,
631    pub key_type: ss_plugin_state_type,
632    pub table: *mut ss_plugin_table_t,
633    pub reader: ss_plugin_table_reader_vtable,
634    pub writer: ss_plugin_table_writer_vtable,
635    pub fields: ss_plugin_table_fields_vtable,
636    pub reader_ext: *mut ss_plugin_table_reader_vtable_ext,
637    pub writer_ext: *mut ss_plugin_table_writer_vtable_ext,
638    pub fields_ext: *mut ss_plugin_table_fields_vtable_ext,
639}
640#[allow(clippy::unnecessary_operation, clippy::identity_op)]
641const _: () = {
642    ["Size of ss_plugin_table_input"][::std::mem::size_of::<ss_plugin_table_input>() - 152usize];
643    ["Alignment of ss_plugin_table_input"]
644        [::std::mem::align_of::<ss_plugin_table_input>() - 8usize];
645    ["Offset of field: ss_plugin_table_input::name"]
646        [::std::mem::offset_of!(ss_plugin_table_input, name) - 0usize];
647    ["Offset of field: ss_plugin_table_input::key_type"]
648        [::std::mem::offset_of!(ss_plugin_table_input, key_type) - 8usize];
649    ["Offset of field: ss_plugin_table_input::table"]
650        [::std::mem::offset_of!(ss_plugin_table_input, table) - 16usize];
651    ["Offset of field: ss_plugin_table_input::reader"]
652        [::std::mem::offset_of!(ss_plugin_table_input, reader) - 24usize];
653    ["Offset of field: ss_plugin_table_input::writer"]
654        [::std::mem::offset_of!(ss_plugin_table_input, writer) - 56usize];
655    ["Offset of field: ss_plugin_table_input::fields"]
656        [::std::mem::offset_of!(ss_plugin_table_input, fields) - 104usize];
657    ["Offset of field: ss_plugin_table_input::reader_ext"]
658        [::std::mem::offset_of!(ss_plugin_table_input, reader_ext) - 128usize];
659    ["Offset of field: ss_plugin_table_input::writer_ext"]
660        [::std::mem::offset_of!(ss_plugin_table_input, writer_ext) - 136usize];
661    ["Offset of field: ss_plugin_table_input::fields_ext"]
662        [::std::mem::offset_of!(ss_plugin_table_input, fields_ext) - 144usize];
663};
664#[repr(C)]
665#[derive(Debug, Copy, Clone)]
666pub struct ss_plugin_init_tables_input {
667    pub list_tables: ::std::option::Option<
668        unsafe extern "C" fn(
669            o: *mut ss_plugin_owner_t,
670            ntables: *mut u32,
671        ) -> *mut ss_plugin_table_info,
672    >,
673    pub get_table: ::std::option::Option<
674        unsafe extern "C" fn(
675            o: *mut ss_plugin_owner_t,
676            name: *const ::std::os::raw::c_char,
677            key_type: ss_plugin_state_type,
678        ) -> *mut ss_plugin_table_t,
679    >,
680    pub add_table: ::std::option::Option<
681        unsafe extern "C" fn(
682            o: *mut ss_plugin_owner_t,
683            in_: *const ss_plugin_table_input,
684        ) -> ss_plugin_rc,
685    >,
686    pub fields: ss_plugin_table_fields_vtable,
687    pub fields_ext: *mut ss_plugin_table_fields_vtable_ext,
688    pub reader_ext: *mut ss_plugin_table_reader_vtable_ext,
689    pub writer_ext: *mut ss_plugin_table_writer_vtable_ext,
690}
691#[allow(clippy::unnecessary_operation, clippy::identity_op)]
692const _: () = {
693    ["Size of ss_plugin_init_tables_input"]
694        [::std::mem::size_of::<ss_plugin_init_tables_input>() - 72usize];
695    ["Alignment of ss_plugin_init_tables_input"]
696        [::std::mem::align_of::<ss_plugin_init_tables_input>() - 8usize];
697    ["Offset of field: ss_plugin_init_tables_input::list_tables"]
698        [::std::mem::offset_of!(ss_plugin_init_tables_input, list_tables) - 0usize];
699    ["Offset of field: ss_plugin_init_tables_input::get_table"]
700        [::std::mem::offset_of!(ss_plugin_init_tables_input, get_table) - 8usize];
701    ["Offset of field: ss_plugin_init_tables_input::add_table"]
702        [::std::mem::offset_of!(ss_plugin_init_tables_input, add_table) - 16usize];
703    ["Offset of field: ss_plugin_init_tables_input::fields"]
704        [::std::mem::offset_of!(ss_plugin_init_tables_input, fields) - 24usize];
705    ["Offset of field: ss_plugin_init_tables_input::fields_ext"]
706        [::std::mem::offset_of!(ss_plugin_init_tables_input, fields_ext) - 48usize];
707    ["Offset of field: ss_plugin_init_tables_input::reader_ext"]
708        [::std::mem::offset_of!(ss_plugin_init_tables_input, reader_ext) - 56usize];
709    ["Offset of field: ss_plugin_init_tables_input::writer_ext"]
710        [::std::mem::offset_of!(ss_plugin_init_tables_input, writer_ext) - 64usize];
711};
712pub type ss_plugin_log_fn_t = ::std::option::Option<
713    unsafe extern "C" fn(
714        o: *mut ss_plugin_owner_t,
715        component: *const ::std::os::raw::c_char,
716        msg: *const ::std::os::raw::c_char,
717        sev: ss_plugin_log_severity,
718    ),
719>;
720#[repr(C)]
721#[derive(Debug, Copy, Clone)]
722pub struct ss_plugin_init_input {
723    pub config: *const ::std::os::raw::c_char,
724    pub owner: *mut ss_plugin_owner_t,
725    pub get_owner_last_error: ::std::option::Option<
726        unsafe extern "C" fn(o: *mut ss_plugin_owner_t) -> *const ::std::os::raw::c_char,
727    >,
728    pub tables: *const ss_plugin_init_tables_input,
729    pub log_fn: ss_plugin_log_fn_t,
730}
731#[allow(clippy::unnecessary_operation, clippy::identity_op)]
732const _: () = {
733    ["Size of ss_plugin_init_input"][::std::mem::size_of::<ss_plugin_init_input>() - 40usize];
734    ["Alignment of ss_plugin_init_input"][::std::mem::align_of::<ss_plugin_init_input>() - 8usize];
735    ["Offset of field: ss_plugin_init_input::config"]
736        [::std::mem::offset_of!(ss_plugin_init_input, config) - 0usize];
737    ["Offset of field: ss_plugin_init_input::owner"]
738        [::std::mem::offset_of!(ss_plugin_init_input, owner) - 8usize];
739    ["Offset of field: ss_plugin_init_input::get_owner_last_error"]
740        [::std::mem::offset_of!(ss_plugin_init_input, get_owner_last_error) - 16usize];
741    ["Offset of field: ss_plugin_init_input::tables"]
742        [::std::mem::offset_of!(ss_plugin_init_input, tables) - 24usize];
743    ["Offset of field: ss_plugin_init_input::log_fn"]
744        [::std::mem::offset_of!(ss_plugin_init_input, log_fn) - 32usize];
745};
746#[repr(C)]
747#[derive(Debug, Copy, Clone)]
748pub struct ss_plugin_field_extract_input {
749    pub owner: *mut ss_plugin_owner_t,
750    pub get_owner_last_error: ::std::option::Option<
751        unsafe extern "C" fn(o: *mut ss_plugin_owner_t) -> *const ::std::os::raw::c_char,
752    >,
753    pub num_fields: u32,
754    pub fields: *mut ss_plugin_extract_field,
755    pub table_reader: ss_plugin_table_reader_vtable,
756    pub table_reader_ext: *mut ss_plugin_table_reader_vtable_ext,
757    pub value_offsets: *mut ss_plugin_extract_value_offsets,
758}
759#[allow(clippy::unnecessary_operation, clippy::identity_op)]
760const _: () = {
761    ["Size of ss_plugin_field_extract_input"]
762        [::std::mem::size_of::<ss_plugin_field_extract_input>() - 80usize];
763    ["Alignment of ss_plugin_field_extract_input"]
764        [::std::mem::align_of::<ss_plugin_field_extract_input>() - 8usize];
765    ["Offset of field: ss_plugin_field_extract_input::owner"]
766        [::std::mem::offset_of!(ss_plugin_field_extract_input, owner) - 0usize];
767    ["Offset of field: ss_plugin_field_extract_input::get_owner_last_error"]
768        [::std::mem::offset_of!(ss_plugin_field_extract_input, get_owner_last_error) - 8usize];
769    ["Offset of field: ss_plugin_field_extract_input::num_fields"]
770        [::std::mem::offset_of!(ss_plugin_field_extract_input, num_fields) - 16usize];
771    ["Offset of field: ss_plugin_field_extract_input::fields"]
772        [::std::mem::offset_of!(ss_plugin_field_extract_input, fields) - 24usize];
773    ["Offset of field: ss_plugin_field_extract_input::table_reader"]
774        [::std::mem::offset_of!(ss_plugin_field_extract_input, table_reader) - 32usize];
775    ["Offset of field: ss_plugin_field_extract_input::table_reader_ext"]
776        [::std::mem::offset_of!(ss_plugin_field_extract_input, table_reader_ext) - 64usize];
777    ["Offset of field: ss_plugin_field_extract_input::value_offsets"]
778        [::std::mem::offset_of!(ss_plugin_field_extract_input, value_offsets) - 72usize];
779};
780#[repr(C)]
781#[derive(Debug, Copy, Clone)]
782pub struct ss_plugin_event_parse_input {
783    pub owner: *mut ss_plugin_owner_t,
784    pub get_owner_last_error: ::std::option::Option<
785        unsafe extern "C" fn(o: *mut ss_plugin_owner_t) -> *const ::std::os::raw::c_char,
786    >,
787    pub table_reader: ss_plugin_table_reader_vtable,
788    pub table_writer: ss_plugin_table_writer_vtable,
789    pub table_reader_ext: *mut ss_plugin_table_reader_vtable_ext,
790    pub table_writer_ext: *mut ss_plugin_table_writer_vtable_ext,
791}
792#[allow(clippy::unnecessary_operation, clippy::identity_op)]
793const _: () = {
794    ["Size of ss_plugin_event_parse_input"]
795        [::std::mem::size_of::<ss_plugin_event_parse_input>() - 112usize];
796    ["Alignment of ss_plugin_event_parse_input"]
797        [::std::mem::align_of::<ss_plugin_event_parse_input>() - 8usize];
798    ["Offset of field: ss_plugin_event_parse_input::owner"]
799        [::std::mem::offset_of!(ss_plugin_event_parse_input, owner) - 0usize];
800    ["Offset of field: ss_plugin_event_parse_input::get_owner_last_error"]
801        [::std::mem::offset_of!(ss_plugin_event_parse_input, get_owner_last_error) - 8usize];
802    ["Offset of field: ss_plugin_event_parse_input::table_reader"]
803        [::std::mem::offset_of!(ss_plugin_event_parse_input, table_reader) - 16usize];
804    ["Offset of field: ss_plugin_event_parse_input::table_writer"]
805        [::std::mem::offset_of!(ss_plugin_event_parse_input, table_writer) - 48usize];
806    ["Offset of field: ss_plugin_event_parse_input::table_reader_ext"]
807        [::std::mem::offset_of!(ss_plugin_event_parse_input, table_reader_ext) - 96usize];
808    ["Offset of field: ss_plugin_event_parse_input::table_writer_ext"]
809        [::std::mem::offset_of!(ss_plugin_event_parse_input, table_writer_ext) - 104usize];
810};
811#[repr(C)]
812#[derive(Debug, Copy, Clone)]
813pub struct ss_plugin_set_config_input {
814    pub config: *const ::std::os::raw::c_char,
815}
816#[allow(clippy::unnecessary_operation, clippy::identity_op)]
817const _: () = {
818    ["Size of ss_plugin_set_config_input"]
819        [::std::mem::size_of::<ss_plugin_set_config_input>() - 8usize];
820    ["Alignment of ss_plugin_set_config_input"]
821        [::std::mem::align_of::<ss_plugin_set_config_input>() - 8usize];
822    ["Offset of field: ss_plugin_set_config_input::config"]
823        [::std::mem::offset_of!(ss_plugin_set_config_input, config) - 0usize];
824};
825#[repr(transparent)]
826#[derive(Debug)]
827pub struct ss_plugin_routine_t(pub ::std::os::raw::c_void);
828#[repr(transparent)]
829#[derive(Debug)]
830pub struct ss_plugin_routine_state_t(pub ::std::os::raw::c_void);
831pub type ss_plugin_routine_fn_t = ::std::option::Option<
832    unsafe extern "C" fn(s: *mut ss_plugin_t, i: *mut ss_plugin_routine_state_t) -> ss_plugin_bool,
833>;
834#[repr(C)]
835#[derive(Debug, Copy, Clone)]
836pub struct ss_plugin_routine_vtable {
837    pub subscribe: ::std::option::Option<
838        unsafe extern "C" fn(
839            o: *mut ss_plugin_owner_t,
840            f: ss_plugin_routine_fn_t,
841            i: *mut ss_plugin_routine_state_t,
842        ) -> *mut ss_plugin_routine_t,
843    >,
844    pub unsubscribe: ::std::option::Option<
845        unsafe extern "C" fn(
846            o: *mut ss_plugin_owner_t,
847            r: *mut ss_plugin_routine_t,
848        ) -> ss_plugin_rc,
849    >,
850}
851#[allow(clippy::unnecessary_operation, clippy::identity_op)]
852const _: () = {
853    ["Size of ss_plugin_routine_vtable"]
854        [::std::mem::size_of::<ss_plugin_routine_vtable>() - 16usize];
855    ["Alignment of ss_plugin_routine_vtable"]
856        [::std::mem::align_of::<ss_plugin_routine_vtable>() - 8usize];
857    ["Offset of field: ss_plugin_routine_vtable::subscribe"]
858        [::std::mem::offset_of!(ss_plugin_routine_vtable, subscribe) - 0usize];
859    ["Offset of field: ss_plugin_routine_vtable::unsubscribe"]
860        [::std::mem::offset_of!(ss_plugin_routine_vtable, unsubscribe) - 8usize];
861};
862#[repr(C)]
863#[derive(Debug, Copy, Clone)]
864pub struct ss_plugin_capture_listen_input {
865    pub owner: *mut ss_plugin_owner_t,
866    pub routine: *mut ss_plugin_routine_vtable,
867    pub table_reader_ext: *mut ss_plugin_table_reader_vtable_ext,
868    pub table_writer_ext: *mut ss_plugin_table_writer_vtable_ext,
869    pub get_owner_last_error: ::std::option::Option<
870        unsafe extern "C" fn(o: *mut ss_plugin_owner_t) -> *const ::std::os::raw::c_char,
871    >,
872}
873#[allow(clippy::unnecessary_operation, clippy::identity_op)]
874const _: () = {
875    ["Size of ss_plugin_capture_listen_input"]
876        [::std::mem::size_of::<ss_plugin_capture_listen_input>() - 40usize];
877    ["Alignment of ss_plugin_capture_listen_input"]
878        [::std::mem::align_of::<ss_plugin_capture_listen_input>() - 8usize];
879    ["Offset of field: ss_plugin_capture_listen_input::owner"]
880        [::std::mem::offset_of!(ss_plugin_capture_listen_input, owner) - 0usize];
881    ["Offset of field: ss_plugin_capture_listen_input::routine"]
882        [::std::mem::offset_of!(ss_plugin_capture_listen_input, routine) - 8usize];
883    ["Offset of field: ss_plugin_capture_listen_input::table_reader_ext"]
884        [::std::mem::offset_of!(ss_plugin_capture_listen_input, table_reader_ext) - 16usize];
885    ["Offset of field: ss_plugin_capture_listen_input::table_writer_ext"]
886        [::std::mem::offset_of!(ss_plugin_capture_listen_input, table_writer_ext) - 24usize];
887    ["Offset of field: ss_plugin_capture_listen_input::get_owner_last_error"]
888        [::std::mem::offset_of!(ss_plugin_capture_listen_input, get_owner_last_error) - 32usize];
889};
890pub type ss_plugin_async_event_handler_t = ::std::option::Option<
891    unsafe extern "C" fn(
892        o: *mut ss_plugin_owner_t,
893        evt: *const ss_plugin_event,
894        err: *mut ::std::os::raw::c_char,
895    ) -> ss_plugin_rc,
896>;
897#[repr(C)]
898#[derive(Debug, Copy, Clone)]
899pub struct plugin_api {
900    pub get_required_api_version:
901        ::std::option::Option<unsafe extern "C" fn() -> *const ::std::os::raw::c_char>,
902    pub get_init_schema: ::std::option::Option<
903        unsafe extern "C" fn(
904            schema_type: *mut ss_plugin_schema_type,
905        ) -> *const ::std::os::raw::c_char,
906    >,
907    pub init: ::std::option::Option<
908        unsafe extern "C" fn(
909            input: *const ss_plugin_init_input,
910            rc: *mut ss_plugin_rc,
911        ) -> *mut ss_plugin_t,
912    >,
913    pub destroy: ::std::option::Option<unsafe extern "C" fn(s: *mut ss_plugin_t)>,
914    pub get_last_error: ::std::option::Option<
915        unsafe extern "C" fn(s: *mut ss_plugin_t) -> *const ::std::os::raw::c_char,
916    >,
917    pub get_name: ::std::option::Option<unsafe extern "C" fn() -> *const ::std::os::raw::c_char>,
918    pub get_description:
919        ::std::option::Option<unsafe extern "C" fn() -> *const ::std::os::raw::c_char>,
920    pub get_contact: ::std::option::Option<unsafe extern "C" fn() -> *const ::std::os::raw::c_char>,
921    pub get_version: ::std::option::Option<unsafe extern "C" fn() -> *const ::std::os::raw::c_char>,
922    pub __bindgen_anon_1: plugin_api__bindgen_ty_1,
923    pub __bindgen_anon_2: plugin_api__bindgen_ty_2,
924    pub __bindgen_anon_3: plugin_api__bindgen_ty_3,
925    pub __bindgen_anon_4: plugin_api__bindgen_ty_4,
926    pub set_config: ::std::option::Option<
927        unsafe extern "C" fn(
928            s: *mut ss_plugin_t,
929            i: *const ss_plugin_set_config_input,
930        ) -> ss_plugin_rc,
931    >,
932    pub get_metrics: ::std::option::Option<
933        unsafe extern "C" fn(s: *mut ss_plugin_t, num_metrics: *mut u32) -> *mut ss_plugin_metric,
934    >,
935    pub __bindgen_anon_5: plugin_api__bindgen_ty_5,
936    pub get_required_event_schema_version: ::std::option::Option<
937        unsafe extern "C" fn(s: *mut ss_plugin_t) -> *const ::std::os::raw::c_char,
938    >,
939}
940#[repr(C)]
941#[derive(Debug, Copy, Clone)]
942pub struct plugin_api__bindgen_ty_1 {
943    pub get_id: ::std::option::Option<unsafe extern "C" fn() -> u32>,
944    pub get_event_source:
945        ::std::option::Option<unsafe extern "C" fn() -> *const ::std::os::raw::c_char>,
946    pub open: ::std::option::Option<
947        unsafe extern "C" fn(
948            s: *mut ss_plugin_t,
949            params: *const ::std::os::raw::c_char,
950            rc: *mut ss_plugin_rc,
951        ) -> *mut ss_instance_t,
952    >,
953    pub close:
954        ::std::option::Option<unsafe extern "C" fn(s: *mut ss_plugin_t, h: *mut ss_instance_t)>,
955    pub list_open_params: ::std::option::Option<
956        unsafe extern "C" fn(
957            s: *mut ss_plugin_t,
958            rc: *mut ss_plugin_rc,
959        ) -> *const ::std::os::raw::c_char,
960    >,
961    pub get_progress: ::std::option::Option<
962        unsafe extern "C" fn(
963            s: *mut ss_plugin_t,
964            h: *mut ss_instance_t,
965            progress_pct: *mut u32,
966        ) -> *const ::std::os::raw::c_char,
967    >,
968    pub event_to_string: ::std::option::Option<
969        unsafe extern "C" fn(
970            s: *mut ss_plugin_t,
971            evt: *const ss_plugin_event_input,
972        ) -> *const ::std::os::raw::c_char,
973    >,
974    pub next_batch: ::std::option::Option<
975        unsafe extern "C" fn(
976            s: *mut ss_plugin_t,
977            h: *mut ss_instance_t,
978            nevts: *mut u32,
979            evts: *mut *mut *mut ss_plugin_event,
980        ) -> ss_plugin_rc,
981    >,
982}
983#[allow(clippy::unnecessary_operation, clippy::identity_op)]
984const _: () = {
985    ["Size of plugin_api__bindgen_ty_1"]
986        [::std::mem::size_of::<plugin_api__bindgen_ty_1>() - 64usize];
987    ["Alignment of plugin_api__bindgen_ty_1"]
988        [::std::mem::align_of::<plugin_api__bindgen_ty_1>() - 8usize];
989    ["Offset of field: plugin_api__bindgen_ty_1::get_id"]
990        [::std::mem::offset_of!(plugin_api__bindgen_ty_1, get_id) - 0usize];
991    ["Offset of field: plugin_api__bindgen_ty_1::get_event_source"]
992        [::std::mem::offset_of!(plugin_api__bindgen_ty_1, get_event_source) - 8usize];
993    ["Offset of field: plugin_api__bindgen_ty_1::open"]
994        [::std::mem::offset_of!(plugin_api__bindgen_ty_1, open) - 16usize];
995    ["Offset of field: plugin_api__bindgen_ty_1::close"]
996        [::std::mem::offset_of!(plugin_api__bindgen_ty_1, close) - 24usize];
997    ["Offset of field: plugin_api__bindgen_ty_1::list_open_params"]
998        [::std::mem::offset_of!(plugin_api__bindgen_ty_1, list_open_params) - 32usize];
999    ["Offset of field: plugin_api__bindgen_ty_1::get_progress"]
1000        [::std::mem::offset_of!(plugin_api__bindgen_ty_1, get_progress) - 40usize];
1001    ["Offset of field: plugin_api__bindgen_ty_1::event_to_string"]
1002        [::std::mem::offset_of!(plugin_api__bindgen_ty_1, event_to_string) - 48usize];
1003    ["Offset of field: plugin_api__bindgen_ty_1::next_batch"]
1004        [::std::mem::offset_of!(plugin_api__bindgen_ty_1, next_batch) - 56usize];
1005};
1006#[repr(C)]
1007#[derive(Debug, Copy, Clone)]
1008pub struct plugin_api__bindgen_ty_2 {
1009    pub get_extract_event_types: ::std::option::Option<
1010        unsafe extern "C" fn(numtypes: *mut u32, s: *mut ss_plugin_t) -> *mut u16,
1011    >,
1012    pub get_extract_event_sources:
1013        ::std::option::Option<unsafe extern "C" fn() -> *const ::std::os::raw::c_char>,
1014    pub get_fields: ::std::option::Option<unsafe extern "C" fn() -> *const ::std::os::raw::c_char>,
1015    pub extract_fields: ::std::option::Option<
1016        unsafe extern "C" fn(
1017            s: *mut ss_plugin_t,
1018            evt: *const ss_plugin_event_input,
1019            in_: *const ss_plugin_field_extract_input,
1020        ) -> ss_plugin_rc,
1021    >,
1022}
1023#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1024const _: () = {
1025    ["Size of plugin_api__bindgen_ty_2"]
1026        [::std::mem::size_of::<plugin_api__bindgen_ty_2>() - 32usize];
1027    ["Alignment of plugin_api__bindgen_ty_2"]
1028        [::std::mem::align_of::<plugin_api__bindgen_ty_2>() - 8usize];
1029    ["Offset of field: plugin_api__bindgen_ty_2::get_extract_event_types"]
1030        [::std::mem::offset_of!(plugin_api__bindgen_ty_2, get_extract_event_types) - 0usize];
1031    ["Offset of field: plugin_api__bindgen_ty_2::get_extract_event_sources"]
1032        [::std::mem::offset_of!(plugin_api__bindgen_ty_2, get_extract_event_sources) - 8usize];
1033    ["Offset of field: plugin_api__bindgen_ty_2::get_fields"]
1034        [::std::mem::offset_of!(plugin_api__bindgen_ty_2, get_fields) - 16usize];
1035    ["Offset of field: plugin_api__bindgen_ty_2::extract_fields"]
1036        [::std::mem::offset_of!(plugin_api__bindgen_ty_2, extract_fields) - 24usize];
1037};
1038#[repr(C)]
1039#[derive(Debug, Copy, Clone)]
1040pub struct plugin_api__bindgen_ty_3 {
1041    pub get_parse_event_types: ::std::option::Option<
1042        unsafe extern "C" fn(numtypes: *mut u32, s: *mut ss_plugin_t) -> *mut u16,
1043    >,
1044    pub get_parse_event_sources:
1045        ::std::option::Option<unsafe extern "C" fn() -> *const ::std::os::raw::c_char>,
1046    pub parse_event: ::std::option::Option<
1047        unsafe extern "C" fn(
1048            s: *mut ss_plugin_t,
1049            evt: *const ss_plugin_event_input,
1050            in_: *const ss_plugin_event_parse_input,
1051        ) -> ss_plugin_rc,
1052    >,
1053}
1054#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1055const _: () = {
1056    ["Size of plugin_api__bindgen_ty_3"]
1057        [::std::mem::size_of::<plugin_api__bindgen_ty_3>() - 24usize];
1058    ["Alignment of plugin_api__bindgen_ty_3"]
1059        [::std::mem::align_of::<plugin_api__bindgen_ty_3>() - 8usize];
1060    ["Offset of field: plugin_api__bindgen_ty_3::get_parse_event_types"]
1061        [::std::mem::offset_of!(plugin_api__bindgen_ty_3, get_parse_event_types) - 0usize];
1062    ["Offset of field: plugin_api__bindgen_ty_3::get_parse_event_sources"]
1063        [::std::mem::offset_of!(plugin_api__bindgen_ty_3, get_parse_event_sources) - 8usize];
1064    ["Offset of field: plugin_api__bindgen_ty_3::parse_event"]
1065        [::std::mem::offset_of!(plugin_api__bindgen_ty_3, parse_event) - 16usize];
1066};
1067#[repr(C)]
1068#[derive(Debug, Copy, Clone)]
1069pub struct plugin_api__bindgen_ty_4 {
1070    pub get_async_event_sources:
1071        ::std::option::Option<unsafe extern "C" fn() -> *const ::std::os::raw::c_char>,
1072    pub get_async_events:
1073        ::std::option::Option<unsafe extern "C" fn() -> *const ::std::os::raw::c_char>,
1074    pub set_async_event_handler: ::std::option::Option<
1075        unsafe extern "C" fn(
1076            s: *mut ss_plugin_t,
1077            owner: *mut ss_plugin_owner_t,
1078            handler: ss_plugin_async_event_handler_t,
1079        ) -> ss_plugin_rc,
1080    >,
1081    pub dump_state: ::std::option::Option<
1082        unsafe extern "C" fn(
1083            s: *mut ss_plugin_t,
1084            owner: *mut ss_plugin_owner_t,
1085            handler: ss_plugin_async_event_handler_t,
1086        ) -> ss_plugin_rc,
1087    >,
1088}
1089#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1090const _: () = {
1091    ["Size of plugin_api__bindgen_ty_4"]
1092        [::std::mem::size_of::<plugin_api__bindgen_ty_4>() - 32usize];
1093    ["Alignment of plugin_api__bindgen_ty_4"]
1094        [::std::mem::align_of::<plugin_api__bindgen_ty_4>() - 8usize];
1095    ["Offset of field: plugin_api__bindgen_ty_4::get_async_event_sources"]
1096        [::std::mem::offset_of!(plugin_api__bindgen_ty_4, get_async_event_sources) - 0usize];
1097    ["Offset of field: plugin_api__bindgen_ty_4::get_async_events"]
1098        [::std::mem::offset_of!(plugin_api__bindgen_ty_4, get_async_events) - 8usize];
1099    ["Offset of field: plugin_api__bindgen_ty_4::set_async_event_handler"]
1100        [::std::mem::offset_of!(plugin_api__bindgen_ty_4, set_async_event_handler) - 16usize];
1101    ["Offset of field: plugin_api__bindgen_ty_4::dump_state"]
1102        [::std::mem::offset_of!(plugin_api__bindgen_ty_4, dump_state) - 24usize];
1103};
1104#[repr(C)]
1105#[derive(Debug, Copy, Clone)]
1106pub struct plugin_api__bindgen_ty_5 {
1107    pub capture_open: ::std::option::Option<
1108        unsafe extern "C" fn(
1109            s: *mut ss_plugin_t,
1110            i: *const ss_plugin_capture_listen_input,
1111        ) -> ss_plugin_rc,
1112    >,
1113    pub capture_close: ::std::option::Option<
1114        unsafe extern "C" fn(
1115            s: *mut ss_plugin_t,
1116            i: *const ss_plugin_capture_listen_input,
1117        ) -> ss_plugin_rc,
1118    >,
1119}
1120#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1121const _: () = {
1122    ["Size of plugin_api__bindgen_ty_5"]
1123        [::std::mem::size_of::<plugin_api__bindgen_ty_5>() - 16usize];
1124    ["Alignment of plugin_api__bindgen_ty_5"]
1125        [::std::mem::align_of::<plugin_api__bindgen_ty_5>() - 8usize];
1126    ["Offset of field: plugin_api__bindgen_ty_5::capture_open"]
1127        [::std::mem::offset_of!(plugin_api__bindgen_ty_5, capture_open) - 0usize];
1128    ["Offset of field: plugin_api__bindgen_ty_5::capture_close"]
1129        [::std::mem::offset_of!(plugin_api__bindgen_ty_5, capture_close) - 8usize];
1130};
1131#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1132const _: () = {
1133    ["Size of plugin_api"][::std::mem::size_of::<plugin_api>() - 264usize];
1134    ["Alignment of plugin_api"][::std::mem::align_of::<plugin_api>() - 8usize];
1135    ["Offset of field: plugin_api::get_required_api_version"]
1136        [::std::mem::offset_of!(plugin_api, get_required_api_version) - 0usize];
1137    ["Offset of field: plugin_api::get_init_schema"]
1138        [::std::mem::offset_of!(plugin_api, get_init_schema) - 8usize];
1139    ["Offset of field: plugin_api::init"][::std::mem::offset_of!(plugin_api, init) - 16usize];
1140    ["Offset of field: plugin_api::destroy"][::std::mem::offset_of!(plugin_api, destroy) - 24usize];
1141    ["Offset of field: plugin_api::get_last_error"]
1142        [::std::mem::offset_of!(plugin_api, get_last_error) - 32usize];
1143    ["Offset of field: plugin_api::get_name"]
1144        [::std::mem::offset_of!(plugin_api, get_name) - 40usize];
1145    ["Offset of field: plugin_api::get_description"]
1146        [::std::mem::offset_of!(plugin_api, get_description) - 48usize];
1147    ["Offset of field: plugin_api::get_contact"]
1148        [::std::mem::offset_of!(plugin_api, get_contact) - 56usize];
1149    ["Offset of field: plugin_api::get_version"]
1150        [::std::mem::offset_of!(plugin_api, get_version) - 64usize];
1151    ["Offset of field: plugin_api::set_config"]
1152        [::std::mem::offset_of!(plugin_api, set_config) - 224usize];
1153    ["Offset of field: plugin_api::get_metrics"]
1154        [::std::mem::offset_of!(plugin_api, get_metrics) - 232usize];
1155    ["Offset of field: plugin_api::get_required_event_schema_version"]
1156        [::std::mem::offset_of!(plugin_api, get_required_event_schema_version) - 256usize];
1157};