aboutsummaryrefslogtreecommitdiffstats
path: root/sys/linux/dev_cdrom.txt
diff options
context:
space:
mode:
authorAndrey Konovalov <andreyknvl@google.com>2019-02-01 01:08:17 +0100
committerAndrey Konovalov <andreyknvl@gmail.com>2019-02-01 14:40:17 +0100
commit9f528bbcc8a3d94c9be27a0eecc12022d4b3bfaa (patch)
tree59bcdb899b42ba9d793d5bbac6cf58a4a9132143 /sys/linux/dev_cdrom.txt
parentaa53be276dc84aa8b3825b3416542447ff82b41a (diff)
sys/linux: rename dev descriptions files
Prefix file names of descriptions of /dev/* files with dev_. And give some of them more appropriate names.
Diffstat (limited to 'sys/linux/dev_cdrom.txt')
-rw-r--r--sys/linux/dev_cdrom.txt343
1 files changed, 343 insertions, 0 deletions
diff --git a/sys/linux/dev_cdrom.txt b/sys/linux/dev_cdrom.txt
new file mode 100644
index 000000000..8c1361af7
--- /dev/null
+++ b/sys/linux/dev_cdrom.txt
@@ -0,0 +1,343 @@
+# Copyright 2018 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.
+
+# For fuzzing with qemu you need to enable cdrom option and provide an iso image.
+# For example: in "vm" section of syzkaller configuration
+# "vm" : {
+# ...
+# "cmdline": " -cdrom /.../ubuntu-18.04-desktop-amd64.iso "
+# }
+# In the kernel CONFIG_CDROM should be enabled.
+#
+# For more effective fuzzing one might want to disable
+# CDROMEJECT && CDROMEJECT_SW.
+# "disable_syscalls" : [ "ioctl$CDROMEJECT*" ]
+
+include <linux/cdrom.h>
+include <uapi/linux/cdrom.h>
+
+resource fd_cdrom[fd]
+
+syz_open_dev$CDROM_DEV_LINK(dev ptr[in, string["/dev/cdrom"]], id intptr, flags flags[open_flags]) fd_cdrom
+
+ioctl$CDROMPAUSE(fd fd_cdrom, cmd const[CDROMPAUSE])
+ioctl$CDROMRESUME(fd fd_cdrom, cmd const[CDROMRESUME])
+ioctl$CDROMPLAYMSF(fd fd_cdrom, cmd const[CDROMPLAYMSF], arg ptr[in, cdrom_msf])
+ioctl$CDROMPLAYTRKIND(fd fd_cdrom, cmd const[CDROMPLAYTRKIND], arg ptr[in, cdrom_ti])
+ioctl$CDROMREADTOCHDR(fd fd_cdrom, cmd const[CDROMREADTOCHDR], arg ptr[inout, cdrom_tochdr])
+ioctl$CDROMREADTOCENTRY(fd fd_cdrom, cmd const[CDROMREADTOCENTRY], arg ptr[inout, cdrom_tocentry])
+ioctl$CDROMSTOP(fd fd_cdrom, cmd const[CDROMSTOP])
+ioctl$CDROMSTART(fd fd_cdrom, cmd const[CDROMSTART])
+ioctl$CDROMEJECT(fd fd_cdrom, cmd const[CDROMEJECT])
+ioctl$CDROMVOLCTRL(fd fd_cdrom, cmd const[CDROMVOLCTRL], arg ptr[in, cdrom_volctrl])
+ioctl$CDROMSUBCHNL(fd fd_cdrom, cmd const[CDROMSUBCHNL], arg ptr[inout, cdrom_subchnl])
+ioctl$CDROMREADMODE2(fd fd_cdrom, cmd const[CDROMREADMODE2], arg ptr[in, cdrom_msf_out_stub])
+ioctl$CDROMREADMODE1(fd fd_cdrom, cmd const[CDROMREADMODE1], arg ptr[in, cdrom_msf_out_stub])
+ioctl$CDROMREADAUDIO(fd fd_cdrom, cmd const[CDROMREADAUDIO], arg ptr[in, cdrom_read_audio])
+ioctl$CDROMEJECT_SW(fd fd_cdrom, cmd const[CDROMEJECT_SW], arg boolptr)
+ioctl$CDROMMULTISESSION(fd fd_cdrom, cmd const[CDROMMULTISESSION], arg ptr[inout, cdrom_multisession])
+ioctl$CDROM_GET_MCN(fd fd_cdrom, cmd const[CDROM_GET_MCN], arg ptr[out, cdrom_mcn])
+ioctl$CDROMRESET(fd fd_cdrom, cmd const[CDROMRESET])
+ioctl$CDROMVOLREAD(fd fd_cdrom, cmd const[CDROMVOLREAD], arg ptr[out, cdrom_volctrl])
+ioctl$CDROMREADRAW(fd fd_cdrom, cmd const[CDROMREADRAW], arg ptr[in, cdrom_msf_out_stub])
+
+ioctl$CDROMREADCOOKED(fd fd_cdrom, cmd const[CDROMREADCOOKED], arg ptr[out, cdrom_output_buffer])
+ioctl$CDROMSEEK(fd fd_cdrom, cmd const[CDROMSEEK], arg ptr[in, cdrom_msf])
+
+ioctl$CDROMPLAYBLK(fd fd_cdrom, cmd const[CDROMPLAYBLK], arg ptr[in, cdrom_blk])
+
+ioctl$CDROMREADALL(fd fd_cdrom, cmd const[CDROMREADALL], arg ptr[out, cdrom_output_buffer])
+
+ioctl$CDROMGETSPINDOWN(fd fd_cdrom, cmd const[CDROMGETSPINDOWN], arg int8)
+ioctl$CDROMSETSPINDOWN(fd fd_cdrom, cmd const[CDROMSETSPINDOWN], arg int8)
+
+ioctl$CDROMCLOSETRAY(fd fd_cdrom, cmd const[CDROMCLOSETRAY])
+
+ioctl$CDROM_SET_OPTIONS(fd fd_cdrom, cmd const[CDROM_SET_OPTIONS], arg flags[cdrom_options])
+ioctl$CDROM_CLEAR_OPTIONS(fd fd_cdrom, cmd const[CDROM_CLEAR_OPTIONS], arg flags[cdrom_options])
+ioctl$CDROM_SELECT_SPEED(fd fd_cdrom, cmd const[CDROM_SELECT_SPEED], speed int64)
+ioctl$CDROM_SELECT_DISK(fd fd_cdrom, cmd const[CDROM_SELECT_SPEED], disk int64)
+ioctl$CDROM_MEDIA_CHANGED(fd fd_cdrom, cmd const[CDROM_MEDIA_CHANGED], slot int64)
+ioctl$CDROM_DISC_STATUS(fd fd_cdrom, cmd const[CDROM_DISC_STATUS])
+ioctl$CDROM_CHANGER_NSLOTS(fd fd_cdrom, cmd const[CDROM_CHANGER_NSLOTS])
+ioctl$CDROM_LOCKDOOR(fd fd_cdrom, cmd const[CDROM_LOCKDOOR], lock boolptr)
+ioctl$CDROM_DEBUG(fd fd_cdrom, cmd const[CDROM_DEBUG], debug boolptr)
+ioctl$CDROM_GET_CAPABILITY(fd fd_cdrom, cmd const[CDROM_GET_CAPABILITY])
+
+ioctl$CDROMAUDIOBUFSIZ(fd fd_cdrom, cmd const[CDROMAUDIOBUFSIZ], val int32)
+
+ioctl$DVD_READ_STRUCT(fd fd_cdrom, cmd const[DVD_READ_STRUCT], arg ptr[inout, dvd_struct])
+ioctl$DVD_WRITE_STRUCT(fd fd_cdrom, cmd const[DVD_READ_STRUCT], arg ptr[in, dvd_struct])
+ioctl$DVD_AUTH(fd fd_cdrom, cmd const[DVD_READ_STRUCT], arg ptr[inout, dvd_authinfo])
+
+ioctl$CDROM_SEND_PACKET(fd fd_cdrom, cmd const[CDROM_SEND_PACKET], arg ptr[inout, cdrom_generic_command])
+
+ioctl$CDROM_NEXT_WRITABLE(fd fd_cdrom, cmd const[CDROM_NEXT_WRITABLE], arg ptr[out, int64])
+ioctl$CDROM_LAST_WRITTEN(fd fd_cdrom, cmd const[CDROM_LAST_WRITTEN], arg ptr[out, int64])
+
+cdrom_output_buffer {
+ reserved array[int8, CD_FRAMESIZE_RAWER]
+}
+
+cdrom_msf {
+ cdmsf_min0 int8
+ cdmsf_sec0 int8
+ cdmsf_frame0 int8
+ cdmsf_min1 int8
+ cdmsf_sec1 int8
+ cdmsf_frame1 int8
+}
+
+cdrom_msf_out_stub {
+ cdmsf_min0 int8
+ cdmsf_sec0 int8
+ cdmsf_frame0 int8
+ cdmsf_min1 int8
+ cdmsf_sec1 int8
+ cdmsf_frame1 int8
+ reserved array[const[0, int8], CDROM_MSF_OUT_STUB_SIZE]
+}
+
+cdrom_ti {
+ cdti_trk0 int8
+ cdti_int0 int8
+ cdti_trk1 int8
+ cdti_ind1 int8
+}
+
+cdrom_tochdr {
+ cdth_trk0 int8
+ cdth_trk1 int8
+}
+
+cdrom_tocentry {
+ cdte_track int8
+ cdte_adr int8:4
+ cdte_ctrl int8:4
+ cdte_format flags[cdrom_format, int8]
+ cdte_addr cdrom_addr
+ cdte_datamode int8
+}
+
+cdrom_addr [
+ msf cdrom_msf0
+ lba int32
+]
+
+cdrom_msf0 {
+ minute int8
+ second int8
+ frame int8
+}
+
+cdrom_read_audio {
+ addr cdrom_addr
+ addr_format flags[cdrom_format, int8]
+ nframes bytesize[buf, int32]
+ buf ptr[out, array[int8, 1:CD_FRAMES]]
+}
+
+cdrom_volctrl {
+ channel0 int8
+ channel1 int8
+ channel2 int8
+ channel3 int8
+}
+
+cdrom_subchnl {
+ cdsc_format flags[cdrom_format, int8]
+ cdsc_audiostatus int8
+ cdsc_adr int8:4
+ cdsc_ctrl int8:4
+ cdsc_trk int8
+ cdsc_ind int8
+ cdsc_absaddr cdrom_addr
+ cdsc_reladdr cdrom_addr
+}
+
+cdrom_multisession {
+ addr cdrom_addr
+ xa_flag bool8
+ addr_format flags[cdrom_format, int8]
+}
+
+cdrom_mcn {
+ medium_catalog_number array[int8, 14]
+}
+
+cdrom_blk {
+ from int32
+ len int16
+}
+
+dvd_struct [
+ type flags[dvd_struct_type, int8]
+
+ physical dvd_physical
+ copyright dvd_copyright
+ disckey dvd_disckey
+ bca dvd_bca
+ manufact dvd_manufact
+]
+
+dvd_physical {
+ type const[DVD_STRUCT_PHYSICAL, int8]
+ layer_num int8[0:3]
+ layer array[dvd_layer, DVD_LAYERS]
+}
+
+dvd_layer {
+ book_version int8:4
+ book_type int8:4
+ min_rate int8:4
+ disc_size int8:4
+ layer_type int8:4
+ track_path int8:1
+ nlayers int8:2
+ track_density int8:4
+ linear_density int8:4
+ bca int8:1
+ start_sector int32
+ end_sector int32
+ end_sector_l0 int32
+}
+
+dvd_copyright {
+ type const[DVD_STRUCT_COPYRIGHT, int8]
+
+ layer_num int8[0:3]
+ cpst int8
+ rmi int8
+}
+
+dvd_disckey {
+ type const[DVD_STRUCT_DISCKEY, int8]
+
+ agid int32:2
+ value array[int8, 2048]
+}
+
+dvd_bca {
+ type const[DVD_STRUCT_BCA, int8]
+
+ len len[value, int32]
+ value array[int8, 188]
+}
+
+dvd_manufact {
+ type const[DVD_STRUCT_MANUFACT, int8]
+
+ layer_num int8[0:3]
+ len len[value, int32]
+ value array[int8, 2048]
+}
+
+dvd_authinfo [
+ type flags[dvd_authinfo_type, int8]
+
+ lsa dvd_lu_send_agid
+ hsc dvd_host_send_challenge
+ lsk dvd_send_key
+ lsc dvd_lu_send_challenge
+ hsk dvd_send_key
+ lstk dvd_lu_send_title_key
+ lsasf dvd_lu_send_asf
+ hrpcs dvd_host_send_rpcstate
+ lrpcs dvd_lu_send_rpcstate
+]
+
+type dvd_key array[int8, 5]
+type dvd_challenge array[int8, 10]
+
+dvd_lu_send_agid {
+ type const[DVD_LU_SEND_AGID, int8]
+ agid int32:2
+}
+
+dvd_host_send_challenge {
+ type const[DVD_HOST_SEND_CHALLENGE, int8]
+ agid int32:2
+
+ chal dvd_challenge
+}
+
+dvd_send_key_type = DVD_LU_SEND_KEY1, DVD_HOST_SEND_KEY2
+
+dvd_send_key {
+ type flags[dvd_send_key_type, int8]
+ agid int32:2
+
+ key dvd_key
+}
+
+dvd_lu_send_challenge {
+ type const[DVD_LU_SEND_CHALLENGE, int8]
+ agid int32:2
+
+ chal dvd_challenge
+}
+
+dvd_lu_send_title_key {
+ type const[DVD_LU_SEND_TITLE_KEY, int8]
+ agid int32:2
+
+ title_key dvd_key
+ lba int32
+ cpm int32:1
+ cp_sec int32:1
+ cgms int32:2
+}
+
+dvd_lu_send_asf {
+ type const[DVD_LU_SEND_ASF, int8]
+ agid int32:2
+
+ asf int32:1
+}
+
+dvd_host_send_rpcstate {
+ type const[DVD_HOST_SEND_RPC_STATE, int8]
+ pdrc int8
+}
+
+dvd_lu_send_rpcstate {
+ type int8:2
+ vra int8:3
+ ucca int8:3
+ region_mask int8
+ rpc_scheme int8
+}
+
+cdrom_generic_command {
+ cmd array[int8, CDROM_PACKET_SIZE]
+ buffer ptr[inout, array[int8]]
+ buflen len[buffer, int32]
+ stat int32
+ sense ptr[inout, request_sense]
+ data_direction flags[cdrom_data_direction, int8]
+ quiet int32
+ timeout int32
+ reserved ptr[out, array[intptr, 1]]
+}
+
+request_sense {
+ valid_err_code int8
+ segment_number int8
+ ili_sense_key int8
+ information array[int8, 4]
+ add_sense_len int8
+ command_info array[int8, 4]
+ asc int8
+ ascq int8
+ fruc int8
+ sks array[int8, 3]
+ asb array[int8, 46]
+}
+
+cdrom_options = CDO_AUTO_CLOSE, CDO_AUTO_EJECT, CDO_USE_FFLAGS, CDO_LOCK, CDO_CHECK_TYPE
+cdrom_format = CDROM_MSF, CDROM_LBA
+dvd_struct_type = DVD_STRUCT_PHYSICAL, DVD_STRUCT_COPYRIGHT, DVD_STRUCT_DISCKEY, DVD_STRUCT_BCA, DVD_STRUCT_MANUFACT
+dvd_authinfo_type = DVD_LU_SEND_AGID, DVD_LU_SEND_KEY1, DVD_LU_SEND_CHALLENGE, DVD_LU_SEND_TITLE_KEY, DVD_LU_SEND_ASF, DVD_HOST_SEND_CHALLENGE, DVD_HOST_SEND_KEY2, DVD_INVALIDATE_AGID, DVD_LU_SEND_RPC_STATE, DVD_LU_SEND_RPC_STATE
+cdrom_data_direction = CGC_DATA_UNKNOWN, CGC_DATA_WRITE, CGC_DATA_READ, CGC_DATA_NONE
+
+define CDROM_MSF_OUT_STUB_SIZE CD_FRAMESIZE_RAWER-6