#![allow(unused)]
mod x86 {
pub mod x86_win64 {
use crate::ffi_abi;
pub const ffi_abi_FFI_FIRST_ABI: ffi_abi = 0;
pub const ffi_abi_FFI_WIN64: ffi_abi = 1;
pub const ffi_abi_FFI_GNUW64: ffi_abi = 2;
pub const ffi_abi_FFI_LAST_ABI: ffi_abi = 3;
mod gnu {
pub const ffi_abi_FFI_DEFAULT_ABI: crate::ffi_abi = super::ffi_abi_FFI_GNUW64;
}
mod msvc {
pub const ffi_abi_FFI_DEFAULT_ABI: crate::ffi_abi = super::ffi_abi_FFI_GNUW64;
}
#[cfg(target_env = "gnu")]
pub use gnu::*;
#[cfg(target_env = "msvc")]
pub use msvc::*;
pub const FFI_TRAMPOLINE_SIZE: usize = 32;
pub const FFI_NATIVE_RAW_API: u32 = 0;
}
pub mod x86_64 {
use crate::ffi_abi;
pub const ffi_abi_FFI_FIRST_ABI: ffi_abi = 1;
pub const ffi_abi_FFI_UNIX64: ffi_abi = 2;
pub const ffi_abi_FFI_WIN64: ffi_abi = 3;
pub const ffi_abi_FFI_EFI64: ffi_abi = ffi_abi_FFI_WIN64;
pub const ffi_abi_FFI_GNUW64: ffi_abi = 4;
pub const ffi_abi_FFI_LAST_ABI: ffi_abi = 5;
pub const ffi_abi_FFI_DEFAULT_ABI: ffi_abi = ffi_abi_FFI_UNIX64;
pub const FFI_TRAMPOLINE_SIZE: usize = 32;
pub const FFI_NATIVE_RAW_API: u32 = 0;
}
pub mod x86_win32 {
use crate::ffi_abi;
pub const ffi_abi_FFI_FIRST_ABI: ffi_abi = 0;
pub const ffi_abi_FFI_SYSV: ffi_abi = 1;
pub const ffi_abi_FFI_STDCALL: ffi_abi = 2;
pub const ffi_abi_FFI_THISCALL: ffi_abi = 3;
pub const ffi_abi_FFI_FASTCALL: ffi_abi = 4;
pub const ffi_abi_FFI_MS_CDECL: ffi_abi = 5;
pub const ffi_abi_FFI_PASCAL: ffi_abi = 6;
pub const ffi_abi_FFI_REGISTER: ffi_abi = 7;
pub const ffi_abi_FFI_LAST_ABI: ffi_abi = 8;
pub const ffi_abi_FFI_DEFAULT_ABI: ffi_abi = ffi_abi_FFI_MS_CDECL;
pub const FFI_TRAMPOLINE_SIZE: usize = 12;
pub const FFI_NATIVE_RAW_API: u32 = 1;
}
pub mod x86 {
use crate::ffi_abi;
pub const ffi_abi_FFI_FIRST_ABI: ffi_abi = 0;
pub const ffi_abi_FFI_SYSV: ffi_abi = 1;
pub const ffi_abi_FFI_THISCALL: ffi_abi = 3;
pub const ffi_abi_FFI_FASTCALL: ffi_abi = 4;
pub const ffi_abi_FFI_STDCALL: ffi_abi = 5;
pub const ffi_abi_FFI_PASCAL: ffi_abi = 6;
pub const ffi_abi_FFI_REGISTER: ffi_abi = 7;
pub const ffi_abi_FFI_MS_CDECL: ffi_abi = 8;
pub const ffi_abi_FFI_LAST_ABI: ffi_abi = 9;
pub const ffi_abi_FFI_DEFAULT_ABI: ffi_abi = ffi_abi_FFI_SYSV;
pub const FFI_TRAMPOLINE_SIZE: usize = 12;
pub const FFI_NATIVE_RAW_API: u32 = 1;
}
pub const FFI_GO_CLOSURES: u32 = 1;
}
#[cfg(all(target_arch = "x86_64", windows))]
pub use x86::x86_win64::*;
#[cfg(all(target_arch = "x86_64", unix))]
pub use x86::x86_64::*;
#[cfg(all(target_arch = "x86", windows))]
pub use x86::x86_win32::*;
#[cfg(all(target_arch = "x86", unix))]
pub use x86::x86::*;
mod arm {
use crate::ffi_abi;
pub const ffi_abi_FFI_FIRST_ABI: ffi_abi = 0;
pub const ffi_abi_FFI_SYSV: ffi_abi = 1;
pub const ffi_abi_FFI_VFP: ffi_abi = 2;
pub const ffi_abi_FFI_LAST_ABI: ffi_abi = 3;
pub const ffi_abi_FFI_DEFAULT_ABI: ffi_abi = ffi_abi_FFI_SYSV;
pub const FFI_GO_CLOSURES: u32 = 1;
pub const FFI_TRAMPOLINE_SIZE: usize = 12;
pub const FFI_NATIVE_RAW_API: u32 = 0;
}
#[cfg(target_arch = "arm")]
pub use arm::*;
mod aarch64 {
use crate::ffi_abi;
pub const ffi_abi_FFI_FIRST_ABI: ffi_abi = 0;
pub const ffi_abi_FFI_SYSV: ffi_abi = 1;
pub const ffi_abi_FFI_LAST_ABI: ffi_abi = 2;
pub const ffi_abi_FFI_DEFAULT_ABI: ffi_abi = ffi_abi_FFI_SYSV;
pub const FFI_NATIVE_RAW_API: u32 = 0;
#[cfg(target_vendor = "apple")]
pub const FFI_TRAMPOLINE_SIZE: usize = 16;
#[cfg(not(target_vendor = "apple"))]
pub const FFI_TRAMPOLINE_SIZE: usize = 32;
#[cfg(not(any(target_os = "windows", target_vendor = "apple")))]
pub const FFI_GO_CLOSURES: u32 = 1;
}
#[cfg(target_arch = "aarch64")]
pub use aarch64::*;
mod powerpc {
pub mod powerpc {
use crate::ffi_abi;
pub const ffi_abi_FFI_FIRST_ABI: ffi_abi = 0;
pub const ffi_abi_FFI_SYSV_SOFT_FLOAT: ffi_abi = 0b000001;
pub const ffi_abi_FFI_SYSV_STRUCT_RET: ffi_abi = 0b000010;
pub const ffi_abi_FFI_SYSV_IBM_LONG_DOUBLE: ffi_abi = 0b000100;
pub const ffi_abi_FFI_SYSV: ffi_abi = 0b001000;
pub const ffi_abi_FFI_SYSV_LONG_DOUBLE_128: ffi_abi = 0b010000;
mod fprs {
pub const SOFT_FLOAT_FLAG: crate::ffi_abi = 0b0;
}
mod no_fprs {
pub const SOFT_FLOAT_FLAG: crate::ffi_abi = super::ffi_abi_FFI_SYSV_SOFT_FLOAT;
}
#[cfg(target_env = "gnuspe")]
use no_fprs::*;
#[cfg(not(target_feature = "gnuspe"))]
use fprs::*;
mod struct_ret {
pub const STRUCT_RET_FLAG: crate::ffi_abi = super::ffi_abi_FFI_SYSV_STRUCT_RET;
}
mod no_struct_ret {
pub const STRUCT_RET_FLAG: crate::ffi_abi = 0b0;
}
#[cfg(target_os = "netbsd")]
use struct_ret::*;
#[cfg(not(target_os = "netbsd"))]
use no_struct_ret::*;
mod long_double_64 {
pub const LONG_DOUBLE_128_FLAG: crate::ffi_abi = 0b0;
}
mod long_double_128 {
pub const LONG_DOUBLE_128_FLAG: crate::ffi_abi =
super::ffi_abi_FFI_SYSV_LONG_DOUBLE_128;
}
#[cfg(any(target_os = "netbsd", target_os = "freebsd", target_env = "musl"))]
use long_double_64::*;
#[cfg(not(any(target_os = "netbsd", target_os = "freebsd", target_env = "musl")))]
use long_double_128::*;
pub const ffi_abi_FFI_DEFAULT_ABI: ffi_abi = ffi_abi_FFI_SYSV
| ffi_abi_FFI_SYSV_IBM_LONG_DOUBLE
| SOFT_FLOAT_FLAG
| STRUCT_RET_FLAG
| LONG_DOUBLE_128_FLAG;
pub const FFI_TRAMPOLINE_SIZE: usize = 40;
pub const FFI_NATIVE_RAW_API: u32 = 0;
pub const FFI_GO_CLOSURES: u32 = 1;
}
pub mod powerpc64 {
use crate::ffi_abi;
pub const ffi_abi_FFI_FIRST_ABI: ffi_abi = 0;
pub const ffi_abi_FFI_LINUX_STRUCT_ALIGN: ffi_abi = 0b000001;
pub const ffi_abi_FFI_LINUX_LONG_DOUBLE_128: ffi_abi = 0b000010;
pub const ffi_abi_FFI_LINUX_LONG_DOUBLE_IEEE128: ffi_abi = 0b000100;
pub const ffi_abi_FFI_LINUX: ffi_abi = 0b001000;
mod elfv1 {
pub const STRUCT_ALIGN_FLAG: crate::ffi_abi = 0b0;
pub const FFI_TRAMPOLINE_SIZE: usize = 24;
}
mod elfv2 {
pub const STRUCT_ALIGN_FLAG: crate::ffi_abi = super::ffi_abi_FFI_LINUX_STRUCT_ALIGN;
pub const FFI_TRAMPOLINE_SIZE: usize = 32;
}
#[cfg(any(
all(target_arch = "powerpc64", target_endian="big", not(target_env = "musl")),
not(all(target_arch = "powerpc64", target_endian="little"))
))]
mod elf {
pub use super::elfv1::*;
}
#[cfg(any(
all(target_arch = "powerpc64", target_endian = "big", target_env = "musl"),
all(target_arch = "powerpc64", target_endian = "little")
))]
mod elf {
pub use super::elfv2::*;
}
pub use elf::FFI_TRAMPOLINE_SIZE;
use elf::STRUCT_ALIGN_FLAG;
mod long_double_64 {
pub const LONG_DOUBLE_128_FLAG: crate::ffi_abi = 0b0;
}
mod long_double_128 {
pub const LONG_DOUBLE_128_FLAG: crate::ffi_abi =
super::ffi_abi_FFI_LINUX_LONG_DOUBLE_128;
}
#[cfg(any(target_os = "netbsd", target_os = "freebsd", target_env = "musl"))]
use long_double_64::*;
#[cfg(not(any(target_os = "netbsd", target_os = "freebsd", target_env = "musl")))]
use long_double_128::*;
pub const ffi_abi_FFI_DEFAULT_ABI: ffi_abi =
ffi_abi_FFI_LINUX | STRUCT_ALIGN_FLAG | LONG_DOUBLE_128_FLAG;
pub const FFI_NATIVE_RAW_API: u32 = 0;
pub const FFI_GO_CLOSURES: u32 = 1;
}
}
#[cfg(target_arch = "powerpc")]
pub use powerpc::powerpc::*;
#[cfg(target_arch = "powerpc64")]
pub use powerpc::powerpc64::*;
mod riscv {
use crate::ffi_abi;
pub const ffi_abi_FFI_FIRST_ABI: ffi_abi = 0;
pub const ffi_abi_FFI_SYSV: ffi_abi = 1;
pub const ffi_abi_FFI_UNUSED_1: ffi_abi = 2;
pub const ffi_abi_FFI_UNUSED_2: ffi_abi = 3;
pub const ffi_abi_FFI_UNUSED_3: ffi_abi = 4;
pub const ffi_abi_LAST_ABI: ffi_abi = 5;
pub const ffi_abi_FFI_DEFAULT_ABI: ffi_abi = ffi_abi_FFI_SYSV;
pub const FFI_GO_CLOSURES: u32 = 1;
pub const FFI_TRAMPOLINE_SIZE: usize = 24;
pub const FFI_NATIVE_RAW_API: u32 = 0;
}
#[cfg(target_arch = "riscv")]
pub use riscv::*;
#[cfg(target_arch = "riscv64")]
pub use riscv::*;
mod s390x {
use crate::ffi_abi;
pub const ffi_abi_FFI_FIRST_ABI: ffi_abi = 0;
pub const ffi_abi_FFI_SYSV: ffi_abi = 1;
pub const ffi_abi_LAST_ABI: ffi_abi = 2;
pub const ffi_abi_FFI_DEFAULT_ABI: ffi_abi = ffi_abi_FFI_SYSV;
pub const FFI_GO_CLOSURES: u32 = 1;
pub const FFI_TRAMPOLINE_SIZE: usize = 32;
pub const FFI_NATIVE_RAW_API: u32 = 0;
}
#[cfg(target_arch = "s390x")]
pub use s390x::*;
mod loongarch64 {
use crate::ffi_abi;
pub const ffi_abi_FFI_FIRST_ABI: ffi_abi = 0;
pub const ffi_abi_FFI_LP64S: ffi_abi = 1;
pub const ffi_abi_FFI_LP64F: ffi_abi = 2;
pub const ffi_abi_FFI_LP64D: ffi_abi = 3;
pub const ffi_abi_FFI_LAST_ABI: ffi_abi = 4;
pub const ffi_abi_FFI_DEFAULT_ABI: ffi_abi = ffi_abi_FFI_LP64D;
pub const FFI_GO_CLOSURES: u32 = 1;
pub const FFI_TRAMPOLINE_SIZE: usize = 24;
pub const FFI_NATIVE_RAW_API: u32 = 0;
}
#[cfg(target_arch = "loongarch64")]
pub use loongarch64::*;