#include "file.h"
#include "magic.h"
#include <string.h>
#include <ctype.h>
#include <stdlib.h>
#include <time.h>
Include dependency graph for softmagic.c:
Go to the source code of this file.
Defines | |
#define | DO_CVT(fld, cast) |
#define | REG_STARTEND 0 |
Functions | |
static const char * | rcsid (const char *p) |
static int | match (struct magic_set *ms, struct magic *magic, uint32_t nmagic, const unsigned char *s, size_t nbytes) |
static int | mget (struct magic_set *ms, const unsigned char *s, struct magic *m, size_t nbytes, unsigned int cont_level) |
static int | magiccheck (struct magic_set *ms, struct magic *m) |
static int32_t | mprint (struct magic_set *ms, struct magic *m) |
static void | mdebug (uint32_t offset, const char *str, size_t len) |
static int | mcopy (struct magic_set *ms, union VALUETYPE *p, int type, int indir, const unsigned char *s, uint32_t offset, size_t nbytes, size_t linecnt) |
static int | mconvert (struct magic_set *ms, struct magic *m) |
static int | print_sep (struct magic_set *ms, int firstline) |
static void | cvt_8 (union VALUETYPE *p, const struct magic *m) |
static void | cvt_16 (union VALUETYPE *p, const struct magic *m) |
static void | cvt_32 (union VALUETYPE *p, const struct magic *m) |
static void | cvt_64 (union VALUETYPE *p, const struct magic *m) |
int | file_softmagic (struct magic_set *ms, const unsigned char *buf, size_t nbytes) |
static int | check_fmt (struct magic_set *ms, struct magic *m) |
char * | strndup (const char *, size_t) |
static uint64_t | file_strncmp (const char *s1, const char *s2, size_t len, uint32_t flags) |
static uint64_t | file_strncmp16 (const char *a, const char *b, size_t len, uint32_t flags) |
|
Value: if (m->num_mask) \ switch (m->mask_op & FILE_OPS_MASK) { \ case FILE_OPAND: \ p->fld &= cast m->num_mask; \ break; \ case FILE_OPOR: \ p->fld |= cast m->num_mask; \ break; \ case FILE_OPXOR: \ p->fld ^= cast m->num_mask; \ break; \ case FILE_OPADD: \ p->fld += cast m->num_mask; \ break; \ case FILE_OPMINUS: \ p->fld -= cast m->num_mask; \ break; \ case FILE_OPMULTIPLY: \ p->fld *= cast m->num_mask; \ break; \ case FILE_OPDIVIDE: \ p->fld /= cast m->num_mask; \ break; \ case FILE_OPMODULO: \ p->fld %= cast m->num_mask; \ break; \ } \ if (m->mask_op & FILE_OPINVERSE) \ p->fld = ~p->fld \ Definition at line 511 of file softmagic.c. |
|
|
|
Definition at line 285 of file softmagic.c. References magic::desc, and file_magerror(). Referenced by mprint(). |
|
Definition at line 549 of file softmagic.c. References DO_CVT. Referenced by mconvert(). |
|
Definition at line 555 of file softmagic.c. References DO_CVT. Referenced by mconvert(). |
|
Definition at line 561 of file softmagic.c. References DO_CVT. Referenced by mconvert(). |
|
Definition at line 543 of file softmagic.c. References DO_CVT. Referenced by mconvert(). |
|
Definition at line 83 of file softmagic.c. References mlist::magic, match(), magic_set::mlist, mlist::next, and mlist::nmagic. Referenced by file_buffer(). |
|
Definition at line 1336 of file softmagic.c. References STRING_COMPACT_BLANK, STRING_COMPACT_OPTIONAL_BLANK, STRING_IGNORE_LOWERCASE, and STRING_IGNORE_UPPERCASE. Referenced by file_strncmp16(), and magiccheck(). |
|
Definition at line 1401 of file softmagic.c. References file_strncmp(). Referenced by magiccheck(). |
|
Definition at line 1414 of file softmagic.c. References FILE_BEDATE, FILE_BELDATE, FILE_BELONG, FILE_BEQDATE, FILE_BEQLDATE, FILE_BEQUAD, FILE_BESHORT, FILE_BESTRING16, FILE_BYTE, FILE_DATE, FILE_DEFAULT, FILE_LDATE, FILE_LEDATE, FILE_LELDATE, FILE_LELONG, FILE_LEQDATE, FILE_LEQLDATE, FILE_LEQUAD, FILE_LESHORT, FILE_LESTRING16, FILE_LONG, FILE_MEDATE, FILE_MELDATE, FILE_MELONG, FILE_PSTRING, FILE_QDATE, FILE_QLDATE, FILE_QUAD, FILE_SEARCH, FILE_SHORT, FILE_STRING, file_strncmp(), file_strncmp16(), MIN, magic_set::ms_value, magic::offset, magic_set::offset, magic::VALUETYPE::q, magic_set::s, magic::VALUETYPE::s, magic_set::s_len, magic_set::search, magic::type, magic::vallen, and magic::value. Referenced by match(). |
|
Definition at line 122 of file softmagic.c. References magic_set::c, cond(), COND_ELIF, COND_ELSE, file_check_mem(), FILE_DEFAULT, file_printf(), magic_set::flags, magic_set::cont::level_info::last_match, magic_set::cont::li, magic_set::line, magic, MAGIC_CONTINUE, magiccheck(), mget(), mprint(), magic_set::cont::level_info::off, OFFADD, magic_set::offset, and print_sep(). Referenced by file_softmagic(), readLine(), and rpmalAllSatisfiesDepend(). |
|
Definition at line 572 of file softmagic.c. References cvt_16(), cvt_32(), cvt_64(), cvt_8(), FILE_BEDATE, FILE_BELDATE, FILE_BELONG, FILE_BEQDATE, FILE_BEQLDATE, FILE_BEQUAD, FILE_BESHORT, FILE_BESTRING16, FILE_BYTE, FILE_DATE, FILE_DEFAULT, FILE_LDATE, FILE_LEDATE, FILE_LELDATE, FILE_LELONG, FILE_LEQDATE, FILE_LEQLDATE, FILE_LEQUAD, FILE_LESHORT, FILE_LESTRING16, FILE_LONG, file_magerror(), FILE_MEDATE, FILE_MELDATE, FILE_MELONG, FILE_PSTRING, FILE_QDATE, FILE_QLDATE, FILE_QUAD, FILE_REGEX, FILE_SEARCH, FILE_SHORT, FILE_STRING, magic_set::ms_value, and magic::type. Referenced by mget(). |
|
Definition at line 686 of file softmagic.c. References FILE_BESTRING16, FILE_LESTRING16, file_magerror(), FILE_PSTRING, FILE_REGEX, FILE_SEARCH, FILE_STRING, magic_set::offset, magic_set::rm_len, magic_set::s, magic_set::s_len, and magic_set::search. Referenced by mget(). |
|
Definition at line 677 of file softmagic.c. References file_showstr(). Referenced by mget(). |
|
Definition at line 791 of file softmagic.c. References magic_set::c, FILE_BEDATE, FILE_BELDATE, FILE_BELONG, FILE_BESHORT, FILE_BYTE, FILE_DATE, FILE_DEFAULT, FILE_LDATE, FILE_LEDATE, FILE_LELDATE, FILE_LELONG, FILE_LESHORT, FILE_LONG, file_mdump(), FILE_MEDATE, FILE_MELDATE, FILE_MELONG, FILE_OPADD, FILE_OPAND, FILE_OPDIVIDE, FILE_OPINDIRECT, FILE_OPINVERSE, FILE_OPMINUS, FILE_OPMODULO, FILE_OPMULTIPLY, FILE_OPOR, FILE_OPS_MASK, FILE_OPXOR, FILE_PSTRING, FILE_REGEX, FILE_SEARCH, FILE_SHORT, FILE_STRING, magic::flag, magic_set::flags, magic::in_offset, magic::in_op, magic::in_type, INDIR, INDIROFFADD, magic_set::cont::li, MAGIC_DEBUG, mconvert(), mcopy(), mdebug(), magic_set::ms_value, magic_set::cont::level_info::off, magic_set::offset, magic::type, and magic::vallen. Referenced by match(). |
|
|
Definition at line 1650 of file softmagic.c. References file_printf(). Referenced by match(). |
|
Definition at line 41 of file softmagic.c. |
|
Definition at line 311 of file softmagic.c. Referenced by mprint(). |