wit-ffi

A WIT FFI for the Moon programming language

wit
ffi
moon add BigOrangeQWQ/wit-ffi@0.1.0
Download zip
Version
0.1.0
License
Apache-2.0
Last updated
last year
Downloads
2K
README

#BigOrangeQWQ/wit-ffi

此仓库的代码来自于 wit-bindgen 里的 FFI 代码。

#
Any

pub(open) trait Any {
}

#
Cleanup

pub(all) struct Cleanup {
address : Int
size : Int
align : Int
}

#
bytes2ptr

fn bytes2ptr(bytes : FixedArray[Byte]) -> Int

#
cabi_realloc

fn cabi_realloc(src_offset : Int, src_size : Int, _dst_alignment : Int, dst_size : Int) -> Int

#
double_array2ptr

fn double_array2ptr(array : FixedArray[Double]) -> Int

#
extend16

fn extend16(value : Int) -> Int

#
extend8

fn extend8(value : Int) -> Int

#
f32_to_i32

fn f32_to_i32(value : Float) -> Int

#
f32_to_i64

fn f32_to_i64(value : Float) -> Int64

#
float_array2ptr

fn float_array2ptr(array : FixedArray[Float]) -> Int

#
free

fn free(position : Int) -> Unit

#
int64_array2ptr

fn int64_array2ptr(array : FixedArray[Int64]) -> Int

#
int_array2ptr

fn int_array2ptr(array : FixedArray[Int]) -> Int

#
load16

fn load16(offset : Int) -> Int

#
load16_u

fn load16_u(offset : Int) -> Int

#
load32

fn load32(offset : Int) -> Int

#
load64

fn load64(offset : Int) -> Int64

#
load8

fn load8(offset : Int) -> Int

#
load8_u

fn load8_u(offset : Int) -> Int

#
loadf32

fn loadf32(offset : Int) -> Float

#
loadf64

fn loadf64(offset : Int) -> Double

#
malloc

fn malloc(size : Int) -> Int

#
ptr2bytes

fn ptr2bytes(ptr : Int, len : Int) -> FixedArray[Byte]

#
ptr2double_array

fn ptr2double_array(ptr : Int, len : Int) -> FixedArray[Double]

#
ptr2float_array

fn ptr2float_array(ptr : Int, len : Int) -> FixedArray[Float]

#
ptr2int64_array

fn ptr2int64_array(ptr : Int, len : Int) -> FixedArray[Int64]

#
ptr2int_array

fn ptr2int_array(ptr : Int, len : Int) -> FixedArray[Int]

#
ptr2str

fn ptr2str(ptr : Int, len : Int) -> String

#
ptr2uint64_array

fn ptr2uint64_array(ptr : Int, len : Int) -> FixedArray[UInt64]

#
ptr2uint_array

fn ptr2uint_array(ptr : Int, len : Int) -> FixedArray[UInt]

#
store16

fn store16(offset : Int, value : Int) -> Unit

#
store32

fn store32(offset : Int, value : Int) -> Unit

#
store64

fn store64(offset : Int, value : Int64) -> Unit

#
store8

fn store8(offset : Int, value : Int) -> Unit

#
storef32

fn storef32(offset : Int, value : Float) -> Unit

#
storef64

fn storef64(offset : Int, value : Double) -> Unit

#
str2ptr

fn str2ptr(str : String) -> Int

#
uint64_array2ptr

fn uint64_array2ptr(array : FixedArray[UInt64]) -> Int

#
uint_array2ptr

fn uint_array2ptr(array : FixedArray[UInt]) -> Int

Source Files