| # Copyright 2015 syzkaller project authors. All rights reserved. |
| # Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file. |
| |
| include <asm/ioctls.h> |
| include <uapi/linux/kd.h> |
| include <uapi/linux/vt.h> |
| include <uapi/linux/fcntl.h> |
| |
| resource fd_tty[fd] |
| |
| openat$ptmx(fd const[AT_FDCWD], file ptr[in, string["/dev/ptmx"]], flags flags[open_flags], mode const[0]) fd_tty |
| syz_open_pts(fd fd_tty, flags flags[open_flags]) fd_tty |
| ioctl$TCGETS(fd fd_tty, cmd const[TCGETS], arg ptr[out, termios]) |
| ioctl$TCSETS(fd fd_tty, cmd const[TCSETS], arg ptr[in, termios]) |
| ioctl$TCSETSW(fd fd_tty, cmd const[TCSETS], arg ptr[in, termios]) |
| ioctl$TCSETSF(fd fd_tty, cmd const[TCSETSF], arg ptr[in, termios]) |
| ioctl$TCGETA(fd fd_tty, cmd const[TCGETA], arg ptr[out, termio]) |
| ioctl$TCSETA(fd fd_tty, cmd const[TCSETS], arg ptr[in, termio]) |
| ioctl$TCSETAW(fd fd_tty, cmd const[TCSETS], arg ptr[in, termio]) |
| ioctl$TCSETAF(fd fd_tty, cmd const[TCSETSF], arg ptr[in, termio]) |
| ioctl$TIOCGLCKTRMIOS(fd fd_tty, cmd const[TIOCGLCKTRMIOS], arg ptr[in, termios]) |
| ioctl$TIOCSLCKTRMIOS(fd fd_tty, cmd const[TIOCSLCKTRMIOS], arg ptr[out, termios]) |
| ioctl$TIOCGWINSZ(fd fd_tty, cmd const[TIOCGWINSZ], arg ptr[out, winsize]) |
| ioctl$TIOCSWINSZ(fd fd_tty, cmd const[TIOCSWINSZ], arg ptr[in, winsize]) |
| ioctl$TCSBRK(fd fd_tty, cmd const[TCSBRK], arg intptr) |
| ioctl$TCSBRKP(fd fd_tty, cmd const[TCSBRKP], arg intptr) |
| ioctl$TIOCSBRK(fd fd_tty, cmd const[TIOCSBRK]) |
| ioctl$TIOCCBRK(fd fd_tty, cmd const[TIOCCBRK]) |
| ioctl$TCXONC(fd fd_tty, cmd const[TCXONC], arg intptr) |
| ioctl$FIONREAD(fd fd_tty, cmd const[FIONREAD], arg ptr[out, int32]) |
| ioctl$TIOCOUTQ(fd fd_tty, cmd const[TIOCOUTQ], arg ptr[out, int32]) |
| ioctl$TCFLSH(fd fd_tty, cmd const[TCFLSH], arg intptr) |
| ioctl$TIOCGPTPEER(fd fd_tty, cmd const[TIOCGPTPEER], arg intptr) |
| ioctl$TIOCSTI(fd fd_tty, cmd const[TIOCSTI], arg intptr) |
| ioctl$TIOCCONS(fd fd_tty, cmd const[TIOCCONS]) |
| ioctl$TIOCSCTTY(fd fd_tty, cmd const[TIOCSCTTY], arg intptr) |
| ioctl$TIOCNOTTY(fd fd_tty, cmd const[TIOCNOTTY]) |
| ioctl$TIOCGPGRP(fd fd_tty, cmd const[TIOCGPGRP], arg ptr[out, pid]) |
| ioctl$TIOCSPGRP(fd fd_tty, cmd const[TIOCGPGRP], arg ptr[in, pid]) |
| ioctl$TIOCGSID(fd fd_tty, cmd const[TIOCGPGRP], arg ptr[out, pid]) |
| ioctl$TIOCEXCL(fd fd_tty, cmd const[TIOCEXCL]) |
| ioctl$TIOCNXCL(fd fd_tty, cmd const[TIOCNXCL]) |
| ioctl$TIOCGETD(fd fd_tty, cmd const[TIOCGETD], arg ptr[out, int32]) |
| ioctl$TIOCSETD(fd fd_tty, cmd const[TIOCSETD], arg ptr[in, int32]) |
| ioctl$TIOCPKT(fd fd_tty, cmd const[TIOCPKT], arg ptr[in, int32]) |
| ioctl$TIOCMGET(fd fd_tty, cmd const[TIOCMGET], arg ptr[out, int32]) |
| ioctl$TIOCMSET(fd fd_tty, cmd const[TIOCMSET], arg ptr[in, int32]) |
| ioctl$TIOCMBIC(fd fd_tty, cmd const[TIOCMBIC], arg ptr[in, int32]) |
| ioctl$TIOCMBIS(fd fd_tty, cmd const[TIOCMBIC], arg ptr[in, int32]) |
| ioctl$TIOCGSOFTCAR(fd fd_tty, cmd const[TIOCGSOFTCAR], arg ptr[out, int32]) |
| ioctl$TIOCSSOFTCAR(fd fd_tty, cmd const[TIOCSSOFTCAR], arg ptr[in, int32]) |
| ioctl$TIOCTTYGSTRUCT(fd fd_tty, cmd const[TIOCSSOFTCAR], arg buffer[out]) |
| |
| # For the TIOCLINUX ioctl, see console_ioctl(4). |
| |
| ioctl$KDGETLED(fd fd_tty, cmd const[KDGETLED], arg ptr[out, int8]) |
| ioctl$KDSETLED(fd fd_tty, cmd const[KDSETLED], arg intptr) |
| ioctl$KDGKBLED(fd fd_tty, cmd const[KDGKBLED], arg ptr[out, int8]) |
| ioctl$KDSKBLED(fd fd_tty, cmd const[KDSKBLED], arg intptr) |
| ioctl$KDGKBTYPE(fd fd_tty, cmd const[KDGKBTYPE], arg ptr[out, int8]) |
| ioctl$KDADDIO(fd fd_tty, cmd const[KDADDIO], arg intptr) |
| ioctl$KDDELIO(fd fd_tty, cmd const[KDDELIO], arg intptr) |
| ioctl$KDENABIO(fd fd_tty, cmd const[KDENABIO]) |
| ioctl$KDDISABIO(fd fd_tty, cmd const[KDDISABIO]) |
| ioctl$KDSETMODE(fd fd_tty, cmd const[KDSETMODE], arg intptr) |
| ioctl$KDGETMODE(fd fd_tty, cmd const[KDGETMODE], arg ptr[out, intptr]) |
| ioctl$KDMKTONE(fd fd_tty, cmd const[KDGETMODE], arg intptr) |
| ioctl$KIOCSOUND(fd fd_tty, cmd const[KIOCSOUND], arg intptr) |
| ioctl$GIO_CMAP(fd fd_tty, cmd const[GIO_CMAP], arg ptr[out, io_cmap]) |
| ioctl$PIO_CMAP(fd fd_tty, cmd const[GIO_CMAP], arg ptr[in, io_cmap]) |
| ioctl$GIO_FONT(fd fd_tty, cmd const[GIO_FONT], arg buffer[out]) |
| ioctl$GIO_FONTX(fd fd_tty, cmd const[GIO_FONTX], arg buffer[out]) |
| ioctl$PIO_FONT(fd fd_tty, cmd const[PIO_FONT], arg buffer[in]) |
| ioctl$PIO_FONTX(fd fd_tty, cmd const[PIO_FONTX], arg buffer[in]) |
| ioctl$PIO_FONTRESET(fd fd_tty, cmd const[PIO_FONTRESET], arg const[0]) |
| ioctl$GIO_SCRNMAP(fd fd_tty, cmd const[GIO_SCRNMAP], arg buffer[out]) |
| ioctl$GIO_UNISCRNMAP(fd fd_tty, cmd const[GIO_UNISCRNMAP], arg buffer[out]) |
| ioctl$PIO_SCRNMAP(fd fd_tty, cmd const[PIO_SCRNMAP], arg buffer[in]) |
| ioctl$PIO_UNISCRNMAP(fd fd_tty, cmd const[PIO_UNISCRNMAP], arg buffer[in]) |
| ioctl$GIO_UNIMAP(fd fd_tty, cmd const[GIO_UNIMAP], arg ptr[in, unimapdesc_out]) |
| ioctl$PIO_UNIMAP(fd fd_tty, cmd const[PIO_UNIMAP], arg ptr[in, unimapdesc_in]) |
| ioctl$PIO_UNIMAPCLR(fd fd_tty, cmd const[PIO_UNIMAPCLR], arg ptr[in, unimapinit]) |
| ioctl$KDGKBMODE(fd fd_tty, cmd const[KDGKBMODE], arg ptr[out, intptr]) |
| ioctl$KDSKBMODE(fd fd_tty, cmd const[KDSKBMODE], arg ptr[in, intptr]) |
| ioctl$KDGKBMETA(fd fd_tty, cmd const[KDGKBMETA], arg ptr[out, intptr]) |
| ioctl$KDSKBMETA(fd fd_tty, cmd const[KDSKBMETA], arg ptr[in, intptr]) |
| ioctl$KDGKBENT(fd fd_tty, cmd const[KDGKBENT], arg ptr[in, kbentry]) |
| ioctl$KDGKBSENT(fd fd_tty, cmd const[KDGKBSENT], arg ptr[in, kbentry]) |
| ioctl$KDSKBSENT(fd fd_tty, cmd const[KDSKBSENT], arg buffer[in]) |
| ioctl$KDGKBDIACR(fd fd_tty, cmd const[KDGKBDIACR], arg buffer[out]) |
| ioctl$KDGETKEYCODE(fd fd_tty, cmd const[KDGETKEYCODE], arg ptr[in, kbkeycode]) |
| ioctl$KDSETKEYCODE(fd fd_tty, cmd const[KDSETKEYCODE], arg ptr[in, kbkeycode]) |
| ioctl$KDSIGACCEPT(fd fd_tty, cmd const[KDSIGACCEPT], arg signalno) |
| ioctl$VT_OPENQRY(fd fd_tty, cmd const[VT_OPENQRY], arg ptr[out, int32]) |
| ioctl$VT_GETMODE(fd fd_tty, cmd const[VT_GETMODE], arg ptr[out, vt_mode]) |
| ioctl$VT_SETMODE(fd fd_tty, cmd const[VT_SETMODE], arg ptr[in, vt_mode]) |
| ioctl$VT_GETSTATE(fd fd_tty, cmd const[VT_GETSTATE], arg ptr[in, vt_stat]) |
| ioctl$VT_RELDISP(fd fd_tty, cmd const[VT_RELDISP]) |
| ioctl$VT_ACTIVATE(fd fd_tty, cmd const[VT_ACTIVATE], arg intptr) |
| ioctl$VT_WAITACTIVE(fd fd_tty, cmd const[VT_WAITACTIVE]) |
| ioctl$VT_DISALLOCATE(fd fd_tty, cmd const[VT_DISALLOCATE]) |
| ioctl$VT_RESIZE(fd fd_tty, cmd const[VT_RESIZE], arg ptr[in, vt_sizes]) |
| ioctl$VT_RESIZEX(fd fd_tty, cmd const[VT_RESIZEX], arg ptr[in, vt_consize]) |
| ioctl$TIOCLINUX2(fd fd_tty, cmd const[TIOCLINUX], arg ptr[in, tiocl_selection]) |
| ioctl$TIOCLINUX3(fd fd_tty, cmd const[TIOCLINUX], arg ptr[in, const[3, int8]]) |
| ioctl$TIOCLINUX4(fd fd_tty, cmd const[TIOCLINUX], arg ptr[in, const[4, int8]]) |
| ioctl$TIOCLINUX5(fd fd_tty, cmd const[TIOCLINUX], arg ptr[in, loadlut]) |
| ioctl$TIOCLINUX6(fd fd_tty, cmd const[TIOCLINUX], arg ptr[in, tiocl_shift_state]) |
| ioctl$TIOCLINUX7(fd fd_tty, cmd const[TIOCLINUX], arg ptr[in, tiocl_report_mouse]) |
| |
| termios { |
| iflag int32 |
| oflag int32 |
| cflag int32 |
| lflag int32 |
| line int8 |
| cc0 int8 |
| cc1 int8 |
| cc2 int8 |
| cc3_6 int32 |
| cc7_10 int32 |
| cc11_14 int32 |
| cc15_18 int32 |
| } |
| |
| termio { |
| iflag int16 |
| oflag int16 |
| cflag int16 |
| lflag int16 |
| line int8 |
| cc0 int8 |
| cc1 int8 |
| cc2 int8 |
| cc3_6 int32 |
| cc7 int8 |
| } |
| |
| winsize { |
| row int16 |
| col int16 |
| xpix int16 |
| upix int16 |
| } |
| |
| io_cmap { |
| map0 int64 |
| map1 int64 |
| map2 int64 |
| map3 int64 |
| map4 int64 |
| map5 int64 |
| } |
| |
| unimapdesc_in { |
| cnt len[entries, int16] |
| entries ptr[in, array[unipair]] |
| } |
| |
| unimapdesc_out { |
| cnt len[entries, int16] |
| entries ptr[out, array[unipair]] |
| } |
| |
| unipair { |
| unicode int16 |
| fontpos int16 |
| } |
| |
| unimapinit { |
| size int16 |
| step int16 |
| level int16 |
| } |
| |
| kbentry { |
| table int8 |
| index int8 |
| value int16 |
| } |
| |
| kbkeycode { |
| scan int32 |
| key int32 |
| } |
| |
| vt_mode { |
| mode int8 |
| waitv int8 |
| relsig int16 |
| acqsig int16 |
| frsig int16 |
| } |
| |
| vt_stat { |
| active int16 |
| signal int16 |
| state int16 |
| } |
| |
| vt_sizes { |
| rows int16 |
| cols int16 |
| scroll int16 |
| } |
| |
| vt_consize { |
| rows int16 |
| cols int16 |
| vlin int16 |
| clin int16 |
| vcol int16 |
| ccol int16 |
| } |
| |
| tiocl_selection { |
| subcode const[2, int8] |
| xs int16 |
| ys int16 |
| xe int16 |
| ye int16 |
| mode int16 |
| } |
| |
| loadlut { |
| submode const[5, int8] |
| tab0 int64 |
| tab1 int64 |
| tab2 int64 |
| tab3 int64 |
| } |
| |
| tiocl_shift_state { |
| subcode const[6, int8] |
| shift int8 |
| } |
| |
| tiocl_report_mouse { |
| subcode const[7, int8] |
| shift int8 |
| } |