DataBlade API header files

The DataBlade® API header files begin with the mi prefix. The DataBlade API provides public header files for use in DataBlade API modules.

Header file Description
mi.h The main DataBlade API header file

It includes other DataBlade API public header files: milib.h, milo.h, and mitrace.h.

The mi.h header file does not automatically include mistrmtype.h. To use the stream I/O functions of the DataBlade API, you must explicitly include mistrmtype.h.

milib.h Defines function prototypes for the public entry points and public declarations of required data type structures and related macros

The mi.h header file automatically includes milib.h.

mitypes.h Defines all DataBlade API simple data types, accessor macros for these data types, and directly related value macros

The mitypes.h header file automatically includes the Informix® ESQL/C header files: datetime.h, decimal.h, and int8.h.

The milib.h header file automatically includes mitypes.h.

milo.h Defines the data type structures, values, and function prototypes for the smart-large-object interface (functions that have names starting with mi_lo_)

The mi.h header file automatically includes milo.h.

mistream.h Contains definitions for stream data structures, error constants, and generic stream I/O functions

The mistrmtype.h and mistrmutil.h header files automatically include mistream.h.

mistrmtype.h Contains definitions for the type-specific stream-open functions that the DataBlade API provides

The mistrmtype.h header file automatically includes mistream.h; however, the mi.h header file does not include mistrmtype.h. You must explicitly include mistrmtype.h to use the stream I/O functions of the DataBlade API.

mistrmutil.h Contains definitions for the stream-conversion functions that the DataBlade API provides for use in streamwrite() and streamread() opaque-type support functions

The mistrmutil.h header file automatically includes mistream.h; however, the mi.h header file does not include mistrmutil.h. You must explicitly include mistrmutil.h to use the stream-conversion functions of the DataBlade API.

mitrace.h Defines the data type structures, values, and function prototypes for the DataBlade API trace facility

The mi.h header file automatically includes mitrace.h.

miconv.h Contains convention definitions, including on/off switches based on architecture, compiler type, and so on

Other parts of the code use these switches to define data types correctly.

The mitypes.h header file automatically includes miconv.h.

memdur.h Contains the definition of the MI_MEMORY_DURATION data type, which enumerates valid public memory durations

The milib.h header file automatically includes memdur.h.

The mi.h header file provides access to most of the DataBlade API header files in the preceding table. Include this header file in your DataBlade API module to obtain declarations of most DataBlade API functions and data types.

The DataBlade API provides the following advanced header files for the use of advanced features in C UDRs.
Header file Description
minmmem.h Includes the minmdur.h and minmprot.h header files, which are necessary for access to advanced memory durations and memory-management functions

Neither the mi.h nor milib.h header file automatically includes minmmem.h. You must explicitly include minmmem.h to use advanced memory durations or memory-management functions.

minmdur.h Contains definitions for the advanced memory durations

The minmmem.h header file automatically includes minmdur.h. You must explicitly include minmmem.h to use advanced memory durations.

minmprot.h Contains definitions for the advanced DataBlade API functions

The minmmem.h header file automatically includes minmdur.h. You must explicitly include minmmem.h to use advanced functions.

The mi.h and milib.h header files cannot provide access to the advanced header files. To use the advanced features, include the minmmem.h header file in your DataBlade API module to obtain declarations of DataBlade API functions and data types.
Tip: For a complete list of header files, check the incl/public subdirectory of the INFORMIXDIR directory.