| /* do not edit automatically generated by mc from termios. */ |
| /* termios.def provides a procedural interface to termios. |
| |
| Copyright (C) 2005-2025 Free Software Foundation, Inc. |
| Contributed by Gaius Mulley <gaius.mulley@southwales.ac.uk>. |
| |
| This file is part of GNU Modula-2. |
| |
| GNU Modula-2 is free software; you can redistribute it and/or modify |
| it under the terms of the GNU General Public License as published by |
| the Free Software Foundation; either version 3, or (at your option) |
| any later version. |
| |
| GNU Modula-2 is distributed in the hope that it will be useful, but |
| WITHOUT ANY WARRANTY; without even the implied warranty of |
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
| General Public License for more details. |
| |
| Under Section 7 of GPL version 3, you are granted additional |
| permissions described in the GCC Runtime Library Exception, version |
| 3.1, as published by the Free Software Foundation. |
| |
| You should have received a copy of the GNU General Public License and |
| a copy of the GCC Runtime Library Exception along with this program; |
| see the files COPYING3 and COPYING.RUNTIME respectively. If not, see |
| <http://www.gnu.org/licenses/>. */ |
| |
| |
| #if !defined (_termios_H) |
| # define _termios_H |
| |
| #include "config.h" |
| #include "system.h" |
| # ifdef __cplusplus |
| extern "C" { |
| # endif |
| #include <stdbool.h> |
| # if !defined (PROC_D) |
| # define PROC_D |
| typedef void (*PROC_t) (void); |
| typedef struct { PROC_t proc; } PROC; |
| # endif |
| |
| # include "GSYSTEM.h" |
| |
| # if defined (_termios_C) |
| # define EXTERN |
| # else |
| # define EXTERN extern |
| # endif |
| |
| typedef void *termios_TERMIOS; |
| |
| typedef enum {termios_vintr, termios_vquit, termios_verase, termios_vkill, termios_veof, termios_vtime, termios_vmin, termios_vswtc, termios_vstart, termios_vstop, termios_vsusp, termios_veol, termios_vreprint, termios_vdiscard, termios_vwerase, termios_vlnext, termios_veol2} termios_ControlChar; |
| |
| typedef enum {termios_ignbrk, termios_ibrkint, termios_ignpar, termios_iparmrk, termios_inpck, termios_istrip, termios_inlcr, termios_igncr, termios_icrnl, termios_iuclc, termios_ixon, termios_ixany, termios_ixoff, termios_imaxbel, termios_opost, termios_olcuc, termios_onlcr, termios_ocrnl, termios_onocr, termios_onlret, termios_ofill, termios_ofdel, termios_onl0, termios_onl1, termios_ocr0, termios_ocr1, termios_ocr2, termios_ocr3, termios_otab0, termios_otab1, termios_otab2, termios_otab3, termios_obs0, termios_obs1, termios_off0, termios_off1, termios_ovt0, termios_ovt1, termios_b0, termios_b50, termios_b75, termios_b110, termios_b135, termios_b150, termios_b200, termios_b300, termios_b600, termios_b1200, termios_b1800, termios_b2400, termios_b4800, termios_b9600, termios_b19200, termios_b38400, termios_b57600, termios_b115200, termios_b240400, termios_b460800, termios_b500000, termios_b576000, termios_b921600, termios_b1000000, termios_b1152000, termios_b1500000, termios_b2000000, termios_b2500000, termios_b3000000, termios_b3500000, termios_b4000000, termios_maxbaud, termios_crtscts, termios_cs5, termios_cs6, termios_cs7, termios_cs8, termios_cstopb, termios_cread, termios_parenb, termios_parodd, termios_hupcl, termios_clocal, termios_lisig, termios_licanon, termios_lxcase, termios_lecho, termios_lechoe, termios_lechok, termios_lechonl, termios_lnoflsh, termios_ltopstop, termios_lechoctl, termios_lechoprt, termios_lechoke, termios_lflusho, termios_lpendin, termios_liexten} termios_Flag; |
| |
| |
| /* |
| InitTermios - new data structure. |
| */ |
| |
| EXTERN termios_TERMIOS termios_InitTermios (void); |
| |
| /* |
| KillTermios - delete data structure. |
| */ |
| |
| EXTERN termios_TERMIOS termios_KillTermios (termios_TERMIOS t); |
| |
| /* |
| cfgetospeed - return output baud rate. |
| */ |
| |
| EXTERN int termios_cfgetospeed (termios_TERMIOS t); |
| |
| /* |
| cfgetispeed - return input baud rate. |
| */ |
| |
| EXTERN int termios_cfgetispeed (termios_TERMIOS t); |
| |
| /* |
| cfsetospeed - set output baud rate. |
| */ |
| |
| EXTERN int termios_cfsetospeed (termios_TERMIOS t, unsigned int b); |
| |
| /* |
| cfsetispeed - set input baud rate. |
| */ |
| |
| EXTERN int termios_cfsetispeed (termios_TERMIOS t, unsigned int b); |
| |
| /* |
| cfsetspeed - set input and output baud rate. |
| */ |
| |
| EXTERN int termios_cfsetspeed (termios_TERMIOS t, unsigned int b); |
| |
| /* |
| tcgetattr - get state of, fd, into, t. |
| */ |
| |
| EXTERN int termios_tcgetattr (int fd, termios_TERMIOS t); |
| EXTERN int termios_tcsnow (void); |
| EXTERN int termios_tcsdrain (void); |
| EXTERN int termios_tcsflush (void); |
| |
| /* |
| tcsetattr - set state of, fd, to, t, using option. |
| */ |
| |
| EXTERN int termios_tcsetattr (int fd, int option, termios_TERMIOS t); |
| |
| /* |
| cfmakeraw - sets, t, to raw mode. |
| */ |
| |
| EXTERN void termios_cfmakeraw (termios_TERMIOS t); |
| |
| /* |
| tcsendbreak - send zero bits for duration. |
| */ |
| |
| EXTERN int termios_tcsendbreak (int fd, int duration); |
| |
| /* |
| tcdrain - waits for pending output to be written on, fd. |
| */ |
| |
| EXTERN int termios_tcdrain (int fd); |
| |
| /* |
| tcflushi - flush input. |
| */ |
| |
| EXTERN int termios_tcflushi (int fd); |
| |
| /* |
| tcflusho - flush output. |
| */ |
| |
| EXTERN int termios_tcflusho (int fd); |
| |
| /* |
| tcflushio - flush input and output. |
| */ |
| |
| EXTERN int termios_tcflushio (int fd); |
| |
| /* |
| tcflowoni - restart input on, fd. |
| */ |
| |
| EXTERN int termios_tcflowoni (int fd); |
| |
| /* |
| tcflowoffi - stop input on, fd. |
| */ |
| |
| EXTERN int termios_tcflowoffi (int fd); |
| |
| /* |
| tcflowono - restart output on, fd. |
| */ |
| |
| EXTERN int termios_tcflowono (int fd); |
| |
| /* |
| tcflowoffo - stop output on, fd. |
| */ |
| |
| EXTERN int termios_tcflowoffo (int fd); |
| |
| /* |
| GetFlag - sets a flag value from, t, in, b, and returns TRUE |
| if, t, supports, f. |
| */ |
| |
| EXTERN bool termios_GetFlag (termios_TERMIOS t, termios_Flag f, bool *b); |
| |
| /* |
| SetFlag - sets a flag value in, t, to, b, and returns TRUE if |
| this flag value is supported. |
| */ |
| |
| EXTERN bool termios_SetFlag (termios_TERMIOS t, termios_Flag f, bool b); |
| |
| /* |
| GetChar - sets a CHAR, ch, value from, t, and returns TRUE if |
| this value is supported. |
| */ |
| |
| EXTERN bool termios_GetChar (termios_TERMIOS t, termios_ControlChar c, char *ch); |
| |
| /* |
| SetChar - sets a CHAR value in, t, and returns TRUE if, c, |
| is supported. |
| */ |
| |
| EXTERN bool termios_SetChar (termios_TERMIOS t, termios_ControlChar c, char ch); |
| # ifdef __cplusplus |
| } |
| # endif |
| |
| # undef EXTERN |
| #endif |