# File Type Magic ClamAV's primary mechanism for determining file types is to match the file with a File Type Magic signature. These file type signatures are compiled into ClamAV, and may also be overridden dynamically using the definition founds found in a `*.ftm` file. The ClamAV standard signature database includes these definitions in `daily.ftm`. The signature format is not too disimilar from NDB body-based signatures. The format is: ``` magictype:offset:magicbytes:name:type:type[:min_flevel[:max_flevel]] ``` Where: `magictype`: Supported magic types include: * 0 - direct memory comparison of `magicbytes` for file types * 1 - The `magicbytes` use the body-based content matching [format](BodySignatureFormat.md). * 4 - direct memory comparison of `magicbytes` for partition types (HFS+, HFSX) `offset`: The offset from start of the file to match against. May be `*` if `magictype` is 1. `name`: A descriptive name for the file type. `rtype`: Usually CL_TYPE_ANY. `type`: The CL_TYPE corresponding with the file type signature. See the [CL_TYPE reference](ClamAVFileTypes.md) for details. `min_flevel`: (optional) The minimum ClamAV engine that the file type signature works with. See the [FLEVEL reference](FunctionalityLevels.md) for details. To be used in the event that file type support has been recently added. `max_flevel`: (optional, requires `min_flevel`) The maximum ClamAV engine that the file type signature works with. To be used in the event that file type support has been recently removed.