C Extension changes

Modifications to consider when using C Extensions

Informix ESQL/C header files no longer distributed

Prior to version 3.10.11, Informix ESQL/C header files such as decimal.h were provided in $FGLDIR/include/esql directory.

Starting with BDL 3.10.11, the Informix ESQL/C header files are no longer distributed in the BDL packages: Genero provides its own header files defining the C structures for DECIMAL, DATETIME, INTERVAL and TEXT/BYTE types.

Simply include the fglExt.h header file in your C extension source.

If you need additional type definitions that are not provided in Genero C Extension header files, install the latest Informix CSDK, and include the Informix header files before fglExt.h.

For more details, see Header files for ESQL/C typedefs.

C Extension API functions for bigint

Genero BDL 2.51 has desupported C Extension stack functions, that were introduced again in 3.10 (also backported in 3.00.10).

The following C API functions are available again:

  • popbigint(bigint *dst)
  • pushbigint(bigint val)

The following C type definitions are available again:

  • bigint: Defines a 8-byte signed integer

For more details, see Runtime stack functions