todo: need an unsafe method for casting pointers in order to validate contents via recursive descent
43 lines
958 B
Plaintext
43 lines
958 B
Plaintext
|
|
|
|
(typename $errno
|
|
(enum u32
|
|
$ok
|
|
$invalid_arg
|
|
$dont_want_to
|
|
$physically_unable
|
|
$picket_line))
|
|
|
|
(typename $excuse
|
|
(enum u8
|
|
$dog_ate
|
|
$traffic
|
|
$sleeping))
|
|
|
|
(typename $pair_ints
|
|
(struct
|
|
(field $first s32)
|
|
(field $second s32)))
|
|
|
|
(module $foo
|
|
(@interface func (export "bar")
|
|
(param $an_int u32)
|
|
(param $an_float f32)
|
|
(result $error $errno))
|
|
(@interface func (export "baz")
|
|
(param $an_excuse $excuse)
|
|
(param $an_excuse_by_reference (@witx pointer $excuse))
|
|
(param $a_lamer_excuse (@witx const_pointer $excuse))
|
|
(param $two_layers_of_excuses (@witx pointer (@witx const_pointer $excuse)))
|
|
(result $error $errno))
|
|
(@interface func (export "bat")
|
|
(param $an_int u32)
|
|
(result $error $errno)
|
|
(result $doubled_it f32))
|
|
|
|
(@interface func (export "sum_of_pair")
|
|
(param $an_pair $pair_ints)
|
|
(result $error $errno)
|
|
(result $doubled s64))
|
|
)
|