=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/file/magic.h,v retrieving revision 1.13 retrieving revision 1.14 diff -c -r1.13 -r1.14 *** src/usr.bin/file/magic.h 2016/05/01 08:48:39 1.13 --- src/usr.bin/file/magic.h 2016/05/01 10:56:03 1.14 *************** *** 1,4 **** ! /* $OpenBSD: magic.h,v 1.13 2016/05/01 08:48:39 nicm Exp $ */ /* * Copyright (c) 2015 Nicholas Marriott --- 1,4 ---- ! /* $OpenBSD: magic.h,v 1.14 2016/05/01 10:56:03 nicm Exp $ */ /* * Copyright (c) 2015 Nicholas Marriott *************** *** 96,105 **** --- 96,108 ---- MAGIC_TYPE_SEARCH, MAGIC_TYPE_DEFAULT, MAGIC_TYPE_CLEAR, + MAGIC_TYPE_NAME, + MAGIC_TYPE_USE, }; TAILQ_HEAD(magic_lines, magic_line); RB_HEAD(magic_tree, magic_line); + RB_HEAD(magic_named_tree, magic_line); struct magic_line { struct magic *root; *************** *** 121,126 **** --- 124,131 ---- char indirect_operator; int64_t indirect_operand; + const char *name; + enum magic_type type; const char *type_string; char type_operator; *************** *** 148,153 **** --- 153,159 ---- int warnings; struct magic_tree tree; + struct magic_named_tree named; int compiled; regex_t format_short; *************** *** 166,171 **** --- 172,180 ---- size_t size; size_t offset; int matched; + + size_t start; + int reverse; }; #define MAGIC_TEST_TEXT 0x1 *************** *** 173,178 **** --- 182,190 ---- int magic_compare(struct magic_line *, struct magic_line *); 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_strtoll(const char *, int64_t *);