iPXE
iso9660.h
Go to the documentation of this file.
00001 #ifndef _IPXE_ISO9660_H
00002 #define _IPXE_ISO9660_H
00003 
00004 /**
00005  * @file
00006  *
00007  * ISO9660 CD-ROM specification
00008  *
00009  */
00010 
00011 FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
00012 
00013 #include <stdint.h>
00014 
00015 /** ISO9660 block size */
00016 #define ISO9660_BLKSIZE 2048
00017 
00018 /** An ISO9660 Primary Volume Descriptor (fixed portion) */
00019 struct iso9660_primary_descriptor_fixed {
00020         /** Descriptor type */
00021         uint8_t type;
00022         /** Identifier ("CD001") */
00023         uint8_t id[5];
00024 } __attribute__ (( packed ));
00025 
00026 /** An ISO9660 Primary Volume Descriptor */
00027 struct iso9660_primary_descriptor {
00028         /** Fixed portion */
00029         struct iso9660_primary_descriptor_fixed fixed;
00030 } __attribute__ (( packed ));
00031 
00032 /** ISO9660 Primary Volume Descriptor type */
00033 #define ISO9660_TYPE_PRIMARY 0x01
00034 
00035 /** ISO9660 Primary Volume Descriptor block address */
00036 #define ISO9660_PRIMARY_LBA 16
00037 
00038 /** ISO9660 Boot Volume Descriptor type */
00039 #define ISO9660_TYPE_BOOT 0x00
00040 
00041 /** ISO9660 identifier */
00042 #define ISO9660_ID "CD001"
00043 
00044 #endif /* _IPXE_ISO9660_H */