# 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 include include include 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[TCSETSW], 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[TCSETA], arg ptr[in, termio]) ioctl$TCSETAW(fd fd_tty, cmd const[TCSETAW], arg ptr[in, termio]) ioctl$TCSETAF(fd fd_tty, cmd const[TCSETAF], 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[TIOCSPGRP], arg ptr[in, pid]) ioctl$TIOCGSID(fd fd_tty, cmd const[TIOCGSID], 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[TIOCMBIS], 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]) # 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[KDMKTONE], 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[PIO_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 }