-- Module IN-CS2-SDF-InformationFramework (Q.1228:09/1997)
-- See also ITU-T Q.1228 (09/1997)
-- See also the index of all ASN.1 assignments needed in this document

IN-CS2-SDF-InformationFramework {itu-t recommendation q 1228 modules(0)
  sdfInformationFramework(9) version1(0)} DEFINITIONS ::=
BEGIN

-- EXPORTS ALL
-- types and values are exported for use in the ASN.1 modules which define the IN profile of the Directory
-- Abstract Service,  the Directory Access Protocol and the Directory Information Shadowing Protocol.
-- The types and values defined in this module are exported for use in the other ASN.1 modules contained 
-- within the Directory Specifications, and for the use of other applications which will use them to access 
-- Directory services. Other applications may use them for their own purposes, but this will not constrain
-- extensions and modifications needed to maintain or improve the Directory service.
IMPORTS
  informationFramework, upperBounds, selectedAttributeTypes
    FROM UsefulDefinitions {joint-iso-itu-t ds(5) module(1)
      usefulDefinitions(0) 3}
  ATTRIBUTE, OBJECT-CLASS, objectClass, aliasedEntryName
    FROM InformationFramework {joint-iso-itu-t ds(5) module(1)
      informationFramework(1) 3}
  DirectoryString{}, objectIdentifierFirstComponentMatch
    FROM SelectedAttributeTypes {joint-iso-itu-t ds(5) module(1)
      selectedAttributeTypes(5) 3}
  ub-schema
    FROM UpperBounds {joint-iso-itu-t ds(5) module(1) upperBounds(10) 3}
  id-soa-methodRuleUse
    FROM IN-CS2-object-identifiers {itu-t recommendation q 1228 modules(0)
      in-cs2-object-identifiers(17) version1(0)};

-- attribute data types 
-- Definition of the following information object set is deferred, perhaps to standardised
-- profiles or to protocol implementation conformance statements. The set is required to
-- specify a table constraint on the values component of Attribute, the value component 
-- of AttributeTypeAndValue, and the assertion component of AttributeValueAssertion.
SupportedAttributes ATTRIBUTE ::=
  {objectClass | aliasedEntryName, ...}

-- METHOD information object class specification 
METHOD ::= CLASS {
  &InputAttributes   ATTRIBUTE OPTIONAL,
  &SpecificInput     OPTIONAL,
  &OutputAttributes  ATTRIBUTE OPTIONAL,
  &SpecificOutput    OPTIONAL,
  &description       PrintableString OPTIONAL,
  &id                OBJECT IDENTIFIER UNIQUE
}
WITH SYNTAX {
  [INPUT ATTRIBUTES &InputAttributes]
  [SPECIFIC-INPUT &SpecificInput]
  [OUTPUT ATTRIBUTES &OutputAttributes]
  [SPECIFIC-OUTPUT &SpecificOutput]
  [BEHAVIOUR &description]
  ID &id
}

DITMethodUse ::= SEQUENCE {
  objectClass  OBJECT-CLASS.&id,
  methods      [1]  SET OF METHOD.&id
}

METHOD-USE-RULE ::= CLASS {
  &objectClassType  OBJECT-CLASS.&id UNIQUE,
  &Mandatory        METHOD
}WITH SYNTAX {OBJECT-CLASS TYPE &objectClassType
              METHODS &Mandatory
}

-- attributes 
methodUse ATTRIBUTE ::= {
  WITH SYNTAX             MethodUseDescription
  EQUALITY MATCHING RULE  objectIdentifierFirstComponentMatch
  USAGE                   directoryOperation
  ID                      id-soa-methodRuleUse
}

MethodUseDescription ::= SEQUENCE {
  identifier   OBJECT-CLASS.&id,
  name         SET OF DirectoryString{ub-schema} OPTIONAL,
  description  DirectoryString{ub-schema} OPTIONAL,
  obsolete     BOOLEAN DEFAULT FALSE,
  information  [0]  SET OF METHOD.&id
}

END
-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D