Home | History | Annotate | Download | only in Support

Lines Matching refs:magic

52 sys::IdentifyFileType(const char *magic, unsigned length) {
53 assert(magic && "Invalid magic number string");
54 assert(length >=4 && "Invalid magic number length");
55 switch ((unsigned char)magic[0]) {
57 if (magic[1] == (char)0xC0 && magic[2] == (char)0x17 &&
58 magic[3] == (char)0x0B)
62 if (magic[1] == 'C' && magic[2] == (char)0xC0 && magic[3] == (char)0xDE)
67 if (memcmp(magic,"!<arch>\n",8) == 0)
72 if (magic[1] == 'E' && magic[2] == 'L' && magic[3] == 'F') {
73 if (length >= 18 && magic[17] == 0)
74 switch (magic[16]) {
85 if (magic[1] == char(0xFE) && magic[2] == char(0xBA) &&
86 magic[3] == char(0xBE)) {
88 // See the Mach-O section in /usr/share/file/magic for details.
89 if (length >= 8 && magic[7] < 43)
95 // The two magic numbers for mach-o are:
102 if (magic[0] == char(0xFE) && magic[1] == char(0xED) &&
103 magic[2] == char(0xFA) &&
104 (magic[3] == char(0xCE) || magic[3] == char(0xCF))) {
106 if (length >= 16) type = magic[14] << 8 | magic[15];
107 } else if ((magic[0] == char(0xCE) || magic[0] == char(0xCF)) &&
108 magic[1] == char(0xFA) && magic[2] == char(0xED) &&
109 magic[3] == char(0xFE)) {
111 if (length >= 14) type = magic[13] << 8 | magic[12];
134 if (magic[1] == 0x01)
139 if (magic[1] == 0x02)
144 if (magic[1] == 0x5a) {
145 uint32_t off = *reinterpret_cast<const ulittle32_t *>(magic + 0x3c);
147 if (off < length && memcmp(magic + off, "PE\0\0",4) == 0)
153 if (magic[1] == char(0x86))
231 bool Path::hasMagicNumber(StringRef Magic) const {
233 if (getMagicNumber(actualMagic, static_cast<unsigned>(Magic.size())))
234 return Magic == actualMagic;