some updates for CMIP.
[obnox/wireshark/wip.git] / asn1 / cmip / CMIP.asn
1 -- some of the definitions use implicit tags  so be careful when adding 
2 -- new structures.
3 -- Module CMIP-A-ASSOCIATE-Information (X.711:10/1997)
4 CMIP-A-ASSOCIATE-Information {joint-iso-itu-t ms(9) cmip(1) modules(0)
5   aAssociateUserInfo(1)} DEFINITIONS ::=
6 BEGIN
7
8 IMPORTS
9   DistinguishedName, RDNSequence
10     FROM InformationFramework
11   EXTERNAL
12     FROM ACSE-1 {joint-iso-itu-t association-control(2) modules(0) acse1(1) version1(1)};
13
14
15 ModificationItem ::= SEQUENCE {
16   modifyOperator   [2] IMPLICIT ModifyOperator OPTIONAL,
17   attributeId      OBJECT IDENTIFIER,
18   attributeValue   ANY OPTIONAL
19 }
20
21 GetListError ::= SEQUENCE {
22   managedObjectClass     ObjectClass OPTIONAL,
23   managedObjectInstance  ObjectInstance OPTIONAL,
24   currentTime            [5] IMPLICIT GeneralizedTime OPTIONAL,
25   getInfoList            [6] IMPLICIT SET OF GetInfoStatus,
26   ...
27 }
28
29 ModifyOperator ::= INTEGER {
30   replace(0), addValues(1), removeValues(2), setToDefault(3)}
31
32 GetInfoStatus ::= CHOICE {
33   attributeIdError  [0] IMPLICIT AttributeIdError,
34   attribute         [1] IMPLICIT Attribute
35 }
36
37 AttributeIdError ::= SEQUENCE {
38   errorStatus  ENUMERATED {accessDenied(2), noSuchAttribute(5), ...
39                            },
40   attributeId  AttributeId,
41   ...
42 }
43
44 SetListError ::= SEQUENCE {
45   managedObjectClass     ObjectClass OPTIONAL,
46   managedObjectInstance  ObjectInstance OPTIONAL,
47   currentTime            [5] IMPLICIT GeneralizedTime OPTIONAL,
48   setInfoList            [6] IMPLICIT SET OF SetInfoStatus,
49   ...
50 }
51
52 ActionError ::= SEQUENCE {
53   managedObjectClass     ObjectClass OPTIONAL,
54   managedObjectInstance  ObjectInstance OPTIONAL,
55   currentTime            [5] IMPLICIT GeneralizedTime OPTIONAL,
56   actionErrorInfo        [6]  ActionErrorInfo,
57   ...
58 }
59
60 ProcessingFailure ::= SEQUENCE {
61   managedObjectClass     ObjectClass,
62   managedObjectInstance  ObjectInstance OPTIONAL,
63   specificErrorInfo      [5]  SpecificErrorInfo,
64   ...
65 }
66
67 DeleteError ::= SEQUENCE {
68   managedObjectClass     ObjectClass OPTIONAL,
69   managedObjectInstance  ObjectInstance OPTIONAL,
70   currentTime            [5] IMPLICIT GeneralizedTime OPTIONAL,
71   deleteErrorInfo        [6]  ENUMERATED {accessDenied(2), ...
72                                           },
73   ...
74 }
75
76 SetInfoStatus ::= CHOICE {
77   attributeError  [0] IMPLICIT AttributeError,
78   attribute       [1] IMPLICIT Attribute
79 }
80
81 SpecificErrorInfo ::= SEQUENCE {
82   errorId    OBJECT IDENTIFIER,
83   errorInfo  ANY
84 }
85
86 NoSuchArgumentAction ::= SEQUENCE {
87   managedObjectClass  ObjectClass OPTIONAL,
88   actionType          OBJECT IDENTIFIER
89 }
90
91 NoSuchArgumentEvent ::= SEQUENCE {
92   managedObjectClass  ObjectClass OPTIONAL,
93   eventType           OBJECT IDENTIFIER
94 }
95
96 NoSuchArgument ::= CHOICE {
97   actionId
98     [0] IMPLICIT NoSuchArgumentAction,
99   eventId
100     [1] IMPLICIT NoSuchArgumentEvent
101 }
102
103 InvalidArgumentValueEventValue ::= SEQUENCE {
104   eventType  OBJECT IDENTIFIER,
105   eventInfo  [8]  ANY OPTIONAL
106 }
107
108 InvalidArgumentValue ::= CHOICE {
109   actionValue  [0] IMPLICIT ActionInfo,
110   eventValue
111     [1] IMPLICIT InvalidArgumentValueEventValue
112 }
113
114 ErrorInfo ::= CHOICE {
115   actionType      OBJECT IDENTIFIER,
116   actionArgument  [0]  NoSuchArgument,
117   argumentValue   [1]  InvalidArgumentValue
118 }
119
120 ActionErrorInfo ::= SEQUENCE {
121   errorStatus
122     ENUMERATED {accessDenied(2), noSuchAction(9), noSuchArgument(14),
123                 invalidArgumentValue(15), ...
124                 },
125   errorInfo    
126     ErrorInfo,
127   ...
128 }
129
130 AttributeError ::= SEQUENCE {
131   errorStatus
132     ENUMERATED {accessDenied(2), noSuchAttribute(5), invalidAttributeValue(6),
133                 invalidOperation(24), invalidOperator(25), ...
134                 },
135   modifyOperator  [2] IMPLICIT ModifyOperator OPTIONAL, -- present for invalidOperator
136   
137   -- and invalidOperation
138   attributeId     OBJECT IDENTIFIER,
139   attributeValue  ANY OPTIONAL
140   -- value is absent for setToDefault
141 }
142
143 SetResult ::= SEQUENCE {
144   managedObjectClass     ObjectClass OPTIONAL,
145   managedObjectInstance  ObjectInstance OPTIONAL,
146   currentTime            [5] IMPLICIT GeneralizedTime OPTIONAL,
147   attributeList          [6] IMPLICIT SET OF Attribute OPTIONAL,
148   ...
149 }
150
151 SetArgument ::= SEQUENCE {
152   baseManagedObjectClass     ObjectClass,
153   baseManagedObjectInstance  ObjectInstance,
154   accessControl     [5]  AccessControl OPTIONAL,
155   synchronization   [6] IMPLICIT CMISSync OPTIONAL,
156   scope             [7]  Scope OPTIONAL,
157   filter            CMISFilter OPTIONAL,
158   modificationList  [12] IMPLICIT SET OF ModificationItem,
159   -- value is absent for setToDefault
160   ...
161 }
162
163 LinkedReplyArgument ::= CHOICE {
164   getResult          [0] IMPLICIT GetResult,
165   getListError       [1] IMPLICIT GetListError,
166   setResult          [2] IMPLICIT SetResult,
167   setListError       [3] IMPLICIT SetListError,
168   actionResult       [4] IMPLICIT ActionResult,
169   processingFailure  [5] IMPLICIT ProcessingFailure,
170   deleteResult       [6] IMPLICIT DeleteResult,
171   actionError        [7] IMPLICIT ActionError,
172   deleteError        [8] IMPLICIT DeleteError
173 }
174
175 EventReply ::= SEQUENCE {
176   eventType       OBJECT IDENTIFIER,
177   eventReplyInfo  [8] ANY OPTIONAL
178 }
179
180 EventReportResult ::= SEQUENCE {
181   managedObjectClass     ObjectClass OPTIONAL,
182   managedObjectInstance  ObjectInstance OPTIONAL,
183   currentTime            [5] IMPLICIT GeneralizedTime OPTIONAL,
184   eventReply             EventReply OPTIONAL,
185   ...
186 }
187
188 EventReportArgument ::= SEQUENCE {
189   managedObjectClass     ObjectClass,
190   managedObjectInstance  ObjectInstance,
191   eventTime              [5] IMPLICIT GeneralizedTime OPTIONAL,
192   eventType              OBJECT IDENTIFIER,
193   eventInfo              [8] ANY OPTIONAL,
194   ...
195 }
196
197 DeleteArgument ::= SEQUENCE {
198   baseManagedObjectClass     ObjectClass,
199   baseManagedObjectInstance  ObjectInstance,
200   accessControl    [5]  AccessControl OPTIONAL,
201   synchronization  [6] IMPLICIT CMISSync OPTIONAL,
202   scope            [7]  Scope OPTIONAL,
203   filter           CMISFilter OPTIONAL,
204   ...
205 }
206
207 DeleteResult ::= SEQUENCE {
208   managedObjectClass     ObjectClass OPTIONAL,
209   managedObjectInstance  ObjectInstance OPTIONAL,
210   currentTime            [5] IMPLICIT GeneralizedTime OPTIONAL,
211   ...
212 }
213
214 CreateArgument ::= SEQUENCE {
215   managedObjectClass               ObjectClass,
216   managedOrSuperiorObjectInstance
217     CHOICE {managedObjectInstance   ObjectInstance,
218             superiorObjectInstance  [8]  ObjectInstance} OPTIONAL,
219   accessControl                    [5]  AccessControl OPTIONAL,
220   referenceObjectInstance          [6]  ObjectInstance OPTIONAL,
221   attributeList                    [7] IMPLICIT SET OF Attribute OPTIONAL,
222   ...
223 }
224
225 CreateResult ::= SEQUENCE {
226   managedObjectClass     ObjectClass OPTIONAL,
227   managedObjectInstance  ObjectInstance OPTIONAL, -- shall be returned if omitted from CreateArgument
228   currentTime            [5] IMPLICIT GeneralizedTime OPTIONAL,
229   attributeList          [6] IMPLICIT SET OF Attribute OPTIONAL,
230   ...
231 }
232
233 ActionReply ::= SEQUENCE {
234   actionType       OBJECT IDENTIFIER,
235   actionReplyInfo  [4]  ANY
236 }
237
238 ActionResult ::= SEQUENCE {
239   managedObjectClass     ObjectClass OPTIONAL,
240   managedObjectInstance  ObjectInstance OPTIONAL,
241   currentTime            [5] IMPLICIT GeneralizedTime OPTIONAL,
242   actionReply            [6] IMPLICIT ActionReply OPTIONAL,
243   ...
244 }
245
246 ActionArgument ::= SEQUENCE {
247   baseManagedObjectClass     ObjectClass,
248   baseManagedObjectInstance  ObjectInstance,
249   accessControl    [5]  AccessControl OPTIONAL,
250   synchronization  [6] IMPLICIT CMISSync OPTIONAL,
251   scope            [7]  Scope OPTIONAL,
252   filter           CMISFilter OPTIONAL,
253   actionInfo       [12] IMPLICIT ActionInfo,
254   ...
255 }
256
257 ActionInfo ::= SEQUENCE {
258   actionType     OBJECT IDENTIFIER,
259   actionInfoArg  [4]  ANY OPTIONAL
260 }
261
262 ObjectClass ::= CHOICE {
263   ocglobalForm  [0] IMPLICIT OBJECT IDENTIFIER,
264   oclocalForm   [1] IMPLICIT INTEGER
265 }
266
267 ObjectInstance ::= CHOICE {
268   distinguishedName       [2] IMPLICIT DistinguishedName,
269   nonSpecificForm         [3] IMPLICIT OCTET STRING,
270   localDistinguishedName  [4] IMPLICIT RDNSequence
271 }
272
273 BaseManagedObjectId ::= SEQUENCE {
274   baseManagedObjectClass     ObjectClass,
275   baseManagedObjectInstance  ObjectInstance
276 }
277
278 AttributeId ::= CHOICE {
279   globalForm    [0] IMPLICIT OBJECT IDENTIFIER,
280   localForm     [1] IMPLICIT INTEGER
281 }
282
283 Attribute ::= SEQUENCE {
284   id         AttributeId,
285   value      ANY
286 }
287
288 -- This Recommendation | International Standard does not allocate any values for localForm.
289 -- Where this alternative is used, the permissible values for the integers and their meanings shall be defined
290 -- as part of the application context in which they are used
291 FilterItem ::= CHOICE {
292   equality                [0] IMPLICIT Attribute,
293   substrings
294     [1] IMPLICIT SEQUENCE OF
295                    CHOICE {initialString  [0] IMPLICIT Attribute,
296                            anyString      [1] IMPLICIT Attribute,
297                            finalString    [2] IMPLICIT Attribute},
298   greaterOrEqual          [2] IMPLICIT Attribute, -- asserted value ? attribute value
299   lessOrEqual             [3] IMPLICIT Attribute, -- asserted value <= attribute value
300   present                 [4]  AttributeId,
301   subsetOf                [5] IMPLICIT Attribute, -- asserted value is a subset of attribute value
302   supersetOf              [6] IMPLICIT Attribute, -- asserted value is a superset of attribute value
303   nonNullSetIntersection  [7] IMPLICIT Attribute
304 }
305
306 CMISFilter ::= CHOICE {
307   item  [8]  FilterItem,
308   and   [9] IMPLICIT SET OF CMISFilter,
309   or    [10] IMPLICIT SET OF CMISFilter,
310   not   [11]  CMISFilter
311 }
312
313 Scope ::= CHOICE {
314   namedNumbers      INTEGER {baseObject(0), firstLevelOnly(1), wholeSubtree(2)},
315   individualLevels  [1] IMPLICIT INTEGER, -- POSITIVE integer indicates the level to be selected
316   baseToNthLevel    [2] IMPLICIT INTEGER
317 } -- POSITIVE integer N indicates that the range of levels
318
319 CMISSync ::= ENUMERATED {bestEffort(0), atomic(1)}
320
321 -- Supporting type definitions
322 AccessControl ::= EXTERNAL
323
324
325 GetArgument ::= SEQUENCE {
326 --  COMPONENTS OF BaseManagedObjectId,  manually expanded
327   baseManagedObjectClass     ObjectClass,
328   baseManagedObjectInstance  ObjectInstance,
329   accessControl    [5]  AccessControl OPTIONAL,
330   synchronization  [6] IMPLICIT CMISSync OPTIONAL,
331   scope            [7]  Scope OPTIONAL,
332   filter           CMISFilter OPTIONAL,
333   attributeIdList  [12] IMPLICIT SET OF AttributeId OPTIONAL,
334   ...
335 }
336
337 GetResult ::= SEQUENCE {
338   managedObjectClass     ObjectClass OPTIONAL,
339   managedObjectInstance  ObjectInstance OPTIONAL,
340   currentTime            [5] IMPLICIT GeneralizedTime OPTIONAL,
341   attributeList          [6] IMPLICIT SET OF Attribute OPTIONAL,
342   ...
343 }
344
345 Argument ::= ANY
346
347 ReturnResultBody ::= SEQUENCE {
348   opcode      Opcode,
349   argument    Argument
350 }
351
352 InvokeID ::= INTEGER
353
354 Opcode ::= INTEGER { m-EventReport(0), m-EventReport-Confirmed(1), m-Linked-Reply(2), m-Get(3), m-Set(4), m-Set-Confirmed(5), m-Action(6), m-Action-Confirmed(7), m-Create(8), m-Delete(9), m-CancelGet(10) }
355
356 InvokeLinkedId ::= CHOICE {
357   present [0] IMPLICIT InvokeId,
358   absent  [1] IMPLICIT NULL
359 }
360
361 InvokeIDType ::= InvokeId
362
363 InvokeId ::= CHOICE {
364   present InvokeID,
365   absent  NULL
366 }
367
368 Invoke ::= SEQUENCE {
369   invokeId    InvokeId,
370   linkedId    InvokeLinkedId OPTIONAL,
371   opcode      Opcode,
372   argument    Argument OPTIONAL
373 }
374
375 ReturnResult ::= SEQUENCE {
376   invokeId    InvokeId,
377   rRBody      ReturnResultBody OPTIONAL
378 }
379
380 ReturnError ::= SEQUENCE {
381   invokeId    InvokeId
382 --XXX need to fill in missing fields here
383 }
384
385
386 GeneralProblem ::= INTEGER {
387   unrecognizedPDU(0), mistypedPDU(1), badlyStructuredPDU(2)
388 }
389
390 InvokeProblem ::= INTEGER {
391   duplicateInvocation(0), unrecognizedOperation(1), mistypedArgument(2),
392   resourceLimitation(3), releaseInProgress(4), unrecognizedLinkedId(5),
393   linkedResponseUnexpected(6), unexpectedLinkedOperation(7)
394 }
395
396 ReturnResultProblem ::= INTEGER {
397   unrecognizedInvocation(0), resultResponseUnexpected(1), mistypedResult(2)
398 }
399
400 ReturnErrorProblem ::= INTEGER {
401   unrecognizedInvocation(0), errorResponseUnexpected(1), unrecognizedError(2),
402   unexpectedError(3), mistypedParameter(4)
403 }
404
405 RejectProblem ::= INTEGER {
406   general-unrecognizedPDU(0), general-mistypedPDU(1),
407   general-badlyStructuredPDU(2), invoke-duplicateInvocation(10),
408   invoke-unrecognizedOperation(11), invoke-mistypedArgument(12),
409   invoke-resourceLimitation(13), invoke-releaseInProgress(14),
410   invoke-unrecognizedLinkedId(15), invoke-linkedResponseUnexpected(16),
411   invoke-unexpectedLinkedOperation(17),
412   returnResult-unrecognizedInvocation(20),
413   returnResult-resultResponseUnexpected(21), returnResult-mistypedResult(22),
414   returnError-unrecognizedInvocation(30),
415   returnError-errorResponseUnexpected(31), returnError-unrecognizedError(32),
416   returnError-unexpectedError(33), returnError-mistypedParameter(34)
417 }
418
419 RejectProb ::= CHOICE {
420   generalProblem      [0] IMPLICIT GeneralProblem,
421   invokeProblem       [1] IMPLICIT InvokeProblem,
422   returnResultProblem [2] IMPLICIT ReturnResultProblem,
423   returnErrorProblem  [3] IMPLICIT ReturnErrorProblem
424 }
425   
426 Reject ::= SEQUENCE {
427   invokeId      InvokeId,
428   rejectProblem RejectProb
429 }
430
431 ROS ::= CHOICE {
432   invoke       [1] IMPLICIT Invoke,
433   returnResult [2] IMPLICIT ReturnResult,
434   returnError  [3] IMPLICIT ReturnError,
435   reject       [4] IMPLICIT Reject
436 }
437
438
439
440
441
442
443 -- CMIP-A-ABORT
444 --      Information carried in user-information parameter of A-ABORT
445 CMIPAbortInfo ::= SEQUENCE {
446   abortSource  [0] IMPLICIT CMIPAbortSource,
447   userInfo     [1]  EXTERNAL OPTIONAL
448 }
449
450 CMIPAbortSource ::= ENUMERATED {cmiseServiceUser(0), cmiseServiceProvider(1)}
451
452
453
454
455 -- CMIP-A-ASSOCIATE
456 FunctionalUnits ::= BIT STRING {
457   multipleObjectSelection(0), filter(1), multipleReply(2), extendedService(3),
458   cancelGet(4)}
459
460 --      Functional unit i is supported if and only if bit i is one
461 --      Information carried in user-information parameter of A-ASSOCIATE
462 CMIPUserInfo ::= SEQUENCE {
463   protocolVersion  [0] IMPLICIT ProtocolVersion OPTIONAL,
464   functionalUnits  [1] IMPLICIT FunctionalUnits OPTIONAL,
465   accessControl    [2]  EXTERNAL OPTIONAL,
466   userInfo         [3]  EXTERNAL OPTIONAL
467 }
468
469 ProtocolVersion ::= BIT STRING {version1(0), version2(1)}
470
471 END
472
473 -- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
474