1 '\" te
2 .\" Copyright 1989 AT&T
3 .\" Copyright (C) 1999, Sun Microsystems, Inc. All Rights Reserved
4 .\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
5 .\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
6 .\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
7 .TH TERMIOX 7I "April 9, 2016"
8 .SH NAME
9 termiox \- extended general terminal interface
10 .SH DESCRIPTION
11 .LP
12 The extended general terminal interface supplements the \fBtermio\fR(7I)
13 general terminal interface by adding support for asynchronous hardware flow
14 control, isochronous flow control and clock modes, and local implementations of
15 additional asynchronous features. Some systems may not support all of these
16 capabilities because of either hardware or software limitations. Other systems
17 may not permit certain functions to be disabled. In these cases the
18 appropriate bits will be ignored. See <\fBsys/termiox.h\fR> for your system to
19 find out which capabilities are supported.
20 .SS "Hardware Flow Control Modes"
21 .LP
22 Hardware flow control supplements the \fBtermio\fR(7I) \fBIXON\fR, \fBIXOFF\fR,
23 and \fBIXANY\fR character flow control. Character flow control occurs when one
24 device controls the data transfer of another device by the insertion of control
25 characters in the data stream between devices. Hardware flow control occurs
26 when one device controls the data transfer of another device using electrical
27 control signals on wires (circuits) of the asynchronous interface. Isochronous
28 hardware flow control occurs when one device controls the data transfer of
29 another device by asserting or removing the transmit clock signals of that
30 device. Character flow control and hardware flow control may be simultaneously
31 set.
32 .sp
33 .LP
34 In asynchronous, full duplex applications, the use of the Electronic Industries
35 Association's EIA-232-D Request To Send (RTS) and Clear To Send (CTS) circuits
36 is the preferred method of hardware flow control. An interface to other
37 hardware flow control methods is included to provide a standard interface to
38 these existing methods.
39 .sp
40 .LP
41 The EIA-232-D standard specified only unidirectional hardware flow control -
42 the Data Circuit-terminating Equipment or Data Communications Equipment (DCE)
43 indicates to the Data Terminal Equipment (DTE) to stop transmitting data. The
44 \fBtermiox\fR interface allows both unidirectional and bidirectional hardware
45 flow control; when bidirectional flow control is enabled, either the DCE or DTE
46 can indicate to each other to stop transmitting data across the interface.
47 Note: It is assumed that the asynchronous port is configured as a DTE. If the
48 connected device is also a DTE and not a DCE, then DTE to DTE (for example,
49 terminal or printer connected to computer) hardware flow control is possible by
50 using a null modem to interconnect the appropriate data and control circuits.
51 .SS "Clock Modes"
52 .LP
53 Isochronous communication is a variation of asynchronous communication whereby
54 two communicating devices may provide transmit and/or receive clock signals to
55 one another. Incoming clock signals can be taken from the baud rate generator
56 on the local isochronous port controller, from CCITT V.24 circuit 114,
57 Transmitter Signal Element Timing - DCE source (EIA-232-D pin 15), or from
58 CCITT V.24 circuit 115, Receiver Signal Element Timing - DCE source (EIA-232-D
59 pin 17). Outgoing clock signals can be sent on CCITT V.24 circuit 113,
60 Transmitter Signal Element Timing - DTE source (EIA-232-D pin 24), on CCITT
61 V.24 circuit 128, Receiver Signal Element Timing - DTE source (no EIA-232-D
62 pin), or not sent at all.
63 .sp
64 .LP
65 In terms of clock modes, traditional asynchronous communication is implemented
66 simply by using the local baud rate generator as the incoming transmit and
67 receive clock source and not outputting any clock signals.
68 .SS "Terminal Parameters"
69 .LP
70 The parameters that control the behavior of devices providing the \fBtermiox\fR
71 interface are specified by the \fBtermiox\fR structure defined in the
72 <\fBsys/termiox.h\fR> header. Several \fBioctl\fR(2) system calls that fetch
73 or change these parameters use this structure:
74 .sp
75 .in +2
76 .nf
77 #define NFF 5
78 struct termiox {
79 unsigned short x_hflag; /* hardware flow control modes */
80 unsigned short x_cflag; /* clock modes */
81 unsigned short x_rflag[NFF]; /* reserved modes */
82 unsigned short x_sflag; /* spare local modes */
83 };
84 .fi
85 .in -2
86
87 .sp
88 .LP
89 The \fBx_hflag\fR field describes hardware flow control modes:
90 .sp
91
92 .sp
93 .TS
94 l l l
95 l l l .
96 RTSXOFF 0000001 T{
97 Enable RTS hardware flow control on input.
98 T}
99 CTSXON 0000002 T{
100 Enable CTS hardware flow control on output.
101 T}
102 DTRXOFF 0000004 T{
103 Enable DTR hardware flow control on input.
104 T}
105 CDXON 0000010 T{
106 Enable CD hardware flow control on output.
107 T}
108 ISXOFF 0000020 T{
109 Enable isochronous hardware flow control on input
110 T}
111 .TE
112
113 .sp
114 .LP
115 The EIA-232-D DTR and CD circuits are used to establish a connection between
116 two systems. The RTS circuit is also used to establish a connection with a
117 modem. Thus, both DTR and RTS are activated when an asynchronous port is
118 opened. If DTR is used for hardware flow control, then RTS must be used for
119 connectivity. If CD is used for hardware flow control, then CTS must be used
120 for connectivity. Thus, RTS and DTR (or CTS and CD) cannot both be used for
121 hardware flow control at the same time. Other mutual exclusions may apply, such
122 as the simultaneous setting of the \fBtermio\fR(7I) \fBHUPCL\fR and the
123 \fBtermiox\fR \fBDTRXOFF\fR bits, which use the DTE ready line for different
124 functions.
125 .sp
126 .LP
127 Variations of different hardware flow control methods may be selected by
128 setting the appropriate bits. For example, bidirectional RTS/CTS flow
129 control is selected by setting both the \fBRTSXOFF\fR and \fBCTSXON\fR bits and
130 bidirectional DTR/CTS flow control is selected by setting both the
131 \fBDTRXOFF\fR and \fBCTSXON\fR. Modem control or unidirectional CTS hardware
132 flow control is selected by setting only the \fBCTSXON\fR bit.
133 .sp
134 .LP
135 As previously mentioned, it is assumed that the local asynchronous port (for
136 example, computer) is configured as a DTE. If the connected device (for
137 example, printer) is also a DTE, it is assumed that the device is connected to
138 the computer's asynchronous port using a null modem that swaps control circuits
139 (typically RTS and CTS). The connected DTE drives RTS and the null modem swaps
140 RTS and CTS so that the remote RTS is received as CTS by the local DTE. In
141 the case that \fBCTSXON\fR is set for hardware flow control, printer's lowering
142 of its RTS would cause CTS seen by the computer to be lowered. Output to the
143 printer is suspended until the printer's raising of its RTS, which would cause
144 CTS seen by the computer to be raised.
145 .sp
146 .LP
147 If \fBRTSXOFF\fR is set, the Request To Send (RTS) circuit (line) will be
148 raised, and if the asynchronous port needs to have its input stopped, it will
149 lower the Request To Send (RTS) line. If the RTS line is lowered, it is assumed
150 that the connected device will stop its output until RTS is raised.
151 .sp
152 .LP
153 If \fBCTSXON\fR is set, output will occur only if the Clear To Send (CTS)
154 circuit (line) is raised by the connected device. If the CTS line is lowered by
155 the connected device, output is suspended until CTS is raised.
156 .sp
157 .LP
158 If \fBDTRXOFF\fR is set, the DTE Ready (DTR) circuit (line) will be raised, and
159 if the asynchronous port needs to have its input stopped, it will lower the DTE
160 Ready (DTR) line. If the DTR line is lowered, it is assumed that the connected
161 device will stop its output until DTR is raised.
162 .sp
163 .LP
164 If \fBCDXON\fR is set, output will occur only if the Received Line Signal
165 Detector (CD) circuit (line) is raised by the connected device. If the CD line
166 is lowered by the connected device, output is suspended until CD is raised.
167 .sp
168 .LP
169 If \fBISXOFF\fR is set, and if the isochronous port needs to have its input
170 stopped, it will stop the outgoing clock signal. It is assumed that the
171 connected device is using this clock signal to create its output. Transit and
172 receive clock sources are programmed using the \fBx_cflag\fR fields. If the
173 port is not programmed for external clock generation, \fBISXOFF\fR is ignored.
174 Output isochronous flow control is supported by appropriate clock source
175 programming using the \fBx_cflag\fR field and enabled at the remote connected
176 device.
177 .sp
178 .LP
179 The \fBx_cflag\fR field specifies the system treatment of clock modes.
180 .sp
181
182 .sp
183 .TS
184 l l l
185 l l l .
186 \fBXMTCLK\fR 0000007 Transmit clock source:
187 \fBXCIBRG\fR 0000000 T{
188 Get transmit clock from internal baud rate generator.
189 T}
190 \fBXCTSET\fR 0000001 T{
191 Get transmit clock from transmitter signal element timing (DCE source) lead, CCITT V.24 circuit 114, EIA-232-D pin 15.
192 T}
193 \fBXCRSET\fR 0000002 T{
194 Get transmit clock from receiver signal element timing (DCE source) lead, CCITT V.24 circuit 115, EIA-232-D pin 17.
195 T}
196 \fBRCVCLK\fR 0000070 Receive clock source:
197 \fBRCIBRG\fR 0000000 T{
198 Get receive clock from internal baud rate generator.
199 T}
200 \fBRCTSET\fR 0000010 T{
201 Get receive clock from transmitter signal element timing (DCE source) lead, CCITT V.24 circuit 114, EIA-232-D pin 15.
202 T}
203 \fBRCRSET\fR 0000020 T{
204 Get receive clock from receiver signal element timing (DCE source) lead, CCITT V.24 circuit 115, EIA-232-D pin 17.
205 T}
206 \fBTSETCLK\fR 0000700 T{
207 Transmitter signal element timing (DTE source) lead, CCITT V.24 circuit 113, EIA-232-D pin 24, clock source:
208 T}
209 \fBTSETCOFF\fR 0000000 TSET clock not provided.
210 \fBTSETCRBRG\fR 0000100 T{
211 Output receive baud rate generator on circuit 113.
212 T}
213 \fBTSETCTBRG\fR 0000200 T{
214 Output transmit baud rate generator on circuit 113
215 T}
216 \fBTSETCTSET\fR 0000300 T{
217 Output transmitter signal element timing (DCE source) on circuit 113.
218 T}
219 \fBTSETCRSET\fR 0000400 T{
220 Output receiver signal element timing (DCE source) on circuit 113.
221 T}
222 \fBRSETCLK\fR 0007000 T{
223 Receiver signal element timing (DTE source) lead, CCITT V.24 circuit 128, no EIA-232-D pin, clock source:
224 T}
225 \fBRSETCOFF\fR 0000000 RSET clock not provided.
226 \fBRSETCRBRG\fR 0001000 T{
227 Output receive baud rate generator on circuit 128.
228 T}
229 \fBRSETCTBRG\fR 0002000 T{
230 Output transmit baud rate generator on circuit 128.
231 T}
232 \fBRSETCTSET\fR 0003000 T{
233 Output transmitter signal element timing (DCE source) on circuit 128.
234 T}
235 \fBRSETCRSET\fR 0004000 T{
236 Output receiver signal element timing (DCE) on circuit 128.
237 T}
238 .TE
239
240 .sp
241 .LP
242 If the \fBXMTCLK\fR field has a value of \fBXCIBRG\fR the transmit clock is
243 taken from the hardware internal baud rate generator, as in normal asynchronous
244 transmission. If \fBXMTCLK\fR = \fBXCTSET\fR the transmit clock is taken from
245 the Transmitter Signal Element Timing (DCE source) circuit. If \fBXMTCLK\fR =
246 \fBXCRSET\fR the transmit clock is taken from the Receiver Signal Element
247 Timing (DCE source) circuit.
248 .sp
249 .LP
250 If the \fBRCVCLK\fR field has a value of \fBRCIBRG\fR the receive clock is
251 taken from the hardware Internal Baud Rate Generator, as in normal asynchronous
252 transmission. If \fBRCVCLK\fR = \fBRCTSET\fR the receive clock is taken from
253 the Transmitter Signal Element Timing (DCE source) circuit. If \fBRCVCLK\fR =
254 \fBRCRSET\fR the receive clock is taken from the Receiver Signal Element Timing
255 (DCE source) circuit.
256 .sp
257 .LP
258 If the \fBTSETCLK\fR field has a value of \fBTSETCOFF\fR the Transmitter Signal
259 Element Timing (DTE source) circuit is not driven. If \fBTSETCLK\fR =
260 \fBTSETCRBRG\fR the Transmitter Signal Element Timing (DTE source) circuit is
261 driven by the Receive Baud Rate Generator. If \fBTSETCLK\fR = \fBTSETCTBRG\fR
262 the Transmitter Signal Element Timing (DTE source) circuit is driven by the
263 Transmit Baud Rate Generator. If \fBTSETCLK\fR = \fBTSETCTSET\fR the
264 Transmitter Signal Element Timing (DTE source) circuit is driven by the
265 Transmitter Signal Element Timing (DCE source). If \fBTSETCLK\fR =
266 \fBTSETCRBRG\fR the Transmitter Signal Element Timing (DTE source) circuit is
267 driven by the Receiver Signal Element Timing (DCE source).
268 .sp
269 .LP
270 If the \fBRSETCLK\fR field has a value of \fBRSETCOFF\fR the Receiver Signal
271 Element Timing (DTE source) circuit is not driven. If \fBRSETCLK\fR =
272 \fBRSETCRBRG\fR the Receiver Signal Element Timing (DTE source) circuit is
273 driven by the Receive Baud Rate Generator. If \fBRSETCLK\fR = \fBRSETCTBRG\fR
274 the Receiver Signal Element Timing (DTE source) circuit is driven by the
275 Transmit Baud Rate Generator. If \fBRSETCLK\fR = \fBRSETCTSET\fR the Receiver
276 Signal Element Timing (DTE source) circuit is driven by the Transmitter Signal
277 Element Timing (DCE source). If \fBRSETCLK\fR = \fBRSETCRBRG\fR the Receiver
278 Signal Element Timing (DTE source) circuit is driven by the Receiver Signal
279 Element Timing (DCE source).
280 .sp
281 .LP
282 The \fBx_rflag\fR is reserved for future interface definitions and should not
283 be used by any implementations. The \fBx_sflag\fR may be used by local
284 implementations wishing to customize their terminal interface using the
285 \fBtermiox\fR ioctl system calls.
286 .SH IOCTLS
287 .LP
288 The \fBioctl\fR(2) system calls have the form:
289 .sp
290 .in +2
291 .nf
292 \fBioctl\fR (\fIfildes, command, arg\fR) \fBstruct termiox *\fR \fIarg\fR;
293 .fi
294 .in -2
295
296 .sp
297 .LP
298 The commands using this form are:
299 .sp
300 .ne 2
301 .na
302 \fB\fBTCGETX\fR\fR
303 .ad
304 .RS 11n
305 The argument is a pointer to a \fBtermiox\fR structure. The current terminal
306 parameters are fetched and stored into that structure.
307 .RE
308
309 .sp
310 .ne 2
311 .na
312 \fB\fBTCSETX\fR\fR
313 .ad
314 .RS 11n
315 The argument is a pointer to a \fBtermiox\fR structure. The current terminal
316 parameters are set from the values stored in that structure. The change is
317 immediate.
318 .RE
319
320 .sp
321 .ne 2
322 .na
323 \fB\fBTCSETXW\fR\fR
324 .ad
325 .RS 11n
326 The argument is a pointer to a \fBtermiox\fR structure. The current terminal
327 parameters are set from the values stored in that structure. The change occurs
328 after all characters queued for output have been transmitted. This form should
329 be used when changing parameters that will affect output.
330 .RE
331
332 .sp
333 .ne 2
334 .na
335 \fB\fBTCSETXF\fR\fR
336 .ad
337 .RS 11n
338 The argument is a pointer to a \fBtermiox\fR structure. The current terminal
339 parameters are set from the values stored in that structure. The change occurs
340 after all characters queued for output have been transmitted; all characters
341 queued for input are discarded and then the change occurs.
342 .RE
343
344 .SH FILES
345 .LP
346 \fB/dev/*\fR
347 .SH SEE ALSO
348 .LP
349 \fBstty\fR(1), \fBioctl\fR(2), \fBtermio\fR(7I)
350 .SH NOTES
351 .LP
352 The termiox(7I) system call is provided for compatibility with previous
353 releases and its use is discouraged. Instead, the \fBtermio\fR(7I) system
354 call is recommended. See \fBtermio\fR(7I) for usage information.
|
1 .\" Copyright 1989 AT&T
2 .\" Copyright (C) 1999, Sun Microsystems, Inc. All Rights Reserved
3 .\" Copyright (c) 2017, Joyent, Inc.
4 .\" The contents of this file are subject to the terms of the
5 .\" Common Development and Distribution License (the "License").
6 .\" You may not use this file except in compliance with the License.
7 .\"
8 .\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 .\" or http://www.opensolaris.org/os/licensing.
10 .\" See the License for the specific language governing permissions
11 .\" and limitations under the License.
12 .\"
13 .\" When distributing Covered Code, include this CDDL HEADER in each
14 .\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 .\" If applicable, add the following below this CDDL HEADER, with the
16 .\" fields enclosed by brackets "[]" replaced with your own identifying
17 .\" information: Portions Copyright [yyyy] [name of copyright owner]
18 .Dd October 29, 2017
19 .Dt TERMIOX 7I
20 .Os
21 .Sh NAME
22 .Nm termiox
23 .Nd extended general terminal interface
24 .Sh DESCRIPTION
25 The extended general terminal interface supplements the
26 .Xr termio 7I
27 general terminal interface by adding support for asynchronous hardware flow
28 control, isochronous flow control and clock modes, and local implementations of
29 additional asynchronous features.
30 Some systems may not support all of these
31 capabilities because of either hardware or software limitations.
32 Other systems may not permit certain functions to be disabled.
33 In these cases the appropriate bits will be ignored.
34 See
35 .In sys/termiox.h
36 for your system to find out which capabilities are supported.
37 .Ss "Hardware Flow Control Modes"
38 Hardware flow control supplements the
39 .Xr termio 7I
40 .Dv IXON ,
41 .Dv IXOFF ,
42 and
43 .Dv IXANY
44 character flow control.
45 Character flow control occurs when one
46 device controls the data transfer of another device by the insertion of control
47 characters in the data stream between devices.
48 Hardware flow control occurs
49 when one device controls the data transfer of another device using electrical
50 control signals on wires (circuits) of the asynchronous interface.
51 Isochronous
52 hardware flow control occurs when one device controls the data transfer of
53 another device by asserting or removing the transmit clock signals of that
54 device.
55 Character flow control and hardware flow control may be simultaneously
56 set.
57 .Pp
58 In asynchronous, full duplex applications, the use of the Electronic Industries
59 Association's EIA-232-D Request To Send (RTS) and Clear To Send (CTS) circuits
60 is the preferred method of hardware flow control.
61 An interface to other
62 hardware flow control methods is included to provide a standard interface to
63 these existing methods.
64 .Pp
65 The EIA-232-D standard specified only unidirectional hardware flow control \(em
66 the Data Circuit-terminating Equipment or Data Communications Equipment (DCE)
67 indicates to the Data Terminal Equipment (DTE) to stop transmitting data.
68 The
69 .Nm
70 interface allows both unidirectional and bidirectional hardware
71 flow control; when bidirectional flow control is enabled, either the DCE or DTE
72 can indicate to each other to stop transmitting data across the interface.
73 Note: It is assumed that the asynchronous port is configured as a DTE.
74 If the
75 connected device is also a DTE and not a DCE, then DTE to DTE (for example,
76 terminal or printer connected to computer) hardware flow control is possible by
77 using a null modem to interconnect the appropriate data and control circuits.
78 .Ss "Clock Modes"
79 Isochronous communication is a variation of asynchronous communication whereby
80 two communicating devices may provide transmit and/or receive clock signals to
81 one another.
82 Incoming clock signals can be taken from the baud rate generator
83 on the local isochronous port controller, from CCITT V\.24 circuit 114,
84 Transmitter Signal Element Timing - DCE source (EIA-232-D pin 15), or from
85 CITT V\.24 circuit 115, Receiver Signal Element Timing - DCE source (EIA-232-D
86 pin 17).
87 Outgoing clock signals can be sent on CCITT V\.24 circuit 113,
88 Transmitter Signal Element Timing - DTE source (EIA-232-D pin 24), on CCITT
89 V\.24 circuit 128, Receiver Signal Element Timing - DTE source (no EIA-232-D
90 pin), or not sent at all.
91 .Pp
92 In terms of clock modes, traditional asynchronous communication is implemented
93 simply by using the local baud rate generator as the incoming transmit and
94 receive clock source and not outputting any clock signals.
95 .Ss "Terminal Parameters"
96 The parameters that control the behavior of devices providing the
97 .Nm
98 interface are specified by the
99 .Vt termiox
100 structure defined in the
101 .In sys/termiox.h
102 header.
103 Several
104 .Xr ioctl 2
105 system calls that fetch
106 or change these parameters use this structure:
107 .Bd -literal -offset 2n
108 #define NFF 5
109 struct termiox {
110 unsigned short x_hflag; /* hardware flow control modes */
111 unsigned short x_cflag; /* clock modes */
112 unsigned short x_rflag[NFF]; /* reserved modes */
113 unsigned short x_sflag; /* spare local modes */
114 };
115 .Ed
116 .Pp
117 The
118 .Fa x_hflag
119 field describes hardware flow control modes:
120 .Bl -column xxxxxxx xxxxxxx x
121 .It Dv RTSXOFF Ta 0000001 Ta "Enable RTS hardware flow control on input."
122 .It Dv CTSXON Ta 0000002 Ta "Enable CTS hardware flow control on output."
123 .It Dv DTRXOFF Ta 0000004 Ta "Enable DTR hardware flow control on input."
124 .It Dv CDXON Ta 0000010 Ta "Enable CD hardware flow control on output."
125 .It Dv ISXOFF Ta 0000020 Ta "Enable isochronous hardware flow control on input."
126 .El
127 .Pp
128 The EIA-232-D DTR and CD circuits are used to establish a connection between
129 two systems.
130 The RTS circuit is also used to establish a connection with a modem.
131 Thus, both DTR and RTS are activated when an asynchronous port is opened.
132 If DTR is used for hardware flow control, then RTS must be used for
133 connectivity.
134 If CD is used for hardware flow control, then CTS must be used
135 for connectivity.
136 Thus, RTS and DTR (or CTS and CD) cannot both be used for
137 hardware flow control at the same time.
138 Other mutual exclusions may apply, such as the simultaneous setting of the
139 .Xr termio 7I
140 .Dv HUPCL
141 and the
142 .Vt termiox
143 .Dv DTRXOFF
144 bits, which use the DTE ready line for different functions.
145 .Pp
146 Variations of different hardware flow control methods may be selected by
147 setting the appropriate bits.
148 For example, bidirectional RTS/CTS flow control is selected by setting both the
149 .Dv RTSXOFF
150 and
151 .Dv CTSXON
152 bits and bidirectional DTR/CTS flow control is selected by setting both the
153 .Dv DTRXOFF
154 and
155 .Dv CTSXON .
156 Modem control or unidirectional CTS hardware
157 flow control is selected by setting only the
158 .Dv CTSXON
159 bit.
160 .Pp
161 As previously mentioned, it is assumed that the local asynchronous port (for
162 example, computer) is configured as a DTE.
163 If the connected device (for example, printer) is also a DTE, it is assumed
164 that the device is connected to the computer's asynchronous port using a null
165 modem that swaps control circuits (typically RTS and CTS).
166 The connected DTE drives RTS and the null modem swaps
167 RTS and CTS so that the remote RTS is received as CTS by the local DTE.
168 In the case that
169 .Dv CTSXON
170 is set for hardware flow control, printer's lowering
171 of its RTS would cause CTS seen by the computer to be lowered.
172 Output to the printer is suspended until the printer's raising of its RTS,
173 which would cause CTS seen by the computer to be raised.
174 .Pp
175 If
176 .Dv RTSXOFF
177 is set, the Request To Send (RTS) circuit (line) will be
178 raised, and if the asynchronous port needs to have its input stopped, it will
179 lower the Request To Send (RTS) line.
180 If the RTS line is lowered, it is assumed
181 that the connected device will stop its output until RTS is raised.
182 .Pp
183 If
184 .Dv CTSXON
185 is set, output will occur only if the Clear To Send (CTS)
186 circuit (line) is raised by the connected device.
187 If the CTS line is lowered by
188 the connected device, output is suspended until CTS is raised.
189 .Pp
190 If
191 .Dv DTRXOFF
192 is set, the DTE Ready (DTR) circuit (line) will be raised, and
193 if the asynchronous port needs to have its input stopped, it will lower the DTE
194 Ready (DTR) line.
195 If the DTR line is lowered, it is assumed that the connected
196 device will stop its output until DTR is raised.
197 .Pp
198 If
199 .Dv CDXON
200 is set, output will occur only if the Received Line Signal
201 Detector (CD) circuit (line) is raised by the connected device.
202 If the CD line
203 is lowered by the connected device, output is suspended until CD is raised.
204 .Pp
205 If
206 .Dv ISXOFF
207 is set, and if the isochronous port needs to have its input
208 stopped, it will stop the outgoing clock signal.
209 It is assumed that the
210 connected device is using this clock signal to create its output.
211 Transit and receive clock sources are programmed using the
212 .Fa x_cflag
213 fields.
214 If the port is not programmed for external clock generation,
215 .Dv ISXOFF
216 is ignored.
217 Output isochronous flow control is supported by appropriate clock source
218 programming using the
219 .Fa x_cflag
220 field and enabled at the remote connected device.
221 .Pp
222 The
223 .Fa x_cflag
224 field specifies the system treatment of clock modes.
225 .Bl -column xxxxxxxxx xxxxxxxx l
226 .It Dv XMTCLK Ta 0000007 Ta "Transmit clock source:"
227 .It Dv XCIBRG Ta 0000000 Ta "Get transmit clock from internal baud rate generator."
228 .It Dv XCTSET Ta 0000001 Ta "Get transmit clock from transmitter signal element timing (DCE source) lead, CCITT V\.24 circuit 114, EIA-232-D pin 15."
229 .It Dv XCRSET Ta 0000002 Ta Get transmit clock from receiver signal element timing (DCE source) lead, CCITT V\.4 circuit 115, EIA-232-D pin 17."
230 .It Dv RCVCLK Ta 0000070 Ta "Receive clock source:"
231 .It Dv RCIBRG Ta 0000000 Ta "Get receive clock from internal baud rate generator."
232 .It Dv RCTSET Ta 0000010 Ta "Get receive clock from transmitter signal element timing (DCE source) lead, CCITT V\.24 circuit 114, EIA-232-D pin 15."
233 .It Dv RCRSET Ta 0000020 Ta "Get receive clock from receiver signal element timing (DCE source) lead, CCITT V\.24 circuit 115, EIA-232-D pin 17."
234 .It Dv TSETCLK Ta 0000700 Ta "Transmitter signal element timing (DTE source) lead, CCITT V\.24 circuit 113, EIA-232-D pin 24, clock source:"
235 .It Dv TSETCOFF Ta 0000000 Ta "TSET clock not provided."
236 .It Dv TSETCRBRG Ta 0000100 Ta "Output receive baud rate generator on circuit 113."
237 .It Dv TSETCTBRG Ta 0000200 Ta "Output transmit baud rate generator on circuit 113"
238 .It Dv TSETCTSET Ta 0000300 Ta "Output transmitter signal element timing (DCE source) on circuit 113."
239 .It Dv TSETCRSET Ta 0000400 Ta "Output receiver signal element timing (DCE source) on circuit 113."
240 .It Dv RSETCLK Ta 0007000 Ta "Receiver signal element timing (DTE source) lead, CCITT V\.24 circuit 128, no EIA-232-D pin, clock source:"
241 .It Dv RSETCOFF Ta 0000000 Ta "RSET clock not provided."
242 .It Dv RSETCRBRG Ta 0001000 Ta "Output receive baud rate generator on circuit 128."
243 .It Dv RSETCTBRG Ta 0002000 Ta "Output transmit baud rate generator on circuit 128."
244 .It Dv RSETCTSET Ta 0003000 Ta "Output transmitter signal element timing (DCE source) on circuit 128."
245 .It Dv RSETCRSET Ta 0004000 Ta "Output receiver signal element timing (DCE) on circuit 128."
246 .El
247 .Pp
248 If the
249 .Fa XMTCLK
250 field has a value of
251 .Dv XCIBRG
252 the transmit clock is taken from the hardware internal baud rate generator, as
253 in normal asynchronous transmission.
254 If
255 .Fa XMTCLK
256 =
257 .Dv XCTSET
258 the transmit clock is taken from
259 the Transmitter Signal Element Timing (DCE source) circuit.
260 If
261 .Fa XMTCLK
262 =
263 .Dv XCRSET
264 the transmit clock is taken from the Receiver Signal Element
265 Timing (DCE source) circuit.
266 .Pp
267 If the
268 .Fa RCVCLK
269 field has a value of
270 .Dv RCIBRG ,
271 the receive clock is
272 taken from the hardware Internal Baud Rate Generator, as in normal asynchronous
273 transmission.
274 If
275 .Fa RCVCLK
276 =
277 .Dv RCTSET
278 the receive clock is taken from
279 the Transmitter Signal Element Timing (DCE source) circuit.
280 If
281 .Fa RCVCLK
282 =
283 .Dv RCRSET
284 the receive clock is taken from the Receiver Signal Element Timing
285 (DCE source) circuit.
286 .Pp
287 If the
288 .Fa TSETCLK
289 field has a value of
290 .Dv TSETCOFF
291 the Transmitter Signal Element Timing (DTE source) circuit is not driven.
292 If
293 .Fa TSETCLK
294 =
295 .Dv TSETCRBRG
296 the Transmitter Signal Element Timing (DTE source) circuit is
297 driven by the Receive Baud Rate Generator.
298 If
299 .Fa TSETCLK
300 =
301 .Dv TSETCTBRG
302 the Transmitter Signal Element Timing (DTE source) circuit is driven by the
303 Transmit Baud Rate Generator.
304 If
305 .Fa TSETCLK
306 =
307 .Dv TSETCTSET
308 the Transmitter Signal Element Timing (DTE source) circuit is driven by the
309 Transmitter Signal Element Timing (DCE source).
310 If
311 .Fa TSETCLK
312 =
313 .Dv TSETCRBRG
314 the Transmitter Signal Element Timing (DTE source) circuit is
315 driven by the Receiver Signal Element Timing (DCE source).
316 .Pp
317 If the
318 .Fa RSETCLK
319 field has a value of
320 .Dv RSETCOFF
321 the Receiver Signal Element Timing (DTE source) circuit is not driven.
322 If
323 .Fa RSETCLK
324 =
325 .Dv RSETCRBRG
326 the Receiver Signal Element Timing (DTE source) circuit is
327 driven by the Receive Baud Rate Generator.
328 If
329 .Fa RSETCLK
330 =
331 .Dv RSETCTBRG
332 the Receiver Signal Element Timing (DTE source) circuit is driven by the
333 Transmit Baud Rate Generator.
334 If
335 .Fa RSETCLK
336 =
337 .Dv RSETCTSET
338 the Receiver
339 Signal Element Timing (DTE source) circuit is driven by the Transmitter Signal
340 Element Timing (DCE source).
341 If
342 .Fa RSETCLK
343 =
344 .Dv RSETCRBRG
345 the Receiver
346 Signal Element Timing (DTE source) circuit is driven by the Receiver Signal
347 Element Timing (DCE source).
348 .Pp
349 The
350 .Fa x_rflag
351 is reserved for future interface definitions and should not
352 be used by any implementations.
353 The
354 .Fa x_sflag
355 may be used by local
356 implementations wishing to customize their terminal interface using the
357 .Nm
358 ioctl system calls.
359 .Sh IOCTLS
360 The
361 .Xr ioctl 2
362 system calls have the form:
363 .Bd -literal -offset 2n
364 struct termiox *arg;
365 ioctl(fildes, command, arg);
366 .Ed
367 .Pp
368 The commands using this form are:
369 .Bl -tag -width TCSETXW
370 .It Dv TCGETX
371 The argument is a pointer to a
372 .Vt termiox
373 structure.
374 The current terminal parameters are fetched and stored into that structure.
375 .It Dv TCSETX
376 The argument is a pointer to a
377 .Vt termiox
378 structure.
379 The current terminal parameters are set from the values stored in that structure.
380 The change is immediate.
381 .It Dv TCSETXW
382 The argument is a pointer to a
383 .Vt termiox
384 structure.
385 The current terminal parameters are set from the values stored in that structure.
386 The change occurs after all characters queued for output have been transmitted.
387 This form should be used when changing parameters that will affect output.
388 .It Dv TCSETXF
389 The argument is a pointer to a
390 .Vt termiox
391 structure.
392 The current terminal parameters are set from the values stored in that structure.
393 The change occurs
394 after all characters queued for output have been transmitted; all characters
395 queued for input are discarded and then the change occurs.
396 .El
397 .Sh FILES
398 .Pa /dev/*
399 .Sh SEE ALSO
400 .Xr stty 1 ,
401 .Xr ioctl 2 ,
402 .Xr termio 7I
403 .Sh NOTES
404 The
405 .Nm termiox Ns Pq 7I
406 system call is provided for compatibility with previous
407 releases and its use is discouraged.
408 Instead, the
409 .Xr termio 7I
410 system call is recommended.
411 See
412 .Xr termio 7I
413 for usage information.
|