11.1 Overview of the Interface
A special include file called SWI-Prolog.h should be 
included with each C source file that is to be loaded via the foreign 
interface. The installation process installs this file in the directory
include in the SWI-Prolog home directory (?- 
current_prolog_flag(home, Home).). This C header file defines 
various data types, macros and functions that can be used to communicate 
with SWI-Prolog. Functions and macros can be divided into the following 
categories:
- Analysing Prolog terms
 - Constructing new terms
 - Unifying terms
 - Returning control information to Prolog
 - Registering foreign predicates with Prolog
 - Calling Prolog from C
 - Recorded database interactions
 - Global actions on Prolog (halt, break, abort, etc.)