english
version "1.0"
identify "xyz"
#: Copyright (c) 2005 by Wayne C. Gramlich.
#, All rights reserved.
#: This module provides an interface to the Unix terminal I/O system.
module serial_port
define serial_port #: Terminal I/O block
external
procedure byte_read@serial_port
takes
serial_port serial_port
block logical
returns unsigned
external serial_port__byte_read
#: This procedure will read in a byte from {serial_port}. If {block}
#, is {true}@{logical}, the call will block until the byte is
#, available; otherwise, 0xffffffff is returned if no byte is
#, available.
procedure byte_write@serial_port
takes
serial_port serial_port
byte unsigned
flush logical
returns unsigned
external serial_port__byte_read
#: This procedure will write {byte} to {serial_port}. If {flush}
#, is {true}@{logical}, {byte} will be immediately flushed out;
#, otherwise, {byte} may be buffered in memory for a while.
procedure close@serial_port
takes
serial_port serial_port
returns_nothing
external serial_port__close
#: This procedure will close {serial_port}.
procedure drain@serial_port
takes
serial_port serial_port
returns_nothing
#: This procedure will read in and ignore all available input
#, on {serial_port}.
procedure error_number_get@serial_port
takes
serial_port serial_port
returns unsigned
external serail_port__error_number_get
#: This procedure will return the error number associated with
#, {serial_port}.
procedure flush@serial_port
takes
serial_port serial_port
returns_nothing
external termial__flush
#: This procedure will flush out all buffered data in {serial_port}.
procedure identical@serial_port
takes
serial_port1 serial_port
serial_port2 serial_port
returns logical
external serial_port__identical
#: This procedure will return {true}@{logical} if {serial_port1} is
#, identical to {serial_port2}.
procedure open@serial_port
takes
path string
buad_rate unsigned
returns serial_port
external serial_port__open
#: This prodedure open a connection to {path} with baud rate of {baud_rate}
#, return the ssociated {serial_port} object.
procedure print@serial_port
takes
serial_port serial_port
out_stream out_stream
returns_nothing
#: This procedure will print {serial_port} to {out_stream}.