-- Module IN-SCF-SDF-operations (Q.1248.4:07/2001)
-- See also ITU-T Q.1248.4 (07/2001)
-- See also the index of all ASN.1 assignments needed in this document

IN-SCF-SDF-operations {itu-t recommendation q 1248 modules(1)
  in-scf-sdf-ops-args(16) version1(0)} DEFINITIONS ::=
BEGIN

IMPORTS
  ds-UsefulDefinitions, ros-InformationObjects, errortypes, operationcodes,
    ssf-scf-datatypes, scf-scf-classes, scf-sdf-datatypes, scf-sdf-classes
    FROM IN-object-identifiers {itu-t recommendation q 1248 modules(1)
      in-object-identifiers(0) version1(0)}
  informationFramework, enhancedSecurity, directoryAbstractService
    FROM UsefulDefinitions ds-UsefulDefinitions
  Context, Name
    FROM InformationFramework informationFramework
  OPERATION
    FROM Remote-Operations-Information-Objects ros-InformationObjects
  OPTIONALLY-PROTECTED{}, dirqop
    FROM EnhancedSecurity enhancedSecurity
  CommonArguments, CommonResults, attributeError, nameError, referral,
    securityError, serviceError, updateError, Credentials, Versions,
    SecurityParameters
    FROM DirectoryAbstractService directoryAbstractService
  executionError, tfcBindError
    FROM IN-errortypes errortypes
  opcode-execute, opcode-trafficFlowControl
    FROM IN-operationcodes operationcodes
  Duration, ControlType
    FROM IN-SSF-SCF-datatypes ssf-scf-datatypes
  SCFQOP, scfqop
    FROM IN-SCF-SCF-Classes scf-scf-classes
  TFCcriteria
    FROM IN-SCF-SDF-datatypes scf-sdf-datatypes
  METHOD, SupportedMethods
    FROM IN-SCF-SDF-Classes scf-sdf-classes;

execute OPERATION ::= {
  ARGUMENT  ExecuteArgument
  RESULT    ExecuteResult
  ERRORS
    {attributeError | nameError | serviceError | referral | securityError |
      updateError | executionError}
  CODE      opcode-execute
}

-- Direction: SCF->SDF
-- Note that the serviceError error is subtyped as described in subclause A.5 for the IN specification. 
-- Refer to the in-ServiceError definition for it.
ExecuteArgument ::=
  OPTIONALLY-PROTECTED
    {SET {object            [0]  Name,
          method-id         [1]  METHOD.&id({SupportedMethods}),
          input-assertions
            [2]  SEQUENCE OF
                   SEQUENCE {type
                               METHOD.&InputAttributes.&id
                                 ({SupportedMethods}{@method-id}),
                             values
                               SET OF
                                 METHOD.&InputAttributes.&Type
                                   ({SupportedMethods}{@method-id, @.type})
                                 OPTIONAL,
                             valuesWithContext
                               [0]  SET OF
                                      SEQUENCE {value
                                                  [0]  METHOD.
                                                         &InputAttributes.
                                                           &Type
                                                         ({SupportedMethods}
                                                            {@method-id, @...
                                                                    type})
                                                    OPTIONAL,
                                                contextList
                                                  [1]  SET OF Context
                                      } OPTIONAL} OPTIONAL,
          specific-input
            [3]  METHOD.&SpecificInput({SupportedMethods}{@method-id})
              OPTIONAL,
          COMPONENTS OF CommonArguments}, dirqop.&dapModifyEntryArg-QOP}

-- Note that CommonArguments in the ExecuteArgument is replaced with IN-CommonArguments 
-- described as the subtyped definition in subclause A.5.
ExecuteResult ::=
  OPTIONALLY-PROTECTED
    {SET {method-id          [1]  METHOD.&id({SupportedMethods}),
          output-assertions
            [2]  SEQUENCE OF
                   SEQUENCE {type
                               METHOD.&OutputAttributes.&id
                                 ({SupportedMethods}{@method-id}),
                             values
                               SET OF
                                 METHOD.&OutputAttributes.&Type
                                   ({SupportedMethods}{@method-id, @.type})
                                 OPTIONAL,
                             valuesWithContext
                               [0]  SET OF
                                      SEQUENCE {value
                                                  [0]  METHOD.
                                                         &OutputAttributes.
                                                           &Type
                                                         ({SupportedMethods}
                                                            {@method-id, @...
                                                                    type})
                                                    OPTIONAL,
                                                contextList
                                                  [1]  SET OF Context
                                      } OPTIONAL} OPTIONAL,
          specific-output
            [3]  METHOD.&SpecificOutput({SupportedMethods}{@method-id})
              OPTIONAL,
          COMPONENTS OF CommonResults}, dirqop.&dapModifyEntryRes-QOP}

-- The specific-output field contains information returned as a result of the method execution.
-- The output-assertions contains attributes values returned as a result of the method execution.
-- addEntry OPERATION
-- Direction: SCF->SDF
-- Note that the serviceError error is subtyped as described in subclause A.5 for the IN specification. 
-- Refer to the in-ServiceError definition for it.
-- Note that CommonArguments in X.511 AddEntryArgument is replaced with IN-CommonArguments described as 
-- the subtyped definition in subclause A.5.
-- directoryBind OPERATION
-- Direction: SCF->SDF
-- Note that the directoryBindError error is subtyped as described in subclause A.5 for the IN specification.  Refer to 
-- the in-DirectoryBindError definition for it.
-- modifyEntry OPERATION
-- Direction: SCF->SDF
-- Note that the ModifyEntryArgument, ModifyEntryResult, and serviceError error are subtyped as described in 
-- subclause A.5 for the IN specification.  Refer to the IN-ModifyEntryArgument, IN-ModifyEntryResult, and in- 
-- ServiceError definitions for them, respectively.
-- removeEntry OPERATION
-- Direction: SCF->SDF
-- Note that the serviceError error is subtyped as described in subclause A.5 for the IN specification. 
-- Refer to the in-ServiceError definition for it.
-- Note that CommonArguments in X.511 RemoveEntryArgument is replaced with 
-- IN-CommonArguments described as the subtyped definition in subclause A.5.
-- search OPERATION
-- Direction: SCF->SDF
-- The search operation is used to search a portion of the DIT for entries of interest.
-- The abandoned error is not supported.
-- Note that the SearchArgument, SearchResult, and serviceError error are subtyped as described in 
-- subclause A.5 for the IN specification.  Refer to the IN-SearchArgument, IN-SearchResult, and in-
-- ServiceError definitions for them, respectively.
-- inUnbind  OPERATION 
-- Direction: SCF->SDF, SDF->SCF (TFC case)
-- This operation is described in Q.1248.1.
trafficFlowControl OPERATION ::= {
  ARGUMENT         TFCArgument
  RETURN RESULT    FALSE
  ALWAYS RESPONDS  FALSE
  CODE             opcode-trafficFlowControl
}

-- Direction: SDF->SCF
TFCArgument ::=
  OPTIONALLY-PROTECTED
    {SEQUENCE {tfcCriteria  [0]  TFCcriteria,
               duration     [1] IMPLICIT Duration,
               controlType  [2] IMPLICIT ControlType,
               security     [3] IMPLICIT SecurityParameters,
               wasChained   [4] IMPLICIT BOOLEAN DEFAULT FALSE,
               ...,
               ...}, scfqop.&scfArgumentQOP}

tfcBind OPERATION ::= {
  ARGUMENT  TFCBindArgument
  OPTIONAL  TRUE
  RESULT    TFCBindResult
  OPTIONAL  TRUE
  ERRORS    {tfcBindError}
}

-- Direction: SDF->SCF
TFCBindArgument ::= SET {
  credentials  [0]  Credentials OPTIONAL,
  versions     [1] IMPLICIT Versions DEFAULT {v1},
  ...,
  ...
}

-- Note: the tfcBind.credentials.strong.bind-token.DIRQOP field should be set to a value which corresponds
-- 	to a SCFQOP object.
--  	The absence of this field in the tfcBind argument implies the non-use of protection facilities.
TFCBindResult ::=
  TFCBindArgument

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