Oberon || Library || Module Index || Search Engine || Definition || Module
(* input modes *) CONST ignbrk = { 31 }; CONST brkint = { 30 }; CONST ignpar = { 29 }; CONST parmrk = { 28 }; CONST inpck = { 27 }; CONST istrip = { 26 }; CONST inlcr = { 25 }; CONST igncr = { 24 }; CONST icrnl = { 23 }; CONST iuclc = { 22 }; CONST ixon = { 21 }; CONST ixany = { 20 }; CONST ixoff = { 19 }; (* output modes *) CONST opost = { 31 }; CONST olcuc = { 30 }; CONST onlcr = { 29 }; CONST ocrnl = { 28 }; CONST onocr = { 27 }; CONST onlret = { 26 }; CONST ofill = { 25 }; CONST ofdel = { 24 }; (* delays for newline *) CONST nldly = { 23 }; (* mask *) CONST nl0 = { }; CONST nl1 = { 23 }; (* delays for carriage return *) CONST crdly = { 21, 22 }; (* mask *) CONST cr0 = { }; CONST cr1 = { 22 }; CONST cr2 = { 21 }; CONST cr3 = { 21, 22 }; (* delays for tabs *) CONST tabdly = { 19, 20 }; (* mask *) CONST tab1 = { 20 }; CONST tab2 = { 19 }; CONST tab3 = { 19, 20 }; (* expand tabs to spaces *) (* delays for backspaces *) CONST bsdly = { 18 }; (* mask *) CONST bs0 = { }; CONST bs1 = { 18 }; (* delays for vertical tabs *) CONST vtdly = { 17 }; (* mask *) CONST vt0 = { }; CONST vt1 = { 17 }; (* delays for form feeds *) CONST ffdly = { 16 }; CONST ff0 = { }; CONST ff1 = { 16 }; (* control modes *) CONST cbaud = { 28..31 }; (* mask *) CONST b0 = {}; CONST b50 = { 31 }; CONST b75 = { 30 }; CONST b110 = { 29, 30 }; CONST b134 = { 29 }; CONST b150 = { 29, 31 }; CONST b200 = { 29, 30 }; CONST b300 = { 29..31 }; CONST b600 = { 28 }; CONST b1200 = { 28, 31 }; CONST b1800 = { 28, 30 }; CONST b2400 = { 28, 30, 31 }; CONST b4800 = { 28, 29 }; CONST b9600 = { 28, 29, 31 }; CONST exta = { 28..30 }; CONST extb = { 28..31 }; CONST csize = { 26, 27 }; (* mask *) CONST cs5 = {}; CONST cs6 = { 27 }; CONST cs7 = { 26 }; CONST cs8 = { 26, 27 }; CONST cstopb = { 25 }; CONST cread = { 24 }; CONST parenb = { 23 }; CONST parodd = { 22 }; CONST hupcl = { 21 }; CONST clocal = { 20 }; (* line modes *) CONST isig = { 31 }; CONST icanon = { 30 }; CONST xcase = { 29 }; CONST echo = { 28 }; CONST echoe = { 27 }; CONST echok = { 26 }; CONST echonl = { 25 }; CONST noflsh = { 24 }; (* control characters *) CONST vintr = 0; CONST vquit = 1; CONST verase = 2; CONST vkill = 3; CONST veof = 4; CONST veol = 5; CONST veol2 = 6; CONST vswtch = 7; CONST vmin = veof; vtime = veol; CONST controlchars = 8;
TYPE ControlChars = INTEGER; (* vintr..vswtch *) TYPE InputModes = SET; TYPE OutputModes = SET; TYPE ControlModes = SET; TYPE LineModes = SET; TYPE TermIO = RECORD inputmodes: InputModes; outputmodes: OutputModes; controlmodes: ControlModes; linemodes: LineModes; linedisc: CHAR; cc: ARRAY controlchars OF CHAR; END;
PROCEDURE SetTermIO(fd: SysIO.File; termio: TermIO; errors: RelatedEvents.Object) : BOOLEAN; PROCEDURE GetTermIO(fd: SysIO.File; VAR termio: TermIO; errors: RelatedEvents.Object) : BOOLEAN; PROCEDURE Terminal(fd: SysIO.File) : BOOLEAN; PROCEDURE Baudrate(termio: TermIO) : INTEGER;
ioctl(2) ioctl system call termio(7) termio interface SysErrors error handling of failed system calls
Oberon || Library || Module Index || Search Engine || Definition || Module