DataMuseum.dk

Presents historical artifacts from the history of:

DKUUG/EUUG Conference tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about DKUUG/EUUG Conference tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download
Index: T i

⟦03ed8db15⟧ TextFile

    Length: 25324 (0x62ec)
    Types: TextFile
    Names: »iso8571-ftam.py«

Derivation

└─⟦3d0c2be1b⟧ Bits:30001254 ISODE-5.0 Tape
    └─⟦eba4602b1⟧ »./isode-5.0.tar.Z« 
        └─⟦d3ac74d73⟧ 
            └─⟦this⟧ »isode-5.0/pepy/test.asn1/iso8571-ftam.py« 
└─⟦2d1937cfd⟧ Bits:30007241 EUUGD22: P.P 5.0
    └─⟦35176feda⟧ »EurOpenD22/isode/isode-6.tar.Z« 
        └─⟦de7628f85⟧ 
            └─⟦this⟧ »isode-6.0/pepy/test.asn1/iso8571-ftam.py« 

TextFile

ISO8571-FTAM DEFINITIONS ::=
BEGIN

PDU ::= CHOICE
  { FTAM-Regime-PDU ,
    File-PDU ,
    Bulk-Data-PDU }

FTAM-Regime-PDU ::= CHOICE
  { f-initialize-request [0] IMPLICIT F-INITIALIZE-request ,
    f-initialize-response [1] IMPLICIT F-INITIALIZE-response ,
    f-terminate-request [2] IMPLICIT F-TERMINATE-request ,
    f-terminate-response [3] IMPLICIT F-TERMINATE-response ,
    f-u-abort-request [4] IMPLICIT F-U-ABORT-request ,
    f-p-abort-request [5] IMPLICIT F-P-ABORT-request }

F-INITIALIZE-request ::= SEQUENCE
  { protocol-version Protocol-Version DEFAULT { version-1} ,
    implementation-information Implementation-Information OPTIONAL ,
    presentation-context-management [2] IMPLICIT BOOLEAN DEFAULT FALSE ,
    service-class Service-Class DEFAULT { transfer-class } ,
    functional-units Functional-Units ,
    attribute-groups Attribute-Groups DEFAULT { } ,
    shared-ASE-information Shared-ASE-Information OPTIONAL ,
    ftam-quality-of-service FTAM-Quality-Of-Service ,
    contents-type-list Contents-Type-List OPTIONAL ,
    initiator-identity User-Identity OPTIONAL ,
    account Account OPTIONAL ,
    filestore-password Password OPTIONAL ,
    checkpoint-window [8] IMPLICIT INTEGER DEFAULT 1 }

F-INITIALIZE-response ::= SEQUENCE
  { state-result State-Result DEFAULT success ,
    action-result Action-Result DEFAULT success ,
    protocol-version Protocol-Version DEFAULT { version-1 } ,
    implementation-information Implementation-Information OPTIONAL ,
    presentation-context-management [2] IMPLICIT BOOLEAN DEFAULT FALSE ,
    service-class Service-Class DEFAULT { transfer-class } ,
    functional-units Functional-Units ,
    attribute-groups Attribute-Groups DEFAULT { } ,
    shared-ASE-information Shared-ASE-Information OPTIONAL ,
    ftam-quality-of-service FTAM-Quality-Of-Service ,
    contents-type-list Contents-Type-List OPTIONAL ,
    diagnostic Diagnostic OPTIONAL ,
    checkpoint-window [8] IMPLICIT INTEGER DEFAULT 1 }

Protocol-Version ::= [0] IMPLICIT BIT STRING { version-1 (0) }

Implementation-Information ::= [1] IMPLICIT GraphicString

Service-Class ::= [3] IMPLICIT BIT STRING { unconstrained-class (0) ,
                                            management-class (1) ,
                                            transfer-class (2) ,
                                            transfer-and-management-class (3) ,
                                            access-class (4) }

Functional-Units ::= [4] IMPLICIT BIT STRING { read (2) ,
                                               write (3) ,
                                               file-access (4) ,
                                               limited-file-management (5) ,
                                               enhanced-file-management (6) ,
                                               grouping (7) ,
                                               fadu-locking (8) ,
                                               recovery (9) ,
                                               restart-data-transfer (10) }

Attribute-Groups ::= [5] IMPLICIT BIT STRING { storage (0) ,
                                               security (1) ,
                                               private (2) }

FTAM-Quality-Of-Service ::= [6] IMPLICIT INTEGER { no-recovery (0) ,
                                                   class-1-recovery (1) ,
                                                   class-2-recovery (2) ,
                                                   class-3-recovery (3) }

Contents-Type-List ::= [7] IMPLICIT SEQUENCE OF CHOICE
  { document-type-name Document-Type-Name ,
    abstract-syntax-name Abstract-Syntax-Name }

F-TERMINATE-request ::= SEQUENCE
  { shared-ASE-information Shared-ASE-Information OPTIONAL }

F-TERMINATE-response ::= SEQUENCE
  { shared-ASE-information Shared-ASE-Information OPTIONAL ,
    charging Charging OPTIONAL }

F-U-ABORT-request ::= SEQUENCE
  { action-result Action-Result DEFAULT success ,
    diagnostic Diagnostic OPTIONAL }

F-P-ABORT-request ::= SEQUENCE
  { action-result Action-Result DEFAULT success ,
    diagnostic Diagnostic OPTIONAL }

File-PDU ::= CHOICE
  { f-select-request [6] IMPLICIT F-SELECT-request ,
    f-select-response [7] IMPLICIT F-SELECT-response ,
    f-deselect-request [8] IMPLICIT F-DESELECT-request ,
    f-deselect-response [9] IMPLICIT F-DESELECT-response ,
    f-create-request [10] IMPLICIT F-CREATE-request ,
    f-create-response [11] IMPLICIT F-CREATE-response ,
    f-delete-request [12] IMPLICIT F-DELETE-request ,
    f-delete-response [13] IMPLICIT F-DELETE-response ,
    f-read-attrib-request [14] IMPLICIT F-READ-ATTRIB-request ,
    f-read-attrib-response [15] IMPLICIT F-READ-ATTRIB-response ,
    f-change-attrib-request [16] IMPLICIT F-CHANGE-ATTRIB-request ,
    f-change-attrib-response [17] IMPLICIT F-CHANGE-ATTRIB-response ,
    f-open-request [18] IMPLICIT F-OPEN-request ,
    f-open-response [19] IMPLICIT F-OPEN-response ,
    f-close-request [20] IMPLICIT F-CLOSE-request ,
    f-close-response [21] IMPLICIT F-CLOSE-response ,
    f-begin-group-request [22] IMPLICIT F-BEGIN-GROUP-request ,
    f-begin-group-response [23] IMPLICIT F-BEGIN-GROUP-response ,
    f-end-group-request [24] IMPLICIT F-END-GROUP-request ,
    f-end-group-response [25] IMPLICIT F-END-GROUP-response ,
    f-recover-request [26] IMPLICIT F-RECOVER-request ,
    f-recover-response [27] IMPLICIT F-RECOVER-response ,
    f-locate-request [28] IMPLICIT F-LOCATE-request ,
    f-locate-response [29] IMPLICIT F-LOCATE-response ,
    f-erase-request [30] IMPLICIT F-ERASE-request ,
    f-erase-response [31] IMPLICIT F-ERASE-response }

F-SELECT-request ::= SEQUENCE
  { attributes Select-Attributes ,
    requested-access Access-Request ,
    access-passwords Access-Passwords OPTIONAL ,
    concurrency-control Concurrency-Control OPTIONAL ,
    shared-ASE-information Shared-ASE-Information OPTIONAL ,
    account Account OPTIONAL }

F-SELECT-response ::= SEQUENCE
  { state-result State-Result DEFAULT success ,
    action-result Action-Result DEFAULT success ,
    attributes Select-Attributes ,
    diagnostic Diagnostic OPTIONAL }

F-DESELECT-request ::= SEQUENCE
  { shared-ASE-information Shared-ASE-Information OPTIONAL }

F-DESELECT-response ::= SEQUENCE
  { action-result Action-Result DEFAULT success ,
    charging Charging OPTIONAL ,
    shared-ASE-information Shared-ASE-Information OPTIONAL ,
    diagnostic Diagnostic OPTIONAL }

F-CREATE-request ::= SEQUENCE
  { override [0] IMPLICIT INTEGER { create-failure (0) ,
                                    select-old-file (1) ,
                                    delete-and-create-with-old-attributes (2) ,
                                    delete-and-create-with-new-attributes (3) } DEFAULT create-failure ,
    initial-attributes Create-Attributes ,
    create-password Password OPTIONAL ,
    requested-access Access-Request ,
    access-passwords Access-Passwords OPTIONAL ,
    concurrency-control Concurrency-Control OPTIONAL ,
    shared-ASE-information Shared-ASE-Information OPTIONAL ,
    account Account OPTIONAL }

F-CREATE-response ::= SEQUENCE
  { state-result State-Result DEFAULT success ,
    action-result Action-Result DEFAULT success ,
    initial-attributes Create-Attributes ,
    diagnostic Diagnostic OPTIONAL }

F-DELETE-request ::= SEQUENCE
  { shared-ASE-information Shared-ASE-Information OPTIONAL }

F-DELETE-response ::= SEQUENCE
  { action-result Action-Result DEFAULT success ,
    shared-ASE-information Shared-ASE-Information OPTIONAL ,
    charging Charging OPTIONAL ,
    diagnostic Diagnostic OPTIONAL }

F-READ-ATTRIB-request ::= SEQUENCE
  { attribute-names [0] IMPLICIT BIT STRING { read-filename (0) ,
                                              read-permitted-actions (1) ,
                                              read-contents-type (2) ,
                                              read-storage-account (3) ,
                                              read-date-and-time-of-creation (4) ,
                                              read-date-and-time-of-last-modification (5) ,
                                              read-date-and-time-of-last-read-access (6) ,
                                              read-date-and-time-of-last-attribute-modification (7) ,
                                              read-identity-of-creator (8) ,
                                              read-identity-of-last-modifier (9) ,
                                              read-identity-of-last-reader (10) ,
                                              read-identity-of-last-attribute-modifier (11) ,
                                              read-file-availability (12) ,
                                              read-filesize (13) ,
                                              read-future-filesize (14) ,
                                              read-access-control (15) ,
                                              read-legal-qualifications (16) ,
                                              read-private-use (17) } }

F-READ-ATTRIB-response ::= SEQUENCE
  { action-result Action-Result DEFAULT success ,
    attributes Read-Attributes OPTIONAL ,
    diagnostic Diagnostic OPTIONAL }

F-CHANGE-ATTRIB-request ::= SEQUENCE
  { attributes Change-Attributes }

F-CHANGE-ATTRIB-response ::= SEQUENCE
  { action-result Action-Result DEFAULT success ,
    attributes Change-Attributes OPTIONAL ,
    diagnostic Diagnostic OPTIONAL }

F-OPEN-request ::= SEQUENCE
  { processing-mode [0] IMPLICIT BIT STRING { f-read (0) ,
                                              f-insert (1) ,
                                              f-replace (2) ,
                                              f-extend (3) ,
                                              f-erase (4) } DEFAULT { f-read } ,
    contents-type [1] CHOICE
      { unknown [0] IMPLICIT NULL ,
        proposed [1] Contents-Type-Attribute } ,
    concurrency-control Concurrency-Control OPTIONAL ,
    shared-ASE-information Shared-ASE-Information OPTIONAL ,
    enable-fadu-locking [2] IMPLICIT BOOLEAN DEFAULT FALSE ,
    activity-identifier Activity-Identifier OPTIONAL ,
    recovery-mode [3] IMPLICIT INTEGER { none (0) ,
                                         at-start-of-file (1) ,
                                         at-any-active-checkpoint (2) } DEFAULT none ,
    remove-contexts [4] IMPLICIT SET OF Abstract-Syntax-Name OPTIONAL ,
    define-contexts [5] IMPLICIT SET OF Abstract-Syntax-Name OPTIONAL }

F-OPEN-response ::= SEQUENCE
  { state-result State-Result DEFAULT success ,
    action-result Action-Result DEFAULT success ,
    contents-type [1] Contents-Type-Attribute ,
    concurrency-control Concurrency-Control OPTIONAL ,
    shared-ASE-information Shared-ASE-Information OPTIONAL ,
    diagnostic Diagnostic OPTIONAL ,
    recovery-mode [3] IMPLICIT INTEGER { none (0) ,
                                         at-start-of-file (1) ,
                                         at-any-active-checkpoint (2) } DEFAULT none ,
    presentation-action BOOLEAN DEFAULT FALSE }

F-CLOSE-request ::= SEQUENCE
  { action-result Action-Result DEFAULT success ,
    shared-ASE-information Shared-ASE-Information OPTIONAL ,
    diagnostic Diagnostic OPTIONAL }

F-CLOSE-response ::= SEQUENCE
  { action-result Action-Result DEFAULT success ,
    shared-ASE-information Shared-ASE-Information OPTIONAL ,
    diagnostic Diagnostic OPTIONAL }

F-BEGIN-GROUP-request ::= SEQUENCE
  { threshold [0] IMPLICIT INTEGER }

F-BEGIN-GROUP-response ::= SEQUENCE
  { }

F-END-GROUP-request ::= SEQUENCE
  { }

F-END-GROUP-response ::= SEQUENCE
  { }

F-RECOVER-request ::= SEQUENCE
  { activity-identifier Activity-Identifier ,
    bulk-transfer-number [0] IMPLICIT INTEGER ,
    requested-access Access-Request ,
    access-passwords Access-Passwords OPTIONAL ,
    recovery-point [2] IMPLICIT INTEGER DEFAULT 0 ,
    remove-contexts [3] IMPLICIT SET OF Abstract-Syntax-Name OPTIONAL ,
    define-contexts [4] IMPLICIT SET OF Abstract-Syntax-Name OPTIONAL }

F-RECOVER-response ::= SEQUENCE
  { state-result State-Result DEFAULT success ,
    action-result Action-Result DEFAULT success ,
    contents-type [1] Contents-Type-Attribute ,
    recovery-point [2] IMPLICIT INTEGER DEFAULT 0 ,
    diagnostic Diagnostic OPTIONAL ,
    presentation-action BOOLEAN DEFAULT FALSE }

F-LOCATE-request ::= SEQUENCE
  { file-access-data-unit-identity FADU-Identity ,
    fadu-lock FADU-Lock }

F-LOCATE-response ::= SEQUENCE
  { action-result Action-Result DEFAULT success ,
    file-access-data-unit-identity FADU-Identity OPTIONAL ,
    diagnostic Diagnostic OPTIONAL }

F-ERASE-request ::= SEQUENCE
  { file-access-data-unit-identity FADU-Identity }

F-ERASE-response ::= SEQUENCE
  { action-result Action-Result DEFAULT success ,
    diagnostic Diagnostic OPTIONAL }

Bulk-Data-PDU ::= CHOICE
  { f-read-request [32] IMPLICIT F-READ-request ,
    f-write-request [33] IMPLICIT F-WRITE-request ,
    f-data-end-request [34] IMPLICIT F-DATA-END-request ,
    f-transfer-end-request [35] IMPLICIT F-TRANSFER-END-request ,
    f-transfer-end-response [36] IMPLICIT F-TRANSFER-END-response ,
    f-cancel-request [37] IMPLICIT F-CANCEL-request ,
    f-cancel-response [38] IMPLICIT F-CANCEL-response ,
    f-restart-request [39] IMPLICIT F-RESTART-request ,
    f-restart-response [40] IMPLICIT F-RESTART-response }

F-READ-request ::= SEQUENCE
  { file-access-data-unit-identity FADU-Identity ,
    access-context Access-Context ,
    fadu-lock FADU-Lock }

F-WRITE-request ::= SEQUENCE
  { file-access-data-unit-operation [0] IMPLICIT INTEGER { insert (0) ,
                                                           replace (1) ,
                                                           extend (2) } ,
    file-access-data-unit-identity FADU-Identity ,
    fadu-lock FADU-Lock }

F-DATA-END-request ::= SEQUENCE
  { action-result Action-Result DEFAULT success ,
    diagnostic Diagnostic OPTIONAL }

F-TRANSFER-END-request ::= SEQUENCE
  { shared-ASE-information Shared-ASE-Information OPTIONAL }

F-TRANSFER-END-response ::= SEQUENCE
  { action-result Action-Result DEFAULT success ,
    shared-ASE-information Shared-ASE-Information OPTIONAL ,
    diagnostic Diagnostic OPTIONAL }

F-CANCEL-request ::= SEQUENCE
  { action-result Action-Result DEFAULT success ,
    shared-ASE-information Shared-ASE-Information OPTIONAL ,
    diagnostic Diagnostic OPTIONAL }

F-CANCEL-response ::= SEQUENCE
  { action-result Action-Result DEFAULT success ,
    shared-ASE-information Shared-ASE-Information OPTIONAL ,
    diagnostic Diagnostic OPTIONAL }

F-RESTART-request ::= SEQUENCE
  { checkpoint-identifier [0] IMPLICIT INTEGER }

F-RESTART-response ::= SEQUENCE
  { checkpoint-identifier [0] IMPLICIT INTEGER }

Abstract-Syntax-Name ::= [APPLICATION 0] IMPLICIT OBJECT IDENTIFIER

Access-Context ::= [APPLICATION 1] IMPLICIT SEQUENCE
  { access-context [0] IMPLICIT INTEGER { hierarchical-all-data-units (0) ,
                                          hierarchical-no-data-units (1) ,
                                          flat-all-data-units (2) ,
                                          flat-one-level-data-units (3) ,
                                          flat-single-data-unit (4) ,
                                          unstructured-all-data-units (5) ,
                                          unstructured-single-data-unit (6) } ,
    level-number [1] IMPLICIT INTEGER OPTIONAL }

Access-Passwords ::= [APPLICATION 2] IMPLICIT SEQUENCE
  { read-password [0] IMPLICIT Password ,
    insert-password [1] IMPLICIT Password ,
    replace-password [2] IMPLICIT Password ,
    extend-password [3] IMPLICIT Password ,
    erase-password [4] IMPLICIT Password ,
    read-attribute-password [5] IMPLICIT Password ,
    change-attribute-password [6] IMPLICIT Password ,
    delete-password [7] IMPLICIT Password }

Access-Request ::= [APPLICATION 3] IMPLICIT BIT STRING { read (0) ,
                                                         insert (1) ,
                                                         replace (2) ,
                                                         extend (3) ,
                                                         erase (4) ,
                                                         read-attribute (5) ,
                                                         change-attribute (6) ,
                                                         delete-file (7) }

Account ::= [APPLICATION 4] IMPLICIT GraphicString

Action-Result ::= [APPLICATION 5] IMPLICIT INTEGER { success (0) ,
                                                     transient-error (1) ,
                                                     permanent-error (2) }

Activity-Identifier ::= [APPLICATION 6] IMPLICIT INTEGER

Application-Entity-Title ::= [APPLICATION 7] ACSE-1.AETitle

Change-Attributes ::= [APPLICATION 8] SEQUENCE
  { filename [0] IMPLICIT Filename-Attribute OPTIONAL ,
    storage-account [3] Account-Attribute OPTIONAL ,
    file-availability [12] Filesize-Attribute OPTIONAL ,
    access-control [15] Access-Control-Change-Attribute OPTIONAL ,
    legal-qualification [16] Legal-Qualification-Attribute OPTIONAL ,
    private-use [17] Private-Use-Attribute OPTIONAL }

Charging ::= [APPLICATION 9] IMPLICIT SEQUENCE OF SEQUENCE
  { resource-identifier [0] IMPLICIT GraphicString ,
    charging-unit [1] IMPLICIT GraphicString ,
    charging-value [2] IMPLICIT INTEGER }

Concurrency-Control ::= [APPLICATION 10] IMPLICIT SEQUENCE
  { read [0] IMPLICIT Lock ,
    insert [1] IMPLICIT Lock ,
    replace [2] IMPLICIT Lock ,
    extend [3] IMPLICIT Lock ,
    erase [4] IMPLICIT Lock ,
    read-attribute [5] IMPLICIT Lock ,
    change-attribute [6] IMPLICIT Lock ,
    delete-file [7] IMPLICIT Lock }

Lock ::= INTEGER { shared (0) ,
                   exclusive (1) ,
                   not-required (2) ,
                   no-access (3) }

Constraint-Set-Name ::= [APPLICATION 11] IMPLICIT OBJECT IDENTIFIER

Create-Attributes ::= [APPLICATION 12] SEQUENCE
  { filename [0] IMPLICIT Filename-Attribute ,
    permitted-actions [1] IMPLICIT Permitted-Actions-Attribute OPTIONAL ,
    contents-type [2] Contents-Type-Attribute ,
    storage-account [3] Account-Attribute OPTIONAL ,
    file-availability [12] File-Availability-Attribute OPTIONAL ,
    future-filesize [14] Filesize-Attribute OPTIONAL ,
    access-control [15] Access-Control-Attribute OPTIONAL ,
    legal-qualification [16] Legal-Qualification-Attribute OPTIONAL ,
    private-use [17] Private-Use-Attribute OPTIONAL }

Diagnostic ::= [APPLICATION 13] IMPLICIT SEQUENCE OF SEQUENCE
  { diagnostic-type [0] IMPLICIT INTEGER { informative (0) ,
                                           transient (1) ,
                                           permanent (3) } ,
    error-identifier [1] IMPLICIT INTEGER ,
    error-observer [2] IMPLICIT Entity-Reference ,
    error-source [3] IMPLICIT Entity-Reference ,
    suggested-delay [4] IMPLICIT INTEGER OPTIONAL ,
    further-details [5] IMPLICIT GraphicString OPTIONAL }

Entity-Reference ::= INTEGER { no-categorization-possible (0) ,
                               initiating-file-service-user (1) ,
                               initiating-file-protocol-machine (2) ,
                               service-supporting-the-file-protocol-machine (3) ,
                               responding-file-protocol-machine (4) ,
                               responding-file-service-user (5) }

Document-Type-Name ::= [APPLICATION 14] IMPLICIT OBJECT IDENTIFIER

FADU-Identity ::= [APPLICATION 15] CHOICE
  { first-last [0] IMPLICIT INTEGER { first (0) ,
                                      last (1) } ,
    relative [1] IMPLICIT INTEGER { previous (0) ,
                                    current (1) ,
                                    next (2) } ,
    begin-end [2] IMPLICIT INTEGER { begin (0) ,
                                     end (1) } ,
    single-name [3] IMPLICIT Node-Name ,
    name-list [4] IMPLICIT SEQUENCE OF Node-Name ,
    fadu-number [5] INTEGER }

Node-Name ::= EXTERNAL

FADU-Lock ::= [APPLICATION 16] IMPLICIT INTEGER { off (0) ,
                                                  on (1) }

Password ::= [APPLICATION 17] CHOICE
  { GraphicString ,
    OCTET STRING }

Read-Attributes ::= [APPLICATION 18] IMPLICIT SEQUENCE
  { filename [0] Filename-Attribute OPTIONAL ,
    permitted-actions [1] IMPLICIT Permitted-Actions-Attribute OPTIONAL ,
    contents-type [2] Contents-Type-Attribute OPTIONAL ,
    storage-account [3] Account-Attribute OPTIONAL ,
    date-and-time-of-creation [4] Date-and-Time-Attribute OPTIONAL ,
    date-and-time-of-last-modification [5] Date-and-Time-Attribute OPTIONAL ,
    date-and-time-of-last-read-access [6] Date-and-Time-Attribute OPTIONAL ,
    date-and-time-of-last-attribute-modification [7] Date-and-Time-Attribute OPTIONAL ,
    identity-of-creator [8] User-Identity-Attribute OPTIONAL ,
    identity-oflast-modifier [9] User-Identity-Attribute OPTIONAL ,
    identity-of-last-reader [10] User-Identity-Attribute OPTIONAL ,
    identity-of-last-attribute-modifier [11] User-Identity-Attribute OPTIONAL ,
    file-availability [12] File-Availability-Attribute OPTIONAL ,
    filesize [13] Filesize-Attribute OPTIONAL ,
    future-filesize [14] Filesize-Attribute OPTIONAL ,
    access-control [15] Access-Control-Attribute OPTIONAL ,
    legal-qualification [16] Legal-Qualification-Attribute OPTIONAL ,
    private-use [17] Private-Use-Attribute OPTIONAL }

Select-Attributes ::= [APPLICATION 19] SEQUENCE
  { filename [0] IMPLICIT Filename-Attribute }

Shared-ASE-Information ::= [APPLICATION 20] IMPLICIT EXTERNAL

State-Result ::= [APPLICATION 21] IMPLICIT INTEGER { success (0) ,
                                                     failure (1) }

User-Identity ::= [APPLICATION 22] IMPLICIT GraphicString

Access-Control-Attribute ::= CHOICE
  { no-value-available [0] IMPLICIT NULL ,
    actual-values [1] IMPLICIT SET OF Access-Control-Element }

Access-Control-Change-Attribute ::= CHOICE
  { no-value-available [0] IMPLICIT NULL ,
    actual-values [1] IMPLICIT SEQUENCE
      { insert-values [0] IMPLICIT SET OF Access-Control-Element OPTIONAL ,
        delete-values [1] IMPLICIT SET OF Access-Control-Element OPTIONAL } }

Access-Control-Element ::= SEQUENCE
  { action-list [0] IMPLICIT Access-Request ,
    concurrency-access [1] IMPLICIT Concurrency-Access OPTIONAL ,
    identity [2] IMPLICIT User-Identity OPTIONAL ,
    passwords [3] IMPLICIT Access-Passwords OPTIONAL ,
    location [4] IMPLICIT Application-Entity-Title OPTIONAL }

Concurrency-Access ::= SEQUENCE
  { read [0] IMPLICIT Concurrency-Key ,
    insert [1] IMPLICIT Concurrency-Key ,
    replace [2] IMPLICIT Concurrency-Key ,
    extend [3] IMPLICIT Concurrency-Key ,
    erase [4] IMPLICIT Concurrency-Key ,
    read-attribute [5] IMPLICIT Concurrency-Key ,
    change-attribute [6] IMPLICIT Concurrency-Key ,
    delete-file [7] IMPLICIT Concurrency-Key }

Concurrency-Key ::= BIT STRING { not-required (0) ,
                                 shared (1) ,
                                 exclusive (2) ,
                                 no-access (3) }

Account-Attribute ::= CHOICE
  { no-value-available [0] IMPLICIT NULL ,
    actual-values Account }

Contents-Type-Attribute ::= CHOICE
  { document-type [0] IMPLICIT SEQUENCE
      { document-type-name Document-Type-Name ,
        parameter ANY OPTIONAL } ,
    constraint-set-and-abstract-syntax [1] IMPLICIT SEQUENCE
      { constraint-set-name Constraint-Set-Name ,
        abstract-syntax-name Abstract-Syntax-Name } }

Date-and-Time-Attribute ::= CHOICE
  { no-value-available [0] IMPLICIT NULL ,
    actual-values [1] IMPLICIT GeneralizedTime }

File-Availability-Attribute ::= CHOICE
  { no-value-available [0] IMPLICIT NULL ,
    actual-values [1] IMPLICIT INTEGER { immediate-availability (0) ,
                                         deferred-availability (1) } }

Filename-Attribute ::= SEQUENCE OF GraphicString

Filesize-Attribute ::= CHOICE
  { no-value-available [0] IMPLICIT NULL ,
    actual-values [1] IMPLICIT INTEGER }

Legal-Qualification-Attribute ::= CHOICE
  { no-value-available [0] IMPLICIT NULL ,
    actual-values [1] IMPLICIT GraphicString }

Permitted-Actions-Attribute ::= BIT STRING { read (0) ,
                                             insert (1) ,
                                             replace (2) ,
                                             extend (3) ,
                                             erase (4) ,
                                             read-attribute (5) ,
                                             change-attribute (6) ,
                                             delete-file (7) ,
                                             traversal (8) ,
                                             reverse-traversal (9) ,
                                             random-order (10) }

Private-Use-Attribute ::= CHOICE
  { no-value-available [0] IMPLICIT NULL ,
    abstract-syntax-not-supported [1] IMPLICIT NULL ,
    actual-values [2] IMPLICIT EXTERNAL }

User-Identity-Attribute ::= CHOICE
  { no-value-available [0] IMPLICIT NULL ,
    actual-values User-Identity }

END