All pastes #608804 Raw Edit

Something

public text v1 · immutable
·published 2007-07-08 14:39 UTC
rendered paste body
class 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")