type AaError
import bend-osdev-apparmor@0.1.0.0/error.bend as Errorimport Base
5type AaError is Data:
6 # the text cannot be split into tokens (an unterminated quote, an unbalanced parenthesis)
7 AaErrLex{file: List<&2, U32>, line: U32}
8 # a statement or block that does not fit the grammar
9 AaErrSyntax{file: List<&2, U32>, line: U32}
10 # a malformed pattern (glob)
11 AaErrGlob{file: List<&2, U32>, line: U32}
12 # an unknown name: capability, network domain or type, signal, mount option, flag
13 AaErrName{file: List<&2, U32>, line: U32}
14 # an invalid permission string: unknown letters, w with a, two exec modes,
15 # an exec mode in a deny rule, a bare x in an allow rule, a target without an exec mode
16 AaErrPerms{file: List<&2, U32>, line: U32}
17 # a rule kind or condition outside the model (unix, pivot_root, rlimit, link, ...)
18 AaErrUnsupported{file: List<&2, U32>, line: U32}
19 # an included file that is not in the file map (and the include is not "if exists")
20 AaErrInclude{file: List<&2, U32>, line: U32}
21 # includes nested deeper than the options allow
22 AaErrIncludeDepth{file: List<&2, U32>, line: U32}
23 # a variable used but never assigned
24 AaErrVarUndefined{file: List<&2, U32>, line: U32}
25 # a variable assigned with = twice, or extended with += before it is assigned
26 AaErrVarRedefined{file: List<&2, U32>, line: U32}
27 # a variable or alias statement after the first profile, or inside one
28 AaErrPreamble{file: List<&2, U32>, line: U32}
29 # an unknown or conflicting profile flag
30 AaErrFlag{file: List<&2, U32>, line: U32}
31 # two profiles, children or hats with the same name
32 AaErrDuplicate{file: List<&2, U32>, line: U32}
33 # two rules for the same literal path with different exec modes
34 AaErrExecConflict{file: List<&2, U32>, line: U32}