io7m | single-page | multi-page | SMF Format Specification 0.16.0-SNAPSHOT
3.1. Overview
Previous
3. SMF/B - Binary Encoding
Up
3.3. Section - smf
Next

# 3.2. Header

1
An SMF/B file begins with the following fixed-size structure:

### 3.2.2. SMF/B Header

    <composite name="SMFHeader">
      <type name="magicNumber"
            description="The magic number identifying the section."
            presence="constant"
            primitiveType="uint64">
        0x89534D460D0A1A0A
      </type>
      <type name="versionMajor"
            description="The major version of the specification to which this file conforms."
            primitiveType="uint32"/>
      <type name="versionMinor"
            description="The minor version of the specification to which this file conforms."
            primitiveType="uint32"/>
    </composite>

3
The value of the magicNumber field MUST be 0x89534D460D0A1A0A. Implementations MUST immediately reject any files that do not begin with this magic number. The derivation of this constant is taken almost verbatim from the PNG [1] file format with the characters PNG changed to SMF.
4
The versionMajor field specifies the major version number of the specification to which the data in the file is expected to conform. The versionMinor field specifies the minor version number of the specification to which the data in the file is expected to conform.

## Footnotes

1 | https://en.wikipedia.org/wiki/Portable_Network_Graphics#File_header References to this footnote: 1

3.1. Overview
Previous
3. SMF/B - Binary Encoding
Up
3.3. Section - smf
Next
io7m | single-page | multi-page | SMF Format Specification 0.16.0-SNAPSHOT