FSEG-SPI
FLAM Segment Store Exit (FSEG) Service Provider Interface (SPI) Version: 5.2.1-42969
Interface version

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

Macros

#define FSEG_VERSION   0x0200U
 Current FSEG interface version (major=2, minor=0).
#define FSEG_VER_MAJOR(v)
 Extract major version from a version word.
#define FSEG_VER_MINOR(v)
 Extract minor version from a version word.

Detailed Description

Version identifier passed to the provider on every call.

The caller (SEGSSE) passes a pointer to Interface version as the piVersion argument of TfFsegExit 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 FSEG_FUNC_OPN.

Version history
Version Changes
0x0100 Initial release. Function codes 1–13 (OPN–CBF). TsFsegCls had an isDel field (removed in 0x0102).
0x0101 Added FSEG_FUNC_FLB (14) and the uiSegCnt output field in TsFsegFlb. Added isExists + uiRes0 to TsFsegExs.
0x0102 Added uiDelLen (deleted segment size, output) and uiRes0 (alignment pad) to TsFsegDel. Removed obsolete fields from TsFsegCls, TsFsegDvs, TsFsegDar, TsFsegPrn, TsFsegVsnEnt.
0x0103 Added FSEG_FUNC_PRB (15) composite probe and TsFsegPrb struct.
0x0200 Breaking: TsFsegOpn compacted: uiParLen paired with uiNamLen;
uiRes0/uiRes1 removed. Added NEW(16), FRE(17); removed PRB(15).
CLS no longer frees handle. EXS/DAR/PRN operate in NEW state.

Macro Definition Documentation

◆ FSEG_VER_MAJOR

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

Extract major version from a version word.

◆ FSEG_VER_MINOR

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

Extract minor version from a version word.

◆ FSEG_VERSION

#define FSEG_VERSION   0x0200U

Current FSEG interface version (major=2, minor=0).