rendered paste bodyclass FFSFileHeader(FieldSet):
static_size = 24*8
def createFields(self):
yield EfiGuid(self, "name", "Name")
yield UInt16(self, "integrity_check", "IntegrityCheck")
yield UInt8(self, "type", "Type")
yield UInt8(self, "attributes", "Attributes")
yield UInt24(self, "size", "Size")
yield UInt8(self, "state", "State")
class FFSFile(FieldSet):
def createFields(self):
yield FFSFileHeader(self, "file_header", "FileHeader")
size = self.getField("file_header").getField("size").value
yield Bytes(self, "file_content", size, "Content")
padding = paddingSize(size, 8)
if padding:
yield Bytes(self, "padding", padding, "Padding")