Parameters for FSEG_FUNC_OPN. More...
#include <FSEG.h>
Data Fields | |
| unsigned int | uiFlg |
| [INPUT] Flag word; see Flags for OPN. | |
| unsigned int | uiPad0 |
| [DUMMY] Alignment pad; set to 0. | |
| long long | siVerId |
[INPUT] Version ID; -1 = create new (write) / open latest (read). See the siVerId paragraph in the struct description. | |
| unsigned int | uiNamLen |
| [INPUT] Byte length of pcNamStr (without null). | |
| unsigned int | uiParLen |
| [INPUT] Byte length of pcParStr (without null). Placed here (paired with uiNamLen) so that both pointers below start on 8-byte boundaries without a dummy pad field. | |
| const char * | pcNamStr |
| [INPUT] Archive namespace string (null-terminated). | |
| const char * | pcParStr |
| [INPUT] Provider-specific parameter string (null-terminated). | |
| const char ** | ppcName |
[OUTPUT] Canonical archive identifier; on successful return from FSEG_FUNC_OPN the provider writes the address of a null-terminated string inside its own handle to *ppcName; that pointer remains valid until FSEG_FUNC_CLS. SEGSSE initialises *ppcName to NULL before the call. Providers that do not support this field must leave it untouched. | |
| long long | siOpenedVerId |
| [OUTPUT] Version ID that was actually opened. The provider sets this to the version ID of the store that was opened (same semantics as the SegmentStore::getVersionID() return value: -1 for write mode, the numeric version ID for read mode). SEGSSE stores the value and returns it from getVersionID() so FLMSTO can log the correct version in the FLMSTO-OPEN message. Providers that do not support this field must leave it at 0 (SEGSSE zero-initialises the whole TuFsegPar union). | |
Parameters for FSEG_FUNC_OPN.
The driver populates all fields before the call. The provider must not retain pointers to pcNamStr or pcParStr beyond the OPN call; copy any strings that are needed for later calls.
siVerId >= 0 : open the specified existing version.siVerId == -1 with FSEG_FLAG_WRITE set: create a new version. The provider must allocate a unique version ID internally (e.g. a monotonically increasing counter or a timestamp) and use it for all subsequent PUT calls in this session.siVerId == -1 without FSEG_FLAG_WRITE: open the latest (highest version ID) existing version for reading. | const char* FsegOpn::pcNamStr |
[INPUT] Archive namespace string (null-terminated).
| const char* FsegOpn::pcParStr |
[INPUT] Provider-specific parameter string (null-terminated).
| const char** FsegOpn::ppcName |
[OUTPUT] Canonical archive identifier; on successful return from FSEG_FUNC_OPN the provider writes the address of a null-terminated string inside its own handle to *ppcName; that pointer remains valid until FSEG_FUNC_CLS. SEGSSE initialises *ppcName to NULL before the call. Providers that do not support this field must leave it untouched.
| long long FsegOpn::siOpenedVerId |
[OUTPUT] Version ID that was actually opened. The provider sets this to the version ID of the store that was opened (same semantics as the SegmentStore::getVersionID() return value: -1 for write mode, the numeric version ID for read mode). SEGSSE stores the value and returns it from getVersionID() so FLMSTO can log the correct version in the FLMSTO-OPEN message. Providers that do not support this field must leave it at 0 (SEGSSE zero-initialises the whole TuFsegPar union).
| long long FsegOpn::siVerId |
[INPUT] Version ID; -1 = create new (write) / open latest (read). See the siVerId paragraph in the struct description.
| unsigned int FsegOpn::uiFlg |
[INPUT] Flag word; see Flags for OPN.
| unsigned int FsegOpn::uiNamLen |
[INPUT] Byte length of pcNamStr (without null).
| unsigned int FsegOpn::uiPad0 |
[DUMMY] Alignment pad; set to 0.
| unsigned int FsegOpn::uiParLen |
[INPUT] Byte length of pcParStr (without null). Placed here (paired with uiNamLen) so that both pointers below start on 8-byte boundaries without a dummy pad field.