Mon 14 Oct 23:06:38 CEST 2024
This commit is contained in:
		
							parent
							
								
									087a00beaa
								
							
						
					
					
						commit
						994b2335d5
					
				
							
								
								
									
										94
									
								
								kernel/iso9660.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										94
									
								
								kernel/iso9660.h
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,94 @@ | ||||||
|  | /*
 | ||||||
|  | Copyright (C) 2016-2019 The University of Notre Dame | ||||||
|  | This software is distributed under the GNU General Public License. | ||||||
|  | See the file LICENSE for details. | ||||||
|  | */ | ||||||
|  | 
 | ||||||
|  | #ifndef ISO9660_H | ||||||
|  | #define ISO9660_H | ||||||
|  | 
 | ||||||
|  | #include "kernel/types.h" | ||||||
|  | 
 | ||||||
|  | #pragma pack(1) | ||||||
|  | 
 | ||||||
|  | struct iso_9660_directory_entry { | ||||||
|  | 	uint8_t descriptor_length; | ||||||
|  | 	uint8_t extended_sectors; | ||||||
|  | 	uint32_t first_sector_little; | ||||||
|  | 	uint32_t first_sector_big; | ||||||
|  | 	uint32_t length_little; | ||||||
|  | 	uint32_t length_big; | ||||||
|  | 	uint8_t year; | ||||||
|  | 	uint8_t month; | ||||||
|  | 	uint8_t mday; | ||||||
|  | 	uint8_t hour; | ||||||
|  | 	uint8_t minute; | ||||||
|  | 	uint8_t second; | ||||||
|  | 	uint8_t timezone; | ||||||
|  | 	uint8_t flags; | ||||||
|  | 	uint8_t unit_size; | ||||||
|  | 	uint8_t interleave_gap; | ||||||
|  | 	uint16_t volume_sequence_little; | ||||||
|  | 	uint16_t volume_sequence_big; | ||||||
|  | 	uint8_t ident_length; | ||||||
|  | 	char ident[1]; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | #define ISO_9660_EXTENT_FLAG_HIDDEN     1 | ||||||
|  | #define ISO_9660_EXTENT_FLAG_DIRECTORY  2 | ||||||
|  | 
 | ||||||
|  | struct iso_9660_time { | ||||||
|  | 	char year[4]; | ||||||
|  | 	char month[2]; | ||||||
|  | 	char mday[2]; | ||||||
|  | 	char hour[2]; | ||||||
|  | 	char minute[2]; | ||||||
|  | 	char second[2]; | ||||||
|  | 	char subsec[2]; | ||||||
|  | 	char timezone; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | #define ISO_9660_VOLUME_TYPE_BOOT 0 | ||||||
|  | #define ISO_9660_VOLUME_TYPE_PRIMARY 1 | ||||||
|  | #define ISO_9660_VOLUME_TYPE_SUPPLEMENTARY 2 | ||||||
|  | #define ISO_9660_VOLUME_TYPE_PARTITION 3 | ||||||
|  | #define ISO_9660_VOLUME_TYPE_TERMINATOR 255 | ||||||
|  | 
 | ||||||
|  | struct iso_9660_volume_descriptor { | ||||||
|  | 	uint8_t type; | ||||||
|  | 	char magic[5]; | ||||||
|  | 	char other[2]; | ||||||
|  | 	char system[32]; | ||||||
|  | 	char volume[32]; | ||||||
|  | 	char reserved1[8]; | ||||||
|  | 	uint32_t nsectors_little; | ||||||
|  | 	uint32_t nsectors_big; | ||||||
|  | 	char reserved2[32]; | ||||||
|  | 	uint16_t volume_set_size_little; | ||||||
|  | 	uint16_t volume_set_size_big; | ||||||
|  | 	uint16_t volume_sequence_number_little; | ||||||
|  | 	uint16_t volume_sequence_number_big; | ||||||
|  | 	uint16_t sector_size_little; | ||||||
|  | 	uint16_t sector_size_big; | ||||||
|  | 	uint32_t path_table_size_little; | ||||||
|  | 	uint32_t path_table_size_big; | ||||||
|  | 	uint32_t first_path_table_start_little; | ||||||
|  | 	uint32_t second_path_table_start_little; | ||||||
|  | 	uint32_t first_path_table_start_big; | ||||||
|  | 	uint32_t second_path_table_start_big; | ||||||
|  | 	struct iso_9660_directory_entry root; | ||||||
|  | 	char volume_set[128]; | ||||||
|  | 	char publisher[128]; | ||||||
|  | 	char preparer[128]; | ||||||
|  | 	char application[128]; | ||||||
|  | 	char copyright_file[37]; | ||||||
|  | 	char abstract_file[37]; | ||||||
|  | 	char bibliography_file[37]; | ||||||
|  | 	struct iso_9660_time creation_time; | ||||||
|  | 	struct iso_9660_time modify_time; | ||||||
|  | 	struct iso_9660_time expire_time; | ||||||
|  | 	struct iso_9660_time effective_time; | ||||||
|  | 	char unknown[2]; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | #endif | ||||||
		Loading…
	
		Reference in New Issue
	
	Block a user