1 #------------------------------------------------------------------------------
2 # $File: sereal,v 1.1 2014/05/14 23:04:59 christos Exp $
3 # sereal: file(1) magic the Sereal binary serialization format
5 # From: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
7 # See the specification of the format at
8 # https://github.com/Sereal/Sereal/blob/master/sereal_spec.pod#document-header-format
10 # I'd have liked to do the byte&0xF0 matching against 0, 1, 2 ... by
11 # doing (byte&0xF0)>>4 here, but unfortunately that's not
12 # supported. So when we print out a message about an unknown format
13 # we'll print out e.g. 0x30 instead of the more human-readable
16 # See https://github.com/Sereal/Sereal/commit/35372ae01d in the
17 # Sereal.git repository for test Sereal data.
18 0 string \=srl Sereal data
19 !:mime application/sereal
20 >4 byte&0x0F x (version %d,
21 >4 byte&0xF0 0x00 uncompressed)
22 >4 byte&0xF0 0x10 compressed with non-incremental Snappy)
23 >4 byte&0xF0 0x20 compressed with incremental Snappy)
24 >4 byte&0xF0 >0x20 unknown subformat, flag: %d>>4)