51 lines
1.3 KiB
Plaintext
51 lines
1.3 KiB
Plaintext
|
|
(use "errno.witx")
|
|
|
|
(typename $pair_ints
|
|
(struct
|
|
(field $first s32)
|
|
(field $second s32)))
|
|
|
|
(typename $pair_int_ptrs
|
|
(struct
|
|
(field $first (@witx const_pointer s32))
|
|
(field $second (@witx const_pointer s32))))
|
|
|
|
(typename $pair_int_and_ptr
|
|
(struct
|
|
(field $first (@witx const_pointer s32))
|
|
(field $second s32)))
|
|
|
|
(typename $some_bytes (array u8))
|
|
|
|
(typename $struct_of_array
|
|
(struct
|
|
(field $arr $some_bytes)))
|
|
|
|
(module $structs
|
|
(@interface func (export "sum_of_pair")
|
|
(param $an_pair $pair_ints)
|
|
(result $error $errno)
|
|
(result $doubled s64))
|
|
(@interface func (export "sum_of_pair_of_ptrs")
|
|
(param $an_pair $pair_int_ptrs)
|
|
(result $error $errno)
|
|
(result $doubled s64))
|
|
(@interface func (export "sum_of_int_and_ptr")
|
|
(param $an_pair $pair_int_and_ptr)
|
|
(result $error $errno)
|
|
(result $double s64))
|
|
(@interface func (export "return_pair_ints")
|
|
(result $error $errno)
|
|
(result $an_pair $pair_ints))
|
|
(@interface func (export "return_pair_of_ptrs")
|
|
(param $first (@witx const_pointer s32))
|
|
(param $second (@witx const_pointer s32))
|
|
(result $error $errno)
|
|
(result $an_pair $pair_int_ptrs))
|
|
(@interface func (export "sum_array")
|
|
(param $an_arr $struct_of_array)
|
|
(result $error $errno)
|
|
(result $doubled u16))
|
|
)
|