1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
|
(use "errno.witx")
(typename $pair_ints
(record
(field $first s32)
(field $second s32)))
(typename $pair_different_ints
(record
(field $first s64)
(field $second s16)
(field $third s16)
(field $fourth 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))))
)
|