
Generated Initialization Functions
As of ASN1C version 6.0, initialization functions are automatically generated (in previous versions, it was necessary to use the -genInit option to force this action). If for some reason, a user does want initialization functions to be generated, the -noInit switch can be used to turn initialization function generation off.
The use of initialization functions are optional - a variable can be initialized by simply setting its contents to zero (for example, by using the C run-time memset function). The advantage of initialization function is that they provide smarter initialization which can lead to improved application performance. For example, it is not necessary to set a large byte array to zero prior to its receiving a populated value. The use of memset in this situation can result in degraded performance.
Generated initialization functions are written to the main <module>.c file. This file contains common constants, global variables, and functions that are generic to all type of encode/decode functions. If the -cfile command-line option is used, the functions are written to the specified .c or .cpp file along with all other generated functions. If -maxcfiles is specified, each generated initialization function is written to a separate .c file.
asn1Init_[<prefix>]<prodName>where <prodName> is the name of the ASN.1 production for which the function is being generated and <prefix> is an optional prefix that can be set via a configuration file setting. The configuration setting used to set the prefix is the <typePrefix> element. This element specifies a prefix that will be applied to all generated typedef names and function names for the production.
asn1Init_<name> (<name>* pvalue)
Objective Systems, Inc.55 Dowlin Forge RoadExton, Pennsylvania 19341 http://www.obj-sys.com Phone: (484) 875-9841 Toll-free: (877) 307-6855 (US only) Fax: (484) 875-9830 info@obj-sys.com |