Dafocus logo a&apm;b logo

Generated languages

Encodix generates as a main output ANSI C code (C++ 100% compatible). It can also generate integration code for:
  • SDL (ITU-T Z.100), for the Telelogic Tau tools;
  • Visual Basic

Powerful generation

Encodix, after having read a message declaration source, produce several files as output. With the default modules, they generate:
  • a C "friendly" data structure for each message (where, for example, bit-fields are mapped to integers, avoiding any bit wise operation);
  • an encoding and a decoding function for each message: reading a char buffer, they fill an instance of the related C "friendly" data structure and vice versa;
  • a set of ITU-T z100 standard SDL SIGNAL and NEWTYPE declarations, if SDL generation is requested;
  • a set of environment functions allowing to seamless decode and send messages inside an SDL system (for Telelogic TAU tools);
  • a lot more...
You need to just declare the messages and use them in your target language (Picture 2).

Generated C code

Encodix C-Output module generates plain ANSI-C that is 100% portable on any platform:
  • code is designed to work unchanged with any word size;
  • no specific structure alignment/packing is required since structures are never directly mapped over binary data;
  • it works correctly with both little and big endian integer management;
  • dynamic memory allocation is never used;
  • no static buffers are used (it works on buffers and structures which allocation is done by the caller);
  • very little stack is used;
  • code is fully re-entrant and thread-safe;
  • C library functions are never used, except for memset, which is used to initialise structures and buffers;
  • code is 100% ANSI-C;
  • generated code gives no warnings even when compiled with -Wall -pedantic;
  • runtime libraries are extremely small and given in source format;
  • royalty-free - code generated by Encodix can be freely redistributed, modified and included in any other software in any form.

Pre-written sources

Dafocus offers some pre-written Encodix sources implementing common standards, like ETSI 24.008, 04.08, 04.60, etc. These sources save further time giving a solid starting point. Contact our sales representative to have an up-to-date list of supported standards.

See also:
Encodix description... >>>
The CSN.1 module... >>>
The Access module... >>>
The generations process and examples... >>>