1explain_tcsetattr(3) Library Functions Manual explain_tcsetattr(3)
2
3
4
6 explain_tcsetattr - explain tcsetattr(3) errors
7
9 #include <libexplain/tcsetattr.h>
10 const char *explain_tcsetattr(int fildes, int options, const struct
11 termios *data);
12 const char *explain_errno_tcsetattr(int errnum, int fildes, int
13 options, const struct termios *data);
14 void explain_message_tcsetattr(char *message, int message_size, int
15 fildes, int options, const struct termios *data);
16 void explain_message_errno_tcsetattr(char *message, int message_size,
17 int errnum, int fildes, int options, const struct termios *data);
18
20 These functions may be used to obtain explanations for errors returned
21 by the tcsetattr(3) system call.
22
23 explain_tcsetattr
24 const char *explain_tcsetattr(int fildes, int options, const struct
25 termios *data);
26
27 The explain_tcsetattr function is used to obtain an explanation of an
28 error returned by the tcsetattr(3) system call. The least the message
29 will contain is the value of strerror(errno), but usually it will do
30 much better, and indicate the underlying cause in more detail.
31
32 The errno global variable will be used to obtain the error value to be
33 decoded.
34
35 fildes The original fildes, exactly as passed to the tcsetattr(3) sys‐
36 tem call.
37
38 options The original options, exactly as passed to the tcsetattr(3)
39 system call.
40
41 data The original data, exactly as passed to the tcsetattr(3) system
42 call.
43
44 Returns:
45 The message explaining the error. This message buffer is shared
46 by all libexplain functions which do not supply a buffer in
47 their argument list. This will be overwritten by the next call
48 to any libexplain function which shares this buffer, including
49 other threads.
50
51 Note: This function is not thread safe, because it shares a return buf‐
52 fer across all threads, and many other functions in this library.
53
54 Example: This function is intended to be used in a fashion similar to
55 the following example:
56 if (tcsetattr(fildes, options, data) < 0)
57 {
58 fprintf(stderr, "%s\n", explain_tcsetattr(fildes, options,
59 data));
60 exit(EXIT_FAILURE);
61 }
62
63 The above code example is available pre‐packaged as the explain_tcse‐
64 tattr_or_die(3) function.
65
66 explain_errno_tcsetattr
67 const char *explain_errno_tcsetattr(int errnum, int fildes, int
68 options, const struct termios *data);
69
70 The explain_errno_tcsetattr function is used to obtain an explanation
71 of an error returned by the tcsetattr(3) system call. The least the
72 message will contain is the value of strerror(errno), but usually it
73 will do much better, and indicate the underlying cause in more detail.
74
75 errnum The error value to be decoded, usually obtained from the errno
76 global variable just before this function is called. This is
77 necessary if you need to call any code between the system call
78 to be explained and this function, because many libc functions
79 will alter the value of errno.
80
81 fildes The original fildes, exactly as passed to the tcsetattr(3) sys‐
82 tem call.
83
84 options The original options, exactly as passed to the tcsetattr(3)
85 system call.
86
87 data The original data, exactly as passed to the tcsetattr(3) system
88 call.
89
90 Returns:
91 The message explaining the error. This message buffer is shared
92 by all libexplain functions which do not supply a buffer in
93 their argument list. This will be overwritten by the next call
94 to any libexplain function which shares this buffer, including
95 other threads.
96
97 Note: This function is not thread safe, because it shares a return buf‐
98 fer across all threads, and many other functions in this library.
99
100 Example: This function is intended to be used in a fashion similar to
101 the following example:
102 if (tcsetattr(fildes, options, data) < 0)
103 {
104 int err = errno;
105 fprintf(stderr, "%s\n", explain_errno_tcsetattr(err, fildes,
106 options, data));
107 exit(EXIT_FAILURE);
108 }
109
110 The above code example is available pre‐packaged as the explain_tcse‐
111 tattr_or_die(3) function.
112
113 explain_message_tcsetattr
114 void explain_message_tcsetattr(char *message, int message_size, int
115 fildes, int options, const struct termios *data);
116
117 The explain_message_tcsetattr function is used to obtain an explanation
118 of an error returned by the tcsetattr(3) system call. The least the
119 message will contain is the value of strerror(errno), but usually it
120 will do much better, and indicate the underlying cause in more detail.
121
122 The errno global variable will be used to obtain the error value to be
123 decoded.
124
125 message The location in which to store the returned message. If a suit‐
126 able message return buffer is supplied, this function is thread
127 safe.
128
129 message_size
130 The size in bytes of the location in which to store the
131 returned message.
132
133 fildes The original fildes, exactly as passed to the tcsetattr(3) sys‐
134 tem call.
135
136 options The original options, exactly as passed to the tcsetattr(3)
137 system call.
138
139 data The original data, exactly as passed to the tcsetattr(3) system
140 call.
141
142 Example: This function is intended to be used in a fashion similar to
143 the following example:
144 if (tcsetattr(fildes, options, data) < 0)
145 {
146 char message[3000];
147 explain_message_tcsetattr(message, sizeof(message), fildes,
148 options, data);
149 fprintf(stderr, "%s\n", message);
150 exit(EXIT_FAILURE);
151 }
152
153 The above code example is available pre‐packaged as the explain_tcse‐
154 tattr_or_die(3) function.
155
156 explain_message_errno_tcsetattr
157 void explain_message_errno_tcsetattr(char *message, int message_size,
158 int errnum, int fildes, int options, const struct termios *data);
159
160 The explain_message_errno_tcsetattr function is used to obtain an
161 explanation of an error returned by the tcsetattr(3) system call. The
162 least the message will contain is the value of strerror(errno), but
163 usually it will do much better, and indicate the underlying cause in
164 more detail.
165
166 message The location in which to store the returned message. If a suit‐
167 able message return buffer is supplied, this function is thread
168 safe.
169
170 message_size
171 The size in bytes of the location in which to store the
172 returned message.
173
174 errnum The error value to be decoded, usually obtained from the errno
175 global variable just before this function is called. This is
176 necessary if you need to call any code between the system call
177 to be explained and this function, because many libc functions
178 will alter the value of errno.
179
180 fildes The original fildes, exactly as passed to the tcsetattr(3) sys‐
181 tem call.
182
183 options The original options, exactly as passed to the tcsetattr(3)
184 system call.
185
186 data The original data, exactly as passed to the tcsetattr(3) system
187 call.
188
189 Example: This function is intended to be used in a fashion similar to
190 the following example:
191 if (tcsetattr(fildes, options, data) < 0)
192 {
193 int err = errno;
194 char message[3000];
195 explain_message_errno_tcsetattr(message, sizeof(message),
196 err, fildes, options, data);
197 fprintf(stderr, "%s\n", message);
198 exit(EXIT_FAILURE);
199 }
200
201 The above code example is available pre‐packaged as the explain_tcse‐
202 tattr_or_die(3) function.
203
205 tcsetattr(3)
206 set terminal attributes
207
208 explain_tcsetattr_or_die(3)
209 set terminal attributes and report errors
210
212 libexplain version 1.4
213 Copyright (C) 2009 Peter Miller
214
215
216
217 explain_tcsetattr(3)