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