ort2_sys/
linux-x86_64.rs

1/* automatically generated by rust-bindgen 0.71.1 */
2
3pub const true_: u32 = 1;
4pub const false_: u32 = 0;
5pub const __bool_true_false_are_defined: u32 = 1;
6pub const _STDINT_H: u32 = 1;
7pub const _FEATURES_H: u32 = 1;
8pub const _DEFAULT_SOURCE: u32 = 1;
9pub const __GLIBC_USE_ISOC2X: u32 = 0;
10pub const __USE_ISOC11: u32 = 1;
11pub const __USE_ISOC99: u32 = 1;
12pub const __USE_ISOC95: u32 = 1;
13pub const __USE_POSIX_IMPLICITLY: u32 = 1;
14pub const _POSIX_SOURCE: u32 = 1;
15pub const _POSIX_C_SOURCE: u32 = 200809;
16pub const __USE_POSIX: u32 = 1;
17pub const __USE_POSIX2: u32 = 1;
18pub const __USE_POSIX199309: u32 = 1;
19pub const __USE_POSIX199506: u32 = 1;
20pub const __USE_XOPEN2K: u32 = 1;
21pub const __USE_XOPEN2K8: u32 = 1;
22pub const _ATFILE_SOURCE: u32 = 1;
23pub const __WORDSIZE: u32 = 64;
24pub const __WORDSIZE_TIME64_COMPAT32: u32 = 1;
25pub const __SYSCALL_WORDSIZE: u32 = 64;
26pub const __TIMESIZE: u32 = 64;
27pub const __USE_MISC: u32 = 1;
28pub const __USE_ATFILE: u32 = 1;
29pub const __USE_FORTIFY_LEVEL: u32 = 0;
30pub const __GLIBC_USE_DEPRECATED_GETS: u32 = 0;
31pub const __GLIBC_USE_DEPRECATED_SCANF: u32 = 0;
32pub const _STDC_PREDEF_H: u32 = 1;
33pub const __STDC_IEC_559__: u32 = 1;
34pub const __STDC_IEC_60559_BFP__: u32 = 201404;
35pub const __STDC_IEC_559_COMPLEX__: u32 = 1;
36pub const __STDC_IEC_60559_COMPLEX__: u32 = 201404;
37pub const __STDC_ISO_10646__: u32 = 201706;
38pub const __GNU_LIBRARY__: u32 = 6;
39pub const __GLIBC__: u32 = 2;
40pub const __GLIBC_MINOR__: u32 = 35;
41pub const _SYS_CDEFS_H: u32 = 1;
42pub const __glibc_c99_flexarr_available: u32 = 1;
43pub const __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI: u32 = 0;
44pub const __HAVE_GENERIC_SELECTION: u32 = 1;
45pub const __GLIBC_USE_LIB_EXT2: u32 = 0;
46pub const __GLIBC_USE_IEC_60559_BFP_EXT: u32 = 0;
47pub const __GLIBC_USE_IEC_60559_BFP_EXT_C2X: u32 = 0;
48pub const __GLIBC_USE_IEC_60559_EXT: u32 = 0;
49pub const __GLIBC_USE_IEC_60559_FUNCS_EXT: u32 = 0;
50pub const __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X: u32 = 0;
51pub const __GLIBC_USE_IEC_60559_TYPES_EXT: u32 = 0;
52pub const _BITS_TYPES_H: u32 = 1;
53pub const _BITS_TYPESIZES_H: u32 = 1;
54pub const __OFF_T_MATCHES_OFF64_T: u32 = 1;
55pub const __INO_T_MATCHES_INO64_T: u32 = 1;
56pub const __RLIM_T_MATCHES_RLIM64_T: u32 = 1;
57pub const __STATFS_MATCHES_STATFS64: u32 = 1;
58pub const __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64: u32 = 1;
59pub const __FD_SETSIZE: u32 = 1024;
60pub const _BITS_TIME64_H: u32 = 1;
61pub const _BITS_WCHAR_H: u32 = 1;
62pub const _BITS_STDINT_INTN_H: u32 = 1;
63pub const _BITS_STDINT_UINTN_H: u32 = 1;
64pub const INT8_MIN: i32 = -128;
65pub const INT16_MIN: i32 = -32768;
66pub const INT32_MIN: i32 = -2147483648;
67pub const INT8_MAX: u32 = 127;
68pub const INT16_MAX: u32 = 32767;
69pub const INT32_MAX: u32 = 2147483647;
70pub const UINT8_MAX: u32 = 255;
71pub const UINT16_MAX: u32 = 65535;
72pub const UINT32_MAX: u32 = 4294967295;
73pub const INT_LEAST8_MIN: i32 = -128;
74pub const INT_LEAST16_MIN: i32 = -32768;
75pub const INT_LEAST32_MIN: i32 = -2147483648;
76pub const INT_LEAST8_MAX: u32 = 127;
77pub const INT_LEAST16_MAX: u32 = 32767;
78pub const INT_LEAST32_MAX: u32 = 2147483647;
79pub const UINT_LEAST8_MAX: u32 = 255;
80pub const UINT_LEAST16_MAX: u32 = 65535;
81pub const UINT_LEAST32_MAX: u32 = 4294967295;
82pub const INT_FAST8_MIN: i32 = -128;
83pub const INT_FAST16_MIN: i64 = -9223372036854775808;
84pub const INT_FAST32_MIN: i64 = -9223372036854775808;
85pub const INT_FAST8_MAX: u32 = 127;
86pub const INT_FAST16_MAX: u64 = 9223372036854775807;
87pub const INT_FAST32_MAX: u64 = 9223372036854775807;
88pub const UINT_FAST8_MAX: u32 = 255;
89pub const UINT_FAST16_MAX: i32 = -1;
90pub const UINT_FAST32_MAX: i32 = -1;
91pub const INTPTR_MIN: i64 = -9223372036854775808;
92pub const INTPTR_MAX: u64 = 9223372036854775807;
93pub const UINTPTR_MAX: i32 = -1;
94pub const PTRDIFF_MIN: i64 = -9223372036854775808;
95pub const PTRDIFF_MAX: u64 = 9223372036854775807;
96pub const SIG_ATOMIC_MIN: i32 = -2147483648;
97pub const SIG_ATOMIC_MAX: u32 = 2147483647;
98pub const SIZE_MAX: i32 = -1;
99pub const WINT_MIN: u32 = 0;
100pub const WINT_MAX: u32 = 4294967295;
101pub const _STDLIB_H: u32 = 1;
102pub const WNOHANG: u32 = 1;
103pub const WUNTRACED: u32 = 2;
104pub const WSTOPPED: u32 = 2;
105pub const WEXITED: u32 = 4;
106pub const WCONTINUED: u32 = 8;
107pub const WNOWAIT: u32 = 16777216;
108pub const __WNOTHREAD: u32 = 536870912;
109pub const __WALL: u32 = 1073741824;
110pub const __WCLONE: u32 = 2147483648;
111pub const __W_CONTINUED: u32 = 65535;
112pub const __WCOREFLAG: u32 = 128;
113pub const __HAVE_FLOAT128: u32 = 0;
114pub const __HAVE_DISTINCT_FLOAT128: u32 = 0;
115pub const __HAVE_FLOAT64X: u32 = 1;
116pub const __HAVE_FLOAT64X_LONG_DOUBLE: u32 = 1;
117pub const __HAVE_FLOAT16: u32 = 0;
118pub const __HAVE_FLOAT32: u32 = 1;
119pub const __HAVE_FLOAT64: u32 = 1;
120pub const __HAVE_FLOAT32X: u32 = 1;
121pub const __HAVE_FLOAT128X: u32 = 0;
122pub const __HAVE_DISTINCT_FLOAT16: u32 = 0;
123pub const __HAVE_DISTINCT_FLOAT32: u32 = 0;
124pub const __HAVE_DISTINCT_FLOAT64: u32 = 0;
125pub const __HAVE_DISTINCT_FLOAT32X: u32 = 0;
126pub const __HAVE_DISTINCT_FLOAT64X: u32 = 0;
127pub const __HAVE_DISTINCT_FLOAT128X: u32 = 0;
128pub const __HAVE_FLOATN_NOT_TYPEDEF: u32 = 0;
129pub const __ldiv_t_defined: u32 = 1;
130pub const __lldiv_t_defined: u32 = 1;
131pub const RAND_MAX: u32 = 2147483647;
132pub const EXIT_FAILURE: u32 = 1;
133pub const EXIT_SUCCESS: u32 = 0;
134pub const _SYS_TYPES_H: u32 = 1;
135pub const __clock_t_defined: u32 = 1;
136pub const __clockid_t_defined: u32 = 1;
137pub const __time_t_defined: u32 = 1;
138pub const __timer_t_defined: u32 = 1;
139pub const __BIT_TYPES_DEFINED__: u32 = 1;
140pub const _ENDIAN_H: u32 = 1;
141pub const _BITS_ENDIAN_H: u32 = 1;
142pub const __LITTLE_ENDIAN: u32 = 1234;
143pub const __BIG_ENDIAN: u32 = 4321;
144pub const __PDP_ENDIAN: u32 = 3412;
145pub const _BITS_ENDIANNESS_H: u32 = 1;
146pub const __BYTE_ORDER: u32 = 1234;
147pub const __FLOAT_WORD_ORDER: u32 = 1234;
148pub const LITTLE_ENDIAN: u32 = 1234;
149pub const BIG_ENDIAN: u32 = 4321;
150pub const PDP_ENDIAN: u32 = 3412;
151pub const BYTE_ORDER: u32 = 1234;
152pub const _BITS_BYTESWAP_H: u32 = 1;
153pub const _BITS_UINTN_IDENTITY_H: u32 = 1;
154pub const _SYS_SELECT_H: u32 = 1;
155pub const __sigset_t_defined: u32 = 1;
156pub const __timeval_defined: u32 = 1;
157pub const _STRUCT_TIMESPEC: u32 = 1;
158pub const FD_SETSIZE: u32 = 1024;
159pub const _BITS_PTHREADTYPES_COMMON_H: u32 = 1;
160pub const _THREAD_SHARED_TYPES_H: u32 = 1;
161pub const _BITS_PTHREADTYPES_ARCH_H: u32 = 1;
162pub const __SIZEOF_PTHREAD_MUTEX_T: u32 = 40;
163pub const __SIZEOF_PTHREAD_ATTR_T: u32 = 56;
164pub const __SIZEOF_PTHREAD_RWLOCK_T: u32 = 56;
165pub const __SIZEOF_PTHREAD_BARRIER_T: u32 = 32;
166pub const __SIZEOF_PTHREAD_MUTEXATTR_T: u32 = 4;
167pub const __SIZEOF_PTHREAD_COND_T: u32 = 48;
168pub const __SIZEOF_PTHREAD_CONDATTR_T: u32 = 4;
169pub const __SIZEOF_PTHREAD_RWLOCKATTR_T: u32 = 8;
170pub const __SIZEOF_PTHREAD_BARRIERATTR_T: u32 = 4;
171pub const _THREAD_MUTEX_INTERNAL_H: u32 = 1;
172pub const __PTHREAD_MUTEX_HAVE_PREV: u32 = 1;
173pub const __have_pthread_attr_t: u32 = 1;
174pub const _ALLOCA_H: u32 = 1;
175pub const _STRING_H: u32 = 1;
176pub const _BITS_TYPES_LOCALE_T_H: u32 = 1;
177pub const _BITS_TYPES___LOCALE_T_H: u32 = 1;
178pub const _STRINGS_H: u32 = 1;
179pub const ORT_API_VERSION: u32 = 20;
180pub type __u_char = ::std::os::raw::c_uchar;
181pub type __u_short = ::std::os::raw::c_ushort;
182pub type __u_int = ::std::os::raw::c_uint;
183pub type __u_long = ::std::os::raw::c_ulong;
184pub type __int8_t = ::std::os::raw::c_schar;
185pub type __uint8_t = ::std::os::raw::c_uchar;
186pub type __int16_t = ::std::os::raw::c_short;
187pub type __uint16_t = ::std::os::raw::c_ushort;
188pub type __int32_t = ::std::os::raw::c_int;
189pub type __uint32_t = ::std::os::raw::c_uint;
190pub type __int64_t = ::std::os::raw::c_long;
191pub type __uint64_t = ::std::os::raw::c_ulong;
192pub type __int_least8_t = __int8_t;
193pub type __uint_least8_t = __uint8_t;
194pub type __int_least16_t = __int16_t;
195pub type __uint_least16_t = __uint16_t;
196pub type __int_least32_t = __int32_t;
197pub type __uint_least32_t = __uint32_t;
198pub type __int_least64_t = __int64_t;
199pub type __uint_least64_t = __uint64_t;
200pub type __quad_t = ::std::os::raw::c_long;
201pub type __u_quad_t = ::std::os::raw::c_ulong;
202pub type __intmax_t = ::std::os::raw::c_long;
203pub type __uintmax_t = ::std::os::raw::c_ulong;
204pub type __dev_t = ::std::os::raw::c_ulong;
205pub type __uid_t = ::std::os::raw::c_uint;
206pub type __gid_t = ::std::os::raw::c_uint;
207pub type __ino_t = ::std::os::raw::c_ulong;
208pub type __ino64_t = ::std::os::raw::c_ulong;
209pub type __mode_t = ::std::os::raw::c_uint;
210pub type __nlink_t = ::std::os::raw::c_ulong;
211pub type __off_t = ::std::os::raw::c_long;
212pub type __off64_t = ::std::os::raw::c_long;
213pub type __pid_t = ::std::os::raw::c_int;
214#[repr(C)]
215#[derive(Debug, Copy, Clone)]
216pub struct __fsid_t {
217    pub __val: [::std::os::raw::c_int; 2usize],
218}
219#[allow(clippy::unnecessary_operation, clippy::identity_op)]
220const _: () = {
221    ["Size of __fsid_t"][::std::mem::size_of::<__fsid_t>() - 8usize];
222    ["Alignment of __fsid_t"][::std::mem::align_of::<__fsid_t>() - 4usize];
223    ["Offset of field: __fsid_t::__val"][::std::mem::offset_of!(__fsid_t, __val) - 0usize];
224};
225pub type __clock_t = ::std::os::raw::c_long;
226pub type __rlim_t = ::std::os::raw::c_ulong;
227pub type __rlim64_t = ::std::os::raw::c_ulong;
228pub type __id_t = ::std::os::raw::c_uint;
229pub type __time_t = ::std::os::raw::c_long;
230pub type __useconds_t = ::std::os::raw::c_uint;
231pub type __suseconds_t = ::std::os::raw::c_long;
232pub type __suseconds64_t = ::std::os::raw::c_long;
233pub type __daddr_t = ::std::os::raw::c_int;
234pub type __key_t = ::std::os::raw::c_int;
235pub type __clockid_t = ::std::os::raw::c_int;
236pub type __timer_t = *mut ::std::os::raw::c_void;
237pub type __blksize_t = ::std::os::raw::c_long;
238pub type __blkcnt_t = ::std::os::raw::c_long;
239pub type __blkcnt64_t = ::std::os::raw::c_long;
240pub type __fsblkcnt_t = ::std::os::raw::c_ulong;
241pub type __fsblkcnt64_t = ::std::os::raw::c_ulong;
242pub type __fsfilcnt_t = ::std::os::raw::c_ulong;
243pub type __fsfilcnt64_t = ::std::os::raw::c_ulong;
244pub type __fsword_t = ::std::os::raw::c_long;
245pub type __ssize_t = ::std::os::raw::c_long;
246pub type __syscall_slong_t = ::std::os::raw::c_long;
247pub type __syscall_ulong_t = ::std::os::raw::c_ulong;
248pub type __loff_t = __off64_t;
249pub type __caddr_t = *mut ::std::os::raw::c_char;
250pub type __intptr_t = ::std::os::raw::c_long;
251pub type __socklen_t = ::std::os::raw::c_uint;
252pub type __sig_atomic_t = ::std::os::raw::c_int;
253pub type int_least8_t = __int_least8_t;
254pub type int_least16_t = __int_least16_t;
255pub type int_least32_t = __int_least32_t;
256pub type int_least64_t = __int_least64_t;
257pub type uint_least8_t = __uint_least8_t;
258pub type uint_least16_t = __uint_least16_t;
259pub type uint_least32_t = __uint_least32_t;
260pub type uint_least64_t = __uint_least64_t;
261pub type int_fast8_t = ::std::os::raw::c_schar;
262pub type int_fast16_t = ::std::os::raw::c_long;
263pub type int_fast32_t = ::std::os::raw::c_long;
264pub type int_fast64_t = ::std::os::raw::c_long;
265pub type uint_fast8_t = ::std::os::raw::c_uchar;
266pub type uint_fast16_t = ::std::os::raw::c_ulong;
267pub type uint_fast32_t = ::std::os::raw::c_ulong;
268pub type uint_fast64_t = ::std::os::raw::c_ulong;
269pub type intmax_t = __intmax_t;
270pub type uintmax_t = __uintmax_t;
271pub type wchar_t = ::std::os::raw::c_int;
272pub type _Float32 = f32;
273pub type _Float64 = f64;
274pub type _Float32x = f64;
275pub type _Float64x = u128;
276#[repr(C)]
277#[derive(Debug, Copy, Clone)]
278pub struct div_t {
279    pub quot: ::std::os::raw::c_int,
280    pub rem: ::std::os::raw::c_int,
281}
282#[allow(clippy::unnecessary_operation, clippy::identity_op)]
283const _: () = {
284    ["Size of div_t"][::std::mem::size_of::<div_t>() - 8usize];
285    ["Alignment of div_t"][::std::mem::align_of::<div_t>() - 4usize];
286    ["Offset of field: div_t::quot"][::std::mem::offset_of!(div_t, quot) - 0usize];
287    ["Offset of field: div_t::rem"][::std::mem::offset_of!(div_t, rem) - 4usize];
288};
289#[repr(C)]
290#[derive(Debug, Copy, Clone)]
291pub struct ldiv_t {
292    pub quot: ::std::os::raw::c_long,
293    pub rem: ::std::os::raw::c_long,
294}
295#[allow(clippy::unnecessary_operation, clippy::identity_op)]
296const _: () = {
297    ["Size of ldiv_t"][::std::mem::size_of::<ldiv_t>() - 16usize];
298    ["Alignment of ldiv_t"][::std::mem::align_of::<ldiv_t>() - 8usize];
299    ["Offset of field: ldiv_t::quot"][::std::mem::offset_of!(ldiv_t, quot) - 0usize];
300    ["Offset of field: ldiv_t::rem"][::std::mem::offset_of!(ldiv_t, rem) - 8usize];
301};
302#[repr(C)]
303#[derive(Debug, Copy, Clone)]
304pub struct lldiv_t {
305    pub quot: ::std::os::raw::c_longlong,
306    pub rem: ::std::os::raw::c_longlong,
307}
308#[allow(clippy::unnecessary_operation, clippy::identity_op)]
309const _: () = {
310    ["Size of lldiv_t"][::std::mem::size_of::<lldiv_t>() - 16usize];
311    ["Alignment of lldiv_t"][::std::mem::align_of::<lldiv_t>() - 8usize];
312    ["Offset of field: lldiv_t::quot"][::std::mem::offset_of!(lldiv_t, quot) - 0usize];
313    ["Offset of field: lldiv_t::rem"][::std::mem::offset_of!(lldiv_t, rem) - 8usize];
314};
315unsafe extern "C" {
316    pub fn __ctype_get_mb_cur_max() -> usize;
317}
318unsafe extern "C" {
319    pub fn atof(__nptr: *const ::std::os::raw::c_char) -> f64;
320}
321unsafe extern "C" {
322    pub fn atoi(__nptr: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
323}
324unsafe extern "C" {
325    pub fn atol(__nptr: *const ::std::os::raw::c_char) -> ::std::os::raw::c_long;
326}
327unsafe extern "C" {
328    pub fn atoll(__nptr: *const ::std::os::raw::c_char) -> ::std::os::raw::c_longlong;
329}
330unsafe extern "C" {
331    pub fn strtod(
332        __nptr: *const ::std::os::raw::c_char,
333        __endptr: *mut *mut ::std::os::raw::c_char,
334    ) -> f64;
335}
336unsafe extern "C" {
337    pub fn strtof(
338        __nptr: *const ::std::os::raw::c_char,
339        __endptr: *mut *mut ::std::os::raw::c_char,
340    ) -> f32;
341}
342unsafe extern "C" {
343    pub fn strtold(
344        __nptr: *const ::std::os::raw::c_char,
345        __endptr: *mut *mut ::std::os::raw::c_char,
346    ) -> u128;
347}
348unsafe extern "C" {
349    pub fn strtol(
350        __nptr: *const ::std::os::raw::c_char,
351        __endptr: *mut *mut ::std::os::raw::c_char,
352        __base: ::std::os::raw::c_int,
353    ) -> ::std::os::raw::c_long;
354}
355unsafe extern "C" {
356    pub fn strtoul(
357        __nptr: *const ::std::os::raw::c_char,
358        __endptr: *mut *mut ::std::os::raw::c_char,
359        __base: ::std::os::raw::c_int,
360    ) -> ::std::os::raw::c_ulong;
361}
362unsafe extern "C" {
363    pub fn strtoq(
364        __nptr: *const ::std::os::raw::c_char,
365        __endptr: *mut *mut ::std::os::raw::c_char,
366        __base: ::std::os::raw::c_int,
367    ) -> ::std::os::raw::c_longlong;
368}
369unsafe extern "C" {
370    pub fn strtouq(
371        __nptr: *const ::std::os::raw::c_char,
372        __endptr: *mut *mut ::std::os::raw::c_char,
373        __base: ::std::os::raw::c_int,
374    ) -> ::std::os::raw::c_ulonglong;
375}
376unsafe extern "C" {
377    pub fn strtoll(
378        __nptr: *const ::std::os::raw::c_char,
379        __endptr: *mut *mut ::std::os::raw::c_char,
380        __base: ::std::os::raw::c_int,
381    ) -> ::std::os::raw::c_longlong;
382}
383unsafe extern "C" {
384    pub fn strtoull(
385        __nptr: *const ::std::os::raw::c_char,
386        __endptr: *mut *mut ::std::os::raw::c_char,
387        __base: ::std::os::raw::c_int,
388    ) -> ::std::os::raw::c_ulonglong;
389}
390unsafe extern "C" {
391    pub fn l64a(__n: ::std::os::raw::c_long) -> *mut ::std::os::raw::c_char;
392}
393unsafe extern "C" {
394    pub fn a64l(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_long;
395}
396pub type u_char = __u_char;
397pub type u_short = __u_short;
398pub type u_int = __u_int;
399pub type u_long = __u_long;
400pub type quad_t = __quad_t;
401pub type u_quad_t = __u_quad_t;
402pub type fsid_t = __fsid_t;
403pub type loff_t = __loff_t;
404pub type ino_t = __ino_t;
405pub type dev_t = __dev_t;
406pub type gid_t = __gid_t;
407pub type mode_t = __mode_t;
408pub type nlink_t = __nlink_t;
409pub type uid_t = __uid_t;
410pub type off_t = __off_t;
411pub type pid_t = __pid_t;
412pub type id_t = __id_t;
413pub type daddr_t = __daddr_t;
414pub type caddr_t = __caddr_t;
415pub type key_t = __key_t;
416pub type clock_t = __clock_t;
417pub type clockid_t = __clockid_t;
418pub type time_t = __time_t;
419pub type timer_t = __timer_t;
420pub type ulong = ::std::os::raw::c_ulong;
421pub type ushort = ::std::os::raw::c_ushort;
422pub type uint = ::std::os::raw::c_uint;
423pub type u_int8_t = __uint8_t;
424pub type u_int16_t = __uint16_t;
425pub type u_int32_t = __uint32_t;
426pub type u_int64_t = __uint64_t;
427pub type register_t = ::std::os::raw::c_long;
428#[repr(C)]
429#[derive(Debug, Copy, Clone)]
430pub struct __sigset_t {
431    pub __val: [::std::os::raw::c_ulong; 16usize],
432}
433#[allow(clippy::unnecessary_operation, clippy::identity_op)]
434const _: () = {
435    ["Size of __sigset_t"][::std::mem::size_of::<__sigset_t>() - 128usize];
436    ["Alignment of __sigset_t"][::std::mem::align_of::<__sigset_t>() - 8usize];
437    ["Offset of field: __sigset_t::__val"][::std::mem::offset_of!(__sigset_t, __val) - 0usize];
438};
439pub type sigset_t = __sigset_t;
440#[repr(C)]
441#[derive(Debug, Copy, Clone)]
442pub struct timeval {
443    pub tv_sec: __time_t,
444    pub tv_usec: __suseconds_t,
445}
446#[allow(clippy::unnecessary_operation, clippy::identity_op)]
447const _: () = {
448    ["Size of timeval"][::std::mem::size_of::<timeval>() - 16usize];
449    ["Alignment of timeval"][::std::mem::align_of::<timeval>() - 8usize];
450    ["Offset of field: timeval::tv_sec"][::std::mem::offset_of!(timeval, tv_sec) - 0usize];
451    ["Offset of field: timeval::tv_usec"][::std::mem::offset_of!(timeval, tv_usec) - 8usize];
452};
453#[repr(C)]
454#[derive(Debug, Copy, Clone)]
455pub struct timespec {
456    pub tv_sec: __time_t,
457    pub tv_nsec: __syscall_slong_t,
458}
459#[allow(clippy::unnecessary_operation, clippy::identity_op)]
460const _: () = {
461    ["Size of timespec"][::std::mem::size_of::<timespec>() - 16usize];
462    ["Alignment of timespec"][::std::mem::align_of::<timespec>() - 8usize];
463    ["Offset of field: timespec::tv_sec"][::std::mem::offset_of!(timespec, tv_sec) - 0usize];
464    ["Offset of field: timespec::tv_nsec"][::std::mem::offset_of!(timespec, tv_nsec) - 8usize];
465};
466pub type suseconds_t = __suseconds_t;
467pub type __fd_mask = ::std::os::raw::c_long;
468#[repr(C)]
469#[derive(Debug, Copy, Clone)]
470pub struct fd_set {
471    pub __fds_bits: [__fd_mask; 16usize],
472}
473#[allow(clippy::unnecessary_operation, clippy::identity_op)]
474const _: () = {
475    ["Size of fd_set"][::std::mem::size_of::<fd_set>() - 128usize];
476    ["Alignment of fd_set"][::std::mem::align_of::<fd_set>() - 8usize];
477    ["Offset of field: fd_set::__fds_bits"][::std::mem::offset_of!(fd_set, __fds_bits) - 0usize];
478};
479pub type fd_mask = __fd_mask;
480unsafe extern "C" {
481    pub fn select(
482        __nfds: ::std::os::raw::c_int,
483        __readfds: *mut fd_set,
484        __writefds: *mut fd_set,
485        __exceptfds: *mut fd_set,
486        __timeout: *mut timeval,
487    ) -> ::std::os::raw::c_int;
488}
489unsafe extern "C" {
490    pub fn pselect(
491        __nfds: ::std::os::raw::c_int,
492        __readfds: *mut fd_set,
493        __writefds: *mut fd_set,
494        __exceptfds: *mut fd_set,
495        __timeout: *const timespec,
496        __sigmask: *const __sigset_t,
497    ) -> ::std::os::raw::c_int;
498}
499pub type blksize_t = __blksize_t;
500pub type blkcnt_t = __blkcnt_t;
501pub type fsblkcnt_t = __fsblkcnt_t;
502pub type fsfilcnt_t = __fsfilcnt_t;
503#[repr(C)]
504#[derive(Copy, Clone)]
505pub union __atomic_wide_counter {
506    pub __value64: ::std::os::raw::c_ulonglong,
507    pub __value32: __atomic_wide_counter__bindgen_ty_1,
508}
509#[repr(C)]
510#[derive(Debug, Copy, Clone)]
511pub struct __atomic_wide_counter__bindgen_ty_1 {
512    pub __low: ::std::os::raw::c_uint,
513    pub __high: ::std::os::raw::c_uint,
514}
515#[allow(clippy::unnecessary_operation, clippy::identity_op)]
516const _: () = {
517    ["Size of __atomic_wide_counter__bindgen_ty_1"]
518        [::std::mem::size_of::<__atomic_wide_counter__bindgen_ty_1>() - 8usize];
519    ["Alignment of __atomic_wide_counter__bindgen_ty_1"]
520        [::std::mem::align_of::<__atomic_wide_counter__bindgen_ty_1>() - 4usize];
521    ["Offset of field: __atomic_wide_counter__bindgen_ty_1::__low"]
522        [::std::mem::offset_of!(__atomic_wide_counter__bindgen_ty_1, __low) - 0usize];
523    ["Offset of field: __atomic_wide_counter__bindgen_ty_1::__high"]
524        [::std::mem::offset_of!(__atomic_wide_counter__bindgen_ty_1, __high) - 4usize];
525};
526#[allow(clippy::unnecessary_operation, clippy::identity_op)]
527const _: () = {
528    ["Size of __atomic_wide_counter"][::std::mem::size_of::<__atomic_wide_counter>() - 8usize];
529    ["Alignment of __atomic_wide_counter"]
530        [::std::mem::align_of::<__atomic_wide_counter>() - 8usize];
531    ["Offset of field: __atomic_wide_counter::__value64"]
532        [::std::mem::offset_of!(__atomic_wide_counter, __value64) - 0usize];
533    ["Offset of field: __atomic_wide_counter::__value32"]
534        [::std::mem::offset_of!(__atomic_wide_counter, __value32) - 0usize];
535};
536#[repr(C)]
537#[derive(Debug, Copy, Clone)]
538pub struct __pthread_internal_list {
539    pub __prev: *mut __pthread_internal_list,
540    pub __next: *mut __pthread_internal_list,
541}
542#[allow(clippy::unnecessary_operation, clippy::identity_op)]
543const _: () = {
544    ["Size of __pthread_internal_list"][::std::mem::size_of::<__pthread_internal_list>() - 16usize];
545    ["Alignment of __pthread_internal_list"]
546        [::std::mem::align_of::<__pthread_internal_list>() - 8usize];
547    ["Offset of field: __pthread_internal_list::__prev"]
548        [::std::mem::offset_of!(__pthread_internal_list, __prev) - 0usize];
549    ["Offset of field: __pthread_internal_list::__next"]
550        [::std::mem::offset_of!(__pthread_internal_list, __next) - 8usize];
551};
552pub type __pthread_list_t = __pthread_internal_list;
553#[repr(C)]
554#[derive(Debug, Copy, Clone)]
555pub struct __pthread_internal_slist {
556    pub __next: *mut __pthread_internal_slist,
557}
558#[allow(clippy::unnecessary_operation, clippy::identity_op)]
559const _: () = {
560    ["Size of __pthread_internal_slist"]
561        [::std::mem::size_of::<__pthread_internal_slist>() - 8usize];
562    ["Alignment of __pthread_internal_slist"]
563        [::std::mem::align_of::<__pthread_internal_slist>() - 8usize];
564    ["Offset of field: __pthread_internal_slist::__next"]
565        [::std::mem::offset_of!(__pthread_internal_slist, __next) - 0usize];
566};
567pub type __pthread_slist_t = __pthread_internal_slist;
568#[repr(C)]
569#[derive(Debug, Copy, Clone)]
570pub struct __pthread_mutex_s {
571    pub __lock: ::std::os::raw::c_int,
572    pub __count: ::std::os::raw::c_uint,
573    pub __owner: ::std::os::raw::c_int,
574    pub __nusers: ::std::os::raw::c_uint,
575    pub __kind: ::std::os::raw::c_int,
576    pub __spins: ::std::os::raw::c_short,
577    pub __elision: ::std::os::raw::c_short,
578    pub __list: __pthread_list_t,
579}
580#[allow(clippy::unnecessary_operation, clippy::identity_op)]
581const _: () = {
582    ["Size of __pthread_mutex_s"][::std::mem::size_of::<__pthread_mutex_s>() - 40usize];
583    ["Alignment of __pthread_mutex_s"][::std::mem::align_of::<__pthread_mutex_s>() - 8usize];
584    ["Offset of field: __pthread_mutex_s::__lock"]
585        [::std::mem::offset_of!(__pthread_mutex_s, __lock) - 0usize];
586    ["Offset of field: __pthread_mutex_s::__count"]
587        [::std::mem::offset_of!(__pthread_mutex_s, __count) - 4usize];
588    ["Offset of field: __pthread_mutex_s::__owner"]
589        [::std::mem::offset_of!(__pthread_mutex_s, __owner) - 8usize];
590    ["Offset of field: __pthread_mutex_s::__nusers"]
591        [::std::mem::offset_of!(__pthread_mutex_s, __nusers) - 12usize];
592    ["Offset of field: __pthread_mutex_s::__kind"]
593        [::std::mem::offset_of!(__pthread_mutex_s, __kind) - 16usize];
594    ["Offset of field: __pthread_mutex_s::__spins"]
595        [::std::mem::offset_of!(__pthread_mutex_s, __spins) - 20usize];
596    ["Offset of field: __pthread_mutex_s::__elision"]
597        [::std::mem::offset_of!(__pthread_mutex_s, __elision) - 22usize];
598    ["Offset of field: __pthread_mutex_s::__list"]
599        [::std::mem::offset_of!(__pthread_mutex_s, __list) - 24usize];
600};
601#[repr(C)]
602#[derive(Debug, Copy, Clone)]
603pub struct __pthread_rwlock_arch_t {
604    pub __readers: ::std::os::raw::c_uint,
605    pub __writers: ::std::os::raw::c_uint,
606    pub __wrphase_futex: ::std::os::raw::c_uint,
607    pub __writers_futex: ::std::os::raw::c_uint,
608    pub __pad3: ::std::os::raw::c_uint,
609    pub __pad4: ::std::os::raw::c_uint,
610    pub __cur_writer: ::std::os::raw::c_int,
611    pub __shared: ::std::os::raw::c_int,
612    pub __rwelision: ::std::os::raw::c_schar,
613    pub __pad1: [::std::os::raw::c_uchar; 7usize],
614    pub __pad2: ::std::os::raw::c_ulong,
615    pub __flags: ::std::os::raw::c_uint,
616}
617#[allow(clippy::unnecessary_operation, clippy::identity_op)]
618const _: () = {
619    ["Size of __pthread_rwlock_arch_t"][::std::mem::size_of::<__pthread_rwlock_arch_t>() - 56usize];
620    ["Alignment of __pthread_rwlock_arch_t"]
621        [::std::mem::align_of::<__pthread_rwlock_arch_t>() - 8usize];
622    ["Offset of field: __pthread_rwlock_arch_t::__readers"]
623        [::std::mem::offset_of!(__pthread_rwlock_arch_t, __readers) - 0usize];
624    ["Offset of field: __pthread_rwlock_arch_t::__writers"]
625        [::std::mem::offset_of!(__pthread_rwlock_arch_t, __writers) - 4usize];
626    ["Offset of field: __pthread_rwlock_arch_t::__wrphase_futex"]
627        [::std::mem::offset_of!(__pthread_rwlock_arch_t, __wrphase_futex) - 8usize];
628    ["Offset of field: __pthread_rwlock_arch_t::__writers_futex"]
629        [::std::mem::offset_of!(__pthread_rwlock_arch_t, __writers_futex) - 12usize];
630    ["Offset of field: __pthread_rwlock_arch_t::__pad3"]
631        [::std::mem::offset_of!(__pthread_rwlock_arch_t, __pad3) - 16usize];
632    ["Offset of field: __pthread_rwlock_arch_t::__pad4"]
633        [::std::mem::offset_of!(__pthread_rwlock_arch_t, __pad4) - 20usize];
634    ["Offset of field: __pthread_rwlock_arch_t::__cur_writer"]
635        [::std::mem::offset_of!(__pthread_rwlock_arch_t, __cur_writer) - 24usize];
636    ["Offset of field: __pthread_rwlock_arch_t::__shared"]
637        [::std::mem::offset_of!(__pthread_rwlock_arch_t, __shared) - 28usize];
638    ["Offset of field: __pthread_rwlock_arch_t::__rwelision"]
639        [::std::mem::offset_of!(__pthread_rwlock_arch_t, __rwelision) - 32usize];
640    ["Offset of field: __pthread_rwlock_arch_t::__pad1"]
641        [::std::mem::offset_of!(__pthread_rwlock_arch_t, __pad1) - 33usize];
642    ["Offset of field: __pthread_rwlock_arch_t::__pad2"]
643        [::std::mem::offset_of!(__pthread_rwlock_arch_t, __pad2) - 40usize];
644    ["Offset of field: __pthread_rwlock_arch_t::__flags"]
645        [::std::mem::offset_of!(__pthread_rwlock_arch_t, __flags) - 48usize];
646};
647#[repr(C)]
648#[derive(Copy, Clone)]
649pub struct __pthread_cond_s {
650    pub __wseq: __atomic_wide_counter,
651    pub __g1_start: __atomic_wide_counter,
652    pub __g_refs: [::std::os::raw::c_uint; 2usize],
653    pub __g_size: [::std::os::raw::c_uint; 2usize],
654    pub __g1_orig_size: ::std::os::raw::c_uint,
655    pub __wrefs: ::std::os::raw::c_uint,
656    pub __g_signals: [::std::os::raw::c_uint; 2usize],
657}
658#[allow(clippy::unnecessary_operation, clippy::identity_op)]
659const _: () = {
660    ["Size of __pthread_cond_s"][::std::mem::size_of::<__pthread_cond_s>() - 48usize];
661    ["Alignment of __pthread_cond_s"][::std::mem::align_of::<__pthread_cond_s>() - 8usize];
662    ["Offset of field: __pthread_cond_s::__wseq"]
663        [::std::mem::offset_of!(__pthread_cond_s, __wseq) - 0usize];
664    ["Offset of field: __pthread_cond_s::__g1_start"]
665        [::std::mem::offset_of!(__pthread_cond_s, __g1_start) - 8usize];
666    ["Offset of field: __pthread_cond_s::__g_refs"]
667        [::std::mem::offset_of!(__pthread_cond_s, __g_refs) - 16usize];
668    ["Offset of field: __pthread_cond_s::__g_size"]
669        [::std::mem::offset_of!(__pthread_cond_s, __g_size) - 24usize];
670    ["Offset of field: __pthread_cond_s::__g1_orig_size"]
671        [::std::mem::offset_of!(__pthread_cond_s, __g1_orig_size) - 32usize];
672    ["Offset of field: __pthread_cond_s::__wrefs"]
673        [::std::mem::offset_of!(__pthread_cond_s, __wrefs) - 36usize];
674    ["Offset of field: __pthread_cond_s::__g_signals"]
675        [::std::mem::offset_of!(__pthread_cond_s, __g_signals) - 40usize];
676};
677pub type __tss_t = ::std::os::raw::c_uint;
678pub type __thrd_t = ::std::os::raw::c_ulong;
679#[repr(C)]
680#[derive(Debug, Copy, Clone)]
681pub struct __once_flag {
682    pub __data: ::std::os::raw::c_int,
683}
684#[allow(clippy::unnecessary_operation, clippy::identity_op)]
685const _: () = {
686    ["Size of __once_flag"][::std::mem::size_of::<__once_flag>() - 4usize];
687    ["Alignment of __once_flag"][::std::mem::align_of::<__once_flag>() - 4usize];
688    ["Offset of field: __once_flag::__data"][::std::mem::offset_of!(__once_flag, __data) - 0usize];
689};
690pub type pthread_t = ::std::os::raw::c_ulong;
691#[repr(C)]
692#[derive(Copy, Clone)]
693pub union pthread_mutexattr_t {
694    pub __size: [::std::os::raw::c_char; 4usize],
695    pub __align: ::std::os::raw::c_int,
696}
697#[allow(clippy::unnecessary_operation, clippy::identity_op)]
698const _: () = {
699    ["Size of pthread_mutexattr_t"][::std::mem::size_of::<pthread_mutexattr_t>() - 4usize];
700    ["Alignment of pthread_mutexattr_t"][::std::mem::align_of::<pthread_mutexattr_t>() - 4usize];
701    ["Offset of field: pthread_mutexattr_t::__size"]
702        [::std::mem::offset_of!(pthread_mutexattr_t, __size) - 0usize];
703    ["Offset of field: pthread_mutexattr_t::__align"]
704        [::std::mem::offset_of!(pthread_mutexattr_t, __align) - 0usize];
705};
706#[repr(C)]
707#[derive(Copy, Clone)]
708pub union pthread_condattr_t {
709    pub __size: [::std::os::raw::c_char; 4usize],
710    pub __align: ::std::os::raw::c_int,
711}
712#[allow(clippy::unnecessary_operation, clippy::identity_op)]
713const _: () = {
714    ["Size of pthread_condattr_t"][::std::mem::size_of::<pthread_condattr_t>() - 4usize];
715    ["Alignment of pthread_condattr_t"][::std::mem::align_of::<pthread_condattr_t>() - 4usize];
716    ["Offset of field: pthread_condattr_t::__size"]
717        [::std::mem::offset_of!(pthread_condattr_t, __size) - 0usize];
718    ["Offset of field: pthread_condattr_t::__align"]
719        [::std::mem::offset_of!(pthread_condattr_t, __align) - 0usize];
720};
721pub type pthread_key_t = ::std::os::raw::c_uint;
722pub type pthread_once_t = ::std::os::raw::c_int;
723#[repr(C)]
724#[derive(Copy, Clone)]
725pub union pthread_attr_t {
726    pub __size: [::std::os::raw::c_char; 56usize],
727    pub __align: ::std::os::raw::c_long,
728}
729#[allow(clippy::unnecessary_operation, clippy::identity_op)]
730const _: () = {
731    ["Size of pthread_attr_t"][::std::mem::size_of::<pthread_attr_t>() - 56usize];
732    ["Alignment of pthread_attr_t"][::std::mem::align_of::<pthread_attr_t>() - 8usize];
733    ["Offset of field: pthread_attr_t::__size"]
734        [::std::mem::offset_of!(pthread_attr_t, __size) - 0usize];
735    ["Offset of field: pthread_attr_t::__align"]
736        [::std::mem::offset_of!(pthread_attr_t, __align) - 0usize];
737};
738#[repr(C)]
739#[derive(Copy, Clone)]
740pub union pthread_mutex_t {
741    pub __data: __pthread_mutex_s,
742    pub __size: [::std::os::raw::c_char; 40usize],
743    pub __align: ::std::os::raw::c_long,
744}
745#[allow(clippy::unnecessary_operation, clippy::identity_op)]
746const _: () = {
747    ["Size of pthread_mutex_t"][::std::mem::size_of::<pthread_mutex_t>() - 40usize];
748    ["Alignment of pthread_mutex_t"][::std::mem::align_of::<pthread_mutex_t>() - 8usize];
749    ["Offset of field: pthread_mutex_t::__data"]
750        [::std::mem::offset_of!(pthread_mutex_t, __data) - 0usize];
751    ["Offset of field: pthread_mutex_t::__size"]
752        [::std::mem::offset_of!(pthread_mutex_t, __size) - 0usize];
753    ["Offset of field: pthread_mutex_t::__align"]
754        [::std::mem::offset_of!(pthread_mutex_t, __align) - 0usize];
755};
756#[repr(C)]
757#[derive(Copy, Clone)]
758pub union pthread_cond_t {
759    pub __data: __pthread_cond_s,
760    pub __size: [::std::os::raw::c_char; 48usize],
761    pub __align: ::std::os::raw::c_longlong,
762}
763#[allow(clippy::unnecessary_operation, clippy::identity_op)]
764const _: () = {
765    ["Size of pthread_cond_t"][::std::mem::size_of::<pthread_cond_t>() - 48usize];
766    ["Alignment of pthread_cond_t"][::std::mem::align_of::<pthread_cond_t>() - 8usize];
767    ["Offset of field: pthread_cond_t::__data"]
768        [::std::mem::offset_of!(pthread_cond_t, __data) - 0usize];
769    ["Offset of field: pthread_cond_t::__size"]
770        [::std::mem::offset_of!(pthread_cond_t, __size) - 0usize];
771    ["Offset of field: pthread_cond_t::__align"]
772        [::std::mem::offset_of!(pthread_cond_t, __align) - 0usize];
773};
774#[repr(C)]
775#[derive(Copy, Clone)]
776pub union pthread_rwlock_t {
777    pub __data: __pthread_rwlock_arch_t,
778    pub __size: [::std::os::raw::c_char; 56usize],
779    pub __align: ::std::os::raw::c_long,
780}
781#[allow(clippy::unnecessary_operation, clippy::identity_op)]
782const _: () = {
783    ["Size of pthread_rwlock_t"][::std::mem::size_of::<pthread_rwlock_t>() - 56usize];
784    ["Alignment of pthread_rwlock_t"][::std::mem::align_of::<pthread_rwlock_t>() - 8usize];
785    ["Offset of field: pthread_rwlock_t::__data"]
786        [::std::mem::offset_of!(pthread_rwlock_t, __data) - 0usize];
787    ["Offset of field: pthread_rwlock_t::__size"]
788        [::std::mem::offset_of!(pthread_rwlock_t, __size) - 0usize];
789    ["Offset of field: pthread_rwlock_t::__align"]
790        [::std::mem::offset_of!(pthread_rwlock_t, __align) - 0usize];
791};
792#[repr(C)]
793#[derive(Copy, Clone)]
794pub union pthread_rwlockattr_t {
795    pub __size: [::std::os::raw::c_char; 8usize],
796    pub __align: ::std::os::raw::c_long,
797}
798#[allow(clippy::unnecessary_operation, clippy::identity_op)]
799const _: () = {
800    ["Size of pthread_rwlockattr_t"][::std::mem::size_of::<pthread_rwlockattr_t>() - 8usize];
801    ["Alignment of pthread_rwlockattr_t"][::std::mem::align_of::<pthread_rwlockattr_t>() - 8usize];
802    ["Offset of field: pthread_rwlockattr_t::__size"]
803        [::std::mem::offset_of!(pthread_rwlockattr_t, __size) - 0usize];
804    ["Offset of field: pthread_rwlockattr_t::__align"]
805        [::std::mem::offset_of!(pthread_rwlockattr_t, __align) - 0usize];
806};
807pub type pthread_spinlock_t = ::std::os::raw::c_int;
808#[repr(C)]
809#[derive(Copy, Clone)]
810pub union pthread_barrier_t {
811    pub __size: [::std::os::raw::c_char; 32usize],
812    pub __align: ::std::os::raw::c_long,
813}
814#[allow(clippy::unnecessary_operation, clippy::identity_op)]
815const _: () = {
816    ["Size of pthread_barrier_t"][::std::mem::size_of::<pthread_barrier_t>() - 32usize];
817    ["Alignment of pthread_barrier_t"][::std::mem::align_of::<pthread_barrier_t>() - 8usize];
818    ["Offset of field: pthread_barrier_t::__size"]
819        [::std::mem::offset_of!(pthread_barrier_t, __size) - 0usize];
820    ["Offset of field: pthread_barrier_t::__align"]
821        [::std::mem::offset_of!(pthread_barrier_t, __align) - 0usize];
822};
823#[repr(C)]
824#[derive(Copy, Clone)]
825pub union pthread_barrierattr_t {
826    pub __size: [::std::os::raw::c_char; 4usize],
827    pub __align: ::std::os::raw::c_int,
828}
829#[allow(clippy::unnecessary_operation, clippy::identity_op)]
830const _: () = {
831    ["Size of pthread_barrierattr_t"][::std::mem::size_of::<pthread_barrierattr_t>() - 4usize];
832    ["Alignment of pthread_barrierattr_t"]
833        [::std::mem::align_of::<pthread_barrierattr_t>() - 4usize];
834    ["Offset of field: pthread_barrierattr_t::__size"]
835        [::std::mem::offset_of!(pthread_barrierattr_t, __size) - 0usize];
836    ["Offset of field: pthread_barrierattr_t::__align"]
837        [::std::mem::offset_of!(pthread_barrierattr_t, __align) - 0usize];
838};
839unsafe extern "C" {
840    pub fn random() -> ::std::os::raw::c_long;
841}
842unsafe extern "C" {
843    pub fn srandom(__seed: ::std::os::raw::c_uint);
844}
845unsafe extern "C" {
846    pub fn initstate(
847        __seed: ::std::os::raw::c_uint,
848        __statebuf: *mut ::std::os::raw::c_char,
849        __statelen: usize,
850    ) -> *mut ::std::os::raw::c_char;
851}
852unsafe extern "C" {
853    pub fn setstate(__statebuf: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
854}
855#[repr(C)]
856#[derive(Debug, Copy, Clone)]
857pub struct random_data {
858    pub fptr: *mut i32,
859    pub rptr: *mut i32,
860    pub state: *mut i32,
861    pub rand_type: ::std::os::raw::c_int,
862    pub rand_deg: ::std::os::raw::c_int,
863    pub rand_sep: ::std::os::raw::c_int,
864    pub end_ptr: *mut i32,
865}
866#[allow(clippy::unnecessary_operation, clippy::identity_op)]
867const _: () = {
868    ["Size of random_data"][::std::mem::size_of::<random_data>() - 48usize];
869    ["Alignment of random_data"][::std::mem::align_of::<random_data>() - 8usize];
870    ["Offset of field: random_data::fptr"][::std::mem::offset_of!(random_data, fptr) - 0usize];
871    ["Offset of field: random_data::rptr"][::std::mem::offset_of!(random_data, rptr) - 8usize];
872    ["Offset of field: random_data::state"][::std::mem::offset_of!(random_data, state) - 16usize];
873    ["Offset of field: random_data::rand_type"]
874        [::std::mem::offset_of!(random_data, rand_type) - 24usize];
875    ["Offset of field: random_data::rand_deg"]
876        [::std::mem::offset_of!(random_data, rand_deg) - 28usize];
877    ["Offset of field: random_data::rand_sep"]
878        [::std::mem::offset_of!(random_data, rand_sep) - 32usize];
879    ["Offset of field: random_data::end_ptr"]
880        [::std::mem::offset_of!(random_data, end_ptr) - 40usize];
881};
882unsafe extern "C" {
883    pub fn random_r(__buf: *mut random_data, __result: *mut i32) -> ::std::os::raw::c_int;
884}
885unsafe extern "C" {
886    pub fn srandom_r(
887        __seed: ::std::os::raw::c_uint,
888        __buf: *mut random_data,
889    ) -> ::std::os::raw::c_int;
890}
891unsafe extern "C" {
892    pub fn initstate_r(
893        __seed: ::std::os::raw::c_uint,
894        __statebuf: *mut ::std::os::raw::c_char,
895        __statelen: usize,
896        __buf: *mut random_data,
897    ) -> ::std::os::raw::c_int;
898}
899unsafe extern "C" {
900    pub fn setstate_r(
901        __statebuf: *mut ::std::os::raw::c_char,
902        __buf: *mut random_data,
903    ) -> ::std::os::raw::c_int;
904}
905unsafe extern "C" {
906    pub fn rand() -> ::std::os::raw::c_int;
907}
908unsafe extern "C" {
909    pub fn srand(__seed: ::std::os::raw::c_uint);
910}
911unsafe extern "C" {
912    pub fn rand_r(__seed: *mut ::std::os::raw::c_uint) -> ::std::os::raw::c_int;
913}
914unsafe extern "C" {
915    pub fn drand48() -> f64;
916}
917unsafe extern "C" {
918    pub fn erand48(__xsubi: *mut ::std::os::raw::c_ushort) -> f64;
919}
920unsafe extern "C" {
921    pub fn lrand48() -> ::std::os::raw::c_long;
922}
923unsafe extern "C" {
924    pub fn nrand48(__xsubi: *mut ::std::os::raw::c_ushort) -> ::std::os::raw::c_long;
925}
926unsafe extern "C" {
927    pub fn mrand48() -> ::std::os::raw::c_long;
928}
929unsafe extern "C" {
930    pub fn jrand48(__xsubi: *mut ::std::os::raw::c_ushort) -> ::std::os::raw::c_long;
931}
932unsafe extern "C" {
933    pub fn srand48(__seedval: ::std::os::raw::c_long);
934}
935unsafe extern "C" {
936    pub fn seed48(__seed16v: *mut ::std::os::raw::c_ushort) -> *mut ::std::os::raw::c_ushort;
937}
938unsafe extern "C" {
939    pub fn lcong48(__param: *mut ::std::os::raw::c_ushort);
940}
941#[repr(C)]
942#[derive(Debug, Copy, Clone)]
943pub struct drand48_data {
944    pub __x: [::std::os::raw::c_ushort; 3usize],
945    pub __old_x: [::std::os::raw::c_ushort; 3usize],
946    pub __c: ::std::os::raw::c_ushort,
947    pub __init: ::std::os::raw::c_ushort,
948    pub __a: ::std::os::raw::c_ulonglong,
949}
950#[allow(clippy::unnecessary_operation, clippy::identity_op)]
951const _: () = {
952    ["Size of drand48_data"][::std::mem::size_of::<drand48_data>() - 24usize];
953    ["Alignment of drand48_data"][::std::mem::align_of::<drand48_data>() - 8usize];
954    ["Offset of field: drand48_data::__x"][::std::mem::offset_of!(drand48_data, __x) - 0usize];
955    ["Offset of field: drand48_data::__old_x"]
956        [::std::mem::offset_of!(drand48_data, __old_x) - 6usize];
957    ["Offset of field: drand48_data::__c"][::std::mem::offset_of!(drand48_data, __c) - 12usize];
958    ["Offset of field: drand48_data::__init"]
959        [::std::mem::offset_of!(drand48_data, __init) - 14usize];
960    ["Offset of field: drand48_data::__a"][::std::mem::offset_of!(drand48_data, __a) - 16usize];
961};
962unsafe extern "C" {
963    pub fn drand48_r(__buffer: *mut drand48_data, __result: *mut f64) -> ::std::os::raw::c_int;
964}
965unsafe extern "C" {
966    pub fn erand48_r(
967        __xsubi: *mut ::std::os::raw::c_ushort,
968        __buffer: *mut drand48_data,
969        __result: *mut f64,
970    ) -> ::std::os::raw::c_int;
971}
972unsafe extern "C" {
973    pub fn lrand48_r(
974        __buffer: *mut drand48_data,
975        __result: *mut ::std::os::raw::c_long,
976    ) -> ::std::os::raw::c_int;
977}
978unsafe extern "C" {
979    pub fn nrand48_r(
980        __xsubi: *mut ::std::os::raw::c_ushort,
981        __buffer: *mut drand48_data,
982        __result: *mut ::std::os::raw::c_long,
983    ) -> ::std::os::raw::c_int;
984}
985unsafe extern "C" {
986    pub fn mrand48_r(
987        __buffer: *mut drand48_data,
988        __result: *mut ::std::os::raw::c_long,
989    ) -> ::std::os::raw::c_int;
990}
991unsafe extern "C" {
992    pub fn jrand48_r(
993        __xsubi: *mut ::std::os::raw::c_ushort,
994        __buffer: *mut drand48_data,
995        __result: *mut ::std::os::raw::c_long,
996    ) -> ::std::os::raw::c_int;
997}
998unsafe extern "C" {
999    pub fn srand48_r(
1000        __seedval: ::std::os::raw::c_long,
1001        __buffer: *mut drand48_data,
1002    ) -> ::std::os::raw::c_int;
1003}
1004unsafe extern "C" {
1005    pub fn seed48_r(
1006        __seed16v: *mut ::std::os::raw::c_ushort,
1007        __buffer: *mut drand48_data,
1008    ) -> ::std::os::raw::c_int;
1009}
1010unsafe extern "C" {
1011    pub fn lcong48_r(
1012        __param: *mut ::std::os::raw::c_ushort,
1013        __buffer: *mut drand48_data,
1014    ) -> ::std::os::raw::c_int;
1015}
1016unsafe extern "C" {
1017    pub fn malloc(__size: ::std::os::raw::c_ulong) -> *mut ::std::os::raw::c_void;
1018}
1019unsafe extern "C" {
1020    pub fn calloc(
1021        __nmemb: ::std::os::raw::c_ulong,
1022        __size: ::std::os::raw::c_ulong,
1023    ) -> *mut ::std::os::raw::c_void;
1024}
1025unsafe extern "C" {
1026    pub fn realloc(
1027        __ptr: *mut ::std::os::raw::c_void,
1028        __size: ::std::os::raw::c_ulong,
1029    ) -> *mut ::std::os::raw::c_void;
1030}
1031unsafe extern "C" {
1032    pub fn free(__ptr: *mut ::std::os::raw::c_void);
1033}
1034unsafe extern "C" {
1035    pub fn reallocarray(
1036        __ptr: *mut ::std::os::raw::c_void,
1037        __nmemb: usize,
1038        __size: usize,
1039    ) -> *mut ::std::os::raw::c_void;
1040}
1041unsafe extern "C" {
1042    pub fn alloca(__size: ::std::os::raw::c_ulong) -> *mut ::std::os::raw::c_void;
1043}
1044unsafe extern "C" {
1045    pub fn valloc(__size: usize) -> *mut ::std::os::raw::c_void;
1046}
1047unsafe extern "C" {
1048    pub fn posix_memalign(
1049        __memptr: *mut *mut ::std::os::raw::c_void,
1050        __alignment: usize,
1051        __size: usize,
1052    ) -> ::std::os::raw::c_int;
1053}
1054unsafe extern "C" {
1055    pub fn aligned_alloc(
1056        __alignment: ::std::os::raw::c_ulong,
1057        __size: ::std::os::raw::c_ulong,
1058    ) -> *mut ::std::os::raw::c_void;
1059}
1060unsafe extern "C" {
1061    pub fn abort() -> !;
1062}
1063unsafe extern "C" {
1064    pub fn atexit(__func: ::std::option::Option<unsafe extern "C" fn()>) -> ::std::os::raw::c_int;
1065}
1066unsafe extern "C" {
1067    pub fn at_quick_exit(
1068        __func: ::std::option::Option<unsafe extern "C" fn()>,
1069    ) -> ::std::os::raw::c_int;
1070}
1071unsafe extern "C" {
1072    pub fn on_exit(
1073        __func: ::std::option::Option<
1074            unsafe extern "C" fn(
1075                __status: ::std::os::raw::c_int,
1076                __arg: *mut ::std::os::raw::c_void,
1077            ),
1078        >,
1079        __arg: *mut ::std::os::raw::c_void,
1080    ) -> ::std::os::raw::c_int;
1081}
1082unsafe extern "C" {
1083    pub fn exit(__status: ::std::os::raw::c_int) -> !;
1084}
1085unsafe extern "C" {
1086    pub fn quick_exit(__status: ::std::os::raw::c_int) -> !;
1087}
1088unsafe extern "C" {
1089    pub fn _Exit(__status: ::std::os::raw::c_int) -> !;
1090}
1091unsafe extern "C" {
1092    pub fn getenv(__name: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
1093}
1094unsafe extern "C" {
1095    pub fn putenv(__string: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int;
1096}
1097unsafe extern "C" {
1098    pub fn setenv(
1099        __name: *const ::std::os::raw::c_char,
1100        __value: *const ::std::os::raw::c_char,
1101        __replace: ::std::os::raw::c_int,
1102    ) -> ::std::os::raw::c_int;
1103}
1104unsafe extern "C" {
1105    pub fn unsetenv(__name: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
1106}
1107unsafe extern "C" {
1108    pub fn clearenv() -> ::std::os::raw::c_int;
1109}
1110unsafe extern "C" {
1111    pub fn mktemp(__template: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
1112}
1113unsafe extern "C" {
1114    pub fn mkstemp(__template: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int;
1115}
1116unsafe extern "C" {
1117    pub fn mkstemps(
1118        __template: *mut ::std::os::raw::c_char,
1119        __suffixlen: ::std::os::raw::c_int,
1120    ) -> ::std::os::raw::c_int;
1121}
1122unsafe extern "C" {
1123    pub fn mkdtemp(__template: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
1124}
1125unsafe extern "C" {
1126    pub fn system(__command: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
1127}
1128unsafe extern "C" {
1129    pub fn realpath(
1130        __name: *const ::std::os::raw::c_char,
1131        __resolved: *mut ::std::os::raw::c_char,
1132    ) -> *mut ::std::os::raw::c_char;
1133}
1134pub type __compar_fn_t = ::std::option::Option<
1135    unsafe extern "C" fn(
1136        arg1: *const ::std::os::raw::c_void,
1137        arg2: *const ::std::os::raw::c_void,
1138    ) -> ::std::os::raw::c_int,
1139>;
1140unsafe extern "C" {
1141    pub fn bsearch(
1142        __key: *const ::std::os::raw::c_void,
1143        __base: *const ::std::os::raw::c_void,
1144        __nmemb: usize,
1145        __size: usize,
1146        __compar: __compar_fn_t,
1147    ) -> *mut ::std::os::raw::c_void;
1148}
1149unsafe extern "C" {
1150    pub fn qsort(
1151        __base: *mut ::std::os::raw::c_void,
1152        __nmemb: usize,
1153        __size: usize,
1154        __compar: __compar_fn_t,
1155    );
1156}
1157unsafe extern "C" {
1158    pub fn abs(__x: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
1159}
1160unsafe extern "C" {
1161    pub fn labs(__x: ::std::os::raw::c_long) -> ::std::os::raw::c_long;
1162}
1163unsafe extern "C" {
1164    pub fn llabs(__x: ::std::os::raw::c_longlong) -> ::std::os::raw::c_longlong;
1165}
1166unsafe extern "C" {
1167    pub fn div(__numer: ::std::os::raw::c_int, __denom: ::std::os::raw::c_int) -> div_t;
1168}
1169unsafe extern "C" {
1170    pub fn ldiv(__numer: ::std::os::raw::c_long, __denom: ::std::os::raw::c_long) -> ldiv_t;
1171}
1172unsafe extern "C" {
1173    pub fn lldiv(
1174        __numer: ::std::os::raw::c_longlong,
1175        __denom: ::std::os::raw::c_longlong,
1176    ) -> lldiv_t;
1177}
1178unsafe extern "C" {
1179    pub fn ecvt(
1180        __value: f64,
1181        __ndigit: ::std::os::raw::c_int,
1182        __decpt: *mut ::std::os::raw::c_int,
1183        __sign: *mut ::std::os::raw::c_int,
1184    ) -> *mut ::std::os::raw::c_char;
1185}
1186unsafe extern "C" {
1187    pub fn fcvt(
1188        __value: f64,
1189        __ndigit: ::std::os::raw::c_int,
1190        __decpt: *mut ::std::os::raw::c_int,
1191        __sign: *mut ::std::os::raw::c_int,
1192    ) -> *mut ::std::os::raw::c_char;
1193}
1194unsafe extern "C" {
1195    pub fn gcvt(
1196        __value: f64,
1197        __ndigit: ::std::os::raw::c_int,
1198        __buf: *mut ::std::os::raw::c_char,
1199    ) -> *mut ::std::os::raw::c_char;
1200}
1201unsafe extern "C" {
1202    pub fn qecvt(
1203        __value: u128,
1204        __ndigit: ::std::os::raw::c_int,
1205        __decpt: *mut ::std::os::raw::c_int,
1206        __sign: *mut ::std::os::raw::c_int,
1207    ) -> *mut ::std::os::raw::c_char;
1208}
1209unsafe extern "C" {
1210    pub fn qfcvt(
1211        __value: u128,
1212        __ndigit: ::std::os::raw::c_int,
1213        __decpt: *mut ::std::os::raw::c_int,
1214        __sign: *mut ::std::os::raw::c_int,
1215    ) -> *mut ::std::os::raw::c_char;
1216}
1217unsafe extern "C" {
1218    pub fn qgcvt(
1219        __value: u128,
1220        __ndigit: ::std::os::raw::c_int,
1221        __buf: *mut ::std::os::raw::c_char,
1222    ) -> *mut ::std::os::raw::c_char;
1223}
1224unsafe extern "C" {
1225    pub fn ecvt_r(
1226        __value: f64,
1227        __ndigit: ::std::os::raw::c_int,
1228        __decpt: *mut ::std::os::raw::c_int,
1229        __sign: *mut ::std::os::raw::c_int,
1230        __buf: *mut ::std::os::raw::c_char,
1231        __len: usize,
1232    ) -> ::std::os::raw::c_int;
1233}
1234unsafe extern "C" {
1235    pub fn fcvt_r(
1236        __value: f64,
1237        __ndigit: ::std::os::raw::c_int,
1238        __decpt: *mut ::std::os::raw::c_int,
1239        __sign: *mut ::std::os::raw::c_int,
1240        __buf: *mut ::std::os::raw::c_char,
1241        __len: usize,
1242    ) -> ::std::os::raw::c_int;
1243}
1244unsafe extern "C" {
1245    pub fn qecvt_r(
1246        __value: u128,
1247        __ndigit: ::std::os::raw::c_int,
1248        __decpt: *mut ::std::os::raw::c_int,
1249        __sign: *mut ::std::os::raw::c_int,
1250        __buf: *mut ::std::os::raw::c_char,
1251        __len: usize,
1252    ) -> ::std::os::raw::c_int;
1253}
1254unsafe extern "C" {
1255    pub fn qfcvt_r(
1256        __value: u128,
1257        __ndigit: ::std::os::raw::c_int,
1258        __decpt: *mut ::std::os::raw::c_int,
1259        __sign: *mut ::std::os::raw::c_int,
1260        __buf: *mut ::std::os::raw::c_char,
1261        __len: usize,
1262    ) -> ::std::os::raw::c_int;
1263}
1264unsafe extern "C" {
1265    pub fn mblen(__s: *const ::std::os::raw::c_char, __n: usize) -> ::std::os::raw::c_int;
1266}
1267unsafe extern "C" {
1268    pub fn mbtowc(
1269        __pwc: *mut wchar_t,
1270        __s: *const ::std::os::raw::c_char,
1271        __n: usize,
1272    ) -> ::std::os::raw::c_int;
1273}
1274unsafe extern "C" {
1275    pub fn wctomb(__s: *mut ::std::os::raw::c_char, __wchar: wchar_t) -> ::std::os::raw::c_int;
1276}
1277unsafe extern "C" {
1278    pub fn mbstowcs(__pwcs: *mut wchar_t, __s: *const ::std::os::raw::c_char, __n: usize) -> usize;
1279}
1280unsafe extern "C" {
1281    pub fn wcstombs(__s: *mut ::std::os::raw::c_char, __pwcs: *const wchar_t, __n: usize) -> usize;
1282}
1283unsafe extern "C" {
1284    pub fn rpmatch(__response: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
1285}
1286unsafe extern "C" {
1287    pub fn getsubopt(
1288        __optionp: *mut *mut ::std::os::raw::c_char,
1289        __tokens: *const *mut ::std::os::raw::c_char,
1290        __valuep: *mut *mut ::std::os::raw::c_char,
1291    ) -> ::std::os::raw::c_int;
1292}
1293unsafe extern "C" {
1294    pub fn getloadavg(__loadavg: *mut f64, __nelem: ::std::os::raw::c_int)
1295        -> ::std::os::raw::c_int;
1296}
1297unsafe extern "C" {
1298    pub fn memcpy(
1299        __dest: *mut ::std::os::raw::c_void,
1300        __src: *const ::std::os::raw::c_void,
1301        __n: ::std::os::raw::c_ulong,
1302    ) -> *mut ::std::os::raw::c_void;
1303}
1304unsafe extern "C" {
1305    pub fn memmove(
1306        __dest: *mut ::std::os::raw::c_void,
1307        __src: *const ::std::os::raw::c_void,
1308        __n: ::std::os::raw::c_ulong,
1309    ) -> *mut ::std::os::raw::c_void;
1310}
1311unsafe extern "C" {
1312    pub fn memccpy(
1313        __dest: *mut ::std::os::raw::c_void,
1314        __src: *const ::std::os::raw::c_void,
1315        __c: ::std::os::raw::c_int,
1316        __n: ::std::os::raw::c_ulong,
1317    ) -> *mut ::std::os::raw::c_void;
1318}
1319unsafe extern "C" {
1320    pub fn memset(
1321        __s: *mut ::std::os::raw::c_void,
1322        __c: ::std::os::raw::c_int,
1323        __n: ::std::os::raw::c_ulong,
1324    ) -> *mut ::std::os::raw::c_void;
1325}
1326unsafe extern "C" {
1327    pub fn memcmp(
1328        __s1: *const ::std::os::raw::c_void,
1329        __s2: *const ::std::os::raw::c_void,
1330        __n: ::std::os::raw::c_ulong,
1331    ) -> ::std::os::raw::c_int;
1332}
1333unsafe extern "C" {
1334    pub fn __memcmpeq(
1335        __s1: *const ::std::os::raw::c_void,
1336        __s2: *const ::std::os::raw::c_void,
1337        __n: usize,
1338    ) -> ::std::os::raw::c_int;
1339}
1340unsafe extern "C" {
1341    pub fn memchr(
1342        __s: *const ::std::os::raw::c_void,
1343        __c: ::std::os::raw::c_int,
1344        __n: ::std::os::raw::c_ulong,
1345    ) -> *mut ::std::os::raw::c_void;
1346}
1347unsafe extern "C" {
1348    pub fn strcpy(
1349        __dest: *mut ::std::os::raw::c_char,
1350        __src: *const ::std::os::raw::c_char,
1351    ) -> *mut ::std::os::raw::c_char;
1352}
1353unsafe extern "C" {
1354    pub fn strncpy(
1355        __dest: *mut ::std::os::raw::c_char,
1356        __src: *const ::std::os::raw::c_char,
1357        __n: ::std::os::raw::c_ulong,
1358    ) -> *mut ::std::os::raw::c_char;
1359}
1360unsafe extern "C" {
1361    pub fn strcat(
1362        __dest: *mut ::std::os::raw::c_char,
1363        __src: *const ::std::os::raw::c_char,
1364    ) -> *mut ::std::os::raw::c_char;
1365}
1366unsafe extern "C" {
1367    pub fn strncat(
1368        __dest: *mut ::std::os::raw::c_char,
1369        __src: *const ::std::os::raw::c_char,
1370        __n: ::std::os::raw::c_ulong,
1371    ) -> *mut ::std::os::raw::c_char;
1372}
1373unsafe extern "C" {
1374    pub fn strcmp(
1375        __s1: *const ::std::os::raw::c_char,
1376        __s2: *const ::std::os::raw::c_char,
1377    ) -> ::std::os::raw::c_int;
1378}
1379unsafe extern "C" {
1380    pub fn strncmp(
1381        __s1: *const ::std::os::raw::c_char,
1382        __s2: *const ::std::os::raw::c_char,
1383        __n: ::std::os::raw::c_ulong,
1384    ) -> ::std::os::raw::c_int;
1385}
1386unsafe extern "C" {
1387    pub fn strcoll(
1388        __s1: *const ::std::os::raw::c_char,
1389        __s2: *const ::std::os::raw::c_char,
1390    ) -> ::std::os::raw::c_int;
1391}
1392unsafe extern "C" {
1393    pub fn strxfrm(
1394        __dest: *mut ::std::os::raw::c_char,
1395        __src: *const ::std::os::raw::c_char,
1396        __n: ::std::os::raw::c_ulong,
1397    ) -> ::std::os::raw::c_ulong;
1398}
1399#[repr(C)]
1400#[derive(Debug, Copy, Clone)]
1401pub struct __locale_struct {
1402    pub __locales: [*mut __locale_data; 13usize],
1403    pub __ctype_b: *const ::std::os::raw::c_ushort,
1404    pub __ctype_tolower: *const ::std::os::raw::c_int,
1405    pub __ctype_toupper: *const ::std::os::raw::c_int,
1406    pub __names: [*const ::std::os::raw::c_char; 13usize],
1407}
1408#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1409const _: () = {
1410    ["Size of __locale_struct"][::std::mem::size_of::<__locale_struct>() - 232usize];
1411    ["Alignment of __locale_struct"][::std::mem::align_of::<__locale_struct>() - 8usize];
1412    ["Offset of field: __locale_struct::__locales"]
1413        [::std::mem::offset_of!(__locale_struct, __locales) - 0usize];
1414    ["Offset of field: __locale_struct::__ctype_b"]
1415        [::std::mem::offset_of!(__locale_struct, __ctype_b) - 104usize];
1416    ["Offset of field: __locale_struct::__ctype_tolower"]
1417        [::std::mem::offset_of!(__locale_struct, __ctype_tolower) - 112usize];
1418    ["Offset of field: __locale_struct::__ctype_toupper"]
1419        [::std::mem::offset_of!(__locale_struct, __ctype_toupper) - 120usize];
1420    ["Offset of field: __locale_struct::__names"]
1421        [::std::mem::offset_of!(__locale_struct, __names) - 128usize];
1422};
1423pub type __locale_t = *mut __locale_struct;
1424pub type locale_t = __locale_t;
1425unsafe extern "C" {
1426    pub fn strcoll_l(
1427        __s1: *const ::std::os::raw::c_char,
1428        __s2: *const ::std::os::raw::c_char,
1429        __l: locale_t,
1430    ) -> ::std::os::raw::c_int;
1431}
1432unsafe extern "C" {
1433    pub fn strxfrm_l(
1434        __dest: *mut ::std::os::raw::c_char,
1435        __src: *const ::std::os::raw::c_char,
1436        __n: usize,
1437        __l: locale_t,
1438    ) -> usize;
1439}
1440unsafe extern "C" {
1441    pub fn strdup(__s: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
1442}
1443unsafe extern "C" {
1444    pub fn strndup(
1445        __string: *const ::std::os::raw::c_char,
1446        __n: ::std::os::raw::c_ulong,
1447    ) -> *mut ::std::os::raw::c_char;
1448}
1449unsafe extern "C" {
1450    pub fn strchr(
1451        __s: *const ::std::os::raw::c_char,
1452        __c: ::std::os::raw::c_int,
1453    ) -> *mut ::std::os::raw::c_char;
1454}
1455unsafe extern "C" {
1456    pub fn strrchr(
1457        __s: *const ::std::os::raw::c_char,
1458        __c: ::std::os::raw::c_int,
1459    ) -> *mut ::std::os::raw::c_char;
1460}
1461unsafe extern "C" {
1462    pub fn strcspn(
1463        __s: *const ::std::os::raw::c_char,
1464        __reject: *const ::std::os::raw::c_char,
1465    ) -> ::std::os::raw::c_ulong;
1466}
1467unsafe extern "C" {
1468    pub fn strspn(
1469        __s: *const ::std::os::raw::c_char,
1470        __accept: *const ::std::os::raw::c_char,
1471    ) -> ::std::os::raw::c_ulong;
1472}
1473unsafe extern "C" {
1474    pub fn strpbrk(
1475        __s: *const ::std::os::raw::c_char,
1476        __accept: *const ::std::os::raw::c_char,
1477    ) -> *mut ::std::os::raw::c_char;
1478}
1479unsafe extern "C" {
1480    pub fn strstr(
1481        __haystack: *const ::std::os::raw::c_char,
1482        __needle: *const ::std::os::raw::c_char,
1483    ) -> *mut ::std::os::raw::c_char;
1484}
1485unsafe extern "C" {
1486    pub fn strtok(
1487        __s: *mut ::std::os::raw::c_char,
1488        __delim: *const ::std::os::raw::c_char,
1489    ) -> *mut ::std::os::raw::c_char;
1490}
1491unsafe extern "C" {
1492    pub fn __strtok_r(
1493        __s: *mut ::std::os::raw::c_char,
1494        __delim: *const ::std::os::raw::c_char,
1495        __save_ptr: *mut *mut ::std::os::raw::c_char,
1496    ) -> *mut ::std::os::raw::c_char;
1497}
1498unsafe extern "C" {
1499    pub fn strtok_r(
1500        __s: *mut ::std::os::raw::c_char,
1501        __delim: *const ::std::os::raw::c_char,
1502        __save_ptr: *mut *mut ::std::os::raw::c_char,
1503    ) -> *mut ::std::os::raw::c_char;
1504}
1505unsafe extern "C" {
1506    pub fn strlen(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_ulong;
1507}
1508unsafe extern "C" {
1509    pub fn strnlen(__string: *const ::std::os::raw::c_char, __maxlen: usize) -> usize;
1510}
1511unsafe extern "C" {
1512    pub fn strerror(__errnum: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char;
1513}
1514unsafe extern "C" {
1515    #[link_name = "\u{1}__xpg_strerror_r"]
1516    pub fn strerror_r(
1517        __errnum: ::std::os::raw::c_int,
1518        __buf: *mut ::std::os::raw::c_char,
1519        __buflen: usize,
1520    ) -> ::std::os::raw::c_int;
1521}
1522unsafe extern "C" {
1523    pub fn strerror_l(
1524        __errnum: ::std::os::raw::c_int,
1525        __l: locale_t,
1526    ) -> *mut ::std::os::raw::c_char;
1527}
1528unsafe extern "C" {
1529    pub fn bcmp(
1530        __s1: *const ::std::os::raw::c_void,
1531        __s2: *const ::std::os::raw::c_void,
1532        __n: ::std::os::raw::c_ulong,
1533    ) -> ::std::os::raw::c_int;
1534}
1535unsafe extern "C" {
1536    pub fn bcopy(
1537        __src: *const ::std::os::raw::c_void,
1538        __dest: *mut ::std::os::raw::c_void,
1539        __n: usize,
1540    );
1541}
1542unsafe extern "C" {
1543    pub fn bzero(__s: *mut ::std::os::raw::c_void, __n: ::std::os::raw::c_ulong);
1544}
1545unsafe extern "C" {
1546    pub fn index(
1547        __s: *const ::std::os::raw::c_char,
1548        __c: ::std::os::raw::c_int,
1549    ) -> *mut ::std::os::raw::c_char;
1550}
1551unsafe extern "C" {
1552    pub fn rindex(
1553        __s: *const ::std::os::raw::c_char,
1554        __c: ::std::os::raw::c_int,
1555    ) -> *mut ::std::os::raw::c_char;
1556}
1557unsafe extern "C" {
1558    pub fn ffs(__i: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
1559}
1560unsafe extern "C" {
1561    pub fn ffsl(__l: ::std::os::raw::c_long) -> ::std::os::raw::c_int;
1562}
1563unsafe extern "C" {
1564    pub fn ffsll(__ll: ::std::os::raw::c_longlong) -> ::std::os::raw::c_int;
1565}
1566unsafe extern "C" {
1567    pub fn strcasecmp(
1568        __s1: *const ::std::os::raw::c_char,
1569        __s2: *const ::std::os::raw::c_char,
1570    ) -> ::std::os::raw::c_int;
1571}
1572unsafe extern "C" {
1573    pub fn strncasecmp(
1574        __s1: *const ::std::os::raw::c_char,
1575        __s2: *const ::std::os::raw::c_char,
1576        __n: ::std::os::raw::c_ulong,
1577    ) -> ::std::os::raw::c_int;
1578}
1579unsafe extern "C" {
1580    pub fn strcasecmp_l(
1581        __s1: *const ::std::os::raw::c_char,
1582        __s2: *const ::std::os::raw::c_char,
1583        __loc: locale_t,
1584    ) -> ::std::os::raw::c_int;
1585}
1586unsafe extern "C" {
1587    pub fn strncasecmp_l(
1588        __s1: *const ::std::os::raw::c_char,
1589        __s2: *const ::std::os::raw::c_char,
1590        __n: usize,
1591        __loc: locale_t,
1592    ) -> ::std::os::raw::c_int;
1593}
1594unsafe extern "C" {
1595    pub fn explicit_bzero(__s: *mut ::std::os::raw::c_void, __n: usize);
1596}
1597unsafe extern "C" {
1598    pub fn strsep(
1599        __stringp: *mut *mut ::std::os::raw::c_char,
1600        __delim: *const ::std::os::raw::c_char,
1601    ) -> *mut ::std::os::raw::c_char;
1602}
1603unsafe extern "C" {
1604    pub fn strsignal(__sig: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char;
1605}
1606unsafe extern "C" {
1607    pub fn __stpcpy(
1608        __dest: *mut ::std::os::raw::c_char,
1609        __src: *const ::std::os::raw::c_char,
1610    ) -> *mut ::std::os::raw::c_char;
1611}
1612unsafe extern "C" {
1613    pub fn stpcpy(
1614        __dest: *mut ::std::os::raw::c_char,
1615        __src: *const ::std::os::raw::c_char,
1616    ) -> *mut ::std::os::raw::c_char;
1617}
1618unsafe extern "C" {
1619    pub fn __stpncpy(
1620        __dest: *mut ::std::os::raw::c_char,
1621        __src: *const ::std::os::raw::c_char,
1622        __n: usize,
1623    ) -> *mut ::std::os::raw::c_char;
1624}
1625unsafe extern "C" {
1626    pub fn stpncpy(
1627        __dest: *mut ::std::os::raw::c_char,
1628        __src: *const ::std::os::raw::c_char,
1629        __n: ::std::os::raw::c_ulong,
1630    ) -> *mut ::std::os::raw::c_char;
1631}
1632#[repr(u32)]
1633#[non_exhaustive]
1634#[doc = " Copied from TensorProto::DataType\n Currently, Ort doesn't support complex64, complex128"]
1635#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1636pub enum ONNXTensorElementDataType {
1637    ONNX_TENSOR_ELEMENT_DATA_TYPE_UNDEFINED = 0,
1638    ONNX_TENSOR_ELEMENT_DATA_TYPE_FLOAT = 1,
1639    ONNX_TENSOR_ELEMENT_DATA_TYPE_UINT8 = 2,
1640    ONNX_TENSOR_ELEMENT_DATA_TYPE_INT8 = 3,
1641    ONNX_TENSOR_ELEMENT_DATA_TYPE_UINT16 = 4,
1642    ONNX_TENSOR_ELEMENT_DATA_TYPE_INT16 = 5,
1643    ONNX_TENSOR_ELEMENT_DATA_TYPE_INT32 = 6,
1644    ONNX_TENSOR_ELEMENT_DATA_TYPE_INT64 = 7,
1645    ONNX_TENSOR_ELEMENT_DATA_TYPE_STRING = 8,
1646    ONNX_TENSOR_ELEMENT_DATA_TYPE_BOOL = 9,
1647    ONNX_TENSOR_ELEMENT_DATA_TYPE_FLOAT16 = 10,
1648    ONNX_TENSOR_ELEMENT_DATA_TYPE_DOUBLE = 11,
1649    ONNX_TENSOR_ELEMENT_DATA_TYPE_UINT32 = 12,
1650    ONNX_TENSOR_ELEMENT_DATA_TYPE_UINT64 = 13,
1651    ONNX_TENSOR_ELEMENT_DATA_TYPE_COMPLEX64 = 14,
1652    ONNX_TENSOR_ELEMENT_DATA_TYPE_COMPLEX128 = 15,
1653    ONNX_TENSOR_ELEMENT_DATA_TYPE_BFLOAT16 = 16,
1654    ONNX_TENSOR_ELEMENT_DATA_TYPE_FLOAT8E4M3FN = 17,
1655    ONNX_TENSOR_ELEMENT_DATA_TYPE_FLOAT8E4M3FNUZ = 18,
1656    ONNX_TENSOR_ELEMENT_DATA_TYPE_FLOAT8E5M2 = 19,
1657    ONNX_TENSOR_ELEMENT_DATA_TYPE_FLOAT8E5M2FNUZ = 20,
1658    ONNX_TENSOR_ELEMENT_DATA_TYPE_UINT4 = 21,
1659    ONNX_TENSOR_ELEMENT_DATA_TYPE_INT4 = 22,
1660}
1661#[repr(u32)]
1662#[non_exhaustive]
1663#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1664pub enum ONNXType {
1665    ONNX_TYPE_UNKNOWN = 0,
1666    ONNX_TYPE_TENSOR = 1,
1667    ONNX_TYPE_SEQUENCE = 2,
1668    ONNX_TYPE_MAP = 3,
1669    ONNX_TYPE_OPAQUE = 4,
1670    ONNX_TYPE_SPARSETENSOR = 5,
1671    ONNX_TYPE_OPTIONAL = 6,
1672}
1673#[repr(u32)]
1674#[non_exhaustive]
1675#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1676pub enum OrtSparseFormat {
1677    ORT_SPARSE_UNDEFINED = 0,
1678    ORT_SPARSE_COO = 1,
1679    ORT_SPARSE_CSRC = 2,
1680    ORT_SPARSE_BLOCK_SPARSE = 4,
1681}
1682#[repr(u32)]
1683#[non_exhaustive]
1684#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1685pub enum OrtSparseIndicesFormat {
1686    ORT_SPARSE_COO_INDICES = 0,
1687    ORT_SPARSE_CSR_INNER_INDICES = 1,
1688    ORT_SPARSE_CSR_OUTER_INDICES = 2,
1689    ORT_SPARSE_BLOCK_SPARSE_INDICES = 3,
1690}
1691#[repr(u32)]
1692#[non_exhaustive]
1693#[doc = " \\brief Logging severity levels\n\n In typical API usage, specifying a logging severity level specifies the minimum severity of log messages to show."]
1694#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1695pub enum OrtLoggingLevel {
1696    #[doc = "< Verbose informational messages (least severe)."]
1697    ORT_LOGGING_LEVEL_VERBOSE = 0,
1698    #[doc = "< Informational messages."]
1699    ORT_LOGGING_LEVEL_INFO = 1,
1700    #[doc = "< Warning messages."]
1701    ORT_LOGGING_LEVEL_WARNING = 2,
1702    #[doc = "< Error messages."]
1703    ORT_LOGGING_LEVEL_ERROR = 3,
1704    #[doc = "< Fatal error messages (most severe)."]
1705    ORT_LOGGING_LEVEL_FATAL = 4,
1706}
1707#[repr(u32)]
1708#[non_exhaustive]
1709#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1710pub enum OrtErrorCode {
1711    ORT_OK = 0,
1712    ORT_FAIL = 1,
1713    ORT_INVALID_ARGUMENT = 2,
1714    ORT_NO_SUCHFILE = 3,
1715    ORT_NO_MODEL = 4,
1716    ORT_ENGINE_ERROR = 5,
1717    ORT_RUNTIME_EXCEPTION = 6,
1718    ORT_INVALID_PROTOBUF = 7,
1719    ORT_MODEL_LOADED = 8,
1720    ORT_NOT_IMPLEMENTED = 9,
1721    ORT_INVALID_GRAPH = 10,
1722    ORT_EP_FAIL = 11,
1723}
1724#[repr(u32)]
1725#[non_exhaustive]
1726#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1727pub enum OrtOpAttrType {
1728    ORT_OP_ATTR_UNDEFINED = 0,
1729    ORT_OP_ATTR_INT = 1,
1730    ORT_OP_ATTR_INTS = 2,
1731    ORT_OP_ATTR_FLOAT = 3,
1732    ORT_OP_ATTR_FLOATS = 4,
1733    ORT_OP_ATTR_STRING = 5,
1734    ORT_OP_ATTR_STRINGS = 6,
1735}
1736#[repr(C)]
1737#[derive(Debug, Copy, Clone)]
1738pub struct OrtEnv {
1739    _unused: [u8; 0],
1740}
1741#[repr(C)]
1742#[derive(Debug, Copy, Clone)]
1743pub struct OrtStatus {
1744    _unused: [u8; 0],
1745}
1746#[repr(C)]
1747#[derive(Debug, Copy, Clone)]
1748pub struct OrtMemoryInfo {
1749    _unused: [u8; 0],
1750}
1751#[repr(C)]
1752#[derive(Debug, Copy, Clone)]
1753pub struct OrtIoBinding {
1754    _unused: [u8; 0],
1755}
1756#[repr(C)]
1757#[derive(Debug, Copy, Clone)]
1758pub struct OrtSession {
1759    _unused: [u8; 0],
1760}
1761#[repr(C)]
1762#[derive(Debug, Copy, Clone)]
1763pub struct OrtValue {
1764    _unused: [u8; 0],
1765}
1766#[repr(C)]
1767#[derive(Debug, Copy, Clone)]
1768pub struct OrtRunOptions {
1769    _unused: [u8; 0],
1770}
1771#[repr(C)]
1772#[derive(Debug, Copy, Clone)]
1773pub struct OrtTypeInfo {
1774    _unused: [u8; 0],
1775}
1776#[repr(C)]
1777#[derive(Debug, Copy, Clone)]
1778pub struct OrtTensorTypeAndShapeInfo {
1779    _unused: [u8; 0],
1780}
1781#[repr(C)]
1782#[derive(Debug, Copy, Clone)]
1783pub struct OrtMapTypeInfo {
1784    _unused: [u8; 0],
1785}
1786#[repr(C)]
1787#[derive(Debug, Copy, Clone)]
1788pub struct OrtSequenceTypeInfo {
1789    _unused: [u8; 0],
1790}
1791#[repr(C)]
1792#[derive(Debug, Copy, Clone)]
1793pub struct OrtOptionalTypeInfo {
1794    _unused: [u8; 0],
1795}
1796#[repr(C)]
1797#[derive(Debug, Copy, Clone)]
1798pub struct OrtSessionOptions {
1799    _unused: [u8; 0],
1800}
1801#[repr(C)]
1802#[derive(Debug, Copy, Clone)]
1803pub struct OrtCustomOpDomain {
1804    _unused: [u8; 0],
1805}
1806#[repr(C)]
1807#[derive(Debug, Copy, Clone)]
1808pub struct OrtModelMetadata {
1809    _unused: [u8; 0],
1810}
1811#[repr(C)]
1812#[derive(Debug, Copy, Clone)]
1813pub struct OrtThreadPoolParams {
1814    _unused: [u8; 0],
1815}
1816#[repr(C)]
1817#[derive(Debug, Copy, Clone)]
1818pub struct OrtThreadingOptions {
1819    _unused: [u8; 0],
1820}
1821#[repr(C)]
1822#[derive(Debug, Copy, Clone)]
1823pub struct OrtArenaCfg {
1824    _unused: [u8; 0],
1825}
1826#[repr(C)]
1827#[derive(Debug, Copy, Clone)]
1828pub struct OrtPrepackedWeightsContainer {
1829    _unused: [u8; 0],
1830}
1831#[repr(C)]
1832#[derive(Debug, Copy, Clone)]
1833pub struct OrtTensorRTProviderOptionsV2 {
1834    _unused: [u8; 0],
1835}
1836#[repr(C)]
1837#[derive(Debug, Copy, Clone)]
1838pub struct OrtCUDAProviderOptionsV2 {
1839    _unused: [u8; 0],
1840}
1841#[repr(C)]
1842#[derive(Debug, Copy, Clone)]
1843pub struct OrtCANNProviderOptions {
1844    _unused: [u8; 0],
1845}
1846#[repr(C)]
1847#[derive(Debug, Copy, Clone)]
1848pub struct OrtDnnlProviderOptions {
1849    _unused: [u8; 0],
1850}
1851#[repr(C)]
1852#[derive(Debug, Copy, Clone)]
1853pub struct OrtOp {
1854    _unused: [u8; 0],
1855}
1856#[repr(C)]
1857#[derive(Debug, Copy, Clone)]
1858pub struct OrtOpAttr {
1859    _unused: [u8; 0],
1860}
1861#[repr(C)]
1862#[derive(Debug, Copy, Clone)]
1863pub struct OrtLogger {
1864    _unused: [u8; 0],
1865}
1866#[repr(C)]
1867#[derive(Debug, Copy, Clone)]
1868pub struct OrtShapeInferContext {
1869    _unused: [u8; 0],
1870}
1871#[repr(C)]
1872#[derive(Debug, Copy, Clone)]
1873pub struct OrtLoraAdapter {
1874    _unused: [u8; 0],
1875}
1876pub type OrtStatusPtr = *mut OrtStatus;
1877#[doc = " \\brief Memory allocation interface\n\n Structure of function pointers that defines a memory allocator. This can be created and filled in by the user for custom allocators.\n\n When an allocator is passed to any function, be sure that the allocator object is not destroyed until the last allocated object using it is freed."]
1878#[repr(C)]
1879#[derive(Debug, Copy, Clone)]
1880pub struct OrtAllocator {
1881    #[doc = "< Must be initialized to ORT_API_VERSION"]
1882    pub version: u32,
1883    #[doc = "< Returns a pointer to an allocated block of `size` bytes"]
1884    pub Alloc: ::std::option::Option<
1885        unsafe extern "C" fn(this_: *mut OrtAllocator, size: usize) -> *mut ::std::os::raw::c_void,
1886    >,
1887    #[doc = "< Free a block of memory previously allocated with OrtAllocator::Alloc"]
1888    pub Free: ::std::option::Option<
1889        unsafe extern "C" fn(this_: *mut OrtAllocator, p: *mut ::std::os::raw::c_void),
1890    >,
1891    #[doc = "< Return a pointer to an ::OrtMemoryInfo that describes this allocator"]
1892    pub Info: ::std::option::Option<
1893        unsafe extern "C" fn(this_: *const OrtAllocator) -> *const OrtMemoryInfo,
1894    >,
1895    #[doc = "< Returns a pointer to an allocated block of `size` bytes"]
1896    pub Reserve: ::std::option::Option<
1897        unsafe extern "C" fn(this_: *mut OrtAllocator, size: usize) -> *mut ::std::os::raw::c_void,
1898    >,
1899}
1900#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1901const _: () = {
1902    ["Size of OrtAllocator"][::std::mem::size_of::<OrtAllocator>() - 40usize];
1903    ["Alignment of OrtAllocator"][::std::mem::align_of::<OrtAllocator>() - 8usize];
1904    ["Offset of field: OrtAllocator::version"]
1905        [::std::mem::offset_of!(OrtAllocator, version) - 0usize];
1906    ["Offset of field: OrtAllocator::Alloc"][::std::mem::offset_of!(OrtAllocator, Alloc) - 8usize];
1907    ["Offset of field: OrtAllocator::Free"][::std::mem::offset_of!(OrtAllocator, Free) - 16usize];
1908    ["Offset of field: OrtAllocator::Info"][::std::mem::offset_of!(OrtAllocator, Info) - 24usize];
1909    ["Offset of field: OrtAllocator::Reserve"]
1910        [::std::mem::offset_of!(OrtAllocator, Reserve) - 32usize];
1911};
1912pub type OrtLoggingFunction = ::std::option::Option<
1913    unsafe extern "C" fn(
1914        param: *mut ::std::os::raw::c_void,
1915        severity: OrtLoggingLevel,
1916        category: *const ::std::os::raw::c_char,
1917        logid: *const ::std::os::raw::c_char,
1918        code_location: *const ::std::os::raw::c_char,
1919        message: *const ::std::os::raw::c_char,
1920    ),
1921>;
1922#[repr(u32)]
1923#[non_exhaustive]
1924#[doc = " \\brief Graph optimization level\n\n Refer to https://www.onnxruntime.ai/docs/performance/graph-optimizations.html#graph-optimization-levels\n for an in-depth understanding of the Graph Optimization Levels."]
1925#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1926pub enum GraphOptimizationLevel {
1927    ORT_DISABLE_ALL = 0,
1928    ORT_ENABLE_BASIC = 1,
1929    ORT_ENABLE_EXTENDED = 2,
1930    ORT_ENABLE_ALL = 99,
1931}
1932#[repr(u32)]
1933#[non_exhaustive]
1934#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1935pub enum ExecutionMode {
1936    ORT_SEQUENTIAL = 0,
1937    ORT_PARALLEL = 1,
1938}
1939#[repr(u32)]
1940#[non_exhaustive]
1941#[doc = " \\brief Language projection identifiers\n /see OrtApi::SetLanguageProjection"]
1942#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1943pub enum OrtLanguageProjection {
1944    ORT_PROJECTION_C = 0,
1945    ORT_PROJECTION_CPLUSPLUS = 1,
1946    ORT_PROJECTION_CSHARP = 2,
1947    ORT_PROJECTION_PYTHON = 3,
1948    ORT_PROJECTION_JAVA = 4,
1949    ORT_PROJECTION_WINML = 5,
1950    ORT_PROJECTION_NODEJS = 6,
1951}
1952#[repr(C)]
1953#[derive(Debug, Copy, Clone)]
1954pub struct OrtKernelInfo {
1955    _unused: [u8; 0],
1956}
1957#[repr(C)]
1958#[derive(Debug, Copy, Clone)]
1959pub struct OrtKernelContext {
1960    _unused: [u8; 0],
1961}
1962#[repr(i32)]
1963#[non_exhaustive]
1964#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1965pub enum OrtAllocatorType {
1966    OrtInvalidAllocator = -1,
1967    OrtDeviceAllocator = 0,
1968    OrtArenaAllocator = 1,
1969}
1970impl OrtMemType {
1971    pub const OrtMemTypeCPU: OrtMemType = OrtMemType::OrtMemTypeCPUOutput;
1972}
1973#[repr(i32)]
1974#[non_exhaustive]
1975#[doc = " \\brief Memory types for allocated memory, execution provider specific types should be extended in each provider."]
1976#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1977pub enum OrtMemType {
1978    #[doc = "< Any CPU memory used by non-CPU execution provider"]
1979    OrtMemTypeCPUInput = -2,
1980    #[doc = "< CPU accessible memory outputted by non-CPU execution provider, i.e. CUDA_PINNED"]
1981    OrtMemTypeCPUOutput = -1,
1982    #[doc = "< The default allocator for execution provider"]
1983    OrtMemTypeDefault = 0,
1984}
1985#[repr(u32)]
1986#[non_exhaustive]
1987#[doc = " \\brief This mimics OrtDevice type constants so they can be returned in the API"]
1988#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1989pub enum OrtMemoryInfoDeviceType {
1990    OrtMemoryInfoDeviceType_CPU = 0,
1991    OrtMemoryInfoDeviceType_GPU = 1,
1992    OrtMemoryInfoDeviceType_FPGA = 2,
1993}
1994#[repr(u32)]
1995#[non_exhaustive]
1996#[doc = " \\brief Algorithm to use for cuDNN Convolution Op"]
1997#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1998pub enum OrtCudnnConvAlgoSearch {
1999    OrtCudnnConvAlgoSearchExhaustive = 0,
2000    OrtCudnnConvAlgoSearchHeuristic = 1,
2001    OrtCudnnConvAlgoSearchDefault = 2,
2002}
2003#[doc = " \\brief CUDA Provider Options\n\n \\see OrtApi::SessionOptionsAppendExecutionProvider_CUDA"]
2004#[repr(C)]
2005#[derive(Debug, Copy, Clone)]
2006pub struct OrtCUDAProviderOptions {
2007    #[doc = " \\brief CUDA device Id\n   Defaults to 0."]
2008    pub device_id: ::std::os::raw::c_int,
2009    #[doc = " \\brief CUDA Convolution algorithm search configuration.\n   See enum OrtCudnnConvAlgoSearch for more details.\n   Defaults to OrtCudnnConvAlgoSearchExhaustive."]
2010    pub cudnn_conv_algo_search: OrtCudnnConvAlgoSearch,
2011    #[doc = " \\brief CUDA memory limit (To use all possible memory pass in maximum size_t)\n   Defaults to SIZE_MAX.\n   \\note If a ::OrtArenaCfg has been applied, it will override this field"]
2012    pub gpu_mem_limit: usize,
2013    #[doc = " \\brief Strategy used to grow the memory arena\n   0 = kNextPowerOfTwo<br>\n   1 = kSameAsRequested<br>\n   Defaults to 0.\n   \\note If a ::OrtArenaCfg has been applied, it will override this field"]
2014    pub arena_extend_strategy: ::std::os::raw::c_int,
2015    #[doc = " \\brief Flag indicating if copying needs to take place on the same stream as the compute stream in the CUDA EP\n   0 = Use separate streams for copying and compute.\n   1 = Use the same stream for copying and compute.\n   Defaults to 1.\n   WARNING: Setting this to 0 may result in data races for some models.\n   Please see issue #4829 for more details."]
2016    pub do_copy_in_default_stream: ::std::os::raw::c_int,
2017    #[doc = " \\brief Flag indicating if there is a user provided compute stream\n   Defaults to 0."]
2018    pub has_user_compute_stream: ::std::os::raw::c_int,
2019    #[doc = " \\brief User provided compute stream.\n   If provided, please set `has_user_compute_stream` to 1."]
2020    pub user_compute_stream: *mut ::std::os::raw::c_void,
2021    #[doc = " \\brief CUDA memory arena configuration parameters"]
2022    pub default_memory_arena_cfg: *mut OrtArenaCfg,
2023    #[doc = " \\brief Enable TunableOp for using.\n   Set it to 1/0 to enable/disable TunableOp. Otherwise, it is disabled by default.\n   This option can be overridden by environment variable ORT_CUDA_TUNABLE_OP_ENABLE."]
2024    pub tunable_op_enable: ::std::os::raw::c_int,
2025    #[doc = " \\brief Enable TunableOp for tuning.\n   Set it to 1/0 to enable/disable TunableOp tuning. Otherwise, it is disabled by default.\n   This option can be overridden by environment variable ORT_CUDA_TUNABLE_OP_TUNING_ENABLE."]
2026    pub tunable_op_tuning_enable: ::std::os::raw::c_int,
2027    #[doc = " \\brief Max tuning duration time limit for each instance of TunableOp.\n   Defaults to 0 to disable the limit."]
2028    pub tunable_op_max_tuning_duration_ms: ::std::os::raw::c_int,
2029}
2030#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2031const _: () = {
2032    ["Size of OrtCUDAProviderOptions"][::std::mem::size_of::<OrtCUDAProviderOptions>() - 64usize];
2033    ["Alignment of OrtCUDAProviderOptions"]
2034        [::std::mem::align_of::<OrtCUDAProviderOptions>() - 8usize];
2035    ["Offset of field: OrtCUDAProviderOptions::device_id"]
2036        [::std::mem::offset_of!(OrtCUDAProviderOptions, device_id) - 0usize];
2037    ["Offset of field: OrtCUDAProviderOptions::cudnn_conv_algo_search"]
2038        [::std::mem::offset_of!(OrtCUDAProviderOptions, cudnn_conv_algo_search) - 4usize];
2039    ["Offset of field: OrtCUDAProviderOptions::gpu_mem_limit"]
2040        [::std::mem::offset_of!(OrtCUDAProviderOptions, gpu_mem_limit) - 8usize];
2041    ["Offset of field: OrtCUDAProviderOptions::arena_extend_strategy"]
2042        [::std::mem::offset_of!(OrtCUDAProviderOptions, arena_extend_strategy) - 16usize];
2043    ["Offset of field: OrtCUDAProviderOptions::do_copy_in_default_stream"]
2044        [::std::mem::offset_of!(OrtCUDAProviderOptions, do_copy_in_default_stream) - 20usize];
2045    ["Offset of field: OrtCUDAProviderOptions::has_user_compute_stream"]
2046        [::std::mem::offset_of!(OrtCUDAProviderOptions, has_user_compute_stream) - 24usize];
2047    ["Offset of field: OrtCUDAProviderOptions::user_compute_stream"]
2048        [::std::mem::offset_of!(OrtCUDAProviderOptions, user_compute_stream) - 32usize];
2049    ["Offset of field: OrtCUDAProviderOptions::default_memory_arena_cfg"]
2050        [::std::mem::offset_of!(OrtCUDAProviderOptions, default_memory_arena_cfg) - 40usize];
2051    ["Offset of field: OrtCUDAProviderOptions::tunable_op_enable"]
2052        [::std::mem::offset_of!(OrtCUDAProviderOptions, tunable_op_enable) - 48usize];
2053    ["Offset of field: OrtCUDAProviderOptions::tunable_op_tuning_enable"]
2054        [::std::mem::offset_of!(OrtCUDAProviderOptions, tunable_op_tuning_enable) - 52usize];
2055    ["Offset of field: OrtCUDAProviderOptions::tunable_op_max_tuning_duration_ms"][::std::mem::offset_of!(
2056        OrtCUDAProviderOptions,
2057        tunable_op_max_tuning_duration_ms
2058    ) - 56usize];
2059};
2060#[doc = " \\brief ROCM Provider Options\n\n \\see OrtApi::SessionOptionsAppendExecutionProvider_ROCM"]
2061#[repr(C)]
2062#[derive(Debug, Copy, Clone)]
2063pub struct OrtROCMProviderOptions {
2064    #[doc = " \\brief ROCM device Id\n   Defaults to 0."]
2065    pub device_id: ::std::os::raw::c_int,
2066    #[doc = " \\brief ROCM MIOpen Convolution algorithm exaustive search option.\n   Defaults to 0 (false)."]
2067    pub miopen_conv_exhaustive_search: ::std::os::raw::c_int,
2068    #[doc = " \\brief ROCM memory limit (To use all possible memory pass in maximum size_t)\n   Defaults to SIZE_MAX.\n   \\note If a ::OrtArenaCfg has been applied, it will override this field"]
2069    pub gpu_mem_limit: usize,
2070    #[doc = " \\brief Strategy used to grow the memory arena\n   0 = kNextPowerOfTwo<br>\n   1 = kSameAsRequested<br>\n   Defaults to 0.\n   \\note If a ::OrtArenaCfg has been applied, it will override this field"]
2071    pub arena_extend_strategy: ::std::os::raw::c_int,
2072    #[doc = " \\brief Flag indicating if copying needs to take place on the same stream as the compute stream in the ROCM EP\n   0 = Use separate streams for copying and compute.\n   1 = Use the same stream for copying and compute.\n   Defaults to 1.\n   WARNING: Setting this to 0 may result in data races for some models.\n   Please see issue #4829 for more details."]
2073    pub do_copy_in_default_stream: ::std::os::raw::c_int,
2074    #[doc = " \\brief Flag indicating if there is a user provided compute stream\n   Defaults to 0."]
2075    pub has_user_compute_stream: ::std::os::raw::c_int,
2076    #[doc = " \\brief User provided compute stream.\n   If provided, please set `has_user_compute_stream` to 1."]
2077    pub user_compute_stream: *mut ::std::os::raw::c_void,
2078    #[doc = " \\brief ROCM memory arena configuration parameters"]
2079    pub default_memory_arena_cfg: *mut OrtArenaCfg,
2080    pub enable_hip_graph: ::std::os::raw::c_int,
2081    #[doc = " \\brief Enable TunableOp for using.\n   Set it to 1/0 to enable/disable TunableOp. Otherwise, it is disabled by default.\n   This option can be overridden by environment variable ORT_ROCM_TUNABLE_OP_ENABLE."]
2082    pub tunable_op_enable: ::std::os::raw::c_int,
2083    #[doc = " \\brief Enable TunableOp for tuning.\n   Set it to 1/0 to enable/disable TunableOp tuning. Otherwise, it is disabled by default.\n   This option can be overridden by environment variable ORT_ROCM_TUNABLE_OP_TUNING_ENABLE."]
2084    pub tunable_op_tuning_enable: ::std::os::raw::c_int,
2085    #[doc = " \\brief Max tuning duration time limit for each instance of TunableOp.\n   Defaults to 0 to disable the limit."]
2086    pub tunable_op_max_tuning_duration_ms: ::std::os::raw::c_int,
2087}
2088#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2089const _: () = {
2090    ["Size of OrtROCMProviderOptions"][::std::mem::size_of::<OrtROCMProviderOptions>() - 64usize];
2091    ["Alignment of OrtROCMProviderOptions"]
2092        [::std::mem::align_of::<OrtROCMProviderOptions>() - 8usize];
2093    ["Offset of field: OrtROCMProviderOptions::device_id"]
2094        [::std::mem::offset_of!(OrtROCMProviderOptions, device_id) - 0usize];
2095    ["Offset of field: OrtROCMProviderOptions::miopen_conv_exhaustive_search"]
2096        [::std::mem::offset_of!(OrtROCMProviderOptions, miopen_conv_exhaustive_search) - 4usize];
2097    ["Offset of field: OrtROCMProviderOptions::gpu_mem_limit"]
2098        [::std::mem::offset_of!(OrtROCMProviderOptions, gpu_mem_limit) - 8usize];
2099    ["Offset of field: OrtROCMProviderOptions::arena_extend_strategy"]
2100        [::std::mem::offset_of!(OrtROCMProviderOptions, arena_extend_strategy) - 16usize];
2101    ["Offset of field: OrtROCMProviderOptions::do_copy_in_default_stream"]
2102        [::std::mem::offset_of!(OrtROCMProviderOptions, do_copy_in_default_stream) - 20usize];
2103    ["Offset of field: OrtROCMProviderOptions::has_user_compute_stream"]
2104        [::std::mem::offset_of!(OrtROCMProviderOptions, has_user_compute_stream) - 24usize];
2105    ["Offset of field: OrtROCMProviderOptions::user_compute_stream"]
2106        [::std::mem::offset_of!(OrtROCMProviderOptions, user_compute_stream) - 32usize];
2107    ["Offset of field: OrtROCMProviderOptions::default_memory_arena_cfg"]
2108        [::std::mem::offset_of!(OrtROCMProviderOptions, default_memory_arena_cfg) - 40usize];
2109    ["Offset of field: OrtROCMProviderOptions::enable_hip_graph"]
2110        [::std::mem::offset_of!(OrtROCMProviderOptions, enable_hip_graph) - 48usize];
2111    ["Offset of field: OrtROCMProviderOptions::tunable_op_enable"]
2112        [::std::mem::offset_of!(OrtROCMProviderOptions, tunable_op_enable) - 52usize];
2113    ["Offset of field: OrtROCMProviderOptions::tunable_op_tuning_enable"]
2114        [::std::mem::offset_of!(OrtROCMProviderOptions, tunable_op_tuning_enable) - 56usize];
2115    ["Offset of field: OrtROCMProviderOptions::tunable_op_max_tuning_duration_ms"][::std::mem::offset_of!(
2116        OrtROCMProviderOptions,
2117        tunable_op_max_tuning_duration_ms
2118    ) - 60usize];
2119};
2120#[doc = " \\brief TensorRT Provider Options\n\n \\see OrtApi::SessionOptionsAppendExecutionProvider_TensorRT"]
2121#[repr(C)]
2122#[derive(Debug, Copy, Clone)]
2123pub struct OrtTensorRTProviderOptions {
2124    #[doc = "< CUDA device id (0 = default device)"]
2125    pub device_id: ::std::os::raw::c_int,
2126    pub has_user_compute_stream: ::std::os::raw::c_int,
2127    pub user_compute_stream: *mut ::std::os::raw::c_void,
2128    pub trt_max_partition_iterations: ::std::os::raw::c_int,
2129    pub trt_min_subgraph_size: ::std::os::raw::c_int,
2130    pub trt_max_workspace_size: usize,
2131    pub trt_fp16_enable: ::std::os::raw::c_int,
2132    pub trt_int8_enable: ::std::os::raw::c_int,
2133    pub trt_int8_calibration_table_name: *const ::std::os::raw::c_char,
2134    pub trt_int8_use_native_calibration_table: ::std::os::raw::c_int,
2135    pub trt_dla_enable: ::std::os::raw::c_int,
2136    pub trt_dla_core: ::std::os::raw::c_int,
2137    pub trt_dump_subgraphs: ::std::os::raw::c_int,
2138    pub trt_engine_cache_enable: ::std::os::raw::c_int,
2139    pub trt_engine_cache_path: *const ::std::os::raw::c_char,
2140    pub trt_engine_decryption_enable: ::std::os::raw::c_int,
2141    pub trt_engine_decryption_lib_path: *const ::std::os::raw::c_char,
2142    pub trt_force_sequential_engine_build: ::std::os::raw::c_int,
2143}
2144#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2145const _: () = {
2146    ["Size of OrtTensorRTProviderOptions"]
2147        [::std::mem::size_of::<OrtTensorRTProviderOptions>() - 104usize];
2148    ["Alignment of OrtTensorRTProviderOptions"]
2149        [::std::mem::align_of::<OrtTensorRTProviderOptions>() - 8usize];
2150    ["Offset of field: OrtTensorRTProviderOptions::device_id"]
2151        [::std::mem::offset_of!(OrtTensorRTProviderOptions, device_id) - 0usize];
2152    ["Offset of field: OrtTensorRTProviderOptions::has_user_compute_stream"]
2153        [::std::mem::offset_of!(OrtTensorRTProviderOptions, has_user_compute_stream) - 4usize];
2154    ["Offset of field: OrtTensorRTProviderOptions::user_compute_stream"]
2155        [::std::mem::offset_of!(OrtTensorRTProviderOptions, user_compute_stream) - 8usize];
2156    ["Offset of field: OrtTensorRTProviderOptions::trt_max_partition_iterations"][::std::mem::offset_of!(
2157        OrtTensorRTProviderOptions,
2158        trt_max_partition_iterations
2159    ) - 16usize];
2160    ["Offset of field: OrtTensorRTProviderOptions::trt_min_subgraph_size"]
2161        [::std::mem::offset_of!(OrtTensorRTProviderOptions, trt_min_subgraph_size) - 20usize];
2162    ["Offset of field: OrtTensorRTProviderOptions::trt_max_workspace_size"]
2163        [::std::mem::offset_of!(OrtTensorRTProviderOptions, trt_max_workspace_size) - 24usize];
2164    ["Offset of field: OrtTensorRTProviderOptions::trt_fp16_enable"]
2165        [::std::mem::offset_of!(OrtTensorRTProviderOptions, trt_fp16_enable) - 32usize];
2166    ["Offset of field: OrtTensorRTProviderOptions::trt_int8_enable"]
2167        [::std::mem::offset_of!(OrtTensorRTProviderOptions, trt_int8_enable) - 36usize];
2168    ["Offset of field: OrtTensorRTProviderOptions::trt_int8_calibration_table_name"][::std::mem::offset_of!(
2169        OrtTensorRTProviderOptions,
2170        trt_int8_calibration_table_name
2171    ) - 40usize];
2172    ["Offset of field: OrtTensorRTProviderOptions::trt_int8_use_native_calibration_table"][::std::mem::offset_of!(
2173        OrtTensorRTProviderOptions,
2174        trt_int8_use_native_calibration_table
2175    )
2176        - 48usize];
2177    ["Offset of field: OrtTensorRTProviderOptions::trt_dla_enable"]
2178        [::std::mem::offset_of!(OrtTensorRTProviderOptions, trt_dla_enable) - 52usize];
2179    ["Offset of field: OrtTensorRTProviderOptions::trt_dla_core"]
2180        [::std::mem::offset_of!(OrtTensorRTProviderOptions, trt_dla_core) - 56usize];
2181    ["Offset of field: OrtTensorRTProviderOptions::trt_dump_subgraphs"]
2182        [::std::mem::offset_of!(OrtTensorRTProviderOptions, trt_dump_subgraphs) - 60usize];
2183    ["Offset of field: OrtTensorRTProviderOptions::trt_engine_cache_enable"]
2184        [::std::mem::offset_of!(OrtTensorRTProviderOptions, trt_engine_cache_enable) - 64usize];
2185    ["Offset of field: OrtTensorRTProviderOptions::trt_engine_cache_path"]
2186        [::std::mem::offset_of!(OrtTensorRTProviderOptions, trt_engine_cache_path) - 72usize];
2187    ["Offset of field: OrtTensorRTProviderOptions::trt_engine_decryption_enable"][::std::mem::offset_of!(
2188        OrtTensorRTProviderOptions,
2189        trt_engine_decryption_enable
2190    ) - 80usize];
2191    ["Offset of field: OrtTensorRTProviderOptions::trt_engine_decryption_lib_path"][::std::mem::offset_of!(
2192        OrtTensorRTProviderOptions,
2193        trt_engine_decryption_lib_path
2194    ) - 88usize];
2195    ["Offset of field: OrtTensorRTProviderOptions::trt_force_sequential_engine_build"][::std::mem::offset_of!(
2196        OrtTensorRTProviderOptions,
2197        trt_force_sequential_engine_build
2198    ) - 96usize];
2199};
2200#[doc = " \\brief MIGraphX Provider Options\n\n \\see OrtApi::SessionOptionsAppendExecutionProvider_MIGraphX"]
2201#[repr(C)]
2202#[derive(Debug, Copy, Clone)]
2203pub struct OrtMIGraphXProviderOptions {
2204    pub device_id: ::std::os::raw::c_int,
2205    pub migraphx_fp16_enable: ::std::os::raw::c_int,
2206    pub migraphx_int8_enable: ::std::os::raw::c_int,
2207    pub migraphx_use_native_calibration_table: ::std::os::raw::c_int,
2208    pub migraphx_int8_calibration_table_name: *const ::std::os::raw::c_char,
2209    pub migraphx_save_compiled_model: ::std::os::raw::c_int,
2210    pub migraphx_save_model_path: *const ::std::os::raw::c_char,
2211    pub migraphx_load_compiled_model: ::std::os::raw::c_int,
2212    pub migraphx_load_model_path: *const ::std::os::raw::c_char,
2213    pub migraphx_exhaustive_tune: bool,
2214}
2215#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2216const _: () = {
2217    ["Size of OrtMIGraphXProviderOptions"]
2218        [::std::mem::size_of::<OrtMIGraphXProviderOptions>() - 64usize];
2219    ["Alignment of OrtMIGraphXProviderOptions"]
2220        [::std::mem::align_of::<OrtMIGraphXProviderOptions>() - 8usize];
2221    ["Offset of field: OrtMIGraphXProviderOptions::device_id"]
2222        [::std::mem::offset_of!(OrtMIGraphXProviderOptions, device_id) - 0usize];
2223    ["Offset of field: OrtMIGraphXProviderOptions::migraphx_fp16_enable"]
2224        [::std::mem::offset_of!(OrtMIGraphXProviderOptions, migraphx_fp16_enable) - 4usize];
2225    ["Offset of field: OrtMIGraphXProviderOptions::migraphx_int8_enable"]
2226        [::std::mem::offset_of!(OrtMIGraphXProviderOptions, migraphx_int8_enable) - 8usize];
2227    ["Offset of field: OrtMIGraphXProviderOptions::migraphx_use_native_calibration_table"][::std::mem::offset_of!(
2228        OrtMIGraphXProviderOptions,
2229        migraphx_use_native_calibration_table
2230    )
2231        - 12usize];
2232    ["Offset of field: OrtMIGraphXProviderOptions::migraphx_int8_calibration_table_name"][::std::mem::offset_of!(
2233        OrtMIGraphXProviderOptions,
2234        migraphx_int8_calibration_table_name
2235    )
2236        - 16usize];
2237    ["Offset of field: OrtMIGraphXProviderOptions::migraphx_save_compiled_model"][::std::mem::offset_of!(
2238        OrtMIGraphXProviderOptions,
2239        migraphx_save_compiled_model
2240    ) - 24usize];
2241    ["Offset of field: OrtMIGraphXProviderOptions::migraphx_save_model_path"]
2242        [::std::mem::offset_of!(OrtMIGraphXProviderOptions, migraphx_save_model_path) - 32usize];
2243    ["Offset of field: OrtMIGraphXProviderOptions::migraphx_load_compiled_model"][::std::mem::offset_of!(
2244        OrtMIGraphXProviderOptions,
2245        migraphx_load_compiled_model
2246    ) - 40usize];
2247    ["Offset of field: OrtMIGraphXProviderOptions::migraphx_load_model_path"]
2248        [::std::mem::offset_of!(OrtMIGraphXProviderOptions, migraphx_load_model_path) - 48usize];
2249    ["Offset of field: OrtMIGraphXProviderOptions::migraphx_exhaustive_tune"]
2250        [::std::mem::offset_of!(OrtMIGraphXProviderOptions, migraphx_exhaustive_tune) - 56usize];
2251};
2252#[doc = " \\brief OpenVINO Provider Options\n\n \\see OrtApi::SessionOptionsAppendExecutionProvider_OpenVINO"]
2253#[repr(C)]
2254#[derive(Debug, Copy, Clone)]
2255pub struct OrtOpenVINOProviderOptions {
2256    #[doc = " \\brief Device type string\n\n Valid settings are one of: \"CPU_FP32\", \"CPU_FP16\", \"GPU_FP32\", \"GPU_FP16\""]
2257    pub device_type: *const ::std::os::raw::c_char,
2258    pub enable_npu_fast_compile: ::std::os::raw::c_uchar,
2259    pub device_id: *const ::std::os::raw::c_char,
2260    #[doc = "< 0 = Use default number of threads"]
2261    pub num_of_threads: usize,
2262    pub cache_dir: *const ::std::os::raw::c_char,
2263    pub context: *mut ::std::os::raw::c_void,
2264    #[doc = "< 0 = disabled, nonzero = enabled"]
2265    pub enable_opencl_throttling: ::std::os::raw::c_uchar,
2266    #[doc = "< 0 = disabled, nonzero = enabled"]
2267    pub enable_dynamic_shapes: ::std::os::raw::c_uchar,
2268}
2269#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2270const _: () = {
2271    ["Size of OrtOpenVINOProviderOptions"]
2272        [::std::mem::size_of::<OrtOpenVINOProviderOptions>() - 56usize];
2273    ["Alignment of OrtOpenVINOProviderOptions"]
2274        [::std::mem::align_of::<OrtOpenVINOProviderOptions>() - 8usize];
2275    ["Offset of field: OrtOpenVINOProviderOptions::device_type"]
2276        [::std::mem::offset_of!(OrtOpenVINOProviderOptions, device_type) - 0usize];
2277    ["Offset of field: OrtOpenVINOProviderOptions::enable_npu_fast_compile"]
2278        [::std::mem::offset_of!(OrtOpenVINOProviderOptions, enable_npu_fast_compile) - 8usize];
2279    ["Offset of field: OrtOpenVINOProviderOptions::device_id"]
2280        [::std::mem::offset_of!(OrtOpenVINOProviderOptions, device_id) - 16usize];
2281    ["Offset of field: OrtOpenVINOProviderOptions::num_of_threads"]
2282        [::std::mem::offset_of!(OrtOpenVINOProviderOptions, num_of_threads) - 24usize];
2283    ["Offset of field: OrtOpenVINOProviderOptions::cache_dir"]
2284        [::std::mem::offset_of!(OrtOpenVINOProviderOptions, cache_dir) - 32usize];
2285    ["Offset of field: OrtOpenVINOProviderOptions::context"]
2286        [::std::mem::offset_of!(OrtOpenVINOProviderOptions, context) - 40usize];
2287    ["Offset of field: OrtOpenVINOProviderOptions::enable_opencl_throttling"]
2288        [::std::mem::offset_of!(OrtOpenVINOProviderOptions, enable_opencl_throttling) - 48usize];
2289    ["Offset of field: OrtOpenVINOProviderOptions::enable_dynamic_shapes"]
2290        [::std::mem::offset_of!(OrtOpenVINOProviderOptions, enable_dynamic_shapes) - 49usize];
2291};
2292#[repr(C)]
2293#[derive(Debug, Copy, Clone)]
2294pub struct OrtTrainingApi {
2295    _unused: [u8; 0],
2296}
2297#[doc = " \\brief The helper interface to get the right version of OrtApi\n\n Get a pointer to this structure through ::OrtGetApiBase"]
2298#[repr(C)]
2299#[derive(Debug, Copy, Clone)]
2300pub struct OrtApiBase {
2301    #[doc = " \\brief Get a pointer to the requested version of the ::OrtApi\n\n \\param[in] version Must be ::ORT_API_VERSION\n \\return The ::OrtApi for the version requested, nullptr will be returned if this version is unsupported, for example when using a runtime\n   older than the version created with this header file.\n\n One can call GetVersionString() to get the version of the Onnxruntime library for logging\n and error reporting purposes."]
2302    pub GetApi: ::std::option::Option<unsafe extern "C" fn(version: u32) -> *const OrtApi>,
2303    #[doc = " \\brief Returns a null terminated string of the version of the Onnxruntime library (eg: \"1.8.1\")\n\n  \\return UTF-8 encoded version string. Do not deallocate the returned buffer."]
2304    pub GetVersionString:
2305        ::std::option::Option<unsafe extern "C" fn() -> *const ::std::os::raw::c_char>,
2306}
2307#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2308const _: () = {
2309    ["Size of OrtApiBase"][::std::mem::size_of::<OrtApiBase>() - 16usize];
2310    ["Alignment of OrtApiBase"][::std::mem::align_of::<OrtApiBase>() - 8usize];
2311    ["Offset of field: OrtApiBase::GetApi"][::std::mem::offset_of!(OrtApiBase, GetApi) - 0usize];
2312    ["Offset of field: OrtApiBase::GetVersionString"]
2313        [::std::mem::offset_of!(OrtApiBase, GetVersionString) - 8usize];
2314};
2315unsafe extern "C" {
2316    #[doc = " \\brief The Onnxruntime library's entry point to access the C API\n\n Call this to get the a pointer to an ::OrtApiBase"]
2317    pub fn OrtGetApiBase() -> *const OrtApiBase;
2318}
2319#[doc = " \\brief Thread work loop function\n\n Onnxruntime will provide the working loop on custom thread creation\n Argument is an onnxruntime built-in type which will be provided when thread pool calls OrtCustomCreateThreadFn"]
2320pub type OrtThreadWorkerFn =
2321    ::std::option::Option<unsafe extern "C" fn(ort_worker_fn_param: *mut ::std::os::raw::c_void)>;
2322#[repr(C)]
2323#[derive(Debug, Copy, Clone)]
2324pub struct OrtCustomHandleType {
2325    pub __place_holder: ::std::os::raw::c_char,
2326}
2327#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2328const _: () = {
2329    ["Size of OrtCustomHandleType"][::std::mem::size_of::<OrtCustomHandleType>() - 1usize];
2330    ["Alignment of OrtCustomHandleType"][::std::mem::align_of::<OrtCustomHandleType>() - 1usize];
2331    ["Offset of field: OrtCustomHandleType::__place_holder"]
2332        [::std::mem::offset_of!(OrtCustomHandleType, __place_holder) - 0usize];
2333};
2334pub type OrtCustomThreadHandle = *const OrtCustomHandleType;
2335#[doc = " \\brief Ort custom thread creation function\n\n The function should return a thread handle to be used in onnxruntime thread pools\n Onnxruntime will throw exception on return value of nullptr or 0, indicating that the function failed to create a thread"]
2336pub type OrtCustomCreateThreadFn = ::std::option::Option<
2337    unsafe extern "C" fn(
2338        ort_custom_thread_creation_options: *mut ::std::os::raw::c_void,
2339        ort_thread_worker_fn: OrtThreadWorkerFn,
2340        ort_worker_fn_param: *mut ::std::os::raw::c_void,
2341    ) -> OrtCustomThreadHandle,
2342>;
2343#[doc = " \\brief Custom thread join function\n\n Onnxruntime thread pool destructor will call the function to join a custom thread.\n Argument ort_custom_thread_handle is the value returned by OrtCustomCreateThreadFn"]
2344pub type OrtCustomJoinThreadFn =
2345    ::std::option::Option<unsafe extern "C" fn(ort_custom_thread_handle: OrtCustomThreadHandle)>;
2346pub type RegisterCustomOpsFn = ::std::option::Option<
2347    unsafe extern "C" fn(options: *mut OrtSessionOptions, api: *const OrtApiBase) -> *mut OrtStatus,
2348>;
2349#[doc = " \\brief Callback function for RunAsync\n\n \\param[in] user_data User specific data that passed back to the callback\n \\param[out] outputs On succeed, outputs host inference results, on error, the value will be nullptr\n \\param[out] num_outputs Number of outputs, on error, the value will be zero\n \\param[out] status On error, status will provide details"]
2350pub type RunAsyncCallbackFn = ::std::option::Option<
2351    unsafe extern "C" fn(
2352        user_data: *mut ::std::os::raw::c_void,
2353        outputs: *mut *mut OrtValue,
2354        num_outputs: usize,
2355        status: OrtStatusPtr,
2356    ),
2357>;
2358#[doc = " \\brief The C API\n\n All C API functions are defined inside this structure as pointers to functions.\n Call OrtApiBase::GetApi to get a pointer to it\n\n \\nosubgrouping"]
2359#[repr(C)]
2360#[derive(Debug, Copy, Clone)]
2361pub struct OrtApi {
2362    #[doc = " \\brief Create an OrtStatus from a null terminated string\n\n \\param[in] code\n \\param[in] msg A null-terminated string. Its contents will be copied.\n \\return A new OrtStatus object, must be destroyed with OrtApi::ReleaseStatus"]
2363    pub CreateStatus: ::std::option::Option<
2364        unsafe extern "C" fn(
2365            code: OrtErrorCode,
2366            msg: *const ::std::os::raw::c_char,
2367        ) -> *mut OrtStatus,
2368    >,
2369    #[doc = " \\brief Get OrtErrorCode from OrtStatus\n\n \\param[in] status\n \\return OrtErrorCode that \\p status was created with"]
2370    pub GetErrorCode:
2371        ::std::option::Option<unsafe extern "C" fn(status: *const OrtStatus) -> OrtErrorCode>,
2372    #[doc = " \\brief Get error string from OrtStatus\n\n \\param[in] status\n \\return The error message inside the `status`. Do not free the returned value."]
2373    pub GetErrorMessage: ::std::option::Option<
2374        unsafe extern "C" fn(status: *const OrtStatus) -> *const ::std::os::raw::c_char,
2375    >,
2376    pub CreateEnv: ::std::option::Option<
2377        unsafe extern "C" fn(
2378            log_severity_level: OrtLoggingLevel,
2379            logid: *const ::std::os::raw::c_char,
2380            out: *mut *mut OrtEnv,
2381        ) -> OrtStatusPtr,
2382    >,
2383    pub CreateEnvWithCustomLogger: ::std::option::Option<
2384        unsafe extern "C" fn(
2385            logging_function: OrtLoggingFunction,
2386            logger_param: *mut ::std::os::raw::c_void,
2387            log_severity_level: OrtLoggingLevel,
2388            logid: *const ::std::os::raw::c_char,
2389            out: *mut *mut OrtEnv,
2390        ) -> OrtStatusPtr,
2391    >,
2392    pub EnableTelemetryEvents:
2393        ::std::option::Option<unsafe extern "C" fn(env: *const OrtEnv) -> OrtStatusPtr>,
2394    pub DisableTelemetryEvents:
2395        ::std::option::Option<unsafe extern "C" fn(env: *const OrtEnv) -> OrtStatusPtr>,
2396    pub CreateSession: ::std::option::Option<
2397        unsafe extern "C" fn(
2398            env: *const OrtEnv,
2399            model_path: *const ::std::os::raw::c_char,
2400            options: *const OrtSessionOptions,
2401            out: *mut *mut OrtSession,
2402        ) -> OrtStatusPtr,
2403    >,
2404    pub CreateSessionFromArray: ::std::option::Option<
2405        unsafe extern "C" fn(
2406            env: *const OrtEnv,
2407            model_data: *const ::std::os::raw::c_void,
2408            model_data_length: usize,
2409            options: *const OrtSessionOptions,
2410            out: *mut *mut OrtSession,
2411        ) -> OrtStatusPtr,
2412    >,
2413    pub Run: ::std::option::Option<
2414        unsafe extern "C" fn(
2415            session: *mut OrtSession,
2416            run_options: *const OrtRunOptions,
2417            input_names: *const *const ::std::os::raw::c_char,
2418            inputs: *const *const OrtValue,
2419            input_len: usize,
2420            output_names: *const *const ::std::os::raw::c_char,
2421            output_names_len: usize,
2422            outputs: *mut *mut OrtValue,
2423        ) -> OrtStatusPtr,
2424    >,
2425    pub CreateSessionOptions: ::std::option::Option<
2426        unsafe extern "C" fn(options: *mut *mut OrtSessionOptions) -> OrtStatusPtr,
2427    >,
2428    pub SetOptimizedModelFilePath: ::std::option::Option<
2429        unsafe extern "C" fn(
2430            options: *mut OrtSessionOptions,
2431            optimized_model_filepath: *const ::std::os::raw::c_char,
2432        ) -> OrtStatusPtr,
2433    >,
2434    pub CloneSessionOptions: ::std::option::Option<
2435        unsafe extern "C" fn(
2436            in_options: *const OrtSessionOptions,
2437            out_options: *mut *mut OrtSessionOptions,
2438        ) -> OrtStatusPtr,
2439    >,
2440    pub SetSessionExecutionMode: ::std::option::Option<
2441        unsafe extern "C" fn(
2442            options: *mut OrtSessionOptions,
2443            execution_mode: ExecutionMode,
2444        ) -> OrtStatusPtr,
2445    >,
2446    pub EnableProfiling: ::std::option::Option<
2447        unsafe extern "C" fn(
2448            options: *mut OrtSessionOptions,
2449            profile_file_prefix: *const ::std::os::raw::c_char,
2450        ) -> OrtStatusPtr,
2451    >,
2452    pub DisableProfiling: ::std::option::Option<
2453        unsafe extern "C" fn(options: *mut OrtSessionOptions) -> OrtStatusPtr,
2454    >,
2455    pub EnableMemPattern: ::std::option::Option<
2456        unsafe extern "C" fn(options: *mut OrtSessionOptions) -> OrtStatusPtr,
2457    >,
2458    pub DisableMemPattern: ::std::option::Option<
2459        unsafe extern "C" fn(options: *mut OrtSessionOptions) -> OrtStatusPtr,
2460    >,
2461    pub EnableCpuMemArena: ::std::option::Option<
2462        unsafe extern "C" fn(options: *mut OrtSessionOptions) -> OrtStatusPtr,
2463    >,
2464    pub DisableCpuMemArena: ::std::option::Option<
2465        unsafe extern "C" fn(options: *mut OrtSessionOptions) -> OrtStatusPtr,
2466    >,
2467    pub SetSessionLogId: ::std::option::Option<
2468        unsafe extern "C" fn(
2469            options: *mut OrtSessionOptions,
2470            logid: *const ::std::os::raw::c_char,
2471        ) -> OrtStatusPtr,
2472    >,
2473    pub SetSessionLogVerbosityLevel: ::std::option::Option<
2474        unsafe extern "C" fn(
2475            options: *mut OrtSessionOptions,
2476            session_log_verbosity_level: ::std::os::raw::c_int,
2477        ) -> OrtStatusPtr,
2478    >,
2479    pub SetSessionLogSeverityLevel: ::std::option::Option<
2480        unsafe extern "C" fn(
2481            options: *mut OrtSessionOptions,
2482            session_log_severity_level: ::std::os::raw::c_int,
2483        ) -> OrtStatusPtr,
2484    >,
2485    pub SetSessionGraphOptimizationLevel: ::std::option::Option<
2486        unsafe extern "C" fn(
2487            options: *mut OrtSessionOptions,
2488            graph_optimization_level: GraphOptimizationLevel,
2489        ) -> OrtStatusPtr,
2490    >,
2491    pub SetIntraOpNumThreads: ::std::option::Option<
2492        unsafe extern "C" fn(
2493            options: *mut OrtSessionOptions,
2494            intra_op_num_threads: ::std::os::raw::c_int,
2495        ) -> OrtStatusPtr,
2496    >,
2497    pub SetInterOpNumThreads: ::std::option::Option<
2498        unsafe extern "C" fn(
2499            options: *mut OrtSessionOptions,
2500            inter_op_num_threads: ::std::os::raw::c_int,
2501        ) -> OrtStatusPtr,
2502    >,
2503    pub CreateCustomOpDomain: ::std::option::Option<
2504        unsafe extern "C" fn(
2505            domain: *const ::std::os::raw::c_char,
2506            out: *mut *mut OrtCustomOpDomain,
2507        ) -> OrtStatusPtr,
2508    >,
2509    pub CustomOpDomain_Add: ::std::option::Option<
2510        unsafe extern "C" fn(
2511            custom_op_domain: *mut OrtCustomOpDomain,
2512            op: *const OrtCustomOp,
2513        ) -> OrtStatusPtr,
2514    >,
2515    pub AddCustomOpDomain: ::std::option::Option<
2516        unsafe extern "C" fn(
2517            options: *mut OrtSessionOptions,
2518            custom_op_domain: *mut OrtCustomOpDomain,
2519        ) -> OrtStatusPtr,
2520    >,
2521    pub RegisterCustomOpsLibrary: ::std::option::Option<
2522        unsafe extern "C" fn(
2523            options: *mut OrtSessionOptions,
2524            library_path: *const ::std::os::raw::c_char,
2525            library_handle: *mut *mut ::std::os::raw::c_void,
2526        ) -> OrtStatusPtr,
2527    >,
2528    pub SessionGetInputCount: ::std::option::Option<
2529        unsafe extern "C" fn(session: *const OrtSession, out: *mut usize) -> OrtStatusPtr,
2530    >,
2531    pub SessionGetOutputCount: ::std::option::Option<
2532        unsafe extern "C" fn(session: *const OrtSession, out: *mut usize) -> OrtStatusPtr,
2533    >,
2534    pub SessionGetOverridableInitializerCount: ::std::option::Option<
2535        unsafe extern "C" fn(session: *const OrtSession, out: *mut usize) -> OrtStatusPtr,
2536    >,
2537    pub SessionGetInputTypeInfo: ::std::option::Option<
2538        unsafe extern "C" fn(
2539            session: *const OrtSession,
2540            index: usize,
2541            type_info: *mut *mut OrtTypeInfo,
2542        ) -> OrtStatusPtr,
2543    >,
2544    pub SessionGetOutputTypeInfo: ::std::option::Option<
2545        unsafe extern "C" fn(
2546            session: *const OrtSession,
2547            index: usize,
2548            type_info: *mut *mut OrtTypeInfo,
2549        ) -> OrtStatusPtr,
2550    >,
2551    pub SessionGetOverridableInitializerTypeInfo: ::std::option::Option<
2552        unsafe extern "C" fn(
2553            session: *const OrtSession,
2554            index: usize,
2555            type_info: *mut *mut OrtTypeInfo,
2556        ) -> OrtStatusPtr,
2557    >,
2558    pub SessionGetInputName: ::std::option::Option<
2559        unsafe extern "C" fn(
2560            session: *const OrtSession,
2561            index: usize,
2562            allocator: *mut OrtAllocator,
2563            value: *mut *mut ::std::os::raw::c_char,
2564        ) -> OrtStatusPtr,
2565    >,
2566    pub SessionGetOutputName: ::std::option::Option<
2567        unsafe extern "C" fn(
2568            session: *const OrtSession,
2569            index: usize,
2570            allocator: *mut OrtAllocator,
2571            value: *mut *mut ::std::os::raw::c_char,
2572        ) -> OrtStatusPtr,
2573    >,
2574    pub SessionGetOverridableInitializerName: ::std::option::Option<
2575        unsafe extern "C" fn(
2576            session: *const OrtSession,
2577            index: usize,
2578            allocator: *mut OrtAllocator,
2579            value: *mut *mut ::std::os::raw::c_char,
2580        ) -> OrtStatusPtr,
2581    >,
2582    pub CreateRunOptions:
2583        ::std::option::Option<unsafe extern "C" fn(out: *mut *mut OrtRunOptions) -> OrtStatusPtr>,
2584    pub RunOptionsSetRunLogVerbosityLevel: ::std::option::Option<
2585        unsafe extern "C" fn(
2586            options: *mut OrtRunOptions,
2587            log_verbosity_level: ::std::os::raw::c_int,
2588        ) -> OrtStatusPtr,
2589    >,
2590    pub RunOptionsSetRunLogSeverityLevel: ::std::option::Option<
2591        unsafe extern "C" fn(
2592            options: *mut OrtRunOptions,
2593            log_severity_level: ::std::os::raw::c_int,
2594        ) -> OrtStatusPtr,
2595    >,
2596    pub RunOptionsSetRunTag: ::std::option::Option<
2597        unsafe extern "C" fn(
2598            options: *mut OrtRunOptions,
2599            run_tag: *const ::std::os::raw::c_char,
2600        ) -> OrtStatusPtr,
2601    >,
2602    pub RunOptionsGetRunLogVerbosityLevel: ::std::option::Option<
2603        unsafe extern "C" fn(
2604            options: *const OrtRunOptions,
2605            log_verbosity_level: *mut ::std::os::raw::c_int,
2606        ) -> OrtStatusPtr,
2607    >,
2608    pub RunOptionsGetRunLogSeverityLevel: ::std::option::Option<
2609        unsafe extern "C" fn(
2610            options: *const OrtRunOptions,
2611            log_severity_level: *mut ::std::os::raw::c_int,
2612        ) -> OrtStatusPtr,
2613    >,
2614    pub RunOptionsGetRunTag: ::std::option::Option<
2615        unsafe extern "C" fn(
2616            options: *const OrtRunOptions,
2617            run_tag: *mut *const ::std::os::raw::c_char,
2618        ) -> OrtStatusPtr,
2619    >,
2620    pub RunOptionsSetTerminate:
2621        ::std::option::Option<unsafe extern "C" fn(options: *mut OrtRunOptions) -> OrtStatusPtr>,
2622    pub RunOptionsUnsetTerminate:
2623        ::std::option::Option<unsafe extern "C" fn(options: *mut OrtRunOptions) -> OrtStatusPtr>,
2624    pub CreateTensorAsOrtValue: ::std::option::Option<
2625        unsafe extern "C" fn(
2626            allocator: *mut OrtAllocator,
2627            shape: *const i64,
2628            shape_len: usize,
2629            type_: ONNXTensorElementDataType,
2630            out: *mut *mut OrtValue,
2631        ) -> OrtStatusPtr,
2632    >,
2633    pub CreateTensorWithDataAsOrtValue: ::std::option::Option<
2634        unsafe extern "C" fn(
2635            info: *const OrtMemoryInfo,
2636            p_data: *mut ::std::os::raw::c_void,
2637            p_data_len: usize,
2638            shape: *const i64,
2639            shape_len: usize,
2640            type_: ONNXTensorElementDataType,
2641            out: *mut *mut OrtValue,
2642        ) -> OrtStatusPtr,
2643    >,
2644    pub IsTensor: ::std::option::Option<
2645        unsafe extern "C" fn(
2646            value: *const OrtValue,
2647            out: *mut ::std::os::raw::c_int,
2648        ) -> OrtStatusPtr,
2649    >,
2650    pub GetTensorMutableData: ::std::option::Option<
2651        unsafe extern "C" fn(
2652            value: *mut OrtValue,
2653            out: *mut *mut ::std::os::raw::c_void,
2654        ) -> OrtStatusPtr,
2655    >,
2656    pub FillStringTensor: ::std::option::Option<
2657        unsafe extern "C" fn(
2658            value: *mut OrtValue,
2659            s: *const *const ::std::os::raw::c_char,
2660            s_len: usize,
2661        ) -> OrtStatusPtr,
2662    >,
2663    pub GetStringTensorDataLength: ::std::option::Option<
2664        unsafe extern "C" fn(value: *const OrtValue, len: *mut usize) -> OrtStatusPtr,
2665    >,
2666    pub GetStringTensorContent: ::std::option::Option<
2667        unsafe extern "C" fn(
2668            value: *const OrtValue,
2669            s: *mut ::std::os::raw::c_void,
2670            s_len: usize,
2671            offsets: *mut usize,
2672            offsets_len: usize,
2673        ) -> OrtStatusPtr,
2674    >,
2675    pub CastTypeInfoToTensorInfo: ::std::option::Option<
2676        unsafe extern "C" fn(
2677            type_info: *const OrtTypeInfo,
2678            out: *mut *const OrtTensorTypeAndShapeInfo,
2679        ) -> OrtStatusPtr,
2680    >,
2681    pub GetOnnxTypeFromTypeInfo: ::std::option::Option<
2682        unsafe extern "C" fn(type_info: *const OrtTypeInfo, out: *mut ONNXType) -> OrtStatusPtr,
2683    >,
2684    pub CreateTensorTypeAndShapeInfo: ::std::option::Option<
2685        unsafe extern "C" fn(out: *mut *mut OrtTensorTypeAndShapeInfo) -> OrtStatusPtr,
2686    >,
2687    pub SetTensorElementType: ::std::option::Option<
2688        unsafe extern "C" fn(
2689            info: *mut OrtTensorTypeAndShapeInfo,
2690            type_: ONNXTensorElementDataType,
2691        ) -> OrtStatusPtr,
2692    >,
2693    pub SetDimensions: ::std::option::Option<
2694        unsafe extern "C" fn(
2695            info: *mut OrtTensorTypeAndShapeInfo,
2696            dim_values: *const i64,
2697            dim_count: usize,
2698        ) -> OrtStatusPtr,
2699    >,
2700    pub GetTensorElementType: ::std::option::Option<
2701        unsafe extern "C" fn(
2702            info: *const OrtTensorTypeAndShapeInfo,
2703            out: *mut ONNXTensorElementDataType,
2704        ) -> OrtStatusPtr,
2705    >,
2706    pub GetDimensionsCount: ::std::option::Option<
2707        unsafe extern "C" fn(
2708            info: *const OrtTensorTypeAndShapeInfo,
2709            out: *mut usize,
2710        ) -> OrtStatusPtr,
2711    >,
2712    pub GetDimensions: ::std::option::Option<
2713        unsafe extern "C" fn(
2714            info: *const OrtTensorTypeAndShapeInfo,
2715            dim_values: *mut i64,
2716            dim_values_length: usize,
2717        ) -> OrtStatusPtr,
2718    >,
2719    pub GetSymbolicDimensions: ::std::option::Option<
2720        unsafe extern "C" fn(
2721            info: *const OrtTensorTypeAndShapeInfo,
2722            dim_params: *mut *const ::std::os::raw::c_char,
2723            dim_params_length: usize,
2724        ) -> OrtStatusPtr,
2725    >,
2726    pub GetTensorShapeElementCount: ::std::option::Option<
2727        unsafe extern "C" fn(
2728            info: *const OrtTensorTypeAndShapeInfo,
2729            out: *mut usize,
2730        ) -> OrtStatusPtr,
2731    >,
2732    pub GetTensorTypeAndShape: ::std::option::Option<
2733        unsafe extern "C" fn(
2734            value: *const OrtValue,
2735            out: *mut *mut OrtTensorTypeAndShapeInfo,
2736        ) -> OrtStatusPtr,
2737    >,
2738    pub GetTypeInfo: ::std::option::Option<
2739        unsafe extern "C" fn(value: *const OrtValue, out: *mut *mut OrtTypeInfo) -> OrtStatusPtr,
2740    >,
2741    pub GetValueType: ::std::option::Option<
2742        unsafe extern "C" fn(value: *const OrtValue, out: *mut ONNXType) -> OrtStatusPtr,
2743    >,
2744    pub CreateMemoryInfo: ::std::option::Option<
2745        unsafe extern "C" fn(
2746            name: *const ::std::os::raw::c_char,
2747            type_: OrtAllocatorType,
2748            id: ::std::os::raw::c_int,
2749            mem_type: OrtMemType,
2750            out: *mut *mut OrtMemoryInfo,
2751        ) -> OrtStatusPtr,
2752    >,
2753    pub CreateCpuMemoryInfo: ::std::option::Option<
2754        unsafe extern "C" fn(
2755            type_: OrtAllocatorType,
2756            mem_type: OrtMemType,
2757            out: *mut *mut OrtMemoryInfo,
2758        ) -> OrtStatusPtr,
2759    >,
2760    pub CompareMemoryInfo: ::std::option::Option<
2761        unsafe extern "C" fn(
2762            info1: *const OrtMemoryInfo,
2763            info2: *const OrtMemoryInfo,
2764            out: *mut ::std::os::raw::c_int,
2765        ) -> OrtStatusPtr,
2766    >,
2767    pub MemoryInfoGetName: ::std::option::Option<
2768        unsafe extern "C" fn(
2769            ptr: *const OrtMemoryInfo,
2770            out: *mut *const ::std::os::raw::c_char,
2771        ) -> OrtStatusPtr,
2772    >,
2773    pub MemoryInfoGetId: ::std::option::Option<
2774        unsafe extern "C" fn(
2775            ptr: *const OrtMemoryInfo,
2776            out: *mut ::std::os::raw::c_int,
2777        ) -> OrtStatusPtr,
2778    >,
2779    pub MemoryInfoGetMemType: ::std::option::Option<
2780        unsafe extern "C" fn(ptr: *const OrtMemoryInfo, out: *mut OrtMemType) -> OrtStatusPtr,
2781    >,
2782    pub MemoryInfoGetType: ::std::option::Option<
2783        unsafe extern "C" fn(ptr: *const OrtMemoryInfo, out: *mut OrtAllocatorType) -> OrtStatusPtr,
2784    >,
2785    pub AllocatorAlloc: ::std::option::Option<
2786        unsafe extern "C" fn(
2787            ort_allocator: *mut OrtAllocator,
2788            size: usize,
2789            out: *mut *mut ::std::os::raw::c_void,
2790        ) -> OrtStatusPtr,
2791    >,
2792    pub AllocatorFree: ::std::option::Option<
2793        unsafe extern "C" fn(
2794            ort_allocator: *mut OrtAllocator,
2795            p: *mut ::std::os::raw::c_void,
2796        ) -> OrtStatusPtr,
2797    >,
2798    pub AllocatorGetInfo: ::std::option::Option<
2799        unsafe extern "C" fn(
2800            ort_allocator: *const OrtAllocator,
2801            out: *mut *const OrtMemoryInfo,
2802        ) -> OrtStatusPtr,
2803    >,
2804    pub GetAllocatorWithDefaultOptions:
2805        ::std::option::Option<unsafe extern "C" fn(out: *mut *mut OrtAllocator) -> OrtStatusPtr>,
2806    pub AddFreeDimensionOverride: ::std::option::Option<
2807        unsafe extern "C" fn(
2808            options: *mut OrtSessionOptions,
2809            dim_denotation: *const ::std::os::raw::c_char,
2810            dim_value: i64,
2811        ) -> OrtStatusPtr,
2812    >,
2813    pub GetValue: ::std::option::Option<
2814        unsafe extern "C" fn(
2815            value: *const OrtValue,
2816            index: ::std::os::raw::c_int,
2817            allocator: *mut OrtAllocator,
2818            out: *mut *mut OrtValue,
2819        ) -> OrtStatusPtr,
2820    >,
2821    pub GetValueCount: ::std::option::Option<
2822        unsafe extern "C" fn(value: *const OrtValue, out: *mut usize) -> OrtStatusPtr,
2823    >,
2824    pub CreateValue: ::std::option::Option<
2825        unsafe extern "C" fn(
2826            in_: *const *const OrtValue,
2827            num_values: usize,
2828            value_type: ONNXType,
2829            out: *mut *mut OrtValue,
2830        ) -> OrtStatusPtr,
2831    >,
2832    pub CreateOpaqueValue: ::std::option::Option<
2833        unsafe extern "C" fn(
2834            domain_name: *const ::std::os::raw::c_char,
2835            type_name: *const ::std::os::raw::c_char,
2836            data_container: *const ::std::os::raw::c_void,
2837            data_container_size: usize,
2838            out: *mut *mut OrtValue,
2839        ) -> OrtStatusPtr,
2840    >,
2841    pub GetOpaqueValue: ::std::option::Option<
2842        unsafe extern "C" fn(
2843            domain_name: *const ::std::os::raw::c_char,
2844            type_name: *const ::std::os::raw::c_char,
2845            in_: *const OrtValue,
2846            data_container: *mut ::std::os::raw::c_void,
2847            data_container_size: usize,
2848        ) -> OrtStatusPtr,
2849    >,
2850    pub KernelInfoGetAttribute_float: ::std::option::Option<
2851        unsafe extern "C" fn(
2852            info: *const OrtKernelInfo,
2853            name: *const ::std::os::raw::c_char,
2854            out: *mut f32,
2855        ) -> OrtStatusPtr,
2856    >,
2857    pub KernelInfoGetAttribute_int64: ::std::option::Option<
2858        unsafe extern "C" fn(
2859            info: *const OrtKernelInfo,
2860            name: *const ::std::os::raw::c_char,
2861            out: *mut i64,
2862        ) -> OrtStatusPtr,
2863    >,
2864    pub KernelInfoGetAttribute_string: ::std::option::Option<
2865        unsafe extern "C" fn(
2866            info: *const OrtKernelInfo,
2867            name: *const ::std::os::raw::c_char,
2868            out: *mut ::std::os::raw::c_char,
2869            size: *mut usize,
2870        ) -> OrtStatusPtr,
2871    >,
2872    pub KernelContext_GetInputCount: ::std::option::Option<
2873        unsafe extern "C" fn(context: *const OrtKernelContext, out: *mut usize) -> OrtStatusPtr,
2874    >,
2875    pub KernelContext_GetOutputCount: ::std::option::Option<
2876        unsafe extern "C" fn(context: *const OrtKernelContext, out: *mut usize) -> OrtStatusPtr,
2877    >,
2878    pub KernelContext_GetInput: ::std::option::Option<
2879        unsafe extern "C" fn(
2880            context: *const OrtKernelContext,
2881            index: usize,
2882            out: *mut *const OrtValue,
2883        ) -> OrtStatusPtr,
2884    >,
2885    pub KernelContext_GetOutput: ::std::option::Option<
2886        unsafe extern "C" fn(
2887            context: *mut OrtKernelContext,
2888            index: usize,
2889            dim_values: *const i64,
2890            dim_count: usize,
2891            out: *mut *mut OrtValue,
2892        ) -> OrtStatusPtr,
2893    >,
2894    pub ReleaseEnv: ::std::option::Option<unsafe extern "C" fn(input: *mut OrtEnv)>,
2895    pub ReleaseStatus: ::std::option::Option<unsafe extern "C" fn(input: *mut OrtStatus)>,
2896    pub ReleaseMemoryInfo: ::std::option::Option<unsafe extern "C" fn(input: *mut OrtMemoryInfo)>,
2897    pub ReleaseSession: ::std::option::Option<unsafe extern "C" fn(input: *mut OrtSession)>,
2898    pub ReleaseValue: ::std::option::Option<unsafe extern "C" fn(input: *mut OrtValue)>,
2899    pub ReleaseRunOptions: ::std::option::Option<unsafe extern "C" fn(input: *mut OrtRunOptions)>,
2900    pub ReleaseTypeInfo: ::std::option::Option<unsafe extern "C" fn(input: *mut OrtTypeInfo)>,
2901    pub ReleaseTensorTypeAndShapeInfo:
2902        ::std::option::Option<unsafe extern "C" fn(input: *mut OrtTensorTypeAndShapeInfo)>,
2903    pub ReleaseSessionOptions:
2904        ::std::option::Option<unsafe extern "C" fn(input: *mut OrtSessionOptions)>,
2905    pub ReleaseCustomOpDomain:
2906        ::std::option::Option<unsafe extern "C" fn(input: *mut OrtCustomOpDomain)>,
2907    pub GetDenotationFromTypeInfo: ::std::option::Option<
2908        unsafe extern "C" fn(
2909            type_info: *const OrtTypeInfo,
2910            denotation: *mut *const ::std::os::raw::c_char,
2911            len: *mut usize,
2912        ) -> OrtStatusPtr,
2913    >,
2914    pub CastTypeInfoToMapTypeInfo: ::std::option::Option<
2915        unsafe extern "C" fn(
2916            type_info: *const OrtTypeInfo,
2917            out: *mut *const OrtMapTypeInfo,
2918        ) -> OrtStatusPtr,
2919    >,
2920    pub CastTypeInfoToSequenceTypeInfo: ::std::option::Option<
2921        unsafe extern "C" fn(
2922            type_info: *const OrtTypeInfo,
2923            out: *mut *const OrtSequenceTypeInfo,
2924        ) -> OrtStatusPtr,
2925    >,
2926    pub GetMapKeyType: ::std::option::Option<
2927        unsafe extern "C" fn(
2928            map_type_info: *const OrtMapTypeInfo,
2929            out: *mut ONNXTensorElementDataType,
2930        ) -> OrtStatusPtr,
2931    >,
2932    pub GetMapValueType: ::std::option::Option<
2933        unsafe extern "C" fn(
2934            map_type_info: *const OrtMapTypeInfo,
2935            type_info: *mut *mut OrtTypeInfo,
2936        ) -> OrtStatusPtr,
2937    >,
2938    pub GetSequenceElementType: ::std::option::Option<
2939        unsafe extern "C" fn(
2940            sequence_type_info: *const OrtSequenceTypeInfo,
2941            type_info: *mut *mut OrtTypeInfo,
2942        ) -> OrtStatusPtr,
2943    >,
2944    pub ReleaseMapTypeInfo: ::std::option::Option<unsafe extern "C" fn(input: *mut OrtMapTypeInfo)>,
2945    pub ReleaseSequenceTypeInfo:
2946        ::std::option::Option<unsafe extern "C" fn(input: *mut OrtSequenceTypeInfo)>,
2947    pub SessionEndProfiling: ::std::option::Option<
2948        unsafe extern "C" fn(
2949            session: *mut OrtSession,
2950            allocator: *mut OrtAllocator,
2951            out: *mut *mut ::std::os::raw::c_char,
2952        ) -> OrtStatusPtr,
2953    >,
2954    pub SessionGetModelMetadata: ::std::option::Option<
2955        unsafe extern "C" fn(
2956            session: *const OrtSession,
2957            out: *mut *mut OrtModelMetadata,
2958        ) -> OrtStatusPtr,
2959    >,
2960    pub ModelMetadataGetProducerName: ::std::option::Option<
2961        unsafe extern "C" fn(
2962            model_metadata: *const OrtModelMetadata,
2963            allocator: *mut OrtAllocator,
2964            value: *mut *mut ::std::os::raw::c_char,
2965        ) -> OrtStatusPtr,
2966    >,
2967    pub ModelMetadataGetGraphName: ::std::option::Option<
2968        unsafe extern "C" fn(
2969            model_metadata: *const OrtModelMetadata,
2970            allocator: *mut OrtAllocator,
2971            value: *mut *mut ::std::os::raw::c_char,
2972        ) -> OrtStatusPtr,
2973    >,
2974    pub ModelMetadataGetDomain: ::std::option::Option<
2975        unsafe extern "C" fn(
2976            model_metadata: *const OrtModelMetadata,
2977            allocator: *mut OrtAllocator,
2978            value: *mut *mut ::std::os::raw::c_char,
2979        ) -> OrtStatusPtr,
2980    >,
2981    pub ModelMetadataGetDescription: ::std::option::Option<
2982        unsafe extern "C" fn(
2983            model_metadata: *const OrtModelMetadata,
2984            allocator: *mut OrtAllocator,
2985            value: *mut *mut ::std::os::raw::c_char,
2986        ) -> OrtStatusPtr,
2987    >,
2988    pub ModelMetadataLookupCustomMetadataMap: ::std::option::Option<
2989        unsafe extern "C" fn(
2990            model_metadata: *const OrtModelMetadata,
2991            allocator: *mut OrtAllocator,
2992            key: *const ::std::os::raw::c_char,
2993            value: *mut *mut ::std::os::raw::c_char,
2994        ) -> OrtStatusPtr,
2995    >,
2996    pub ModelMetadataGetVersion: ::std::option::Option<
2997        unsafe extern "C" fn(
2998            model_metadata: *const OrtModelMetadata,
2999            value: *mut i64,
3000        ) -> OrtStatusPtr,
3001    >,
3002    pub ReleaseModelMetadata:
3003        ::std::option::Option<unsafe extern "C" fn(input: *mut OrtModelMetadata)>,
3004    pub CreateEnvWithGlobalThreadPools: ::std::option::Option<
3005        unsafe extern "C" fn(
3006            log_severity_level: OrtLoggingLevel,
3007            logid: *const ::std::os::raw::c_char,
3008            tp_options: *const OrtThreadingOptions,
3009            out: *mut *mut OrtEnv,
3010        ) -> OrtStatusPtr,
3011    >,
3012    pub DisablePerSessionThreads: ::std::option::Option<
3013        unsafe extern "C" fn(options: *mut OrtSessionOptions) -> OrtStatusPtr,
3014    >,
3015    pub CreateThreadingOptions: ::std::option::Option<
3016        unsafe extern "C" fn(out: *mut *mut OrtThreadingOptions) -> OrtStatusPtr,
3017    >,
3018    pub ReleaseThreadingOptions:
3019        ::std::option::Option<unsafe extern "C" fn(input: *mut OrtThreadingOptions)>,
3020    pub ModelMetadataGetCustomMetadataMapKeys: ::std::option::Option<
3021        unsafe extern "C" fn(
3022            model_metadata: *const OrtModelMetadata,
3023            allocator: *mut OrtAllocator,
3024            keys: *mut *mut *mut ::std::os::raw::c_char,
3025            num_keys: *mut i64,
3026        ) -> OrtStatusPtr,
3027    >,
3028    pub AddFreeDimensionOverrideByName: ::std::option::Option<
3029        unsafe extern "C" fn(
3030            options: *mut OrtSessionOptions,
3031            dim_name: *const ::std::os::raw::c_char,
3032            dim_value: i64,
3033        ) -> OrtStatusPtr,
3034    >,
3035    pub GetAvailableProviders: ::std::option::Option<
3036        unsafe extern "C" fn(
3037            out_ptr: *mut *mut *mut ::std::os::raw::c_char,
3038            provider_length: *mut ::std::os::raw::c_int,
3039        ) -> OrtStatusPtr,
3040    >,
3041    pub ReleaseAvailableProviders: ::std::option::Option<
3042        unsafe extern "C" fn(
3043            ptr: *mut *mut ::std::os::raw::c_char,
3044            providers_length: ::std::os::raw::c_int,
3045        ) -> OrtStatusPtr,
3046    >,
3047    pub GetStringTensorElementLength: ::std::option::Option<
3048        unsafe extern "C" fn(value: *const OrtValue, index: usize, out: *mut usize) -> OrtStatusPtr,
3049    >,
3050    pub GetStringTensorElement: ::std::option::Option<
3051        unsafe extern "C" fn(
3052            value: *const OrtValue,
3053            s_len: usize,
3054            index: usize,
3055            s: *mut ::std::os::raw::c_void,
3056        ) -> OrtStatusPtr,
3057    >,
3058    pub FillStringTensorElement: ::std::option::Option<
3059        unsafe extern "C" fn(
3060            value: *mut OrtValue,
3061            s: *const ::std::os::raw::c_char,
3062            index: usize,
3063        ) -> OrtStatusPtr,
3064    >,
3065    pub AddSessionConfigEntry: ::std::option::Option<
3066        unsafe extern "C" fn(
3067            options: *mut OrtSessionOptions,
3068            config_key: *const ::std::os::raw::c_char,
3069            config_value: *const ::std::os::raw::c_char,
3070        ) -> OrtStatusPtr,
3071    >,
3072    pub CreateAllocator: ::std::option::Option<
3073        unsafe extern "C" fn(
3074            session: *const OrtSession,
3075            mem_info: *const OrtMemoryInfo,
3076            out: *mut *mut OrtAllocator,
3077        ) -> OrtStatusPtr,
3078    >,
3079    pub ReleaseAllocator: ::std::option::Option<unsafe extern "C" fn(input: *mut OrtAllocator)>,
3080    pub RunWithBinding: ::std::option::Option<
3081        unsafe extern "C" fn(
3082            session: *mut OrtSession,
3083            run_options: *const OrtRunOptions,
3084            binding_ptr: *const OrtIoBinding,
3085        ) -> OrtStatusPtr,
3086    >,
3087    pub CreateIoBinding: ::std::option::Option<
3088        unsafe extern "C" fn(session: *mut OrtSession, out: *mut *mut OrtIoBinding) -> OrtStatusPtr,
3089    >,
3090    pub ReleaseIoBinding: ::std::option::Option<unsafe extern "C" fn(input: *mut OrtIoBinding)>,
3091    pub BindInput: ::std::option::Option<
3092        unsafe extern "C" fn(
3093            binding_ptr: *mut OrtIoBinding,
3094            name: *const ::std::os::raw::c_char,
3095            val_ptr: *const OrtValue,
3096        ) -> OrtStatusPtr,
3097    >,
3098    pub BindOutput: ::std::option::Option<
3099        unsafe extern "C" fn(
3100            binding_ptr: *mut OrtIoBinding,
3101            name: *const ::std::os::raw::c_char,
3102            val_ptr: *const OrtValue,
3103        ) -> OrtStatusPtr,
3104    >,
3105    pub BindOutputToDevice: ::std::option::Option<
3106        unsafe extern "C" fn(
3107            binding_ptr: *mut OrtIoBinding,
3108            name: *const ::std::os::raw::c_char,
3109            mem_info_ptr: *const OrtMemoryInfo,
3110        ) -> OrtStatusPtr,
3111    >,
3112    pub GetBoundOutputNames: ::std::option::Option<
3113        unsafe extern "C" fn(
3114            binding_ptr: *const OrtIoBinding,
3115            allocator: *mut OrtAllocator,
3116            buffer: *mut *mut ::std::os::raw::c_char,
3117            lengths: *mut *mut usize,
3118            count: *mut usize,
3119        ) -> OrtStatusPtr,
3120    >,
3121    pub GetBoundOutputValues: ::std::option::Option<
3122        unsafe extern "C" fn(
3123            binding_ptr: *const OrtIoBinding,
3124            allocator: *mut OrtAllocator,
3125            output: *mut *mut *mut OrtValue,
3126            output_count: *mut usize,
3127        ) -> OrtStatusPtr,
3128    >,
3129    #[doc = " \\brief Clears any previously set Inputs for an ::OrtIoBinding"]
3130    pub ClearBoundInputs:
3131        ::std::option::Option<unsafe extern "C" fn(binding_ptr: *mut OrtIoBinding)>,
3132    #[doc = " \\brief Clears any previously set Outputs for an ::OrtIoBinding"]
3133    pub ClearBoundOutputs:
3134        ::std::option::Option<unsafe extern "C" fn(binding_ptr: *mut OrtIoBinding)>,
3135    pub TensorAt: ::std::option::Option<
3136        unsafe extern "C" fn(
3137            value: *mut OrtValue,
3138            location_values: *const i64,
3139            location_values_count: usize,
3140            out: *mut *mut ::std::os::raw::c_void,
3141        ) -> OrtStatusPtr,
3142    >,
3143    pub CreateAndRegisterAllocator: ::std::option::Option<
3144        unsafe extern "C" fn(
3145            env: *mut OrtEnv,
3146            mem_info: *const OrtMemoryInfo,
3147            arena_cfg: *const OrtArenaCfg,
3148        ) -> OrtStatusPtr,
3149    >,
3150    pub SetLanguageProjection: ::std::option::Option<
3151        unsafe extern "C" fn(
3152            ort_env: *const OrtEnv,
3153            projection: OrtLanguageProjection,
3154        ) -> OrtStatusPtr,
3155    >,
3156    pub SessionGetProfilingStartTimeNs: ::std::option::Option<
3157        unsafe extern "C" fn(session: *const OrtSession, out: *mut u64) -> OrtStatusPtr,
3158    >,
3159    pub SetGlobalIntraOpNumThreads: ::std::option::Option<
3160        unsafe extern "C" fn(
3161            tp_options: *mut OrtThreadingOptions,
3162            intra_op_num_threads: ::std::os::raw::c_int,
3163        ) -> OrtStatusPtr,
3164    >,
3165    pub SetGlobalInterOpNumThreads: ::std::option::Option<
3166        unsafe extern "C" fn(
3167            tp_options: *mut OrtThreadingOptions,
3168            inter_op_num_threads: ::std::os::raw::c_int,
3169        ) -> OrtStatusPtr,
3170    >,
3171    pub SetGlobalSpinControl: ::std::option::Option<
3172        unsafe extern "C" fn(
3173            tp_options: *mut OrtThreadingOptions,
3174            allow_spinning: ::std::os::raw::c_int,
3175        ) -> OrtStatusPtr,
3176    >,
3177    pub AddInitializer: ::std::option::Option<
3178        unsafe extern "C" fn(
3179            options: *mut OrtSessionOptions,
3180            name: *const ::std::os::raw::c_char,
3181            val: *const OrtValue,
3182        ) -> OrtStatusPtr,
3183    >,
3184    pub CreateEnvWithCustomLoggerAndGlobalThreadPools: ::std::option::Option<
3185        unsafe extern "C" fn(
3186            logging_function: OrtLoggingFunction,
3187            logger_param: *mut ::std::os::raw::c_void,
3188            log_severity_level: OrtLoggingLevel,
3189            logid: *const ::std::os::raw::c_char,
3190            tp_options: *const OrtThreadingOptions,
3191            out: *mut *mut OrtEnv,
3192        ) -> OrtStatusPtr,
3193    >,
3194    pub SessionOptionsAppendExecutionProvider_CUDA: ::std::option::Option<
3195        unsafe extern "C" fn(
3196            options: *mut OrtSessionOptions,
3197            cuda_options: *const OrtCUDAProviderOptions,
3198        ) -> OrtStatusPtr,
3199    >,
3200    pub SessionOptionsAppendExecutionProvider_ROCM: ::std::option::Option<
3201        unsafe extern "C" fn(
3202            options: *mut OrtSessionOptions,
3203            rocm_options: *const OrtROCMProviderOptions,
3204        ) -> OrtStatusPtr,
3205    >,
3206    pub SessionOptionsAppendExecutionProvider_OpenVINO: ::std::option::Option<
3207        unsafe extern "C" fn(
3208            options: *mut OrtSessionOptions,
3209            provider_options: *const OrtOpenVINOProviderOptions,
3210        ) -> OrtStatusPtr,
3211    >,
3212    pub SetGlobalDenormalAsZero: ::std::option::Option<
3213        unsafe extern "C" fn(tp_options: *mut OrtThreadingOptions) -> OrtStatusPtr,
3214    >,
3215    pub CreateArenaCfg: ::std::option::Option<
3216        unsafe extern "C" fn(
3217            max_mem: usize,
3218            arena_extend_strategy: ::std::os::raw::c_int,
3219            initial_chunk_size_bytes: ::std::os::raw::c_int,
3220            max_dead_bytes_per_chunk: ::std::os::raw::c_int,
3221            out: *mut *mut OrtArenaCfg,
3222        ) -> OrtStatusPtr,
3223    >,
3224    pub ReleaseArenaCfg: ::std::option::Option<unsafe extern "C" fn(input: *mut OrtArenaCfg)>,
3225    pub ModelMetadataGetGraphDescription: ::std::option::Option<
3226        unsafe extern "C" fn(
3227            model_metadata: *const OrtModelMetadata,
3228            allocator: *mut OrtAllocator,
3229            value: *mut *mut ::std::os::raw::c_char,
3230        ) -> OrtStatusPtr,
3231    >,
3232    pub SessionOptionsAppendExecutionProvider_TensorRT: ::std::option::Option<
3233        unsafe extern "C" fn(
3234            options: *mut OrtSessionOptions,
3235            tensorrt_options: *const OrtTensorRTProviderOptions,
3236        ) -> OrtStatusPtr,
3237    >,
3238    pub SetCurrentGpuDeviceId: ::std::option::Option<
3239        unsafe extern "C" fn(device_id: ::std::os::raw::c_int) -> OrtStatusPtr,
3240    >,
3241    pub GetCurrentGpuDeviceId: ::std::option::Option<
3242        unsafe extern "C" fn(device_id: *mut ::std::os::raw::c_int) -> OrtStatusPtr,
3243    >,
3244    pub KernelInfoGetAttributeArray_float: ::std::option::Option<
3245        unsafe extern "C" fn(
3246            info: *const OrtKernelInfo,
3247            name: *const ::std::os::raw::c_char,
3248            out: *mut f32,
3249            size: *mut usize,
3250        ) -> OrtStatusPtr,
3251    >,
3252    pub KernelInfoGetAttributeArray_int64: ::std::option::Option<
3253        unsafe extern "C" fn(
3254            info: *const OrtKernelInfo,
3255            name: *const ::std::os::raw::c_char,
3256            out: *mut i64,
3257            size: *mut usize,
3258        ) -> OrtStatusPtr,
3259    >,
3260    pub CreateArenaCfgV2: ::std::option::Option<
3261        unsafe extern "C" fn(
3262            arena_config_keys: *const *const ::std::os::raw::c_char,
3263            arena_config_values: *const usize,
3264            num_keys: usize,
3265            out: *mut *mut OrtArenaCfg,
3266        ) -> OrtStatusPtr,
3267    >,
3268    pub AddRunConfigEntry: ::std::option::Option<
3269        unsafe extern "C" fn(
3270            options: *mut OrtRunOptions,
3271            config_key: *const ::std::os::raw::c_char,
3272            config_value: *const ::std::os::raw::c_char,
3273        ) -> OrtStatusPtr,
3274    >,
3275    pub CreatePrepackedWeightsContainer: ::std::option::Option<
3276        unsafe extern "C" fn(out: *mut *mut OrtPrepackedWeightsContainer) -> OrtStatusPtr,
3277    >,
3278    pub ReleasePrepackedWeightsContainer:
3279        ::std::option::Option<unsafe extern "C" fn(input: *mut OrtPrepackedWeightsContainer)>,
3280    pub CreateSessionWithPrepackedWeightsContainer: ::std::option::Option<
3281        unsafe extern "C" fn(
3282            env: *const OrtEnv,
3283            model_path: *const ::std::os::raw::c_char,
3284            options: *const OrtSessionOptions,
3285            prepacked_weights_container: *mut OrtPrepackedWeightsContainer,
3286            out: *mut *mut OrtSession,
3287        ) -> OrtStatusPtr,
3288    >,
3289    pub CreateSessionFromArrayWithPrepackedWeightsContainer: ::std::option::Option<
3290        unsafe extern "C" fn(
3291            env: *const OrtEnv,
3292            model_data: *const ::std::os::raw::c_void,
3293            model_data_length: usize,
3294            options: *const OrtSessionOptions,
3295            prepacked_weights_container: *mut OrtPrepackedWeightsContainer,
3296            out: *mut *mut OrtSession,
3297        ) -> OrtStatusPtr,
3298    >,
3299    pub SessionOptionsAppendExecutionProvider_TensorRT_V2: ::std::option::Option<
3300        unsafe extern "C" fn(
3301            options: *mut OrtSessionOptions,
3302            tensorrt_options: *const OrtTensorRTProviderOptionsV2,
3303        ) -> OrtStatusPtr,
3304    >,
3305    pub CreateTensorRTProviderOptions: ::std::option::Option<
3306        unsafe extern "C" fn(out: *mut *mut OrtTensorRTProviderOptionsV2) -> OrtStatusPtr,
3307    >,
3308    pub UpdateTensorRTProviderOptions: ::std::option::Option<
3309        unsafe extern "C" fn(
3310            tensorrt_options: *mut OrtTensorRTProviderOptionsV2,
3311            provider_options_keys: *const *const ::std::os::raw::c_char,
3312            provider_options_values: *const *const ::std::os::raw::c_char,
3313            num_keys: usize,
3314        ) -> OrtStatusPtr,
3315    >,
3316    pub GetTensorRTProviderOptionsAsString: ::std::option::Option<
3317        unsafe extern "C" fn(
3318            tensorrt_options: *const OrtTensorRTProviderOptionsV2,
3319            allocator: *mut OrtAllocator,
3320            ptr: *mut *mut ::std::os::raw::c_char,
3321        ) -> OrtStatusPtr,
3322    >,
3323    #[doc = " \\brief Release an ::OrtTensorRTProviderOptionsV2\n\n \\note This is an exception in the naming convention of other Release* functions, as the name of the method does not have the V2 suffix, but the type does"]
3324    pub ReleaseTensorRTProviderOptions:
3325        ::std::option::Option<unsafe extern "C" fn(input: *mut OrtTensorRTProviderOptionsV2)>,
3326    pub EnableOrtCustomOps: ::std::option::Option<
3327        unsafe extern "C" fn(options: *mut OrtSessionOptions) -> OrtStatusPtr,
3328    >,
3329    pub RegisterAllocator: ::std::option::Option<
3330        unsafe extern "C" fn(env: *mut OrtEnv, allocator: *mut OrtAllocator) -> OrtStatusPtr,
3331    >,
3332    pub UnregisterAllocator: ::std::option::Option<
3333        unsafe extern "C" fn(env: *mut OrtEnv, mem_info: *const OrtMemoryInfo) -> OrtStatusPtr,
3334    >,
3335    pub IsSparseTensor: ::std::option::Option<
3336        unsafe extern "C" fn(
3337            value: *const OrtValue,
3338            out: *mut ::std::os::raw::c_int,
3339        ) -> OrtStatusPtr,
3340    >,
3341    pub CreateSparseTensorAsOrtValue: ::std::option::Option<
3342        unsafe extern "C" fn(
3343            allocator: *mut OrtAllocator,
3344            dense_shape: *const i64,
3345            dense_shape_len: usize,
3346            type_: ONNXTensorElementDataType,
3347            out: *mut *mut OrtValue,
3348        ) -> OrtStatusPtr,
3349    >,
3350    pub FillSparseTensorCoo: ::std::option::Option<
3351        unsafe extern "C" fn(
3352            ort_value: *mut OrtValue,
3353            data_mem_info: *const OrtMemoryInfo,
3354            values_shape: *const i64,
3355            values_shape_len: usize,
3356            values: *const ::std::os::raw::c_void,
3357            indices_data: *const i64,
3358            indices_num: usize,
3359        ) -> OrtStatusPtr,
3360    >,
3361    pub FillSparseTensorCsr: ::std::option::Option<
3362        unsafe extern "C" fn(
3363            ort_value: *mut OrtValue,
3364            data_mem_info: *const OrtMemoryInfo,
3365            values_shape: *const i64,
3366            values_shape_len: usize,
3367            values: *const ::std::os::raw::c_void,
3368            inner_indices_data: *const i64,
3369            inner_indices_num: usize,
3370            outer_indices_data: *const i64,
3371            outer_indices_num: usize,
3372        ) -> OrtStatusPtr,
3373    >,
3374    pub FillSparseTensorBlockSparse: ::std::option::Option<
3375        unsafe extern "C" fn(
3376            ort_value: *mut OrtValue,
3377            data_mem_info: *const OrtMemoryInfo,
3378            values_shape: *const i64,
3379            values_shape_len: usize,
3380            values: *const ::std::os::raw::c_void,
3381            indices_shape_data: *const i64,
3382            indices_shape_len: usize,
3383            indices_data: *const i32,
3384        ) -> OrtStatusPtr,
3385    >,
3386    pub CreateSparseTensorWithValuesAsOrtValue: ::std::option::Option<
3387        unsafe extern "C" fn(
3388            info: *const OrtMemoryInfo,
3389            p_data: *mut ::std::os::raw::c_void,
3390            dense_shape: *const i64,
3391            dense_shape_len: usize,
3392            values_shape: *const i64,
3393            values_shape_len: usize,
3394            type_: ONNXTensorElementDataType,
3395            out: *mut *mut OrtValue,
3396        ) -> OrtStatusPtr,
3397    >,
3398    pub UseCooIndices: ::std::option::Option<
3399        unsafe extern "C" fn(
3400            ort_value: *mut OrtValue,
3401            indices_data: *mut i64,
3402            indices_num: usize,
3403        ) -> OrtStatusPtr,
3404    >,
3405    pub UseCsrIndices: ::std::option::Option<
3406        unsafe extern "C" fn(
3407            ort_value: *mut OrtValue,
3408            inner_data: *mut i64,
3409            inner_num: usize,
3410            outer_data: *mut i64,
3411            outer_num: usize,
3412        ) -> OrtStatusPtr,
3413    >,
3414    pub UseBlockSparseIndices: ::std::option::Option<
3415        unsafe extern "C" fn(
3416            ort_value: *mut OrtValue,
3417            indices_shape: *const i64,
3418            indices_shape_len: usize,
3419            indices_data: *mut i32,
3420        ) -> OrtStatusPtr,
3421    >,
3422    pub GetSparseTensorFormat: ::std::option::Option<
3423        unsafe extern "C" fn(ort_value: *const OrtValue, out: *mut OrtSparseFormat) -> OrtStatusPtr,
3424    >,
3425    pub GetSparseTensorValuesTypeAndShape: ::std::option::Option<
3426        unsafe extern "C" fn(
3427            ort_value: *const OrtValue,
3428            out: *mut *mut OrtTensorTypeAndShapeInfo,
3429        ) -> OrtStatusPtr,
3430    >,
3431    pub GetSparseTensorValues: ::std::option::Option<
3432        unsafe extern "C" fn(
3433            ort_value: *const OrtValue,
3434            out: *mut *const ::std::os::raw::c_void,
3435        ) -> OrtStatusPtr,
3436    >,
3437    pub GetSparseTensorIndicesTypeShape: ::std::option::Option<
3438        unsafe extern "C" fn(
3439            ort_value: *const OrtValue,
3440            indices_format: OrtSparseIndicesFormat,
3441            out: *mut *mut OrtTensorTypeAndShapeInfo,
3442        ) -> OrtStatusPtr,
3443    >,
3444    pub GetSparseTensorIndices: ::std::option::Option<
3445        unsafe extern "C" fn(
3446            ort_value: *const OrtValue,
3447            indices_format: OrtSparseIndicesFormat,
3448            num_indices: *mut usize,
3449            indices: *mut *const ::std::os::raw::c_void,
3450        ) -> OrtStatusPtr,
3451    >,
3452    pub HasValue: ::std::option::Option<
3453        unsafe extern "C" fn(
3454            value: *const OrtValue,
3455            out: *mut ::std::os::raw::c_int,
3456        ) -> OrtStatusPtr,
3457    >,
3458    pub KernelContext_GetGPUComputeStream: ::std::option::Option<
3459        unsafe extern "C" fn(
3460            context: *const OrtKernelContext,
3461            out: *mut *mut ::std::os::raw::c_void,
3462        ) -> OrtStatusPtr,
3463    >,
3464    pub GetTensorMemoryInfo: ::std::option::Option<
3465        unsafe extern "C" fn(
3466            value: *const OrtValue,
3467            mem_info: *mut *const OrtMemoryInfo,
3468        ) -> OrtStatusPtr,
3469    >,
3470    pub GetExecutionProviderApi: ::std::option::Option<
3471        unsafe extern "C" fn(
3472            provider_name: *const ::std::os::raw::c_char,
3473            version: u32,
3474            provider_api: *mut *const ::std::os::raw::c_void,
3475        ) -> OrtStatusPtr,
3476    >,
3477    pub SessionOptionsSetCustomCreateThreadFn: ::std::option::Option<
3478        unsafe extern "C" fn(
3479            options: *mut OrtSessionOptions,
3480            ort_custom_create_thread_fn: OrtCustomCreateThreadFn,
3481        ) -> OrtStatusPtr,
3482    >,
3483    pub SessionOptionsSetCustomThreadCreationOptions: ::std::option::Option<
3484        unsafe extern "C" fn(
3485            options: *mut OrtSessionOptions,
3486            ort_custom_thread_creation_options: *mut ::std::os::raw::c_void,
3487        ) -> OrtStatusPtr,
3488    >,
3489    pub SessionOptionsSetCustomJoinThreadFn: ::std::option::Option<
3490        unsafe extern "C" fn(
3491            options: *mut OrtSessionOptions,
3492            ort_custom_join_thread_fn: OrtCustomJoinThreadFn,
3493        ) -> OrtStatusPtr,
3494    >,
3495    pub SetGlobalCustomCreateThreadFn: ::std::option::Option<
3496        unsafe extern "C" fn(
3497            tp_options: *mut OrtThreadingOptions,
3498            ort_custom_create_thread_fn: OrtCustomCreateThreadFn,
3499        ) -> OrtStatusPtr,
3500    >,
3501    pub SetGlobalCustomThreadCreationOptions: ::std::option::Option<
3502        unsafe extern "C" fn(
3503            tp_options: *mut OrtThreadingOptions,
3504            ort_custom_thread_creation_options: *mut ::std::os::raw::c_void,
3505        ) -> OrtStatusPtr,
3506    >,
3507    pub SetGlobalCustomJoinThreadFn: ::std::option::Option<
3508        unsafe extern "C" fn(
3509            tp_options: *mut OrtThreadingOptions,
3510            ort_custom_join_thread_fn: OrtCustomJoinThreadFn,
3511        ) -> OrtStatusPtr,
3512    >,
3513    pub SynchronizeBoundInputs:
3514        ::std::option::Option<unsafe extern "C" fn(binding_ptr: *mut OrtIoBinding) -> OrtStatusPtr>,
3515    pub SynchronizeBoundOutputs:
3516        ::std::option::Option<unsafe extern "C" fn(binding_ptr: *mut OrtIoBinding) -> OrtStatusPtr>,
3517    pub SessionOptionsAppendExecutionProvider_CUDA_V2: ::std::option::Option<
3518        unsafe extern "C" fn(
3519            options: *mut OrtSessionOptions,
3520            cuda_options: *const OrtCUDAProviderOptionsV2,
3521        ) -> OrtStatusPtr,
3522    >,
3523    pub CreateCUDAProviderOptions: ::std::option::Option<
3524        unsafe extern "C" fn(out: *mut *mut OrtCUDAProviderOptionsV2) -> OrtStatusPtr,
3525    >,
3526    pub UpdateCUDAProviderOptions: ::std::option::Option<
3527        unsafe extern "C" fn(
3528            cuda_options: *mut OrtCUDAProviderOptionsV2,
3529            provider_options_keys: *const *const ::std::os::raw::c_char,
3530            provider_options_values: *const *const ::std::os::raw::c_char,
3531            num_keys: usize,
3532        ) -> OrtStatusPtr,
3533    >,
3534    pub GetCUDAProviderOptionsAsString: ::std::option::Option<
3535        unsafe extern "C" fn(
3536            cuda_options: *const OrtCUDAProviderOptionsV2,
3537            allocator: *mut OrtAllocator,
3538            ptr: *mut *mut ::std::os::raw::c_char,
3539        ) -> OrtStatusPtr,
3540    >,
3541    #[doc = " \\brief Release an ::OrtCUDAProviderOptionsV2\n\n \\note This is an exception in the naming convention of other Release* functions, as the name of the method does not have the V2 suffix, but the type does\n\n \\since Version 1.11."]
3542    pub ReleaseCUDAProviderOptions:
3543        ::std::option::Option<unsafe extern "C" fn(input: *mut OrtCUDAProviderOptionsV2)>,
3544    pub SessionOptionsAppendExecutionProvider_MIGraphX: ::std::option::Option<
3545        unsafe extern "C" fn(
3546            options: *mut OrtSessionOptions,
3547            migraphx_options: *const OrtMIGraphXProviderOptions,
3548        ) -> OrtStatusPtr,
3549    >,
3550    pub AddExternalInitializers: ::std::option::Option<
3551        unsafe extern "C" fn(
3552            options: *mut OrtSessionOptions,
3553            initializer_names: *const *const ::std::os::raw::c_char,
3554            initializers: *const *const OrtValue,
3555            num_initializers: usize,
3556        ) -> OrtStatusPtr,
3557    >,
3558    pub CreateOpAttr: ::std::option::Option<
3559        unsafe extern "C" fn(
3560            name: *const ::std::os::raw::c_char,
3561            data: *const ::std::os::raw::c_void,
3562            len: ::std::os::raw::c_int,
3563            type_: OrtOpAttrType,
3564            op_attr: *mut *mut OrtOpAttr,
3565        ) -> OrtStatusPtr,
3566    >,
3567    pub ReleaseOpAttr: ::std::option::Option<unsafe extern "C" fn(input: *mut OrtOpAttr)>,
3568    pub CreateOp: ::std::option::Option<
3569        unsafe extern "C" fn(
3570            info: *const OrtKernelInfo,
3571            op_name: *const ::std::os::raw::c_char,
3572            domain: *const ::std::os::raw::c_char,
3573            version: ::std::os::raw::c_int,
3574            type_constraint_names: *mut *const ::std::os::raw::c_char,
3575            type_constraint_values: *const ONNXTensorElementDataType,
3576            type_constraint_count: ::std::os::raw::c_int,
3577            attr_values: *const *const OrtOpAttr,
3578            attr_count: ::std::os::raw::c_int,
3579            input_count: ::std::os::raw::c_int,
3580            output_count: ::std::os::raw::c_int,
3581            ort_op: *mut *mut OrtOp,
3582        ) -> OrtStatusPtr,
3583    >,
3584    pub InvokeOp: ::std::option::Option<
3585        unsafe extern "C" fn(
3586            context: *const OrtKernelContext,
3587            ort_op: *const OrtOp,
3588            input_values: *const *const OrtValue,
3589            input_count: ::std::os::raw::c_int,
3590            output_values: *const *mut OrtValue,
3591            output_count: ::std::os::raw::c_int,
3592        ) -> OrtStatusPtr,
3593    >,
3594    pub ReleaseOp: ::std::option::Option<unsafe extern "C" fn(input: *mut OrtOp)>,
3595    pub SessionOptionsAppendExecutionProvider: ::std::option::Option<
3596        unsafe extern "C" fn(
3597            options: *mut OrtSessionOptions,
3598            provider_name: *const ::std::os::raw::c_char,
3599            provider_options_keys: *const *const ::std::os::raw::c_char,
3600            provider_options_values: *const *const ::std::os::raw::c_char,
3601            num_keys: usize,
3602        ) -> OrtStatusPtr,
3603    >,
3604    pub CopyKernelInfo: ::std::option::Option<
3605        unsafe extern "C" fn(
3606            info: *const OrtKernelInfo,
3607            info_copy: *mut *mut OrtKernelInfo,
3608        ) -> OrtStatusPtr,
3609    >,
3610    pub ReleaseKernelInfo: ::std::option::Option<unsafe extern "C" fn(input: *mut OrtKernelInfo)>,
3611    #[doc = " \\name Ort Training\n @{\n** \\brief Gets the Training C Api struct\n*\n* Call this function to access the ::OrtTrainingApi structure that holds pointers to functions that enable\n* training with onnxruntime.\n* \\note A NULL pointer will be returned and no error message will be printed if the training api\n* is not supported with this build. A NULL pointer will be returned and an error message will be\n* printed if the provided version is unsupported, for example when using a runtime older than the\n* version created with this header file.\n*\n* \\param[in] version Must be ::ORT_API_VERSION\n* \\return The ::OrtTrainingApi struct for the version requested.\n*\n* \\since Version 1.13\n*/"]
3612    pub GetTrainingApi:
3613        ::std::option::Option<unsafe extern "C" fn(version: u32) -> *const OrtTrainingApi>,
3614    pub SessionOptionsAppendExecutionProvider_CANN: ::std::option::Option<
3615        unsafe extern "C" fn(
3616            options: *mut OrtSessionOptions,
3617            cann_options: *const OrtCANNProviderOptions,
3618        ) -> OrtStatusPtr,
3619    >,
3620    pub CreateCANNProviderOptions: ::std::option::Option<
3621        unsafe extern "C" fn(out: *mut *mut OrtCANNProviderOptions) -> OrtStatusPtr,
3622    >,
3623    pub UpdateCANNProviderOptions: ::std::option::Option<
3624        unsafe extern "C" fn(
3625            cann_options: *mut OrtCANNProviderOptions,
3626            provider_options_keys: *const *const ::std::os::raw::c_char,
3627            provider_options_values: *const *const ::std::os::raw::c_char,
3628            num_keys: usize,
3629        ) -> OrtStatusPtr,
3630    >,
3631    pub GetCANNProviderOptionsAsString: ::std::option::Option<
3632        unsafe extern "C" fn(
3633            cann_options: *const OrtCANNProviderOptions,
3634            allocator: *mut OrtAllocator,
3635            ptr: *mut *mut ::std::os::raw::c_char,
3636        ) -> OrtStatusPtr,
3637    >,
3638    #[doc = " \\brief Release an OrtCANNProviderOptions\n\n \\param[in] input The pointer of OrtCANNProviderOptions which will been deleted\n\n \\since Version 1.13."]
3639    pub ReleaseCANNProviderOptions:
3640        ::std::option::Option<unsafe extern "C" fn(input: *mut OrtCANNProviderOptions)>,
3641    pub MemoryInfoGetDeviceType: ::std::option::Option<
3642        unsafe extern "C" fn(ptr: *const OrtMemoryInfo, out: *mut OrtMemoryInfoDeviceType),
3643    >,
3644    pub UpdateEnvWithCustomLogLevel: ::std::option::Option<
3645        unsafe extern "C" fn(
3646            ort_env: *mut OrtEnv,
3647            log_severity_level: OrtLoggingLevel,
3648        ) -> OrtStatusPtr,
3649    >,
3650    pub SetGlobalIntraOpThreadAffinity: ::std::option::Option<
3651        unsafe extern "C" fn(
3652            tp_options: *mut OrtThreadingOptions,
3653            affinity_string: *const ::std::os::raw::c_char,
3654        ) -> OrtStatusPtr,
3655    >,
3656    pub RegisterCustomOpsLibrary_V2: ::std::option::Option<
3657        unsafe extern "C" fn(
3658            options: *mut OrtSessionOptions,
3659            library_name: *const ::std::os::raw::c_char,
3660        ) -> OrtStatusPtr,
3661    >,
3662    pub RegisterCustomOpsUsingFunction: ::std::option::Option<
3663        unsafe extern "C" fn(
3664            options: *mut OrtSessionOptions,
3665            registration_func_name: *const ::std::os::raw::c_char,
3666        ) -> OrtStatusPtr,
3667    >,
3668    pub KernelInfo_GetInputCount: ::std::option::Option<
3669        unsafe extern "C" fn(info: *const OrtKernelInfo, out: *mut usize) -> OrtStatusPtr,
3670    >,
3671    pub KernelInfo_GetOutputCount: ::std::option::Option<
3672        unsafe extern "C" fn(info: *const OrtKernelInfo, out: *mut usize) -> OrtStatusPtr,
3673    >,
3674    pub KernelInfo_GetInputName: ::std::option::Option<
3675        unsafe extern "C" fn(
3676            info: *const OrtKernelInfo,
3677            index: usize,
3678            out: *mut ::std::os::raw::c_char,
3679            size: *mut usize,
3680        ) -> OrtStatusPtr,
3681    >,
3682    pub KernelInfo_GetOutputName: ::std::option::Option<
3683        unsafe extern "C" fn(
3684            info: *const OrtKernelInfo,
3685            index: usize,
3686            out: *mut ::std::os::raw::c_char,
3687            size: *mut usize,
3688        ) -> OrtStatusPtr,
3689    >,
3690    pub KernelInfo_GetInputTypeInfo: ::std::option::Option<
3691        unsafe extern "C" fn(
3692            info: *const OrtKernelInfo,
3693            index: usize,
3694            type_info: *mut *mut OrtTypeInfo,
3695        ) -> OrtStatusPtr,
3696    >,
3697    pub KernelInfo_GetOutputTypeInfo: ::std::option::Option<
3698        unsafe extern "C" fn(
3699            info: *const OrtKernelInfo,
3700            index: usize,
3701            type_info: *mut *mut OrtTypeInfo,
3702        ) -> OrtStatusPtr,
3703    >,
3704    pub KernelInfoGetAttribute_tensor: ::std::option::Option<
3705        unsafe extern "C" fn(
3706            info: *const OrtKernelInfo,
3707            name: *const ::std::os::raw::c_char,
3708            allocator: *mut OrtAllocator,
3709            out: *mut *mut OrtValue,
3710        ) -> OrtStatusPtr,
3711    >,
3712    pub HasSessionConfigEntry: ::std::option::Option<
3713        unsafe extern "C" fn(
3714            options: *const OrtSessionOptions,
3715            config_key: *const ::std::os::raw::c_char,
3716            out: *mut ::std::os::raw::c_int,
3717        ) -> OrtStatusPtr,
3718    >,
3719    pub GetSessionConfigEntry: ::std::option::Option<
3720        unsafe extern "C" fn(
3721            options: *const OrtSessionOptions,
3722            config_key: *const ::std::os::raw::c_char,
3723            config_value: *mut ::std::os::raw::c_char,
3724            size: *mut usize,
3725        ) -> OrtStatusPtr,
3726    >,
3727    pub SessionOptionsAppendExecutionProvider_Dnnl: ::std::option::Option<
3728        unsafe extern "C" fn(
3729            options: *mut OrtSessionOptions,
3730            dnnl_options: *const OrtDnnlProviderOptions,
3731        ) -> OrtStatusPtr,
3732    >,
3733    pub CreateDnnlProviderOptions: ::std::option::Option<
3734        unsafe extern "C" fn(out: *mut *mut OrtDnnlProviderOptions) -> OrtStatusPtr,
3735    >,
3736    pub UpdateDnnlProviderOptions: ::std::option::Option<
3737        unsafe extern "C" fn(
3738            dnnl_options: *mut OrtDnnlProviderOptions,
3739            provider_options_keys: *const *const ::std::os::raw::c_char,
3740            provider_options_values: *const *const ::std::os::raw::c_char,
3741            num_keys: usize,
3742        ) -> OrtStatusPtr,
3743    >,
3744    pub GetDnnlProviderOptionsAsString: ::std::option::Option<
3745        unsafe extern "C" fn(
3746            dnnl_options: *const OrtDnnlProviderOptions,
3747            allocator: *mut OrtAllocator,
3748            ptr: *mut *mut ::std::os::raw::c_char,
3749        ) -> OrtStatusPtr,
3750    >,
3751    #[doc = " \\brief Release an ::OrtDnnlProviderOptions\n\n \\since Version 1.15."]
3752    pub ReleaseDnnlProviderOptions:
3753        ::std::option::Option<unsafe extern "C" fn(input: *mut OrtDnnlProviderOptions)>,
3754    pub KernelInfo_GetNodeName: ::std::option::Option<
3755        unsafe extern "C" fn(
3756            info: *const OrtKernelInfo,
3757            out: *mut ::std::os::raw::c_char,
3758            size: *mut usize,
3759        ) -> OrtStatusPtr,
3760    >,
3761    pub KernelInfo_GetLogger: ::std::option::Option<
3762        unsafe extern "C" fn(
3763            info: *const OrtKernelInfo,
3764            logger: *mut *const OrtLogger,
3765        ) -> OrtStatusPtr,
3766    >,
3767    pub KernelContext_GetLogger: ::std::option::Option<
3768        unsafe extern "C" fn(
3769            context: *const OrtKernelContext,
3770            logger: *mut *const OrtLogger,
3771        ) -> OrtStatusPtr,
3772    >,
3773    pub Logger_LogMessage: ::std::option::Option<
3774        unsafe extern "C" fn(
3775            logger: *const OrtLogger,
3776            log_severity_level: OrtLoggingLevel,
3777            message: *const ::std::os::raw::c_char,
3778            file_path: *const ::std::os::raw::c_char,
3779            line_number: ::std::os::raw::c_int,
3780            func_name: *const ::std::os::raw::c_char,
3781        ) -> OrtStatusPtr,
3782    >,
3783    pub Logger_GetLoggingSeverityLevel: ::std::option::Option<
3784        unsafe extern "C" fn(logger: *const OrtLogger, out: *mut OrtLoggingLevel) -> OrtStatusPtr,
3785    >,
3786    pub KernelInfoGetConstantInput_tensor: ::std::option::Option<
3787        unsafe extern "C" fn(
3788            info: *const OrtKernelInfo,
3789            index: usize,
3790            is_constant: *mut ::std::os::raw::c_int,
3791            out: *mut *const OrtValue,
3792        ) -> OrtStatusPtr,
3793    >,
3794    pub CastTypeInfoToOptionalTypeInfo: ::std::option::Option<
3795        unsafe extern "C" fn(
3796            type_info: *const OrtTypeInfo,
3797            out: *mut *const OrtOptionalTypeInfo,
3798        ) -> OrtStatusPtr,
3799    >,
3800    pub GetOptionalContainedTypeInfo: ::std::option::Option<
3801        unsafe extern "C" fn(
3802            optional_type_info: *const OrtOptionalTypeInfo,
3803            out: *mut *mut OrtTypeInfo,
3804        ) -> OrtStatusPtr,
3805    >,
3806    pub GetResizedStringTensorElementBuffer: ::std::option::Option<
3807        unsafe extern "C" fn(
3808            value: *mut OrtValue,
3809            index: usize,
3810            length_in_bytes: usize,
3811            buffer: *mut *mut ::std::os::raw::c_char,
3812        ) -> OrtStatusPtr,
3813    >,
3814    pub KernelContext_GetAllocator: ::std::option::Option<
3815        unsafe extern "C" fn(
3816            context: *const OrtKernelContext,
3817            mem_info: *const OrtMemoryInfo,
3818            out: *mut *mut OrtAllocator,
3819        ) -> OrtStatusPtr,
3820    >,
3821    #[doc = " \\brief Returns a null terminated string of the build info including git info and cxx flags\n\n \\return UTF-8 encoded version string. Do not deallocate the returned buffer.\n\n \\since Version 1.15."]
3822    pub GetBuildInfoString:
3823        ::std::option::Option<unsafe extern "C" fn() -> *const ::std::os::raw::c_char>,
3824    pub CreateROCMProviderOptions: ::std::option::Option<
3825        unsafe extern "C" fn(out: *mut *mut OrtROCMProviderOptions) -> OrtStatusPtr,
3826    >,
3827    pub UpdateROCMProviderOptions: ::std::option::Option<
3828        unsafe extern "C" fn(
3829            rocm_options: *mut OrtROCMProviderOptions,
3830            provider_options_keys: *const *const ::std::os::raw::c_char,
3831            provider_options_values: *const *const ::std::os::raw::c_char,
3832            num_keys: usize,
3833        ) -> OrtStatusPtr,
3834    >,
3835    pub GetROCMProviderOptionsAsString: ::std::option::Option<
3836        unsafe extern "C" fn(
3837            rocm_options: *const OrtROCMProviderOptions,
3838            allocator: *mut OrtAllocator,
3839            ptr: *mut *mut ::std::os::raw::c_char,
3840        ) -> OrtStatusPtr,
3841    >,
3842    #[doc = " \\brief Release an ::OrtROCMProviderOptions\n\n \\note This is an exception in the naming convention of other Release* functions, as the name of the method does not have the V2 suffix, but the type does\n\n \\since Version 1.16."]
3843    pub ReleaseROCMProviderOptions:
3844        ::std::option::Option<unsafe extern "C" fn(input: *mut OrtROCMProviderOptions)>,
3845    pub CreateAndRegisterAllocatorV2: ::std::option::Option<
3846        unsafe extern "C" fn(
3847            env: *mut OrtEnv,
3848            provider_type: *const ::std::os::raw::c_char,
3849            mem_info: *const OrtMemoryInfo,
3850            arena_cfg: *const OrtArenaCfg,
3851            provider_options_keys: *const *const ::std::os::raw::c_char,
3852            provider_options_values: *const *const ::std::os::raw::c_char,
3853            num_keys: usize,
3854        ) -> OrtStatusPtr,
3855    >,
3856    pub RunAsync: ::std::option::Option<
3857        unsafe extern "C" fn(
3858            session: *mut OrtSession,
3859            run_options: *const OrtRunOptions,
3860            input_names: *const *const ::std::os::raw::c_char,
3861            input: *const *const OrtValue,
3862            input_len: usize,
3863            output_names: *const *const ::std::os::raw::c_char,
3864            output_names_len: usize,
3865            output: *mut *mut OrtValue,
3866            run_async_callback: RunAsyncCallbackFn,
3867            user_data: *mut ::std::os::raw::c_void,
3868        ) -> OrtStatusPtr,
3869    >,
3870    pub UpdateTensorRTProviderOptionsWithValue: ::std::option::Option<
3871        unsafe extern "C" fn(
3872            tensorrt_options: *mut OrtTensorRTProviderOptionsV2,
3873            key: *const ::std::os::raw::c_char,
3874            value: *mut ::std::os::raw::c_void,
3875        ) -> OrtStatusPtr,
3876    >,
3877    pub GetTensorRTProviderOptionsByName: ::std::option::Option<
3878        unsafe extern "C" fn(
3879            tensorrt_options: *const OrtTensorRTProviderOptionsV2,
3880            key: *const ::std::os::raw::c_char,
3881            ptr: *mut *mut ::std::os::raw::c_void,
3882        ) -> OrtStatusPtr,
3883    >,
3884    pub UpdateCUDAProviderOptionsWithValue: ::std::option::Option<
3885        unsafe extern "C" fn(
3886            cuda_options: *mut OrtCUDAProviderOptionsV2,
3887            key: *const ::std::os::raw::c_char,
3888            value: *mut ::std::os::raw::c_void,
3889        ) -> OrtStatusPtr,
3890    >,
3891    pub GetCUDAProviderOptionsByName: ::std::option::Option<
3892        unsafe extern "C" fn(
3893            cuda_options: *const OrtCUDAProviderOptionsV2,
3894            key: *const ::std::os::raw::c_char,
3895            ptr: *mut *mut ::std::os::raw::c_void,
3896        ) -> OrtStatusPtr,
3897    >,
3898    pub KernelContext_GetResource: ::std::option::Option<
3899        unsafe extern "C" fn(
3900            context: *const OrtKernelContext,
3901            resource_version: ::std::os::raw::c_int,
3902            resource_id: ::std::os::raw::c_int,
3903            resource: *mut *mut ::std::os::raw::c_void,
3904        ) -> OrtStatusPtr,
3905    >,
3906    pub SetUserLoggingFunction: ::std::option::Option<
3907        unsafe extern "C" fn(
3908            options: *mut OrtSessionOptions,
3909            user_logging_function: OrtLoggingFunction,
3910            user_logging_param: *mut ::std::os::raw::c_void,
3911        ) -> OrtStatusPtr,
3912    >,
3913    pub ShapeInferContext_GetInputCount: ::std::option::Option<
3914        unsafe extern "C" fn(context: *const OrtShapeInferContext, out: *mut usize) -> OrtStatusPtr,
3915    >,
3916    pub ShapeInferContext_GetInputTypeShape: ::std::option::Option<
3917        unsafe extern "C" fn(
3918            context: *const OrtShapeInferContext,
3919            index: usize,
3920            info: *mut *mut OrtTensorTypeAndShapeInfo,
3921        ) -> OrtStatusPtr,
3922    >,
3923    pub ShapeInferContext_GetAttribute: ::std::option::Option<
3924        unsafe extern "C" fn(
3925            context: *const OrtShapeInferContext,
3926            attr_name: *const ::std::os::raw::c_char,
3927            attr: *mut *const OrtOpAttr,
3928        ) -> OrtStatusPtr,
3929    >,
3930    pub ShapeInferContext_SetOutputTypeShape: ::std::option::Option<
3931        unsafe extern "C" fn(
3932            context: *const OrtShapeInferContext,
3933            index: usize,
3934            info: *const OrtTensorTypeAndShapeInfo,
3935        ) -> OrtStatusPtr,
3936    >,
3937    pub SetSymbolicDimensions: ::std::option::Option<
3938        unsafe extern "C" fn(
3939            info: *mut OrtTensorTypeAndShapeInfo,
3940            dim_params: *mut *const ::std::os::raw::c_char,
3941            dim_params_length: usize,
3942        ) -> OrtStatusPtr,
3943    >,
3944    pub ReadOpAttr: ::std::option::Option<
3945        unsafe extern "C" fn(
3946            op_attr: *const OrtOpAttr,
3947            type_: OrtOpAttrType,
3948            data: *mut ::std::os::raw::c_void,
3949            len: usize,
3950            out: *mut usize,
3951        ) -> OrtStatusPtr,
3952    >,
3953    pub SetDeterministicCompute: ::std::option::Option<
3954        unsafe extern "C" fn(options: *mut OrtSessionOptions, value: bool) -> OrtStatusPtr,
3955    >,
3956    pub KernelContext_ParallelFor: ::std::option::Option<
3957        unsafe extern "C" fn(
3958            context: *const OrtKernelContext,
3959            fn_: ::std::option::Option<
3960                unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void, arg2: usize),
3961            >,
3962            total: usize,
3963            num_batch: usize,
3964            usr_data: *mut ::std::os::raw::c_void,
3965        ) -> OrtStatusPtr,
3966    >,
3967    pub SessionOptionsAppendExecutionProvider_OpenVINO_V2: ::std::option::Option<
3968        unsafe extern "C" fn(
3969            options: *mut OrtSessionOptions,
3970            provider_options_keys: *const *const ::std::os::raw::c_char,
3971            provider_options_values: *const *const ::std::os::raw::c_char,
3972            num_keys: usize,
3973        ) -> OrtStatusPtr,
3974    >,
3975    pub SessionOptionsAppendExecutionProvider_VitisAI: ::std::option::Option<
3976        unsafe extern "C" fn(
3977            options: *mut OrtSessionOptions,
3978            provider_options_keys: *const *const ::std::os::raw::c_char,
3979            provider_options_values: *const *const ::std::os::raw::c_char,
3980            num_keys: usize,
3981        ) -> OrtStatusPtr,
3982    >,
3983    pub KernelContext_GetScratchBuffer: ::std::option::Option<
3984        unsafe extern "C" fn(
3985            context: *const OrtKernelContext,
3986            mem_info: *const OrtMemoryInfo,
3987            count_or_bytes: usize,
3988            out: *mut *mut ::std::os::raw::c_void,
3989        ) -> OrtStatusPtr,
3990    >,
3991    pub KernelInfoGetAllocator: ::std::option::Option<
3992        unsafe extern "C" fn(
3993            info: *const OrtKernelInfo,
3994            mem_type: OrtMemType,
3995            out: *mut *mut OrtAllocator,
3996        ) -> OrtStatusPtr,
3997    >,
3998    pub AddExternalInitializersFromFilesInMemory: ::std::option::Option<
3999        unsafe extern "C" fn(
4000            options: *mut OrtSessionOptions,
4001            external_initializer_file_names: *const *const ::std::os::raw::c_char,
4002            external_initializer_file_buffer_array: *const *mut ::std::os::raw::c_char,
4003            external_initializer_file_lengths: *const usize,
4004            num_external_initializer_files: usize,
4005        ) -> OrtStatusPtr,
4006    >,
4007    pub CreateLoraAdapter: ::std::option::Option<
4008        unsafe extern "C" fn(
4009            adapter_file_path: *const ::std::os::raw::c_char,
4010            allocator: *mut OrtAllocator,
4011            out: *mut *mut OrtLoraAdapter,
4012        ) -> OrtStatusPtr,
4013    >,
4014    pub CreateLoraAdapterFromArray: ::std::option::Option<
4015        unsafe extern "C" fn(
4016            bytes: *const ::std::os::raw::c_void,
4017            num_bytes: usize,
4018            allocator: *mut OrtAllocator,
4019            out: *mut *mut OrtLoraAdapter,
4020        ) -> OrtStatusPtr,
4021    >,
4022    pub ReleaseLoraAdapter: ::std::option::Option<unsafe extern "C" fn(input: *mut OrtLoraAdapter)>,
4023    pub RunOptionsAddActiveLoraAdapter: ::std::option::Option<
4024        unsafe extern "C" fn(
4025            options: *mut OrtRunOptions,
4026            adapter: *const OrtLoraAdapter,
4027        ) -> OrtStatusPtr,
4028    >,
4029    pub SetEpDynamicOptions: ::std::option::Option<
4030        unsafe extern "C" fn(
4031            sess: *mut OrtSession,
4032            keys: *const *const ::std::os::raw::c_char,
4033            values: *const *const ::std::os::raw::c_char,
4034            kv_len: usize,
4035        ) -> OrtStatusPtr,
4036    >,
4037}
4038#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4039const _: () = {
4040    ["Size of OrtApi"][::std::mem::size_of::<OrtApi>() - 2280usize];
4041    ["Alignment of OrtApi"][::std::mem::align_of::<OrtApi>() - 8usize];
4042    ["Offset of field: OrtApi::CreateStatus"]
4043        [::std::mem::offset_of!(OrtApi, CreateStatus) - 0usize];
4044    ["Offset of field: OrtApi::GetErrorCode"]
4045        [::std::mem::offset_of!(OrtApi, GetErrorCode) - 8usize];
4046    ["Offset of field: OrtApi::GetErrorMessage"]
4047        [::std::mem::offset_of!(OrtApi, GetErrorMessage) - 16usize];
4048    ["Offset of field: OrtApi::CreateEnv"][::std::mem::offset_of!(OrtApi, CreateEnv) - 24usize];
4049    ["Offset of field: OrtApi::CreateEnvWithCustomLogger"]
4050        [::std::mem::offset_of!(OrtApi, CreateEnvWithCustomLogger) - 32usize];
4051    ["Offset of field: OrtApi::EnableTelemetryEvents"]
4052        [::std::mem::offset_of!(OrtApi, EnableTelemetryEvents) - 40usize];
4053    ["Offset of field: OrtApi::DisableTelemetryEvents"]
4054        [::std::mem::offset_of!(OrtApi, DisableTelemetryEvents) - 48usize];
4055    ["Offset of field: OrtApi::CreateSession"]
4056        [::std::mem::offset_of!(OrtApi, CreateSession) - 56usize];
4057    ["Offset of field: OrtApi::CreateSessionFromArray"]
4058        [::std::mem::offset_of!(OrtApi, CreateSessionFromArray) - 64usize];
4059    ["Offset of field: OrtApi::Run"][::std::mem::offset_of!(OrtApi, Run) - 72usize];
4060    ["Offset of field: OrtApi::CreateSessionOptions"]
4061        [::std::mem::offset_of!(OrtApi, CreateSessionOptions) - 80usize];
4062    ["Offset of field: OrtApi::SetOptimizedModelFilePath"]
4063        [::std::mem::offset_of!(OrtApi, SetOptimizedModelFilePath) - 88usize];
4064    ["Offset of field: OrtApi::CloneSessionOptions"]
4065        [::std::mem::offset_of!(OrtApi, CloneSessionOptions) - 96usize];
4066    ["Offset of field: OrtApi::SetSessionExecutionMode"]
4067        [::std::mem::offset_of!(OrtApi, SetSessionExecutionMode) - 104usize];
4068    ["Offset of field: OrtApi::EnableProfiling"]
4069        [::std::mem::offset_of!(OrtApi, EnableProfiling) - 112usize];
4070    ["Offset of field: OrtApi::DisableProfiling"]
4071        [::std::mem::offset_of!(OrtApi, DisableProfiling) - 120usize];
4072    ["Offset of field: OrtApi::EnableMemPattern"]
4073        [::std::mem::offset_of!(OrtApi, EnableMemPattern) - 128usize];
4074    ["Offset of field: OrtApi::DisableMemPattern"]
4075        [::std::mem::offset_of!(OrtApi, DisableMemPattern) - 136usize];
4076    ["Offset of field: OrtApi::EnableCpuMemArena"]
4077        [::std::mem::offset_of!(OrtApi, EnableCpuMemArena) - 144usize];
4078    ["Offset of field: OrtApi::DisableCpuMemArena"]
4079        [::std::mem::offset_of!(OrtApi, DisableCpuMemArena) - 152usize];
4080    ["Offset of field: OrtApi::SetSessionLogId"]
4081        [::std::mem::offset_of!(OrtApi, SetSessionLogId) - 160usize];
4082    ["Offset of field: OrtApi::SetSessionLogVerbosityLevel"]
4083        [::std::mem::offset_of!(OrtApi, SetSessionLogVerbosityLevel) - 168usize];
4084    ["Offset of field: OrtApi::SetSessionLogSeverityLevel"]
4085        [::std::mem::offset_of!(OrtApi, SetSessionLogSeverityLevel) - 176usize];
4086    ["Offset of field: OrtApi::SetSessionGraphOptimizationLevel"]
4087        [::std::mem::offset_of!(OrtApi, SetSessionGraphOptimizationLevel) - 184usize];
4088    ["Offset of field: OrtApi::SetIntraOpNumThreads"]
4089        [::std::mem::offset_of!(OrtApi, SetIntraOpNumThreads) - 192usize];
4090    ["Offset of field: OrtApi::SetInterOpNumThreads"]
4091        [::std::mem::offset_of!(OrtApi, SetInterOpNumThreads) - 200usize];
4092    ["Offset of field: OrtApi::CreateCustomOpDomain"]
4093        [::std::mem::offset_of!(OrtApi, CreateCustomOpDomain) - 208usize];
4094    ["Offset of field: OrtApi::CustomOpDomain_Add"]
4095        [::std::mem::offset_of!(OrtApi, CustomOpDomain_Add) - 216usize];
4096    ["Offset of field: OrtApi::AddCustomOpDomain"]
4097        [::std::mem::offset_of!(OrtApi, AddCustomOpDomain) - 224usize];
4098    ["Offset of field: OrtApi::RegisterCustomOpsLibrary"]
4099        [::std::mem::offset_of!(OrtApi, RegisterCustomOpsLibrary) - 232usize];
4100    ["Offset of field: OrtApi::SessionGetInputCount"]
4101        [::std::mem::offset_of!(OrtApi, SessionGetInputCount) - 240usize];
4102    ["Offset of field: OrtApi::SessionGetOutputCount"]
4103        [::std::mem::offset_of!(OrtApi, SessionGetOutputCount) - 248usize];
4104    ["Offset of field: OrtApi::SessionGetOverridableInitializerCount"]
4105        [::std::mem::offset_of!(OrtApi, SessionGetOverridableInitializerCount) - 256usize];
4106    ["Offset of field: OrtApi::SessionGetInputTypeInfo"]
4107        [::std::mem::offset_of!(OrtApi, SessionGetInputTypeInfo) - 264usize];
4108    ["Offset of field: OrtApi::SessionGetOutputTypeInfo"]
4109        [::std::mem::offset_of!(OrtApi, SessionGetOutputTypeInfo) - 272usize];
4110    ["Offset of field: OrtApi::SessionGetOverridableInitializerTypeInfo"]
4111        [::std::mem::offset_of!(OrtApi, SessionGetOverridableInitializerTypeInfo) - 280usize];
4112    ["Offset of field: OrtApi::SessionGetInputName"]
4113        [::std::mem::offset_of!(OrtApi, SessionGetInputName) - 288usize];
4114    ["Offset of field: OrtApi::SessionGetOutputName"]
4115        [::std::mem::offset_of!(OrtApi, SessionGetOutputName) - 296usize];
4116    ["Offset of field: OrtApi::SessionGetOverridableInitializerName"]
4117        [::std::mem::offset_of!(OrtApi, SessionGetOverridableInitializerName) - 304usize];
4118    ["Offset of field: OrtApi::CreateRunOptions"]
4119        [::std::mem::offset_of!(OrtApi, CreateRunOptions) - 312usize];
4120    ["Offset of field: OrtApi::RunOptionsSetRunLogVerbosityLevel"]
4121        [::std::mem::offset_of!(OrtApi, RunOptionsSetRunLogVerbosityLevel) - 320usize];
4122    ["Offset of field: OrtApi::RunOptionsSetRunLogSeverityLevel"]
4123        [::std::mem::offset_of!(OrtApi, RunOptionsSetRunLogSeverityLevel) - 328usize];
4124    ["Offset of field: OrtApi::RunOptionsSetRunTag"]
4125        [::std::mem::offset_of!(OrtApi, RunOptionsSetRunTag) - 336usize];
4126    ["Offset of field: OrtApi::RunOptionsGetRunLogVerbosityLevel"]
4127        [::std::mem::offset_of!(OrtApi, RunOptionsGetRunLogVerbosityLevel) - 344usize];
4128    ["Offset of field: OrtApi::RunOptionsGetRunLogSeverityLevel"]
4129        [::std::mem::offset_of!(OrtApi, RunOptionsGetRunLogSeverityLevel) - 352usize];
4130    ["Offset of field: OrtApi::RunOptionsGetRunTag"]
4131        [::std::mem::offset_of!(OrtApi, RunOptionsGetRunTag) - 360usize];
4132    ["Offset of field: OrtApi::RunOptionsSetTerminate"]
4133        [::std::mem::offset_of!(OrtApi, RunOptionsSetTerminate) - 368usize];
4134    ["Offset of field: OrtApi::RunOptionsUnsetTerminate"]
4135        [::std::mem::offset_of!(OrtApi, RunOptionsUnsetTerminate) - 376usize];
4136    ["Offset of field: OrtApi::CreateTensorAsOrtValue"]
4137        [::std::mem::offset_of!(OrtApi, CreateTensorAsOrtValue) - 384usize];
4138    ["Offset of field: OrtApi::CreateTensorWithDataAsOrtValue"]
4139        [::std::mem::offset_of!(OrtApi, CreateTensorWithDataAsOrtValue) - 392usize];
4140    ["Offset of field: OrtApi::IsTensor"][::std::mem::offset_of!(OrtApi, IsTensor) - 400usize];
4141    ["Offset of field: OrtApi::GetTensorMutableData"]
4142        [::std::mem::offset_of!(OrtApi, GetTensorMutableData) - 408usize];
4143    ["Offset of field: OrtApi::FillStringTensor"]
4144        [::std::mem::offset_of!(OrtApi, FillStringTensor) - 416usize];
4145    ["Offset of field: OrtApi::GetStringTensorDataLength"]
4146        [::std::mem::offset_of!(OrtApi, GetStringTensorDataLength) - 424usize];
4147    ["Offset of field: OrtApi::GetStringTensorContent"]
4148        [::std::mem::offset_of!(OrtApi, GetStringTensorContent) - 432usize];
4149    ["Offset of field: OrtApi::CastTypeInfoToTensorInfo"]
4150        [::std::mem::offset_of!(OrtApi, CastTypeInfoToTensorInfo) - 440usize];
4151    ["Offset of field: OrtApi::GetOnnxTypeFromTypeInfo"]
4152        [::std::mem::offset_of!(OrtApi, GetOnnxTypeFromTypeInfo) - 448usize];
4153    ["Offset of field: OrtApi::CreateTensorTypeAndShapeInfo"]
4154        [::std::mem::offset_of!(OrtApi, CreateTensorTypeAndShapeInfo) - 456usize];
4155    ["Offset of field: OrtApi::SetTensorElementType"]
4156        [::std::mem::offset_of!(OrtApi, SetTensorElementType) - 464usize];
4157    ["Offset of field: OrtApi::SetDimensions"]
4158        [::std::mem::offset_of!(OrtApi, SetDimensions) - 472usize];
4159    ["Offset of field: OrtApi::GetTensorElementType"]
4160        [::std::mem::offset_of!(OrtApi, GetTensorElementType) - 480usize];
4161    ["Offset of field: OrtApi::GetDimensionsCount"]
4162        [::std::mem::offset_of!(OrtApi, GetDimensionsCount) - 488usize];
4163    ["Offset of field: OrtApi::GetDimensions"]
4164        [::std::mem::offset_of!(OrtApi, GetDimensions) - 496usize];
4165    ["Offset of field: OrtApi::GetSymbolicDimensions"]
4166        [::std::mem::offset_of!(OrtApi, GetSymbolicDimensions) - 504usize];
4167    ["Offset of field: OrtApi::GetTensorShapeElementCount"]
4168        [::std::mem::offset_of!(OrtApi, GetTensorShapeElementCount) - 512usize];
4169    ["Offset of field: OrtApi::GetTensorTypeAndShape"]
4170        [::std::mem::offset_of!(OrtApi, GetTensorTypeAndShape) - 520usize];
4171    ["Offset of field: OrtApi::GetTypeInfo"]
4172        [::std::mem::offset_of!(OrtApi, GetTypeInfo) - 528usize];
4173    ["Offset of field: OrtApi::GetValueType"]
4174        [::std::mem::offset_of!(OrtApi, GetValueType) - 536usize];
4175    ["Offset of field: OrtApi::CreateMemoryInfo"]
4176        [::std::mem::offset_of!(OrtApi, CreateMemoryInfo) - 544usize];
4177    ["Offset of field: OrtApi::CreateCpuMemoryInfo"]
4178        [::std::mem::offset_of!(OrtApi, CreateCpuMemoryInfo) - 552usize];
4179    ["Offset of field: OrtApi::CompareMemoryInfo"]
4180        [::std::mem::offset_of!(OrtApi, CompareMemoryInfo) - 560usize];
4181    ["Offset of field: OrtApi::MemoryInfoGetName"]
4182        [::std::mem::offset_of!(OrtApi, MemoryInfoGetName) - 568usize];
4183    ["Offset of field: OrtApi::MemoryInfoGetId"]
4184        [::std::mem::offset_of!(OrtApi, MemoryInfoGetId) - 576usize];
4185    ["Offset of field: OrtApi::MemoryInfoGetMemType"]
4186        [::std::mem::offset_of!(OrtApi, MemoryInfoGetMemType) - 584usize];
4187    ["Offset of field: OrtApi::MemoryInfoGetType"]
4188        [::std::mem::offset_of!(OrtApi, MemoryInfoGetType) - 592usize];
4189    ["Offset of field: OrtApi::AllocatorAlloc"]
4190        [::std::mem::offset_of!(OrtApi, AllocatorAlloc) - 600usize];
4191    ["Offset of field: OrtApi::AllocatorFree"]
4192        [::std::mem::offset_of!(OrtApi, AllocatorFree) - 608usize];
4193    ["Offset of field: OrtApi::AllocatorGetInfo"]
4194        [::std::mem::offset_of!(OrtApi, AllocatorGetInfo) - 616usize];
4195    ["Offset of field: OrtApi::GetAllocatorWithDefaultOptions"]
4196        [::std::mem::offset_of!(OrtApi, GetAllocatorWithDefaultOptions) - 624usize];
4197    ["Offset of field: OrtApi::AddFreeDimensionOverride"]
4198        [::std::mem::offset_of!(OrtApi, AddFreeDimensionOverride) - 632usize];
4199    ["Offset of field: OrtApi::GetValue"][::std::mem::offset_of!(OrtApi, GetValue) - 640usize];
4200    ["Offset of field: OrtApi::GetValueCount"]
4201        [::std::mem::offset_of!(OrtApi, GetValueCount) - 648usize];
4202    ["Offset of field: OrtApi::CreateValue"]
4203        [::std::mem::offset_of!(OrtApi, CreateValue) - 656usize];
4204    ["Offset of field: OrtApi::CreateOpaqueValue"]
4205        [::std::mem::offset_of!(OrtApi, CreateOpaqueValue) - 664usize];
4206    ["Offset of field: OrtApi::GetOpaqueValue"]
4207        [::std::mem::offset_of!(OrtApi, GetOpaqueValue) - 672usize];
4208    ["Offset of field: OrtApi::KernelInfoGetAttribute_float"]
4209        [::std::mem::offset_of!(OrtApi, KernelInfoGetAttribute_float) - 680usize];
4210    ["Offset of field: OrtApi::KernelInfoGetAttribute_int64"]
4211        [::std::mem::offset_of!(OrtApi, KernelInfoGetAttribute_int64) - 688usize];
4212    ["Offset of field: OrtApi::KernelInfoGetAttribute_string"]
4213        [::std::mem::offset_of!(OrtApi, KernelInfoGetAttribute_string) - 696usize];
4214    ["Offset of field: OrtApi::KernelContext_GetInputCount"]
4215        [::std::mem::offset_of!(OrtApi, KernelContext_GetInputCount) - 704usize];
4216    ["Offset of field: OrtApi::KernelContext_GetOutputCount"]
4217        [::std::mem::offset_of!(OrtApi, KernelContext_GetOutputCount) - 712usize];
4218    ["Offset of field: OrtApi::KernelContext_GetInput"]
4219        [::std::mem::offset_of!(OrtApi, KernelContext_GetInput) - 720usize];
4220    ["Offset of field: OrtApi::KernelContext_GetOutput"]
4221        [::std::mem::offset_of!(OrtApi, KernelContext_GetOutput) - 728usize];
4222    ["Offset of field: OrtApi::ReleaseEnv"][::std::mem::offset_of!(OrtApi, ReleaseEnv) - 736usize];
4223    ["Offset of field: OrtApi::ReleaseStatus"]
4224        [::std::mem::offset_of!(OrtApi, ReleaseStatus) - 744usize];
4225    ["Offset of field: OrtApi::ReleaseMemoryInfo"]
4226        [::std::mem::offset_of!(OrtApi, ReleaseMemoryInfo) - 752usize];
4227    ["Offset of field: OrtApi::ReleaseSession"]
4228        [::std::mem::offset_of!(OrtApi, ReleaseSession) - 760usize];
4229    ["Offset of field: OrtApi::ReleaseValue"]
4230        [::std::mem::offset_of!(OrtApi, ReleaseValue) - 768usize];
4231    ["Offset of field: OrtApi::ReleaseRunOptions"]
4232        [::std::mem::offset_of!(OrtApi, ReleaseRunOptions) - 776usize];
4233    ["Offset of field: OrtApi::ReleaseTypeInfo"]
4234        [::std::mem::offset_of!(OrtApi, ReleaseTypeInfo) - 784usize];
4235    ["Offset of field: OrtApi::ReleaseTensorTypeAndShapeInfo"]
4236        [::std::mem::offset_of!(OrtApi, ReleaseTensorTypeAndShapeInfo) - 792usize];
4237    ["Offset of field: OrtApi::ReleaseSessionOptions"]
4238        [::std::mem::offset_of!(OrtApi, ReleaseSessionOptions) - 800usize];
4239    ["Offset of field: OrtApi::ReleaseCustomOpDomain"]
4240        [::std::mem::offset_of!(OrtApi, ReleaseCustomOpDomain) - 808usize];
4241    ["Offset of field: OrtApi::GetDenotationFromTypeInfo"]
4242        [::std::mem::offset_of!(OrtApi, GetDenotationFromTypeInfo) - 816usize];
4243    ["Offset of field: OrtApi::CastTypeInfoToMapTypeInfo"]
4244        [::std::mem::offset_of!(OrtApi, CastTypeInfoToMapTypeInfo) - 824usize];
4245    ["Offset of field: OrtApi::CastTypeInfoToSequenceTypeInfo"]
4246        [::std::mem::offset_of!(OrtApi, CastTypeInfoToSequenceTypeInfo) - 832usize];
4247    ["Offset of field: OrtApi::GetMapKeyType"]
4248        [::std::mem::offset_of!(OrtApi, GetMapKeyType) - 840usize];
4249    ["Offset of field: OrtApi::GetMapValueType"]
4250        [::std::mem::offset_of!(OrtApi, GetMapValueType) - 848usize];
4251    ["Offset of field: OrtApi::GetSequenceElementType"]
4252        [::std::mem::offset_of!(OrtApi, GetSequenceElementType) - 856usize];
4253    ["Offset of field: OrtApi::ReleaseMapTypeInfo"]
4254        [::std::mem::offset_of!(OrtApi, ReleaseMapTypeInfo) - 864usize];
4255    ["Offset of field: OrtApi::ReleaseSequenceTypeInfo"]
4256        [::std::mem::offset_of!(OrtApi, ReleaseSequenceTypeInfo) - 872usize];
4257    ["Offset of field: OrtApi::SessionEndProfiling"]
4258        [::std::mem::offset_of!(OrtApi, SessionEndProfiling) - 880usize];
4259    ["Offset of field: OrtApi::SessionGetModelMetadata"]
4260        [::std::mem::offset_of!(OrtApi, SessionGetModelMetadata) - 888usize];
4261    ["Offset of field: OrtApi::ModelMetadataGetProducerName"]
4262        [::std::mem::offset_of!(OrtApi, ModelMetadataGetProducerName) - 896usize];
4263    ["Offset of field: OrtApi::ModelMetadataGetGraphName"]
4264        [::std::mem::offset_of!(OrtApi, ModelMetadataGetGraphName) - 904usize];
4265    ["Offset of field: OrtApi::ModelMetadataGetDomain"]
4266        [::std::mem::offset_of!(OrtApi, ModelMetadataGetDomain) - 912usize];
4267    ["Offset of field: OrtApi::ModelMetadataGetDescription"]
4268        [::std::mem::offset_of!(OrtApi, ModelMetadataGetDescription) - 920usize];
4269    ["Offset of field: OrtApi::ModelMetadataLookupCustomMetadataMap"]
4270        [::std::mem::offset_of!(OrtApi, ModelMetadataLookupCustomMetadataMap) - 928usize];
4271    ["Offset of field: OrtApi::ModelMetadataGetVersion"]
4272        [::std::mem::offset_of!(OrtApi, ModelMetadataGetVersion) - 936usize];
4273    ["Offset of field: OrtApi::ReleaseModelMetadata"]
4274        [::std::mem::offset_of!(OrtApi, ReleaseModelMetadata) - 944usize];
4275    ["Offset of field: OrtApi::CreateEnvWithGlobalThreadPools"]
4276        [::std::mem::offset_of!(OrtApi, CreateEnvWithGlobalThreadPools) - 952usize];
4277    ["Offset of field: OrtApi::DisablePerSessionThreads"]
4278        [::std::mem::offset_of!(OrtApi, DisablePerSessionThreads) - 960usize];
4279    ["Offset of field: OrtApi::CreateThreadingOptions"]
4280        [::std::mem::offset_of!(OrtApi, CreateThreadingOptions) - 968usize];
4281    ["Offset of field: OrtApi::ReleaseThreadingOptions"]
4282        [::std::mem::offset_of!(OrtApi, ReleaseThreadingOptions) - 976usize];
4283    ["Offset of field: OrtApi::ModelMetadataGetCustomMetadataMapKeys"]
4284        [::std::mem::offset_of!(OrtApi, ModelMetadataGetCustomMetadataMapKeys) - 984usize];
4285    ["Offset of field: OrtApi::AddFreeDimensionOverrideByName"]
4286        [::std::mem::offset_of!(OrtApi, AddFreeDimensionOverrideByName) - 992usize];
4287    ["Offset of field: OrtApi::GetAvailableProviders"]
4288        [::std::mem::offset_of!(OrtApi, GetAvailableProviders) - 1000usize];
4289    ["Offset of field: OrtApi::ReleaseAvailableProviders"]
4290        [::std::mem::offset_of!(OrtApi, ReleaseAvailableProviders) - 1008usize];
4291    ["Offset of field: OrtApi::GetStringTensorElementLength"]
4292        [::std::mem::offset_of!(OrtApi, GetStringTensorElementLength) - 1016usize];
4293    ["Offset of field: OrtApi::GetStringTensorElement"]
4294        [::std::mem::offset_of!(OrtApi, GetStringTensorElement) - 1024usize];
4295    ["Offset of field: OrtApi::FillStringTensorElement"]
4296        [::std::mem::offset_of!(OrtApi, FillStringTensorElement) - 1032usize];
4297    ["Offset of field: OrtApi::AddSessionConfigEntry"]
4298        [::std::mem::offset_of!(OrtApi, AddSessionConfigEntry) - 1040usize];
4299    ["Offset of field: OrtApi::CreateAllocator"]
4300        [::std::mem::offset_of!(OrtApi, CreateAllocator) - 1048usize];
4301    ["Offset of field: OrtApi::ReleaseAllocator"]
4302        [::std::mem::offset_of!(OrtApi, ReleaseAllocator) - 1056usize];
4303    ["Offset of field: OrtApi::RunWithBinding"]
4304        [::std::mem::offset_of!(OrtApi, RunWithBinding) - 1064usize];
4305    ["Offset of field: OrtApi::CreateIoBinding"]
4306        [::std::mem::offset_of!(OrtApi, CreateIoBinding) - 1072usize];
4307    ["Offset of field: OrtApi::ReleaseIoBinding"]
4308        [::std::mem::offset_of!(OrtApi, ReleaseIoBinding) - 1080usize];
4309    ["Offset of field: OrtApi::BindInput"][::std::mem::offset_of!(OrtApi, BindInput) - 1088usize];
4310    ["Offset of field: OrtApi::BindOutput"][::std::mem::offset_of!(OrtApi, BindOutput) - 1096usize];
4311    ["Offset of field: OrtApi::BindOutputToDevice"]
4312        [::std::mem::offset_of!(OrtApi, BindOutputToDevice) - 1104usize];
4313    ["Offset of field: OrtApi::GetBoundOutputNames"]
4314        [::std::mem::offset_of!(OrtApi, GetBoundOutputNames) - 1112usize];
4315    ["Offset of field: OrtApi::GetBoundOutputValues"]
4316        [::std::mem::offset_of!(OrtApi, GetBoundOutputValues) - 1120usize];
4317    ["Offset of field: OrtApi::ClearBoundInputs"]
4318        [::std::mem::offset_of!(OrtApi, ClearBoundInputs) - 1128usize];
4319    ["Offset of field: OrtApi::ClearBoundOutputs"]
4320        [::std::mem::offset_of!(OrtApi, ClearBoundOutputs) - 1136usize];
4321    ["Offset of field: OrtApi::TensorAt"][::std::mem::offset_of!(OrtApi, TensorAt) - 1144usize];
4322    ["Offset of field: OrtApi::CreateAndRegisterAllocator"]
4323        [::std::mem::offset_of!(OrtApi, CreateAndRegisterAllocator) - 1152usize];
4324    ["Offset of field: OrtApi::SetLanguageProjection"]
4325        [::std::mem::offset_of!(OrtApi, SetLanguageProjection) - 1160usize];
4326    ["Offset of field: OrtApi::SessionGetProfilingStartTimeNs"]
4327        [::std::mem::offset_of!(OrtApi, SessionGetProfilingStartTimeNs) - 1168usize];
4328    ["Offset of field: OrtApi::SetGlobalIntraOpNumThreads"]
4329        [::std::mem::offset_of!(OrtApi, SetGlobalIntraOpNumThreads) - 1176usize];
4330    ["Offset of field: OrtApi::SetGlobalInterOpNumThreads"]
4331        [::std::mem::offset_of!(OrtApi, SetGlobalInterOpNumThreads) - 1184usize];
4332    ["Offset of field: OrtApi::SetGlobalSpinControl"]
4333        [::std::mem::offset_of!(OrtApi, SetGlobalSpinControl) - 1192usize];
4334    ["Offset of field: OrtApi::AddInitializer"]
4335        [::std::mem::offset_of!(OrtApi, AddInitializer) - 1200usize];
4336    ["Offset of field: OrtApi::CreateEnvWithCustomLoggerAndGlobalThreadPools"]
4337        [::std::mem::offset_of!(OrtApi, CreateEnvWithCustomLoggerAndGlobalThreadPools) - 1208usize];
4338    ["Offset of field: OrtApi::SessionOptionsAppendExecutionProvider_CUDA"]
4339        [::std::mem::offset_of!(OrtApi, SessionOptionsAppendExecutionProvider_CUDA) - 1216usize];
4340    ["Offset of field: OrtApi::SessionOptionsAppendExecutionProvider_ROCM"]
4341        [::std::mem::offset_of!(OrtApi, SessionOptionsAppendExecutionProvider_ROCM) - 1224usize];
4342    ["Offset of field: OrtApi::SessionOptionsAppendExecutionProvider_OpenVINO"][::std::mem::offset_of!(
4343        OrtApi,
4344        SessionOptionsAppendExecutionProvider_OpenVINO
4345    ) - 1232usize];
4346    ["Offset of field: OrtApi::SetGlobalDenormalAsZero"]
4347        [::std::mem::offset_of!(OrtApi, SetGlobalDenormalAsZero) - 1240usize];
4348    ["Offset of field: OrtApi::CreateArenaCfg"]
4349        [::std::mem::offset_of!(OrtApi, CreateArenaCfg) - 1248usize];
4350    ["Offset of field: OrtApi::ReleaseArenaCfg"]
4351        [::std::mem::offset_of!(OrtApi, ReleaseArenaCfg) - 1256usize];
4352    ["Offset of field: OrtApi::ModelMetadataGetGraphDescription"]
4353        [::std::mem::offset_of!(OrtApi, ModelMetadataGetGraphDescription) - 1264usize];
4354    ["Offset of field: OrtApi::SessionOptionsAppendExecutionProvider_TensorRT"][::std::mem::offset_of!(
4355        OrtApi,
4356        SessionOptionsAppendExecutionProvider_TensorRT
4357    ) - 1272usize];
4358    ["Offset of field: OrtApi::SetCurrentGpuDeviceId"]
4359        [::std::mem::offset_of!(OrtApi, SetCurrentGpuDeviceId) - 1280usize];
4360    ["Offset of field: OrtApi::GetCurrentGpuDeviceId"]
4361        [::std::mem::offset_of!(OrtApi, GetCurrentGpuDeviceId) - 1288usize];
4362    ["Offset of field: OrtApi::KernelInfoGetAttributeArray_float"]
4363        [::std::mem::offset_of!(OrtApi, KernelInfoGetAttributeArray_float) - 1296usize];
4364    ["Offset of field: OrtApi::KernelInfoGetAttributeArray_int64"]
4365        [::std::mem::offset_of!(OrtApi, KernelInfoGetAttributeArray_int64) - 1304usize];
4366    ["Offset of field: OrtApi::CreateArenaCfgV2"]
4367        [::std::mem::offset_of!(OrtApi, CreateArenaCfgV2) - 1312usize];
4368    ["Offset of field: OrtApi::AddRunConfigEntry"]
4369        [::std::mem::offset_of!(OrtApi, AddRunConfigEntry) - 1320usize];
4370    ["Offset of field: OrtApi::CreatePrepackedWeightsContainer"]
4371        [::std::mem::offset_of!(OrtApi, CreatePrepackedWeightsContainer) - 1328usize];
4372    ["Offset of field: OrtApi::ReleasePrepackedWeightsContainer"]
4373        [::std::mem::offset_of!(OrtApi, ReleasePrepackedWeightsContainer) - 1336usize];
4374    ["Offset of field: OrtApi::CreateSessionWithPrepackedWeightsContainer"]
4375        [::std::mem::offset_of!(OrtApi, CreateSessionWithPrepackedWeightsContainer) - 1344usize];
4376    ["Offset of field: OrtApi::CreateSessionFromArrayWithPrepackedWeightsContainer"][::std::mem::offset_of!(
4377        OrtApi,
4378        CreateSessionFromArrayWithPrepackedWeightsContainer
4379    ) - 1352usize];
4380    ["Offset of field: OrtApi::SessionOptionsAppendExecutionProvider_TensorRT_V2"][::std::mem::offset_of!(
4381        OrtApi,
4382        SessionOptionsAppendExecutionProvider_TensorRT_V2
4383    ) - 1360usize];
4384    ["Offset of field: OrtApi::CreateTensorRTProviderOptions"]
4385        [::std::mem::offset_of!(OrtApi, CreateTensorRTProviderOptions) - 1368usize];
4386    ["Offset of field: OrtApi::UpdateTensorRTProviderOptions"]
4387        [::std::mem::offset_of!(OrtApi, UpdateTensorRTProviderOptions) - 1376usize];
4388    ["Offset of field: OrtApi::GetTensorRTProviderOptionsAsString"]
4389        [::std::mem::offset_of!(OrtApi, GetTensorRTProviderOptionsAsString) - 1384usize];
4390    ["Offset of field: OrtApi::ReleaseTensorRTProviderOptions"]
4391        [::std::mem::offset_of!(OrtApi, ReleaseTensorRTProviderOptions) - 1392usize];
4392    ["Offset of field: OrtApi::EnableOrtCustomOps"]
4393        [::std::mem::offset_of!(OrtApi, EnableOrtCustomOps) - 1400usize];
4394    ["Offset of field: OrtApi::RegisterAllocator"]
4395        [::std::mem::offset_of!(OrtApi, RegisterAllocator) - 1408usize];
4396    ["Offset of field: OrtApi::UnregisterAllocator"]
4397        [::std::mem::offset_of!(OrtApi, UnregisterAllocator) - 1416usize];
4398    ["Offset of field: OrtApi::IsSparseTensor"]
4399        [::std::mem::offset_of!(OrtApi, IsSparseTensor) - 1424usize];
4400    ["Offset of field: OrtApi::CreateSparseTensorAsOrtValue"]
4401        [::std::mem::offset_of!(OrtApi, CreateSparseTensorAsOrtValue) - 1432usize];
4402    ["Offset of field: OrtApi::FillSparseTensorCoo"]
4403        [::std::mem::offset_of!(OrtApi, FillSparseTensorCoo) - 1440usize];
4404    ["Offset of field: OrtApi::FillSparseTensorCsr"]
4405        [::std::mem::offset_of!(OrtApi, FillSparseTensorCsr) - 1448usize];
4406    ["Offset of field: OrtApi::FillSparseTensorBlockSparse"]
4407        [::std::mem::offset_of!(OrtApi, FillSparseTensorBlockSparse) - 1456usize];
4408    ["Offset of field: OrtApi::CreateSparseTensorWithValuesAsOrtValue"]
4409        [::std::mem::offset_of!(OrtApi, CreateSparseTensorWithValuesAsOrtValue) - 1464usize];
4410    ["Offset of field: OrtApi::UseCooIndices"]
4411        [::std::mem::offset_of!(OrtApi, UseCooIndices) - 1472usize];
4412    ["Offset of field: OrtApi::UseCsrIndices"]
4413        [::std::mem::offset_of!(OrtApi, UseCsrIndices) - 1480usize];
4414    ["Offset of field: OrtApi::UseBlockSparseIndices"]
4415        [::std::mem::offset_of!(OrtApi, UseBlockSparseIndices) - 1488usize];
4416    ["Offset of field: OrtApi::GetSparseTensorFormat"]
4417        [::std::mem::offset_of!(OrtApi, GetSparseTensorFormat) - 1496usize];
4418    ["Offset of field: OrtApi::GetSparseTensorValuesTypeAndShape"]
4419        [::std::mem::offset_of!(OrtApi, GetSparseTensorValuesTypeAndShape) - 1504usize];
4420    ["Offset of field: OrtApi::GetSparseTensorValues"]
4421        [::std::mem::offset_of!(OrtApi, GetSparseTensorValues) - 1512usize];
4422    ["Offset of field: OrtApi::GetSparseTensorIndicesTypeShape"]
4423        [::std::mem::offset_of!(OrtApi, GetSparseTensorIndicesTypeShape) - 1520usize];
4424    ["Offset of field: OrtApi::GetSparseTensorIndices"]
4425        [::std::mem::offset_of!(OrtApi, GetSparseTensorIndices) - 1528usize];
4426    ["Offset of field: OrtApi::HasValue"][::std::mem::offset_of!(OrtApi, HasValue) - 1536usize];
4427    ["Offset of field: OrtApi::KernelContext_GetGPUComputeStream"]
4428        [::std::mem::offset_of!(OrtApi, KernelContext_GetGPUComputeStream) - 1544usize];
4429    ["Offset of field: OrtApi::GetTensorMemoryInfo"]
4430        [::std::mem::offset_of!(OrtApi, GetTensorMemoryInfo) - 1552usize];
4431    ["Offset of field: OrtApi::GetExecutionProviderApi"]
4432        [::std::mem::offset_of!(OrtApi, GetExecutionProviderApi) - 1560usize];
4433    ["Offset of field: OrtApi::SessionOptionsSetCustomCreateThreadFn"]
4434        [::std::mem::offset_of!(OrtApi, SessionOptionsSetCustomCreateThreadFn) - 1568usize];
4435    ["Offset of field: OrtApi::SessionOptionsSetCustomThreadCreationOptions"]
4436        [::std::mem::offset_of!(OrtApi, SessionOptionsSetCustomThreadCreationOptions) - 1576usize];
4437    ["Offset of field: OrtApi::SessionOptionsSetCustomJoinThreadFn"]
4438        [::std::mem::offset_of!(OrtApi, SessionOptionsSetCustomJoinThreadFn) - 1584usize];
4439    ["Offset of field: OrtApi::SetGlobalCustomCreateThreadFn"]
4440        [::std::mem::offset_of!(OrtApi, SetGlobalCustomCreateThreadFn) - 1592usize];
4441    ["Offset of field: OrtApi::SetGlobalCustomThreadCreationOptions"]
4442        [::std::mem::offset_of!(OrtApi, SetGlobalCustomThreadCreationOptions) - 1600usize];
4443    ["Offset of field: OrtApi::SetGlobalCustomJoinThreadFn"]
4444        [::std::mem::offset_of!(OrtApi, SetGlobalCustomJoinThreadFn) - 1608usize];
4445    ["Offset of field: OrtApi::SynchronizeBoundInputs"]
4446        [::std::mem::offset_of!(OrtApi, SynchronizeBoundInputs) - 1616usize];
4447    ["Offset of field: OrtApi::SynchronizeBoundOutputs"]
4448        [::std::mem::offset_of!(OrtApi, SynchronizeBoundOutputs) - 1624usize];
4449    ["Offset of field: OrtApi::SessionOptionsAppendExecutionProvider_CUDA_V2"]
4450        [::std::mem::offset_of!(OrtApi, SessionOptionsAppendExecutionProvider_CUDA_V2) - 1632usize];
4451    ["Offset of field: OrtApi::CreateCUDAProviderOptions"]
4452        [::std::mem::offset_of!(OrtApi, CreateCUDAProviderOptions) - 1640usize];
4453    ["Offset of field: OrtApi::UpdateCUDAProviderOptions"]
4454        [::std::mem::offset_of!(OrtApi, UpdateCUDAProviderOptions) - 1648usize];
4455    ["Offset of field: OrtApi::GetCUDAProviderOptionsAsString"]
4456        [::std::mem::offset_of!(OrtApi, GetCUDAProviderOptionsAsString) - 1656usize];
4457    ["Offset of field: OrtApi::ReleaseCUDAProviderOptions"]
4458        [::std::mem::offset_of!(OrtApi, ReleaseCUDAProviderOptions) - 1664usize];
4459    ["Offset of field: OrtApi::SessionOptionsAppendExecutionProvider_MIGraphX"][::std::mem::offset_of!(
4460        OrtApi,
4461        SessionOptionsAppendExecutionProvider_MIGraphX
4462    ) - 1672usize];
4463    ["Offset of field: OrtApi::AddExternalInitializers"]
4464        [::std::mem::offset_of!(OrtApi, AddExternalInitializers) - 1680usize];
4465    ["Offset of field: OrtApi::CreateOpAttr"]
4466        [::std::mem::offset_of!(OrtApi, CreateOpAttr) - 1688usize];
4467    ["Offset of field: OrtApi::ReleaseOpAttr"]
4468        [::std::mem::offset_of!(OrtApi, ReleaseOpAttr) - 1696usize];
4469    ["Offset of field: OrtApi::CreateOp"][::std::mem::offset_of!(OrtApi, CreateOp) - 1704usize];
4470    ["Offset of field: OrtApi::InvokeOp"][::std::mem::offset_of!(OrtApi, InvokeOp) - 1712usize];
4471    ["Offset of field: OrtApi::ReleaseOp"][::std::mem::offset_of!(OrtApi, ReleaseOp) - 1720usize];
4472    ["Offset of field: OrtApi::SessionOptionsAppendExecutionProvider"]
4473        [::std::mem::offset_of!(OrtApi, SessionOptionsAppendExecutionProvider) - 1728usize];
4474    ["Offset of field: OrtApi::CopyKernelInfo"]
4475        [::std::mem::offset_of!(OrtApi, CopyKernelInfo) - 1736usize];
4476    ["Offset of field: OrtApi::ReleaseKernelInfo"]
4477        [::std::mem::offset_of!(OrtApi, ReleaseKernelInfo) - 1744usize];
4478    ["Offset of field: OrtApi::GetTrainingApi"]
4479        [::std::mem::offset_of!(OrtApi, GetTrainingApi) - 1752usize];
4480    ["Offset of field: OrtApi::SessionOptionsAppendExecutionProvider_CANN"]
4481        [::std::mem::offset_of!(OrtApi, SessionOptionsAppendExecutionProvider_CANN) - 1760usize];
4482    ["Offset of field: OrtApi::CreateCANNProviderOptions"]
4483        [::std::mem::offset_of!(OrtApi, CreateCANNProviderOptions) - 1768usize];
4484    ["Offset of field: OrtApi::UpdateCANNProviderOptions"]
4485        [::std::mem::offset_of!(OrtApi, UpdateCANNProviderOptions) - 1776usize];
4486    ["Offset of field: OrtApi::GetCANNProviderOptionsAsString"]
4487        [::std::mem::offset_of!(OrtApi, GetCANNProviderOptionsAsString) - 1784usize];
4488    ["Offset of field: OrtApi::ReleaseCANNProviderOptions"]
4489        [::std::mem::offset_of!(OrtApi, ReleaseCANNProviderOptions) - 1792usize];
4490    ["Offset of field: OrtApi::MemoryInfoGetDeviceType"]
4491        [::std::mem::offset_of!(OrtApi, MemoryInfoGetDeviceType) - 1800usize];
4492    ["Offset of field: OrtApi::UpdateEnvWithCustomLogLevel"]
4493        [::std::mem::offset_of!(OrtApi, UpdateEnvWithCustomLogLevel) - 1808usize];
4494    ["Offset of field: OrtApi::SetGlobalIntraOpThreadAffinity"]
4495        [::std::mem::offset_of!(OrtApi, SetGlobalIntraOpThreadAffinity) - 1816usize];
4496    ["Offset of field: OrtApi::RegisterCustomOpsLibrary_V2"]
4497        [::std::mem::offset_of!(OrtApi, RegisterCustomOpsLibrary_V2) - 1824usize];
4498    ["Offset of field: OrtApi::RegisterCustomOpsUsingFunction"]
4499        [::std::mem::offset_of!(OrtApi, RegisterCustomOpsUsingFunction) - 1832usize];
4500    ["Offset of field: OrtApi::KernelInfo_GetInputCount"]
4501        [::std::mem::offset_of!(OrtApi, KernelInfo_GetInputCount) - 1840usize];
4502    ["Offset of field: OrtApi::KernelInfo_GetOutputCount"]
4503        [::std::mem::offset_of!(OrtApi, KernelInfo_GetOutputCount) - 1848usize];
4504    ["Offset of field: OrtApi::KernelInfo_GetInputName"]
4505        [::std::mem::offset_of!(OrtApi, KernelInfo_GetInputName) - 1856usize];
4506    ["Offset of field: OrtApi::KernelInfo_GetOutputName"]
4507        [::std::mem::offset_of!(OrtApi, KernelInfo_GetOutputName) - 1864usize];
4508    ["Offset of field: OrtApi::KernelInfo_GetInputTypeInfo"]
4509        [::std::mem::offset_of!(OrtApi, KernelInfo_GetInputTypeInfo) - 1872usize];
4510    ["Offset of field: OrtApi::KernelInfo_GetOutputTypeInfo"]
4511        [::std::mem::offset_of!(OrtApi, KernelInfo_GetOutputTypeInfo) - 1880usize];
4512    ["Offset of field: OrtApi::KernelInfoGetAttribute_tensor"]
4513        [::std::mem::offset_of!(OrtApi, KernelInfoGetAttribute_tensor) - 1888usize];
4514    ["Offset of field: OrtApi::HasSessionConfigEntry"]
4515        [::std::mem::offset_of!(OrtApi, HasSessionConfigEntry) - 1896usize];
4516    ["Offset of field: OrtApi::GetSessionConfigEntry"]
4517        [::std::mem::offset_of!(OrtApi, GetSessionConfigEntry) - 1904usize];
4518    ["Offset of field: OrtApi::SessionOptionsAppendExecutionProvider_Dnnl"]
4519        [::std::mem::offset_of!(OrtApi, SessionOptionsAppendExecutionProvider_Dnnl) - 1912usize];
4520    ["Offset of field: OrtApi::CreateDnnlProviderOptions"]
4521        [::std::mem::offset_of!(OrtApi, CreateDnnlProviderOptions) - 1920usize];
4522    ["Offset of field: OrtApi::UpdateDnnlProviderOptions"]
4523        [::std::mem::offset_of!(OrtApi, UpdateDnnlProviderOptions) - 1928usize];
4524    ["Offset of field: OrtApi::GetDnnlProviderOptionsAsString"]
4525        [::std::mem::offset_of!(OrtApi, GetDnnlProviderOptionsAsString) - 1936usize];
4526    ["Offset of field: OrtApi::ReleaseDnnlProviderOptions"]
4527        [::std::mem::offset_of!(OrtApi, ReleaseDnnlProviderOptions) - 1944usize];
4528    ["Offset of field: OrtApi::KernelInfo_GetNodeName"]
4529        [::std::mem::offset_of!(OrtApi, KernelInfo_GetNodeName) - 1952usize];
4530    ["Offset of field: OrtApi::KernelInfo_GetLogger"]
4531        [::std::mem::offset_of!(OrtApi, KernelInfo_GetLogger) - 1960usize];
4532    ["Offset of field: OrtApi::KernelContext_GetLogger"]
4533        [::std::mem::offset_of!(OrtApi, KernelContext_GetLogger) - 1968usize];
4534    ["Offset of field: OrtApi::Logger_LogMessage"]
4535        [::std::mem::offset_of!(OrtApi, Logger_LogMessage) - 1976usize];
4536    ["Offset of field: OrtApi::Logger_GetLoggingSeverityLevel"]
4537        [::std::mem::offset_of!(OrtApi, Logger_GetLoggingSeverityLevel) - 1984usize];
4538    ["Offset of field: OrtApi::KernelInfoGetConstantInput_tensor"]
4539        [::std::mem::offset_of!(OrtApi, KernelInfoGetConstantInput_tensor) - 1992usize];
4540    ["Offset of field: OrtApi::CastTypeInfoToOptionalTypeInfo"]
4541        [::std::mem::offset_of!(OrtApi, CastTypeInfoToOptionalTypeInfo) - 2000usize];
4542    ["Offset of field: OrtApi::GetOptionalContainedTypeInfo"]
4543        [::std::mem::offset_of!(OrtApi, GetOptionalContainedTypeInfo) - 2008usize];
4544    ["Offset of field: OrtApi::GetResizedStringTensorElementBuffer"]
4545        [::std::mem::offset_of!(OrtApi, GetResizedStringTensorElementBuffer) - 2016usize];
4546    ["Offset of field: OrtApi::KernelContext_GetAllocator"]
4547        [::std::mem::offset_of!(OrtApi, KernelContext_GetAllocator) - 2024usize];
4548    ["Offset of field: OrtApi::GetBuildInfoString"]
4549        [::std::mem::offset_of!(OrtApi, GetBuildInfoString) - 2032usize];
4550    ["Offset of field: OrtApi::CreateROCMProviderOptions"]
4551        [::std::mem::offset_of!(OrtApi, CreateROCMProviderOptions) - 2040usize];
4552    ["Offset of field: OrtApi::UpdateROCMProviderOptions"]
4553        [::std::mem::offset_of!(OrtApi, UpdateROCMProviderOptions) - 2048usize];
4554    ["Offset of field: OrtApi::GetROCMProviderOptionsAsString"]
4555        [::std::mem::offset_of!(OrtApi, GetROCMProviderOptionsAsString) - 2056usize];
4556    ["Offset of field: OrtApi::ReleaseROCMProviderOptions"]
4557        [::std::mem::offset_of!(OrtApi, ReleaseROCMProviderOptions) - 2064usize];
4558    ["Offset of field: OrtApi::CreateAndRegisterAllocatorV2"]
4559        [::std::mem::offset_of!(OrtApi, CreateAndRegisterAllocatorV2) - 2072usize];
4560    ["Offset of field: OrtApi::RunAsync"][::std::mem::offset_of!(OrtApi, RunAsync) - 2080usize];
4561    ["Offset of field: OrtApi::UpdateTensorRTProviderOptionsWithValue"]
4562        [::std::mem::offset_of!(OrtApi, UpdateTensorRTProviderOptionsWithValue) - 2088usize];
4563    ["Offset of field: OrtApi::GetTensorRTProviderOptionsByName"]
4564        [::std::mem::offset_of!(OrtApi, GetTensorRTProviderOptionsByName) - 2096usize];
4565    ["Offset of field: OrtApi::UpdateCUDAProviderOptionsWithValue"]
4566        [::std::mem::offset_of!(OrtApi, UpdateCUDAProviderOptionsWithValue) - 2104usize];
4567    ["Offset of field: OrtApi::GetCUDAProviderOptionsByName"]
4568        [::std::mem::offset_of!(OrtApi, GetCUDAProviderOptionsByName) - 2112usize];
4569    ["Offset of field: OrtApi::KernelContext_GetResource"]
4570        [::std::mem::offset_of!(OrtApi, KernelContext_GetResource) - 2120usize];
4571    ["Offset of field: OrtApi::SetUserLoggingFunction"]
4572        [::std::mem::offset_of!(OrtApi, SetUserLoggingFunction) - 2128usize];
4573    ["Offset of field: OrtApi::ShapeInferContext_GetInputCount"]
4574        [::std::mem::offset_of!(OrtApi, ShapeInferContext_GetInputCount) - 2136usize];
4575    ["Offset of field: OrtApi::ShapeInferContext_GetInputTypeShape"]
4576        [::std::mem::offset_of!(OrtApi, ShapeInferContext_GetInputTypeShape) - 2144usize];
4577    ["Offset of field: OrtApi::ShapeInferContext_GetAttribute"]
4578        [::std::mem::offset_of!(OrtApi, ShapeInferContext_GetAttribute) - 2152usize];
4579    ["Offset of field: OrtApi::ShapeInferContext_SetOutputTypeShape"]
4580        [::std::mem::offset_of!(OrtApi, ShapeInferContext_SetOutputTypeShape) - 2160usize];
4581    ["Offset of field: OrtApi::SetSymbolicDimensions"]
4582        [::std::mem::offset_of!(OrtApi, SetSymbolicDimensions) - 2168usize];
4583    ["Offset of field: OrtApi::ReadOpAttr"][::std::mem::offset_of!(OrtApi, ReadOpAttr) - 2176usize];
4584    ["Offset of field: OrtApi::SetDeterministicCompute"]
4585        [::std::mem::offset_of!(OrtApi, SetDeterministicCompute) - 2184usize];
4586    ["Offset of field: OrtApi::KernelContext_ParallelFor"]
4587        [::std::mem::offset_of!(OrtApi, KernelContext_ParallelFor) - 2192usize];
4588    ["Offset of field: OrtApi::SessionOptionsAppendExecutionProvider_OpenVINO_V2"][::std::mem::offset_of!(
4589        OrtApi,
4590        SessionOptionsAppendExecutionProvider_OpenVINO_V2
4591    ) - 2200usize];
4592    ["Offset of field: OrtApi::SessionOptionsAppendExecutionProvider_VitisAI"]
4593        [::std::mem::offset_of!(OrtApi, SessionOptionsAppendExecutionProvider_VitisAI) - 2208usize];
4594    ["Offset of field: OrtApi::KernelContext_GetScratchBuffer"]
4595        [::std::mem::offset_of!(OrtApi, KernelContext_GetScratchBuffer) - 2216usize];
4596    ["Offset of field: OrtApi::KernelInfoGetAllocator"]
4597        [::std::mem::offset_of!(OrtApi, KernelInfoGetAllocator) - 2224usize];
4598    ["Offset of field: OrtApi::AddExternalInitializersFromFilesInMemory"]
4599        [::std::mem::offset_of!(OrtApi, AddExternalInitializersFromFilesInMemory) - 2232usize];
4600    ["Offset of field: OrtApi::CreateLoraAdapter"]
4601        [::std::mem::offset_of!(OrtApi, CreateLoraAdapter) - 2240usize];
4602    ["Offset of field: OrtApi::CreateLoraAdapterFromArray"]
4603        [::std::mem::offset_of!(OrtApi, CreateLoraAdapterFromArray) - 2248usize];
4604    ["Offset of field: OrtApi::ReleaseLoraAdapter"]
4605        [::std::mem::offset_of!(OrtApi, ReleaseLoraAdapter) - 2256usize];
4606    ["Offset of field: OrtApi::RunOptionsAddActiveLoraAdapter"]
4607        [::std::mem::offset_of!(OrtApi, RunOptionsAddActiveLoraAdapter) - 2264usize];
4608    ["Offset of field: OrtApi::SetEpDynamicOptions"]
4609        [::std::mem::offset_of!(OrtApi, SetEpDynamicOptions) - 2272usize];
4610};
4611#[repr(u32)]
4612#[non_exhaustive]
4613#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
4614pub enum OrtCustomOpInputOutputCharacteristic {
4615    INPUT_OUTPUT_REQUIRED = 0,
4616    INPUT_OUTPUT_OPTIONAL = 1,
4617    INPUT_OUTPUT_VARIADIC = 2,
4618}
4619#[repr(C)]
4620#[derive(Debug, Copy, Clone)]
4621pub struct OrtCustomOp {
4622    pub version: u32,
4623    pub CreateKernel: ::std::option::Option<
4624        unsafe extern "C" fn(
4625            op: *const OrtCustomOp,
4626            api: *const OrtApi,
4627            info: *const OrtKernelInfo,
4628        ) -> *mut ::std::os::raw::c_void,
4629    >,
4630    pub GetName: ::std::option::Option<
4631        unsafe extern "C" fn(op: *const OrtCustomOp) -> *const ::std::os::raw::c_char,
4632    >,
4633    pub GetExecutionProviderType: ::std::option::Option<
4634        unsafe extern "C" fn(op: *const OrtCustomOp) -> *const ::std::os::raw::c_char,
4635    >,
4636    pub GetInputType: ::std::option::Option<
4637        unsafe extern "C" fn(op: *const OrtCustomOp, index: usize) -> ONNXTensorElementDataType,
4638    >,
4639    pub GetInputTypeCount:
4640        ::std::option::Option<unsafe extern "C" fn(op: *const OrtCustomOp) -> usize>,
4641    pub GetOutputType: ::std::option::Option<
4642        unsafe extern "C" fn(op: *const OrtCustomOp, index: usize) -> ONNXTensorElementDataType,
4643    >,
4644    pub GetOutputTypeCount:
4645        ::std::option::Option<unsafe extern "C" fn(op: *const OrtCustomOp) -> usize>,
4646    pub KernelCompute: ::std::option::Option<
4647        unsafe extern "C" fn(
4648            op_kernel: *mut ::std::os::raw::c_void,
4649            context: *mut OrtKernelContext,
4650        ),
4651    >,
4652    pub KernelDestroy:
4653        ::std::option::Option<unsafe extern "C" fn(op_kernel: *mut ::std::os::raw::c_void)>,
4654    pub GetInputCharacteristic: ::std::option::Option<
4655        unsafe extern "C" fn(
4656            op: *const OrtCustomOp,
4657            index: usize,
4658        ) -> OrtCustomOpInputOutputCharacteristic,
4659    >,
4660    pub GetOutputCharacteristic: ::std::option::Option<
4661        unsafe extern "C" fn(
4662            op: *const OrtCustomOp,
4663            index: usize,
4664        ) -> OrtCustomOpInputOutputCharacteristic,
4665    >,
4666    pub GetInputMemoryType: ::std::option::Option<
4667        unsafe extern "C" fn(op: *const OrtCustomOp, index: usize) -> OrtMemType,
4668    >,
4669    pub GetVariadicInputMinArity: ::std::option::Option<
4670        unsafe extern "C" fn(op: *const OrtCustomOp) -> ::std::os::raw::c_int,
4671    >,
4672    pub GetVariadicInputHomogeneity: ::std::option::Option<
4673        unsafe extern "C" fn(op: *const OrtCustomOp) -> ::std::os::raw::c_int,
4674    >,
4675    pub GetVariadicOutputMinArity: ::std::option::Option<
4676        unsafe extern "C" fn(op: *const OrtCustomOp) -> ::std::os::raw::c_int,
4677    >,
4678    pub GetVariadicOutputHomogeneity: ::std::option::Option<
4679        unsafe extern "C" fn(op: *const OrtCustomOp) -> ::std::os::raw::c_int,
4680    >,
4681    pub CreateKernelV2: ::std::option::Option<
4682        unsafe extern "C" fn(
4683            op: *const OrtCustomOp,
4684            api: *const OrtApi,
4685            info: *const OrtKernelInfo,
4686            kernel: *mut *mut ::std::os::raw::c_void,
4687        ) -> OrtStatusPtr,
4688    >,
4689    pub KernelComputeV2: ::std::option::Option<
4690        unsafe extern "C" fn(
4691            op_kernel: *mut ::std::os::raw::c_void,
4692            context: *mut OrtKernelContext,
4693        ) -> OrtStatusPtr,
4694    >,
4695    pub InferOutputShapeFn: ::std::option::Option<
4696        unsafe extern "C" fn(
4697            op: *const OrtCustomOp,
4698            arg1: *mut OrtShapeInferContext,
4699        ) -> OrtStatusPtr,
4700    >,
4701    pub GetStartVersion: ::std::option::Option<
4702        unsafe extern "C" fn(op: *const OrtCustomOp) -> ::std::os::raw::c_int,
4703    >,
4704    pub GetEndVersion: ::std::option::Option<
4705        unsafe extern "C" fn(op: *const OrtCustomOp) -> ::std::os::raw::c_int,
4706    >,
4707    pub GetMayInplace: ::std::option::Option<
4708        unsafe extern "C" fn(
4709            input_index: *mut *mut ::std::os::raw::c_int,
4710            output_index: *mut *mut ::std::os::raw::c_int,
4711        ) -> usize,
4712    >,
4713    pub ReleaseMayInplace: ::std::option::Option<
4714        unsafe extern "C" fn(
4715            input_index: *mut ::std::os::raw::c_int,
4716            output_index: *mut ::std::os::raw::c_int,
4717        ),
4718    >,
4719    pub GetAliasMap: ::std::option::Option<
4720        unsafe extern "C" fn(
4721            input_index: *mut *mut ::std::os::raw::c_int,
4722            output_index: *mut *mut ::std::os::raw::c_int,
4723        ) -> usize,
4724    >,
4725    pub ReleaseAliasMap: ::std::option::Option<
4726        unsafe extern "C" fn(
4727            input_index: *mut ::std::os::raw::c_int,
4728            output_index: *mut ::std::os::raw::c_int,
4729        ),
4730    >,
4731}
4732#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4733const _: () = {
4734    ["Size of OrtCustomOp"][::std::mem::size_of::<OrtCustomOp>() - 208usize];
4735    ["Alignment of OrtCustomOp"][::std::mem::align_of::<OrtCustomOp>() - 8usize];
4736    ["Offset of field: OrtCustomOp::version"]
4737        [::std::mem::offset_of!(OrtCustomOp, version) - 0usize];
4738    ["Offset of field: OrtCustomOp::CreateKernel"]
4739        [::std::mem::offset_of!(OrtCustomOp, CreateKernel) - 8usize];
4740    ["Offset of field: OrtCustomOp::GetName"]
4741        [::std::mem::offset_of!(OrtCustomOp, GetName) - 16usize];
4742    ["Offset of field: OrtCustomOp::GetExecutionProviderType"]
4743        [::std::mem::offset_of!(OrtCustomOp, GetExecutionProviderType) - 24usize];
4744    ["Offset of field: OrtCustomOp::GetInputType"]
4745        [::std::mem::offset_of!(OrtCustomOp, GetInputType) - 32usize];
4746    ["Offset of field: OrtCustomOp::GetInputTypeCount"]
4747        [::std::mem::offset_of!(OrtCustomOp, GetInputTypeCount) - 40usize];
4748    ["Offset of field: OrtCustomOp::GetOutputType"]
4749        [::std::mem::offset_of!(OrtCustomOp, GetOutputType) - 48usize];
4750    ["Offset of field: OrtCustomOp::GetOutputTypeCount"]
4751        [::std::mem::offset_of!(OrtCustomOp, GetOutputTypeCount) - 56usize];
4752    ["Offset of field: OrtCustomOp::KernelCompute"]
4753        [::std::mem::offset_of!(OrtCustomOp, KernelCompute) - 64usize];
4754    ["Offset of field: OrtCustomOp::KernelDestroy"]
4755        [::std::mem::offset_of!(OrtCustomOp, KernelDestroy) - 72usize];
4756    ["Offset of field: OrtCustomOp::GetInputCharacteristic"]
4757        [::std::mem::offset_of!(OrtCustomOp, GetInputCharacteristic) - 80usize];
4758    ["Offset of field: OrtCustomOp::GetOutputCharacteristic"]
4759        [::std::mem::offset_of!(OrtCustomOp, GetOutputCharacteristic) - 88usize];
4760    ["Offset of field: OrtCustomOp::GetInputMemoryType"]
4761        [::std::mem::offset_of!(OrtCustomOp, GetInputMemoryType) - 96usize];
4762    ["Offset of field: OrtCustomOp::GetVariadicInputMinArity"]
4763        [::std::mem::offset_of!(OrtCustomOp, GetVariadicInputMinArity) - 104usize];
4764    ["Offset of field: OrtCustomOp::GetVariadicInputHomogeneity"]
4765        [::std::mem::offset_of!(OrtCustomOp, GetVariadicInputHomogeneity) - 112usize];
4766    ["Offset of field: OrtCustomOp::GetVariadicOutputMinArity"]
4767        [::std::mem::offset_of!(OrtCustomOp, GetVariadicOutputMinArity) - 120usize];
4768    ["Offset of field: OrtCustomOp::GetVariadicOutputHomogeneity"]
4769        [::std::mem::offset_of!(OrtCustomOp, GetVariadicOutputHomogeneity) - 128usize];
4770    ["Offset of field: OrtCustomOp::CreateKernelV2"]
4771        [::std::mem::offset_of!(OrtCustomOp, CreateKernelV2) - 136usize];
4772    ["Offset of field: OrtCustomOp::KernelComputeV2"]
4773        [::std::mem::offset_of!(OrtCustomOp, KernelComputeV2) - 144usize];
4774    ["Offset of field: OrtCustomOp::InferOutputShapeFn"]
4775        [::std::mem::offset_of!(OrtCustomOp, InferOutputShapeFn) - 152usize];
4776    ["Offset of field: OrtCustomOp::GetStartVersion"]
4777        [::std::mem::offset_of!(OrtCustomOp, GetStartVersion) - 160usize];
4778    ["Offset of field: OrtCustomOp::GetEndVersion"]
4779        [::std::mem::offset_of!(OrtCustomOp, GetEndVersion) - 168usize];
4780    ["Offset of field: OrtCustomOp::GetMayInplace"]
4781        [::std::mem::offset_of!(OrtCustomOp, GetMayInplace) - 176usize];
4782    ["Offset of field: OrtCustomOp::ReleaseMayInplace"]
4783        [::std::mem::offset_of!(OrtCustomOp, ReleaseMayInplace) - 184usize];
4784    ["Offset of field: OrtCustomOp::GetAliasMap"]
4785        [::std::mem::offset_of!(OrtCustomOp, GetAliasMap) - 192usize];
4786    ["Offset of field: OrtCustomOp::ReleaseAliasMap"]
4787        [::std::mem::offset_of!(OrtCustomOp, ReleaseAliasMap) - 200usize];
4788};
4789unsafe extern "C" {
4790    pub fn OrtSessionOptionsAppendExecutionProvider_CUDA(
4791        options: *mut OrtSessionOptions,
4792        device_id: ::std::os::raw::c_int,
4793    ) -> OrtStatusPtr;
4794}
4795unsafe extern "C" {
4796    pub fn OrtSessionOptionsAppendExecutionProvider_ROCM(
4797        options: *mut OrtSessionOptions,
4798        device_id: ::std::os::raw::c_int,
4799    ) -> OrtStatusPtr;
4800}
4801unsafe extern "C" {
4802    pub fn OrtSessionOptionsAppendExecutionProvider_MIGraphX(
4803        options: *mut OrtSessionOptions,
4804        device_id: ::std::os::raw::c_int,
4805    ) -> OrtStatusPtr;
4806}
4807unsafe extern "C" {
4808    pub fn OrtSessionOptionsAppendExecutionProvider_Dnnl(
4809        options: *mut OrtSessionOptions,
4810        use_arena: ::std::os::raw::c_int,
4811    ) -> OrtStatusPtr;
4812}
4813unsafe extern "C" {
4814    pub fn OrtSessionOptionsAppendExecutionProvider_Tensorrt(
4815        options: *mut OrtSessionOptions,
4816        device_id: ::std::os::raw::c_int,
4817    ) -> OrtStatusPtr;
4818}
4819#[repr(C)]
4820#[derive(Debug, Copy, Clone)]
4821pub struct __locale_data {
4822    pub _address: u8,
4823}