arrays are now lists structs are now records unions are now variants this ruins some of my union puns, oh well
48 lines
1.3 KiB
Plaintext
48 lines
1.3 KiB
Plaintext
|
|
(use "errno.witx")
|
|
|
|
(typename $pair_ints
|
|
(record
|
|
(field $first s32)
|
|
(field $second s32)))
|
|
|
|
(typename $pair_int_ptrs
|
|
(record
|
|
(field $first (@witx const_pointer s32))
|
|
(field $second (@witx const_pointer s32))))
|
|
|
|
(typename $pair_int_and_ptr
|
|
(record
|
|
(field $first (@witx const_pointer s32))
|
|
(field $second s32)))
|
|
|
|
(typename $some_bytes (list u8))
|
|
|
|
(typename $record_of_list
|
|
(record
|
|
(field $arr $some_bytes)))
|
|
|
|
(typename $s64 s64)
|
|
(typename $u16 u16)
|
|
|
|
(module $records
|
|
(@interface func (export "sum_of_pair")
|
|
(param $an_pair $pair_ints)
|
|
(result $error (expected $s64 (error $errno))))
|
|
(@interface func (export "sum_of_pair_of_ptrs")
|
|
(param $an_pair $pair_int_ptrs)
|
|
(result $error (expected $s64 (error $errno))))
|
|
(@interface func (export "sum_of_int_and_ptr")
|
|
(param $an_pair $pair_int_and_ptr)
|
|
(result $error (expected $s64 (error $errno))))
|
|
(@interface func (export "return_pair_ints")
|
|
(result $error (expected $pair_ints (error $errno))))
|
|
(@interface func (export "return_pair_of_ptrs")
|
|
(param $first (@witx const_pointer s32))
|
|
(param $second (@witx const_pointer s32))
|
|
(result $error (expected $pair_int_ptrs (error $errno))))
|
|
(@interface func (export "sum_array")
|
|
(param $a_list $record_of_list)
|
|
(result $error (expected $u16 (error $errno))))
|
|
)
|