}
};
+#define ROAST_LEXICAL_FIXSTR(CLS,S) \
+ class CLS : public fixed_string \
+ { \
+ public: \
+ CLS() : fixed_string(S){} };
+
///////////////////////////////////////////////////////////////////
}
}
{
using namespace ::roast::lexical::rule;
- typedef soft_repeat< unibyte<0>, 0x8800 > rule;
+ //class str_CD001 : public fixed_string{ public: str_CD001()
+ ROAST_LEXICAL_FIXSTR(str_CD001, "CD001")
+ ROAST_LEXICAL_FIXSTR(str_ELTORITOSPEC, "EL TORITO SPECIFICATION") // 23byte
+
+ typedef seq<
+ soft_repeat< unibyte<0>, 0x8800 >,
+
+ unibyte<0>, // Volume Descriptor Type
+ str_CD001,
+ unibyte<1>, // Volume Descriptor Version
+ str_ELTORITOSPEC, // System Descriptor (32byte)
+ soft_repeat< unibyte<0>, 0x8800 > //
+ > _volume_desc;
+
+
+ typedef seq<
+
+ > rule;
}
class eltorito_writer