Annotation of 43BSDReno/contrib/isode-beta/psap2/ps.py, revision 1.1.1.1

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

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.