⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 isovol.h

📁 newos is new operation system
💻 H
字号:
#ifndef ISOVOLDESC_H#define ISOVOLDESC_H// Volume Descriptor types#define ISO_VD_PRIMARY			0x01#define ISO_VD_SUPPLEMENTARY	0x02#define ISO_VD_END				0xFF// Volume Descriptor ID#define ISO_VD_ID				"CD001"// Volume Descriptor offset in image#define ISO_VD_START			0x8000// Index for LE/BE data#define ISO_LSB_INDEX			0#define ISO_MSB_INDEX			1typedef struct iso_vol_date {	char			year[4];			// year						(*not* ASCIIZ)	char			month[2];			// month (1-12)				(*not* ASCIIZ)	char			day[2];				// day of the month (1-31)	(*not* ASCIIZ)	char			hour[2];			// hour (00-23)				(*not* ASCIIZ)	char			minute[2];			// minute (00-59)			(*not* ASCIIZ)	char			second[2];			// second (00-59)			(*not* ASCIIZ)	char			hundrSecond[2];		// hundr. of a sec (00-99)	(*not* ASCIIZ)	signed char		gmtOffset;			// offset from GMT, in 15-minute intervals} _PACKED iso_vol_date;typedef struct iso_dir_entry {	unsigned char	recordLength;		// Total length of this record	unsigned char	extAttrSecCount;	// Number of sectors in extended attr record	unsigned long	dataStartSector[2];	// Sector # of 1st data sector for file/dir	unsigned long	dataLength[2];		// Length of data for file/directory	unsigned char	year;				// Years since 1900	unsigned char	month;				// Month (1=jan, etc)	unsigned char	day;				// Day of the month (1-31)	unsigned char	hour;				// Hour (0-23)	unsigned char	minute;				// Minute (0-59)	unsigned char	second;				// Second (0-59)	  signed char	gmtOffset;			// GMT offset in 15 minutes intervals	unsigned char	flags;				// Flags	unsigned char	unitSize;			// Unit size for interleaved file (0)	unsigned char	gapSize;			// Gap size for interleaved file (0)	unsigned short	volSeqNumber[2];	// Volume sequence number	unsigned char	nameLength;			// Length of name	char			name[32];			// Name + padding (nameLength [+1])} _PACKED iso_dir_entry;typedef struct iso_path_entry {	unsigned char	nameLength;			// Length of directory name	unsigned char	extAttrSecCount;	// Number of sectors in extended attr record	unsigned long	dataStartSector;	// Sector # of 1st data sector for directory	unsigned short	parentDirRec;		// Record # of parent directory	unsigned char	name[32];			// Name of this entry (nameLength bytes)} _PACKED iso_path_entry;typedef struct iso_volume_descriptor {	unsigned char	type;				// ISO_VD_PRIMARY / ISO_VD_SUPPLEMENTARY	char			id[5];				// ISO_VD_ID	unsigned char	undef1;				// 1	unsigned char	undef2;				// 0	unsigned char	systemID[32];		// System Identifier		(*not* ASCIIZ)	unsigned char	volumeID[32];		// Volume Identifier		(*not* ASCIIZ)	unsigned char	undef3[8];			// all 0	unsigned long	numSectors[2];		// Total Number Of Sectors	(little+big endian)	unsigned char	undef4[32];			// all 0	unsigned short	volSetSize[2];		// Volume Set Size			(little+big endian)	unsigned short	volSeqNumber[2];	// Volume Sequence Number	(little+big endian)	unsigned short	sectorSize[2];		// Sector Size				(little+big endian)	unsigned long	pathTblSize[2];		// Path Table Size (bytes)	(little+big endian)	unsigned long	lePathTbl1Sector;	// First sector of LE Path Table	unsigned long	lePathTbl2Sector;	// First sector of 2nd LE Path Table	unsigned long	bePathTbl1Sector;	// First sector of BE Path Table	unsigned long	bePathTbl2Sector;	// First sector of 2nd BE Path Table	/* Root Directory Entry */	unsigned char	rootDirEntry[34];	// To use, cast to iso_dir_entry		char			volumeSetID[128];	// Volume Set Identifier	(*not* ASCIIZ)	char			publisherID[128];	// Publisher Identifier		(*not* ASCIIZ)	char			dataPreparerID[128];// Data Preparer Identifier	(*not* ASCIIZ)	char			applicationID[128];	// Application Identifier	(*not* ASCIIZ)		char			copyrightFile[37];	// Copyright File Identifier(*not* ASCIIZ)	char			abstractFile[37];	// Abstract File Identifier	(*not* ASCIIZ)	char			bibliogrFile[37];	// Bibliographical File Id.	(*not* ASCIIZ)		iso_vol_date	dateCreation;		// Date and Time of volume creation		iso_vol_date	dateModification;	// Date and Time of volume modification		iso_vol_date	dateExpires;		// Date and Time that volume expires		iso_vol_date	dateEffective;		// Date and Time that volume comes effective		unsigned char	undef5;				// 1	unsigned char	undef6;				// 0	unsigned char	forAppUse[512];		// usually zeroes	unsigned char	undef7[653];		// all 0} _PACKED iso_volume_descriptor;#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -