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