OSDN Git Service

eltorito.hpp: Boot Record Volume Descriptorの位置示しまで出来た
authorMyun2 <myun2@nwhite.info>
Tue, 10 Aug 2010 18:09:08 +0000 (03:09 +0900)
committerMyun2 <myun2@nwhite.info>
Tue, 10 Aug 2010 18:09:08 +0000 (03:09 +0900)
roast_ex/include/roast/file/iso9660/eltorito.hpp

index 8107285..52879e9 100644 (file)
@@ -8,6 +8,7 @@
 
 #include <fstream>
 #include "roast/lexical/string_rule.hpp"
+#include "roast/math/endian.hpp"
 
 namespace roast
 {
@@ -32,13 +33,18 @@ namespace roast
 
                                //      System Descriptor (32byte)
                                str_ELTORITOSPEC,                               //      String 23byte
-                               soft_repeat< unibyte<0>, 9 >,   //      Padding (9byte)
-                               soft_repeat< unibyte<0>, 32 >   //      Volume Discriminator (32byte)
+                               soft_repeat< unibyte<0>, 9 >,   //      Zero Padding (9byte)
+
+                               //      Volume Discriminator - Zero Padding (32byte)
+                               soft_repeat< unibyte<0>, 32 >,
+
+                               //      [El Torito Only] Boot Record Volume Descriptor
+                               fixed_uint< fixed_little_endian<unsigned int, 18 >::value >     //      18 Sector
                        > _volume_desc;
 
                        //      rule
                        typedef seq<
-                               soft_repeat< unibyte<0>, 0x8800 >,
+                               soft_repeat< unibyte<0>, 0x8800 >,      //      Zero Padding 17 Sectors (1 Sector = 2048byte)
                                _volume_desc
                        > rule;
 >>>>>>> 63d7ba7... eltorito.hpp: とりあえず「Boot Record Volume Descriptor」の手前まで