3 * COPYRIGHT: See COPYING in the top level directory
4 * PROJECT: ReactOS kernel
5 * FILE: include/ntos/cdrom.h
6 * PURPOSE: CD-ROM related definitions used by all the parts of the system
7 * PROGRAMMER: Eric Kohl <ekohl@rz-online.de>
12 #ifndef __INCLUDE_NTOS_CDROM_H
13 #define __INCLUDE_NTOS_CDROM_H
16 #define IOCTL_CDROM_BASE FILE_DEVICE_CD_ROM
18 #define IOCTL_CDROM_READ_TOC CTL_CODE(IOCTL_CDROM_BASE, 0x0000, METHOD_BUFFERED, FILE_READ_ACCESS)
19 #define IOCTL_CDROM_GET_LAST_SESSION CTL_CODE(IOCTL_CDROM_BASE, 0x000E, METHOD_BUFFERED, FILE_READ_ACCESS)
20 #define IOCTL_CDROM_GET_DRIVE_GEOMETRY CTL_CODE(IOCTL_CDROM_BASE, 0x0013, METHOD_BUFFERED, FILE_READ_ACCESS)
22 #define IOCTL_CDROM_CHECK_VERIFY CTL_CODE(IOCTL_CDROM_BASE, 0x0200, METHOD_BUFFERED, FILE_READ_ACCESS)
25 #define MAXIMUM_NUMBER_TRACKS 100
26 #define MAXIMUM_CDROM_SIZE 804
28 typedef struct _TRACK_DATA
36 } TRACK_DATA, *PTRACK_DATA;
38 typedef struct _CDROM_TOC
43 TRACK_DATA TrackData[MAXIMUM_NUMBER_TRACKS];
44 } CDROM_TOC, *PCDROM_TOC;
46 #define CDROM_TOC_SIZE sizeof(CDROM_TOC)
48 #endif /* __INCLUDE_NTOS_CDROM_H */