|
|
1.1 ! root 1: -- ps.py - presentation service definitions ! 2: -- lifted directly from ISO8823 ! 3: -- ! 4: -- Two kinds of changes to the ASN.1 ! 5: -- - more commentary-tags for POSY ! 6: -- - shortening some names to make loader symbols unique to 24 bytes ! 7: ! 8: -- $Header: /f/osi/psap2/RCS/ps.py,v 7.0 89/11/23 22:14:14 mrose Rel $ ! 9: -- ! 10: -- ! 11: -- $Log: ps.py,v $ ! 12: -- Revision 7.0 89/11/23 22:14:14 mrose ! 13: -- Release 6.0 ! 14: -- ! 15: ! 16: -- ! 17: -- NOTICE ! 18: -- ! 19: -- Acquisition, use, and distribution of this module and related ! 20: -- materials are subject to the restrictions of a license agreement. ! 21: -- Consult the Preface in the User's Manual for the full terms of ! 22: -- this agreement. ! 23: -- ! 24: -- ! 25: ! 26: ! 27: --* ISO8823-PRESENTATION *-- PS DEFINITIONS ::= ! 28: ! 29: %{ ! 30: #ifndef lint ! 31: static char *rcsid = "$Header: /f/osi/psap2/RCS/ps.py,v 7.0 89/11/23 22:14:14 mrose Rel $"; ! 32: #endif ! 33: %} ! 34: ! 35: BEGIN ! 36: ! 37: -- In X.410-1984 mode, the value of the SS-user data parameter of the S-CONNECT ! 38: -- request and indication service-service primitives shall be a CP-type value. ! 39: -- ! 40: -- In normal mode, the value of the SS-user data parameter of the S-CONNECT ! 41: -- request and indication session-service primtives shall be a CP-type value, ! 42: -- followed as a requestor's option by zero or more CPC-type values. ! 43: ! 44: CP-type ::= ! 45: SET { ! 46: mode --* *--[0] ! 47: IMPLICIT Mode-selector, ! 48: ! 49: x410-mode --* *--[1] ! 50: IMPLICIT SET ! 51: --* { COMPONENTS OF Reliable-Transfer.RTORQapdu } *-- ! 52: OPTIONAL ! 53: -- Shall be used for X.410 mode only. Shall be bitwise ! 54: -- compatible with CCITT Recommendation X.410-1984. ! 55: -- This shall be the User data parameter of the CP PPDU --, ! 56: ! 57: normal-mode --* *--[2] ! 58: IMPLICIT SEQUENCE { ! 59: version --* *--[0] ! 60: IMPLICIT Protocol-version ! 61: DEFAULT { version-1 }, ! 62: ! 63: calling --* *--[1] ! 64: IMPLICIT Calling-presentation-selector ! 65: OPTIONAL, ! 66: ! 67: called --* *--[2] ! 68: IMPLICIT Called-presentation-selector ! 69: OPTIONAL, ! 70: ! 71: context-list --* *--[4] ! 72: IMPLICIT --* Presentation-context- *-- Definition-list ! 73: OPTIONAL, ! 74: ! 75: default-context --* *--[6] ! 76: IMPLICIT --* Default- *-- Context-name ! 77: OPTIONAL, ! 78: ! 79: presentation-fu --* *--[8] ! 80: IMPLICIT Presentation-requirements ! 81: OPTIONAL, ! 82: ! 83: session-fu --* *--[9] ! 84: IMPLICIT User-session-requirements ! 85: OPTIONAL ! 86: -- shall not be present if equal to the Revised session ! 87: -- requirements parameter--, ! 88: ! 89: user-data --* *-- ! 90: User-data ! 91: OPTIONAL ! 92: } ! 93: OPTIONAL ! 94: -- Shall be used for normal mode only. ! 95: -- Shall be the parameters of the CP PPDU. ! 96: } ! 97: -- As an initiator's option, the presentation data values contained in a CP ! 98: -- PPDU may be encoded more than once, using CPC-type values, to allow the ! 99: -- transfer of the same presentation data values using a number of different ! 100: -- transfer syntaxes. ! 101: ! 102: ! 103: CPC-type ::= ! 104: User-data ! 105: -- Shall be used for normal mode only. ! 106: -- Shall not be present if the Presentation-context-definition-list parameter ! 107: -- is not present in the CP PPDU. ! 108: -- Each instance of this data type shall contain all of the presentation data ! 109: -- values which were contained in the User-data parameter of the CP PPDU. ! 110: -- This shall be the same set of presentation data values which were contained ! 111: -- in the CP-type. ! 112: ! 113: ! 114: -- The SS-user data parameter value of the S-CONNECT response and confirm ! 115: -- session-service primitives shall be a CPA-PPDU value when the Result ! 116: -- parameter value is "accept". ! 117: ! 118: CPA-type ::= ! 119: SET { ! 120: mode --* *--[0] ! 121: IMPLICIT Mode-selector, ! 122: ! 123: x410-mode --* *--[1] ! 124: IMPLICIT SET ! 125: --* { COMPONENTS OF Reliable-Transfer.RTOACapdu } *-- ! 126: OPTIONAL ! 127: -- Shall be used for X.410 mode only. Shall be bitwise ! 128: -- compatible with CCITT Recommendation X.410-1984. ! 129: -- This shall be the User data parameter of the CPA PPDU --, ! 130: ! 131: normal-mode --* *--[2] ! 132: IMPLICIT SEQUENCE { ! 133: version --* *--[0] ! 134: IMPLICIT Protocol-version ! 135: DEFAULT { version-1 }, ! 136: ! 137: responding --* *--[3] ! 138: IMPLICIT Responding-presentation-selector ! 139: OPTIONAL, ! 140: ! 141: context-list --* *--[5] ! 142: IMPLICIT --* Presentation-context- *-- Definition-result-list ! 143: OPTIONAL, ! 144: ! 145: presentation-fu --* *--[8] ! 146: IMPLICIT Presentation-requirements ! 147: OPTIONAL, ! 148: ! 149: session-fu --* *--[9] ! 150: IMPLICIT User-session-requirements ! 151: OPTIONAL ! 152: -- shall not be present if equal to the Revised session ! 153: -- requirements parameter--, ! 154: ! 155: user-data --* *-- ! 156: User-data ! 157: OPTIONAL ! 158: } ! 159: OPTIONAL ! 160: -- Shall be used for normal mode only. ! 161: } ! 162: ! 163: ! 164: -- The SS-user data parameter value of the S-CONNECT response and confirm ! 165: -- session-service primitives shall be a CPR-PPDU value when the Result ! 166: -- parameter value is "reject by SS-provider" or "reject by called SS-user". ! 167: ! 168: CPR-type ::= ! 169: CHOICE { ! 170: x410-mode --* *-- ! 171: SET ! 172: --* { COMPONENTS OF Reliable-Transfer.RTORJapdu } *-- ! 173: -- Shall be used for X.410 mode only. Shall be bitwise ! 174: -- compatible with CCITT Recommendation X.410-1984. ! 175: -- This shall be the User data parameter of the CPR PPDU --, ! 176: ! 177: normal-mode --* *-- ! 178: SEQUENCE { ! 179: version --* *--[0] ! 180: IMPLICIT Protocol-version ! 181: DEFAULT { version-1 }, ! 182: ! 183: responding --* *--[3] ! 184: IMPLICIT Responding-presentation-selector ! 185: OPTIONAL, ! 186: ! 187: context-list --* *--[5] ! 188: IMPLICIT --* Presentation-context- *-- Definition-result-list ! 189: OPTIONAL, ! 190: ! 191: default-context --* *--[7] ! 192: IMPLICIT --* Default- *-- Context-result ! 193: OPTIONAL, ! 194: ! 195: reason --* *--[10] ! 196: IMPLICIT --* Provider-reason *-- ! 197: INTEGER { ! 198: reason-not-specified(0), ! 199: temporary-congestion(1), ! 200: local-limit-exceeded(2), ! 201: called-presentation-address-unknown(3), ! 202: protocol-version-not-supported(4), ! 203: default-context-not-supported(5), ! 204: user-data-not-readable(6), ! 205: no-PSAP-available(7) ! 206: } ! 207: OPTIONAL, ! 208: ! 209: user-data --* *-- ! 210: User-data ! 211: OPTIONAL ! 212: } ! 213: -- Shall be used for normal mode only. ! 214: } ! 215: ! 216: ! 217: -- The SS-user data parameter of the S-U-ABORT request and indication sevice ! 218: -- primitives shall be an Abort-type value. ! 219: ! 220: Abort-type ::= ! 221: CHOICE { ! 222: user-abort --* *-- ! 223: ARU-PPDU -- for a P-U-ABORT--, ! 224: ! 225: provider-abort --* *-- ! 226: ARP-PPDU -- for a P-P-ABORT-- ! 227: } ! 228: ! 229: ARU-PPDU ::= ! 230: CHOICE { ! 231: x410-mode --* *-- ! 232: SET ! 233: --* { COMPONENTS OF Reliable-Transfer.RTABapdu } *-- ! 234: -- Shall be used for X.410 mode only. Shall be bitwise ! 235: -- compatible with CCITT Recommendation X.410-1984. ! 236: -- This shall be the User data parameter of the ARU PPDU --, ! 237: ! 238: normal-mode --* *--[0] ! 239: IMPLICIT SEQUENCE { ! 240: context-list --* *--[0] ! 241: IMPLICIT --* Presentation-context- *-- Identifier-list ! 242: OPTIONAL, ! 243: ! 244: user-data --* *-- ! 245: User-data ! 246: OPTIONAL ! 247: } ! 248: -- Shall be used for normal mode only. ! 249: } ! 250: ! 251: ARP-PPDU ::= ! 252: SEQUENCE { ! 253: provider-reason[0] ! 254: IMPLICIT Abort-reason ! 255: OPTIONAL, ! 256: ! 257: event --* *--[1] ! 258: IMPLICIT Event-identifier ! 259: OPTIONAL ! 260: } ! 261: ! 262: ! 263: -- The SS-user data parameter of the S-TYPED-DATA request and indication sevice ! 264: -- primitives shall be an Typed-data-type value. ! 265: ! 266: Typed-data-type ::= ! 267: CHOICE { ! 268: acPPDU[0] ! 269: IMPLICIT AC-PPDU ! 270: -- P-ALTER-CONTEXT request and indication --, ! 271: ! 272: acaPPDU[1] ! 273: IMPLICIT ACA-PPDU ! 274: -- P-ALTER-CONTEXT response and confirm --, ! 275: ! 276: ttdPPDU ! 277: User-data -- P-TYPED-DATA request and indication ! 278: } ! 279: ! 280: AC-PPDU ::= ! 281: SEQUENCE { ! 282: additions --* *--[0] ! 283: IMPLICIT --* Presentation-context- *-- Addition-list ! 284: OPTIONAL, ! 285: ! 286: deletions --* *--[1] ! 287: IMPLICIT --* Presentation-context- *-- Deletion-list ! 288: OPTIONAL, ! 289: ! 290: user-data --* *-- ! 291: User-data ! 292: OPTIONAL ! 293: } ! 294: ! 295: ACA-PPDU ::= ! 296: SEQUENCE { ! 297: additions --* *--[0] ! 298: IMPLICIT --* Presentation-context- *-- Addition-list ! 299: OPTIONAL, ! 300: ! 301: deletions --* *--[1] ! 302: IMPLICIT --* Presentation-context- *-- Deletion-list ! 303: OPTIONAL, ! 304: ! 305: user-data --* *-- ! 306: User-data ! 307: OPTIONAL ! 308: } ! 309: ! 310: ! 311: -- The SS-user data parameter of the S-RESYNCHRONIZE request and indication ! 312: -- sevice primitives shall be an RS-PPDU value. ! 313: ! 314: RS-PPDU ::= ! 315: SEQUENCE { ! 316: context-list --* *--[0] ! 317: IMPLICIT --* Presentation-context- *-- Identifier-list ! 318: OPTIONAL, ! 319: ! 320: user-data --* *-- ! 321: User-data ! 322: OPTIONAL ! 323: } ! 324: ! 325: -- The SS-user data parameter of the S-RESYNCHRONIZE response and confirm ! 326: -- sevice primitives shall be an RSA-PPDU value. ! 327: ! 328: RSA-PPDU ::= ! 329: SEQUENCE { ! 330: context-list --* *--[0] ! 331: IMPLICIT --* Presentation-context- *-- Identifier-list ! 332: OPTIONAL, ! 333: ! 334: user-data --* *-- ! 335: User-data ! 336: OPTIONAL ! 337: } ! 338: ! 339: ! 340: -- The SS-user data parameter of the S-DATA, S-CAPABILITY-DATA, ! 341: -- S-EXPEDITED-DATA request and indication session-sevice primitives and ! 342: -- S-CAPABILITY-DATA response and confirm session-service primitives ! 343: -- shall be of type User-data. ! 344: ! 345: -- The SS-user data parameter values of all other session-service primitives ! 346: -- not described above shall be of type User-data. ! 347: ! 348: ! 349: Abort-reason ::= ! 350: INTEGER { ! 351: reason-not-specified(0), ! 352: unrecognized-ppdu(1), ! 353: unexpected-ppdu(2), ! 354: unexpected-session-service-primitive(3), ! 355: unrecognized-ppdu-parameter(4), ! 356: unexpected-ppdu-parameter(5), ! 357: invalid-ppdu-parameter(6) ! 358: } ! 359: ! 360: Abstract-syntax-name ::= ! 361: OBJECT IDENTIFIER ! 362: ! 363: Called-presentation-selector ::= ! 364: --* Presentation- *-- Selector ! 365: ! 366: Calling-presentation-selector ::= ! 367: --* Presentation- *-- Selector ! 368: ! 369: Context-list ::= ! 370: SEQUENCE OF ! 371: SEQUENCE { ! 372: identifier --* *-- ! 373: --* Presentation-context-identifier *-- INTEGER, ! 374: ! 375: abstract-syntax --* *-- ! 376: Abstract-syntax-name, ! 377: ! 378: ! 379: transfer-syntax-list --* *-- ! 380: SEQUENCE OF ! 381: Transfer-syntax-name ! 382: } ! 383: ! 384: --* Default- *-- Context-name ::= ! 385: SEQUENCE { ! 386: abstract-syntax --* *--[0] ! 387: IMPLICIT Abstract-syntax-name, ! 388: ! 389: transfer-syntax --* *--[1] ! 390: IMPLICIT Transfer-syntax-name ! 391: } ! 392: ! 393: --* Default- *-- Context-result ::= ! 394: Result ! 395: ! 396: Event-identifier ::= ! 397: INTEGER { ! 398: cp-PPDU(0), ! 399: cpa-PPDU(1), ! 400: cpr-PPDU(2), ! 401: aru-PPDU(3), ! 402: arp-PPDU(4), ! 403: ac-PPDU(5), ! 404: aca-PPDU(6), ! 405: td-PPDU(7), ! 406: ttd-PPDU(8), ! 407: te-PPDU(9), ! 408: tc-PPDU(10), ! 409: tcc-PPDU(11), ! 410: rs-PPDU(12), ! 411: rsa-PPDU(13), ! 412: s-release-indication(14), ! 413: s-release-confirm(15), ! 414: s-token-give-indication(16), ! 415: s-token-please-indication(17), ! 416: s-control-give-indication(18), ! 417: s-sync-minor-indication(19), ! 418: s-sync-minor-confirm(20), ! 419: s-sync-major-indication(21), ! 420: s-sync-major-confirm(22), ! 421: s-p-exception-report-indication(23), ! 422: s-u-exception-report-indication(24), ! 423: s-activity-start-indication(25), ! 424: s-activity-resume-indication(26), ! 425: s-activity-interrupt-indication(27), ! 426: s-activity-start-confirm(28), ! 427: s-activity-discard-indication(29), ! 428: s-activity-discard-confirm(30), ! 429: s-activity-end-indication(31), ! 430: s-activity-end-confirm(32) ! 431: } ! 432: ! 433: Mode-selector ::= ! 434: SET { ! 435: [0] ! 436: IMPLICIT INTEGER { ! 437: x410-1984-mode(0), ! 438: normal-mode(1) ! 439: } ! 440: } ! 441: ! 442: --* Presentation-context- *-- Addition-list ::= ! 443: Context-list ! 444: ! 445: --* Presentation-context- *-- Addition-result-list ::= ! 446: Result-list ! 447: ! 448: --* Presentation-context- *-- Definition-list ::= ! 449: Context-list ! 450: ! 451: --* Presentation-context- *-- Definition-result-list ::= ! 452: Result-list ! 453: ! 454: --* Presentation-context- *-- Deletion-list ::= ! 455: SEQUENCE OF ! 456: --* Presentation-context-identifier *-- INTEGER ! 457: ! 458: --* Presentation-context- *-- Deletion-result-list ::= ! 459: SEQUENCE OF ! 460: INTEGER { ! 461: acceptance(0), ! 462: user-rejection(1) ! 463: } ! 464: ! 465: --* Presentation-context- *-- Identifier ::= ! 466: INTEGER ! 467: ! 468: --* Presentation-context- *-- Identifier-list ::= ! 469: SEQUENCE OF ! 470: SEQUENCE { ! 471: identifier --* *-- ! 472: --* Presentation-context-identifier *-- INTEGER, ! 473: ! 474: transfer-syntax --* *-- ! 475: Transfer-syntax-name ! 476: } ! 477: ! 478: Presentation-requirements ::= ! 479: BIT STRING { ! 480: context-management(0), ! 481: restoration(1) ! 482: } ! 483: ! 484: --* Presentation- *-- Selector ::= ! 485: OCTET STRING ! 486: ! 487: Protocol-version ::= ! 488: BIT STRING { ! 489: version-1(0) ! 490: } ! 491: ! 492: Provider-reason ::= ! 493: INTEGER { ! 494: reason-not-specified(0), ! 495: temporary-congestion(1), ! 496: local-limit-exceeded(2), ! 497: called-presentation-address-unknown(3), ! 498: protocol-version-not-supported(4), ! 499: default-context-not-supported(5), ! 500: user-data-not-readable(6), ! 501: no-PSAP-available(7) ! 502: } ! 503: ! 504: Responding-presentation-selector ::= ! 505: --* Presentation- *-- Selector ! 506: ! 507: Result ::= ! 508: INTEGER { ! 509: acceptance(0), ! 510: user-rejection(1), ! 511: provider-rejection(2) ! 512: } ! 513: ! 514: Result-list ::= ! 515: SEQUENCE OF ! 516: SEQUENCE { ! 517: result --* *--[0] ! 518: IMPLICIT --* Result *-- ! 519: INTEGER { ! 520: acceptance(0), ! 521: user-rejection(1), ! 522: provider-rejection(2) ! 523: }, ! 524: ! 525: transfer-syntax --* *--[1] ! 526: IMPLICIT Transfer-syntax-name ! 527: OPTIONAL, ! 528: ! 529: provider-reason[2] ! 530: IMPLICIT INTEGER { ! 531: reason-not-specified(0), ! 532: abstract-syntax-not-supported(1), ! 533: proposed-transfer-syntaxes-not-supported(2), ! 534: local-limit-on-DCS-exceeded(3) ! 535: } ! 536: OPTIONAL ! 537: } ! 538: ! 539: Transfer-syntax-name ::= ! 540: OBJECT IDENTIFIER ! 541: ! 542: User-data ::= ! 543: CHOICE { ! 544: simple --* *--[APPLICATION 0] ! 545: IMPLICIT Simply-encoded-data, ! 546: ! 547: complex --* *--[APPLICATION 1] ! 548: IMPLICIT Fully-encoded-data ! 549: } ! 550: -- Clause 8.4 defines when each of the two alternatives shall be used. ! 551: ! 552: Simply-encoded-data ::= ! 553: OCTET STRING ! 554: -- See clause 8.4.1. ! 555: ! 556: Fully-encoded-data ::= ! 557: SEQUENCE OF ! 558: PDV-list ! 559: -- contains one or more PDV-list values. ! 560: -- See clause 8.4.2. ! 561: ! 562: PDV-list ::= ! 563: SEQUENCE { ! 564: transfer-syntax --* *-- ! 565: Transfer-syntax-name ! 566: OPTIONAL, ! 567: ! 568: identifier --* *-- ! 569: --* Presentation-context-identifier *-- INTEGER, ! 570: ! 571: presentation-data-values ! 572: CHOICE { ! 573: single-ASN1-type[0] ! 574: ANY, ! 575: ! 576: octet-aligned[1] ! 577: IMPLICIT OCTET STRING, ! 578: ! 579: arbitrary[2] ! 580: IMPLICIT BIT STRING ! 581: } ! 582: -- Contains one or more presentation data values from the same ! 583: -- presentation context. ! 584: -- See clause 8.4.2. ! 585: } ! 586: ! 587: User-session-requirements ::= ! 588: BIT STRING { ! 589: half-duplex(0), ! 590: duplex(1), ! 591: expedited-data(2), ! 592: minor-synchronize(3), ! 593: major-synchronize(4), ! 594: resynchronize(5), ! 595: activity-management(6), ! 596: negotiated-release(7), ! 597: capability-data(8), ! 598: exceptions(9), ! 599: typed-data(10) ! 600: } ! 601: ! 602: END
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.