pub const MAX_FLAT_PARAMS: usize = 16;
pub const MAX_FLAT_RESULTS: usize = 1;
mod artifacts;
mod info;
mod names;
mod types;
mod vmcomponent_offsets;
pub use self::artifacts::*;
pub use self::info::*;
pub use self::names::*;
pub use self::types::*;
pub use self::vmcomponent_offsets::*;
#[cfg(feature = "compile")]
mod compiler;
#[cfg(feature = "compile")]
pub mod dfg;
#[cfg(feature = "compile")]
mod translate;
#[cfg(feature = "compile")]
mod types_builder;
#[cfg(feature = "compile")]
pub use self::compiler::*;
#[cfg(feature = "compile")]
pub use self::translate::*;
#[cfg(feature = "compile")]
pub use self::types_builder::*;
#[macro_export]
macro_rules! foreach_transcoder {
($mac:ident) => {
$mac! {
utf8_to_utf8(src: ptr_u8, len: size, dst: ptr_u8);
utf16_to_utf16(src: ptr_u16, len: size, dst: ptr_u16);
latin1_to_latin1(src: ptr_u8, len: size, dst: ptr_u8);
latin1_to_utf16(src: ptr_u8, len: size, dst: ptr_u16);
utf8_to_utf16(src: ptr_u8, len: size, dst: ptr_u16) -> size;
utf16_to_utf8(src: ptr_u16, src_len: size, dst: ptr_u8, dst_len: size, ret2: ptr_size) -> size;
latin1_to_utf8(src: ptr_u8, src_len: size, dst: ptr_u8, dst_len: size, ret2: ptr_size) -> size;
utf16_to_compact_probably_utf16(src: ptr_u16, len: size, dst: ptr_u16) -> size;
utf8_to_latin1(src: ptr_u8, len: size, dst: ptr_u8, ret2: ptr_size) -> size;
utf16_to_latin1(src: ptr_u16, len: size, dst: ptr_u8, ret2: ptr_size) -> size;
utf8_to_compact_utf16(src: ptr_u8, src_len: size, dst: ptr_u16, dst_len: size, bytes_so_far: size) -> size;
utf16_to_compact_utf16(src: ptr_u16, src_len: size, dst: ptr_u16, dst_len: size, bytes_so_far: size) -> size;
}
};
}
#[macro_export]
macro_rules! foreach_builtin_component_function {
($mac:ident) => {
$mac! {
resource_new32(vmctx: vmctx, resource: u32, rep: u32) -> u32;
resource_rep32(vmctx: vmctx, resource: u32, idx: u32) -> u32;
resource_drop(vmctx: vmctx, resource: u32, idx: u32) -> u64;
resource_transfer_own(vmctx: vmctx, src_idx: u32, src_table: u32, dst_table: u32) -> u32;
resource_transfer_borrow(vmctx: vmctx, src_idx: u32, src_table: u32, dst_table: u32) -> u32;
resource_enter_call(vmctx: vmctx);
resource_exit_call(vmctx: vmctx);
}
};
}