1#![doc = concat!(
4 "Built against Perl ", env!("LIBPERL_SYS_PERL_VERSION"),
5 " (", env!("LIBPERL_SYS_PERL_THREADED"),
6 ", `", env!("LIBPERL_SYS_PERL_ARCHNAME"), "`).",
7)]
8#![allow(non_upper_case_globals)]
12#![allow(non_camel_case_types)]
13#![allow(non_snake_case)]
14#![allow(unnecessary_transmutes)]
15#![allow(unpredictable_function_pointer_comparisons)]
16#![allow(unused_imports)]
17#![allow(unused_mut)]
18#![allow(unused_parens)]
22#![allow(unused_must_use)]
26#![allow(unused_unsafe)]
27#![allow(unused_variables)]
28
29include!(concat!(env!("OUT_DIR"), "/bindings.rs"));
30
31include!(concat!(env!("OUT_DIR"), "/macro_bindings.rs"));
32
33include!(concat!(env!("OUT_DIR"), "/perlvar_ptr_bindings.rs"));
36
37#[cfg(perlapi_ver40)]
38pub type perl_stack_size_t = isize;
39
40#[cfg(not(perlapi_ver40))]
41pub type perl_stack_size_t = i32;
42
43#[cfg(not(perlapi_ver40))]
48pub type Stack_off_t = I32;
49
50#[cfg(not(perlapi_ver32))]
57pub use self::S_SvREFCNT_dec as Perl_SvREFCNT_dec;
58
59#[cfg(not(perlapi_ver22))]
63pub unsafe fn OpSIBLING(o: *mut OP) -> *mut OP {
64 unsafe { (*o).op_sibling }
65}
66
67#[cfg(all(not(perlapi_ver22), perl_useithreads))]
73pub unsafe fn Perl_newXS_deffile(
74 my_perl: *mut PerlInterpreter,
75 name: *const ::std::os::raw::c_char,
76 subaddr: XSUBADDR_t,
77) -> *mut CV {
78 unsafe { Perl_newXS(my_perl, name, subaddr, c"".as_ptr()) }
81}
82
83#[cfg(all(not(perlapi_ver22), not(perl_useithreads)))]
84pub unsafe fn Perl_newXS_deffile(
85 name: *const ::std::os::raw::c_char,
86 subaddr: XSUBADDR_t,
87) -> *mut CV {
88 unsafe { Perl_newXS(name, subaddr, c"".as_ptr()) }
89}
90
91#[cfg(all(not(perlapi_ver22), perl_useithreads))]
94pub unsafe fn Perl_xs_boot_epilog(my_perl: *mut PerlInterpreter, ax: U32) {
95 unsafe {
96 if !(*my_perl).Iunitcheckav.is_null() {
97 Perl_call_list(my_perl, (*my_perl).Iscopestack_ix, (*my_perl).Iunitcheckav);
98 }
99 let slot = (*my_perl).Istack_base.add(ax as usize);
100 *slot = &raw mut (*my_perl).Isv_yes;
101 (*my_perl).Istack_sp = slot;
102 }
103}
104
105#[cfg(all(not(perlapi_ver22), not(perl_useithreads)))]
106pub unsafe fn Perl_xs_boot_epilog(ax: U32) {
107 unsafe {
108 if !PL_unitcheckav.is_null() {
109 Perl_call_list(PL_scopestack_ix, PL_unitcheckav);
110 }
111 let slot = PL_stack_base.add(ax as usize);
112 *slot = &raw mut PL_sv_yes;
113 PL_stack_sp = slot;
114 }
115}