FOBJ - FLAM Object Store Service Provider Interface. More...
#include "FLMRTC.h"Go to the source code of this file.
Data Structures | |
| struct | FobjOpn |
| Parameters for FOBJ_FUNC_OPN. More... | |
| struct | FobjCls |
| Parameters for FOBJ_FUNC_CLS. More... | |
| struct | FobjGet |
| Parameters for FOBJ_FUNC_GET. More... | |
| struct | FobjPut |
| Parameters for FOBJ_FUNC_PUT. More... | |
| struct | FobjDel |
| Parameters for FOBJ_FUNC_DEL. More... | |
| struct | FobjChk |
| Parameters for FOBJ_FUNC_CHK. More... | |
| struct | FobjDst |
| Parameters for FOBJ_FUNC_DST. More... | |
| struct | FobjExs |
| Parameters for FOBJ_FUNC_EXS. More... | |
| struct | FobjNew |
| Parameters for FOBJ_FUNC_NEW. More... | |
| struct | FobjFre |
| Parameters for FOBJ_FUNC_FRE. More... | |
| union | FobjPar |
| Union of all FOBJ function parameter structures. More... | |
Macros | |
| #define | FOBJ_FUNC_OPN 1U |
Open storage / connect to the namespace. Requires prior FOBJ_FUNC_NEW (*ppHdl must not be NULL). State transition: NEW -> OPEN. | |
| #define | FOBJ_FUNC_CLS 2U |
| Close / disconnect from storage. The provider handle is not freed; the handle returns to NEW state. State transition: OPEN -> NEW. | |
| #define | FOBJ_FUNC_GET 3U |
| Retrieve an object by string key (locate call – no copy). OPEN state only. | |
| #define | FOBJ_FUNC_PUT 4U |
| Store an object by string key. OPEN state only. | |
| #define | FOBJ_FUNC_DEL 5U |
| Delete an object by string key. OPEN state only. | |
| #define | FOBJ_FUNC_CHK 6U |
| Check whether an object exists and meets a minimum size. OPEN state only. | |
| #define | FOBJ_FUNC_DST 7U |
| Delete the entire store namespace. NEW state only. The provider manages any temporary connection internally. | |
| #define | FOBJ_FUNC_EXS 8U |
Check whether an object (identified by string key) exists in the store. NEW state only; the provider manages any temporary connection internally. Output: TsFobjExs.isExists (1 = exists, 0 = absent). | |
| #define | FOBJ_FUNC_NEW 9U |
Allocate a provider handle and store the archive name and parameter string. No storage I/O is performed. State transition: EMPTY -> NEW. *ppHdl must be NULL on entry. | |
| #define | FOBJ_FUNC_FRE 10U |
Free the provider handle. No storage I/O is performed. Must be called in NEW state (storage already closed). State transition: NEW -> EMPTY. The provider must set *ppHdl to NULL. | |
| #define | FOBJ_RTC_OK 0 |
| Success – no error. Must be returned on every successful call. | |
| #define | FOBJ_RTC_NFD 1 |
| Object not found. Only valid as *piRetco from FOBJ_FUNC_GET. OBJSSE maps this to FLMRTC_NFD so that SEGOBJ can distinguish a missing root object (new/empty archive) from a genuine I/O error. | |
| #define | FOBJ_DEFLIB_NAME "libfsse" |
| Default shared library name for the FOBJ provider. | |
| #define | FOBJ_DEFFUC_NAME "FOBJUSR" |
| Default exported function name for the FOBJ provider. | |
| #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. | |
| #define | FOBJ_FLAG_WRITE 0x00000001U |
| [INPUT] Write access requested (0 = read-only). | |
| #define | FOBJ_FLAG_OVERWRITE 0x00000002U |
| [INPUT] Overwrite existing archive (reset to empty, version 1 fresh). Set together with FOBJ_FLAG_WRITE when the caller requested store.objuser() with the OVERWRITE option. Without this flag a write OPN must fail if the archive already exists. | |
| #define | FOBJ_FLAG_LOG 0x00000004U |
| [INPUT] Enable info-level logging from the OBJSSE bridge and the provider (operational events: provider loaded, OPN/CLS lifecycle). Corresponds to the LOGGING switch in store.objuser() CLEP params. Providers may ignore this flag; it is primarily consumed by OBJSSE. | |
| #define | FOBJ_FLAG_DEBUG 0x00000008U |
| [INPUT] Enable debug-level logging from the OBJSSE bridge and the provider (per-operation detail: PUT/GET key, CHK result, etc.). Corresponds to the DEBUG switch in store.objuser() CLEP params. Has no effect unless FOBJ_FLAG_LOG is also set. | |
| #define | FOBJ_FLAG_TRACE 0x00000010U |
| [INPUT] Enable debug trace output by the provider. | |
| #define | FOBJ_FLAG_ACCESS 0x00000040U |
| [INPUT] SAF authorization checks are active for this provider invocation (GLOBAL.OBU.CONTROL defined in RACF $FLAM class). The bridge checked library and function name at FLACACS_READ level (FOBJLIB and FOBJFUC resource classes). See SAF flag semantics table above. | |
| #define | FOBJ_FLAG_STRONG 0x00000080U |
| [INPUT] Set together with FOBJ_FLAG_ACCESS when RACF is in strict mode (GLOBAL.MUSTDEF=UPDATE or lower): an undefined resource (RACF RC=4) exceeds the FL5 threshold and causes an abort. In permissive mode (threshold=8) RC=4 is silently accepted and this flag is not set. When set, namespace and parameter were explicitly approved in RACF (FOBJPTH, FOBJPAR). See SAF flag semantics table above. | |
Typedefs | |
| typedef struct FobjOpn | TsFobjOpn |
| Parameters for FOBJ_FUNC_OPN. | |
| typedef struct FobjCls | TsFobjCls |
| Parameters for FOBJ_FUNC_CLS. | |
| typedef struct FobjGet | TsFobjGet |
| Parameters for FOBJ_FUNC_GET. | |
| typedef struct FobjPut | TsFobjPut |
| Parameters for FOBJ_FUNC_PUT. | |
| typedef struct FobjDel | TsFobjDel |
| Parameters for FOBJ_FUNC_DEL. | |
| typedef struct FobjChk | TsFobjChk |
| Parameters for FOBJ_FUNC_CHK. | |
| typedef struct FobjDst | TsFobjDst |
| Parameters for FOBJ_FUNC_DST. | |
| typedef struct FobjExs | TsFobjExs |
| Parameters for FOBJ_FUNC_EXS. | |
| typedef struct FobjNew | TsFobjNew |
| Parameters for FOBJ_FUNC_NEW. | |
| typedef struct FobjFre | TsFobjFre |
| Parameters for FOBJ_FUNC_FRE. | |
| typedef union FobjPar | TuFobjPar |
| Union of all FOBJ function parameter structures. | |
| typedef void | TfFobjExit(void *pvGbl, void **ppHdl, int *piRetco, const unsigned int *piVersion, const unsigned int *piFunc, TuFobjPar *puPara, const unsigned int *piMsgSiz, char *pcMsg) |
| FOBJ provider entry point function type. | |
FOBJ - FLAM Object Store Service Provider Interface.