-- Module GenericProtectingTransferSyntax (X.833:10/2000)
-- See also ITU-T X.833 (04/1995)
-- See also the index of all ASN.1 assignments needed in this document

GenericProtectingTransferSyntax {joint-iso-itu-t genericULS(20) modules(1)
  genericProtectingTransferSyntax(7)} DEFINITIONS AUTOMATIC TAGS ::=
BEGIN

EXPORTS SyntaxStructure{};

IMPORTS
  notation
    FROM ObjectIdentifiers {joint-iso-itu-t genericULS(20) modules(1)
      objectIdentifiers(0)}
  SECURITY-TRANSFORMATION, ExternalSAID
    FROM Notation {joint-iso-itu-t genericULS(20) modules(1) notation(1)};

SyntaxStructure{SECURITY-TRANSFORMATION:ValidSTs} ::= CHOICE {
  firstPdvExplicit  FirstPdvExplicit{{ValidSTs}},
  -- To be used on the first PDV of a protecting presentation
  -- context, or a protected PDV sent outside a presentation
  -- context, in the case of a presentation-context-bound or
  -- single-item-bound security association.
  firstPdvExternal  FirstPdvExternal{{ValidSTs}},
  -- To be used on the first PDV of a protecting presentation
  -- context, or a protected PDV sent outside a presentation
  -- context, in the case of an externally established
  -- security association.
  subsequentPdv     SubsequentPdv{{ValidSTs}}
  -- To be used on a subsequent PDV in a protecting 
  -- presentation context.
}

FirstPdvExplicit{SECURITY-TRANSFORMATION:ValidSTs} ::= SEQUENCE {
  transformationId   SECURITY-TRANSFORMATION.&sT-Identifier({ValidSTs}),
  staticUnprotParm
    SECURITY-TRANSFORMATION.&StaticUnprotectedParm
      ({ValidSTs}{@transformationId}) OPTIONAL,
  dynamicUnprotParm
    SECURITY-TRANSFORMATION.&DynamicUnprotectedParm
      ({ValidSTs}{@transformationId}) OPTIONAL,
  xformedData
    SECURITY-TRANSFORMATION.&XformedDataType({ValidSTs}{@transformationId})
}

FirstPdvExternal{SECURITY-TRANSFORMATION:ValidSTs} ::= SEQUENCE {
  externalSAID       ExternalSAID,
  dynamicUnprotParm
    SECURITY-TRANSFORMATION.&DynamicUnprotectedParm({ValidSTs}) OPTIONAL,
  -- Actual member of ValidSTs is as implied
  -- by externalSAID
  xformedData        SECURITY-TRANSFORMATION.&XformedDataType({ValidSTs})
  -- Actual member of ValidSTs is as implied
  -- by externalSAID
}

SubsequentPdv{SECURITY-TRANSFORMATION:ValidSTs} ::= SEQUENCE {
  dynamicUnprotParm
    SECURITY-TRANSFORMATION.&DynamicUnprotectedParm({ValidSTs}) OPTIONAL,
  xformedData        SECURITY-TRANSFORMATION.&XformedDataType({ValidSTs})
  -- Actual member of ValidSTs is implied
  -- by presentation context
}

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