doc: Add definition of modules

This commit is contained in:
Matthias Beyer 2016-01-11 17:13:20 +01:00
parent c8f0b26577
commit 6141c8499d

View file

@ -1,2 +1,20 @@
# Modules {#sec:modules} # Modules {#sec:modules}
A module is a functionality of the program.
A module MAY store data in the store (@sec:thestore).
It MAY include user input in the data it stores in the store.
A module MUST HAVE a commandline interface, though a module always consists of
two parts:
- A Library
- A Binary, which
* is executable by the user
* implements a commandline frontend to the libray of the module
By definition, the Binary depends on the Library.
By definition, the Library depends on the libstore (@sec:libstore).
A module MUST use the runtime library to implement the commandline
interface as defined in @sec:librt.