Next: , Up: API Basics   [Contents][Index]


1.10.1 Header Files

The configure script sets the root directory for 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, for default parameters of configure script invocation, the command make install installs the public QSMM header files to the directory /usr/local/include/qsmm/. You can specify a different root directory for C header files by a command-line option of configure script. See the file INSTALL in the root of the package distribution for more information.

Below is the list of public header files installed:

qsmm.h

This is the main header file of QSMM framework. It contains most of datatype, function, and macro definitions a developer may need.

err.h

[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 handling error conditions for a multinode model. An error handler function assigned to the multinode model receives information about such error conditions. See Error Handling, for basic information on handling error conditions. The header file qsmm.h includes this header file.

sig.h

[New in QSMM 1.17] This header file contains declarations of qsmm_sig_t and qsmm_ssig_t datatypes and 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 on those datatypes and macros. The header files qsmm.h and err.h include this header file.

handle.h

[New in QSMM 1.17] This header file contains declarations of incomplete types for object handles. See Object Handles, for more information on object handles. Along with the incomplete types for object handles, this header file declares the enumeration qsmm_handle_e listing 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 an object handle value. The header file qsmm.h includes this header file.

refe.h

[New in QSMM 1.17] This header file contains datatypes for entity references. In QSMM version 1.17, entity references unambiguously specify various entities related to error conditions for a multinode model. An error handler function assigned to the multinode model can receive entity references as part of an argument. See Enumerating Entities, for more information on entity references. The header files qsmm.h and err.h include this header file.

side.h

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 program work speed or simplify program development or experimenting. See Exchanging Data Packets in a Multithreaded Program, for more information on 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).

map.h

A self-contained header file for the C implementation of functionality of STL map and multimap templates.

version.h

A header file with the macro QSMM_HEADERS_VERSION defined to package version. A developer can use this macro to check whether versions of the headers and the library conform. The command make generates the content of version.h using the template qsmm/version.h.in in the package distribution. 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, the developer should specify

#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, those declarations provide correct linkage with functions contained in the QSMM library.


Next: , Up: API Basics   [Contents][Index]