]> git.ipfire.org Git - thirdparty/gcc.git/blame - libphobos/libdruntime/core/sys/posix/sys/ttycom.d
libphobos: Merge upstream druntime 94686651
[thirdparty/gcc.git] / libphobos / libdruntime / core / sys / posix / sys / ttycom.d
CommitLineData
b4c522fa
IB
1/**
2 * D header file for POSIX.
3 *
4 * License: $(HTTP www.boost.org/LICENSE_1_0.txt, Boost License 1.0).
5 */
6
7module core.sys.posix.sys.ttycom;
8
9import core.sys.posix.sys.ioccom;
10import core.sys.posix.termios;
11import core.sys.posix.sys.time;
12
13version (Posix):
14
15nothrow @nogc:
16
17version (OSX)
18{
19 struct winsize {
20 ushort ws_row; // rows, in characters
21 ushort ws_col; // columns, in characters
22 ushort ws_xpixel; // horizontal size, pixels
23 ushort ws_ypixel; // vertical size, pixels
24 }
25
26 // Serial/TTY ioctl's
27 enum uint TIOCMODG = _IOR!(int)('t', 3); // get modem control state
28 enum uint TIOCMODS = _IOW!(int)('t', 4); // set modem control state
29 enum uint TIOCM_LE = 0x001; // line enable
30 enum uint TIOCM_DTR = 0x002; // data terminal ready
31 enum uint TIOCM_RTS = 0x004; // request to send
32 enum uint TIOCM_ST = 0x008; // secondary transmit
33 enum uint TIOCM_SR = 0x010; // secondary receive
34 enum uint TIOCM_CTS = 0x020; // clear to send
35 enum uint TIOCM_CAR = 0x040; // carrier detect
36 enum uint TIOCM_CD = TIOCM_CAR;
37 enum uint TIOCM_RNG = 0x080; // ring
38 enum uint TIOCM_RI = TIOCM_RNG;
39 enum uint TIOCM_DSR = 0x100; // data set ready
40 // 8-10 compat
41 enum uint TIOCEXCL = _IO('t', 13); // set exclusive use of tty
42 enum uint TIOCNXCL = _IO('t', 14); // reset exclusive use of tty
43 // 15 unused
44 enum uint TIOCFLUSH = _IOW!(int)('t', 16); // flush buffers
45 // 17-18 compat
46 enum uint TIOCGETA = _IOR!(termios)('t', 19); // get termios struct
47 enum uint TIOCSETA = _IOW!(termios)('t', 20); // set termios struct
48 enum uint TIOCSETAW = _IOW!(termios)('t', 21); // drain output, set
49 enum uint TIOCSETAF = _IOW!(termios)('t', 22); // drn out, fls in, set
50 enum uint TIOCGETD = _IOR!(int)('t', 26); // get line discipline
51 enum uint TIOCSETD = _IOW!(int)('t', 27); // set line discipline
52 enum uint TIOCIXON = _IO('t', 129); // internal input VSTART
53 enum uint TIOCIXOFF = _IO('t', 128); // internal input VSTOP
54 // 127-124 compat
55 enum uint TIOCSBRK = _IO('t', 123); // set break bit
56 enum uint TIOCCBRK = _IO('t', 122); // clear break bit
57 enum uint TIOCSDTR = _IO('t', 121); // set data terminal ready
58 enum uint TIOCCDTR = _IO('t', 120); // clear data terminal ready
59 enum uint TIOCGPGRP = _IOR!(int)('t', 119); // get pgrp of tty
60 enum uint TIOCSPGRP = _IOW!(int)('t', 118); // set pgrp of tty
61 // 117-116 compat
62 enum uint TIOCOUTQ = _IOR!(int)('t', 115); // output queue size
63 enum uint TIOCSTI = _IOW!(char)('t', 114);// simulate terminal input
64 enum uint TIOCNOTTY = _IO('t', 113); // void tty association
65 enum uint TIOCPKT = _IOW!(int)('t', 112); // pty: set/clear packet mode
66 enum uint TIOCPKT_DATA = 0x00; // data packet
67 enum uint TIOCPKT_FLUSHREAD = 0x01; // flush packet
68 enum uint TIOCPKT_FLUSHWRITE = 0x02; // flush packet
69 enum uint TIOCPKT_STOP = 0x04; // stop output
70 enum uint TIOCPKT_START = 0x08; // start output
71 enum uint TIOCPKT_NOSTOP = 0x10; // no more ^S, ^Q
72 enum uint TIOCPKT_DOSTOP = 0x20; // now do ^S ^Q
73 enum uint TIOCPKT_IOCTL = 0x40; // state change of pty driver
74 enum uint TIOCSTOP = _IO('t', 111); // stop output, like ^S
75 enum uint TIOCSTART = _IO('t', 110); // start output, like ^Q
76 enum uint TIOCMSET = _IOW!(int)('t', 109); // set all modem bits
77 enum uint TIOCMBIS = _IOW!(int)('t', 108); // bis modem bits
78 enum uint TIOCMBIC = _IOW!(int)('t', 107); // bic modem bits
79 enum uint TIOCMGET = _IOR!(int)('t', 106); // get all modem bits
80 enum uint TIOCREMOTE = _IOW!(int)('t', 105); // remote input editing
81 enum uint TIOCGWINSZ = _IOR!(winsize)('t', 104); // get window size
82 enum uint TIOCSWINSZ = _IOW!(winsize)('t', 103); // set window size
83 enum uint TIOCUCNTL = _IOW!(int)('t', 102); // pty: set/clr usr cntl mode
84 enum uint TIOCSTAT = _IO('t', 101); // simulate ^T status message
85 enum uint UIOCCMD(n) = _IO('u', n); // usr cntl op "n"
86 enum uint TIOCSCONS = _IO('t', 99); // 4.2 compatibility
87 enum uint TIOCCONS = _IOW!(int)('t', 98); // become virtual console
88 enum uint TIOCSCTTY = _IO('t', 97); // become controlling tty
89 enum uint TIOCEXT = _IOW!(int)('t', 96); // pty: external processing
90 enum uint TIOCSIG = _IO('t', 95); // pty: generate signal
91 enum uint TIOCDRAIN = _IO('t', 94); // wait till output drained
92 enum uint TIOCMSDTRWAIT = _IOW!(int)('t', 91); // modem: set wait on close
93 enum uint TIOCMGDTRWAIT = _IOR!(int)('t', 90); // modem: get wait on close
94 enum uint TIOCTIMESTAMP = _IOR!(timeval)('t', 89); // enable/get timestamp
95 // of last input event
96 enum uint TIOCDCDTIMESTAMP = _IOR!(timeval)('t', 88); // enable/get timestamp
97 // of last DCd rise
98 enum uint TIOCSDRAINWAIT = _IOW!(int)('t', 87); // set ttywait timeout
99 enum uint TIOCGDRAINWAIT = _IOR!(int)('t', 86); // get ttywait timeout
100 enum uint TIOCDSIMICROCODE = _IO('t', 85); // download microcode to
101 // DSI Softmodem
102 enum uint TIOCPTYGRANT = _IO('t', 84); // grantpt(3)
103 enum uint TIOCPTYGNAME = _IOC(IOC_OUT, 't', 83, 128); // ptsname(3)
104 enum uint TIOCPTYUNLK = _IO('t', 82); // unlockpt(3)
105
106 enum uint TTYDISC = 0; // termios tty line discipline
107 enum uint TABLDISC = 3; // tablet discipline
108 enum uint SLIPDISC = 4; // serial IP discipline
109 enum uint PPPDISC = 5; // PPP discipline
110}