Global Level

These attributes can be applied at the global level by including them within the <asn1config> section:

Name Values Description
<events></events> defaultValue keyword. This configuration item is for use with Event Handling as described in a later section in this document. It is used to include a special event that is fired when a PER message is being parsed. This event occurs at the location a value should be present in the message but is not and a default value has been specified in the ASN.1 file for the element. In this case, the normal event sequence (startElement, contents, endElement) is executed using the default value.
<includedir></includedir> <Include directory> This configuration item is used to specify a directory that will be searched for IMPORT files. It is equivalent to the -I command-line option.
<protocol></protocol> <Protocol identifier> Specifies a protocol identifier to be associated with the ASN.1 specification set. For C/C++, this specifies a prefix that will be used with generated encode and decode functions. Currently, this only applies to 3GPP Layer 3 functions.
<rootdir></rootdir> <ASN1C root directory> This configuration item is used to specify the root directory of the ASN1C installation for makefile or Visual Studio project generation. It is only needed if generation of these items is done outside of the ASN1C installation.
<storage></storage> One of the following keywords: dynamic, static, list, array, dynamicArray, std::list, std::vector, std::deque.

If dynamic , it indicates that dynamic storage (i.e., pointers) should be used everywhere within the generated types where use could result in lower memory consumption. These places include the array element for sized SEQUENCE OF/SET OF types and all alternative elements within CHOICE constructs.

If static, it indicates static types should be used in these places. In general, static types are easier to work with.

If list, a linked-list type will be used for SEQUENCE OF/SET OF constructs instead of an array type.

If array, an array type will be used for SEQUENCE OF/SET OF constructs. The maxSize attribute can be used in this case to specify the size of the array variable (for example, <storage maxSize="12"> array </storage>).

If dynamicArray, a dynamic array will be used for SEQUENCE OF/SET OF constructs. A dynamic array is an array that uses dynamic storage for the array elements.

If std::array the result is the same as for array, except that std::array will be used instead of a plain C/C++ static array. You must specify -cpp11 on the command line to use this option.

If one of std::list, std::vector, std::deque, then the corresponding C++ Standard Library container class will be used. You must specify -cpp11 on the command line to use one of these options.