@samitouri / QOSamiQemu / commits / dcb6e96257

linux-user: Add missing CDROM ioctls

Add the missing CDROM ioctls and bring them in same order as documentation. Signed-off-by: Helge Deller <deller@gmx.de>

Helge Deller committed Apr 25, 2026 at 22:58 UTC dcb6e96257eea926aef16854bed0871b0605a8b9
1 file changed +17 -12
linux-user/ioctls.h
+17 -12
@@ -416,19 +416,18 @@
416 #endif
417
418 IOCTL(CDROMPAUSE, 0, TYPE_NULL)
419 - IOCTL(CDROMSTART, 0, TYPE_NULL)
420 - IOCTL(CDROMSTOP, 0, TYPE_NULL)
419 IOCTL(CDROMRESUME, 0, TYPE_NULL)
422 - IOCTL(CDROMEJECT, 0, TYPE_NULL)
423 - IOCTL(CDROMEJECT_SW, 0, TYPE_INT)
424 - IOCTL(CDROMCLOSETRAY, 0, TYPE_NULL)
425 - IOCTL(CDROMRESET, 0, TYPE_NULL)
420 IOCTL(CDROMPLAYMSF, IOC_W, MK_PTR(TYPE_INT))
421 IOCTL(CDROMPLAYTRKIND, IOC_W, MK_PTR(TYPE_INT))
422 IOCTL(CDROMREADTOCHDR, IOC_R, MK_PTR(TYPE_INT))
423 IOCTL(CDROMREADTOCENTRY, IOC_RW, MK_PTR(TYPE_INT))
424 + IOCTL(CDROMSTOP, 0, TYPE_NULL)
425 + IOCTL(CDROMSTART, 0, TYPE_NULL)
426 + IOCTL(CDROMEJECT, 0, TYPE_NULL)
427 IOCTL(CDROMVOLCTRL, IOC_W, MK_PTR(TYPE_INT))
428 IOCTL(CDROMSUBCHNL, IOC_RW, MK_PTR(TYPE_INT))
429 + IOCTL(CDROMEJECT_SW, IOC_W, TYPE_INT)
430 + IOCTL(CDROMRESET, 0, TYPE_NULL)
431 /* XXX: incorrect (need specific handling) */
432 IOCTL(CDROMREADAUDIO, IOC_W, MK_PTR(MK_STRUCT(STRUCT_cdrom_read_audio)))
433 IOCTL(CDROMREADCOOKED, IOC_RW, MK_PTR(TYPE_INT))
@@ -438,16 +437,22 @@
437 IOCTL(CDROMREADALL, IOC_RW, MK_PTR(TYPE_INT))
438 IOCTL(CDROMMULTISESSION, IOC_RW, MK_PTR(TYPE_INT))
439 IOCTL(CDROM_GET_UPC, IOC_R, MK_PTR(TYPE_INT))
440 + IOCTL(CDROM_LAST_WRITTEN, IOC_R, MK_PTR(TYPE_LONG))
441 IOCTL(CDROMVOLREAD, IOC_R, MK_PTR(TYPE_INT))
442 IOCTL(CDROMSEEK, IOC_W, MK_PTR(TYPE_INT))
443 IOCTL(CDROMPLAYBLK, IOC_W, MK_PTR(TYPE_INT))
444 - IOCTL(CDROM_MEDIA_CHANGED, 0, TYPE_NULL)
445 - IOCTL(CDROM_SET_OPTIONS, 0, TYPE_INT)
446 - IOCTL(CDROM_CLEAR_OPTIONS, 0, TYPE_INT)
447 - IOCTL(CDROM_SELECT_SPEED, 0, TYPE_INT)
448 - IOCTL(CDROM_SELECT_DISC, 0, TYPE_INT)
449 - IOCTL(CDROM_DRIVE_STATUS, 0, TYPE_NULL)
444 + IOCTL(CDROMCLOSETRAY, 0, TYPE_NULL)
445 + IOCTL(CDROM_SET_OPTIONS, IOC_W, TYPE_INT)
446 + IOCTL(CDROM_CLEAR_OPTIONS, IOC_W, TYPE_INT)
447 + IOCTL(CDROM_SELECT_SPEED, IOC_W, TYPE_INT)
448 + IOCTL(CDROM_SELECT_DISC, IOC_W, TYPE_INT)
449 + IOCTL(CDROM_MEDIA_CHANGED, IOC_W, TYPE_INT)
450 + IOCTL(CDROM_DRIVE_STATUS, IOC_W, TYPE_INT)
451 IOCTL(CDROM_DISC_STATUS, 0, TYPE_NULL)
452 + IOCTL(CDROM_CHANGER_NSLOTS, 0, TYPE_NULL)
453 + IOCTL(CDROM_LOCKDOOR, IOC_W, TYPE_INT)
454 + IOCTL(CDROM_DEBUG, IOC_W, TYPE_INT)
455 + IOCTL(CDROM_GET_CAPABILITY, 0, TYPE_NULL)
456 IOCTL(CDROMAUDIOBUFSIZ, 0, TYPE_INT)
457
458 #if 0