• Bi-Ruei, Chiu's avatar
    Pass evaluated arguments to members and type references · 214c4919
    Bi-Ruei, Chiu authored
    One of the most tricky ASN.1 excerpt :
    
    E-RABDataForwardingItemIEs S1AP-PROTOCOL-IES ::= {
        { ID id-E-RABDataForwardingItem   CRITICALITY ignore   TYPE E-RABDataForwardingItem PRESENCE mandatory },
        ...
    }
    
    E-RABSubjecttoDataForwardingList ::= E-RAB-IE-ContainerList { {E-RABDataForwardingItemIEs} }
    
    E-RAB-IE-ContainerList { S1AP-PROTOCOL-IES : IEsSetParam } ::=
        ProtocolIE-ContainerList { 1, maxnoofE-RABs, {IEsSetParam} }
    
    ProtocolIE-ContainerList {INTEGER : lowerBound, INTEGER : upperBound, S1AP-PROTOCOL-IES : IEsSetParam} ::=
        SEQUENCE (SIZE (lowerBound..upperBound)) OF
        ProtocolIE-SingleContainer {{IEsSetParam}}
    
    ProtocolIE-SingleContainer {S1AP-PROTOCOL-IES : IEsSetParam} ::=
        ProtocolIE-Field {{IEsSetParam}}
    
    ProtocolIE-Field {S1AP-PROTOCOL-IES : IEsSetParam} ::= SEQUENCE {
        id          S1AP-PROTOCOL-IES.&id           ({IEsSetParam}),
        criticality S1AP-PROTOCOL-IES.&criticality  ({IEsSetParam}{@id}),
        value       S1AP-PROTOCOL-IES.&Value        ({IEsSetParam}{@id})
    }
    214c4919
asn1fix_param.c 5.74 KB