-- Module CSModule (X.753:10/1997)
-- See also ITU-T X.753 (10/1997)
-- See also the index of all ASN.1 assignments needed in this document

CSModule {joint-iso-itu-t ms(9) function(2) part21(21) asn1Module(2) 0}
DEFINITIONS IMPLICIT TAGS ::=
BEGIN

-- EXPORTS everything
IMPORTS
  SimpleNameType
    FROM Attribute-ASN1Module {joint-iso-itu-t ms(9) smi(3) part2(2)
      asn1Module(2) 1}
  ObjectInstance, Attribute, CMISSync, CMISFilter, ModifyOperator, Scope,
    BaseManagedObjectId
    FROM CMIP-1 {joint-iso-itu-t ms(9) cmip(1) modules(0) protocol(3)}
  AE-title
    FROM ACSE-1 {joint-iso-itu-t association-control(2) modules(0) apdus(0)
      version1(1)};

cmdSeqRelationshipClasses OBJECT IDENTIFIER ::=
  {joint-iso-itu-t ms(9) function(2) part21(21) relationshipClass(11)}

cmdSeqRelationshipMappings OBJECT IDENTIFIER ::=
  {joint-iso-itu-t ms(9) function(2) part21(21) relationshipMapping(12)}

cmdSeqRelationshipRoles OBJECT IDENTIFIER ::=
  {joint-iso-itu-t ms(9) function(2) part21(21) relationshipRole(13)}

-- Range Constraints used for relationship class definitions
RangeFromOneToOne ::= INTEGER(1..1)

RangeFromZeroToMax ::= INTEGER(0..MAX)

-- Counter size constraint
MaxCounterSize ::= INTEGER {unlimited(0)} -- size in octets

ExecutionResultInfo ::= SEQUENCE {
  triggerId            TriggerId,
  scriptId             ScriptId,
  threadId             ThreadId,
  errorCode            ErrorCode,
  executionResultType  ExecutionResultType,
  executionResult      SET OF Attribute
}

TriggerResultInfo ::= SEQUENCE {
  triggerId   TriggerId,
  resultType
    CHOICE {singleTriggerResult      ResultInfoFromThread,
            sequentialTriggerResult  [1]  SEQUENCE OF ResultInfoFromThread,
            parallelTriggerResult    SET OF ResultInfoFromThread}
}

ResultInfoFromThread ::= SEQUENCE {
  executionType        ExecutionType,
  errorCode            ErrorCode,
  executionResultType  ExecutionResultType,
  executionResult      SET OF Attribute
}

ExecutionType ::= CHOICE {
  singleExecution      ScriptThreadSet,
  parallelExecution    SET OF ScriptThreadSet,
  sequentialExecution  [1]  SEQUENCE OF ScriptThreadSet
}

ScriptThreadSet ::= SEQUENCE {scriptId  ScriptId,
                              threadId  ThreadId
}

SpawnerObjectId ::= SEQUENCE {
  triggerId   TriggerId,
  objectType  CHOICE {threadId     ThreadId,
                      launchPadId  LaunchPadId}
}

ExecutionResultType ::= OBJECT IDENTIFIER

CommandSequencerId ::= ObjectInstance

ScriptId ::= ObjectInstance

ThreadId ::= ObjectInstance

TriggerId ::= ObjectInstance

LaunchPadId ::= ObjectInstance

ScriptList ::= CHOICE {
  scriptId              ScriptId,
  sequentialScriptList  SEQUENCE OF ScriptId,
  parallelScriptList    SET OF ScriptId
}

AvailableScriptList ::= SET OF ScriptList

emptyScriptList AvailableScriptList ::= {}

emptyExecutionParameterList ExecutionParameterList ::=
  sequentialExecutionList:{}

TriggerParameters ::= SEQUENCE {
  triggerId               TriggerId,
  executionParameterList  ExecutionParameterList
}

ExecutionParameterList ::= CHOICE {
  executionParameter       ExecutionParameter,
  sequentialExecutionList  [1]  SEQUENCE OF ExecutionParameter,
  parallelExecutionList    SET OF ExecutionParameter
}

ExecutionParameter ::= SEQUENCE {
  scriptId          ScriptId,
  scriptParameters  SEQUENCE OF Attribute
}

emptyParameterList ExecutionParameterList ::= sequentialExecutionList:{}

ErrorCode ::=
  SET OF
    INTEGER {noError(0), noScriptError(1), scriptRejectedError(2),
             invalidParameterTypeError(3), invalidParameterValueError(4),
             scriptSyntaxError(5), scriptExecutionFailedError(6),
             invalidParmeterNumber(7), unauthorizedAccessError(8)}

ScriptLanguageName ::= OBJECT IDENTIFIER

ScriptContent ::= GeneralString

ModificationList ::=
  SET OF
    SEQUENCE {modifyOperator  [2] IMPLICIT ModifyOperator DEFAULT replace,
              attributeId     TYPE-IDENTIFIER.&id({ModificationLists}),
              attributeValue
                TYPE-IDENTIFIER.&Type({ModificationLists}{@.attributeId})
                  OPTIONAL} -- absent for setToDefault 

ModificationLists TYPE-IDENTIFIER ::=
  {... -- dynamically extensible attributeValue object set --}

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