67 #define Sq3BlobC_SIGNATURE (MkObjectC_SIGNATURE ^ (20u<<10))
68 #define Sq3BlobC_MASK (((1u<<22)-1)<<10)
76 #define Sq3BlobC_X2blob(x) (x)
77 #define Sq3BlobC_X2obj(x) MkOBJ(x)
92 #define Sq3BlobC_T ( (struct MkTypeDefS *) (Sq3BlobC_TT) )
94 #define Sq3BlobST Sq3BlobC_T
96 #define Sq3BlobSTT (MkTYP(Sq3BlobST))
98 #define Sq3BlobC_type SQ3_BLOB
100 #define Sq3BlobCT_X(instance) ( (struct MkTypeDefS *) (MkOBJ_R(instance).type) )
102 #define Sq3BlobCTT_X(instance) (MkOBJ_R(instance).type)
104 #define Sq3BlobCT_TT(typ) ( (struct MkTypeDefS *) (typ) )
106 #define Sq3BlobC_NS SQ3
108 #define Sq3BlobCTT Sq3BlobCTT
110 #define Sq3BlobCT ( (struct MkTypeDefS *) Sq3BlobCTT )
118 #pragma GCC diagnostic push
119 #pragma GCC diagnostic ignored "-Wattributes"
137 #pragma GCC diagnostic pop
138 #define Sq3BlobC_Check(mng) Sq3BlobCheck(mng)
148 META_ATTRIBUTE_SANITIZE
156 META_ATTRIBUTE_SANITIZE
163 #define Sq3BlobRaise(_blob) if (!_MkCheckX(Sq3BlobC,_blob)) { \
164 MkErrorSetC_1E("'Sq3BlobC' hdl is NULL"); \
169 #define Sq3BLOB_R(x) (*(x)).super.blob
171 #define Sq3BLOB(x) (&Sq3BLOB_R(x))
187#define Sq3GetBlobFromNat(_nat) SQ3_SET_T(Sq3BlobC,some_api__hook,_nat)
198__parser__push__(doc-group=_ignore_,doc-index=Class,doc-name=Export,
class=Sq3BlobC);
265#define Sq3BlobHandleResolve_e(netHdl) ({ \
266 MK_HDL tmpHdl=netHdl; \
271 tmp=Sq3BlobHandleResolve(tmpHdl); \
273 MkErrorSetC_1_NULL("ERROR: 'Sq3BlobC' handle is 'NULL'"); \
288 __parser__(flags=
new,doc-group=_ignore_,doc-index=Class,doc-name=Misc,
class=Sq3BlobC,null-
return-allow)
309__parser__push__(doc-name=Introspection,doc-index=Class,
class=Sq3BlobC,no-rpc,null-
return-allow,flags=
new);
LibSq3Lite_sq3.h - 10 Apr 2025 - aotto1968.
#define BEGIN_SQ3_C_DECLS
#define __parser__push__(...)
#define MkSanitizeCheck(_root, _m)
#define MkSanitizeCheckO(_root, _o)
#define MkObjectHandleResolve(...)
#define MkObjectHandleGet(...)
#define MK_ATTR_RT_INSTANCE
#define MK_PARSER_RT_ONLY
#define MK_ATTR_RT_STATIC
#define MK_INSTANCE_HDL(x)
static MK_OBJ MkTypeInstances(MK_TYP const typ)
static MK_ARTIFICIAL SQ3_BLOB Sq3BlobC_ObjNew(sqlite3_blob *hdl)
return Programming-Language-Micro-Kernel (PLMK) instance from native hdl …
static SQ3_BLOB Sq3BlobHandleResolve_RT(MK_RT mkrt, MK_HDL const netHdl)
Handle-Resolve-Slot - return a Sq3BlobC from netHdl or nil if invalid…
static SQ3_BLOB Sq3BlobPrev(SQ3_BLOB const blob)
get previous instance from linked-list of Sq3BlobS type
static SQ3_BLOB Sq3BlobC_ObjCreate(sqlite3_blob *hdl)
return Programming-Language-Micro-Kernel (PLMK) instance from native hdl …
#define Sq3GetBlobFromNat(_nat)
helper for Sq3BlobC_ObjNew …
static SQ3_BLOB Sq3BlobInstances_RT(MK_RT mkrt)
get head-instance from linked-list of Sq3BlobS type …
static SQ3_BLOB Sq3BlobNext(SQ3_BLOB const blob)
get next instance from linked-list of Sq3BlobS type
static SQ3_BLOB Sq3BlobGetNull(void)
Null-Slot - return a Sq3BlobC typed NULL instance …
static MK_HDL Sq3BlobHandleGet_RT(MK_RT mkrt, SQ3_BLOB const blob)
Handle-Get-Slot - returns a export-hdl to the Sq3BlobC useable for external storage
#define Sq3BlobC_X2obj(x)
static bool Sq3BlobCheck(MK_MNGN mng)
check Sq3BlobS -> MkObjectS::signature …
static SQ3_BLOBN Sq3BlobN(MK_MNGN mng)
(const) cast a unknown-object into an Sq3BlobS pointer or NULL if not possible
static SQ3_BLOB Sq3Blob(MK_MNG mng)
cast a unknown-object into an Sq3BlobS pointer or NULL if not possible
static bool Sq3BlobCheckO(MK_OBJN obj)
check Sq3BlobS -> MkObjectS::signature …
__thread MK_TYP Sq3BlobC_TT
class as MkTypeDefS-class-type …
struct sqlite3_blob sqlite3_blob
Struct to represent the data of the Sq3BlobC …
sqlite3_blob * nat
internal - link between Sq3BlobS and native library