summaryrefslogtreecommitdiff
path: root/magic/Magdir/sereal
blob: 7fa4503f98cf0c691c17529322502ed3e7f8830a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25

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