(* $Workfile:   rdi.xv2  $ $Revision:   1.9  $ *)
(*****************************************************************************)
(* The following nodes need further study:                                   *)
(* - dppst) and all those that use them                                      *)
(* - dptst)                                                                  *)
(*                                                                           *)
(*****************************************************************************)

(* Generally  common fields                                                  *)

ORName                     LABEL     = dornm               T=IM_FORMAL_NAME
                           STRUCTURE = SEQUENCE            C=MH_C_OR_NAME
                           TAG       = (A 0 C)
                           CHILDREN  = { <dsatt, U 16 C,M,0>E,
                                         <dddal, U 16 C,O,0> ,
                                         <dxatl, U 17 C,O,0> ,
                                         <5nam3, C  0 C,O,0> }

ORName for DS              LABEL     = dorn2               T=n/a
                           STRUCTURE = SEQUENCE            C=MH_C_OR_NAME
                           TAG       = (A 0 C)
                           CHILDREN  = { <dsatt, U 16 C,M,0>E,
                                         <dddal, U 16 C,O,0> ,
                                         <dxatl, U 17 C,O,0> ,
                                         <5nam3, C  0 C,O,0> }

ORName without tag         LABEL     = dorna               T=MS_NAME
                           STRUCTURE = SEQUENCE            C=MH_C_OR_NAME
                           CHILDREN  = { <dsatt, U 16 C,M,0>E,
                                         <dddal, U 16 C,O,0> ,
                                         <dxatl, U 17 C,O,0> ,
                                         <5nam3, C  0 C,O,0> }

ORAddress                  LABEL     = dorad
                           STRUCTURE = SEQUENCE
                           CHILDREN  = { <dsatt, U 16 C,M,0>E,
                                         <dddal, U 16 C,O,0> ,
                                         <dxatl, U 17 C,O,0> }

CountryName                LABEL     = dctry               T=special case
                           STRUCTURE = CHOICE
                           TAG       = (A 1 C)
                           CHILDREN  = { <dc121, U 18 P,O,3>,
                                         <dcacd, U 19 P,O,2>}

CountryNameISO3166Alpha2   LABEL     = dcacd               T=MH_COUNTRY_NAME
                           STRUCTURE = PRINTABLE STRING    C=printable

CountryNameX121DccCode     LABEL     = dc121               T=MH_COUNTRY_NAME
                           STRUCTURE = NUMERIC STRING      C=printable

AdministrationName         LABEL     = dadmd               T=special case
                           STRUCTURE = CHOICE
                           TAG       = (A 2 C)
                           CHILDREN  = { <dadmn, U 18 S,O,16>,
                                         <dadmp, U 19 S,O,16>}

AdminNamePrintable         LABEL     = dadmp               T=MH_ADMD_NAME
                           STRUCTURE = PRINTABLE STRING    C=printable

AdminNameNumeric           LABEL     = dadmn               T=MH_ADMD_NAME
                           STRUCTURE = NUMERIC STRING      C=printable

StandardAttributeList      LABEL     = dsatt
                           STRUCTURE = SEQUENCE
                           CHILDREN  = { <dctry, A  1 C,O,0>,
                                         <dadmd, A  2 C,O,0>,
                                         <dx121, C  0 S,O,15>,
                                         <dtmid, C  1 S,O,24>,
                                         <dprmd, C  2 C,O,0>,
                                         <dorgn, C  3 S,O,64>,
                                         <duaid, C  4 S,O,32>,
                                         <dpers, C  5 C,O,0> ,
                                         <dsorg, C  6 C,O,0>  }

ExtensionAttributeList     LABEL     = dxatl               T=special case
                           STRUCTURE = SET OF
                           LIMIT     = 256
                           CHILDREN  = { <dxatt, U 16 C,O,0> }

ExtensionAttribute         LABEL     = dxatt               T=special case
                           STRUCTURE = SEQUENCE
                           CHILDREN  = { <dxtyp, C  0 P,M,0>*,
                                         <dxval, C  1 C,M,0>E}

ExtensionType              LABEL     = dxtyp               T=special case
                           STRUCTURE = INTEGER

ExtensionValue             LABEL     = dxval               T=special case
                           STRUCTURE = ANY DEFINED BY
                           TAG       = (C  1 C)
                           DEFGLABEL = dxtyp
                           REGISTER  = { <01,dcomm, U 19 S,64>,
                                         <02,dtcom, U 20 S,64>,
                                         <03,dtorg, U 20 S,64>,
                                         <04,dtper, U 17 C,0>,
                                         <05,dtsou, U 16 C,0>,
                                         <06,dtddl, U 16 C,0>,
                                         <07,dpnam, U 19 S,16>,
                                         <08,dpctr, U  0 P,0>,
                                         <09,dpcod, U  0 P,0>,
                                         <0A,dponm, U 17 C,0>,
                                         <0B,dpono, U 17 C,0>,
                                         <0C,deadd, U 17 C,0>,
                                         <0D,dpper, U 17 C,0>,
                                         <0E,dporg, U 17 C,0>,
                                         <0F,dpead, U 17 C,0>,
                                         <10,dpuna, U 17 C,0>,
                                         <11,dsadd, U 17 C,0>,
                                         <12,dpbad, U 17 C,0>,
                                         <13,dprad, U 17 C,0>,
                                         <14,dpuni, U 17 C,0>,
                                         <15,dploc, U 17 C,0>,
                                         <16,dexna, U  0 P,0>,
                                         <17,dttyp, U  2 P,0> }

CommonName                 LABEL     = dcomm               T=MH_COMMON_NAME
                           STRUCTURE = PRINTABLE STRING

TeletexCommonName          LABEL     = dtcom               T=MH_COMMON_NAME
                           STRUCTURE = TELETEX STRING

TeletexOrganisationName    LABEL     = dtorg               T=MH_ORGANIZATION_NA
                           STRUCTURE = TELETEX STRING

TeletexPersonalName        LABEL     = dtper
                           STRUCTURE = SET
                           CHILDREN  = { <dtsur, C  0 S,M,40> ,
                                         <dtgiv, C  1 S,O,16> ,
                                         <dtini, C  2 S,O,5>  ,
                                         <dtgen, C  3 S,O,3>  }

TeletexSurName             LABEL     = dtsur               T=MH_SURNAME
                           STRUCTURE = TELETEX STRING

TeletexGivenName           LABEL     = dtgiv               T=MH_GIVEN_NAME
                           STRUCTURE = TELETEX STRING

TeletexInitials            LABEL     = dtini               T=MH_INITIALS
                           STRUCTURE = TELETEX STRING

TeletexGenerationQualifier LABEL     = dtgen               T=MH_GENERATION
                           STRUCTURE = TELETEX STRING

(* This is defined as a SEQ OF in the blue book,                             *)
(* but this fits the OM structure better -- Produces same ASN.1              *)
TeletexOrgUnitNames        LABEL     = dtsou
                         # STRUCTURE = SEQUENCE
                         # CHILDREN  = { <dtou1, U 20 S,O,32>,
                         #               <dtou2, U 20 S,O,32>,
                         #               <dtou3, U 20 S,O,32>,
                         #               <dtou4, U 20 S,O,32>}

TeletexOrgUnitName 1     # LABEL     = dtou1               T=MH_ORG...UNIT..1
                         # STRUCTURE = TELETEX STRING

TeletexOrgUnitName 2     # LABEL     = dtou2               T=MH_ORG...UNIT..2
                         # STRUCTURE = TELETEX STRING

TeletexOrgUnitName 3     # LABEL     = dtou3               T=MH_ORG...UNIT..3
                         # STRUCTURE = TELETEX STRING

TeletexOrgUnitName 4     # LABEL     = dtou4               T=MH_ORG...UNIT..4
                         # STRUCTURE = TELETEX STRING

(* This is defined as a SEQ OF in the blue book,                             *)
(* but this fits the OM structure better -- Produces same ASN.1              *)
TeletexDomainDefdAttribs   LABEL     = dtddl
                         # STRUCTURE = SEQUENCE
                         # CHILDREN  = { <dtdd1, U 16 C,O,0>D ,
                         #               <dtdd2, U 16 C,O,0>D ,
                         #               <dtdd3, U 16 C,O,0>D ,
                         #               <dtdd4, U 16 C,O,0>D }

TeletexDomainDefdAttrib 1# LABEL     = dtdd1
                         # STRUCTURE = SEQUENCE
                         # CHILDREN  = { <dtdt1, U 20 S,M,8>,
                         #               <dtdv1, U 20 S,M,128>}

TeletexDomainDefdAttrib 2# LABEL     = dtdd2
                         # STRUCTURE = SEQUENCE
                         # CHILDREN  = { <dtdt2, U 20 S,M,8>,
                         #               <dtdv2, U 20 S,M,128>}

TeletexDomainDefdAttrib 3# LABEL     = dtdd3
                         # STRUCTURE = SEQUENCE
                         # CHILDREN  = { <dtdt3, U 20 S,M,8>,
                         #               <dtdv3, U 20 S,M,128>}

TeletexDomainDefdAttrib 4# LABEL     = dtdd4
                         # STRUCTURE = SEQUENCE
                         # CHILDREN  = { <dtdt4, U 20 S,M,8>,
                         #               <dtdv4, U 20 S,M,128>}

TeletexDomainDefdAttTyp 1# LABEL     = dtdt1               T=MH_DOMAIN_TYPE_1
                         # STRUCTURE = TELETEX STRING

TeletexDomainDefdAttTyp 2# LABEL     = dtdt2               T=MH_DOMAIN_TYPE_2
                         # STRUCTURE = TELETEX STRING

TeletexDomainDefdAttTyp 3# LABEL     = dtdt3               T=MH_DOMAIN_TYPE_3
                         # STRUCTURE = TELETEX STRING

TeletexDomainDefdAttTyp 4# LABEL     = dtdt4               T=MH_DOMAIN_TYPE_4
                         # STRUCTURE = TELETEX STRING

TeletexDomainDefdAttVal 1# LABEL     = dtdv1               T=MH_DOMAIN_VALUE_1
                         # STRUCTURE = TELETEX STRING

TeletexDomainDefdAttVal 2# LABEL     = dtdv2               T=MH_DOMAIN_VALUE_2
                         # STRUCTURE = TELETEX STRING

TeletexDomainDefdAttVal 3# LABEL     = dtdv3               T=MH_DOMAIN_VALUE_3
                         # STRUCTURE = TELETEX STRING

TeletexDomainDefdAttVal 4# LABEL     = dtdv4               T=MH_DOMAIN_VALUE_4
                         # STRUCTURE = TELETEX STRING

PDSName                    LABEL     = dpnam               T=MH_POSTAL_DELIV_SY
                           STRUCTURE = PRINTABLE STRING

PhysicalDelivryCountryName LABEL     = dpctr               T=special case
                           STRUCTURE = CHOICE
                         # CHILDREN  = { <dp121, U 18 P,O,3> ,
                         #               <dpacd, U 19 P,O,2> }

PhysCountryNameISO3166A2 # LABEL     = dpacd               T=MH_POSTAL_COUNTRY_
                         # STRUCTURE = PRINTABLE STRING

PhysCountryNameX121DccCod# LABEL     = dp121               T=MH_POSTAL_COUNTRY_
                         # STRUCTURE = NUMERIC STRING

PostalCode                 LABEL     = dpcod               T=special case
                           STRUCTURE = CHOICE
                           CHILDREN  = { <dpcdn, U 18 P,O,16> ,
                                         <dpcdp, U 19 P,O,16> }

PostalCodeNumeric          LABEL     = dpcdn               T=MH_POSTAL_CODE
                           STRUCTURE = NUMERIC STRING


PostalCodePrintable        LABEL     = dpcdp               T=MH_POSTAL_CODE
                           STRUCTURE = PRINTABLE STRING

PhysicalDeliveryOfficeName LABEL     = dponm
                           STRUCTURE = SET
                           CHILDREN  = { <dppst, U 19 S,O,30>D,
                                         <dptst, U 20 S,O,30>D }

PhysicalDelvryOfficeNumber LABEL     = dpono
                           STRUCTURE = SET
                           CHILDREN  = { <dppst, U 19 S,O,30>D,
                                         <dptst, U 20 S,O,30>D }

ExtensnORAddressComponents LABEL     = deadd
                           STRUCTURE = SET
                           CHILDREN  = { <dppst, U 19 S,O,30>D,
                                         <dptst, U 20 S,O,30>D }

PhysicalDelvryPersonalName LABEL     = dpper
                           STRUCTURE = SET
                           CHILDREN  = { <dppst, U 19 S,O,30>D,
                                         <dptst, U 20 S,O,30>D }

PhysicalDelvryOrganiznName LABEL     = dporg
                           STRUCTURE = SET
                           CHILDREN  = { <dppst, U 19 S,O,30>D,
                                         <dptst, U 20 S,O,30>D }

ExtnPhysDelAddressCompnnts LABEL     = dpead
                           STRUCTURE = SET
                           CHILDREN  = { <dppst, U 19 S,O,30>D,
                                         <dptst, U 20 S,O,30>D }

UnformattedPostalAddress   LABEL     = dpuna
                           STRUCTURE = SET
                           CHILDREN  = { <dpunf, U 16 C,O,0>,
                                         <dtunf, U 20 S,O,180> }

UnfmattedPostAddrPrintable LABEL     = dpunf
                           STRUCTURE = SEQUENCE OF
                           LIMIT     = 6
                           CHILDREN  = { <dplin, U 19 P,O,30> }

UnfmattedPostAddrPrtblLine LABEL     = dplin               T=MH_POST..ADDR..LIN
                           STRUCTURE = PRINTABLE STRING

UnfmattedPostalAddrTeletex LABEL     = dtunf               T=MH_POST..ADDR..FUL
                           STRUCTURE = TELETEX STRING

StreetAddress              LABEL     = dsadd
                           STRUCTURE = SET
                           CHILDREN  = { <dppst, U 19 S,O,30>D,
                                         <dptst, U 20 S,O,30>D }

PostOfficeBoxAddress       LABEL     = dpbad
                           STRUCTURE = SET
                           CHILDREN  = { <dppst, U 19 S,O,30>D,
                                         <dptst, U 20 S,O,30>D }

PosteRestanteAddress       LABEL     = dprad
                           STRUCTURE = SET
                           CHILDREN  = { <dppst, U 19 S,O,30>D,
                                         <dptst, U 20 S,O,30>D }

UniquePostalName           LABEL     = dpuni
                           STRUCTURE = SET
                           CHILDREN  = { <dppst, U 19 S,O,30>D,
                                         <dptst, U 20 S,O,30>D }

LocalPostalAttributes      LABEL     = dploc
                           STRUCTURE = SET
                           CHILDREN  = { <dppst, U 19 S,O,30>D,
                                         <dptst, U 20 S,O,30>D }

PDSParameterPrintable      LABEL     = dppst
                           STRUCTURE = PRINTABLE STRING

PDSParameterTeletex        LABEL     = dptst
                           STRUCTURE = TELETEX STRING

ExtendedNetworkAddress     LABEL     = dexna               T=special case
                           STRUCTURE = CHOICE
                           CHILDREN  = { <d1634, U 16 C,O,0>D,
                                         <5pad2, P 16 C,O,0>D }

E1634Address               LABEL     = d1634
                           STRUCTURE = SEQUENCE
                           CHILDREN  = { <d163n, C  0 S,M,15>,
                                         <d163a, C  1 S,O,40> }

E1634AddressNumber         LABEL     = d163n               T=MH_ISDN_NUMBER
                           STRUCTURE = NUMERIC STRING

E1634AddressSubAddress     LABEL     = d163a               T=MH_ISDN_SUBADDRESS
                           STRUCTURE = NUMERIC STRING

TerminalType               LABEL     = dttyp               T=MH_TERMINAL_TYPE
                           STRUCTURE = INTEGER             C=enumeration

(* This is defined as a SEQ OF in the blue book,                             *)
(* but this fits the OM structure better -- Produces same ASN.1              *)
DomainDefinedAttributeList LABEL     = dddal
                         # STRUCTURE = SEQUENCE
                         # CHILDREN  = { <ddda1, U 16 C,O,0>D ,
                         #               <ddda2, U 16 C,O,0>D ,
                         #               <ddda3, U 16 C,O,0>D ,
                         #               <ddda4, U 16 C,O,0>D }

DomainDefinedAttribute 1 # LABEL     = ddda1
                         # STRUCTURE = SEQUENCE
                         # CHILDREN  = { <dddt1, U 19 S,M,8> ,
                         #               <dddv1, U 19 S,M,128> }

DomainDefinedAttribute 2 # LABEL     = ddda2
                         # STRUCTURE = SEQUENCE
                         # CHILDREN  = { <dddt2, U 19 S,M,8> ,
                         #               <dddv2, U 19 S,M,128> }

DomainDefinedAttribute 3 # LABEL     = ddda3
                         # STRUCTURE = SEQUENCE
                         # CHILDREN  = { <dddt3, U 19 S,M,8> ,
                         #               <dddv3, U 19 S,M,128> }

DomainDefinedAttribute 4 # LABEL     = ddda4
                         # STRUCTURE = SEQUENCE
                         # CHILDREN  = { <dddt4, U 19 S,M,8> ,
                         #               <dddv4, U 19 S,M,128> }

DomainDefinedAttrType 1  # LABEL     = dddt1               T=MH_DOMAIN_TYPE_1
                         # STRUCTURE = PRINTABLE STRING

DomainDefinedAttrType 2  # LABEL     = dddt2               T=MH_DOMAIN_TYPE_2
                         # STRUCTURE = PRINTABLE STRING

DomainDefinedAttrType 3  # LABEL     = dddt3               T=MH_DOMAIN_TYPE_3
                         # STRUCTURE = PRINTABLE STRING

DomainDefinedAttrType 4  # LABEL     = dddt4               T=MH_DOMAIN_TYPE_4
                         # STRUCTURE = PRINTABLE STRING

DomainDefinedAttrValue 1 # LABEL     = dddv1               T=MH_DOMAIN_VALUE_1
                         # STRUCTURE = PRINTABLE STRING

DomainDefinedAttrValue 2 # LABEL     = dddv2               T=MH_DOMAIN_VALUE_2
                         # STRUCTURE = PRINTABLE STRING

DomainDefinedAttrValue 3 # LABEL     = dddv3               T=MH_DOMAIN_VALUE_3
                         # STRUCTURE = PRINTABLE STRING

DomainDefinedAttrValue 4 # LABEL     = dddv4               T=MH_DOMAIN_VALUE_4
                         # STRUCTURE = PRINTABLE STRING

X.121Address               LABEL     = dx121               T=MH_X121_ADDRESS
                           STRUCTURE = NUMERIC STRING

TerminalID                 LABEL     = dtmid               T=MH_TERMINAL_IDENTI
                           STRUCTURE = PRINTABLE STRING

OrganisationName           LABEL     = dorgn               T=MH_ORGANIZATION_NA
                           STRUCTURE = PRINTABLE STRING

UniqueUAIdentifier         LABEL     = duaid               T=MH_NUMERIC_USER_ID
                           STRUCTURE = NUMERIC STRING

PersonalName               LABEL     = dpers
                           STRUCTURE = SET
                           CHILDREN  = { <dsurn, C  0 S,M,40> ,
                                         <dgivn, C  1 S,O,16> ,
                                         <dinit, C  2 S,O,5>  ,
                                         <dgenq, C  3 S,O,3>  }

SurName                    LABEL     = dsurn               T=MH_SURNAME
                           STRUCTURE = PRINTABLE STRING

GivenName                  LABEL     = dgivn               T=MH_GIVEN_NAME
                           STRUCTURE = PRINTABLE STRING

Initials                   LABEL     = dinit               T=MH_INITIALS
                           STRUCTURE = PRINTABLE STRING

GenerationQualifier        LABEL     = dgenq               T=MH_GENERATION
                           STRUCTURE = PRINTABLE STRING

(* This is defined as a SEQ OF in the blue book,                             *)
(* but this fits the OM structure better -- Produces same ASN.1              *)
SEQ OF OrganisationalUnit  LABEL     = dsorg
                         # STRUCTURE = SEQUENCE
                         # CHILDREN  = { <dorg1, U 19 S,O,32> ,
                         #               <dorg2, U 19 S,O,32> ,
                         #               <dorg3, U 19 S,O,32> ,
                         #               <dorg4, U 19 S,O,32> }

OrganisationalUnit 1     # LABEL     = dorg1               T=MH_ORG...UNIT..1
                         # STRUCTURE = PRINTABLE STRING

OrganisationalUnit 2     # LABEL     = dorg2               T=MH_ORG...UNIT..2
                         # STRUCTURE = PRINTABLE STRING

OrganisationalUnit 3     # LABEL     = dorg3               T=MH_ORG...UNIT..3
                         # STRUCTURE = PRINTABLE STRING

OrganisationalUnit 4     # LABEL     = dorg4               T=MH_ORG...UNIT..4
                         # STRUCTURE = PRINTABLE STRING

PrivateDomainName          LABEL     = dprmd               T=special case
                           STRUCTURE = CHOICE
                           TAG       = (C 2 C)
                           CHILDREN  = { <dprmn, U 18 S,O,16> ,
                                         <dprmp, U 19 S,O,16> }

PrivateDomNamePrintable    LABEL     = dprmp               T=MH_PRMD_NAME
                           STRUCTURE = PRINTABLE STRING    C=printable

PrivateDomNameNumeric      LABEL     = dprmn               T=MH_PRMD_NAME
                           STRUCTURE = NUMERIC STRING      C=printable

GlobalDomainId             LABEL     = dgbid               unused
                           STRUCTURE = SEQUENCE
                           CHILDREN  = { <dctry, A  1 C,M,0> E,
                                         <dadmd, A  2 C,M,0>,
                                         <dpdid, U  0 P,O,0> E }

PrivateDomainIdentifier    LABEL     = dpdid               unused
                           STRUCTURE = CHOICE
                           CHILDREN  = { <dprmn, U 18 S,O,16>,
                                         <dprmp, U 19 S,O,16> }

!
