NativeEnumerated.c vars NULL init and check
[com/asn1c.git] / tests / tests-asn1c-compiler / 42-real-life-OK.asn1
1
2 -- OK: Everything is fine
3
4 -- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1)
5 -- .spelio.software.asn1c.test (9363.1.5.1)
6 -- .42
7
8 ModuleLAPStorage
9         { iso org(3) dod(6) internet (1) private(4) enterprise(1)
10                 spelio(9363) software(1) asn1c(5) test(1) 42 }
11         DEFINITIONS EXTENSIBILITY IMPLIED ::=
12 BEGIN
13
14         /*
15          * A package representing a distinguished log line.
16          * It contains
17          *  - a digest of that line (actually, a normalized
18          *    form with bells (\007) in place of variable components),
19          *  - one or more sets of variable parts (presumably with different
20          *    acceptability rules).
21          */
22         LogLine ::= SEQUENCE {
23                 line-digest     IA5String,      -- Log line normal form
24                 varsets         SEQUENCE SIZE(1..MAX) OF VariablePartSet
25         }
26
27         /*
28          * This package contains a set of variable components of a log line.
29          * Each variable component may contain one or more "value samples",
30          * or a range between two samples.
31          */
32         VariablePartSet ::= SEQUENCE {
33                 vparts          SEQUENCE SIZE(0..MAX) OF VariablePart, -- {123,321}
34                 resolution      ActionItem
35         }
36
37         /*
38          * A description of a single variable part.
39          */
40         VariablePart ::= CHOICE {
41                 -- A set of acceptable values
42                 vset    SET SIZE(1..MAX) OF VisibleString,
43                 -- A range of acceptable values
44                 vrange  SEQUENCE {
45                         from    VisibleString,
46                         to      VisibleString
47                 }
48         }
49
50         /*
51          * What to do with the log line.
52          */
53         ActionItem ::= SEQUENCE {
54                 accept-as       ENUMERATED {
55                         unknown,        -- Action yet unknown.
56                         safe,           -- No action, just move on.
57                         unsafe,         -- Unsafe message. Inform NOC.
58                         ...
59                 },
60                 notify  SEQUENCE {      -- How to notify NOC.
61                         critical  BOOLEAN,              -- Emit critical message
62                         email     SET OF VisibleString, -- Send emails
63                         ...
64                 } OPTIONAL
65         }
66
67 END