ReactOS 0.4.16-dev-91-g764881a
cd.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  _RAW_ISO_VD
 
struct  _RAW_HSG_VD
 
struct  _RAW_JOLIET_VD
 
struct  _RAW_DIRENT
 
struct  _RAW_PATH_ISO
 
struct  _RAW_PATH_HSG
 
struct  _SYSTEM_USE_XA
 

Macros

#define SECTOR_SIZE   (2048)
 
#define RAW_SECTOR_SIZE   (2352)
 
#define SECTOR_MASK   (SECTOR_SIZE - 1)
 
#define INVERSE_SECTOR_MASK   ~(SECTOR_SIZE - 1)
 
#define SECTOR_SHIFT   (11)
 
#define XA_SECTOR_SIZE   (2352)
 
#define FIRST_VD_SECTOR   (16)
 
#define VOL_ID_LEN   (5)
 
#define ESC_SEQ_LEN   (3)
 
#define VERSION_1   (1)
 
#define VD_TERMINATOR   (255)
 
#define VD_PRIMARY   (1)
 
#define VD_SECONDARY   (2)
 
#define VOLUME_ID_LENGTH   (32)
 
#define CD_SECTOR_SIZE   (2048)
 
#define ISO_VOL_ID   "CD001"
 
#define HSG_VOL_ID   "CDROM"
 
#define ISO_ATTR_MULTI   0x0080
 
#define ISO_ATTR_DIRECTORY   0x0002
 
#define MIN_DIR_REC_SIZE   (sizeof( RAW_DIR_REC ) - MAX_FILE_ID_LENGTH)
 
#define RVD_STD_ID(r, i)
 
#define RVD_DESC_TYPE(r, i)
 
#define RVD_VERSION(r, i)
 
#define RVD_LB_SIZE(r, i)
 
#define RVD_VOL_SIZE(r, i)
 
#define RVD_ROOT_DE(r, i)
 
#define DE_FILE_FLAGS(iso, de)   (iso ? de->FlagsISO : de->FlagsHSG)
 
#define TOC_DATA_TRACK   (0x04)
 
#define TOC_LAST_TRACK   (0xaa)
 
#define LEN_ROOT_DE   (34)
 
#define MAX_FILE_ID_LENGTH   (255)
 
#define CdRvdId(R, F)
 
#define CdRvdVersion(R, F)
 
#define CdRvdDescType(R, F)
 
#define CdRvdEsc(R, F)
 
#define CdRvdVolId(R, F)
 
#define CdRvdBlkSz(R, F)
 
#define CdRvdPtLoc(R, F)
 
#define CdRvdPtSz(R, F)
 
#define CdRvdDirent(R, F)
 
#define CdRvdVolSz(R, F)
 
#define CD_ATTRIBUTE_HIDDEN   (0x01)
 
#define CD_ATTRIBUTE_DIRECTORY   (0x02)
 
#define CD_ATTRIBUTE_ASSOC   (0x04)
 
#define CD_ATTRIBUTE_MULTI   (0x80)
 
#define CD_BASE_YEAR   (1900)
 
#define MIN_RAW_DIRENT_LEN   (FIELD_OFFSET( RAW_DIRENT, FileId ) + 1)
 
#define BYTE_COUNT_8_DOT_3   (24)
 
#define SHORT_NAME_SHIFT   (5)
 
#define CdRawDirentFlags(IC, RD)
 
#define GMT_OFFSET_TO_NT   ((LONGLONG) 15 * 60 * 1000 * 1000 * 10)
 
#define CdConvertCdTimeToNtTime(IC, CD, NT)
 
#define MIN_RAW_PATH_ENTRY_LEN   (FIELD_OFFSET( RAW_PATH_ENTRY, DirId ) + 1)
 
#define CdRawPathIdLen(IC, RP)
 
#define CdRawPathXar(IC, RP)
 
#define CdRawPathLoc(IC, RP)
 
#define SYSTEM_USE_XA_FORM1   (0x0008)
 
#define SYSTEM_USE_XA_FORM2   (0x0010)
 
#define SYSTEM_USE_XA_DA   (0x0040)
 
#define SYSTEM_XA_SIGNATURE   (0x4158)
 

Typedefs

typedef LARGE_INTEGER FILE_ID
 
typedef FILE_IDPFILE_ID
 
typedef struct _RAW_ISO_VD RAW_ISO_VD
 
typedef RAW_ISO_VDPRAW_ISO_VD
 
typedef struct _RAW_HSG_VD RAW_HSG_VD
 
typedef RAW_HSG_VDPRAW_HSG_VD
 
typedef struct _RAW_JOLIET_VD RAW_JOLIET_VD
 
typedef RAW_JOLIET_VDPRAW_JOLIET_VD
 
typedef struct _RAW_DIRENT RAW_DIRENT
 
typedef RAW_DIRENT RAW_DIR_REC
 
typedef RAW_DIRENTPRAW_DIR_REC
 
typedef RAW_DIRENTPRAW_DIRENT
 
typedef struct _RAW_PATH_ISO RAW_PATH_ISO
 
typedef RAW_PATH_ISOPRAW_PATH_ISO
 
typedef RAW_PATH_ISO RAW_PATH_ENTRY
 
typedef RAW_PATH_ISOPRAW_PATH_ENTRY
 
typedef struct _RAW_PATH_HSG RAW_PATH_HSG
 
typedef RAW_PATH_HSGPRAW_PATH_HSG
 
typedef struct _SYSTEM_USE_XA SYSTEM_USE_XA
 
typedef SYSTEM_USE_XAPSYSTEM_USE_XA
 
typedef enum _XA_EXTENT_TYPE XA_EXTENT_TYPE
 
typedef XA_EXTENT_TYPEPXA_EXTENT_TYPE
 

Enumerations

enum  _XA_EXTENT_TYPE { Form1Data = 0 , Mode2Form2Data , CDAudio }
 

Macro Definition Documentation

◆ BYTE_COUNT_8_DOT_3

#define BYTE_COUNT_8_DOT_3   (24)

Definition at line 362 of file cd.h.

◆ CD_ATTRIBUTE_ASSOC

#define CD_ATTRIBUTE_ASSOC   (0x04)

Definition at line 355 of file cd.h.

◆ CD_ATTRIBUTE_DIRECTORY

#define CD_ATTRIBUTE_DIRECTORY   (0x02)

Definition at line 354 of file cd.h.

◆ CD_ATTRIBUTE_HIDDEN

#define CD_ATTRIBUTE_HIDDEN   (0x01)

Definition at line 353 of file cd.h.

◆ CD_ATTRIBUTE_MULTI

#define CD_ATTRIBUTE_MULTI   (0x80)

Definition at line 356 of file cd.h.

◆ CD_BASE_YEAR

#define CD_BASE_YEAR   (1900)

Definition at line 358 of file cd.h.

◆ CD_SECTOR_SIZE

#define CD_SECTOR_SIZE   (2048)

Definition at line 65 of file cd.h.

◆ CdConvertCdTimeToNtTime

#define CdConvertCdTimeToNtTime (   IC,
  CD,
  NT 
)
Value:
{ \
TIME_FIELDS _TimeField; \
CHAR GmtOffset; \
_TimeField.Year = (CSHORT) *((PCHAR) CD) + CD_BASE_YEAR; \
_TimeField.Month = (CSHORT) *(Add2Ptr( CD, 1, PCHAR )); \
_TimeField .Day = (CSHORT) *(Add2Ptr( CD, 2, PCHAR )); \
_TimeField.Hour = (CSHORT) *(Add2Ptr( CD, 3, PCHAR )); \
_TimeField.Minute = (CSHORT) *(Add2Ptr( CD, 4, PCHAR )); \
_TimeField.Second = (CSHORT) *(Add2Ptr( CD, 5, PCHAR )); \
_TimeField.Milliseconds = (CSHORT) 0; \
RtlTimeFieldsToTime( &_TimeField, NT ); \
if (!FlagOn((IC)->Vcb->VcbState, VCB_STATE_HSG) && \
((GmtOffset = *(Add2Ptr( CD, 6, PCHAR ))) != 0 ) && \
(GmtOffset >= -48 && GmtOffset <= 52)) { \
(NT)->QuadPart += -GmtOffset * GMT_OFFSET_TO_NT; \
} \
}
#define GMT_OFFSET_TO_NT
Definition: cd.h:392
#define CD_BASE_YEAR
Definition: cd.h:358
#define VCB_STATE_HSG
Definition: cdstruc.h:706
#define FlagOn(_F, _SF)
Definition: ext2fs.h:179
#define Add2Ptr(PTR, INC)
#define Vcb
Definition: cdprocs.h:1415
USHORT Milliseconds
Definition: env_spec_w32.h:717
char * PCHAR
Definition: typedefs.h:51
short CSHORT
Definition: umtypes.h:127
ret QuadPart
Definition: rtlfuncs.h:3103
char CHAR
Definition: xmlstorage.h:175

Definition at line 394 of file cd.h.

◆ CdRawDirentFlags

#define CdRawDirentFlags (   IC,
  RD 
)
Value:
( \
FlagOn( (IC)->Vcb->VcbState, VCB_STATE_HSG) ? \
(RD)->FlagsHSG : \
(RD)->FlagsISO \
)

Definition at line 370 of file cd.h.

◆ CdRawPathIdLen

#define CdRawPathIdLen (   IC,
  RP 
)
Value:
( \
FlagOn( (IC)->Vcb->VcbState, VCB_STATE_HSG ) ? \
((PRAW_PATH_HSG) (RP))->DirIdLen : \
(RP)->DirIdLen \
)
RAW_PATH_HSG * PRAW_PATH_HSG
Definition: cd.h:441

Definition at line 455 of file cd.h.

◆ CdRawPathLoc

#define CdRawPathLoc (   IC,
  RP 
)
Value:
( \
FlagOn( (IC)->Vcb->VcbState, VCB_STATE_HSG ) ? \
((PRAW_PATH_HSG) (RP))->DirLoc : \
(RP)->DirLoc \
)

Definition at line 467 of file cd.h.

◆ CdRawPathXar

#define CdRawPathXar (   IC,
  RP 
)
Value:
( \
FlagOn( (IC)->Vcb->VcbState, VCB_STATE_HSG ) ? \
((PRAW_PATH_HSG) (RP))->XarLen : \
(RP)->XarLen \
)

Definition at line 461 of file cd.h.

◆ CdRvdBlkSz

#define CdRvdBlkSz (   R,
  F 
)
Value:
( \
FlagOn( (F), VCB_STATE_HSG ) ? \
((PRAW_HSG_VD) (R))->LogicalBlkSzI :\
((PRAW_ISO_VD) (R))->LogicalBlkSzI \
)
RAW_HSG_VD * PRAW_HSG_VD
Definition: cd.h:210
#define F(x, y, z)
Definition: md5.c:51
#define R(b, x)
Definition: sha2.c:134

Definition at line 289 of file cd.h.

◆ CdRvdDescType

#define CdRvdDescType (   R,
  F 
)
Value:
( \
FlagOn( (F), VCB_STATE_HSG ) ? \
((PRAW_HSG_VD) (R))->DescType : \
((PRAW_ISO_VD) (R))->DescType \
)

Definition at line 271 of file cd.h.

◆ CdRvdDirent

#define CdRvdDirent (   R,
  F 
)
Value:
( \
FlagOn( (F), VCB_STATE_HSG ) ? \
((PRAW_HSG_VD) (R))->RootDe : \
((PRAW_ISO_VD) (R))->RootDe \
)

Definition at line 307 of file cd.h.

◆ CdRvdEsc

#define CdRvdEsc (   R,
  F 
)
Value:
( \
FlagOn( (F), VCB_STATE_HSG ) ? \
((PRAW_HSG_VD) (R))->CharSet : \
((PRAW_ISO_VD) (R))->CharSet \
)
static void CharSet(RTF_Info *info)
Definition: reader.c:2420

Definition at line 277 of file cd.h.

◆ CdRvdId

#define CdRvdId (   R,
  F 
)
Value:
( \
FlagOn( (F), VCB_STATE_HSG ) ? \
((PRAW_HSG_VD) (R))->StandardId : \
((PRAW_ISO_VD) (R))->StandardId \
)

Definition at line 259 of file cd.h.

◆ CdRvdPtLoc

#define CdRvdPtLoc (   R,
  F 
)
Value:
( \
FlagOn( (F), VCB_STATE_HSG ) ? \
((PRAW_HSG_VD) (R))->PathTabLocI[0]:\
((PRAW_ISO_VD) (R))->PathTabLocI[0] \
)

Definition at line 295 of file cd.h.

◆ CdRvdPtSz

#define CdRvdPtSz (   R,
  F 
)
Value:
( \
FlagOn( (F), VCB_STATE_HSG ) ? \
((PRAW_HSG_VD) (R))->PathTableSzI : \
((PRAW_ISO_VD) (R))->PathTableSzI \
)

Definition at line 301 of file cd.h.

◆ CdRvdVersion

#define CdRvdVersion (   R,
  F 
)
Value:
( \
FlagOn( (F), VCB_STATE_HSG ) ? \
((PRAW_HSG_VD) (R))->Version : \
((PRAW_ISO_VD) (R))->Version \
)
_Must_inspect_result_ _In_ WDFDEVICE _In_ LPCGUID _Out_ PINTERFACE _In_ USHORT _In_ USHORT Version
Definition: wdffdo.h:469

Definition at line 265 of file cd.h.

◆ CdRvdVolId

#define CdRvdVolId (   R,
  F 
)
Value:
( \
FlagOn( (F), VCB_STATE_HSG ) ? \
((PRAW_HSG_VD) (R))->VolumeId : \
((PRAW_ISO_VD) (R))->VolumeId \
)

Definition at line 283 of file cd.h.

◆ CdRvdVolSz

#define CdRvdVolSz (   R,
  F 
)
Value:
( \
FlagOn( (F), VCB_STATE_HSG ) ? \
((PRAW_HSG_VD) (R))->VolSpaceI : \
((PRAW_ISO_VD) (R))->VolSpaceI \
)

Definition at line 313 of file cd.h.

◆ DE_FILE_FLAGS

#define DE_FILE_FLAGS (   iso,
  de 
)    (iso ? de->FlagsISO : de->FlagsHSG)

Definition at line 93 of file cd.h.

◆ ESC_SEQ_LEN

#define ESC_SEQ_LEN   (3)

Definition at line 51 of file cd.h.

◆ FIRST_VD_SECTOR

#define FIRST_VD_SECTOR   (16)

Definition at line 48 of file cd.h.

◆ GMT_OFFSET_TO_NT

#define GMT_OFFSET_TO_NT   ((LONGLONG) 15 * 60 * 1000 * 1000 * 10)

Definition at line 392 of file cd.h.

◆ HSG_VOL_ID

#define HSG_VOL_ID   "CDROM"

Definition at line 68 of file cd.h.

◆ INVERSE_SECTOR_MASK

#define INVERSE_SECTOR_MASK   ~(SECTOR_SIZE - 1)

Definition at line 29 of file cd.h.

◆ ISO_ATTR_DIRECTORY

#define ISO_ATTR_DIRECTORY   0x0002

Definition at line 71 of file cd.h.

◆ ISO_ATTR_MULTI

#define ISO_ATTR_MULTI   0x0080

Definition at line 70 of file cd.h.

◆ ISO_VOL_ID

#define ISO_VOL_ID   "CD001"

Definition at line 67 of file cd.h.

◆ LEN_ROOT_DE

#define LEN_ROOT_DE   (34)

Definition at line 116 of file cd.h.

◆ MAX_FILE_ID_LENGTH

#define MAX_FILE_ID_LENGTH   (255)

Definition at line 123 of file cd.h.

◆ MIN_DIR_REC_SIZE

#define MIN_DIR_REC_SIZE   (sizeof( RAW_DIR_REC ) - MAX_FILE_ID_LENGTH)

Definition at line 73 of file cd.h.

◆ MIN_RAW_DIRENT_LEN

#define MIN_RAW_DIRENT_LEN   (FIELD_OFFSET( RAW_DIRENT, FileId ) + 1)

Definition at line 360 of file cd.h.

◆ MIN_RAW_PATH_ENTRY_LEN

#define MIN_RAW_PATH_ENTRY_LEN   (FIELD_OFFSET( RAW_PATH_ENTRY, DirId ) + 1)

Definition at line 443 of file cd.h.

◆ RAW_SECTOR_SIZE

#define RAW_SECTOR_SIZE   (2352)

Definition at line 27 of file cd.h.

◆ RVD_DESC_TYPE

#define RVD_DESC_TYPE (   r,
  i 
)
Value:
(i ? r->DescType : \
((PRAW_HSG_VD) r)->DescType )
GLdouble GLdouble GLdouble r
Definition: gl.h:2055
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248

Definition at line 78 of file cd.h.

◆ RVD_LB_SIZE

#define RVD_LB_SIZE (   r,
  i 
)
Value:
(i ? r->LogicalBlkSzI : \
((PRAW_HSG_VD) r)->LogicalBlkSzI )

Definition at line 84 of file cd.h.

◆ RVD_ROOT_DE

#define RVD_ROOT_DE (   r,
  i 
)
Value:
(i ? r->RootDe : \
((PRAW_HSG_VD) r)->RootDe )

Definition at line 90 of file cd.h.

◆ RVD_STD_ID

#define RVD_STD_ID (   r,
  i 
)
Value:
(i ? r->StandardId : \
((PRAW_HSG_VD) r)->StandardId )

Definition at line 75 of file cd.h.

◆ RVD_VERSION

#define RVD_VERSION (   r,
  i 
)
Value:
(i ? r->Version : \
((PRAW_HSG_VD) r)->Version )

Definition at line 81 of file cd.h.

◆ RVD_VOL_SIZE

#define RVD_VOL_SIZE (   r,
  i 
)
Value:
(i ? r->VolSpaceI : \
((PRAW_HSG_VD) r)->VolSpaceI )

Definition at line 87 of file cd.h.

◆ SECTOR_MASK

#define SECTOR_MASK   (SECTOR_SIZE - 1)

Definition at line 28 of file cd.h.

◆ SECTOR_SHIFT

#define SECTOR_SHIFT   (11)

Definition at line 32 of file cd.h.

◆ SECTOR_SIZE

#define SECTOR_SIZE   (2048)

Definition at line 24 of file cd.h.

◆ SHORT_NAME_SHIFT

#define SHORT_NAME_SHIFT   (5)

Definition at line 364 of file cd.h.

◆ SYSTEM_USE_XA_DA

#define SYSTEM_USE_XA_DA   (0x0040)

Definition at line 518 of file cd.h.

◆ SYSTEM_USE_XA_FORM1

#define SYSTEM_USE_XA_FORM1   (0x0008)

Definition at line 516 of file cd.h.

◆ SYSTEM_USE_XA_FORM2

#define SYSTEM_USE_XA_FORM2   (0x0010)

Definition at line 517 of file cd.h.

◆ SYSTEM_XA_SIGNATURE

#define SYSTEM_XA_SIGNATURE   (0x4158)

Definition at line 520 of file cd.h.

◆ TOC_DATA_TRACK

#define TOC_DATA_TRACK   (0x04)

Definition at line 99 of file cd.h.

◆ TOC_LAST_TRACK

#define TOC_LAST_TRACK   (0xaa)

Definition at line 100 of file cd.h.

◆ VD_PRIMARY

#define VD_PRIMARY   (1)

Definition at line 56 of file cd.h.

◆ VD_SECONDARY

#define VD_SECONDARY   (2)

Definition at line 57 of file cd.h.

◆ VD_TERMINATOR

#define VD_TERMINATOR   (255)

Definition at line 55 of file cd.h.

◆ VERSION_1

#define VERSION_1   (1)

Definition at line 53 of file cd.h.

◆ VOL_ID_LEN

#define VOL_ID_LEN   (5)

Definition at line 50 of file cd.h.

◆ VOLUME_ID_LENGTH

#define VOLUME_ID_LENGTH   (32)

Definition at line 59 of file cd.h.

◆ XA_SECTOR_SIZE

#define XA_SECTOR_SIZE   (2352)

Definition at line 35 of file cd.h.

Typedef Documentation

◆ FILE_ID

Definition at line 41 of file cd.h.

◆ PFILE_ID

typedef FILE_ID* PFILE_ID

Definition at line 42 of file cd.h.

◆ PRAW_DIR_REC

Definition at line 350 of file cd.h.

◆ PRAW_DIRENT

Definition at line 351 of file cd.h.

◆ PRAW_HSG_VD

Definition at line 210 of file cd.h.

◆ PRAW_ISO_VD

Definition at line 166 of file cd.h.

◆ PRAW_JOLIET_VD

Definition at line 253 of file cd.h.

◆ PRAW_PATH_ENTRY

Definition at line 430 of file cd.h.

◆ PRAW_PATH_HSG

Definition at line 441 of file cd.h.

◆ PRAW_PATH_ISO

Definition at line 428 of file cd.h.

◆ PSYSTEM_USE_XA

Definition at line 514 of file cd.h.

◆ PXA_EXTENT_TYPE

Definition at line 529 of file cd.h.

◆ RAW_DIR_REC

Definition at line 349 of file cd.h.

◆ RAW_DIRENT

◆ RAW_HSG_VD

◆ RAW_ISO_VD

◆ RAW_JOLIET_VD

◆ RAW_PATH_ENTRY

Definition at line 429 of file cd.h.

◆ RAW_PATH_HSG

◆ RAW_PATH_ISO

◆ SYSTEM_USE_XA

◆ XA_EXTENT_TYPE

Enumeration Type Documentation

◆ _XA_EXTENT_TYPE

Enumerator
Form1Data 
Mode2Form2Data 
CDAudio 

Definition at line 522 of file cd.h.

522 {
523
524 Form1Data = 0,
526 CDAudio
527
enum _XA_EXTENT_TYPE XA_EXTENT_TYPE
@ Form1Data
Definition: cd.h:524
@ Mode2Form2Data
Definition: cd.h:525
@ CDAudio
Definition: cd.h:526