head 1.1; branch 1.1.1; access; symbols perseant-exfatfs:1.1.1.1.0.2 perseant-exfatfs-base-20261102:1.1.1.1 FILE5_48:1.1.1.1 CHRISTOS:1.1.1; locks; strict; comment @# @; 1.1 date 2026.06.10.15.59.14; author christos; state Exp; branches 1.1.1.1; next ; commitid 3UWc0DrzTz7bHgJG; 1.1.1.1 date 2026.06.10.15.59.14; author christos; state Exp; branches 1.1.1.1.2.1; next ; commitid 3UWc0DrzTz7bHgJG; 1.1.1.1.2.1 date 2026.06.10.15.59.14; author perseant; state dead; branches; next 1.1.1.1.2.2; commitid 3QTNojfCEH9lUb2H; 1.1.1.1.2.2 date 2026.11.04.22.37.44; author perseant; state Exp; branches; next ; commitid 3QTNojfCEH9lUb2H; desc @@ 1.1 log @Initial revision @ text @ #------------------------------------------------------------------------------ # $File: sf3,v 1.1 2025/06/27 15:13:53 christos Exp $ # sfr: SF3 [Simple File Format Family] files # (Yukari Hafner, shinmera@@tymoon.eu) # # Reference: https://shirakumo.org/docs/sf3 # Samples: https://shirakumo.org/projects/sf3/tree/master/samples/ 0 name SF3-archive >0 ulequad x \b, %llu files !:mime application/x.sf3-archive 0 name SF3-audio >0 ulelong >1 \b, %dHz >4 ubyte >0 \b, %d channels >5 byte 0x01 \b, A-law >5 byte 0x02 \b, 16-bit signed PCM >5 byte 0x04 \b, 32-bit signed PCM >5 byte 0x08 \b, 64-bit signed PCM >5 byte 0x11 \b, u-law >5 byte 0x12 \b, 16-bit unsigned PCM >5 byte 0x14 \b, 32-bit unsigned PCM >5 byte 0x18 \b, 64-bit unsigned PCM >5 byte 0x22 \b, half-float PCM >5 byte 0x24 \b, single-float PCM >5 byte 0x28 \b, double-float PCM !:mime audio/x.sf3 0 name SF3-image >0 ulelong >0 \b, %d >4 ulelong >0 \bx%d >8 ulelong >0 \bx%d >12 byte 0x01 \b, grayscale >12 byte 0x02 \b, grayscale-alpha >12 byte 0x03 \b, RGB >12 byte 0x04 \b, RGBA >12 byte 0x12 \b, grayscale-alpha >12 byte 0x13 \b, BGR >12 byte 0x14 \b, ABGR >12 byte 0x24 \b, ARGB >12 byte 0x34 \b, BGRA >12 byte 0x44 \b, CMYK >12 byte 0x54 \b, KYMC >13 byte 0x01 \b, 8-bit signed >13 byte 0x02 \b, 16-bit signed >13 byte 0x04 \b, 32-bit signed >13 byte 0x08 \b, 64-bit signed >13 byte 0x11 \b, 8-bit unsigned >13 byte 0x12 \b, 16-bit unsigned >13 byte 0x14 \b, 32-bit unsigned >13 byte 0x18 \b, 64-bit unsigned >13 byte 0x22 \b, half-float >13 byte 0x24 \b, single-float >13 byte 0x28 \b, double-float !:mime image/x.sf3 0 name SF3-log >0 leqdate x \b, from %s >8 leqdate x \b, to %s >16 uleshort x \b, %d chunks !:mime application/x.sf3-log 0 name SF3-model >(2.l+22) ulelong x \b, %d face indices >>&(&-20.l*4) ulelong x \b, %d vertex attributes !:mime model/x.sf3 0 name SF3-physics-model >0 lefloat x \b, %f kg >40 uleshort x \b, %d shapes !:mime model/x.sf3-physics 0 name SF3-table >0 uleshort x \b, %d columns >10 ulequad x \b, %llu rows !:mime application/x.sf3-table 0 name SF3-text >8 ulelong x \b, %d markup options >(0.q+28) ulequad x \b, %llu bytes of text !:mime application/x.sf3-text 0 name SF3-vector-graphic >0 ulelong >0 \b, %d >4 ulelong >0 \bx%d >8 ulelong x \b, %d instructions !:mime image/x.sf3-vector # Generic SF3 Header 0 string \x81SF3\x00\xE0\xD0\x0D\x0A\x0A SF3 >10 byte 0x01 archive >>16 use SF3-archive >10 byte 0x02 audio file >>16 use SF3-audio >10 byte 0x03 image file >>16 use SF3-image >10 byte 0x04 log file >>16 use SF3-log >10 byte 0x05 3D model >>16 use SF3-model >10 byte 0x06 physics model >>16 use SF3-physics-model >10 byte 0x07 table >>16 use SF3-table >10 byte 0x08 text file >>16 use SF3-text >10 byte 0x09 vector graphic >>16 use SF3-vector-graphic >10 byte >9 file of unknown type (%d) !:mime application/x.sf3 !:ext sf3 @ 1.1.1.1 log @Import file-5.48 (previous was file-5.45) 2026-05-07 11:32 Christos Zoulas * release 5.48 2026-05-11 15:55 Christos Zoulas * add landlock support (valoq) 2026-04-19 15:55 Christos Zoulas * add BE/LE GUID 2026-04-17 11:05 Christos Zoulas * multiple fixes to prevent integer overflow in 32 bits (kerwin) 2026-04-15 12:40 Christos Zoulas * PR/745: streamout: Don't flush when trying to set negative offsets on pipes, just continue, fixes 'cat file.zip | file -' * PR/753: vmihalko: Fix race is magic_getpath() 2026-03-11 15:14 Christos Zoulas * PR/728: Anton Monroe: Reinstate regex/c 2026-02-26 11:32 Christos Zoulas * release 5.47 2026-02-04 09:54 Christos Zoulas * Better multi-compound document identification by following the order of the directories entries. (Thomas Ledoux) 2026-01-19 14:00 Christos Zoulas * if stat fails, don't attempt to restore times (Steven Grubb) 2025-05-28 15:20 Christos Zoulas * PR/622: Odd_Bloke: Handle negative offsets in file_buffer(), when fd is not available. 2025-05-28 12:50 Christos Zoulas * PR/655: jsummers: Obey str_flags in strings like we do for search and regex * PR/659: Pitzl: Apply MAGIC_CONTINUE to annotations; i.e. print only the first, unless -k is specified. 2024-12-19 14:44 Christos Zoulas * PR/592: allow + in format strings * PR/592: signed operations should be done in signed context 2024-12-05 13:50 Christos Zoulas * PR/578: jsummers: Don't crash on cygwin when tm_mon == -1 * PR/579: net147: Fix stack overrun. 2024-11-27 14:44 Christos Zoulas * release 5.46 * Add OFFPOSITIVE 2024-11-25 13:56 Christos Zoulas * avoid leaking symbols in libmagic 2024-11-10 13:56 Christos Zoulas * PR/562: jsummers: Search/regex offsets are absolute to the beginning of the file, so adjust them by subtracting the offset that the "use" starts so that we don't double-count it. 2024-11-09 19:30 Christos Zoulas * PR/543: matshch: bump nbuf so we can get the flags into the buffer. 2024-11-02 14:34 Christos Zoulas * Add Android elf notes (enh) 2023-12-29 12:55 Christos Zoulas * Add limit for number of magic warnings allowed 2023-07-29 12:55 Christos Zoulas * check regex bounds (found by clusterfuzz) @ text @@ 1.1.1.1.2.1 log @file sf3 was added on branch perseant-exfatfs on 2026-11-04 22:37:44 +0000 @ text @d1 112 @ 1.1.1.1.2.2 log @Sync with HEAD @ text @a0 112 #------------------------------------------------------------------------------ # $File: sf3,v 1.1 2025/06/27 15:13:53 christos Exp $ # sfr: SF3 [Simple File Format Family] files # (Yukari Hafner, shinmera@@tymoon.eu) # # Reference: https://shirakumo.org/docs/sf3 # Samples: https://shirakumo.org/projects/sf3/tree/master/samples/ 0 name SF3-archive >0 ulequad x \b, %llu files !:mime application/x.sf3-archive 0 name SF3-audio >0 ulelong >1 \b, %dHz >4 ubyte >0 \b, %d channels >5 byte 0x01 \b, A-law >5 byte 0x02 \b, 16-bit signed PCM >5 byte 0x04 \b, 32-bit signed PCM >5 byte 0x08 \b, 64-bit signed PCM >5 byte 0x11 \b, u-law >5 byte 0x12 \b, 16-bit unsigned PCM >5 byte 0x14 \b, 32-bit unsigned PCM >5 byte 0x18 \b, 64-bit unsigned PCM >5 byte 0x22 \b, half-float PCM >5 byte 0x24 \b, single-float PCM >5 byte 0x28 \b, double-float PCM !:mime audio/x.sf3 0 name SF3-image >0 ulelong >0 \b, %d >4 ulelong >0 \bx%d >8 ulelong >0 \bx%d >12 byte 0x01 \b, grayscale >12 byte 0x02 \b, grayscale-alpha >12 byte 0x03 \b, RGB >12 byte 0x04 \b, RGBA >12 byte 0x12 \b, grayscale-alpha >12 byte 0x13 \b, BGR >12 byte 0x14 \b, ABGR >12 byte 0x24 \b, ARGB >12 byte 0x34 \b, BGRA >12 byte 0x44 \b, CMYK >12 byte 0x54 \b, KYMC >13 byte 0x01 \b, 8-bit signed >13 byte 0x02 \b, 16-bit signed >13 byte 0x04 \b, 32-bit signed >13 byte 0x08 \b, 64-bit signed >13 byte 0x11 \b, 8-bit unsigned >13 byte 0x12 \b, 16-bit unsigned >13 byte 0x14 \b, 32-bit unsigned >13 byte 0x18 \b, 64-bit unsigned >13 byte 0x22 \b, half-float >13 byte 0x24 \b, single-float >13 byte 0x28 \b, double-float !:mime image/x.sf3 0 name SF3-log >0 leqdate x \b, from %s >8 leqdate x \b, to %s >16 uleshort x \b, %d chunks !:mime application/x.sf3-log 0 name SF3-model >(2.l+22) ulelong x \b, %d face indices >>&(&-20.l*4) ulelong x \b, %d vertex attributes !:mime model/x.sf3 0 name SF3-physics-model >0 lefloat x \b, %f kg >40 uleshort x \b, %d shapes !:mime model/x.sf3-physics 0 name SF3-table >0 uleshort x \b, %d columns >10 ulequad x \b, %llu rows !:mime application/x.sf3-table 0 name SF3-text >8 ulelong x \b, %d markup options >(0.q+28) ulequad x \b, %llu bytes of text !:mime application/x.sf3-text 0 name SF3-vector-graphic >0 ulelong >0 \b, %d >4 ulelong >0 \bx%d >8 ulelong x \b, %d instructions !:mime image/x.sf3-vector # Generic SF3 Header 0 string \x81SF3\x00\xE0\xD0\x0D\x0A\x0A SF3 >10 byte 0x01 archive >>16 use SF3-archive >10 byte 0x02 audio file >>16 use SF3-audio >10 byte 0x03 image file >>16 use SF3-image >10 byte 0x04 log file >>16 use SF3-log >10 byte 0x05 3D model >>16 use SF3-model >10 byte 0x06 physics model >>16 use SF3-physics-model >10 byte 0x07 table >>16 use SF3-table >10 byte 0x08 text file >>16 use SF3-text >10 byte 0x09 vector graphic >>16 use SF3-vector-graphic >10 byte >9 file of unknown type (%d) !:mime application/x.sf3 !:ext sf3 @