Next: , Previous: Installation, Up: Introduction


1.9 Header Files

Command make install installs QSMM header files to subdirectory qsmm in a directory for C header files set by the configure script, usually /usr/local/include/ or /usr/include/. Below there are the list and the description of header files being installed.

qsmm.h
The main header file of the framework. Contains most of datatype, function, and macro definitions, which may be needed by a developer.
internal.h
A header file that contains an API used internally by the framework. The API was documented in previous versions of the framework, but is undocumented in this version to not to overcomplicate the manual with excessive details. That API could not be made invisible outside of the library because of the need to preserve backward compatibility. The preprocessor #include directive includes the header file in header file qsmm.h.
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, which execute in separate threads and exchange signals, can simplify program development or experimenting. Command make install installs the header file when the package is configured to use the POSIX threads API (see file INSTALL at 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 macro QSMM_HEADERS_VERSION defined to a version of the package. That macro could be used to check whether versions of the headers and the library conform. The preprocessor #include directive includes the header file in header file qsmm.h. The contents of version.h are generated using template qsmm/version.h.in in the package distribution.

When you include these header files in a program with a preprocessor #include directive, you should specify directory prefix qsmm. For example, to include header file qsmm.h, you should write

     #include <qsmm/qsmm.h>

C functions declared in the header files are wrapped in extern "C" declarations, so when a C++ source file includes these header files, correct linkage is provided with functions contained in the QSMM library.