Lines Matching refs:Magic

30 static bool startswith(StringRef Magic, const char (&S)[N]) {  in startswith()  argument
31 return Magic.startswith(StringRef(S, N - 1)); in startswith()
35 file_magic llvm::identify_magic(StringRef Magic) { in identify_magic() argument
36 if (Magic.size() < 4) in identify_magic()
38 switch ((unsigned char)Magic[0]) { in identify_magic()
41 if (startswith(Magic, "\0\0\xFF\xFF")) { in identify_magic()
44 if (Magic.size() < MinSize) in identify_magic()
47 const char *Start = Magic.data() + offsetof(COFF::BigObjHeader, UUID); in identify_magic()
55 if (Magic.size() >= sizeof(COFF::WinResMagic) && in identify_magic()
56 memcmp(Magic.data(), COFF::WinResMagic, sizeof(COFF::WinResMagic)) == 0) in identify_magic()
59 if (Magic[1] == 0) in identify_magic()
61 if (startswith(Magic, "\0asm")) in identify_magic()
66 if (startswith(Magic, "\xDE\xC0\x17\x0B")) in identify_magic()
70 if (startswith(Magic, "BC\xC0\xDE")) in identify_magic()
74 if (startswith(Magic, "!<arch>\n") || startswith(Magic, "!<thin>\n")) in identify_magic()
79 if (startswith(Magic, "\177ELF") && Magic.size() >= 18) { in identify_magic()
80 bool Data2MSB = Magic[5] == 2; in identify_magic()
83 if (Magic[high] == 0) { in identify_magic()
84 switch (Magic[low]) { in identify_magic()
103 if (startswith(Magic, "\xCA\xFE\xBA\xBE") || in identify_magic()
104 startswith(Magic, "\xCA\xFE\xBA\xBF")) { in identify_magic()
107 if (Magic.size() >= 8 && Magic[7] < 43) in identify_magic()
119 if (startswith(Magic, "\xFE\xED\xFA\xCE") || in identify_magic()
120 startswith(Magic, "\xFE\xED\xFA\xCF")) { in identify_magic()
123 if (Magic[3] == char(0xCE)) in identify_magic()
127 if (Magic.size() >= MinSize) in identify_magic()
128 type = Magic[12] << 24 | Magic[13] << 12 | Magic[14] << 8 | Magic[15]; in identify_magic()
129 } else if (startswith(Magic, "\xCE\xFA\xED\xFE") || in identify_magic()
130 startswith(Magic, "\xCF\xFA\xED\xFE")) { in identify_magic()
133 if (Magic[0] == char(0xCE)) in identify_magic()
137 if (Magic.size() >= MinSize) in identify_magic()
138 type = Magic[15] << 24 | Magic[14] << 12 | Magic[13] << 8 | Magic[12]; in identify_magic()
175 if (Magic[1] == 0x01) in identify_magic()
181 if (Magic[1] == 0x02) in identify_magic()
186 if (startswith(Magic, "MZ") && Magic.size() >= 0x3c + 4) { in identify_magic()
187 uint32_t off = read32le(Magic.data() + 0x3c); in identify_magic()
189 if (Magic.substr(off).startswith( in identify_magic()
193 if (Magic.startswith("Microsoft C/C++ MSF 7.00\r\n")) in identify_magic()
198 if (Magic[1] == char(0x86) || Magic[1] == char(0xaa)) in identify_magic()