|
|
BSD 4.3reno
-- nrs-enc.py - additional QUIPU NRS type definitions module
--
-- NOTICE
--
-- Acquisition, use, and distribution of this module and related
-- materials are subject to the restrictions of a license agreement.
-- Consult the Preface in the User's Manual for the full terms of
-- this agreement.
--
--
QuipuNRS
{
ccitt
data(9)
pss(2342)
ucl(19200300)
quipu(99)
nRSDefinitions(2)
}
DEFINITIONS
::=
%{
#include <stdio.h>
#include "quipu/util.h"
#include "quipu/nrs_info.h"
extern LLog * log_dsap;
#define encode_UNIV_NumericString build_UNIV_NumericString
#define encode_UNIV_VisibleString build_UNIV_VisibleString
#define encode_UNIV_OCTETSTRING build_UNIV_OCTETSTRING
%}
PREFIXES encode decode print
BEGIN
ENCODER encode
Context [[P int]]
::=
INTEGER [[i parm]]
{
context-unknown(-1) ,
x29(0) ,
ts29(1) ,
niftp(2) ,
mail-niftp(3) ,
not-used(4) ,
mail-telex(5) ,
jtmp(6) ,
jtmp-files(7) ,
jtmp-reg(8) ,
ybts-node(9) ,
ybts(10) ,
ftam(11) ,
jtm(12) ,
jtm-reg(13) ,
vt(14) ,
motis(15)
}
Address-space-id [[P int]]
::=
INTEGER [[i parm]]
{
pss(0) ,
janet(1) ,
telex(2) ,
osi-cons(3)
}
Route-cost [[P PE]]
::=
ANY [[a parm]]
Addressing-info [[P struct addr_info *]]
%{
struct str_seq * ss;
%}
::=
CHOICE
<<parm->addr_info_type>>
{
dte-only
[0] NumericString [[s parm->dte_number]] ,
dte-appli-info
[1] SEQUENCE
{
dte-number
[0] NumericString [[s parm->dte_number]] ,
applic-info
[1] SEQUENCE OF
<<ss = parm->applic_info; ss; ss=ss->ss_next>>
VisibleString [[s ss->ss_str]]
} ,
dte-cudf
[2] SEQUENCE
{
dte-number
[0] NumericString [[s parm->dte_number]] ,
cudf
[1] OCTET STRING [[s parm->cudf]]
} ,
dte-cudf-applic-info
[3] SEQUENCE
{
dte-number
[0] NumericString [[s parm->dte_number]] ,
cudf
[1] OCTET STRING [[s parm->cudf]] ,
applic-info
[2] SEQUENCE OF
<<ss = parm->applic_info; ss; ss=ss->ss_next>>
VisibleString [[s ss->ss_str]]
} ,
dte-ybts
[4] SEQUENCE
{
dte-number
[0] NumericString [[s parm->dte_number]] ,
ybts-string
[1] VisibleString [[s parm->ybts_string]]
} ,
dte-ybts-applic-info
[5] SEQUENCE
{
dte-number
[0] NumericString [[s parm->dte_number]] ,
ybts-string
[1] VisibleString [[s parm->ybts_string]] ,
applic-info
[2] SEQUENCE OF
<<ss = parm->applic_info; ss; ss=ss->ss_next>>
VisibleString [[s ss->ss_str]]
} ,
dte-ybts-appli-relays
[6] SEQUENCE
{
dte-number
[0] NumericString [[s parm->dte_number]] ,
ybts-string
[1] VisibleString [[s parm->ybts_string]] ,
applic-relay
[2] SEQUENCE OF
<<ss = parm->applic_relay; ss; ss=ss->ss_next>>
VisibleString [[s ss->ss_str]]
} ,
none-needed
[7] NULL ,
osi-addressing
[8] SEQUENCE
{
nsap
[0] NumericString [[s parm->nsap]] ,
tselector
[1] OCTET STRING [[s parm->tselector]]
OPTIONAL <<parm->tselector>> ,
sselector
[2] OCTET STRING [[s parm->sselector]]
OPTIONAL <<parm->sselector>> ,
pselector
[3] OCTET STRING [[s parm->pselector]]
OPTIONAL <<parm->pselector>> ,
place-holder
[4] ANY [[a parm->place_holder]]
OPTIONAL <<parm->place_holder>> ,
application-title
[5] ANY [[a parm->application_title]]
OPTIONAL <<parm->application_title>> ,
per-application-context-info
[6] ANY [[a parm->per_app_context_info]]
OPTIONAL <<parm->per_app_context_info>>
} ,
osi-nsap-only
[9] NumericString [[s parm->nsap]] ,
osi-nsap-applic-info
[10] SEQUENCE
{
nsap
[0] NumericString [[s parm->nsap]] ,
applic-info
[1] SEQUENCE OF
<<ss = parm->applic_info; ss; ss=ss->ss_next>>
VisibleString [[s ss->ss_str]]
} ,
osi-nsap-applic-relays
[11] SEQUENCE
{
nsap
[0] NumericString [[s parm->nsap]] ,
applic-relay
[1] SEQUENCE OF
<<ss = parm->applic_relay; ss; ss=ss->ss_next>>
VisibleString [[s ss->ss_str]]
} ,
dte-ybts-osi-addressing
[12] SEQUENCE
{
dte-number
[0] NumericString [[s parm->dte_number]] ,
ybts-string
[1] VisibleString [[s parm->ybts_string]] ,
tselector
[2] OCTET STRING [[s parm->tselector]]
OPTIONAL <<parm->tselector>> ,
sselector
[3] OCTET STRING [[s parm->sselector]]
OPTIONAL <<parm->sselector>> ,
pselector
[4] OCTET STRING [[s parm->pselector]]
OPTIONAL <<parm->pselector>> ,
place-holder
[5] ANY [[a parm->place_holder]]
OPTIONAL <<parm->place_holder>> ,
application-title
[6] ANY [[a parm->application_title]]
OPTIONAL <<parm->application_title>> ,
per-application-context-info
[7] ANY [[a parm->per_app_context_info]]
OPTIONAL <<parm->per_app_context_info>>
}
}
NRSInformation [[P struct nrs_info *]]
%{
struct nrs_routes * rt;
%}
::=
SET
{
[0] Context [[p parm->context]] ,
[1] Address-space-id [[p parm->addr_sp_id]] ,
routes
[2] SEQUENCE OF
<<rt=parm->routes; rt; rt=rt->next>>
SEQUENCE
{
Route-cost [[p rt->cost]] ,
Addressing-info [[p rt->addr_info]]
}
}
END
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.