ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

cdrom.h File Reference
#include "ntddmmc.h"
#include "trace.h"

Go to the source code of this file.

Data Structures

struct  PXA_CONTEXT
struct  PERROR_RECOVERY_DATA
struct  PERROR_RECOVERY_DATA10
struct  PCDROM_DRIVER_EXTENSION
struct  PCDROM_MMC_EXTENSION
struct  PCDROM_DATA

Defines

#define CDROM_GET_CONFIGURATION_TIMEOUT   (0x4)
#define CDROM_HACK_DEC_RRD   (0x00000001)
#define CDROM_HACK_FUJITSU_FMCD_10x   (0x00000002)
#define CDROM_HACK_HITACHI_1750   (0x00000004)
#define CDROM_HACK_HITACHI_GD_2000   (0x00000008)
#define CDROM_HACK_TOSHIBA_SD_W1101   (0x00000010)
#define CDROM_HACK_TOSHIBA_XM_3xx   (0x00000020)
#define CDROM_HACK_NEC_CDDA   (0x00000040)
#define CDROM_HACK_PLEXTOR_CDDA   (0x00000080)
#define CDROM_HACK_BAD_GET_CONFIG_SUPPORT   (0x00000100)
#define CDROM_HACK_FORCE_READ_CD_DETECTION   (0x00000200)
#define CDROM_HACK_READ_CD_SUPPORTED   (0x00000400)
#define CDROM_HACK_LOCKED_PAGES   (0x80000000)
#define CDROM_HACK_VALID_FLAGS   (0x000007ff)
#define CDROM_HACK_INVALID_FLAGS   (~CDROM_HACK_VALID_FLAGS)
#define CdromMmcUpdateComplete   0
#define CdromMmcUpdateRequired   1
#define CdromMmcUpdateStarted   2
#define CDROM_DRIVER_EXTENSION_ID   CdRomAddDevice
#define DEVICE_EXTENSION_SIZE   sizeof(FUNCTIONAL_DEVICE_EXTENSION) + sizeof(CDROM_DATA)
#define SCSI_CDROM_TIMEOUT   10
#define SCSI_CHANGER_BONUS_TIMEOUT   10
#define HITACHI_MODE_DATA_SIZE   12
#define MODE_DATA_SIZE   64
#define RAW_SECTOR_SIZE   2352
#define COOKED_SECTOR_SIZE   2048
#define CDROM_SRB_LIST_SIZE   4
#define PLAY_ACTIVE(x)   (((PCDROM_DATA)(x->CommonExtension.DriverData))->PlayActive)
#define MSF_TO_LBA(Minutes, Seconds, Frames)   (ULONG)((60 * 75 * (Minutes)) + (75 * (Seconds)) + ((Frames) - 150))
#define LBA_TO_MSF(Lba, Minutes, Seconds, Frames)
#define DEC_TO_BCD(x)   (((x / 10) << 4) + (x % 10))
#define XA_USE_6_BYTE   0x01
#define XA_USE_10_BYTE   0x02
#define XA_NOT_SUPPORTED   0x10
#define XA_USE_READ_CD   0x20
#define XA_PLEXTOR_CDDA   0x40
#define XA_NEC_CDDA   0x80
#define ANY_SECTOR   0
#define CD_DA_SECTOR   1
#define YELLOW_MODE1_SECTOR   2
#define YELLOW_MODE2_SECTOR   3
#define FORM2_MODE1_SECTOR   4
#define FORM2_MODE2_SECTOR   5
#define MAX_COPY_PROTECT_AGID   4
#define CDROM_TAG_GET_CONFIG   'cCcS'
#define CDROM_TAG_DC_EVENT   'ECcS'
#define CDROM_TAG_FEATURE   'FCcS'
#define CDROM_TAG_DISK_GEOM   'GCcS'
#define CDROM_TAG_HITACHI_ERROR   'HCcS'
#define CDROM_TAG_SENSE_INFO   'ICcS'
#define CDROM_TAG_POWER_IRP   'iCcS'
#define CDROM_TAG_SRB   'SCcS'
#define CDROM_TAG_STRINGS   'sCcS'
#define CDROM_TAG_MODE_DATA   'MCcS'
#define CDROM_TAG_READ_CAP   'PCcS'
#define CDROM_TAG_PLAY_ACTIVE   'pCcS'
#define CDROM_TAG_SUB_Q   'QCcS'
#define CDROM_TAG_RAW   'RCcS'
#define CDROM_TAG_TOC   'TCcS'
#define CDROM_TAG_TOSHIBA_ERROR   'tCcS'
#define CDROM_TAG_DEC_ERROR   'dCcS'
#define CDROM_TAG_UPDATE_CAP   'UCcS'
#define CDROM_TAG_VOLUME   'VCcS'
#define CDROM_TAG_VOLUME_INT   'vCcS'
#define DVD_TAG_READ_STRUCTURE   'SVcS'
#define DVD_TAG_READ_KEY   'kVcS'
#define DVD_TAG_SEND_KEY   'KVcS'
#define DVD_TAG_RPC2_CHECK   'sVcS'
#define DVD_TAG_DVD_REGION   'tVcS'
#define DVD_TAG_SECURITY   'XVcS'
#define CDROM_SUBKEY_NAME   (L"CdRom")
#define CDROM_READ_CD_NAME   (L"ReadCD")
#define CDROM_NON_MMC_DRIVE_NAME   (L"NonMmc")
#define DVD_DEFAULT_REGION   (L"DefaultDvdRegion")
#define DVD_CURRENT_REGION   (L"DvdR")
#define DVD_REGION_RESET_COUNT   (L"DvdRCnt")
#define DVD_MAX_REGION_RESET_COUNT   2
#define DVD_MAX_REGION   8
#define BAIL_OUT(Irp)

Enumerations

enum  CdromError {
  CdromDebugError = 0, CdromDebugWarning = 1, CdromDebugTrace = 2, CdromDebugInfo = 3,
  CdromDebugFeatures = 32
}

Functions

static VOID CdRomCompleteIrpAndStartNextPacketSafely (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
VOID CdRomDeviceControlDvdReadStructure (IN PDEVICE_OBJECT DeviceObject, IN PIRP OriginalIrp, IN PIRP NewIrp, IN PSCSI_REQUEST_BLOCK Srb)
VOID CdRomDeviceControlDvdEndSession (IN PDEVICE_OBJECT DeviceObject, IN PIRP OriginalIrp, IN PIRP NewIrp, IN PSCSI_REQUEST_BLOCK Srb)
VOID CdRomDeviceControlDvdStartSessionReadKey (IN PDEVICE_OBJECT DeviceObject, IN PIRP OriginalIrp, IN PIRP NewIrp, IN PSCSI_REQUEST_BLOCK Srb)
VOID CdRomDeviceControlDvdSendKey (IN PDEVICE_OBJECT DeviceObject, IN PIRP OriginalIrp, IN PIRP NewIrp, IN PSCSI_REQUEST_BLOCK Srb)
NTSTATUS DriverEntry (IN PDRIVER_OBJECT DriverObject, IN PUNICODE_STRING RegistryPath)
VOID CdRomUnload (IN PDRIVER_OBJECT DriverObject)
NTSTATUS CdRomAddDevice (IN PDRIVER_OBJECT DriverObject, IN PDEVICE_OBJECT Pdo)
NTSTATUS CdRomOpenClose (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
NTSTATUS CdRomReadWriteVerification (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
NTSTATUS CdRomSwitchMode (IN PDEVICE_OBJECT DeviceObject, IN ULONG SectorSize, IN PIRP OriginalRequest)
NTSTATUS CdRomDeviceControlDispatch (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
NTSTATUS CdRomDeviceControlCompletion (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN PVOID Context)
NTSTATUS CdRomSetVolumeIntermediateCompletion (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN PVOID Context)
NTSTATUS CdRomSwitchModeCompletion (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN PVOID Context)
NTSTATUS CdRomXACompletion (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN PVOID Context)
NTSTATUS CdRomClassIoctlCompletion (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN PVOID Context)
VOID CdRomStartIo (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
VOID CdRomTickHandler (IN PDEVICE_OBJECT DeviceObject)
NTSTATUS CdRomUpdateCapacity (IN PFUNCTIONAL_DEVICE_EXTENSION DeviceExtension, IN PIRP IrpToComplete, IN OPTIONAL PKEVENT IoctlEvent)
NTSTATUS CdRomCreateDeviceObject (IN PDRIVER_OBJECT DriverObject, IN PDEVICE_OBJECT Pdo)
VOID ScanForSpecialHandler (PFUNCTIONAL_DEVICE_EXTENSION FdoExtension, ULONG_PTR HackFlags)
VOID ScanForSpecial (PDEVICE_OBJECT DeviceObject)
BOOLEAN CdRomIsPlayActive (IN PDEVICE_OBJECT DeviceObject)
VOID CdRomErrorHandler (PDEVICE_OBJECT DeviceObject, PSCSI_REQUEST_BLOCK Srb, NTSTATUS *Status, BOOLEAN *Retry)
VOID HitachiProcessErrorGD2000 (PDEVICE_OBJECT DeviceObject, PSCSI_REQUEST_BLOCK Srb, NTSTATUS *Status, BOOLEAN *Retry)
VOID HitachiProcessError (PDEVICE_OBJECT DeviceObject, PSCSI_REQUEST_BLOCK Srb, NTSTATUS *Status, BOOLEAN *Retry)
VOID ToshibaProcessError (PDEVICE_OBJECT DeviceObject, PSCSI_REQUEST_BLOCK Srb, NTSTATUS *Status, BOOLEAN *Retry)
NTSTATUS ToshibaProcessErrorCompletion (PDEVICE_OBJECT DeviceObject, PIRP Irp, PVOID Context)
VOID CdRomCreateNamedEvent (IN PFUNCTIONAL_DEVICE_EXTENSION DeviceExtension, IN ULONG DeviceNumber)
NTSTATUS CdRomInitDevice (IN PDEVICE_OBJECT Fdo)
NTSTATUS CdRomStartDevice (IN PDEVICE_OBJECT Fdo)
NTSTATUS CdRomStopDevice (IN PDEVICE_OBJECT DeviceObject, IN UCHAR Type)
NTSTATUS CdRomRemoveDevice (IN PDEVICE_OBJECT DeviceObject, IN UCHAR Type)
NTSTATUS CdRomDvdEndAllSessionsCompletion (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN PVOID Context)
NTSTATUS CdRomDvdReadDiskKeyCompletion (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN PVOID Context)
DEVICE_TYPE CdRomGetDeviceType (IN PDEVICE_OBJECT DeviceObject)
NTSTATUS CdRomCreateWellKnownName (IN PDEVICE_OBJECT DeviceObject)
VOID CdRomDeleteWellKnownName (IN PDEVICE_OBJECT DeviceObject)
NTSTATUS CdRomGetDeviceParameter (IN PDEVICE_OBJECT DeviceObject, IN PWSTR ParameterName, IN OUT PULONG ParameterValue)
NTSTATUS CdRomSetDeviceParameter (IN PDEVICE_OBJECT DeviceObject, IN PWSTR ParameterName, IN ULONG ParameterValue)
VOID CdRomPickDvdRegion (IN PDEVICE_OBJECT Fdo)
NTSTATUS CdRomRetryRequest (IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension, IN PIRP Irp, IN ULONG Delay, IN BOOLEAN ResendIrp)
NTSTATUS CdRomRerunRequest (IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension, IN OPTIONAL PIRP Irp, IN BOOLEAN ResendIrp)
NTSTATUS CdRomGetRpc0Settings (IN PDEVICE_OBJECT Fdo)
NTSTATUS CdRomSetRpc0Settings (IN PDEVICE_OBJECT Fdo, IN UCHAR NewRegion)
NTSTATUS CdRomShutdownFlush (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
VOID CdRomIsDeviceMmcDevice (IN PDEVICE_OBJECT Fdo, OUT PBOOLEAN IsMmc)
VOID NTAPI CdRomMmcErrorHandler (IN PDEVICE_OBJECT Fdo, IN PSCSI_REQUEST_BLOCK Srb, OUT PNTSTATUS Status, OUT PBOOLEAN Retry)
PVOID CdRomFindFeaturePage (IN PGET_CONFIGURATION_HEADER FeatureBuffer, IN ULONG Length, IN FEATURE_NUMBER Feature)
NTSTATUS CdRomGetConfiguration (IN PDEVICE_OBJECT Fdo, OUT PGET_CONFIGURATION_HEADER *Buffer, OUT PULONG BytesReturned, IN FEATURE_NUMBER StartingFeature, IN ULONG RequestedType)
VOID CdRomUpdateMmcDriveCapabilities (IN PDEVICE_OBJECT Fdo, IN PVOID Context)
VOID CdRomFindProfileInProfiles (IN PFEATURE_DATA_PROFILE_LIST ProfileHeader, IN FEATURE_PROFILE_TYPE ProfileToFind, OUT PBOOLEAN Exists)
NTSTATUS CdRomAllocateMmcResources (IN PDEVICE_OBJECT Fdo)
VOID CdRomDeAllocateMmcResources (IN PDEVICE_OBJECT Fdo)
VOID CdromFakePartitionInfo (IN PCOMMON_DEVICE_EXTENSION CommonExtension, IN PIRP Irp)
VOID CdRomInterpretReadCapacity (IN PDEVICE_OBJECT Fdo, IN PREAD_CAPACITY_DATA ReadCapacityBuffer)
NTSTATUS CdRomShutdownFlushCompletion (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN PIRP Context)
VOID CdRompFlushDelayedList (IN PDEVICE_OBJECT Fdo, IN PCDROM_MMC_EXTENSION MmcData, IN NTSTATUS Status, IN BOOLEAN CalledFromWorkItem)

Variables

CLASSPNP_SCAN_FOR_SPECIAL_INFO CdromHackItems []

Generated on Sun May 27 2012 05:25:26 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.