File: directiv.h

package info (click to toggle)
nasm 3.01-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 23,660 kB
  • sloc: ansic: 129,101; asm: 40,471; perl: 8,238; sh: 4,146; makefile: 1,281; xml: 726; python: 582; lisp: 578; sed: 11
file content (104 lines) | stat: -rw-r--r-- 1,672 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
/*
 * This file is generated from ./asm/directiv.dat
 * by perfhash.pl; do not edit.
 */

#ifndef DIRECTIV_H
#define DIRECTIV_H 1

#include "perfhash.h"

enum directive {
    D_none,
    D_unknown,
    D_corrupt,
    D_ABSOLUTE,
    D_BITS,
    D_COMMON,
    D_CPU,
    D_DEBUG,
    D_DEFAULT,
    D_DOLLARHEX,
    D_EXTERN,
    D_FLOAT,
    D_GLOBAL,
    D_LIST,
    D_PRAGMA,
    D_REQUIRED,
    D_SECTALIGN,
    D_SECTION,
    D_SEGMENT,
    D_STATIC,
    D_WARNING,
    D_PREFIX,
    D_SUFFIX,
    D_POSTFIX,
    D_GPREFIX,
    D_GSUFFIX,
    D_GPOSTFIX,
    D_LPREFIX,
    D_LSUFFIX,
    D_LPOSTFIX,
    D_pseudo_ops,
    D_DB,
    D_DW,
    D_DD,
    D_DQ,
    D_DT,
    D_DO,
    D_DY,
    D_DZ,
    D_RESB,
    D_RESW,
    D_RESD,
    D_RESQ,
    D_REST,
    D_RESO,
    D_RESY,
    D_RESZ,
    D_INCBIN,
    D_EQU,
    D_ofmt,
    D_EXPORT,
    D_GROUP,
    D_IMPORT,
    D_LIBRARY,
    D_MAP,
    D_MODULE,
    D_ORG,
    D_OSABI,
    D_SAFESEH,
    D_UPPERCASE,
    D_pragma_tokens,
    D_LIMIT,
    D_OPTIONS,
    D_SUBSECTIONS_VIA_SYMBOLS,
    D_NO_DEAD_STRIP,
    D_MAXDUMP,
    D_NODEPEND,
    D_NOSECLABELS
};

extern const struct perfect_hash directive_hash;
extern const char * const directive_tbl[65];

static inline enum directive directive_find(const char *str)
{
    return perfhash_find(&directive_hash, str);
}

static inline const char * directive_name(enum directive x)
{
    size_t ix = (size_t)x - (3);
    if (ix >= 65)
        return NULL;
    return directive_tbl[ix];
}

static inline const char * directive_dname(enum directive x)
{
    const char *y = directive_name(x);
    return y ? y : invalid_enum_str(x);
}

#endif /* DIRECTIV_H */