Revert "TODO epan/dissectors/asn1/kerberos/packet-kerberos-template.c new GSS flags"
[wireshark-sm.git] / epan / dissectors / asn1 / atn-ulcs / atn-ulcs.asn
blobde9b94e6043e88f0db4b9b828d48acd7ce104ae7
1 -- File: atn-ulcs.asn
2 -- Sub-Volume IV ASN.1 reference definitions for ICAO Doc. 9705,
3 -- Second Edition
4 -- Version 1.1, 03 Oct 2001
6 -- The majority of the ULCS protocol definitions are specified in the ULCS
7 -- Technical Provisions by reference to ISO/IEC Standards and/or ITU-T
8 -- Recommendations.  The ASN.1 definitions are reproduced here for ease of
9 -- reference and to allow explanatory annotations to be added. In the case of
10 -- any discrepancy between the definitions here and the corresponding
11 -- definitions defined in or referenced by the ULCS Technical Provisions,
12 -- the latter are assumed to take precedence.
14 -- The following ASN.1 modules are included here:
16 -- * General ULCS types.  These are ASN.1 definitions used in the ULCS
17 -- Technical Provisions, though there is no equivalent ASN.1 module
18 -- defined there.  The definitions in this module would generally be
19 -- incorporated into a wider "user" protocol module if using ASN.1 automated
20 -- tools.  They are defined in a separate module here so that their syntax can
21 -- easily be verified by an ASN.1 syntax checker.
23 -- * Connection-oriented ACSE definitions.  This is equivalent to the "ACSE-1"
24 -- module defined in the connection-oriented ACSE protocol standard.
26 -- * Information Framework.  This is an extract of relevant definitions from the
27 -- InformationFramework module in the OSI standard "Directory : Models".  The
28 -- types defined in this module are not actively used in the ULCS protocol, but
29 -- they are needed to satisfy IMPORTS statements in the ACSE definitions, and
30 -- to allow certain CHOICE types in the ACSE definitions to be sorted correctly
31 -- into canonical order.
34 -- Note.- In the following definitions, the ASN.1 comment " X" indicates
35 -- choice elements and optional elements in sequence types that are defined as
36 -- "Excluded" in the ULCS profile.  That is, implementations of ULCS provisions
37 -- are never required to encode values for such elements (though they are
38 -- required to indicate the absence of these elements in all instances, by means
39 -- of bits in the appropriate PER preamble or choice index).
42 -- General ULCS types
44 ULCS DEFINITIONS ::= BEGIN
45 --  ***************************************************************************
46 --  The following ASN.1 definitions are from Doc 9705 Sub-Volume IV,
47 --  section 4.3.2.6.2
48 --  ***************************************************************************
50 --Presentation User Data is Fully-encoded-data from
51 --ISO/IEC 8823-1:1994/Amd.1:1997 | ITU-T Rec. X.226/Amd. 1
53 --Fully-encoded-data ::= SEQUENCE SIZE (1, ...) OF PDV-list
54 Fully-encoded-data ::= SEQUENCE SIZE (1, ..., 2..MAX) OF PDV-list
55 -- contains one or more presentation-data-value-list (PDV-list) values
56 -- ATN commentary: The SIZE constraint above differs from the referenced
57 -- standard, which specifies (in 8.2):
58 -- Fully-encoded-data ::= SEQUENCE SIZE (1, ..., 2..MAX) OF PDV-list.
59 -- The ULCS provisions specify a simplified, but compatible, efficiency
60 -- constraint as there will never be more than one element in the SEQUENCE OF
61 -- for the foreseeable future.
62 -- This simplifies matters for some compilers.
64 PDV-list ::= SEQUENCE  {
65     transfer-syntax-name              Transfer-syntax-name OPTIONAL,       -- X
66     presentation-context-identifier   Presentation-context-identifier,
67     presentation-data-values          CHOICE
68     { single-ASN1-type  [0] ABSTRACT-SYNTAX.&Type
69         (CONSTRAINED BY {
70         -- Type corresponding to presentation context identifier -- }) , -- X
71             octet-aligned  [1] IMPLICIT OCTET STRING,    -- X
72             arbitrary      [2] IMPLICIT BIT STRING }
73     -- contains one or more presentation data values from the same
74     -- presentation context.
75     -- ATN Commentary: only the arbitrary BIT STRING encoding choice is used.
78 Transfer-syntax-name ::= OBJECT IDENTIFIER -- ATN: not used for ATN Upper Layers
80 Presentation-context-identifier::= INTEGER  -- ATN: the following values are
81                                             -- ATN-specific
82 {   acse-apdu     (1),
83     reserved      (2),
84     user-ase-apdu (3) } (1..127, ... )
85 -- ATN commentary: The SIZE constraint above differs from the referenced
86 -- standard, which specifies (in 8.2):
87 -- Presentation-context-identifier::= INTEGER (1..127, ..., 128..MAX ).
88 -- The ULCS provisions specify a simplified, but compatible, efficiency
89 -- constraint as there will never be more than 127 presentation contexts in
90 -- ATN for the foreseeable future.
91 -- This simplifies matters for some compilers.  The list of defined values is
92 -- shown here for guidance only, and has no effect on the PER encoding.
95 END -- of ULCS definitions
97 --  Connection-oriented ACSE definitions
98 --*************************************************************************
99 -- The ACSE abstract syntax from ISO/IEC 8650-1/Amd.1 | ITU-T Rec. X.227/
100 -- Amd. 1 is reproduced here for ease of reference.  In case of any discrepancy,
101 -- the ISO/IEC standard takes precedence.
102 --*************************************************************************
104 ACSE-1 {joint-iso-itu-t association-control(2) modules(0) apdus(0) version1(1)}
105 --  ACSE-1 refers to ACSE version 1
106 DEFINITIONS ::=
107 BEGIN
108     EXPORTS
109       acse-as-id, ACSE-apdu, aCSE-id, Application-context-name, AP-title,
110       AE-qualifier, -- AE-title, (ATN: AE-title is not needed)
111       AP-invocation-identifier,
112       AE-invocation-identifier, Mechanism-name, Authentication-value,
113       ACSE-requirements;
114     IMPORTS    Name, RelativeDistinguishedName
115       FROM InformationFramework
116         { joint-iso-ccitt ds(5) module(1) informationFramework(1)  2 };
117       -- The data types Name and RelativeDistinguishedName are imported
118       -- from ISO/IEC 9594-2 | ITU-T Rec. X.501.
119       -- ATN Commentary: The relevant InformationFramework extracts are given
120       -- below.
122 -- *************************************************************************
123 --  EXTERNAL
124 -- *************************************************************************
126 -- EXTERNAL is an ASN.1 UNIVERSAL type.  The definition in the PER standard
127 -- ISO/IEC 8825-2 | ITU-T Rec. X.691 is assumed for ACSE.
128 -- The type is used in ACSE user-information
129 -- fields.  ASN.1 compilers will not in general allow EXTERNAL to be
130 -- redefined (therefore 'EXTERNALt'),
131 -- and it is invalid ASN.1 to define a type with tag [UNIVERSAL 8]
133 -- Workaround for bug in asn2wrs in the .cnf file
134 -- to handle the lack of support for tagged assignments.
135 -- remove that workaround once asn2wrs learns how to handle
136 -- tagged assignments.
138 EXTERNALt ::= [8] IMPLICIT SEQUENCE {
139     direct-reference    OBJECT IDENTIFIER   OPTIONAL,       -- X
140     indirect-reference  INTEGER             OPTIONAL,
141     data-value-descriptor    ObjectDescriptor    OPTIONAL,  -- X
142     encoding       CHOICE {
143         single-ASN1-type    [0] ABSTRACT-SYNTAX.&Type,
144         octet-aligned  [1] IMPLICIT OCTET STRING,            -- X
145         arbitrary [2] IMPLICIT BIT STRING }}
146 --   ATN: implementations are advised to use arbitrary (BIT STRING)
147 --   encodings only (see Guidance Material section 2.6.5.21).
148 --   BIT STRING values are not padded to octet boundaries.
151 -- object identifier assignments
152 acse-as-id OBJECT IDENTIFIER ::=
153 {joint-iso-itu-t association-control(2) abstract-syntax(1) apdus(0) version1(1)}
154      -- may be used to reference the abstract syntax of the ACSE APDUs
155 aCSE-id OBJECT IDENTIFIER ::=
156 { joint-iso-itu-t association-control(2) ase-id(3) acse-ase(1) version(1) }
157      --  may be used to identify the Association Control ASE.
159 -- top level CHOICE
160 ACSE-apdu  ::=  CHOICE
162     aarq      AARQ-apdu,     -- ACSE associate request pdu
163     aare      AARE-apdu,     -- ACSE associate response pdu
164     rlrq      RLRQ-apdu,     -- ACSE release request pdu
165     rlre      RLRE-apdu,     -- ACSE release response pdu
166     abrt      ABRT-apdu,     -- ACSE abort pdu
167     ...
170 AARQ-apdu  ::=  [ APPLICATION 0 ]  IMPLICIT SEQUENCE
171 {   protocol-version                  [0] IMPLICIT BIT STRING { version1 (0) } DEFAULT { version1 }, -- X
172     application-context-name          [1] Application-context-name,
173     called-AP-title                   [2] AP-title                  OPTIONAL, -- X
174     called-AE-qualifier               [3] AE-qualifier              OPTIONAL, -- X
175     called-AP-invocation-identifier   [4] AP-invocation-identifier  OPTIONAL, -- X
176     called-AE-invocation-identifier   [5] AE-invocation-identifier  OPTIONAL, -- X
177     calling-AP-title                  [6] AP-title                  OPTIONAL,
178     calling-AE-qualifier              [7] AE-qualifier              OPTIONAL,
179     calling-AP-invocation-identifier  [8] AP-invocation-identifier  OPTIONAL, -- X
180     calling-AE-invocation-identifier  [9] AE-invocation-identifier  OPTIONAL, -- X
181     -- The following field is not present if only the Kernel is used.
182     -- ATN: For Doc 9705 ed 1/ed 2, only the Kernel is required.
183     sender-acse-requirements          [10]  IMPLICIT ACSE-requirements  OPTIONAL,
184     -- The following field is only present if the Authentication functional
185     -- unit is selected.  ATN: not used in Doc 9705 ed 1/ed 2.
186     mechanism-name                    [11]  IMPLICIT Mechanism-name   OPTIONAL,
187     -- The following field is only present if the Authentication functional
188     -- unit is selected.  ATN: use is deprecated in Doc 9705 ed 1/ed 2.
189     calling-authentication-value      [12]  EXPLICIT Authentication-value  OPTIONAL,
190     application-context-name-list     [13]  IMPLICIT Application-context-name-list  OPTIONAL, -- X
191     -- The above field is only present if the Application Context Negotiation
192     -- functional unit is selected - never for ATN
193     implementation-information        [29]  IMPLICIT Implementation-data  OPTIONAL, -- X
194     ..., ...,            -- ATN: Note use of extension marker pair
195     user-information             [30] IMPLICIT Association-information   OPTIONAL
199 AARE-apdu  ::=  [ APPLICATION 1 ]  IMPLICIT SEQUENCE
200 {   protocol-version                    [0]   IMPLICIT BIT STRING{ version1 (0) }
201                                                       DEFAULT { version1 }, -- X
202     application-context-name            [1] Application-context-name,
203     result                              [2] Associate-result,
204     result-source-diagnostic            [3] Associate-source-diagnostic,
205     responding-AP-title                 [4] AP-title              OPTIONAL, -- X
206     responding-AE-qualifier             [5] AE-qualifier          OPTIONAL, -- X
207     responding-AP-invocation-identifier [6] AP-invocation-identifier  OPTIONAL, -- X
208     responding-AE-invocation-identifier [7] AE-invocation-identifier  OPTIONAL, -- X
209     -- The following field is not present if only the Kernel is used.
210     -- ATN: For Doc 9705 ed 1/ed 2, only the Kernel is required.
211     responder-acse-requirements         [8] IMPLICIT ACSE-requirements  OPTIONAL,
212     -- The following field is only present if the Authentication functional
213     -- unit is selected.  ATN: not used in Doc 9705 ed 1/ed 2.
214     mechanism-name                      [9] IMPLICIT Mechanism-name OPTIONAL,
215     -- The following field is only present if the Authentication functional
216     -- unit is selected.  ATN: use is deprecated in Doc 9705 ed 1/ed 2.
217     responding-authentication-value [10]  EXPLICIT  Authentication-value OPTIONAL,
218     application-context-name-list   [11]  IMPLICIT  Application-context-name-list
219                                                                       OPTIONAL, -- X
220     --  The above field is only present if the Application Context Negotiation
221     -- functional unit is selected - never for ATN
222     implementation-information    [29]  IMPLICIT  Implementation-data OPTIONAL, --X
223     ..., ...,   -- ATN: Note use of extension marker pair
224     user-information              [30]  IMPLICIT  Association-information OPTIONAL
228 RLRQ-apdu  ::=  [ APPLICATION 2 ] IMPLICIT SEQUENCE
229 {   reason                      [0] IMPLICIT  Release-request-reason  OPTIONAL,
230     ..., ...,   -- ATN: Note use of extension marker pair
231     user-information            [30]  IMPLICIT Association-information  OPTIONAL
235 RLRE-apdu  ::=  [ APPLICATION 3 ] IMPLICIT SEQUENCE
236 {   reason                      [0] IMPLICIT  Release-response-reason OPTIONAL,
237     ..., ..., -- ATN: Note use of extension marker pair
238     user-information            [30]  IMPLICIT  Association-information OPTIONAL
242 ABRT-apdu ::= [ APPLICATION 4 ] IMPLICIT SEQUENCE
243 {   abort-source                [0]   IMPLICIT ABRT-source,
244     abort-diagnostic            [1]   IMPLICIT ABRT-diagnostic  OPTIONAL,
245     -- The above field is not present if only the Kernel is used.
246     -- ATN: For Doc 9705 ed 1/ed 2, only the Kernel is required.
247     ..., ...,     -- ATN: Note use of extension marker pair
248     user-information            [30]  IMPLICIT  Association-information OPTIONAL
252 ABRT-diagnostic ::= ENUMERATED
253 {   no-reason-given (1),
254     protocol-error  (2),
255     authentication-mechanism-name-not-recognized (3),
256     authentication-mechanism-name-required (4),
257     authentication-failure (5),
258     authentication-required (6),
259     ... }
261 ABRT-source   ::=   INTEGER { acse-service-user (0),  acse-service-provider (1)}  (0..1, ...)
263 ACSE-requirements   ::=   BIT STRING
264 { authentication (0), application-context-negotiation(1) }
265 -- ATN commentary: application-context-negotiation (bit 1) is
266 -- never set for ATN ULCS.  Use of authentication is deprecated
267 -- for Doc 9705 ed 1/ed 2.
269 Application-context-name-list ::= SEQUENCE OF Application-context-name
270 -- ATN Commentary: the above type is not used for ATN ULCS.
272 Application-context-name ::= OBJECT IDENTIFIER
274 --  ***************************************************************************
275 --  Application-entity title productions follow (not in alphabetical order)
276 --  ***************************************************************************
277 -- MG: asn2wrs cannot handle untagged CHOICEs within either a SET or a SEQUENCE.
278 -- https://gitlab.com/wireshark/wireshark/-/wikis/Asn2wrs_Handmassaging_the_ASN_file
279 AP-title ::= CHOICE { -- ATN: See encoding guidance in 2.5.11
280                           -- "form2" is encoded as 0 and "form1" as 1
281     ap-title-form2 [0]  IMPLICIT  AP-title-form2,   -- Object Identifier form
282     ap-title-form1 [1]  IMPLICIT  AP-title-form1,   -- X (Directory name form)
283     ... }
285 AE-qualifier ::= CHOICE {-- ATN: See encoding guidance in 2.5.11
286                           -- "form2" is encoded as 0 and "form1" as 1
287     ae-qualifier-form2  [0]  IMPLICIT   AE-qualifier-form2,   -- INTEGER form
288     ae-qualifier-form1  [1]  IMPLICIT   AE-qualifier-form1,   -- X (RDN form)
289     ... }
290 -- ATN commentary: AE-qualifier is set to "app-type" in Doc 9705 1st and
291 -- 2nd editions.  For forward compatibility, the value should not be
292 -- analysed.
294 --  When both AP-title and AE-qualifier data values are present in an AARQ or
295 --  AARE APDU, both have the same form to allow the construction of an
296 --  AE-title as discussed in CCITT Rec. X.665 | ISO/IEC 9834-6.
298 AP-title-form1 ::= Name  -- ATN: Not used for ATN ULCS
299 --   The value assigned to AP-title-form1 is The Directory Name of an
300 --   application-process title.
302 AE-qualifier-form1 ::= RelativeDistinguishedName  -- ATN: Not used for ULCS
303 --   The value assigned to AE-qualifier-form1 is the relative distinguished name
304 --   of a particular application-entity of the application-process identified by
305 --   AP-title-form1.
307 AP-title-form2 ::= OBJECT IDENTIFIER
309 AE-qualifier-form2 ::= INTEGER
311 -- ATN commentary: The AE-title productions below are commented out,
312 -- as they are not required for ATN ULCS.
313 -- AE-title ::= CHOICE {
314 --     ae-title-form1    AE-title-form1,
315 --     ae-title-form2    AE-title-form2,
316 --     ... }
318 -- As defined in CCITT Rec. X.650 | ISO 7498-3, an application-entity title is
319 -- composed of an application-process title and an application-entity qualifier.
320 -- The ACSE protocol provides for the transfer of an application-entity title
321 -- value by the transfer of its component values.  However, the following data
322 -- type is provided for International Standards that reference a single
323 -- syntactic structure for AE titles.  (Not used for ATN ULCS)
325 -- AE-title-form1 ::= Name
326 --    For access to The Directory (ITU-T Rec. X.500-Series | ISO/IEC 9594), an
327 --    AE title has AE-title-form1.
328 --    This value can be constructed from AP-title-form1 and AE-qualifier-form1
329 --    values contained in an AARQ or AARE APDU. A discussion of forming an
330 --    AE-title-form1 from AP-title-form1 and AE-qualifier-form1 may be found in
331 --    CCITT Rec. X.665 | ISO/IEC 9834-6.
333 -- AE-title-form2 ::= OBJECT IDENTIFIER
334 --  A discussion of forming an AE-title-form2 from AP-title-form2 and
335 --  AE-qualifier-form2 may be found in CCITT Rec. X.665 | ISO/IEC 9834-6.
337 AE-invocation-identifier ::= INTEGER  -- ATN: not used in ULCS
338 AP-invocation-identifier ::= INTEGER  -- ATN: not used in ULCS
339 --  End of Application-entity title productions
340 --  ***************************************************************************
342 Associate-result  ::= INTEGER
343 {   accepted              (0),
344     rejected-permanent    (1),
345     rejected-transient    (2)  } (0..2, ...)
347 Associate-source-diagnostic  ::=  CHOICE
348 { acse-service-user           [1]  INTEGER
349     {   null  (0),
350         no-reason-given  (1),
351         application-context-name-not-supported  (2),
352         calling-AP-title-not-recognized  (3),
353         calling-AP-invocation-identifier-not-recognized  (4),
354         calling-AE-qualifier-not-recognized  (5),
355         calling-AE-invocation-identifier-not-recognized  (6),
356         called-AP-title-not-recognized  (7),
357         called-AP-invocation-identifier-not-recognized  (8),
358         called-AE-qualifier-not-recognized  (9),
359         called-AE-invocation-identifier-not-recognized  (10),
360         authentication-mechanism-name-not-recognized  (11),
361         authentication-mechanism-name-required  (12),
362         authentication-failure  (13),
363         authentication-required  (14)      }     (0..14 ,  ...),
364         acse-service-provider    [2]    INTEGER
365       {   null  (0),
366           no-reason-given  (1),
367           no-common-acse-version  (2) }    (0..2 , ...)
370 Association-information ::=  SEQUENCE SIZE (1, ..., 0 | 2..MAX) OF EXTERNALt
371 -- ATN: No SIZE extensions are defined, only one EXTERNAL element is present
375 Implementation-data ::=  OCTET STRING      -- ATN: Not used for ULCS
377 Mechanism-name ::= OBJECT IDENTIFIER         -- ATN: Not used for ULCS
379 MECHANISM-NAME ::=TYPE-IDENTIFIER  -- ATN: Not used for ULCS
381 ObjectSet MECHANISM-NAME ::= {...}      -- ATN: Not used for ULCS
383 Release-request-reason  ::= INTEGER {normal (0), urgent (1), user-defined (30)} (0 | 1 | 30, ...)
385 Release-response-reason  ::= INTEGER {normal (0), not-finished (1), user-defined (30)} (0 | 1 | 30, ...)
386 -- ATN commentary: For the above two types, see the encoding guidance in 2.5.10
387 -- Values are encoded in 5 bits, not 3 as might be expected.
389 Authentication-value  ::=   CHOICE      -- ATN: use is deprecated in ed 1/ed 2
390 {   charstring   [0]  IMPLICIT OCTET STRING,
391     bitstring    [1]  IMPLICIT BIT STRING,
392     external     [2]  IMPLICIT EXTERNAL,
393     other        [3]  IMPLICIT SEQUENCE {
394 --        other-mechanism-name  MECHANISM-NAME.&id ({ObjectSet}),
395           other-mechanism-name  OBJECT IDENTIFIER,
396 --        other-mechanism-value  MECHANISM-NAME.&Type ({ObjectSet}{@.other-mechanism-name})
397           other-mechanism-value  ANY
398           }     -- X
400 -- The abstract syntax of (calling/responding) authentication-value is
401 -- determined by the authentication mechanism used during association
402 -- establishment.  The authentication mechanism is either explicitly
403 -- denoted by the &id field (of type OBJECT IDENTIFIER) for a mechanism
404 -- belonging to the class MECHANISM-NAME, or it is known implicitly by
405 -- prior agreement between the communicating partners.  If the "other"
406 -- component is chosen, then the "mechanism-name" component is present
407 -- in accordance with ITU-T Rec. X.680|ISO/IEC 8824. If the value
408 -- "mechanism-name" occurs in the AARQ-apdu or the AARE-apdu, then that
409 -- value is the same as the value for "other-mechanism-name"
410 END -- of Connection-Oriented ACSE definitions
413 -- *************************************************************************
414 -- The following definitions are adapted from the Directory standard
415 -- ISO/IEC 9594-2:1993 | ITU-T Rec. X.501 (1993 E).  In case of any discrepancy,
416 -- the ISO/IEC standard takes precedence.
417 -- *************************************************************************
419 InformationFramework {joint-iso-ccitt ds(5) module(1) informationFramework(1) 2}
420 DEFINITIONS ::=
421 BEGIN
422 EXPORTS Name, RelativeDistinguishedName;
424 Name     ::= CHOICE {rdnSequence  RDNSequence}
425 -- only one CHOICE defined
427 RDNSequence  ::= SEQUENCE OF RelativeDistinguishedName
429 RelativeDistinguishedName ::= SET SIZE (1 .. MAX) OF AttributeTypeAndValue
431 AttributeTypeAndValue ::= SEQUENCE {
432 -- ATN commentary: The following line has been inserted to allow the Name and
433 -- RelativeDistinguishedName types, as used by ACSE, to be resolved by an
434 -- ASN.1 compiler, without introducing the unnecessary complexity
435 -- Of the ATTRIBUTE information object class, which is used in the
436 -- Directory standards.
437       null NULL}
438 -- The "real" components of AttributeTypeAndValue follow.  They have been
439 -- commented out here, but could be restored if required, for example, for
440 -- sharing data types with a Directory implementation.  The syntax has been
441 -- verified by the OSS syntax checker.
442 --   type      ATTRIBUTE.&id ({SupportedAttributes}),
443 --   value     ATTRIBUTE.&Type ({SupportedAttributes} {@type})
446 --SupportedAttributes    ATTRIBUTE ::=
447 --   {objectClass | aliasedEntryName, ...}
449 -- ATN Commentary: ATTRIBUTE is an information object class, specified in
450 -- ISO/IEC 9594-2 | ITU-T Rec. X.501, using the notation defined in
451 -- ISO/IEC 8824-2 | ITU-T Rec. X.681.  However, for ULCS implementation, it
452 -- is only necessary to note that the ACSE CHOICE types AP-title,
453 -- AE-qualifier and AE-title are all constrained to be the "form 2" variants,
454 -- with types Object Identifier, Integer and Object Identifier, respectively.
455 -- It is however necessary to know the syntax of the "form 1" variants (Name,
456 -- RelativeDistinguishedName and Name, respectively) so that the CHOICE
457 -- elements can be sorted into canonical order, based on their ASN.1 types,
458 -- for PER encoding (see 2.5.11).
460 --ATTRIBUTE    ::= CLASS {
461 --   &derivation    ATTRIBUTE OPTIONAL,
462 --   &Type                         OPTIONAL,
463 --   &equality-match     MATCHING-RULE  OPTIONAL,
464 --   &ordering-match     MATCHING-RULE  OPTIONAL,
465 --   &substrings-match   MATCHING-RULE  OPTIONAL,
466 --   &single-valued BOOLEAN   DEFAULT FALSE,
467 --   &collective    BOOLEAN   DEFAULT FALSE,
468 --   &no-user-modification    BOOLEAN DEFAULT FALSE,
469 --   &usage         AttributeUsage DEFAULT userApplications,
470 --   &id            OBJECT IDENTIFIER UNIQUE }
472 --MATCHING-RULE     ::= CLASS {
473 --   &AssertionType      OPTIONAL,
474 --   &id            OBJECT IDENTIFIER UNIQUE }
476 --objectClass ATTRIBUTE ::= {
477 --   &Type          OBJECT IDENTIFIER,
478 --   &id            id-at-objectClass
481 --aliasedEntryName ATTRIBUTE ::= {
482 --   &Type          OBJECT IDENTIFIER,
483 --   &id            id-at-aliasedEntryName
486 --AttributeUsage ::= ENUMERATED {
487 --   userApplications (0),
488 --   directoryOperation (1),
489 --   distributedOperation (2),
490 --   dSAOperation (3) }
492 --id-at-objectClass           OBJECT IDENTIFIER ::= {id-at 0}
493 --id-at-aliasedEntryName OBJECT IDENTIFIER ::= {id-at 1}
494 --id-at        OBJECT IDENTIFIER ::= {joint-iso-ccitt ds(5) attributeType(4)}
496 END -- of Directory Information Framework extracts
498 -- Editor modelines  -  https://www.wireshark.org/tools/modelines.html
500 -- Local variables:
501 -- c-basic-offset: 4
502 -- tab-width: 8
503 -- indent-tabs-mode: nil
504 -- End:
506 -- vi: set shiftwidth=4 tabstop=8 expandtab:
507 -- :indentSize=4:tabSize=8:noTabs=true: