Revert "TODO epan/dissectors/asn1/kerberos/packet-kerberos-template.c new GSS flags"
[wireshark-sm.git] / epan / dissectors / asn1 / t125 / MCS-PROTOCOL.asn
blob95fda658870fa75706422104172000cb3ad8d673
1 -- Module MCS-PROTOCOL (T.125:02/1998)
2 MCS-PROTOCOL DEFINITIONS ::=
3 BEGIN
5 --  Part 1: Fundamental MCS types
6 ChannelId ::= INTEGER(0..65535) --  range is 16 bits
7                      
9 StaticChannelId ::= ChannelId(1..1000) --  those known permanently
10                              
12 DynamicChannelId ::= ChannelId(1001..65535) --  those created and deleted
13                               
15 UserId ::= DynamicChannelId --  created by Attach-User
17 --  deleted by Detach-User
18 PrivateChannelId ::=
19   DynamicChannelId --  created by Channel-Convene
21 --  deleted by Channel-Disband
22 AssignedChannelId ::=
23   DynamicChannelId --  created by Channel-Join zero
25 --  deleted by last Channel-Leave
26 TokenId ::= INTEGER(1..65535) --  all are known permanently
27                    
29 TokenStatus ::= ENUMERATED {
30   notInUse(0), selfGrabbed(1), otherGrabbed(2), selfInhibited(3),
31   otherInhibited(4), selfRecipient(5), selfGiving(6), otherGiving(7)}
33 DataPriority ::= ENUMERATED {top(0), high(1), medium(2), low(3)}
35 Segmentation ::= BIT STRING {begin(0), end(1)}(SIZE (2))
37 DomainParameters ::= SEQUENCE {
38   maxChannelIds    INTEGER(0..MAX),
39   --  a limit on channel ids in use,
40   --  static + user id + private + assigned
41   maxUserIds       INTEGER(0..MAX),
42   --  a sublimit on user id channels alone
43   maxTokenIds      INTEGER(0..MAX),
44   --  a limit on token ids in use
45   --  grabbed + inhibited + giving + ungivable + given
46   numPriorities    INTEGER(0..MAX),
47   --  the number of TCs in an MCS connection
48   minThroughput    INTEGER(0..MAX),
49   --  the enforced number of octets per second
50   maxHeight        INTEGER(0..MAX),
51   --  a limit on the height of a provider
52   maxMCSPDUsize    INTEGER(0..MAX),
53   --  an octet limit on domain MCSPDUs
54   protocolVersion  INTEGER(0..MAX)
57 --  Part 2: Connect provider
58 Connect-Initial ::= [APPLICATION 101] IMPLICIT SEQUENCE {
59   callingDomainSelector  OCTET STRING,
60   calledDomainSelector   OCTET STRING,
61   upwardFlag             BOOLEAN,
62   --  TRUE if called provider is higher
63   targetParameters       DomainParameters,
64   minimumParameters      DomainParameters,
65   maximumParameters      DomainParameters,
66   userData               OCTET STRING
69 Connect-Response ::= [APPLICATION 102] IMPLICIT SEQUENCE {
70   result            Result,
71   calledConnectId   INTEGER(0..MAX),
72   --  assigned by the called provider
73   --  to identify additional TCs of 
74   --  the same MCS connection
75   domainParameters  DomainParameters,
76   userData          OCTET STRING
79 Connect-Additional ::= [APPLICATION 103] IMPLICIT SEQUENCE {
80   calledConnectId  INTEGER(0..MAX),
81   dataPriority     DataPriority
84 Connect-Result ::= [APPLICATION 104] IMPLICIT SEQUENCE {result  Result
87 --  Part 3: Merge domain
88 PlumbDomainIndication ::= [APPLICATION 0] IMPLICIT SEQUENCE {
89   heightLimit  INTEGER(0..MAX)
90 } --  a restriction on the MCSPDU receiver
92 ErectDomainRequest ::= [APPLICATION 1] IMPLICIT SEQUENCE {
93   subHeight    INTEGER(0..MAX),
94   --  height in domain of the MCSPDU transmitter
95   subInterval  INTEGER(0..MAX)
96 } --  its throughput enforcement interval in milliseconds
98 ChannelAttributes ::= CHOICE {
99   static    [0] IMPLICIT SEQUENCE {channelId  StaticChannelId}, --  joined is implicitly TRUE
100   userId
101     [1] IMPLICIT SEQUENCE {joined  BOOLEAN,
102                            --  TRUE if user is joined to its user id
103                            userId  UserId},
104   private
105     [2] IMPLICIT SEQUENCE {joined     BOOLEAN,
106                            --  TRUE if channel id is joined below
107                            channelId  PrivateChannelId,
108                            manager    UserId,
109                            admitted   SET OF UserId}, --  may span multiple MergeChannelsRequest
110   assigned  [3] IMPLICIT SEQUENCE {channelId  AssignedChannelId} --  joined is implicitly TRUE
113 MergeChannelsRequest ::= [APPLICATION 2] IMPLICIT SEQUENCE {
114   mergeChannels    SET OF ChannelAttributes,
115   purgeChannelIds  SET OF ChannelId
118 MergeChannelsConfirm ::= [APPLICATION 3] IMPLICIT SEQUENCE {
119   mergeChannels    SET OF ChannelAttributes,
120   purgeChannelIds  SET OF ChannelId
123 PurgeChannelsIndication ::= [APPLICATION 4] IMPLICIT SEQUENCE {
124   detachUserIds    SET OF UserId,
125   --  purge user id channels
126   purgeChannelIds  SET OF ChannelId
127 } --  purge other channels
129 TokenAttributes ::= CHOICE {
130   grabbed    [0] IMPLICIT SEQUENCE {tokenId  TokenId,
131                                     grabber  UserId},
132   inhibited
133     [1] IMPLICIT SEQUENCE {tokenId     TokenId,
134                            inhibitors  SET OF UserId}, --  may span multiple MergeTokensRequest
135   giving
136     [2] IMPLICIT SEQUENCE {tokenId    TokenId,
137                            grabber    UserId,
138                            recipient  UserId},
139   ungivable  [3] IMPLICIT SEQUENCE {tokenId  TokenId,
140                                     grabber  UserId}, --  recipient has since detached
141   given      [4] IMPLICIT SEQUENCE {tokenId    TokenId,
142                                     recipient  UserId} --  grabber released or detached
145 MergeTokensRequest ::= [APPLICATION 5] IMPLICIT SEQUENCE {
146   mergeTokens    SET OF TokenAttributes,
147   purgeTokenIds  SET OF TokenId
150 MergeTokensConfirm ::= [APPLICATION 6] IMPLICIT SEQUENCE {
151   mergeTokens    SET OF TokenAttributes,
152   purgeTokenIds  SET OF TokenId
155 PurgeTokensIndication ::= [APPLICATION 7] IMPLICIT SEQUENCE {
156   purgeTokenIds  SET OF TokenId
159 --  Part 4: Disconnect provider
160 DisconnectProviderUltimatum ::= [APPLICATION 8] IMPLICIT SEQUENCE {
161   reason  Reason
164 RejectMCSPDUUltimatum ::= [APPLICATION 9] IMPLICIT SEQUENCE {
165   diagnostic     Diagnostic,
166   initialOctets  OCTET STRING
169 --  Part 5: Attach/Detach user
170 AttachUserRequest ::= [APPLICATION 10] IMPLICIT SEQUENCE {
173 AttachUserConfirm ::= [APPLICATION 11] IMPLICIT SEQUENCE {
174   result     Result,
175   initiator  UserId OPTIONAL
178 DetachUserRequest ::= [APPLICATION 12] IMPLICIT SEQUENCE {
179   reason   Reason,
180   userIds  SET OF UserId
183 DetachUserIndication ::= [APPLICATION 13] IMPLICIT SEQUENCE {
184   reason   Reason,
185   userIds  SET OF UserId
188 --  Part 6: Channel management
189 ChannelJoinRequest ::= [APPLICATION 14] IMPLICIT SEQUENCE {
190   initiator  UserId,
191   channelId  ChannelId
192 } --  may be zero
194 ChannelJoinConfirm ::= [APPLICATION 15] IMPLICIT SEQUENCE {
195   result     Result,
196   initiator  UserId,
197   requested  ChannelId,
198   --  may be zero
199   channelId  ChannelId OPTIONAL
202 ChannelLeaveRequest ::= [APPLICATION 16] IMPLICIT SEQUENCE {
203   channelIds  SET OF ChannelId
206 ChannelConveneRequest ::= [APPLICATION 17] IMPLICIT SEQUENCE {initiator  UserId
209 ChannelConveneConfirm ::= [APPLICATION 18] IMPLICIT SEQUENCE {
210   result     Result,
211   initiator  UserId,
212   channelId  PrivateChannelId OPTIONAL
215 ChannelDisbandRequest ::= [APPLICATION 19] IMPLICIT SEQUENCE {
216   initiator  UserId,
217   channelId  PrivateChannelId
220 ChannelDisbandIndication ::= [APPLICATION 20] IMPLICIT SEQUENCE {
221   channelId  PrivateChannelId
224 ChannelAdmitRequest ::= [APPLICATION 21] IMPLICIT SEQUENCE {
225   initiator  UserId,
226   channelId  PrivateChannelId,
227   userIds    SET OF UserId
230 ChannelAdmitIndication ::= [APPLICATION 22] IMPLICIT SEQUENCE {
231   initiator  UserId,
232   channelId  PrivateChannelId,
233   userIds    SET OF UserId
236 ChannelExpelRequest ::= [APPLICATION 23] IMPLICIT SEQUENCE {
237   initiator  UserId,
238   channelId  PrivateChannelId,
239   userIds    SET OF UserId
242 ChannelExpelIndication ::= [APPLICATION 24] IMPLICIT SEQUENCE {
243   channelId  PrivateChannelId,
244   userIds    SET OF UserId
247 --  Part 7: Data transfer
248 SendDataRequest ::= [APPLICATION 25] IMPLICIT SEQUENCE {
249   initiator     UserId,
250   channelId     ChannelId,
251   dataPriority  DataPriority,
252   segmentation  Segmentation,
253   userData      OCTET STRING
256 SendDataIndication ::= [APPLICATION 26] IMPLICIT SEQUENCE {
257   initiator     UserId,
258   channelId     ChannelId,
259   dataPriority  DataPriority,
260   segmentation  Segmentation,
261   userData      OCTET STRING
264 UniformSendDataRequest ::= [APPLICATION 27] IMPLICIT SEQUENCE {
265   initiator     UserId,
266   channelId     ChannelId,
267   dataPriority  DataPriority,
268   segmentation  Segmentation,
269   userData      OCTET STRING
272 UniformSendDataIndication ::= [APPLICATION 28] IMPLICIT SEQUENCE {
273   initiator     UserId,
274   channelId     ChannelId,
275   dataPriority  DataPriority,
276   segmentation  Segmentation,
277   userData      OCTET STRING
280 --  Part 8: Token management
281 TokenGrabRequest ::= [APPLICATION 29] IMPLICIT SEQUENCE {
282   initiator  UserId,
283   tokenId    TokenId
286 TokenGrabConfirm ::= [APPLICATION 30] IMPLICIT SEQUENCE {
287   result       Result,
288   initiator    UserId,
289   tokenId      TokenId,
290   tokenStatus  TokenStatus
293 TokenInhibitRequest ::= [APPLICATION 31] IMPLICIT SEQUENCE {
294   initiator  UserId,
295   tokenId    TokenId
298 TokenInhibitConfirm ::= [APPLICATION 32] IMPLICIT SEQUENCE {
299   result       Result,
300   initiator    UserId,
301   tokenId      TokenId,
302   tokenStatus  TokenStatus
305 TokenGiveRequest ::= [APPLICATION 33] IMPLICIT SEQUENCE {
306   initiator  UserId,
307   tokenId    TokenId,
308   recipient  UserId
311 TokenGiveIndication ::= [APPLICATION 34] IMPLICIT SEQUENCE {
312   initiator  UserId,
313   tokenId    TokenId,
314   recipient  UserId
317 TokenGiveResponse ::= [APPLICATION 35] IMPLICIT SEQUENCE {
318   result     Result,
319   recipient  UserId,
320   tokenId    TokenId
323 TokenGiveConfirm ::= [APPLICATION 36] IMPLICIT SEQUENCE {
324   result       Result,
325   initiator    UserId,
326   tokenId      TokenId,
327   tokenStatus  TokenStatus
330 TokenPleaseRequest ::= [APPLICATION 37] IMPLICIT SEQUENCE {
331   initiator  UserId,
332   tokenId    TokenId
335 TokenPleaseIndication ::= [APPLICATION 38] IMPLICIT SEQUENCE {
336   initiator  UserId,
337   tokenId    TokenId
340 TokenReleaseRequest ::= [APPLICATION 39] IMPLICIT SEQUENCE {
341   initiator  UserId,
342   tokenId    TokenId
345 TokenReleaseConfirm ::= [APPLICATION 40] IMPLICIT SEQUENCE {
346   result       Result,
347   initiator    UserId,
348   tokenId      TokenId,
349   tokenStatus  TokenStatus
352 TokenTestRequest ::= [APPLICATION 41] IMPLICIT SEQUENCE {
353   initiator  UserId,
354   tokenId    TokenId
357 TokenTestConfirm ::= [APPLICATION 42] IMPLICIT SEQUENCE {
358   initiator    UserId,
359   tokenId      TokenId,
360   tokenStatus  TokenStatus
363 --  Part 9: Status codes
364 --  in DisconnectProviderUltimatum, DetachUserRequest, DetachUserIndication
365 Reason ::= ENUMERATED {
366   rn-domain-disconnected(0), rn-provider-initiated(1), rn-token-purged(2),
367   rn-user-requested(3), rn-channel-purged(4)}
369 --  in Connect, response, confirm
370 Result ::= ENUMERATED {
371   rt-successful(0), rt-domain-merging(1), rt-domain-not-hierarchical(2),
372   rt-no-such-channel(3), rt-no-such-domain(4), rt-no-such-user(5),
373   rt-not-admitted(6), rt-other-user-id(7), rt-parameters-unacceptable(8),
374   rt-token-not-available(9), rt-token-not-possessed(10),
375   rt-too-many-channels(11), rt-too-many-tokens(12), rt-too-many-users(13),
376   rt-unspecified-failure(14), rt-user-rejected(15)}
378 --  in RejectMCSPDUUltimatum
379 Diagnostic ::= ENUMERATED {
380   dc-inconsistent-merge(0), dc-forbidden-PDU-downward(1),
381   dc-forbidden-PDU-upward(2), dc-invalid-BER-encoding(3),
382   dc-invalid-PER-encoding(4), dc-misrouted-user(5), dc-unrequested-confirm(6),
383   dc-wrong-transport-priority(7), dc-channel-id-conflict(8),
384   dc-token-id-conflict(9), dc-not-user-id-channel(10),
385   dc-too-many-channels(11), dc-too-many-tokens(12), dc-too-many-users(13)
388 --  Part 10: MCSPDU repertoire
389 ConnectMCSPDU ::= CHOICE {
390   connect-initial     Connect-Initial,
391   connect-response    Connect-Response,
392   connect-additional  Connect-Additional,
393   connect-result      Connect-Result
396 DomainMCSPDU ::= CHOICE {
397   plumbDomainIndication        PlumbDomainIndication,
398   erectDomainRequest           ErectDomainRequest,
399   mergeChannelsRequest         MergeChannelsRequest,
400   mergeChannelsConfirm         MergeChannelsConfirm,
401   purgeChannelsIndication      PurgeChannelsIndication,
402   mergeTokensRequest           MergeTokensRequest,
403   mergeTokensConfirm           MergeTokensConfirm,
404   purgeTokensIndication        PurgeTokensIndication,
405   disconnectProviderUltimatum  DisconnectProviderUltimatum,
406   rejectMCSPDUUltimatum        RejectMCSPDUUltimatum,
407   attachUserRequest            AttachUserRequest,
408   attachUserConfirm            AttachUserConfirm,
409   detachUserRequest            DetachUserRequest,
410   detachUserIndication         DetachUserIndication,
411   channelJoinRequest           ChannelJoinRequest,
412   channelJoinConfirm           ChannelJoinConfirm,
413   channelLeaveRequest          ChannelLeaveRequest,
414   channelConveneRequest        ChannelConveneRequest,
415   channelConveneConfirm        ChannelConveneConfirm,
416   channelDisbandRequest        ChannelDisbandRequest,
417   channelDisbandIndication     ChannelDisbandIndication,
418   channelAdmitRequest          ChannelAdmitRequest,
419   channelAdmitIndication       ChannelAdmitIndication,
420   channelExpelRequest          ChannelExpelRequest,
421   channelExpelIndication       ChannelExpelIndication,
422   sendDataRequest              SendDataRequest,
423   sendDataIndication           SendDataIndication,
424   uniformSendDataRequest       UniformSendDataRequest,
425   uniformSendDataIndication    UniformSendDataIndication,
426   tokenGrabRequest             TokenGrabRequest,
427   tokenGrabConfirm             TokenGrabConfirm,
428   tokenInhibitRequest          TokenInhibitRequest,
429   tokenInhibitConfirm          TokenInhibitConfirm,
430   tokenGiveRequest             TokenGiveRequest,
431   tokenGiveIndication          TokenGiveIndication,
432   tokenGiveResponse            TokenGiveResponse,
433   tokenGiveConfirm             TokenGiveConfirm,
434   tokenPleaseRequest           TokenPleaseRequest,
435   tokenPleaseIndication        TokenPleaseIndication,
436   tokenReleaseRequest          TokenReleaseRequest,
437   tokenReleaseConfirm          TokenReleaseConfirm,
438   tokenTestRequest             TokenTestRequest,
439   tokenTestConfirm             TokenTestConfirm
444 -- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D