Lines Matching +full:rom +full:- +full:14 +full:h
1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
3 * -- <linux/cdrom.h>
4 * General header file for linux CD-ROM drivers
9 * 1998-2002 Jens Axboe, axboe@suse.de
15 #include <linux/types.h>
16 #include <asm/byteorder.h>
19 * As of Linux 2.1.x, all Linux CD-ROM application programs will use this
21 * a uniform interface between software accessing CD-ROMs and the various
23 * 23 different kinds of strange CD-ROM drives, but at least there will
24 * now be one, and only one, Linux CD-ROM interface.
27 * should use the O_NONBLOCK option when opening a CD-ROM device
33 * - drive = open("/dev/cdrom", O_RDONLY);
50 * The CD-ROM IOCTL commands -- these should be supported by
51 * all the various cdrom drivers. For the CD-ROM ioctls, we
75 #define CDROMEJECT_SW 0x530f /* enable(1)/disable(0) auto-ejecting */
76 #define CDROMMULTISESSION 0x5310 /* Obtain the start-of-last-session
83 #define CDROMRESET 0x5312 /* hard-reset the drive */
95 * This ioctl is only used by the scsi-cd driver.
106 * These ioctls were only in (now removed) ide-cd.c for controlling
110 * -Erik
116 * These ioctls are implemented through the uniform CD-ROM driver
117 * They _will_ be adopted by all CD-ROM drivers, when all the CD-ROM
118 * drivers are eventually ported to the uniform CD-ROM driver interface.
123 #define CDROM_SELECT_SPEED 0x5322 /* Set the CD-ROM speed */
124 #define CDROM_SELECT_DISC 0x5323 /* Select disc (for juke-boxes) */
133 /* Note that scsi/scsi_ioctl.h also uses 0x5382 - 0x5386.
141 /* DVD-ROM Specific ioctls */
245 int nframes; /* number of 2352-byte-frames to read at once */
252 union cdrom_addr addr; /* frame address: start-of-last-session
266 __u8 medium_catalog_number[14]; /* 13 ASCII digits, null-terminated */
318 * A CD-ROM physical sector size is 2048, 2052, 2056, 2324, 2332, 2336,
321 * Sector types of the standard CD-ROM data formats:
324 * -----------------------------------------------------------------------------
325 * 1 (Red Book) CD-DA 2352 (CD_FRAMESIZE_RAW)
332 * The layout of the standard CD-ROM data formats:
333 * -----------------------------------------------------------------------------
334 * - audio (red): | audio_sample_bytes |
337 * - data (yellow, mode1): | sync - head - data - EDC - zero - ECC |
338 * | 12 - 4 - 2048 - 4 - 8 - 276 |
340 * - data (yellow, mode2): | sync - head - data |
341 * | 12 - 4 - 2336 |
343 * - XA data (green, mode2 form1): | sync - head - sub - data - EDC - ECC |
344 * | 12 - 4 - 8 - 2048 - 4 - 276 |
346 * - XA data (green, mode2 form2): | sync - head - sub - data - Spare |
347 * | 12 - 4 - 8 - 2324 - 4 |
351 /* Some generally useful CD-ROM information -- mostly based on the above */
357 #define CD_CHUNK_SIZE 24 /* lowest-level "data bytes piece" */
369 #define CD_FRAMESIZE_RAW1 (CD_FRAMESIZE_RAW-CD_SYNC_SIZE) /*2340*/
370 #define CD_FRAMESIZE_RAW0 (CD_FRAMESIZE_RAW-CD_SYNC_SIZE-CD_HEAD_SIZE) /*2336*/
376 /* CD-ROM address types (cdrom_tocentry.cdte_format) */
378 #define CDROM_MSF 0x02 /* "minute-second-frame": binary, not bcd here! */
386 /* audio states (from SCSI-2, but seen with other drives, too) */
394 /* capability flags used with the uniform CD-ROM driver */
399 #define CDC_SELECT_DISC 0x10 /* select disc from juke-box */
407 #define CDC_CD_R 0x2000 /* drive is a CD-R */
408 #define CDC_CD_RW 0x4000 /* drive is a CD-RW */
410 #define CDC_DVD_R 0x10000 /* drive can write DVD-R */
411 #define CDC_DVD_RAM 0x20000 /* drive can write DVD-RAM */
433 /* User-configurable behavior options for the uniform CD-ROM driver */
441 #define CDSL_NONE (INT_MAX-1)
445 * per drive - SCSI CD-ROM's use minors to differentiate between the
447 * Use the -o session=x option to mount on them.
450 #define CD_PART_MASK (CD_PART_MAX - 1)
516 /* This seems to be a SCSI specific CD-ROM opcode
536 /* Not in Mt. Fuji, but in ATAPI 2.6 -- deprecated now in favor
636 typedef __u8 dvd_key[5]; /* 40-bit value, MSB is first elem. */
637 typedef __u8 dvd_challenge[10]; /* 80-bit value, MSB is first elem. */
772 * mrw mode pages (first is deprecated) -- probed at init time and
773 * cdi->mrw_mode_page is set
804 /* cf. mmc4r02g.pdf 5.3.10 Random Writable Feature (0020h) pg 197 of 635 */
845 #error "Please fix <asm/byteorder.h>"