version 1.13, 2016/05/01 08:48:39 |
version 1.14, 2016/05/01 10:56:03 |
|
|
MAGIC_TYPE_SEARCH, |
MAGIC_TYPE_SEARCH, |
MAGIC_TYPE_DEFAULT, |
MAGIC_TYPE_DEFAULT, |
MAGIC_TYPE_CLEAR, |
MAGIC_TYPE_CLEAR, |
|
MAGIC_TYPE_NAME, |
|
MAGIC_TYPE_USE, |
}; |
}; |
|
|
TAILQ_HEAD(magic_lines, magic_line); |
TAILQ_HEAD(magic_lines, magic_line); |
RB_HEAD(magic_tree, magic_line); |
RB_HEAD(magic_tree, magic_line); |
|
RB_HEAD(magic_named_tree, magic_line); |
|
|
struct magic_line { |
struct magic_line { |
struct magic *root; |
struct magic *root; |
|
|
char indirect_operator; |
char indirect_operator; |
int64_t indirect_operand; |
int64_t indirect_operand; |
|
|
|
const char *name; |
|
|
enum magic_type type; |
enum magic_type type; |
const char *type_string; |
const char *type_string; |
char type_operator; |
char type_operator; |
|
|
int warnings; |
int warnings; |
|
|
struct magic_tree tree; |
struct magic_tree tree; |
|
struct magic_named_tree named; |
|
|
int compiled; |
int compiled; |
regex_t format_short; |
regex_t format_short; |
|
|
size_t size; |
size_t size; |
size_t offset; |
size_t offset; |
int matched; |
int matched; |
|
|
|
size_t start; |
|
int reverse; |
}; |
}; |
|
|
#define MAGIC_TEST_TEXT 0x1 |
#define MAGIC_TEST_TEXT 0x1 |
|
|
|
|
int magic_compare(struct magic_line *, struct magic_line *); |
int magic_compare(struct magic_line *, struct magic_line *); |
RB_PROTOTYPE(magic_tree, magic_line, node, magic_compare); |
RB_PROTOTYPE(magic_tree, magic_line, node, magic_compare); |
|
|
|
int magic_named_compare(struct magic_line *, struct magic_line *); |
|
RB_PROTOTYPE(magic_named_tree, magic_line, node, magic_named_compare); |
|
|
char *magic_strtoull(const char *, uint64_t *); |
char *magic_strtoull(const char *, uint64_t *); |
char *magic_strtoll(const char *, int64_t *); |
char *magic_strtoll(const char *, int64_t *); |