Lines Matching refs:Magic
28 static bool startswith(StringRef Magic, const char (&S)[N]) { in startswith() argument
29 return Magic.startswith(StringRef(S, N - 1)); in startswith()
33 file_magic llvm::identify_magic(StringRef Magic) { in identify_magic() argument
34 if (Magic.size() < 4) in identify_magic()
36 switch ((unsigned char)Magic[0]) { in identify_magic()
39 if (startswith(Magic, "\0\0\xFF\xFF")) { in identify_magic()
42 if (Magic.size() < MinSize) in identify_magic()
45 const char *Start = Magic.data() + offsetof(COFF::BigObjHeader, UUID); in identify_magic()
53 if (Magic.size() >= sizeof(COFF::WinResMagic) && in identify_magic()
54 memcmp(Magic.data(), COFF::WinResMagic, sizeof(COFF::WinResMagic)) == 0) in identify_magic()
57 if (Magic[1] == 0) in identify_magic()
59 if (startswith(Magic, "\0asm")) in identify_magic()
66 if (startswith(Magic, "\x01\xDF")) in identify_magic()
68 if (startswith(Magic, "\x01\xF7")) in identify_magic()
73 if (startswith(Magic, "\x03\xF0\x00")) in identify_magic()
78 if (startswith(Magic, "\x10\xFF\x10\xAD")) in identify_magic()
83 if (startswith(Magic, "\xDE\xC0\x17\x0B")) in identify_magic()
87 if (startswith(Magic, "BC\xC0\xDE")) in identify_magic()
91 if (startswith(Magic, "!<arch>\n") || startswith(Magic, "!<thin>\n")) in identify_magic()
95 if (startswith(Magic, "<bigaf>\n")) in identify_magic()
99 if (startswith(Magic, "\177ELF") && Magic.size() >= 18) { in identify_magic()
100 bool Data2MSB = Magic[5] == 2; in identify_magic()
103 if (Magic[high] == 0) { in identify_magic()
104 switch (Magic[low]) { in identify_magic()
123 if (startswith(Magic, "\xCA\xFE\xBA\xBE") || in identify_magic()
124 startswith(Magic, "\xCA\xFE\xBA\xBF")) { in identify_magic()
127 if (Magic.size() >= 8 && Magic[7] < 43) in identify_magic()
139 if (startswith(Magic, "\xFE\xED\xFA\xCE") || in identify_magic()
140 startswith(Magic, "\xFE\xED\xFA\xCF")) { in identify_magic()
143 if (Magic[3] == char(0xCE)) in identify_magic()
147 if (Magic.size() >= MinSize) in identify_magic()
148 type = Magic[12] << 24 | Magic[13] << 12 | Magic[14] << 8 | Magic[15]; in identify_magic()
149 } else if (startswith(Magic, "\xCE\xFA\xED\xFE") || in identify_magic()
150 startswith(Magic, "\xCF\xFA\xED\xFE")) { in identify_magic()
153 if (Magic[0] == char(0xCE)) in identify_magic()
157 if (Magic.size() >= MinSize) in identify_magic()
158 type = Magic[15] << 24 | Magic[14] << 12 | Magic[13] << 8 | Magic[12]; in identify_magic()
193 if (startswith(Magic, "\x50\xed\x55\xba")) in identify_magic()
199 if (Magic[1] == 0x01) in identify_magic()
205 if (Magic[1] == 0x02) in identify_magic()
211 if (startswith(Magic, "MZ") && Magic.size() >= 0x3c + 4) { in identify_magic()
212 uint32_t off = read32le(Magic.data() + 0x3c); in identify_magic()
214 if (Magic.substr(off).startswith( in identify_magic()
218 if (Magic.startswith("Microsoft C/C++ MSF 7.00\r\n")) in identify_magic()
220 if (startswith(Magic, "MDMP")) in identify_magic()
225 if (Magic[1] == char(0x86) || Magic[1] == char(0xaa)) in identify_magic()
230 if (startswith(Magic, "--- !tapi") || startswith(Magic, "---\narchs:")) in identify_magic()
235 if (startswith(Magic, "DXBC")) in identify_magic()