168349Sobrien
268349Sobrien#------------------------------------------------------------------------------
3354939Sdelphij# $File: msvc,v 1.10 2018/10/01 19:14:03 christos Exp $
468349Sobrien# msvc:  file(1) magic for msvc
568349Sobrien# "H. Nanosecond" <aldomel@ix.netcom.com>
668349Sobrien# Microsoft visual C
7328874Seadler#
868349Sobrien# I have version 1.0
968349Sobrien
1068349Sobrien# .aps
1168349Sobrien0	string	HWB\000\377\001\000\000\000	Microsoft Visual C .APS file
1268349Sobrien
1368349Sobrien# .ide
1468349Sobrien#too long 0	string	\102\157\162\154\141\156\144\040\103\053\053\040\120\162\157\152\145\143\164\040\106\151\154\145\012\000\032\000\002\000\262\000\272\276\372\316	MSVC .ide
1568349Sobrien0	string	\102\157\162\154\141\156\144\040\103\053\053\040\120\162\157	MSVC .ide
1668349Sobrien
1768349Sobrien# .res
1868349Sobrien0	string	\000\000\000\000\040\000\000\000\377	MSVC .res
1968349Sobrien0	string	\377\003\000\377\001\000\020\020\350	MSVC .res
2068349Sobrien0	string	\377\003\000\377\001\000\060\020\350	MSVC .res
2168349Sobrien
2268349Sobrien#.lib
2368349Sobrien0	string	\360\015\000\000	Microsoft Visual C library
2468349Sobrien0	string	\360\075\000\000	Microsoft Visual C library
2568349Sobrien0	string	\360\175\000\000	Microsoft Visual C library
2668349Sobrien
2768349Sobrien#.pch
2868349Sobrien0	string	DTJPCH0\000\022\103\006\200	Microsoft Visual C .pch
2968349Sobrien
30298192Sdelphij# Summary: Symbol Table / Debug info used by Microsoft compilers
31298192Sdelphij# URL: https://en.wikipedia.org/wiki/Program_database
32298192Sdelphij# Reference: https://code.google.com/p/pdbparser/wiki/MSF_Format
33328874Seadler# Update: Joerg Jenderek
34298192Sdelphij# Note:	test only for Windows XP+SP3 x86 , 8.1 x64 arm and 10.1 x86
35298192Sdelphij#	info does only applies partly for older files like msvbvm50.pdb about year 2001
36328874Seadler0	string	Microsoft\ C/C++\040
37298192Sdelphij# "Microsoft Program DataBase" by TrID
38298192Sdelphij>24	search/14	\r\n\x1A	MSVC program database
39298192Sdelphij!:mime	application/x-ms-pdb
40298192Sdelphij!:ext	pdb
41298192Sdelphij# "MSF 7.00" "program database 2.00" for msvbvm50.pdb
42298192Sdelphij>>16	regex	\([0-9.]+\)	ver %s
43298192Sdelphij#>>>0x38	search/128123456	/LinkInfo	\b with linkinfo
44298192Sdelphij# "MSF 7.00" variant
45328874Seadler>>0x1e	leshort	0
46298192Sdelphij# PageSize 400h 1000h
47298192Sdelphij>>>0x20	lelong	x	\b, %d
48298192Sdelphij# Page Count
49298192Sdelphij>>>0x28	lelong	x	\b*%d bytes
50298192Sdelphij# "program database 2.00"  variant
51328874Seadler>>0x1e	leshort	!0
52298192Sdelphij# PageSize 400h
53298192Sdelphij>>>0x2c	lelong	x	\b, %d
54298192Sdelphij# Page Count for msoo-dll.pdb 4379h
55298192Sdelphij>>>0x32	leshort	x	\b*%d bytes
5668349Sobrien
57328874Seadler# Reference: https://github.com/Microsoft/vstest/pull/856/commits/fdc7a9f074ca5a8dfeec83b1be9162bf0cf4000d
58354939Sdelphij0       string/c bsjb\001\000\001\000\000\000\000\000\f\000\000\000pdb\ v1.0     Microsoft Roslyn C# debugging symbols version 1.0
59328874Seadler
6068349Sobrien#.sbr
6168349Sobrien0	string	\000\002\000\007\000	MSVC .sbr
6268349Sobrien>5	string 	>\0	%s
6368349Sobrien
6468349Sobrien#.bsc
6568349Sobrien0	string	\002\000\002\001	MSVC .bsc
6668349Sobrien
6768349Sobrien#.wsp
6868349Sobrien0	string	1.00\ .0000.0000\000\003	MSVC .wsp version 1.0000.0000
6968349Sobrien# these seem to start with the version and contain menus
70