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. | |
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 | 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/. Added NEW(16), FRE(17); removed PRB(15). | |
| CLS no longer frees handle. EXS/DAR/PRN operate in NEW state. |
| #define FSEG_VER_MAJOR | ( | v | ) |
Extract major version from a version word.
| #define FSEG_VER_MINOR | ( | v | ) |
Extract minor version from a version word.
| #define FSEG_VERSION 0x0200U |
Current FSEG interface version (major=2, minor=0).