|
|
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.