By default, the ASN1C compiler generates the following set of .c source files for a given ASN.1 module (note: the name of the module would be substituted for <moduleName>):
<moduleName>.c
|
common definitions and functions (for example, asn1Free_<type>) and/or global value constant definitions. |
<moduleName>Enc.c
|
encode functions (asn1E_<type>) |
<moduleName>Dec.c
|
decode functions (asn1D_<type>) |
If additional options are used (such as –genPrint, -genCopy, etc), additional files will be generated:
<moduleName>Copy.c
|
copy functions, generated if –genCopy is specified |
<moduleName>Print.c
|
print functions, generated if –genPrint is specified |
<moduleName>Compare.c
|
comparison functions, generated if –genCompare is specified |
<moduleName>PrtToStr.c
|
print-to-string functions, generated if –genPrtToStr is specified |
<moduleName>PrtToStrm.c
|
print-to-stream functions, generated if –genPrtToStrm is specified |
<moduleName>Table.c
|
table constraint functions, generated if –genTable option is specified |
<moduleName>Test.c
|
test functions, generated if –genTest is specified |
If –genCopy, -genPrint, etc have a filename parameter then the code will be written to the given file instead of the default one. If the –cfile <filename> option is used and –genCopy, -genPrint, etc options do not have parameters then all code will be placed in one source file with name <filename>.