From LEGO via bug 4405:
[obnox/wireshark/wip.git] / asn1 / hnbap / HNBAP-Containers.asn
1 -- HNBAP-Containers.asn
2 --
3 -- 3GPP TS 25.469 V8.4.0 (2009-12)
4 -- http://www.3gpp.org/ftp/Specs/html-info/25469.htm
5 --
6 -- 9.3.7        Container Definitions
7 --
8 -- $Id$
9 --
10
11 -- **************************************************************
12 --
13 -- Container definitions
14 --
15 -- **************************************************************
16
17 HNBAP-Containers {
18 itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) 
19 umts-Access (20) modules (3) hnbap(6) version1 (1) hnbap-Containers (5) }
20
21 DEFINITIONS AUTOMATIC TAGS ::= 
22
23 BEGIN
24
25 -- **************************************************************
26 --
27 -- IE parameter types from other modules.
28 --
29 -- **************************************************************
30
31 IMPORTS
32         Criticality,
33         Presence,
34         PrivateIE-ID,
35         ProtocolIE-ID,
36         maxPrivateIEs,
37         maxProtocolExtensions,
38         maxProtocolIEs
39 FROM HNBAP-CommonDataTypes;
40
41 -- **************************************************************
42 --
43 -- Class Definition for Protocol IEs
44 --
45 -- **************************************************************
46
47 HNBAP-PROTOCOL-IES ::= CLASS {
48         &id                                     ProtocolIE-ID           UNIQUE,
49         &criticality            Criticality,
50         &Value,
51         &presence                       Presence
52 }
53 WITH SYNTAX {
54         ID                                      &id
55         CRITICALITY                     &criticality
56         TYPE                            &Value
57         PRESENCE                        &presence
58 }
59
60 -- **************************************************************
61 --
62 -- Class Definition for Protocol Extensions
63 --
64 -- **************************************************************
65
66 HNBAP-PROTOCOL-EXTENSION ::= CLASS {
67         &id                                     ProtocolIE-ID UNIQUE,
68         &criticality            Criticality,
69         &Extension,
70         &presence                       Presence
71 }
72 WITH SYNTAX {
73         ID                                      &id
74         CRITICALITY                     &criticality
75         EXTENSION                       &Extension
76         PRESENCE                        &presence
77 }
78
79 -- **************************************************************
80 --
81 -- Class Definition for Private IEs
82 --
83 -- **************************************************************
84
85 HNBAP-PRIVATE-IES ::= CLASS {
86         &id                                     PrivateIE-ID,
87         &criticality            Criticality,
88         &Value,
89         &presence                       Presence
90 }
91 WITH SYNTAX {
92         ID                                      &id
93         CRITICALITY                     &criticality
94         TYPE                            &Value
95         PRESENCE                        &presence
96 }
97
98 -- **************************************************************
99 --
100 -- Container for Protocol IEs
101 --
102 -- **************************************************************
103
104 ProtocolIE-Container {HNBAP-PROTOCOL-IES : IEsSetParam} ::= 
105         SEQUENCE (SIZE (0..maxProtocolIEs)) OF
106                 ProtocolIE-Field {{IEsSetParam}}
107
108 ProtocolIE-Single-Container {HNBAP-PROTOCOL-IES : IEsSetParam} ::= 
109         ProtocolIE-Field {{IEsSetParam}}
110
111 ProtocolIE-Field {HNBAP-PROTOCOL-IES : IEsSetParam} ::= SEQUENCE {
112         id                                      HNBAP-PROTOCOL-IES.&id                          ({IEsSetParam}),
113         criticality                     HNBAP-PROTOCOL-IES.&criticality         ({IEsSetParam}{@id}),
114         value                           HNBAP-PROTOCOL-IES.&Value                       ({IEsSetParam}{@id})
115 }
116
117 -- **************************************************************
118 --
119 -- Container Lists for Protocol IE Containers
120 --
121 -- **************************************************************
122
123 ProtocolIE-ContainerList {INTEGER : lowerBound, INTEGER : upperBound, HNBAP-PROTOCOL-IES : IEsSetParam} ::=
124         SEQUENCE (SIZE (lowerBound..upperBound)) OF
125                 ProtocolIE-Container {{IEsSetParam}}
126
127 -- **************************************************************
128 --
129 -- Container for Protocol Extensions
130 --
131 -- **************************************************************
132
133 ProtocolExtensionContainer {HNBAP-PROTOCOL-EXTENSION : ExtensionSetParam} ::= 
134         SEQUENCE (SIZE (1..maxProtocolExtensions)) OF
135                 ProtocolExtensionField {{ExtensionSetParam}}
136
137 ProtocolExtensionField {HNBAP-PROTOCOL-EXTENSION : ExtensionSetParam} ::= SEQUENCE {
138         id                                      HNBAP-PROTOCOL-EXTENSION.&id                            ({ExtensionSetParam}),
139         criticality                     HNBAP-PROTOCOL-EXTENSION.&criticality           ({ExtensionSetParam}{@id}),
140         extensionValue          HNBAP-PROTOCOL-EXTENSION.&Extension                     ({ExtensionSetParam}{@id})
141 }
142
143 -- **************************************************************
144 --
145 -- Container for Private IEs
146 --
147 -- **************************************************************
148
149 PrivateIE-Container {HNBAP-PRIVATE-IES : IEsSetParam } ::= 
150         SEQUENCE (SIZE (1.. maxPrivateIEs)) OF
151                 PrivateIE-Field {{IEsSetParam}}
152
153 PrivateIE-Field {HNBAP-PRIVATE-IES : IEsSetParam} ::= SEQUENCE {
154         id                                      HNBAP-PRIVATE-IES.&id                                   ({IEsSetParam}),
155         criticality                     HNBAP-PRIVATE-IES.&criticality                  ({IEsSetParam}{@id}),
156         value                           HNBAP-PRIVATE-IES.&Value                                ({IEsSetParam}{@id})
157 }
158
159 END