The configure script sets the root directory for installing C header files.
By default, it is the directory /usr/local/include/.
The command make install installs public QSMM header files to the subdirectory qsmm.
Therefore, after an invocation of configure script with default parameters, the command make install installs public QSMM header files to the directory /usr/local/include/qsmm/.
Using a command line option of configure script, you can specify a different root directory for installing C header files.
See the file INSTALL in the root of the package distribution for more information.
Below is the list of public header files installed:
This is the main header file of QSMM framework. It contains most of datatype, function, and macro definitions a developer may need.
[New in QSMM 1.17] This header file contains declarations of error codes, the prototype of qsmm_err_str function for obtaining the description of an error code, and declarations necessary for using an error handler function with a multinode model.
The error handler function processes errors detected by API functions taking a multinode model handle.
See Error Handling, for basic information on handling errors.
The header file qsmm.h includes this header file.
[New in QSMM 1.17] This header file contains declarations of qsmm_sig_t and qsmm_ssig_t datatypes and definitions of QSMM_SIG_INVALID, QSMM_SIG_MAX, QSMM_FMT_PRI_SIG, QSMM_FMT_PRI_SSIG, and QSMM_FMT_SCN_SIG macros.
See Basic Datatypes and Macros, for more information about the aforementioned datatypes and macros.
The header files qsmm.h and err.h include this header file.
[New in QSMM 1.17] This header file contains declarations of incomplete types for object handles.
See Object Handles, for more information on them.
Along with the incomplete types for object handles, the header file declares the enumeration qsmm_handle_e for possible object handle types, the union qsmm_handle_u representing any object handle, and the structure qsmm_handle_s consisting of an object handle type and object handle value.
The header file qsmm.h includes this header file.
[New in QSMM 1.17] This header file contains datatypes for entity references.
They identify entities related to error conditions for a multinode model.
An error handler function assigned to a multinode model can receive entity references as part of an argument.
Additionally, entity references identify entities in a multinode model when enumerating them.
See Entity References, for more information.
The header files qsmm.h and err.h include this header file.
A self-contained header file for the Side API. That simple API provides means for exchanging data packets, especially signals, between threads in a multithreaded program. In some cases, program structure with a number of interacting sides executing in separate threads and exchanging data packets can increase performance, simplify program development, or simplify experimenting. See Exchanging Data Packets in a Multithreaded Program [Experimental], for more information about the Side API.
The command make install installs this header file when the configure script has configured the package to use the POSIX threads API (see the file INSTALL in the root of the package distribution for information on package configuring).
A self-contained header file for the C implementation of functionality of STL map and multimap templates.
See The Implementation of Functionality of STL map Template, for more information.
A header file with the macro QSMM_HEADERS_VERSION defined to package version.
A developer can use that macro to check if versions of the headers and the library conform.
The command make generates the content of version.h using the template qsmm/version.h.in.
The header file qsmm.h includes this header file.
To include the aforementioned header files in a C program by a preprocessor #include directive, a developer should specify the directory prefix qsmm.
For example, to include the header file qsmm.h, a developer should use the directive:
#include <qsmm/qsmm.h>
The extern "C" declarations wrap C functions declared in the header files.
When a C++ source file includes the header files, the declarations provide correct linkage with functions contained in the QSMM library.