aboutsummaryrefslogtreecommitdiffstats
path: root/lib/asn1/test/asn1_SUITE_data/rfcs/Identifiers-and-Expressions.asn1
blob: bd1d8d3c486e8a56c19d188e8824a8913ca39b9c (plain) (blame)
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
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
-- Module Identifiers-and-Expressions (T.415:03/1993)

Identifiers-and-Expressions {2 8 1 5 7} DEFINITIONS ::=
BEGIN

EXPORTS
  Content-Portion-Identifier, Object-or-Class-Identifier, Style-Identifier,
    Protected-Part-Identifier, Category-Name, Resource-Name, Binding-Name,
    Construction-Expression, Object-Id-Expression, Numeric-Expression,
    String-Expression;

IMPORTS
  Layout-Object-Type
    FROM Layout-Descriptors -- see 7.9 
      
  Logical-Object-Type
    FROM Logical-Descriptors; -- see 7.10

Content-Portion-Identifier ::= [APPLICATION 0] IMPLICIT PrintableString

--  only digits and space are used in the present version
--  of this Specification; other characters are reserved for extensions
Object-or-Class-Identifier ::= [APPLICATION 1] IMPLICIT PrintableString

--  only digits and space are used in the present version
--  of this Specification; other characters are reserved for extensions;
--  a 'null' value is represented by an empty string
Style-Identifier ::= [APPLICATION 5] IMPLICIT PrintableString

--  only digits and space are used in the present version
--  of this Specification; other characters are reserved for extensions;
--  a 'null' value is represented by an empty string
Protected-Part-Identifier ::= [APPLICATION 7] IMPLICIT PrintableString

--  only digits and space are used in the present version
--  of this Specification; other characters are reserved for extensions;
--  a 'null' value is represented by an empty string
Category-Name ::= PrintableString

-- a 'null' value is represented by an empty string
Resource-Name ::= PrintableString

Binding-Name ::= PrintableString

Construction-Expression ::= CHOICE {
  construction-type         Construction-Type,
  single-term-construction  [3]  Construction-Term
}

Construction-Type ::= CHOICE {
  sequence-construction   [0] IMPLICIT Term-Sequence,
  aggregate-construction  [1] IMPLICIT Term-Sequence,
  choice-construction     [2] IMPLICIT Term-Sequence
}

Term-Sequence ::= SEQUENCE OF Construction-Term

Construction-Term ::= CHOICE {
  required-construction-factor    [0]  Construction-Factor,
  optional-construction-factor    [1]  Construction-Factor,
  repetitive-construction-factor  [2]  Construction-Factor,
  optional-repetitive-factor      [3]  Construction-Factor
}

Construction-Factor ::= CHOICE {
  object-class-identifier  Object-or-Class-Identifier,
  construction-type        Construction-Type
}

Object-Id-Expression ::= CHOICE {
  current-object-function    [0] IMPLICIT NULL,
  preceding-object-function  [1]  Object-Id-Expression,
  superior-object-function   [3]  Object-Id-Expression,
  current-instance-function  [4]  Current-Instance-Function
}

Numeric-Expression ::= CHOICE {
  numeric-literal        [0] IMPLICIT INTEGER,
  increment-application  [1]  Numeric-Expression,
  decrement-application  [2]  Numeric-Expression,
  ordinal-application
    [3]  CHOICE {identifier  Object-or-Class-Identifier,
                 expression  Object-Id-Expression},
  binding-reference      [4] IMPLICIT Binding-Reference
}

Binding-Reference ::= SET {
  object-reference
    CHOICE {identifier  Object-or-Class-Identifier,
            expression  Binding-Selection-Function},
  binding-identifier  Binding-Name
}

Binding-Selection-Function ::= CHOICE {
  current-object-function    [0] IMPLICIT NULL,
  preceding-function         [1]  Object-Id-Expression,
  superior-function          [3]  Object-Id-Expression,
  current-instance-function  [4]  Current-Instance-Function
}

Current-Instance-Function ::= SEQUENCE {
  first-parameter
    CHOICE {identifier           [0] IMPLICIT Object-or-Class-Identifier,
            layout-object-type   [1] IMPLICIT Layout-Object-Type,
            logical-object-type  [2] IMPLICIT Logical-Object-Type},
  second-parameter
    CHOICE {identifier  Object-or-Class-Identifier,
            expression  Object-Id-Expression}
}

String-Expression ::= SEQUENCE OF Atomic-String-Expression

Atomic-String-Expression ::= CHOICE {
  string-literal           [0] IMPLICIT OCTET STRING,
  binding-reference        [2] IMPLICIT Binding-Reference,
  make-string-application  [3]  Numeric-Expression,
  upper-alpha-application  [4]  Numeric-Expression,
  lower-alpha-application  [5]  Numeric-Expression,
  upper-roman-application  [6]  Numeric-Expression,
  lower-roman-application  [7]  Numeric-Expression
}

END

-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D