]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - lib/libc/gen/tcsendbreak.3
Add descriptions for sysctls in kern_mib.c and sysctl.3 which lack them.
[FreeBSD/FreeBSD.git] / lib / libc / gen / tcsendbreak.3
1 .\" Copyright (c) 1991, 1993
2 .\"     The Regents of the University of California.  All rights reserved.
3 .\"
4 .\" Redistribution and use in source and binary forms, with or without
5 .\" modification, are permitted provided that the following conditions
6 .\" are met:
7 .\" 1. Redistributions of source code must retain the above copyright
8 .\"    notice, this list of conditions and the following disclaimer.
9 .\" 2. Redistributions in binary form must reproduce the above copyright
10 .\"    notice, this list of conditions and the following disclaimer in the
11 .\"    documentation and/or other materials provided with the distribution.
12 .\" 3. Neither the name of the University nor the names of its contributors
13 .\"    may be used to endorse or promote products derived from this software
14 .\"    without specific prior written permission.
15 .\"
16 .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
17 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19 .\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
20 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
22 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
23 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
24 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
25 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
26 .\" SUCH DAMAGE.
27 .\"
28 .\"     @(#)tcsendbreak.3       8.1 (Berkeley) 6/4/93
29 .\" $FreeBSD$
30 .\"
31 .Dd January 11, 2017
32 .Dt TCSENDBREAK 3
33 .Os
34 .Sh NAME
35 .Nm tcsendbreak ,
36 .Nm tcdrain ,
37 .Nm tcflush ,
38 .Nm tcflow
39 .Nd line control functions
40 .Sh LIBRARY
41 .Lb libc
42 .Sh SYNOPSIS
43 .In termios.h
44 .Ft int
45 .Fn tcdrain "int fd"
46 .Ft int
47 .Fn tcflow "int fd" "int action"
48 .Ft int
49 .Fn tcflush "int fd" "int action"
50 .Ft int
51 .Fn tcsendbreak "int fd" "int len"
52 .Sh DESCRIPTION
53 The
54 .Fn tcdrain
55 function waits until all output written to the terminal referenced by
56 .Fa fd
57 has been transmitted to the terminal.
58 .Pp
59 The
60 .Fn tcflow
61 function suspends transmission of data to or the reception of data from
62 the terminal referenced by
63 .Fa fd
64 depending on the value of
65 .Fa action .
66 The value of
67 .Fa action
68 must be one of the following:
69 .Bl -tag -width "TCIOFF"
70 .It Fa TCOOFF
71 Suspend output.
72 .It Fa TCOON
73 Restart suspended output.
74 .It Fa TCIOFF
75 Transmit a STOP character, which is intended to cause the terminal to stop
76 transmitting data to the system.
77 (See the description of IXOFF in the
78 .Ql Input Modes
79 section of
80 .Xr termios 4 ) .
81 .It Fa TCION
82 Transmit a START character, which is intended to cause the terminal to start
83 transmitting data to the system.
84 (See the description of IXOFF in the
85 .Ql Input Modes
86 section of
87 .Xr termios 4 ) .
88 .El
89 .Pp
90 The
91 .Fn tcflush
92 function discards any data written to the terminal referenced by
93 .Fa fd
94 which has not been transmitted to the terminal, or any data received
95 from the terminal but not yet read, depending on the value of
96 .Fa action .
97 The value of
98 .Fa action
99 must be one of the following:
100 .Bl -tag -width "TCIOFLUSH"
101 .It Fa TCIFLUSH
102 Flush data received but not read.
103 .It Fa TCOFLUSH
104 Flush data written but not transmitted.
105 .It Fa TCIOFLUSH
106 Flush both data received but not read and data written but not transmitted.
107 .El
108 .Pp
109 The
110 .Fn tcsendbreak
111 function transmits a continuous stream of zero-valued bits for four-tenths
112 of a second to the terminal referenced by
113 .Fa fd .
114 The
115 .Fa len
116 argument is ignored in this implementation.
117 .Sh RETURN VALUES
118 Upon successful completion, all of these functions return a value of zero.
119 .Sh ERRORS
120 If any error occurs, a value of -1 is returned and the global variable
121 .Va errno
122 is set to indicate the error, as follows:
123 .Bl -tag -width Er
124 .It Bq Er EBADF
125 The
126 .Fa fd
127 argument is not a valid file descriptor.
128 .It Bq Er EINVAL
129 The
130 .Fa action
131 argument is not a proper value.
132 .It Bq Er ENOTTY
133 The file associated with
134 .Fa fd
135 is not a terminal.
136 .It Bq Er EINTR
137 A signal interrupted the
138 .Fn tcdrain
139 function.
140 .It Bq Er EWOULDBLOCK
141 The configured timeout expired before the
142 .Fn tcdrain
143 function could write all buffered output.
144 .El
145 .Sh SEE ALSO
146 .Xr tcsetattr 3 ,
147 .Xr termios 4 ,
148 .Xr tty 4 ,
149 .Xr comcontrol 8
150 .Sh STANDARDS
151 The
152 .Fn tcsendbreak ,
153 .Fn tcflush
154 and
155 .Fn tcflow
156 functions are expected to be compliant with the
157 .St -p1003.1-88
158 specification.
159 .Pp
160 The
161 .Fn tcdrain
162 function is expected to be compliant with
163 .St -p1003.1-88
164 when the drain wait value is set to zero with
165 .Xr comcontrol 8 ,
166 or with
167 .Xr ioctl 2
168 .Va TIOCSDRAINWAIT ,
169 or with
170 .Xr sysctl 8
171 .Va kern.tty_drainwait .
172 A non-zero drain wait value can result in
173 .Fn tcdrain
174 returning
175 .Va EWOULDBLOCK
176 without writing all output.
177 The default value for
178 .Va kern.tty_drainwait
179 is 300 seconds.