|
|
1.1 root 1: -- nrs-enc.py - additional QUIPU NRS type definitions module
2:
3: --
4: -- NOTICE
5: --
6: -- Acquisition, use, and distribution of this module and related
7: -- materials are subject to the restrictions of a license agreement.
8: -- Consult the Preface in the User's Manual for the full terms of
9: -- this agreement.
10: --
11: --
12:
13:
14: QuipuNRS
15: {
16: ccitt
17: data(9)
18: pss(2342)
19: ucl(19200300)
20: quipu(99)
21: nRSDefinitions(2)
22: }
23:
24: DEFINITIONS
25: ::=
26:
27: %{
28: #include <stdio.h>
29: #include "quipu/util.h"
30: #include "quipu/nrs_info.h"
31:
32: extern LLog * log_dsap;
33: #define encode_UNIV_NumericString build_UNIV_NumericString
34: #define encode_UNIV_VisibleString build_UNIV_VisibleString
35: #define encode_UNIV_OCTETSTRING build_UNIV_OCTETSTRING
36: %}
37:
38: PREFIXES encode decode print
39:
40: BEGIN
41:
42: ENCODER encode
43:
44: Context [[P int]]
45: ::=
46: INTEGER [[i parm]]
47: {
48: context-unknown(-1) ,
49: x29(0) ,
50: ts29(1) ,
51: niftp(2) ,
52: mail-niftp(3) ,
53: not-used(4) ,
54: mail-telex(5) ,
55: jtmp(6) ,
56: jtmp-files(7) ,
57: jtmp-reg(8) ,
58: ybts-node(9) ,
59: ybts(10) ,
60: ftam(11) ,
61: jtm(12) ,
62: jtm-reg(13) ,
63: vt(14) ,
64: motis(15)
65: }
66:
67: Address-space-id [[P int]]
68: ::=
69: INTEGER [[i parm]]
70: {
71: pss(0) ,
72: janet(1) ,
73: telex(2) ,
74: osi-cons(3)
75: }
76:
77: Route-cost [[P PE]]
78: ::=
79: ANY [[a parm]]
80:
81: Addressing-info [[P struct addr_info *]]
82: %{
83: struct str_seq * ss;
84: %}
85: ::=
86: CHOICE
87: <<parm->addr_info_type>>
88: {
89: dte-only
90: [0] NumericString [[s parm->dte_number]] ,
91:
92: dte-appli-info
93: [1] SEQUENCE
94: {
95: dte-number
96: [0] NumericString [[s parm->dte_number]] ,
97:
98: applic-info
99: [1] SEQUENCE OF
100: <<ss = parm->applic_info; ss; ss=ss->ss_next>>
101: VisibleString [[s ss->ss_str]]
102: } ,
103:
104: dte-cudf
105: [2] SEQUENCE
106: {
107: dte-number
108: [0] NumericString [[s parm->dte_number]] ,
109:
110: cudf
111: [1] OCTET STRING [[s parm->cudf]]
112: } ,
113:
114: dte-cudf-applic-info
115: [3] SEQUENCE
116: {
117: dte-number
118: [0] NumericString [[s parm->dte_number]] ,
119:
120: cudf
121: [1] OCTET STRING [[s parm->cudf]] ,
122:
123: applic-info
124: [2] SEQUENCE OF
125: <<ss = parm->applic_info; ss; ss=ss->ss_next>>
126: VisibleString [[s ss->ss_str]]
127: } ,
128:
129: dte-ybts
130: [4] SEQUENCE
131: {
132: dte-number
133: [0] NumericString [[s parm->dte_number]] ,
134:
135: ybts-string
136: [1] VisibleString [[s parm->ybts_string]]
137: } ,
138:
139: dte-ybts-applic-info
140: [5] SEQUENCE
141: {
142: dte-number
143: [0] NumericString [[s parm->dte_number]] ,
144:
145: ybts-string
146: [1] VisibleString [[s parm->ybts_string]] ,
147:
148: applic-info
149: [2] SEQUENCE OF
150: <<ss = parm->applic_info; ss; ss=ss->ss_next>>
151: VisibleString [[s ss->ss_str]]
152: } ,
153:
154: dte-ybts-appli-relays
155: [6] SEQUENCE
156: {
157: dte-number
158: [0] NumericString [[s parm->dte_number]] ,
159:
160: ybts-string
161: [1] VisibleString [[s parm->ybts_string]] ,
162:
163: applic-relay
164: [2] SEQUENCE OF
165: <<ss = parm->applic_relay; ss; ss=ss->ss_next>>
166: VisibleString [[s ss->ss_str]]
167: } ,
168:
169: none-needed
170: [7] NULL ,
171:
172: osi-addressing
173: [8] SEQUENCE
174: {
175: nsap
176: [0] NumericString [[s parm->nsap]] ,
177:
178: tselector
179: [1] OCTET STRING [[s parm->tselector]]
180: OPTIONAL <<parm->tselector>> ,
181:
182: sselector
183: [2] OCTET STRING [[s parm->sselector]]
184: OPTIONAL <<parm->sselector>> ,
185:
186: pselector
187: [3] OCTET STRING [[s parm->pselector]]
188: OPTIONAL <<parm->pselector>> ,
189:
190: place-holder
191: [4] ANY [[a parm->place_holder]]
192: OPTIONAL <<parm->place_holder>> ,
193:
194: application-title
195: [5] ANY [[a parm->application_title]]
196: OPTIONAL <<parm->application_title>> ,
197:
198: per-application-context-info
199: [6] ANY [[a parm->per_app_context_info]]
200: OPTIONAL <<parm->per_app_context_info>>
201: } ,
202:
203: osi-nsap-only
204: [9] NumericString [[s parm->nsap]] ,
205:
206: osi-nsap-applic-info
207: [10] SEQUENCE
208: {
209: nsap
210: [0] NumericString [[s parm->nsap]] ,
211:
212: applic-info
213: [1] SEQUENCE OF
214: <<ss = parm->applic_info; ss; ss=ss->ss_next>>
215: VisibleString [[s ss->ss_str]]
216: } ,
217:
218: osi-nsap-applic-relays
219: [11] SEQUENCE
220: {
221: nsap
222: [0] NumericString [[s parm->nsap]] ,
223:
224: applic-relay
225: [1] SEQUENCE OF
226: <<ss = parm->applic_relay; ss; ss=ss->ss_next>>
227: VisibleString [[s ss->ss_str]]
228: } ,
229:
230: dte-ybts-osi-addressing
231: [12] SEQUENCE
232: {
233: dte-number
234: [0] NumericString [[s parm->dte_number]] ,
235:
236: ybts-string
237: [1] VisibleString [[s parm->ybts_string]] ,
238:
239: tselector
240: [2] OCTET STRING [[s parm->tselector]]
241: OPTIONAL <<parm->tselector>> ,
242:
243: sselector
244: [3] OCTET STRING [[s parm->sselector]]
245: OPTIONAL <<parm->sselector>> ,
246:
247: pselector
248: [4] OCTET STRING [[s parm->pselector]]
249: OPTIONAL <<parm->pselector>> ,
250:
251: place-holder
252: [5] ANY [[a parm->place_holder]]
253: OPTIONAL <<parm->place_holder>> ,
254:
255: application-title
256: [6] ANY [[a parm->application_title]]
257: OPTIONAL <<parm->application_title>> ,
258:
259: per-application-context-info
260: [7] ANY [[a parm->per_app_context_info]]
261: OPTIONAL <<parm->per_app_context_info>>
262: }
263: }
264:
265: NRSInformation [[P struct nrs_info *]]
266: %{
267: struct nrs_routes * rt;
268: %}
269: ::=
270: SET
271: {
272: [0] Context [[p parm->context]] ,
273: [1] Address-space-id [[p parm->addr_sp_id]] ,
274: routes
275: [2] SEQUENCE OF
276: <<rt=parm->routes; rt; rt=rt->next>>
277: SEQUENCE
278: {
279: Route-cost [[p rt->cost]] ,
280: Addressing-info [[p rt->addr_info]]
281: }
282: }
283:
284: END
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.