From: short <> Date: Thu, 7 Nov 2002 11:14:52 +0000 (+0000) Subject: CDROM_TOC: Fixed comments about TOC_LAST_TRACK behaviour X-Git-Tag: captive-0_2~177 X-Git-Url: http://git.jankratochvil.net/?p=reactos.git;a=commitdiff_plain;h=0fe677868da79071f79a3b5a35a79bb56e9ef53e CDROM_TOC: Fixed comments about TOC_LAST_TRACK behaviour --- diff --git a/include/ntos/cdrom.h b/include/ntos/cdrom.h index 032bf44..86865e6 100644 --- a/include/ntos/cdrom.h +++ b/include/ntos/cdrom.h @@ -35,15 +35,20 @@ typedef struct _TRACK_DATA { UCHAR Reserved; UCHAR Control : 4; /* bitfield; 0 || TOC_DATA_TRACK */ UCHAR Adr : 4; /* Q-subchannel info */ - UCHAR TrackNumber; /* CDROM_TOC.FirstTrack or TOC_LAST_TRACK on last+1 track CDROM_TOC.TrackData[CDROM_TOC.LastTrack-1] */ + UCHAR TrackNumber; /* CDROM_TOC.FirstTrack or TOC_LAST_TRACK behind last track CDROM_TOC.TrackData[CDROM_TOC.LastTrack] */ UCHAR Reserved1; UCHAR Address[4]; /* big-endian LBA address for TOC_DATA_TRACK; MSF (sometimes BCD-MSF) for audio */ } TRACK_DATA, *PTRACK_DATA; typedef struct _CDROM_TOC { - UCHAR Length[2]; /* <='sizeof(CDROM_TOC)-2' or less; it does not count 'Length' itself; little-endian */ + /* >='sizeof(CDROM_TOC with (LastTrack-FirstTrack+1)+1{TOC_LAST_TRACK track} tracks)-2' + * <='sizeof(CDROM_TOC)-2'; + * It does not count 'Length' field itself (==minus 2 bytes). + * Little-endian format. + */ + UCHAR Length[2]; UCHAR FirstTrack; /* based anywhere */ - UCHAR LastTrack; /* last TrackData has TOC_LAST_TRACK; 'LastTrack-FirstTrack+1' is the count */ + UCHAR LastTrack; /* 'LastTrack-FirstTrack+1' is the real-tracks count; TOC_LAST_TRACK is one track behind */ TRACK_DATA TrackData[MAXIMUM_NUMBER_TRACKS]; } CDROM_TOC, *PCDROM_TOC;