| @@ -1,14 +1,14 @@ | | | @@ -1,14 +1,14 @@ |
1 | .\" $NetBSD: tty.4,v 1.26 2010/03/22 18:58:31 joerg Exp $ | | 1 | .\" $NetBSD: tty.4,v 1.27 2011/04/28 12:15:35 wiz Exp $ |
2 | .\" | | 2 | .\" |
3 | .\" Copyright (c) 1991, 1992, 1993 | | 3 | .\" Copyright (c) 1991, 1992, 1993 |
4 | .\" The Regents of the University of California. All rights reserved. | | 4 | .\" The Regents of the University of California. All rights reserved. |
5 | .\" | | 5 | .\" |
6 | .\" Redistribution and use in source and binary forms, with or without | | 6 | .\" Redistribution and use in source and binary forms, with or without |
7 | .\" modification, are permitted provided that the following conditions | | 7 | .\" modification, are permitted provided that the following conditions |
8 | .\" are met: | | 8 | .\" are met: |
9 | .\" 1. Redistributions of source code must retain the above copyright | | 9 | .\" 1. Redistributions of source code must retain the above copyright |
10 | .\" notice, this list of conditions and the following disclaimer. | | 10 | .\" notice, this list of conditions and the following disclaimer. |
11 | .\" 2. Redistributions in binary form must reproduce the above copyright | | 11 | .\" 2. Redistributions in binary form must reproduce the above copyright |
12 | .\" notice, this list of conditions and the following disclaimer in the | | 12 | .\" notice, this list of conditions and the following disclaimer in the |
13 | .\" documentation and/or other materials provided with the distribution. | | 13 | .\" documentation and/or other materials provided with the distribution. |
14 | .\" 3. Neither the name of the University nor the names of its contributors | | 14 | .\" 3. Neither the name of the University nor the names of its contributors |
| @@ -50,128 +50,132 @@ and | | | @@ -50,128 +50,132 @@ and |
50 | .Pa /dev/dty03 ) . | | 50 | .Pa /dev/dty03 ) . |
51 | .Pp | | 51 | .Pp |
52 | The | | 52 | The |
53 | .Pa /dev/ttyXX | | 53 | .Pa /dev/ttyXX |
54 | special file is used for dial-in modems and terminals. | | 54 | special file is used for dial-in modems and terminals. |
55 | When a user logs into | | 55 | When a user logs into |
56 | the system on one of these hardware terminal ports, the system has already | | 56 | the system on one of these hardware terminal ports, the system has already |
57 | opened the associated device and prepared the line for normal interactive | | 57 | opened the associated device and prepared the line for normal interactive |
58 | use (see | | 58 | use (see |
59 | .Xr getty 8 ) . | | 59 | .Xr getty 8 ) . |
60 | .Pp | | 60 | .Pp |
61 | The | | 61 | The |
62 | .Pa /dev/dtyXX | | 62 | .Pa /dev/dtyXX |
63 | special file is a SunOS-compatible dial-out device. Unlike | | 63 | special file is a SunOS-compatible dial-out device. |
64 | the dial-in device, opening the dial-out device never blocks. If the | | 64 | Unlike the dial-in device, opening the dial-out device never blocks. |
65 | corresponding dial-in device is already opened (not blocked in the open waiting | | 65 | If the corresponding dial-in device is already opened (not blocked |
66 | for carrier), then the dial-out open will fail immediately; otherwise it will | | 66 | in the open waiting for carrier), then the dial-out open will fail |
67 | succeed immediately. While the dial-out device is open, the dial-in device may | | 67 | immediately; otherwise it will succeed immediately. |
68 | not be opened. If the dial-in open is blocking, it will wait until the dial-out | | 68 | While the dial-out device is open, the dial-in device may not be opened. |
| | | 69 | If the dial-in open is blocking, it will wait until the dial-out |
69 | device is closed (and carrier is detected); otherwise it will fail immediately. | | 70 | device is closed (and carrier is detected); otherwise it will fail immediately. |
70 | .Pp | | 71 | .Pp |
71 | There is also a special case of a terminal file that connects not to | | 72 | There is also a special case of a terminal file that connects not to |
72 | a hardware terminal port, but to another program on the other side. | | 73 | a hardware terminal port, but to another program on the other side. |
73 | These special terminal devices are called | | 74 | These special terminal devices are called |
74 | .Em ptys | | 75 | .Em ptys |
75 | (pseudo terminals) | | 76 | (pseudo terminals) |
76 | and provide the mechanism necessary to give users the same interface to the | | 77 | and provide the mechanism necessary to give users the same interface to the |
77 | system when logging in over a network (using | | 78 | system when logging in over a network (using |
78 | .Xr rlogin 1 , | | 79 | .Xr rlogin 1 , |
79 | or | | 80 | or |
80 | .Xr telnet 1 | | 81 | .Xr telnet 1 |
81 | for example.) Even in these cases the details of how the terminal | | 82 | for example.) Even in these cases the details of how the terminal |
82 | file was opened and set up is already handled by special software | | 83 | file was opened and set up is already handled by special software |
83 | in the system. | | 84 | in the system. |
84 | Thus, users do not normally need to worry about the details of | | 85 | Thus, users do not normally need to worry about the details of |
85 | how these lines are opened or used. Also, these lines are often used | | 86 | how these lines are opened or used. |
86 | for dialing out of a system (through an out-calling modem), but again | | 87 | Also, these lines are often used for dialing out of a system (through |
87 | the system provides programs that hide the details of accessing | | 88 | an out-calling modem), but again the system provides programs that |
88 | these terminal special files (see | | 89 | hide the details of accessing these terminal special files (see |
89 | .Xr tip 1 ) . | | 90 | .Xr tip 1 ) . |
90 | .Pp | | 91 | .Pp |
91 | When an interactive user logs in, the system prepares the line to | | 92 | When an interactive user logs in, the system prepares the line to |
92 | behave in a certain way (called a | | 93 | behave in a certain way (called a |
93 | .Em line discipline ) , | | 94 | .Em line discipline ) , |
94 | the particular details of which is described in | | 95 | the particular details of which is described in |
95 | .Xr stty 1 | | 96 | .Xr stty 1 |
96 | at the command level, and in | | 97 | at the command level, and in |
97 | .Xr termios 4 | | 98 | .Xr termios 4 |
98 | at the programming level. A user may be concerned with changing | | 99 | at the programming level. |
99 | settings associated with his particular login terminal and should refer | | 100 | A user may be concerned with changing settings associated with his |
100 | to the preceding man pages for the common cases. The remainder of | | 101 | particular login terminal and should refer to the preceding man |
101 | this man page is concerned | | 102 | pages for the common cases. |
| | | 103 | The remainder of this man page is concerned |
102 | with describing details of using and controlling terminal devices | | 104 | with describing details of using and controlling terminal devices |
103 | at a low level, such as that possibly required by a program wishing | | 105 | at a low level, such as that possibly required by a program wishing |
104 | to provide features similar to those provided by the system. | | 106 | to provide features similar to those provided by the system. |
105 | .Ss Line disciplines | | 107 | .Ss Line disciplines |
106 | A terminal file is used like any other file in the system in that | | 108 | A terminal file is used like any other file in the system in that |
107 | it can be opened, read, and written to using standard system | | 109 | it can be opened, read, and written to using standard system calls. |
108 | calls. For each existing terminal file, there is a software processing module | | 110 | For each existing terminal file, there is a software processing module |
109 | called a | | 111 | called a |
110 | .Em line discipline | | 112 | .Em line discipline |
111 | associated with it. The | | 113 | associated with it. |
| | | 114 | The |
112 | .Em line discipline | | 115 | .Em line discipline |
113 | essentially glues the low level device driver code with the high | | 116 | essentially glues the low level device driver code with the high |
114 | level generic interface routines (such as | | 117 | level generic interface routines (such as |
115 | .Xr read 2 | | 118 | .Xr read 2 |
116 | and | | 119 | and |
117 | .Xr write 2 ) , | | 120 | .Xr write 2 ) , |
118 | and is responsible for implementing the semantics associated | | 121 | and is responsible for implementing the semantics associated |
119 | with the device. When a terminal file is first opened by a program, | | 122 | with the device. |
120 | the default | | 123 | When a terminal file is first opened by a program, the default |
121 | .Em line discipline | | 124 | .Em line discipline |
122 | called the | | 125 | called the |
123 | .Dv termios | | 126 | .Dv termios |
124 | line discipline is associated with the file. This is the primary | | 127 | line discipline is associated with the file. |
125 | line discipline that is used in most cases and provides the semantics | | 128 | This is the primary line discipline that is used in most cases and |
126 | that users normally associate with a terminal. When the | | 129 | provides the semantics that users normally associate with a terminal. |
| | | 130 | When the |
127 | .Dv termios | | 131 | .Dv termios |
128 | line discipline is in effect, the terminal file behaves and is | | 132 | line discipline is in effect, the terminal file behaves and is |
129 | operated according to the rules described in | | 133 | operated according to the rules described in |
130 | .Xr termios 4 . | | 134 | .Xr termios 4 . |
131 | Please refer to that man page for a full description of the terminal | | 135 | Please refer to that man page for a full description of the terminal |
132 | semantics. | | 136 | semantics. |
133 | The operations described here | | 137 | The operations described here |
134 | generally represent features common | | 138 | generally represent features common |
135 | across all | | 139 | across all |
136 | .Em line disciplines , | | 140 | .Em line disciplines , |
137 | however some of these calls may not | | 141 | however some of these calls may not |
138 | make sense in conjunction with a line discipline other than | | 142 | make sense in conjunction with a line discipline other than |
139 | .Dv termios , | | 143 | .Dv termios , |
140 | and some may not be supported by the underlying | | 144 | and some may not be supported by the underlying |
141 | hardware (or lack thereof, as in the case of ptys). | | 145 | hardware (or lack thereof, as in the case of ptys). |
142 | .Ss Terminal File Operations | | 146 | .Ss Terminal File Operations |
143 | All of the following operations are invoked using the | | 147 | All of the following operations are invoked using the |
144 | .Xr ioctl 2 | | 148 | .Xr ioctl 2 |
145 | system call. Refer to that man page for a description of | | 149 | system call. |
146 | the | | 150 | Refer to that man page for a description of the |
147 | .Em request | | 151 | .Em request |
148 | and | | 152 | and |
149 | .Em argp | | 153 | .Em argp |
150 | parameters. | | 154 | parameters. |
151 | In addition to the ioctl | | 155 | In addition to the ioctl |
152 | .Em requests | | 156 | .Em requests |
153 | defined here, the specific line discipline | | 157 | defined here, the specific line discipline |
154 | in effect will define other | | 158 | in effect will define other |
155 | .Em requests | | 159 | .Em requests |
156 | specific to it (actually | | 160 | specific to it (actually |
157 | .Xr termios 4 | | 161 | .Xr termios 4 |
158 | defines them as function calls, not ioctl | | 162 | defines them as function calls, not ioctl |
159 | .Em requests . ) | | 163 | .Em requests . ) |
160 | The following section lists the available ioctl requests. The | | 164 | The following section lists the available ioctl requests. |
161 | name of the request, a description of its purpose, and the typed | | 165 | The name of the request, a description of its purpose, and the typed |
162 | .Em argp | | 166 | .Em argp |
163 | parameter (if any) | | 167 | parameter (if any) are listed. |
164 | are listed. For example, the first entry says | | 168 | For example, the first entry says |
165 | .Pp | | 169 | .Pp |
166 | .D1 Em TIOCSLINED char name[32] | | 170 | .D1 Em TIOCSLINED char name[32] |
167 | .Pp | | 171 | .Pp |
168 | and would be called on the terminal associated with | | 172 | and would be called on the terminal associated with |
169 | file descriptor zero by the following code fragment: | | 173 | file descriptor zero by the following code fragment: |
170 | .Bd -literal | | 174 | .Bd -literal |
171 | ioctl(0, TIOCSLINED, "termios"); | | 175 | ioctl(0, TIOCSLINED, "termios"); |
172 | .Ed | | 176 | .Ed |
173 | .Ss Terminal File Request Descriptions | | 177 | .Ss Terminal File Request Descriptions |
174 | .Bl -tag -width TIOCGWINSZ | | 178 | .Bl -tag -width TIOCGWINSZ |
175 | .It Dv TIOCSLINED Fa char name[32] | | 179 | .It Dv TIOCSLINED Fa char name[32] |
176 | Change to the new line discipline called | | 180 | Change to the new line discipline called |
177 | .Fa name . | | 181 | .Fa name . |
| @@ -225,122 +229,128 @@ option. | | | @@ -225,122 +229,128 @@ option. |
225 | .It Dv TIOCSETAF Fa struct termios *term | | 229 | .It Dv TIOCSETAF Fa struct termios *term |
226 | First wait for any output to complete, clear any pending input, | | 230 | First wait for any output to complete, clear any pending input, |
227 | then set the termios state associated with the device. | | 231 | then set the termios state associated with the device. |
228 | This is the underlying call that implements the | | 232 | This is the underlying call that implements the |
229 | .Xr tcsetattr 3 | | 233 | .Xr tcsetattr 3 |
230 | call with the | | 234 | call with the |
231 | .Dv TCSAFLUSH | | 235 | .Dv TCSAFLUSH |
232 | option. | | 236 | option. |
233 | .It Dv TIOCOUTQ Fa int *num | | 237 | .It Dv TIOCOUTQ Fa int *num |
234 | Place the current number of characters in the output queue in the | | 238 | Place the current number of characters in the output queue in the |
235 | integer pointed to by | | 239 | integer pointed to by |
236 | .Fa num . | | 240 | .Fa num . |
237 | .It Dv TIOCSTI Fa char *cp | | 241 | .It Dv TIOCSTI Fa char *cp |
238 | Simulate typed input. Pretend as if the terminal received the | | 242 | Simulate typed input. |
239 | character pointed to by | | 243 | Pretend as if the terminal received the character pointed to by |
240 | .Fa cp . | | 244 | .Fa cp . |
241 | .It Dv TIOCNOTTY Fa void | | 245 | .It Dv TIOCNOTTY Fa void |
242 | This call is obsolete but left for compatibility. In the past, when | | 246 | This call is obsolete but left for compatibility. |
243 | a process that didn't have a controlling terminal (see | | 247 | In the past, when a process that didn't have a controlling terminal |
| | | 248 | (see |
244 | .Em The Controlling Terminal | | 249 | .Em The Controlling Terminal |
245 | in | | 250 | in |
246 | .Xr termios 4 ) | | 251 | .Xr termios 4 ) |
247 | first opened a terminal device, it acquired that terminal as its | | 252 | first opened a terminal device, it acquired that terminal as its |
248 | controlling terminal. For some programs this was a hazard as they | | 253 | controlling terminal. |
249 | didn't want a controlling terminal in the first place, and this | | 254 | For some programs this was a hazard as they didn't want a controlling |
250 | provided a mechanism to disassociate the controlling terminal from | | 255 | terminal in the first place, and this provided a mechanism to |
251 | the calling process. It | | 256 | disassociate the controlling terminal from the calling process. |
| | | 257 | It |
252 | .Em must | | 258 | .Em must |
253 | be called by opening the file | | 259 | be called by opening the file |
254 | .Pa /dev/tty | | 260 | .Pa /dev/tty |
255 | and calling | | 261 | and calling |
256 | .Dv TIOCNOTTY | | 262 | .Dv TIOCNOTTY |
257 | on that file descriptor. | | 263 | on that file descriptor. |
258 | .Pp | | 264 | .Pp |
259 | The current system does not allocate a controlling terminal to | | 265 | The current system does not allocate a controlling terminal to |
260 | a process on an | | 266 | a process on an |
261 | .Fn open | | 267 | .Fn open |
262 | call: there is a specific ioctl called | | 268 | call: there is a specific ioctl called |
263 | .Dv TIOCSCTTY | | 269 | .Dv TIOCSCTTY |
264 | to make a terminal the controlling | | 270 | to make a terminal the controlling |
265 | terminal. | | 271 | terminal. |
266 | In addition, a program can | | 272 | In addition, a program can |
267 | .Fn fork | | 273 | .Fn fork |
268 | and call the | | 274 | and call the |
269 | .Fn setsid | | 275 | .Fn setsid |
270 | system call which will place the process into its own session - which | | 276 | system call which will place the process into its own session - which |
271 | has the effect of disassociating it from the controlling terminal. This | | 277 | has the effect of disassociating it from the controlling terminal. |
272 | is the new and preferred method for programs to lose their controlling | | 278 | This is the new and preferred method for programs to lose their |
273 | terminal. | | 279 | controlling terminal. |
274 | .It Dv TIOCSTOP Fa void | | 280 | .It Dv TIOCSTOP Fa void |
275 | Stop output on the terminal (like typing ^S at the keyboard). | | 281 | Stop output on the terminal (like typing ^S at the keyboard). |
276 | .It Dv TIOCSTART Fa void | | 282 | .It Dv TIOCSTART Fa void |
277 | Start output on the terminal (like typing ^Q at the keyboard). | | 283 | Start output on the terminal (like typing ^Q at the keyboard). |
278 | .It Dv TIOCSCTTY Fa void | | 284 | .It Dv TIOCSCTTY Fa void |
279 | Make the terminal the controlling terminal for the process (the process | | 285 | Make the terminal the controlling terminal for the process (the process |
280 | must not currently have a controlling terminal). | | 286 | must not currently have a controlling terminal). |
281 | .It Dv TIOCDRAIN Fa void | | 287 | .It Dv TIOCDRAIN Fa void |
282 | Wait until all output is drained. | | 288 | Wait until all output is drained. |
283 | .It Dv TIOCEXCL Fa void | | 289 | .It Dv TIOCEXCL Fa void |
284 | Set exclusive use on the terminal. No further opens are permitted | | 290 | Set exclusive use on the terminal. |
285 | except by root. Of course, this means that programs that are run by | | 291 | No further opens are permitted except by root. |
286 | root (or setuid) will not obey the exclusive setting - which limits | | 292 | Of course, this means that programs that are run by root (or setuid) |
287 | the usefulness of this feature. | | 293 | will not obey the exclusive setting - which limits the usefulness |
| | | 294 | of this feature. |
288 | .It Dv TIOCNXCL Fa void | | 295 | .It Dv TIOCNXCL Fa void |
289 | Clear exclusive use of the terminal. Further opens are permitted. | | 296 | Clear exclusive use of the terminal. |
| | | 297 | Further opens are permitted. |
290 | .It Dv TIOCFLUSH Fa int *what | | 298 | .It Dv TIOCFLUSH Fa int *what |
291 | If the value of the int pointed to by | | 299 | If the value of the int pointed to by |
292 | .Fa what | | 300 | .Fa what |
293 | contains the | | 301 | contains the |
294 | .Dv FREAD | | 302 | .Dv FREAD |
295 | bit as defined in | | 303 | bit as defined in |
296 | .In sys/fcntl.h , | | 304 | .In sys/fcntl.h , |
297 | then all characters in the input queue are cleared. If it contains | | 305 | then all characters in the input queue are cleared. |
298 | the | | 306 | If it contains the |
299 | .Dv FWRITE | | 307 | .Dv FWRITE |
300 | bit, then all characters in the output queue are cleared. If the | | 308 | bit, then all characters in the output queue are cleared. |
301 | value of the integer is zero, then it behaves as if both the | | 309 | If the value of the integer is zero, then it behaves as if both the |
302 | .Dv FREAD | | 310 | .Dv FREAD |
303 | and | | 311 | and |
304 | .Dv FWRITE | | 312 | .Dv FWRITE |
305 | bits were set (i.e. clears both queues). | | 313 | bits were set (i.e. clears both queues). |
306 | .It Dv TIOCGWINSZ Fa struct winsize *ws | | 314 | .It Dv TIOCGWINSZ Fa struct winsize *ws |
307 | Put the window size information associated with the terminal in the | | 315 | Put the window size information associated with the terminal in the |
308 | .Va winsize | | 316 | .Va winsize |
309 | structure pointed to by | | 317 | structure pointed to by |
310 | .Fa ws . | | 318 | .Fa ws . |
311 | The window size structure contains the number of rows and columns (and pixels | | 319 | The window size structure contains the number of rows and columns (and pixels |
312 | if appropriate) of the devices attached to the terminal. It is set by user software | | 320 | if appropriate) of the devices attached to the terminal. |
313 | and is the means by which most full\&-screen oriented programs determine the | | 321 | It is set by user software and is the means by which most full\&-screen |
314 | screen size. The | | 322 | oriented programs determine the screen size. |
| | | 323 | The |
315 | .Va winsize | | 324 | .Va winsize |
316 | structure is defined in | | 325 | structure is defined in |
317 | .In sys/ioctl.h . | | 326 | .In sys/ioctl.h . |
318 | .It Dv TIOCSWINSZ Fa struct winsize *ws | | 327 | .It Dv TIOCSWINSZ Fa struct winsize *ws |
319 | Set the window size associated with the terminal to be the value in | | 328 | Set the window size associated with the terminal to be the value in |
320 | the | | 329 | the |
321 | .Va winsize | | 330 | .Va winsize |
322 | structure pointed to by | | 331 | structure pointed to by |
323 | .Fa ws | | 332 | .Fa ws |
324 | (see above). | | 333 | (see above). |
325 | .It Dv TIOCCONS Fa int *on | | 334 | .It Dv TIOCCONS Fa int *on |
326 | If | | 335 | If |
327 | .Fa on | | 336 | .Fa on |
328 | points to a non-zero integer, redirect kernel console output (kernel printf's) | | 337 | points to a non-zero integer, redirect kernel console output (kernel printf's) |
329 | to this terminal. | | 338 | to this terminal. |
330 | If | | 339 | If |
331 | .Fa on | | 340 | .Fa on |
332 | points to a zero integer, redirect kernel console output back to the normal | | 341 | points to a zero integer, redirect kernel console output back to the normal |
333 | console. This is usually used on workstations to redirect kernel messages | | 342 | console. |
| | | 343 | This is usually used on workstations to redirect kernel messages |
334 | to a particular window. | | 344 | to a particular window. |
335 | .It Dv TIOCMSET Fa int *state | | 345 | .It Dv TIOCMSET Fa int *state |
336 | The integer pointed to by | | 346 | The integer pointed to by |
337 | .Fa state | | 347 | .Fa state |
338 | contains bits that correspond to modem state. | | 348 | contains bits that correspond to modem state. |
339 | Following is a list of defined variables and the modem state they represent: | | 349 | Following is a list of defined variables and the modem state they represent: |
340 | .Pp | | 350 | .Pp |
341 | .Bl -tag -width TIOCMXCTS -compact | | 351 | .Bl -tag -width TIOCMXCTS -compact |
342 | .It TIOCM_LE | | 352 | .It TIOCM_LE |
343 | Line Enable. | | 353 | Line Enable. |
344 | .It TIOCM_DTR | | 354 | .It TIOCM_DTR |
345 | Data Terminal Ready. | | 355 | Data Terminal Ready. |
346 | .It TIOCM_RTS | | 356 | .It TIOCM_RTS |
| @@ -408,29 +418,29 @@ Set the | | | @@ -408,29 +418,29 @@ Set the |
408 | .Dv MDMBUF | | 418 | .Dv MDMBUF |
409 | flag on open. | | 419 | flag on open. |
410 | .El | | 420 | .El |
411 | .Pp | | 421 | .Pp |
412 | This call sets the serial port state to that represented by | | 422 | This call sets the serial port state to that represented by |
413 | .Fa state . | | 423 | .Fa state . |
414 | Not all serial ports may support this. | | 424 | Not all serial ports may support this. |
415 | .It Dv TIOCGFLAGS Fa int *state | | 425 | .It Dv TIOCGFLAGS Fa int *state |
416 | Return the current state of the serial port as represented | | 426 | Return the current state of the serial port as represented |
417 | above in the integer pointed to by | | 427 | above in the integer pointed to by |
418 | .Fa state . | | 428 | .Fa state . |
419 | .El | | 429 | .El |
420 | .Sh COMPATIBILITY | | 430 | .Sh COMPATIBILITY |
421 | Two ioctls are maintained for backwards compatibility. They provide | | 431 | Two ioctls are maintained for backwards compatibility. |
422 | methods to get and set the current line discipline, but are not | | 432 | They provide methods to get and set the current line discipline, |
423 | extensible. | | 433 | but are not extensible. |
424 | .Bl -tag -width TIOCGWINSZ | | 434 | .Bl -tag -width TIOCGWINSZ |
425 | .It Dv TIOCSETD Fa int *ldisc | | 435 | .It Dv TIOCSETD Fa int *ldisc |
426 | Change to the new line discipline pointed to by | | 436 | Change to the new line discipline pointed to by |
427 | .Fa ldisc . | | 437 | .Fa ldisc . |
428 | The old list of available line disciplines are listed in | | 438 | The old list of available line disciplines are listed in |
429 | .In sys/ttycom.h | | 439 | .In sys/ttycom.h |
430 | and are: | | 440 | and are: |
431 | .Pp | | 441 | .Pp |
432 | .Bl -tag -width TIOCGWINSZ -compact | | 442 | .Bl -tag -width TIOCGWINSZ -compact |
433 | .It TTYDISC | | 443 | .It TTYDISC |
434 | Termios interactive line discipline. | | 444 | Termios interactive line discipline. |
435 | .It TABLDISC | | 445 | .It TABLDISC |
436 | Tablet line discipline. | | 446 | Tablet line discipline. |
| @@ -448,16 +458,18 @@ Return the current line discipline in th | | | @@ -448,16 +458,18 @@ Return the current line discipline in th |
448 | .El | | 458 | .El |
449 | .Sh SEE ALSO | | 459 | .Sh SEE ALSO |
450 | .Xr stty 1 , | | 460 | .Xr stty 1 , |
451 | .Xr ioctl 2 , | | 461 | .Xr ioctl 2 , |
452 | .Xr tcgetattr 3 , | | 462 | .Xr tcgetattr 3 , |
453 | .Xr tcsetattr 3 , | | 463 | .Xr tcsetattr 3 , |
454 | .Xr ttyaction 3 , | | 464 | .Xr ttyaction 3 , |
455 | .Xr pty 4 , | | 465 | .Xr pty 4 , |
456 | .Xr termios 4 , | | 466 | .Xr termios 4 , |
457 | .Xr ttys 5 , | | 467 | .Xr ttys 5 , |
458 | .Xr getty 8 , | | 468 | .Xr getty 8 , |
459 | .Xr linedisc 9 | | 469 | .Xr linedisc 9 |
460 | .Sh HISTORY | | 470 | .Sh HISTORY |
461 | Separate dial-out device files were implemented in SunOS 4. They were cloned | | 471 | Separate dial-out device files were implemented in SunOS 4. |
462 | by Charles M. Hannum for | | 472 | They were cloned by |
| | | 473 | .An Charles M. Hannum |
| | | 474 | for |
463 | .Nx 1.4 . | | 475 | .Nx 1.4 . |