diff options
Diffstat (limited to 'sys/linux/dev_ptmx.txt')
| -rw-r--r-- | sys/linux/dev_ptmx.txt | 241 |
1 files changed, 241 insertions, 0 deletions
diff --git a/sys/linux/dev_ptmx.txt b/sys/linux/dev_ptmx.txt new file mode 100644 index 000000000..d0ffe3d3d --- /dev/null +++ b/sys/linux/dev_ptmx.txt @@ -0,0 +1,241 @@ +# 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> +include <uapi/linux/tty.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[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[N_TTY:N_NULL]]) +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[N_TTY:N_NULL] + 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[N_TTY:N_NULL] + 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 +} |
