#include #include "utils.h" #include "ioctls.h" static const struct ioctl cdrom_ioctls[] = { IOCTL(CDROMPAUSE, 0, 0), IOCTL(CDROMRESUME, 0, 0), IOCTL(CDROMPLAYMSF, 0, 0), IOCTL(CDROMPLAYTRKIND, 0, 0), IOCTL(CDROMREADTOCHDR, 0, 0), IOCTL(CDROMREADTOCENTRY, 0, 0), IOCTL(CDROMSTOP, 0, 0), IOCTL(CDROMSTART, 0, 0), IOCTL(CDROMEJECT, 0, 0), IOCTL(CDROMVOLCTRL, 0, 0), IOCTL(CDROMSUBCHNL, 0, 0), IOCTL(CDROMREADMODE2, 0, 0), IOCTL(CDROMREADMODE1, 0, 0), IOCTL(CDROMREADAUDIO, 0, 0), IOCTL(CDROMEJECT_SW, 0, 0), IOCTL(CDROMMULTISESSION, 0, 0), IOCTL(CDROM_GET_MCN, 0, 0), IOCTL(CDROMRESET, 0, 0), IOCTL(CDROMVOLREAD, 0, 0), IOCTL(CDROMREADRAW, 0, 0), IOCTL(CDROMREADCOOKED, 0, 0), IOCTL(CDROMSEEK, 0, 0), IOCTL(CDROMPLAYBLK, 0, 0), IOCTL(CDROMREADALL, 0, 0), IOCTL(CDROMGETSPINDOWN, 0, 0), IOCTL(CDROMSETSPINDOWN, 0, 0), IOCTL(CDROMCLOSETRAY, 0, 0), IOCTL(CDROM_SET_OPTIONS, 0, 0), IOCTL(CDROM_CLEAR_OPTIONS, 0, 0), IOCTL(CDROM_SELECT_SPEED, 0, 0), IOCTL(CDROM_SELECT_DISC, 0, 0), IOCTL(CDROM_MEDIA_CHANGED, 0, 0), IOCTL(CDROM_DRIVE_STATUS, 0, 0), IOCTL(CDROM_DISC_STATUS, 0, 0), IOCTL(CDROM_CHANGER_NSLOTS, 0, 0), IOCTL(CDROM_LOCKDOOR, 0, 0), IOCTL(CDROM_DEBUG, 0, 0), IOCTL(CDROM_GET_CAPABILITY, 0, 0), IOCTL(CDROMAUDIOBUFSIZ, 0, 0), IOCTL(DVD_READ_STRUCT, 0, 0), IOCTL(DVD_WRITE_STRUCT, 0, 0), IOCTL(DVD_AUTH, 0, 0), IOCTL(CDROM_SEND_PACKET, 0, 0), IOCTL(CDROM_NEXT_WRITABLE, 0, 0), IOCTL(CDROM_LAST_WRITTEN, 0, 0), }; static const char *const cdrom_devs[] = { "sr", }; static const struct ioctl_group cdrom_grp = { .devtype = DEV_BLOCK, .devs = cdrom_devs, .devs_cnt = ARRAY_SIZE(cdrom_devs), .sanitise = pick_random_ioctl, .ioctls = cdrom_ioctls, .ioctls_cnt = ARRAY_SIZE(cdrom_ioctls), }; REG_IOCTL_GROUP(cdrom_grp) .