--<OSS.PDU>--
--<OSS.ARRAY IA5String>--
--<OSS.ARRAY BITSTRING>--
--<OSS.ARRAY OCTETSTRING>--
--<OSS.ARRAY SET OF>--
--<OSS.ARRAY SEQUENCE OF>--
The code mappers, as discussed in section 11.2.1, include recursive descent mapping logic for both ASN1SCC and OSS/Nokalva. Comparing the implementations, it is clear that both tools try to mimic (to the extent possible) the original ASN.1 field and type declarations - they however diverge in some other aspects:
OCTET STRING
s are represented as compound structures, with one field
storing the length (nCount
in ASN1SCC, length
in OSS) and another
field storing the data (arr
and value
respectively).
kind
in ASN1SCC and choice
in OSS).
The enumerants are named whatever_PRESENT
in ASN1SCC and OSS_whatever_chosen
in OSS.
SEQUENCEOF
s are represented as C arrays (fields named arr
and value
respectively), and their length is stored in separate integer variables (nCount
for ASN1SCC and count
for OSS).