FOBJ-SPI
FLAM Object Store Exit (FOBJ) Service Provider Interface (SPI) Version: 5.2.1-42969
Interface version

Version identifier passed to the provider on every call. More...

Macros

#define FOBJ_VERSION   0x0201U
 Current FOBJ interface version (major=2, minor=1).
#define FOBJ_VER_MAJOR(v)
 Extract major version from a version word.
#define FOBJ_VER_MINOR(v)
 Extract minor version from a version word.

Detailed Description

Version identifier passed to the provider on every call.

The caller (OBJSSE) passes a pointer to Interface version as the piVersion argument of TfFobjExit on every call. The provider compares *piVersion against its own compiled-in version to detect interface mismatches at runtime.

Encoding: high byte = major version, low byte = minor version. Providers compiled against the same major version are compatible; a different major version indicates a struct layout change and the provider should return an error from FOBJ_FUNC_OPN.

Macro Definition Documentation

◆ FOBJ_VER_MAJOR

#define FOBJ_VER_MAJOR ( v)
Value:
((v) >> 8)

Extract major version from a version word.

◆ FOBJ_VER_MINOR

#define FOBJ_VER_MINOR ( v)
Value:
((v) & 0xFFU)

Extract minor version from a version word.

◆ FOBJ_VERSION

#define FOBJ_VERSION   0x0201U

Current FOBJ interface version (major=2, minor=1).

Version history
Version Changes
0x0100 Initial release. Function codes 1–7 (OPN–DST).
0x0200 Breaking: TsFobjOpn compacted: uiParLen paired with uiNamLen;
uiRes0/uiRes1 removed. Added EXS(8), NEW(9), FRE(10).
CLS no longer frees handle. DST/EXS operate in NEW state.
0x0201 Additive: uiMaxObjLen reaches the provider. It takes over the
4-byte alignment slot that was uiPad0 in TsFobjOpn, so that
struct does not change layout, and is appended to TsFobjNew.
A provider built against 0x0200 keeps working unchanged.