Module Async_unix.Unix_syscalls.Terminal_io

type t = Core.Caml.Unix.terminal_io = {
mutable c_ignbrk : bool;

(** Ignore the break condition. *)

mutable c_brkint : bool;

(** Signal interrupt on break condition. *)

mutable c_ignpar : bool;

(** Ignore characters with parity errors. *)

mutable c_parmrk : bool;

(** Mark parity errors. *)

mutable c_inpck : bool;

(** Enable parity check on input. *)

mutable c_istrip : bool;

(** Strip 8th bit on input characters. *)

mutable c_inlcr : bool;

(** Map NL to CR on input. *)

mutable c_igncr : bool;

(** Ignore CR on input. *)

mutable c_icrnl : bool;

(** Map CR to NL on input. *)

mutable c_ixon : bool;

(** Recognize XON/XOFF characters on input. *)

mutable c_ixoff : bool;

(** Emit XON/XOFF chars to control input flow. *)

mutable c_opost : bool;

(** Enable output processing. *)

mutable c_obaud : int;

(** Output baud rate (0 means close connection). *)

mutable c_ibaud : int;

(** Input baud rate. *)

mutable c_csize : int;

(** Number of bits per character (5-8). *)

mutable c_cstopb : int;

(** Number of stop bits (1-2). *)

mutable c_cread : bool;

(** Reception is enabled. *)

mutable c_parenb : bool;

(** Enable parity generation and detection. *)

mutable c_parodd : bool;

(** Specify odd parity instead of even. *)

mutable c_hupcl : bool;

(** Hang up on last close. *)

mutable c_clocal : bool;

(** Ignore modem status lines. *)

mutable c_isig : bool;

(** Generate signal on INTR, QUIT, SUSP. *)

mutable c_icanon : bool;

(** Enable canonical processing (line buffering and editing) *)

mutable c_noflsh : bool;

(** Disable flush after INTR, QUIT, SUSP. *)

mutable c_echo : bool;

(** Echo input characters. *)

mutable c_echoe : bool;

(** Echo ERASE (to erase previous character). *)

mutable c_echok : bool;

(** Echo KILL (to erase the current line). *)

mutable c_echonl : bool;

(** Echo NL even if c_echo is not set. *)

mutable c_vintr : char;

(** Interrupt character (usually ctrl-C). *)

mutable c_vquit : char;

(** Quit character (usually ctrl-\ ). *)

mutable c_verase : char;

(** Erase character (usually DEL or ctrl-H). *)

mutable c_vkill : char;

(** Kill line character (usually ctrl-U). *)

mutable c_veof : char;

(** End-of-file character (usually ctrl-D). *)

mutable c_veol : char;

(** Alternate end-of-line char. (usually none). *)

mutable c_vmin : int;

(** Minimum number of characters to read before the read request is satisfied. *)

mutable c_vtime : int;

(** Maximum read wait (in 0.1s units). *)

mutable c_vstart : char;

(** Start character (usually ctrl-Q). *)

mutable c_vstop : char;

(** Stop character (usually ctrl-S). *)

}
type setattr_when = Core.Caml.Unix.setattr_when =
| TCSANOW
| TCSADRAIN
| TCSAFLUSH
val tcgetattr : Fd.t ‑> t Import.Deferred.t
val tcsetattr : t ‑> Fd.t ‑> mode:setattr_when ‑> unit Import.Deferred.t