|
|
1.1 root 1: -- ftam.py - FTAM PDU definitions
2: -- lifted directly from ISO8571-4
3: --
4: -- Two kinds of changes to the ASN.1
5: -- - more commentary-tags for POSY
6: -- - minor patches for POSY
7:
8: -- $Header: /f/osi/ftam/RCS/ftam.py,v 7.1 90/03/23 10:53:44 mrose Exp $
9: --
10: --
11: -- $Log: ftam.py,v $
12: -- Revision 7.1 90/03/23 10:53:44 mrose
13: -- update
14: --
15: -- Revision 7.0 89/11/23 21:53:16 mrose
16: -- Release 6.0
17: --
18:
19: --
20: -- NOTICE
21: --
22: -- Acquisition, use, and distribution of this module and related
23: -- materials are subject to the restrictions of a license agreement.
24: -- Consult the Preface in the User's Manual for the full terms of
25: -- this agreement.
26: --
27: --
28:
29:
30: --* ISO8571-FTAM *-- FTAM DEFINITIONS ::=
31:
32: %{
33: #ifndef lint
34: static char *rcsid = "$Header: /f/osi/ftam/RCS/ftam.py,v 7.1 90/03/23 10:53:44 mrose Exp $";
35: #endif
36: %}
37:
38: BEGIN
39:
40: PDU ::=
41: CHOICE {
42: ftam-regime-pdu --* *--
43: FTAM-Regime-PDU,
44:
45: file-pdu --* *--
46: File-PDU,
47:
48: bulk-data-pdu --* *--
49: Bulk-Data-PDU
50: }
51:
52:
53: -- FTAM regime PDUs
54:
55: FTAM-Regime-PDU ::=
56: CHOICE {
57: f-initialize-request[0]
58: IMPLICIT F-INITIALIZE-request,
59:
60: f-initialize-response[1]
61: IMPLICIT F-INITIALIZE-response,
62:
63: f-terminate-request[2]
64: IMPLICIT F-TERMINATE-request,
65:
66: f-terminate-response[3]
67: IMPLICIT F-TERMINATE-response,
68:
69: f-u-abort-request[4]
70: IMPLICIT F-U-ABORT-request,
71:
72: f-p-abort-request[5]
73: IMPLICIT F-P-ABORT-request
74: }
75:
76: F-INITIALIZE-request ::=
77: SEQUENCE {
78: protocol-version
79: Protocol-Version
80: DEFAULT { version-1 },
81:
82: implementation-information
83: Implementation-Information
84: OPTIONAL,
85:
86: presentation-context-management[2]
87: IMPLICIT BOOLEAN
88: DEFAULT FALSE,
89:
90: service-class
91: Service-Class
92: DEFAULT { transfer-class },
93: -- only the valid combinations as specified in ISO 8571-3
94: -- are allowed
95:
96: functional-units
97: Functional-Units,
98:
99: attribute-groups
100: Attribute-Groups
101: DEFAULT {},
102:
103: shared-ASE-information
104: Shared-ASE-Information
105: OPTIONAL,
106:
107: ftam-quality-of-service
108: FTAM-Quality-Of-Service,
109:
110: contents-type-list
111: Contents-Type-List
112: OPTIONAL,
113:
114: initiator-identity
115: User-Identity
116: OPTIONAL,
117:
118: account
119: Account
120: OPTIONAL,
121:
122: filestore-password
123: Password
124: OPTIONAL,
125:
126: checkpoint-window[8]
127: IMPLICIT INTEGER
128: DEFAULT 1
129: }
130:
131: F-INITIALIZE-response ::=
132: SEQUENCE {
133: state-result
134: State-Result
135: DEFAULT success,
136:
137: action-result
138: Action-Result
139: DEFAULT success,
140:
141: protocol-version
142: Protocol-Version
143: DEFAULT { version-1 },
144:
145: implementation-information
146: Implementation-Information
147: OPTIONAL,
148:
149: presentation-context-management[2]
150: IMPLICIT BOOLEAN
151: DEFAULT FALSE,
152:
153: service-class
154: Service-Class
155: DEFAULT { transfer-class },
156: -- only the valid combinations as specified in ISO 8571-3
157: -- are allowed
158:
159: functional-units
160: Functional-Units,
161:
162: attribute-groups
163: Attribute-Groups
164: DEFAULT {},
165:
166: shared-ASE-information
167: Shared-ASE-Information
168: OPTIONAL,
169:
170: ftam-quality-of-service
171: FTAM-Quality-Of-Service,
172:
173: contents-type-list
174: Contents-Type-List
175: OPTIONAL,
176:
177: diagnostic
178: Diagnostic
179: OPTIONAL,
180:
181: checkpoint-window[8]
182: IMPLICIT INTEGER
183: DEFAULT 1
184: }
185:
186: Protocol-Version ::=
187: [0]
188: IMPLICIT BIT STRING {
189: version-1(0)
190: }
191:
192: Implementation-Information ::=
193: [1]
194: IMPLICIT GraphicString
195: -- this parameter is provided solely for the convenience of
196: -- implementors needing to distinguish between implementations of a
197: -- specific version number on different equipment, it shall not be
198: -- the subject of conformance test
199:
200: Service-Class ::=
201: [3]
202: IMPLICIT BIT STRING {
203: unconstrained-class(0),
204: management-class(1),
205: transfer-class(2),
206: transfer-and-management-class(3),
207: access-class(4)
208: }
209:
210: Functional-Units ::=
211: [4]
212: IMPLICIT BIT STRING {
213: read(2),
214: write(3),
215: file-access(4),
216: limited-file-management(5),
217: enhanced-file-management(6),
218: grouping(7),
219: fadu-locking(8),
220: recovery(9),
221: restart-data-transfer(10)
222: }
223: -- values 2 to 10 are chosen to align with numbering scheme used in
224: -- ISO8571-2
225:
226: Attribute-Groups ::=
227: [5]
228: IMPLICIT BIT STRING {
229: storage(0),
230: security(1),
231: private(2)
232: }
233:
234: FTAM-Quality-Of-Service ::=
235: [6]
236: IMPLICIT INTEGER {
237: no-recovery(0),
238: class-1-recovery(1),
239: class-2-recovery(2),
240: class-3-recovery(3)
241: }
242:
243: Contents-Type-List ::=
244: [7]
245: IMPLICIT SEQUENCE OF
246: --* CHOICE { *--
247: --* document-type-name *--
248: Document-Type-Name --* , *--
249:
250: --* abstract-syntax-name
251: --* Abstract-Syntax-Name
252: --* } *--
253:
254: F-TERMINATE-request ::=
255: SEQUENCE {
256: shared-ASE-information
257: Shared-ASE-Information
258: OPTIONAL
259: }
260:
261: F-TERMINATE-response ::=
262: SEQUENCE {
263: shared-ASE-information
264: Shared-ASE-Information
265: OPTIONAL,
266:
267: charging
268: Charging
269: OPTIONAL
270: }
271:
272: F-U-ABORT-request ::=
273: SEQUENCE {
274: action-result
275: Action-Result
276: DEFAULT success,
277:
278: diagnostic
279: Diagnostic
280: OPTIONAL
281: }
282:
283: F-P-ABORT-request ::=
284: SEQUENCE {
285: action-result
286: Action-Result
287: DEFAULT success,
288:
289: diagnostic
290: Diagnostic
291: OPTIONAL
292: }
293:
294:
295: -- File selection and file open regime PDUs
296:
297: File-PDU ::=
298: CHOICE {
299: f-select-request[6]
300: IMPLICIT F-SELECT-request,
301:
302: f-select-response[7]
303: IMPLICIT F-SELECT-response,
304:
305: f-deselect-request[8]
306: IMPLICIT F-DESELECT-request,
307:
308: f-deselect-response[9]
309: IMPLICIT F-DESELECT-response,
310:
311: f-create-request[10]
312: IMPLICIT F-CREATE-request,
313:
314: f-create-response[11]
315: IMPLICIT F-CREATE-response,
316:
317: f-delete-request[12]
318: IMPLICIT F-DELETE-request,
319:
320: f-delete-response[13]
321: IMPLICIT F-DELETE-response,
322:
323: f-read-attrib-request[14]
324: IMPLICIT F-READ-ATTRIB-request,
325:
326: f-read-attrib-response[15]
327: IMPLICIT F-READ-ATTRIB-response,
328:
329: f-change-attrib-request[16]
330: IMPLICIT F-CHANGE-ATTRIB-request,
331:
332: f-change-attrib-response[17]
333: IMPLICIT F-CHANGE-ATTRIB-response,
334:
335: f-open-request[18]
336: IMPLICIT F-OPEN-request,
337:
338: f-open-response[19]
339: IMPLICIT F-OPEN-response,
340:
341: f-close-request[20]
342: IMPLICIT F-CLOSE-request,
343:
344: f-close-response[21]
345: IMPLICIT F-CLOSE-response,
346:
347: f-begin-group-request[22]
348: IMPLICIT F-BEGIN-GROUP-request,
349:
350: f-begin-group-response[23]
351: IMPLICIT F-BEGIN-GROUP-response,
352:
353: f-end-group-request[24]
354: IMPLICIT F-END-GROUP-request,
355:
356: f-end-group-response[25]
357: IMPLICIT F-END-GROUP-response,
358:
359: f-recover-request[26]
360: IMPLICIT F-RECOVER-request,
361:
362: f-recover-response[27]
363: IMPLICIT F-RECOVER-response,
364:
365: f-locate-request[28]
366: IMPLICIT F-LOCATE-request,
367:
368: f-locate-response[29]
369: IMPLICIT F-LOCATE-response,
370:
371: f-erase-request[30]
372: IMPLICIT F-ERASE-request,
373:
374: f-erase-response[31]
375: IMPLICIT F-ERASE-response
376: }
377:
378: F-SELECT-request ::=
379: SEQUENCE {
380: attributes
381: Select-Attributes,
382:
383: requested-access
384: Access-Request,
385:
386: access-passwords
387: Access-Passwords
388: OPTIONAL,
389:
390: concurrency-control
391: Concurrency-Control
392: OPTIONAL,
393:
394: shared-ASE-information
395: Shared-ASE-Information
396: OPTIONAL,
397:
398: account
399: Account
400: OPTIONAL
401: }
402:
403: F-SELECT-response ::=
404: SEQUENCE {
405: state-result
406: State-Result
407: DEFAULT success,
408:
409: action-result
410: Action-Result
411: DEFAULT success,
412:
413: attributes
414: Select-Attributes,
415:
416: shared-ASE-information
417: Shared-ASE-Information
418: OPTIONAL,
419:
420: diagnostic
421: Diagnostic
422: OPTIONAL
423: }
424:
425: F-DESELECT-request ::=
426: SEQUENCE {
427: shared-ASE-information
428: Shared-ASE-Information
429: OPTIONAL
430: }
431:
432: F-DESELECT-response ::=
433: SEQUENCE {
434: action-result
435: Action-Result
436: DEFAULT success,
437:
438: charging
439: Charging
440: OPTIONAL,
441: -- present if and only if the account field was present on the
442: -- PDU which established the selection regime
443:
444: shared-ASE-information
445: Shared-ASE-Information
446: OPTIONAL,
447:
448: diagnostic
449: Diagnostic
450: OPTIONAL
451: }
452:
453: F-CREATE-request ::=
454: SEQUENCE {
455: override[0]
456: IMPLICIT INTEGER {
457: create-failure(0),
458: select-old-file(1),
459: delete-and-create-with-old-attributes(2),
460: delete-and-create-with-new-attributes(3)
461: }
462: DEFAULT create-failure,
463:
464: initial-attributes
465: Create-Attributes,
466:
467: create-password
468: Password
469: OPTIONAL,
470: -- present is an additional password to the filestore
471: -- password is required to allow the file creation
472:
473: requested-access
474: Access-Request,
475:
476: access-passwords
477: Access-Passwords
478: OPTIONAL,
479: -- present only if required to satisfy access control
480: -- requirement on existing file
481:
482: concurrency-control
483: Concurrency-Control
484: OPTIONAL,
485:
486: shared-ASE-information
487: Shared-ASE-Information
488: OPTIONAL,
489:
490: account
491: Account
492: OPTIONAL
493: }
494:
495: F-CREATE-response ::=
496: SEQUENCE {
497: state-result
498: State-Result
499: DEFAULT success,
500:
501: action-result
502: Action-Result
503: DEFAULT success,
504:
505: initial-attributes
506: Create-Attributes,
507:
508: shared-ASE-information
509: Shared-ASE-Information
510: OPTIONAL,
511:
512: diagnostic
513: Diagnostic
514: OPTIONAL
515: }
516:
517: F-DELETE-request ::=
518: SEQUENCE {
519: shared-ASE-information
520: Shared-ASE-Information
521: OPTIONAL
522: }
523:
524: F-DELETE-response ::=
525: SEQUENCE {
526: action-result
527: Action-Result
528: DEFAULT success,
529:
530: shared-ASE-information
531: Shared-ASE-Information
532: OPTIONAL,
533:
534: charging
535: Charging
536: OPTIONAL,
537:
538: diagnostic
539: Diagnostic
540: OPTIONAL
541: }
542:
543: F-READ-ATTRIB-request ::=
544: SEQUENCE {
545: attribute-names[0]
546: IMPLICIT Attribute-Names
547: }
548:
549: Attribute-Names ::=
550: BIT STRING {
551: -- Kernel group
552: read-filename(0),
553: read-permitted-actions(1),
554: read-content-types(2),
555: -- Storage group
556: read-storage-account(3),
557: read-date-and-time-of-creation(4),
558: read-date-and-time-of-last-modification(5),
559: read-date-and-time-of-last-read-access(6),
560: read-date-and-time-of-last-attribute-modification(7),
561: read-identity-of-creator(8),
562: read-identity-of-last-modifier(9),
563: read-identity-of-last-reader(10),
564: read-identity-of-last-attribute-modifier(11),
565: read-file-availability(12),
566: read-filesize(13),
567: read-future-filesize(14),
568: -- Security group
569: read-access-control(15),
570: read-legal-qualifications(16),
571: -- Private group
572: read-private-use(17)
573: }
574:
575: F-READ-ATTRIB-response ::=
576: SEQUENCE {
577: action-result
578: Action-Result
579: DEFAULT success,
580:
581: attributes
582: Read-Attributes
583: OPTIONAL,
584: -- Password values within access control can not be read by
585: -- means of the read attribute action. Whether other parts of
586: -- the access control file attribute can be read by means of
587: -- the read attribute is defined locally by the responding
588: -- entity, and it shall not be the subject of conformance test
589:
590: diagnostic
591: Diagnostic
592: OPTIONAL
593: }
594:
595: F-CHANGE-ATTRIB-request ::=
596: SEQUENCE {
597: attributes
598: Change-Attributes
599: }
600:
601: F-CHANGE-ATTRIB-response ::=
602: SEQUENCE {
603: action-result
604: Action-Result
605: DEFAULT success,
606:
607: attributes
608: Change-Attributes
609: OPTIONAL,
610: -- Password values within access control attribute are never
611: -- returned. Other attributes are returned as an
612: -- implementation choice
613:
614: diagnostic
615: Diagnostic
616: OPTIONAL
617: }
618:
619: F-OPEN-request ::=
620: SEQUENCE {
621: processing-mode[0]
622: IMPLICIT BIT STRING {
623: f-read(0),
624: f-insert(1),
625: f-replace(2),
626: f-extend(3),
627: f-erase(4)
628: }
629: DEFAULT { f-read },
630:
631: contents-type[1]
632: CHOICE {
633: unknown[0]
634: IMPLICIT NULL,
635:
636: proposed[1]
637: Contents-Type-Attribute
638: },
639:
640: concurrency-control
641: Concurrency-Control
642: OPTIONAL,
643:
644: shared-ASE-information
645: Shared-ASE-Information
646: OPTIONAL,
647:
648: enable-fadu-locking[2]
649: IMPLICIT BOOLEAN
650: DEFAULT FALSE,
651:
652: activity-identifier
653: Activity-Identifier
654: OPTIONAL,
655: -- only used in the recovery functional unit
656:
657: recovery-mode[3]
658: IMPLICIT INTEGER {
659: none(0),
660: at-start-of-file(1),
661: at-any-active-checkpoint(2)
662: }
663: DEFAULT none,
664:
665: remove-contexts[4]
666: IMPLICIT SET OF
667: Abstract-Syntax-Name
668: OPTIONAL,
669:
670: define-contexts[5]
671: IMPLICIT SET OF
672: Abstract-Syntax-Name
673: OPTIONAL
674: }
675:
676: F-OPEN-response ::=
677: SEQUENCE {
678: state-result
679: State-Result
680: DEFAULT success,
681:
682: action-result
683: Action-Result
684: DEFAULT success,
685:
686: contents-type[1]
687: Contents-Type-Attribute,
688:
689: concurrency-control
690: Concurrency-Control
691: OPTIONAL,
692:
693: shared-ASE-information
694: Shared-ASE-Information
695: OPTIONAL,
696:
697: diagnostic
698: Diagnostic
699: OPTIONAL,
700:
701: recovery-mode[3]
702: IMPLICIT INTEGER {
703: none(0),
704: at-start-of-file(1),
705: at-any-active-checkpoint(2)
706: }
707: DEFAULT none,
708:
709: presentation-action[6]
710: IMPLICIT BOOLEAN
711: DEFAULT FALSE
712: -- this flag is set if the responder is going to follow this
713: -- response by a P-ALTER-CONTEXT exchange
714: }
715:
716: F-CLOSE-request ::=
717: SEQUENCE {
718: action-result
719: Action-Result
720: DEFAULT success,
721:
722: shared-ASE-information
723: Shared-ASE-Information
724: OPTIONAL,
725:
726: diagnostic
727: Diagnostic
728: OPTIONAL
729: }
730:
731: F-CLOSE-response ::=
732: SEQUENCE {
733: action-result
734: Action-Result
735: DEFAULT success,
736:
737: shared-ASE-information
738: Shared-ASE-Information
739: OPTIONAL,
740:
741: diagnostic
742: Diagnostic
743: OPTIONAL
744: }
745:
746: F-BEGIN-GROUP-request ::=
747: SEQUENCE {
748: threshold[0]
749: IMPLICIT INTEGER
750: }
751:
752: F-BEGIN-GROUP-response ::=
753: SEQUENCE {}
754: -- No elements defined, shall be empty
755:
756: F-END-GROUP-request ::=
757: SEQUENCE {}
758: -- No elements defined, shall be empty
759:
760: F-END-GROUP-response ::=
761: SEQUENCE {}
762: -- No elements defined, shall be empty
763:
764: F-RECOVER-request ::=
765: SEQUENCE {
766: activity-identifier
767: Activity-Identifier,
768:
769: bulk-transfer-number[0]
770: IMPLICIT INTEGER,
771:
772: requested-access
773: Access-Request,
774:
775: access-passwords
776: Access-Passwords
777: OPTIONAL,
778:
779: recovery-point[2]
780: IMPLICIT INTEGER
781: DEFAULT 0,
782: -- zero indicates beginning of file
783: -- point after last checkpoint indicates end of file
784:
785: remove-contexts[3]
786: IMPLICIT SET OF
787: Abstract-Syntax-Name
788: OPTIONAL,
789:
790: define-contexts[4]
791: IMPLICIT SET OF
792: Abstract-Syntax-Name
793: OPTIONAL
794: }
795:
796: F-RECOVER-response ::=
797: SEQUENCE {
798: state-result
799: State-Result
800: DEFAULT success,
801:
802: action-result
803: Action-Result
804: DEFAULT success,
805:
806: contents-type[1]
807: Contents-Type-Attribute,
808:
809: recovery-point[2]
810: IMPLICIT INTEGER
811: DEFAULT 0,
812: -- zero indicates beginning of file
813: -- point after last checkpoint indicates end of file
814:
815: diagnostic
816: Diagnostic
817: OPTIONAL,
818:
819: presentation-action[6]
820: IMPLICIT BOOLEAN
821: DEFAULT FALSE
822: -- this flag is set if the responder is going to follow this
823: -- response by a P-ALTER-CONTEXT exchange
824: }
825:
826: F-LOCATE-request ::=
827: SEQUENCE {
828: file-access-data-unit-identity
829: FADU-Identity,
830:
831: fadu-lock
832: FADU-Lock
833: OPTIONAL
834: }
835:
836: F-LOCATE-response ::=
837: SEQUENCE {
838: action-result
839: Action-Result
840: DEFAULT success,
841:
842: file-access-data-unit-identity
843: FADU-Identity
844: OPTIONAL,
845:
846: diagnostic
847: Diagnostic
848: OPTIONAL
849: }
850:
851: F-ERASE-request ::=
852: SEQUENCE {
853: file-access-data-unit-identity
854: FADU-Identity
855: }
856:
857: F-ERASE-response ::=
858: SEQUENCE {
859: action-result
860: Action-Result
861: DEFAULT success,
862:
863: diagnostic
864: Diagnostic
865: OPTIONAL
866: }
867:
868:
869: -- Bulk data transfer PDUs
870:
871: Bulk-Data-PDU ::=
872: CHOICE {
873: f-read-request[32]
874: IMPLICIT F-READ-request,
875:
876: f-write-request[33]
877: IMPLICIT F-WRITE-request,
878:
879: -- there is no F-DATA FPDU, the contents of a file are
880: -- transferred in a different presentation context and there is
881: -- therefore no need to define the types of file contents in
882: -- the FTAM PCI abstract syntax. File contents data are
883: -- carried in the values of the data type Data-Element defined
884: -- in ISO 8571-2
885:
886: f-data-end-request[34]
887: IMPLICIT F-DATA-END-request,
888:
889: f-transfer-end-request[35]
890: IMPLICIT F-TRANSFER-END-request,
891:
892: f-transfer-end-response[36]
893: IMPLICIT F-TRANSFER-END-response,
894:
895: f-cancel-request[37]
896: IMPLICIT F-CANCEL-request,
897:
898: f-cancel-response[38]
899: IMPLICIT F-CANCEL-response,
900:
901: -- there is no F-CHECK PDU
902:
903: f-restart-end-request[39]
904: IMPLICIT F-RESTART-END-request,
905:
906: f-restart-end-response[40]
907: IMPLICIT F-RESTART-END-response
908: }
909:
910: F-READ-request ::=
911: SEQUENCE {
912: file-access-data-unit-identity
913: FADU-Identity,
914:
915: access-context
916: Access-Context,
917:
918: fadu-lock
919: FADU-Lock
920: OPTIONAL
921: }
922:
923: F-WRITE-request ::=
924: SEQUENCE {
925: file-access-data-unit-operation[0]
926: IMPLICIT INTEGER {
927: insert(0),
928: replace(1),
929: extend(2)
930: },
931:
932: file-access-data-unit-identity
933: FADU-Identity,
934:
935: fadu-lock
936: FADU-Lock
937: OPTIONAL
938: }
939:
940: F-DATA-END-request ::=
941: SEQUENCE {
942: action-result
943: Action-Result
944: DEFAULT success,
945:
946: diagnostic
947: Diagnostic
948: OPTIONAL
949: }
950:
951: F-TRANSFER-END-request ::=
952: SEQUENCE {
953: shared-ASE-information
954: Shared-ASE-Information
955: OPTIONAL
956: }
957:
958: F-TRANSFER-END-response ::=
959: SEQUENCE {
960: action-result
961: Action-Result
962: DEFAULT success,
963:
964: shared-ASE-information
965: Shared-ASE-Information
966: OPTIONAL,
967:
968: diagnostic
969: Diagnostic
970: OPTIONAL
971: }
972:
973: F-CANCEL-request ::=
974: SEQUENCE {
975: action-result
976: Action-Result
977: DEFAULT success,
978:
979: shared-ASE-information
980: Shared-ASE-Information
981: OPTIONAL,
982:
983: diagnostic
984: Diagnostic
985: OPTIONAL
986: }
987:
988: F-CANCEL-response ::=
989: SEQUENCE {
990: action-result
991: Action-Result
992: DEFAULT success,
993:
994: shared-ASE-information
995: Shared-ASE-Information
996: OPTIONAL,
997:
998: diagnostic
999: Diagnostic
1000: OPTIONAL
1001: }
1002:
1003: F-RESTART-END-request ::=
1004: SEQUENCE {
1005: checkpoint-identifier[0]
1006: IMPLICIT INTEGER
1007: }
1008:
1009: F-RESTART-END-response ::=
1010: SEQUENCE {
1011: checkpoint-identifier[0]
1012: IMPLICIT INTEGER
1013: }
1014:
1015:
1016: -- application-wide types
1017:
1018: Abstract-Syntax-Name ::=
1019: [APPLICATION 0]
1020: IMPLICIT OBJECT IDENTIFIER
1021:
1022: Access-Context ::=
1023: [APPLICATION 1]
1024: IMPLICIT SEQUENCE {
1025: access-context[0]
1026: IMPLICIT INTEGER {
1027: hierarchical-all-data-units(0), -- HA
1028: hierarchical-no-data-units(1), -- HN
1029: flat-all-data-units(2), -- FA
1030: flat-one-level-units(3), -- FL
1031: flat-single-data-units(4), -- FS
1032: unstructured-all-data-units(5), -- UA
1033: unstructured-single-data-unit(6) -- US
1034: },
1035:
1036: level-number[1]
1037: IMPLICIT INTEGER
1038: OPTIONAL
1039: -- present if and only if flat-one-level-data-units
1040: -- (access context FL) is selected
1041: }
1042: -- as defined in ISO 8571-2
1043:
1044: Access-Passwords ::=
1045: [APPLICATION 2]
1046: IMPLICIT SEQUENCE {
1047: read-password[0]
1048: IMPLICIT Password,
1049:
1050: insert-password[1]
1051: IMPLICIT Password,
1052:
1053: replace-password[2]
1054: IMPLICIT Password,
1055:
1056: extend-password[3]
1057: IMPLICIT Password,
1058:
1059: erase-password[4]
1060: IMPLICIT Password,
1061:
1062: read-attribute-password[5]
1063: IMPLICIT Password,
1064:
1065: change-attribute-password[6]
1066: IMPLICIT Password,
1067:
1068: delete-password[7]
1069: IMPLICIT Password
1070: }
1071:
1072: Access-Request ::=
1073: [APPLICATION 3]
1074: IMPLICIT BIT STRING {
1075: read(0),
1076: insert(1),
1077: replace(2),
1078: extend(3),
1079: erase(4),
1080: read-attribute(5),
1081: change-attribute(6),
1082: delete(7)
1083: }
1084:
1085: Account ::=
1086: [APPLICATION 4]
1087: IMPLICIT GraphicString
1088:
1089: Action-Result ::=
1090: [APPLICATION 5]
1091: IMPLICIT INTEGER {
1092: success(0),
1093: transient-error(1),
1094: permanent-error(2)
1095: }
1096:
1097: Activity-Identifier ::=
1098: [APPLICATION 6]
1099: IMPLICIT INTEGER
1100:
1101: Application-Entity-Title ::=
1102: [APPLICATION 7]
1103: --* ACSE-1 *-- ACS.AE-title
1104:
1105: Change-Attributes ::=
1106: [APPLICATION 8]
1107: IMPLICIT --* SEQUENCE { *-- Read-Attributes
1108: -- Kernel group
1109: --* filename[0] *--
1110: --* IMPLICIT Filename-Attribute *--
1111: --* OPTIONAL, *--
1112:
1113: -- Storage group
1114: --* storage-account[3] *--
1115: --* Account-Attribute *--
1116: --* OPTIONAL, *--
1117:
1118: --* file-availability[12] *--
1119: --* File-Availability-Attribute *--
1120: --* OPTIONAL, *--
1121:
1122: --* future-filesize[14] *--
1123: --* Filesize-Attribute *--
1124: --* OPTIONAL, *--
1125:
1126: -- Security group
1127: --* access-control[15] *--
1128: --* Access-Control-Change-Attribute *--
1129: --* OPTIONAL, *--
1130:
1131: --* legal-qualification[16] *--
1132: --* Legal-Qualification-Attribute *--
1133: --* OPTIONAL, *--
1134:
1135: -- Private group
1136: --* private-use[17] *--
1137: --* Private-Use-Attribute *--
1138: --* OPTIONAL *--
1139: --* } *--
1140:
1141: Charging ::=
1142: [APPLICATION 9]
1143: IMPLICIT SEQUENCE OF
1144: SEQUENCE %[ charge_element $ charge %] {
1145: resource-identifier[0]
1146: IMPLICIT GraphicString,
1147:
1148: charging-unit[1]
1149: IMPLICIT GraphicString,
1150:
1151: charging-value[2]
1152: IMPLICIT INTEGER
1153: }
1154:
1155: Concurrency-Control ::=
1156: [APPLICATION 10]
1157: IMPLICIT SEQUENCE {
1158: read[0]
1159: IMPLICIT Lock,
1160:
1161: insert[1]
1162: IMPLICIT Lock,
1163:
1164: replace[2]
1165: IMPLICIT Lock,
1166:
1167: extend[3]
1168: IMPLICIT Lock,
1169:
1170: erase[4]
1171: IMPLICIT Lock,
1172:
1173: read-attribute[5]
1174: IMPLICIT Lock,
1175:
1176: change-attribute[6]
1177: IMPLICIT Lock,
1178:
1179: delete[7]
1180: IMPLICIT Lock
1181: }
1182:
1183: Lock ::=
1184: INTEGER {
1185: not-required(0),
1186: shared(1),
1187: exclusive(2),
1188: no-access(3)
1189: }
1190:
1191: Constraint-Set-Name ::=
1192: [APPLICATION 11]
1193: IMPLICIT OBJECT IDENTIFIER
1194:
1195: Create-Attributes ::=
1196: [APPLICATION 12]
1197: IMPLICIT --* SEQUENCE { *-- Read-Attributes
1198: -- Kernel group
1199: --* filename[0] *--
1200: --* IMPLICIT Filename-Attribute, *--
1201:
1202: --* permitted-actions[1] *--
1203: --* IMPLICIT Permitted-Actions-Attribute, *--
1204:
1205: --* contents-type[2] *--
1206: --* Contents-Type-Attribute, *--
1207:
1208: -- Storage group
1209: --* storage-account[3] *--
1210: --* Account-Attribute *--
1211: --* OPTIONAL, *--
1212:
1213: --* file-availability[12] *--
1214: --* File-Availability-Attribute *--
1215: --* OPTIONAL, *--
1216:
1217: --* future-filesize[14] *--
1218: --* Filesize-Attribute *--
1219: --* OPTIONAL, *--
1220:
1221: -- Security group
1222: --* access-control[15] *--
1223: --* Access-Control-Change-Attribute *--
1224: --* OPTIONAL, *--
1225:
1226: --* legal-qualification[16] *--
1227: --* Legal-Qualification-Attribute *--
1228: --* OPTIONAL, *--
1229:
1230: -- Private group
1231: --* private-use[17] *--
1232: --* Private-Use-Attribute *--
1233: --* OPTIONAL *--
1234: --* } *--
1235:
1236: Diagnostic ::=
1237: [APPLICATION 13]
1238: IMPLICIT SEQUENCE OF
1239: SEQUENCE %[ diag_element $ diagnostic %] {
1240: diagnostic-type[0]
1241: IMPLICIT INTEGER {
1242: informative(0),
1243: transient(1),
1244: permanent(2)
1245: },
1246:
1247: error-identifier[1]
1248: IMPLICIT INTEGER,
1249: -- as defined in ISO 8571-3
1250:
1251: error-observer[2]
1252: IMPLICIT Entity-Reference,
1253:
1254: error-source[3]
1255: IMPLICIT Entity-Reference,
1256:
1257: suggested-delay[4]
1258: IMPLICIT INTEGER
1259: OPTIONAL,
1260:
1261: further-details[5]
1262: IMPLICIT GraphicString
1263: OPTIONAL
1264: }
1265:
1266: Entity-Reference ::=
1267: INTEGER {
1268: no-categorization-possible(0),
1269: initiating-file-service-user(1),
1270: initiating-file-protocol-machine(2),
1271: service-supporting-the-file-protocol-machine(3),
1272: responding-file-protocol-machine(4),
1273: responding-file-service-user(5)
1274: }
1275: -- Note
1276: -- 1. The values 0 and 3 are only valid as values in error-source
1277: --
1278: -- 2. The vaule 5 corresponds to the virtual filestore
1279:
1280: Document-Type-Name ::=
1281: [APPLICATION 14]
1282: IMPLICIT OBJECT IDENTIFIER
1283:
1284: FADU-Identity ::=
1285: [APPLICATION 15]
1286: CHOICE {
1287: first-last[0]
1288: IMPLICIT INTEGER {
1289: first(0),
1290: last(1)
1291: },
1292:
1293: relative[1]
1294: IMPLICIT INTEGER {
1295: previous(0),
1296: current(1),
1297: next(2)
1298: },
1299:
1300: begin-end[2]
1301: IMPLICIT INTEGER {
1302: begin(0),
1303: end(1)
1304: },
1305:
1306: single-name[3]
1307: IMPLICIT Node-Name,
1308:
1309: name-list[4]
1310: IMPLICIT SEQUENCE OF %[ name_element %]
1311: Node-Name,
1312:
1313: fadu-number[5]
1314: IMPLICIT INTEGER
1315: }
1316:
1317: Node-Name ::=
1318: --* EXTERNAL *-- FADU.Node-Name
1319: -- the type to be used for Node-Name is defined in ISO8571-FADU
1320:
1321: FADU-Lock ::=
1322: [APPLICATION 16]
1323: IMPLICIT INTEGER {
1324: off(0),
1325: on(1)
1326: }
1327:
1328: Password ::=
1329: [APPLICATION 17]
1330: CHOICE {
1331: graphic --* *--
1332: GraphicString,
1333:
1334: binary --* *--
1335: OCTET STRING
1336: }
1337:
1338: Read-Attributes ::=
1339: [APPLICATION 18]
1340: IMPLICIT SEQUENCE {
1341: -- Kernel group
1342: filename[0]
1343: IMPLICIT Filename-Attribute
1344: OPTIONAL,
1345:
1346: permitted-actions[1]
1347: IMPLICIT Permitted-Actions-Attribute
1348: OPTIONAL,
1349:
1350: contents-type[2]
1351: Contents-Type-Attribute
1352: OPTIONAL,
1353:
1354: -- Storage group
1355: storage-account[3]
1356: Account-Attribute
1357: OPTIONAL,
1358:
1359: date-and-time-of-creation[4]
1360: Date-and-Time-Attribute
1361: OPTIONAL,
1362:
1363: date-and-time-of-last-modification[5]
1364: Date-and-Time-Attribute
1365: OPTIONAL,
1366:
1367: date-and-time-of-last-read-access[6]
1368: Date-and-Time-Attribute
1369: OPTIONAL,
1370:
1371: date-and-time-of-last-attribute-modification[7]
1372: Date-and-Time-Attribute
1373: OPTIONAL,
1374:
1375: identity-of-creator[8]
1376: User-Identity-Attribute
1377: OPTIONAL,
1378:
1379: identity-of-last-modifier[9]
1380: User-Identity-Attribute
1381: OPTIONAL,
1382:
1383: identity-of-last-reader[10]
1384: User-Identity-Attribute
1385: OPTIONAL,
1386:
1387: identity-of-last-attribute-modifier[11]
1388: User-Identity-Attribute
1389: OPTIONAL,
1390:
1391: file-availability[12]
1392: File-Availability-Attribute
1393: OPTIONAL,
1394:
1395: filesize[13]
1396: Filesize-Attribute
1397: OPTIONAL,
1398:
1399: future-filesize[14]
1400: Filesize-Attribute
1401: OPTIONAL,
1402:
1403: -- Security group
1404: access-control[15]
1405: Access-Control-Attribute
1406: OPTIONAL,
1407:
1408: legal-qualification[16]
1409: Legal-Qualification-Attribute
1410: OPTIONAL,
1411:
1412: -- Private group
1413: private-use[17]
1414: Private-Use-Attribute
1415: OPTIONAL
1416: }
1417:
1418: Select-Attributes ::=
1419: [APPLICATION 19]
1420: IMPLICIT --* SEQUENCE { *-- Read-Attributes
1421: -- Kernel group
1422: --* filename[0] *--
1423: --* IMPLICIT Filename-Attribute *--
1424: --* } *--
1425:
1426: Shared-ASE-Information ::=
1427: [APPLICATION 20]
1428: IMPLICIT EXTERNAL
1429:
1430: State-Result ::=
1431: [APPLICATION 21]
1432: IMPLICIT INTEGER {
1433: success(0),
1434: failure(1)
1435: }
1436:
1437: User-Identity ::=
1438: [APPLICATION 22]
1439: IMPLICIT GraphicString
1440:
1441:
1442: -- file attribute types
1443:
1444: Access-Control-Attribute ::=
1445: CHOICE {
1446: no-value-available[0]
1447: IMPLICIT NULL,
1448: -- indicates partial support of this attribute.
1449: -- this value shall only appear in response PDUs
1450:
1451: actual-values[1]
1452: IMPLICIT --* SET OF *-- Access-Control-List
1453: --* Access-Control-Element
1454: }
1455: -- the semantics of this attribute is described in ISO 8571-2
1456:
1457: Access-Control-Change-Attribute ::=
1458: CHOICE {
1459: no-value-available[0]
1460: IMPLICIT NULL,
1461: -- indicates partial support of this attribute.
1462: -- this value shall only appear in response PDUs
1463:
1464: actual-values[1]
1465: IMPLICIT SEQUENCE {
1466: insert-values[0]
1467: IMPLICIT --* SET OF *-- Access-Control-List
1468: --* Access-Control-Element
1469: OPTIONAL,
1470: -- this field is used by the change attribute action to
1471: -- indicate new values to be inserted in the access
1472: -- control file attribute
1473:
1474: delete-values[1]
1475: IMPLICIT --* SET OF *-- Access-Control-List
1476: --* Access-Control-Element
1477: OPTIONAL
1478: -- this field is used by the change attribute action to
1479: -- indicate old values to be removed in the access
1480: -- control file attribute
1481: }
1482: }
1483:
1484: Access-Control-List ::= --* *--
1485: SET OF --* *--
1486: Access-Control-Element --* *--
1487:
1488: Access-Control-Element ::=
1489: SEQUENCE {
1490: action-list[0]
1491: IMPLICIT Access-Request,
1492:
1493: concurrency-access[1]
1494: IMPLICIT Concurrency-Access
1495: OPTIONAL,
1496:
1497: identity[2]
1498: IMPLICIT User-Identity
1499: OPTIONAL,
1500:
1501: passwords[3]
1502: IMPLICIT Access-Passwords
1503: OPTIONAL,
1504:
1505: location[4]
1506: IMPLICIT Application-Entity-Title
1507: OPTIONAL
1508: }
1509:
1510: Concurrency-Access ::=
1511: SEQUENCE {
1512: read[0]
1513: IMPLICIT Concurrency-Key,
1514:
1515: insert[1]
1516: IMPLICIT Concurrency-Key,
1517:
1518: replace[2]
1519: IMPLICIT Concurrency-Key,
1520:
1521: extend[3]
1522: IMPLICIT Concurrency-Key,
1523:
1524: erase[4]
1525: IMPLICIT Concurrency-Key,
1526:
1527: read-attribute[5]
1528: IMPLICIT Concurrency-Key,
1529:
1530: change-attribute[6]
1531: IMPLICIT Concurrency-Key,
1532:
1533: delete[7]
1534: IMPLICIT Concurrency-Key
1535: }
1536:
1537: Concurrency-Key ::=
1538: BIT STRING {
1539: not-required(0),
1540: shared(1),
1541: exclusive(2),
1542: no-access(3)
1543: }
1544:
1545: Account-Attribute ::=
1546: CHOICE {
1547: no-value-available[0]
1548: IMPLICIT NULL,
1549: -- indicates partial support of this attribute.
1550: -- this value shall only appear in response PDUs
1551:
1552: actual-values
1553: Account
1554: }
1555:
1556: Contents-Type-Attribute ::=
1557: --* CHOICE { *--
1558: --* document-type *--[0]
1559: IMPLICIT SEQUENCE {
1560: document-type-name
1561: Document-Type-Name,
1562:
1563: parameter[0]
1564: ANY
1565: OPTIONAL
1566: } --* , *--
1567: -- the actual types to be used for values of the parameter
1568: -- field are defined in the named document type
1569:
1570: --* constraint-set-and-abstract-syntax[1] *--
1571: --* IMPLICIT SEQUENCE { *--
1572: --* constraint-set-name *--
1573: --* Constraint-Set-Name, *--
1574:
1575: --* abstract-syntax-name *--
1576: --* Abstract-Syntax-Name *--
1577: --* } *--
1578: --* } *--
1579:
1580: Date-and-Time-Attribute ::=
1581: CHOICE {
1582: no-value-available[0]
1583: IMPLICIT NULL,
1584: -- indicates partial support of this attribute.
1585: -- this value shall only appear in response PDUs
1586:
1587: actual-values[1]
1588: IMPLICIT GeneralizedTime
1589: }
1590:
1591: File-Availability-Attribute ::=
1592: CHOICE {
1593: no-value-available[0]
1594: IMPLICIT NULL,
1595: -- indicates partial support of this attribute.
1596: -- this value shall only appear in response PDUs
1597:
1598: actual-values[1]
1599: IMPLICIT INTEGER {
1600: immediate-availability(0),
1601: deferred-availability(1)
1602: }
1603: }
1604:
1605: Filename-Attribute ::=
1606: SEQUENCE OF
1607: GraphicString
1608:
1609: Filesize-Attribute ::=
1610: CHOICE {
1611: no-value-available[0]
1612: IMPLICIT NULL,
1613: -- indicates partial support of this attribute.
1614: -- this value shall only appear in response PDUs
1615:
1616: actual-values[1]
1617: IMPLICIT INTEGER
1618: }
1619:
1620: Legal-Qualification-Attribute ::=
1621: CHOICE {
1622: no-value-available[0]
1623: IMPLICIT NULL,
1624: -- indicates partial support of this attribute.
1625: -- this value shall only appear in response PDUs
1626:
1627: actual-values[1]
1628: IMPLICIT GraphicString
1629: }
1630:
1631: Permitted-Actions-Attribute ::=
1632: BIT STRING {
1633: read(0),
1634: insert(1),
1635: replace(2),
1636: extend(3),
1637: erase(4),
1638: read-attribute(5),
1639: change-attribute(6),
1640: delete-file(7),
1641: -- FADU-Identity groups available
1642: traversal(8),
1643: reverse-traversal(9),
1644: random-order(10)
1645: }
1646:
1647: Private-Use-Attribute ::=
1648: CHOICE {
1649: no-value-available[0]
1650: IMPLICIT NULL,
1651: -- indicates partial support of this attribute.
1652: -- this value shall only appear in response PDUs
1653:
1654: abstract-syntax-not-supported[1]
1655: IMPLICIT NULL,
1656: -- indicates that abstract syntax is not available
1657:
1658: actual-values[2]
1659: IMPLICIT EXTERNAL
1660: }
1661:
1662: User-Identity-Attribute ::=
1663: CHOICE {
1664: no-value-available[0]
1665: IMPLICIT NULL,
1666: -- indicates partial support of this attribute.
1667: -- this value shall only appear in response PDUs
1668:
1669: actual-values
1670: User-Identity
1671: }
1672:
1673: END
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.