Lines Matching defs:magic
7 * binfmt_misc detects binaries via a magic or filename extension and invokes
17 #include <linux/magic.h>
55 int offset; /* offset of magic */
56 int size; /* size of magic/mask */
57 char *magic; /* magic or filename extension */
76 * - magic: 128 bytes (512 in escaped form)
107 if (p && !strcmp(e->magic, p + 1))
112 /* Do matching based on magic & mask. */
116 if ((*s++ ^ e->magic[j]) & e->mask[j])
120 if ((*s++ ^ e->magic[j]))
269 * ':name:type:offset:magic:mask:interpreter:flags'
326 pr_debug("register: type: M (magic)\n");
336 /* Handle the 'M' (magic) format. */
354 /* Parse the 'magic' field. */
355 e->magic = p;
359 if (!e->magic[0])
363 KBUILD_MODNAME ": register: magic[raw]: ",
364 DUMP_PREFIX_NONE, e->magic, p - e->magic);
380 * Decode the magic & mask fields.
385 e->size = string_unescape_inplace(e->magic, UNESCAPE_HEX);
392 pr_debug("register: magic/mask length: %i\n", e->size);
395 KBUILD_MODNAME ": register: magic[decoded]: ",
396 DUMP_PREFIX_NONE, e->magic, e->size);
408 masked[i] = e->magic[i] & e->mask[i];
410 KBUILD_MODNAME ": register: magic[masked]: ",
426 /* Parse the 'magic' field. */
427 e->magic = p;
432 if (!e->magic[0] || strchr(e->magic, '/'))
434 pr_debug("register: extension: {%s}\n", e->magic);
528 sprintf(dp, "extension .%s\n", e->magic);
531 dp = bin2hex(dp, e->magic, e->size);