home *** CD-ROM | disk | FTP | other *** search
/ Chip 1998 March / CHIPCD_3_98.iso / software / testsoft / exchange / mtadata / x500dap.tpl < prev    next >
Text File  |  1997-08-25  |  31KB  |  722 lines

  1. (* X5OODAP .TPL *)
  2. (*****************************************************************************)
  3. (* ASN.1 X.500 Directory Access Protocol Template                            *)
  4. (*                                                                           *)
  5. (* - Defines:                                                                *)
  6. (*    - Bind and Unbind to DSA (X.511)                                       *)
  7. (*    - readASE Remote Operations (X.511)                                    *)
  8. (*       - Abandon                                                           *)
  9. (*       - Compare                                                           *)
  10. (*       - Read                                                              *)
  11. (* - Extensions not supported yet                 (??)                       *)
  12. (* tagging of strong credentials and external procedure IS WRONG!            *)
  13. (* eg need tag for 5stcr, 5toks....                                          */
  14. (*****************************************************************************)
  15.  
  16. (*****************************************************************************)
  17. (* DirectoryBind Operation                                                   *)
  18. (*****************************************************************************)
  19.  
  20.  
  21. DirectoryBindArgChoice     LABEL     = 5barc
  22.                            STRUCTURE = CHOICE
  23.                            TAG       = (C 16 C)
  24.                            CHILDREN  = { <5barg, U 17 C,O,0> }
  25.  
  26. DirectoryBindArgument      LABEL     = 5barg
  27.                            STRUCTURE = SET
  28.                            CHILDREN  = { <5cred, C  0 C,O,0>,
  29.                                          <5vers, C  1 P,D,0>E}
  30.  
  31. Credentials                LABEL     = 5cred
  32.                            STRUCTURE = CHOICE
  33.                            TAG       = (C 0 C)
  34.                            CHILDREN  = { <5sicr, C  0 C,O,0> ,
  35.                                          <5stcr, C  1 C,O,0> ,
  36.                                          <5extn, C  2 C,O,0> }
  37.  
  38. SimpleCredentials          LABEL     = 5sicr
  39.                            STRUCTURE = SEQUENCE
  40.                            CHILDREN  = { <5sicn, C  0 C,M,0> ,
  41.                                          <5cval, C  1 C,O,0> ,
  42.                                          <5pass, C  2 P,O,0> }
  43.  
  44. name                       LABEL     = 5sicn
  45.                            STRUCTURE = SEQUENCE OF
  46.                            CHILDREN  = { <5rldn, U 17 C,O,0> }
  47.  
  48. validity                   LABEL     = 5cval
  49.                            STRUCTURE = SET
  50.                            CHILDREN  = { <5tim1, C  0 P,O,0>E,
  51.                                          <5tim2, C  1 P,O,0>E,
  52.                                          <5rnd1, C  2 P,O,0>E,
  53.                                          <5rnd2, C  3 P,O,0>E }
  54.  
  55. time1                      LABEL     = 5tim1
  56.                            STRUCTURE = UTC TIME
  57.  
  58. time2                      LABEL     = 5tim2
  59.                            STRUCTURE = UTC TIME
  60.  
  61. random1                    LABEL     = 5rnd1
  62.                            STRUCTURE = BITSTRING
  63.  
  64. random2                    LABEL     = 5rnd2
  65.                            STRUCTURE = BITSTRING
  66.  
  67. password                   LABEL     = 5pass
  68.                            STRUCTURE = OCTETSTRING
  69.  
  70. External                   LABEL     = 5extn
  71.                            STRUCTURE = SEQUENCE
  72.                            CHILDREN  = { <5dref, U 6 P,O,0>,
  73.                                          <5iref, U 2 P,O,0>,
  74.                                          <5dvds, U 7 P,O,0>,
  75.                                          <5encd, U 0 P,O,0> }
  76.  
  77. Direct Reference           LABEL     = 5dref
  78.                            STRUCTURE = OBJECT IDENTIFIER
  79.  
  80. Indirect Reference         LABEL     = 5iref
  81.                            STRUCTURE = INTEGER
  82.  
  83. Data Value Descriptor      LABEL     = 5dvds
  84.                            STRUCTURE = OBJECT DESCRIPTOR
  85.  
  86. Encoding                   LABEL     = 5encd
  87.                            STRUCTURE = CHOICE
  88.                            CHILDREN  = { <5asn1, C 0 C,O,0>,
  89.                                          <5octa, C 1 P,O,0>,
  90.                                          <5arbi, C 2 P,O,0> }
  91.  
  92. Single ASN.1 Type          LABEL     = 5asn1
  93.                            STRUCTURE = ANY
  94.                            TAG       = (C 0 C)
  95.                            CHILDREN  = { }
  96.  
  97. Octet Aligned              LABEL     = 5octa
  98.                            STRUCTURE = OCTETSTRING
  99.  
  100. Arbitrary                  LABEL     = 5arbi
  101.                            STRUCTURE = BIT STRING
  102.  
  103. StrongCredentials          LABEL     = 5stcr
  104.                            STRUCTURE = SET
  105.                            CHILDREN  = { <5cpth, C  0 C,O,0> ,
  106.                                          <5toks, C  1 C,M,0> }
  107.  
  108. Token (SIGNED)             LABEL     = 5toks
  109.                            STRUCTURE = SEQUENCE
  110.                            CHILDREN  = { <5tokn, U 16 C,M,0> ,
  111.                                          <5algi, U 16 C,M,0> ,
  112.                                          <5encr, U  3 P,M,0> }
  113.  
  114. Token                      LABEL     = 5tokn
  115.                            STRUCTURE = SEQUENCE
  116.                            CHILDREN  = { <5tkal, C  0 C,M,0> ,
  117.                                          <5tnam, C  1 C,M,0> ,
  118.                                          <5time, C  2 P,M,0> ,
  119.                                          <5rndm, C  3 P,M,0> }
  120.  
  121. name                       LABEL     = 5tnam
  122.                            STRUCTURE = SEQUENCE OF
  123.                            CHILDREN  = { <5rldn, U 17 C,O,0> }
  124.  
  125. algorithm                  LABEL     = 5tkal
  126.                            STRUCTURE = SEQUENCE
  127.                            CHILDREN  = { <5algm, U  6 P,M,0> ,
  128.                                          <5prms, U  0 P,O,0> }
  129.  
  130. time                       LABEL     = 5time
  131.                            STRUCTURE = UTC TIME
  132.  
  133. random                     LABEL     = 5rndm
  134.                            STRUCTURE = BITSTRING
  135.  
  136. Versions                   LABEL     = 5vers
  137.                            STRUCTURE = BITSTRING
  138.  
  139. DirectoryBindResChoice     LABEL     = 5brsc
  140.                            STRUCTURE = CHOICE
  141.                            TAG       = (C 17 C)
  142.                            CHILDREN  = { <5barg, U 17 C,O,0> }
  143.  
  144. DirectoryBindErrChoice     LABEL     = 5berc
  145.                            STRUCTURE = CHOICE
  146.                            TAG       = (C 18 C)
  147.                            CHILDREN  = { <5berr, U 17 C,O,0> }
  148.  
  149. DirectoryBindError         LABEL     = 5berr
  150.                            STRUCTURE = SET
  151.                            CHILDREN  = { <5vers, C  0 P,D,0> ,
  152.                                          <5bech, U  0 P,M,0> }
  153.  
  154. bindErrorTypeChoice        LABEL     = 5bech
  155.                            STRUCTURE = CHOICE
  156.                            CHILDREN  = { <5svet, C  1 P,O,0> ,
  157.                                          <5scet, C  2 P,O,0> }
  158.  
  159. ServiceErrorTag            LABEL     = 5svet
  160.                            STRUCTURE = TAG
  161.                            CHILDREN  = { <5prot, U 02 P,M,0> }
  162.  
  163. SecurityErrorTag           LABEL     = 5scet
  164.                            STRUCTURE = TAG
  165.                            CHILDREN  = { <5prot, U 02 P,M,0> }
  166.  
  167.  
  168.  
  169. (*****************************************************************************)
  170. (* DirectoryUnbind Operation has no parameters (Argument/Result/Error)       *)
  171. (*****************************************************************************)
  172.  
  173.  
  174. (*****************************************************************************)
  175. (* Remote Operations APDU Definitions for DUA Operations                     *)
  176. (*****************************************************************************)
  177.  
  178. ROSEapdu                   LABEL     = 5apdu
  179.                            STRUCTURE = UNTAGGED CHOICE
  180.                            CHILDREN  = { <5roiv, C  1 C,O,0>E,
  181.                                          <5rors, C  2 C,O,0>,
  182.                                          <5roer, C  3 C,O,0>,
  183.                                          <5rorj, C  4 C,O,0> }
  184.  
  185. ROIVapdu                   LABEL     = 5roiv
  186.                            STRUCTURE = SEQUENCE
  187.                            CHILDREN  = { <5inid, U  2 P,M,0>,
  188.                                          <5lkid, C  0 P,O,0>E,
  189.                                          <5oper, U  0 P,M,0>*,
  190.                                          <5args, U  0 P,O,0>E}
  191.  
  192. InvokeID                   LABEL     = 5inid
  193.                            STRUCTURE = INTEGER
  194.  
  195. LinkedID                   LABEL     = 5lkid
  196.                            STRUCTURE = INTEGER
  197.  
  198. Operation                  LABEL     = 5oper
  199.                            STRUCTURE = CHOICE
  200.                            CHILDREN  = { <5opri, U  2 P,O,0>*,
  201.                                          <5opro, U  6 P,O,0>* }
  202.  
  203. OperationInteger           LABEL     = 5opri
  204.                            STRUCTURE = INTEGER
  205.  
  206. OperationObjectIdentifier  LABEL     = 5opro
  207.                            STRUCTURE = OBJECT IDENTIFIER
  208.  
  209. (* this is an untagged any defined by ! *)
  210. Arguments                  LABEL     = 5args
  211.                            STRUCTURE = ANY DEFINED BY
  212.                            DEFGLABEL = 5oper
  213.                            REGISTER  = { <01,5read, U  0 P,0>E,
  214.                                          <02,5cmpr, U  0 P,0>E,
  215.                                          <03,5aban, U 16 C,0>E }
  216.  
  217. RORSapdu                   LABEL     = 5rors
  218.                            STRUCTURE = SEQUENCE
  219.                            CHILDREN  = { <5inid, U  2 P,M,0>,
  220.                                          <5rslt, U 16 C,O,0> }
  221.  
  222. ResultPair                 LABEL     = 5rslt
  223.                            STRUCTURE = SEQUENCE
  224.                            CHILDREN  = { <5oper, U  0 P,M,0>*,
  225.                                          <5rlts, U  0 P,M,0> }
  226.  
  227. (* this is an untagged any defined by ! *)
  228. Results                    LABEL     = 5rlts
  229.                            STRUCTURE = ANY DEFINED BY
  230.                            DEFGLABEL = 5oper
  231.                            REGISTER  = { <01,5rdrs, U  0 P,0>,
  232.                                          <02,5cmrs, U  0 P,0>,
  233.                                          <03,5null, U  5 P,0> }
  234.  
  235. ROERapdu                   LABEL     = 5roer
  236.                            STRUCTURE = SEQUENCE
  237.                            CHILDREN  = { <5inid, U  2 P,M,0>,
  238.                                          <5errv, U  0 P,M,0>*,
  239.                                          <5errp, U  0 P,O,0>  }
  240.  
  241. ErrorValue                 LABEL     = 5errv
  242.                            STRUCTURE = CHOICE
  243.                            CHILDREN  = { <5erri, U  2 P,O,0>*,
  244.                                          <5erro, U  6 P,O,0>* }
  245.  
  246. ErrorValueInteger          LABEL     = 5erri
  247.                            STRUCTURE = INTEGER
  248.  
  249. ErrorValueObjectIdentifier LABEL     = 5erro
  250.                            STRUCTURE = OBJECT IDENTIFIER
  251.  
  252. (* this is an untagged any defined by ! *)
  253. ErrorParameters            LABEL     = 5errp
  254.                            STRUCTURE = ANY DEFINED BY
  255.                            DEFGLABEL = 5errv
  256.                            REGISTER  = { <01,5ater, U 17 C,0>,
  257.                                          <02,5nmer, U 17 C,0>,
  258.                                          <03,5sver, U 17 C,0>,
  259.                                          <04,5rfrl, U 17 C,0>,
  260.                                          <05,5null, U  5 P,0>,
  261.                                          <06,5scer, U 17 C,0>,
  262.                                          <07,5abfl, U 17 C,0>,
  263.                                          <08,5uper, U 17 C,0> }
  264.  
  265. RORJapdu                   LABEL     = 5rorj
  266.                            STRUCTURE = SEQUENCE
  267.                            CHILDREN  = { <5inrj, U  0 P,M,0>,
  268.                                          <5prbm, U  0 P,M,0> }
  269.  
  270. RORJInvokeidChoice         LABEL     = 5inrj
  271.                            STRUCTURE = CHOICE
  272.                            CHILDREN  = { <5inid, U  2 P,O,0>,
  273.                                          <5null, U  5 P,O,0> }
  274.  
  275. Null                       LABEL     = 5null
  276.                            STRUCTURE = NULL
  277.  
  278. RORJProblemChoice          LABEL     = 5prbm
  279.                            STRUCTURE = CHOICE
  280.                            CHILDREN  = { <5grlp, C  0 P,O,0>,
  281.                                          <5ivkp, C  1 P,O,0>,
  282.                                          <5rrsp, C  2 P,O,0>,
  283.                                          <5rerp, C  3 P,O,0> }
  284.  
  285. GeneralProblem             LABEL     = 5grlp
  286.                            STRUCTURE = INTEGER
  287.  
  288. InvokeProblem              LABEL     = 5ivkp
  289.                            STRUCTURE = INTEGER
  290.  
  291. ReturnResultProblem        LABEL     = 5rrsp
  292.                            STRUCTURE = INTEGER
  293.  
  294. ReturnErrorProblem         LABEL     = 5rerp
  295.                            STRUCTURE = INTEGER
  296.  
  297.  
  298. (*****************************************************************************)
  299. (* Read Operation Arguments                                                  *)
  300. (*****************************************************************************)
  301.  
  302. ReadArgument (OPT-SIGNED)  LABEL     = 5read
  303.                            STRUCTURE = CHOICE
  304.                            CHILDREN  = { <5reau, U 17 C,O,0>,
  305.                                          <5reas, U 16 C,O,0> }
  306.  
  307. ReadArgument (SIGNED)      LABEL     = 5reas
  308.                            STRUCTURE = SEQUENCE
  309.                            CHILDREN  = { <5reau, U 17 C,M,0> ,
  310.                                          <5algi, U 16 C,M,0> ,
  311.                                          <5encr, U  3 P,M,0> }
  312.  
  313. ReadArgument               LABEL     = 5reau
  314.                            STRUCTURE = SET
  315.                            CHILDREN  = { <5objc, C  0 C,M,0> ,
  316.                                          <5entt, C  1 C,D,0> ,
  317.                                          <5sctt, C 30 C,D,0> ,
  318.                                          <5sect, C 29 C,D,0> ,
  319.                                          <5reqt, C 28 C,O,0> ,
  320.                                          <5prgs, C 27 C,D,0> ,
  321.                                          <5alrt, C 26 C,O,0> ,
  322.                                          <5extt, C 25 C,O,0> }
  323.  
  324. object                     LABEL     = 5objc
  325.                            STRUCTURE = CHOICE
  326.                            TAG       = (C 0 C)
  327.                            CHILDREN  = { <5rdns, U 16 C,O,0> }
  328.  
  329. requestorTag               LABEL     = 5reqt
  330.                            STRUCTURE = TAG
  331.                            CHILDREN  = { <5reqr, U 16 C,M,0> }
  332.  
  333. requestor                  LABEL     = 5reqr
  334.                            STRUCTURE = SEQUENCE OF
  335.                            CHILDREN  = { <5rldn, U 17 C,M,0> }
  336.  
  337. (*****************************************************************************)
  338. (* Read Operation Result                                                     *)
  339. (*****************************************************************************)
  340.  
  341. ReadResult (OPT-SIGNED)    LABEL     = 5rdrs
  342.                            STRUCTURE = CHOICE
  343.                            CHILDREN  = { <5rrsu, U 17 C,O,0>,
  344.                                          <5rrss, U 16 C,O,0> }
  345.  
  346. ReadResult (SIGNED)        LABEL     = 5rrss
  347.                            STRUCTURE = SEQUENCE
  348.                            CHILDREN  = { <5rrsu, U 17 C,M,0> ,
  349.                                          <5algi, U 16 C,M,0> ,
  350.                                          <5encr, U  3 P,M,0> }
  351.  
  352. ReadResult                 LABEL     = 5rrsu
  353.                            STRUCTURE = SET
  354.                            CHILDREN  = { <5enrt, C  0 C,M,0> ,
  355.                                          <5scpt, C 30 C,O,0> ,
  356.                                          <5pert, C 29 C,O,0> ,
  357.                                          <5alit, C 28 C,D,0> }
  358.  
  359. performerTag               LABEL     = 5pert
  360.                            STRUCTURE = TAG
  361.                            CHILDREN  = { <5perf, U 16 C,M,0> }
  362.  
  363. performer                  LABEL     = 5perf
  364.                            STRUCTURE = SEQUENCE OF
  365.                            CHILDREN  = { <5rldn, U 17 C,O,0> }
  366.  
  367. aliasDereferencedTag       LABEL     = 5alit
  368.                            STRUCTURE = TAG
  369.                            CHILDREN  = { <5alid, U 01 C,M,0> }
  370.  
  371. aliasDereferenced          LABEL     = 5alid
  372.                            STRUCTURE = BOOLEAN
  373.  
  374. (*****************************************************************************)
  375. (* Compare Operation Arguments                                               *)
  376. (*****************************************************************************)
  377.  
  378. CompareArgument (OPT-SGND) LABEL     = 5cmpr
  379.                            STRUCTURE = CHOICE
  380.                            CHILDREN  = { <5cmpu, U 17 C,O,0>,
  381.                                          <5cmps, U 16 C,O,0> }
  382.  
  383. CompareArgument (SIGNED)   LABEL     = 5cmps
  384.                            STRUCTURE = SEQUENCE
  385.                            CHILDREN  = { <5cmpu, U 17 C,M,0> ,
  386.                                          <5algi, U 16 C,M,0> ,
  387.                                          <5encr, U  3 P,M,0> }
  388.  
  389. CompareArgument            LABEL     = 5cmpu
  390.                            STRUCTURE = SET
  391.                            CHILDREN  = { <5objc, C  0 C,M,0> ,
  392.                                          <5purp, C  1 C,M,0> ,
  393.                                          <5sctt, C 30 C,D,0> ,
  394.                                          <5sect, C 29 C,D,0> ,
  395.                                          <5reqt, C 28 C,O,0> ,
  396.                                          <5prgs, C 27 C,D,0> ,
  397.                                          <5alrt, C 26 C,O,0> ,
  398.                                          <5extt, C 25 C,O,0> }
  399.  
  400. purported                  LABEL     = 5purp
  401.                            STRUCTURE = TAG
  402.                            CHILDREN  = { <5atva, U 16 C,M,0> }
  403.  
  404. (*****************************************************************************)
  405. (* Compare Operation Result                                                  *)
  406. (*****************************************************************************)
  407.  
  408. CompareResult (OPT-SIGNED) LABEL     = 5cmrs
  409.                            STRUCTURE = CHOICE
  410.                            CHILDREN  = { <5crsu, U 17 C,O,0>,
  411.                                          <5crss, U 16 C,O,0> }
  412.  
  413. CompareResult (SIGNED)     LABEL     = 5crss
  414.                            STRUCTURE = SEQUENCE
  415.                            CHILDREN  = { <5crsu, U 17 C,M,0> ,
  416.                                          <5algi, U 16 C,M,0> ,
  417.                                          <5encr, U  3 P,M,0> }
  418.  
  419. CompareResult              LABEL     = 5crsu
  420.                            STRUCTURE = SET
  421.                            CHILDREN  = { <5dstn, U 16 C,O,0> ,
  422.                                          <5mtct, C  0 C,M,0> ,
  423.                                          <5frot, C  1 C,D,0> ,
  424.                                          <5scpt, C 30 C,O,0> ,
  425.                                          <5perf, C 29 C,O,0> ,
  426.                                          <5alit, C 28 C,D,0> }
  427.  
  428. matchedTag                 LABEL     = 5mtct
  429.                            STRUCTURE = TAG
  430.                            CHILDREN  = { <5mtch, U 01 P,M,0> }
  431.  
  432. matched                    LABEL     = 5mtch
  433.                            STRUCTURE = BOOLEAN
  434.  
  435. fromEntryTag               LABEL     = 5frot
  436.                            STRUCTURE = TAG
  437.                            CHILDREN  = { <5from, U 01 P,M,0> }
  438.  
  439. fromEntry                  LABEL     = 5from
  440.                            STRUCTURE = BOOLEAN
  441.  
  442. (*****************************************************************************)
  443. (* Abandon Operation Arguments                                               *)
  444. (*****************************************************************************)
  445.  
  446. AbandonArgument            LABEL     = 5aban
  447.                            STRUCTURE = SEQUENCE
  448.                            CHILDREN  = { <5ivid, C  0 C,M,0> }
  449.  
  450. InvokeID                   LABEL     = 5ivid
  451.                            STRUCTURE = TAG
  452.                            CHILDREN  = { <5inid, C  2 P,M,0> }
  453.  
  454. (*****************************************************************************)
  455. (* Abandon Operation has no Result                                           *)
  456. (*****************************************************************************)
  457.  
  458.  
  459. (*****************************************************************************)
  460. (* Remote Errors                                                             *)
  461. (*****************************************************************************)
  462.  
  463. AbandonFailed              LABEL     = 5abfl
  464.                            STRUCTURE = SET
  465.                            CHILDREN  = { <5prot, C  0 C,M,0> ,
  466.                                          <5ivid, C  1 C,M,0> }
  467.  
  468. AttributeError             LABEL     = 5ater
  469.                            STRUCTURE = SET
  470.                            CHILDREN  = { <5objc, C  0 C,M,0> ,
  471.                                          <5prbt, C  1 C,M,0> }
  472.  
  473. NameError                  LABEL     = 5nmer
  474.                            STRUCTURE = SET
  475.                            CHILDREN  = { <5prot, C  0 C,M,0> ,
  476.                                          <5mtcd, C  1 C,M,0> }
  477.  
  478. Referral                   LABEL     = 5rfrl
  479.                            STRUCTURE = SET
  480.                            CHILDREN  = { <5ctrt, C  0 C,M,0> }
  481.  
  482. SecurityError              LABEL     = 5scer
  483.                            STRUCTURE = SET
  484.                            CHILDREN  = { <5prot, C  0 C,M,0> }
  485.  
  486. ServiceError               LABEL     = 5sver
  487.                            STRUCTURE = SET
  488.                            CHILDREN  = { <5prot, C  0 C,M,0> }
  489.  
  490. UpdateError                LABEL     = 5uper
  491.                            STRUCTURE = SET
  492.                            CHILDREN  = { <5prot, C  0 C,M,0> }
  493.  
  494. problemTag                 LABEL     = 5prot
  495.                            STRUCTURE = TAG
  496.                            CHILDREN  = { <5prob, U 02 P,M,0> }
  497.  
  498. problem                    LABEL     = 5prob
  499.                            STRUCTURE = INTEGER
  500.  
  501. problemsTag                LABEL     = 5prbt
  502.                            STRUCTURE = TAG
  503.                            CHILDREN  = { <5prbs, U 17 C,M,0> }
  504.  
  505. problems                   LABEL     = 5prbs
  506.                            STRUCTURE = SET OF
  507.                            CHILDREN  = { <5pros, U 16 C,O,0> }
  508.  
  509. SEQUENCE {problem,..}      LABEL     = 5pros
  510.                            STRUCTURE = SEQUENCE
  511.                            CHILDREN  = { <5prot, C  0 C,M,0> ,
  512.                                          <5patt, C  1 C,M,0> ,
  513.                                          <5pavl, C  2 C,O,0> }
  514.  
  515. AttributeTypeTag           LABEL     = 5patt
  516.                            STRUCTURE = TAG
  517.                            CHILDREN  = { <5paty, U 06 P,M,0> }
  518.  
  519. AttributeType              LABEL     = 5paty
  520.                            STRUCTURE = OBJECT IDENTIFIER
  521.  
  522. AttributeValue             LABEL     = 5pavl
  523.                            STRUCTURE = ANY
  524.                            TAG       = (C 2 C)
  525.                            CHILDREN  = { }
  526.  
  527. matched                    LABEL     = 5mtcd
  528.                            STRUCTURE = CHOICE
  529.                            TAG       = (C 1 C)
  530.                            CHILDREN  = { <5rdns, U 16 C,O,0> }
  531.  
  532. ContinuationReferenceTag   LABEL     = 5ctrt
  533.                            STRUCTURE = TAG
  534.                            CHILDREN  = { <5ctrf, U 17 C,M,0> }
  535.  
  536. ServiceControlsTag         LABEL     = 5sctt
  537.                            STRUCTURE = TAG
  538.                            CHILDREN  = { <5sctl, U 17 C,M,0> }
  539.  
  540. ServiceControls            LABEL     = 5sctl
  541.                            STRUCTURE = SET
  542.                            CHILDREN  = { <5optt, C  0 C,D,0> ,
  543.                                          <5prit, C  1 C,D,0> ,
  544.                                          <5tlit, C  2 C,O,0> ,
  545.                                          <5slit, C  3 C,O,0> ,
  546.                                          <5scot, C  4 C,O,0>E}
  547.  
  548. optionsTag                 LABEL     = 5optt
  549.                            STRUCTURE = TAG
  550.                            CHILDREN  = { <5opts, U 03 P,M,0> }
  551.  
  552. options                    LABEL     = 5opts
  553.                            STRUCTURE = BITSTRING
  554.  
  555. priorityTag                LABEL     = 5prit
  556.                            STRUCTURE = TAG
  557.                            CHILDREN  = { <5prio, U 02 P,M,0> }
  558.  
  559. priority                   LABEL     = 5prio
  560.                            STRUCTURE = INTEGER
  561.  
  562. timeLimitTag               LABEL     = 5tlit
  563.                            STRUCTURE = TAG
  564.                            CHILDREN  = { <5tlim, U 02 P,M,0> }
  565.  
  566. timeLimit                  LABEL     = 5tlim
  567.                            STRUCTURE = INTEGER
  568.  
  569. sizeLimitTag               LABEL     = 5slit
  570.                            STRUCTURE = TAG
  571.                            CHILDREN  = { <5slim, U 02 P,M,0> }
  572.  
  573. sizeLimit                  LABEL     = 5slim
  574.                            STRUCTURE = INTEGER
  575.  
  576. scopeOfReferralTag         LABEL     = 5scot
  577.                            STRUCTURE = TAG
  578.                            CHILDREN  = { <5scop, U 02 P,M,0> }
  579.  
  580. scopeOfReferral            LABEL     = 5scop
  581.                            STRUCTURE = INTEGER
  582.  
  583. EntryInfoSelectionTag      LABEL     = 5entt
  584.                            STRUCTURE = TAG
  585.                            CHILDREN  = { <5ents, U 17 C,M,0> }
  586.  
  587. EntryInformationSelection  LABEL     = 5ents
  588.                            STRUCTURE = SET
  589.                            CHILDREN  = { <5atys, U  0 C,D,0> ,
  590.                                          <5iftt, C  2 C,D,0> }
  591.  
  592. attributeTypes             LABEL     = 5atys
  593.                            STRUCTURE = CHOICE
  594.                            CHILDREN  = { <5alat, C  0 C,O,0>,
  595.                                          <5sltt, C  1 C,O,0> }
  596.  
  597. allAttributestag           LABEL     = 5alat
  598.                            STRUCTURE = TAG
  599.                            CHILDREN  = { <5altt, U  5 P,M,0>E}
  600.  
  601. allAttributes              LABEL     = 5altt
  602.                            STRUCTURE = NULL
  603.  
  604. selectTag                  LABEL     = 5sltt
  605.                            STRUCTURE = TAG
  606.                            CHILDREN  = { <5slct, U  17 C,M,0> }
  607.  
  608. select                     LABEL     = 5slct
  609.                            STRUCTURE = SET OF
  610.                            CHILDREN  = { <5atsl, U  6 P,O,0> }
  611.  
  612. AttributeTypeSelected      LABEL     = 5atsl
  613.                            STRUCTURE = OBJECT IDENTIFIER
  614.  
  615. infoTypesTag               LABEL     = 5iftt
  616.                            STRUCTURE = TAG
  617.                            CHILDREN  = { <5ifty, U 02 P,M,0> }
  618.  
  619. infoTypes                  LABEL     = 5ifty
  620.                            STRUCTURE = INTEGER
  621.  
  622. EntryInformationTag        LABEL     = 5enrt
  623.                            STRUCTURE = TAG
  624.                            CHILDREN  = { <5enti, U 16 C,M,0> }
  625.  
  626. EntryInformation           LABEL     = 5enti
  627.                            STRUCTURE = SEQUENCE
  628.                            CHILDREN  = { <5dstn, U 16 C,M,0> ,
  629.                                          <5frme, U  1 P,D,0> ,
  630.                                          <5einf, U 17 C,O,0> }
  631.  
  632. fromEntry                  LABEL     = 5frme
  633.                            STRUCTURE = BOOLEAN
  634.  
  635. SET OF CHOICE {Type, Attr} LABEL     = 5einf
  636.                            STRUCTURE = SET OF
  637.                            CHILDREN  = { <5eich, U  0 P,O,0> }
  638.  
  639. CHOICE {AttrType, Attr}    LABEL     = 5eich
  640.                            STRUCTURE = CHOICE
  641.                            CHILDREN  = { <5atty, U  6 P,O,0> ,
  642.                                          <5attr, U 16 C,O,0> }
  643.  
  644. SecurityParamArgumentTag   LABEL     = 5sect
  645.                            STRUCTURE = TAG
  646.                            CHILDREN  = { <5secp, U 17 C,M,0> }
  647.  
  648. SecurityParametersArgument LABEL     = 5secp
  649.                            STRUCTURE = SET
  650.                            CHILDREN  = { <5cpth, C  0 C,O,0> ,
  651.                                          <5secn, C  1 C,O,0> ,
  652.                                          <5scti, C  2 P,O,0> ,
  653.                                          <5secr, C  3 P,O,0> ,
  654.                                          <5prtr, C  4 P,O,0> }
  655.  
  656. SecurityParamResultTag     LABEL     = 5scpt
  657.                            STRUCTURE = TAG
  658.                            CHILDREN  = { <5scpm, U 17 C,M,0> }
  659.  
  660. SecurityParametersResult   LABEL     = 5scpm
  661.                            STRUCTURE = SET
  662.                            CHILDREN  = { <5cpth, C  0 C,O,0> ,
  663.                                          <5secn, C  1 C,O,0> ,
  664.                                          <5scti, C  2 P,O,0> ,
  665.                                          <5secr, C  3 P,O,0> ,
  666.                                          <5prtr, C  4 P,O,0> }
  667.  
  668. name                       LABEL     = 5secn
  669.                            STRUCTURE = CHOICE
  670.                            TAG       = (C 1 C)
  671.                            CHILDREN  = { <5rdns, U 16 C,O,0> }
  672.  
  673. time                       LABEL     = 5scti
  674.                            STRUCTURE = UTC TIME
  675.  
  676. random                     LABEL     = 5secr
  677.                            STRUCTURE = BITSTRING
  678.  
  679. ProtectionRequest          LABEL     = 5prtr
  680.                            STRUCTURE = INTEGER
  681.  
  682. extensionsTag              LABEL     = 5extt
  683.                            STRUCTURE = TAG
  684.                            CHILDREN  = { <5exts, U 17 C,M,0> }
  685.  
  686. extensions                 LABEL     = 5exts
  687.                            STRUCTURE = SET OF
  688.                            CHILDREN  = { <5xten, U 17 C,O,0> }
  689.  
  690. Extension                  LABEL     = 5xten
  691.                            STRUCTURE = SET
  692.                            CHILDREN  = { <5xtit, C  0 C,M,0> ,
  693.                                          <5crtt, C  1 C,D,0> ,
  694.                                          <5itet, C  2 C,M,0> }
  695.  
  696. identifierTag              LABEL     = 5xtit
  697.                            STRUCTURE = TAG
  698.                            CHILDREN  = { <5xtid, U 02 P,M,0> }
  699.  
  700. identifier                 LABEL     = 5xtid
  701.                            STRUCTURE = INTEGER
  702.  
  703. criticalTag                LABEL     = 5crtt
  704.                            STRUCTURE = TAG
  705.                            CHILDREN  = { <5crtc, U 01 P,M,0> }
  706.  
  707. critical                   LABEL     = 5crtc
  708.                            STRUCTURE = BOOLEAN
  709.  
  710. itemTag                    LABEL     = 5itet
  711.                            STRUCTURE = TAG
  712.                            CHILDREN  = { <5item, U  0 C,M,0> }
  713.  
  714. item                       LABEL     = 5item
  715.                            STRUCTURE = ANY DEFINED BY
  716.                            TAG       = (C 2 C)
  717.                            DEFGLABEL = 5xtid
  718.                            REGISTER  = {}
  719.  
  720. (* Not sure that this REGISTER will work. If not then revert to ANY.         *)
  721. !
  722.