(* libsimpleio bindings for GNU Modula-2 *) (* Copyright (C)2018-2023, Philip Munts dba Munts Technologies. *) (* *) (* Redistribution and use in source and binary forms, with or without *) (* modification, are permitted provided that the following conditions are met: *) (* *) (* * Redistributions of source code must retain the above copyright notice, *) (* this list of conditions and the following disclaimer. *) (* *) (* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" *) (* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE *) (* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE *) (* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE *) (* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR *) (* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF *) (* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS *) (* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN *) (* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) *) (* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE *) (* POSSIBILITY OF SUCH DAMAGE. *) DEFINITION MODULE FOR "C" libserial; FROM SYSTEM IMPORT BYTE; EXPORT UNQUALIFIED PARITY_NONE, PARITY_EVEN, PARITY_ODD, SERIAL_open, SERIAL_close, SERIAL_send, SERIAL_receive; CONST PARITY_NONE = 0; PARITY_EVEN = 1; PARITY_ODD = 2; PROCEDURE SERIAL_open (name : ARRAY OF CHAR; baudrate : CARDINAL; parity : CARDINAL; databits : CARDINAL; stopbits : CARDINAL; VAR fd : INTEGER; VAR error : CARDINAL); PROCEDURE SERIAL_close (fd : INTEGER; VAR error : CARDINAL); PROCEDURE SERIAL_send (fd : INTEGER; buf : ARRAY OF BYTE; bufsize : CARDINAL; VAR count : CARDINAL; VAR error : CARDINAL); PROCEDURE SERIAL_receive (fd : INTEGER; VAR buf : ARRAY OF BYTE; bufsize : CARDINAL; VAR count : CARDINAL; VAR error : CARDINAL); END libserial.