C API (Component Interface)
struct FrameworkVersion { UINT16 major; UINT16 minor; UINT16 release; UINT16 revision; };

BRAHMS uses a standard versioning system for the framework in FrameworkVersion.


FrameworkVersion element increments have the following standard significance (see references).

UINT16 major
Existing interface has been broken (moved, functionality changed).
UINT16 minor
Existing interface has been extended, without being broken.
UINT16 release
Interface is neither broken nor extended, but internal operation has changed (e.g. bug fixes).
UINT16 revision
Developer-specific meaning, which is "revision" in the revision control system.


The Engine Version is defined in the Component Interface Preamble.


  1. Wikipedia entry on Software Versioning
  2. Description of GNU/Linux Versioning