2004-11-03 13:51:07 +00:00
|
|
|
.\" Copyright 2002 Walter Harms <walter.harms@informatik.uni-oldenburg.de>
|
|
|
|
.\" and Andries Brouwer <aeb@cwi.nl>.
|
|
|
|
.\" Distributed under GPL.
|
|
|
|
.\"
|
2008-10-29 20:36:12 +00:00
|
|
|
.TH TTY_IOCTL 4 2008-10-29 "Linux" "Linux Programmer's Manual"
|
2004-11-03 13:51:07 +00:00
|
|
|
.SH NAME
|
2009-12-05 06:11:32 +00:00
|
|
|
tty_ioctl \- ioctls for terminals and serial lines
|
2004-11-03 13:51:07 +00:00
|
|
|
.SH SYNOPSIS
|
2007-09-20 16:26:31 +00:00
|
|
|
.B "#include <termios.h>"
|
2004-11-03 13:51:07 +00:00
|
|
|
.sp
|
2007-04-12 22:42:49 +00:00
|
|
|
.BI "int ioctl(int " fd ", int " cmd ", ...);"
|
2004-11-03 13:51:07 +00:00
|
|
|
.SH DESCRIPTION
|
|
|
|
The
|
Changes, clone.2, mount.2, nanosleep.2, sigaltstack.2, statfs.2, timer_settime.2, ctime.3, fmemopen.3, nl_langinfo.3, posix_memalign.3, pthread_attr_init.3, pthread_setaffinity_np.3, pthread_setschedprio.3, pthread_testcancel.3, setjmp.3, sigwait.3, tty_ioctl.4, epoll.7, posixoptions.7, unix.7: Add section number to references to functions documented in other pages
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2010-11-01 07:07:28 +00:00
|
|
|
.BR ioctl (2)
|
2004-11-03 13:51:07 +00:00
|
|
|
call for terminals and serial ports accepts many possible command arguments.
|
|
|
|
Most require a third argument, of varying type, here called \fIargp\fP
|
|
|
|
or \fIarg\fP.
|
|
|
|
.LP
|
|
|
|
Use of
|
|
|
|
.I ioctl
|
execve.2, fallocate.2, futex.2, sched_rr_get_interval.2, select_tut.2, shmget.2, timer_getoverrun.2, times.2, pthread_attr_init.3, pthread_attr_setaffinity_np.3, pthread_cleanup_push_defer_np.3, pthread_getattr_np.3, pthread_self.3, pthread_setaffinity_np.3, pthread_tryjoin_np.3, sem_open.3, stdin.3, rtc.4, tty_ioctl.4, unix.7: Global fix: s/non-portable/nonportable/
The tendency in English, as prescribed in style guides like
Chicago MoS, is towards removing hyphens after prefixes
like "non-" etc.
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2010-01-16 16:46:09 +00:00
|
|
|
makes for nonportable programs.
|
2007-04-12 22:42:49 +00:00
|
|
|
Use the POSIX interface described in
|
2004-11-03 13:51:07 +00:00
|
|
|
.BR termios (3)
|
|
|
|
whenever possible.
|
intro.1, time.1, _syscall.2, accept.2, brk.2, capget.2, faccessat.2, futimesat.2, gethostname.2, intro.2, ioprio_set.2, kill.2, madvise.2, mlock.2, mount.2, msgget.2, perf_event_open.2, poll.2, readv.2, sched_rr_get_interval.2, sched_setscheduler.2, select.2, select_tut.2, shmget.2, stat.2, timer_create.2, ustat.2, vfork.2, wait.2, alloca.3, atexit.3, catopen.3, crypt.3, dbopen.3, fenv.3, fopen.3, getaddrinfo_a.3, gethostbyname.3, getutent.3, intro.3, login.3, mallopt.3, queue.3, regex.3, sigpause.3, sigsetops.3, stdio.3, strftime.3, strptime.3, sysconf.3, ttyslot.3, undocumented.3, cciss.4, console_codes.4, hpsa.4, initrd.4, intro.4, rtc.4, st.4, tty_ioctl.4, wavelan.4, acct.5, charmap.5, dir_colors.5, hosts.5, intro.5, termcap.5, utmp.5, intro.6, armscii-8.7, boot.7, bootparam.7, capabilities.7, cpuset.7, credentials.7, ddp.7, epoll.7, glob.7, intro.7, ip.7, ipv6.7, iso_8859-1.7, iso_8859-10.7, iso_8859-11.7, iso_8859-13.7, iso_8859-14.7, iso_8859-15.7, iso_8859-16.7, iso_8859-2.7, iso_8859-3.7, iso_8859-4.7, iso_8859-5.7, iso_8859-6.7, iso_8859-7.7, iso_8859-8.7, iso_8859-9.7, koi8-r.7, koi8-u.7, man-pages.7, man.7, math_error.7, netlink.7, numa.7, packet.7, path_resolution.7, pipe.7, pthreads.7, raw.7, rtnetlink.7, signal.7, socket.7, spufs.7, svipc.7, tcp.7, time.7, udp.7, udplite.7, unicode.7, unix.7, uri.7, utf-8.7, x25.7, intro.8: Global fix: use consistent capitalization in .SS headings
Capitalization in .SS sections across pages (and sometimes even
within a single page) is wildly inconsistent. Make it consistent.
Capitalize first word in heading, but otherwise use lower case,
except where English usage (e.g., proper nouns) or programming
language requirements (e.g., identifier names) dictate otherwise.
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2013-02-24 14:08:38 +00:00
|
|
|
.SS "Get and set terminal attributes"
|
2004-11-03 13:51:07 +00:00
|
|
|
.TP
|
|
|
|
.BI "TCGETS struct termios *" argp
|
|
|
|
Equivalent to
|
|
|
|
.IR "tcgetattr(fd, argp)" .
|
|
|
|
.br
|
|
|
|
Get the current serial port settings.
|
|
|
|
.TP
|
|
|
|
.BI "TCSETS const struct termios *" argp
|
|
|
|
Equivalent to
|
|
|
|
.IR "tcsetattr(fd, TCSANOW, argp)" .
|
|
|
|
.br
|
|
|
|
Set the current serial port settings.
|
|
|
|
.TP
|
|
|
|
.BI "TCSETSW const struct termios *" argp
|
|
|
|
Equivalent to
|
|
|
|
.IR "tcsetattr(fd, TCSADRAIN, argp)" .
|
|
|
|
.br
|
|
|
|
Allow the output buffer to drain, and
|
|
|
|
set the current serial port settings.
|
|
|
|
.TP
|
|
|
|
.BI "TCSETSF const struct termios *" argp
|
|
|
|
Equivalent to
|
|
|
|
.IR "tcsetattr(fd, TCSAFLUSH, argp)" .
|
|
|
|
.br
|
|
|
|
Allow the output buffer to drain, discard pending input, and
|
|
|
|
set the current serial port settings.
|
|
|
|
.LP
|
2007-06-22 20:40:07 +00:00
|
|
|
The following four ioctls are just like
|
|
|
|
.BR TCGETS ,
|
|
|
|
.BR TCSETS ,
|
|
|
|
.BR TCSETSW ,
|
|
|
|
.BR TCSETSF ,
|
2004-11-03 13:51:07 +00:00
|
|
|
except that they take a
|
2005-11-02 13:55:25 +00:00
|
|
|
.I "struct termio *"
|
2004-11-03 13:51:07 +00:00
|
|
|
instead of a
|
2005-11-02 13:55:25 +00:00
|
|
|
.IR "struct termios *" .
|
2004-11-03 13:51:07 +00:00
|
|
|
.TP
|
|
|
|
.BI "TCGETA struct termio *" argp
|
|
|
|
.TP
|
|
|
|
.BI "TCSETA const struct termio *" argp
|
|
|
|
.TP
|
|
|
|
.BI "TCSETAW const struct termio *" argp
|
|
|
|
.TP
|
|
|
|
.BI "TCSETAF const struct termio *" argp
|
|
|
|
.SS "Locking the termios structure"
|
2008-10-16 14:18:44 +00:00
|
|
|
The
|
|
|
|
.I termios
|
2008-10-16 15:38:08 +00:00
|
|
|
structure of a terminal can be locked.
|
2008-10-16 14:18:44 +00:00
|
|
|
The lock is itself a
|
|
|
|
.I termios
|
intro.1, time.1, adjtimex.2, capget.2, eventfd.2, fcntl.2, getrlimit.2, getsockopt.2, gettimeofday.2, intro.2, ioctl_list.2, ioperm.2, mlock.2, pivot_root.2, poll.2, prctl.2, ptrace.2, sched_setscheduler.2, select_tut.2, semget.2, sigaltstack.2, signalfd.2, sysctl.2, timer_settime.2, timerfd_create.2, wait.2, CPU_SET.3, argz_add.3, assert_perror.3, atexit.3, backtrace.3, bcmp.3, clearenv.3, ctime.3, dl_iterate_phdr.3, dlopen.3, ecvt.3, errno.3, error.3, ether_aton.3, exit.3, fenv.3, ferror.3, finite.3, flockfile.3, fnmatch.3, fpathconf.3, fpclassify.3, ftime.3, ftok.3, ftw.3, fwide.3, getaddrinfo.3, gethostbyname.3, getlogin.3, getnameinfo.3, getnetent.3, getopt.3, getprotoent.3, getrpcent.3, getservent.3, glob.3, hsearch.3, inet.3, isalpha.3, iswalnum.3, iswalpha.3, iswblank.3, iswcntrl.3, iswctype.3, iswdigit.3, iswgraph.3, iswlower.3, iswprint.3, iswpunct.3, iswspace.3, iswupper.3, iswxdigit.3, longjmp.3, lsearch.3, malloc.3, matherr.3, mblen.3, mbsinit.3, mbtowc.3, on_exit.3, printf.3, pthread_attr_init.3, pthread_attr_setaffinity_np.3, pthread_attr_setdetachstate.3, pthread_attr_setguardsize.3, pthread_attr_setinheritsched.3, pthread_attr_setschedparam.3, pthread_attr_setschedpolicy.3, pthread_attr_setscope.3, pthread_attr_setstack.3, pthread_attr_setstackaddr.3, pthread_attr_setstacksize.3, pthread_cancel.3, pthread_cleanup_push.3, pthread_equal.3, pthread_getattr_np.3, pthread_getcpuclockid.3, pthread_setaffinity_np.3, pthread_setcancelstate.3, pthread_setconcurrency.3, pthread_setschedparam.3, pthread_setschedprio.3, ptsname.3, putenv.3, putgrent.3, raise.3, rcmd.3, regex.3, rexec.3, rpc.3, rpmatch.3, rtnetlink.3, scandir.3, sem_init.3, setaliasent.3, setbuf.3, setenv.3, setjmp.3, signbit.3, stdio_ext.3, strtod.3, strtol.3, strtoul.3, system.3, termios.3, timeradd.3, tzset.3, ualarm.3, wctomb.3, xdr.3, st.4, tty_ioctl.4, core.5, elf.5, proc.5, bootparam.7, capabilities.7, icmp.7, ip.7, ipv6.7, math_error.7, mdoc.samples.7, mq_overview.7, pthreads.7, raw.7, regex.7, socket.7, tcp.7, tzselect.8: Global fix: s/non-zero/nonzero/
The tendency in English, as prescribed in style guides like
Chicago MoS, is towards removing hyphens after prefixes
like "non-" etc.
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2010-01-16 16:40:55 +00:00
|
|
|
structure, with nonzero bits or fields indicating a
|
2004-11-03 13:51:07 +00:00
|
|
|
locked value.
|
|
|
|
.TP
|
|
|
|
.BI "TIOCGLCKTRMIOS struct termios *" argp
|
2008-10-16 14:18:44 +00:00
|
|
|
Gets the locking status of the
|
|
|
|
.I termios
|
|
|
|
structure of the terminal.
|
2004-11-03 13:51:07 +00:00
|
|
|
.TP
|
|
|
|
.BI "TIOCSLCKTRMIOS const struct termios *" argp
|
2008-10-16 14:18:44 +00:00
|
|
|
Sets the locking status of the
|
|
|
|
.I termios
|
|
|
|
structure of the terminal.
|
2008-10-16 15:27:10 +00:00
|
|
|
Only root (more precisely: a process with the
|
|
|
|
.BR CAP_SYS_ADMIN
|
|
|
|
capability) can do this.
|
intro.1, time.1, _syscall.2, accept.2, brk.2, capget.2, faccessat.2, futimesat.2, gethostname.2, intro.2, ioprio_set.2, kill.2, madvise.2, mlock.2, mount.2, msgget.2, perf_event_open.2, poll.2, readv.2, sched_rr_get_interval.2, sched_setscheduler.2, select.2, select_tut.2, shmget.2, stat.2, timer_create.2, ustat.2, vfork.2, wait.2, alloca.3, atexit.3, catopen.3, crypt.3, dbopen.3, fenv.3, fopen.3, getaddrinfo_a.3, gethostbyname.3, getutent.3, intro.3, login.3, mallopt.3, queue.3, regex.3, sigpause.3, sigsetops.3, stdio.3, strftime.3, strptime.3, sysconf.3, ttyslot.3, undocumented.3, cciss.4, console_codes.4, hpsa.4, initrd.4, intro.4, rtc.4, st.4, tty_ioctl.4, wavelan.4, acct.5, charmap.5, dir_colors.5, hosts.5, intro.5, termcap.5, utmp.5, intro.6, armscii-8.7, boot.7, bootparam.7, capabilities.7, cpuset.7, credentials.7, ddp.7, epoll.7, glob.7, intro.7, ip.7, ipv6.7, iso_8859-1.7, iso_8859-10.7, iso_8859-11.7, iso_8859-13.7, iso_8859-14.7, iso_8859-15.7, iso_8859-16.7, iso_8859-2.7, iso_8859-3.7, iso_8859-4.7, iso_8859-5.7, iso_8859-6.7, iso_8859-7.7, iso_8859-8.7, iso_8859-9.7, koi8-r.7, koi8-u.7, man-pages.7, man.7, math_error.7, netlink.7, numa.7, packet.7, path_resolution.7, pipe.7, pthreads.7, raw.7, rtnetlink.7, signal.7, socket.7, spufs.7, svipc.7, tcp.7, time.7, udp.7, udplite.7, unicode.7, unix.7, uri.7, utf-8.7, x25.7, intro.8: Global fix: use consistent capitalization in .SS headings
Capitalization in .SS sections across pages (and sometimes even
within a single page) is wildly inconsistent. Make it consistent.
Capitalize first word in heading, but otherwise use lower case,
except where English usage (e.g., proper nouns) or programming
language requirements (e.g., identifier names) dictate otherwise.
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2013-02-24 14:08:38 +00:00
|
|
|
.SS "Get and set window size"
|
2004-11-03 13:51:07 +00:00
|
|
|
Window sizes are kept in the kernel, but not used by the kernel
|
|
|
|
(except in the case of virtual consoles, where the kernel will
|
|
|
|
update the window size when the size of the virtual console changes,
|
2007-06-08 11:56:22 +00:00
|
|
|
for example, by loading a new font).
|
2008-07-15 12:07:41 +00:00
|
|
|
|
|
|
|
The following constants and structure are defined in
|
|
|
|
.IR <sys/ioctl.h> .
|
2004-11-03 13:51:07 +00:00
|
|
|
.TP
|
|
|
|
.BI "TIOCGWINSZ struct winsize *" argp
|
|
|
|
Get window size.
|
|
|
|
.TP
|
|
|
|
.BI "TIOCSWINSZ const struct winsize *" argp
|
|
|
|
Set window size.
|
|
|
|
.LP
|
|
|
|
The struct used by these ioctls is defined as
|
|
|
|
|
2007-12-23 14:14:04 +00:00
|
|
|
.in +4n
|
2004-11-03 13:51:07 +00:00
|
|
|
.nf
|
|
|
|
struct winsize {
|
2007-04-05 12:36:57 +00:00
|
|
|
unsigned short ws_row;
|
|
|
|
unsigned short ws_col;
|
|
|
|
unsigned short ws_xpixel; /* unused */
|
|
|
|
unsigned short ws_ypixel; /* unused */
|
2004-11-03 13:51:07 +00:00
|
|
|
};
|
|
|
|
.fi
|
2007-12-23 14:14:04 +00:00
|
|
|
.in
|
2004-11-03 13:51:07 +00:00
|
|
|
|
2007-06-21 05:38:48 +00:00
|
|
|
When the window size changes, a
|
|
|
|
.B SIGWINCH
|
|
|
|
signal is sent to the
|
2004-11-03 13:51:07 +00:00
|
|
|
foreground process group.
|
intro.1, time.1, _syscall.2, accept.2, brk.2, capget.2, faccessat.2, futimesat.2, gethostname.2, intro.2, ioprio_set.2, kill.2, madvise.2, mlock.2, mount.2, msgget.2, perf_event_open.2, poll.2, readv.2, sched_rr_get_interval.2, sched_setscheduler.2, select.2, select_tut.2, shmget.2, stat.2, timer_create.2, ustat.2, vfork.2, wait.2, alloca.3, atexit.3, catopen.3, crypt.3, dbopen.3, fenv.3, fopen.3, getaddrinfo_a.3, gethostbyname.3, getutent.3, intro.3, login.3, mallopt.3, queue.3, regex.3, sigpause.3, sigsetops.3, stdio.3, strftime.3, strptime.3, sysconf.3, ttyslot.3, undocumented.3, cciss.4, console_codes.4, hpsa.4, initrd.4, intro.4, rtc.4, st.4, tty_ioctl.4, wavelan.4, acct.5, charmap.5, dir_colors.5, hosts.5, intro.5, termcap.5, utmp.5, intro.6, armscii-8.7, boot.7, bootparam.7, capabilities.7, cpuset.7, credentials.7, ddp.7, epoll.7, glob.7, intro.7, ip.7, ipv6.7, iso_8859-1.7, iso_8859-10.7, iso_8859-11.7, iso_8859-13.7, iso_8859-14.7, iso_8859-15.7, iso_8859-16.7, iso_8859-2.7, iso_8859-3.7, iso_8859-4.7, iso_8859-5.7, iso_8859-6.7, iso_8859-7.7, iso_8859-8.7, iso_8859-9.7, koi8-r.7, koi8-u.7, man-pages.7, man.7, math_error.7, netlink.7, numa.7, packet.7, path_resolution.7, pipe.7, pthreads.7, raw.7, rtnetlink.7, signal.7, socket.7, spufs.7, svipc.7, tcp.7, time.7, udp.7, udplite.7, unicode.7, unix.7, uri.7, utf-8.7, x25.7, intro.8: Global fix: use consistent capitalization in .SS headings
Capitalization in .SS sections across pages (and sometimes even
within a single page) is wildly inconsistent. Make it consistent.
Capitalize first word in heading, but otherwise use lower case,
except where English usage (e.g., proper nouns) or programming
language requirements (e.g., identifier names) dictate otherwise.
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2013-02-24 14:08:38 +00:00
|
|
|
.SS "Sending a break"
|
2004-11-03 13:51:07 +00:00
|
|
|
.TP
|
|
|
|
.BI "TCSBRK int " arg
|
|
|
|
Equivalent to
|
|
|
|
.IR "tcsendbreak(fd, arg)" .
|
|
|
|
.br
|
|
|
|
If the terminal is using asynchronous serial data transmission, and
|
|
|
|
.I arg
|
|
|
|
is zero, then send a break (a stream of zero bits) for between
|
2007-04-12 22:42:49 +00:00
|
|
|
0.25 and 0.5 seconds.
|
|
|
|
If the terminal is not using asynchronous
|
2004-11-03 13:51:07 +00:00
|
|
|
serial data transmission, then either a break is sent, or the function
|
|
|
|
returns without doing anything.
|
|
|
|
When
|
|
|
|
.I arg
|
intro.1, time.1, adjtimex.2, capget.2, eventfd.2, fcntl.2, getrlimit.2, getsockopt.2, gettimeofday.2, intro.2, ioctl_list.2, ioperm.2, mlock.2, pivot_root.2, poll.2, prctl.2, ptrace.2, sched_setscheduler.2, select_tut.2, semget.2, sigaltstack.2, signalfd.2, sysctl.2, timer_settime.2, timerfd_create.2, wait.2, CPU_SET.3, argz_add.3, assert_perror.3, atexit.3, backtrace.3, bcmp.3, clearenv.3, ctime.3, dl_iterate_phdr.3, dlopen.3, ecvt.3, errno.3, error.3, ether_aton.3, exit.3, fenv.3, ferror.3, finite.3, flockfile.3, fnmatch.3, fpathconf.3, fpclassify.3, ftime.3, ftok.3, ftw.3, fwide.3, getaddrinfo.3, gethostbyname.3, getlogin.3, getnameinfo.3, getnetent.3, getopt.3, getprotoent.3, getrpcent.3, getservent.3, glob.3, hsearch.3, inet.3, isalpha.3, iswalnum.3, iswalpha.3, iswblank.3, iswcntrl.3, iswctype.3, iswdigit.3, iswgraph.3, iswlower.3, iswprint.3, iswpunct.3, iswspace.3, iswupper.3, iswxdigit.3, longjmp.3, lsearch.3, malloc.3, matherr.3, mblen.3, mbsinit.3, mbtowc.3, on_exit.3, printf.3, pthread_attr_init.3, pthread_attr_setaffinity_np.3, pthread_attr_setdetachstate.3, pthread_attr_setguardsize.3, pthread_attr_setinheritsched.3, pthread_attr_setschedparam.3, pthread_attr_setschedpolicy.3, pthread_attr_setscope.3, pthread_attr_setstack.3, pthread_attr_setstackaddr.3, pthread_attr_setstacksize.3, pthread_cancel.3, pthread_cleanup_push.3, pthread_equal.3, pthread_getattr_np.3, pthread_getcpuclockid.3, pthread_setaffinity_np.3, pthread_setcancelstate.3, pthread_setconcurrency.3, pthread_setschedparam.3, pthread_setschedprio.3, ptsname.3, putenv.3, putgrent.3, raise.3, rcmd.3, regex.3, rexec.3, rpc.3, rpmatch.3, rtnetlink.3, scandir.3, sem_init.3, setaliasent.3, setbuf.3, setenv.3, setjmp.3, signbit.3, stdio_ext.3, strtod.3, strtol.3, strtoul.3, system.3, termios.3, timeradd.3, tzset.3, ualarm.3, wctomb.3, xdr.3, st.4, tty_ioctl.4, core.5, elf.5, proc.5, bootparam.7, capabilities.7, icmp.7, ip.7, ipv6.7, math_error.7, mdoc.samples.7, mq_overview.7, pthreads.7, raw.7, regex.7, socket.7, tcp.7, tzselect.8: Global fix: s/non-zero/nonzero/
The tendency in English, as prescribed in style guides like
Chicago MoS, is towards removing hyphens after prefixes
like "non-" etc.
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2010-01-16 16:40:55 +00:00
|
|
|
is nonzero, nobody knows what will happen.
|
2004-11-03 13:51:07 +00:00
|
|
|
|
2006-08-03 13:58:01 +00:00
|
|
|
(SVr4, UnixWare, Solaris, Linux treat
|
2004-11-03 13:51:07 +00:00
|
|
|
.I "tcsendbreak(fd,arg)"
|
intro.1, time.1, adjtimex.2, capget.2, eventfd.2, fcntl.2, getrlimit.2, getsockopt.2, gettimeofday.2, intro.2, ioctl_list.2, ioperm.2, mlock.2, pivot_root.2, poll.2, prctl.2, ptrace.2, sched_setscheduler.2, select_tut.2, semget.2, sigaltstack.2, signalfd.2, sysctl.2, timer_settime.2, timerfd_create.2, wait.2, CPU_SET.3, argz_add.3, assert_perror.3, atexit.3, backtrace.3, bcmp.3, clearenv.3, ctime.3, dl_iterate_phdr.3, dlopen.3, ecvt.3, errno.3, error.3, ether_aton.3, exit.3, fenv.3, ferror.3, finite.3, flockfile.3, fnmatch.3, fpathconf.3, fpclassify.3, ftime.3, ftok.3, ftw.3, fwide.3, getaddrinfo.3, gethostbyname.3, getlogin.3, getnameinfo.3, getnetent.3, getopt.3, getprotoent.3, getrpcent.3, getservent.3, glob.3, hsearch.3, inet.3, isalpha.3, iswalnum.3, iswalpha.3, iswblank.3, iswcntrl.3, iswctype.3, iswdigit.3, iswgraph.3, iswlower.3, iswprint.3, iswpunct.3, iswspace.3, iswupper.3, iswxdigit.3, longjmp.3, lsearch.3, malloc.3, matherr.3, mblen.3, mbsinit.3, mbtowc.3, on_exit.3, printf.3, pthread_attr_init.3, pthread_attr_setaffinity_np.3, pthread_attr_setdetachstate.3, pthread_attr_setguardsize.3, pthread_attr_setinheritsched.3, pthread_attr_setschedparam.3, pthread_attr_setschedpolicy.3, pthread_attr_setscope.3, pthread_attr_setstack.3, pthread_attr_setstackaddr.3, pthread_attr_setstacksize.3, pthread_cancel.3, pthread_cleanup_push.3, pthread_equal.3, pthread_getattr_np.3, pthread_getcpuclockid.3, pthread_setaffinity_np.3, pthread_setcancelstate.3, pthread_setconcurrency.3, pthread_setschedparam.3, pthread_setschedprio.3, ptsname.3, putenv.3, putgrent.3, raise.3, rcmd.3, regex.3, rexec.3, rpc.3, rpmatch.3, rtnetlink.3, scandir.3, sem_init.3, setaliasent.3, setbuf.3, setenv.3, setjmp.3, signbit.3, stdio_ext.3, strtod.3, strtol.3, strtoul.3, system.3, termios.3, timeradd.3, tzset.3, ualarm.3, wctomb.3, xdr.3, st.4, tty_ioctl.4, core.5, elf.5, proc.5, bootparam.7, capabilities.7, icmp.7, ip.7, ipv6.7, math_error.7, mdoc.samples.7, mq_overview.7, pthreads.7, raw.7, regex.7, socket.7, tcp.7, tzselect.8: Global fix: s/non-zero/nonzero/
The tendency in English, as prescribed in style guides like
Chicago MoS, is towards removing hyphens after prefixes
like "non-" etc.
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2010-01-16 16:40:55 +00:00
|
|
|
with nonzero
|
2004-11-03 13:51:07 +00:00
|
|
|
.I arg
|
|
|
|
like
|
|
|
|
.IR "tcdrain(fd)" .
|
|
|
|
SunOS treats
|
|
|
|
.I arg
|
|
|
|
as a multiplier, and sends a stream of bits
|
|
|
|
.I arg
|
|
|
|
times as long as done for zero
|
|
|
|
.IR arg .
|
2006-08-03 13:58:01 +00:00
|
|
|
DG/UX and AIX treat
|
2004-11-03 13:51:07 +00:00
|
|
|
.I arg
|
intro.1, time.1, adjtimex.2, capget.2, eventfd.2, fcntl.2, getrlimit.2, getsockopt.2, gettimeofday.2, intro.2, ioctl_list.2, ioperm.2, mlock.2, pivot_root.2, poll.2, prctl.2, ptrace.2, sched_setscheduler.2, select_tut.2, semget.2, sigaltstack.2, signalfd.2, sysctl.2, timer_settime.2, timerfd_create.2, wait.2, CPU_SET.3, argz_add.3, assert_perror.3, atexit.3, backtrace.3, bcmp.3, clearenv.3, ctime.3, dl_iterate_phdr.3, dlopen.3, ecvt.3, errno.3, error.3, ether_aton.3, exit.3, fenv.3, ferror.3, finite.3, flockfile.3, fnmatch.3, fpathconf.3, fpclassify.3, ftime.3, ftok.3, ftw.3, fwide.3, getaddrinfo.3, gethostbyname.3, getlogin.3, getnameinfo.3, getnetent.3, getopt.3, getprotoent.3, getrpcent.3, getservent.3, glob.3, hsearch.3, inet.3, isalpha.3, iswalnum.3, iswalpha.3, iswblank.3, iswcntrl.3, iswctype.3, iswdigit.3, iswgraph.3, iswlower.3, iswprint.3, iswpunct.3, iswspace.3, iswupper.3, iswxdigit.3, longjmp.3, lsearch.3, malloc.3, matherr.3, mblen.3, mbsinit.3, mbtowc.3, on_exit.3, printf.3, pthread_attr_init.3, pthread_attr_setaffinity_np.3, pthread_attr_setdetachstate.3, pthread_attr_setguardsize.3, pthread_attr_setinheritsched.3, pthread_attr_setschedparam.3, pthread_attr_setschedpolicy.3, pthread_attr_setscope.3, pthread_attr_setstack.3, pthread_attr_setstackaddr.3, pthread_attr_setstacksize.3, pthread_cancel.3, pthread_cleanup_push.3, pthread_equal.3, pthread_getattr_np.3, pthread_getcpuclockid.3, pthread_setaffinity_np.3, pthread_setcancelstate.3, pthread_setconcurrency.3, pthread_setschedparam.3, pthread_setschedprio.3, ptsname.3, putenv.3, putgrent.3, raise.3, rcmd.3, regex.3, rexec.3, rpc.3, rpmatch.3, rtnetlink.3, scandir.3, sem_init.3, setaliasent.3, setbuf.3, setenv.3, setjmp.3, signbit.3, stdio_ext.3, strtod.3, strtol.3, strtoul.3, system.3, termios.3, timeradd.3, tzset.3, ualarm.3, wctomb.3, xdr.3, st.4, tty_ioctl.4, core.5, elf.5, proc.5, bootparam.7, capabilities.7, icmp.7, ip.7, ipv6.7, math_error.7, mdoc.samples.7, mq_overview.7, pthreads.7, raw.7, regex.7, socket.7, tcp.7, tzselect.8: Global fix: s/non-zero/nonzero/
The tendency in English, as prescribed in style guides like
Chicago MoS, is towards removing hyphens after prefixes
like "non-" etc.
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2010-01-16 16:40:55 +00:00
|
|
|
(when nonzero) as a time interval measured in milliseconds.
|
2004-11-03 13:51:07 +00:00
|
|
|
HP-UX ignores
|
|
|
|
.IR arg .)
|
|
|
|
.TP
|
|
|
|
.BI "TCSBRKP int " arg
|
2007-06-22 20:40:07 +00:00
|
|
|
So-called "POSIX version" of
|
|
|
|
.BR TCSBRK .
|
intro.1, time.1, adjtimex.2, capget.2, eventfd.2, fcntl.2, getrlimit.2, getsockopt.2, gettimeofday.2, intro.2, ioctl_list.2, ioperm.2, mlock.2, pivot_root.2, poll.2, prctl.2, ptrace.2, sched_setscheduler.2, select_tut.2, semget.2, sigaltstack.2, signalfd.2, sysctl.2, timer_settime.2, timerfd_create.2, wait.2, CPU_SET.3, argz_add.3, assert_perror.3, atexit.3, backtrace.3, bcmp.3, clearenv.3, ctime.3, dl_iterate_phdr.3, dlopen.3, ecvt.3, errno.3, error.3, ether_aton.3, exit.3, fenv.3, ferror.3, finite.3, flockfile.3, fnmatch.3, fpathconf.3, fpclassify.3, ftime.3, ftok.3, ftw.3, fwide.3, getaddrinfo.3, gethostbyname.3, getlogin.3, getnameinfo.3, getnetent.3, getopt.3, getprotoent.3, getrpcent.3, getservent.3, glob.3, hsearch.3, inet.3, isalpha.3, iswalnum.3, iswalpha.3, iswblank.3, iswcntrl.3, iswctype.3, iswdigit.3, iswgraph.3, iswlower.3, iswprint.3, iswpunct.3, iswspace.3, iswupper.3, iswxdigit.3, longjmp.3, lsearch.3, malloc.3, matherr.3, mblen.3, mbsinit.3, mbtowc.3, on_exit.3, printf.3, pthread_attr_init.3, pthread_attr_setaffinity_np.3, pthread_attr_setdetachstate.3, pthread_attr_setguardsize.3, pthread_attr_setinheritsched.3, pthread_attr_setschedparam.3, pthread_attr_setschedpolicy.3, pthread_attr_setscope.3, pthread_attr_setstack.3, pthread_attr_setstackaddr.3, pthread_attr_setstacksize.3, pthread_cancel.3, pthread_cleanup_push.3, pthread_equal.3, pthread_getattr_np.3, pthread_getcpuclockid.3, pthread_setaffinity_np.3, pthread_setcancelstate.3, pthread_setconcurrency.3, pthread_setschedparam.3, pthread_setschedprio.3, ptsname.3, putenv.3, putgrent.3, raise.3, rcmd.3, regex.3, rexec.3, rpc.3, rpmatch.3, rtnetlink.3, scandir.3, sem_init.3, setaliasent.3, setbuf.3, setenv.3, setjmp.3, signbit.3, stdio_ext.3, strtod.3, strtol.3, strtoul.3, system.3, termios.3, timeradd.3, tzset.3, ualarm.3, wctomb.3, xdr.3, st.4, tty_ioctl.4, core.5, elf.5, proc.5, bootparam.7, capabilities.7, icmp.7, ip.7, ipv6.7, math_error.7, mdoc.samples.7, mq_overview.7, pthreads.7, raw.7, regex.7, socket.7, tcp.7, tzselect.8: Global fix: s/non-zero/nonzero/
The tendency in English, as prescribed in style guides like
Chicago MoS, is towards removing hyphens after prefixes
like "non-" etc.
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2010-01-16 16:40:55 +00:00
|
|
|
It treats nonzero
|
2004-11-03 13:51:07 +00:00
|
|
|
.I arg
|
|
|
|
as a timeinterval measured in deciseconds, and does nothing
|
|
|
|
when the driver does not support breaks.
|
|
|
|
.TP
|
2007-09-20 16:26:31 +00:00
|
|
|
.B "TIOCSBRK void"
|
2004-11-03 13:51:07 +00:00
|
|
|
Turn break on, that is, start sending zero bits.
|
|
|
|
.TP
|
2007-09-20 16:26:31 +00:00
|
|
|
.B "TIOCCBRK void"
|
2004-11-03 13:51:07 +00:00
|
|
|
Turn break off, that is, stop sending zero bits.
|
|
|
|
.SS "Software flow control"
|
|
|
|
.TP
|
|
|
|
.BI "TCXONC int " arg
|
|
|
|
Equivalent to
|
|
|
|
.IR "tcflow(fd, arg)" .
|
|
|
|
.br
|
|
|
|
See
|
|
|
|
.BR tcflow (3)
|
2007-06-22 20:40:07 +00:00
|
|
|
for the argument values
|
|
|
|
.BR TCOOFF ,
|
|
|
|
.BR TCOON ,
|
|
|
|
.BR TCIOFF ,
|
|
|
|
.BR TCION .
|
2004-11-03 13:51:07 +00:00
|
|
|
.SS "Buffer count and flushing"
|
|
|
|
.TP
|
|
|
|
.BI "FIONREAD int *" argp
|
|
|
|
Get the number of bytes in the input buffer.
|
|
|
|
.TP
|
|
|
|
.BI "TIOCINQ int *" argp
|
2007-06-22 20:40:07 +00:00
|
|
|
Same as
|
|
|
|
.BR FIONREAD .
|
2004-11-03 13:51:07 +00:00
|
|
|
.TP
|
|
|
|
.BI "TIOCOUTQ int *" argp
|
|
|
|
Get the number of bytes in the output buffer.
|
|
|
|
.TP
|
|
|
|
.BI "TCFLSH int " arg
|
|
|
|
Equivalent to
|
|
|
|
.IR "tcflush(fd, arg)" .
|
|
|
|
.br
|
|
|
|
See
|
|
|
|
.BR tcflush (3)
|
2007-06-22 20:40:07 +00:00
|
|
|
for the argument values
|
|
|
|
.BR TCIFLUSH ,
|
|
|
|
.BR TCOFLUSH ,
|
|
|
|
.BR TCIOFLUSH .
|
2004-11-03 13:51:07 +00:00
|
|
|
.SS "Faking input"
|
|
|
|
.TP
|
|
|
|
.BI "TIOCSTI const char *" argp
|
|
|
|
Insert the given byte in the input queue.
|
|
|
|
.SS "Redirecting console output"
|
|
|
|
.TP
|
2007-09-20 16:26:31 +00:00
|
|
|
.B "TIOCCONS void"
|
2004-11-03 13:51:07 +00:00
|
|
|
Redirect output that would have gone to
|
|
|
|
.I /dev/console
|
|
|
|
or
|
|
|
|
.I /dev/tty0
|
2008-10-16 15:38:08 +00:00
|
|
|
to the given terminal.
|
open.2, poll.2, select_tut.2, getpt.3, openpty.3, posix_openpt.3, ptsname.3, unlockpt.3, pts.4, tty_ioctl.4, proc.5, pty.7: spfix: s/psuedoterminal/psuedoterminal/g
Reported-by: Denis Barbier <bouzim@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2010-10-13 03:32:15 +00:00
|
|
|
If that was a pseudoterminal master, send it to the slave.
|
2008-10-16 15:31:09 +00:00
|
|
|
In Linux before version 2.6.10,
|
|
|
|
anybody can do this as long as the output was not redirected yet;
|
|
|
|
since version 2.6.10, only root (a process with the
|
|
|
|
.BR CAP_SYS_ADMIN
|
|
|
|
capability) may do this.
|
|
|
|
If output was redirected already
|
2007-06-22 20:40:07 +00:00
|
|
|
.B EBUSY
|
|
|
|
is returned,
|
2008-10-16 15:31:09 +00:00
|
|
|
but redirection can be stopped by using this ioctl with
|
2004-11-03 13:51:07 +00:00
|
|
|
.I fd
|
|
|
|
pointing at
|
|
|
|
.I /dev/console
|
|
|
|
or
|
|
|
|
.IR /dev/tty0 .
|
2008-10-16 15:38:08 +00:00
|
|
|
.SS "Controlling terminal"
|
2004-11-03 13:51:07 +00:00
|
|
|
.TP
|
|
|
|
.BI "TIOCSCTTY int " arg
|
2008-10-16 15:38:08 +00:00
|
|
|
Make the given terminal the controlling terminal of the calling process.
|
2007-12-27 16:06:35 +00:00
|
|
|
The calling process must be a session leader and not have a
|
2008-10-16 15:38:08 +00:00
|
|
|
controlling terminal already.
|
|
|
|
If this terminal is already the controlling terminal
|
2007-06-22 20:40:07 +00:00
|
|
|
of a different session group then the ioctl fails with
|
|
|
|
.BR EPERM ,
|
2008-10-16 15:27:10 +00:00
|
|
|
unless the caller is root (more precisely: has the
|
|
|
|
.BR CAP_SYS_ADMIN
|
|
|
|
capability) and
|
2004-11-03 13:51:07 +00:00
|
|
|
.I arg
|
2008-10-16 15:38:08 +00:00
|
|
|
equals 1, in which case the terminal is stolen, and all processes that had
|
|
|
|
it as controlling terminal lose it.
|
2004-11-03 13:51:07 +00:00
|
|
|
.TP
|
2012-05-06 21:45:39 +00:00
|
|
|
.B "TIOCNOTTY void"
|
2008-10-16 15:38:08 +00:00
|
|
|
If the given terminal was the controlling terminal of the calling process,
|
|
|
|
give up this controlling terminal.
|
2007-04-12 22:42:49 +00:00
|
|
|
If the process was session leader,
|
2007-06-21 05:38:48 +00:00
|
|
|
then send
|
|
|
|
.B SIGHUP
|
|
|
|
and
|
|
|
|
.B SIGCONT
|
|
|
|
to the foreground process group
|
2008-10-16 15:38:08 +00:00
|
|
|
and all processes in the current session lose their controlling terminal.
|
2004-11-03 13:51:07 +00:00
|
|
|
.SS "Process group and session ID"
|
|
|
|
.TP
|
|
|
|
.BI "TIOCGPGRP pid_t *" argp
|
|
|
|
When successful, equivalent to
|
|
|
|
.IR "*argp = tcgetpgrp(fd)" .
|
|
|
|
.br
|
2008-10-16 15:38:08 +00:00
|
|
|
Get the process group ID of the foreground process group on this terminal.
|
2004-11-03 13:51:07 +00:00
|
|
|
.TP
|
|
|
|
.BI "TIOCSPGRP const pid_t *" argp
|
|
|
|
Equivalent to
|
|
|
|
.IR "tcsetpgrp(fd, *argp)" .
|
|
|
|
.br
|
2008-10-16 15:38:08 +00:00
|
|
|
Set the foreground process group ID of this terminal.
|
2004-11-03 13:51:07 +00:00
|
|
|
.TP
|
|
|
|
.BI "TIOCGSID pid_t *" argp
|
2008-10-16 15:38:08 +00:00
|
|
|
Get the session ID of the given terminal.
|
2007-06-22 20:40:07 +00:00
|
|
|
This will fail with
|
|
|
|
.B ENOTTY
|
open.2, poll.2, select_tut.2, getpt.3, openpty.3, posix_openpt.3, ptsname.3, unlockpt.3, pts.4, tty_ioctl.4, proc.5, pty.7: spfix: s/psuedoterminal/psuedoterminal/g
Reported-by: Denis Barbier <bouzim@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2010-10-13 03:32:15 +00:00
|
|
|
in case the terminal is not a master pseudoterminal
|
2008-10-16 15:38:08 +00:00
|
|
|
and not our controlling terminal.
|
2007-04-12 22:42:49 +00:00
|
|
|
Strange.
|
2004-11-03 13:51:07 +00:00
|
|
|
.SS "Exclusive mode"
|
|
|
|
.TP
|
2007-09-20 16:26:31 +00:00
|
|
|
.B "TIOCEXCL void"
|
2008-10-16 15:38:08 +00:00
|
|
|
Put the terminal into exclusive mode.
|
2004-11-03 13:51:07 +00:00
|
|
|
No further
|
|
|
|
.BR open (2)
|
|
|
|
operations on the terminal are permitted.
|
2007-06-22 20:40:07 +00:00
|
|
|
(They will fail with
|
|
|
|
.BR EBUSY ,
|
2008-10-16 15:27:10 +00:00
|
|
|
except for root, that is, a process with the
|
|
|
|
.BR CAP_SYS_ADMIN
|
|
|
|
capability.)
|
2004-11-03 13:51:07 +00:00
|
|
|
.TP
|
2007-09-20 16:26:31 +00:00
|
|
|
.B "TIOCNXCL void"
|
2004-11-03 13:51:07 +00:00
|
|
|
Disable exclusive mode.
|
|
|
|
.SS "Line discipline"
|
|
|
|
.TP
|
|
|
|
.BI "TIOCGETD int *" argp
|
2008-10-16 15:38:08 +00:00
|
|
|
Get the line discipline of the terminal.
|
2004-11-03 13:51:07 +00:00
|
|
|
.TP
|
|
|
|
.BI "TIOCSETD const int *" argp
|
2008-10-16 15:38:08 +00:00
|
|
|
Set the line discipline of the terminal.
|
2012-05-06 21:45:11 +00:00
|
|
|
.SS "Pseudoterminal ioctls"
|
2004-11-03 13:51:07 +00:00
|
|
|
.TP
|
|
|
|
.BI "TIOCPKT const int *" argp
|
|
|
|
Enable (when
|
|
|
|
.RI * argp
|
intro.1, time.1, adjtimex.2, capget.2, eventfd.2, fcntl.2, getrlimit.2, getsockopt.2, gettimeofday.2, intro.2, ioctl_list.2, ioperm.2, mlock.2, pivot_root.2, poll.2, prctl.2, ptrace.2, sched_setscheduler.2, select_tut.2, semget.2, sigaltstack.2, signalfd.2, sysctl.2, timer_settime.2, timerfd_create.2, wait.2, CPU_SET.3, argz_add.3, assert_perror.3, atexit.3, backtrace.3, bcmp.3, clearenv.3, ctime.3, dl_iterate_phdr.3, dlopen.3, ecvt.3, errno.3, error.3, ether_aton.3, exit.3, fenv.3, ferror.3, finite.3, flockfile.3, fnmatch.3, fpathconf.3, fpclassify.3, ftime.3, ftok.3, ftw.3, fwide.3, getaddrinfo.3, gethostbyname.3, getlogin.3, getnameinfo.3, getnetent.3, getopt.3, getprotoent.3, getrpcent.3, getservent.3, glob.3, hsearch.3, inet.3, isalpha.3, iswalnum.3, iswalpha.3, iswblank.3, iswcntrl.3, iswctype.3, iswdigit.3, iswgraph.3, iswlower.3, iswprint.3, iswpunct.3, iswspace.3, iswupper.3, iswxdigit.3, longjmp.3, lsearch.3, malloc.3, matherr.3, mblen.3, mbsinit.3, mbtowc.3, on_exit.3, printf.3, pthread_attr_init.3, pthread_attr_setaffinity_np.3, pthread_attr_setdetachstate.3, pthread_attr_setguardsize.3, pthread_attr_setinheritsched.3, pthread_attr_setschedparam.3, pthread_attr_setschedpolicy.3, pthread_attr_setscope.3, pthread_attr_setstack.3, pthread_attr_setstackaddr.3, pthread_attr_setstacksize.3, pthread_cancel.3, pthread_cleanup_push.3, pthread_equal.3, pthread_getattr_np.3, pthread_getcpuclockid.3, pthread_setaffinity_np.3, pthread_setcancelstate.3, pthread_setconcurrency.3, pthread_setschedparam.3, pthread_setschedprio.3, ptsname.3, putenv.3, putgrent.3, raise.3, rcmd.3, regex.3, rexec.3, rpc.3, rpmatch.3, rtnetlink.3, scandir.3, sem_init.3, setaliasent.3, setbuf.3, setenv.3, setjmp.3, signbit.3, stdio_ext.3, strtod.3, strtol.3, strtoul.3, system.3, termios.3, timeradd.3, tzset.3, ualarm.3, wctomb.3, xdr.3, st.4, tty_ioctl.4, core.5, elf.5, proc.5, bootparam.7, capabilities.7, icmp.7, ip.7, ipv6.7, math_error.7, mdoc.samples.7, mq_overview.7, pthreads.7, raw.7, regex.7, socket.7, tcp.7, tzselect.8: Global fix: s/non-zero/nonzero/
The tendency in English, as prescribed in style guides like
Chicago MoS, is towards removing hyphens after prefixes
like "non-" etc.
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2010-01-16 16:40:55 +00:00
|
|
|
is nonzero) or disable packet mode.
|
open.2, poll.2, select_tut.2, getpt.3, openpty.3, posix_openpt.3, ptsname.3, unlockpt.3, pts.4, tty_ioctl.4, proc.5, pty.7: spfix: s/psuedoterminal/psuedoterminal/g
Reported-by: Denis Barbier <bouzim@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2010-10-13 03:32:15 +00:00
|
|
|
Can be applied to the master side of a pseudoterminal only (and will return
|
2007-06-22 20:40:07 +00:00
|
|
|
.B ENOTTY
|
|
|
|
otherwise).
|
2007-04-12 22:42:49 +00:00
|
|
|
In packet mode, each subsequent
|
2004-11-03 13:51:07 +00:00
|
|
|
.BR read (2)
|
intro.1, time.1, adjtimex.2, capget.2, eventfd.2, fcntl.2, getrlimit.2, getsockopt.2, gettimeofday.2, intro.2, ioctl_list.2, ioperm.2, mlock.2, pivot_root.2, poll.2, prctl.2, ptrace.2, sched_setscheduler.2, select_tut.2, semget.2, sigaltstack.2, signalfd.2, sysctl.2, timer_settime.2, timerfd_create.2, wait.2, CPU_SET.3, argz_add.3, assert_perror.3, atexit.3, backtrace.3, bcmp.3, clearenv.3, ctime.3, dl_iterate_phdr.3, dlopen.3, ecvt.3, errno.3, error.3, ether_aton.3, exit.3, fenv.3, ferror.3, finite.3, flockfile.3, fnmatch.3, fpathconf.3, fpclassify.3, ftime.3, ftok.3, ftw.3, fwide.3, getaddrinfo.3, gethostbyname.3, getlogin.3, getnameinfo.3, getnetent.3, getopt.3, getprotoent.3, getrpcent.3, getservent.3, glob.3, hsearch.3, inet.3, isalpha.3, iswalnum.3, iswalpha.3, iswblank.3, iswcntrl.3, iswctype.3, iswdigit.3, iswgraph.3, iswlower.3, iswprint.3, iswpunct.3, iswspace.3, iswupper.3, iswxdigit.3, longjmp.3, lsearch.3, malloc.3, matherr.3, mblen.3, mbsinit.3, mbtowc.3, on_exit.3, printf.3, pthread_attr_init.3, pthread_attr_setaffinity_np.3, pthread_attr_setdetachstate.3, pthread_attr_setguardsize.3, pthread_attr_setinheritsched.3, pthread_attr_setschedparam.3, pthread_attr_setschedpolicy.3, pthread_attr_setscope.3, pthread_attr_setstack.3, pthread_attr_setstackaddr.3, pthread_attr_setstacksize.3, pthread_cancel.3, pthread_cleanup_push.3, pthread_equal.3, pthread_getattr_np.3, pthread_getcpuclockid.3, pthread_setaffinity_np.3, pthread_setcancelstate.3, pthread_setconcurrency.3, pthread_setschedparam.3, pthread_setschedprio.3, ptsname.3, putenv.3, putgrent.3, raise.3, rcmd.3, regex.3, rexec.3, rpc.3, rpmatch.3, rtnetlink.3, scandir.3, sem_init.3, setaliasent.3, setbuf.3, setenv.3, setjmp.3, signbit.3, stdio_ext.3, strtod.3, strtol.3, strtoul.3, system.3, termios.3, timeradd.3, tzset.3, ualarm.3, wctomb.3, xdr.3, st.4, tty_ioctl.4, core.5, elf.5, proc.5, bootparam.7, capabilities.7, icmp.7, ip.7, ipv6.7, math_error.7, mdoc.samples.7, mq_overview.7, pthreads.7, raw.7, regex.7, socket.7, tcp.7, tzselect.8: Global fix: s/non-zero/nonzero/
The tendency in English, as prescribed in style guides like
Chicago MoS, is towards removing hyphens after prefixes
like "non-" etc.
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2010-01-16 16:40:55 +00:00
|
|
|
will return a packet that either contains a single nonzero control byte,
|
2008-06-09 15:49:35 +00:00
|
|
|
or has a single byte containing zero (\(aq\0\(aq) followed by data
|
open.2, poll.2, select_tut.2, getpt.3, openpty.3, posix_openpt.3, ptsname.3, unlockpt.3, pts.4, tty_ioctl.4, proc.5, pty.7: spfix: s/psuedoterminal/psuedoterminal/g
Reported-by: Denis Barbier <bouzim@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2010-10-13 03:32:15 +00:00
|
|
|
written on the slave side of the pseudoterminal.
|
2007-06-22 20:40:07 +00:00
|
|
|
If the first byte is not
|
|
|
|
.B TIOCPKT_DATA
|
|
|
|
(0), it is an OR of one
|
2004-11-03 13:51:07 +00:00
|
|
|
or more of the following bits:
|
|
|
|
|
|
|
|
.nf
|
|
|
|
TIOCPKT_FLUSHREAD The read queue for the terminal is flushed.
|
|
|
|
TIOCPKT_FLUSHWRITE The write queue for the terminal is flushed.
|
|
|
|
TIOCPKT_STOP Output to the terminal is stopped.
|
|
|
|
TIOCPKT_START Output to the terminal is restarted.
|
2008-06-10 08:44:34 +00:00
|
|
|
TIOCPKT_DOSTOP The start and stop characters are \fB^S\fP/\fB^Q\fP.
|
|
|
|
TIOCPKT_NOSTOP The start and stop characters are not \fB^S\fP/\fB^Q\fP.
|
2004-11-03 13:51:07 +00:00
|
|
|
.fi
|
|
|
|
|
|
|
|
While this mode is in use, the presence
|
|
|
|
of control status information to be read
|
|
|
|
from the master side may be detected by a
|
|
|
|
.BR select (2)
|
|
|
|
for exceptional conditions.
|
|
|
|
|
|
|
|
This mode is used by
|
|
|
|
.BR rlogin (1)
|
|
|
|
and
|
|
|
|
.BR rlogind (8)
|
2008-06-09 15:49:35 +00:00
|
|
|
to implement a remote-echoed,
|
2008-06-10 08:44:34 +00:00
|
|
|
locally \fB^S\fP/\fB^Q\fP flow-controlled remote login.
|
2004-11-03 13:51:07 +00:00
|
|
|
|
2007-06-22 20:40:07 +00:00
|
|
|
The BSD ioctls
|
|
|
|
.BR TIOCSTOP ,
|
|
|
|
.BR TIOCSTART ,
|
|
|
|
.BR TIOCUCNTL ,
|
2007-09-20 16:26:31 +00:00
|
|
|
.B TIOCREMOTE
|
2004-11-03 13:51:07 +00:00
|
|
|
have not been implemented under Linux.
|
|
|
|
.SS "Modem control"
|
|
|
|
.TP
|
|
|
|
.BI "TIOCMGET int *" argp
|
|
|
|
get the status of modem bits.
|
|
|
|
.TP
|
|
|
|
.BI "TIOCMSET const int *" argp
|
|
|
|
set the status of modem bits.
|
|
|
|
.TP
|
|
|
|
.BI "TIOCMBIC const int *" argp
|
|
|
|
clear the indicated modem bits.
|
|
|
|
.TP
|
|
|
|
.BI "TIOCMBIS const int *" argp
|
|
|
|
set the indicated modem bits.
|
|
|
|
.LP
|
|
|
|
Bits used by these four ioctls:
|
|
|
|
|
|
|
|
.nf
|
|
|
|
TIOCM_LE DSR (data set ready/line enable)
|
|
|
|
TIOCM_DTR DTR (data terminal ready)
|
|
|
|
TIOCM_RTS RTS (request to send)
|
|
|
|
TIOCM_ST Secondary TXD (transmit)
|
|
|
|
TIOCM_SR Secondary RXD (receive)
|
|
|
|
TIOCM_CTS CTS (clear to send)
|
|
|
|
TIOCM_CAR DCD (data carrier detect)
|
|
|
|
TIOCM_CD see TIOCM_CAR
|
|
|
|
TIOCM_RNG RNG (ring)
|
|
|
|
TIOCM_RI see TIOCM_RNG
|
|
|
|
TIOCM_DSR DSR (data set ready)
|
|
|
|
.fi
|
|
|
|
.SS "Marking a line as local"
|
|
|
|
.TP
|
|
|
|
.BI "TIOCGSOFTCAR int *" argp
|
|
|
|
("Get software carrier flag")
|
|
|
|
Get the status of the CLOCAL flag in the c_cflag field of the
|
2008-10-16 14:18:44 +00:00
|
|
|
.I termios
|
|
|
|
structure.
|
2004-11-03 13:51:07 +00:00
|
|
|
.TP
|
|
|
|
.BI "TIOCSSOFTCAR const int *" argp
|
|
|
|
("Set software carrier flag")
|
2008-10-16 14:18:44 +00:00
|
|
|
Set the CLOCAL flag in the
|
|
|
|
.I termios
|
|
|
|
structure when
|
2004-11-03 13:51:07 +00:00
|
|
|
.RI * argp
|
intro.1, time.1, adjtimex.2, capget.2, eventfd.2, fcntl.2, getrlimit.2, getsockopt.2, gettimeofday.2, intro.2, ioctl_list.2, ioperm.2, mlock.2, pivot_root.2, poll.2, prctl.2, ptrace.2, sched_setscheduler.2, select_tut.2, semget.2, sigaltstack.2, signalfd.2, sysctl.2, timer_settime.2, timerfd_create.2, wait.2, CPU_SET.3, argz_add.3, assert_perror.3, atexit.3, backtrace.3, bcmp.3, clearenv.3, ctime.3, dl_iterate_phdr.3, dlopen.3, ecvt.3, errno.3, error.3, ether_aton.3, exit.3, fenv.3, ferror.3, finite.3, flockfile.3, fnmatch.3, fpathconf.3, fpclassify.3, ftime.3, ftok.3, ftw.3, fwide.3, getaddrinfo.3, gethostbyname.3, getlogin.3, getnameinfo.3, getnetent.3, getopt.3, getprotoent.3, getrpcent.3, getservent.3, glob.3, hsearch.3, inet.3, isalpha.3, iswalnum.3, iswalpha.3, iswblank.3, iswcntrl.3, iswctype.3, iswdigit.3, iswgraph.3, iswlower.3, iswprint.3, iswpunct.3, iswspace.3, iswupper.3, iswxdigit.3, longjmp.3, lsearch.3, malloc.3, matherr.3, mblen.3, mbsinit.3, mbtowc.3, on_exit.3, printf.3, pthread_attr_init.3, pthread_attr_setaffinity_np.3, pthread_attr_setdetachstate.3, pthread_attr_setguardsize.3, pthread_attr_setinheritsched.3, pthread_attr_setschedparam.3, pthread_attr_setschedpolicy.3, pthread_attr_setscope.3, pthread_attr_setstack.3, pthread_attr_setstackaddr.3, pthread_attr_setstacksize.3, pthread_cancel.3, pthread_cleanup_push.3, pthread_equal.3, pthread_getattr_np.3, pthread_getcpuclockid.3, pthread_setaffinity_np.3, pthread_setcancelstate.3, pthread_setconcurrency.3, pthread_setschedparam.3, pthread_setschedprio.3, ptsname.3, putenv.3, putgrent.3, raise.3, rcmd.3, regex.3, rexec.3, rpc.3, rpmatch.3, rtnetlink.3, scandir.3, sem_init.3, setaliasent.3, setbuf.3, setenv.3, setjmp.3, signbit.3, stdio_ext.3, strtod.3, strtol.3, strtoul.3, system.3, termios.3, timeradd.3, tzset.3, ualarm.3, wctomb.3, xdr.3, st.4, tty_ioctl.4, core.5, elf.5, proc.5, bootparam.7, capabilities.7, icmp.7, ip.7, ipv6.7, math_error.7, mdoc.samples.7, mq_overview.7, pthreads.7, raw.7, regex.7, socket.7, tcp.7, tzselect.8: Global fix: s/non-zero/nonzero/
The tendency in English, as prescribed in style guides like
Chicago MoS, is towards removing hyphens after prefixes
like "non-" etc.
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2010-01-16 16:40:55 +00:00
|
|
|
is nonzero, and clear it otherwise.
|
2004-11-03 13:51:07 +00:00
|
|
|
.LP
|
2007-06-22 20:40:07 +00:00
|
|
|
If the
|
|
|
|
.B CLOCAL
|
|
|
|
flag for a line is off, the hardware carrier detect (DCD)
|
2004-11-03 13:51:07 +00:00
|
|
|
signal is significant, and an
|
|
|
|
.BR open (2)
|
2008-10-16 15:38:08 +00:00
|
|
|
of the corresponding terminal will block until DCD is asserted,
|
2007-06-22 20:40:07 +00:00
|
|
|
unless the
|
|
|
|
.B O_NONBLOCK
|
|
|
|
flag is given.
|
|
|
|
If
|
|
|
|
.B CLOCAL
|
|
|
|
is set, the line behaves as if DCD is always asserted.
|
2004-11-03 13:51:07 +00:00
|
|
|
The software carrier flag is usually turned on for local devices,
|
|
|
|
and is off for lines with modems.
|
2007-12-25 21:28:09 +00:00
|
|
|
.SS "Linux-specific"
|
2007-06-22 20:40:07 +00:00
|
|
|
For the
|
|
|
|
.B TIOCLINUX
|
|
|
|
ioctl, see
|
2004-11-03 13:51:07 +00:00
|
|
|
.BR console_ioctl (4).
|
|
|
|
.SS "Kernel debugging"
|
2007-09-20 16:26:31 +00:00
|
|
|
.B "#include <linux/tty.h>"
|
2004-11-03 13:51:07 +00:00
|
|
|
.TP
|
|
|
|
.BI "TIOCTTYGSTRUCT struct tty_struct *" argp
|
2007-12-13 20:46:58 +00:00
|
|
|
Get the
|
|
|
|
.I tty_struct
|
|
|
|
corresponding to
|
2004-11-03 13:51:07 +00:00
|
|
|
.IR fd .
|
2007-04-12 22:42:49 +00:00
|
|
|
.\"
|
2004-11-03 13:51:07 +00:00
|
|
|
.\" .SS "Serial info"
|
|
|
|
.\" .BR "#include <linux/serial.h>"
|
|
|
|
.\" .sp
|
|
|
|
.\" .TP
|
|
|
|
.\" .BI "TIOCGSERIAL struct serial_struct *" argp
|
|
|
|
.\" Get serial info.
|
|
|
|
.\" .TP
|
|
|
|
.\" .BI "TIOCSSERIAL const struct serial_struct *" argp
|
|
|
|
.\" Set serial info.
|
getent.1, intro.1, time.1, _exit.2, _syscall.2, accept.2, access.2, acct.2, adjtimex.2, alarm.2, alloc_hugepages.2, arch_prctl.2, bdflush.2, bind.2, brk.2, cacheflush.2, capget.2, chdir.2, chmod.2, chown.2, chroot.2, clock_getres.2, clock_nanosleep.2, clone.2, close.2, connect.2, create_module.2, delete_module.2, dup.2, epoll_create.2, epoll_ctl.2, epoll_wait.2, eventfd.2, execve.2, exit_group.2, faccessat.2, fchmodat.2, fchownat.2, fcntl.2, flock.2, fork.2, fstatat.2, fsync.2, futex.2, futimesat.2, get_kernel_syms.2, get_robust_list.2, get_thread_area.2, getcpu.2, getdents.2, getdomainname.2, getgid.2, getgroups.2, gethostname.2, getitimer.2, getpagesize.2, getpeername.2, getpid.2, getpriority.2, getresuid.2, getrlimit.2, getrusage.2, getsid.2, getsockname.2, getsockopt.2, gettid.2, gettimeofday.2, getuid.2, getunwind.2, getxattr.2, idle.2, init_module.2, inotify_add_watch.2, inotify_init.2, inotify_rm_watch.2, intro.2, io_cancel.2, io_destroy.2, io_getevents.2, io_setup.2, io_submit.2, ioctl.2, ioctl_list.2, ioperm.2, iopl.2, ioprio_set.2, ipc.2, kcmp.2, kill.2, killpg.2, link.2, linkat.2, listen.2, listxattr.2, llseek.2, lookup_dcookie.2, lseek.2, madvise.2, migrate_pages.2, mincore.2, mkdir.2, mkdirat.2, mknod.2, mknodat.2, mlock.2, mmap.2, mmap2.2, modify_ldt.2, mount.2, move_pages.2, mprotect.2, mq_getsetattr.2, mremap.2, msgctl.2, msgget.2, msgop.2, msync.2, nanosleep.2, nfsservctl.2, nice.2, open.2, openat.2, outb.2, pause.2, pciconfig_read.2, perf_event_open.2, perfmonctl.2, personality.2, pipe.2, pivot_root.2, poll.2, posix_fadvise.2, prctl.2, pread.2, process_vm_readv.2, ptrace.2, query_module.2, quotactl.2, read.2, readahead.2, readdir.2, readlink.2, readlinkat.2, readv.2, reboot.2, recv.2, remap_file_pages.2, removexattr.2, rename.2, renameat.2, rmdir.2, rt_sigqueueinfo.2, sched_get_priority_max.2, sched_rr_get_interval.2, sched_setaffinity.2, sched_setparam.2, sched_setscheduler.2, sched_yield.2, select.2, semctl.2, semget.2, semop.2, send.2, sendfile.2, set_thread_area.2, set_tid_address.2, seteuid.2, setfsgid.2, setfsuid.2, setgid.2, setpgid.2, setresuid.2, setreuid.2, setsid.2, setuid.2, setup.2, setxattr.2, shmctl.2, shmget.2, shmop.2, shutdown.2, sigaction.2, sigaltstack.2, signal.2, signalfd.2, sigpending.2, sigprocmask.2, sigreturn.2, sigsuspend.2, sigwaitinfo.2, socket.2, socketcall.2, socketpair.2, splice.2, stat.2, statfs.2, stime.2, swapon.2, symlink.2, symlinkat.2, sync.2, sync_file_range.2, sysctl.2, sysfs.2, sysinfo.2, syslog.2, tee.2, time.2, timerfd_create.2, times.2, tkill.2, truncate.2, umask.2, umount.2, uname.2, unimplemented.2, unlink.2, unlinkat.2, uselib.2, ustat.2, utime.2, utimensat.2, vfork.2, vhangup.2, vm86.2, vmsplice.2, wait.2, wait4.2, write.2, CPU_SET.3, INFINITY.3, MB_CUR_MAX.3, MB_LEN_MAX.3, __setfpucw.3, a64l.3, abort.3, abs.3, acos.3, acosh.3, addseverity.3, adjtime.3, aio_cancel.3, aio_error.3, aio_fsync.3, aio_read.3, aio_return.3, aio_suspend.3, aio_write.3, alloca.3, argz_add.3, asin.3, asinh.3, asprintf.3, assert.3, assert_perror.3, atan.3, atan2.3, atanh.3, atexit.3, atof.3, atoi.3, backtrace.3, basename.3, bcmp.3, bcopy.3, bindresvport.3, bsd_signal.3, bsearch.3, bstring.3, btowc.3, btree.3, byteorder.3, bzero.3, cabs.3, cacos.3, cacosh.3, canonicalize_file_name.3, carg.3, casin.3, casinh.3, catan.3, catanh.3, catgets.3, catopen.3, cbrt.3, ccos.3, ccosh.3, ceil.3, cerf.3, cexp.3, cexp2.3, cfree.3, cimag.3, clearenv.3, clock.3, clock_getcpuclockid.3, clog.3, clog10.3, clog2.3, closedir.3, cmsg.3, confstr.3, conj.3, copysign.3, cos.3, cosh.3, cpow.3, cproj.3, creal.3, crypt.3, csin.3, csinh.3, csqrt.3, ctan.3, ctanh.3, ctermid.3, ctime.3, daemon.3, dbopen.3, des_crypt.3, difftime.3, dirfd.3, div.3, dl_iterate_phdr.3, dlopen.3, dprintf.3, drand48.3, drand48_r.3, dysize.3, ecvt.3, ecvt_r.3, encrypt.3, end.3, endian.3, envz_add.3, erf.3, erfc.3, err.3, errno.3, error.3, ether_aton.3, euidaccess.3, exec.3, exit.3, exp.3, exp10.3, exp2.3, expm1.3, fabs.3, fclose.3, fcloseall.3, fdim.3, fenv.3, ferror.3, fexecve.3, fflush.3, ffs.3, fgetgrent.3, fgetpwent.3, fgetwc.3, fgetws.3, finite.3, flockfile.3, floor.3, fma.3, fmax.3, fmemopen.3, fmin.3, fmod.3, fmtmsg.3, fnmatch.3, fopen.3, fpathconf.3, fpclassify.3, fpurge.3, fputwc.3, fputws.3, fread.3, frexp.3, fseek.3, fseeko.3, ftime.3, ftok.3, fts.3, ftw.3, futimes.3, fwide.3, gamma.3, gcvt.3, getaddrinfo.3, getaddrinfo_a.3, getauxval.3, getcontext.3, getcwd.3, getdate.3, getdirentries.3, getdtablesize.3, getenv.3, getfsent.3, getgrent.3, getgrent_r.3, getgrnam.3, getgrouplist.3, gethostbyname.3, gethostid.3, getipnodebyname.3, getline.3, getloadavg.3, getlogin.3, getmntent.3, getnameinfo.3, getnetent.3, getnetent_r.3, getopt.3, getpass.3, getprotoent.3, getprotoent_r.3, getpt.3, getpw.3, getpwent.3, getpwent_r.3, getpwnam.3, getrpcent.3, getrpcent_r.3, getrpcport.3, gets.3, getservent.3, getservent_r.3, getspnam.3, getttyent.3, getumask.3, getusershell.3, getutent.3, getw.3, getwchar.3, glob.3, grantpt.3, gsignal.3, hash.3, hsearch.3, hypot.3, iconv.3, iconv_close.3, iconv_open.3, ilogb.3, index.3, inet.3, inet_ntop.3, inet_pton.3, infnan.3, initgroups.3, insque.3, intro.3, isalpha.3, isatty.3, isgreater.3, iswalnum.3, iswalpha.3, iswblank.3, iswcntrl.3, iswctype.3, iswdigit.3, iswgraph.3, iswlower.3, iswprint.3, iswpunct.3, iswspace.3, iswupper.3, iswxdigit.3, j0.3, key_setsecret.3, ldexp.3, lgamma.3, lio_listio.3, localeconv.3, lockf.3, log.3, log10.3, log1p.3, log2.3, logb.3, login.3, longjmp.3, lrint.3, lround.3, lsearch.3, lseek64.3, makecontext.3, makedev.3, malloc.3, malloc_hook.3, mblen.3, mbrlen.3, mbrtowc.3, mbsinit.3, mbsnrtowcs.3, mbsrtowcs.3, mbstowcs.3, mbtowc.3, memccpy.3, memchr.3, memcmp.3, memcpy.3, memfrob.3, memmem.3, memmove.3, mempcpy.3, memset.3, mkdtemp.3, mkfifo.3, mkfifoat.3, mkstemp.3, mktemp.3, modf.3, mpool.3, mq_close.3, mq_getattr.3, mq_notify.3, mq_open.3, mq_receive.3, mq_send.3, mq_unlink.3, mtrace.3, nan.3, netlink.3, nextafter.3, nl_langinfo.3, offsetof.3, on_exit.3, opendir.3, openpty.3, perror.3, popen.3, posix_fallocate.3, posix_memalign.3, posix_openpt.3, pow.3, pow10.3, printf.3, profil.3, program_invocation_name.3, psignal.3, pthread_kill_other_threads_np.3, ptsname.3, putenv.3, putgrent.3, putpwent.3, puts.3, putwchar.3, qecvt.3, qsort.3, queue.3, raise.3, rand.3, random.3, random_r.3, rcmd.3, re_comp.3, readdir.3, realpath.3, recno.3, regex.3, remainder.3, remove.3, remquo.3, resolver.3, rewinddir.3, rexec.3, rint.3, round.3, rpc.3, rpmatch.3, rtime.3, rtnetlink.3, scalb.3, scalbln.3, scandir.3, scandirat.3, scanf.3, seekdir.3, sem_close.3, sem_destroy.3, sem_getvalue.3, sem_init.3, sem_open.3, sem_post.3, sem_unlink.3, sem_wait.3, setaliasent.3, setbuf.3, setenv.3, setjmp.3, setlocale.3, setlogmask.3, setnetgrent.3, shm_open.3, siginterrupt.3, signbit.3, significand.3, sigpause.3, sigqueue.3, sigset.3, sigsetops.3, sigvec.3, sin.3, sincos.3, sinh.3, sleep.3, sockatmark.3, sqrt.3, statvfs.3, stdarg.3, stdin.3, stdio.3, stdio_ext.3, stpcpy.3, stpncpy.3, strcasecmp.3, strcat.3, strchr.3, strcmp.3, strcoll.3, strcpy.3, strdup.3, strerror.3, strfmon.3, strfry.3, strftime.3, string.3, strlen.3, strnlen.3, strpbrk.3, strptime.3, strsep.3, strsignal.3, strspn.3, strstr.3, strtod.3, strtoimax.3, strtok.3, strtol.3, strtoul.3, strverscmp.3, strxfrm.3, swab.3, sysconf.3, syslog.3, system.3, sysv_signal.3, tan.3, tanh.3, tcgetpgrp.3, tcgetsid.3, telldir.3, tempnam.3, termios.3, tgamma.3, timegm.3, timeradd.3, tmpfile.3, tmpnam.3, toascii.3, toupper.3, towctrans.3, towlower.3, towupper.3, trunc.3, tsearch.3, ttyname.3, ttyslot.3, tzset.3, ualarm.3, ulimit.3, ungetwc.3, unlocked_stdio.3, unlockpt.3, updwtmp.3, usleep.3, wcpcpy.3, wcpncpy.3, wcrtomb.3, wcscasecmp.3, wcscat.3, wcschr.3, wcscmp.3, wcscpy.3, wcscspn.3, wcsdup.3, wcslen.3, wcsncasecmp.3, wcsncat.3, wcsncmp.3, wcsncpy.3, wcsnlen.3, wcsnrtombs.3, wcspbrk.3, wcsrchr.3, wcsrtombs.3, wcsspn.3, wcsstr.3, wcstoimax.3, wcstok.3, wcstombs.3, wcswidth.3, wctob.3, wctomb.3, wctrans.3, wctype.3, wcwidth.3, wmemchr.3, wmemcmp.3, wmemcpy.3, wmemmove.3, wmemset.3, wordexp.3, wprintf.3, xcrypt.3, xdr.3, y0.3, cciss.4, console.4, console_codes.4, console_ioctl.4, dsp56k.4, fd.4, full.4, hd.4, hpsa.4, initrd.4, intro.4, lp.4, mem.4, mouse.4, null.4, pts.4, ram.4, random.4, rtc.4, sk98lin.4, st.4, tty.4, ttyS.4, tty_ioctl.4, vcs.4, wavelan.4, acct.5, charmap.5, dir_colors.5, filesystems.5, ftpusers.5, group.5, host.conf.5, hosts.5, hosts.equiv.5, intro.5, issue.5, locale.5, motd.5, networks.5, nologin.5, nscd.conf.5, passwd.5, proc.5, protocols.5, resolv.conf.5, rpc.5, securetty.5, services.5, shells.5, termcap.5, ttytype.5, utmp.5, armscii-8.7, arp.7, ascii.7, bootparam.7, capabilities.7, charsets.7, complex.7, cp1251.7, credentials.7, ddp.7, environ.7, epoll.7, fifo.7, futex.7, glob.7, hier.7, icmp.7, inotify.7, intro.7, ip.7, ipv6.7, iso_8859-1.7, iso_8859-10.7, iso_8859-11.7, iso_8859-13.7, iso_8859-14.7, iso_8859-15.7, iso_8859-16.7, iso_8859-2.7, iso_8859-3.7, iso_8859-4.7, iso_8859-5.7, iso_8859-6.7, iso_8859-7.7, iso_8859-8.7, iso_8859-9.7, koi8-r.7, koi8-u.7, locale.7, mailaddr.7, man.7, mq_overview.7, netdevice.7, netlink.7, numa.7, packet.7, path_resolution.7, pipe.7, posixoptions.7, pthreads.7, pty.7, raw.7, regex.7, rtld-audit.7, rtnetlink.7, sem_overview.7, shm_overview.7, sigevent.7, signal.7, socket.7, standards.7, suffixes.7, svipc.7, tcp.7, termio.7, time.7, udp.7, udplite.7, unicode.7, unix.7, uri.7, utf-8.7, x25.7, nscd.8, sync.8, tzselect.8, zdump.8, zic.8: Global fix: remove unneeded double quotes in .SH headings
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2013-02-24 18:01:36 +00:00
|
|
|
.SH RETURN VALUE
|
2004-11-03 13:51:07 +00:00
|
|
|
The
|
Changes, clone.2, mount.2, nanosleep.2, sigaltstack.2, statfs.2, timer_settime.2, ctime.3, fmemopen.3, nl_langinfo.3, posix_memalign.3, pthread_attr_init.3, pthread_setaffinity_np.3, pthread_setschedprio.3, pthread_testcancel.3, setjmp.3, sigwait.3, tty_ioctl.4, epoll.7, posixoptions.7, unix.7: Add section number to references to functions documented in other pages
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2010-11-01 07:07:28 +00:00
|
|
|
.BR ioctl (2)
|
2007-04-12 22:42:49 +00:00
|
|
|
system call returns 0 on success.
|
|
|
|
On error it returns \-1 and sets
|
2004-11-03 13:51:07 +00:00
|
|
|
.I errno
|
|
|
|
appropriately.
|
|
|
|
.SH ERRORS
|
|
|
|
.TP
|
|
|
|
.B EINVAL
|
|
|
|
Invalid command parameter.
|
|
|
|
.TP
|
2007-08-27 07:56:52 +00:00
|
|
|
.B ENOIOCTLCMD
|
|
|
|
Unknown command.
|
2004-11-03 13:51:07 +00:00
|
|
|
.TP
|
|
|
|
.B ENOTTY
|
|
|
|
Inappropriate
|
|
|
|
.IR fd .
|
2007-08-27 07:56:52 +00:00
|
|
|
.TP
|
|
|
|
.B EPERM
|
|
|
|
Insufficient permission.
|
2004-11-03 13:51:07 +00:00
|
|
|
.SH EXAMPLE
|
|
|
|
Check the condition of DTR on the serial port.
|
|
|
|
|
|
|
|
.nf
|
|
|
|
#include <termios.h>
|
|
|
|
#include <fcntl.h>
|
|
|
|
#include <sys/ioctl.h>
|
|
|
|
|
2007-04-05 12:36:57 +00:00
|
|
|
int
|
2007-04-12 22:42:49 +00:00
|
|
|
main(void)
|
2007-04-05 12:36:57 +00:00
|
|
|
{
|
2004-11-03 13:51:07 +00:00
|
|
|
int fd, serial;
|
|
|
|
|
|
|
|
fd = open("/dev/ttyS0", O_RDONLY);
|
|
|
|
ioctl(fd, TIOCMGET, &serial);
|
|
|
|
if (serial & TIOCM_DTR)
|
|
|
|
puts("TIOCM_DTR is not set");
|
|
|
|
else
|
|
|
|
puts("TIOCM_DTR is set");
|
|
|
|
close(fd);
|
|
|
|
}
|
|
|
|
.fi
|
getent.1, intro.1, time.1, _exit.2, _syscall.2, accept.2, access.2, acct.2, adjtimex.2, alarm.2, alloc_hugepages.2, arch_prctl.2, bdflush.2, bind.2, brk.2, cacheflush.2, capget.2, chdir.2, chmod.2, chown.2, chroot.2, clock_getres.2, clock_nanosleep.2, clone.2, close.2, connect.2, create_module.2, delete_module.2, dup.2, epoll_create.2, epoll_ctl.2, epoll_wait.2, eventfd.2, execve.2, exit_group.2, faccessat.2, fchmodat.2, fchownat.2, fcntl.2, flock.2, fork.2, fstatat.2, fsync.2, futex.2, futimesat.2, get_kernel_syms.2, get_robust_list.2, get_thread_area.2, getcpu.2, getdents.2, getdomainname.2, getgid.2, getgroups.2, gethostname.2, getitimer.2, getpagesize.2, getpeername.2, getpid.2, getpriority.2, getresuid.2, getrlimit.2, getrusage.2, getsid.2, getsockname.2, getsockopt.2, gettid.2, gettimeofday.2, getuid.2, getunwind.2, getxattr.2, idle.2, init_module.2, inotify_add_watch.2, inotify_init.2, inotify_rm_watch.2, intro.2, io_cancel.2, io_destroy.2, io_getevents.2, io_setup.2, io_submit.2, ioctl.2, ioctl_list.2, ioperm.2, iopl.2, ioprio_set.2, ipc.2, kcmp.2, kill.2, killpg.2, link.2, linkat.2, listen.2, listxattr.2, llseek.2, lookup_dcookie.2, lseek.2, madvise.2, migrate_pages.2, mincore.2, mkdir.2, mkdirat.2, mknod.2, mknodat.2, mlock.2, mmap.2, mmap2.2, modify_ldt.2, mount.2, move_pages.2, mprotect.2, mq_getsetattr.2, mremap.2, msgctl.2, msgget.2, msgop.2, msync.2, nanosleep.2, nfsservctl.2, nice.2, open.2, openat.2, outb.2, pause.2, pciconfig_read.2, perf_event_open.2, perfmonctl.2, personality.2, pipe.2, pivot_root.2, poll.2, posix_fadvise.2, prctl.2, pread.2, process_vm_readv.2, ptrace.2, query_module.2, quotactl.2, read.2, readahead.2, readdir.2, readlink.2, readlinkat.2, readv.2, reboot.2, recv.2, remap_file_pages.2, removexattr.2, rename.2, renameat.2, rmdir.2, rt_sigqueueinfo.2, sched_get_priority_max.2, sched_rr_get_interval.2, sched_setaffinity.2, sched_setparam.2, sched_setscheduler.2, sched_yield.2, select.2, semctl.2, semget.2, semop.2, send.2, sendfile.2, set_thread_area.2, set_tid_address.2, seteuid.2, setfsgid.2, setfsuid.2, setgid.2, setpgid.2, setresuid.2, setreuid.2, setsid.2, setuid.2, setup.2, setxattr.2, shmctl.2, shmget.2, shmop.2, shutdown.2, sigaction.2, sigaltstack.2, signal.2, signalfd.2, sigpending.2, sigprocmask.2, sigreturn.2, sigsuspend.2, sigwaitinfo.2, socket.2, socketcall.2, socketpair.2, splice.2, stat.2, statfs.2, stime.2, swapon.2, symlink.2, symlinkat.2, sync.2, sync_file_range.2, sysctl.2, sysfs.2, sysinfo.2, syslog.2, tee.2, time.2, timerfd_create.2, times.2, tkill.2, truncate.2, umask.2, umount.2, uname.2, unimplemented.2, unlink.2, unlinkat.2, uselib.2, ustat.2, utime.2, utimensat.2, vfork.2, vhangup.2, vm86.2, vmsplice.2, wait.2, wait4.2, write.2, CPU_SET.3, INFINITY.3, MB_CUR_MAX.3, MB_LEN_MAX.3, __setfpucw.3, a64l.3, abort.3, abs.3, acos.3, acosh.3, addseverity.3, adjtime.3, aio_cancel.3, aio_error.3, aio_fsync.3, aio_read.3, aio_return.3, aio_suspend.3, aio_write.3, alloca.3, argz_add.3, asin.3, asinh.3, asprintf.3, assert.3, assert_perror.3, atan.3, atan2.3, atanh.3, atexit.3, atof.3, atoi.3, backtrace.3, basename.3, bcmp.3, bcopy.3, bindresvport.3, bsd_signal.3, bsearch.3, bstring.3, btowc.3, btree.3, byteorder.3, bzero.3, cabs.3, cacos.3, cacosh.3, canonicalize_file_name.3, carg.3, casin.3, casinh.3, catan.3, catanh.3, catgets.3, catopen.3, cbrt.3, ccos.3, ccosh.3, ceil.3, cerf.3, cexp.3, cexp2.3, cfree.3, cimag.3, clearenv.3, clock.3, clock_getcpuclockid.3, clog.3, clog10.3, clog2.3, closedir.3, cmsg.3, confstr.3, conj.3, copysign.3, cos.3, cosh.3, cpow.3, cproj.3, creal.3, crypt.3, csin.3, csinh.3, csqrt.3, ctan.3, ctanh.3, ctermid.3, ctime.3, daemon.3, dbopen.3, des_crypt.3, difftime.3, dirfd.3, div.3, dl_iterate_phdr.3, dlopen.3, dprintf.3, drand48.3, drand48_r.3, dysize.3, ecvt.3, ecvt_r.3, encrypt.3, end.3, endian.3, envz_add.3, erf.3, erfc.3, err.3, errno.3, error.3, ether_aton.3, euidaccess.3, exec.3, exit.3, exp.3, exp10.3, exp2.3, expm1.3, fabs.3, fclose.3, fcloseall.3, fdim.3, fenv.3, ferror.3, fexecve.3, fflush.3, ffs.3, fgetgrent.3, fgetpwent.3, fgetwc.3, fgetws.3, finite.3, flockfile.3, floor.3, fma.3, fmax.3, fmemopen.3, fmin.3, fmod.3, fmtmsg.3, fnmatch.3, fopen.3, fpathconf.3, fpclassify.3, fpurge.3, fputwc.3, fputws.3, fread.3, frexp.3, fseek.3, fseeko.3, ftime.3, ftok.3, fts.3, ftw.3, futimes.3, fwide.3, gamma.3, gcvt.3, getaddrinfo.3, getaddrinfo_a.3, getauxval.3, getcontext.3, getcwd.3, getdate.3, getdirentries.3, getdtablesize.3, getenv.3, getfsent.3, getgrent.3, getgrent_r.3, getgrnam.3, getgrouplist.3, gethostbyname.3, gethostid.3, getipnodebyname.3, getline.3, getloadavg.3, getlogin.3, getmntent.3, getnameinfo.3, getnetent.3, getnetent_r.3, getopt.3, getpass.3, getprotoent.3, getprotoent_r.3, getpt.3, getpw.3, getpwent.3, getpwent_r.3, getpwnam.3, getrpcent.3, getrpcent_r.3, getrpcport.3, gets.3, getservent.3, getservent_r.3, getspnam.3, getttyent.3, getumask.3, getusershell.3, getutent.3, getw.3, getwchar.3, glob.3, grantpt.3, gsignal.3, hash.3, hsearch.3, hypot.3, iconv.3, iconv_close.3, iconv_open.3, ilogb.3, index.3, inet.3, inet_ntop.3, inet_pton.3, infnan.3, initgroups.3, insque.3, intro.3, isalpha.3, isatty.3, isgreater.3, iswalnum.3, iswalpha.3, iswblank.3, iswcntrl.3, iswctype.3, iswdigit.3, iswgraph.3, iswlower.3, iswprint.3, iswpunct.3, iswspace.3, iswupper.3, iswxdigit.3, j0.3, key_setsecret.3, ldexp.3, lgamma.3, lio_listio.3, localeconv.3, lockf.3, log.3, log10.3, log1p.3, log2.3, logb.3, login.3, longjmp.3, lrint.3, lround.3, lsearch.3, lseek64.3, makecontext.3, makedev.3, malloc.3, malloc_hook.3, mblen.3, mbrlen.3, mbrtowc.3, mbsinit.3, mbsnrtowcs.3, mbsrtowcs.3, mbstowcs.3, mbtowc.3, memccpy.3, memchr.3, memcmp.3, memcpy.3, memfrob.3, memmem.3, memmove.3, mempcpy.3, memset.3, mkdtemp.3, mkfifo.3, mkfifoat.3, mkstemp.3, mktemp.3, modf.3, mpool.3, mq_close.3, mq_getattr.3, mq_notify.3, mq_open.3, mq_receive.3, mq_send.3, mq_unlink.3, mtrace.3, nan.3, netlink.3, nextafter.3, nl_langinfo.3, offsetof.3, on_exit.3, opendir.3, openpty.3, perror.3, popen.3, posix_fallocate.3, posix_memalign.3, posix_openpt.3, pow.3, pow10.3, printf.3, profil.3, program_invocation_name.3, psignal.3, pthread_kill_other_threads_np.3, ptsname.3, putenv.3, putgrent.3, putpwent.3, puts.3, putwchar.3, qecvt.3, qsort.3, queue.3, raise.3, rand.3, random.3, random_r.3, rcmd.3, re_comp.3, readdir.3, realpath.3, recno.3, regex.3, remainder.3, remove.3, remquo.3, resolver.3, rewinddir.3, rexec.3, rint.3, round.3, rpc.3, rpmatch.3, rtime.3, rtnetlink.3, scalb.3, scalbln.3, scandir.3, scandirat.3, scanf.3, seekdir.3, sem_close.3, sem_destroy.3, sem_getvalue.3, sem_init.3, sem_open.3, sem_post.3, sem_unlink.3, sem_wait.3, setaliasent.3, setbuf.3, setenv.3, setjmp.3, setlocale.3, setlogmask.3, setnetgrent.3, shm_open.3, siginterrupt.3, signbit.3, significand.3, sigpause.3, sigqueue.3, sigset.3, sigsetops.3, sigvec.3, sin.3, sincos.3, sinh.3, sleep.3, sockatmark.3, sqrt.3, statvfs.3, stdarg.3, stdin.3, stdio.3, stdio_ext.3, stpcpy.3, stpncpy.3, strcasecmp.3, strcat.3, strchr.3, strcmp.3, strcoll.3, strcpy.3, strdup.3, strerror.3, strfmon.3, strfry.3, strftime.3, string.3, strlen.3, strnlen.3, strpbrk.3, strptime.3, strsep.3, strsignal.3, strspn.3, strstr.3, strtod.3, strtoimax.3, strtok.3, strtol.3, strtoul.3, strverscmp.3, strxfrm.3, swab.3, sysconf.3, syslog.3, system.3, sysv_signal.3, tan.3, tanh.3, tcgetpgrp.3, tcgetsid.3, telldir.3, tempnam.3, termios.3, tgamma.3, timegm.3, timeradd.3, tmpfile.3, tmpnam.3, toascii.3, toupper.3, towctrans.3, towlower.3, towupper.3, trunc.3, tsearch.3, ttyname.3, ttyslot.3, tzset.3, ualarm.3, ulimit.3, ungetwc.3, unlocked_stdio.3, unlockpt.3, updwtmp.3, usleep.3, wcpcpy.3, wcpncpy.3, wcrtomb.3, wcscasecmp.3, wcscat.3, wcschr.3, wcscmp.3, wcscpy.3, wcscspn.3, wcsdup.3, wcslen.3, wcsncasecmp.3, wcsncat.3, wcsncmp.3, wcsncpy.3, wcsnlen.3, wcsnrtombs.3, wcspbrk.3, wcsrchr.3, wcsrtombs.3, wcsspn.3, wcsstr.3, wcstoimax.3, wcstok.3, wcstombs.3, wcswidth.3, wctob.3, wctomb.3, wctrans.3, wctype.3, wcwidth.3, wmemchr.3, wmemcmp.3, wmemcpy.3, wmemmove.3, wmemset.3, wordexp.3, wprintf.3, xcrypt.3, xdr.3, y0.3, cciss.4, console.4, console_codes.4, console_ioctl.4, dsp56k.4, fd.4, full.4, hd.4, hpsa.4, initrd.4, intro.4, lp.4, mem.4, mouse.4, null.4, pts.4, ram.4, random.4, rtc.4, sk98lin.4, st.4, tty.4, ttyS.4, tty_ioctl.4, vcs.4, wavelan.4, acct.5, charmap.5, dir_colors.5, filesystems.5, ftpusers.5, group.5, host.conf.5, hosts.5, hosts.equiv.5, intro.5, issue.5, locale.5, motd.5, networks.5, nologin.5, nscd.conf.5, passwd.5, proc.5, protocols.5, resolv.conf.5, rpc.5, securetty.5, services.5, shells.5, termcap.5, ttytype.5, utmp.5, armscii-8.7, arp.7, ascii.7, bootparam.7, capabilities.7, charsets.7, complex.7, cp1251.7, credentials.7, ddp.7, environ.7, epoll.7, fifo.7, futex.7, glob.7, hier.7, icmp.7, inotify.7, intro.7, ip.7, ipv6.7, iso_8859-1.7, iso_8859-10.7, iso_8859-11.7, iso_8859-13.7, iso_8859-14.7, iso_8859-15.7, iso_8859-16.7, iso_8859-2.7, iso_8859-3.7, iso_8859-4.7, iso_8859-5.7, iso_8859-6.7, iso_8859-7.7, iso_8859-8.7, iso_8859-9.7, koi8-r.7, koi8-u.7, locale.7, mailaddr.7, man.7, mq_overview.7, netdevice.7, netlink.7, numa.7, packet.7, path_resolution.7, pipe.7, posixoptions.7, pthreads.7, pty.7, raw.7, regex.7, rtld-audit.7, rtnetlink.7, sem_overview.7, shm_overview.7, sigevent.7, signal.7, socket.7, standards.7, suffixes.7, svipc.7, tcp.7, termio.7, time.7, udp.7, udplite.7, unicode.7, unix.7, uri.7, utf-8.7, x25.7, nscd.8, sync.8, tzselect.8, zdump.8, zic.8: Global fix: remove unneeded double quotes in .SH headings
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2013-02-24 18:01:36 +00:00
|
|
|
.SH SEE ALSO
|
2004-11-03 13:51:07 +00:00
|
|
|
.BR ioctl (2),
|
|
|
|
.BR termios (3),
|
2006-12-23 18:07:25 +00:00
|
|
|
.BR console_ioctl (4),
|
2005-10-10 13:14:12 +00:00
|
|
|
.BR pty (7)
|
2007-07-16 18:45:21 +00:00
|
|
|
.\"
|
2004-11-03 13:51:07 +00:00
|
|
|
.\" FIONBIO const int *
|
|
|
|
.\" FIONCLEX void
|
|
|
|
.\" FIOCLEX void
|
|
|
|
.\" FIOASYNC const int *
|
|
|
|
.\" from serial.c:
|
|
|
|
.\" TIOCSERCONFIG void
|
|
|
|
.\" TIOCSERGWILD int *
|
|
|
|
.\" TIOCSERSWILD const int *
|
|
|
|
.\" TIOCSERGSTRUCT struct async_struct *
|
|
|
|
.\" TIOCSERGETLSR int *
|
|
|
|
.\" TIOCSERGETMULTI struct serial_multiport_struct *
|
|
|
|
.\" TIOCSERSETMULTI const struct serial_multiport_struct *
|
|
|
|
.\" TIOCGSERIAL, TIOCSSERIAL (see above)
|