falco_plugin_api/
ffi.rs

1/* automatically generated by rust-bindgen 0.71.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-unwind" 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-unwind" 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-unwind" 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-unwind" 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-unwind" 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-unwind" 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-unwind" 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-unwind" fn(t: *mut ss_plugin_table_t) -> u64>,
432    pub get_table_entry: ::std::option::Option<
433        unsafe extern "C-unwind" 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-unwind" 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-unwind" 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-unwind" 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-unwind" fn(t: *mut ss_plugin_table_t) -> u64>,
479    pub get_table_entry: ::std::option::Option<
480        unsafe extern "C-unwind" 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-unwind" 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-unwind" 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-unwind" 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: ::std::option::Option<
527        unsafe extern "C-unwind" fn(t: *mut ss_plugin_table_t) -> ss_plugin_rc,
528    >,
529    pub erase_table_entry: ::std::option::Option<
530        unsafe extern "C-unwind" fn(
531            t: *mut ss_plugin_table_t,
532            key: *const ss_plugin_state_data,
533        ) -> ss_plugin_rc,
534    >,
535    pub create_table_entry: ::std::option::Option<
536        unsafe extern "C-unwind" fn(t: *mut ss_plugin_table_t) -> *mut ss_plugin_table_entry_t,
537    >,
538    pub destroy_table_entry: ::std::option::Option<
539        unsafe extern "C-unwind" fn(t: *mut ss_plugin_table_t, e: *mut ss_plugin_table_entry_t),
540    >,
541    pub add_table_entry: ::std::option::Option<
542        unsafe extern "C-unwind" fn(
543            t: *mut ss_plugin_table_t,
544            key: *const ss_plugin_state_data,
545            entry: *mut ss_plugin_table_entry_t,
546        ) -> *mut ss_plugin_table_entry_t,
547    >,
548    pub write_entry_field: ::std::option::Option<
549        unsafe extern "C-unwind" fn(
550            t: *mut ss_plugin_table_t,
551            e: *mut ss_plugin_table_entry_t,
552            f: *const ss_plugin_table_field_t,
553            in_: *const ss_plugin_state_data,
554        ) -> ss_plugin_rc,
555    >,
556}
557#[allow(clippy::unnecessary_operation, clippy::identity_op)]
558const _: () = {
559    ["Size of ss_plugin_table_writer_vtable"]
560        [::std::mem::size_of::<ss_plugin_table_writer_vtable>() - 48usize];
561    ["Alignment of ss_plugin_table_writer_vtable"]
562        [::std::mem::align_of::<ss_plugin_table_writer_vtable>() - 8usize];
563    ["Offset of field: ss_plugin_table_writer_vtable::clear_table"]
564        [::std::mem::offset_of!(ss_plugin_table_writer_vtable, clear_table) - 0usize];
565    ["Offset of field: ss_plugin_table_writer_vtable::erase_table_entry"]
566        [::std::mem::offset_of!(ss_plugin_table_writer_vtable, erase_table_entry) - 8usize];
567    ["Offset of field: ss_plugin_table_writer_vtable::create_table_entry"]
568        [::std::mem::offset_of!(ss_plugin_table_writer_vtable, create_table_entry) - 16usize];
569    ["Offset of field: ss_plugin_table_writer_vtable::destroy_table_entry"]
570        [::std::mem::offset_of!(ss_plugin_table_writer_vtable, destroy_table_entry) - 24usize];
571    ["Offset of field: ss_plugin_table_writer_vtable::add_table_entry"]
572        [::std::mem::offset_of!(ss_plugin_table_writer_vtable, add_table_entry) - 32usize];
573    ["Offset of field: ss_plugin_table_writer_vtable::write_entry_field"]
574        [::std::mem::offset_of!(ss_plugin_table_writer_vtable, write_entry_field) - 40usize];
575};
576#[repr(C)]
577#[derive(Debug, Copy, Clone)]
578pub struct ss_plugin_table_writer_vtable_ext {
579    pub clear_table: ::std::option::Option<
580        unsafe extern "C-unwind" fn(t: *mut ss_plugin_table_t) -> ss_plugin_rc,
581    >,
582    pub erase_table_entry: ::std::option::Option<
583        unsafe extern "C-unwind" fn(
584            t: *mut ss_plugin_table_t,
585            key: *const ss_plugin_state_data,
586        ) -> ss_plugin_rc,
587    >,
588    pub create_table_entry: ::std::option::Option<
589        unsafe extern "C-unwind" fn(t: *mut ss_plugin_table_t) -> *mut ss_plugin_table_entry_t,
590    >,
591    pub destroy_table_entry: ::std::option::Option<
592        unsafe extern "C-unwind" fn(t: *mut ss_plugin_table_t, e: *mut ss_plugin_table_entry_t),
593    >,
594    pub add_table_entry: ::std::option::Option<
595        unsafe extern "C-unwind" fn(
596            t: *mut ss_plugin_table_t,
597            key: *const ss_plugin_state_data,
598            entry: *mut ss_plugin_table_entry_t,
599        ) -> *mut ss_plugin_table_entry_t,
600    >,
601    pub write_entry_field: ::std::option::Option<
602        unsafe extern "C-unwind" fn(
603            t: *mut ss_plugin_table_t,
604            e: *mut ss_plugin_table_entry_t,
605            f: *const ss_plugin_table_field_t,
606            in_: *const ss_plugin_state_data,
607        ) -> ss_plugin_rc,
608    >,
609}
610#[allow(clippy::unnecessary_operation, clippy::identity_op)]
611const _: () = {
612    ["Size of ss_plugin_table_writer_vtable_ext"]
613        [::std::mem::size_of::<ss_plugin_table_writer_vtable_ext>() - 48usize];
614    ["Alignment of ss_plugin_table_writer_vtable_ext"]
615        [::std::mem::align_of::<ss_plugin_table_writer_vtable_ext>() - 8usize];
616    ["Offset of field: ss_plugin_table_writer_vtable_ext::clear_table"]
617        [::std::mem::offset_of!(ss_plugin_table_writer_vtable_ext, clear_table) - 0usize];
618    ["Offset of field: ss_plugin_table_writer_vtable_ext::erase_table_entry"]
619        [::std::mem::offset_of!(ss_plugin_table_writer_vtable_ext, erase_table_entry) - 8usize];
620    ["Offset of field: ss_plugin_table_writer_vtable_ext::create_table_entry"]
621        [::std::mem::offset_of!(ss_plugin_table_writer_vtable_ext, create_table_entry) - 16usize];
622    ["Offset of field: ss_plugin_table_writer_vtable_ext::destroy_table_entry"]
623        [::std::mem::offset_of!(ss_plugin_table_writer_vtable_ext, destroy_table_entry) - 24usize];
624    ["Offset of field: ss_plugin_table_writer_vtable_ext::add_table_entry"]
625        [::std::mem::offset_of!(ss_plugin_table_writer_vtable_ext, add_table_entry) - 32usize];
626    ["Offset of field: ss_plugin_table_writer_vtable_ext::write_entry_field"]
627        [::std::mem::offset_of!(ss_plugin_table_writer_vtable_ext, write_entry_field) - 40usize];
628};
629#[repr(C)]
630#[derive(Debug, Copy, Clone)]
631pub struct ss_plugin_table_input {
632    pub name: *const ::std::os::raw::c_char,
633    pub key_type: ss_plugin_state_type,
634    pub table: *mut ss_plugin_table_t,
635    pub reader: ss_plugin_table_reader_vtable,
636    pub writer: ss_plugin_table_writer_vtable,
637    pub fields: ss_plugin_table_fields_vtable,
638    pub reader_ext: *mut ss_plugin_table_reader_vtable_ext,
639    pub writer_ext: *mut ss_plugin_table_writer_vtable_ext,
640    pub fields_ext: *mut ss_plugin_table_fields_vtable_ext,
641}
642#[allow(clippy::unnecessary_operation, clippy::identity_op)]
643const _: () = {
644    ["Size of ss_plugin_table_input"][::std::mem::size_of::<ss_plugin_table_input>() - 152usize];
645    ["Alignment of ss_plugin_table_input"]
646        [::std::mem::align_of::<ss_plugin_table_input>() - 8usize];
647    ["Offset of field: ss_plugin_table_input::name"]
648        [::std::mem::offset_of!(ss_plugin_table_input, name) - 0usize];
649    ["Offset of field: ss_plugin_table_input::key_type"]
650        [::std::mem::offset_of!(ss_plugin_table_input, key_type) - 8usize];
651    ["Offset of field: ss_plugin_table_input::table"]
652        [::std::mem::offset_of!(ss_plugin_table_input, table) - 16usize];
653    ["Offset of field: ss_plugin_table_input::reader"]
654        [::std::mem::offset_of!(ss_plugin_table_input, reader) - 24usize];
655    ["Offset of field: ss_plugin_table_input::writer"]
656        [::std::mem::offset_of!(ss_plugin_table_input, writer) - 56usize];
657    ["Offset of field: ss_plugin_table_input::fields"]
658        [::std::mem::offset_of!(ss_plugin_table_input, fields) - 104usize];
659    ["Offset of field: ss_plugin_table_input::reader_ext"]
660        [::std::mem::offset_of!(ss_plugin_table_input, reader_ext) - 128usize];
661    ["Offset of field: ss_plugin_table_input::writer_ext"]
662        [::std::mem::offset_of!(ss_plugin_table_input, writer_ext) - 136usize];
663    ["Offset of field: ss_plugin_table_input::fields_ext"]
664        [::std::mem::offset_of!(ss_plugin_table_input, fields_ext) - 144usize];
665};
666#[repr(C)]
667#[derive(Debug, Copy, Clone)]
668pub struct ss_plugin_init_tables_input {
669    pub list_tables: ::std::option::Option<
670        unsafe extern "C-unwind" fn(
671            o: *mut ss_plugin_owner_t,
672            ntables: *mut u32,
673        ) -> *mut ss_plugin_table_info,
674    >,
675    pub get_table: ::std::option::Option<
676        unsafe extern "C-unwind" fn(
677            o: *mut ss_plugin_owner_t,
678            name: *const ::std::os::raw::c_char,
679            key_type: ss_plugin_state_type,
680        ) -> *mut ss_plugin_table_t,
681    >,
682    pub add_table: ::std::option::Option<
683        unsafe extern "C-unwind" fn(
684            o: *mut ss_plugin_owner_t,
685            in_: *const ss_plugin_table_input,
686        ) -> ss_plugin_rc,
687    >,
688    pub fields: ss_plugin_table_fields_vtable,
689    pub fields_ext: *mut ss_plugin_table_fields_vtable_ext,
690    pub reader_ext: *mut ss_plugin_table_reader_vtable_ext,
691    pub writer_ext: *mut ss_plugin_table_writer_vtable_ext,
692}
693#[allow(clippy::unnecessary_operation, clippy::identity_op)]
694const _: () = {
695    ["Size of ss_plugin_init_tables_input"]
696        [::std::mem::size_of::<ss_plugin_init_tables_input>() - 72usize];
697    ["Alignment of ss_plugin_init_tables_input"]
698        [::std::mem::align_of::<ss_plugin_init_tables_input>() - 8usize];
699    ["Offset of field: ss_plugin_init_tables_input::list_tables"]
700        [::std::mem::offset_of!(ss_plugin_init_tables_input, list_tables) - 0usize];
701    ["Offset of field: ss_plugin_init_tables_input::get_table"]
702        [::std::mem::offset_of!(ss_plugin_init_tables_input, get_table) - 8usize];
703    ["Offset of field: ss_plugin_init_tables_input::add_table"]
704        [::std::mem::offset_of!(ss_plugin_init_tables_input, add_table) - 16usize];
705    ["Offset of field: ss_plugin_init_tables_input::fields"]
706        [::std::mem::offset_of!(ss_plugin_init_tables_input, fields) - 24usize];
707    ["Offset of field: ss_plugin_init_tables_input::fields_ext"]
708        [::std::mem::offset_of!(ss_plugin_init_tables_input, fields_ext) - 48usize];
709    ["Offset of field: ss_plugin_init_tables_input::reader_ext"]
710        [::std::mem::offset_of!(ss_plugin_init_tables_input, reader_ext) - 56usize];
711    ["Offset of field: ss_plugin_init_tables_input::writer_ext"]
712        [::std::mem::offset_of!(ss_plugin_init_tables_input, writer_ext) - 64usize];
713};
714pub type ss_plugin_log_fn_t = ::std::option::Option<
715    unsafe extern "C-unwind" fn(
716        o: *mut ss_plugin_owner_t,
717        component: *const ::std::os::raw::c_char,
718        msg: *const ::std::os::raw::c_char,
719        sev: ss_plugin_log_severity,
720    ),
721>;
722#[repr(C)]
723#[derive(Debug, Copy, Clone)]
724pub struct ss_plugin_init_input {
725    pub config: *const ::std::os::raw::c_char,
726    pub owner: *mut ss_plugin_owner_t,
727    pub get_owner_last_error: ::std::option::Option<
728        unsafe extern "C-unwind" fn(o: *mut ss_plugin_owner_t) -> *const ::std::os::raw::c_char,
729    >,
730    pub tables: *const ss_plugin_init_tables_input,
731    pub log_fn: ss_plugin_log_fn_t,
732}
733#[allow(clippy::unnecessary_operation, clippy::identity_op)]
734const _: () = {
735    ["Size of ss_plugin_init_input"][::std::mem::size_of::<ss_plugin_init_input>() - 40usize];
736    ["Alignment of ss_plugin_init_input"][::std::mem::align_of::<ss_plugin_init_input>() - 8usize];
737    ["Offset of field: ss_plugin_init_input::config"]
738        [::std::mem::offset_of!(ss_plugin_init_input, config) - 0usize];
739    ["Offset of field: ss_plugin_init_input::owner"]
740        [::std::mem::offset_of!(ss_plugin_init_input, owner) - 8usize];
741    ["Offset of field: ss_plugin_init_input::get_owner_last_error"]
742        [::std::mem::offset_of!(ss_plugin_init_input, get_owner_last_error) - 16usize];
743    ["Offset of field: ss_plugin_init_input::tables"]
744        [::std::mem::offset_of!(ss_plugin_init_input, tables) - 24usize];
745    ["Offset of field: ss_plugin_init_input::log_fn"]
746        [::std::mem::offset_of!(ss_plugin_init_input, log_fn) - 32usize];
747};
748#[repr(C)]
749#[derive(Debug, Copy, Clone)]
750pub struct ss_plugin_field_extract_input {
751    pub owner: *mut ss_plugin_owner_t,
752    pub get_owner_last_error: ::std::option::Option<
753        unsafe extern "C-unwind" fn(o: *mut ss_plugin_owner_t) -> *const ::std::os::raw::c_char,
754    >,
755    pub num_fields: u32,
756    pub fields: *mut ss_plugin_extract_field,
757    pub table_reader: ss_plugin_table_reader_vtable,
758    pub table_reader_ext: *mut ss_plugin_table_reader_vtable_ext,
759    pub value_offsets: *mut ss_plugin_extract_value_offsets,
760}
761#[allow(clippy::unnecessary_operation, clippy::identity_op)]
762const _: () = {
763    ["Size of ss_plugin_field_extract_input"]
764        [::std::mem::size_of::<ss_plugin_field_extract_input>() - 80usize];
765    ["Alignment of ss_plugin_field_extract_input"]
766        [::std::mem::align_of::<ss_plugin_field_extract_input>() - 8usize];
767    ["Offset of field: ss_plugin_field_extract_input::owner"]
768        [::std::mem::offset_of!(ss_plugin_field_extract_input, owner) - 0usize];
769    ["Offset of field: ss_plugin_field_extract_input::get_owner_last_error"]
770        [::std::mem::offset_of!(ss_plugin_field_extract_input, get_owner_last_error) - 8usize];
771    ["Offset of field: ss_plugin_field_extract_input::num_fields"]
772        [::std::mem::offset_of!(ss_plugin_field_extract_input, num_fields) - 16usize];
773    ["Offset of field: ss_plugin_field_extract_input::fields"]
774        [::std::mem::offset_of!(ss_plugin_field_extract_input, fields) - 24usize];
775    ["Offset of field: ss_plugin_field_extract_input::table_reader"]
776        [::std::mem::offset_of!(ss_plugin_field_extract_input, table_reader) - 32usize];
777    ["Offset of field: ss_plugin_field_extract_input::table_reader_ext"]
778        [::std::mem::offset_of!(ss_plugin_field_extract_input, table_reader_ext) - 64usize];
779    ["Offset of field: ss_plugin_field_extract_input::value_offsets"]
780        [::std::mem::offset_of!(ss_plugin_field_extract_input, value_offsets) - 72usize];
781};
782#[repr(C)]
783#[derive(Debug, Copy, Clone)]
784pub struct ss_plugin_event_parse_input {
785    pub owner: *mut ss_plugin_owner_t,
786    pub get_owner_last_error: ::std::option::Option<
787        unsafe extern "C-unwind" fn(o: *mut ss_plugin_owner_t) -> *const ::std::os::raw::c_char,
788    >,
789    pub table_reader: ss_plugin_table_reader_vtable,
790    pub table_writer: ss_plugin_table_writer_vtable,
791    pub table_reader_ext: *mut ss_plugin_table_reader_vtable_ext,
792    pub table_writer_ext: *mut ss_plugin_table_writer_vtable_ext,
793}
794#[allow(clippy::unnecessary_operation, clippy::identity_op)]
795const _: () = {
796    ["Size of ss_plugin_event_parse_input"]
797        [::std::mem::size_of::<ss_plugin_event_parse_input>() - 112usize];
798    ["Alignment of ss_plugin_event_parse_input"]
799        [::std::mem::align_of::<ss_plugin_event_parse_input>() - 8usize];
800    ["Offset of field: ss_plugin_event_parse_input::owner"]
801        [::std::mem::offset_of!(ss_plugin_event_parse_input, owner) - 0usize];
802    ["Offset of field: ss_plugin_event_parse_input::get_owner_last_error"]
803        [::std::mem::offset_of!(ss_plugin_event_parse_input, get_owner_last_error) - 8usize];
804    ["Offset of field: ss_plugin_event_parse_input::table_reader"]
805        [::std::mem::offset_of!(ss_plugin_event_parse_input, table_reader) - 16usize];
806    ["Offset of field: ss_plugin_event_parse_input::table_writer"]
807        [::std::mem::offset_of!(ss_plugin_event_parse_input, table_writer) - 48usize];
808    ["Offset of field: ss_plugin_event_parse_input::table_reader_ext"]
809        [::std::mem::offset_of!(ss_plugin_event_parse_input, table_reader_ext) - 96usize];
810    ["Offset of field: ss_plugin_event_parse_input::table_writer_ext"]
811        [::std::mem::offset_of!(ss_plugin_event_parse_input, table_writer_ext) - 104usize];
812};
813#[repr(C)]
814#[derive(Debug, Copy, Clone)]
815pub struct ss_plugin_set_config_input {
816    pub config: *const ::std::os::raw::c_char,
817}
818#[allow(clippy::unnecessary_operation, clippy::identity_op)]
819const _: () = {
820    ["Size of ss_plugin_set_config_input"]
821        [::std::mem::size_of::<ss_plugin_set_config_input>() - 8usize];
822    ["Alignment of ss_plugin_set_config_input"]
823        [::std::mem::align_of::<ss_plugin_set_config_input>() - 8usize];
824    ["Offset of field: ss_plugin_set_config_input::config"]
825        [::std::mem::offset_of!(ss_plugin_set_config_input, config) - 0usize];
826};
827#[repr(transparent)]
828#[derive(Debug)]
829pub struct ss_plugin_routine_t(pub ::std::os::raw::c_void);
830#[repr(transparent)]
831#[derive(Debug)]
832pub struct ss_plugin_routine_state_t(pub ::std::os::raw::c_void);
833pub type ss_plugin_routine_fn_t = ::std::option::Option<
834    unsafe extern "C-unwind" fn(
835        s: *mut ss_plugin_t,
836        i: *mut ss_plugin_routine_state_t,
837    ) -> ss_plugin_bool,
838>;
839#[repr(C)]
840#[derive(Debug, Copy, Clone)]
841pub struct ss_plugin_routine_vtable {
842    pub subscribe: ::std::option::Option<
843        unsafe extern "C-unwind" fn(
844            o: *mut ss_plugin_owner_t,
845            f: ss_plugin_routine_fn_t,
846            i: *mut ss_plugin_routine_state_t,
847        ) -> *mut ss_plugin_routine_t,
848    >,
849    pub unsubscribe: ::std::option::Option<
850        unsafe extern "C-unwind" fn(
851            o: *mut ss_plugin_owner_t,
852            r: *mut ss_plugin_routine_t,
853        ) -> ss_plugin_rc,
854    >,
855}
856#[allow(clippy::unnecessary_operation, clippy::identity_op)]
857const _: () = {
858    ["Size of ss_plugin_routine_vtable"]
859        [::std::mem::size_of::<ss_plugin_routine_vtable>() - 16usize];
860    ["Alignment of ss_plugin_routine_vtable"]
861        [::std::mem::align_of::<ss_plugin_routine_vtable>() - 8usize];
862    ["Offset of field: ss_plugin_routine_vtable::subscribe"]
863        [::std::mem::offset_of!(ss_plugin_routine_vtable, subscribe) - 0usize];
864    ["Offset of field: ss_plugin_routine_vtable::unsubscribe"]
865        [::std::mem::offset_of!(ss_plugin_routine_vtable, unsubscribe) - 8usize];
866};
867#[repr(C)]
868#[derive(Debug, Copy, Clone)]
869pub struct ss_plugin_capture_listen_input {
870    pub owner: *mut ss_plugin_owner_t,
871    pub routine: *mut ss_plugin_routine_vtable,
872    pub table_reader_ext: *mut ss_plugin_table_reader_vtable_ext,
873    pub table_writer_ext: *mut ss_plugin_table_writer_vtable_ext,
874    pub get_owner_last_error: ::std::option::Option<
875        unsafe extern "C-unwind" fn(o: *mut ss_plugin_owner_t) -> *const ::std::os::raw::c_char,
876    >,
877}
878#[allow(clippy::unnecessary_operation, clippy::identity_op)]
879const _: () = {
880    ["Size of ss_plugin_capture_listen_input"]
881        [::std::mem::size_of::<ss_plugin_capture_listen_input>() - 40usize];
882    ["Alignment of ss_plugin_capture_listen_input"]
883        [::std::mem::align_of::<ss_plugin_capture_listen_input>() - 8usize];
884    ["Offset of field: ss_plugin_capture_listen_input::owner"]
885        [::std::mem::offset_of!(ss_plugin_capture_listen_input, owner) - 0usize];
886    ["Offset of field: ss_plugin_capture_listen_input::routine"]
887        [::std::mem::offset_of!(ss_plugin_capture_listen_input, routine) - 8usize];
888    ["Offset of field: ss_plugin_capture_listen_input::table_reader_ext"]
889        [::std::mem::offset_of!(ss_plugin_capture_listen_input, table_reader_ext) - 16usize];
890    ["Offset of field: ss_plugin_capture_listen_input::table_writer_ext"]
891        [::std::mem::offset_of!(ss_plugin_capture_listen_input, table_writer_ext) - 24usize];
892    ["Offset of field: ss_plugin_capture_listen_input::get_owner_last_error"]
893        [::std::mem::offset_of!(ss_plugin_capture_listen_input, get_owner_last_error) - 32usize];
894};
895pub type ss_plugin_async_event_handler_t = ::std::option::Option<
896    unsafe extern "C-unwind" fn(
897        o: *mut ss_plugin_owner_t,
898        evt: *const ss_plugin_event,
899        err: *mut ::std::os::raw::c_char,
900    ) -> ss_plugin_rc,
901>;
902#[repr(C)]
903#[derive(Debug, Copy, Clone)]
904pub struct plugin_api {
905    pub get_required_api_version:
906        ::std::option::Option<unsafe extern "C-unwind" fn() -> *const ::std::os::raw::c_char>,
907    pub get_init_schema: ::std::option::Option<
908        unsafe extern "C-unwind" fn(
909            schema_type: *mut ss_plugin_schema_type,
910        ) -> *const ::std::os::raw::c_char,
911    >,
912    pub init: ::std::option::Option<
913        unsafe extern "C-unwind" fn(
914            input: *const ss_plugin_init_input,
915            rc: *mut ss_plugin_rc,
916        ) -> *mut ss_plugin_t,
917    >,
918    pub destroy: ::std::option::Option<unsafe extern "C-unwind" fn(s: *mut ss_plugin_t)>,
919    pub get_last_error: ::std::option::Option<
920        unsafe extern "C-unwind" fn(s: *mut ss_plugin_t) -> *const ::std::os::raw::c_char,
921    >,
922    pub get_name:
923        ::std::option::Option<unsafe extern "C-unwind" fn() -> *const ::std::os::raw::c_char>,
924    pub get_description:
925        ::std::option::Option<unsafe extern "C-unwind" fn() -> *const ::std::os::raw::c_char>,
926    pub get_contact:
927        ::std::option::Option<unsafe extern "C-unwind" fn() -> *const ::std::os::raw::c_char>,
928    pub get_version:
929        ::std::option::Option<unsafe extern "C-unwind" fn() -> *const ::std::os::raw::c_char>,
930    pub __bindgen_anon_1: plugin_api__bindgen_ty_1,
931    pub __bindgen_anon_2: plugin_api__bindgen_ty_2,
932    pub __bindgen_anon_3: plugin_api__bindgen_ty_3,
933    pub __bindgen_anon_4: plugin_api__bindgen_ty_4,
934    pub set_config: ::std::option::Option<
935        unsafe extern "C-unwind" fn(
936            s: *mut ss_plugin_t,
937            i: *const ss_plugin_set_config_input,
938        ) -> ss_plugin_rc,
939    >,
940    pub get_metrics: ::std::option::Option<
941        unsafe extern "C-unwind" fn(
942            s: *mut ss_plugin_t,
943            num_metrics: *mut u32,
944        ) -> *mut ss_plugin_metric,
945    >,
946    pub __bindgen_anon_5: plugin_api__bindgen_ty_5,
947    pub get_required_event_schema_version: ::std::option::Option<
948        unsafe extern "C-unwind" fn(s: *mut ss_plugin_t) -> *const ::std::os::raw::c_char,
949    >,
950}
951#[repr(C)]
952#[derive(Debug, Copy, Clone)]
953pub struct plugin_api__bindgen_ty_1 {
954    pub get_id: ::std::option::Option<unsafe extern "C-unwind" fn() -> u32>,
955    pub get_event_source:
956        ::std::option::Option<unsafe extern "C-unwind" fn() -> *const ::std::os::raw::c_char>,
957    pub open: ::std::option::Option<
958        unsafe extern "C-unwind" fn(
959            s: *mut ss_plugin_t,
960            params: *const ::std::os::raw::c_char,
961            rc: *mut ss_plugin_rc,
962        ) -> *mut ss_instance_t,
963    >,
964    pub close: ::std::option::Option<
965        unsafe extern "C-unwind" fn(s: *mut ss_plugin_t, h: *mut ss_instance_t),
966    >,
967    pub list_open_params: ::std::option::Option<
968        unsafe extern "C-unwind" fn(
969            s: *mut ss_plugin_t,
970            rc: *mut ss_plugin_rc,
971        ) -> *const ::std::os::raw::c_char,
972    >,
973    pub get_progress: ::std::option::Option<
974        unsafe extern "C-unwind" fn(
975            s: *mut ss_plugin_t,
976            h: *mut ss_instance_t,
977            progress_pct: *mut u32,
978        ) -> *const ::std::os::raw::c_char,
979    >,
980    pub event_to_string: ::std::option::Option<
981        unsafe extern "C-unwind" fn(
982            s: *mut ss_plugin_t,
983            evt: *const ss_plugin_event_input,
984        ) -> *const ::std::os::raw::c_char,
985    >,
986    pub next_batch: ::std::option::Option<
987        unsafe extern "C-unwind" fn(
988            s: *mut ss_plugin_t,
989            h: *mut ss_instance_t,
990            nevts: *mut u32,
991            evts: *mut *mut *mut ss_plugin_event,
992        ) -> ss_plugin_rc,
993    >,
994}
995#[allow(clippy::unnecessary_operation, clippy::identity_op)]
996const _: () = {
997    ["Size of plugin_api__bindgen_ty_1"]
998        [::std::mem::size_of::<plugin_api__bindgen_ty_1>() - 64usize];
999    ["Alignment of plugin_api__bindgen_ty_1"]
1000        [::std::mem::align_of::<plugin_api__bindgen_ty_1>() - 8usize];
1001    ["Offset of field: plugin_api__bindgen_ty_1::get_id"]
1002        [::std::mem::offset_of!(plugin_api__bindgen_ty_1, get_id) - 0usize];
1003    ["Offset of field: plugin_api__bindgen_ty_1::get_event_source"]
1004        [::std::mem::offset_of!(plugin_api__bindgen_ty_1, get_event_source) - 8usize];
1005    ["Offset of field: plugin_api__bindgen_ty_1::open"]
1006        [::std::mem::offset_of!(plugin_api__bindgen_ty_1, open) - 16usize];
1007    ["Offset of field: plugin_api__bindgen_ty_1::close"]
1008        [::std::mem::offset_of!(plugin_api__bindgen_ty_1, close) - 24usize];
1009    ["Offset of field: plugin_api__bindgen_ty_1::list_open_params"]
1010        [::std::mem::offset_of!(plugin_api__bindgen_ty_1, list_open_params) - 32usize];
1011    ["Offset of field: plugin_api__bindgen_ty_1::get_progress"]
1012        [::std::mem::offset_of!(plugin_api__bindgen_ty_1, get_progress) - 40usize];
1013    ["Offset of field: plugin_api__bindgen_ty_1::event_to_string"]
1014        [::std::mem::offset_of!(plugin_api__bindgen_ty_1, event_to_string) - 48usize];
1015    ["Offset of field: plugin_api__bindgen_ty_1::next_batch"]
1016        [::std::mem::offset_of!(plugin_api__bindgen_ty_1, next_batch) - 56usize];
1017};
1018#[repr(C)]
1019#[derive(Debug, Copy, Clone)]
1020pub struct plugin_api__bindgen_ty_2 {
1021    pub get_extract_event_types: ::std::option::Option<
1022        unsafe extern "C-unwind" fn(numtypes: *mut u32, s: *mut ss_plugin_t) -> *mut u16,
1023    >,
1024    pub get_extract_event_sources:
1025        ::std::option::Option<unsafe extern "C-unwind" fn() -> *const ::std::os::raw::c_char>,
1026    pub get_fields:
1027        ::std::option::Option<unsafe extern "C-unwind" fn() -> *const ::std::os::raw::c_char>,
1028    pub extract_fields: ::std::option::Option<
1029        unsafe extern "C-unwind" fn(
1030            s: *mut ss_plugin_t,
1031            evt: *const ss_plugin_event_input,
1032            in_: *const ss_plugin_field_extract_input,
1033        ) -> ss_plugin_rc,
1034    >,
1035}
1036#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1037const _: () = {
1038    ["Size of plugin_api__bindgen_ty_2"]
1039        [::std::mem::size_of::<plugin_api__bindgen_ty_2>() - 32usize];
1040    ["Alignment of plugin_api__bindgen_ty_2"]
1041        [::std::mem::align_of::<plugin_api__bindgen_ty_2>() - 8usize];
1042    ["Offset of field: plugin_api__bindgen_ty_2::get_extract_event_types"]
1043        [::std::mem::offset_of!(plugin_api__bindgen_ty_2, get_extract_event_types) - 0usize];
1044    ["Offset of field: plugin_api__bindgen_ty_2::get_extract_event_sources"]
1045        [::std::mem::offset_of!(plugin_api__bindgen_ty_2, get_extract_event_sources) - 8usize];
1046    ["Offset of field: plugin_api__bindgen_ty_2::get_fields"]
1047        [::std::mem::offset_of!(plugin_api__bindgen_ty_2, get_fields) - 16usize];
1048    ["Offset of field: plugin_api__bindgen_ty_2::extract_fields"]
1049        [::std::mem::offset_of!(plugin_api__bindgen_ty_2, extract_fields) - 24usize];
1050};
1051#[repr(C)]
1052#[derive(Debug, Copy, Clone)]
1053pub struct plugin_api__bindgen_ty_3 {
1054    pub get_parse_event_types: ::std::option::Option<
1055        unsafe extern "C-unwind" fn(numtypes: *mut u32, s: *mut ss_plugin_t) -> *mut u16,
1056    >,
1057    pub get_parse_event_sources:
1058        ::std::option::Option<unsafe extern "C-unwind" fn() -> *const ::std::os::raw::c_char>,
1059    pub parse_event: ::std::option::Option<
1060        unsafe extern "C-unwind" fn(
1061            s: *mut ss_plugin_t,
1062            evt: *const ss_plugin_event_input,
1063            in_: *const ss_plugin_event_parse_input,
1064        ) -> ss_plugin_rc,
1065    >,
1066}
1067#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1068const _: () = {
1069    ["Size of plugin_api__bindgen_ty_3"]
1070        [::std::mem::size_of::<plugin_api__bindgen_ty_3>() - 24usize];
1071    ["Alignment of plugin_api__bindgen_ty_3"]
1072        [::std::mem::align_of::<plugin_api__bindgen_ty_3>() - 8usize];
1073    ["Offset of field: plugin_api__bindgen_ty_3::get_parse_event_types"]
1074        [::std::mem::offset_of!(plugin_api__bindgen_ty_3, get_parse_event_types) - 0usize];
1075    ["Offset of field: plugin_api__bindgen_ty_3::get_parse_event_sources"]
1076        [::std::mem::offset_of!(plugin_api__bindgen_ty_3, get_parse_event_sources) - 8usize];
1077    ["Offset of field: plugin_api__bindgen_ty_3::parse_event"]
1078        [::std::mem::offset_of!(plugin_api__bindgen_ty_3, parse_event) - 16usize];
1079};
1080#[repr(C)]
1081#[derive(Debug, Copy, Clone)]
1082pub struct plugin_api__bindgen_ty_4 {
1083    pub get_async_event_sources:
1084        ::std::option::Option<unsafe extern "C-unwind" fn() -> *const ::std::os::raw::c_char>,
1085    pub get_async_events:
1086        ::std::option::Option<unsafe extern "C-unwind" fn() -> *const ::std::os::raw::c_char>,
1087    pub set_async_event_handler: ::std::option::Option<
1088        unsafe extern "C-unwind" fn(
1089            s: *mut ss_plugin_t,
1090            owner: *mut ss_plugin_owner_t,
1091            handler: ss_plugin_async_event_handler_t,
1092        ) -> ss_plugin_rc,
1093    >,
1094    pub dump_state: ::std::option::Option<
1095        unsafe extern "C-unwind" fn(
1096            s: *mut ss_plugin_t,
1097            owner: *mut ss_plugin_owner_t,
1098            handler: ss_plugin_async_event_handler_t,
1099        ) -> ss_plugin_rc,
1100    >,
1101}
1102#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1103const _: () = {
1104    ["Size of plugin_api__bindgen_ty_4"]
1105        [::std::mem::size_of::<plugin_api__bindgen_ty_4>() - 32usize];
1106    ["Alignment of plugin_api__bindgen_ty_4"]
1107        [::std::mem::align_of::<plugin_api__bindgen_ty_4>() - 8usize];
1108    ["Offset of field: plugin_api__bindgen_ty_4::get_async_event_sources"]
1109        [::std::mem::offset_of!(plugin_api__bindgen_ty_4, get_async_event_sources) - 0usize];
1110    ["Offset of field: plugin_api__bindgen_ty_4::get_async_events"]
1111        [::std::mem::offset_of!(plugin_api__bindgen_ty_4, get_async_events) - 8usize];
1112    ["Offset of field: plugin_api__bindgen_ty_4::set_async_event_handler"]
1113        [::std::mem::offset_of!(plugin_api__bindgen_ty_4, set_async_event_handler) - 16usize];
1114    ["Offset of field: plugin_api__bindgen_ty_4::dump_state"]
1115        [::std::mem::offset_of!(plugin_api__bindgen_ty_4, dump_state) - 24usize];
1116};
1117#[repr(C)]
1118#[derive(Debug, Copy, Clone)]
1119pub struct plugin_api__bindgen_ty_5 {
1120    pub capture_open: ::std::option::Option<
1121        unsafe extern "C-unwind" fn(
1122            s: *mut ss_plugin_t,
1123            i: *const ss_plugin_capture_listen_input,
1124        ) -> ss_plugin_rc,
1125    >,
1126    pub capture_close: ::std::option::Option<
1127        unsafe extern "C-unwind" fn(
1128            s: *mut ss_plugin_t,
1129            i: *const ss_plugin_capture_listen_input,
1130        ) -> ss_plugin_rc,
1131    >,
1132}
1133#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1134const _: () = {
1135    ["Size of plugin_api__bindgen_ty_5"]
1136        [::std::mem::size_of::<plugin_api__bindgen_ty_5>() - 16usize];
1137    ["Alignment of plugin_api__bindgen_ty_5"]
1138        [::std::mem::align_of::<plugin_api__bindgen_ty_5>() - 8usize];
1139    ["Offset of field: plugin_api__bindgen_ty_5::capture_open"]
1140        [::std::mem::offset_of!(plugin_api__bindgen_ty_5, capture_open) - 0usize];
1141    ["Offset of field: plugin_api__bindgen_ty_5::capture_close"]
1142        [::std::mem::offset_of!(plugin_api__bindgen_ty_5, capture_close) - 8usize];
1143};
1144#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1145const _: () = {
1146    ["Size of plugin_api"][::std::mem::size_of::<plugin_api>() - 264usize];
1147    ["Alignment of plugin_api"][::std::mem::align_of::<plugin_api>() - 8usize];
1148    ["Offset of field: plugin_api::get_required_api_version"]
1149        [::std::mem::offset_of!(plugin_api, get_required_api_version) - 0usize];
1150    ["Offset of field: plugin_api::get_init_schema"]
1151        [::std::mem::offset_of!(plugin_api, get_init_schema) - 8usize];
1152    ["Offset of field: plugin_api::init"][::std::mem::offset_of!(plugin_api, init) - 16usize];
1153    ["Offset of field: plugin_api::destroy"][::std::mem::offset_of!(plugin_api, destroy) - 24usize];
1154    ["Offset of field: plugin_api::get_last_error"]
1155        [::std::mem::offset_of!(plugin_api, get_last_error) - 32usize];
1156    ["Offset of field: plugin_api::get_name"]
1157        [::std::mem::offset_of!(plugin_api, get_name) - 40usize];
1158    ["Offset of field: plugin_api::get_description"]
1159        [::std::mem::offset_of!(plugin_api, get_description) - 48usize];
1160    ["Offset of field: plugin_api::get_contact"]
1161        [::std::mem::offset_of!(plugin_api, get_contact) - 56usize];
1162    ["Offset of field: plugin_api::get_version"]
1163        [::std::mem::offset_of!(plugin_api, get_version) - 64usize];
1164    ["Offset of field: plugin_api::set_config"]
1165        [::std::mem::offset_of!(plugin_api, set_config) - 224usize];
1166    ["Offset of field: plugin_api::get_metrics"]
1167        [::std::mem::offset_of!(plugin_api, get_metrics) - 232usize];
1168    ["Offset of field: plugin_api::get_required_event_schema_version"]
1169        [::std::mem::offset_of!(plugin_api, get_required_event_schema_version) - 256usize];
1170};