#![doc = concat!(
"Built against Perl ", env!("LIBPERL_SYS_PERL_VERSION"),
" (", env!("LIBPERL_SYS_PERL_THREADED"),
", `", env!("LIBPERL_SYS_PERL_ARCHNAME"), "`).",
)]
#![allow(non_upper_case_globals)]
#![allow(non_camel_case_types)]
#![allow(non_snake_case)]
#![allow(unnecessary_transmutes)]
#![allow(unpredictable_function_pointer_comparisons)]
#![allow(unused_imports)]
#![allow(unused_mut)]
#![allow(unused_parens)]
#![allow(unused_must_use)]
#![allow(unused_unsafe)]
#![allow(unused_variables)]
include!(concat!(env!("OUT_DIR"), "/bindings.rs"));
include!(concat!(env!("OUT_DIR"), "/macro_bindings.rs"));
include!(concat!(env!("OUT_DIR"), "/perlvar_ptr_bindings.rs"));
#[cfg(perlapi_ver40)]
pub type perl_stack_size_t = isize;
#[cfg(not(perlapi_ver40))]
pub type perl_stack_size_t = i32;
#[cfg(not(perlapi_ver40))]
pub type Stack_off_t = I32;
#[cfg(not(perlapi_ver32))]
pub use self::S_SvREFCNT_dec as Perl_SvREFCNT_dec;
#[cfg(not(perlapi_ver22))]
pub unsafe fn OpSIBLING(o: *mut OP) -> *mut OP {
unsafe { (*o).op_sibling }
}
#[cfg(all(not(perlapi_ver22), perl_useithreads))]
pub unsafe fn Perl_newXS_deffile(
my_perl: *mut PerlInterpreter,
name: *const ::std::os::raw::c_char,
subaddr: XSUBADDR_t,
) -> *mut CV {
unsafe { Perl_newXS(my_perl, name, subaddr, c"".as_ptr()) }
}
#[cfg(all(not(perlapi_ver22), not(perl_useithreads)))]
pub unsafe fn Perl_newXS_deffile(
name: *const ::std::os::raw::c_char,
subaddr: XSUBADDR_t,
) -> *mut CV {
unsafe { Perl_newXS(name, subaddr, c"".as_ptr()) }
}
#[cfg(all(not(perlapi_ver22), perl_useithreads))]
pub unsafe fn Perl_xs_boot_epilog(my_perl: *mut PerlInterpreter, ax: U32) {
unsafe {
if !(*my_perl).Iunitcheckav.is_null() {
Perl_call_list(my_perl, (*my_perl).Iscopestack_ix, (*my_perl).Iunitcheckav);
}
let slot = (*my_perl).Istack_base.add(ax as usize);
*slot = &raw mut (*my_perl).Isv_yes;
(*my_perl).Istack_sp = slot;
}
}
#[cfg(all(not(perlapi_ver22), not(perl_useithreads)))]
pub unsafe fn Perl_xs_boot_epilog(ax: U32) {
unsafe {
if !PL_unitcheckav.is_null() {
Perl_call_list(PL_scopestack_ix, PL_unitcheckav);
}
let slot = PL_stack_base.add(ax as usize);
*slot = &raw mut PL_sv_yes;
PL_stack_sp = slot;
}
}