xref: /dflybsd-src/contrib/file/magic/Magdir/sereal (revision c30bd0917bb6a625e80a835271887a7812787d1c)
182c5fa3eSPeter Avalos
282c5fa3eSPeter Avalos#------------------------------------------------------------------------------
3*c30bd091SSascha Wildner# $File: sereal,v 1.3 2015/02/05 19:14:45 christos Exp $
482c5fa3eSPeter Avalos# sereal: file(1) magic the Sereal binary serialization format
582c5fa3eSPeter Avalos#
682c5fa3eSPeter Avalos# From: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
782c5fa3eSPeter Avalos#
882c5fa3eSPeter Avalos# See the specification of the format at
982c5fa3eSPeter Avalos# https://github.com/Sereal/Sereal/blob/master/sereal_spec.pod#document-header-format
1082c5fa3eSPeter Avalos#
1182c5fa3eSPeter Avalos# I'd have liked to do the byte&0xF0 matching against 0, 1, 2 ... by
1282c5fa3eSPeter Avalos# doing (byte&0xF0)>>4 here, but unfortunately that's not
1382c5fa3eSPeter Avalos# supported. So when we print out a message about an unknown format
1482c5fa3eSPeter Avalos# we'll print out e.g. 0x30 instead of the more human-readable
1582c5fa3eSPeter Avalos# 0x30>>4.
1682c5fa3eSPeter Avalos#
1782c5fa3eSPeter Avalos# See https://github.com/Sereal/Sereal/commit/35372ae01d in the
1882c5fa3eSPeter Avalos# Sereal.git repository for test Sereal data.
19*c30bd091SSascha Wildner0	name		sereal
2082c5fa3eSPeter Avalos>4	byte&0x0F	x		(version %d,
2182c5fa3eSPeter Avalos>4	byte&0xF0	0x00		uncompressed)
2282c5fa3eSPeter Avalos>4	byte&0xF0	0x10		compressed with non-incremental Snappy)
2382c5fa3eSPeter Avalos>4	byte&0xF0	0x20		compressed with incremental Snappy)
2482c5fa3eSPeter Avalos>4	byte&0xF0	>0x20		unknown subformat, flag: %d>>4)
25*c30bd091SSascha Wildner
26*c30bd091SSascha Wildner0	string/b	\=srl		Sereal data packet
27*c30bd091SSascha Wildner!:mime application/sereal
28*c30bd091SSascha Wildner>&0	use		sereal
29*c30bd091SSascha Wildner0	string/b	\=\xF3rl	Sereal data packet
30*c30bd091SSascha Wildner!:mime application/sereal
31*c30bd091SSascha Wildner>&0	use		sereal
32*c30bd091SSascha Wildner0	string/b	\=\xC3\xB3rl	Sereal data packet, UTF-8 encoded
33*c30bd091SSascha Wildner!:mime application/sereal
34*c30bd091SSascha Wildner>&0	use		sereal
35*c30bd091SSascha Wildner
36