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

📄 iso9660.h

📁 另一种方法编辑刻录程序的代码!要的与偶联系呀
💻 H
字号:
/* @(#)iso9660.h	1.2 97/03/04 Copyright 1996 J. Schilling *//* *	Copyright (c) 1996 J. Schilling *//* * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2, or (at your option) * any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; see the file COPYING.  If not, write to * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */#define	_delta(from, to)	((to) - (from) + 1)#define	VD_BOOT		0#define	VD_PRIMARY	1#define	VD_SUPPLEMENT	2#define	VD_PARTITION	3#define	VD_TERM		255#define	VD_ID		"CD001"struct	iso9660_voldesc {	char	vd_type		[_delta(1, 1)];	char	vd_id		[_delta(2, 6)];	char	vd_version	[_delta(7, 7)];	char	vd_fill		[_delta(8, 2048)];};struct	iso9660_boot_voldesc {	char	vd_type		[_delta(1, 1)];	char	vd_id		[_delta(2, 6)];	char	vd_version	[_delta(7, 7)];	char	vd_bootsys	[_delta(8, 39)];	char	vd_bootid	[_delta(40, 71)];	char	vd_bootcode	[_delta(72, 2048)];};struct	iso9660_pr_voldesc {	char	vd_type			[_delta(   1,	1)];	char	vd_id			[_delta(   2,	6)];	char	vd_version		[_delta(   7,	7)];	char	vd_unused1		[_delta(   8,	8)];	char	vd_system_id		[_delta(   9,	40)];	char	vd_volume_id		[_delta(  41,	72)];	char	vd_unused2		[_delta(  73,	80)];	char	vd_volume_space_size	[_delta(  81,	88)];	char	vd_unused3		[_delta(  89,	120)];	char	vd_volume_set_size	[_delta( 121,	124)];	char	vd_volume_seq_number	[_delta( 125,	128)];	char	vd_lbsize		[_delta( 129,	132)];	char	vd_path_table_size	[_delta( 133,	140)];	char	vd_pos_path_table_l	[_delta( 141,	144)];	char	vd_opt_pos_path_table_l	[_delta( 145,	148)];	char	vd_pos_path_table_m	[_delta( 149,	152)];	char	vd_opt_pos_path_table_m	[_delta( 153,	156)];	char	vd_root_dir		[_delta( 157,	190)];	char	vd_volume_set_id	[_delta( 191,	318)];	char	vd_publisher_id		[_delta( 319,	446)];	char	vd_data_preparer_id	[_delta( 447,	574)];	char	vd_application_id	[_delta( 575,	702)];	char	vd_copyr_file_id	[_delta( 703,	739)];	char	vd_abstr_file_id	[_delta( 740,	776)];	char	vd_bibl_file_id		[_delta( 777,	813)];	char	vd_create_time		[_delta( 814,	830)];	char	vd_mod_time		[_delta( 831,	847)];	char	vd_expiry_time		[_delta( 848,	864)];	char	vd_effective_time	[_delta( 865,	881)];	char	vd_file_struct_vers	[_delta( 882,	882)];	char	vd_reserved1		[_delta( 883,	883)];	char	vd_application_use	[_delta( 884,	1395)];	char	vd_fill			[_delta(1396,	2048)];};struct	iso9660_dir {	char	dr_len			[_delta(   1,	1)];	char	dr_eattr_len		[_delta(   2,	2)];	char	dr_eattr_pos		[_delta(   3,	10)];	char	dr_data_len		[_delta(  11,	18)];	char	dr_recording_time	[_delta(  19,	25)];	char	dr_file_flags		[_delta(  26,	26)];	char	dr_file_unit_size	[_delta(  27,	27)];	char	dr_interleave_gap	[_delta(  28,	28)];	char	dr_volume_seq_number	[_delta(  29,	32)];	char	dr_file_name_len	[_delta(  33,	33)];	char	dr_file_name		[_delta(  34,	34)];};struct	iso9660_dtime {	unsigned char	dt_year;	unsigned char	dt_month;	unsigned char	dt_day;	unsigned char	dt_hour;	unsigned char	dt_minute;	unsigned char	dt_second;		 char	dt_gmtoff;};struct	iso9660_ltime {	char	lt_year			[_delta(   1,	4)];	char	lt_month		[_delta(   5,	6)];	char	lt_day			[_delta(   7,	8)];	char	lt_hour			[_delta(   9,	10)];	char	lt_minute		[_delta(  11,	12)];	char	lt_second		[_delta(  13,	14)];	char	lt_hsecond		[_delta(  15,	16)];	char	lt_gmtoff		[_delta(  17,	17)];};struct iso9660_path_table {	char	pt_di_len		[_delta(   1,	1)];	char	pt_eattr_len		[_delta(   2,	2)];	char	pt_eattr_pos		[_delta(   3,	6)];	char	pt_di_parent		[_delta(   7,	8)];	char	pt_name			[_delta(   9,	9)];};struct iso9660_eattr {	char	ea_owner		[_delta(   1,	4)];	char	ea_group		[_delta(   5,	8)];	char	ea_perm			[_delta(   9,	10)];	char	ea_ctime		[_delta(  11,	27)];	char	ea_mtime		[_delta(  28,	44)];	char	ea_extime		[_delta(  45,	61)];	char	ea_eftime		[_delta(  62,	78)];	char	ea_record_format	[_delta(  79,	79)];	char	ea_record_attr		[_delta(  80,	80)];	char	ea_record_len		[_delta(  81,	84)];	char	ea_system_id		[_delta(  85,	116)];	char	ea_system_use		[_delta( 117,	180)];	char	ea_version		[_delta( 181,	181)];	char	ea_esc_seq_len		[_delta( 182,	182)];	char	ea_reserved1		[_delta( 183,	246)];	char	ea_appl_use_len		[_delta( 247,	250)];	char	ea_appl_use		[_delta( 251,	251)];	/* actually more *//*	char	ea_esc_seq		[_delta( xxx,	xxx)];	*/};#define	PERM_MB_ONE	0xAAAA#define	PERM_RSYS	0x0001#define	PERM_XSYS	0x0004#define	PERM_RUSR	0x0010#define	PERM_XUSR	0x0040#define	PERM_RGRP	0x0100#define	PERM_XGRP	0x0400#define	PERM_ROTH	0x1000#define	PERM_XOTH	0x4000#define	i_to_long(a, i)		(((u_char *)(a))[0] = ((i) >> 24)& 0xFF,\				 ((u_char *)(a))[1] = ((i) >> 16)& 0xFF,\				 ((u_char *)(a))[2] = ((i) >> 8) & 0xFF,\				 ((u_char *)(a))[3] = (i) & 0xFF)#define	i_to_3_byte(a, i)	(((u_char *)(a))[0] = ((i) >> 16)& 0xFF,\				 ((u_char *)(a))[1] = ((i) >> 8) & 0xFF,\				 ((u_char *)(a))[2] = (i) & 0xFF)#define	i_to_short(a, i)	(((u_char *)(a))[0] = ((i) >> 8) & 0xFF,\				 ((u_char *)(a))[1] = (i) & 0xFF)#define	a_to_c(a)	(((char*) a)[0])#define	a_to_u_c(a)	((unsigned char) \			(((unsigned char*) a)[0]       & 0xFF))#define	a_to_u_short(a)	((unsigned short) \			((((unsigned char*) a)[1]       & 0xFF) | \			 (((unsigned char*) a)[0] << 8  & 0xFF00)))#define	a_to_3_byte(a)	((unsigned long) \			((((unsigned char*) a)[2]       & 0xFF) | \			 (((unsigned char*) a)[1] << 8  & 0xFF00) | \			 (((unsigned char*) a)[0] << 16 & 0xFF0000)))#ifdef	__STDC__#	define	__TOP_BYTE	0xFF000000UL#else#	define	__TOP_BYTE	0xFF000000#endif#define	a_to_u_long(a)	((unsigned long) \			((((unsigned char*) a)[3]       & 0xFF) | \			 (((unsigned char*) a)[2] << 8  & 0xFF00) | \			 (((unsigned char*) a)[1] << 16 & 0xFF0000) | \			 (((unsigned char*) a)[0] << 24 & __TOP_BYTE)))#define	la_to_u_long(a)	((unsigned long) \			((((unsigned char*) a)[0]       & 0xFF) | \			 (((unsigned char*) a)[1] << 8  & 0xFF00) | \			 (((unsigned char*) a)[2] << 16 & 0xFF0000) | \			 (((unsigned char*) a)[3] << 24 & __TOP_BYTE)))#define	GET_UBYTE(a)	a_to_u_c(a)#define	GET_SBYTE(a)	a_to_c(a)#define	GET_SHORT(a)	a_to_u_short(&((unsigned char *) (a))[0])#define	GET_BSHORT(a)	a_to_u_short(&((unsigned char *) (a))[2])#define	GET_INT(a)	a_to_u_long(&((unsigned char *) (a))[0])#define	GET_LINT(a)	la_to_u_long(&((unsigned char *) (a))[0])#define	GET_BINT(a)	a_to_u_long(&((unsigned char *) (a))[4])

⌨️ 快捷键说明

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