;;; UART Device API
(use "common.witx")
(module $uart
(@interface func (export "init")
;; UART device to init
(param $port u32)
;; Baud rate
(param $baud u32)
(param $tx s32)
(param $rx s32)
;; Returns a device handle or error
(result $res (expected $dev (error $errno)))
)
(@interface func (export "deinit")
;; UART device handle to deinit
(param $handle s32)
;; Result
(result $res (expected (error $errno)))
)
(@interface func (export "write")
;; UART device handle for write
(param $handle s32)
;; Write operation flags
(param $flags s32)
;; Data to write
(param $data $rbytes)
;; Result
(result $res (expected (error $errno)))
)
(@interface func (export "read")
;; UART device handle for transfer
(param $handle s32)
;; Read operation flags
(param $flags s32)
;; Buffer to read into
(param $buff $wbytes)
;; Result
(result $res (expected (error $errno)))
)
)