]>
Commit | Line | Data |
---|---|---|
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 | ||
7 | module core.sys.posix.sys.ttycom; | |
8 | ||
9 | import core.sys.posix.sys.ioccom; | |
10 | import core.sys.posix.termios; | |
11 | import core.sys.posix.sys.time; | |
12 | ||
13 | version (Posix): | |
14 | ||
15 | nothrow @nogc: | |
16 | ||
17 | version (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 | } |