1 # SOME DESCRIPTIVE TITLE
2 # Copyright (C) YEAR Free Software Foundation, Inc.
3 # This file is distributed under the same license as the PACKAGE package.
4 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
9 "Project-Id-Version: PACKAGE VERSION\n"
10 "POT-Creation-Date: 2014-06-03 01:29+0900\n"
11 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
12 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13 "Language-Team: LANGUAGE <LL@li.org>\n"
16 "Content-Type: text/plain; charset=UTF-8\n"
17 "Content-Transfer-Encoding: 8bit\n"
20 #: build/C/man3/getpass.3:24
26 #: build/C/man3/getpass.3:24 build/C/man3/ptsname.3:7 build/C/man3/ttyname.3:27
32 #: build/C/man3/getpass.3:24 build/C/man3/isatty.3:26 build/C/man4/pts.4:8 build/C/man7/pty.7:25 build/C/man5/securetty.5:26 build/C/man5/termcap.5:31 build/C/man7/termio.7:27 build/C/man3/termios.3:40 build/C/man4/tty.4:28 build/C/man4/tty_ioctl.4:8 build/C/man3/ttyname.3:27 build/C/man5/ttytype.5:29
38 #: build/C/man3/getpass.3:24 build/C/man3/getpt.3:7 build/C/man3/getttyent.3:7 build/C/man3/grantpt.3:5 build/C/man3/isatty.3:26 build/C/man3/openpty.3:34 build/C/man3/posix_openpt.3:25 build/C/man4/pts.4:8 build/C/man3/ptsname.3:7 build/C/man7/pty.7:25 build/C/man5/securetty.5:26 build/C/man3/tcgetsid.3:25 build/C/man5/termcap.5:31 build/C/man7/termio.7:27 build/C/man3/termios.3:40 build/C/man4/tty.4:28 build/C/man4/tty_ioctl.4:8 build/C/man3/ttyname.3:27 build/C/man3/ttyslot.3:28 build/C/man5/ttytype.5:29 build/C/man3/unlockpt.3:5
40 msgid "Linux Programmer's Manual"
44 #: build/C/man3/getpass.3:25 build/C/man3/getpt.3:8 build/C/man3/getttyent.3:8 build/C/man3/grantpt.3:6 build/C/man3/isatty.3:27 build/C/man3/openpty.3:35 build/C/man3/posix_openpt.3:26 build/C/man4/pts.4:9 build/C/man3/ptsname.3:8 build/C/man7/pty.7:26 build/C/man5/securetty.5:27 build/C/man3/tcgetsid.3:26 build/C/man5/termcap.5:32 build/C/man7/termio.7:28 build/C/man3/termios.3:41 build/C/man4/tty.4:29 build/C/man4/tty_ioctl.4:9 build/C/man3/ttyname.3:28 build/C/man3/ttyslot.3:29 build/C/man5/ttytype.5:30 build/C/man3/unlockpt.3:6
50 #: build/C/man3/getpass.3:27
51 msgid "getpass - get a password"
55 #: build/C/man3/getpass.3:27 build/C/man3/getpt.3:10 build/C/man3/getttyent.3:10 build/C/man3/grantpt.3:8 build/C/man3/isatty.3:29 build/C/man3/openpty.3:37 build/C/man3/posix_openpt.3:28 build/C/man3/ptsname.3:10 build/C/man3/tcgetsid.3:28 build/C/man3/termios.3:45 build/C/man4/tty_ioctl.4:11 build/C/man3/ttyname.3:30 build/C/man3/ttyslot.3:31 build/C/man3/unlockpt.3:8
61 #: build/C/man3/getpass.3:29
62 msgid "B<#include E<lt>unistd.hE<gt>>"
66 #: build/C/man3/getpass.3:31
67 msgid "B<char *getpass( const char *>I<prompt>B<);>"
71 #: build/C/man3/getpass.3:35 build/C/man3/posix_openpt.3:39 build/C/man3/termios.3:80 build/C/man3/ttyslot.3:41
72 msgid "Feature Test Macro Requirements for glibc (see B<feature_test_macros>(7)):"
76 #: build/C/man3/getpass.3:38
81 #: build/C/man3/getpass.3:41
83 msgid "Since glibc 2.2.2:"
87 #: build/C/man3/getpass.3:48
91 " (_XOPEN_SOURCE\\ E<gt>=\\ 500 ||\n"
92 " _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED) &&\n"
93 " !(_POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>=\\ 600)\n"
97 #: build/C/man3/getpass.3:49
99 msgid "Before glibc 2.2.2:"
103 #: build/C/man3/getpass.3:52
108 #: build/C/man3/getpass.3:55 build/C/man3/getpt.3:17 build/C/man3/getttyent.3:20 build/C/man3/grantpt.3:16 build/C/man3/isatty.3:35 build/C/man3/openpty.3:55 build/C/man3/posix_openpt.3:45 build/C/man4/pts.4:11 build/C/man3/ptsname.3:24 build/C/man7/pty.7:28 build/C/man5/securetty.5:29 build/C/man3/tcgetsid.3:34 build/C/man5/termcap.5:34 build/C/man7/termio.7:30 build/C/man3/termios.3:85 build/C/man4/tty.4:31 build/C/man4/tty_ioctl.4:15 build/C/man3/ttyname.3:38 build/C/man3/ttyslot.3:51 build/C/man5/ttytype.5:32 build/C/man3/unlockpt.3:16
114 #: build/C/man3/getpass.3:63
116 "This function is obsolete. Do not use it. If you want to read input "
117 "without terminal echoing enabled, see the description of the I<ECHO> flag in "
122 #: build/C/man3/getpass.3:74
124 "The B<getpass>() function opens I</dev/tty> (the controlling terminal of "
125 "the process), outputs the string I<prompt>, turns off echoing, reads one "
126 "line (the \"password\"), restores the terminal state and closes I</dev/tty> "
131 #: build/C/man3/getpass.3:74 build/C/man3/getpt.3:28 build/C/man3/grantpt.3:32 build/C/man3/isatty.3:41 build/C/man3/openpty.3:113 build/C/man3/posix_openpt.3:62 build/C/man3/ptsname.3:42 build/C/man3/tcgetsid.3:42 build/C/man3/termios.3:948 build/C/man4/tty_ioctl.4:440 build/C/man3/ttyname.3:52 build/C/man3/ttyslot.3:117 build/C/man3/unlockpt.3:25
137 #: build/C/man3/getpass.3:85
139 "The function B<getpass>() returns a pointer to a static buffer containing "
140 "(the first B<PASS_MAX> bytes of) the password without the trailing newline, "
141 "terminated by a null byte (\\(aq\\e0\\(aq). This buffer may be overwritten "
142 "by a following call. On error, the terminal state is restored, I<errno> is "
143 "set appropriately, and NULL is returned."
147 #: build/C/man3/getpass.3:85 build/C/man3/getpt.3:35 build/C/man3/grantpt.3:39 build/C/man3/isatty.3:49 build/C/man3/openpty.3:130 build/C/man3/posix_openpt.3:70 build/C/man3/ptsname.3:59 build/C/man3/tcgetsid.3:52 build/C/man4/tty_ioctl.4:447 build/C/man3/ttyname.3:62 build/C/man3/unlockpt.3:32
153 #: build/C/man3/getpass.3:87
154 msgid "The function may fail if"
158 #: build/C/man3/getpass.3:87
164 #: build/C/man3/getpass.3:90
165 msgid "The process does not have a controlling terminal."
169 #: build/C/man3/getpass.3:90 build/C/man4/pts.4:59 build/C/man7/pty.7:124 build/C/man5/securetty.5:41 build/C/man4/tty.4:73 build/C/man5/ttytype.5:53
177 #. function appeared in Version 7 AT&T UNIX.
179 #: build/C/man3/getpass.3:96
184 #: build/C/man3/getpass.3:96 build/C/man3/getpt.3:42 build/C/man3/getttyent.3:72 build/C/man3/isatty.3:62 build/C/man3/ptsname.3:79 build/C/man3/tcgetsid.3:65 build/C/man3/termios.3:974 build/C/man3/ttyname.3:74 build/C/man3/ttyslot.3:123 build/C/man3/unlockpt.3:46
190 #: build/C/man3/getpass.3:97 build/C/man3/getpt.3:43 build/C/man3/getttyent.3:73 build/C/man3/isatty.3:63 build/C/man3/ptsname.3:80 build/C/man3/tcgetsid.3:66 build/C/man3/termios.3:975 build/C/man3/ttyname.3:75 build/C/man3/ttyslot.3:124 build/C/man3/unlockpt.3:47
192 msgid "Multithreading (see pthreads(7))"
196 #: build/C/man3/getpass.3:101
197 msgid "The B<getpass>() function is not thread-safe."
201 #: build/C/man3/getpass.3:101 build/C/man3/getpt.3:47 build/C/man3/getttyent.3:89 build/C/man3/grantpt.3:56 build/C/man3/isatty.3:67 build/C/man3/openpty.3:150 build/C/man3/posix_openpt.3:77 build/C/man3/ptsname.3:88 build/C/man3/tcgetsid.3:70 build/C/man3/termios.3:991 build/C/man3/ttyname.3:83 build/C/man3/ttyslot.3:130 build/C/man3/unlockpt.3:51
203 msgid "CONFORMING TO"
207 #: build/C/man3/getpass.3:104
208 msgid "Present in SUSv2, but marked LEGACY. Removed in POSIX.1-2001."
212 #: build/C/man3/getpass.3:104 build/C/man3/getttyent.3:92 build/C/man3/grantpt.3:58 build/C/man3/openpty.3:153 build/C/man3/posix_openpt.3:82 build/C/man4/pts.4:62 build/C/man7/pty.7:136 build/C/man3/tcgetsid.3:72 build/C/man3/termios.3:1009 build/C/man3/ttyslot.3:133
218 #: build/C/man3/getpass.3:125
220 "For libc4 and libc5, the prompt is not written to I</dev/tty> but to "
221 "I<stderr>. Moreover, if I</dev/tty> cannot be opened, the password is read "
222 "from I<stdin>. The static buffer has length 128 so that only the first 127 "
223 "bytes of the password are returned. While reading the password, signal "
224 "generation (B<SIGINT>, B<SIGQUIT>, B<SIGSTOP>, B<SIGTSTP>) is disabled and "
225 "the corresponding characters (usually control-C, control-\\e, control-Z and "
226 "control-Y) are transmitted as part of the password. Since libc 5.4.19 also "
227 "line editing is disabled, so that also backspace and the like will be seen "
228 "as part of the password."
232 #: build/C/man3/getpass.3:134
234 "For glibc2, if I</dev/tty> cannot be opened, the prompt is written to "
235 "I<stderr> and the password is read from I<stdin>. There is no limit on the "
236 "length of the password. Line editing is not disabled."
240 #: build/C/man3/getpass.3:156
242 "According to the SUSv2, the value of B<PASS_MAX> must be defined in "
243 "I<E<lt>limits.hE<gt>> in case it is smaller than 8, and can in any case be "
244 "obtained using I<sysconf(_SC_PASS_MAX)>. However, POSIX.2 withdraws the "
245 "constants B<PASS_MAX> and B<_SC_PASS_MAX>, and the function B<getpass>(). "
246 "Libc4 and libc5 have never supported B<PASS_MAX> or B<_SC_PASS_MAX>. Glibc2 "
247 "accepts B<_SC_PASS_MAX> and returns B<BUFSIZ> (e.g., 8192)."
251 #: build/C/man3/getpass.3:156 build/C/man3/openpty.3:168
257 #: build/C/man3/getpass.3:159
259 "The calling process should zero the password as soon as possible to avoid "
260 "leaving the cleartext password visible in the process's address space."
264 #: build/C/man3/getpass.3:159 build/C/man3/getpt.3:53 build/C/man3/getttyent.3:96 build/C/man3/grantpt.3:64 build/C/man3/isatty.3:69 build/C/man3/openpty.3:178 build/C/man3/posix_openpt.3:106 build/C/man4/pts.4:74 build/C/man3/ptsname.3:101 build/C/man7/pty.7:152 build/C/man5/securetty.5:43 build/C/man3/tcgetsid.3:78 build/C/man5/termcap.5:470 build/C/man7/termio.7:59 build/C/man3/termios.3:1036 build/C/man4/tty.4:75 build/C/man4/tty_ioctl.4:483 build/C/man3/ttyname.3:85 build/C/man3/ttyslot.3:153 build/C/man5/ttytype.5:67 build/C/man3/unlockpt.3:53
270 #: build/C/man3/getpass.3:161
275 #: build/C/man3/getpass.3:161 build/C/man3/getpt.3:60 build/C/man3/getttyent.3:99 build/C/man3/grantpt.3:71 build/C/man3/isatty.3:72 build/C/man3/openpty.3:182 build/C/man3/posix_openpt.3:114 build/C/man4/pts.4:80 build/C/man3/ptsname.3:108 build/C/man7/pty.7:161 build/C/man5/securetty.5:46 build/C/man3/tcgetsid.3:80 build/C/man5/termcap.5:474 build/C/man7/termio.7:66 build/C/man3/termios.3:1041 build/C/man4/tty.4:85 build/C/man4/tty_ioctl.4:502 build/C/man3/ttyname.3:89 build/C/man3/ttyslot.3:157 build/C/man5/ttytype.5:72 build/C/man3/unlockpt.3:59
281 #: build/C/man3/getpass.3:169 build/C/man3/getpt.3:68 build/C/man3/getttyent.3:107 build/C/man3/grantpt.3:79 build/C/man3/isatty.3:80 build/C/man3/openpty.3:190 build/C/man3/posix_openpt.3:122 build/C/man4/pts.4:88 build/C/man3/ptsname.3:116 build/C/man7/pty.7:169 build/C/man5/securetty.5:54 build/C/man3/tcgetsid.3:88 build/C/man5/termcap.5:482 build/C/man7/termio.7:74 build/C/man3/termios.3:1049 build/C/man4/tty.4:93 build/C/man4/tty_ioctl.4:510 build/C/man3/ttyname.3:97 build/C/man3/ttyslot.3:165 build/C/man5/ttytype.5:80 build/C/man3/unlockpt.3:67
283 "This page is part of release 3.67 of the Linux I<man-pages> project. A "
284 "description of the project, information about reporting bugs, and the latest "
285 "version of this page, can be found at "
286 "\\%http://www.kernel.org/doc/man-pages/."
290 #: build/C/man3/getpt.3:7
296 #: build/C/man3/getpt.3:7
302 #: build/C/man3/getpt.3:7 build/C/man3/getttyent.3:7 build/C/man3/grantpt.3:5 build/C/man3/openpty.3:34 build/C/man3/tcgetsid.3:25 build/C/man3/ttyslot.3:28
308 #: build/C/man3/getpt.3:10
309 msgid "getpt - open the pseudoterminal master (PTM)"
313 #: build/C/man3/getpt.3:14
316 "B<#define _GNU_SOURCE> /* See feature_test_macros(7) */\n"
317 "B<#include E<lt>stdlib.hE<gt>>\n"
321 #: build/C/man3/getpt.3:16
323 msgid "B<int getpt(void);>\n"
327 #: build/C/man3/getpt.3:21
329 "B<getpt>() opens a pseudoterminal master and returns its file descriptor. "
330 "It is equivalent to"
334 #: build/C/man3/getpt.3:24
336 msgid " open(/dev/ptmx, O_RDWR | O_NOCTTY);\n"
340 #: build/C/man3/getpt.3:28
342 "on Linux systems, though the pseudoterminal master is located elsewhere on "
343 "some systems that use GNU Libc."
347 #: build/C/man3/getpt.3:35
349 "B<getpt>() returns an open file descriptor upon successful completion. "
350 "Otherwise, it returns -1 and sets I<errno> to indicate the error."
354 #: build/C/man3/getpt.3:39
355 msgid "B<getpt>() can fail with various errors described in B<open>(2)."
359 #: build/C/man3/getpt.3:39 build/C/man3/grantpt.3:53 build/C/man3/posix_openpt.3:73 build/C/man3/ptsname.3:76 build/C/man3/tcgetsid.3:62 build/C/man3/unlockpt.3:43
365 #: build/C/man3/getpt.3:42
366 msgid "B<getpt>() is provided in glibc since version 2.1."
370 #: build/C/man3/getpt.3:47
371 msgid "The B<getpt>() function is thread-safe."
375 #: build/C/man3/getpt.3:53
376 msgid "B<getpt>() is glibc-specific; use B<posix_openpt>(3) instead."
380 #: build/C/man3/getpt.3:60
382 "B<grantpt>(3), B<posix_openpt>(3), B<ptsname>(3), B<unlockpt>(3), "
383 "B<ptmx>(4), B<pty>(7)"
387 #: build/C/man3/getttyent.3:7
393 #: build/C/man3/getttyent.3:7 build/C/man3/ttyslot.3:28
399 #: build/C/man3/getttyent.3:10
400 msgid "getttyent, getttynam, setttyent, endttyent - get ttys file entry"
404 #: build/C/man3/getttyent.3:12
405 msgid "B<#include E<lt>ttyent.hE<gt>>"
409 #: build/C/man3/getttyent.3:14
410 msgid "B<struct ttyent *getttyent(void);>"
414 #: build/C/man3/getttyent.3:16
415 msgid "B<struct ttyent *getttynam(const char *>I<name>B<);>"
419 #: build/C/man3/getttyent.3:18
420 msgid "B<int setttyent(void);>"
424 #: build/C/man3/getttyent.3:20
425 msgid "B<int endttyent(void);>"
429 #: build/C/man3/getttyent.3:25
431 "These functions provide an interface to the file B<_PATH_TTYS> (e.g., "
436 #: build/C/man3/getttyent.3:29
437 msgid "The function B<setttyent>() opens the file or rewinds it if already open."
441 #: build/C/man3/getttyent.3:33
442 msgid "The function B<endttyent>() closes the file."
446 #: build/C/man3/getttyent.3:40
448 "The function B<getttynam>() searches for a given terminal name in the "
449 "file. It returns a pointer to a I<ttyent> structure (description below)."
453 #: build/C/man3/getttyent.3:50
455 "The function B<getttyent>() opens the file B<_PATH_TTYS> (if necessary) and "
456 "returns the first entry. If the file is already open, the next entry. The "
457 "I<ttyent> structure has the form:"
461 #: build/C/man3/getttyent.3:61
465 " char *ty_name; /* terminal device name */\n"
466 " char *ty_getty; /* command to execute, usually getty */\n"
467 " char *ty_type; /* terminal type for termcap */\n"
468 " int ty_status; /* status flags */\n"
469 " char *ty_window; /* command to start up window manager */\n"
470 " char *ty_comment; /* comment field */\n"
475 #: build/C/man3/getttyent.3:66
476 msgid "I<ty_status> can be:"
480 #: build/C/man3/getttyent.3:71
483 "#define TTY_ON 0x01 /* enable logins (start ty_getty program) */\n"
484 "#define TTY_SECURE 0x02 /* allow UID 0 to login */\n"
488 #: build/C/man3/getttyent.3:77
490 "The B<getttyent>() function returns a pointer to a static variable, so it "
491 "is not thread-safe."
495 #: build/C/man3/getttyent.3:83
497 "The B<setttyent>() and B<endttyent>() functions use a static variable, so "
498 "they are not thread-safe."
502 #: build/C/man3/getttyent.3:89
504 "The B<getttynam>() function calls thread-unsafe function B<getttyent>() so "
505 "it is not thread-safe."
509 #: build/C/man3/getttyent.3:92
510 msgid "Not in POSIX.1-2001. Present on the BSDs, and perhaps other systems."
514 #: build/C/man3/getttyent.3:96
516 "Under Linux the file I</etc/ttys>, and the functions described above, are "
521 #: build/C/man3/getttyent.3:99
522 msgid "B<ttyname>(3), B<ttyslot>(3)"
526 #: build/C/man3/grantpt.3:5
532 #: build/C/man3/grantpt.3:5
538 #: build/C/man3/grantpt.3:8
539 msgid "grantpt - grant access to the slave pseudoterminal"
543 #: build/C/man3/grantpt.3:11 build/C/man3/ptsname.3:13 build/C/man3/unlockpt.3:11
545 msgid "B<#define _XOPEN_SOURCE> /* See feature_test_macros(7) */\n"
549 #: build/C/man3/grantpt.3:13 build/C/man3/ptsname.3:15 build/C/man3/ptsname.3:21 build/C/man3/unlockpt.3:13
551 msgid "B<#include E<lt>stdlib.hE<gt>>\n"
555 #: build/C/man3/grantpt.3:15
557 msgid "B<int grantpt(int >I<fd>B<);>\n"
561 #: build/C/man3/grantpt.3:26
563 "The B<grantpt>() function changes the mode and owner of the slave "
564 "pseudoterminal device corresponding to the master pseudoterminal referred to "
565 "by I<fd>. The user ID of the slave is set to the real UID of the calling "
566 "process. The group ID is set to an unspecified value (e.g., I<tty>). The "
567 "mode of the slave is set to 0620 (crw--w----)."
571 #: build/C/man3/grantpt.3:32
573 "The behavior of B<grantpt>() is unspecified if a signal handler is "
574 "installed to catch B<SIGCHLD> signals."
578 #: build/C/man3/grantpt.3:39
580 "When successful, B<grantpt>() returns 0. Otherwise, it returns -1 and sets "
581 "I<errno> appropriately."
585 #: build/C/man3/grantpt.3:40
591 #: build/C/man3/grantpt.3:43
592 msgid "The corresponding slave pseudoterminal could not be accessed."
596 #: build/C/man3/grantpt.3:43 build/C/man3/isatty.3:50 build/C/man3/tcgetsid.3:53 build/C/man3/ttyname.3:63 build/C/man3/unlockpt.3:33
602 #: build/C/man3/grantpt.3:48
603 msgid "The I<fd> argument is not a valid open file descriptor."
607 #: build/C/man3/grantpt.3:48 build/C/man3/isatty.3:54 build/C/man3/ptsname.3:60 build/C/man4/tty_ioctl.4:448 build/C/man3/unlockpt.3:38
613 #: build/C/man3/grantpt.3:53
614 msgid "The I<fd> argument is valid but not associated with a master pseudoterminal."
618 #: build/C/man3/grantpt.3:56
619 msgid "B<grantpt>() is provided in glibc since version 2.1."
623 #: build/C/man3/grantpt.3:58 build/C/man3/tcgetsid.3:72 build/C/man3/unlockpt.3:53
624 msgid "POSIX.1-2001."
628 #: build/C/man3/grantpt.3:64
630 "This is part of the UNIX 98 pseudoterminal support, see B<pts>(4). Many "
631 "systems implement this function via a set-user-ID helper binary called "
632 "\"pt_chown\". With Linux devpts no such helper binary is required."
636 #: build/C/man3/grantpt.3:71
638 "B<open>(2), B<posix_openpt>(3), B<ptsname>(3), B<unlockpt>(3), B<pts>(4), "
643 #: build/C/man3/isatty.3:26
649 #: build/C/man3/isatty.3:26
655 #: build/C/man3/isatty.3:29
656 msgid "isatty - test whether a file descriptor refers to a terminal"
660 #: build/C/man3/isatty.3:32 build/C/man3/termios.3:50 build/C/man3/ttyname.3:33
662 msgid "B<#include E<lt>unistd.hE<gt>>\n"
666 #: build/C/man3/isatty.3:34
668 msgid "B<int isatty(int >I<fd>B<);>\n"
672 #: build/C/man3/isatty.3:41
674 "The B<isatty>() function tests whether I<fd> is an open file descriptor "
675 "referring to a terminal."
679 #: build/C/man3/isatty.3:49
681 "B<isatty>() returns 1 if I<fd> is an open file descriptor referring to a "
682 "terminal; otherwise 0 is returned, and I<errno> is set to indicate the "
687 #: build/C/man3/isatty.3:54 build/C/man3/tcgetsid.3:57
688 msgid "I<fd> is not a valid file descriptor."
691 #. FIXME File a bug for this?
693 #: build/C/man3/isatty.3:62
695 "I<fd> refers to a file other than a terminal. POSIX.1-2001 specifies the "
696 "error B<ENOTTY> for this case."
700 #: build/C/man3/isatty.3:67
701 msgid "The B<isatty>() function is thread-safe."
705 #: build/C/man3/isatty.3:69
706 msgid "SVr4, 4.3BSD, POSIX.1-2001."
710 #: build/C/man3/isatty.3:72
711 msgid "B<fstat>(2), B<ttyname>(3)"
715 #: build/C/man3/openpty.3:34
721 #: build/C/man3/openpty.3:34
727 #: build/C/man3/openpty.3:37
728 msgid "openpty, login_tty, forkpty - terminal utility functions"
732 #: build/C/man3/openpty.3:40
734 msgid "B<#include E<lt>pty.hE<gt>>\n"
738 #: build/C/man3/openpty.3:44
741 "B<int openpty(int *>I<amaster>B<, int *>I<aslave>B<, char *>I<name>B<,>\n"
742 "B< const struct termios *>I<termp>B<,>\n"
743 "B< const struct winsize *>I<winp>B<);>\n"
747 #: build/C/man3/openpty.3:48
750 "B<pid_t forkpty(int *>I<amaster>B<, char *>I<name>B<,>\n"
751 "B< const struct termios *>I<termp>B<,>\n"
752 "B< const struct winsize *>I<winp>B<);>\n"
756 #: build/C/man3/openpty.3:50
758 msgid "B<#include E<lt>utmp.hE<gt>>\n"
762 #: build/C/man3/openpty.3:52
764 msgid "B<int login_tty(int >I<fd>B<);>\n"
768 #: build/C/man3/openpty.3:54
770 msgid "Link with I<-lutil>.\n"
774 #: build/C/man3/openpty.3:76
776 "The B<openpty>() function finds an available pseudoterminal and returns "
777 "file descriptors for the master and slave in I<amaster> and I<aslave>. If "
778 "I<name> is not NULL, the filename of the slave is returned in I<name>. If "
779 "I<termp> is not NULL, the terminal parameters of the slave will be set to "
780 "the values in I<termp>. If I<winp> is not NULL, the window size of the "
781 "slave will be set to the values in I<winp>."
785 #: build/C/man3/openpty.3:91
787 "The B<login_tty>() function prepares for a login on the terminal I<fd> "
788 "(which may be a real terminal device, or the slave of a pseudoterminal as "
789 "returned by B<openpty>()) by creating a new session, making I<fd> the "
790 "controlling terminal for the calling process, setting I<fd> to be the "
791 "standard input, output, and error streams of the current process, and "
796 #: build/C/man3/openpty.3:113
798 "The B<forkpty>() function combines B<openpty>(), B<fork>(2), and "
799 "B<login_tty>() to create a new process operating in a pseudoterminal. The "
800 "file descriptor of the master side of the pseudoterminal is returned in "
801 "I<amaster>, and the filename of the slave in I<name> if it is not NULL. The "
802 "I<termp> and I<winp> arguments, if not NULL, will determine the terminal "
803 "attributes and window size of the slave side of the pseudoterminal."
807 #: build/C/man3/openpty.3:130
809 "If a call to B<openpty>(), B<login_tty>(), or B<forkpty>() is not "
810 "successful, -1 is returned and I<errno> is set to indicate the error. "
811 "Otherwise, B<openpty>(), B<login_tty>(), and the child process of "
812 "B<forkpty>() return 0, and the parent process of B<forkpty>() returns the "
813 "process ID of the child process."
817 #: build/C/man3/openpty.3:133
818 msgid "B<openpty>() will fail if:"
822 #: build/C/man3/openpty.3:133
828 #: build/C/man3/openpty.3:136
829 msgid "There are no available terminals."
833 #: build/C/man3/openpty.3:143
835 "B<login_tty>() will fail if B<ioctl>(2) fails to set I<fd> to the "
836 "controlling terminal of the calling process."
840 #: build/C/man3/openpty.3:150
841 msgid "B<forkpty>() will fail if either B<openpty>() or B<fork>(2) fails."
845 #: build/C/man3/openpty.3:153
847 "These are BSD functions, present in libc5 and glibc2. They are not "
848 "standardized in POSIX."
852 #: build/C/man3/openpty.3:161
854 "The B<const> modifiers were added to the structure pointer arguments of "
855 "B<openpty>() and B<forkpty>() in glibc 2.8."
859 #: build/C/man3/openpty.3:168
861 "In versions of glibc before 2.0.92, B<openpty>() returns file descriptors "
862 "for a BSD pseudoterminal pair; since glibc 2.0.92, it first attempts to open "
863 "a UNIX 98 pseudoterminal pair, and falls back to opening a BSD "
864 "pseudoterminal pair if that fails."
868 #: build/C/man3/openpty.3:178
870 "Nobody knows how much space should be reserved for I<name>. So, calling "
871 "B<openpty>() or B<forkpty>() with non-NULL I<name> may not be secure."
875 #: build/C/man3/openpty.3:182
876 msgid "B<fork>(2), B<ttyname>(3), B<pty>(7)"
880 #: build/C/man3/posix_openpt.3:25
886 #: build/C/man3/posix_openpt.3:25
892 #: build/C/man3/posix_openpt.3:28
893 msgid "posix_openpt - open a pseudoterminal device"
897 #: build/C/man3/posix_openpt.3:32
900 "B<#include E<lt>stdlib.hE<gt>>\n"
901 "B<#include E<lt>fcntl.hE<gt>>\n"
905 #: build/C/man3/posix_openpt.3:34
907 msgid "B<int posix_openpt(int >I<flags>B<);>\n"
911 #: build/C/man3/posix_openpt.3:44
912 msgid "B<posix_openpt>(): _XOPEN_SOURCE\\ E<gt>=\\ 600"
916 #: build/C/man3/posix_openpt.3:50
918 "The B<posix_openpt>() function opens an unused pseudoterminal master "
919 "device, returning a file descriptor that can be used to refer to that "
924 #: build/C/man3/posix_openpt.3:55
926 "The I<flags> argument is a bit mask that ORs together zero or more of the "
931 #: build/C/man3/posix_openpt.3:55
937 #: build/C/man3/posix_openpt.3:59
939 "Open the device for both reading and writing. It is usual to specify this "
944 #: build/C/man3/posix_openpt.3:59
950 #: build/C/man3/posix_openpt.3:62
951 msgid "Do not make this device the controlling terminal for the process."
955 #: build/C/man3/posix_openpt.3:70
957 "On success, B<posix_openpt>() returns a nonnegative file descriptor which "
958 "is the lowest numbered unused descriptor. On failure, -1 is returned, and "
959 "I<errno> is set to indicate the error."
963 #: build/C/man3/posix_openpt.3:73
964 msgid "See B<open>(2)."
968 #: build/C/man3/posix_openpt.3:77
969 msgid "Glibc support for B<posix_openpt>() has been provided since version 2.2.1."
973 #: build/C/man3/posix_openpt.3:82
975 "B<posix_openpt>() is part of the UNIX 98 pseudoterminal support (see "
976 "B<pts>(4)). This function is specified in POSIX.1-2001."
980 #: build/C/man3/posix_openpt.3:89
982 "The B<posix_openpt>() function is a recent invention in POSIX. Some UNIX "
983 "implementations that support System V (aka UNIX 98) pseudoterminals don't "
984 "have this function, but it is easy to implement:"
988 #: build/C/man3/posix_openpt.3:97
992 "posix_openpt(int flags)\n"
994 " return open(\"/dev/ptmx\", flags);\n"
999 #: build/C/man3/posix_openpt.3:106
1001 "Calling B<posix_openpt>() creates a pathname for the corresponding "
1002 "pseudoterminal slave device. The pathname of the slave device can be "
1003 "obtained using B<ptsname>(3). The slave device pathname exists only as long "
1004 "as the master device is open."
1008 #: build/C/man3/posix_openpt.3:114
1010 "B<open>(2), B<getpt>(3), B<grantpt>(3), B<ptsname>(3), B<unlockpt>(3), "
1011 "B<pts>(4), B<pty>(7)"
1015 #: build/C/man4/pts.4:8
1021 #: build/C/man4/pts.4:8
1027 #: build/C/man4/pts.4:11
1028 msgid "ptmx, pts - pseudoterminal master and slave"
1032 #: build/C/man4/pts.4:17
1034 "The file I</dev/ptmx> is a character file with major number 5 and minor "
1035 "number 2, usually of mode 0666 and owner.group of root.root. It is used to "
1036 "create a pseudoterminal master and slave pair."
1040 #: build/C/man4/pts.4:30
1042 "When a process opens I</dev/ptmx>, it gets a file descriptor for a "
1043 "pseudoterminal master (PTM), and a pseudoterminal slave (PTS) device is "
1044 "created in the I</dev/pts> directory. Each file descriptor obtained by "
1045 "opening I</dev/ptmx> is an independent PTM with its own associated PTS, "
1046 "whose path can be found by passing the descriptor to B<ptsname>(3)."
1050 #: build/C/man4/pts.4:36
1052 "Before opening the pseudoterminal slave, you must pass the master's file "
1053 "descriptor to B<grantpt>(3) and B<unlockpt>(3)."
1057 #: build/C/man4/pts.4:39
1059 "Once both the pseudoterminal master and slave are open, the slave provides "
1060 "processes with an interface that is identical to that of a real terminal."
1064 #: build/C/man4/pts.4:42
1066 "Data written to the slave is presented on the master descriptor as input. "
1067 "Data written to the master is presented to the slave as input."
1071 #: build/C/man4/pts.4:53
1073 "In practice, pseudoterminals are used for implementing terminal emulators "
1074 "such as B<xterm>(1), in which data read from the pseudoterminal master is "
1075 "interpreted by the application in the same way a real terminal would "
1076 "interpret the data, and for implementing remote-login programs such as "
1077 "B<sshd>(8), in which data read from the pseudoterminal master is sent across "
1078 "the network to a client program that is connected to a terminal or terminal "
1083 #: build/C/man4/pts.4:59
1085 "Pseudoterminals can also be used to send input to programs that normally "
1086 "refuse to read input from pipes (such as B<su>(1), and B<passwd>(1))."
1090 #: build/C/man4/pts.4:62
1091 msgid "I</dev/ptmx>, I</dev/pts/*>"
1095 #: build/C/man4/pts.4:68
1097 "The Linux support for the above (known as UNIX 98 pseudoterminal naming) is "
1098 "done using the I<devpts> filesystem, that should be mounted on I</dev/pts>."
1102 #: build/C/man4/pts.4:74
1104 "Before this UNIX 98 scheme, master pseudoterminals were called "
1105 "I</dev/ptyp0>, ... and slave pseudoterminals I</dev/ttyp0>, ... and one "
1106 "needed lots of preallocated device nodes."
1110 #: build/C/man4/pts.4:80
1111 msgid "B<getpt>(3), B<grantpt>(3), B<ptsname>(3), B<unlockpt>(3), B<pty>(7)"
1115 #: build/C/man3/ptsname.3:7
1121 #: build/C/man3/ptsname.3:10
1122 msgid "ptsname, ptsname_r - get the name of the slave pseudoterminal"
1126 #: build/C/man3/ptsname.3:17
1128 msgid "B<char *ptsname(int >I<fd>B<);>\n"
1132 #: build/C/man3/ptsname.3:19
1134 msgid "B<#define _GNU_SOURCE> /* See feature_test_macros(7) */\n"
1138 #: build/C/man3/ptsname.3:23
1140 msgid "B<int ptsname_r(int >I<fd>B<, char *>I<buf>B<, size_t >I<buflen>B<);>\n"
1144 #: build/C/man3/ptsname.3:30
1146 "The B<ptsname>() function returns the name of the slave pseudoterminal "
1147 "device corresponding to the master referred to by I<fd>."
1151 #: build/C/man3/ptsname.3:42
1153 "The B<ptsname_r>() function is the reentrant equivalent of B<ptsname>(). "
1154 "It returns the name of the slave pseudoterminal device as a null-terminated "
1155 "string in the buffer pointed to by I<buf>. The I<buflen> argument specifies "
1156 "the number of bytes available in I<buf>."
1160 #: build/C/man3/ptsname.3:49
1162 "On success, B<ptsname>() returns a pointer to a string in static storage "
1163 "which will be overwritten by subsequent calls. This pointer must not be "
1164 "freed. On failure, NULL is returned."
1167 #. In fact the errno value is also returned as the function
1168 #. result -- MTK, Dec 04
1170 #: build/C/man3/ptsname.3:59
1172 "On success, B<ptsname_r>() returns 0. On failure, a nonzero value is "
1173 "returned and I<errno> is set to indicate the error."
1177 #: build/C/man3/ptsname.3:66
1178 msgid "(B<ptsname_r>() only) I<buf> is NULL."
1182 #: build/C/man3/ptsname.3:66 build/C/man3/tcgetsid.3:57 build/C/man4/tty_ioctl.4:454 build/C/man3/ttyname.3:66
1188 #: build/C/man3/ptsname.3:70
1189 msgid "I<fd> does not refer to a pseudoterminal master device."
1193 #: build/C/man3/ptsname.3:70 build/C/man3/ttyname.3:69
1199 #: build/C/man3/ptsname.3:76
1200 msgid "(B<ptsname_r>() only) I<buf> is too small."
1204 #: build/C/man3/ptsname.3:79
1205 msgid "B<ptsname>() is provided in glibc since version 2.1."
1209 #: build/C/man3/ptsname.3:84
1210 msgid "The B<ptsname>() function is not thread-safe."
1214 #: build/C/man3/ptsname.3:88
1215 msgid "The B<ptsname_r>() function is thread-safe."
1219 #: build/C/man3/ptsname.3:93
1221 "B<ptsname>() is part of the UNIX 98 pseudoterminal support (see "
1222 "B<pts>(4)). This function is specified in POSIX.1-2001."
1226 #: build/C/man3/ptsname.3:101
1228 "B<ptsname_r>() is a Linux extension. A version of this function is "
1229 "documented on Tru64 and HP-UX, but on those implementations, -1 is returned "
1230 "on error, with I<errno> set to indicate the error. Avoid using this "
1231 "function in portable programs."
1235 #: build/C/man3/ptsname.3:108
1237 "B<grantpt>(3), B<posix_openpt>(3), B<ttyname>(3), B<unlockpt>(3), B<pts>(4), "
1242 #: build/C/man7/pty.7:25
1248 #: build/C/man7/pty.7:25
1254 #: build/C/man7/pty.7:28
1255 msgid "pty - pseudoterminal interfaces"
1259 #: build/C/man7/pty.7:58
1261 "A pseudoterminal (sometimes abbreviated \"pty\") is a pair of virtual "
1262 "character devices that provide a bidirectional communication channel. One "
1263 "end of the channel is called the I<master>; the other end is called the "
1264 "I<slave>. The slave end of the pseudoterminal provides an interface that "
1265 "behaves exactly like a classical terminal. A process that expects to be "
1266 "connected to a terminal, can open the slave end of a pseudoterminal and then "
1267 "be driven by a program that has opened the master end. Anything that is "
1268 "written on the master end is provided to the process on the slave end as "
1269 "though it was input typed on a terminal. For example, writing the interrupt "
1270 "character (usually control-C) to the master device would cause an interrupt "
1271 "signal (B<SIGINT>) to be generated for the foreground process group that is "
1272 "connected to the slave. Conversely, anything that is written to the slave "
1273 "end of the pseudoterminal can be read by the process that is connected to "
1274 "the master end. Pseudoterminals are used by applications such as network "
1275 "login services (B<ssh>(1), B<rlogin>(1), B<telnet>(1)), terminal emulators, "
1276 "B<script>(1), B<screen>(1), and B<expect>(1)."
1280 #: build/C/man7/pty.7:63
1282 "Historically, two pseudoterminal APIs have evolved: BSD and System V. SUSv1 "
1283 "standardized a pseudoterminal API based on the System V API, and this API "
1284 "should be employed in all new programs that use pseudoterminals."
1288 #: build/C/man7/pty.7:71
1290 "Linux provides both BSD-style and (standardized) System V-style "
1291 "pseudoterminals. System V-style terminals are commonly called UNIX 98 "
1292 "pseudoterminals on Linux systems. Since kernel 2.6.4, BSD-style "
1293 "pseudoterminals are considered deprecated (they can be disabled when "
1294 "configuring the kernel); UNIX 98 pseudoterminals should be used in new "
1299 #: build/C/man7/pty.7:71
1301 msgid "UNIX 98 pseudoterminals"
1305 #: build/C/man7/pty.7:88
1307 "An unused UNIX 98 pseudoterminal master is opened by calling "
1308 "B<posix_openpt>(3). (This function opens the master clone device, "
1309 "I</dev/ptmx>; see B<pts>(4).) After performing any program-specific "
1310 "initializations, changing the ownership and permissions of the slave device "
1311 "using B<grantpt>(3), and unlocking the slave using B<unlockpt>(3)), the "
1312 "corresponding slave device can be opened by passing the name returned by "
1313 "B<ptsname>(3) in a call to B<open>(2)."
1317 #: build/C/man7/pty.7:103
1319 "The Linux kernel imposes a limit on the number of available UNIX 98 "
1320 "pseudoterminals. In kernels up to and including 2.6.3, this limit is "
1321 "configured at kernel compilation time (B<CONFIG_UNIX98_PTYS>), and the "
1322 "permitted number of pseudoterminals can be up to 2048, with a default "
1323 "setting of 256. Since kernel 2.6.4, the limit is dynamically adjustable via "
1324 "I</proc/sys/kernel/pty/max>, and a corresponding file, "
1325 "I</proc/sys/kernel/pty/nr>, indicates how many pseudoterminals are currently "
1326 "in use. For further details on these two files, see B<proc>(5)."
1330 #: build/C/man7/pty.7:103
1332 msgid "BSD pseudoterminals"
1336 #: build/C/man7/pty.7:124
1338 "BSD-style pseudoterminals are provided as precreated pairs, with names of "
1339 "the form I</dev/ptyXY> (master) and I</dev/ttyXY> (slave), where X is a "
1340 "letter from the 16-character set [p-za-e], and Y is a letter from the "
1341 "16-character set [0-9a-f]. (The precise range of letters in these two sets "
1342 "varies across UNIX implementations.) For example, I</dev/ptyp1> and "
1343 "I</dev/ttyp1> constitute a BSD pseudoterminal pair. A process finds an "
1344 "unused pseudoterminal pair by trying to B<open>(2) each pseudoterminal "
1345 "master until an open succeeds. The corresponding pseudoterminal slave "
1346 "(substitute \"tty\" for \"pty\" in the name of the master) can then be "
1351 #: build/C/man7/pty.7:127
1352 msgid "I</dev/ptmx> (UNIX 98 master clone device)"
1356 #: build/C/man7/pty.7:130
1357 msgid "I</dev/pts/*> (UNIX 98 slave devices)"
1361 #: build/C/man7/pty.7:133
1362 msgid "I</dev/pty[p-za-e][0-9a-f]> (BSD master devices)"
1366 #: build/C/man7/pty.7:136
1367 msgid "I</dev/tty[p-za-e][0-9a-f]> (BSD slave devices)"
1371 #: build/C/man7/pty.7:142
1373 "A description of the B<TIOCPKT> B<ioctl>(2), which controls packet mode "
1374 "operation, can be found in B<tty_ioctl>(4)."
1378 #: build/C/man7/pty.7:152
1380 "The BSD B<ioctl>(2) operations B<TIOCSTOP>, B<TIOCSTART>, B<TIOCUCNTL>, and "
1381 "B<TIOCREMOTE> have not been implemented under Linux."
1385 #: build/C/man7/pty.7:161
1387 "B<select>(2), B<setsid>(2), B<forkpty>(3), B<openpty>(3), B<termios>(3), "
1388 "B<pts>(4), B<tty>(4), B<tty_ioctl>(4)"
1392 #: build/C/man5/securetty.5:26
1398 #: build/C/man5/securetty.5:26
1404 #: build/C/man5/securetty.5:29
1405 msgid "securetty - file which lists terminals from which root can log in"
1409 #: build/C/man5/securetty.5:41
1411 "The file I</etc/securetty> is used by (some versions of) B<login>(1). The "
1412 "file contains the device names of terminal lines (one per line, without "
1413 "leading I</dev/>) on which root is allowed to login. See B<login.defs>(5) "
1414 "if you use the shadow suite."
1418 #: build/C/man5/securetty.5:43
1419 msgid "I</etc/securetty>"
1423 #: build/C/man5/securetty.5:46
1424 msgid "B<login>(1), B<login.defs>(5)"
1428 #: build/C/man3/tcgetsid.3:25
1434 #: build/C/man3/tcgetsid.3:25
1440 #: build/C/man3/tcgetsid.3:28
1441 msgid "tcgetsid - get session ID"
1445 #: build/C/man3/tcgetsid.3:30
1446 msgid "B<#define _XOPEN_SOURCE 500> /* See feature_test_macros(7) */"
1450 #: build/C/man3/tcgetsid.3:32 build/C/man4/tty_ioctl.4:13
1451 msgid "B<#include E<lt>termios.hE<gt>>"
1455 #: build/C/man3/tcgetsid.3:34
1456 msgid "B<pid_t tcgetsid(int >I<fd>B<);>"
1460 #: build/C/man3/tcgetsid.3:42
1462 "The function B<tcgetsid>() returns the session ID of the current session "
1463 "that has the terminal associated to I<fd> as controlling terminal. This "
1464 "terminal must be the controlling terminal of the calling process."
1468 #: build/C/man3/tcgetsid.3:52
1470 "When I<fd> refers to the controlling terminal of our session, the function "
1471 "B<tcgetsid>() will return the session ID of this session. Otherwise, -1 is "
1472 "returned, and I<errno> is set appropriately."
1476 #: build/C/man3/tcgetsid.3:62
1478 "The calling process does not have a controlling terminal, or it has one but "
1479 "it is not described by I<fd>."
1483 #: build/C/man3/tcgetsid.3:65
1484 msgid "B<tcgetsid>() is provided in glibc since version 2.1."
1488 #: build/C/man3/tcgetsid.3:70
1489 msgid "The B<tcgetsid>() function is thread-safe."
1493 #: build/C/man3/tcgetsid.3:78
1495 "This function is implemented via the B<TIOCGSID> B<ioctl>(2), present since "
1500 #: build/C/man3/tcgetsid.3:80
1501 msgid "B<getsid>(2)"
1505 #: build/C/man5/termcap.5:31
1511 #: build/C/man5/termcap.5:31
1517 #: build/C/man5/termcap.5:34
1518 msgid "termcap - terminal capability database"
1522 #: build/C/man5/termcap.5:41
1524 "The termcap database is an obsolete facility for describing the capabilities "
1525 "of character-cell terminals and printers. It is retained only for "
1526 "capability with old programs; new ones should use the B<terminfo>(5) "
1527 "database and associated libraries."
1531 #: build/C/man5/termcap.5:54
1533 "I</etc/termcap> is an ASCII file (the database master) that lists the "
1534 "capabilities of many different types of terminals. Programs can read "
1535 "termcap to find the particular escape codes needed to control the visual "
1536 "attributes of the terminal actually in use. (Other aspects of the terminal "
1537 "are handled by B<stty>(1).) The termcap database is indexed on the B<TERM> "
1538 "environment variable."
1542 #: build/C/man5/termcap.5:60
1544 "Termcap entries must be defined on a single logical line, with \\(aq\\e\\(aq "
1545 "used to suppress the newline. Fields are separated by \\(aq:\\(aq. The "
1546 "first field of each entry starts at the left-hand margin, and contains a "
1547 "list of names for the terminal, separated by \\(aq|\\(aq."
1551 #: build/C/man5/termcap.5:65
1553 "The first subfield may (in BSD termcap entries from versions 4.3 and prior) "
1554 "contain a short name consisting of two characters. This short name may "
1555 "consist of capital or small letters. In 4.4BSD termcap entries this field "
1560 #: build/C/man5/termcap.5:78
1562 "The second subfield (first, in the newer 4.4BSD format) contains the name "
1563 "used by the environment variable B<TERM>. It should be spelled in lowercase "
1564 "letters. Selectable hardware capabilities should be marked by appending a "
1565 "hyphen and a suffix to this name. See below for an example. Usual suffixes "
1566 "are w (more than 80 characters wide), am (automatic margins), nam (no "
1567 "automatic margins), and rv (reverse video display). The third subfield "
1568 "contains a long and descriptive name for this termcap entry."
1572 #: build/C/man5/termcap.5:81
1574 "Subsequent fields contain the terminal capabilities; any continued "
1575 "capability lines must be indented one tab from the left margin."
1579 #: build/C/man5/termcap.5:86
1581 "Although there is no defined order, it is suggested to write first boolean, "
1582 "then numeric, and then string capabilities, each sorted alphabetically "
1583 "without looking at lower or upper spelling. Capabilities of similar "
1584 "functions can be written in one line."
1588 #: build/C/man5/termcap.5:89
1590 msgid "Example for:\n"
1594 #: build/C/man5/termcap.5:95
1597 "Head line: vt|vt101|DEC VT 101 terminal in 80 character mode:\\e\n"
1598 "Head line: Vt|vt101-w|DEC VT 101 terminal in (wide) 132 character mode:\\e\n"
1599 "Boolean: :bs:\\e\n"
1600 "Numeric: :co#80:\\e\n"
1601 "String: :sr=\\eE[H:\\e\n"
1605 #: build/C/man5/termcap.5:96
1607 msgid "Boolean capabilities"
1611 #: build/C/man5/termcap.5:125
1614 "5i\tPrinter will not echo on screen\n"
1615 "am\tAutomatic margins which means automatic line wrap\n"
1616 "bs\tControl-H (8 dec.) performs a backspace\n"
1617 "bw\tBackspace on left margin wraps to previous line and right margin\n"
1618 "da\tDisplay retained above screen\n"
1619 "db\tDisplay retained below screen\n"
1620 "eo\tA space erases all characters at cursor position\n"
1621 "es\tEscape sequences and special characters work in status line\n"
1622 "gn\tGeneric device\n"
1623 "hc\tThis is a hardcopy terminal\n"
1624 "HC\tThe cursor is hard to see when not on bottom line\n"
1625 "hs\tHas a status line\n"
1626 "hz\tHazeltine bug, the terminal can not print tilde characters\n"
1627 "in\tTerminal inserts null bytes, not spaces, to fill whitespace\n"
1628 "km\tTerminal has a meta key\n"
1629 "mi\tCursor movement works in insert mode\n"
1630 "ms\tCursor movement works in standout/underline mode\n"
1631 "NP\tNo pad character\n"
1632 "NR\tti does not reverse te\n"
1633 "nx\tNo padding, must use XON/XOFF\n"
1634 "os\tTerminal can overstrike\n"
1635 "ul\tTerminal underlines although it can not overstrike\n"
1636 "xb\tBeehive glitch, f1 sends ESCAPE, f2 sends B<^C>\n"
1637 "xn\tNewline/wraparound glitch\n"
1638 "xo\tTerminal uses xon/xoff protocol\n"
1639 "xs\tText typed over standout text will be displayed in standout\n"
1640 "xt\tTeleray glitch, destructive tabs and odd standout mode\n"
1644 #: build/C/man5/termcap.5:126
1646 msgid "Numeric capabilities"
1650 #: build/C/man5/termcap.5:147
1653 "co\tNumber of columns\n"
1654 "dB\tDelay in milliseconds for backspace on hardcopy terminals\n"
1655 "dC\tDelay in milliseconds for carriage return on hardcopy terminals\n"
1656 "dF\tDelay in milliseconds for form feed on hardcopy terminals\n"
1657 "dN\tDelay in milliseconds for new line on hardcopy terminals\n"
1658 "dT\tDelay in milliseconds for tabulator stop on hardcopy terminals\n"
1659 "dV\tDelay in milliseconds for vertical tabulator stop on\n"
1660 "\thardcopy terminals\n"
1661 "it\tDifference between tab positions\n"
1662 "lh\tHeight of soft labels\n"
1663 "lm\tLines of memory\n"
1664 "lw\tWidth of soft labels\n"
1665 "li\tNumber of lines\n"
1666 "Nl\tNumber of soft labels\n"
1667 "pb\tLowest baud rate which needs padding\n"
1668 "sg\tStandout glitch\n"
1669 "ug\tUnderline glitch\n"
1670 "vt\tvirtual terminal number\n"
1671 "ws\tWidth of status line if different from screen width\n"
1675 #: build/C/man5/termcap.5:148
1677 msgid "String capabilities"
1681 #: build/C/man5/termcap.5:379
1684 "!1\tshifted save key\n"
1685 "!2\tshifted suspend key\n"
1686 "!3\tshifted undo key\n"
1687 "#1\tshifted help key\n"
1688 "#2\tshifted home key\n"
1689 "#3\tshifted input key\n"
1690 "#4\tshifted cursor left key\n"
1696 "%5\tnext-object key\n"
1699 "%8\tprevious-object key\n"
1701 "%a\tshifted message key\n"
1702 "%b\tshifted move key\n"
1703 "%c\tshifted next key\n"
1704 "%d\tshifted options key\n"
1705 "%e\tshifted previous key\n"
1706 "%f\tshifted print key\n"
1707 "%g\tshifted redo key\n"
1708 "%h\tshifted replace key\n"
1709 "%i\tshifted cursor right key\n"
1710 "%j\tshifted resume key\n"
1711 "&0\tshifted cancel key\n"
1712 "&1\treference key\n"
1720 "&9\tshifted begin key\n"
1721 "*0\tshifted find key\n"
1722 "*1\tshifted command key\n"
1723 "*2\tshifted copy key\n"
1724 "*3\tshifted create key\n"
1725 "*4\tshifted delete character\n"
1726 "*5\tshifted delete line\n"
1728 "*7\tshifted end key\n"
1729 "*8\tshifted clear line key\n"
1730 "*9\tshifted exit key\n"
1739 "@8\tenter/send key\n"
1741 "al\tInsert one line\n"
1742 "AL\tInsert %1 lines\n"
1743 "ac\tPairs of block graphic characters to map alternate character set\n"
1744 "ae\tEnd alternative character set\n"
1745 "as\tStart alternative character set for block graphic characters\n"
1746 "bc\tBackspace, if not B<^H>\n"
1748 "bt\tMove to previous tab stop\n"
1749 "cb\tClear from beginning of line to cursor\n"
1750 "cc\tDummy command character\n"
1751 "cd\tClear to end of screen\n"
1752 "ce\tClear to end of line\n"
1753 "ch\tMove cursor horizontally only to column %1\n"
1754 "cl\tClear screen and cursor home\n"
1755 "cm\tCursor move to row %1 and column %2 (on screen)\n"
1756 "CM\tMove cursor to row %1 and column %2 (in memory)\n"
1757 "cr\tCarriage return\n"
1758 "cs\tScroll region from line %1 to %2\n"
1760 "cv\tMove cursor vertically only to line %1\n"
1761 "dc\tDelete one character\n"
1762 "DC\tDelete %1 characters\n"
1763 "dl\tDelete one line\n"
1764 "DL\tDelete %1 lines\n"
1765 "dm\tBegin delete mode\n"
1766 "do\tCursor down one line\n"
1767 "DO\tCursor down #1 lines\n"
1768 "ds\tDisable status line\n"
1769 "eA\tEnable alternate character set\n"
1770 "ec\tErase %1 characters starting at cursor\n"
1771 "ed\tEnd delete mode\n"
1772 "ei\tEnd insert mode\n"
1773 "ff\tFormfeed character on hardcopy terminals\n"
1774 "fs\tReturn character to its position before going to status line\n"
1775 "F1\tThe string sent by function key f11\n"
1776 "F2\tThe string sent by function key f12\n"
1777 "F3\tThe string sent by function key f13\n"
1779 "F9\tThe string sent by function key f19\n"
1780 "FA\tThe string sent by function key f20\n"
1781 "FB\tThe string sent by function key f21\n"
1783 "FZ\tThe string sent by function key f45\n"
1784 "Fa\tThe string sent by function key f46\n"
1785 "Fb\tThe string sent by function key f47\n"
1787 "Fr\tThe string sent by function key f63\n"
1788 "hd\tMove cursor a half line down\n"
1790 "hu\tMove cursor a half line up\n"
1791 "i1\tInitialization string 1 at login\n"
1792 "i3\tInitialization string 3 at login\n"
1793 "is\tInitialization string 2 at login\n"
1794 "ic\tInsert one character\n"
1795 "IC\tInsert %1 characters\n"
1796 "if\tInitialization file\n"
1797 "im\tBegin insert mode\n"
1798 "ip\tInsert pad time and needed special characters after insert\n"
1799 "iP\tInitialization program\n"
1800 "K1\tupper left key on keypad\n"
1801 "K2\tcenter key on keypad\n"
1802 "K3\tupper right key on keypad\n"
1803 "K4\tbottom left key on keypad\n"
1804 "K5\tbottom right key on keypad\n"
1805 "k0\tFunction key 0\n"
1806 "k1\tFunction key 1\n"
1807 "k2\tFunction key 2\n"
1808 "k3\tFunction key 3\n"
1809 "k4\tFunction key 4\n"
1810 "k5\tFunction key 5\n"
1811 "k6\tFunction key 6\n"
1812 "k7\tFunction key 7\n"
1813 "k8\tFunction key 8\n"
1814 "k9\tFunction key 9\n"
1815 "k;\tFunction key 10\n"
1816 "ka\tClear all tabs key\n"
1817 "kA\tInsert line key\n"
1818 "kb\tBackspace key\n"
1819 "kB\tBack tab stop\n"
1820 "kC\tClear screen key\n"
1821 "kd\tCursor down key\n"
1822 "kD\tKey for delete character under cursor\n"
1823 "ke\tturn keypad off\n"
1824 "kE\tKey for clear to end of line\n"
1825 "kF\tKey for scrolling forward/down\n"
1826 "kh\tCursor home key\n"
1827 "kH\tCursor hown down key\n"
1828 "kI\tInsert character/Insert mode key\n"
1829 "kl\tCursor left key\n"
1830 "kL\tKey for delete line\n"
1831 "kM\tKey for exit insert mode\n"
1832 "kN\tKey for next page\n"
1833 "kP\tKey for previous page\n"
1834 "kr\tCursor right key\n"
1835 "kR\tKey for scrolling backward/up\n"
1836 "ks\tTurn keypad on\n"
1837 "kS\tClear to end of screen key\n"
1838 "kt\tClear this tab key\n"
1839 "kT\tSet tab here key\n"
1840 "ku\tCursor up key\n"
1841 "l0\tLabel of zeroth function key, if not f0\n"
1842 "l1\tLabel of first function key, if not f1\n"
1843 "l2\tLabel of first function key, if not f2\n"
1845 "la\tLabel of tenth function key, if not f10\n"
1846 "le\tCursor left one character\n"
1847 "ll\tMove cursor to lower left corner\n"
1848 "LE\tCursor left %1 characters\n"
1849 "LF\tTurn soft labels off\n"
1850 "LO\tTurn soft labels on\n"
1851 "mb\tStart blinking\n"
1852 "MC\tClear soft margins\n"
1853 "md\tStart bold mode\n"
1854 "me\tEnd all mode like so, us, mb, md, and mr\n"
1855 "mh\tStart half bright mode\n"
1856 "mk\tDark mode (Characters invisible)\n"
1857 "ML\tSet left soft margin\n"
1858 "mm\tPut terminal in meta mode\n"
1859 "mo\tPut terminal out of meta mode\n"
1860 "mp\tTurn on protected attribute\n"
1861 "mr\tStart reverse mode\n"
1862 "MR\tSet right soft margin\n"
1863 "nd\tCursor right one character\n"
1864 "nw\tCarriage return command\n"
1865 "pc\tPadding character\n"
1866 "pf\tTurn printer off\n"
1867 "pk\tProgram key %1 to send string %2 as if typed by user\n"
1868 "pl\tProgram key %1 to execute string %2 in local mode\n"
1869 "pn\tProgram soft label %1 to show string %2\n"
1870 "po\tTurn the printer on\n"
1871 "pO\tTurn the printer on for %1 (E<lt>256) bytes\n"
1872 "ps\tPrint screen contents on printer\n"
1873 "px\tProgram key %1 to send string %2 to computer\n"
1874 "r1\tReset string 1 to set terminal to sane modes\n"
1875 "r2\tReset string 2 to set terminal to sane modes\n"
1876 "r3\tReset string 3 to set terminal to sane modes\n"
1877 "RA\tdisable automatic margins\n"
1878 "rc\tRestore saved cursor position\n"
1879 "rf\tReset string filename\n"
1880 "RF\tRequest for input from terminal\n"
1881 "RI\tCursor right %1 characters\n"
1882 "rp\tRepeat character %1 for %2 times\n"
1883 "rP\tPadding after character sent in replace mode\n"
1884 "rs\tReset string\n"
1885 "RX\tTurn off XON/XOFF flow control\n"
1886 "sa\tSet %1 %2 %3 %4 %5 %6 %7 %8 %9 attributes\n"
1887 "SA\tenable automatic margins\n"
1888 "sc\tSave cursor position\n"
1889 "se\tEnd standout mode\n"
1890 "sf\tNormal scroll one line\n"
1891 "SF\tNormal scroll %1 lines\n"
1892 "so\tStart standout mode\n"
1893 "sr\tReverse scroll\n"
1894 "SR\tscroll back %1 lines\n"
1895 "st\tSet tabulator stop in all rows at current column\n"
1896 "SX\tTurn on XON/XOFF flow control\n"
1897 "ta\tmove to next hardware tab\n"
1898 "tc\tRead in terminal description from another entry\n"
1899 "te\tEnd program that uses cursor motion\n"
1900 "ti\tBegin program that uses cursor motion\n"
1901 "ts\tMove cursor to column %1 of status line\n"
1902 "uc\tUnderline character under cursor and move cursor right\n"
1903 "ue\tEnd underlining\n"
1904 "up\tCursor up one line\n"
1905 "UP\tCursor up %1 lines\n"
1906 "us\tStart underlining\n"
1907 "vb\tVisible bell\n"
1908 "ve\tNormal cursor visible\n"
1909 "vi\tCursor invisible\n"
1910 "vs\tStandout cursor\n"
1911 "wi\tSet window from line %1 to %2 and column %3 to %4\n"
1912 "XF\tXOFF character if not B<^S>\n"
1916 #: build/C/man5/termcap.5:382
1918 "There are several ways of defining the control codes for string "
1923 #: build/C/man5/termcap.5:385
1925 "Every normal character represents itself, except \\(aq^\\(aq, \\(aq\\e\\(aq, "
1930 #: build/C/man5/termcap.5:388
1931 msgid "A B<^x> means Control-x. Control-A equals 1 decimal."
1935 #: build/C/man5/termcap.5:391
1936 msgid "\\ex means a special code. x can be one of the following characters:"
1940 #: build/C/man5/termcap.5:393
1941 msgid "E Escape (27)"
1945 #: build/C/man5/termcap.5:395
1946 msgid "n Linefeed (10)"
1950 #: build/C/man5/termcap.5:397
1951 msgid "r Carriage return (13)"
1955 #: build/C/man5/termcap.5:399
1956 msgid "t Tabulation (9)"
1960 #: build/C/man5/termcap.5:401
1961 msgid "b Backspace (8)"
1965 #: build/C/man5/termcap.5:403
1966 msgid "f Form feed (12)"
1970 #: build/C/man5/termcap.5:406
1971 msgid "0 Null character. A \\exxx specifies the octal character xxx."
1975 #: build/C/man5/termcap.5:407
1981 #: build/C/man5/termcap.5:409
1982 msgid "Increments parameters by one."
1986 #: build/C/man5/termcap.5:409
1992 #: build/C/man5/termcap.5:411
1993 msgid "Single parameter capability"
1997 #: build/C/man5/termcap.5:411
2003 #: build/C/man5/termcap.5:413
2004 msgid "Add value of next character to this parameter and do binary output"
2008 #: build/C/man5/termcap.5:413
2014 #: build/C/man5/termcap.5:415
2015 msgid "Do ASCII output of this parameter with a field with of 2"
2019 #: build/C/man5/termcap.5:415
2025 #: build/C/man5/termcap.5:417
2026 msgid "Do ASCII output of this parameter with a field with of 3"
2030 #: build/C/man5/termcap.5:417
2036 #: build/C/man5/termcap.5:419
2037 msgid "Print a \\(aq%\\(aq"
2041 #: build/C/man5/termcap.5:424
2043 "If you use binary output, then you should avoid the null character "
2044 "(\\(aq\\e0\\(aq) because it terminates the string. You should reset "
2045 "tabulator expansion if a tabulator can be the binary output of a parameter."
2049 #: build/C/man5/termcap.5:424
2055 #: build/C/man5/termcap.5:427
2057 "The above metacharacters for parameters may be wrong, they document Minix "
2058 "termcap which may not be compatible with Linux termcap."
2062 #: build/C/man5/termcap.5:429
2063 msgid "The block graphic characters can be specified by three string capabilities:"
2067 #: build/C/man5/termcap.5:429
2073 #: build/C/man5/termcap.5:431
2074 msgid "start the alternative charset"
2078 #: build/C/man5/termcap.5:431
2084 #: build/C/man5/termcap.5:433
2089 #: build/C/man5/termcap.5:433
2095 #: build/C/man5/termcap.5:437
2097 "pairs of characters. The first character is the name of the block graphic "
2098 "symbol and the second characters is its definition."
2102 #: build/C/man5/termcap.5:439
2103 msgid "The following names are available:"
2107 #: build/C/man5/termcap.5:466
2110 "+\tright arrow (E<gt>)\n"
2111 ",\tleft arrow (E<lt>)\n"
2112 "\\&.\tdown arrow (v)\n"
2113 "0\tfull square (#)\n"
2115 "-\tupper arrow (^)\n"
2116 "\\&'\trhombus (+)\n"
2117 "a\tchess board (:)\n"
2119 "g\tplus-minus (#)\n"
2121 "j\tright bottom corner (+)\n"
2122 "k\tright upper corner (+)\n"
2123 "l\tleft upper corner (+)\n"
2124 "m\tleft bottom corner (+)\n"
2126 "o\tupper horizontal line (-)\n"
2127 "q\tmiddle horizontal line (-)\n"
2128 "s\tbottom horizontal line (_)\n"
2130 "u\tright tee (+)\n"
2131 "v\tbottom tee (+)\n"
2132 "w\tnormal tee (+)\n"
2133 "x\tvertical line (|)\n"
2134 "~\tparagraph (???)\n"
2138 #: build/C/man5/termcap.5:470
2140 "The values in parentheses are suggested defaults which are used by curses, "
2141 "if the capabilities are missing."
2145 #: build/C/man5/termcap.5:474
2146 msgid "B<ncurses>(3), B<termcap>(3), B<terminfo>(5)"
2150 #: build/C/man7/termio.7:27
2156 #: build/C/man7/termio.7:27
2162 #: build/C/man7/termio.7:30
2163 msgid "termio - System V terminal driver interface"
2167 #: build/C/man7/termio.7:38
2169 "B<termio> is the name of the old System V terminal driver interface. This "
2170 "interface defined a I<termio> structure used to store terminal settings, and "
2171 "a range of B<ioctl>(2) operations to get and set terminal attributes."
2175 #: build/C/man7/termio.7:53
2177 "The B<termio> interface is now obsolete: POSIX.1-1990 standardized a "
2178 "modified version of this interface, under the name B<termios>. The POSIX.1 "
2179 "data structure differs slightly from the System V version, and POSIX.1 "
2180 "defined a suite of functions to replace the various B<ioctl>(2) operations "
2181 "that existed in System V. (This was done because B<ioctl>(2) was "
2182 "unstandardized, and its variadic third argument does not allow argument type "
2187 #: build/C/man7/termio.7:59
2189 "If you're looking for page called \"termio\", then you can probably find "
2190 "most of the information that you seek in either B<termios>(3) or "
2195 #: build/C/man7/termio.7:66
2197 "B<reset>(1), B<setterm>(1), B<stty>(1), B<termios>(3), B<tty>(4), "
2202 #: build/C/man3/termios.3:40
2208 #: build/C/man3/termios.3:40
2214 #: build/C/man3/termios.3:45
2216 "termios, tcgetattr, tcsetattr, tcsendbreak, tcdrain, tcflush, tcflow, "
2217 "cfmakeraw, cfgetospeed, cfgetispeed, cfsetispeed, cfsetospeed, cfsetspeed - "
2218 "get and set terminal attributes, line control, get and set baud rate"
2222 #: build/C/man3/termios.3:48
2224 msgid "B<#include E<lt>termios.hE<gt>>\n"
2228 #: build/C/man3/termios.3:52
2230 msgid "B<int tcgetattr(int >I<fd>B<, struct termios *>I<termios_p>B<);>\n"
2234 #: build/C/man3/termios.3:55
2237 "B<int tcsetattr(int >I<fd>B<, int >I<optional_actions>B<,>\n"
2238 "B< const struct termios *>I<termios_p>B<);>\n"
2242 #: build/C/man3/termios.3:57
2244 msgid "B<int tcsendbreak(int >I<fd>B<, int >I<duration>B<);>\n"
2248 #: build/C/man3/termios.3:59
2250 msgid "B<int tcdrain(int >I<fd>B<);>\n"
2254 #: build/C/man3/termios.3:61
2256 msgid "B<int tcflush(int >I<fd>B<, int >I<queue_selector>B<);>\n"
2260 #: build/C/man3/termios.3:63
2262 msgid "B<int tcflow(int >I<fd>B<, int >I<action>B<);>\n"
2266 #: build/C/man3/termios.3:65
2268 msgid "B<void cfmakeraw(struct termios *>I<termios_p>B<);>\n"
2272 #: build/C/man3/termios.3:67
2274 msgid "B<speed_t cfgetispeed(const struct termios *>I<termios_p>B<);>\n"
2278 #: build/C/man3/termios.3:69
2280 msgid "B<speed_t cfgetospeed(const struct termios *>I<termios_p>B<);>\n"
2284 #: build/C/man3/termios.3:71
2286 msgid "B<int cfsetispeed(struct termios *>I<termios_p>B<, speed_t >I<speed>B<);>\n"
2290 #: build/C/man3/termios.3:73
2292 msgid "B<int cfsetospeed(struct termios *>I<termios_p>B<, speed_t >I<speed>B<);>\n"
2296 #: build/C/man3/termios.3:75
2298 msgid "B<int cfsetspeed(struct termios *>I<termios_p>B<, speed_t >I<speed>B<);>\n"
2302 #: build/C/man3/termios.3:85
2303 msgid "B<cfsetspeed>(), B<cfmakeraw>(): _BSD_SOURCE"
2307 #: build/C/man3/termios.3:88
2309 "The termios functions describe a general terminal interface that is provided "
2310 "to control asynchronous communications ports."
2314 #: build/C/man3/termios.3:88
2316 msgid "The termios structure"
2320 #: build/C/man3/termios.3:93
2322 "Many of the functions described here have a I<termios_p> argument that is a "
2323 "pointer to a I<termios> structure. This structure contains at least the "
2324 "following members:"
2328 #: build/C/man3/termios.3:101
2331 "tcflag_t c_iflag; /* input modes */\n"
2332 "tcflag_t c_oflag; /* output modes */\n"
2333 "tcflag_t c_cflag; /* control modes */\n"
2334 "tcflag_t c_lflag; /* local modes */\n"
2335 "cc_t c_cc[NCCS]; /* special characters */\n"
2339 #: build/C/man3/termios.3:110
2341 "The values that may be assigned to these fields are described below. In the "
2342 "case of the first four bit-mask fields, the definitions of some of the "
2343 "associated flags that may be set are exposed only if a specific feature test "
2344 "macro (see B<feature_test_macros>(7)) is defined, as noted in brackets "
2349 #: build/C/man3/termios.3:115
2351 "In the descriptions below, \"not in POSIX\" means that the value is not "
2352 "specified in POSIX.1-2001, and \"XSI\" means that the value is specified in "
2353 "POSIX.1-2001 as part of the XSI extension."
2357 #: build/C/man3/termios.3:117
2358 msgid "I<c_iflag> flag constants:"
2362 #: build/C/man3/termios.3:117
2368 #: build/C/man3/termios.3:120
2369 msgid "Ignore BREAK condition on input."
2373 #: build/C/man3/termios.3:120
2379 #: build/C/man3/termios.3:131
2381 "If B<IGNBRK> is set, a BREAK is ignored. If it is not set but B<BRKINT> is "
2382 "set, then a BREAK causes the input and output queues to be flushed, and if "
2383 "the terminal is the controlling terminal of a foreground process group, it "
2384 "will cause a B<SIGINT> to be sent to this foreground process group. When "
2385 "neither B<IGNBRK> nor B<BRKINT> are set, a BREAK reads as a null byte "
2386 "(\\(aq\\e0\\(aq), except when B<PARMRK> is set, in which case it reads as "
2387 "the sequence \\e377 \\e0 \\e0."
2391 #: build/C/man3/termios.3:131
2397 #: build/C/man3/termios.3:134
2398 msgid "Ignore framing errors and parity errors."
2402 #: build/C/man3/termios.3:134
2408 #: build/C/man3/termios.3:141
2410 "If B<IGNPAR> is not set, prefix a character with a parity error or framing "
2411 "error with \\e377 \\e0. If neither B<IGNPAR> nor B<PARMRK> is set, read a "
2412 "character with a parity error or framing error as \\e0."
2416 #: build/C/man3/termios.3:141
2422 #: build/C/man3/termios.3:144
2423 msgid "Enable input parity checking."
2427 #: build/C/man3/termios.3:144
2433 #: build/C/man3/termios.3:147
2434 msgid "Strip off eighth bit."
2438 #: build/C/man3/termios.3:147
2444 #: build/C/man3/termios.3:150
2445 msgid "Translate NL to CR on input."
2449 #: build/C/man3/termios.3:150
2455 #: build/C/man3/termios.3:153
2456 msgid "Ignore carriage return on input."
2460 #: build/C/man3/termios.3:153
2466 #: build/C/man3/termios.3:156
2467 msgid "Translate carriage return to newline on input (unless B<IGNCR> is set)."
2471 #: build/C/man3/termios.3:156
2477 #: build/C/man3/termios.3:159
2478 msgid "(not in POSIX) Map uppercase characters to lowercase on input."
2482 #: build/C/man3/termios.3:159
2488 #: build/C/man3/termios.3:162
2489 msgid "Enable XON/XOFF flow control on output."
2493 #: build/C/man3/termios.3:162
2499 #: build/C/man3/termios.3:166
2501 "(XSI) Typing any character will restart stopped output. (The default is to "
2502 "allow just the START character to restart output.)"
2506 #: build/C/man3/termios.3:166
2512 #: build/C/man3/termios.3:169
2513 msgid "Enable XON/XOFF flow control on input."
2517 #: build/C/man3/termios.3:169
2523 #: build/C/man3/termios.3:173
2525 "(not in POSIX) Ring bell when input queue is full. Linux does not implement "
2526 "this bit, and acts as if it is always set."
2530 #: build/C/man3/termios.3:173
2532 msgid "B<IUTF8> (since Linux 2.6.4)"
2536 #: build/C/man3/termios.3:177
2538 "(not in POSIX) Input is UTF8; this allows character-erase to be correctly "
2539 "performed in cooked mode."
2543 #: build/C/man3/termios.3:180
2544 msgid "I<c_oflag> flag constants:"
2548 #: build/C/man3/termios.3:180
2554 #: build/C/man3/termios.3:183
2555 msgid "Enable implementation-defined output processing."
2559 #: build/C/man3/termios.3:183
2565 #: build/C/man3/termios.3:186
2566 msgid "(not in POSIX) Map lowercase characters to uppercase on output."
2570 #: build/C/man3/termios.3:186
2576 #: build/C/man3/termios.3:189
2577 msgid "(XSI) Map NL to CR-NL on output."
2581 #: build/C/man3/termios.3:189
2587 #: build/C/man3/termios.3:192
2588 msgid "Map CR to NL on output."
2592 #: build/C/man3/termios.3:192
2598 #: build/C/man3/termios.3:195
2599 msgid "Don't output CR at column 0."
2603 #: build/C/man3/termios.3:195
2609 #: build/C/man3/termios.3:198
2610 msgid "Don't output CR."
2614 #: build/C/man3/termios.3:198
2620 #: build/C/man3/termios.3:201
2621 msgid "Send fill characters for a delay, rather than using a timed delay."
2625 #: build/C/man3/termios.3:201
2631 #: build/C/man3/termios.3:206
2633 "Fill character is ASCII DEL (0177). If unset, fill character is ASCII NUL "
2634 "(\\(aq\\e0\\(aq). (Not implemented on Linux.)"
2638 #: build/C/man3/termios.3:206
2644 #: build/C/man3/termios.3:216
2646 "Newline delay mask. Values are B<NL0> and B<NL1>. [requires B<_BSD_SOURCE> "
2647 "or B<_SVID_SOURCE> or B<_XOPEN_SOURCE>]"
2651 #: build/C/man3/termios.3:216
2657 #: build/C/man3/termios.3:226
2659 "Carriage return delay mask. Values are B<CR0>, B<CR1>, B<CR2>, or B<CR3>. "
2660 "[requires B<_BSD_SOURCE> or B<_SVID_SOURCE> or B<_XOPEN_SOURCE>]"
2664 #: build/C/man3/termios.3:226
2670 #: build/C/man3/termios.3:238
2672 "Horizontal tab delay mask. Values are B<TAB0>, B<TAB1>, B<TAB2>, B<TAB3> "
2673 "(or B<XTABS>). A value of TAB3, that is, XTABS, expands tabs to spaces "
2674 "(with tab stops every eight columns). [requires B<_BSD_SOURCE> or "
2675 "B<_SVID_SOURCE> or B<_XOPEN_SOURCE>]"
2679 #: build/C/man3/termios.3:238
2685 #: build/C/man3/termios.3:249
2687 "Backspace delay mask. Values are B<BS0> or B<BS1>. (Has never been "
2688 "implemented.) [requires B<_BSD_SOURCE> or B<_SVID_SOURCE> or "
2693 #: build/C/man3/termios.3:249
2699 #: build/C/man3/termios.3:253
2700 msgid "Vertical tab delay mask. Values are B<VT0> or B<VT1>."
2704 #: build/C/man3/termios.3:253
2710 #: build/C/man3/termios.3:263
2712 "Form feed delay mask. Values are B<FF0> or B<FF1>. [requires "
2713 "B<_BSD_SOURCE> or B<_SVID_SOURCE> or B<_XOPEN_SOURCE>]"
2717 #: build/C/man3/termios.3:265
2718 msgid "I<c_cflag> flag constants:"
2722 #: build/C/man3/termios.3:265
2728 #: build/C/man3/termios.3:272
2730 "(not in POSIX) Baud speed mask (4+1 bits). [requires B<_BSD_SOURCE> or "
2735 #: build/C/man3/termios.3:272
2741 #: build/C/man3/termios.3:280
2743 "(not in POSIX) Extra baud speed mask (1 bit), included in B<CBAUD>. "
2744 "[requires B<_BSD_SOURCE> or B<_SVID_SOURCE>]"
2748 #: build/C/man3/termios.3:296
2750 "(POSIX says that the baud speed is stored in the I<termios> structure "
2751 "without specifying where precisely, and provides B<cfgetispeed>() and "
2752 "B<cfsetispeed>() for getting at it. Some systems use bits selected by "
2753 "B<CBAUD> in I<c_cflag>, other systems use separate fields, for example, "
2754 "I<sg_ispeed> and I<sg_ospeed>.)"
2758 #: build/C/man3/termios.3:296
2764 #: build/C/man3/termios.3:300
2765 msgid "Character size mask. Values are B<CS5>, B<CS6>, B<CS7>, or B<CS8>."
2769 #: build/C/man3/termios.3:300
2775 #: build/C/man3/termios.3:303
2776 msgid "Set two stop bits, rather than one."
2780 #: build/C/man3/termios.3:303
2786 #: build/C/man3/termios.3:306
2787 msgid "Enable receiver."
2791 #: build/C/man3/termios.3:306
2797 #: build/C/man3/termios.3:309
2798 msgid "Enable parity generation on output and parity checking for input."
2802 #: build/C/man3/termios.3:309
2808 #: build/C/man3/termios.3:313
2810 "If set, then parity for input and output is odd; otherwise even parity is "
2815 #: build/C/man3/termios.3:313
2821 #: build/C/man3/termios.3:316
2822 msgid "Lower modem control lines after last process closes the device (hang up)."
2826 #: build/C/man3/termios.3:316
2832 #: build/C/man3/termios.3:319
2833 msgid "Ignore modem control lines."
2837 #: build/C/man3/termios.3:319
2843 #: build/C/man3/termios.3:323
2845 "(not in POSIX) Block output from a noncurrent shell layer. For use by "
2846 "B<shl> (shell layers). (Not implemented on Linux.)"
2850 #: build/C/man3/termios.3:323
2856 #: build/C/man3/termios.3:339
2858 "(not in POSIX) Mask for input speeds. The values for the B<CIBAUD> bits are "
2859 "the same as the values for the B<CBAUD> bits, shifted left B<IBSHIFT> bits. "
2860 "[requires B<_BSD_SOURCE> or B<_SVID_SOURCE>] (Not implemented on Linux.)"
2864 #: build/C/man3/termios.3:339
2870 #: build/C/man3/termios.3:352
2872 "(not in POSIX) Use \"stick\" (mark/space) parity (supported on certain "
2873 "serial devices): if B<PARODD> is set, the parity bit is always 1; if "
2874 "B<PARODD> is not set, then the parity bit is always 0. [requires "
2875 "B<_BSD_SOURCE> or B<_SVID_SOURCE>]"
2879 #: build/C/man3/termios.3:352
2885 #: build/C/man3/termios.3:359
2887 "(not in POSIX) Enable RTS/CTS (hardware) flow control. [requires "
2888 "B<_BSD_SOURCE> or B<_SVID_SOURCE>]"
2892 #: build/C/man3/termios.3:361
2893 msgid "I<c_lflag> flag constants:"
2897 #: build/C/man3/termios.3:361
2903 #: build/C/man3/termios.3:365
2905 "When any of the characters INTR, QUIT, SUSP, or DSUSP are received, generate "
2906 "the corresponding signal."
2910 #: build/C/man3/termios.3:365
2916 #: build/C/man3/termios.3:368
2917 msgid "Enable canonical mode (described below)."
2921 #: build/C/man3/termios.3:368
2926 #. glibc is probably now wrong to allow
2932 #: build/C/man3/termios.3:386
2934 "(not in POSIX; not supported under Linux) If B<ICANON> is also set, "
2935 "terminal is uppercase only. Input is converted to lowercase, except for "
2936 "characters preceded by \\e. On output, uppercase characters are preceded by "
2937 "\\e and lowercase characters are converted to uppercase. [requires "
2938 "B<_BSD_SOURCE> or B<_SVID_SOURCE> or B<_XOPEN_SOURCE>]"
2942 #: build/C/man3/termios.3:386
2948 #: build/C/man3/termios.3:389
2949 msgid "Echo input characters."
2953 #: build/C/man3/termios.3:389
2959 #: build/C/man3/termios.3:393
2961 "If B<ICANON> is also set, the ERASE character erases the preceding input "
2962 "character, and WERASE erases the preceding word."
2966 #: build/C/man3/termios.3:393
2972 #: build/C/man3/termios.3:396
2973 msgid "If B<ICANON> is also set, the KILL character erases the current line."
2977 #: build/C/man3/termios.3:396
2983 #: build/C/man3/termios.3:399
2984 msgid "If B<ICANON> is also set, echo the NL character even if ECHO is not set."
2988 #: build/C/man3/termios.3:399
2994 #: build/C/man3/termios.3:412
2996 "(not in POSIX) If B<ECHO> is also set, terminal special characters other "
2997 "than TAB, NL, START, and STOP are echoed as B<^X>, where X is the character "
2998 "with ASCII code 0x40 greater than the special character. For example, "
2999 "character 0x08 (BS) is echoed as B<^H>. [requires B<_BSD_SOURCE> or "
3004 #: build/C/man3/termios.3:412
3010 #: build/C/man3/termios.3:420
3012 "(not in POSIX) If B<ICANON> and B<ECHO> are also set, characters are printed "
3013 "as they are being erased. [requires B<_BSD_SOURCE> or B<_SVID_SOURCE>]"
3017 #: build/C/man3/termios.3:420
3023 #: build/C/man3/termios.3:428
3025 "(not in POSIX) If B<ICANON> is also set, KILL is echoed by erasing each "
3026 "character on the line, as specified by B<ECHOE> and B<ECHOPRT>. [requires "
3027 "B<_BSD_SOURCE> or B<_SVID_SOURCE>]"
3031 #: build/C/man3/termios.3:428
3037 #: build/C/man3/termios.3:432
3039 "(not in POSIX) Echo only when a process is reading. (Not implemented on "
3044 #: build/C/man3/termios.3:432
3050 #: build/C/man3/termios.3:442
3052 "(not in POSIX; not supported under Linux) Output is being flushed. This "
3053 "flag is toggled by typing the DISCARD character. [requires B<_BSD_SOURCE> "
3054 "or B<_SVID_SOURCE>]"
3058 #: build/C/man3/termios.3:442
3063 #. Stevens lets SUSP only flush the input queue
3065 #: build/C/man3/termios.3:447
3067 "Disable flushing the input and output queues when generating signals for the "
3068 "INT, QUIT, and SUSP characters."
3072 #: build/C/man3/termios.3:447
3078 #: build/C/man3/termios.3:453
3080 "Send the B<SIGTTOU> signal to the process group of a background process "
3081 "which tries to write to its controlling terminal."
3085 #: build/C/man3/termios.3:453
3091 #: build/C/man3/termios.3:464
3093 "(not in POSIX; not supported under Linux) All characters in the input queue "
3094 "are reprinted when the next character is read. (B<bash>(1) handles "
3095 "typeahead this way.) [requires B<_BSD_SOURCE> or B<_SVID_SOURCE>]"
3099 #: build/C/man3/termios.3:464
3105 #: build/C/man3/termios.3:470
3107 "Enable implementation-defined input processing. This flag, as well as "
3108 "B<ICANON> must be enabled for the special characters EOL2, LNEXT, REPRINT, "
3109 "WERASE to be interpreted, and for the B<IUCLC> flag to be effective."
3113 #: build/C/man3/termios.3:473
3115 "The I<c_cc> array defines the terminal special characters. The symbolic "
3116 "indices (initial values) and meaning are:"
3120 #: build/C/man3/termios.3:473
3126 #: build/C/man3/termios.3:480
3128 "(not in POSIX; not supported under Linux; 017, SI, Ctrl-O) Toggle: "
3129 "start/stop discarding pending output. Recognized when B<IEXTEN> is set, and "
3130 "then not passed as input."
3134 #: build/C/man3/termios.3:480
3140 #: build/C/man3/termios.3:493
3142 "(not in POSIX; not supported under Linux; 031, EM, Ctrl-Y) Delayed suspend "
3143 "character (DSUSP): send B<SIGTSTP> signal when the character is read by the "
3144 "user program. Recognized when B<IEXTEN> and B<ISIG> are set, and the system "
3145 "supports job control, and then not passed as input."
3149 #: build/C/man3/termios.3:493
3155 #: build/C/man3/termios.3:505
3157 "(004, EOT, Ctrl-D) End-of-file character (EOF). More precisely: this "
3158 "character causes the pending tty buffer to be sent to the waiting user "
3159 "program without waiting for end-of-line. If it is the first character of "
3160 "the line, the B<read>(2) in the user program returns 0, which signifies "
3161 "end-of-file. Recognized when B<ICANON> is set, and then not passed as "
3166 #: build/C/man3/termios.3:505
3172 #: build/C/man3/termios.3:512
3174 "(0, NUL) Additional end-of-line character (EOL). Recognized when B<ICANON> "
3179 #: build/C/man3/termios.3:512
3185 #: build/C/man3/termios.3:519
3187 "(not in POSIX; 0, NUL) Yet another end-of-line character (EOL2). "
3188 "Recognized when B<ICANON> is set."
3192 #: build/C/man3/termios.3:519
3198 #: build/C/man3/termios.3:528
3200 "(0177, DEL, rubout, or 010, BS, Ctrl-H, or also #) Erase character "
3201 "(ERASE). This erases the previous not-yet-erased character, but does not "
3202 "erase past EOF or beginning-of-line. Recognized when B<ICANON> is set, and "
3203 "then not passed as input."
3207 #: build/C/man3/termios.3:528
3213 #: build/C/man3/termios.3:538
3215 "(003, ETX, Ctrl-C, or also 0177, DEL, rubout) Interrupt character (INTR). "
3216 "Send a B<SIGINT> signal. Recognized when B<ISIG> is set, and then not "
3221 #: build/C/man3/termios.3:538
3227 #: build/C/man3/termios.3:546
3229 "(025, NAK, Ctrl-U, or Ctrl-X, or also @) Kill character (KILL). This "
3230 "erases the input since the last EOF or beginning-of-line. Recognized when "
3231 "B<ICANON> is set, and then not passed as input."
3235 #: build/C/man3/termios.3:546
3241 #: build/C/man3/termios.3:555
3243 "(not in POSIX; 026, SYN, Ctrl-V) Literal next (LNEXT). Quotes the next "
3244 "input character, depriving it of a possible special meaning. Recognized "
3245 "when B<IEXTEN> is set, and then not passed as input."
3249 #: build/C/man3/termios.3:555
3255 #: build/C/man3/termios.3:558
3256 msgid "Minimum number of characters for noncanonical read (MIN)."
3260 #: build/C/man3/termios.3:558
3266 #: build/C/man3/termios.3:568
3268 "(034, FS, Ctrl-\\e) Quit character (QUIT). Send B<SIGQUIT> signal. "
3269 "Recognized when B<ISIG> is set, and then not passed as input."
3273 #: build/C/man3/termios.3:568
3279 #: build/C/man3/termios.3:577
3281 "(not in POSIX; 022, DC2, Ctrl-R) Reprint unread characters (REPRINT). "
3282 "Recognized when B<ICANON> and B<IEXTEN> are set, and then not passed as "
3287 #: build/C/man3/termios.3:577
3293 #: build/C/man3/termios.3:585
3295 "(021, DC1, Ctrl-Q) Start character (START). Restarts output stopped by the "
3296 "Stop character. Recognized when B<IXON> is set, and then not passed as "
3301 #: build/C/man3/termios.3:585
3307 #: build/C/man3/termios.3:595
3309 "(not in POSIX; not supported under Linux; status request: 024, DC4, "
3310 "Ctrl-T). Status character (STATUS). Display status information at "
3311 "terminal, including state of foreground process and amount of CPU time it "
3312 "has consumed. Also sends a B<SIGINFO> signal (not supported on Linux) to "
3313 "the foreground process group."
3317 #: build/C/man3/termios.3:595
3323 #: build/C/man3/termios.3:603
3325 "(023, DC3, Ctrl-S) Stop character (STOP). Stop output until Start "
3326 "character typed. Recognized when B<IXON> is set, and then not passed as "
3331 #: build/C/man3/termios.3:603
3337 #: build/C/man3/termios.3:613
3339 "(032, SUB, Ctrl-Z) Suspend character (SUSP). Send B<SIGTSTP> signal. "
3340 "Recognized when B<ISIG> is set, and then not passed as input."
3344 #: build/C/man3/termios.3:613
3350 #: build/C/man3/termios.3:620
3352 "(not in POSIX; not supported under Linux; 0, NUL) Switch character "
3353 "(SWTCH). Used in System V to switch shells in I<shell layers>, a "
3354 "predecessor to shell job control."
3358 #: build/C/man3/termios.3:620
3364 #: build/C/man3/termios.3:623
3365 msgid "Timeout in deciseconds for noncanonical read (TIME)."
3369 #: build/C/man3/termios.3:623
3375 #: build/C/man3/termios.3:632
3377 "(not in POSIX; 027, ETB, Ctrl-W) Word erase (WERASE). Recognized when "
3378 "B<ICANON> and B<IEXTEN> are set, and then not passed as input."
3382 #: build/C/man3/termios.3:638
3384 "An individual terminal special character can be disabled by setting the "
3385 "value of the corresponding I<c_cc> element to B<_POSIX_VDISABLE>."
3389 #: build/C/man3/termios.3:654
3391 "The above symbolic subscript values are all different, except that B<VTIME>, "
3392 "B<VMIN> may have the same value as B<VEOL>, B<VEOF>, respectively. In "
3393 "noncanonical mode the special character meaning is replaced by the timeout "
3394 "meaning. For an explanation of B<VMIN> and B<VTIME>, see the description of "
3395 "noncanonical mode below."
3399 #: build/C/man3/termios.3:654
3401 msgid "Retrieving and changing terminal settings"
3405 #: build/C/man3/termios.3:663
3407 "B<tcgetattr>() gets the parameters associated with the object referred by "
3408 "I<fd> and stores them in the I<termios> structure referenced by "
3409 "I<termios_p>. This function may be invoked from a background process; "
3410 "however, the terminal attributes may be subsequently changed by a foreground "
3415 #: build/C/man3/termios.3:669
3417 "B<tcsetattr>() sets the parameters associated with the terminal (unless "
3418 "support is required from the underlying hardware that is not available) from "
3419 "the I<termios> structure referred to by I<termios_p>. I<optional_actions> "
3420 "specifies when the changes take effect:"
3424 #: build/C/man3/termios.3:669
3430 #: build/C/man3/termios.3:671
3431 msgid "the change occurs immediately."
3435 #: build/C/man3/termios.3:671
3437 msgid "B<TCSADRAIN>"
3441 #: build/C/man3/termios.3:677
3443 "the change occurs after all output written to I<fd> has been transmitted. "
3444 "This option should be used when changing parameters that affect output."
3448 #: build/C/man3/termios.3:677
3450 msgid "B<TCSAFLUSH>"
3454 #: build/C/man3/termios.3:682
3456 "the change occurs after all output written to the object referred by I<fd> "
3457 "has been transmitted, and all input that has been received but not read will "
3458 "be discarded before the change is made."
3462 #: build/C/man3/termios.3:682
3464 msgid "Canonical and noncanonical mode"
3468 #: build/C/man3/termios.3:696
3470 "The setting of the B<ICANON> canon flag in I<c_lflag> determines whether the "
3471 "terminal is operating in canonical mode (B<ICANON> set) or noncanonical mode "
3472 "(B<ICANON> unset). By default, B<ICANON> set."
3476 #: build/C/man3/termios.3:698
3477 msgid "In canonical mode:"
3481 #: build/C/man3/termios.3:698 build/C/man3/termios.3:705 build/C/man3/termios.3:767 build/C/man3/termios.3:769 build/C/man3/termios.3:771
3487 #: build/C/man3/termios.3:705
3489 "Input is made available line by line. An input line is available when one "
3490 "of the line delimiters is typed (NL, EOL, EOL2; or EOF at the start of "
3491 "line). Except in the case of EOF, the line delimiter is included in the "
3492 "buffer returned by B<read>(2)."
3496 #: build/C/man3/termios.3:718
3498 "Line editing is enabled (ERASE, KILL; and if the B<IEXTEN> flag is set: "
3499 "WERASE, REPRINT, LNEXT). A B<read>(2) returns at most one line of input; "
3500 "if the B<read>(2) requested fewer bytes than are available in the current "
3501 "line of input, then only as many bytes as requested are read, and the "
3502 "remaining characters will be available for a future B<read>(2)."
3506 #: build/C/man3/termios.3:730
3508 "In noncanonical mode input is available immediately (without the user having "
3509 "to type a line-delimiter character), no input processing is performed, and "
3510 "line editing is disabled. The settings of MIN (I<c_cc[VMIN]>) and TIME "
3511 "(I<c_cc[VTIME]>) determine the circumstances in which a B<read>(2) "
3512 "completes; there are four distinct cases:"
3516 #: build/C/man3/termios.3:730
3518 msgid "MIN == 0, TIME == 0 (polling read)"
3522 #: build/C/man3/termios.3:739
3524 "If data is available, B<read>(2) returns immediately, with the lesser of "
3525 "the number of bytes available, or the number of bytes requested. If no data "
3526 "is available, B<read>(2) returns 0."
3530 #: build/C/man3/termios.3:739
3532 msgid "MIN E<gt> 0, TIME == 0 (blocking read)"
3536 #: build/C/man3/termios.3:744
3538 "B<read>(2) blocks until MIN bytes are available, and returns up to the "
3539 "number of bytes requested."
3543 #: build/C/man3/termios.3:744
3545 msgid "MIN == 0, TIME E<gt> 0 (read with timeout)"
3549 #: build/C/man3/termios.3:759
3551 "TIME specifies the limit for a timer in tenths of a second. The timer is "
3552 "started when B<read>(2) is called. B<read>(2) returns either when at "
3553 "least one byte of data is available, or when the timer expires. If the "
3554 "timer expires without any input becoming available, B<read>(2) returns 0. "
3555 "If data is already available at the time of the call to B<read>(2), the call "
3556 "behaves as though the data was received immediately after the call."
3560 #: build/C/man3/termios.3:759
3562 msgid "MIN E<gt> 0, TIME E<gt> 0 (read with interbyte timeout)"
3566 #: build/C/man3/termios.3:766
3568 "TIME specifies the limit for a timer in tenths of a second. Once an initial "
3569 "byte of input becomes available, the timer is restarted after each further "
3570 "byte is received. B<read>(2) returns when any of the following conditions "
3575 #: build/C/man3/termios.3:769
3576 msgid "MIN bytes have been received."
3580 #: build/C/man3/termios.3:771
3581 msgid "The interbyte timer expires."
3586 #: build/C/man3/termios.3:780
3588 "The number of bytes requested by B<read>(2) has been received. (POSIX does "
3589 "not specify this termination condition, and on some other implementations "
3590 "B<read>(2) does not return in this case.)"
3594 #: build/C/man3/termios.3:787
3596 "Because the timer is started only after the initial byte becomes available, "
3597 "at least one byte will be read. If data is already available at the time of "
3598 "the call to B<read>(2), the call behaves as though the data was received "
3599 "immediately after the call."
3602 #. POSIX.1-2008 XBD 11.1.7
3604 #: build/C/man3/termios.3:806
3606 "POSIX does not specify whether the setting of the B<O_NONBLOCK> file status "
3607 "flag takes precedence over the MIN and TIME settings. If B<O_NONBLOCK> is "
3608 "set, a B<read>(2) in noncanonical mode may return immediately, regardless "
3609 "of the setting of MIN or TIME. Furthermore, if no data is available, POSIX "
3610 "permits a B<read>(2) in noncanonical mode to return either 0, or -1 with "
3611 "I<errno> set to B<EAGAIN>."
3615 #: build/C/man3/termios.3:806
3621 #: build/C/man3/termios.3:815
3623 "B<cfmakeraw>() sets the terminal to something like the \"raw\" mode of the "
3624 "old Version 7 terminal driver: input is available character by character, "
3625 "echoing is disabled, and all special processing of terminal input and output "
3626 "characters is disabled. The terminal attributes are set as follows:"
3630 #: build/C/man3/termios.3:823
3633 " termios_p-E<gt>c_iflag &= ~(IGNBRK | BRKINT | PARMRK | ISTRIP\n"
3634 " | INLCR | IGNCR | ICRNL | IXON);\n"
3635 " termios_p-E<gt>c_oflag &= ~OPOST;\n"
3636 " termios_p-E<gt>c_lflag &= ~(ECHO | ECHONL | ICANON | ISIG | IEXTEN);\n"
3637 " termios_p-E<gt>c_cflag &= ~(CSIZE | PARENB);\n"
3638 " termios_p-E<gt>c_cflag |= CS8;\n"
3642 #: build/C/man3/termios.3:824
3644 msgid "Line control"
3648 #: build/C/man3/termios.3:834
3650 "B<tcsendbreak>() transmits a continuous stream of zero-valued bits for a "
3651 "specific duration, if the terminal is using asynchronous serial data "
3652 "transmission. If I<duration> is zero, it transmits zero-valued bits for at "
3653 "least 0.25 seconds, and not more that 0.5 seconds. If I<duration> is not "
3654 "zero, it sends zero-valued bits for some implementation-defined length of "
3659 #: build/C/man3/termios.3:838
3661 "If the terminal is not using asynchronous serial data transmission, "
3662 "B<tcsendbreak>() returns without taking any action."
3666 #: build/C/man3/termios.3:843
3668 "B<tcdrain>() waits until all output written to the object referred to by "
3669 "I<fd> has been transmitted."
3673 #: build/C/man3/termios.3:850
3675 "B<tcflush>() discards data written to the object referred to by I<fd> but "
3676 "not transmitted, or data received but not read, depending on the value of "
3677 "I<queue_selector>:"
3681 #: build/C/man3/termios.3:850
3687 #: build/C/man3/termios.3:852
3688 msgid "flushes data received but not read."
3692 #: build/C/man3/termios.3:852
3698 #: build/C/man3/termios.3:854
3699 msgid "flushes data written but not transmitted."
3703 #: build/C/man3/termios.3:854
3705 msgid "B<TCIOFLUSH>"
3709 #: build/C/man3/termios.3:857
3711 "flushes both data received but not read, and data written but not "
3716 #: build/C/man3/termios.3:863
3718 "B<tcflow>() suspends transmission or reception of data on the object "
3719 "referred to by I<fd>, depending on the value of I<action>:"
3723 #: build/C/man3/termios.3:863
3729 #: build/C/man3/termios.3:865
3730 msgid "suspends output."
3734 #: build/C/man3/termios.3:865
3740 #: build/C/man3/termios.3:867
3741 msgid "restarts suspended output."
3745 #: build/C/man3/termios.3:867
3751 #: build/C/man3/termios.3:870
3753 "transmits a STOP character, which stops the terminal device from "
3754 "transmitting data to the system."
3758 #: build/C/man3/termios.3:870
3764 #: build/C/man3/termios.3:873
3766 "transmits a START character, which starts the terminal device transmitting "
3767 "data to the system."
3771 #: build/C/man3/termios.3:876
3773 "The default on open of a terminal file is that neither its input nor its "
3774 "output is suspended."
3778 #: build/C/man3/termios.3:876
3784 #: build/C/man3/termios.3:883
3786 "The baud rate functions are provided for getting and setting the values of "
3787 "the input and output baud rates in the I<termios> structure. The new values "
3788 "do not take effect until B<tcsetattr>() is successfully called."
3792 #: build/C/man3/termios.3:887
3794 "Setting the speed to B<B0> instructs the modem to \"hang up\". The actual "
3795 "bit rate corresponding to B<B38400> may be altered with B<setserial>(8)."
3799 #: build/C/man3/termios.3:890
3800 msgid "The input and output baud rates are stored in the I<termios> structure."
3804 #: build/C/man3/termios.3:895
3806 "B<cfgetospeed>() returns the output baud rate stored in the I<termios> "
3807 "structure pointed to by I<termios_p>."
3811 #: build/C/man3/termios.3:899
3813 "B<cfsetospeed>() sets the output baud rate stored in the I<termios> "
3814 "structure pointed to by I<termios_p> to I<speed>, which must be one of these "
3819 #: build/C/man3/termios.3:921
3844 #: build/C/man3/termios.3:931
3846 "The zero baud rate, B<B0>, is used to terminate the connection. If B0 is "
3847 "specified, the modem control lines shall no longer be asserted. Normally, "
3848 "this will disconnect the line. B<CBAUDEX> is a mask for the speeds beyond "
3849 "those defined in POSIX.1 (57600 and above). Thus, B<B57600> & B<CBAUDEX> is "
3854 #: build/C/man3/termios.3:934 build/C/man3/termios.3:954
3856 "B<cfgetispeed>() returns the input baud rate stored in the I<termios> "
3861 #: build/C/man3/termios.3:942
3863 "B<cfsetispeed>() sets the input baud rate stored in the I<termios> "
3864 "structure to I<speed>, which must be specified as one of the B<Bnnn> "
3865 "constants listed above for B<cfsetospeed>(). If the input baud rate is set "
3866 "to zero, the input baud rate will be equal to the output baud rate."
3870 #: build/C/man3/termios.3:948
3872 "B<cfsetspeed>() is a 4.4BSD extension. It takes the same arguments as "
3873 "B<cfsetispeed>(), and sets both input and output speed."
3877 #: build/C/man3/termios.3:957
3879 "B<cfgetospeed>() returns the output baud rate stored in the I<termios> "
3884 #: build/C/man3/termios.3:959
3885 msgid "All other functions return:"
3889 #: build/C/man3/termios.3:959
3895 #: build/C/man3/termios.3:961
3900 #: build/C/man3/termios.3:961
3906 #: build/C/man3/termios.3:965
3907 msgid "on failure and set I<errno> to indicate the error."
3911 #: build/C/man3/termios.3:974
3913 "Note that B<tcsetattr>() returns success if I<any> of the requested changes "
3914 "could be successfully carried out. Therefore, when making multiple changes "
3915 "it may be necessary to follow this call with a further call to "
3916 "B<tcgetattr>() to check that all changes have been performed successfully."
3920 #: build/C/man3/termios.3:991
3922 "The B<tcgetattr>(), B<tcsetattr>(), B<tcsendbreak>(), B<tcdrain>(), "
3923 "B<tcflush>(), B<tcflow>(), B<cfmakeraw>(), B<cfgetispeed>(), "
3924 "B<cfgetospeed>(), B<cfsetispeed>(), B<cfsetospeed>(), and B<cfsetspeed>() "
3925 "functions are thread-safe."
3929 #: build/C/man3/termios.3:1004
3931 "B<tcgetattr>(), B<tcsetattr>(), B<tcsendbreak>(), B<tcdrain>(), "
3932 "B<tcflush>(), B<tcflow>(), B<cfgetispeed>(), B<cfgetospeed>(), "
3933 "B<cfsetispeed>(), and B<cfsetospeed>() are specified in POSIX.1-2001."
3937 #: build/C/man3/termios.3:1009
3939 "B<cfmakeraw>() and B<cfsetspeed>() are nonstandard, but available on the "
3944 #: build/C/man3/termios.3:1014
3946 "UNIX\\ V7 and several later systems have a list of baud rates where after "
3947 "the fourteen values B0, ..., B9600 one finds the two constants EXTA, EXTB "
3948 "(\"External A\" and \"External B\"). Many systems extend the list with much "
3949 "higher baud rates."
3952 #. libc4 until 4.7.5, glibc for sysv: EINVAL for duration > 0.
3953 #. libc4.7.6, libc5, glibc for unix: duration in ms.
3954 #. glibc for bsd: duration in us
3955 #. glibc for sunos4: ignore duration
3957 #: build/C/man3/termios.3:1036
3959 "The effect of a nonzero I<duration> with B<tcsendbreak>() varies. SunOS "
3960 "specifies a break of I<duration\\ *\\ N> seconds, where I<N> is at least "
3961 "0.25, and not more than 0.5. Linux, AIX, DU, Tru64 send a break of "
3962 "I<duration> milliseconds. FreeBSD and NetBSD and HP-UX and MacOS ignore the "
3963 "value of I<duration>. Under Solaris and UnixWare, B<tcsendbreak>() with "
3964 "nonzero I<duration> behaves like B<tcdrain>()."
3968 #: build/C/man3/termios.3:1041
3969 msgid "B<stty>(1), B<console_ioctl>(4), B<tty_ioctl>(4), B<setserial>(8)"
3973 #: build/C/man4/tty.4:28
3979 #: build/C/man4/tty.4:28
3985 #: build/C/man4/tty.4:31
3986 msgid "tty - controlling terminal"
3990 #: build/C/man4/tty.4:37
3992 "The file I</dev/tty> is a character file with major number 5 and minor "
3993 "number 0, usually of mode 0666 and owner.group root.tty. It is a synonym "
3994 "for the controlling terminal of a process, if any."
3998 #: build/C/man4/tty.4:47
4000 "In addition to the B<ioctl>(2) requests supported by the device that B<tty> "
4001 "refers to, the B<ioctl>(2) request B<TIOCNOTTY> is supported."
4005 #: build/C/man4/tty.4:47
4011 #: build/C/man4/tty.4:49
4012 msgid "Detach the calling process from its controlling terminal."
4016 #: build/C/man4/tty.4:57
4018 "If the process is the session leader, then B<SIGHUP> and B<SIGCONT> signals "
4019 "are sent to the foreground process group and all processes in the current "
4020 "session lose their controlling tty."
4024 #: build/C/man4/tty.4:73
4026 "This B<ioctl>(2) call works only on file descriptors connected to "
4027 "I</dev/tty>. It is used by daemon processes when they are invoked by a user "
4028 "at a terminal. The process attempts to open I</dev/tty>. If the open "
4029 "succeeds, it detaches itself from the terminal by using B<TIOCNOTTY>, while "
4030 "if the open fails, it is obviously not attached to a terminal and does not "
4031 "need to detach itself."
4035 #: build/C/man4/tty.4:75
4040 #: build/C/man4/tty.4:85
4042 "B<chown>(1), B<mknod>(1), B<ioctl>(2), B<termios>(3), B<console>(4), "
4043 "B<tty_ioctl>(4), B<ttyS>(4), B<agetty>(8), B<mingetty>(8)"
4047 #: build/C/man4/tty_ioctl.4:8
4053 #: build/C/man4/tty_ioctl.4:8
4059 #: build/C/man4/tty_ioctl.4:11
4060 msgid "tty_ioctl - ioctls for terminals and serial lines"
4064 #: build/C/man4/tty_ioctl.4:15
4065 msgid "B<int ioctl(int >I<fd>B<, int >I<cmd>B<, ...);>"
4069 #: build/C/man4/tty_ioctl.4:23
4071 "The B<ioctl>(2) call for terminals and serial ports accepts many possible "
4072 "command arguments. Most require a third argument, of varying type, here "
4073 "called I<argp> or I<arg>."
4077 #: build/C/man4/tty_ioctl.4:30
4079 "Use of I<ioctl> makes for nonportable programs. Use the POSIX interface "
4080 "described in B<termios>(3) whenever possible."
4084 #: build/C/man4/tty_ioctl.4:30
4086 msgid "Get and set terminal attributes"
4090 #: build/C/man4/tty_ioctl.4:31
4092 msgid "B<TCGETS\tstruct termios *>I<argp>"
4096 #: build/C/man4/tty_ioctl.4:35
4097 msgid "Equivalent to I<tcgetattr(fd, argp)>."
4101 #: build/C/man4/tty_ioctl.4:37
4102 msgid "Get the current serial port settings."
4106 #: build/C/man4/tty_ioctl.4:37
4108 msgid "B<TCSETS\tconst struct termios *>I<argp>"
4112 #: build/C/man4/tty_ioctl.4:41
4113 msgid "Equivalent to I<tcsetattr(fd, TCSANOW, argp)>."
4117 #: build/C/man4/tty_ioctl.4:43
4118 msgid "Set the current serial port settings."
4122 #: build/C/man4/tty_ioctl.4:43
4124 msgid "B<TCSETSW\tconst struct termios *>I<argp>"
4128 #: build/C/man4/tty_ioctl.4:47
4129 msgid "Equivalent to I<tcsetattr(fd, TCSADRAIN, argp)>."
4133 #: build/C/man4/tty_ioctl.4:50
4134 msgid "Allow the output buffer to drain, and set the current serial port settings."
4138 #: build/C/man4/tty_ioctl.4:50
4140 msgid "B<TCSETSF\tconst struct termios *>I<argp>"
4144 #: build/C/man4/tty_ioctl.4:54
4145 msgid "Equivalent to I<tcsetattr(fd, TCSAFLUSH, argp)>."
4149 #: build/C/man4/tty_ioctl.4:57
4151 "Allow the output buffer to drain, discard pending input, and set the current "
4152 "serial port settings."
4156 #: build/C/man4/tty_ioctl.4:67
4158 "The following four ioctls are just like B<TCGETS>, B<TCSETS>, B<TCSETSW>, "
4159 "B<TCSETSF>, except that they take a I<struct termio\\ *> instead of a "
4160 "I<struct termios\\ *>."
4164 #: build/C/man4/tty_ioctl.4:69
4165 msgid "B<TCGETA\tstruct termio *>I<argp>"
4169 #: build/C/man4/tty_ioctl.4:71
4170 msgid "B<TCSETA\tconst struct termio *>I<argp>"
4174 #: build/C/man4/tty_ioctl.4:73
4175 msgid "B<TCSETAW\tconst struct termio *>I<argp>"
4179 #: build/C/man4/tty_ioctl.4:75
4180 msgid "B<TCSETAF\tconst struct termio *>I<argp>"
4184 #: build/C/man4/tty_ioctl.4:75
4186 msgid "Locking the termios structure"
4190 #: build/C/man4/tty_ioctl.4:83
4192 "The I<termios> structure of a terminal can be locked. The lock is itself a "
4193 "I<termios> structure, with nonzero bits or fields indicating a locked value."
4197 #: build/C/man4/tty_ioctl.4:83
4199 msgid "B<TIOCGLCKTRMIOS\tstruct termios *>I<argp>"
4203 #: build/C/man4/tty_ioctl.4:88
4204 msgid "Gets the locking status of the I<termios> structure of the terminal."
4208 #: build/C/man4/tty_ioctl.4:88
4210 msgid "B<TIOCSLCKTRMIOS\tconst struct termios *>I<argp>"
4214 #: build/C/man4/tty_ioctl.4:96
4216 "Sets the locking status of the I<termios> structure of the terminal. Only a "
4217 "process with the B<CAP_SYS_ADMIN> capability can do this."
4221 #: build/C/man4/tty_ioctl.4:96
4223 msgid "Get and set window size"
4227 #: build/C/man4/tty_ioctl.4:101
4229 "Window sizes are kept in the kernel, but not used by the kernel (except in "
4230 "the case of virtual consoles, where the kernel will update the window size "
4231 "when the size of the virtual console changes, for example, by loading a new "
4236 #: build/C/man4/tty_ioctl.4:104
4238 "The following constants and structure are defined in "
4239 "I<E<lt>sys/ioctl.hE<gt>>."
4243 #: build/C/man4/tty_ioctl.4:104
4245 msgid "B<TIOCGWINSZ\tstruct winsize *>I<argp>"
4249 #: build/C/man4/tty_ioctl.4:107
4250 msgid "Get window size."
4254 #: build/C/man4/tty_ioctl.4:107
4256 msgid "B<TIOCSWINSZ\tconst struct winsize *>I<argp>"
4260 #: build/C/man4/tty_ioctl.4:110
4261 msgid "Set window size."
4265 #: build/C/man4/tty_ioctl.4:112
4266 msgid "The struct used by these ioctls is defined as"
4270 #: build/C/man4/tty_ioctl.4:121
4273 "struct winsize {\n"
4274 " unsigned short ws_row;\n"
4275 " unsigned short ws_col;\n"
4276 " unsigned short ws_xpixel; /* unused */\n"
4277 " unsigned short ws_ypixel; /* unused */\n"
4282 #: build/C/man4/tty_ioctl.4:128
4284 "When the window size changes, a B<SIGWINCH> signal is sent to the foreground "
4289 #: build/C/man4/tty_ioctl.4:128
4291 msgid "Sending a break"
4295 #: build/C/man4/tty_ioctl.4:129
4297 msgid "B<TCSBRK\tint >I<arg>"
4301 #: build/C/man4/tty_ioctl.4:133
4302 msgid "Equivalent to I<tcsendbreak(fd, arg)>."
4306 #: build/C/man4/tty_ioctl.4:144
4308 "If the terminal is using asynchronous serial data transmission, and I<arg> "
4309 "is zero, then send a break (a stream of zero bits) for between 0.25 and 0.5 "
4310 "seconds. If the terminal is not using asynchronous serial data "
4311 "transmission, then either a break is sent, or the function returns without "
4312 "doing anything. When I<arg> is nonzero, nobody knows what will happen."
4316 #: build/C/man4/tty_ioctl.4:162
4318 "(SVr4, UnixWare, Solaris, Linux treat I<tcsendbreak(fd,arg)> with nonzero "
4319 "I<arg> like I<tcdrain(fd)>. SunOS treats I<arg> as a multiplier, and sends "
4320 "a stream of bits I<arg> times as long as done for zero I<arg>. DG/UX and "
4321 "AIX treat I<arg> (when nonzero) as a time interval measured in "
4322 "milliseconds. HP-UX ignores I<arg>.)"
4326 #: build/C/man4/tty_ioctl.4:162
4328 msgid "B<TCSBRKP\tint >I<arg>"
4332 #: build/C/man4/tty_ioctl.4:170
4334 "So-called \"POSIX version\" of B<TCSBRK>. It treats nonzero I<arg> as a "
4335 "timeinterval measured in deciseconds, and does nothing when the driver does "
4336 "not support breaks."
4340 #: build/C/man4/tty_ioctl.4:170
4342 msgid "B<TIOCSBRK\tvoid>"
4346 #: build/C/man4/tty_ioctl.4:173
4347 msgid "Turn break on, that is, start sending zero bits."
4351 #: build/C/man4/tty_ioctl.4:173
4353 msgid "B<TIOCCBRK\tvoid>"
4357 #: build/C/man4/tty_ioctl.4:176
4358 msgid "Turn break off, that is, stop sending zero bits."
4362 #: build/C/man4/tty_ioctl.4:176
4364 msgid "Software flow control"
4368 #: build/C/man4/tty_ioctl.4:177
4370 msgid "B<TCXONC\tint >I<arg>"
4374 #: build/C/man4/tty_ioctl.4:181
4375 msgid "Equivalent to I<tcflow(fd, arg)>."
4379 #: build/C/man4/tty_ioctl.4:189
4381 "See B<tcflow>(3) for the argument values B<TCOOFF>, B<TCOON>, B<TCIOFF>, "
4386 #: build/C/man4/tty_ioctl.4:189
4388 msgid "Buffer count and flushing"
4392 #: build/C/man4/tty_ioctl.4:190
4394 msgid "B<FIONREAD\tint *>I<argp>"
4398 #: build/C/man4/tty_ioctl.4:193
4399 msgid "Get the number of bytes in the input buffer."
4403 #: build/C/man4/tty_ioctl.4:193
4405 msgid "B<TIOCINQ\tint *>I<argp>"
4409 #: build/C/man4/tty_ioctl.4:197
4410 msgid "Same as B<FIONREAD>."
4414 #: build/C/man4/tty_ioctl.4:197
4416 msgid "B<TIOCOUTQ\tint *>I<argp>"
4420 #: build/C/man4/tty_ioctl.4:200
4421 msgid "Get the number of bytes in the output buffer."
4425 #: build/C/man4/tty_ioctl.4:200
4427 msgid "B<TCFLSH\tint >I<arg>"
4431 #: build/C/man4/tty_ioctl.4:204
4432 msgid "Equivalent to I<tcflush(fd, arg)>."
4436 #: build/C/man4/tty_ioctl.4:211
4438 "See B<tcflush>(3) for the argument values B<TCIFLUSH>, B<TCOFLUSH>, "
4443 #: build/C/man4/tty_ioctl.4:211
4445 msgid "Faking input"
4449 #: build/C/man4/tty_ioctl.4:212
4451 msgid "B<TIOCSTI\tconst char *>I<argp>"
4455 #: build/C/man4/tty_ioctl.4:215
4456 msgid "Insert the given byte in the input queue."
4460 #: build/C/man4/tty_ioctl.4:215
4462 msgid "Redirecting console output"
4466 #: build/C/man4/tty_ioctl.4:216
4468 msgid "B<TIOCCONS\tvoid>"
4472 #: build/C/man4/tty_ioctl.4:238
4474 "Redirect output that would have gone to I</dev/console> or I</dev/tty0> to "
4475 "the given terminal. If that was a pseudoterminal master, send it to the "
4476 "slave. In Linux before version 2.6.10, anybody can do this as long as the "
4477 "output was not redirected yet; since version 2.6.10, only a process with the "
4478 "B<CAP_SYS_ADMIN> capability may do this. If output was redirected already "
4479 "B<EBUSY> is returned, but redirection can be stopped by using this ioctl "
4480 "with I<fd> pointing at I</dev/console> or I</dev/tty0>."
4484 #: build/C/man4/tty_ioctl.4:238
4486 msgid "Controlling terminal"
4490 #: build/C/man4/tty_ioctl.4:239
4492 msgid "B<TIOCSCTTY\tint >I<arg>"
4496 #: build/C/man4/tty_ioctl.4:247
4498 "Make the given terminal the controlling terminal of the calling process. "
4499 "The calling process must be a session leader and not have a controlling "
4500 "terminal already. For this case, I<arg> should be specified as zero."
4504 #: build/C/man4/tty_ioctl.4:257
4506 "If this terminal is already the controlling terminal of a different session "
4507 "group, then the ioctl fails with B<EPERM>, unless the caller has the "
4508 "B<CAP_SYS_ADMIN> capability and I<arg> equals 1, in which case the terminal "
4509 "is stolen, and all processes that had it as controlling terminal lose it."
4513 #: build/C/man4/tty_ioctl.4:257
4515 msgid "B<TIOCNOTTY\tvoid>"
4519 #: build/C/man4/tty_ioctl.4:268
4521 "If the given terminal was the controlling terminal of the calling process, "
4522 "give up this controlling terminal. If the process was session leader, then "
4523 "send B<SIGHUP> and B<SIGCONT> to the foreground process group and all "
4524 "processes in the current session lose their controlling terminal."
4528 #: build/C/man4/tty_ioctl.4:268
4530 msgid "Process group and session ID"
4534 #: build/C/man4/tty_ioctl.4:269
4536 msgid "B<TIOCGPGRP\tpid_t *>I<argp>"
4540 #: build/C/man4/tty_ioctl.4:273
4541 msgid "When successful, equivalent to I<*argp = tcgetpgrp(fd)>."
4545 #: build/C/man4/tty_ioctl.4:275
4546 msgid "Get the process group ID of the foreground process group on this terminal."
4550 #: build/C/man4/tty_ioctl.4:275
4552 msgid "B<TIOCSPGRP\tconst pid_t *>I<argp>"
4556 #: build/C/man4/tty_ioctl.4:279
4557 msgid "Equivalent to I<tcsetpgrp(fd, *argp)>."
4561 #: build/C/man4/tty_ioctl.4:281
4562 msgid "Set the foreground process group ID of this terminal."
4566 #: build/C/man4/tty_ioctl.4:281
4568 msgid "B<TIOCGSID\tpid_t *>I<argp>"
4572 #: build/C/man4/tty_ioctl.4:289
4574 "Get the session ID of the given terminal. This will fail with B<ENOTTY> in "
4575 "case the terminal is not a master pseudoterminal and not our controlling "
4576 "terminal. Strange."
4580 #: build/C/man4/tty_ioctl.4:289
4582 msgid "Exclusive mode"
4586 #: build/C/man4/tty_ioctl.4:290
4588 msgid "B<TIOCEXCL\tvoid>"
4592 #: build/C/man4/tty_ioctl.4:301
4594 "Put the terminal into exclusive mode. No further B<open>(2) operations on "
4595 "the terminal are permitted. (They will fail with B<EBUSY>, except for a "
4596 "process with the B<CAP_SYS_ADMIN> capability.)"
4600 #: build/C/man4/tty_ioctl.4:301
4602 msgid "B<TIOCNXCL\tvoid>"
4606 #: build/C/man4/tty_ioctl.4:304
4607 msgid "Disable exclusive mode."
4611 #: build/C/man4/tty_ioctl.4:304
4613 msgid "Line discipline"
4617 #: build/C/man4/tty_ioctl.4:305
4619 msgid "B<TIOCGETD\tint *>I<argp>"
4623 #: build/C/man4/tty_ioctl.4:308
4624 msgid "Get the line discipline of the terminal."
4628 #: build/C/man4/tty_ioctl.4:308
4630 msgid "B<TIOCSETD\tconst int *>I<argp>"
4634 #: build/C/man4/tty_ioctl.4:311
4635 msgid "Set the line discipline of the terminal."
4639 #: build/C/man4/tty_ioctl.4:311
4641 msgid "Pseudoterminal ioctls"
4645 #: build/C/man4/tty_ioctl.4:312
4647 msgid "B<TIOCPKT\tconst int *>I<argp>"
4651 #: build/C/man4/tty_ioctl.4:329
4653 "Enable (when *I<argp> is nonzero) or disable packet mode. Can be applied to "
4654 "the master side of a pseudoterminal only (and will return B<ENOTTY> "
4655 "otherwise). In packet mode, each subsequent B<read>(2) will return a "
4656 "packet that either contains a single nonzero control byte, or has a single "
4657 "byte containing zero (\\(aq\\0\\(aq) followed by data written on the slave "
4658 "side of the pseudoterminal. If the first byte is not B<TIOCPKT_DATA> (0), "
4659 "it is an OR of one or more of the following bits:"
4663 #: build/C/man4/tty_ioctl.4:337
4666 "TIOCPKT_FLUSHREAD The read queue for the terminal is flushed.\n"
4667 "TIOCPKT_FLUSHWRITE The write queue for the terminal is flushed.\n"
4668 "TIOCPKT_STOP Output to the terminal is stopped.\n"
4669 "TIOCPKT_START Output to the terminal is restarted.\n"
4670 "TIOCPKT_DOSTOP The start and stop characters are B<^S>/B<^Q>.\n"
4671 "TIOCPKT_NOSTOP The start and stop characters are not B<^S>/B<^Q>.\n"
4675 #: build/C/man4/tty_ioctl.4:344
4677 "While this mode is in use, the presence of control status information to be "
4678 "read from the master side may be detected by a B<select>(2) for exceptional "
4683 #: build/C/man4/tty_ioctl.4:351
4685 "This mode is used by B<rlogin>(1) and B<rlogind>(8) to implement a "
4686 "remote-echoed, locally B<^S>/B<^Q> flow-controlled remote login."
4690 #: build/C/man4/tty_ioctl.4:358
4692 "The BSD ioctls B<TIOCSTOP>, B<TIOCSTART>, B<TIOCUCNTL>, B<TIOCREMOTE> have "
4693 "not been implemented under Linux."
4697 #: build/C/man4/tty_ioctl.4:358
4699 msgid "Modem control"
4703 #: build/C/man4/tty_ioctl.4:359
4705 msgid "B<TIOCMGET\tint *>I<argp>"
4709 #: build/C/man4/tty_ioctl.4:362
4710 msgid "get the status of modem bits."
4714 #: build/C/man4/tty_ioctl.4:362
4716 msgid "B<TIOCMSET\tconst int *>I<argp>"
4720 #: build/C/man4/tty_ioctl.4:365
4721 msgid "set the status of modem bits."
4725 #: build/C/man4/tty_ioctl.4:365
4727 msgid "B<TIOCMBIC\tconst int *>I<argp>"
4731 #: build/C/man4/tty_ioctl.4:368
4732 msgid "clear the indicated modem bits."
4736 #: build/C/man4/tty_ioctl.4:368
4738 msgid "B<TIOCMBIS\tconst int *>I<argp>"
4742 #: build/C/man4/tty_ioctl.4:371
4743 msgid "set the indicated modem bits."
4747 #: build/C/man4/tty_ioctl.4:373
4748 msgid "Bits used by these four ioctls:"
4752 #: build/C/man4/tty_ioctl.4:386
4755 "TIOCM_LE DSR (data set ready/line enable)\n"
4756 "TIOCM_DTR DTR (data terminal ready)\n"
4757 "TIOCM_RTS RTS (request to send)\n"
4758 "TIOCM_ST Secondary TXD (transmit)\n"
4759 "TIOCM_SR Secondary RXD (receive)\n"
4760 "TIOCM_CTS CTS (clear to send)\n"
4761 "TIOCM_CAR DCD (data carrier detect)\n"
4762 "TIOCM_CD see TIOCM_CAR\n"
4763 "TIOCM_RNG RNG (ring)\n"
4764 "TIOCM_RI see TIOCM_RNG\n"
4765 "TIOCM_DSR DSR (data set ready)\n"
4769 #: build/C/man4/tty_ioctl.4:387
4771 msgid "Marking a line as local"
4775 #: build/C/man4/tty_ioctl.4:388
4777 msgid "B<TIOCGSOFTCAR\tint *>I<argp>"
4781 #: build/C/man4/tty_ioctl.4:394
4783 "(\"Get software carrier flag\") Get the status of the CLOCAL flag in the "
4784 "c_cflag field of the I<termios> structure."
4788 #: build/C/man4/tty_ioctl.4:394
4790 msgid "B<TIOCSSOFTCAR\tconst int *>I<argp>"
4794 #: build/C/man4/tty_ioctl.4:402
4796 "(\"Set software carrier flag\") Set the CLOCAL flag in the I<termios> "
4797 "structure when *I<argp> is nonzero, and clear it otherwise."
4801 #: build/C/man4/tty_ioctl.4:417
4803 "If the B<CLOCAL> flag for a line is off, the hardware carrier detect (DCD) "
4804 "signal is significant, and an B<open>(2) of the corresponding terminal will "
4805 "block until DCD is asserted, unless the B<O_NONBLOCK> flag is given. If "
4806 "B<CLOCAL> is set, the line behaves as if DCD is always asserted. The "
4807 "software carrier flag is usually turned on for local devices, and is off for "
4808 "lines with modems."
4812 #: build/C/man4/tty_ioctl.4:417
4814 msgid "Linux-specific"
4818 #: build/C/man4/tty_ioctl.4:422
4819 msgid "For the B<TIOCLINUX> ioctl, see B<console_ioctl>(4)."
4823 #: build/C/man4/tty_ioctl.4:422
4825 msgid "Kernel debugging"
4829 #: build/C/man4/tty_ioctl.4:424
4830 msgid "B<#include E<lt>linux/tty.hE<gt>>"
4834 #: build/C/man4/tty_ioctl.4:424
4836 msgid "B<TIOCTTYGSTRUCT\tstruct tty_struct *>I<argp>"
4840 #. .SS "Serial info"
4841 #. .BR "#include <linux/serial.h>"
4844 #. .BI "TIOCGSERIAL struct serial_struct *" argp
4847 #. .BI "TIOCSSERIAL const struct serial_struct *" argp
4850 #: build/C/man4/tty_ioctl.4:440
4851 msgid "Get the I<tty_struct> corresponding to I<fd>."
4855 #: build/C/man4/tty_ioctl.4:447
4857 "The B<ioctl>(2) system call returns 0 on success. On error, it returns -1 "
4858 "and sets I<errno> appropriately."
4862 #: build/C/man4/tty_ioctl.4:451
4863 msgid "Invalid command parameter."
4867 #: build/C/man4/tty_ioctl.4:451
4869 msgid "B<ENOIOCTLCMD>"
4873 #: build/C/man4/tty_ioctl.4:454
4874 msgid "Unknown command."
4878 #: build/C/man4/tty_ioctl.4:458
4879 msgid "Inappropriate I<fd>."
4883 #: build/C/man4/tty_ioctl.4:458
4889 #: build/C/man4/tty_ioctl.4:461
4890 msgid "Insufficient permission."
4894 #: build/C/man4/tty_ioctl.4:461 build/C/man5/ttytype.5:57
4900 #: build/C/man4/tty_ioctl.4:463
4901 msgid "Check the condition of DTR on the serial port."
4905 #: build/C/man4/tty_ioctl.4:468
4908 "#include E<lt>termios.hE<gt>\n"
4909 "#include E<lt>fcntl.hE<gt>\n"
4910 "#include E<lt>sys/ioctl.hE<gt>\n"
4914 #: build/C/man4/tty_ioctl.4:473
4920 " int fd, serial;\n"
4924 #: build/C/man4/tty_ioctl.4:482
4927 " fd = open(\"/dev/ttyS0\", O_RDONLY);\n"
4928 " ioctl(fd, TIOCMGET, &serial);\n"
4929 " if (serial & TIOCM_DTR)\n"
4930 " puts(\"TIOCM_DTR is not set\");\n"
4932 " puts(\"TIOCM_DTR is set\");\n"
4938 #. FIONBIO const int *
4941 #. FIOASYNC const int *
4943 #. TIOCSERCONFIG void
4944 #. TIOCSERGWILD int *
4945 #. TIOCSERSWILD const int *
4946 #. TIOCSERGSTRUCT struct async_struct *
4947 #. TIOCSERGETLSR int *
4948 #. TIOCSERGETMULTI struct serial_multiport_struct *
4949 #. TIOCSERSETMULTI const struct serial_multiport_struct *
4950 #. TIOCGSERIAL, TIOCSSERIAL (see above)
4952 #: build/C/man4/tty_ioctl.4:502
4953 msgid "B<ioctl>(2), B<termios>(3), B<console_ioctl>(4), B<pty>(7)"
4957 #: build/C/man3/ttyname.3:27
4963 #: build/C/man3/ttyname.3:30
4964 msgid "ttyname, ttyname_r - return name of a terminal"
4968 #: build/C/man3/ttyname.3:35
4970 msgid "B<char *ttyname(int >I<fd>B<);>\n"
4974 #: build/C/man3/ttyname.3:37
4976 msgid "B<int ttyname_r(int >I<fd>B<, char *>I<buf>B<, size_t >I<buflen>B<);>\n"
4980 #: build/C/man3/ttyname.3:52
4982 "The function B<ttyname>() returns a pointer to the null-terminated pathname "
4983 "of the terminal device that is open on the file descriptor I<fd>, or NULL on "
4984 "error (for example, if I<fd> is not connected to a terminal). The return "
4985 "value may point to static data, possibly overwritten by the next call. The "
4986 "function B<ttyname_r>() stores this pathname in the buffer I<buf> of length "
4991 #: build/C/man3/ttyname.3:62
4993 "The function B<ttyname>() returns a pointer to a pathname on success. On "
4994 "error, NULL is returned, and I<errno> is set appropriately. The function "
4995 "B<ttyname_r>() returns 0 on success, and an error number upon error."
4999 #: build/C/man3/ttyname.3:66
5000 msgid "Bad file descriptor."
5004 #: build/C/man3/ttyname.3:69
5005 msgid "File descriptor does not refer to a terminal device."
5009 #: build/C/man3/ttyname.3:74
5010 msgid "(B<ttyname_r>()) I<buflen> was too small to allow storing the pathname."
5014 #: build/C/man3/ttyname.3:79
5015 msgid "The B<ttyname>() function is not thread-safe."
5019 #: build/C/man3/ttyname.3:83
5020 msgid "The B<ttyname_r>() function is thread-safe."
5024 #: build/C/man3/ttyname.3:85
5025 msgid "4.2BSD, POSIX.1-2001."
5029 #: build/C/man3/ttyname.3:89
5030 msgid "B<fstat>(2), B<ctermid>(3), B<isatty>(3)"
5034 #: build/C/man3/ttyslot.3:28
5040 #: build/C/man3/ttyslot.3:31
5041 msgid "ttyslot - find the slot of the current user's terminal in some file"
5045 #: build/C/man3/ttyslot.3:33
5046 msgid "B<#include E<lt>unistd.hE<gt>> /* on BSD-like systems, and Linux */"
5050 #: build/C/man3/ttyslot.3:35
5051 msgid "B<#include E<lt>stdlib.hE<gt>> /* on System V-like systems */"
5055 #: build/C/man3/ttyslot.3:37
5056 msgid "B<int ttyslot(void);>"
5060 #: build/C/man3/ttyslot.3:45
5061 msgid "B<ttyslot>():"
5065 #: build/C/man3/ttyslot.3:47
5066 msgid "_BSD_SOURCE ||"
5070 #: build/C/man3/ttyslot.3:49
5072 "_XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_\\ E<lt>\\ 500\\ &&\\ "
5073 "_XOPEN_SOURCE_EXTENDED"
5077 #: build/C/man3/ttyslot.3:55
5079 "The legacy function B<ttyslot>() returns the index of the current user's "
5080 "entry in some file."
5084 #: build/C/man3/ttyslot.3:58
5085 msgid "Now \"What file?\" you ask. Well, let's first look at some history."
5089 #: build/C/man3/ttyslot.3:58
5091 msgid "Ancient history"
5095 #: build/C/man3/ttyslot.3:75
5097 "There used to be a file I</etc/ttys> in UNIX\\ V6, that was read by the "
5098 "B<init>(8) program to find out what to do with each terminal line. Each "
5099 "line consisted of three characters. The first character was either "
5100 "\\(aq0\\(aq or \\(aq1\\(aq, where \\(aq0\\(aq meant \"ignore\". The second "
5101 "character denoted the terminal: \\(aq8\\(aq stood for \"/dev/tty8\". The "
5102 "third character was an argument to B<getty>(8) indicating the sequence of "
5103 "line speeds to try (\\(aq-\\(aq was: start trying 110 baud). Thus a typical "
5104 "line was \"18-\". A hang on some line was solved by changing the "
5105 "\\(aq1\\(aq to a \\(aq0\\(aq, signaling init, changing back again, and "
5106 "signaling init again."
5110 #: build/C/man3/ttyslot.3:83
5112 "In UNIX\\ V7 the format was changed: here the second character was the "
5113 "argument to B<getty>(8) indicating the sequence of line speeds to try "
5114 "(\\(aq0\\(aq was: cycle through 300-1200-150-110 baud; \\(aq4\\(aq was for "
5115 "the on-line console DECwriter) while the rest of the line contained the "
5116 "name of the tty. Thus a typical line was \"14console\"."
5120 #: build/C/man3/ttyslot.3:88
5122 "Later systems have more elaborate syntax. System V-like systems have "
5123 "I</etc/inittab> instead."
5127 #: build/C/man3/ttyslot.3:88
5129 msgid "Ancient history (2)"
5133 #: build/C/man3/ttyslot.3:102
5135 "On the other hand, there is the file I</etc/utmp> listing the people "
5136 "currently logged in. It is maintained by B<login>(1). It has a fixed size, "
5137 "and the appropriate index in the file was determined by B<login>(1) using "
5138 "the B<ttyslot>() call to find the number of the line in I</etc/ttys> "
5139 "(counting from 1)."
5143 #: build/C/man3/ttyslot.3:102
5145 msgid "The semantics of ttyslot"
5149 #: build/C/man3/ttyslot.3:117
5151 "Thus, the function B<ttyslot>() returns the index of the controlling "
5152 "terminal of the calling process in the file I</etc/ttys>, and that is "
5153 "(usually) the same as the index of the entry for the current user in the "
5154 "file I</etc/utmp>. BSD still has the I</etc/ttys> file, but System V-like "
5155 "systems do not, and hence cannot refer to it. Thus, on such systems the "
5156 "documentation says that B<ttyslot>() returns the current user's index in "
5157 "the user accounting data base."
5161 #: build/C/man3/ttyslot.3:123
5163 "If successful, this function returns the slot number. On error (e.g., if "
5164 "none of the file descriptors 0, 1 or 2 is associated with a terminal that "
5165 "occurs in this data base) it returns 0 on UNIX\\ V6 and V7 and BSD-like "
5166 "systems, but -1 on System V-like systems."
5170 #: build/C/man3/ttyslot.3:130
5172 "The B<ttyslot>() function calls thread-unsafe function B<getttyent>(), so "
5173 "it is not thread-safe."
5177 #: build/C/man3/ttyslot.3:133
5179 "SUSv1; marked as LEGACY in SUSv2; removed in POSIX.1-2001. SUSv2 requires "
5184 #: build/C/man3/ttyslot.3:138
5186 "The utmp file is found various places on various systems, such as "
5187 "I</etc/utmp>, I</var/adm/utmp>, I</var/run/utmp>."
5191 #: build/C/man3/ttyslot.3:147
5193 "The glibc2 implementation of this function reads the file B<_PATH_TTYS>, "
5194 "defined in I<E<lt>ttyent.hE<gt>> as \"/etc/ttys\". It returns 0 on error. "
5195 "Since Linux systems do not usually have \"/etc/ttys\", it will always return "
5201 #. appeared in UNIX V7.
5203 #: build/C/man3/ttyslot.3:153
5204 msgid "Minix also has I<fttyslot>(I<fd>)."
5208 #: build/C/man3/ttyslot.3:157
5209 msgid "B<getttyent>(3), B<ttyname>(3), B<utmp>(5)"
5213 #: build/C/man5/ttytype.5:29
5219 #: build/C/man5/ttytype.5:29
5225 #: build/C/man5/ttytype.5:32
5226 msgid "ttytype - terminal device to default terminal type mapping"
5230 #: build/C/man5/ttytype.5:42
5232 "The I</etc/ttytype> file associates B<termcap>(5)/B<terminfo>(5) terminal "
5233 "type names with tty lines. Each line consists of a terminal type, followed "
5234 "by whitespace, followed by a tty name (a device name without the I</dev/>) "
5239 #: build/C/man5/ttytype.5:49
5241 "This association is used by the program B<tset>(1) to set the environment "
5242 "variable B<TERM> to the default terminal name for the user's current tty."
5246 #: build/C/man5/ttytype.5:53
5248 "This facility was designed for a traditional time-sharing environment "
5249 "featuring character-cell terminals hardwired to a UNIX minicomputer. It is "
5250 "little used on modern workstation and personal UNIX systems."
5254 #: build/C/man5/ttytype.5:54
5256 msgid "I</etc/ttytype>"
5260 #: build/C/man5/ttytype.5:57
5261 msgid "the tty definitions file."
5265 #: build/C/man5/ttytype.5:61
5266 msgid "A typical I</etc/ttytype> is:"
5270 #: build/C/man5/ttytype.5:64
5271 msgid "con80x25 tty1"
5275 #: build/C/man5/ttytype.5:66
5280 #: build/C/man5/ttytype.5:72
5281 msgid "B<termcap>(5), B<terminfo>(5), B<agetty>(8), B<mingetty>(8)"
5285 #: build/C/man3/unlockpt.3:5
5291 #: build/C/man3/unlockpt.3:5
5297 #: build/C/man3/unlockpt.3:8
5298 msgid "unlockpt - unlock a pseudoterminal master/slave pair"
5302 #: build/C/man3/unlockpt.3:15
5304 msgid "B<int unlockpt(int >I<fd>B<);>\n"
5308 #: build/C/man3/unlockpt.3:22
5310 "The B<unlockpt>() function unlocks the slave pseudoterminal device "
5311 "corresponding to the master pseudoterminal referred to by I<fd>."
5315 #: build/C/man3/unlockpt.3:25
5317 "B<unlockpt>() should be called before opening the slave side of a "
5322 #: build/C/man3/unlockpt.3:32
5324 "When successful, B<unlockpt>() returns 0. Otherwise, it returns -1 and "
5325 "sets I<errno> appropriately."
5329 #: build/C/man3/unlockpt.3:38
5330 msgid "The I<fd> argument is not a file descriptor open for writing."
5334 #: build/C/man3/unlockpt.3:43
5335 msgid "The I<fd> argument is not associated with a master pseudoterminal."
5339 #: build/C/man3/unlockpt.3:46
5340 msgid "B<unlockpt>() is provided in glibc since version 2.1."
5344 #: build/C/man3/unlockpt.3:51
5345 msgid "The B<unlockpt>() function is thread-safe."
5349 #: build/C/man3/unlockpt.3:59
5350 msgid "B<grantpt>(3), B<posix_openpt>(3), B<ptsname>(3), B<pts>(4), B<pty>(7)"