From 3a993adae6d5bcf9dac0bfeb024951fd9a813e60 Mon Sep 17 00:00:00 2001 From: AlexPeshkoff Date: Thu, 5 Sep 2024 16:57:02 +0300 Subject: [PATCH] Postfix for #8197: Add generated files for OO API for C language to distribution; Use macros instead functions, removed static library --- .../linux/makeInstallImage.sh.in | 2 - .../install/posix-common/posixLibrary.sh.in | 2 +- builds/posix/Makefile.in | 21 +- examples/interfaces/01.create.c | 2 +- extern/cloop/src/cloop/Generator.cpp | 69 +- extern/cloop/src/cloop/Generator.h | 3 +- extern/cloop/src/cloop/Main.cpp | 7 +- src/include/gen/fb_c_api.c | 3400 ----------------- src/include/gen/fb_c_api.h | 3351 ---------------- 9 files changed, 69 insertions(+), 6788 deletions(-) delete mode 100644 src/include/gen/fb_c_api.c delete mode 100644 src/include/gen/fb_c_api.h diff --git a/builds/install/arch-specific/linux/makeInstallImage.sh.in b/builds/install/arch-specific/linux/makeInstallImage.sh.in index 781656c87d..2f2c3354bd 100644 --- a/builds/install/arch-specific/linux/makeInstallImage.sh.in +++ b/builds/install/arch-specific/linux/makeInstallImage.sh.in @@ -248,7 +248,6 @@ copyFiles() { #include (.h .pas files) cp $BuiltFBDir/include/*.h ${TargetDir}@FB_INCDIR@ -# cp $BuiltFBDir/include/firebird/impl/iberror_c.h ${TargetDir}@FB_INCDIR@/firebird/impl cp $BuiltFBDir/include/firebird/*.h ${TargetDir}@FB_INCDIR@/firebird tar -C $BuiltFBDir/include/firebird -cf - impl | tar -C ${TargetDir}@FB_INCDIR@/firebird -x if [ "$CLIENT_ONLY_FLG" = "N" ]; then @@ -262,7 +261,6 @@ copyFiles() { if [ "$CLIENT_ONLY_FLG" = "N" ]; then cp -f $BuiltFBDir/lib/libib_util.so ${TargetDir}@FB_LIBDIR@/libib_util.so fi - copyIfExists $BuiltFBDir/lib/libfb_c_api.a ${TargetDir}@FB_LIBDIR@ if [ "$TomMathBuild" = "Y" ]; then makeDirs @FB_LIBDIR@/.tm diff --git a/builds/install/posix-common/posixLibrary.sh.in b/builds/install/posix-common/posixLibrary.sh.in index 39cac61bbb..2318d5f259 100644 --- a/builds/install/posix-common/posixLibrary.sh.in +++ b/builds/install/posix-common/posixLibrary.sh.in @@ -596,7 +596,7 @@ createLinksInSystemLib() { origDirLinksInSystemLib=`pwd` cd @FB_LIBDIR@ - Libraries=`echo libfbclient.@SHRLIB_EXT@* libib_util.@SHRLIB_EXT@ libfb_c_api.a` + Libraries=`echo libfbclient.@SHRLIB_EXT@* libib_util.@SHRLIB_EXT@` cd / for l in $Libraries diff --git a/builds/posix/Makefile.in b/builds/posix/Makefile.in index 0a376de956..0582705ddc 100644 --- a/builds/posix/Makefile.in +++ b/builds/posix/Makefile.in @@ -120,10 +120,7 @@ API_PAS_FILE=$(INCLD_ROOT)/gen/Firebird.pas API_C_HEADER=fb_c_api.h API_C_H_FILE=$(FIREBIRD)/include/firebird/$(API_C_HEADER) API_C_TMP_FILE=$(TMP_ROOT)/fb_c_api.tmp -API_C_IMPL_FILE=$(INCLD_ROOT)/gen/fb_c_api.c API_C_TEMPLATE=$(IDL_ROOT)/fb_c_api.hdr -API_C_LIBRARY=$(LIB)/libfb_c_api.a -API_C_TMP_OBJ=$(TMP_ROOT)/fb_c_api.obj MISC=$(SRC_ROOT)/misc PAS_ROOT=$(MISC)/pascal PASCAL_SOURCES=$(wildcard $(PAS_ROOT)/*) @@ -136,20 +133,17 @@ RPL_AWK_SRC=$(MISC)/def_awk.c RPL_GREP=$(GEN_ROOT)/isc_grep RPL_GREP_SRC=$(MISC)/isc_grep.c -updateCloopInterfaces : $(API_H_FILE) $(API_PAS_FILE) +updateCloopInterfaces : $(API_H_FILE) $(API_PAS_FILE) $(API_C_H_FILE) $(API_H_FILE): $(IDL_FILE) $(CLOOP) $< c++ $@ IDL_FB_INTERFACES_H Firebird I $(API_C_TMP_FILE): $(IDL_FILE) - $(CLOOP) $< c-header $@ FB_C_API_H I + $(CLOOP) $< c-header $@ FB_C_API_H I macro $(API_C_H_FILE): $(API_C_TEMPLATE) $(API_C_TMP_FILE) cat $(API_C_TEMPLATE) $(API_C_TMP_FILE) >$(API_C_H_FILE) -$(API_C_IMPL_FILE): $(IDL_FILE) - $(CLOOP) $< c-impl $@ $(API_C_HEADER) I - # # This way firebird.pas can be created not using own mini-utilities. # They were added to be able to build on windows, this code is left for reference. @@ -707,13 +701,13 @@ $(COMPAT_SQL): $(SRC_COMPAT_SQL) # all the rest we need to build # -.PHONY: message_file tzdata gbak_files api_c_library +.PHONY: message_file tzdata gbak_files FDB_FILES := $(SECURITY_FDB) $(FIREBIRD)/examples/empbuild/employee.fdb GBAK_FILES := $(FDB_FILES:.fdb=.gbak) GBAK_FILES := $(subst Native,$(TARGET),$(GBAK_FILES)) -rest: tzdata api_c_library +rest: message_file tzdata cross_rest: tzdata $(MAKE) $(BUILD_FILE) @@ -739,13 +733,6 @@ $(BUILD_FILE): $(BUILD_Objects) gbak_files: $(GBAK_FILES) -api_c_library: $(API_C_LIBRARY) - -$(API_C_LIBRARY): $(API_C_IMPL_FILE) $(API_C_H_FILE) $(FIREBIRD_MSG) # use $(FIREBIRD_MSG) as timemark for iberror_c.h - $(CC) $(WCFLAGS) -I$(FIREBIRD)/include -c $(API_C_IMPL_FILE) -o $(API_C_TMP_OBJ) - -$(RM) $@ - $(STATICLIB_LINK) $@ $(API_C_TMP_OBJ) - #--------------------------------------------------------------------------- diff --git a/examples/interfaces/01.create.c b/examples/interfaces/01.create.c index d70a155d98..e2ab343893 100644 --- a/examples/interfaces/01.create.c +++ b/examples/interfaces/01.create.c @@ -3,7 +3,7 @@ * MODULE: 01.create.c * DESCRIPTION: Minimal sample of using interfaces from plain C. * - * Run something like this to build: cc 01.create.c -lfb_c_api -lfbclient + * Run something like this to build: cc 01.create.c -lfbclient * * The contents of this file are subject to the Initial * Developer's Public License Version 1.0 (the "License"); diff --git a/extern/cloop/src/cloop/Generator.cpp b/extern/cloop/src/cloop/Generator.cpp index b64bcc1ca0..35dbf03ad5 100644 --- a/extern/cloop/src/cloop/Generator.cpp +++ b/extern/cloop/src/cloop/Generator.cpp @@ -716,11 +716,16 @@ void CppGenerator::generate() CHeaderGenerator::CHeaderGenerator(const string& filename, const string& prefix, Parser* parser, - const string& headerGuard) + const string& headerGuard, const std::string& parMacro) : CBasedGenerator(filename, prefix, false), parser(parser), - headerGuard(headerGuard) + headerGuard(headerGuard), + macro(false) { + if (parMacro.length() > 0 && parMacro != "macro") + throw runtime_error("Last (#6) param should be exactly 'macro' or missing"); + + macro = parMacro.length() > 0; } void CHeaderGenerator::generate() @@ -824,14 +829,24 @@ void CHeaderGenerator::generate() { Method* method = *j; - fprintf(out, "CLOOP_EXTERN_C %s %s%s_%s(%sstruct %s%s* self", - convertType(method->returnTypeRef).c_str(), - prefix.c_str(), - interface->name.c_str(), - method->name.c_str(), - (method->isConst ? "const " : ""), - prefix.c_str(), - interface->name.c_str()); + if (macro) + { + fprintf(out, "#define %s%s_%s(self", + prefix.c_str(), + interface->name.c_str(), + method->name.c_str()); + } + else + { + fprintf(out, "CLOOP_EXTERN_C %s %s%s_%s(%sstruct %s%s* self", + convertType(method->returnTypeRef).c_str(), + prefix.c_str(), + interface->name.c_str(), + method->name.c_str(), + (method->isConst ? "const " : ""), + prefix.c_str(), + interface->name.c_str()); + } for (vector::iterator k = method->parameters.begin(); k != method->parameters.end(); @@ -839,11 +854,39 @@ void CHeaderGenerator::generate() { Parameter* parameter = *k; - fprintf(out, ", %s %s", - convertType(parameter->typeRef).c_str(), parameter->name.c_str()); + if (macro) + { + fprintf(out, ", %s", + parameter->name.c_str()); + } + else + { + fprintf(out, ", %s %s", + convertType(parameter->typeRef).c_str(), parameter->name.c_str()); + } } - fprintf(out, ");\n"); + if (macro) + { + fprintf(out, ") %s(self)->vtable->%s(self", + method->returnTypeRef.token.type != Token::TYPE_VOID ? "(" : "", + method->name.c_str()); + + for (vector::iterator k = method->parameters.begin(); + k != method->parameters.end(); + ++k) + { + Parameter* parameter = *k; + + fprintf(out, ", (%s)", + parameter->name.c_str()); + } + + fprintf(out, ")%s\n", + method->returnTypeRef.token.type != Token::TYPE_VOID ? ")" : ""); + } + else + fprintf(out, ");\n"); } fprintf(out, "\n"); diff --git a/extern/cloop/src/cloop/Generator.h b/extern/cloop/src/cloop/Generator.h index 399ffa81bf..a354671000 100644 --- a/extern/cloop/src/cloop/Generator.h +++ b/extern/cloop/src/cloop/Generator.h @@ -90,7 +90,7 @@ class CHeaderGenerator : public CBasedGenerator { public: CHeaderGenerator(const std::string& filename, const std::string& prefix, Parser* parser, - const std::string& headerGuard); + const std::string& headerGuard, const std::string& macro); public: virtual void generate(); @@ -98,6 +98,7 @@ public: private: Parser* parser; std::string headerGuard; + bool macro; }; diff --git a/extern/cloop/src/cloop/Main.cpp b/extern/cloop/src/cloop/Main.cpp index 9d79260821..b69f839ff2 100644 --- a/extern/cloop/src/cloop/Main.cpp +++ b/extern/cloop/src/cloop/Main.cpp @@ -82,12 +82,15 @@ static void run(int argc, const char* argv[]) else if (outFormat == "c-header") { if (argc < 6) - throw runtime_error(paramError("c-header", "headerGuard prefix")); + throw runtime_error(paramError("c-header", "headerGuard prefix [macro]")); string headerGuard(argv[4]); string prefix(argv[5]); + string macro; + if (argc == 7) + macro = argv[6]; - generator.reset(new CHeaderGenerator(outFilename, prefix, &parser, headerGuard)); + generator.reset(new CHeaderGenerator(outFilename, prefix, &parser, headerGuard, macro)); } else if (outFormat == "c-impl") { diff --git a/src/include/gen/fb_c_api.c b/src/include/gen/fb_c_api.c deleted file mode 100644 index 4bc08e9628..0000000000 --- a/src/include/gen/fb_c_api.c +++ /dev/null @@ -1,3400 +0,0 @@ -/* This file was autogenerated by cloop - Cross Language Object Oriented Programming */ - -#include "fb_c_api.h" - - -CLOOP_EXTERN_C void IReferenceCounted_addRef(struct IReferenceCounted* self) -{ - self->vtable->addRef(self); -} - -CLOOP_EXTERN_C int IReferenceCounted_release(struct IReferenceCounted* self) -{ - return self->vtable->release(self); -} - -CLOOP_EXTERN_C void IDisposable_dispose(struct IDisposable* self) -{ - self->vtable->dispose(self); -} - -CLOOP_EXTERN_C void IStatus_dispose(struct IStatus* self) -{ - self->vtable->dispose(self); -} - -CLOOP_EXTERN_C void IStatus_init(struct IStatus* self) -{ - self->vtable->init(self); -} - -CLOOP_EXTERN_C unsigned IStatus_getState(const struct IStatus* self) -{ - return self->vtable->getState(self); -} - -CLOOP_EXTERN_C void IStatus_setErrors2(struct IStatus* self, unsigned length, const intptr_t* value) -{ - self->vtable->setErrors2(self, length, value); -} - -CLOOP_EXTERN_C void IStatus_setWarnings2(struct IStatus* self, unsigned length, const intptr_t* value) -{ - self->vtable->setWarnings2(self, length, value); -} - -CLOOP_EXTERN_C void IStatus_setErrors(struct IStatus* self, const intptr_t* value) -{ - self->vtable->setErrors(self, value); -} - -CLOOP_EXTERN_C void IStatus_setWarnings(struct IStatus* self, const intptr_t* value) -{ - self->vtable->setWarnings(self, value); -} - -CLOOP_EXTERN_C const intptr_t* IStatus_getErrors(const struct IStatus* self) -{ - return self->vtable->getErrors(self); -} - -CLOOP_EXTERN_C const intptr_t* IStatus_getWarnings(const struct IStatus* self) -{ - return self->vtable->getWarnings(self); -} - -CLOOP_EXTERN_C struct IStatus* IStatus_clone(const struct IStatus* self) -{ - return self->vtable->clone(self); -} - -CLOOP_EXTERN_C struct IStatus* IMaster_getStatus(struct IMaster* self) -{ - return self->vtable->getStatus(self); -} - -CLOOP_EXTERN_C struct IProvider* IMaster_getDispatcher(struct IMaster* self) -{ - return self->vtable->getDispatcher(self); -} - -CLOOP_EXTERN_C struct IPluginManager* IMaster_getPluginManager(struct IMaster* self) -{ - return self->vtable->getPluginManager(self); -} - -CLOOP_EXTERN_C struct ITimerControl* IMaster_getTimerControl(struct IMaster* self) -{ - return self->vtable->getTimerControl(self); -} - -CLOOP_EXTERN_C struct IDtc* IMaster_getDtc(struct IMaster* self) -{ - return self->vtable->getDtc(self); -} - -CLOOP_EXTERN_C struct IAttachment* IMaster_registerAttachment(struct IMaster* self, struct IProvider* provider, struct IAttachment* attachment) -{ - return self->vtable->registerAttachment(self, provider, attachment); -} - -CLOOP_EXTERN_C struct ITransaction* IMaster_registerTransaction(struct IMaster* self, struct IAttachment* attachment, struct ITransaction* transaction) -{ - return self->vtable->registerTransaction(self, attachment, transaction); -} - -CLOOP_EXTERN_C struct IMetadataBuilder* IMaster_getMetadataBuilder(struct IMaster* self, struct IStatus* status, unsigned fieldCount) -{ - return self->vtable->getMetadataBuilder(self, status, fieldCount); -} - -CLOOP_EXTERN_C int IMaster_serverMode(struct IMaster* self, int mode) -{ - return self->vtable->serverMode(self, mode); -} - -CLOOP_EXTERN_C struct IUtil* IMaster_getUtilInterface(struct IMaster* self) -{ - return self->vtable->getUtilInterface(self); -} - -CLOOP_EXTERN_C struct IConfigManager* IMaster_getConfigManager(struct IMaster* self) -{ - return self->vtable->getConfigManager(self); -} - -CLOOP_EXTERN_C FB_BOOLEAN IMaster_getProcessExiting(struct IMaster* self) -{ - return self->vtable->getProcessExiting(self); -} - -CLOOP_EXTERN_C void IPluginBase_addRef(struct IPluginBase* self) -{ - self->vtable->addRef(self); -} - -CLOOP_EXTERN_C int IPluginBase_release(struct IPluginBase* self) -{ - return self->vtable->release(self); -} - -CLOOP_EXTERN_C void IPluginBase_setOwner(struct IPluginBase* self, struct IReferenceCounted* r) -{ - self->vtable->setOwner(self, r); -} - -CLOOP_EXTERN_C struct IReferenceCounted* IPluginBase_getOwner(struct IPluginBase* self) -{ - return self->vtable->getOwner(self); -} - -CLOOP_EXTERN_C void IPluginSet_addRef(struct IPluginSet* self) -{ - self->vtable->addRef(self); -} - -CLOOP_EXTERN_C int IPluginSet_release(struct IPluginSet* self) -{ - return self->vtable->release(self); -} - -CLOOP_EXTERN_C const char* IPluginSet_getName(const struct IPluginSet* self) -{ - return self->vtable->getName(self); -} - -CLOOP_EXTERN_C const char* IPluginSet_getModuleName(const struct IPluginSet* self) -{ - return self->vtable->getModuleName(self); -} - -CLOOP_EXTERN_C struct IPluginBase* IPluginSet_getPlugin(struct IPluginSet* self, struct IStatus* status) -{ - return self->vtable->getPlugin(self, status); -} - -CLOOP_EXTERN_C void IPluginSet_next(struct IPluginSet* self, struct IStatus* status) -{ - self->vtable->next(self, status); -} - -CLOOP_EXTERN_C void IPluginSet_set(struct IPluginSet* self, struct IStatus* status, const char* s) -{ - self->vtable->set(self, status, s); -} - -CLOOP_EXTERN_C void IConfigEntry_addRef(struct IConfigEntry* self) -{ - self->vtable->addRef(self); -} - -CLOOP_EXTERN_C int IConfigEntry_release(struct IConfigEntry* self) -{ - return self->vtable->release(self); -} - -CLOOP_EXTERN_C const char* IConfigEntry_getName(struct IConfigEntry* self) -{ - return self->vtable->getName(self); -} - -CLOOP_EXTERN_C const char* IConfigEntry_getValue(struct IConfigEntry* self) -{ - return self->vtable->getValue(self); -} - -CLOOP_EXTERN_C ISC_INT64 IConfigEntry_getIntValue(struct IConfigEntry* self) -{ - return self->vtable->getIntValue(self); -} - -CLOOP_EXTERN_C FB_BOOLEAN IConfigEntry_getBoolValue(struct IConfigEntry* self) -{ - return self->vtable->getBoolValue(self); -} - -CLOOP_EXTERN_C struct IConfig* IConfigEntry_getSubConfig(struct IConfigEntry* self, struct IStatus* status) -{ - return self->vtable->getSubConfig(self, status); -} - -CLOOP_EXTERN_C void IConfig_addRef(struct IConfig* self) -{ - self->vtable->addRef(self); -} - -CLOOP_EXTERN_C int IConfig_release(struct IConfig* self) -{ - return self->vtable->release(self); -} - -CLOOP_EXTERN_C struct IConfigEntry* IConfig_find(struct IConfig* self, struct IStatus* status, const char* name) -{ - return self->vtable->find(self, status, name); -} - -CLOOP_EXTERN_C struct IConfigEntry* IConfig_findValue(struct IConfig* self, struct IStatus* status, const char* name, const char* value) -{ - return self->vtable->findValue(self, status, name, value); -} - -CLOOP_EXTERN_C struct IConfigEntry* IConfig_findPos(struct IConfig* self, struct IStatus* status, const char* name, unsigned pos) -{ - return self->vtable->findPos(self, status, name, pos); -} - -CLOOP_EXTERN_C void IFirebirdConf_addRef(struct IFirebirdConf* self) -{ - self->vtable->addRef(self); -} - -CLOOP_EXTERN_C int IFirebirdConf_release(struct IFirebirdConf* self) -{ - return self->vtable->release(self); -} - -CLOOP_EXTERN_C unsigned IFirebirdConf_getKey(struct IFirebirdConf* self, const char* name) -{ - return self->vtable->getKey(self, name); -} - -CLOOP_EXTERN_C ISC_INT64 IFirebirdConf_asInteger(struct IFirebirdConf* self, unsigned key) -{ - return self->vtable->asInteger(self, key); -} - -CLOOP_EXTERN_C const char* IFirebirdConf_asString(struct IFirebirdConf* self, unsigned key) -{ - return self->vtable->asString(self, key); -} - -CLOOP_EXTERN_C FB_BOOLEAN IFirebirdConf_asBoolean(struct IFirebirdConf* self, unsigned key) -{ - return self->vtable->asBoolean(self, key); -} - -CLOOP_EXTERN_C unsigned IFirebirdConf_getVersion(struct IFirebirdConf* self, struct IStatus* status) -{ - return self->vtable->getVersion(self, status); -} - -CLOOP_EXTERN_C void IPluginConfig_addRef(struct IPluginConfig* self) -{ - self->vtable->addRef(self); -} - -CLOOP_EXTERN_C int IPluginConfig_release(struct IPluginConfig* self) -{ - return self->vtable->release(self); -} - -CLOOP_EXTERN_C const char* IPluginConfig_getConfigFileName(struct IPluginConfig* self) -{ - return self->vtable->getConfigFileName(self); -} - -CLOOP_EXTERN_C struct IConfig* IPluginConfig_getDefaultConfig(struct IPluginConfig* self, struct IStatus* status) -{ - return self->vtable->getDefaultConfig(self, status); -} - -CLOOP_EXTERN_C struct IFirebirdConf* IPluginConfig_getFirebirdConf(struct IPluginConfig* self, struct IStatus* status) -{ - return self->vtable->getFirebirdConf(self, status); -} - -CLOOP_EXTERN_C void IPluginConfig_setReleaseDelay(struct IPluginConfig* self, struct IStatus* status, ISC_UINT64 microSeconds) -{ - self->vtable->setReleaseDelay(self, status, microSeconds); -} - -CLOOP_EXTERN_C struct IPluginBase* IPluginFactory_createPlugin(struct IPluginFactory* self, struct IStatus* status, struct IPluginConfig* factoryParameter) -{ - return self->vtable->createPlugin(self, status, factoryParameter); -} - -CLOOP_EXTERN_C void IPluginModule_doClean(struct IPluginModule* self) -{ - self->vtable->doClean(self); -} - -CLOOP_EXTERN_C void IPluginModule_threadDetach(struct IPluginModule* self) -{ - self->vtable->threadDetach(self); -} - -CLOOP_EXTERN_C void IPluginManager_registerPluginFactory(struct IPluginManager* self, unsigned pluginType, const char* defaultName, struct IPluginFactory* factory) -{ - self->vtable->registerPluginFactory(self, pluginType, defaultName, factory); -} - -CLOOP_EXTERN_C void IPluginManager_registerModule(struct IPluginManager* self, struct IPluginModule* cleanup) -{ - self->vtable->registerModule(self, cleanup); -} - -CLOOP_EXTERN_C void IPluginManager_unregisterModule(struct IPluginManager* self, struct IPluginModule* cleanup) -{ - self->vtable->unregisterModule(self, cleanup); -} - -CLOOP_EXTERN_C struct IPluginSet* IPluginManager_getPlugins(struct IPluginManager* self, struct IStatus* status, unsigned pluginType, const char* namesList, struct IFirebirdConf* firebirdConf) -{ - return self->vtable->getPlugins(self, status, pluginType, namesList, firebirdConf); -} - -CLOOP_EXTERN_C struct IConfig* IPluginManager_getConfig(struct IPluginManager* self, struct IStatus* status, const char* filename) -{ - return self->vtable->getConfig(self, status, filename); -} - -CLOOP_EXTERN_C void IPluginManager_releasePlugin(struct IPluginManager* self, struct IPluginBase* plugin) -{ - self->vtable->releasePlugin(self, plugin); -} - -CLOOP_EXTERN_C void ICryptKey_setSymmetric(struct ICryptKey* self, struct IStatus* status, const char* type, unsigned keyLength, const void* key) -{ - self->vtable->setSymmetric(self, status, type, keyLength, key); -} - -CLOOP_EXTERN_C void ICryptKey_setAsymmetric(struct ICryptKey* self, struct IStatus* status, const char* type, unsigned encryptKeyLength, const void* encryptKey, unsigned decryptKeyLength, const void* decryptKey) -{ - self->vtable->setAsymmetric(self, status, type, encryptKeyLength, encryptKey, decryptKeyLength, decryptKey); -} - -CLOOP_EXTERN_C const void* ICryptKey_getEncryptKey(struct ICryptKey* self, unsigned* length) -{ - return self->vtable->getEncryptKey(self, length); -} - -CLOOP_EXTERN_C const void* ICryptKey_getDecryptKey(struct ICryptKey* self, unsigned* length) -{ - return self->vtable->getDecryptKey(self, length); -} - -CLOOP_EXTERN_C const char* IConfigManager_getDirectory(struct IConfigManager* self, unsigned code) -{ - return self->vtable->getDirectory(self, code); -} - -CLOOP_EXTERN_C struct IFirebirdConf* IConfigManager_getFirebirdConf(struct IConfigManager* self) -{ - return self->vtable->getFirebirdConf(self); -} - -CLOOP_EXTERN_C struct IFirebirdConf* IConfigManager_getDatabaseConf(struct IConfigManager* self, const char* dbName) -{ - return self->vtable->getDatabaseConf(self, dbName); -} - -CLOOP_EXTERN_C struct IConfig* IConfigManager_getPluginConfig(struct IConfigManager* self, const char* configuredPlugin) -{ - return self->vtable->getPluginConfig(self, configuredPlugin); -} - -CLOOP_EXTERN_C const char* IConfigManager_getInstallDirectory(struct IConfigManager* self) -{ - return self->vtable->getInstallDirectory(self); -} - -CLOOP_EXTERN_C const char* IConfigManager_getRootDirectory(struct IConfigManager* self) -{ - return self->vtable->getRootDirectory(self); -} - -CLOOP_EXTERN_C const char* IConfigManager_getDefaultSecurityDb(struct IConfigManager* self) -{ - return self->vtable->getDefaultSecurityDb(self); -} - -CLOOP_EXTERN_C void IEventCallback_addRef(struct IEventCallback* self) -{ - self->vtable->addRef(self); -} - -CLOOP_EXTERN_C int IEventCallback_release(struct IEventCallback* self) -{ - return self->vtable->release(self); -} - -CLOOP_EXTERN_C void IEventCallback_eventCallbackFunction(struct IEventCallback* self, unsigned length, const unsigned char* events) -{ - self->vtable->eventCallbackFunction(self, length, events); -} - -CLOOP_EXTERN_C void IBlob_addRef(struct IBlob* self) -{ - self->vtable->addRef(self); -} - -CLOOP_EXTERN_C int IBlob_release(struct IBlob* self) -{ - return self->vtable->release(self); -} - -CLOOP_EXTERN_C void IBlob_getInfo(struct IBlob* self, struct IStatus* status, unsigned itemsLength, const unsigned char* items, unsigned bufferLength, unsigned char* buffer) -{ - self->vtable->getInfo(self, status, itemsLength, items, bufferLength, buffer); -} - -CLOOP_EXTERN_C int IBlob_getSegment(struct IBlob* self, struct IStatus* status, unsigned bufferLength, void* buffer, unsigned* segmentLength) -{ - return self->vtable->getSegment(self, status, bufferLength, buffer, segmentLength); -} - -CLOOP_EXTERN_C void IBlob_putSegment(struct IBlob* self, struct IStatus* status, unsigned length, const void* buffer) -{ - self->vtable->putSegment(self, status, length, buffer); -} - -CLOOP_EXTERN_C void IBlob_deprecatedCancel(struct IBlob* self, struct IStatus* status) -{ - self->vtable->deprecatedCancel(self, status); -} - -CLOOP_EXTERN_C void IBlob_deprecatedClose(struct IBlob* self, struct IStatus* status) -{ - self->vtable->deprecatedClose(self, status); -} - -CLOOP_EXTERN_C int IBlob_seek(struct IBlob* self, struct IStatus* status, int mode, int offset) -{ - return self->vtable->seek(self, status, mode, offset); -} - -CLOOP_EXTERN_C void IBlob_cancel(struct IBlob* self, struct IStatus* status) -{ - self->vtable->cancel(self, status); -} - -CLOOP_EXTERN_C void IBlob_close(struct IBlob* self, struct IStatus* status) -{ - self->vtable->close(self, status); -} - -CLOOP_EXTERN_C void ITransaction_addRef(struct ITransaction* self) -{ - self->vtable->addRef(self); -} - -CLOOP_EXTERN_C int ITransaction_release(struct ITransaction* self) -{ - return self->vtable->release(self); -} - -CLOOP_EXTERN_C void ITransaction_getInfo(struct ITransaction* self, struct IStatus* status, unsigned itemsLength, const unsigned char* items, unsigned bufferLength, unsigned char* buffer) -{ - self->vtable->getInfo(self, status, itemsLength, items, bufferLength, buffer); -} - -CLOOP_EXTERN_C void ITransaction_prepare(struct ITransaction* self, struct IStatus* status, unsigned msgLength, const unsigned char* message) -{ - self->vtable->prepare(self, status, msgLength, message); -} - -CLOOP_EXTERN_C void ITransaction_deprecatedCommit(struct ITransaction* self, struct IStatus* status) -{ - self->vtable->deprecatedCommit(self, status); -} - -CLOOP_EXTERN_C void ITransaction_commitRetaining(struct ITransaction* self, struct IStatus* status) -{ - self->vtable->commitRetaining(self, status); -} - -CLOOP_EXTERN_C void ITransaction_deprecatedRollback(struct ITransaction* self, struct IStatus* status) -{ - self->vtable->deprecatedRollback(self, status); -} - -CLOOP_EXTERN_C void ITransaction_rollbackRetaining(struct ITransaction* self, struct IStatus* status) -{ - self->vtable->rollbackRetaining(self, status); -} - -CLOOP_EXTERN_C void ITransaction_deprecatedDisconnect(struct ITransaction* self, struct IStatus* status) -{ - self->vtable->deprecatedDisconnect(self, status); -} - -CLOOP_EXTERN_C struct ITransaction* ITransaction_join(struct ITransaction* self, struct IStatus* status, struct ITransaction* transaction) -{ - return self->vtable->join(self, status, transaction); -} - -CLOOP_EXTERN_C struct ITransaction* ITransaction_validate(struct ITransaction* self, struct IStatus* status, struct IAttachment* attachment) -{ - return self->vtable->validate(self, status, attachment); -} - -CLOOP_EXTERN_C struct ITransaction* ITransaction_enterDtc(struct ITransaction* self, struct IStatus* status) -{ - return self->vtable->enterDtc(self, status); -} - -CLOOP_EXTERN_C void ITransaction_commit(struct ITransaction* self, struct IStatus* status) -{ - self->vtable->commit(self, status); -} - -CLOOP_EXTERN_C void ITransaction_rollback(struct ITransaction* self, struct IStatus* status) -{ - self->vtable->rollback(self, status); -} - -CLOOP_EXTERN_C void ITransaction_disconnect(struct ITransaction* self, struct IStatus* status) -{ - self->vtable->disconnect(self, status); -} - -CLOOP_EXTERN_C void IMessageMetadata_addRef(struct IMessageMetadata* self) -{ - self->vtable->addRef(self); -} - -CLOOP_EXTERN_C int IMessageMetadata_release(struct IMessageMetadata* self) -{ - return self->vtable->release(self); -} - -CLOOP_EXTERN_C unsigned IMessageMetadata_getCount(struct IMessageMetadata* self, struct IStatus* status) -{ - return self->vtable->getCount(self, status); -} - -CLOOP_EXTERN_C const char* IMessageMetadata_getField(struct IMessageMetadata* self, struct IStatus* status, unsigned index) -{ - return self->vtable->getField(self, status, index); -} - -CLOOP_EXTERN_C const char* IMessageMetadata_getRelation(struct IMessageMetadata* self, struct IStatus* status, unsigned index) -{ - return self->vtable->getRelation(self, status, index); -} - -CLOOP_EXTERN_C const char* IMessageMetadata_getOwner(struct IMessageMetadata* self, struct IStatus* status, unsigned index) -{ - return self->vtable->getOwner(self, status, index); -} - -CLOOP_EXTERN_C const char* IMessageMetadata_getAlias(struct IMessageMetadata* self, struct IStatus* status, unsigned index) -{ - return self->vtable->getAlias(self, status, index); -} - -CLOOP_EXTERN_C unsigned IMessageMetadata_getType(struct IMessageMetadata* self, struct IStatus* status, unsigned index) -{ - return self->vtable->getType(self, status, index); -} - -CLOOP_EXTERN_C FB_BOOLEAN IMessageMetadata_isNullable(struct IMessageMetadata* self, struct IStatus* status, unsigned index) -{ - return self->vtable->isNullable(self, status, index); -} - -CLOOP_EXTERN_C int IMessageMetadata_getSubType(struct IMessageMetadata* self, struct IStatus* status, unsigned index) -{ - return self->vtable->getSubType(self, status, index); -} - -CLOOP_EXTERN_C unsigned IMessageMetadata_getLength(struct IMessageMetadata* self, struct IStatus* status, unsigned index) -{ - return self->vtable->getLength(self, status, index); -} - -CLOOP_EXTERN_C int IMessageMetadata_getScale(struct IMessageMetadata* self, struct IStatus* status, unsigned index) -{ - return self->vtable->getScale(self, status, index); -} - -CLOOP_EXTERN_C unsigned IMessageMetadata_getCharSet(struct IMessageMetadata* self, struct IStatus* status, unsigned index) -{ - return self->vtable->getCharSet(self, status, index); -} - -CLOOP_EXTERN_C unsigned IMessageMetadata_getOffset(struct IMessageMetadata* self, struct IStatus* status, unsigned index) -{ - return self->vtable->getOffset(self, status, index); -} - -CLOOP_EXTERN_C unsigned IMessageMetadata_getNullOffset(struct IMessageMetadata* self, struct IStatus* status, unsigned index) -{ - return self->vtable->getNullOffset(self, status, index); -} - -CLOOP_EXTERN_C struct IMetadataBuilder* IMessageMetadata_getBuilder(struct IMessageMetadata* self, struct IStatus* status) -{ - return self->vtable->getBuilder(self, status); -} - -CLOOP_EXTERN_C unsigned IMessageMetadata_getMessageLength(struct IMessageMetadata* self, struct IStatus* status) -{ - return self->vtable->getMessageLength(self, status); -} - -CLOOP_EXTERN_C unsigned IMessageMetadata_getAlignment(struct IMessageMetadata* self, struct IStatus* status) -{ - return self->vtable->getAlignment(self, status); -} - -CLOOP_EXTERN_C unsigned IMessageMetadata_getAlignedLength(struct IMessageMetadata* self, struct IStatus* status) -{ - return self->vtable->getAlignedLength(self, status); -} - -CLOOP_EXTERN_C void IMetadataBuilder_addRef(struct IMetadataBuilder* self) -{ - self->vtable->addRef(self); -} - -CLOOP_EXTERN_C int IMetadataBuilder_release(struct IMetadataBuilder* self) -{ - return self->vtable->release(self); -} - -CLOOP_EXTERN_C void IMetadataBuilder_setType(struct IMetadataBuilder* self, struct IStatus* status, unsigned index, unsigned type) -{ - self->vtable->setType(self, status, index, type); -} - -CLOOP_EXTERN_C void IMetadataBuilder_setSubType(struct IMetadataBuilder* self, struct IStatus* status, unsigned index, int subType) -{ - self->vtable->setSubType(self, status, index, subType); -} - -CLOOP_EXTERN_C void IMetadataBuilder_setLength(struct IMetadataBuilder* self, struct IStatus* status, unsigned index, unsigned length) -{ - self->vtable->setLength(self, status, index, length); -} - -CLOOP_EXTERN_C void IMetadataBuilder_setCharSet(struct IMetadataBuilder* self, struct IStatus* status, unsigned index, unsigned charSet) -{ - self->vtable->setCharSet(self, status, index, charSet); -} - -CLOOP_EXTERN_C void IMetadataBuilder_setScale(struct IMetadataBuilder* self, struct IStatus* status, unsigned index, int scale) -{ - self->vtable->setScale(self, status, index, scale); -} - -CLOOP_EXTERN_C void IMetadataBuilder_truncate(struct IMetadataBuilder* self, struct IStatus* status, unsigned count) -{ - self->vtable->truncate(self, status, count); -} - -CLOOP_EXTERN_C void IMetadataBuilder_moveNameToIndex(struct IMetadataBuilder* self, struct IStatus* status, const char* name, unsigned index) -{ - self->vtable->moveNameToIndex(self, status, name, index); -} - -CLOOP_EXTERN_C void IMetadataBuilder_remove(struct IMetadataBuilder* self, struct IStatus* status, unsigned index) -{ - self->vtable->remove(self, status, index); -} - -CLOOP_EXTERN_C unsigned IMetadataBuilder_addField(struct IMetadataBuilder* self, struct IStatus* status) -{ - return self->vtable->addField(self, status); -} - -CLOOP_EXTERN_C struct IMessageMetadata* IMetadataBuilder_getMetadata(struct IMetadataBuilder* self, struct IStatus* status) -{ - return self->vtable->getMetadata(self, status); -} - -CLOOP_EXTERN_C void IMetadataBuilder_setField(struct IMetadataBuilder* self, struct IStatus* status, unsigned index, const char* field) -{ - self->vtable->setField(self, status, index, field); -} - -CLOOP_EXTERN_C void IMetadataBuilder_setRelation(struct IMetadataBuilder* self, struct IStatus* status, unsigned index, const char* relation) -{ - self->vtable->setRelation(self, status, index, relation); -} - -CLOOP_EXTERN_C void IMetadataBuilder_setOwner(struct IMetadataBuilder* self, struct IStatus* status, unsigned index, const char* owner) -{ - self->vtable->setOwner(self, status, index, owner); -} - -CLOOP_EXTERN_C void IMetadataBuilder_setAlias(struct IMetadataBuilder* self, struct IStatus* status, unsigned index, const char* alias) -{ - self->vtable->setAlias(self, status, index, alias); -} - -CLOOP_EXTERN_C void IResultSet_addRef(struct IResultSet* self) -{ - self->vtable->addRef(self); -} - -CLOOP_EXTERN_C int IResultSet_release(struct IResultSet* self) -{ - return self->vtable->release(self); -} - -CLOOP_EXTERN_C int IResultSet_fetchNext(struct IResultSet* self, struct IStatus* status, void* message) -{ - return self->vtable->fetchNext(self, status, message); -} - -CLOOP_EXTERN_C int IResultSet_fetchPrior(struct IResultSet* self, struct IStatus* status, void* message) -{ - return self->vtable->fetchPrior(self, status, message); -} - -CLOOP_EXTERN_C int IResultSet_fetchFirst(struct IResultSet* self, struct IStatus* status, void* message) -{ - return self->vtable->fetchFirst(self, status, message); -} - -CLOOP_EXTERN_C int IResultSet_fetchLast(struct IResultSet* self, struct IStatus* status, void* message) -{ - return self->vtable->fetchLast(self, status, message); -} - -CLOOP_EXTERN_C int IResultSet_fetchAbsolute(struct IResultSet* self, struct IStatus* status, int position, void* message) -{ - return self->vtable->fetchAbsolute(self, status, position, message); -} - -CLOOP_EXTERN_C int IResultSet_fetchRelative(struct IResultSet* self, struct IStatus* status, int offset, void* message) -{ - return self->vtable->fetchRelative(self, status, offset, message); -} - -CLOOP_EXTERN_C FB_BOOLEAN IResultSet_isEof(struct IResultSet* self, struct IStatus* status) -{ - return self->vtable->isEof(self, status); -} - -CLOOP_EXTERN_C FB_BOOLEAN IResultSet_isBof(struct IResultSet* self, struct IStatus* status) -{ - return self->vtable->isBof(self, status); -} - -CLOOP_EXTERN_C struct IMessageMetadata* IResultSet_getMetadata(struct IResultSet* self, struct IStatus* status) -{ - return self->vtable->getMetadata(self, status); -} - -CLOOP_EXTERN_C void IResultSet_deprecatedClose(struct IResultSet* self, struct IStatus* status) -{ - self->vtable->deprecatedClose(self, status); -} - -CLOOP_EXTERN_C void IResultSet_setDelayedOutputFormat(struct IResultSet* self, struct IStatus* status, struct IMessageMetadata* format) -{ - self->vtable->setDelayedOutputFormat(self, status, format); -} - -CLOOP_EXTERN_C void IResultSet_close(struct IResultSet* self, struct IStatus* status) -{ - self->vtable->close(self, status); -} - -CLOOP_EXTERN_C void IResultSet_getInfo(struct IResultSet* self, struct IStatus* status, unsigned itemsLength, const unsigned char* items, unsigned bufferLength, unsigned char* buffer) -{ - self->vtable->getInfo(self, status, itemsLength, items, bufferLength, buffer); -} - -CLOOP_EXTERN_C void IStatement_addRef(struct IStatement* self) -{ - self->vtable->addRef(self); -} - -CLOOP_EXTERN_C int IStatement_release(struct IStatement* self) -{ - return self->vtable->release(self); -} - -CLOOP_EXTERN_C void IStatement_getInfo(struct IStatement* self, struct IStatus* status, unsigned itemsLength, const unsigned char* items, unsigned bufferLength, unsigned char* buffer) -{ - self->vtable->getInfo(self, status, itemsLength, items, bufferLength, buffer); -} - -CLOOP_EXTERN_C unsigned IStatement_getType(struct IStatement* self, struct IStatus* status) -{ - return self->vtable->getType(self, status); -} - -CLOOP_EXTERN_C const char* IStatement_getPlan(struct IStatement* self, struct IStatus* status, FB_BOOLEAN detailed) -{ - return self->vtable->getPlan(self, status, detailed); -} - -CLOOP_EXTERN_C ISC_UINT64 IStatement_getAffectedRecords(struct IStatement* self, struct IStatus* status) -{ - return self->vtable->getAffectedRecords(self, status); -} - -CLOOP_EXTERN_C struct IMessageMetadata* IStatement_getInputMetadata(struct IStatement* self, struct IStatus* status) -{ - return self->vtable->getInputMetadata(self, status); -} - -CLOOP_EXTERN_C struct IMessageMetadata* IStatement_getOutputMetadata(struct IStatement* self, struct IStatus* status) -{ - return self->vtable->getOutputMetadata(self, status); -} - -CLOOP_EXTERN_C struct ITransaction* IStatement_execute(struct IStatement* self, struct IStatus* status, struct ITransaction* transaction, struct IMessageMetadata* inMetadata, void* inBuffer, struct IMessageMetadata* outMetadata, void* outBuffer) -{ - return self->vtable->execute(self, status, transaction, inMetadata, inBuffer, outMetadata, outBuffer); -} - -CLOOP_EXTERN_C struct IResultSet* IStatement_openCursor(struct IStatement* self, struct IStatus* status, struct ITransaction* transaction, struct IMessageMetadata* inMetadata, void* inBuffer, struct IMessageMetadata* outMetadata, unsigned flags) -{ - return self->vtable->openCursor(self, status, transaction, inMetadata, inBuffer, outMetadata, flags); -} - -CLOOP_EXTERN_C void IStatement_setCursorName(struct IStatement* self, struct IStatus* status, const char* name) -{ - self->vtable->setCursorName(self, status, name); -} - -CLOOP_EXTERN_C void IStatement_deprecatedFree(struct IStatement* self, struct IStatus* status) -{ - self->vtable->deprecatedFree(self, status); -} - -CLOOP_EXTERN_C unsigned IStatement_getFlags(struct IStatement* self, struct IStatus* status) -{ - return self->vtable->getFlags(self, status); -} - -CLOOP_EXTERN_C unsigned IStatement_getTimeout(struct IStatement* self, struct IStatus* status) -{ - return self->vtable->getTimeout(self, status); -} - -CLOOP_EXTERN_C void IStatement_setTimeout(struct IStatement* self, struct IStatus* status, unsigned timeOut) -{ - self->vtable->setTimeout(self, status, timeOut); -} - -CLOOP_EXTERN_C struct IBatch* IStatement_createBatch(struct IStatement* self, struct IStatus* status, struct IMessageMetadata* inMetadata, unsigned parLength, const unsigned char* par) -{ - return self->vtable->createBatch(self, status, inMetadata, parLength, par); -} - -CLOOP_EXTERN_C void IStatement_free(struct IStatement* self, struct IStatus* status) -{ - self->vtable->free(self, status); -} - -CLOOP_EXTERN_C void IBatch_addRef(struct IBatch* self) -{ - self->vtable->addRef(self); -} - -CLOOP_EXTERN_C int IBatch_release(struct IBatch* self) -{ - return self->vtable->release(self); -} - -CLOOP_EXTERN_C void IBatch_add(struct IBatch* self, struct IStatus* status, unsigned count, const void* inBuffer) -{ - self->vtable->add(self, status, count, inBuffer); -} - -CLOOP_EXTERN_C void IBatch_addBlob(struct IBatch* self, struct IStatus* status, unsigned length, const void* inBuffer, ISC_QUAD* blobId, unsigned parLength, const unsigned char* par) -{ - self->vtable->addBlob(self, status, length, inBuffer, blobId, parLength, par); -} - -CLOOP_EXTERN_C void IBatch_appendBlobData(struct IBatch* self, struct IStatus* status, unsigned length, const void* inBuffer) -{ - self->vtable->appendBlobData(self, status, length, inBuffer); -} - -CLOOP_EXTERN_C void IBatch_addBlobStream(struct IBatch* self, struct IStatus* status, unsigned length, const void* inBuffer) -{ - self->vtable->addBlobStream(self, status, length, inBuffer); -} - -CLOOP_EXTERN_C void IBatch_registerBlob(struct IBatch* self, struct IStatus* status, const ISC_QUAD* existingBlob, ISC_QUAD* blobId) -{ - self->vtable->registerBlob(self, status, existingBlob, blobId); -} - -CLOOP_EXTERN_C struct IBatchCompletionState* IBatch_execute(struct IBatch* self, struct IStatus* status, struct ITransaction* transaction) -{ - return self->vtable->execute(self, status, transaction); -} - -CLOOP_EXTERN_C void IBatch_cancel(struct IBatch* self, struct IStatus* status) -{ - self->vtable->cancel(self, status); -} - -CLOOP_EXTERN_C unsigned IBatch_getBlobAlignment(struct IBatch* self, struct IStatus* status) -{ - return self->vtable->getBlobAlignment(self, status); -} - -CLOOP_EXTERN_C struct IMessageMetadata* IBatch_getMetadata(struct IBatch* self, struct IStatus* status) -{ - return self->vtable->getMetadata(self, status); -} - -CLOOP_EXTERN_C void IBatch_setDefaultBpb(struct IBatch* self, struct IStatus* status, unsigned parLength, const unsigned char* par) -{ - self->vtable->setDefaultBpb(self, status, parLength, par); -} - -CLOOP_EXTERN_C void IBatch_deprecatedClose(struct IBatch* self, struct IStatus* status) -{ - self->vtable->deprecatedClose(self, status); -} - -CLOOP_EXTERN_C void IBatch_close(struct IBatch* self, struct IStatus* status) -{ - self->vtable->close(self, status); -} - -CLOOP_EXTERN_C void IBatch_getInfo(struct IBatch* self, struct IStatus* status, unsigned itemsLength, const unsigned char* items, unsigned bufferLength, unsigned char* buffer) -{ - self->vtable->getInfo(self, status, itemsLength, items, bufferLength, buffer); -} - -CLOOP_EXTERN_C void IBatchCompletionState_dispose(struct IBatchCompletionState* self) -{ - self->vtable->dispose(self); -} - -CLOOP_EXTERN_C unsigned IBatchCompletionState_getSize(struct IBatchCompletionState* self, struct IStatus* status) -{ - return self->vtable->getSize(self, status); -} - -CLOOP_EXTERN_C int IBatchCompletionState_getState(struct IBatchCompletionState* self, struct IStatus* status, unsigned pos) -{ - return self->vtable->getState(self, status, pos); -} - -CLOOP_EXTERN_C unsigned IBatchCompletionState_findError(struct IBatchCompletionState* self, struct IStatus* status, unsigned pos) -{ - return self->vtable->findError(self, status, pos); -} - -CLOOP_EXTERN_C void IBatchCompletionState_getStatus(struct IBatchCompletionState* self, struct IStatus* status, struct IStatus* to, unsigned pos) -{ - self->vtable->getStatus(self, status, to, pos); -} - -CLOOP_EXTERN_C void IReplicator_addRef(struct IReplicator* self) -{ - self->vtable->addRef(self); -} - -CLOOP_EXTERN_C int IReplicator_release(struct IReplicator* self) -{ - return self->vtable->release(self); -} - -CLOOP_EXTERN_C void IReplicator_process(struct IReplicator* self, struct IStatus* status, unsigned length, const unsigned char* data) -{ - self->vtable->process(self, status, length, data); -} - -CLOOP_EXTERN_C void IReplicator_deprecatedClose(struct IReplicator* self, struct IStatus* status) -{ - self->vtable->deprecatedClose(self, status); -} - -CLOOP_EXTERN_C void IReplicator_close(struct IReplicator* self, struct IStatus* status) -{ - self->vtable->close(self, status); -} - -CLOOP_EXTERN_C void IRequest_addRef(struct IRequest* self) -{ - self->vtable->addRef(self); -} - -CLOOP_EXTERN_C int IRequest_release(struct IRequest* self) -{ - return self->vtable->release(self); -} - -CLOOP_EXTERN_C void IRequest_receive(struct IRequest* self, struct IStatus* status, int level, unsigned msgType, unsigned length, void* message) -{ - self->vtable->receive(self, status, level, msgType, length, message); -} - -CLOOP_EXTERN_C void IRequest_send(struct IRequest* self, struct IStatus* status, int level, unsigned msgType, unsigned length, const void* message) -{ - self->vtable->send(self, status, level, msgType, length, message); -} - -CLOOP_EXTERN_C void IRequest_getInfo(struct IRequest* self, struct IStatus* status, int level, unsigned itemsLength, const unsigned char* items, unsigned bufferLength, unsigned char* buffer) -{ - self->vtable->getInfo(self, status, level, itemsLength, items, bufferLength, buffer); -} - -CLOOP_EXTERN_C void IRequest_start(struct IRequest* self, struct IStatus* status, struct ITransaction* tra, int level) -{ - self->vtable->start(self, status, tra, level); -} - -CLOOP_EXTERN_C void IRequest_startAndSend(struct IRequest* self, struct IStatus* status, struct ITransaction* tra, int level, unsigned msgType, unsigned length, const void* message) -{ - self->vtable->startAndSend(self, status, tra, level, msgType, length, message); -} - -CLOOP_EXTERN_C void IRequest_unwind(struct IRequest* self, struct IStatus* status, int level) -{ - self->vtable->unwind(self, status, level); -} - -CLOOP_EXTERN_C void IRequest_deprecatedFree(struct IRequest* self, struct IStatus* status) -{ - self->vtable->deprecatedFree(self, status); -} - -CLOOP_EXTERN_C void IRequest_free(struct IRequest* self, struct IStatus* status) -{ - self->vtable->free(self, status); -} - -CLOOP_EXTERN_C void IEvents_addRef(struct IEvents* self) -{ - self->vtable->addRef(self); -} - -CLOOP_EXTERN_C int IEvents_release(struct IEvents* self) -{ - return self->vtable->release(self); -} - -CLOOP_EXTERN_C void IEvents_deprecatedCancel(struct IEvents* self, struct IStatus* status) -{ - self->vtable->deprecatedCancel(self, status); -} - -CLOOP_EXTERN_C void IEvents_cancel(struct IEvents* self, struct IStatus* status) -{ - self->vtable->cancel(self, status); -} - -CLOOP_EXTERN_C void IAttachment_addRef(struct IAttachment* self) -{ - self->vtable->addRef(self); -} - -CLOOP_EXTERN_C int IAttachment_release(struct IAttachment* self) -{ - return self->vtable->release(self); -} - -CLOOP_EXTERN_C void IAttachment_getInfo(struct IAttachment* self, struct IStatus* status, unsigned itemsLength, const unsigned char* items, unsigned bufferLength, unsigned char* buffer) -{ - self->vtable->getInfo(self, status, itemsLength, items, bufferLength, buffer); -} - -CLOOP_EXTERN_C struct ITransaction* IAttachment_startTransaction(struct IAttachment* self, struct IStatus* status, unsigned tpbLength, const unsigned char* tpb) -{ - return self->vtable->startTransaction(self, status, tpbLength, tpb); -} - -CLOOP_EXTERN_C struct ITransaction* IAttachment_reconnectTransaction(struct IAttachment* self, struct IStatus* status, unsigned length, const unsigned char* id) -{ - return self->vtable->reconnectTransaction(self, status, length, id); -} - -CLOOP_EXTERN_C struct IRequest* IAttachment_compileRequest(struct IAttachment* self, struct IStatus* status, unsigned blrLength, const unsigned char* blr) -{ - return self->vtable->compileRequest(self, status, blrLength, blr); -} - -CLOOP_EXTERN_C void IAttachment_transactRequest(struct IAttachment* self, struct IStatus* status, struct ITransaction* transaction, unsigned blrLength, const unsigned char* blr, unsigned inMsgLength, const unsigned char* inMsg, unsigned outMsgLength, unsigned char* outMsg) -{ - self->vtable->transactRequest(self, status, transaction, blrLength, blr, inMsgLength, inMsg, outMsgLength, outMsg); -} - -CLOOP_EXTERN_C struct IBlob* IAttachment_createBlob(struct IAttachment* self, struct IStatus* status, struct ITransaction* transaction, ISC_QUAD* id, unsigned bpbLength, const unsigned char* bpb) -{ - return self->vtable->createBlob(self, status, transaction, id, bpbLength, bpb); -} - -CLOOP_EXTERN_C struct IBlob* IAttachment_openBlob(struct IAttachment* self, struct IStatus* status, struct ITransaction* transaction, ISC_QUAD* id, unsigned bpbLength, const unsigned char* bpb) -{ - return self->vtable->openBlob(self, status, transaction, id, bpbLength, bpb); -} - -CLOOP_EXTERN_C int IAttachment_getSlice(struct IAttachment* self, struct IStatus* status, struct ITransaction* transaction, ISC_QUAD* id, unsigned sdlLength, const unsigned char* sdl, unsigned paramLength, const unsigned char* param, int sliceLength, unsigned char* slice) -{ - return self->vtable->getSlice(self, status, transaction, id, sdlLength, sdl, paramLength, param, sliceLength, slice); -} - -CLOOP_EXTERN_C void IAttachment_putSlice(struct IAttachment* self, struct IStatus* status, struct ITransaction* transaction, ISC_QUAD* id, unsigned sdlLength, const unsigned char* sdl, unsigned paramLength, const unsigned char* param, int sliceLength, unsigned char* slice) -{ - self->vtable->putSlice(self, status, transaction, id, sdlLength, sdl, paramLength, param, sliceLength, slice); -} - -CLOOP_EXTERN_C void IAttachment_executeDyn(struct IAttachment* self, struct IStatus* status, struct ITransaction* transaction, unsigned length, const unsigned char* dyn) -{ - self->vtable->executeDyn(self, status, transaction, length, dyn); -} - -CLOOP_EXTERN_C struct IStatement* IAttachment_prepare(struct IAttachment* self, struct IStatus* status, struct ITransaction* tra, unsigned stmtLength, const char* sqlStmt, unsigned dialect, unsigned flags) -{ - return self->vtable->prepare(self, status, tra, stmtLength, sqlStmt, dialect, flags); -} - -CLOOP_EXTERN_C struct ITransaction* IAttachment_execute(struct IAttachment* self, struct IStatus* status, struct ITransaction* transaction, unsigned stmtLength, const char* sqlStmt, unsigned dialect, struct IMessageMetadata* inMetadata, void* inBuffer, struct IMessageMetadata* outMetadata, void* outBuffer) -{ - return self->vtable->execute(self, status, transaction, stmtLength, sqlStmt, dialect, inMetadata, inBuffer, outMetadata, outBuffer); -} - -CLOOP_EXTERN_C struct IResultSet* IAttachment_openCursor(struct IAttachment* self, struct IStatus* status, struct ITransaction* transaction, unsigned stmtLength, const char* sqlStmt, unsigned dialect, struct IMessageMetadata* inMetadata, void* inBuffer, struct IMessageMetadata* outMetadata, const char* cursorName, unsigned cursorFlags) -{ - return self->vtable->openCursor(self, status, transaction, stmtLength, sqlStmt, dialect, inMetadata, inBuffer, outMetadata, cursorName, cursorFlags); -} - -CLOOP_EXTERN_C struct IEvents* IAttachment_queEvents(struct IAttachment* self, struct IStatus* status, struct IEventCallback* callback, unsigned length, const unsigned char* events) -{ - return self->vtable->queEvents(self, status, callback, length, events); -} - -CLOOP_EXTERN_C void IAttachment_cancelOperation(struct IAttachment* self, struct IStatus* status, int option) -{ - self->vtable->cancelOperation(self, status, option); -} - -CLOOP_EXTERN_C void IAttachment_ping(struct IAttachment* self, struct IStatus* status) -{ - self->vtable->ping(self, status); -} - -CLOOP_EXTERN_C void IAttachment_deprecatedDetach(struct IAttachment* self, struct IStatus* status) -{ - self->vtable->deprecatedDetach(self, status); -} - -CLOOP_EXTERN_C void IAttachment_deprecatedDropDatabase(struct IAttachment* self, struct IStatus* status) -{ - self->vtable->deprecatedDropDatabase(self, status); -} - -CLOOP_EXTERN_C unsigned IAttachment_getIdleTimeout(struct IAttachment* self, struct IStatus* status) -{ - return self->vtable->getIdleTimeout(self, status); -} - -CLOOP_EXTERN_C void IAttachment_setIdleTimeout(struct IAttachment* self, struct IStatus* status, unsigned timeOut) -{ - self->vtable->setIdleTimeout(self, status, timeOut); -} - -CLOOP_EXTERN_C unsigned IAttachment_getStatementTimeout(struct IAttachment* self, struct IStatus* status) -{ - return self->vtable->getStatementTimeout(self, status); -} - -CLOOP_EXTERN_C void IAttachment_setStatementTimeout(struct IAttachment* self, struct IStatus* status, unsigned timeOut) -{ - self->vtable->setStatementTimeout(self, status, timeOut); -} - -CLOOP_EXTERN_C struct IBatch* IAttachment_createBatch(struct IAttachment* self, struct IStatus* status, struct ITransaction* transaction, unsigned stmtLength, const char* sqlStmt, unsigned dialect, struct IMessageMetadata* inMetadata, unsigned parLength, const unsigned char* par) -{ - return self->vtable->createBatch(self, status, transaction, stmtLength, sqlStmt, dialect, inMetadata, parLength, par); -} - -CLOOP_EXTERN_C struct IReplicator* IAttachment_createReplicator(struct IAttachment* self, struct IStatus* status) -{ - return self->vtable->createReplicator(self, status); -} - -CLOOP_EXTERN_C void IAttachment_detach(struct IAttachment* self, struct IStatus* status) -{ - self->vtable->detach(self, status); -} - -CLOOP_EXTERN_C void IAttachment_dropDatabase(struct IAttachment* self, struct IStatus* status) -{ - self->vtable->dropDatabase(self, status); -} - -CLOOP_EXTERN_C void IService_addRef(struct IService* self) -{ - self->vtable->addRef(self); -} - -CLOOP_EXTERN_C int IService_release(struct IService* self) -{ - return self->vtable->release(self); -} - -CLOOP_EXTERN_C void IService_deprecatedDetach(struct IService* self, struct IStatus* status) -{ - self->vtable->deprecatedDetach(self, status); -} - -CLOOP_EXTERN_C void IService_query(struct IService* self, struct IStatus* status, unsigned sendLength, const unsigned char* sendItems, unsigned receiveLength, const unsigned char* receiveItems, unsigned bufferLength, unsigned char* buffer) -{ - self->vtable->query(self, status, sendLength, sendItems, receiveLength, receiveItems, bufferLength, buffer); -} - -CLOOP_EXTERN_C void IService_start(struct IService* self, struct IStatus* status, unsigned spbLength, const unsigned char* spb) -{ - self->vtable->start(self, status, spbLength, spb); -} - -CLOOP_EXTERN_C void IService_detach(struct IService* self, struct IStatus* status) -{ - self->vtable->detach(self, status); -} - -CLOOP_EXTERN_C void IService_cancel(struct IService* self, struct IStatus* status) -{ - self->vtable->cancel(self, status); -} - -CLOOP_EXTERN_C void IProvider_addRef(struct IProvider* self) -{ - self->vtable->addRef(self); -} - -CLOOP_EXTERN_C int IProvider_release(struct IProvider* self) -{ - return self->vtable->release(self); -} - -CLOOP_EXTERN_C void IProvider_setOwner(struct IProvider* self, struct IReferenceCounted* r) -{ - self->vtable->setOwner(self, r); -} - -CLOOP_EXTERN_C struct IReferenceCounted* IProvider_getOwner(struct IProvider* self) -{ - return self->vtable->getOwner(self); -} - -CLOOP_EXTERN_C struct IAttachment* IProvider_attachDatabase(struct IProvider* self, struct IStatus* status, const char* fileName, unsigned dpbLength, const unsigned char* dpb) -{ - return self->vtable->attachDatabase(self, status, fileName, dpbLength, dpb); -} - -CLOOP_EXTERN_C struct IAttachment* IProvider_createDatabase(struct IProvider* self, struct IStatus* status, const char* fileName, unsigned dpbLength, const unsigned char* dpb) -{ - return self->vtable->createDatabase(self, status, fileName, dpbLength, dpb); -} - -CLOOP_EXTERN_C struct IService* IProvider_attachServiceManager(struct IProvider* self, struct IStatus* status, const char* service, unsigned spbLength, const unsigned char* spb) -{ - return self->vtable->attachServiceManager(self, status, service, spbLength, spb); -} - -CLOOP_EXTERN_C void IProvider_shutdown(struct IProvider* self, struct IStatus* status, unsigned timeout, const int reason) -{ - self->vtable->shutdown(self, status, timeout, reason); -} - -CLOOP_EXTERN_C void IProvider_setDbCryptCallback(struct IProvider* self, struct IStatus* status, struct ICryptKeyCallback* cryptCallback) -{ - self->vtable->setDbCryptCallback(self, status, cryptCallback); -} - -CLOOP_EXTERN_C void IDtcStart_dispose(struct IDtcStart* self) -{ - self->vtable->dispose(self); -} - -CLOOP_EXTERN_C void IDtcStart_addAttachment(struct IDtcStart* self, struct IStatus* status, struct IAttachment* att) -{ - self->vtable->addAttachment(self, status, att); -} - -CLOOP_EXTERN_C void IDtcStart_addWithTpb(struct IDtcStart* self, struct IStatus* status, struct IAttachment* att, unsigned length, const unsigned char* tpb) -{ - self->vtable->addWithTpb(self, status, att, length, tpb); -} - -CLOOP_EXTERN_C struct ITransaction* IDtcStart_start(struct IDtcStart* self, struct IStatus* status) -{ - return self->vtable->start(self, status); -} - -CLOOP_EXTERN_C struct ITransaction* IDtc_join(struct IDtc* self, struct IStatus* status, struct ITransaction* one, struct ITransaction* two) -{ - return self->vtable->join(self, status, one, two); -} - -CLOOP_EXTERN_C struct IDtcStart* IDtc_startBuilder(struct IDtc* self, struct IStatus* status) -{ - return self->vtable->startBuilder(self, status); -} - -CLOOP_EXTERN_C void IAuth_addRef(struct IAuth* self) -{ - self->vtable->addRef(self); -} - -CLOOP_EXTERN_C int IAuth_release(struct IAuth* self) -{ - return self->vtable->release(self); -} - -CLOOP_EXTERN_C void IAuth_setOwner(struct IAuth* self, struct IReferenceCounted* r) -{ - self->vtable->setOwner(self, r); -} - -CLOOP_EXTERN_C struct IReferenceCounted* IAuth_getOwner(struct IAuth* self) -{ - return self->vtable->getOwner(self); -} - -CLOOP_EXTERN_C void IWriter_reset(struct IWriter* self) -{ - self->vtable->reset(self); -} - -CLOOP_EXTERN_C void IWriter_add(struct IWriter* self, struct IStatus* status, const char* name) -{ - self->vtable->add(self, status, name); -} - -CLOOP_EXTERN_C void IWriter_setType(struct IWriter* self, struct IStatus* status, const char* value) -{ - self->vtable->setType(self, status, value); -} - -CLOOP_EXTERN_C void IWriter_setDb(struct IWriter* self, struct IStatus* status, const char* value) -{ - self->vtable->setDb(self, status, value); -} - -CLOOP_EXTERN_C const char* IServerBlock_getLogin(struct IServerBlock* self) -{ - return self->vtable->getLogin(self); -} - -CLOOP_EXTERN_C const unsigned char* IServerBlock_getData(struct IServerBlock* self, unsigned* length) -{ - return self->vtable->getData(self, length); -} - -CLOOP_EXTERN_C void IServerBlock_putData(struct IServerBlock* self, struct IStatus* status, unsigned length, const void* data) -{ - self->vtable->putData(self, status, length, data); -} - -CLOOP_EXTERN_C struct ICryptKey* IServerBlock_newKey(struct IServerBlock* self, struct IStatus* status) -{ - return self->vtable->newKey(self, status); -} - -CLOOP_EXTERN_C void IClientBlock_addRef(struct IClientBlock* self) -{ - self->vtable->addRef(self); -} - -CLOOP_EXTERN_C int IClientBlock_release(struct IClientBlock* self) -{ - return self->vtable->release(self); -} - -CLOOP_EXTERN_C const char* IClientBlock_getLogin(struct IClientBlock* self) -{ - return self->vtable->getLogin(self); -} - -CLOOP_EXTERN_C const char* IClientBlock_getPassword(struct IClientBlock* self) -{ - return self->vtable->getPassword(self); -} - -CLOOP_EXTERN_C const unsigned char* IClientBlock_getData(struct IClientBlock* self, unsigned* length) -{ - return self->vtable->getData(self, length); -} - -CLOOP_EXTERN_C void IClientBlock_putData(struct IClientBlock* self, struct IStatus* status, unsigned length, const void* data) -{ - self->vtable->putData(self, status, length, data); -} - -CLOOP_EXTERN_C struct ICryptKey* IClientBlock_newKey(struct IClientBlock* self, struct IStatus* status) -{ - return self->vtable->newKey(self, status); -} - -CLOOP_EXTERN_C struct IAuthBlock* IClientBlock_getAuthBlock(struct IClientBlock* self, struct IStatus* status) -{ - return self->vtable->getAuthBlock(self, status); -} - -CLOOP_EXTERN_C void IServer_addRef(struct IServer* self) -{ - self->vtable->addRef(self); -} - -CLOOP_EXTERN_C int IServer_release(struct IServer* self) -{ - return self->vtable->release(self); -} - -CLOOP_EXTERN_C void IServer_setOwner(struct IServer* self, struct IReferenceCounted* r) -{ - self->vtable->setOwner(self, r); -} - -CLOOP_EXTERN_C struct IReferenceCounted* IServer_getOwner(struct IServer* self) -{ - return self->vtable->getOwner(self); -} - -CLOOP_EXTERN_C int IServer_authenticate(struct IServer* self, struct IStatus* status, struct IServerBlock* sBlock, struct IWriter* writerInterface) -{ - return self->vtable->authenticate(self, status, sBlock, writerInterface); -} - -CLOOP_EXTERN_C void IServer_setDbCryptCallback(struct IServer* self, struct IStatus* status, struct ICryptKeyCallback* cryptCallback) -{ - self->vtable->setDbCryptCallback(self, status, cryptCallback); -} - -CLOOP_EXTERN_C void IClient_addRef(struct IClient* self) -{ - self->vtable->addRef(self); -} - -CLOOP_EXTERN_C int IClient_release(struct IClient* self) -{ - return self->vtable->release(self); -} - -CLOOP_EXTERN_C void IClient_setOwner(struct IClient* self, struct IReferenceCounted* r) -{ - self->vtable->setOwner(self, r); -} - -CLOOP_EXTERN_C struct IReferenceCounted* IClient_getOwner(struct IClient* self) -{ - return self->vtable->getOwner(self); -} - -CLOOP_EXTERN_C int IClient_authenticate(struct IClient* self, struct IStatus* status, struct IClientBlock* cBlock) -{ - return self->vtable->authenticate(self, status, cBlock); -} - -CLOOP_EXTERN_C int IUserField_entered(struct IUserField* self) -{ - return self->vtable->entered(self); -} - -CLOOP_EXTERN_C int IUserField_specified(struct IUserField* self) -{ - return self->vtable->specified(self); -} - -CLOOP_EXTERN_C void IUserField_setEntered(struct IUserField* self, struct IStatus* status, int newValue) -{ - self->vtable->setEntered(self, status, newValue); -} - -CLOOP_EXTERN_C int ICharUserField_entered(struct ICharUserField* self) -{ - return self->vtable->entered(self); -} - -CLOOP_EXTERN_C int ICharUserField_specified(struct ICharUserField* self) -{ - return self->vtable->specified(self); -} - -CLOOP_EXTERN_C void ICharUserField_setEntered(struct ICharUserField* self, struct IStatus* status, int newValue) -{ - self->vtable->setEntered(self, status, newValue); -} - -CLOOP_EXTERN_C const char* ICharUserField_get(struct ICharUserField* self) -{ - return self->vtable->get(self); -} - -CLOOP_EXTERN_C void ICharUserField_set(struct ICharUserField* self, struct IStatus* status, const char* newValue) -{ - self->vtable->set(self, status, newValue); -} - -CLOOP_EXTERN_C int IIntUserField_entered(struct IIntUserField* self) -{ - return self->vtable->entered(self); -} - -CLOOP_EXTERN_C int IIntUserField_specified(struct IIntUserField* self) -{ - return self->vtable->specified(self); -} - -CLOOP_EXTERN_C void IIntUserField_setEntered(struct IIntUserField* self, struct IStatus* status, int newValue) -{ - self->vtable->setEntered(self, status, newValue); -} - -CLOOP_EXTERN_C int IIntUserField_get(struct IIntUserField* self) -{ - return self->vtable->get(self); -} - -CLOOP_EXTERN_C void IIntUserField_set(struct IIntUserField* self, struct IStatus* status, int newValue) -{ - self->vtable->set(self, status, newValue); -} - -CLOOP_EXTERN_C unsigned IUser_operation(struct IUser* self) -{ - return self->vtable->operation(self); -} - -CLOOP_EXTERN_C struct ICharUserField* IUser_userName(struct IUser* self) -{ - return self->vtable->userName(self); -} - -CLOOP_EXTERN_C struct ICharUserField* IUser_password(struct IUser* self) -{ - return self->vtable->password(self); -} - -CLOOP_EXTERN_C struct ICharUserField* IUser_firstName(struct IUser* self) -{ - return self->vtable->firstName(self); -} - -CLOOP_EXTERN_C struct ICharUserField* IUser_lastName(struct IUser* self) -{ - return self->vtable->lastName(self); -} - -CLOOP_EXTERN_C struct ICharUserField* IUser_middleName(struct IUser* self) -{ - return self->vtable->middleName(self); -} - -CLOOP_EXTERN_C struct ICharUserField* IUser_comment(struct IUser* self) -{ - return self->vtable->comment(self); -} - -CLOOP_EXTERN_C struct ICharUserField* IUser_attributes(struct IUser* self) -{ - return self->vtable->attributes(self); -} - -CLOOP_EXTERN_C struct IIntUserField* IUser_active(struct IUser* self) -{ - return self->vtable->active(self); -} - -CLOOP_EXTERN_C struct IIntUserField* IUser_admin(struct IUser* self) -{ - return self->vtable->admin(self); -} - -CLOOP_EXTERN_C void IUser_clear(struct IUser* self, struct IStatus* status) -{ - self->vtable->clear(self, status); -} - -CLOOP_EXTERN_C void IListUsers_list(struct IListUsers* self, struct IStatus* status, struct IUser* user) -{ - self->vtable->list(self, status, user); -} - -CLOOP_EXTERN_C const char* ILogonInfo_name(struct ILogonInfo* self) -{ - return self->vtable->name(self); -} - -CLOOP_EXTERN_C const char* ILogonInfo_role(struct ILogonInfo* self) -{ - return self->vtable->role(self); -} - -CLOOP_EXTERN_C const char* ILogonInfo_networkProtocol(struct ILogonInfo* self) -{ - return self->vtable->networkProtocol(self); -} - -CLOOP_EXTERN_C const char* ILogonInfo_remoteAddress(struct ILogonInfo* self) -{ - return self->vtable->remoteAddress(self); -} - -CLOOP_EXTERN_C const unsigned char* ILogonInfo_authBlock(struct ILogonInfo* self, unsigned* length) -{ - return self->vtable->authBlock(self, length); -} - -CLOOP_EXTERN_C struct IAttachment* ILogonInfo_attachment(struct ILogonInfo* self, struct IStatus* status) -{ - return self->vtable->attachment(self, status); -} - -CLOOP_EXTERN_C struct ITransaction* ILogonInfo_transaction(struct ILogonInfo* self, struct IStatus* status) -{ - return self->vtable->transaction(self, status); -} - -CLOOP_EXTERN_C void IManagement_addRef(struct IManagement* self) -{ - self->vtable->addRef(self); -} - -CLOOP_EXTERN_C int IManagement_release(struct IManagement* self) -{ - return self->vtable->release(self); -} - -CLOOP_EXTERN_C void IManagement_setOwner(struct IManagement* self, struct IReferenceCounted* r) -{ - self->vtable->setOwner(self, r); -} - -CLOOP_EXTERN_C struct IReferenceCounted* IManagement_getOwner(struct IManagement* self) -{ - return self->vtable->getOwner(self); -} - -CLOOP_EXTERN_C void IManagement_start(struct IManagement* self, struct IStatus* status, struct ILogonInfo* logonInfo) -{ - self->vtable->start(self, status, logonInfo); -} - -CLOOP_EXTERN_C int IManagement_execute(struct IManagement* self, struct IStatus* status, struct IUser* user, struct IListUsers* callback) -{ - return self->vtable->execute(self, status, user, callback); -} - -CLOOP_EXTERN_C void IManagement_commit(struct IManagement* self, struct IStatus* status) -{ - self->vtable->commit(self, status); -} - -CLOOP_EXTERN_C void IManagement_rollback(struct IManagement* self, struct IStatus* status) -{ - self->vtable->rollback(self, status); -} - -CLOOP_EXTERN_C const char* IAuthBlock_getType(struct IAuthBlock* self) -{ - return self->vtable->getType(self); -} - -CLOOP_EXTERN_C const char* IAuthBlock_getName(struct IAuthBlock* self) -{ - return self->vtable->getName(self); -} - -CLOOP_EXTERN_C const char* IAuthBlock_getPlugin(struct IAuthBlock* self) -{ - return self->vtable->getPlugin(self); -} - -CLOOP_EXTERN_C const char* IAuthBlock_getSecurityDb(struct IAuthBlock* self) -{ - return self->vtable->getSecurityDb(self); -} - -CLOOP_EXTERN_C const char* IAuthBlock_getOriginalPlugin(struct IAuthBlock* self) -{ - return self->vtable->getOriginalPlugin(self); -} - -CLOOP_EXTERN_C FB_BOOLEAN IAuthBlock_next(struct IAuthBlock* self, struct IStatus* status) -{ - return self->vtable->next(self, status); -} - -CLOOP_EXTERN_C FB_BOOLEAN IAuthBlock_first(struct IAuthBlock* self, struct IStatus* status) -{ - return self->vtable->first(self, status); -} - -CLOOP_EXTERN_C void IWireCryptPlugin_addRef(struct IWireCryptPlugin* self) -{ - self->vtable->addRef(self); -} - -CLOOP_EXTERN_C int IWireCryptPlugin_release(struct IWireCryptPlugin* self) -{ - return self->vtable->release(self); -} - -CLOOP_EXTERN_C void IWireCryptPlugin_setOwner(struct IWireCryptPlugin* self, struct IReferenceCounted* r) -{ - self->vtable->setOwner(self, r); -} - -CLOOP_EXTERN_C struct IReferenceCounted* IWireCryptPlugin_getOwner(struct IWireCryptPlugin* self) -{ - return self->vtable->getOwner(self); -} - -CLOOP_EXTERN_C const char* IWireCryptPlugin_getKnownTypes(struct IWireCryptPlugin* self, struct IStatus* status) -{ - return self->vtable->getKnownTypes(self, status); -} - -CLOOP_EXTERN_C void IWireCryptPlugin_setKey(struct IWireCryptPlugin* self, struct IStatus* status, struct ICryptKey* key) -{ - self->vtable->setKey(self, status, key); -} - -CLOOP_EXTERN_C void IWireCryptPlugin_encrypt(struct IWireCryptPlugin* self, struct IStatus* status, unsigned length, const void* from, void* to) -{ - self->vtable->encrypt(self, status, length, from, to); -} - -CLOOP_EXTERN_C void IWireCryptPlugin_decrypt(struct IWireCryptPlugin* self, struct IStatus* status, unsigned length, const void* from, void* to) -{ - self->vtable->decrypt(self, status, length, from, to); -} - -CLOOP_EXTERN_C const unsigned char* IWireCryptPlugin_getSpecificData(struct IWireCryptPlugin* self, struct IStatus* status, const char* keyType, unsigned* length) -{ - return self->vtable->getSpecificData(self, status, keyType, length); -} - -CLOOP_EXTERN_C void IWireCryptPlugin_setSpecificData(struct IWireCryptPlugin* self, struct IStatus* status, const char* keyType, unsigned length, const unsigned char* data) -{ - self->vtable->setSpecificData(self, status, keyType, length, data); -} - -CLOOP_EXTERN_C unsigned ICryptKeyCallback_callback(struct ICryptKeyCallback* self, unsigned dataLength, const void* data, unsigned bufferLength, void* buffer) -{ - return self->vtable->callback(self, dataLength, data, bufferLength, buffer); -} - -CLOOP_EXTERN_C unsigned ICryptKeyCallback_afterAttach(struct ICryptKeyCallback* self, struct IStatus* status, const char* dbName, const struct IStatus* attStatus) -{ - return self->vtable->afterAttach(self, status, dbName, attStatus); -} - -CLOOP_EXTERN_C void ICryptKeyCallback_dispose(struct ICryptKeyCallback* self) -{ - self->vtable->dispose(self); -} - -CLOOP_EXTERN_C void IKeyHolderPlugin_addRef(struct IKeyHolderPlugin* self) -{ - self->vtable->addRef(self); -} - -CLOOP_EXTERN_C int IKeyHolderPlugin_release(struct IKeyHolderPlugin* self) -{ - return self->vtable->release(self); -} - -CLOOP_EXTERN_C void IKeyHolderPlugin_setOwner(struct IKeyHolderPlugin* self, struct IReferenceCounted* r) -{ - self->vtable->setOwner(self, r); -} - -CLOOP_EXTERN_C struct IReferenceCounted* IKeyHolderPlugin_getOwner(struct IKeyHolderPlugin* self) -{ - return self->vtable->getOwner(self); -} - -CLOOP_EXTERN_C int IKeyHolderPlugin_keyCallback(struct IKeyHolderPlugin* self, struct IStatus* status, struct ICryptKeyCallback* callback) -{ - return self->vtable->keyCallback(self, status, callback); -} - -CLOOP_EXTERN_C struct ICryptKeyCallback* IKeyHolderPlugin_keyHandle(struct IKeyHolderPlugin* self, struct IStatus* status, const char* keyName) -{ - return self->vtable->keyHandle(self, status, keyName); -} - -CLOOP_EXTERN_C FB_BOOLEAN IKeyHolderPlugin_useOnlyOwnKeys(struct IKeyHolderPlugin* self, struct IStatus* status) -{ - return self->vtable->useOnlyOwnKeys(self, status); -} - -CLOOP_EXTERN_C struct ICryptKeyCallback* IKeyHolderPlugin_chainHandle(struct IKeyHolderPlugin* self, struct IStatus* status) -{ - return self->vtable->chainHandle(self, status); -} - -CLOOP_EXTERN_C void IDbCryptInfo_addRef(struct IDbCryptInfo* self) -{ - self->vtable->addRef(self); -} - -CLOOP_EXTERN_C int IDbCryptInfo_release(struct IDbCryptInfo* self) -{ - return self->vtable->release(self); -} - -CLOOP_EXTERN_C const char* IDbCryptInfo_getDatabaseFullPath(struct IDbCryptInfo* self, struct IStatus* status) -{ - return self->vtable->getDatabaseFullPath(self, status); -} - -CLOOP_EXTERN_C void IDbCryptPlugin_addRef(struct IDbCryptPlugin* self) -{ - self->vtable->addRef(self); -} - -CLOOP_EXTERN_C int IDbCryptPlugin_release(struct IDbCryptPlugin* self) -{ - return self->vtable->release(self); -} - -CLOOP_EXTERN_C void IDbCryptPlugin_setOwner(struct IDbCryptPlugin* self, struct IReferenceCounted* r) -{ - self->vtable->setOwner(self, r); -} - -CLOOP_EXTERN_C struct IReferenceCounted* IDbCryptPlugin_getOwner(struct IDbCryptPlugin* self) -{ - return self->vtable->getOwner(self); -} - -CLOOP_EXTERN_C void IDbCryptPlugin_setKey(struct IDbCryptPlugin* self, struct IStatus* status, unsigned length, struct IKeyHolderPlugin** sources, const char* keyName) -{ - self->vtable->setKey(self, status, length, sources, keyName); -} - -CLOOP_EXTERN_C void IDbCryptPlugin_encrypt(struct IDbCryptPlugin* self, struct IStatus* status, unsigned length, const void* from, void* to) -{ - self->vtable->encrypt(self, status, length, from, to); -} - -CLOOP_EXTERN_C void IDbCryptPlugin_decrypt(struct IDbCryptPlugin* self, struct IStatus* status, unsigned length, const void* from, void* to) -{ - self->vtable->decrypt(self, status, length, from, to); -} - -CLOOP_EXTERN_C void IDbCryptPlugin_setInfo(struct IDbCryptPlugin* self, struct IStatus* status, struct IDbCryptInfo* info) -{ - self->vtable->setInfo(self, status, info); -} - -CLOOP_EXTERN_C struct IMaster* IExternalContext_getMaster(struct IExternalContext* self) -{ - return self->vtable->getMaster(self); -} - -CLOOP_EXTERN_C struct IExternalEngine* IExternalContext_getEngine(struct IExternalContext* self, struct IStatus* status) -{ - return self->vtable->getEngine(self, status); -} - -CLOOP_EXTERN_C struct IAttachment* IExternalContext_getAttachment(struct IExternalContext* self, struct IStatus* status) -{ - return self->vtable->getAttachment(self, status); -} - -CLOOP_EXTERN_C struct ITransaction* IExternalContext_getTransaction(struct IExternalContext* self, struct IStatus* status) -{ - return self->vtable->getTransaction(self, status); -} - -CLOOP_EXTERN_C const char* IExternalContext_getUserName(struct IExternalContext* self) -{ - return self->vtable->getUserName(self); -} - -CLOOP_EXTERN_C const char* IExternalContext_getDatabaseName(struct IExternalContext* self) -{ - return self->vtable->getDatabaseName(self); -} - -CLOOP_EXTERN_C const char* IExternalContext_getClientCharSet(struct IExternalContext* self) -{ - return self->vtable->getClientCharSet(self); -} - -CLOOP_EXTERN_C int IExternalContext_obtainInfoCode(struct IExternalContext* self) -{ - return self->vtable->obtainInfoCode(self); -} - -CLOOP_EXTERN_C void* IExternalContext_getInfo(struct IExternalContext* self, int code) -{ - return self->vtable->getInfo(self, code); -} - -CLOOP_EXTERN_C void* IExternalContext_setInfo(struct IExternalContext* self, int code, void* value) -{ - return self->vtable->setInfo(self, code, value); -} - -CLOOP_EXTERN_C void IExternalResultSet_dispose(struct IExternalResultSet* self) -{ - self->vtable->dispose(self); -} - -CLOOP_EXTERN_C FB_BOOLEAN IExternalResultSet_fetch(struct IExternalResultSet* self, struct IStatus* status) -{ - return self->vtable->fetch(self, status); -} - -CLOOP_EXTERN_C void IExternalFunction_dispose(struct IExternalFunction* self) -{ - self->vtable->dispose(self); -} - -CLOOP_EXTERN_C void IExternalFunction_getCharSet(struct IExternalFunction* self, struct IStatus* status, struct IExternalContext* context, char* name, unsigned nameSize) -{ - self->vtable->getCharSet(self, status, context, name, nameSize); -} - -CLOOP_EXTERN_C void IExternalFunction_execute(struct IExternalFunction* self, struct IStatus* status, struct IExternalContext* context, void* inMsg, void* outMsg) -{ - self->vtable->execute(self, status, context, inMsg, outMsg); -} - -CLOOP_EXTERN_C void IExternalProcedure_dispose(struct IExternalProcedure* self) -{ - self->vtable->dispose(self); -} - -CLOOP_EXTERN_C void IExternalProcedure_getCharSet(struct IExternalProcedure* self, struct IStatus* status, struct IExternalContext* context, char* name, unsigned nameSize) -{ - self->vtable->getCharSet(self, status, context, name, nameSize); -} - -CLOOP_EXTERN_C struct IExternalResultSet* IExternalProcedure_open(struct IExternalProcedure* self, struct IStatus* status, struct IExternalContext* context, void* inMsg, void* outMsg) -{ - return self->vtable->open(self, status, context, inMsg, outMsg); -} - -CLOOP_EXTERN_C void IExternalTrigger_dispose(struct IExternalTrigger* self) -{ - self->vtable->dispose(self); -} - -CLOOP_EXTERN_C void IExternalTrigger_getCharSet(struct IExternalTrigger* self, struct IStatus* status, struct IExternalContext* context, char* name, unsigned nameSize) -{ - self->vtable->getCharSet(self, status, context, name, nameSize); -} - -CLOOP_EXTERN_C void IExternalTrigger_execute(struct IExternalTrigger* self, struct IStatus* status, struct IExternalContext* context, unsigned action, void* oldMsg, void* newMsg) -{ - self->vtable->execute(self, status, context, action, oldMsg, newMsg); -} - -CLOOP_EXTERN_C const char* IRoutineMetadata_getPackage(const struct IRoutineMetadata* self, struct IStatus* status) -{ - return self->vtable->getPackage(self, status); -} - -CLOOP_EXTERN_C const char* IRoutineMetadata_getName(const struct IRoutineMetadata* self, struct IStatus* status) -{ - return self->vtable->getName(self, status); -} - -CLOOP_EXTERN_C const char* IRoutineMetadata_getEntryPoint(const struct IRoutineMetadata* self, struct IStatus* status) -{ - return self->vtable->getEntryPoint(self, status); -} - -CLOOP_EXTERN_C const char* IRoutineMetadata_getBody(const struct IRoutineMetadata* self, struct IStatus* status) -{ - return self->vtable->getBody(self, status); -} - -CLOOP_EXTERN_C struct IMessageMetadata* IRoutineMetadata_getInputMetadata(const struct IRoutineMetadata* self, struct IStatus* status) -{ - return self->vtable->getInputMetadata(self, status); -} - -CLOOP_EXTERN_C struct IMessageMetadata* IRoutineMetadata_getOutputMetadata(const struct IRoutineMetadata* self, struct IStatus* status) -{ - return self->vtable->getOutputMetadata(self, status); -} - -CLOOP_EXTERN_C struct IMessageMetadata* IRoutineMetadata_getTriggerMetadata(const struct IRoutineMetadata* self, struct IStatus* status) -{ - return self->vtable->getTriggerMetadata(self, status); -} - -CLOOP_EXTERN_C const char* IRoutineMetadata_getTriggerTable(const struct IRoutineMetadata* self, struct IStatus* status) -{ - return self->vtable->getTriggerTable(self, status); -} - -CLOOP_EXTERN_C unsigned IRoutineMetadata_getTriggerType(const struct IRoutineMetadata* self, struct IStatus* status) -{ - return self->vtable->getTriggerType(self, status); -} - -CLOOP_EXTERN_C void IExternalEngine_addRef(struct IExternalEngine* self) -{ - self->vtable->addRef(self); -} - -CLOOP_EXTERN_C int IExternalEngine_release(struct IExternalEngine* self) -{ - return self->vtable->release(self); -} - -CLOOP_EXTERN_C void IExternalEngine_setOwner(struct IExternalEngine* self, struct IReferenceCounted* r) -{ - self->vtable->setOwner(self, r); -} - -CLOOP_EXTERN_C struct IReferenceCounted* IExternalEngine_getOwner(struct IExternalEngine* self) -{ - return self->vtable->getOwner(self); -} - -CLOOP_EXTERN_C void IExternalEngine_open(struct IExternalEngine* self, struct IStatus* status, struct IExternalContext* context, char* charSet, unsigned charSetSize) -{ - self->vtable->open(self, status, context, charSet, charSetSize); -} - -CLOOP_EXTERN_C void IExternalEngine_openAttachment(struct IExternalEngine* self, struct IStatus* status, struct IExternalContext* context) -{ - self->vtable->openAttachment(self, status, context); -} - -CLOOP_EXTERN_C void IExternalEngine_closeAttachment(struct IExternalEngine* self, struct IStatus* status, struct IExternalContext* context) -{ - self->vtable->closeAttachment(self, status, context); -} - -CLOOP_EXTERN_C struct IExternalFunction* IExternalEngine_makeFunction(struct IExternalEngine* self, struct IStatus* status, struct IExternalContext* context, struct IRoutineMetadata* metadata, struct IMetadataBuilder* inBuilder, struct IMetadataBuilder* outBuilder) -{ - return self->vtable->makeFunction(self, status, context, metadata, inBuilder, outBuilder); -} - -CLOOP_EXTERN_C struct IExternalProcedure* IExternalEngine_makeProcedure(struct IExternalEngine* self, struct IStatus* status, struct IExternalContext* context, struct IRoutineMetadata* metadata, struct IMetadataBuilder* inBuilder, struct IMetadataBuilder* outBuilder) -{ - return self->vtable->makeProcedure(self, status, context, metadata, inBuilder, outBuilder); -} - -CLOOP_EXTERN_C struct IExternalTrigger* IExternalEngine_makeTrigger(struct IExternalEngine* self, struct IStatus* status, struct IExternalContext* context, struct IRoutineMetadata* metadata, struct IMetadataBuilder* fieldsBuilder) -{ - return self->vtable->makeTrigger(self, status, context, metadata, fieldsBuilder); -} - -CLOOP_EXTERN_C void ITimer_addRef(struct ITimer* self) -{ - self->vtable->addRef(self); -} - -CLOOP_EXTERN_C int ITimer_release(struct ITimer* self) -{ - return self->vtable->release(self); -} - -CLOOP_EXTERN_C void ITimer_handler(struct ITimer* self) -{ - self->vtable->handler(self); -} - -CLOOP_EXTERN_C void ITimerControl_start(struct ITimerControl* self, struct IStatus* status, struct ITimer* timer, ISC_UINT64 microSeconds) -{ - self->vtable->start(self, status, timer, microSeconds); -} - -CLOOP_EXTERN_C void ITimerControl_stop(struct ITimerControl* self, struct IStatus* status, struct ITimer* timer) -{ - self->vtable->stop(self, status, timer); -} - -CLOOP_EXTERN_C void IVersionCallback_callback(struct IVersionCallback* self, struct IStatus* status, const char* text) -{ - self->vtable->callback(self, status, text); -} - -CLOOP_EXTERN_C void IUtil_getFbVersion(struct IUtil* self, struct IStatus* status, struct IAttachment* att, struct IVersionCallback* callback) -{ - self->vtable->getFbVersion(self, status, att, callback); -} - -CLOOP_EXTERN_C void IUtil_loadBlob(struct IUtil* self, struct IStatus* status, ISC_QUAD* blobId, struct IAttachment* att, struct ITransaction* tra, const char* file, FB_BOOLEAN txt) -{ - self->vtable->loadBlob(self, status, blobId, att, tra, file, txt); -} - -CLOOP_EXTERN_C void IUtil_dumpBlob(struct IUtil* self, struct IStatus* status, ISC_QUAD* blobId, struct IAttachment* att, struct ITransaction* tra, const char* file, FB_BOOLEAN txt) -{ - self->vtable->dumpBlob(self, status, blobId, att, tra, file, txt); -} - -CLOOP_EXTERN_C void IUtil_getPerfCounters(struct IUtil* self, struct IStatus* status, struct IAttachment* att, const char* countersSet, ISC_INT64* counters) -{ - self->vtable->getPerfCounters(self, status, att, countersSet, counters); -} - -CLOOP_EXTERN_C struct IAttachment* IUtil_executeCreateDatabase(struct IUtil* self, struct IStatus* status, unsigned stmtLength, const char* creatDBstatement, unsigned dialect, FB_BOOLEAN* stmtIsCreateDb) -{ - return self->vtable->executeCreateDatabase(self, status, stmtLength, creatDBstatement, dialect, stmtIsCreateDb); -} - -CLOOP_EXTERN_C void IUtil_decodeDate(struct IUtil* self, ISC_DATE date, unsigned* year, unsigned* month, unsigned* day) -{ - self->vtable->decodeDate(self, date, year, month, day); -} - -CLOOP_EXTERN_C void IUtil_decodeTime(struct IUtil* self, ISC_TIME time, unsigned* hours, unsigned* minutes, unsigned* seconds, unsigned* fractions) -{ - self->vtable->decodeTime(self, time, hours, minutes, seconds, fractions); -} - -CLOOP_EXTERN_C ISC_DATE IUtil_encodeDate(struct IUtil* self, unsigned year, unsigned month, unsigned day) -{ - return self->vtable->encodeDate(self, year, month, day); -} - -CLOOP_EXTERN_C ISC_TIME IUtil_encodeTime(struct IUtil* self, unsigned hours, unsigned minutes, unsigned seconds, unsigned fractions) -{ - return self->vtable->encodeTime(self, hours, minutes, seconds, fractions); -} - -CLOOP_EXTERN_C unsigned IUtil_formatStatus(struct IUtil* self, char* buffer, unsigned bufferSize, struct IStatus* status) -{ - return self->vtable->formatStatus(self, buffer, bufferSize, status); -} - -CLOOP_EXTERN_C unsigned IUtil_getClientVersion(struct IUtil* self) -{ - return self->vtable->getClientVersion(self); -} - -CLOOP_EXTERN_C struct IXpbBuilder* IUtil_getXpbBuilder(struct IUtil* self, struct IStatus* status, unsigned kind, const unsigned char* buf, unsigned len) -{ - return self->vtable->getXpbBuilder(self, status, kind, buf, len); -} - -CLOOP_EXTERN_C unsigned IUtil_setOffsets(struct IUtil* self, struct IStatus* status, struct IMessageMetadata* metadata, struct IOffsetsCallback* callback) -{ - return self->vtable->setOffsets(self, status, metadata, callback); -} - -CLOOP_EXTERN_C struct IDecFloat16* IUtil_getDecFloat16(struct IUtil* self, struct IStatus* status) -{ - return self->vtable->getDecFloat16(self, status); -} - -CLOOP_EXTERN_C struct IDecFloat34* IUtil_getDecFloat34(struct IUtil* self, struct IStatus* status) -{ - return self->vtable->getDecFloat34(self, status); -} - -CLOOP_EXTERN_C void IUtil_decodeTimeTz(struct IUtil* self, struct IStatus* status, const ISC_TIME_TZ* timeTz, unsigned* hours, unsigned* minutes, unsigned* seconds, unsigned* fractions, unsigned timeZoneBufferLength, char* timeZoneBuffer) -{ - self->vtable->decodeTimeTz(self, status, timeTz, hours, minutes, seconds, fractions, timeZoneBufferLength, timeZoneBuffer); -} - -CLOOP_EXTERN_C void IUtil_decodeTimeStampTz(struct IUtil* self, struct IStatus* status, const ISC_TIMESTAMP_TZ* timeStampTz, unsigned* year, unsigned* month, unsigned* day, unsigned* hours, unsigned* minutes, unsigned* seconds, unsigned* fractions, unsigned timeZoneBufferLength, char* timeZoneBuffer) -{ - self->vtable->decodeTimeStampTz(self, status, timeStampTz, year, month, day, hours, minutes, seconds, fractions, timeZoneBufferLength, timeZoneBuffer); -} - -CLOOP_EXTERN_C void IUtil_encodeTimeTz(struct IUtil* self, struct IStatus* status, ISC_TIME_TZ* timeTz, unsigned hours, unsigned minutes, unsigned seconds, unsigned fractions, const char* timeZone) -{ - self->vtable->encodeTimeTz(self, status, timeTz, hours, minutes, seconds, fractions, timeZone); -} - -CLOOP_EXTERN_C void IUtil_encodeTimeStampTz(struct IUtil* self, struct IStatus* status, ISC_TIMESTAMP_TZ* timeStampTz, unsigned year, unsigned month, unsigned day, unsigned hours, unsigned minutes, unsigned seconds, unsigned fractions, const char* timeZone) -{ - self->vtable->encodeTimeStampTz(self, status, timeStampTz, year, month, day, hours, minutes, seconds, fractions, timeZone); -} - -CLOOP_EXTERN_C struct IInt128* IUtil_getInt128(struct IUtil* self, struct IStatus* status) -{ - return self->vtable->getInt128(self, status); -} - -CLOOP_EXTERN_C void IUtil_decodeTimeTzEx(struct IUtil* self, struct IStatus* status, const ISC_TIME_TZ_EX* timeTz, unsigned* hours, unsigned* minutes, unsigned* seconds, unsigned* fractions, unsigned timeZoneBufferLength, char* timeZoneBuffer) -{ - self->vtable->decodeTimeTzEx(self, status, timeTz, hours, minutes, seconds, fractions, timeZoneBufferLength, timeZoneBuffer); -} - -CLOOP_EXTERN_C void IUtil_decodeTimeStampTzEx(struct IUtil* self, struct IStatus* status, const ISC_TIMESTAMP_TZ_EX* timeStampTz, unsigned* year, unsigned* month, unsigned* day, unsigned* hours, unsigned* minutes, unsigned* seconds, unsigned* fractions, unsigned timeZoneBufferLength, char* timeZoneBuffer) -{ - self->vtable->decodeTimeStampTzEx(self, status, timeStampTz, year, month, day, hours, minutes, seconds, fractions, timeZoneBufferLength, timeZoneBuffer); -} - -CLOOP_EXTERN_C void IOffsetsCallback_setOffset(struct IOffsetsCallback* self, struct IStatus* status, unsigned index, unsigned offset, unsigned nullOffset) -{ - self->vtable->setOffset(self, status, index, offset, nullOffset); -} - -CLOOP_EXTERN_C void IXpbBuilder_dispose(struct IXpbBuilder* self) -{ - self->vtable->dispose(self); -} - -CLOOP_EXTERN_C void IXpbBuilder_clear(struct IXpbBuilder* self, struct IStatus* status) -{ - self->vtable->clear(self, status); -} - -CLOOP_EXTERN_C void IXpbBuilder_removeCurrent(struct IXpbBuilder* self, struct IStatus* status) -{ - self->vtable->removeCurrent(self, status); -} - -CLOOP_EXTERN_C void IXpbBuilder_insertInt(struct IXpbBuilder* self, struct IStatus* status, unsigned char tag, int value) -{ - self->vtable->insertInt(self, status, tag, value); -} - -CLOOP_EXTERN_C void IXpbBuilder_insertBigInt(struct IXpbBuilder* self, struct IStatus* status, unsigned char tag, ISC_INT64 value) -{ - self->vtable->insertBigInt(self, status, tag, value); -} - -CLOOP_EXTERN_C void IXpbBuilder_insertBytes(struct IXpbBuilder* self, struct IStatus* status, unsigned char tag, const void* bytes, unsigned length) -{ - self->vtable->insertBytes(self, status, tag, bytes, length); -} - -CLOOP_EXTERN_C void IXpbBuilder_insertString(struct IXpbBuilder* self, struct IStatus* status, unsigned char tag, const char* str) -{ - self->vtable->insertString(self, status, tag, str); -} - -CLOOP_EXTERN_C void IXpbBuilder_insertTag(struct IXpbBuilder* self, struct IStatus* status, unsigned char tag) -{ - self->vtable->insertTag(self, status, tag); -} - -CLOOP_EXTERN_C FB_BOOLEAN IXpbBuilder_isEof(struct IXpbBuilder* self, struct IStatus* status) -{ - return self->vtable->isEof(self, status); -} - -CLOOP_EXTERN_C void IXpbBuilder_moveNext(struct IXpbBuilder* self, struct IStatus* status) -{ - self->vtable->moveNext(self, status); -} - -CLOOP_EXTERN_C void IXpbBuilder_rewind(struct IXpbBuilder* self, struct IStatus* status) -{ - self->vtable->rewind(self, status); -} - -CLOOP_EXTERN_C FB_BOOLEAN IXpbBuilder_findFirst(struct IXpbBuilder* self, struct IStatus* status, unsigned char tag) -{ - return self->vtable->findFirst(self, status, tag); -} - -CLOOP_EXTERN_C FB_BOOLEAN IXpbBuilder_findNext(struct IXpbBuilder* self, struct IStatus* status) -{ - return self->vtable->findNext(self, status); -} - -CLOOP_EXTERN_C unsigned char IXpbBuilder_getTag(struct IXpbBuilder* self, struct IStatus* status) -{ - return self->vtable->getTag(self, status); -} - -CLOOP_EXTERN_C unsigned IXpbBuilder_getLength(struct IXpbBuilder* self, struct IStatus* status) -{ - return self->vtable->getLength(self, status); -} - -CLOOP_EXTERN_C int IXpbBuilder_getInt(struct IXpbBuilder* self, struct IStatus* status) -{ - return self->vtable->getInt(self, status); -} - -CLOOP_EXTERN_C ISC_INT64 IXpbBuilder_getBigInt(struct IXpbBuilder* self, struct IStatus* status) -{ - return self->vtable->getBigInt(self, status); -} - -CLOOP_EXTERN_C const char* IXpbBuilder_getString(struct IXpbBuilder* self, struct IStatus* status) -{ - return self->vtable->getString(self, status); -} - -CLOOP_EXTERN_C const unsigned char* IXpbBuilder_getBytes(struct IXpbBuilder* self, struct IStatus* status) -{ - return self->vtable->getBytes(self, status); -} - -CLOOP_EXTERN_C unsigned IXpbBuilder_getBufferLength(struct IXpbBuilder* self, struct IStatus* status) -{ - return self->vtable->getBufferLength(self, status); -} - -CLOOP_EXTERN_C const unsigned char* IXpbBuilder_getBuffer(struct IXpbBuilder* self, struct IStatus* status) -{ - return self->vtable->getBuffer(self, status); -} - -CLOOP_EXTERN_C unsigned ITraceConnection_getKind(struct ITraceConnection* self) -{ - return self->vtable->getKind(self); -} - -CLOOP_EXTERN_C int ITraceConnection_getProcessID(struct ITraceConnection* self) -{ - return self->vtable->getProcessID(self); -} - -CLOOP_EXTERN_C const char* ITraceConnection_getUserName(struct ITraceConnection* self) -{ - return self->vtable->getUserName(self); -} - -CLOOP_EXTERN_C const char* ITraceConnection_getRoleName(struct ITraceConnection* self) -{ - return self->vtable->getRoleName(self); -} - -CLOOP_EXTERN_C const char* ITraceConnection_getCharSet(struct ITraceConnection* self) -{ - return self->vtable->getCharSet(self); -} - -CLOOP_EXTERN_C const char* ITraceConnection_getRemoteProtocol(struct ITraceConnection* self) -{ - return self->vtable->getRemoteProtocol(self); -} - -CLOOP_EXTERN_C const char* ITraceConnection_getRemoteAddress(struct ITraceConnection* self) -{ - return self->vtable->getRemoteAddress(self); -} - -CLOOP_EXTERN_C int ITraceConnection_getRemoteProcessID(struct ITraceConnection* self) -{ - return self->vtable->getRemoteProcessID(self); -} - -CLOOP_EXTERN_C const char* ITraceConnection_getRemoteProcessName(struct ITraceConnection* self) -{ - return self->vtable->getRemoteProcessName(self); -} - -CLOOP_EXTERN_C unsigned ITraceDatabaseConnection_getKind(struct ITraceDatabaseConnection* self) -{ - return self->vtable->getKind(self); -} - -CLOOP_EXTERN_C int ITraceDatabaseConnection_getProcessID(struct ITraceDatabaseConnection* self) -{ - return self->vtable->getProcessID(self); -} - -CLOOP_EXTERN_C const char* ITraceDatabaseConnection_getUserName(struct ITraceDatabaseConnection* self) -{ - return self->vtable->getUserName(self); -} - -CLOOP_EXTERN_C const char* ITraceDatabaseConnection_getRoleName(struct ITraceDatabaseConnection* self) -{ - return self->vtable->getRoleName(self); -} - -CLOOP_EXTERN_C const char* ITraceDatabaseConnection_getCharSet(struct ITraceDatabaseConnection* self) -{ - return self->vtable->getCharSet(self); -} - -CLOOP_EXTERN_C const char* ITraceDatabaseConnection_getRemoteProtocol(struct ITraceDatabaseConnection* self) -{ - return self->vtable->getRemoteProtocol(self); -} - -CLOOP_EXTERN_C const char* ITraceDatabaseConnection_getRemoteAddress(struct ITraceDatabaseConnection* self) -{ - return self->vtable->getRemoteAddress(self); -} - -CLOOP_EXTERN_C int ITraceDatabaseConnection_getRemoteProcessID(struct ITraceDatabaseConnection* self) -{ - return self->vtable->getRemoteProcessID(self); -} - -CLOOP_EXTERN_C const char* ITraceDatabaseConnection_getRemoteProcessName(struct ITraceDatabaseConnection* self) -{ - return self->vtable->getRemoteProcessName(self); -} - -CLOOP_EXTERN_C ISC_INT64 ITraceDatabaseConnection_getConnectionID(struct ITraceDatabaseConnection* self) -{ - return self->vtable->getConnectionID(self); -} - -CLOOP_EXTERN_C const char* ITraceDatabaseConnection_getDatabaseName(struct ITraceDatabaseConnection* self) -{ - return self->vtable->getDatabaseName(self); -} - -CLOOP_EXTERN_C ISC_INT64 ITraceTransaction_getTransactionID(struct ITraceTransaction* self) -{ - return self->vtable->getTransactionID(self); -} - -CLOOP_EXTERN_C FB_BOOLEAN ITraceTransaction_getReadOnly(struct ITraceTransaction* self) -{ - return self->vtable->getReadOnly(self); -} - -CLOOP_EXTERN_C int ITraceTransaction_getWait(struct ITraceTransaction* self) -{ - return self->vtable->getWait(self); -} - -CLOOP_EXTERN_C unsigned ITraceTransaction_getIsolation(struct ITraceTransaction* self) -{ - return self->vtable->getIsolation(self); -} - -CLOOP_EXTERN_C struct PerformanceInfo* ITraceTransaction_getPerf(struct ITraceTransaction* self) -{ - return self->vtable->getPerf(self); -} - -CLOOP_EXTERN_C ISC_INT64 ITraceTransaction_getInitialID(struct ITraceTransaction* self) -{ - return self->vtable->getInitialID(self); -} - -CLOOP_EXTERN_C ISC_INT64 ITraceTransaction_getPreviousID(struct ITraceTransaction* self) -{ - return self->vtable->getPreviousID(self); -} - -CLOOP_EXTERN_C unsigned ITraceParams_getCount(struct ITraceParams* self) -{ - return self->vtable->getCount(self); -} - -CLOOP_EXTERN_C const struct dsc* ITraceParams_getParam(struct ITraceParams* self, unsigned idx) -{ - return self->vtable->getParam(self, idx); -} - -CLOOP_EXTERN_C const char* ITraceParams_getTextUTF8(struct ITraceParams* self, struct IStatus* status, unsigned idx) -{ - return self->vtable->getTextUTF8(self, status, idx); -} - -CLOOP_EXTERN_C ISC_INT64 ITraceStatement_getStmtID(struct ITraceStatement* self) -{ - return self->vtable->getStmtID(self); -} - -CLOOP_EXTERN_C struct PerformanceInfo* ITraceStatement_getPerf(struct ITraceStatement* self) -{ - return self->vtable->getPerf(self); -} - -CLOOP_EXTERN_C ISC_INT64 ITraceSQLStatement_getStmtID(struct ITraceSQLStatement* self) -{ - return self->vtable->getStmtID(self); -} - -CLOOP_EXTERN_C struct PerformanceInfo* ITraceSQLStatement_getPerf(struct ITraceSQLStatement* self) -{ - return self->vtable->getPerf(self); -} - -CLOOP_EXTERN_C const char* ITraceSQLStatement_getText(struct ITraceSQLStatement* self) -{ - return self->vtable->getText(self); -} - -CLOOP_EXTERN_C const char* ITraceSQLStatement_getPlan(struct ITraceSQLStatement* self) -{ - return self->vtable->getPlan(self); -} - -CLOOP_EXTERN_C struct ITraceParams* ITraceSQLStatement_getInputs(struct ITraceSQLStatement* self) -{ - return self->vtable->getInputs(self); -} - -CLOOP_EXTERN_C const char* ITraceSQLStatement_getTextUTF8(struct ITraceSQLStatement* self) -{ - return self->vtable->getTextUTF8(self); -} - -CLOOP_EXTERN_C const char* ITraceSQLStatement_getExplainedPlan(struct ITraceSQLStatement* self) -{ - return self->vtable->getExplainedPlan(self); -} - -CLOOP_EXTERN_C ISC_INT64 ITraceBLRStatement_getStmtID(struct ITraceBLRStatement* self) -{ - return self->vtable->getStmtID(self); -} - -CLOOP_EXTERN_C struct PerformanceInfo* ITraceBLRStatement_getPerf(struct ITraceBLRStatement* self) -{ - return self->vtable->getPerf(self); -} - -CLOOP_EXTERN_C const unsigned char* ITraceBLRStatement_getData(struct ITraceBLRStatement* self) -{ - return self->vtable->getData(self); -} - -CLOOP_EXTERN_C unsigned ITraceBLRStatement_getDataLength(struct ITraceBLRStatement* self) -{ - return self->vtable->getDataLength(self); -} - -CLOOP_EXTERN_C const char* ITraceBLRStatement_getText(struct ITraceBLRStatement* self) -{ - return self->vtable->getText(self); -} - -CLOOP_EXTERN_C const unsigned char* ITraceDYNRequest_getData(struct ITraceDYNRequest* self) -{ - return self->vtable->getData(self); -} - -CLOOP_EXTERN_C unsigned ITraceDYNRequest_getDataLength(struct ITraceDYNRequest* self) -{ - return self->vtable->getDataLength(self); -} - -CLOOP_EXTERN_C const char* ITraceDYNRequest_getText(struct ITraceDYNRequest* self) -{ - return self->vtable->getText(self); -} - -CLOOP_EXTERN_C const char* ITraceContextVariable_getNameSpace(struct ITraceContextVariable* self) -{ - return self->vtable->getNameSpace(self); -} - -CLOOP_EXTERN_C const char* ITraceContextVariable_getVarName(struct ITraceContextVariable* self) -{ - return self->vtable->getVarName(self); -} - -CLOOP_EXTERN_C const char* ITraceContextVariable_getVarValue(struct ITraceContextVariable* self) -{ - return self->vtable->getVarValue(self); -} - -CLOOP_EXTERN_C const char* ITraceProcedure_getProcName(struct ITraceProcedure* self) -{ - return self->vtable->getProcName(self); -} - -CLOOP_EXTERN_C struct ITraceParams* ITraceProcedure_getInputs(struct ITraceProcedure* self) -{ - return self->vtable->getInputs(self); -} - -CLOOP_EXTERN_C struct PerformanceInfo* ITraceProcedure_getPerf(struct ITraceProcedure* self) -{ - return self->vtable->getPerf(self); -} - -CLOOP_EXTERN_C ISC_INT64 ITraceProcedure_getStmtID(struct ITraceProcedure* self) -{ - return self->vtable->getStmtID(self); -} - -CLOOP_EXTERN_C const char* ITraceProcedure_getPlan(struct ITraceProcedure* self) -{ - return self->vtable->getPlan(self); -} - -CLOOP_EXTERN_C const char* ITraceProcedure_getExplainedPlan(struct ITraceProcedure* self) -{ - return self->vtable->getExplainedPlan(self); -} - -CLOOP_EXTERN_C const char* ITraceFunction_getFuncName(struct ITraceFunction* self) -{ - return self->vtable->getFuncName(self); -} - -CLOOP_EXTERN_C struct ITraceParams* ITraceFunction_getInputs(struct ITraceFunction* self) -{ - return self->vtable->getInputs(self); -} - -CLOOP_EXTERN_C struct ITraceParams* ITraceFunction_getResult(struct ITraceFunction* self) -{ - return self->vtable->getResult(self); -} - -CLOOP_EXTERN_C struct PerformanceInfo* ITraceFunction_getPerf(struct ITraceFunction* self) -{ - return self->vtable->getPerf(self); -} - -CLOOP_EXTERN_C ISC_INT64 ITraceFunction_getStmtID(struct ITraceFunction* self) -{ - return self->vtable->getStmtID(self); -} - -CLOOP_EXTERN_C const char* ITraceFunction_getPlan(struct ITraceFunction* self) -{ - return self->vtable->getPlan(self); -} - -CLOOP_EXTERN_C const char* ITraceFunction_getExplainedPlan(struct ITraceFunction* self) -{ - return self->vtable->getExplainedPlan(self); -} - -CLOOP_EXTERN_C const char* ITraceTrigger_getTriggerName(struct ITraceTrigger* self) -{ - return self->vtable->getTriggerName(self); -} - -CLOOP_EXTERN_C const char* ITraceTrigger_getRelationName(struct ITraceTrigger* self) -{ - return self->vtable->getRelationName(self); -} - -CLOOP_EXTERN_C int ITraceTrigger_getAction(struct ITraceTrigger* self) -{ - return self->vtable->getAction(self); -} - -CLOOP_EXTERN_C int ITraceTrigger_getWhich(struct ITraceTrigger* self) -{ - return self->vtable->getWhich(self); -} - -CLOOP_EXTERN_C struct PerformanceInfo* ITraceTrigger_getPerf(struct ITraceTrigger* self) -{ - return self->vtable->getPerf(self); -} - -CLOOP_EXTERN_C ISC_INT64 ITraceTrigger_getStmtID(struct ITraceTrigger* self) -{ - return self->vtable->getStmtID(self); -} - -CLOOP_EXTERN_C const char* ITraceTrigger_getPlan(struct ITraceTrigger* self) -{ - return self->vtable->getPlan(self); -} - -CLOOP_EXTERN_C const char* ITraceTrigger_getExplainedPlan(struct ITraceTrigger* self) -{ - return self->vtable->getExplainedPlan(self); -} - -CLOOP_EXTERN_C unsigned ITraceServiceConnection_getKind(struct ITraceServiceConnection* self) -{ - return self->vtable->getKind(self); -} - -CLOOP_EXTERN_C int ITraceServiceConnection_getProcessID(struct ITraceServiceConnection* self) -{ - return self->vtable->getProcessID(self); -} - -CLOOP_EXTERN_C const char* ITraceServiceConnection_getUserName(struct ITraceServiceConnection* self) -{ - return self->vtable->getUserName(self); -} - -CLOOP_EXTERN_C const char* ITraceServiceConnection_getRoleName(struct ITraceServiceConnection* self) -{ - return self->vtable->getRoleName(self); -} - -CLOOP_EXTERN_C const char* ITraceServiceConnection_getCharSet(struct ITraceServiceConnection* self) -{ - return self->vtable->getCharSet(self); -} - -CLOOP_EXTERN_C const char* ITraceServiceConnection_getRemoteProtocol(struct ITraceServiceConnection* self) -{ - return self->vtable->getRemoteProtocol(self); -} - -CLOOP_EXTERN_C const char* ITraceServiceConnection_getRemoteAddress(struct ITraceServiceConnection* self) -{ - return self->vtable->getRemoteAddress(self); -} - -CLOOP_EXTERN_C int ITraceServiceConnection_getRemoteProcessID(struct ITraceServiceConnection* self) -{ - return self->vtable->getRemoteProcessID(self); -} - -CLOOP_EXTERN_C const char* ITraceServiceConnection_getRemoteProcessName(struct ITraceServiceConnection* self) -{ - return self->vtable->getRemoteProcessName(self); -} - -CLOOP_EXTERN_C void* ITraceServiceConnection_getServiceID(struct ITraceServiceConnection* self) -{ - return self->vtable->getServiceID(self); -} - -CLOOP_EXTERN_C const char* ITraceServiceConnection_getServiceMgr(struct ITraceServiceConnection* self) -{ - return self->vtable->getServiceMgr(self); -} - -CLOOP_EXTERN_C const char* ITraceServiceConnection_getServiceName(struct ITraceServiceConnection* self) -{ - return self->vtable->getServiceName(self); -} - -CLOOP_EXTERN_C FB_BOOLEAN ITraceStatusVector_hasError(struct ITraceStatusVector* self) -{ - return self->vtable->hasError(self); -} - -CLOOP_EXTERN_C FB_BOOLEAN ITraceStatusVector_hasWarning(struct ITraceStatusVector* self) -{ - return self->vtable->hasWarning(self); -} - -CLOOP_EXTERN_C struct IStatus* ITraceStatusVector_getStatus(struct ITraceStatusVector* self) -{ - return self->vtable->getStatus(self); -} - -CLOOP_EXTERN_C const char* ITraceStatusVector_getText(struct ITraceStatusVector* self) -{ - return self->vtable->getText(self); -} - -CLOOP_EXTERN_C ISC_INT64 ITraceSweepInfo_getOIT(struct ITraceSweepInfo* self) -{ - return self->vtable->getOIT(self); -} - -CLOOP_EXTERN_C ISC_INT64 ITraceSweepInfo_getOST(struct ITraceSweepInfo* self) -{ - return self->vtable->getOST(self); -} - -CLOOP_EXTERN_C ISC_INT64 ITraceSweepInfo_getOAT(struct ITraceSweepInfo* self) -{ - return self->vtable->getOAT(self); -} - -CLOOP_EXTERN_C ISC_INT64 ITraceSweepInfo_getNext(struct ITraceSweepInfo* self) -{ - return self->vtable->getNext(self); -} - -CLOOP_EXTERN_C struct PerformanceInfo* ITraceSweepInfo_getPerf(struct ITraceSweepInfo* self) -{ - return self->vtable->getPerf(self); -} - -CLOOP_EXTERN_C void ITraceLogWriter_addRef(struct ITraceLogWriter* self) -{ - self->vtable->addRef(self); -} - -CLOOP_EXTERN_C int ITraceLogWriter_release(struct ITraceLogWriter* self) -{ - return self->vtable->release(self); -} - -CLOOP_EXTERN_C unsigned ITraceLogWriter_write(struct ITraceLogWriter* self, const void* buf, unsigned size) -{ - return self->vtable->write(self, buf, size); -} - -CLOOP_EXTERN_C unsigned ITraceLogWriter_write_s(struct ITraceLogWriter* self, struct IStatus* status, const void* buf, unsigned size) -{ - return self->vtable->write_s(self, status, buf, size); -} - -CLOOP_EXTERN_C const char* ITraceInitInfo_getConfigText(struct ITraceInitInfo* self) -{ - return self->vtable->getConfigText(self); -} - -CLOOP_EXTERN_C int ITraceInitInfo_getTraceSessionID(struct ITraceInitInfo* self) -{ - return self->vtable->getTraceSessionID(self); -} - -CLOOP_EXTERN_C const char* ITraceInitInfo_getTraceSessionName(struct ITraceInitInfo* self) -{ - return self->vtable->getTraceSessionName(self); -} - -CLOOP_EXTERN_C const char* ITraceInitInfo_getFirebirdRootDirectory(struct ITraceInitInfo* self) -{ - return self->vtable->getFirebirdRootDirectory(self); -} - -CLOOP_EXTERN_C const char* ITraceInitInfo_getDatabaseName(struct ITraceInitInfo* self) -{ - return self->vtable->getDatabaseName(self); -} - -CLOOP_EXTERN_C struct ITraceDatabaseConnection* ITraceInitInfo_getConnection(struct ITraceInitInfo* self) -{ - return self->vtable->getConnection(self); -} - -CLOOP_EXTERN_C struct ITraceLogWriter* ITraceInitInfo_getLogWriter(struct ITraceInitInfo* self) -{ - return self->vtable->getLogWriter(self); -} - -CLOOP_EXTERN_C void ITracePlugin_addRef(struct ITracePlugin* self) -{ - self->vtable->addRef(self); -} - -CLOOP_EXTERN_C int ITracePlugin_release(struct ITracePlugin* self) -{ - return self->vtable->release(self); -} - -CLOOP_EXTERN_C const char* ITracePlugin_trace_get_error(struct ITracePlugin* self) -{ - return self->vtable->trace_get_error(self); -} - -CLOOP_EXTERN_C FB_BOOLEAN ITracePlugin_trace_attach(struct ITracePlugin* self, struct ITraceDatabaseConnection* connection, FB_BOOLEAN create_db, unsigned att_result) -{ - return self->vtable->trace_attach(self, connection, create_db, att_result); -} - -CLOOP_EXTERN_C FB_BOOLEAN ITracePlugin_trace_detach(struct ITracePlugin* self, struct ITraceDatabaseConnection* connection, FB_BOOLEAN drop_db) -{ - return self->vtable->trace_detach(self, connection, drop_db); -} - -CLOOP_EXTERN_C FB_BOOLEAN ITracePlugin_trace_transaction_start(struct ITracePlugin* self, struct ITraceDatabaseConnection* connection, struct ITraceTransaction* transaction, unsigned tpb_length, const unsigned char* tpb, unsigned tra_result) -{ - return self->vtable->trace_transaction_start(self, connection, transaction, tpb_length, tpb, tra_result); -} - -CLOOP_EXTERN_C FB_BOOLEAN ITracePlugin_trace_transaction_end(struct ITracePlugin* self, struct ITraceDatabaseConnection* connection, struct ITraceTransaction* transaction, FB_BOOLEAN commit, FB_BOOLEAN retain_context, unsigned tra_result) -{ - return self->vtable->trace_transaction_end(self, connection, transaction, commit, retain_context, tra_result); -} - -CLOOP_EXTERN_C FB_BOOLEAN ITracePlugin_trace_proc_execute(struct ITracePlugin* self, struct ITraceDatabaseConnection* connection, struct ITraceTransaction* transaction, struct ITraceProcedure* procedure, FB_BOOLEAN started, unsigned proc_result) -{ - return self->vtable->trace_proc_execute(self, connection, transaction, procedure, started, proc_result); -} - -CLOOP_EXTERN_C FB_BOOLEAN ITracePlugin_trace_trigger_execute(struct ITracePlugin* self, struct ITraceDatabaseConnection* connection, struct ITraceTransaction* transaction, struct ITraceTrigger* trigger, FB_BOOLEAN started, unsigned trig_result) -{ - return self->vtable->trace_trigger_execute(self, connection, transaction, trigger, started, trig_result); -} - -CLOOP_EXTERN_C FB_BOOLEAN ITracePlugin_trace_set_context(struct ITracePlugin* self, struct ITraceDatabaseConnection* connection, struct ITraceTransaction* transaction, struct ITraceContextVariable* variable) -{ - return self->vtable->trace_set_context(self, connection, transaction, variable); -} - -CLOOP_EXTERN_C FB_BOOLEAN ITracePlugin_trace_dsql_prepare(struct ITracePlugin* self, struct ITraceDatabaseConnection* connection, struct ITraceTransaction* transaction, struct ITraceSQLStatement* statement, ISC_INT64 time_millis, unsigned req_result) -{ - return self->vtable->trace_dsql_prepare(self, connection, transaction, statement, time_millis, req_result); -} - -CLOOP_EXTERN_C FB_BOOLEAN ITracePlugin_trace_dsql_free(struct ITracePlugin* self, struct ITraceDatabaseConnection* connection, struct ITraceSQLStatement* statement, unsigned option) -{ - return self->vtable->trace_dsql_free(self, connection, statement, option); -} - -CLOOP_EXTERN_C FB_BOOLEAN ITracePlugin_trace_dsql_execute(struct ITracePlugin* self, struct ITraceDatabaseConnection* connection, struct ITraceTransaction* transaction, struct ITraceSQLStatement* statement, FB_BOOLEAN started, unsigned req_result) -{ - return self->vtable->trace_dsql_execute(self, connection, transaction, statement, started, req_result); -} - -CLOOP_EXTERN_C FB_BOOLEAN ITracePlugin_trace_blr_compile(struct ITracePlugin* self, struct ITraceDatabaseConnection* connection, struct ITraceTransaction* transaction, struct ITraceBLRStatement* statement, ISC_INT64 time_millis, unsigned req_result) -{ - return self->vtable->trace_blr_compile(self, connection, transaction, statement, time_millis, req_result); -} - -CLOOP_EXTERN_C FB_BOOLEAN ITracePlugin_trace_blr_execute(struct ITracePlugin* self, struct ITraceDatabaseConnection* connection, struct ITraceTransaction* transaction, struct ITraceBLRStatement* statement, unsigned req_result) -{ - return self->vtable->trace_blr_execute(self, connection, transaction, statement, req_result); -} - -CLOOP_EXTERN_C FB_BOOLEAN ITracePlugin_trace_dyn_execute(struct ITracePlugin* self, struct ITraceDatabaseConnection* connection, struct ITraceTransaction* transaction, struct ITraceDYNRequest* request, ISC_INT64 time_millis, unsigned req_result) -{ - return self->vtable->trace_dyn_execute(self, connection, transaction, request, time_millis, req_result); -} - -CLOOP_EXTERN_C FB_BOOLEAN ITracePlugin_trace_service_attach(struct ITracePlugin* self, struct ITraceServiceConnection* service, unsigned att_result) -{ - return self->vtable->trace_service_attach(self, service, att_result); -} - -CLOOP_EXTERN_C FB_BOOLEAN ITracePlugin_trace_service_start(struct ITracePlugin* self, struct ITraceServiceConnection* service, unsigned switches_length, const char* switches, unsigned start_result) -{ - return self->vtable->trace_service_start(self, service, switches_length, switches, start_result); -} - -CLOOP_EXTERN_C FB_BOOLEAN ITracePlugin_trace_service_query(struct ITracePlugin* self, struct ITraceServiceConnection* service, unsigned send_item_length, const unsigned char* send_items, unsigned recv_item_length, const unsigned char* recv_items, unsigned query_result) -{ - return self->vtable->trace_service_query(self, service, send_item_length, send_items, recv_item_length, recv_items, query_result); -} - -CLOOP_EXTERN_C FB_BOOLEAN ITracePlugin_trace_service_detach(struct ITracePlugin* self, struct ITraceServiceConnection* service, unsigned detach_result) -{ - return self->vtable->trace_service_detach(self, service, detach_result); -} - -CLOOP_EXTERN_C FB_BOOLEAN ITracePlugin_trace_event_error(struct ITracePlugin* self, struct ITraceConnection* connection, struct ITraceStatusVector* status, const char* function) -{ - return self->vtable->trace_event_error(self, connection, status, function); -} - -CLOOP_EXTERN_C FB_BOOLEAN ITracePlugin_trace_event_sweep(struct ITracePlugin* self, struct ITraceDatabaseConnection* connection, struct ITraceSweepInfo* sweep, unsigned sweep_state) -{ - return self->vtable->trace_event_sweep(self, connection, sweep, sweep_state); -} - -CLOOP_EXTERN_C FB_BOOLEAN ITracePlugin_trace_func_execute(struct ITracePlugin* self, struct ITraceDatabaseConnection* connection, struct ITraceTransaction* transaction, struct ITraceFunction* function, FB_BOOLEAN started, unsigned func_result) -{ - return self->vtable->trace_func_execute(self, connection, transaction, function, started, func_result); -} - -CLOOP_EXTERN_C FB_BOOLEAN ITracePlugin_trace_dsql_restart(struct ITracePlugin* self, struct ITraceDatabaseConnection* connection, struct ITraceTransaction* transaction, struct ITraceSQLStatement* statement, unsigned number) -{ - return self->vtable->trace_dsql_restart(self, connection, transaction, statement, number); -} - -CLOOP_EXTERN_C FB_BOOLEAN ITracePlugin_trace_proc_compile(struct ITracePlugin* self, struct ITraceDatabaseConnection* connection, struct ITraceProcedure* procedure, ISC_INT64 time_millis, unsigned proc_result) -{ - return self->vtable->trace_proc_compile(self, connection, procedure, time_millis, proc_result); -} - -CLOOP_EXTERN_C FB_BOOLEAN ITracePlugin_trace_func_compile(struct ITracePlugin* self, struct ITraceDatabaseConnection* connection, struct ITraceFunction* function, ISC_INT64 time_millis, unsigned func_result) -{ - return self->vtable->trace_func_compile(self, connection, function, time_millis, func_result); -} - -CLOOP_EXTERN_C FB_BOOLEAN ITracePlugin_trace_trigger_compile(struct ITracePlugin* self, struct ITraceDatabaseConnection* connection, struct ITraceTrigger* trigger, ISC_INT64 time_millis, unsigned trig_result) -{ - return self->vtable->trace_trigger_compile(self, connection, trigger, time_millis, trig_result); -} - -CLOOP_EXTERN_C void ITraceFactory_addRef(struct ITraceFactory* self) -{ - self->vtable->addRef(self); -} - -CLOOP_EXTERN_C int ITraceFactory_release(struct ITraceFactory* self) -{ - return self->vtable->release(self); -} - -CLOOP_EXTERN_C void ITraceFactory_setOwner(struct ITraceFactory* self, struct IReferenceCounted* r) -{ - self->vtable->setOwner(self, r); -} - -CLOOP_EXTERN_C struct IReferenceCounted* ITraceFactory_getOwner(struct ITraceFactory* self) -{ - return self->vtable->getOwner(self); -} - -CLOOP_EXTERN_C ISC_UINT64 ITraceFactory_trace_needs(struct ITraceFactory* self) -{ - return self->vtable->trace_needs(self); -} - -CLOOP_EXTERN_C struct ITracePlugin* ITraceFactory_trace_create(struct ITraceFactory* self, struct IStatus* status, struct ITraceInitInfo* init_info) -{ - return self->vtable->trace_create(self, status, init_info); -} - -CLOOP_EXTERN_C void IUdrFunctionFactory_dispose(struct IUdrFunctionFactory* self) -{ - self->vtable->dispose(self); -} - -CLOOP_EXTERN_C void IUdrFunctionFactory_setup(struct IUdrFunctionFactory* self, struct IStatus* status, struct IExternalContext* context, struct IRoutineMetadata* metadata, struct IMetadataBuilder* inBuilder, struct IMetadataBuilder* outBuilder) -{ - self->vtable->setup(self, status, context, metadata, inBuilder, outBuilder); -} - -CLOOP_EXTERN_C struct IExternalFunction* IUdrFunctionFactory_newItem(struct IUdrFunctionFactory* self, struct IStatus* status, struct IExternalContext* context, struct IRoutineMetadata* metadata) -{ - return self->vtable->newItem(self, status, context, metadata); -} - -CLOOP_EXTERN_C void IUdrProcedureFactory_dispose(struct IUdrProcedureFactory* self) -{ - self->vtable->dispose(self); -} - -CLOOP_EXTERN_C void IUdrProcedureFactory_setup(struct IUdrProcedureFactory* self, struct IStatus* status, struct IExternalContext* context, struct IRoutineMetadata* metadata, struct IMetadataBuilder* inBuilder, struct IMetadataBuilder* outBuilder) -{ - self->vtable->setup(self, status, context, metadata, inBuilder, outBuilder); -} - -CLOOP_EXTERN_C struct IExternalProcedure* IUdrProcedureFactory_newItem(struct IUdrProcedureFactory* self, struct IStatus* status, struct IExternalContext* context, struct IRoutineMetadata* metadata) -{ - return self->vtable->newItem(self, status, context, metadata); -} - -CLOOP_EXTERN_C void IUdrTriggerFactory_dispose(struct IUdrTriggerFactory* self) -{ - self->vtable->dispose(self); -} - -CLOOP_EXTERN_C void IUdrTriggerFactory_setup(struct IUdrTriggerFactory* self, struct IStatus* status, struct IExternalContext* context, struct IRoutineMetadata* metadata, struct IMetadataBuilder* fieldsBuilder) -{ - self->vtable->setup(self, status, context, metadata, fieldsBuilder); -} - -CLOOP_EXTERN_C struct IExternalTrigger* IUdrTriggerFactory_newItem(struct IUdrTriggerFactory* self, struct IStatus* status, struct IExternalContext* context, struct IRoutineMetadata* metadata) -{ - return self->vtable->newItem(self, status, context, metadata); -} - -CLOOP_EXTERN_C struct IMaster* IUdrPlugin_getMaster(struct IUdrPlugin* self) -{ - return self->vtable->getMaster(self); -} - -CLOOP_EXTERN_C void IUdrPlugin_registerFunction(struct IUdrPlugin* self, struct IStatus* status, const char* name, struct IUdrFunctionFactory* factory) -{ - self->vtable->registerFunction(self, status, name, factory); -} - -CLOOP_EXTERN_C void IUdrPlugin_registerProcedure(struct IUdrPlugin* self, struct IStatus* status, const char* name, struct IUdrProcedureFactory* factory) -{ - self->vtable->registerProcedure(self, status, name, factory); -} - -CLOOP_EXTERN_C void IUdrPlugin_registerTrigger(struct IUdrPlugin* self, struct IStatus* status, const char* name, struct IUdrTriggerFactory* factory) -{ - self->vtable->registerTrigger(self, status, name, factory); -} - -CLOOP_EXTERN_C void IDecFloat16_toBcd(struct IDecFloat16* self, const FB_DEC16* from, int* sign, unsigned char* bcd, int* exp) -{ - self->vtable->toBcd(self, from, sign, bcd, exp); -} - -CLOOP_EXTERN_C void IDecFloat16_toString(struct IDecFloat16* self, struct IStatus* status, const FB_DEC16* from, unsigned bufferLength, char* buffer) -{ - self->vtable->toString(self, status, from, bufferLength, buffer); -} - -CLOOP_EXTERN_C void IDecFloat16_fromBcd(struct IDecFloat16* self, int sign, const unsigned char* bcd, int exp, FB_DEC16* to) -{ - self->vtable->fromBcd(self, sign, bcd, exp, to); -} - -CLOOP_EXTERN_C void IDecFloat16_fromString(struct IDecFloat16* self, struct IStatus* status, const char* from, FB_DEC16* to) -{ - self->vtable->fromString(self, status, from, to); -} - -CLOOP_EXTERN_C void IDecFloat34_toBcd(struct IDecFloat34* self, const FB_DEC34* from, int* sign, unsigned char* bcd, int* exp) -{ - self->vtable->toBcd(self, from, sign, bcd, exp); -} - -CLOOP_EXTERN_C void IDecFloat34_toString(struct IDecFloat34* self, struct IStatus* status, const FB_DEC34* from, unsigned bufferLength, char* buffer) -{ - self->vtable->toString(self, status, from, bufferLength, buffer); -} - -CLOOP_EXTERN_C void IDecFloat34_fromBcd(struct IDecFloat34* self, int sign, const unsigned char* bcd, int exp, FB_DEC34* to) -{ - self->vtable->fromBcd(self, sign, bcd, exp, to); -} - -CLOOP_EXTERN_C void IDecFloat34_fromString(struct IDecFloat34* self, struct IStatus* status, const char* from, FB_DEC34* to) -{ - self->vtable->fromString(self, status, from, to); -} - -CLOOP_EXTERN_C void IInt128_toString(struct IInt128* self, struct IStatus* status, const FB_I128* from, int scale, unsigned bufferLength, char* buffer) -{ - self->vtable->toString(self, status, from, scale, bufferLength, buffer); -} - -CLOOP_EXTERN_C void IInt128_fromString(struct IInt128* self, struct IStatus* status, int scale, const char* from, FB_I128* to) -{ - self->vtable->fromString(self, status, scale, from, to); -} - -CLOOP_EXTERN_C const char* IReplicatedField_getName(struct IReplicatedField* self) -{ - return self->vtable->getName(self); -} - -CLOOP_EXTERN_C unsigned IReplicatedField_getType(struct IReplicatedField* self) -{ - return self->vtable->getType(self); -} - -CLOOP_EXTERN_C int IReplicatedField_getSubType(struct IReplicatedField* self) -{ - return self->vtable->getSubType(self); -} - -CLOOP_EXTERN_C int IReplicatedField_getScale(struct IReplicatedField* self) -{ - return self->vtable->getScale(self); -} - -CLOOP_EXTERN_C unsigned IReplicatedField_getLength(struct IReplicatedField* self) -{ - return self->vtable->getLength(self); -} - -CLOOP_EXTERN_C unsigned IReplicatedField_getCharSet(struct IReplicatedField* self) -{ - return self->vtable->getCharSet(self); -} - -CLOOP_EXTERN_C const void* IReplicatedField_getData(struct IReplicatedField* self) -{ - return self->vtable->getData(self); -} - -CLOOP_EXTERN_C unsigned IReplicatedRecord_getCount(struct IReplicatedRecord* self) -{ - return self->vtable->getCount(self); -} - -CLOOP_EXTERN_C struct IReplicatedField* IReplicatedRecord_getField(struct IReplicatedRecord* self, unsigned index) -{ - return self->vtable->getField(self, index); -} - -CLOOP_EXTERN_C unsigned IReplicatedRecord_getRawLength(struct IReplicatedRecord* self) -{ - return self->vtable->getRawLength(self); -} - -CLOOP_EXTERN_C const unsigned char* IReplicatedRecord_getRawData(struct IReplicatedRecord* self) -{ - return self->vtable->getRawData(self); -} - -CLOOP_EXTERN_C void IReplicatedTransaction_dispose(struct IReplicatedTransaction* self) -{ - self->vtable->dispose(self); -} - -CLOOP_EXTERN_C void IReplicatedTransaction_prepare(struct IReplicatedTransaction* self, struct IStatus* status) -{ - self->vtable->prepare(self, status); -} - -CLOOP_EXTERN_C void IReplicatedTransaction_commit(struct IReplicatedTransaction* self, struct IStatus* status) -{ - self->vtable->commit(self, status); -} - -CLOOP_EXTERN_C void IReplicatedTransaction_rollback(struct IReplicatedTransaction* self, struct IStatus* status) -{ - self->vtable->rollback(self, status); -} - -CLOOP_EXTERN_C void IReplicatedTransaction_startSavepoint(struct IReplicatedTransaction* self, struct IStatus* status) -{ - self->vtable->startSavepoint(self, status); -} - -CLOOP_EXTERN_C void IReplicatedTransaction_releaseSavepoint(struct IReplicatedTransaction* self, struct IStatus* status) -{ - self->vtable->releaseSavepoint(self, status); -} - -CLOOP_EXTERN_C void IReplicatedTransaction_rollbackSavepoint(struct IReplicatedTransaction* self, struct IStatus* status) -{ - self->vtable->rollbackSavepoint(self, status); -} - -CLOOP_EXTERN_C void IReplicatedTransaction_insertRecord(struct IReplicatedTransaction* self, struct IStatus* status, const char* name, struct IReplicatedRecord* record) -{ - self->vtable->insertRecord(self, status, name, record); -} - -CLOOP_EXTERN_C void IReplicatedTransaction_updateRecord(struct IReplicatedTransaction* self, struct IStatus* status, const char* name, struct IReplicatedRecord* orgRecord, struct IReplicatedRecord* newRecord) -{ - self->vtable->updateRecord(self, status, name, orgRecord, newRecord); -} - -CLOOP_EXTERN_C void IReplicatedTransaction_deleteRecord(struct IReplicatedTransaction* self, struct IStatus* status, const char* name, struct IReplicatedRecord* record) -{ - self->vtable->deleteRecord(self, status, name, record); -} - -CLOOP_EXTERN_C void IReplicatedTransaction_executeSql(struct IReplicatedTransaction* self, struct IStatus* status, const char* sql) -{ - self->vtable->executeSql(self, status, sql); -} - -CLOOP_EXTERN_C void IReplicatedTransaction_executeSqlIntl(struct IReplicatedTransaction* self, struct IStatus* status, unsigned charset, const char* sql) -{ - self->vtable->executeSqlIntl(self, status, charset, sql); -} - -CLOOP_EXTERN_C void IReplicatedSession_addRef(struct IReplicatedSession* self) -{ - self->vtable->addRef(self); -} - -CLOOP_EXTERN_C int IReplicatedSession_release(struct IReplicatedSession* self) -{ - return self->vtable->release(self); -} - -CLOOP_EXTERN_C void IReplicatedSession_setOwner(struct IReplicatedSession* self, struct IReferenceCounted* r) -{ - self->vtable->setOwner(self, r); -} - -CLOOP_EXTERN_C struct IReferenceCounted* IReplicatedSession_getOwner(struct IReplicatedSession* self) -{ - return self->vtable->getOwner(self); -} - -CLOOP_EXTERN_C FB_BOOLEAN IReplicatedSession_init(struct IReplicatedSession* self, struct IStatus* status, struct IAttachment* attachment) -{ - return self->vtable->init(self, status, attachment); -} - -CLOOP_EXTERN_C struct IReplicatedTransaction* IReplicatedSession_startTransaction(struct IReplicatedSession* self, struct IStatus* status, struct ITransaction* transaction, ISC_INT64 number) -{ - return self->vtable->startTransaction(self, status, transaction, number); -} - -CLOOP_EXTERN_C void IReplicatedSession_cleanupTransaction(struct IReplicatedSession* self, struct IStatus* status, ISC_INT64 number) -{ - self->vtable->cleanupTransaction(self, status, number); -} - -CLOOP_EXTERN_C void IReplicatedSession_setSequence(struct IReplicatedSession* self, struct IStatus* status, const char* name, ISC_INT64 value) -{ - self->vtable->setSequence(self, status, name, value); -} - -CLOOP_EXTERN_C void IProfilerPlugin_addRef(struct IProfilerPlugin* self) -{ - self->vtable->addRef(self); -} - -CLOOP_EXTERN_C int IProfilerPlugin_release(struct IProfilerPlugin* self) -{ - return self->vtable->release(self); -} - -CLOOP_EXTERN_C void IProfilerPlugin_setOwner(struct IProfilerPlugin* self, struct IReferenceCounted* r) -{ - self->vtable->setOwner(self, r); -} - -CLOOP_EXTERN_C struct IReferenceCounted* IProfilerPlugin_getOwner(struct IProfilerPlugin* self) -{ - return self->vtable->getOwner(self); -} - -CLOOP_EXTERN_C void IProfilerPlugin_init(struct IProfilerPlugin* self, struct IStatus* status, struct IAttachment* attachment, ISC_UINT64 ticksFrequency) -{ - self->vtable->init(self, status, attachment, ticksFrequency); -} - -CLOOP_EXTERN_C struct IProfilerSession* IProfilerPlugin_startSession(struct IProfilerPlugin* self, struct IStatus* status, const char* description, const char* options, ISC_TIMESTAMP_TZ timestamp) -{ - return self->vtable->startSession(self, status, description, options, timestamp); -} - -CLOOP_EXTERN_C void IProfilerPlugin_flush(struct IProfilerPlugin* self, struct IStatus* status) -{ - self->vtable->flush(self, status); -} - -CLOOP_EXTERN_C void IProfilerSession_dispose(struct IProfilerSession* self) -{ - self->vtable->dispose(self); -} - -CLOOP_EXTERN_C ISC_INT64 IProfilerSession_getId(struct IProfilerSession* self) -{ - return self->vtable->getId(self); -} - -CLOOP_EXTERN_C unsigned IProfilerSession_getFlags(struct IProfilerSession* self) -{ - return self->vtable->getFlags(self); -} - -CLOOP_EXTERN_C void IProfilerSession_cancel(struct IProfilerSession* self, struct IStatus* status) -{ - self->vtable->cancel(self, status); -} - -CLOOP_EXTERN_C void IProfilerSession_finish(struct IProfilerSession* self, struct IStatus* status, ISC_TIMESTAMP_TZ timestamp) -{ - self->vtable->finish(self, status, timestamp); -} - -CLOOP_EXTERN_C void IProfilerSession_defineStatement(struct IProfilerSession* self, struct IStatus* status, ISC_INT64 statementId, ISC_INT64 parentStatementId, const char* type, const char* packageName, const char* routineName, const char* sqlText) -{ - self->vtable->defineStatement(self, status, statementId, parentStatementId, type, packageName, routineName, sqlText); -} - -CLOOP_EXTERN_C void IProfilerSession_defineCursor(struct IProfilerSession* self, ISC_INT64 statementId, unsigned cursorId, const char* name, unsigned line, unsigned column) -{ - self->vtable->defineCursor(self, statementId, cursorId, name, line, column); -} - -CLOOP_EXTERN_C void IProfilerSession_defineRecordSource(struct IProfilerSession* self, ISC_INT64 statementId, unsigned cursorId, unsigned recSourceId, unsigned level, const char* accessPath, unsigned parentRecSourceId) -{ - self->vtable->defineRecordSource(self, statementId, cursorId, recSourceId, level, accessPath, parentRecSourceId); -} - -CLOOP_EXTERN_C void IProfilerSession_onRequestStart(struct IProfilerSession* self, struct IStatus* status, ISC_INT64 statementId, ISC_INT64 requestId, ISC_INT64 callerStatementId, ISC_INT64 callerRequestId, ISC_TIMESTAMP_TZ timestamp) -{ - self->vtable->onRequestStart(self, status, statementId, requestId, callerStatementId, callerRequestId, timestamp); -} - -CLOOP_EXTERN_C void IProfilerSession_onRequestFinish(struct IProfilerSession* self, struct IStatus* status, ISC_INT64 statementId, ISC_INT64 requestId, ISC_TIMESTAMP_TZ timestamp, struct IProfilerStats* stats) -{ - self->vtable->onRequestFinish(self, status, statementId, requestId, timestamp, stats); -} - -CLOOP_EXTERN_C void IProfilerSession_beforePsqlLineColumn(struct IProfilerSession* self, ISC_INT64 statementId, ISC_INT64 requestId, unsigned line, unsigned column) -{ - self->vtable->beforePsqlLineColumn(self, statementId, requestId, line, column); -} - -CLOOP_EXTERN_C void IProfilerSession_afterPsqlLineColumn(struct IProfilerSession* self, ISC_INT64 statementId, ISC_INT64 requestId, unsigned line, unsigned column, struct IProfilerStats* stats) -{ - self->vtable->afterPsqlLineColumn(self, statementId, requestId, line, column, stats); -} - -CLOOP_EXTERN_C void IProfilerSession_beforeRecordSourceOpen(struct IProfilerSession* self, ISC_INT64 statementId, ISC_INT64 requestId, unsigned cursorId, unsigned recSourceId) -{ - self->vtable->beforeRecordSourceOpen(self, statementId, requestId, cursorId, recSourceId); -} - -CLOOP_EXTERN_C void IProfilerSession_afterRecordSourceOpen(struct IProfilerSession* self, ISC_INT64 statementId, ISC_INT64 requestId, unsigned cursorId, unsigned recSourceId, struct IProfilerStats* stats) -{ - self->vtable->afterRecordSourceOpen(self, statementId, requestId, cursorId, recSourceId, stats); -} - -CLOOP_EXTERN_C void IProfilerSession_beforeRecordSourceGetRecord(struct IProfilerSession* self, ISC_INT64 statementId, ISC_INT64 requestId, unsigned cursorId, unsigned recSourceId) -{ - self->vtable->beforeRecordSourceGetRecord(self, statementId, requestId, cursorId, recSourceId); -} - -CLOOP_EXTERN_C void IProfilerSession_afterRecordSourceGetRecord(struct IProfilerSession* self, ISC_INT64 statementId, ISC_INT64 requestId, unsigned cursorId, unsigned recSourceId, struct IProfilerStats* stats) -{ - self->vtable->afterRecordSourceGetRecord(self, statementId, requestId, cursorId, recSourceId, stats); -} - -CLOOP_EXTERN_C ISC_UINT64 IProfilerStats_getElapsedTicks(struct IProfilerStats* self) -{ - return self->vtable->getElapsedTicks(self); -} - diff --git a/src/include/gen/fb_c_api.h b/src/include/gen/fb_c_api.h deleted file mode 100644 index 4ff3fd3967..0000000000 --- a/src/include/gen/fb_c_api.h +++ /dev/null @@ -1,3351 +0,0 @@ -/* - * PROGRAM: Firebird interface. - * MODULE: fb_c_api.h - * DESCRIPTION: C API file. - * - * The contents of this file are subject to the Initial - * Developer's Public License Version 1.0 (the "License"); - * you may not use this file except in compliance with the - * License. You may obtain a copy of the License at - * http://www.ibphoenix.com/main.nfs?a=ibphoenix&page=ibp_idpl. - * - * Software distributed under the License is distributed AS IS, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. - * See the License for the specific language governing rights - * and limitations under the License. - * - * The Original Code was created by Alex Peshkov - * for the Firebird Open Source RDBMS project. - * - * Copyright (c) 2024 Alex Peshkov - * and all contributors signed below. - * - * All Rights Reserved. - * Contributor(s): ______________________________________. - * - * - */ - -#include - -struct IMaster* ISC_EXPORT fb_get_master_interface(); - -/* This file was autogenerated by cloop - Cross Language Object Oriented Programming */ - -#ifndef FB_C_API_H -#define FB_C_API_H - -#include - -#ifndef CLOOP_EXTERN_C -#ifdef __cplusplus -#define CLOOP_EXTERN_C extern "C" -#else -#define CLOOP_EXTERN_C -#endif -#endif - - -struct IVersioned; -struct IReferenceCounted; -struct IDisposable; -struct IStatus; -struct IMaster; -struct IPluginBase; -struct IPluginSet; -struct IConfigEntry; -struct IConfig; -struct IFirebirdConf; -struct IPluginConfig; -struct IPluginFactory; -struct IPluginModule; -struct IPluginManager; -struct ICryptKey; -struct IConfigManager; -struct IEventCallback; -struct IBlob; -struct ITransaction; -struct IMessageMetadata; -struct IMetadataBuilder; -struct IResultSet; -struct IStatement; -struct IBatch; -struct IBatchCompletionState; -struct IReplicator; -struct IRequest; -struct IEvents; -struct IAttachment; -struct IService; -struct IProvider; -struct IDtcStart; -struct IDtc; -struct IAuth; -struct IWriter; -struct IServerBlock; -struct IClientBlock; -struct IServer; -struct IClient; -struct IUserField; -struct ICharUserField; -struct IIntUserField; -struct IUser; -struct IListUsers; -struct ILogonInfo; -struct IManagement; -struct IAuthBlock; -struct IWireCryptPlugin; -struct ICryptKeyCallback; -struct IKeyHolderPlugin; -struct IDbCryptInfo; -struct IDbCryptPlugin; -struct IExternalContext; -struct IExternalResultSet; -struct IExternalFunction; -struct IExternalProcedure; -struct IExternalTrigger; -struct IRoutineMetadata; -struct IExternalEngine; -struct ITimer; -struct ITimerControl; -struct IVersionCallback; -struct IUtil; -struct IOffsetsCallback; -struct IXpbBuilder; -struct ITraceConnection; -struct ITraceDatabaseConnection; -struct ITraceTransaction; -struct ITraceParams; -struct ITraceStatement; -struct ITraceSQLStatement; -struct ITraceBLRStatement; -struct ITraceDYNRequest; -struct ITraceContextVariable; -struct ITraceProcedure; -struct ITraceFunction; -struct ITraceTrigger; -struct ITraceServiceConnection; -struct ITraceStatusVector; -struct ITraceSweepInfo; -struct ITraceLogWriter; -struct ITraceInitInfo; -struct ITracePlugin; -struct ITraceFactory; -struct IUdrFunctionFactory; -struct IUdrProcedureFactory; -struct IUdrTriggerFactory; -struct IUdrPlugin; -struct IDecFloat16; -struct IDecFloat34; -struct IInt128; -struct IReplicatedField; -struct IReplicatedRecord; -struct IReplicatedTransaction; -struct IReplicatedSession; -struct IProfilerPlugin; -struct IProfilerSession; -struct IProfilerStats; - - -#define IVersioned_VERSION 1 - -struct IVersioned; - -struct IVersionedVTable -{ - void* cloopDummy[1]; - uintptr_t version; -}; - -struct IVersioned -{ - void* cloopDummy[1]; - struct IVersionedVTable* vtable; -}; - - -#define IReferenceCounted_VERSION 2 - -struct IReferenceCounted; - -struct IReferenceCountedVTable -{ - void* cloopDummy[1]; - uintptr_t version; - void (*addRef)(struct IReferenceCounted* self); - int (*release)(struct IReferenceCounted* self); -}; - -struct IReferenceCounted -{ - void* cloopDummy[1]; - struct IReferenceCountedVTable* vtable; -}; - -CLOOP_EXTERN_C void IReferenceCounted_addRef(struct IReferenceCounted* self); -CLOOP_EXTERN_C int IReferenceCounted_release(struct IReferenceCounted* self); - -#define IDisposable_VERSION 2 - -struct IDisposable; - -struct IDisposableVTable -{ - void* cloopDummy[1]; - uintptr_t version; - void (*dispose)(struct IDisposable* self); -}; - -struct IDisposable -{ - void* cloopDummy[1]; - struct IDisposableVTable* vtable; -}; - -CLOOP_EXTERN_C void IDisposable_dispose(struct IDisposable* self); - -#define IStatus_VERSION 3 - -#define IStatus_STATE_WARNINGS ((unsigned) (0x1)) -#define IStatus_STATE_ERRORS ((unsigned) (0x2)) -#define IStatus_RESULT_ERROR ((int) (-1)) -#define IStatus_RESULT_OK ((int) (0)) -#define IStatus_RESULT_NO_DATA ((int) (1)) -#define IStatus_RESULT_SEGMENT ((int) (2)) - -struct IStatus; - -struct IStatusVTable -{ - void* cloopDummy[1]; - uintptr_t version; - void (*dispose)(struct IStatus* self); - void (*init)(struct IStatus* self); - unsigned (*getState)(const struct IStatus* self); - void (*setErrors2)(struct IStatus* self, unsigned length, const intptr_t* value); - void (*setWarnings2)(struct IStatus* self, unsigned length, const intptr_t* value); - void (*setErrors)(struct IStatus* self, const intptr_t* value); - void (*setWarnings)(struct IStatus* self, const intptr_t* value); - const intptr_t* (*getErrors)(const struct IStatus* self); - const intptr_t* (*getWarnings)(const struct IStatus* self); - struct IStatus* (*clone)(const struct IStatus* self); -}; - -struct IStatus -{ - void* cloopDummy[1]; - struct IStatusVTable* vtable; -}; - -CLOOP_EXTERN_C void IStatus_dispose(struct IStatus* self); -CLOOP_EXTERN_C void IStatus_init(struct IStatus* self); -CLOOP_EXTERN_C unsigned IStatus_getState(const struct IStatus* self); -CLOOP_EXTERN_C void IStatus_setErrors2(struct IStatus* self, unsigned length, const intptr_t* value); -CLOOP_EXTERN_C void IStatus_setWarnings2(struct IStatus* self, unsigned length, const intptr_t* value); -CLOOP_EXTERN_C void IStatus_setErrors(struct IStatus* self, const intptr_t* value); -CLOOP_EXTERN_C void IStatus_setWarnings(struct IStatus* self, const intptr_t* value); -CLOOP_EXTERN_C const intptr_t* IStatus_getErrors(const struct IStatus* self); -CLOOP_EXTERN_C const intptr_t* IStatus_getWarnings(const struct IStatus* self); -CLOOP_EXTERN_C struct IStatus* IStatus_clone(const struct IStatus* self); - -#define IMaster_VERSION 2 - -struct IMaster; - -struct IMasterVTable -{ - void* cloopDummy[1]; - uintptr_t version; - struct IStatus* (*getStatus)(struct IMaster* self); - struct IProvider* (*getDispatcher)(struct IMaster* self); - struct IPluginManager* (*getPluginManager)(struct IMaster* self); - struct ITimerControl* (*getTimerControl)(struct IMaster* self); - struct IDtc* (*getDtc)(struct IMaster* self); - struct IAttachment* (*registerAttachment)(struct IMaster* self, struct IProvider* provider, struct IAttachment* attachment); - struct ITransaction* (*registerTransaction)(struct IMaster* self, struct IAttachment* attachment, struct ITransaction* transaction); - struct IMetadataBuilder* (*getMetadataBuilder)(struct IMaster* self, struct IStatus* status, unsigned fieldCount); - int (*serverMode)(struct IMaster* self, int mode); - struct IUtil* (*getUtilInterface)(struct IMaster* self); - struct IConfigManager* (*getConfigManager)(struct IMaster* self); - FB_BOOLEAN (*getProcessExiting)(struct IMaster* self); -}; - -struct IMaster -{ - void* cloopDummy[1]; - struct IMasterVTable* vtable; -}; - -CLOOP_EXTERN_C struct IStatus* IMaster_getStatus(struct IMaster* self); -CLOOP_EXTERN_C struct IProvider* IMaster_getDispatcher(struct IMaster* self); -CLOOP_EXTERN_C struct IPluginManager* IMaster_getPluginManager(struct IMaster* self); -CLOOP_EXTERN_C struct ITimerControl* IMaster_getTimerControl(struct IMaster* self); -CLOOP_EXTERN_C struct IDtc* IMaster_getDtc(struct IMaster* self); -CLOOP_EXTERN_C struct IAttachment* IMaster_registerAttachment(struct IMaster* self, struct IProvider* provider, struct IAttachment* attachment); -CLOOP_EXTERN_C struct ITransaction* IMaster_registerTransaction(struct IMaster* self, struct IAttachment* attachment, struct ITransaction* transaction); -CLOOP_EXTERN_C struct IMetadataBuilder* IMaster_getMetadataBuilder(struct IMaster* self, struct IStatus* status, unsigned fieldCount); -CLOOP_EXTERN_C int IMaster_serverMode(struct IMaster* self, int mode); -CLOOP_EXTERN_C struct IUtil* IMaster_getUtilInterface(struct IMaster* self); -CLOOP_EXTERN_C struct IConfigManager* IMaster_getConfigManager(struct IMaster* self); -CLOOP_EXTERN_C FB_BOOLEAN IMaster_getProcessExiting(struct IMaster* self); - -#define IPluginBase_VERSION 3 - -struct IPluginBase; - -struct IPluginBaseVTable -{ - void* cloopDummy[1]; - uintptr_t version; - void (*addRef)(struct IPluginBase* self); - int (*release)(struct IPluginBase* self); - void (*setOwner)(struct IPluginBase* self, struct IReferenceCounted* r); - struct IReferenceCounted* (*getOwner)(struct IPluginBase* self); -}; - -struct IPluginBase -{ - void* cloopDummy[1]; - struct IPluginBaseVTable* vtable; -}; - -CLOOP_EXTERN_C void IPluginBase_addRef(struct IPluginBase* self); -CLOOP_EXTERN_C int IPluginBase_release(struct IPluginBase* self); -CLOOP_EXTERN_C void IPluginBase_setOwner(struct IPluginBase* self, struct IReferenceCounted* r); -CLOOP_EXTERN_C struct IReferenceCounted* IPluginBase_getOwner(struct IPluginBase* self); - -#define IPluginSet_VERSION 3 - -struct IPluginSet; - -struct IPluginSetVTable -{ - void* cloopDummy[1]; - uintptr_t version; - void (*addRef)(struct IPluginSet* self); - int (*release)(struct IPluginSet* self); - const char* (*getName)(const struct IPluginSet* self); - const char* (*getModuleName)(const struct IPluginSet* self); - struct IPluginBase* (*getPlugin)(struct IPluginSet* self, struct IStatus* status); - void (*next)(struct IPluginSet* self, struct IStatus* status); - void (*set)(struct IPluginSet* self, struct IStatus* status, const char* s); -}; - -struct IPluginSet -{ - void* cloopDummy[1]; - struct IPluginSetVTable* vtable; -}; - -CLOOP_EXTERN_C void IPluginSet_addRef(struct IPluginSet* self); -CLOOP_EXTERN_C int IPluginSet_release(struct IPluginSet* self); -CLOOP_EXTERN_C const char* IPluginSet_getName(const struct IPluginSet* self); -CLOOP_EXTERN_C const char* IPluginSet_getModuleName(const struct IPluginSet* self); -CLOOP_EXTERN_C struct IPluginBase* IPluginSet_getPlugin(struct IPluginSet* self, struct IStatus* status); -CLOOP_EXTERN_C void IPluginSet_next(struct IPluginSet* self, struct IStatus* status); -CLOOP_EXTERN_C void IPluginSet_set(struct IPluginSet* self, struct IStatus* status, const char* s); - -#define IConfigEntry_VERSION 3 - -struct IConfigEntry; - -struct IConfigEntryVTable -{ - void* cloopDummy[1]; - uintptr_t version; - void (*addRef)(struct IConfigEntry* self); - int (*release)(struct IConfigEntry* self); - const char* (*getName)(struct IConfigEntry* self); - const char* (*getValue)(struct IConfigEntry* self); - ISC_INT64 (*getIntValue)(struct IConfigEntry* self); - FB_BOOLEAN (*getBoolValue)(struct IConfigEntry* self); - struct IConfig* (*getSubConfig)(struct IConfigEntry* self, struct IStatus* status); -}; - -struct IConfigEntry -{ - void* cloopDummy[1]; - struct IConfigEntryVTable* vtable; -}; - -CLOOP_EXTERN_C void IConfigEntry_addRef(struct IConfigEntry* self); -CLOOP_EXTERN_C int IConfigEntry_release(struct IConfigEntry* self); -CLOOP_EXTERN_C const char* IConfigEntry_getName(struct IConfigEntry* self); -CLOOP_EXTERN_C const char* IConfigEntry_getValue(struct IConfigEntry* self); -CLOOP_EXTERN_C ISC_INT64 IConfigEntry_getIntValue(struct IConfigEntry* self); -CLOOP_EXTERN_C FB_BOOLEAN IConfigEntry_getBoolValue(struct IConfigEntry* self); -CLOOP_EXTERN_C struct IConfig* IConfigEntry_getSubConfig(struct IConfigEntry* self, struct IStatus* status); - -#define IConfig_VERSION 3 - -struct IConfig; - -struct IConfigVTable -{ - void* cloopDummy[1]; - uintptr_t version; - void (*addRef)(struct IConfig* self); - int (*release)(struct IConfig* self); - struct IConfigEntry* (*find)(struct IConfig* self, struct IStatus* status, const char* name); - struct IConfigEntry* (*findValue)(struct IConfig* self, struct IStatus* status, const char* name, const char* value); - struct IConfigEntry* (*findPos)(struct IConfig* self, struct IStatus* status, const char* name, unsigned pos); -}; - -struct IConfig -{ - void* cloopDummy[1]; - struct IConfigVTable* vtable; -}; - -CLOOP_EXTERN_C void IConfig_addRef(struct IConfig* self); -CLOOP_EXTERN_C int IConfig_release(struct IConfig* self); -CLOOP_EXTERN_C struct IConfigEntry* IConfig_find(struct IConfig* self, struct IStatus* status, const char* name); -CLOOP_EXTERN_C struct IConfigEntry* IConfig_findValue(struct IConfig* self, struct IStatus* status, const char* name, const char* value); -CLOOP_EXTERN_C struct IConfigEntry* IConfig_findPos(struct IConfig* self, struct IStatus* status, const char* name, unsigned pos); - -#define IFirebirdConf_VERSION 4 - -struct IFirebirdConf; - -struct IFirebirdConfVTable -{ - void* cloopDummy[1]; - uintptr_t version; - void (*addRef)(struct IFirebirdConf* self); - int (*release)(struct IFirebirdConf* self); - unsigned (*getKey)(struct IFirebirdConf* self, const char* name); - ISC_INT64 (*asInteger)(struct IFirebirdConf* self, unsigned key); - const char* (*asString)(struct IFirebirdConf* self, unsigned key); - FB_BOOLEAN (*asBoolean)(struct IFirebirdConf* self, unsigned key); - unsigned (*getVersion)(struct IFirebirdConf* self, struct IStatus* status); -}; - -struct IFirebirdConf -{ - void* cloopDummy[1]; - struct IFirebirdConfVTable* vtable; -}; - -CLOOP_EXTERN_C void IFirebirdConf_addRef(struct IFirebirdConf* self); -CLOOP_EXTERN_C int IFirebirdConf_release(struct IFirebirdConf* self); -CLOOP_EXTERN_C unsigned IFirebirdConf_getKey(struct IFirebirdConf* self, const char* name); -CLOOP_EXTERN_C ISC_INT64 IFirebirdConf_asInteger(struct IFirebirdConf* self, unsigned key); -CLOOP_EXTERN_C const char* IFirebirdConf_asString(struct IFirebirdConf* self, unsigned key); -CLOOP_EXTERN_C FB_BOOLEAN IFirebirdConf_asBoolean(struct IFirebirdConf* self, unsigned key); -CLOOP_EXTERN_C unsigned IFirebirdConf_getVersion(struct IFirebirdConf* self, struct IStatus* status); - -#define IPluginConfig_VERSION 3 - -struct IPluginConfig; - -struct IPluginConfigVTable -{ - void* cloopDummy[1]; - uintptr_t version; - void (*addRef)(struct IPluginConfig* self); - int (*release)(struct IPluginConfig* self); - const char* (*getConfigFileName)(struct IPluginConfig* self); - struct IConfig* (*getDefaultConfig)(struct IPluginConfig* self, struct IStatus* status); - struct IFirebirdConf* (*getFirebirdConf)(struct IPluginConfig* self, struct IStatus* status); - void (*setReleaseDelay)(struct IPluginConfig* self, struct IStatus* status, ISC_UINT64 microSeconds); -}; - -struct IPluginConfig -{ - void* cloopDummy[1]; - struct IPluginConfigVTable* vtable; -}; - -CLOOP_EXTERN_C void IPluginConfig_addRef(struct IPluginConfig* self); -CLOOP_EXTERN_C int IPluginConfig_release(struct IPluginConfig* self); -CLOOP_EXTERN_C const char* IPluginConfig_getConfigFileName(struct IPluginConfig* self); -CLOOP_EXTERN_C struct IConfig* IPluginConfig_getDefaultConfig(struct IPluginConfig* self, struct IStatus* status); -CLOOP_EXTERN_C struct IFirebirdConf* IPluginConfig_getFirebirdConf(struct IPluginConfig* self, struct IStatus* status); -CLOOP_EXTERN_C void IPluginConfig_setReleaseDelay(struct IPluginConfig* self, struct IStatus* status, ISC_UINT64 microSeconds); - -#define IPluginFactory_VERSION 2 - -struct IPluginFactory; - -struct IPluginFactoryVTable -{ - void* cloopDummy[1]; - uintptr_t version; - struct IPluginBase* (*createPlugin)(struct IPluginFactory* self, struct IStatus* status, struct IPluginConfig* factoryParameter); -}; - -struct IPluginFactory -{ - void* cloopDummy[1]; - struct IPluginFactoryVTable* vtable; -}; - -CLOOP_EXTERN_C struct IPluginBase* IPluginFactory_createPlugin(struct IPluginFactory* self, struct IStatus* status, struct IPluginConfig* factoryParameter); - -#define IPluginModule_VERSION 3 - -struct IPluginModule; - -struct IPluginModuleVTable -{ - void* cloopDummy[1]; - uintptr_t version; - void (*doClean)(struct IPluginModule* self); - void (*threadDetach)(struct IPluginModule* self); -}; - -struct IPluginModule -{ - void* cloopDummy[1]; - struct IPluginModuleVTable* vtable; -}; - -CLOOP_EXTERN_C void IPluginModule_doClean(struct IPluginModule* self); -CLOOP_EXTERN_C void IPluginModule_threadDetach(struct IPluginModule* self); - -#define IPluginManager_VERSION 2 - -#define IPluginManager_TYPE_PROVIDER ((unsigned) (1)) -#define IPluginManager_TYPE_FIRST_NON_LIB ((unsigned) (2)) -#define IPluginManager_TYPE_AUTH_SERVER ((unsigned) (3)) -#define IPluginManager_TYPE_AUTH_CLIENT ((unsigned) (4)) -#define IPluginManager_TYPE_AUTH_USER_MANAGEMENT ((unsigned) (5)) -#define IPluginManager_TYPE_EXTERNAL_ENGINE ((unsigned) (6)) -#define IPluginManager_TYPE_TRACE ((unsigned) (7)) -#define IPluginManager_TYPE_WIRE_CRYPT ((unsigned) (8)) -#define IPluginManager_TYPE_DB_CRYPT ((unsigned) (9)) -#define IPluginManager_TYPE_KEY_HOLDER ((unsigned) (10)) -#define IPluginManager_TYPE_REPLICATOR ((unsigned) (11)) -#define IPluginManager_TYPE_PROFILER ((unsigned) (12)) -#define IPluginManager_TYPE_COUNT ((unsigned) (13)) - -struct IPluginManager; - -struct IPluginManagerVTable -{ - void* cloopDummy[1]; - uintptr_t version; - void (*registerPluginFactory)(struct IPluginManager* self, unsigned pluginType, const char* defaultName, struct IPluginFactory* factory); - void (*registerModule)(struct IPluginManager* self, struct IPluginModule* cleanup); - void (*unregisterModule)(struct IPluginManager* self, struct IPluginModule* cleanup); - struct IPluginSet* (*getPlugins)(struct IPluginManager* self, struct IStatus* status, unsigned pluginType, const char* namesList, struct IFirebirdConf* firebirdConf); - struct IConfig* (*getConfig)(struct IPluginManager* self, struct IStatus* status, const char* filename); - void (*releasePlugin)(struct IPluginManager* self, struct IPluginBase* plugin); -}; - -struct IPluginManager -{ - void* cloopDummy[1]; - struct IPluginManagerVTable* vtable; -}; - -CLOOP_EXTERN_C void IPluginManager_registerPluginFactory(struct IPluginManager* self, unsigned pluginType, const char* defaultName, struct IPluginFactory* factory); -CLOOP_EXTERN_C void IPluginManager_registerModule(struct IPluginManager* self, struct IPluginModule* cleanup); -CLOOP_EXTERN_C void IPluginManager_unregisterModule(struct IPluginManager* self, struct IPluginModule* cleanup); -CLOOP_EXTERN_C struct IPluginSet* IPluginManager_getPlugins(struct IPluginManager* self, struct IStatus* status, unsigned pluginType, const char* namesList, struct IFirebirdConf* firebirdConf); -CLOOP_EXTERN_C struct IConfig* IPluginManager_getConfig(struct IPluginManager* self, struct IStatus* status, const char* filename); -CLOOP_EXTERN_C void IPluginManager_releasePlugin(struct IPluginManager* self, struct IPluginBase* plugin); - -#define ICryptKey_VERSION 2 - -struct ICryptKey; - -struct ICryptKeyVTable -{ - void* cloopDummy[1]; - uintptr_t version; - void (*setSymmetric)(struct ICryptKey* self, struct IStatus* status, const char* type, unsigned keyLength, const void* key); - void (*setAsymmetric)(struct ICryptKey* self, struct IStatus* status, const char* type, unsigned encryptKeyLength, const void* encryptKey, unsigned decryptKeyLength, const void* decryptKey); - const void* (*getEncryptKey)(struct ICryptKey* self, unsigned* length); - const void* (*getDecryptKey)(struct ICryptKey* self, unsigned* length); -}; - -struct ICryptKey -{ - void* cloopDummy[1]; - struct ICryptKeyVTable* vtable; -}; - -CLOOP_EXTERN_C void ICryptKey_setSymmetric(struct ICryptKey* self, struct IStatus* status, const char* type, unsigned keyLength, const void* key); -CLOOP_EXTERN_C void ICryptKey_setAsymmetric(struct ICryptKey* self, struct IStatus* status, const char* type, unsigned encryptKeyLength, const void* encryptKey, unsigned decryptKeyLength, const void* decryptKey); -CLOOP_EXTERN_C const void* ICryptKey_getEncryptKey(struct ICryptKey* self, unsigned* length); -CLOOP_EXTERN_C const void* ICryptKey_getDecryptKey(struct ICryptKey* self, unsigned* length); - -#define IConfigManager_VERSION 3 - -#define IConfigManager_DIR_BIN ((unsigned) (0)) -#define IConfigManager_DIR_SBIN ((unsigned) (1)) -#define IConfigManager_DIR_CONF ((unsigned) (2)) -#define IConfigManager_DIR_LIB ((unsigned) (3)) -#define IConfigManager_DIR_INC ((unsigned) (4)) -#define IConfigManager_DIR_DOC ((unsigned) (5)) -#define IConfigManager_DIR_UDF ((unsigned) (6)) -#define IConfigManager_DIR_SAMPLE ((unsigned) (7)) -#define IConfigManager_DIR_SAMPLEDB ((unsigned) (8)) -#define IConfigManager_DIR_HELP ((unsigned) (9)) -#define IConfigManager_DIR_INTL ((unsigned) (10)) -#define IConfigManager_DIR_MISC ((unsigned) (11)) -#define IConfigManager_DIR_SECDB ((unsigned) (12)) -#define IConfigManager_DIR_MSG ((unsigned) (13)) -#define IConfigManager_DIR_LOG ((unsigned) (14)) -#define IConfigManager_DIR_GUARD ((unsigned) (15)) -#define IConfigManager_DIR_PLUGINS ((unsigned) (16)) -#define IConfigManager_DIR_TZDATA ((unsigned) (17)) -#define IConfigManager_DIR_COUNT ((unsigned) (18)) - -struct IConfigManager; - -struct IConfigManagerVTable -{ - void* cloopDummy[1]; - uintptr_t version; - const char* (*getDirectory)(struct IConfigManager* self, unsigned code); - struct IFirebirdConf* (*getFirebirdConf)(struct IConfigManager* self); - struct IFirebirdConf* (*getDatabaseConf)(struct IConfigManager* self, const char* dbName); - struct IConfig* (*getPluginConfig)(struct IConfigManager* self, const char* configuredPlugin); - const char* (*getInstallDirectory)(struct IConfigManager* self); - const char* (*getRootDirectory)(struct IConfigManager* self); - const char* (*getDefaultSecurityDb)(struct IConfigManager* self); -}; - -struct IConfigManager -{ - void* cloopDummy[1]; - struct IConfigManagerVTable* vtable; -}; - -CLOOP_EXTERN_C const char* IConfigManager_getDirectory(struct IConfigManager* self, unsigned code); -CLOOP_EXTERN_C struct IFirebirdConf* IConfigManager_getFirebirdConf(struct IConfigManager* self); -CLOOP_EXTERN_C struct IFirebirdConf* IConfigManager_getDatabaseConf(struct IConfigManager* self, const char* dbName); -CLOOP_EXTERN_C struct IConfig* IConfigManager_getPluginConfig(struct IConfigManager* self, const char* configuredPlugin); -CLOOP_EXTERN_C const char* IConfigManager_getInstallDirectory(struct IConfigManager* self); -CLOOP_EXTERN_C const char* IConfigManager_getRootDirectory(struct IConfigManager* self); -CLOOP_EXTERN_C const char* IConfigManager_getDefaultSecurityDb(struct IConfigManager* self); - -#define IEventCallback_VERSION 3 - -struct IEventCallback; - -struct IEventCallbackVTable -{ - void* cloopDummy[1]; - uintptr_t version; - void (*addRef)(struct IEventCallback* self); - int (*release)(struct IEventCallback* self); - void (*eventCallbackFunction)(struct IEventCallback* self, unsigned length, const unsigned char* events); -}; - -struct IEventCallback -{ - void* cloopDummy[1]; - struct IEventCallbackVTable* vtable; -}; - -CLOOP_EXTERN_C void IEventCallback_addRef(struct IEventCallback* self); -CLOOP_EXTERN_C int IEventCallback_release(struct IEventCallback* self); -CLOOP_EXTERN_C void IEventCallback_eventCallbackFunction(struct IEventCallback* self, unsigned length, const unsigned char* events); - -#define IBlob_VERSION 4 - -struct IBlob; - -struct IBlobVTable -{ - void* cloopDummy[1]; - uintptr_t version; - void (*addRef)(struct IBlob* self); - int (*release)(struct IBlob* self); - void (*getInfo)(struct IBlob* self, struct IStatus* status, unsigned itemsLength, const unsigned char* items, unsigned bufferLength, unsigned char* buffer); - int (*getSegment)(struct IBlob* self, struct IStatus* status, unsigned bufferLength, void* buffer, unsigned* segmentLength); - void (*putSegment)(struct IBlob* self, struct IStatus* status, unsigned length, const void* buffer); - void (*deprecatedCancel)(struct IBlob* self, struct IStatus* status); - void (*deprecatedClose)(struct IBlob* self, struct IStatus* status); - int (*seek)(struct IBlob* self, struct IStatus* status, int mode, int offset); - void (*cancel)(struct IBlob* self, struct IStatus* status); - void (*close)(struct IBlob* self, struct IStatus* status); -}; - -struct IBlob -{ - void* cloopDummy[1]; - struct IBlobVTable* vtable; -}; - -CLOOP_EXTERN_C void IBlob_addRef(struct IBlob* self); -CLOOP_EXTERN_C int IBlob_release(struct IBlob* self); -CLOOP_EXTERN_C void IBlob_getInfo(struct IBlob* self, struct IStatus* status, unsigned itemsLength, const unsigned char* items, unsigned bufferLength, unsigned char* buffer); -CLOOP_EXTERN_C int IBlob_getSegment(struct IBlob* self, struct IStatus* status, unsigned bufferLength, void* buffer, unsigned* segmentLength); -CLOOP_EXTERN_C void IBlob_putSegment(struct IBlob* self, struct IStatus* status, unsigned length, const void* buffer); -CLOOP_EXTERN_C void IBlob_deprecatedCancel(struct IBlob* self, struct IStatus* status); -CLOOP_EXTERN_C void IBlob_deprecatedClose(struct IBlob* self, struct IStatus* status); -CLOOP_EXTERN_C int IBlob_seek(struct IBlob* self, struct IStatus* status, int mode, int offset); -CLOOP_EXTERN_C void IBlob_cancel(struct IBlob* self, struct IStatus* status); -CLOOP_EXTERN_C void IBlob_close(struct IBlob* self, struct IStatus* status); - -#define ITransaction_VERSION 4 - -struct ITransaction; - -struct ITransactionVTable -{ - void* cloopDummy[1]; - uintptr_t version; - void (*addRef)(struct ITransaction* self); - int (*release)(struct ITransaction* self); - void (*getInfo)(struct ITransaction* self, struct IStatus* status, unsigned itemsLength, const unsigned char* items, unsigned bufferLength, unsigned char* buffer); - void (*prepare)(struct ITransaction* self, struct IStatus* status, unsigned msgLength, const unsigned char* message); - void (*deprecatedCommit)(struct ITransaction* self, struct IStatus* status); - void (*commitRetaining)(struct ITransaction* self, struct IStatus* status); - void (*deprecatedRollback)(struct ITransaction* self, struct IStatus* status); - void (*rollbackRetaining)(struct ITransaction* self, struct IStatus* status); - void (*deprecatedDisconnect)(struct ITransaction* self, struct IStatus* status); - struct ITransaction* (*join)(struct ITransaction* self, struct IStatus* status, struct ITransaction* transaction); - struct ITransaction* (*validate)(struct ITransaction* self, struct IStatus* status, struct IAttachment* attachment); - struct ITransaction* (*enterDtc)(struct ITransaction* self, struct IStatus* status); - void (*commit)(struct ITransaction* self, struct IStatus* status); - void (*rollback)(struct ITransaction* self, struct IStatus* status); - void (*disconnect)(struct ITransaction* self, struct IStatus* status); -}; - -struct ITransaction -{ - void* cloopDummy[1]; - struct ITransactionVTable* vtable; -}; - -CLOOP_EXTERN_C void ITransaction_addRef(struct ITransaction* self); -CLOOP_EXTERN_C int ITransaction_release(struct ITransaction* self); -CLOOP_EXTERN_C void ITransaction_getInfo(struct ITransaction* self, struct IStatus* status, unsigned itemsLength, const unsigned char* items, unsigned bufferLength, unsigned char* buffer); -CLOOP_EXTERN_C void ITransaction_prepare(struct ITransaction* self, struct IStatus* status, unsigned msgLength, const unsigned char* message); -CLOOP_EXTERN_C void ITransaction_deprecatedCommit(struct ITransaction* self, struct IStatus* status); -CLOOP_EXTERN_C void ITransaction_commitRetaining(struct ITransaction* self, struct IStatus* status); -CLOOP_EXTERN_C void ITransaction_deprecatedRollback(struct ITransaction* self, struct IStatus* status); -CLOOP_EXTERN_C void ITransaction_rollbackRetaining(struct ITransaction* self, struct IStatus* status); -CLOOP_EXTERN_C void ITransaction_deprecatedDisconnect(struct ITransaction* self, struct IStatus* status); -CLOOP_EXTERN_C struct ITransaction* ITransaction_join(struct ITransaction* self, struct IStatus* status, struct ITransaction* transaction); -CLOOP_EXTERN_C struct ITransaction* ITransaction_validate(struct ITransaction* self, struct IStatus* status, struct IAttachment* attachment); -CLOOP_EXTERN_C struct ITransaction* ITransaction_enterDtc(struct ITransaction* self, struct IStatus* status); -CLOOP_EXTERN_C void ITransaction_commit(struct ITransaction* self, struct IStatus* status); -CLOOP_EXTERN_C void ITransaction_rollback(struct ITransaction* self, struct IStatus* status); -CLOOP_EXTERN_C void ITransaction_disconnect(struct ITransaction* self, struct IStatus* status); - -#define IMessageMetadata_VERSION 4 - -struct IMessageMetadata; - -struct IMessageMetadataVTable -{ - void* cloopDummy[1]; - uintptr_t version; - void (*addRef)(struct IMessageMetadata* self); - int (*release)(struct IMessageMetadata* self); - unsigned (*getCount)(struct IMessageMetadata* self, struct IStatus* status); - const char* (*getField)(struct IMessageMetadata* self, struct IStatus* status, unsigned index); - const char* (*getRelation)(struct IMessageMetadata* self, struct IStatus* status, unsigned index); - const char* (*getOwner)(struct IMessageMetadata* self, struct IStatus* status, unsigned index); - const char* (*getAlias)(struct IMessageMetadata* self, struct IStatus* status, unsigned index); - unsigned (*getType)(struct IMessageMetadata* self, struct IStatus* status, unsigned index); - FB_BOOLEAN (*isNullable)(struct IMessageMetadata* self, struct IStatus* status, unsigned index); - int (*getSubType)(struct IMessageMetadata* self, struct IStatus* status, unsigned index); - unsigned (*getLength)(struct IMessageMetadata* self, struct IStatus* status, unsigned index); - int (*getScale)(struct IMessageMetadata* self, struct IStatus* status, unsigned index); - unsigned (*getCharSet)(struct IMessageMetadata* self, struct IStatus* status, unsigned index); - unsigned (*getOffset)(struct IMessageMetadata* self, struct IStatus* status, unsigned index); - unsigned (*getNullOffset)(struct IMessageMetadata* self, struct IStatus* status, unsigned index); - struct IMetadataBuilder* (*getBuilder)(struct IMessageMetadata* self, struct IStatus* status); - unsigned (*getMessageLength)(struct IMessageMetadata* self, struct IStatus* status); - unsigned (*getAlignment)(struct IMessageMetadata* self, struct IStatus* status); - unsigned (*getAlignedLength)(struct IMessageMetadata* self, struct IStatus* status); -}; - -struct IMessageMetadata -{ - void* cloopDummy[1]; - struct IMessageMetadataVTable* vtable; -}; - -CLOOP_EXTERN_C void IMessageMetadata_addRef(struct IMessageMetadata* self); -CLOOP_EXTERN_C int IMessageMetadata_release(struct IMessageMetadata* self); -CLOOP_EXTERN_C unsigned IMessageMetadata_getCount(struct IMessageMetadata* self, struct IStatus* status); -CLOOP_EXTERN_C const char* IMessageMetadata_getField(struct IMessageMetadata* self, struct IStatus* status, unsigned index); -CLOOP_EXTERN_C const char* IMessageMetadata_getRelation(struct IMessageMetadata* self, struct IStatus* status, unsigned index); -CLOOP_EXTERN_C const char* IMessageMetadata_getOwner(struct IMessageMetadata* self, struct IStatus* status, unsigned index); -CLOOP_EXTERN_C const char* IMessageMetadata_getAlias(struct IMessageMetadata* self, struct IStatus* status, unsigned index); -CLOOP_EXTERN_C unsigned IMessageMetadata_getType(struct IMessageMetadata* self, struct IStatus* status, unsigned index); -CLOOP_EXTERN_C FB_BOOLEAN IMessageMetadata_isNullable(struct IMessageMetadata* self, struct IStatus* status, unsigned index); -CLOOP_EXTERN_C int IMessageMetadata_getSubType(struct IMessageMetadata* self, struct IStatus* status, unsigned index); -CLOOP_EXTERN_C unsigned IMessageMetadata_getLength(struct IMessageMetadata* self, struct IStatus* status, unsigned index); -CLOOP_EXTERN_C int IMessageMetadata_getScale(struct IMessageMetadata* self, struct IStatus* status, unsigned index); -CLOOP_EXTERN_C unsigned IMessageMetadata_getCharSet(struct IMessageMetadata* self, struct IStatus* status, unsigned index); -CLOOP_EXTERN_C unsigned IMessageMetadata_getOffset(struct IMessageMetadata* self, struct IStatus* status, unsigned index); -CLOOP_EXTERN_C unsigned IMessageMetadata_getNullOffset(struct IMessageMetadata* self, struct IStatus* status, unsigned index); -CLOOP_EXTERN_C struct IMetadataBuilder* IMessageMetadata_getBuilder(struct IMessageMetadata* self, struct IStatus* status); -CLOOP_EXTERN_C unsigned IMessageMetadata_getMessageLength(struct IMessageMetadata* self, struct IStatus* status); -CLOOP_EXTERN_C unsigned IMessageMetadata_getAlignment(struct IMessageMetadata* self, struct IStatus* status); -CLOOP_EXTERN_C unsigned IMessageMetadata_getAlignedLength(struct IMessageMetadata* self, struct IStatus* status); - -#define IMetadataBuilder_VERSION 4 - -struct IMetadataBuilder; - -struct IMetadataBuilderVTable -{ - void* cloopDummy[1]; - uintptr_t version; - void (*addRef)(struct IMetadataBuilder* self); - int (*release)(struct IMetadataBuilder* self); - void (*setType)(struct IMetadataBuilder* self, struct IStatus* status, unsigned index, unsigned type); - void (*setSubType)(struct IMetadataBuilder* self, struct IStatus* status, unsigned index, int subType); - void (*setLength)(struct IMetadataBuilder* self, struct IStatus* status, unsigned index, unsigned length); - void (*setCharSet)(struct IMetadataBuilder* self, struct IStatus* status, unsigned index, unsigned charSet); - void (*setScale)(struct IMetadataBuilder* self, struct IStatus* status, unsigned index, int scale); - void (*truncate)(struct IMetadataBuilder* self, struct IStatus* status, unsigned count); - void (*moveNameToIndex)(struct IMetadataBuilder* self, struct IStatus* status, const char* name, unsigned index); - void (*remove)(struct IMetadataBuilder* self, struct IStatus* status, unsigned index); - unsigned (*addField)(struct IMetadataBuilder* self, struct IStatus* status); - struct IMessageMetadata* (*getMetadata)(struct IMetadataBuilder* self, struct IStatus* status); - void (*setField)(struct IMetadataBuilder* self, struct IStatus* status, unsigned index, const char* field); - void (*setRelation)(struct IMetadataBuilder* self, struct IStatus* status, unsigned index, const char* relation); - void (*setOwner)(struct IMetadataBuilder* self, struct IStatus* status, unsigned index, const char* owner); - void (*setAlias)(struct IMetadataBuilder* self, struct IStatus* status, unsigned index, const char* alias); -}; - -struct IMetadataBuilder -{ - void* cloopDummy[1]; - struct IMetadataBuilderVTable* vtable; -}; - -CLOOP_EXTERN_C void IMetadataBuilder_addRef(struct IMetadataBuilder* self); -CLOOP_EXTERN_C int IMetadataBuilder_release(struct IMetadataBuilder* self); -CLOOP_EXTERN_C void IMetadataBuilder_setType(struct IMetadataBuilder* self, struct IStatus* status, unsigned index, unsigned type); -CLOOP_EXTERN_C void IMetadataBuilder_setSubType(struct IMetadataBuilder* self, struct IStatus* status, unsigned index, int subType); -CLOOP_EXTERN_C void IMetadataBuilder_setLength(struct IMetadataBuilder* self, struct IStatus* status, unsigned index, unsigned length); -CLOOP_EXTERN_C void IMetadataBuilder_setCharSet(struct IMetadataBuilder* self, struct IStatus* status, unsigned index, unsigned charSet); -CLOOP_EXTERN_C void IMetadataBuilder_setScale(struct IMetadataBuilder* self, struct IStatus* status, unsigned index, int scale); -CLOOP_EXTERN_C void IMetadataBuilder_truncate(struct IMetadataBuilder* self, struct IStatus* status, unsigned count); -CLOOP_EXTERN_C void IMetadataBuilder_moveNameToIndex(struct IMetadataBuilder* self, struct IStatus* status, const char* name, unsigned index); -CLOOP_EXTERN_C void IMetadataBuilder_remove(struct IMetadataBuilder* self, struct IStatus* status, unsigned index); -CLOOP_EXTERN_C unsigned IMetadataBuilder_addField(struct IMetadataBuilder* self, struct IStatus* status); -CLOOP_EXTERN_C struct IMessageMetadata* IMetadataBuilder_getMetadata(struct IMetadataBuilder* self, struct IStatus* status); -CLOOP_EXTERN_C void IMetadataBuilder_setField(struct IMetadataBuilder* self, struct IStatus* status, unsigned index, const char* field); -CLOOP_EXTERN_C void IMetadataBuilder_setRelation(struct IMetadataBuilder* self, struct IStatus* status, unsigned index, const char* relation); -CLOOP_EXTERN_C void IMetadataBuilder_setOwner(struct IMetadataBuilder* self, struct IStatus* status, unsigned index, const char* owner); -CLOOP_EXTERN_C void IMetadataBuilder_setAlias(struct IMetadataBuilder* self, struct IStatus* status, unsigned index, const char* alias); - -#define IResultSet_VERSION 5 - -#define IResultSet_INF_RECORD_COUNT ((unsigned char) (10)) - -struct IResultSet; - -struct IResultSetVTable -{ - void* cloopDummy[1]; - uintptr_t version; - void (*addRef)(struct IResultSet* self); - int (*release)(struct IResultSet* self); - int (*fetchNext)(struct IResultSet* self, struct IStatus* status, void* message); - int (*fetchPrior)(struct IResultSet* self, struct IStatus* status, void* message); - int (*fetchFirst)(struct IResultSet* self, struct IStatus* status, void* message); - int (*fetchLast)(struct IResultSet* self, struct IStatus* status, void* message); - int (*fetchAbsolute)(struct IResultSet* self, struct IStatus* status, int position, void* message); - int (*fetchRelative)(struct IResultSet* self, struct IStatus* status, int offset, void* message); - FB_BOOLEAN (*isEof)(struct IResultSet* self, struct IStatus* status); - FB_BOOLEAN (*isBof)(struct IResultSet* self, struct IStatus* status); - struct IMessageMetadata* (*getMetadata)(struct IResultSet* self, struct IStatus* status); - void (*deprecatedClose)(struct IResultSet* self, struct IStatus* status); - void (*setDelayedOutputFormat)(struct IResultSet* self, struct IStatus* status, struct IMessageMetadata* format); - void (*close)(struct IResultSet* self, struct IStatus* status); - void (*getInfo)(struct IResultSet* self, struct IStatus* status, unsigned itemsLength, const unsigned char* items, unsigned bufferLength, unsigned char* buffer); -}; - -struct IResultSet -{ - void* cloopDummy[1]; - struct IResultSetVTable* vtable; -}; - -CLOOP_EXTERN_C void IResultSet_addRef(struct IResultSet* self); -CLOOP_EXTERN_C int IResultSet_release(struct IResultSet* self); -CLOOP_EXTERN_C int IResultSet_fetchNext(struct IResultSet* self, struct IStatus* status, void* message); -CLOOP_EXTERN_C int IResultSet_fetchPrior(struct IResultSet* self, struct IStatus* status, void* message); -CLOOP_EXTERN_C int IResultSet_fetchFirst(struct IResultSet* self, struct IStatus* status, void* message); -CLOOP_EXTERN_C int IResultSet_fetchLast(struct IResultSet* self, struct IStatus* status, void* message); -CLOOP_EXTERN_C int IResultSet_fetchAbsolute(struct IResultSet* self, struct IStatus* status, int position, void* message); -CLOOP_EXTERN_C int IResultSet_fetchRelative(struct IResultSet* self, struct IStatus* status, int offset, void* message); -CLOOP_EXTERN_C FB_BOOLEAN IResultSet_isEof(struct IResultSet* self, struct IStatus* status); -CLOOP_EXTERN_C FB_BOOLEAN IResultSet_isBof(struct IResultSet* self, struct IStatus* status); -CLOOP_EXTERN_C struct IMessageMetadata* IResultSet_getMetadata(struct IResultSet* self, struct IStatus* status); -CLOOP_EXTERN_C void IResultSet_deprecatedClose(struct IResultSet* self, struct IStatus* status); -CLOOP_EXTERN_C void IResultSet_setDelayedOutputFormat(struct IResultSet* self, struct IStatus* status, struct IMessageMetadata* format); -CLOOP_EXTERN_C void IResultSet_close(struct IResultSet* self, struct IStatus* status); -CLOOP_EXTERN_C void IResultSet_getInfo(struct IResultSet* self, struct IStatus* status, unsigned itemsLength, const unsigned char* items, unsigned bufferLength, unsigned char* buffer); - -#define IStatement_VERSION 5 - -#define IStatement_PREPARE_PREFETCH_NONE ((unsigned) (0x0)) -#define IStatement_PREPARE_PREFETCH_TYPE ((unsigned) (0x1)) -#define IStatement_PREPARE_PREFETCH_INPUT_PARAMETERS ((unsigned) (0x2)) -#define IStatement_PREPARE_PREFETCH_OUTPUT_PARAMETERS ((unsigned) (0x4)) -#define IStatement_PREPARE_PREFETCH_LEGACY_PLAN ((unsigned) (0x8)) -#define IStatement_PREPARE_PREFETCH_DETAILED_PLAN ((unsigned) (0x10)) -#define IStatement_PREPARE_PREFETCH_AFFECTED_RECORDS ((unsigned) (0x20)) -#define IStatement_PREPARE_PREFETCH_FLAGS ((unsigned) (0x40)) -#define IStatement_PREPARE_REQUIRE_SEMICOLON ((unsigned) (0x80)) -#define IStatement_PREPARE_PREFETCH_METADATA ((unsigned) (IStatement_PREPARE_PREFETCH_TYPE | IStatement_PREPARE_PREFETCH_FLAGS | IStatement_PREPARE_PREFETCH_INPUT_PARAMETERS | IStatement_PREPARE_PREFETCH_OUTPUT_PARAMETERS)) -#define IStatement_PREPARE_PREFETCH_ALL ((unsigned) (IStatement_PREPARE_PREFETCH_METADATA | IStatement_PREPARE_PREFETCH_LEGACY_PLAN | IStatement_PREPARE_PREFETCH_DETAILED_PLAN | IStatement_PREPARE_PREFETCH_AFFECTED_RECORDS)) -#define IStatement_FLAG_HAS_CURSOR ((unsigned) (0x1)) -#define IStatement_FLAG_REPEAT_EXECUTE ((unsigned) (0x2)) -#define IStatement_CURSOR_TYPE_SCROLLABLE ((unsigned) (0x1)) - -struct IStatement; - -struct IStatementVTable -{ - void* cloopDummy[1]; - uintptr_t version; - void (*addRef)(struct IStatement* self); - int (*release)(struct IStatement* self); - void (*getInfo)(struct IStatement* self, struct IStatus* status, unsigned itemsLength, const unsigned char* items, unsigned bufferLength, unsigned char* buffer); - unsigned (*getType)(struct IStatement* self, struct IStatus* status); - const char* (*getPlan)(struct IStatement* self, struct IStatus* status, FB_BOOLEAN detailed); - ISC_UINT64 (*getAffectedRecords)(struct IStatement* self, struct IStatus* status); - struct IMessageMetadata* (*getInputMetadata)(struct IStatement* self, struct IStatus* status); - struct IMessageMetadata* (*getOutputMetadata)(struct IStatement* self, struct IStatus* status); - struct ITransaction* (*execute)(struct IStatement* self, struct IStatus* status, struct ITransaction* transaction, struct IMessageMetadata* inMetadata, void* inBuffer, struct IMessageMetadata* outMetadata, void* outBuffer); - struct IResultSet* (*openCursor)(struct IStatement* self, struct IStatus* status, struct ITransaction* transaction, struct IMessageMetadata* inMetadata, void* inBuffer, struct IMessageMetadata* outMetadata, unsigned flags); - void (*setCursorName)(struct IStatement* self, struct IStatus* status, const char* name); - void (*deprecatedFree)(struct IStatement* self, struct IStatus* status); - unsigned (*getFlags)(struct IStatement* self, struct IStatus* status); - unsigned (*getTimeout)(struct IStatement* self, struct IStatus* status); - void (*setTimeout)(struct IStatement* self, struct IStatus* status, unsigned timeOut); - struct IBatch* (*createBatch)(struct IStatement* self, struct IStatus* status, struct IMessageMetadata* inMetadata, unsigned parLength, const unsigned char* par); - void (*free)(struct IStatement* self, struct IStatus* status); -}; - -struct IStatement -{ - void* cloopDummy[1]; - struct IStatementVTable* vtable; -}; - -CLOOP_EXTERN_C void IStatement_addRef(struct IStatement* self); -CLOOP_EXTERN_C int IStatement_release(struct IStatement* self); -CLOOP_EXTERN_C void IStatement_getInfo(struct IStatement* self, struct IStatus* status, unsigned itemsLength, const unsigned char* items, unsigned bufferLength, unsigned char* buffer); -CLOOP_EXTERN_C unsigned IStatement_getType(struct IStatement* self, struct IStatus* status); -CLOOP_EXTERN_C const char* IStatement_getPlan(struct IStatement* self, struct IStatus* status, FB_BOOLEAN detailed); -CLOOP_EXTERN_C ISC_UINT64 IStatement_getAffectedRecords(struct IStatement* self, struct IStatus* status); -CLOOP_EXTERN_C struct IMessageMetadata* IStatement_getInputMetadata(struct IStatement* self, struct IStatus* status); -CLOOP_EXTERN_C struct IMessageMetadata* IStatement_getOutputMetadata(struct IStatement* self, struct IStatus* status); -CLOOP_EXTERN_C struct ITransaction* IStatement_execute(struct IStatement* self, struct IStatus* status, struct ITransaction* transaction, struct IMessageMetadata* inMetadata, void* inBuffer, struct IMessageMetadata* outMetadata, void* outBuffer); -CLOOP_EXTERN_C struct IResultSet* IStatement_openCursor(struct IStatement* self, struct IStatus* status, struct ITransaction* transaction, struct IMessageMetadata* inMetadata, void* inBuffer, struct IMessageMetadata* outMetadata, unsigned flags); -CLOOP_EXTERN_C void IStatement_setCursorName(struct IStatement* self, struct IStatus* status, const char* name); -CLOOP_EXTERN_C void IStatement_deprecatedFree(struct IStatement* self, struct IStatus* status); -CLOOP_EXTERN_C unsigned IStatement_getFlags(struct IStatement* self, struct IStatus* status); -CLOOP_EXTERN_C unsigned IStatement_getTimeout(struct IStatement* self, struct IStatus* status); -CLOOP_EXTERN_C void IStatement_setTimeout(struct IStatement* self, struct IStatus* status, unsigned timeOut); -CLOOP_EXTERN_C struct IBatch* IStatement_createBatch(struct IStatement* self, struct IStatus* status, struct IMessageMetadata* inMetadata, unsigned parLength, const unsigned char* par); -CLOOP_EXTERN_C void IStatement_free(struct IStatement* self, struct IStatus* status); - -#define IBatch_VERSION 4 - -#define IBatch_VERSION1 ((unsigned char) (1)) -#define IBatch_CURRENT_VERSION ((unsigned char) (IBatch_VERSION1)) -#define IBatch_TAG_MULTIERROR ((unsigned char) (1)) -#define IBatch_TAG_RECORD_COUNTS ((unsigned char) (2)) -#define IBatch_TAG_BUFFER_BYTES_SIZE ((unsigned char) (3)) -#define IBatch_TAG_BLOB_POLICY ((unsigned char) (4)) -#define IBatch_TAG_DETAILED_ERRORS ((unsigned char) (5)) -#define IBatch_INF_BUFFER_BYTES_SIZE ((unsigned char) (10)) -#define IBatch_INF_DATA_BYTES_SIZE ((unsigned char) (11)) -#define IBatch_INF_BLOBS_BYTES_SIZE ((unsigned char) (12)) -#define IBatch_INF_BLOB_ALIGNMENT ((unsigned char) (13)) -#define IBatch_INF_BLOB_HEADER ((unsigned char) (14)) -#define IBatch_BLOB_NONE ((unsigned char) (0)) -#define IBatch_BLOB_ID_ENGINE ((unsigned char) (1)) -#define IBatch_BLOB_ID_USER ((unsigned char) (2)) -#define IBatch_BLOB_STREAM ((unsigned char) (3)) -#define IBatch_BLOB_SEGHDR_ALIGN ((unsigned) (2)) - -struct IBatch; - -struct IBatchVTable -{ - void* cloopDummy[1]; - uintptr_t version; - void (*addRef)(struct IBatch* self); - int (*release)(struct IBatch* self); - void (*add)(struct IBatch* self, struct IStatus* status, unsigned count, const void* inBuffer); - void (*addBlob)(struct IBatch* self, struct IStatus* status, unsigned length, const void* inBuffer, ISC_QUAD* blobId, unsigned parLength, const unsigned char* par); - void (*appendBlobData)(struct IBatch* self, struct IStatus* status, unsigned length, const void* inBuffer); - void (*addBlobStream)(struct IBatch* self, struct IStatus* status, unsigned length, const void* inBuffer); - void (*registerBlob)(struct IBatch* self, struct IStatus* status, const ISC_QUAD* existingBlob, ISC_QUAD* blobId); - struct IBatchCompletionState* (*execute)(struct IBatch* self, struct IStatus* status, struct ITransaction* transaction); - void (*cancel)(struct IBatch* self, struct IStatus* status); - unsigned (*getBlobAlignment)(struct IBatch* self, struct IStatus* status); - struct IMessageMetadata* (*getMetadata)(struct IBatch* self, struct IStatus* status); - void (*setDefaultBpb)(struct IBatch* self, struct IStatus* status, unsigned parLength, const unsigned char* par); - void (*deprecatedClose)(struct IBatch* self, struct IStatus* status); - void (*close)(struct IBatch* self, struct IStatus* status); - void (*getInfo)(struct IBatch* self, struct IStatus* status, unsigned itemsLength, const unsigned char* items, unsigned bufferLength, unsigned char* buffer); -}; - -struct IBatch -{ - void* cloopDummy[1]; - struct IBatchVTable* vtable; -}; - -CLOOP_EXTERN_C void IBatch_addRef(struct IBatch* self); -CLOOP_EXTERN_C int IBatch_release(struct IBatch* self); -CLOOP_EXTERN_C void IBatch_add(struct IBatch* self, struct IStatus* status, unsigned count, const void* inBuffer); -CLOOP_EXTERN_C void IBatch_addBlob(struct IBatch* self, struct IStatus* status, unsigned length, const void* inBuffer, ISC_QUAD* blobId, unsigned parLength, const unsigned char* par); -CLOOP_EXTERN_C void IBatch_appendBlobData(struct IBatch* self, struct IStatus* status, unsigned length, const void* inBuffer); -CLOOP_EXTERN_C void IBatch_addBlobStream(struct IBatch* self, struct IStatus* status, unsigned length, const void* inBuffer); -CLOOP_EXTERN_C void IBatch_registerBlob(struct IBatch* self, struct IStatus* status, const ISC_QUAD* existingBlob, ISC_QUAD* blobId); -CLOOP_EXTERN_C struct IBatchCompletionState* IBatch_execute(struct IBatch* self, struct IStatus* status, struct ITransaction* transaction); -CLOOP_EXTERN_C void IBatch_cancel(struct IBatch* self, struct IStatus* status); -CLOOP_EXTERN_C unsigned IBatch_getBlobAlignment(struct IBatch* self, struct IStatus* status); -CLOOP_EXTERN_C struct IMessageMetadata* IBatch_getMetadata(struct IBatch* self, struct IStatus* status); -CLOOP_EXTERN_C void IBatch_setDefaultBpb(struct IBatch* self, struct IStatus* status, unsigned parLength, const unsigned char* par); -CLOOP_EXTERN_C void IBatch_deprecatedClose(struct IBatch* self, struct IStatus* status); -CLOOP_EXTERN_C void IBatch_close(struct IBatch* self, struct IStatus* status); -CLOOP_EXTERN_C void IBatch_getInfo(struct IBatch* self, struct IStatus* status, unsigned itemsLength, const unsigned char* items, unsigned bufferLength, unsigned char* buffer); - -#define IBatchCompletionState_VERSION 3 - -#define IBatchCompletionState_EXECUTE_FAILED ((int) (-1)) -#define IBatchCompletionState_SUCCESS_NO_INFO ((int) (-2)) -#define IBatchCompletionState_NO_MORE_ERRORS ((unsigned) (0xffffffff)) - -struct IBatchCompletionState; - -struct IBatchCompletionStateVTable -{ - void* cloopDummy[1]; - uintptr_t version; - void (*dispose)(struct IBatchCompletionState* self); - unsigned (*getSize)(struct IBatchCompletionState* self, struct IStatus* status); - int (*getState)(struct IBatchCompletionState* self, struct IStatus* status, unsigned pos); - unsigned (*findError)(struct IBatchCompletionState* self, struct IStatus* status, unsigned pos); - void (*getStatus)(struct IBatchCompletionState* self, struct IStatus* status, struct IStatus* to, unsigned pos); -}; - -struct IBatchCompletionState -{ - void* cloopDummy[1]; - struct IBatchCompletionStateVTable* vtable; -}; - -CLOOP_EXTERN_C void IBatchCompletionState_dispose(struct IBatchCompletionState* self); -CLOOP_EXTERN_C unsigned IBatchCompletionState_getSize(struct IBatchCompletionState* self, struct IStatus* status); -CLOOP_EXTERN_C int IBatchCompletionState_getState(struct IBatchCompletionState* self, struct IStatus* status, unsigned pos); -CLOOP_EXTERN_C unsigned IBatchCompletionState_findError(struct IBatchCompletionState* self, struct IStatus* status, unsigned pos); -CLOOP_EXTERN_C void IBatchCompletionState_getStatus(struct IBatchCompletionState* self, struct IStatus* status, struct IStatus* to, unsigned pos); - -#define IReplicator_VERSION 4 - -struct IReplicator; - -struct IReplicatorVTable -{ - void* cloopDummy[1]; - uintptr_t version; - void (*addRef)(struct IReplicator* self); - int (*release)(struct IReplicator* self); - void (*process)(struct IReplicator* self, struct IStatus* status, unsigned length, const unsigned char* data); - void (*deprecatedClose)(struct IReplicator* self, struct IStatus* status); - void (*close)(struct IReplicator* self, struct IStatus* status); -}; - -struct IReplicator -{ - void* cloopDummy[1]; - struct IReplicatorVTable* vtable; -}; - -CLOOP_EXTERN_C void IReplicator_addRef(struct IReplicator* self); -CLOOP_EXTERN_C int IReplicator_release(struct IReplicator* self); -CLOOP_EXTERN_C void IReplicator_process(struct IReplicator* self, struct IStatus* status, unsigned length, const unsigned char* data); -CLOOP_EXTERN_C void IReplicator_deprecatedClose(struct IReplicator* self, struct IStatus* status); -CLOOP_EXTERN_C void IReplicator_close(struct IReplicator* self, struct IStatus* status); - -#define IRequest_VERSION 4 - -struct IRequest; - -struct IRequestVTable -{ - void* cloopDummy[1]; - uintptr_t version; - void (*addRef)(struct IRequest* self); - int (*release)(struct IRequest* self); - void (*receive)(struct IRequest* self, struct IStatus* status, int level, unsigned msgType, unsigned length, void* message); - void (*send)(struct IRequest* self, struct IStatus* status, int level, unsigned msgType, unsigned length, const void* message); - void (*getInfo)(struct IRequest* self, struct IStatus* status, int level, unsigned itemsLength, const unsigned char* items, unsigned bufferLength, unsigned char* buffer); - void (*start)(struct IRequest* self, struct IStatus* status, struct ITransaction* tra, int level); - void (*startAndSend)(struct IRequest* self, struct IStatus* status, struct ITransaction* tra, int level, unsigned msgType, unsigned length, const void* message); - void (*unwind)(struct IRequest* self, struct IStatus* status, int level); - void (*deprecatedFree)(struct IRequest* self, struct IStatus* status); - void (*free)(struct IRequest* self, struct IStatus* status); -}; - -struct IRequest -{ - void* cloopDummy[1]; - struct IRequestVTable* vtable; -}; - -CLOOP_EXTERN_C void IRequest_addRef(struct IRequest* self); -CLOOP_EXTERN_C int IRequest_release(struct IRequest* self); -CLOOP_EXTERN_C void IRequest_receive(struct IRequest* self, struct IStatus* status, int level, unsigned msgType, unsigned length, void* message); -CLOOP_EXTERN_C void IRequest_send(struct IRequest* self, struct IStatus* status, int level, unsigned msgType, unsigned length, const void* message); -CLOOP_EXTERN_C void IRequest_getInfo(struct IRequest* self, struct IStatus* status, int level, unsigned itemsLength, const unsigned char* items, unsigned bufferLength, unsigned char* buffer); -CLOOP_EXTERN_C void IRequest_start(struct IRequest* self, struct IStatus* status, struct ITransaction* tra, int level); -CLOOP_EXTERN_C void IRequest_startAndSend(struct IRequest* self, struct IStatus* status, struct ITransaction* tra, int level, unsigned msgType, unsigned length, const void* message); -CLOOP_EXTERN_C void IRequest_unwind(struct IRequest* self, struct IStatus* status, int level); -CLOOP_EXTERN_C void IRequest_deprecatedFree(struct IRequest* self, struct IStatus* status); -CLOOP_EXTERN_C void IRequest_free(struct IRequest* self, struct IStatus* status); - -#define IEvents_VERSION 4 - -struct IEvents; - -struct IEventsVTable -{ - void* cloopDummy[1]; - uintptr_t version; - void (*addRef)(struct IEvents* self); - int (*release)(struct IEvents* self); - void (*deprecatedCancel)(struct IEvents* self, struct IStatus* status); - void (*cancel)(struct IEvents* self, struct IStatus* status); -}; - -struct IEvents -{ - void* cloopDummy[1]; - struct IEventsVTable* vtable; -}; - -CLOOP_EXTERN_C void IEvents_addRef(struct IEvents* self); -CLOOP_EXTERN_C int IEvents_release(struct IEvents* self); -CLOOP_EXTERN_C void IEvents_deprecatedCancel(struct IEvents* self, struct IStatus* status); -CLOOP_EXTERN_C void IEvents_cancel(struct IEvents* self, struct IStatus* status); - -#define IAttachment_VERSION 5 - -struct IAttachment; - -struct IAttachmentVTable -{ - void* cloopDummy[1]; - uintptr_t version; - void (*addRef)(struct IAttachment* self); - int (*release)(struct IAttachment* self); - void (*getInfo)(struct IAttachment* self, struct IStatus* status, unsigned itemsLength, const unsigned char* items, unsigned bufferLength, unsigned char* buffer); - struct ITransaction* (*startTransaction)(struct IAttachment* self, struct IStatus* status, unsigned tpbLength, const unsigned char* tpb); - struct ITransaction* (*reconnectTransaction)(struct IAttachment* self, struct IStatus* status, unsigned length, const unsigned char* id); - struct IRequest* (*compileRequest)(struct IAttachment* self, struct IStatus* status, unsigned blrLength, const unsigned char* blr); - void (*transactRequest)(struct IAttachment* self, struct IStatus* status, struct ITransaction* transaction, unsigned blrLength, const unsigned char* blr, unsigned inMsgLength, const unsigned char* inMsg, unsigned outMsgLength, unsigned char* outMsg); - struct IBlob* (*createBlob)(struct IAttachment* self, struct IStatus* status, struct ITransaction* transaction, ISC_QUAD* id, unsigned bpbLength, const unsigned char* bpb); - struct IBlob* (*openBlob)(struct IAttachment* self, struct IStatus* status, struct ITransaction* transaction, ISC_QUAD* id, unsigned bpbLength, const unsigned char* bpb); - int (*getSlice)(struct IAttachment* self, struct IStatus* status, struct ITransaction* transaction, ISC_QUAD* id, unsigned sdlLength, const unsigned char* sdl, unsigned paramLength, const unsigned char* param, int sliceLength, unsigned char* slice); - void (*putSlice)(struct IAttachment* self, struct IStatus* status, struct ITransaction* transaction, ISC_QUAD* id, unsigned sdlLength, const unsigned char* sdl, unsigned paramLength, const unsigned char* param, int sliceLength, unsigned char* slice); - void (*executeDyn)(struct IAttachment* self, struct IStatus* status, struct ITransaction* transaction, unsigned length, const unsigned char* dyn); - struct IStatement* (*prepare)(struct IAttachment* self, struct IStatus* status, struct ITransaction* tra, unsigned stmtLength, const char* sqlStmt, unsigned dialect, unsigned flags); - struct ITransaction* (*execute)(struct IAttachment* self, struct IStatus* status, struct ITransaction* transaction, unsigned stmtLength, const char* sqlStmt, unsigned dialect, struct IMessageMetadata* inMetadata, void* inBuffer, struct IMessageMetadata* outMetadata, void* outBuffer); - struct IResultSet* (*openCursor)(struct IAttachment* self, struct IStatus* status, struct ITransaction* transaction, unsigned stmtLength, const char* sqlStmt, unsigned dialect, struct IMessageMetadata* inMetadata, void* inBuffer, struct IMessageMetadata* outMetadata, const char* cursorName, unsigned cursorFlags); - struct IEvents* (*queEvents)(struct IAttachment* self, struct IStatus* status, struct IEventCallback* callback, unsigned length, const unsigned char* events); - void (*cancelOperation)(struct IAttachment* self, struct IStatus* status, int option); - void (*ping)(struct IAttachment* self, struct IStatus* status); - void (*deprecatedDetach)(struct IAttachment* self, struct IStatus* status); - void (*deprecatedDropDatabase)(struct IAttachment* self, struct IStatus* status); - unsigned (*getIdleTimeout)(struct IAttachment* self, struct IStatus* status); - void (*setIdleTimeout)(struct IAttachment* self, struct IStatus* status, unsigned timeOut); - unsigned (*getStatementTimeout)(struct IAttachment* self, struct IStatus* status); - void (*setStatementTimeout)(struct IAttachment* self, struct IStatus* status, unsigned timeOut); - struct IBatch* (*createBatch)(struct IAttachment* self, struct IStatus* status, struct ITransaction* transaction, unsigned stmtLength, const char* sqlStmt, unsigned dialect, struct IMessageMetadata* inMetadata, unsigned parLength, const unsigned char* par); - struct IReplicator* (*createReplicator)(struct IAttachment* self, struct IStatus* status); - void (*detach)(struct IAttachment* self, struct IStatus* status); - void (*dropDatabase)(struct IAttachment* self, struct IStatus* status); -}; - -struct IAttachment -{ - void* cloopDummy[1]; - struct IAttachmentVTable* vtable; -}; - -CLOOP_EXTERN_C void IAttachment_addRef(struct IAttachment* self); -CLOOP_EXTERN_C int IAttachment_release(struct IAttachment* self); -CLOOP_EXTERN_C void IAttachment_getInfo(struct IAttachment* self, struct IStatus* status, unsigned itemsLength, const unsigned char* items, unsigned bufferLength, unsigned char* buffer); -CLOOP_EXTERN_C struct ITransaction* IAttachment_startTransaction(struct IAttachment* self, struct IStatus* status, unsigned tpbLength, const unsigned char* tpb); -CLOOP_EXTERN_C struct ITransaction* IAttachment_reconnectTransaction(struct IAttachment* self, struct IStatus* status, unsigned length, const unsigned char* id); -CLOOP_EXTERN_C struct IRequest* IAttachment_compileRequest(struct IAttachment* self, struct IStatus* status, unsigned blrLength, const unsigned char* blr); -CLOOP_EXTERN_C void IAttachment_transactRequest(struct IAttachment* self, struct IStatus* status, struct ITransaction* transaction, unsigned blrLength, const unsigned char* blr, unsigned inMsgLength, const unsigned char* inMsg, unsigned outMsgLength, unsigned char* outMsg); -CLOOP_EXTERN_C struct IBlob* IAttachment_createBlob(struct IAttachment* self, struct IStatus* status, struct ITransaction* transaction, ISC_QUAD* id, unsigned bpbLength, const unsigned char* bpb); -CLOOP_EXTERN_C struct IBlob* IAttachment_openBlob(struct IAttachment* self, struct IStatus* status, struct ITransaction* transaction, ISC_QUAD* id, unsigned bpbLength, const unsigned char* bpb); -CLOOP_EXTERN_C int IAttachment_getSlice(struct IAttachment* self, struct IStatus* status, struct ITransaction* transaction, ISC_QUAD* id, unsigned sdlLength, const unsigned char* sdl, unsigned paramLength, const unsigned char* param, int sliceLength, unsigned char* slice); -CLOOP_EXTERN_C void IAttachment_putSlice(struct IAttachment* self, struct IStatus* status, struct ITransaction* transaction, ISC_QUAD* id, unsigned sdlLength, const unsigned char* sdl, unsigned paramLength, const unsigned char* param, int sliceLength, unsigned char* slice); -CLOOP_EXTERN_C void IAttachment_executeDyn(struct IAttachment* self, struct IStatus* status, struct ITransaction* transaction, unsigned length, const unsigned char* dyn); -CLOOP_EXTERN_C struct IStatement* IAttachment_prepare(struct IAttachment* self, struct IStatus* status, struct ITransaction* tra, unsigned stmtLength, const char* sqlStmt, unsigned dialect, unsigned flags); -CLOOP_EXTERN_C struct ITransaction* IAttachment_execute(struct IAttachment* self, struct IStatus* status, struct ITransaction* transaction, unsigned stmtLength, const char* sqlStmt, unsigned dialect, struct IMessageMetadata* inMetadata, void* inBuffer, struct IMessageMetadata* outMetadata, void* outBuffer); -CLOOP_EXTERN_C struct IResultSet* IAttachment_openCursor(struct IAttachment* self, struct IStatus* status, struct ITransaction* transaction, unsigned stmtLength, const char* sqlStmt, unsigned dialect, struct IMessageMetadata* inMetadata, void* inBuffer, struct IMessageMetadata* outMetadata, const char* cursorName, unsigned cursorFlags); -CLOOP_EXTERN_C struct IEvents* IAttachment_queEvents(struct IAttachment* self, struct IStatus* status, struct IEventCallback* callback, unsigned length, const unsigned char* events); -CLOOP_EXTERN_C void IAttachment_cancelOperation(struct IAttachment* self, struct IStatus* status, int option); -CLOOP_EXTERN_C void IAttachment_ping(struct IAttachment* self, struct IStatus* status); -CLOOP_EXTERN_C void IAttachment_deprecatedDetach(struct IAttachment* self, struct IStatus* status); -CLOOP_EXTERN_C void IAttachment_deprecatedDropDatabase(struct IAttachment* self, struct IStatus* status); -CLOOP_EXTERN_C unsigned IAttachment_getIdleTimeout(struct IAttachment* self, struct IStatus* status); -CLOOP_EXTERN_C void IAttachment_setIdleTimeout(struct IAttachment* self, struct IStatus* status, unsigned timeOut); -CLOOP_EXTERN_C unsigned IAttachment_getStatementTimeout(struct IAttachment* self, struct IStatus* status); -CLOOP_EXTERN_C void IAttachment_setStatementTimeout(struct IAttachment* self, struct IStatus* status, unsigned timeOut); -CLOOP_EXTERN_C struct IBatch* IAttachment_createBatch(struct IAttachment* self, struct IStatus* status, struct ITransaction* transaction, unsigned stmtLength, const char* sqlStmt, unsigned dialect, struct IMessageMetadata* inMetadata, unsigned parLength, const unsigned char* par); -CLOOP_EXTERN_C struct IReplicator* IAttachment_createReplicator(struct IAttachment* self, struct IStatus* status); -CLOOP_EXTERN_C void IAttachment_detach(struct IAttachment* self, struct IStatus* status); -CLOOP_EXTERN_C void IAttachment_dropDatabase(struct IAttachment* self, struct IStatus* status); - -#define IService_VERSION 5 - -struct IService; - -struct IServiceVTable -{ - void* cloopDummy[1]; - uintptr_t version; - void (*addRef)(struct IService* self); - int (*release)(struct IService* self); - void (*deprecatedDetach)(struct IService* self, struct IStatus* status); - void (*query)(struct IService* self, struct IStatus* status, unsigned sendLength, const unsigned char* sendItems, unsigned receiveLength, const unsigned char* receiveItems, unsigned bufferLength, unsigned char* buffer); - void (*start)(struct IService* self, struct IStatus* status, unsigned spbLength, const unsigned char* spb); - void (*detach)(struct IService* self, struct IStatus* status); - void (*cancel)(struct IService* self, struct IStatus* status); -}; - -struct IService -{ - void* cloopDummy[1]; - struct IServiceVTable* vtable; -}; - -CLOOP_EXTERN_C void IService_addRef(struct IService* self); -CLOOP_EXTERN_C int IService_release(struct IService* self); -CLOOP_EXTERN_C void IService_deprecatedDetach(struct IService* self, struct IStatus* status); -CLOOP_EXTERN_C void IService_query(struct IService* self, struct IStatus* status, unsigned sendLength, const unsigned char* sendItems, unsigned receiveLength, const unsigned char* receiveItems, unsigned bufferLength, unsigned char* buffer); -CLOOP_EXTERN_C void IService_start(struct IService* self, struct IStatus* status, unsigned spbLength, const unsigned char* spb); -CLOOP_EXTERN_C void IService_detach(struct IService* self, struct IStatus* status); -CLOOP_EXTERN_C void IService_cancel(struct IService* self, struct IStatus* status); - -#define IProvider_VERSION 4 - -struct IProvider; - -struct IProviderVTable -{ - void* cloopDummy[1]; - uintptr_t version; - void (*addRef)(struct IProvider* self); - int (*release)(struct IProvider* self); - void (*setOwner)(struct IProvider* self, struct IReferenceCounted* r); - struct IReferenceCounted* (*getOwner)(struct IProvider* self); - struct IAttachment* (*attachDatabase)(struct IProvider* self, struct IStatus* status, const char* fileName, unsigned dpbLength, const unsigned char* dpb); - struct IAttachment* (*createDatabase)(struct IProvider* self, struct IStatus* status, const char* fileName, unsigned dpbLength, const unsigned char* dpb); - struct IService* (*attachServiceManager)(struct IProvider* self, struct IStatus* status, const char* service, unsigned spbLength, const unsigned char* spb); - void (*shutdown)(struct IProvider* self, struct IStatus* status, unsigned timeout, const int reason); - void (*setDbCryptCallback)(struct IProvider* self, struct IStatus* status, struct ICryptKeyCallback* cryptCallback); -}; - -struct IProvider -{ - void* cloopDummy[1]; - struct IProviderVTable* vtable; -}; - -CLOOP_EXTERN_C void IProvider_addRef(struct IProvider* self); -CLOOP_EXTERN_C int IProvider_release(struct IProvider* self); -CLOOP_EXTERN_C void IProvider_setOwner(struct IProvider* self, struct IReferenceCounted* r); -CLOOP_EXTERN_C struct IReferenceCounted* IProvider_getOwner(struct IProvider* self); -CLOOP_EXTERN_C struct IAttachment* IProvider_attachDatabase(struct IProvider* self, struct IStatus* status, const char* fileName, unsigned dpbLength, const unsigned char* dpb); -CLOOP_EXTERN_C struct IAttachment* IProvider_createDatabase(struct IProvider* self, struct IStatus* status, const char* fileName, unsigned dpbLength, const unsigned char* dpb); -CLOOP_EXTERN_C struct IService* IProvider_attachServiceManager(struct IProvider* self, struct IStatus* status, const char* service, unsigned spbLength, const unsigned char* spb); -CLOOP_EXTERN_C void IProvider_shutdown(struct IProvider* self, struct IStatus* status, unsigned timeout, const int reason); -CLOOP_EXTERN_C void IProvider_setDbCryptCallback(struct IProvider* self, struct IStatus* status, struct ICryptKeyCallback* cryptCallback); - -#define IDtcStart_VERSION 3 - -struct IDtcStart; - -struct IDtcStartVTable -{ - void* cloopDummy[1]; - uintptr_t version; - void (*dispose)(struct IDtcStart* self); - void (*addAttachment)(struct IDtcStart* self, struct IStatus* status, struct IAttachment* att); - void (*addWithTpb)(struct IDtcStart* self, struct IStatus* status, struct IAttachment* att, unsigned length, const unsigned char* tpb); - struct ITransaction* (*start)(struct IDtcStart* self, struct IStatus* status); -}; - -struct IDtcStart -{ - void* cloopDummy[1]; - struct IDtcStartVTable* vtable; -}; - -CLOOP_EXTERN_C void IDtcStart_dispose(struct IDtcStart* self); -CLOOP_EXTERN_C void IDtcStart_addAttachment(struct IDtcStart* self, struct IStatus* status, struct IAttachment* att); -CLOOP_EXTERN_C void IDtcStart_addWithTpb(struct IDtcStart* self, struct IStatus* status, struct IAttachment* att, unsigned length, const unsigned char* tpb); -CLOOP_EXTERN_C struct ITransaction* IDtcStart_start(struct IDtcStart* self, struct IStatus* status); - -#define IDtc_VERSION 2 - -struct IDtc; - -struct IDtcVTable -{ - void* cloopDummy[1]; - uintptr_t version; - struct ITransaction* (*join)(struct IDtc* self, struct IStatus* status, struct ITransaction* one, struct ITransaction* two); - struct IDtcStart* (*startBuilder)(struct IDtc* self, struct IStatus* status); -}; - -struct IDtc -{ - void* cloopDummy[1]; - struct IDtcVTable* vtable; -}; - -CLOOP_EXTERN_C struct ITransaction* IDtc_join(struct IDtc* self, struct IStatus* status, struct ITransaction* one, struct ITransaction* two); -CLOOP_EXTERN_C struct IDtcStart* IDtc_startBuilder(struct IDtc* self, struct IStatus* status); - -#define IAuth_VERSION 4 - -#define IAuth_AUTH_FAILED ((int) (-1)) -#define IAuth_AUTH_SUCCESS ((int) (0)) -#define IAuth_AUTH_MORE_DATA ((int) (1)) -#define IAuth_AUTH_CONTINUE ((int) (2)) - -struct IAuth; - -struct IAuthVTable -{ - void* cloopDummy[1]; - uintptr_t version; - void (*addRef)(struct IAuth* self); - int (*release)(struct IAuth* self); - void (*setOwner)(struct IAuth* self, struct IReferenceCounted* r); - struct IReferenceCounted* (*getOwner)(struct IAuth* self); -}; - -struct IAuth -{ - void* cloopDummy[1]; - struct IAuthVTable* vtable; -}; - -CLOOP_EXTERN_C void IAuth_addRef(struct IAuth* self); -CLOOP_EXTERN_C int IAuth_release(struct IAuth* self); -CLOOP_EXTERN_C void IAuth_setOwner(struct IAuth* self, struct IReferenceCounted* r); -CLOOP_EXTERN_C struct IReferenceCounted* IAuth_getOwner(struct IAuth* self); - -#define IWriter_VERSION 2 - -struct IWriter; - -struct IWriterVTable -{ - void* cloopDummy[1]; - uintptr_t version; - void (*reset)(struct IWriter* self); - void (*add)(struct IWriter* self, struct IStatus* status, const char* name); - void (*setType)(struct IWriter* self, struct IStatus* status, const char* value); - void (*setDb)(struct IWriter* self, struct IStatus* status, const char* value); -}; - -struct IWriter -{ - void* cloopDummy[1]; - struct IWriterVTable* vtable; -}; - -CLOOP_EXTERN_C void IWriter_reset(struct IWriter* self); -CLOOP_EXTERN_C void IWriter_add(struct IWriter* self, struct IStatus* status, const char* name); -CLOOP_EXTERN_C void IWriter_setType(struct IWriter* self, struct IStatus* status, const char* value); -CLOOP_EXTERN_C void IWriter_setDb(struct IWriter* self, struct IStatus* status, const char* value); - -#define IServerBlock_VERSION 2 - -struct IServerBlock; - -struct IServerBlockVTable -{ - void* cloopDummy[1]; - uintptr_t version; - const char* (*getLogin)(struct IServerBlock* self); - const unsigned char* (*getData)(struct IServerBlock* self, unsigned* length); - void (*putData)(struct IServerBlock* self, struct IStatus* status, unsigned length, const void* data); - struct ICryptKey* (*newKey)(struct IServerBlock* self, struct IStatus* status); -}; - -struct IServerBlock -{ - void* cloopDummy[1]; - struct IServerBlockVTable* vtable; -}; - -CLOOP_EXTERN_C const char* IServerBlock_getLogin(struct IServerBlock* self); -CLOOP_EXTERN_C const unsigned char* IServerBlock_getData(struct IServerBlock* self, unsigned* length); -CLOOP_EXTERN_C void IServerBlock_putData(struct IServerBlock* self, struct IStatus* status, unsigned length, const void* data); -CLOOP_EXTERN_C struct ICryptKey* IServerBlock_newKey(struct IServerBlock* self, struct IStatus* status); - -#define IClientBlock_VERSION 4 - -struct IClientBlock; - -struct IClientBlockVTable -{ - void* cloopDummy[1]; - uintptr_t version; - void (*addRef)(struct IClientBlock* self); - int (*release)(struct IClientBlock* self); - const char* (*getLogin)(struct IClientBlock* self); - const char* (*getPassword)(struct IClientBlock* self); - const unsigned char* (*getData)(struct IClientBlock* self, unsigned* length); - void (*putData)(struct IClientBlock* self, struct IStatus* status, unsigned length, const void* data); - struct ICryptKey* (*newKey)(struct IClientBlock* self, struct IStatus* status); - struct IAuthBlock* (*getAuthBlock)(struct IClientBlock* self, struct IStatus* status); -}; - -struct IClientBlock -{ - void* cloopDummy[1]; - struct IClientBlockVTable* vtable; -}; - -CLOOP_EXTERN_C void IClientBlock_addRef(struct IClientBlock* self); -CLOOP_EXTERN_C int IClientBlock_release(struct IClientBlock* self); -CLOOP_EXTERN_C const char* IClientBlock_getLogin(struct IClientBlock* self); -CLOOP_EXTERN_C const char* IClientBlock_getPassword(struct IClientBlock* self); -CLOOP_EXTERN_C const unsigned char* IClientBlock_getData(struct IClientBlock* self, unsigned* length); -CLOOP_EXTERN_C void IClientBlock_putData(struct IClientBlock* self, struct IStatus* status, unsigned length, const void* data); -CLOOP_EXTERN_C struct ICryptKey* IClientBlock_newKey(struct IClientBlock* self, struct IStatus* status); -CLOOP_EXTERN_C struct IAuthBlock* IClientBlock_getAuthBlock(struct IClientBlock* self, struct IStatus* status); - -#define IServer_VERSION 6 - -struct IServer; - -struct IServerVTable -{ - void* cloopDummy[1]; - uintptr_t version; - void (*addRef)(struct IServer* self); - int (*release)(struct IServer* self); - void (*setOwner)(struct IServer* self, struct IReferenceCounted* r); - struct IReferenceCounted* (*getOwner)(struct IServer* self); - int (*authenticate)(struct IServer* self, struct IStatus* status, struct IServerBlock* sBlock, struct IWriter* writerInterface); - void (*setDbCryptCallback)(struct IServer* self, struct IStatus* status, struct ICryptKeyCallback* cryptCallback); -}; - -struct IServer -{ - void* cloopDummy[1]; - struct IServerVTable* vtable; -}; - -CLOOP_EXTERN_C void IServer_addRef(struct IServer* self); -CLOOP_EXTERN_C int IServer_release(struct IServer* self); -CLOOP_EXTERN_C void IServer_setOwner(struct IServer* self, struct IReferenceCounted* r); -CLOOP_EXTERN_C struct IReferenceCounted* IServer_getOwner(struct IServer* self); -CLOOP_EXTERN_C int IServer_authenticate(struct IServer* self, struct IStatus* status, struct IServerBlock* sBlock, struct IWriter* writerInterface); -CLOOP_EXTERN_C void IServer_setDbCryptCallback(struct IServer* self, struct IStatus* status, struct ICryptKeyCallback* cryptCallback); - -#define IClient_VERSION 5 - -struct IClient; - -struct IClientVTable -{ - void* cloopDummy[1]; - uintptr_t version; - void (*addRef)(struct IClient* self); - int (*release)(struct IClient* self); - void (*setOwner)(struct IClient* self, struct IReferenceCounted* r); - struct IReferenceCounted* (*getOwner)(struct IClient* self); - int (*authenticate)(struct IClient* self, struct IStatus* status, struct IClientBlock* cBlock); -}; - -struct IClient -{ - void* cloopDummy[1]; - struct IClientVTable* vtable; -}; - -CLOOP_EXTERN_C void IClient_addRef(struct IClient* self); -CLOOP_EXTERN_C int IClient_release(struct IClient* self); -CLOOP_EXTERN_C void IClient_setOwner(struct IClient* self, struct IReferenceCounted* r); -CLOOP_EXTERN_C struct IReferenceCounted* IClient_getOwner(struct IClient* self); -CLOOP_EXTERN_C int IClient_authenticate(struct IClient* self, struct IStatus* status, struct IClientBlock* cBlock); - -#define IUserField_VERSION 2 - -struct IUserField; - -struct IUserFieldVTable -{ - void* cloopDummy[1]; - uintptr_t version; - int (*entered)(struct IUserField* self); - int (*specified)(struct IUserField* self); - void (*setEntered)(struct IUserField* self, struct IStatus* status, int newValue); -}; - -struct IUserField -{ - void* cloopDummy[1]; - struct IUserFieldVTable* vtable; -}; - -CLOOP_EXTERN_C int IUserField_entered(struct IUserField* self); -CLOOP_EXTERN_C int IUserField_specified(struct IUserField* self); -CLOOP_EXTERN_C void IUserField_setEntered(struct IUserField* self, struct IStatus* status, int newValue); - -#define ICharUserField_VERSION 3 - -struct ICharUserField; - -struct ICharUserFieldVTable -{ - void* cloopDummy[1]; - uintptr_t version; - int (*entered)(struct ICharUserField* self); - int (*specified)(struct ICharUserField* self); - void (*setEntered)(struct ICharUserField* self, struct IStatus* status, int newValue); - const char* (*get)(struct ICharUserField* self); - void (*set)(struct ICharUserField* self, struct IStatus* status, const char* newValue); -}; - -struct ICharUserField -{ - void* cloopDummy[1]; - struct ICharUserFieldVTable* vtable; -}; - -CLOOP_EXTERN_C int ICharUserField_entered(struct ICharUserField* self); -CLOOP_EXTERN_C int ICharUserField_specified(struct ICharUserField* self); -CLOOP_EXTERN_C void ICharUserField_setEntered(struct ICharUserField* self, struct IStatus* status, int newValue); -CLOOP_EXTERN_C const char* ICharUserField_get(struct ICharUserField* self); -CLOOP_EXTERN_C void ICharUserField_set(struct ICharUserField* self, struct IStatus* status, const char* newValue); - -#define IIntUserField_VERSION 3 - -struct IIntUserField; - -struct IIntUserFieldVTable -{ - void* cloopDummy[1]; - uintptr_t version; - int (*entered)(struct IIntUserField* self); - int (*specified)(struct IIntUserField* self); - void (*setEntered)(struct IIntUserField* self, struct IStatus* status, int newValue); - int (*get)(struct IIntUserField* self); - void (*set)(struct IIntUserField* self, struct IStatus* status, int newValue); -}; - -struct IIntUserField -{ - void* cloopDummy[1]; - struct IIntUserFieldVTable* vtable; -}; - -CLOOP_EXTERN_C int IIntUserField_entered(struct IIntUserField* self); -CLOOP_EXTERN_C int IIntUserField_specified(struct IIntUserField* self); -CLOOP_EXTERN_C void IIntUserField_setEntered(struct IIntUserField* self, struct IStatus* status, int newValue); -CLOOP_EXTERN_C int IIntUserField_get(struct IIntUserField* self); -CLOOP_EXTERN_C void IIntUserField_set(struct IIntUserField* self, struct IStatus* status, int newValue); - -#define IUser_VERSION 2 - -#define IUser_OP_USER_ADD ((unsigned) (1)) -#define IUser_OP_USER_MODIFY ((unsigned) (2)) -#define IUser_OP_USER_DELETE ((unsigned) (3)) -#define IUser_OP_USER_DISPLAY ((unsigned) (4)) -#define IUser_OP_USER_SET_MAP ((unsigned) (5)) -#define IUser_OP_USER_DROP_MAP ((unsigned) (6)) - -struct IUser; - -struct IUserVTable -{ - void* cloopDummy[1]; - uintptr_t version; - unsigned (*operation)(struct IUser* self); - struct ICharUserField* (*userName)(struct IUser* self); - struct ICharUserField* (*password)(struct IUser* self); - struct ICharUserField* (*firstName)(struct IUser* self); - struct ICharUserField* (*lastName)(struct IUser* self); - struct ICharUserField* (*middleName)(struct IUser* self); - struct ICharUserField* (*comment)(struct IUser* self); - struct ICharUserField* (*attributes)(struct IUser* self); - struct IIntUserField* (*active)(struct IUser* self); - struct IIntUserField* (*admin)(struct IUser* self); - void (*clear)(struct IUser* self, struct IStatus* status); -}; - -struct IUser -{ - void* cloopDummy[1]; - struct IUserVTable* vtable; -}; - -CLOOP_EXTERN_C unsigned IUser_operation(struct IUser* self); -CLOOP_EXTERN_C struct ICharUserField* IUser_userName(struct IUser* self); -CLOOP_EXTERN_C struct ICharUserField* IUser_password(struct IUser* self); -CLOOP_EXTERN_C struct ICharUserField* IUser_firstName(struct IUser* self); -CLOOP_EXTERN_C struct ICharUserField* IUser_lastName(struct IUser* self); -CLOOP_EXTERN_C struct ICharUserField* IUser_middleName(struct IUser* self); -CLOOP_EXTERN_C struct ICharUserField* IUser_comment(struct IUser* self); -CLOOP_EXTERN_C struct ICharUserField* IUser_attributes(struct IUser* self); -CLOOP_EXTERN_C struct IIntUserField* IUser_active(struct IUser* self); -CLOOP_EXTERN_C struct IIntUserField* IUser_admin(struct IUser* self); -CLOOP_EXTERN_C void IUser_clear(struct IUser* self, struct IStatus* status); - -#define IListUsers_VERSION 2 - -struct IListUsers; - -struct IListUsersVTable -{ - void* cloopDummy[1]; - uintptr_t version; - void (*list)(struct IListUsers* self, struct IStatus* status, struct IUser* user); -}; - -struct IListUsers -{ - void* cloopDummy[1]; - struct IListUsersVTable* vtable; -}; - -CLOOP_EXTERN_C void IListUsers_list(struct IListUsers* self, struct IStatus* status, struct IUser* user); - -#define ILogonInfo_VERSION 3 - -struct ILogonInfo; - -struct ILogonInfoVTable -{ - void* cloopDummy[1]; - uintptr_t version; - const char* (*name)(struct ILogonInfo* self); - const char* (*role)(struct ILogonInfo* self); - const char* (*networkProtocol)(struct ILogonInfo* self); - const char* (*remoteAddress)(struct ILogonInfo* self); - const unsigned char* (*authBlock)(struct ILogonInfo* self, unsigned* length); - struct IAttachment* (*attachment)(struct ILogonInfo* self, struct IStatus* status); - struct ITransaction* (*transaction)(struct ILogonInfo* self, struct IStatus* status); -}; - -struct ILogonInfo -{ - void* cloopDummy[1]; - struct ILogonInfoVTable* vtable; -}; - -CLOOP_EXTERN_C const char* ILogonInfo_name(struct ILogonInfo* self); -CLOOP_EXTERN_C const char* ILogonInfo_role(struct ILogonInfo* self); -CLOOP_EXTERN_C const char* ILogonInfo_networkProtocol(struct ILogonInfo* self); -CLOOP_EXTERN_C const char* ILogonInfo_remoteAddress(struct ILogonInfo* self); -CLOOP_EXTERN_C const unsigned char* ILogonInfo_authBlock(struct ILogonInfo* self, unsigned* length); -CLOOP_EXTERN_C struct IAttachment* ILogonInfo_attachment(struct ILogonInfo* self, struct IStatus* status); -CLOOP_EXTERN_C struct ITransaction* ILogonInfo_transaction(struct ILogonInfo* self, struct IStatus* status); - -#define IManagement_VERSION 4 - -struct IManagement; - -struct IManagementVTable -{ - void* cloopDummy[1]; - uintptr_t version; - void (*addRef)(struct IManagement* self); - int (*release)(struct IManagement* self); - void (*setOwner)(struct IManagement* self, struct IReferenceCounted* r); - struct IReferenceCounted* (*getOwner)(struct IManagement* self); - void (*start)(struct IManagement* self, struct IStatus* status, struct ILogonInfo* logonInfo); - int (*execute)(struct IManagement* self, struct IStatus* status, struct IUser* user, struct IListUsers* callback); - void (*commit)(struct IManagement* self, struct IStatus* status); - void (*rollback)(struct IManagement* self, struct IStatus* status); -}; - -struct IManagement -{ - void* cloopDummy[1]; - struct IManagementVTable* vtable; -}; - -CLOOP_EXTERN_C void IManagement_addRef(struct IManagement* self); -CLOOP_EXTERN_C int IManagement_release(struct IManagement* self); -CLOOP_EXTERN_C void IManagement_setOwner(struct IManagement* self, struct IReferenceCounted* r); -CLOOP_EXTERN_C struct IReferenceCounted* IManagement_getOwner(struct IManagement* self); -CLOOP_EXTERN_C void IManagement_start(struct IManagement* self, struct IStatus* status, struct ILogonInfo* logonInfo); -CLOOP_EXTERN_C int IManagement_execute(struct IManagement* self, struct IStatus* status, struct IUser* user, struct IListUsers* callback); -CLOOP_EXTERN_C void IManagement_commit(struct IManagement* self, struct IStatus* status); -CLOOP_EXTERN_C void IManagement_rollback(struct IManagement* self, struct IStatus* status); - -#define IAuthBlock_VERSION 2 - -struct IAuthBlock; - -struct IAuthBlockVTable -{ - void* cloopDummy[1]; - uintptr_t version; - const char* (*getType)(struct IAuthBlock* self); - const char* (*getName)(struct IAuthBlock* self); - const char* (*getPlugin)(struct IAuthBlock* self); - const char* (*getSecurityDb)(struct IAuthBlock* self); - const char* (*getOriginalPlugin)(struct IAuthBlock* self); - FB_BOOLEAN (*next)(struct IAuthBlock* self, struct IStatus* status); - FB_BOOLEAN (*first)(struct IAuthBlock* self, struct IStatus* status); -}; - -struct IAuthBlock -{ - void* cloopDummy[1]; - struct IAuthBlockVTable* vtable; -}; - -CLOOP_EXTERN_C const char* IAuthBlock_getType(struct IAuthBlock* self); -CLOOP_EXTERN_C const char* IAuthBlock_getName(struct IAuthBlock* self); -CLOOP_EXTERN_C const char* IAuthBlock_getPlugin(struct IAuthBlock* self); -CLOOP_EXTERN_C const char* IAuthBlock_getSecurityDb(struct IAuthBlock* self); -CLOOP_EXTERN_C const char* IAuthBlock_getOriginalPlugin(struct IAuthBlock* self); -CLOOP_EXTERN_C FB_BOOLEAN IAuthBlock_next(struct IAuthBlock* self, struct IStatus* status); -CLOOP_EXTERN_C FB_BOOLEAN IAuthBlock_first(struct IAuthBlock* self, struct IStatus* status); - -#define IWireCryptPlugin_VERSION 5 - -struct IWireCryptPlugin; - -struct IWireCryptPluginVTable -{ - void* cloopDummy[1]; - uintptr_t version; - void (*addRef)(struct IWireCryptPlugin* self); - int (*release)(struct IWireCryptPlugin* self); - void (*setOwner)(struct IWireCryptPlugin* self, struct IReferenceCounted* r); - struct IReferenceCounted* (*getOwner)(struct IWireCryptPlugin* self); - const char* (*getKnownTypes)(struct IWireCryptPlugin* self, struct IStatus* status); - void (*setKey)(struct IWireCryptPlugin* self, struct IStatus* status, struct ICryptKey* key); - void (*encrypt)(struct IWireCryptPlugin* self, struct IStatus* status, unsigned length, const void* from, void* to); - void (*decrypt)(struct IWireCryptPlugin* self, struct IStatus* status, unsigned length, const void* from, void* to); - const unsigned char* (*getSpecificData)(struct IWireCryptPlugin* self, struct IStatus* status, const char* keyType, unsigned* length); - void (*setSpecificData)(struct IWireCryptPlugin* self, struct IStatus* status, const char* keyType, unsigned length, const unsigned char* data); -}; - -struct IWireCryptPlugin -{ - void* cloopDummy[1]; - struct IWireCryptPluginVTable* vtable; -}; - -CLOOP_EXTERN_C void IWireCryptPlugin_addRef(struct IWireCryptPlugin* self); -CLOOP_EXTERN_C int IWireCryptPlugin_release(struct IWireCryptPlugin* self); -CLOOP_EXTERN_C void IWireCryptPlugin_setOwner(struct IWireCryptPlugin* self, struct IReferenceCounted* r); -CLOOP_EXTERN_C struct IReferenceCounted* IWireCryptPlugin_getOwner(struct IWireCryptPlugin* self); -CLOOP_EXTERN_C const char* IWireCryptPlugin_getKnownTypes(struct IWireCryptPlugin* self, struct IStatus* status); -CLOOP_EXTERN_C void IWireCryptPlugin_setKey(struct IWireCryptPlugin* self, struct IStatus* status, struct ICryptKey* key); -CLOOP_EXTERN_C void IWireCryptPlugin_encrypt(struct IWireCryptPlugin* self, struct IStatus* status, unsigned length, const void* from, void* to); -CLOOP_EXTERN_C void IWireCryptPlugin_decrypt(struct IWireCryptPlugin* self, struct IStatus* status, unsigned length, const void* from, void* to); -CLOOP_EXTERN_C const unsigned char* IWireCryptPlugin_getSpecificData(struct IWireCryptPlugin* self, struct IStatus* status, const char* keyType, unsigned* length); -CLOOP_EXTERN_C void IWireCryptPlugin_setSpecificData(struct IWireCryptPlugin* self, struct IStatus* status, const char* keyType, unsigned length, const unsigned char* data); - -#define ICryptKeyCallback_VERSION 3 - -#define ICryptKeyCallback_NO_RETRY ((unsigned) (0)) -#define ICryptKeyCallback_DO_RETRY ((unsigned) (1)) - -struct ICryptKeyCallback; - -struct ICryptKeyCallbackVTable -{ - void* cloopDummy[1]; - uintptr_t version; - unsigned (*callback)(struct ICryptKeyCallback* self, unsigned dataLength, const void* data, unsigned bufferLength, void* buffer); - unsigned (*afterAttach)(struct ICryptKeyCallback* self, struct IStatus* status, const char* dbName, const struct IStatus* attStatus); - void (*dispose)(struct ICryptKeyCallback* self); -}; - -struct ICryptKeyCallback -{ - void* cloopDummy[1]; - struct ICryptKeyCallbackVTable* vtable; -}; - -CLOOP_EXTERN_C unsigned ICryptKeyCallback_callback(struct ICryptKeyCallback* self, unsigned dataLength, const void* data, unsigned bufferLength, void* buffer); -CLOOP_EXTERN_C unsigned ICryptKeyCallback_afterAttach(struct ICryptKeyCallback* self, struct IStatus* status, const char* dbName, const struct IStatus* attStatus); -CLOOP_EXTERN_C void ICryptKeyCallback_dispose(struct ICryptKeyCallback* self); - -#define IKeyHolderPlugin_VERSION 5 - -struct IKeyHolderPlugin; - -struct IKeyHolderPluginVTable -{ - void* cloopDummy[1]; - uintptr_t version; - void (*addRef)(struct IKeyHolderPlugin* self); - int (*release)(struct IKeyHolderPlugin* self); - void (*setOwner)(struct IKeyHolderPlugin* self, struct IReferenceCounted* r); - struct IReferenceCounted* (*getOwner)(struct IKeyHolderPlugin* self); - int (*keyCallback)(struct IKeyHolderPlugin* self, struct IStatus* status, struct ICryptKeyCallback* callback); - struct ICryptKeyCallback* (*keyHandle)(struct IKeyHolderPlugin* self, struct IStatus* status, const char* keyName); - FB_BOOLEAN (*useOnlyOwnKeys)(struct IKeyHolderPlugin* self, struct IStatus* status); - struct ICryptKeyCallback* (*chainHandle)(struct IKeyHolderPlugin* self, struct IStatus* status); -}; - -struct IKeyHolderPlugin -{ - void* cloopDummy[1]; - struct IKeyHolderPluginVTable* vtable; -}; - -CLOOP_EXTERN_C void IKeyHolderPlugin_addRef(struct IKeyHolderPlugin* self); -CLOOP_EXTERN_C int IKeyHolderPlugin_release(struct IKeyHolderPlugin* self); -CLOOP_EXTERN_C void IKeyHolderPlugin_setOwner(struct IKeyHolderPlugin* self, struct IReferenceCounted* r); -CLOOP_EXTERN_C struct IReferenceCounted* IKeyHolderPlugin_getOwner(struct IKeyHolderPlugin* self); -CLOOP_EXTERN_C int IKeyHolderPlugin_keyCallback(struct IKeyHolderPlugin* self, struct IStatus* status, struct ICryptKeyCallback* callback); -CLOOP_EXTERN_C struct ICryptKeyCallback* IKeyHolderPlugin_keyHandle(struct IKeyHolderPlugin* self, struct IStatus* status, const char* keyName); -CLOOP_EXTERN_C FB_BOOLEAN IKeyHolderPlugin_useOnlyOwnKeys(struct IKeyHolderPlugin* self, struct IStatus* status); -CLOOP_EXTERN_C struct ICryptKeyCallback* IKeyHolderPlugin_chainHandle(struct IKeyHolderPlugin* self, struct IStatus* status); - -#define IDbCryptInfo_VERSION 3 - -struct IDbCryptInfo; - -struct IDbCryptInfoVTable -{ - void* cloopDummy[1]; - uintptr_t version; - void (*addRef)(struct IDbCryptInfo* self); - int (*release)(struct IDbCryptInfo* self); - const char* (*getDatabaseFullPath)(struct IDbCryptInfo* self, struct IStatus* status); -}; - -struct IDbCryptInfo -{ - void* cloopDummy[1]; - struct IDbCryptInfoVTable* vtable; -}; - -CLOOP_EXTERN_C void IDbCryptInfo_addRef(struct IDbCryptInfo* self); -CLOOP_EXTERN_C int IDbCryptInfo_release(struct IDbCryptInfo* self); -CLOOP_EXTERN_C const char* IDbCryptInfo_getDatabaseFullPath(struct IDbCryptInfo* self, struct IStatus* status); - -#define IDbCryptPlugin_VERSION 5 - -struct IDbCryptPlugin; - -struct IDbCryptPluginVTable -{ - void* cloopDummy[1]; - uintptr_t version; - void (*addRef)(struct IDbCryptPlugin* self); - int (*release)(struct IDbCryptPlugin* self); - void (*setOwner)(struct IDbCryptPlugin* self, struct IReferenceCounted* r); - struct IReferenceCounted* (*getOwner)(struct IDbCryptPlugin* self); - void (*setKey)(struct IDbCryptPlugin* self, struct IStatus* status, unsigned length, struct IKeyHolderPlugin** sources, const char* keyName); - void (*encrypt)(struct IDbCryptPlugin* self, struct IStatus* status, unsigned length, const void* from, void* to); - void (*decrypt)(struct IDbCryptPlugin* self, struct IStatus* status, unsigned length, const void* from, void* to); - void (*setInfo)(struct IDbCryptPlugin* self, struct IStatus* status, struct IDbCryptInfo* info); -}; - -struct IDbCryptPlugin -{ - void* cloopDummy[1]; - struct IDbCryptPluginVTable* vtable; -}; - -CLOOP_EXTERN_C void IDbCryptPlugin_addRef(struct IDbCryptPlugin* self); -CLOOP_EXTERN_C int IDbCryptPlugin_release(struct IDbCryptPlugin* self); -CLOOP_EXTERN_C void IDbCryptPlugin_setOwner(struct IDbCryptPlugin* self, struct IReferenceCounted* r); -CLOOP_EXTERN_C struct IReferenceCounted* IDbCryptPlugin_getOwner(struct IDbCryptPlugin* self); -CLOOP_EXTERN_C void IDbCryptPlugin_setKey(struct IDbCryptPlugin* self, struct IStatus* status, unsigned length, struct IKeyHolderPlugin** sources, const char* keyName); -CLOOP_EXTERN_C void IDbCryptPlugin_encrypt(struct IDbCryptPlugin* self, struct IStatus* status, unsigned length, const void* from, void* to); -CLOOP_EXTERN_C void IDbCryptPlugin_decrypt(struct IDbCryptPlugin* self, struct IStatus* status, unsigned length, const void* from, void* to); -CLOOP_EXTERN_C void IDbCryptPlugin_setInfo(struct IDbCryptPlugin* self, struct IStatus* status, struct IDbCryptInfo* info); - -#define IExternalContext_VERSION 2 - -struct IExternalContext; - -struct IExternalContextVTable -{ - void* cloopDummy[1]; - uintptr_t version; - struct IMaster* (*getMaster)(struct IExternalContext* self); - struct IExternalEngine* (*getEngine)(struct IExternalContext* self, struct IStatus* status); - struct IAttachment* (*getAttachment)(struct IExternalContext* self, struct IStatus* status); - struct ITransaction* (*getTransaction)(struct IExternalContext* self, struct IStatus* status); - const char* (*getUserName)(struct IExternalContext* self); - const char* (*getDatabaseName)(struct IExternalContext* self); - const char* (*getClientCharSet)(struct IExternalContext* self); - int (*obtainInfoCode)(struct IExternalContext* self); - void* (*getInfo)(struct IExternalContext* self, int code); - void* (*setInfo)(struct IExternalContext* self, int code, void* value); -}; - -struct IExternalContext -{ - void* cloopDummy[1]; - struct IExternalContextVTable* vtable; -}; - -CLOOP_EXTERN_C struct IMaster* IExternalContext_getMaster(struct IExternalContext* self); -CLOOP_EXTERN_C struct IExternalEngine* IExternalContext_getEngine(struct IExternalContext* self, struct IStatus* status); -CLOOP_EXTERN_C struct IAttachment* IExternalContext_getAttachment(struct IExternalContext* self, struct IStatus* status); -CLOOP_EXTERN_C struct ITransaction* IExternalContext_getTransaction(struct IExternalContext* self, struct IStatus* status); -CLOOP_EXTERN_C const char* IExternalContext_getUserName(struct IExternalContext* self); -CLOOP_EXTERN_C const char* IExternalContext_getDatabaseName(struct IExternalContext* self); -CLOOP_EXTERN_C const char* IExternalContext_getClientCharSet(struct IExternalContext* self); -CLOOP_EXTERN_C int IExternalContext_obtainInfoCode(struct IExternalContext* self); -CLOOP_EXTERN_C void* IExternalContext_getInfo(struct IExternalContext* self, int code); -CLOOP_EXTERN_C void* IExternalContext_setInfo(struct IExternalContext* self, int code, void* value); - -#define IExternalResultSet_VERSION 3 - -struct IExternalResultSet; - -struct IExternalResultSetVTable -{ - void* cloopDummy[1]; - uintptr_t version; - void (*dispose)(struct IExternalResultSet* self); - FB_BOOLEAN (*fetch)(struct IExternalResultSet* self, struct IStatus* status); -}; - -struct IExternalResultSet -{ - void* cloopDummy[1]; - struct IExternalResultSetVTable* vtable; -}; - -CLOOP_EXTERN_C void IExternalResultSet_dispose(struct IExternalResultSet* self); -CLOOP_EXTERN_C FB_BOOLEAN IExternalResultSet_fetch(struct IExternalResultSet* self, struct IStatus* status); - -#define IExternalFunction_VERSION 3 - -struct IExternalFunction; - -struct IExternalFunctionVTable -{ - void* cloopDummy[1]; - uintptr_t version; - void (*dispose)(struct IExternalFunction* self); - void (*getCharSet)(struct IExternalFunction* self, struct IStatus* status, struct IExternalContext* context, char* name, unsigned nameSize); - void (*execute)(struct IExternalFunction* self, struct IStatus* status, struct IExternalContext* context, void* inMsg, void* outMsg); -}; - -struct IExternalFunction -{ - void* cloopDummy[1]; - struct IExternalFunctionVTable* vtable; -}; - -CLOOP_EXTERN_C void IExternalFunction_dispose(struct IExternalFunction* self); -CLOOP_EXTERN_C void IExternalFunction_getCharSet(struct IExternalFunction* self, struct IStatus* status, struct IExternalContext* context, char* name, unsigned nameSize); -CLOOP_EXTERN_C void IExternalFunction_execute(struct IExternalFunction* self, struct IStatus* status, struct IExternalContext* context, void* inMsg, void* outMsg); - -#define IExternalProcedure_VERSION 3 - -struct IExternalProcedure; - -struct IExternalProcedureVTable -{ - void* cloopDummy[1]; - uintptr_t version; - void (*dispose)(struct IExternalProcedure* self); - void (*getCharSet)(struct IExternalProcedure* self, struct IStatus* status, struct IExternalContext* context, char* name, unsigned nameSize); - struct IExternalResultSet* (*open)(struct IExternalProcedure* self, struct IStatus* status, struct IExternalContext* context, void* inMsg, void* outMsg); -}; - -struct IExternalProcedure -{ - void* cloopDummy[1]; - struct IExternalProcedureVTable* vtable; -}; - -CLOOP_EXTERN_C void IExternalProcedure_dispose(struct IExternalProcedure* self); -CLOOP_EXTERN_C void IExternalProcedure_getCharSet(struct IExternalProcedure* self, struct IStatus* status, struct IExternalContext* context, char* name, unsigned nameSize); -CLOOP_EXTERN_C struct IExternalResultSet* IExternalProcedure_open(struct IExternalProcedure* self, struct IStatus* status, struct IExternalContext* context, void* inMsg, void* outMsg); - -#define IExternalTrigger_VERSION 3 - -#define IExternalTrigger_TYPE_BEFORE ((unsigned) (1)) -#define IExternalTrigger_TYPE_AFTER ((unsigned) (2)) -#define IExternalTrigger_TYPE_DATABASE ((unsigned) (3)) -#define IExternalTrigger_ACTION_INSERT ((unsigned) (1)) -#define IExternalTrigger_ACTION_UPDATE ((unsigned) (2)) -#define IExternalTrigger_ACTION_DELETE ((unsigned) (3)) -#define IExternalTrigger_ACTION_CONNECT ((unsigned) (4)) -#define IExternalTrigger_ACTION_DISCONNECT ((unsigned) (5)) -#define IExternalTrigger_ACTION_TRANS_START ((unsigned) (6)) -#define IExternalTrigger_ACTION_TRANS_COMMIT ((unsigned) (7)) -#define IExternalTrigger_ACTION_TRANS_ROLLBACK ((unsigned) (8)) -#define IExternalTrigger_ACTION_DDL ((unsigned) (9)) - -struct IExternalTrigger; - -struct IExternalTriggerVTable -{ - void* cloopDummy[1]; - uintptr_t version; - void (*dispose)(struct IExternalTrigger* self); - void (*getCharSet)(struct IExternalTrigger* self, struct IStatus* status, struct IExternalContext* context, char* name, unsigned nameSize); - void (*execute)(struct IExternalTrigger* self, struct IStatus* status, struct IExternalContext* context, unsigned action, void* oldMsg, void* newMsg); -}; - -struct IExternalTrigger -{ - void* cloopDummy[1]; - struct IExternalTriggerVTable* vtable; -}; - -CLOOP_EXTERN_C void IExternalTrigger_dispose(struct IExternalTrigger* self); -CLOOP_EXTERN_C void IExternalTrigger_getCharSet(struct IExternalTrigger* self, struct IStatus* status, struct IExternalContext* context, char* name, unsigned nameSize); -CLOOP_EXTERN_C void IExternalTrigger_execute(struct IExternalTrigger* self, struct IStatus* status, struct IExternalContext* context, unsigned action, void* oldMsg, void* newMsg); - -#define IRoutineMetadata_VERSION 2 - -struct IRoutineMetadata; - -struct IRoutineMetadataVTable -{ - void* cloopDummy[1]; - uintptr_t version; - const char* (*getPackage)(const struct IRoutineMetadata* self, struct IStatus* status); - const char* (*getName)(const struct IRoutineMetadata* self, struct IStatus* status); - const char* (*getEntryPoint)(const struct IRoutineMetadata* self, struct IStatus* status); - const char* (*getBody)(const struct IRoutineMetadata* self, struct IStatus* status); - struct IMessageMetadata* (*getInputMetadata)(const struct IRoutineMetadata* self, struct IStatus* status); - struct IMessageMetadata* (*getOutputMetadata)(const struct IRoutineMetadata* self, struct IStatus* status); - struct IMessageMetadata* (*getTriggerMetadata)(const struct IRoutineMetadata* self, struct IStatus* status); - const char* (*getTriggerTable)(const struct IRoutineMetadata* self, struct IStatus* status); - unsigned (*getTriggerType)(const struct IRoutineMetadata* self, struct IStatus* status); -}; - -struct IRoutineMetadata -{ - void* cloopDummy[1]; - struct IRoutineMetadataVTable* vtable; -}; - -CLOOP_EXTERN_C const char* IRoutineMetadata_getPackage(const struct IRoutineMetadata* self, struct IStatus* status); -CLOOP_EXTERN_C const char* IRoutineMetadata_getName(const struct IRoutineMetadata* self, struct IStatus* status); -CLOOP_EXTERN_C const char* IRoutineMetadata_getEntryPoint(const struct IRoutineMetadata* self, struct IStatus* status); -CLOOP_EXTERN_C const char* IRoutineMetadata_getBody(const struct IRoutineMetadata* self, struct IStatus* status); -CLOOP_EXTERN_C struct IMessageMetadata* IRoutineMetadata_getInputMetadata(const struct IRoutineMetadata* self, struct IStatus* status); -CLOOP_EXTERN_C struct IMessageMetadata* IRoutineMetadata_getOutputMetadata(const struct IRoutineMetadata* self, struct IStatus* status); -CLOOP_EXTERN_C struct IMessageMetadata* IRoutineMetadata_getTriggerMetadata(const struct IRoutineMetadata* self, struct IStatus* status); -CLOOP_EXTERN_C const char* IRoutineMetadata_getTriggerTable(const struct IRoutineMetadata* self, struct IStatus* status); -CLOOP_EXTERN_C unsigned IRoutineMetadata_getTriggerType(const struct IRoutineMetadata* self, struct IStatus* status); - -#define IExternalEngine_VERSION 4 - -struct IExternalEngine; - -struct IExternalEngineVTable -{ - void* cloopDummy[1]; - uintptr_t version; - void (*addRef)(struct IExternalEngine* self); - int (*release)(struct IExternalEngine* self); - void (*setOwner)(struct IExternalEngine* self, struct IReferenceCounted* r); - struct IReferenceCounted* (*getOwner)(struct IExternalEngine* self); - void (*open)(struct IExternalEngine* self, struct IStatus* status, struct IExternalContext* context, char* charSet, unsigned charSetSize); - void (*openAttachment)(struct IExternalEngine* self, struct IStatus* status, struct IExternalContext* context); - void (*closeAttachment)(struct IExternalEngine* self, struct IStatus* status, struct IExternalContext* context); - struct IExternalFunction* (*makeFunction)(struct IExternalEngine* self, struct IStatus* status, struct IExternalContext* context, struct IRoutineMetadata* metadata, struct IMetadataBuilder* inBuilder, struct IMetadataBuilder* outBuilder); - struct IExternalProcedure* (*makeProcedure)(struct IExternalEngine* self, struct IStatus* status, struct IExternalContext* context, struct IRoutineMetadata* metadata, struct IMetadataBuilder* inBuilder, struct IMetadataBuilder* outBuilder); - struct IExternalTrigger* (*makeTrigger)(struct IExternalEngine* self, struct IStatus* status, struct IExternalContext* context, struct IRoutineMetadata* metadata, struct IMetadataBuilder* fieldsBuilder); -}; - -struct IExternalEngine -{ - void* cloopDummy[1]; - struct IExternalEngineVTable* vtable; -}; - -CLOOP_EXTERN_C void IExternalEngine_addRef(struct IExternalEngine* self); -CLOOP_EXTERN_C int IExternalEngine_release(struct IExternalEngine* self); -CLOOP_EXTERN_C void IExternalEngine_setOwner(struct IExternalEngine* self, struct IReferenceCounted* r); -CLOOP_EXTERN_C struct IReferenceCounted* IExternalEngine_getOwner(struct IExternalEngine* self); -CLOOP_EXTERN_C void IExternalEngine_open(struct IExternalEngine* self, struct IStatus* status, struct IExternalContext* context, char* charSet, unsigned charSetSize); -CLOOP_EXTERN_C void IExternalEngine_openAttachment(struct IExternalEngine* self, struct IStatus* status, struct IExternalContext* context); -CLOOP_EXTERN_C void IExternalEngine_closeAttachment(struct IExternalEngine* self, struct IStatus* status, struct IExternalContext* context); -CLOOP_EXTERN_C struct IExternalFunction* IExternalEngine_makeFunction(struct IExternalEngine* self, struct IStatus* status, struct IExternalContext* context, struct IRoutineMetadata* metadata, struct IMetadataBuilder* inBuilder, struct IMetadataBuilder* outBuilder); -CLOOP_EXTERN_C struct IExternalProcedure* IExternalEngine_makeProcedure(struct IExternalEngine* self, struct IStatus* status, struct IExternalContext* context, struct IRoutineMetadata* metadata, struct IMetadataBuilder* inBuilder, struct IMetadataBuilder* outBuilder); -CLOOP_EXTERN_C struct IExternalTrigger* IExternalEngine_makeTrigger(struct IExternalEngine* self, struct IStatus* status, struct IExternalContext* context, struct IRoutineMetadata* metadata, struct IMetadataBuilder* fieldsBuilder); - -#define ITimer_VERSION 3 - -struct ITimer; - -struct ITimerVTable -{ - void* cloopDummy[1]; - uintptr_t version; - void (*addRef)(struct ITimer* self); - int (*release)(struct ITimer* self); - void (*handler)(struct ITimer* self); -}; - -struct ITimer -{ - void* cloopDummy[1]; - struct ITimerVTable* vtable; -}; - -CLOOP_EXTERN_C void ITimer_addRef(struct ITimer* self); -CLOOP_EXTERN_C int ITimer_release(struct ITimer* self); -CLOOP_EXTERN_C void ITimer_handler(struct ITimer* self); - -#define ITimerControl_VERSION 2 - -struct ITimerControl; - -struct ITimerControlVTable -{ - void* cloopDummy[1]; - uintptr_t version; - void (*start)(struct ITimerControl* self, struct IStatus* status, struct ITimer* timer, ISC_UINT64 microSeconds); - void (*stop)(struct ITimerControl* self, struct IStatus* status, struct ITimer* timer); -}; - -struct ITimerControl -{ - void* cloopDummy[1]; - struct ITimerControlVTable* vtable; -}; - -CLOOP_EXTERN_C void ITimerControl_start(struct ITimerControl* self, struct IStatus* status, struct ITimer* timer, ISC_UINT64 microSeconds); -CLOOP_EXTERN_C void ITimerControl_stop(struct ITimerControl* self, struct IStatus* status, struct ITimer* timer); - -#define IVersionCallback_VERSION 2 - -struct IVersionCallback; - -struct IVersionCallbackVTable -{ - void* cloopDummy[1]; - uintptr_t version; - void (*callback)(struct IVersionCallback* self, struct IStatus* status, const char* text); -}; - -struct IVersionCallback -{ - void* cloopDummy[1]; - struct IVersionCallbackVTable* vtable; -}; - -CLOOP_EXTERN_C void IVersionCallback_callback(struct IVersionCallback* self, struct IStatus* status, const char* text); - -#define IUtil_VERSION 4 - -struct IUtil; - -struct IUtilVTable -{ - void* cloopDummy[1]; - uintptr_t version; - void (*getFbVersion)(struct IUtil* self, struct IStatus* status, struct IAttachment* att, struct IVersionCallback* callback); - void (*loadBlob)(struct IUtil* self, struct IStatus* status, ISC_QUAD* blobId, struct IAttachment* att, struct ITransaction* tra, const char* file, FB_BOOLEAN txt); - void (*dumpBlob)(struct IUtil* self, struct IStatus* status, ISC_QUAD* blobId, struct IAttachment* att, struct ITransaction* tra, const char* file, FB_BOOLEAN txt); - void (*getPerfCounters)(struct IUtil* self, struct IStatus* status, struct IAttachment* att, const char* countersSet, ISC_INT64* counters); - struct IAttachment* (*executeCreateDatabase)(struct IUtil* self, struct IStatus* status, unsigned stmtLength, const char* creatDBstatement, unsigned dialect, FB_BOOLEAN* stmtIsCreateDb); - void (*decodeDate)(struct IUtil* self, ISC_DATE date, unsigned* year, unsigned* month, unsigned* day); - void (*decodeTime)(struct IUtil* self, ISC_TIME time, unsigned* hours, unsigned* minutes, unsigned* seconds, unsigned* fractions); - ISC_DATE (*encodeDate)(struct IUtil* self, unsigned year, unsigned month, unsigned day); - ISC_TIME (*encodeTime)(struct IUtil* self, unsigned hours, unsigned minutes, unsigned seconds, unsigned fractions); - unsigned (*formatStatus)(struct IUtil* self, char* buffer, unsigned bufferSize, struct IStatus* status); - unsigned (*getClientVersion)(struct IUtil* self); - struct IXpbBuilder* (*getXpbBuilder)(struct IUtil* self, struct IStatus* status, unsigned kind, const unsigned char* buf, unsigned len); - unsigned (*setOffsets)(struct IUtil* self, struct IStatus* status, struct IMessageMetadata* metadata, struct IOffsetsCallback* callback); - struct IDecFloat16* (*getDecFloat16)(struct IUtil* self, struct IStatus* status); - struct IDecFloat34* (*getDecFloat34)(struct IUtil* self, struct IStatus* status); - void (*decodeTimeTz)(struct IUtil* self, struct IStatus* status, const ISC_TIME_TZ* timeTz, unsigned* hours, unsigned* minutes, unsigned* seconds, unsigned* fractions, unsigned timeZoneBufferLength, char* timeZoneBuffer); - void (*decodeTimeStampTz)(struct IUtil* self, struct IStatus* status, const ISC_TIMESTAMP_TZ* timeStampTz, unsigned* year, unsigned* month, unsigned* day, unsigned* hours, unsigned* minutes, unsigned* seconds, unsigned* fractions, unsigned timeZoneBufferLength, char* timeZoneBuffer); - void (*encodeTimeTz)(struct IUtil* self, struct IStatus* status, ISC_TIME_TZ* timeTz, unsigned hours, unsigned minutes, unsigned seconds, unsigned fractions, const char* timeZone); - void (*encodeTimeStampTz)(struct IUtil* self, struct IStatus* status, ISC_TIMESTAMP_TZ* timeStampTz, unsigned year, unsigned month, unsigned day, unsigned hours, unsigned minutes, unsigned seconds, unsigned fractions, const char* timeZone); - struct IInt128* (*getInt128)(struct IUtil* self, struct IStatus* status); - void (*decodeTimeTzEx)(struct IUtil* self, struct IStatus* status, const ISC_TIME_TZ_EX* timeTz, unsigned* hours, unsigned* minutes, unsigned* seconds, unsigned* fractions, unsigned timeZoneBufferLength, char* timeZoneBuffer); - void (*decodeTimeStampTzEx)(struct IUtil* self, struct IStatus* status, const ISC_TIMESTAMP_TZ_EX* timeStampTz, unsigned* year, unsigned* month, unsigned* day, unsigned* hours, unsigned* minutes, unsigned* seconds, unsigned* fractions, unsigned timeZoneBufferLength, char* timeZoneBuffer); -}; - -struct IUtil -{ - void* cloopDummy[1]; - struct IUtilVTable* vtable; -}; - -CLOOP_EXTERN_C void IUtil_getFbVersion(struct IUtil* self, struct IStatus* status, struct IAttachment* att, struct IVersionCallback* callback); -CLOOP_EXTERN_C void IUtil_loadBlob(struct IUtil* self, struct IStatus* status, ISC_QUAD* blobId, struct IAttachment* att, struct ITransaction* tra, const char* file, FB_BOOLEAN txt); -CLOOP_EXTERN_C void IUtil_dumpBlob(struct IUtil* self, struct IStatus* status, ISC_QUAD* blobId, struct IAttachment* att, struct ITransaction* tra, const char* file, FB_BOOLEAN txt); -CLOOP_EXTERN_C void IUtil_getPerfCounters(struct IUtil* self, struct IStatus* status, struct IAttachment* att, const char* countersSet, ISC_INT64* counters); -CLOOP_EXTERN_C struct IAttachment* IUtil_executeCreateDatabase(struct IUtil* self, struct IStatus* status, unsigned stmtLength, const char* creatDBstatement, unsigned dialect, FB_BOOLEAN* stmtIsCreateDb); -CLOOP_EXTERN_C void IUtil_decodeDate(struct IUtil* self, ISC_DATE date, unsigned* year, unsigned* month, unsigned* day); -CLOOP_EXTERN_C void IUtil_decodeTime(struct IUtil* self, ISC_TIME time, unsigned* hours, unsigned* minutes, unsigned* seconds, unsigned* fractions); -CLOOP_EXTERN_C ISC_DATE IUtil_encodeDate(struct IUtil* self, unsigned year, unsigned month, unsigned day); -CLOOP_EXTERN_C ISC_TIME IUtil_encodeTime(struct IUtil* self, unsigned hours, unsigned minutes, unsigned seconds, unsigned fractions); -CLOOP_EXTERN_C unsigned IUtil_formatStatus(struct IUtil* self, char* buffer, unsigned bufferSize, struct IStatus* status); -CLOOP_EXTERN_C unsigned IUtil_getClientVersion(struct IUtil* self); -CLOOP_EXTERN_C struct IXpbBuilder* IUtil_getXpbBuilder(struct IUtil* self, struct IStatus* status, unsigned kind, const unsigned char* buf, unsigned len); -CLOOP_EXTERN_C unsigned IUtil_setOffsets(struct IUtil* self, struct IStatus* status, struct IMessageMetadata* metadata, struct IOffsetsCallback* callback); -CLOOP_EXTERN_C struct IDecFloat16* IUtil_getDecFloat16(struct IUtil* self, struct IStatus* status); -CLOOP_EXTERN_C struct IDecFloat34* IUtil_getDecFloat34(struct IUtil* self, struct IStatus* status); -CLOOP_EXTERN_C void IUtil_decodeTimeTz(struct IUtil* self, struct IStatus* status, const ISC_TIME_TZ* timeTz, unsigned* hours, unsigned* minutes, unsigned* seconds, unsigned* fractions, unsigned timeZoneBufferLength, char* timeZoneBuffer); -CLOOP_EXTERN_C void IUtil_decodeTimeStampTz(struct IUtil* self, struct IStatus* status, const ISC_TIMESTAMP_TZ* timeStampTz, unsigned* year, unsigned* month, unsigned* day, unsigned* hours, unsigned* minutes, unsigned* seconds, unsigned* fractions, unsigned timeZoneBufferLength, char* timeZoneBuffer); -CLOOP_EXTERN_C void IUtil_encodeTimeTz(struct IUtil* self, struct IStatus* status, ISC_TIME_TZ* timeTz, unsigned hours, unsigned minutes, unsigned seconds, unsigned fractions, const char* timeZone); -CLOOP_EXTERN_C void IUtil_encodeTimeStampTz(struct IUtil* self, struct IStatus* status, ISC_TIMESTAMP_TZ* timeStampTz, unsigned year, unsigned month, unsigned day, unsigned hours, unsigned minutes, unsigned seconds, unsigned fractions, const char* timeZone); -CLOOP_EXTERN_C struct IInt128* IUtil_getInt128(struct IUtil* self, struct IStatus* status); -CLOOP_EXTERN_C void IUtil_decodeTimeTzEx(struct IUtil* self, struct IStatus* status, const ISC_TIME_TZ_EX* timeTz, unsigned* hours, unsigned* minutes, unsigned* seconds, unsigned* fractions, unsigned timeZoneBufferLength, char* timeZoneBuffer); -CLOOP_EXTERN_C void IUtil_decodeTimeStampTzEx(struct IUtil* self, struct IStatus* status, const ISC_TIMESTAMP_TZ_EX* timeStampTz, unsigned* year, unsigned* month, unsigned* day, unsigned* hours, unsigned* minutes, unsigned* seconds, unsigned* fractions, unsigned timeZoneBufferLength, char* timeZoneBuffer); - -#define IOffsetsCallback_VERSION 2 - -struct IOffsetsCallback; - -struct IOffsetsCallbackVTable -{ - void* cloopDummy[1]; - uintptr_t version; - void (*setOffset)(struct IOffsetsCallback* self, struct IStatus* status, unsigned index, unsigned offset, unsigned nullOffset); -}; - -struct IOffsetsCallback -{ - void* cloopDummy[1]; - struct IOffsetsCallbackVTable* vtable; -}; - -CLOOP_EXTERN_C void IOffsetsCallback_setOffset(struct IOffsetsCallback* self, struct IStatus* status, unsigned index, unsigned offset, unsigned nullOffset); - -#define IXpbBuilder_VERSION 3 - -#define IXpbBuilder_DPB ((unsigned) (1)) -#define IXpbBuilder_SPB_ATTACH ((unsigned) (2)) -#define IXpbBuilder_SPB_START ((unsigned) (3)) -#define IXpbBuilder_TPB ((unsigned) (4)) -#define IXpbBuilder_BATCH ((unsigned) (5)) -#define IXpbBuilder_BPB ((unsigned) (6)) -#define IXpbBuilder_SPB_SEND ((unsigned) (7)) -#define IXpbBuilder_SPB_RECEIVE ((unsigned) (8)) -#define IXpbBuilder_SPB_RESPONSE ((unsigned) (9)) -#define IXpbBuilder_INFO_SEND ((unsigned) (10)) -#define IXpbBuilder_INFO_RESPONSE ((unsigned) (11)) - -struct IXpbBuilder; - -struct IXpbBuilderVTable -{ - void* cloopDummy[1]; - uintptr_t version; - void (*dispose)(struct IXpbBuilder* self); - void (*clear)(struct IXpbBuilder* self, struct IStatus* status); - void (*removeCurrent)(struct IXpbBuilder* self, struct IStatus* status); - void (*insertInt)(struct IXpbBuilder* self, struct IStatus* status, unsigned char tag, int value); - void (*insertBigInt)(struct IXpbBuilder* self, struct IStatus* status, unsigned char tag, ISC_INT64 value); - void (*insertBytes)(struct IXpbBuilder* self, struct IStatus* status, unsigned char tag, const void* bytes, unsigned length); - void (*insertString)(struct IXpbBuilder* self, struct IStatus* status, unsigned char tag, const char* str); - void (*insertTag)(struct IXpbBuilder* self, struct IStatus* status, unsigned char tag); - FB_BOOLEAN (*isEof)(struct IXpbBuilder* self, struct IStatus* status); - void (*moveNext)(struct IXpbBuilder* self, struct IStatus* status); - void (*rewind)(struct IXpbBuilder* self, struct IStatus* status); - FB_BOOLEAN (*findFirst)(struct IXpbBuilder* self, struct IStatus* status, unsigned char tag); - FB_BOOLEAN (*findNext)(struct IXpbBuilder* self, struct IStatus* status); - unsigned char (*getTag)(struct IXpbBuilder* self, struct IStatus* status); - unsigned (*getLength)(struct IXpbBuilder* self, struct IStatus* status); - int (*getInt)(struct IXpbBuilder* self, struct IStatus* status); - ISC_INT64 (*getBigInt)(struct IXpbBuilder* self, struct IStatus* status); - const char* (*getString)(struct IXpbBuilder* self, struct IStatus* status); - const unsigned char* (*getBytes)(struct IXpbBuilder* self, struct IStatus* status); - unsigned (*getBufferLength)(struct IXpbBuilder* self, struct IStatus* status); - const unsigned char* (*getBuffer)(struct IXpbBuilder* self, struct IStatus* status); -}; - -struct IXpbBuilder -{ - void* cloopDummy[1]; - struct IXpbBuilderVTable* vtable; -}; - -CLOOP_EXTERN_C void IXpbBuilder_dispose(struct IXpbBuilder* self); -CLOOP_EXTERN_C void IXpbBuilder_clear(struct IXpbBuilder* self, struct IStatus* status); -CLOOP_EXTERN_C void IXpbBuilder_removeCurrent(struct IXpbBuilder* self, struct IStatus* status); -CLOOP_EXTERN_C void IXpbBuilder_insertInt(struct IXpbBuilder* self, struct IStatus* status, unsigned char tag, int value); -CLOOP_EXTERN_C void IXpbBuilder_insertBigInt(struct IXpbBuilder* self, struct IStatus* status, unsigned char tag, ISC_INT64 value); -CLOOP_EXTERN_C void IXpbBuilder_insertBytes(struct IXpbBuilder* self, struct IStatus* status, unsigned char tag, const void* bytes, unsigned length); -CLOOP_EXTERN_C void IXpbBuilder_insertString(struct IXpbBuilder* self, struct IStatus* status, unsigned char tag, const char* str); -CLOOP_EXTERN_C void IXpbBuilder_insertTag(struct IXpbBuilder* self, struct IStatus* status, unsigned char tag); -CLOOP_EXTERN_C FB_BOOLEAN IXpbBuilder_isEof(struct IXpbBuilder* self, struct IStatus* status); -CLOOP_EXTERN_C void IXpbBuilder_moveNext(struct IXpbBuilder* self, struct IStatus* status); -CLOOP_EXTERN_C void IXpbBuilder_rewind(struct IXpbBuilder* self, struct IStatus* status); -CLOOP_EXTERN_C FB_BOOLEAN IXpbBuilder_findFirst(struct IXpbBuilder* self, struct IStatus* status, unsigned char tag); -CLOOP_EXTERN_C FB_BOOLEAN IXpbBuilder_findNext(struct IXpbBuilder* self, struct IStatus* status); -CLOOP_EXTERN_C unsigned char IXpbBuilder_getTag(struct IXpbBuilder* self, struct IStatus* status); -CLOOP_EXTERN_C unsigned IXpbBuilder_getLength(struct IXpbBuilder* self, struct IStatus* status); -CLOOP_EXTERN_C int IXpbBuilder_getInt(struct IXpbBuilder* self, struct IStatus* status); -CLOOP_EXTERN_C ISC_INT64 IXpbBuilder_getBigInt(struct IXpbBuilder* self, struct IStatus* status); -CLOOP_EXTERN_C const char* IXpbBuilder_getString(struct IXpbBuilder* self, struct IStatus* status); -CLOOP_EXTERN_C const unsigned char* IXpbBuilder_getBytes(struct IXpbBuilder* self, struct IStatus* status); -CLOOP_EXTERN_C unsigned IXpbBuilder_getBufferLength(struct IXpbBuilder* self, struct IStatus* status); -CLOOP_EXTERN_C const unsigned char* IXpbBuilder_getBuffer(struct IXpbBuilder* self, struct IStatus* status); - -#define ITraceConnection_VERSION 2 - -#define ITraceConnection_KIND_DATABASE ((unsigned) (1)) -#define ITraceConnection_KIND_SERVICE ((unsigned) (2)) - -struct ITraceConnection; - -struct ITraceConnectionVTable -{ - void* cloopDummy[1]; - uintptr_t version; - unsigned (*getKind)(struct ITraceConnection* self); - int (*getProcessID)(struct ITraceConnection* self); - const char* (*getUserName)(struct ITraceConnection* self); - const char* (*getRoleName)(struct ITraceConnection* self); - const char* (*getCharSet)(struct ITraceConnection* self); - const char* (*getRemoteProtocol)(struct ITraceConnection* self); - const char* (*getRemoteAddress)(struct ITraceConnection* self); - int (*getRemoteProcessID)(struct ITraceConnection* self); - const char* (*getRemoteProcessName)(struct ITraceConnection* self); -}; - -struct ITraceConnection -{ - void* cloopDummy[1]; - struct ITraceConnectionVTable* vtable; -}; - -CLOOP_EXTERN_C unsigned ITraceConnection_getKind(struct ITraceConnection* self); -CLOOP_EXTERN_C int ITraceConnection_getProcessID(struct ITraceConnection* self); -CLOOP_EXTERN_C const char* ITraceConnection_getUserName(struct ITraceConnection* self); -CLOOP_EXTERN_C const char* ITraceConnection_getRoleName(struct ITraceConnection* self); -CLOOP_EXTERN_C const char* ITraceConnection_getCharSet(struct ITraceConnection* self); -CLOOP_EXTERN_C const char* ITraceConnection_getRemoteProtocol(struct ITraceConnection* self); -CLOOP_EXTERN_C const char* ITraceConnection_getRemoteAddress(struct ITraceConnection* self); -CLOOP_EXTERN_C int ITraceConnection_getRemoteProcessID(struct ITraceConnection* self); -CLOOP_EXTERN_C const char* ITraceConnection_getRemoteProcessName(struct ITraceConnection* self); - -#define ITraceDatabaseConnection_VERSION 3 - -struct ITraceDatabaseConnection; - -struct ITraceDatabaseConnectionVTable -{ - void* cloopDummy[1]; - uintptr_t version; - unsigned (*getKind)(struct ITraceDatabaseConnection* self); - int (*getProcessID)(struct ITraceDatabaseConnection* self); - const char* (*getUserName)(struct ITraceDatabaseConnection* self); - const char* (*getRoleName)(struct ITraceDatabaseConnection* self); - const char* (*getCharSet)(struct ITraceDatabaseConnection* self); - const char* (*getRemoteProtocol)(struct ITraceDatabaseConnection* self); - const char* (*getRemoteAddress)(struct ITraceDatabaseConnection* self); - int (*getRemoteProcessID)(struct ITraceDatabaseConnection* self); - const char* (*getRemoteProcessName)(struct ITraceDatabaseConnection* self); - ISC_INT64 (*getConnectionID)(struct ITraceDatabaseConnection* self); - const char* (*getDatabaseName)(struct ITraceDatabaseConnection* self); -}; - -struct ITraceDatabaseConnection -{ - void* cloopDummy[1]; - struct ITraceDatabaseConnectionVTable* vtable; -}; - -CLOOP_EXTERN_C unsigned ITraceDatabaseConnection_getKind(struct ITraceDatabaseConnection* self); -CLOOP_EXTERN_C int ITraceDatabaseConnection_getProcessID(struct ITraceDatabaseConnection* self); -CLOOP_EXTERN_C const char* ITraceDatabaseConnection_getUserName(struct ITraceDatabaseConnection* self); -CLOOP_EXTERN_C const char* ITraceDatabaseConnection_getRoleName(struct ITraceDatabaseConnection* self); -CLOOP_EXTERN_C const char* ITraceDatabaseConnection_getCharSet(struct ITraceDatabaseConnection* self); -CLOOP_EXTERN_C const char* ITraceDatabaseConnection_getRemoteProtocol(struct ITraceDatabaseConnection* self); -CLOOP_EXTERN_C const char* ITraceDatabaseConnection_getRemoteAddress(struct ITraceDatabaseConnection* self); -CLOOP_EXTERN_C int ITraceDatabaseConnection_getRemoteProcessID(struct ITraceDatabaseConnection* self); -CLOOP_EXTERN_C const char* ITraceDatabaseConnection_getRemoteProcessName(struct ITraceDatabaseConnection* self); -CLOOP_EXTERN_C ISC_INT64 ITraceDatabaseConnection_getConnectionID(struct ITraceDatabaseConnection* self); -CLOOP_EXTERN_C const char* ITraceDatabaseConnection_getDatabaseName(struct ITraceDatabaseConnection* self); - -#define ITraceTransaction_VERSION 3 - -#define ITraceTransaction_ISOLATION_CONSISTENCY ((unsigned) (1)) -#define ITraceTransaction_ISOLATION_CONCURRENCY ((unsigned) (2)) -#define ITraceTransaction_ISOLATION_READ_COMMITTED_RECVER ((unsigned) (3)) -#define ITraceTransaction_ISOLATION_READ_COMMITTED_NORECVER ((unsigned) (4)) -#define ITraceTransaction_ISOLATION_READ_COMMITTED_READ_CONSISTENCY ((unsigned) (5)) - -struct ITraceTransaction; - -struct ITraceTransactionVTable -{ - void* cloopDummy[1]; - uintptr_t version; - ISC_INT64 (*getTransactionID)(struct ITraceTransaction* self); - FB_BOOLEAN (*getReadOnly)(struct ITraceTransaction* self); - int (*getWait)(struct ITraceTransaction* self); - unsigned (*getIsolation)(struct ITraceTransaction* self); - struct PerformanceInfo* (*getPerf)(struct ITraceTransaction* self); - ISC_INT64 (*getInitialID)(struct ITraceTransaction* self); - ISC_INT64 (*getPreviousID)(struct ITraceTransaction* self); -}; - -struct ITraceTransaction -{ - void* cloopDummy[1]; - struct ITraceTransactionVTable* vtable; -}; - -CLOOP_EXTERN_C ISC_INT64 ITraceTransaction_getTransactionID(struct ITraceTransaction* self); -CLOOP_EXTERN_C FB_BOOLEAN ITraceTransaction_getReadOnly(struct ITraceTransaction* self); -CLOOP_EXTERN_C int ITraceTransaction_getWait(struct ITraceTransaction* self); -CLOOP_EXTERN_C unsigned ITraceTransaction_getIsolation(struct ITraceTransaction* self); -CLOOP_EXTERN_C struct PerformanceInfo* ITraceTransaction_getPerf(struct ITraceTransaction* self); -CLOOP_EXTERN_C ISC_INT64 ITraceTransaction_getInitialID(struct ITraceTransaction* self); -CLOOP_EXTERN_C ISC_INT64 ITraceTransaction_getPreviousID(struct ITraceTransaction* self); - -#define ITraceParams_VERSION 3 - -struct ITraceParams; - -struct ITraceParamsVTable -{ - void* cloopDummy[1]; - uintptr_t version; - unsigned (*getCount)(struct ITraceParams* self); - const struct dsc* (*getParam)(struct ITraceParams* self, unsigned idx); - const char* (*getTextUTF8)(struct ITraceParams* self, struct IStatus* status, unsigned idx); -}; - -struct ITraceParams -{ - void* cloopDummy[1]; - struct ITraceParamsVTable* vtable; -}; - -CLOOP_EXTERN_C unsigned ITraceParams_getCount(struct ITraceParams* self); -CLOOP_EXTERN_C const struct dsc* ITraceParams_getParam(struct ITraceParams* self, unsigned idx); -CLOOP_EXTERN_C const char* ITraceParams_getTextUTF8(struct ITraceParams* self, struct IStatus* status, unsigned idx); - -#define ITraceStatement_VERSION 2 - -struct ITraceStatement; - -struct ITraceStatementVTable -{ - void* cloopDummy[1]; - uintptr_t version; - ISC_INT64 (*getStmtID)(struct ITraceStatement* self); - struct PerformanceInfo* (*getPerf)(struct ITraceStatement* self); -}; - -struct ITraceStatement -{ - void* cloopDummy[1]; - struct ITraceStatementVTable* vtable; -}; - -CLOOP_EXTERN_C ISC_INT64 ITraceStatement_getStmtID(struct ITraceStatement* self); -CLOOP_EXTERN_C struct PerformanceInfo* ITraceStatement_getPerf(struct ITraceStatement* self); - -#define ITraceSQLStatement_VERSION 3 - -struct ITraceSQLStatement; - -struct ITraceSQLStatementVTable -{ - void* cloopDummy[1]; - uintptr_t version; - ISC_INT64 (*getStmtID)(struct ITraceSQLStatement* self); - struct PerformanceInfo* (*getPerf)(struct ITraceSQLStatement* self); - const char* (*getText)(struct ITraceSQLStatement* self); - const char* (*getPlan)(struct ITraceSQLStatement* self); - struct ITraceParams* (*getInputs)(struct ITraceSQLStatement* self); - const char* (*getTextUTF8)(struct ITraceSQLStatement* self); - const char* (*getExplainedPlan)(struct ITraceSQLStatement* self); -}; - -struct ITraceSQLStatement -{ - void* cloopDummy[1]; - struct ITraceSQLStatementVTable* vtable; -}; - -CLOOP_EXTERN_C ISC_INT64 ITraceSQLStatement_getStmtID(struct ITraceSQLStatement* self); -CLOOP_EXTERN_C struct PerformanceInfo* ITraceSQLStatement_getPerf(struct ITraceSQLStatement* self); -CLOOP_EXTERN_C const char* ITraceSQLStatement_getText(struct ITraceSQLStatement* self); -CLOOP_EXTERN_C const char* ITraceSQLStatement_getPlan(struct ITraceSQLStatement* self); -CLOOP_EXTERN_C struct ITraceParams* ITraceSQLStatement_getInputs(struct ITraceSQLStatement* self); -CLOOP_EXTERN_C const char* ITraceSQLStatement_getTextUTF8(struct ITraceSQLStatement* self); -CLOOP_EXTERN_C const char* ITraceSQLStatement_getExplainedPlan(struct ITraceSQLStatement* self); - -#define ITraceBLRStatement_VERSION 3 - -struct ITraceBLRStatement; - -struct ITraceBLRStatementVTable -{ - void* cloopDummy[1]; - uintptr_t version; - ISC_INT64 (*getStmtID)(struct ITraceBLRStatement* self); - struct PerformanceInfo* (*getPerf)(struct ITraceBLRStatement* self); - const unsigned char* (*getData)(struct ITraceBLRStatement* self); - unsigned (*getDataLength)(struct ITraceBLRStatement* self); - const char* (*getText)(struct ITraceBLRStatement* self); -}; - -struct ITraceBLRStatement -{ - void* cloopDummy[1]; - struct ITraceBLRStatementVTable* vtable; -}; - -CLOOP_EXTERN_C ISC_INT64 ITraceBLRStatement_getStmtID(struct ITraceBLRStatement* self); -CLOOP_EXTERN_C struct PerformanceInfo* ITraceBLRStatement_getPerf(struct ITraceBLRStatement* self); -CLOOP_EXTERN_C const unsigned char* ITraceBLRStatement_getData(struct ITraceBLRStatement* self); -CLOOP_EXTERN_C unsigned ITraceBLRStatement_getDataLength(struct ITraceBLRStatement* self); -CLOOP_EXTERN_C const char* ITraceBLRStatement_getText(struct ITraceBLRStatement* self); - -#define ITraceDYNRequest_VERSION 2 - -struct ITraceDYNRequest; - -struct ITraceDYNRequestVTable -{ - void* cloopDummy[1]; - uintptr_t version; - const unsigned char* (*getData)(struct ITraceDYNRequest* self); - unsigned (*getDataLength)(struct ITraceDYNRequest* self); - const char* (*getText)(struct ITraceDYNRequest* self); -}; - -struct ITraceDYNRequest -{ - void* cloopDummy[1]; - struct ITraceDYNRequestVTable* vtable; -}; - -CLOOP_EXTERN_C const unsigned char* ITraceDYNRequest_getData(struct ITraceDYNRequest* self); -CLOOP_EXTERN_C unsigned ITraceDYNRequest_getDataLength(struct ITraceDYNRequest* self); -CLOOP_EXTERN_C const char* ITraceDYNRequest_getText(struct ITraceDYNRequest* self); - -#define ITraceContextVariable_VERSION 2 - -struct ITraceContextVariable; - -struct ITraceContextVariableVTable -{ - void* cloopDummy[1]; - uintptr_t version; - const char* (*getNameSpace)(struct ITraceContextVariable* self); - const char* (*getVarName)(struct ITraceContextVariable* self); - const char* (*getVarValue)(struct ITraceContextVariable* self); -}; - -struct ITraceContextVariable -{ - void* cloopDummy[1]; - struct ITraceContextVariableVTable* vtable; -}; - -CLOOP_EXTERN_C const char* ITraceContextVariable_getNameSpace(struct ITraceContextVariable* self); -CLOOP_EXTERN_C const char* ITraceContextVariable_getVarName(struct ITraceContextVariable* self); -CLOOP_EXTERN_C const char* ITraceContextVariable_getVarValue(struct ITraceContextVariable* self); - -#define ITraceProcedure_VERSION 3 - -struct ITraceProcedure; - -struct ITraceProcedureVTable -{ - void* cloopDummy[1]; - uintptr_t version; - const char* (*getProcName)(struct ITraceProcedure* self); - struct ITraceParams* (*getInputs)(struct ITraceProcedure* self); - struct PerformanceInfo* (*getPerf)(struct ITraceProcedure* self); - ISC_INT64 (*getStmtID)(struct ITraceProcedure* self); - const char* (*getPlan)(struct ITraceProcedure* self); - const char* (*getExplainedPlan)(struct ITraceProcedure* self); -}; - -struct ITraceProcedure -{ - void* cloopDummy[1]; - struct ITraceProcedureVTable* vtable; -}; - -CLOOP_EXTERN_C const char* ITraceProcedure_getProcName(struct ITraceProcedure* self); -CLOOP_EXTERN_C struct ITraceParams* ITraceProcedure_getInputs(struct ITraceProcedure* self); -CLOOP_EXTERN_C struct PerformanceInfo* ITraceProcedure_getPerf(struct ITraceProcedure* self); -CLOOP_EXTERN_C ISC_INT64 ITraceProcedure_getStmtID(struct ITraceProcedure* self); -CLOOP_EXTERN_C const char* ITraceProcedure_getPlan(struct ITraceProcedure* self); -CLOOP_EXTERN_C const char* ITraceProcedure_getExplainedPlan(struct ITraceProcedure* self); - -#define ITraceFunction_VERSION 3 - -struct ITraceFunction; - -struct ITraceFunctionVTable -{ - void* cloopDummy[1]; - uintptr_t version; - const char* (*getFuncName)(struct ITraceFunction* self); - struct ITraceParams* (*getInputs)(struct ITraceFunction* self); - struct ITraceParams* (*getResult)(struct ITraceFunction* self); - struct PerformanceInfo* (*getPerf)(struct ITraceFunction* self); - ISC_INT64 (*getStmtID)(struct ITraceFunction* self); - const char* (*getPlan)(struct ITraceFunction* self); - const char* (*getExplainedPlan)(struct ITraceFunction* self); -}; - -struct ITraceFunction -{ - void* cloopDummy[1]; - struct ITraceFunctionVTable* vtable; -}; - -CLOOP_EXTERN_C const char* ITraceFunction_getFuncName(struct ITraceFunction* self); -CLOOP_EXTERN_C struct ITraceParams* ITraceFunction_getInputs(struct ITraceFunction* self); -CLOOP_EXTERN_C struct ITraceParams* ITraceFunction_getResult(struct ITraceFunction* self); -CLOOP_EXTERN_C struct PerformanceInfo* ITraceFunction_getPerf(struct ITraceFunction* self); -CLOOP_EXTERN_C ISC_INT64 ITraceFunction_getStmtID(struct ITraceFunction* self); -CLOOP_EXTERN_C const char* ITraceFunction_getPlan(struct ITraceFunction* self); -CLOOP_EXTERN_C const char* ITraceFunction_getExplainedPlan(struct ITraceFunction* self); - -#define ITraceTrigger_VERSION 3 - -#define ITraceTrigger_TYPE_ALL ((unsigned) (0)) -#define ITraceTrigger_TYPE_BEFORE ((unsigned) (1)) -#define ITraceTrigger_TYPE_AFTER ((unsigned) (2)) - -struct ITraceTrigger; - -struct ITraceTriggerVTable -{ - void* cloopDummy[1]; - uintptr_t version; - const char* (*getTriggerName)(struct ITraceTrigger* self); - const char* (*getRelationName)(struct ITraceTrigger* self); - int (*getAction)(struct ITraceTrigger* self); - int (*getWhich)(struct ITraceTrigger* self); - struct PerformanceInfo* (*getPerf)(struct ITraceTrigger* self); - ISC_INT64 (*getStmtID)(struct ITraceTrigger* self); - const char* (*getPlan)(struct ITraceTrigger* self); - const char* (*getExplainedPlan)(struct ITraceTrigger* self); -}; - -struct ITraceTrigger -{ - void* cloopDummy[1]; - struct ITraceTriggerVTable* vtable; -}; - -CLOOP_EXTERN_C const char* ITraceTrigger_getTriggerName(struct ITraceTrigger* self); -CLOOP_EXTERN_C const char* ITraceTrigger_getRelationName(struct ITraceTrigger* self); -CLOOP_EXTERN_C int ITraceTrigger_getAction(struct ITraceTrigger* self); -CLOOP_EXTERN_C int ITraceTrigger_getWhich(struct ITraceTrigger* self); -CLOOP_EXTERN_C struct PerformanceInfo* ITraceTrigger_getPerf(struct ITraceTrigger* self); -CLOOP_EXTERN_C ISC_INT64 ITraceTrigger_getStmtID(struct ITraceTrigger* self); -CLOOP_EXTERN_C const char* ITraceTrigger_getPlan(struct ITraceTrigger* self); -CLOOP_EXTERN_C const char* ITraceTrigger_getExplainedPlan(struct ITraceTrigger* self); - -#define ITraceServiceConnection_VERSION 3 - -struct ITraceServiceConnection; - -struct ITraceServiceConnectionVTable -{ - void* cloopDummy[1]; - uintptr_t version; - unsigned (*getKind)(struct ITraceServiceConnection* self); - int (*getProcessID)(struct ITraceServiceConnection* self); - const char* (*getUserName)(struct ITraceServiceConnection* self); - const char* (*getRoleName)(struct ITraceServiceConnection* self); - const char* (*getCharSet)(struct ITraceServiceConnection* self); - const char* (*getRemoteProtocol)(struct ITraceServiceConnection* self); - const char* (*getRemoteAddress)(struct ITraceServiceConnection* self); - int (*getRemoteProcessID)(struct ITraceServiceConnection* self); - const char* (*getRemoteProcessName)(struct ITraceServiceConnection* self); - void* (*getServiceID)(struct ITraceServiceConnection* self); - const char* (*getServiceMgr)(struct ITraceServiceConnection* self); - const char* (*getServiceName)(struct ITraceServiceConnection* self); -}; - -struct ITraceServiceConnection -{ - void* cloopDummy[1]; - struct ITraceServiceConnectionVTable* vtable; -}; - -CLOOP_EXTERN_C unsigned ITraceServiceConnection_getKind(struct ITraceServiceConnection* self); -CLOOP_EXTERN_C int ITraceServiceConnection_getProcessID(struct ITraceServiceConnection* self); -CLOOP_EXTERN_C const char* ITraceServiceConnection_getUserName(struct ITraceServiceConnection* self); -CLOOP_EXTERN_C const char* ITraceServiceConnection_getRoleName(struct ITraceServiceConnection* self); -CLOOP_EXTERN_C const char* ITraceServiceConnection_getCharSet(struct ITraceServiceConnection* self); -CLOOP_EXTERN_C const char* ITraceServiceConnection_getRemoteProtocol(struct ITraceServiceConnection* self); -CLOOP_EXTERN_C const char* ITraceServiceConnection_getRemoteAddress(struct ITraceServiceConnection* self); -CLOOP_EXTERN_C int ITraceServiceConnection_getRemoteProcessID(struct ITraceServiceConnection* self); -CLOOP_EXTERN_C const char* ITraceServiceConnection_getRemoteProcessName(struct ITraceServiceConnection* self); -CLOOP_EXTERN_C void* ITraceServiceConnection_getServiceID(struct ITraceServiceConnection* self); -CLOOP_EXTERN_C const char* ITraceServiceConnection_getServiceMgr(struct ITraceServiceConnection* self); -CLOOP_EXTERN_C const char* ITraceServiceConnection_getServiceName(struct ITraceServiceConnection* self); - -#define ITraceStatusVector_VERSION 2 - -struct ITraceStatusVector; - -struct ITraceStatusVectorVTable -{ - void* cloopDummy[1]; - uintptr_t version; - FB_BOOLEAN (*hasError)(struct ITraceStatusVector* self); - FB_BOOLEAN (*hasWarning)(struct ITraceStatusVector* self); - struct IStatus* (*getStatus)(struct ITraceStatusVector* self); - const char* (*getText)(struct ITraceStatusVector* self); -}; - -struct ITraceStatusVector -{ - void* cloopDummy[1]; - struct ITraceStatusVectorVTable* vtable; -}; - -CLOOP_EXTERN_C FB_BOOLEAN ITraceStatusVector_hasError(struct ITraceStatusVector* self); -CLOOP_EXTERN_C FB_BOOLEAN ITraceStatusVector_hasWarning(struct ITraceStatusVector* self); -CLOOP_EXTERN_C struct IStatus* ITraceStatusVector_getStatus(struct ITraceStatusVector* self); -CLOOP_EXTERN_C const char* ITraceStatusVector_getText(struct ITraceStatusVector* self); - -#define ITraceSweepInfo_VERSION 2 - -struct ITraceSweepInfo; - -struct ITraceSweepInfoVTable -{ - void* cloopDummy[1]; - uintptr_t version; - ISC_INT64 (*getOIT)(struct ITraceSweepInfo* self); - ISC_INT64 (*getOST)(struct ITraceSweepInfo* self); - ISC_INT64 (*getOAT)(struct ITraceSweepInfo* self); - ISC_INT64 (*getNext)(struct ITraceSweepInfo* self); - struct PerformanceInfo* (*getPerf)(struct ITraceSweepInfo* self); -}; - -struct ITraceSweepInfo -{ - void* cloopDummy[1]; - struct ITraceSweepInfoVTable* vtable; -}; - -CLOOP_EXTERN_C ISC_INT64 ITraceSweepInfo_getOIT(struct ITraceSweepInfo* self); -CLOOP_EXTERN_C ISC_INT64 ITraceSweepInfo_getOST(struct ITraceSweepInfo* self); -CLOOP_EXTERN_C ISC_INT64 ITraceSweepInfo_getOAT(struct ITraceSweepInfo* self); -CLOOP_EXTERN_C ISC_INT64 ITraceSweepInfo_getNext(struct ITraceSweepInfo* self); -CLOOP_EXTERN_C struct PerformanceInfo* ITraceSweepInfo_getPerf(struct ITraceSweepInfo* self); - -#define ITraceLogWriter_VERSION 4 - -struct ITraceLogWriter; - -struct ITraceLogWriterVTable -{ - void* cloopDummy[1]; - uintptr_t version; - void (*addRef)(struct ITraceLogWriter* self); - int (*release)(struct ITraceLogWriter* self); - unsigned (*write)(struct ITraceLogWriter* self, const void* buf, unsigned size); - unsigned (*write_s)(struct ITraceLogWriter* self, struct IStatus* status, const void* buf, unsigned size); -}; - -struct ITraceLogWriter -{ - void* cloopDummy[1]; - struct ITraceLogWriterVTable* vtable; -}; - -CLOOP_EXTERN_C void ITraceLogWriter_addRef(struct ITraceLogWriter* self); -CLOOP_EXTERN_C int ITraceLogWriter_release(struct ITraceLogWriter* self); -CLOOP_EXTERN_C unsigned ITraceLogWriter_write(struct ITraceLogWriter* self, const void* buf, unsigned size); -CLOOP_EXTERN_C unsigned ITraceLogWriter_write_s(struct ITraceLogWriter* self, struct IStatus* status, const void* buf, unsigned size); - -#define ITraceInitInfo_VERSION 2 - -struct ITraceInitInfo; - -struct ITraceInitInfoVTable -{ - void* cloopDummy[1]; - uintptr_t version; - const char* (*getConfigText)(struct ITraceInitInfo* self); - int (*getTraceSessionID)(struct ITraceInitInfo* self); - const char* (*getTraceSessionName)(struct ITraceInitInfo* self); - const char* (*getFirebirdRootDirectory)(struct ITraceInitInfo* self); - const char* (*getDatabaseName)(struct ITraceInitInfo* self); - struct ITraceDatabaseConnection* (*getConnection)(struct ITraceInitInfo* self); - struct ITraceLogWriter* (*getLogWriter)(struct ITraceInitInfo* self); -}; - -struct ITraceInitInfo -{ - void* cloopDummy[1]; - struct ITraceInitInfoVTable* vtable; -}; - -CLOOP_EXTERN_C const char* ITraceInitInfo_getConfigText(struct ITraceInitInfo* self); -CLOOP_EXTERN_C int ITraceInitInfo_getTraceSessionID(struct ITraceInitInfo* self); -CLOOP_EXTERN_C const char* ITraceInitInfo_getTraceSessionName(struct ITraceInitInfo* self); -CLOOP_EXTERN_C const char* ITraceInitInfo_getFirebirdRootDirectory(struct ITraceInitInfo* self); -CLOOP_EXTERN_C const char* ITraceInitInfo_getDatabaseName(struct ITraceInitInfo* self); -CLOOP_EXTERN_C struct ITraceDatabaseConnection* ITraceInitInfo_getConnection(struct ITraceInitInfo* self); -CLOOP_EXTERN_C struct ITraceLogWriter* ITraceInitInfo_getLogWriter(struct ITraceInitInfo* self); - -#define ITracePlugin_VERSION 5 - -#define ITracePlugin_RESULT_SUCCESS ((unsigned) (0)) -#define ITracePlugin_RESULT_FAILED ((unsigned) (1)) -#define ITracePlugin_RESULT_UNAUTHORIZED ((unsigned) (2)) -#define ITracePlugin_SWEEP_STATE_STARTED ((unsigned) (1)) -#define ITracePlugin_SWEEP_STATE_FINISHED ((unsigned) (2)) -#define ITracePlugin_SWEEP_STATE_FAILED ((unsigned) (3)) -#define ITracePlugin_SWEEP_STATE_PROGRESS ((unsigned) (4)) - -struct ITracePlugin; - -struct ITracePluginVTable -{ - void* cloopDummy[1]; - uintptr_t version; - void (*addRef)(struct ITracePlugin* self); - int (*release)(struct ITracePlugin* self); - const char* (*trace_get_error)(struct ITracePlugin* self); - FB_BOOLEAN (*trace_attach)(struct ITracePlugin* self, struct ITraceDatabaseConnection* connection, FB_BOOLEAN create_db, unsigned att_result); - FB_BOOLEAN (*trace_detach)(struct ITracePlugin* self, struct ITraceDatabaseConnection* connection, FB_BOOLEAN drop_db); - FB_BOOLEAN (*trace_transaction_start)(struct ITracePlugin* self, struct ITraceDatabaseConnection* connection, struct ITraceTransaction* transaction, unsigned tpb_length, const unsigned char* tpb, unsigned tra_result); - FB_BOOLEAN (*trace_transaction_end)(struct ITracePlugin* self, struct ITraceDatabaseConnection* connection, struct ITraceTransaction* transaction, FB_BOOLEAN commit, FB_BOOLEAN retain_context, unsigned tra_result); - FB_BOOLEAN (*trace_proc_execute)(struct ITracePlugin* self, struct ITraceDatabaseConnection* connection, struct ITraceTransaction* transaction, struct ITraceProcedure* procedure, FB_BOOLEAN started, unsigned proc_result); - FB_BOOLEAN (*trace_trigger_execute)(struct ITracePlugin* self, struct ITraceDatabaseConnection* connection, struct ITraceTransaction* transaction, struct ITraceTrigger* trigger, FB_BOOLEAN started, unsigned trig_result); - FB_BOOLEAN (*trace_set_context)(struct ITracePlugin* self, struct ITraceDatabaseConnection* connection, struct ITraceTransaction* transaction, struct ITraceContextVariable* variable); - FB_BOOLEAN (*trace_dsql_prepare)(struct ITracePlugin* self, struct ITraceDatabaseConnection* connection, struct ITraceTransaction* transaction, struct ITraceSQLStatement* statement, ISC_INT64 time_millis, unsigned req_result); - FB_BOOLEAN (*trace_dsql_free)(struct ITracePlugin* self, struct ITraceDatabaseConnection* connection, struct ITraceSQLStatement* statement, unsigned option); - FB_BOOLEAN (*trace_dsql_execute)(struct ITracePlugin* self, struct ITraceDatabaseConnection* connection, struct ITraceTransaction* transaction, struct ITraceSQLStatement* statement, FB_BOOLEAN started, unsigned req_result); - FB_BOOLEAN (*trace_blr_compile)(struct ITracePlugin* self, struct ITraceDatabaseConnection* connection, struct ITraceTransaction* transaction, struct ITraceBLRStatement* statement, ISC_INT64 time_millis, unsigned req_result); - FB_BOOLEAN (*trace_blr_execute)(struct ITracePlugin* self, struct ITraceDatabaseConnection* connection, struct ITraceTransaction* transaction, struct ITraceBLRStatement* statement, unsigned req_result); - FB_BOOLEAN (*trace_dyn_execute)(struct ITracePlugin* self, struct ITraceDatabaseConnection* connection, struct ITraceTransaction* transaction, struct ITraceDYNRequest* request, ISC_INT64 time_millis, unsigned req_result); - FB_BOOLEAN (*trace_service_attach)(struct ITracePlugin* self, struct ITraceServiceConnection* service, unsigned att_result); - FB_BOOLEAN (*trace_service_start)(struct ITracePlugin* self, struct ITraceServiceConnection* service, unsigned switches_length, const char* switches, unsigned start_result); - FB_BOOLEAN (*trace_service_query)(struct ITracePlugin* self, struct ITraceServiceConnection* service, unsigned send_item_length, const unsigned char* send_items, unsigned recv_item_length, const unsigned char* recv_items, unsigned query_result); - FB_BOOLEAN (*trace_service_detach)(struct ITracePlugin* self, struct ITraceServiceConnection* service, unsigned detach_result); - FB_BOOLEAN (*trace_event_error)(struct ITracePlugin* self, struct ITraceConnection* connection, struct ITraceStatusVector* status, const char* function); - FB_BOOLEAN (*trace_event_sweep)(struct ITracePlugin* self, struct ITraceDatabaseConnection* connection, struct ITraceSweepInfo* sweep, unsigned sweep_state); - FB_BOOLEAN (*trace_func_execute)(struct ITracePlugin* self, struct ITraceDatabaseConnection* connection, struct ITraceTransaction* transaction, struct ITraceFunction* function, FB_BOOLEAN started, unsigned func_result); - FB_BOOLEAN (*trace_dsql_restart)(struct ITracePlugin* self, struct ITraceDatabaseConnection* connection, struct ITraceTransaction* transaction, struct ITraceSQLStatement* statement, unsigned number); - FB_BOOLEAN (*trace_proc_compile)(struct ITracePlugin* self, struct ITraceDatabaseConnection* connection, struct ITraceProcedure* procedure, ISC_INT64 time_millis, unsigned proc_result); - FB_BOOLEAN (*trace_func_compile)(struct ITracePlugin* self, struct ITraceDatabaseConnection* connection, struct ITraceFunction* function, ISC_INT64 time_millis, unsigned func_result); - FB_BOOLEAN (*trace_trigger_compile)(struct ITracePlugin* self, struct ITraceDatabaseConnection* connection, struct ITraceTrigger* trigger, ISC_INT64 time_millis, unsigned trig_result); -}; - -struct ITracePlugin -{ - void* cloopDummy[1]; - struct ITracePluginVTable* vtable; -}; - -CLOOP_EXTERN_C void ITracePlugin_addRef(struct ITracePlugin* self); -CLOOP_EXTERN_C int ITracePlugin_release(struct ITracePlugin* self); -CLOOP_EXTERN_C const char* ITracePlugin_trace_get_error(struct ITracePlugin* self); -CLOOP_EXTERN_C FB_BOOLEAN ITracePlugin_trace_attach(struct ITracePlugin* self, struct ITraceDatabaseConnection* connection, FB_BOOLEAN create_db, unsigned att_result); -CLOOP_EXTERN_C FB_BOOLEAN ITracePlugin_trace_detach(struct ITracePlugin* self, struct ITraceDatabaseConnection* connection, FB_BOOLEAN drop_db); -CLOOP_EXTERN_C FB_BOOLEAN ITracePlugin_trace_transaction_start(struct ITracePlugin* self, struct ITraceDatabaseConnection* connection, struct ITraceTransaction* transaction, unsigned tpb_length, const unsigned char* tpb, unsigned tra_result); -CLOOP_EXTERN_C FB_BOOLEAN ITracePlugin_trace_transaction_end(struct ITracePlugin* self, struct ITraceDatabaseConnection* connection, struct ITraceTransaction* transaction, FB_BOOLEAN commit, FB_BOOLEAN retain_context, unsigned tra_result); -CLOOP_EXTERN_C FB_BOOLEAN ITracePlugin_trace_proc_execute(struct ITracePlugin* self, struct ITraceDatabaseConnection* connection, struct ITraceTransaction* transaction, struct ITraceProcedure* procedure, FB_BOOLEAN started, unsigned proc_result); -CLOOP_EXTERN_C FB_BOOLEAN ITracePlugin_trace_trigger_execute(struct ITracePlugin* self, struct ITraceDatabaseConnection* connection, struct ITraceTransaction* transaction, struct ITraceTrigger* trigger, FB_BOOLEAN started, unsigned trig_result); -CLOOP_EXTERN_C FB_BOOLEAN ITracePlugin_trace_set_context(struct ITracePlugin* self, struct ITraceDatabaseConnection* connection, struct ITraceTransaction* transaction, struct ITraceContextVariable* variable); -CLOOP_EXTERN_C FB_BOOLEAN ITracePlugin_trace_dsql_prepare(struct ITracePlugin* self, struct ITraceDatabaseConnection* connection, struct ITraceTransaction* transaction, struct ITraceSQLStatement* statement, ISC_INT64 time_millis, unsigned req_result); -CLOOP_EXTERN_C FB_BOOLEAN ITracePlugin_trace_dsql_free(struct ITracePlugin* self, struct ITraceDatabaseConnection* connection, struct ITraceSQLStatement* statement, unsigned option); -CLOOP_EXTERN_C FB_BOOLEAN ITracePlugin_trace_dsql_execute(struct ITracePlugin* self, struct ITraceDatabaseConnection* connection, struct ITraceTransaction* transaction, struct ITraceSQLStatement* statement, FB_BOOLEAN started, unsigned req_result); -CLOOP_EXTERN_C FB_BOOLEAN ITracePlugin_trace_blr_compile(struct ITracePlugin* self, struct ITraceDatabaseConnection* connection, struct ITraceTransaction* transaction, struct ITraceBLRStatement* statement, ISC_INT64 time_millis, unsigned req_result); -CLOOP_EXTERN_C FB_BOOLEAN ITracePlugin_trace_blr_execute(struct ITracePlugin* self, struct ITraceDatabaseConnection* connection, struct ITraceTransaction* transaction, struct ITraceBLRStatement* statement, unsigned req_result); -CLOOP_EXTERN_C FB_BOOLEAN ITracePlugin_trace_dyn_execute(struct ITracePlugin* self, struct ITraceDatabaseConnection* connection, struct ITraceTransaction* transaction, struct ITraceDYNRequest* request, ISC_INT64 time_millis, unsigned req_result); -CLOOP_EXTERN_C FB_BOOLEAN ITracePlugin_trace_service_attach(struct ITracePlugin* self, struct ITraceServiceConnection* service, unsigned att_result); -CLOOP_EXTERN_C FB_BOOLEAN ITracePlugin_trace_service_start(struct ITracePlugin* self, struct ITraceServiceConnection* service, unsigned switches_length, const char* switches, unsigned start_result); -CLOOP_EXTERN_C FB_BOOLEAN ITracePlugin_trace_service_query(struct ITracePlugin* self, struct ITraceServiceConnection* service, unsigned send_item_length, const unsigned char* send_items, unsigned recv_item_length, const unsigned char* recv_items, unsigned query_result); -CLOOP_EXTERN_C FB_BOOLEAN ITracePlugin_trace_service_detach(struct ITracePlugin* self, struct ITraceServiceConnection* service, unsigned detach_result); -CLOOP_EXTERN_C FB_BOOLEAN ITracePlugin_trace_event_error(struct ITracePlugin* self, struct ITraceConnection* connection, struct ITraceStatusVector* status, const char* function); -CLOOP_EXTERN_C FB_BOOLEAN ITracePlugin_trace_event_sweep(struct ITracePlugin* self, struct ITraceDatabaseConnection* connection, struct ITraceSweepInfo* sweep, unsigned sweep_state); -CLOOP_EXTERN_C FB_BOOLEAN ITracePlugin_trace_func_execute(struct ITracePlugin* self, struct ITraceDatabaseConnection* connection, struct ITraceTransaction* transaction, struct ITraceFunction* function, FB_BOOLEAN started, unsigned func_result); -CLOOP_EXTERN_C FB_BOOLEAN ITracePlugin_trace_dsql_restart(struct ITracePlugin* self, struct ITraceDatabaseConnection* connection, struct ITraceTransaction* transaction, struct ITraceSQLStatement* statement, unsigned number); -CLOOP_EXTERN_C FB_BOOLEAN ITracePlugin_trace_proc_compile(struct ITracePlugin* self, struct ITraceDatabaseConnection* connection, struct ITraceProcedure* procedure, ISC_INT64 time_millis, unsigned proc_result); -CLOOP_EXTERN_C FB_BOOLEAN ITracePlugin_trace_func_compile(struct ITracePlugin* self, struct ITraceDatabaseConnection* connection, struct ITraceFunction* function, ISC_INT64 time_millis, unsigned func_result); -CLOOP_EXTERN_C FB_BOOLEAN ITracePlugin_trace_trigger_compile(struct ITracePlugin* self, struct ITraceDatabaseConnection* connection, struct ITraceTrigger* trigger, ISC_INT64 time_millis, unsigned trig_result); - -#define ITraceFactory_VERSION 4 - -#define ITraceFactory_TRACE_EVENT_ATTACH ((unsigned) (0)) -#define ITraceFactory_TRACE_EVENT_DETACH ((unsigned) (1)) -#define ITraceFactory_TRACE_EVENT_TRANSACTION_START ((unsigned) (2)) -#define ITraceFactory_TRACE_EVENT_TRANSACTION_END ((unsigned) (3)) -#define ITraceFactory_TRACE_EVENT_SET_CONTEXT ((unsigned) (4)) -#define ITraceFactory_TRACE_EVENT_PROC_EXECUTE ((unsigned) (5)) -#define ITraceFactory_TRACE_EVENT_TRIGGER_EXECUTE ((unsigned) (6)) -#define ITraceFactory_TRACE_EVENT_DSQL_PREPARE ((unsigned) (7)) -#define ITraceFactory_TRACE_EVENT_DSQL_FREE ((unsigned) (8)) -#define ITraceFactory_TRACE_EVENT_DSQL_EXECUTE ((unsigned) (9)) -#define ITraceFactory_TRACE_EVENT_BLR_COMPILE ((unsigned) (10)) -#define ITraceFactory_TRACE_EVENT_BLR_EXECUTE ((unsigned) (11)) -#define ITraceFactory_TRACE_EVENT_DYN_EXECUTE ((unsigned) (12)) -#define ITraceFactory_TRACE_EVENT_SERVICE_ATTACH ((unsigned) (13)) -#define ITraceFactory_TRACE_EVENT_SERVICE_START ((unsigned) (14)) -#define ITraceFactory_TRACE_EVENT_SERVICE_QUERY ((unsigned) (15)) -#define ITraceFactory_TRACE_EVENT_SERVICE_DETACH ((unsigned) (16)) -#define ITraceFactory_TRACE_EVENT_ERROR ((unsigned) (17)) -#define ITraceFactory_TRACE_EVENT_SWEEP ((unsigned) (18)) -#define ITraceFactory_TRACE_EVENT_FUNC_EXECUTE ((unsigned) (19)) -#define ITraceFactory_TRACE_EVENT_PROC_COMPILE ((unsigned) (20)) -#define ITraceFactory_TRACE_EVENT_FUNC_COMPILE ((unsigned) (21)) -#define ITraceFactory_TRACE_EVENT_TRIGGER_COMPILE ((unsigned) (22)) -#define ITraceFactory_TRACE_EVENT_MAX ((unsigned) (23)) - -struct ITraceFactory; - -struct ITraceFactoryVTable -{ - void* cloopDummy[1]; - uintptr_t version; - void (*addRef)(struct ITraceFactory* self); - int (*release)(struct ITraceFactory* self); - void (*setOwner)(struct ITraceFactory* self, struct IReferenceCounted* r); - struct IReferenceCounted* (*getOwner)(struct ITraceFactory* self); - ISC_UINT64 (*trace_needs)(struct ITraceFactory* self); - struct ITracePlugin* (*trace_create)(struct ITraceFactory* self, struct IStatus* status, struct ITraceInitInfo* init_info); -}; - -struct ITraceFactory -{ - void* cloopDummy[1]; - struct ITraceFactoryVTable* vtable; -}; - -CLOOP_EXTERN_C void ITraceFactory_addRef(struct ITraceFactory* self); -CLOOP_EXTERN_C int ITraceFactory_release(struct ITraceFactory* self); -CLOOP_EXTERN_C void ITraceFactory_setOwner(struct ITraceFactory* self, struct IReferenceCounted* r); -CLOOP_EXTERN_C struct IReferenceCounted* ITraceFactory_getOwner(struct ITraceFactory* self); -CLOOP_EXTERN_C ISC_UINT64 ITraceFactory_trace_needs(struct ITraceFactory* self); -CLOOP_EXTERN_C struct ITracePlugin* ITraceFactory_trace_create(struct ITraceFactory* self, struct IStatus* status, struct ITraceInitInfo* init_info); - -#define IUdrFunctionFactory_VERSION 3 - -struct IUdrFunctionFactory; - -struct IUdrFunctionFactoryVTable -{ - void* cloopDummy[1]; - uintptr_t version; - void (*dispose)(struct IUdrFunctionFactory* self); - void (*setup)(struct IUdrFunctionFactory* self, struct IStatus* status, struct IExternalContext* context, struct IRoutineMetadata* metadata, struct IMetadataBuilder* inBuilder, struct IMetadataBuilder* outBuilder); - struct IExternalFunction* (*newItem)(struct IUdrFunctionFactory* self, struct IStatus* status, struct IExternalContext* context, struct IRoutineMetadata* metadata); -}; - -struct IUdrFunctionFactory -{ - void* cloopDummy[1]; - struct IUdrFunctionFactoryVTable* vtable; -}; - -CLOOP_EXTERN_C void IUdrFunctionFactory_dispose(struct IUdrFunctionFactory* self); -CLOOP_EXTERN_C void IUdrFunctionFactory_setup(struct IUdrFunctionFactory* self, struct IStatus* status, struct IExternalContext* context, struct IRoutineMetadata* metadata, struct IMetadataBuilder* inBuilder, struct IMetadataBuilder* outBuilder); -CLOOP_EXTERN_C struct IExternalFunction* IUdrFunctionFactory_newItem(struct IUdrFunctionFactory* self, struct IStatus* status, struct IExternalContext* context, struct IRoutineMetadata* metadata); - -#define IUdrProcedureFactory_VERSION 3 - -struct IUdrProcedureFactory; - -struct IUdrProcedureFactoryVTable -{ - void* cloopDummy[1]; - uintptr_t version; - void (*dispose)(struct IUdrProcedureFactory* self); - void (*setup)(struct IUdrProcedureFactory* self, struct IStatus* status, struct IExternalContext* context, struct IRoutineMetadata* metadata, struct IMetadataBuilder* inBuilder, struct IMetadataBuilder* outBuilder); - struct IExternalProcedure* (*newItem)(struct IUdrProcedureFactory* self, struct IStatus* status, struct IExternalContext* context, struct IRoutineMetadata* metadata); -}; - -struct IUdrProcedureFactory -{ - void* cloopDummy[1]; - struct IUdrProcedureFactoryVTable* vtable; -}; - -CLOOP_EXTERN_C void IUdrProcedureFactory_dispose(struct IUdrProcedureFactory* self); -CLOOP_EXTERN_C void IUdrProcedureFactory_setup(struct IUdrProcedureFactory* self, struct IStatus* status, struct IExternalContext* context, struct IRoutineMetadata* metadata, struct IMetadataBuilder* inBuilder, struct IMetadataBuilder* outBuilder); -CLOOP_EXTERN_C struct IExternalProcedure* IUdrProcedureFactory_newItem(struct IUdrProcedureFactory* self, struct IStatus* status, struct IExternalContext* context, struct IRoutineMetadata* metadata); - -#define IUdrTriggerFactory_VERSION 3 - -struct IUdrTriggerFactory; - -struct IUdrTriggerFactoryVTable -{ - void* cloopDummy[1]; - uintptr_t version; - void (*dispose)(struct IUdrTriggerFactory* self); - void (*setup)(struct IUdrTriggerFactory* self, struct IStatus* status, struct IExternalContext* context, struct IRoutineMetadata* metadata, struct IMetadataBuilder* fieldsBuilder); - struct IExternalTrigger* (*newItem)(struct IUdrTriggerFactory* self, struct IStatus* status, struct IExternalContext* context, struct IRoutineMetadata* metadata); -}; - -struct IUdrTriggerFactory -{ - void* cloopDummy[1]; - struct IUdrTriggerFactoryVTable* vtable; -}; - -CLOOP_EXTERN_C void IUdrTriggerFactory_dispose(struct IUdrTriggerFactory* self); -CLOOP_EXTERN_C void IUdrTriggerFactory_setup(struct IUdrTriggerFactory* self, struct IStatus* status, struct IExternalContext* context, struct IRoutineMetadata* metadata, struct IMetadataBuilder* fieldsBuilder); -CLOOP_EXTERN_C struct IExternalTrigger* IUdrTriggerFactory_newItem(struct IUdrTriggerFactory* self, struct IStatus* status, struct IExternalContext* context, struct IRoutineMetadata* metadata); - -#define IUdrPlugin_VERSION 2 - -struct IUdrPlugin; - -struct IUdrPluginVTable -{ - void* cloopDummy[1]; - uintptr_t version; - struct IMaster* (*getMaster)(struct IUdrPlugin* self); - void (*registerFunction)(struct IUdrPlugin* self, struct IStatus* status, const char* name, struct IUdrFunctionFactory* factory); - void (*registerProcedure)(struct IUdrPlugin* self, struct IStatus* status, const char* name, struct IUdrProcedureFactory* factory); - void (*registerTrigger)(struct IUdrPlugin* self, struct IStatus* status, const char* name, struct IUdrTriggerFactory* factory); -}; - -struct IUdrPlugin -{ - void* cloopDummy[1]; - struct IUdrPluginVTable* vtable; -}; - -CLOOP_EXTERN_C struct IMaster* IUdrPlugin_getMaster(struct IUdrPlugin* self); -CLOOP_EXTERN_C void IUdrPlugin_registerFunction(struct IUdrPlugin* self, struct IStatus* status, const char* name, struct IUdrFunctionFactory* factory); -CLOOP_EXTERN_C void IUdrPlugin_registerProcedure(struct IUdrPlugin* self, struct IStatus* status, const char* name, struct IUdrProcedureFactory* factory); -CLOOP_EXTERN_C void IUdrPlugin_registerTrigger(struct IUdrPlugin* self, struct IStatus* status, const char* name, struct IUdrTriggerFactory* factory); - -#define IDecFloat16_VERSION 2 - -#define IDecFloat16_BCD_SIZE ((unsigned) (16)) -#define IDecFloat16_STRING_SIZE ((unsigned) (24)) - -struct IDecFloat16; - -struct IDecFloat16VTable -{ - void* cloopDummy[1]; - uintptr_t version; - void (*toBcd)(struct IDecFloat16* self, const FB_DEC16* from, int* sign, unsigned char* bcd, int* exp); - void (*toString)(struct IDecFloat16* self, struct IStatus* status, const FB_DEC16* from, unsigned bufferLength, char* buffer); - void (*fromBcd)(struct IDecFloat16* self, int sign, const unsigned char* bcd, int exp, FB_DEC16* to); - void (*fromString)(struct IDecFloat16* self, struct IStatus* status, const char* from, FB_DEC16* to); -}; - -struct IDecFloat16 -{ - void* cloopDummy[1]; - struct IDecFloat16VTable* vtable; -}; - -CLOOP_EXTERN_C void IDecFloat16_toBcd(struct IDecFloat16* self, const FB_DEC16* from, int* sign, unsigned char* bcd, int* exp); -CLOOP_EXTERN_C void IDecFloat16_toString(struct IDecFloat16* self, struct IStatus* status, const FB_DEC16* from, unsigned bufferLength, char* buffer); -CLOOP_EXTERN_C void IDecFloat16_fromBcd(struct IDecFloat16* self, int sign, const unsigned char* bcd, int exp, FB_DEC16* to); -CLOOP_EXTERN_C void IDecFloat16_fromString(struct IDecFloat16* self, struct IStatus* status, const char* from, FB_DEC16* to); - -#define IDecFloat34_VERSION 2 - -#define IDecFloat34_BCD_SIZE ((unsigned) (34)) -#define IDecFloat34_STRING_SIZE ((unsigned) (43)) - -struct IDecFloat34; - -struct IDecFloat34VTable -{ - void* cloopDummy[1]; - uintptr_t version; - void (*toBcd)(struct IDecFloat34* self, const FB_DEC34* from, int* sign, unsigned char* bcd, int* exp); - void (*toString)(struct IDecFloat34* self, struct IStatus* status, const FB_DEC34* from, unsigned bufferLength, char* buffer); - void (*fromBcd)(struct IDecFloat34* self, int sign, const unsigned char* bcd, int exp, FB_DEC34* to); - void (*fromString)(struct IDecFloat34* self, struct IStatus* status, const char* from, FB_DEC34* to); -}; - -struct IDecFloat34 -{ - void* cloopDummy[1]; - struct IDecFloat34VTable* vtable; -}; - -CLOOP_EXTERN_C void IDecFloat34_toBcd(struct IDecFloat34* self, const FB_DEC34* from, int* sign, unsigned char* bcd, int* exp); -CLOOP_EXTERN_C void IDecFloat34_toString(struct IDecFloat34* self, struct IStatus* status, const FB_DEC34* from, unsigned bufferLength, char* buffer); -CLOOP_EXTERN_C void IDecFloat34_fromBcd(struct IDecFloat34* self, int sign, const unsigned char* bcd, int exp, FB_DEC34* to); -CLOOP_EXTERN_C void IDecFloat34_fromString(struct IDecFloat34* self, struct IStatus* status, const char* from, FB_DEC34* to); - -#define IInt128_VERSION 2 - -#define IInt128_STRING_SIZE ((unsigned) (46)) - -struct IInt128; - -struct IInt128VTable -{ - void* cloopDummy[1]; - uintptr_t version; - void (*toString)(struct IInt128* self, struct IStatus* status, const FB_I128* from, int scale, unsigned bufferLength, char* buffer); - void (*fromString)(struct IInt128* self, struct IStatus* status, int scale, const char* from, FB_I128* to); -}; - -struct IInt128 -{ - void* cloopDummy[1]; - struct IInt128VTable* vtable; -}; - -CLOOP_EXTERN_C void IInt128_toString(struct IInt128* self, struct IStatus* status, const FB_I128* from, int scale, unsigned bufferLength, char* buffer); -CLOOP_EXTERN_C void IInt128_fromString(struct IInt128* self, struct IStatus* status, int scale, const char* from, FB_I128* to); - -#define IReplicatedField_VERSION 2 - -struct IReplicatedField; - -struct IReplicatedFieldVTable -{ - void* cloopDummy[1]; - uintptr_t version; - const char* (*getName)(struct IReplicatedField* self); - unsigned (*getType)(struct IReplicatedField* self); - int (*getSubType)(struct IReplicatedField* self); - int (*getScale)(struct IReplicatedField* self); - unsigned (*getLength)(struct IReplicatedField* self); - unsigned (*getCharSet)(struct IReplicatedField* self); - const void* (*getData)(struct IReplicatedField* self); -}; - -struct IReplicatedField -{ - void* cloopDummy[1]; - struct IReplicatedFieldVTable* vtable; -}; - -CLOOP_EXTERN_C const char* IReplicatedField_getName(struct IReplicatedField* self); -CLOOP_EXTERN_C unsigned IReplicatedField_getType(struct IReplicatedField* self); -CLOOP_EXTERN_C int IReplicatedField_getSubType(struct IReplicatedField* self); -CLOOP_EXTERN_C int IReplicatedField_getScale(struct IReplicatedField* self); -CLOOP_EXTERN_C unsigned IReplicatedField_getLength(struct IReplicatedField* self); -CLOOP_EXTERN_C unsigned IReplicatedField_getCharSet(struct IReplicatedField* self); -CLOOP_EXTERN_C const void* IReplicatedField_getData(struct IReplicatedField* self); - -#define IReplicatedRecord_VERSION 2 - -struct IReplicatedRecord; - -struct IReplicatedRecordVTable -{ - void* cloopDummy[1]; - uintptr_t version; - unsigned (*getCount)(struct IReplicatedRecord* self); - struct IReplicatedField* (*getField)(struct IReplicatedRecord* self, unsigned index); - unsigned (*getRawLength)(struct IReplicatedRecord* self); - const unsigned char* (*getRawData)(struct IReplicatedRecord* self); -}; - -struct IReplicatedRecord -{ - void* cloopDummy[1]; - struct IReplicatedRecordVTable* vtable; -}; - -CLOOP_EXTERN_C unsigned IReplicatedRecord_getCount(struct IReplicatedRecord* self); -CLOOP_EXTERN_C struct IReplicatedField* IReplicatedRecord_getField(struct IReplicatedRecord* self, unsigned index); -CLOOP_EXTERN_C unsigned IReplicatedRecord_getRawLength(struct IReplicatedRecord* self); -CLOOP_EXTERN_C const unsigned char* IReplicatedRecord_getRawData(struct IReplicatedRecord* self); - -#define IReplicatedTransaction_VERSION 3 - -struct IReplicatedTransaction; - -struct IReplicatedTransactionVTable -{ - void* cloopDummy[1]; - uintptr_t version; - void (*dispose)(struct IReplicatedTransaction* self); - void (*prepare)(struct IReplicatedTransaction* self, struct IStatus* status); - void (*commit)(struct IReplicatedTransaction* self, struct IStatus* status); - void (*rollback)(struct IReplicatedTransaction* self, struct IStatus* status); - void (*startSavepoint)(struct IReplicatedTransaction* self, struct IStatus* status); - void (*releaseSavepoint)(struct IReplicatedTransaction* self, struct IStatus* status); - void (*rollbackSavepoint)(struct IReplicatedTransaction* self, struct IStatus* status); - void (*insertRecord)(struct IReplicatedTransaction* self, struct IStatus* status, const char* name, struct IReplicatedRecord* record); - void (*updateRecord)(struct IReplicatedTransaction* self, struct IStatus* status, const char* name, struct IReplicatedRecord* orgRecord, struct IReplicatedRecord* newRecord); - void (*deleteRecord)(struct IReplicatedTransaction* self, struct IStatus* status, const char* name, struct IReplicatedRecord* record); - void (*executeSql)(struct IReplicatedTransaction* self, struct IStatus* status, const char* sql); - void (*executeSqlIntl)(struct IReplicatedTransaction* self, struct IStatus* status, unsigned charset, const char* sql); -}; - -struct IReplicatedTransaction -{ - void* cloopDummy[1]; - struct IReplicatedTransactionVTable* vtable; -}; - -CLOOP_EXTERN_C void IReplicatedTransaction_dispose(struct IReplicatedTransaction* self); -CLOOP_EXTERN_C void IReplicatedTransaction_prepare(struct IReplicatedTransaction* self, struct IStatus* status); -CLOOP_EXTERN_C void IReplicatedTransaction_commit(struct IReplicatedTransaction* self, struct IStatus* status); -CLOOP_EXTERN_C void IReplicatedTransaction_rollback(struct IReplicatedTransaction* self, struct IStatus* status); -CLOOP_EXTERN_C void IReplicatedTransaction_startSavepoint(struct IReplicatedTransaction* self, struct IStatus* status); -CLOOP_EXTERN_C void IReplicatedTransaction_releaseSavepoint(struct IReplicatedTransaction* self, struct IStatus* status); -CLOOP_EXTERN_C void IReplicatedTransaction_rollbackSavepoint(struct IReplicatedTransaction* self, struct IStatus* status); -CLOOP_EXTERN_C void IReplicatedTransaction_insertRecord(struct IReplicatedTransaction* self, struct IStatus* status, const char* name, struct IReplicatedRecord* record); -CLOOP_EXTERN_C void IReplicatedTransaction_updateRecord(struct IReplicatedTransaction* self, struct IStatus* status, const char* name, struct IReplicatedRecord* orgRecord, struct IReplicatedRecord* newRecord); -CLOOP_EXTERN_C void IReplicatedTransaction_deleteRecord(struct IReplicatedTransaction* self, struct IStatus* status, const char* name, struct IReplicatedRecord* record); -CLOOP_EXTERN_C void IReplicatedTransaction_executeSql(struct IReplicatedTransaction* self, struct IStatus* status, const char* sql); -CLOOP_EXTERN_C void IReplicatedTransaction_executeSqlIntl(struct IReplicatedTransaction* self, struct IStatus* status, unsigned charset, const char* sql); - -#define IReplicatedSession_VERSION 4 - -struct IReplicatedSession; - -struct IReplicatedSessionVTable -{ - void* cloopDummy[1]; - uintptr_t version; - void (*addRef)(struct IReplicatedSession* self); - int (*release)(struct IReplicatedSession* self); - void (*setOwner)(struct IReplicatedSession* self, struct IReferenceCounted* r); - struct IReferenceCounted* (*getOwner)(struct IReplicatedSession* self); - FB_BOOLEAN (*init)(struct IReplicatedSession* self, struct IStatus* status, struct IAttachment* attachment); - struct IReplicatedTransaction* (*startTransaction)(struct IReplicatedSession* self, struct IStatus* status, struct ITransaction* transaction, ISC_INT64 number); - void (*cleanupTransaction)(struct IReplicatedSession* self, struct IStatus* status, ISC_INT64 number); - void (*setSequence)(struct IReplicatedSession* self, struct IStatus* status, const char* name, ISC_INT64 value); -}; - -struct IReplicatedSession -{ - void* cloopDummy[1]; - struct IReplicatedSessionVTable* vtable; -}; - -CLOOP_EXTERN_C void IReplicatedSession_addRef(struct IReplicatedSession* self); -CLOOP_EXTERN_C int IReplicatedSession_release(struct IReplicatedSession* self); -CLOOP_EXTERN_C void IReplicatedSession_setOwner(struct IReplicatedSession* self, struct IReferenceCounted* r); -CLOOP_EXTERN_C struct IReferenceCounted* IReplicatedSession_getOwner(struct IReplicatedSession* self); -CLOOP_EXTERN_C FB_BOOLEAN IReplicatedSession_init(struct IReplicatedSession* self, struct IStatus* status, struct IAttachment* attachment); -CLOOP_EXTERN_C struct IReplicatedTransaction* IReplicatedSession_startTransaction(struct IReplicatedSession* self, struct IStatus* status, struct ITransaction* transaction, ISC_INT64 number); -CLOOP_EXTERN_C void IReplicatedSession_cleanupTransaction(struct IReplicatedSession* self, struct IStatus* status, ISC_INT64 number); -CLOOP_EXTERN_C void IReplicatedSession_setSequence(struct IReplicatedSession* self, struct IStatus* status, const char* name, ISC_INT64 value); - -#define IProfilerPlugin_VERSION 4 - -struct IProfilerPlugin; - -struct IProfilerPluginVTable -{ - void* cloopDummy[1]; - uintptr_t version; - void (*addRef)(struct IProfilerPlugin* self); - int (*release)(struct IProfilerPlugin* self); - void (*setOwner)(struct IProfilerPlugin* self, struct IReferenceCounted* r); - struct IReferenceCounted* (*getOwner)(struct IProfilerPlugin* self); - void (*init)(struct IProfilerPlugin* self, struct IStatus* status, struct IAttachment* attachment, ISC_UINT64 ticksFrequency); - struct IProfilerSession* (*startSession)(struct IProfilerPlugin* self, struct IStatus* status, const char* description, const char* options, ISC_TIMESTAMP_TZ timestamp); - void (*flush)(struct IProfilerPlugin* self, struct IStatus* status); -}; - -struct IProfilerPlugin -{ - void* cloopDummy[1]; - struct IProfilerPluginVTable* vtable; -}; - -CLOOP_EXTERN_C void IProfilerPlugin_addRef(struct IProfilerPlugin* self); -CLOOP_EXTERN_C int IProfilerPlugin_release(struct IProfilerPlugin* self); -CLOOP_EXTERN_C void IProfilerPlugin_setOwner(struct IProfilerPlugin* self, struct IReferenceCounted* r); -CLOOP_EXTERN_C struct IReferenceCounted* IProfilerPlugin_getOwner(struct IProfilerPlugin* self); -CLOOP_EXTERN_C void IProfilerPlugin_init(struct IProfilerPlugin* self, struct IStatus* status, struct IAttachment* attachment, ISC_UINT64 ticksFrequency); -CLOOP_EXTERN_C struct IProfilerSession* IProfilerPlugin_startSession(struct IProfilerPlugin* self, struct IStatus* status, const char* description, const char* options, ISC_TIMESTAMP_TZ timestamp); -CLOOP_EXTERN_C void IProfilerPlugin_flush(struct IProfilerPlugin* self, struct IStatus* status); - -#define IProfilerSession_VERSION 3 - -#define IProfilerSession_FLAG_BEFORE_EVENTS ((unsigned) (0x1)) -#define IProfilerSession_FLAG_AFTER_EVENTS ((unsigned) (0x2)) - -struct IProfilerSession; - -struct IProfilerSessionVTable -{ - void* cloopDummy[1]; - uintptr_t version; - void (*dispose)(struct IProfilerSession* self); - ISC_INT64 (*getId)(struct IProfilerSession* self); - unsigned (*getFlags)(struct IProfilerSession* self); - void (*cancel)(struct IProfilerSession* self, struct IStatus* status); - void (*finish)(struct IProfilerSession* self, struct IStatus* status, ISC_TIMESTAMP_TZ timestamp); - void (*defineStatement)(struct IProfilerSession* self, struct IStatus* status, ISC_INT64 statementId, ISC_INT64 parentStatementId, const char* type, const char* packageName, const char* routineName, const char* sqlText); - void (*defineCursor)(struct IProfilerSession* self, ISC_INT64 statementId, unsigned cursorId, const char* name, unsigned line, unsigned column); - void (*defineRecordSource)(struct IProfilerSession* self, ISC_INT64 statementId, unsigned cursorId, unsigned recSourceId, unsigned level, const char* accessPath, unsigned parentRecSourceId); - void (*onRequestStart)(struct IProfilerSession* self, struct IStatus* status, ISC_INT64 statementId, ISC_INT64 requestId, ISC_INT64 callerStatementId, ISC_INT64 callerRequestId, ISC_TIMESTAMP_TZ timestamp); - void (*onRequestFinish)(struct IProfilerSession* self, struct IStatus* status, ISC_INT64 statementId, ISC_INT64 requestId, ISC_TIMESTAMP_TZ timestamp, struct IProfilerStats* stats); - void (*beforePsqlLineColumn)(struct IProfilerSession* self, ISC_INT64 statementId, ISC_INT64 requestId, unsigned line, unsigned column); - void (*afterPsqlLineColumn)(struct IProfilerSession* self, ISC_INT64 statementId, ISC_INT64 requestId, unsigned line, unsigned column, struct IProfilerStats* stats); - void (*beforeRecordSourceOpen)(struct IProfilerSession* self, ISC_INT64 statementId, ISC_INT64 requestId, unsigned cursorId, unsigned recSourceId); - void (*afterRecordSourceOpen)(struct IProfilerSession* self, ISC_INT64 statementId, ISC_INT64 requestId, unsigned cursorId, unsigned recSourceId, struct IProfilerStats* stats); - void (*beforeRecordSourceGetRecord)(struct IProfilerSession* self, ISC_INT64 statementId, ISC_INT64 requestId, unsigned cursorId, unsigned recSourceId); - void (*afterRecordSourceGetRecord)(struct IProfilerSession* self, ISC_INT64 statementId, ISC_INT64 requestId, unsigned cursorId, unsigned recSourceId, struct IProfilerStats* stats); -}; - -struct IProfilerSession -{ - void* cloopDummy[1]; - struct IProfilerSessionVTable* vtable; -}; - -CLOOP_EXTERN_C void IProfilerSession_dispose(struct IProfilerSession* self); -CLOOP_EXTERN_C ISC_INT64 IProfilerSession_getId(struct IProfilerSession* self); -CLOOP_EXTERN_C unsigned IProfilerSession_getFlags(struct IProfilerSession* self); -CLOOP_EXTERN_C void IProfilerSession_cancel(struct IProfilerSession* self, struct IStatus* status); -CLOOP_EXTERN_C void IProfilerSession_finish(struct IProfilerSession* self, struct IStatus* status, ISC_TIMESTAMP_TZ timestamp); -CLOOP_EXTERN_C void IProfilerSession_defineStatement(struct IProfilerSession* self, struct IStatus* status, ISC_INT64 statementId, ISC_INT64 parentStatementId, const char* type, const char* packageName, const char* routineName, const char* sqlText); -CLOOP_EXTERN_C void IProfilerSession_defineCursor(struct IProfilerSession* self, ISC_INT64 statementId, unsigned cursorId, const char* name, unsigned line, unsigned column); -CLOOP_EXTERN_C void IProfilerSession_defineRecordSource(struct IProfilerSession* self, ISC_INT64 statementId, unsigned cursorId, unsigned recSourceId, unsigned level, const char* accessPath, unsigned parentRecSourceId); -CLOOP_EXTERN_C void IProfilerSession_onRequestStart(struct IProfilerSession* self, struct IStatus* status, ISC_INT64 statementId, ISC_INT64 requestId, ISC_INT64 callerStatementId, ISC_INT64 callerRequestId, ISC_TIMESTAMP_TZ timestamp); -CLOOP_EXTERN_C void IProfilerSession_onRequestFinish(struct IProfilerSession* self, struct IStatus* status, ISC_INT64 statementId, ISC_INT64 requestId, ISC_TIMESTAMP_TZ timestamp, struct IProfilerStats* stats); -CLOOP_EXTERN_C void IProfilerSession_beforePsqlLineColumn(struct IProfilerSession* self, ISC_INT64 statementId, ISC_INT64 requestId, unsigned line, unsigned column); -CLOOP_EXTERN_C void IProfilerSession_afterPsqlLineColumn(struct IProfilerSession* self, ISC_INT64 statementId, ISC_INT64 requestId, unsigned line, unsigned column, struct IProfilerStats* stats); -CLOOP_EXTERN_C void IProfilerSession_beforeRecordSourceOpen(struct IProfilerSession* self, ISC_INT64 statementId, ISC_INT64 requestId, unsigned cursorId, unsigned recSourceId); -CLOOP_EXTERN_C void IProfilerSession_afterRecordSourceOpen(struct IProfilerSession* self, ISC_INT64 statementId, ISC_INT64 requestId, unsigned cursorId, unsigned recSourceId, struct IProfilerStats* stats); -CLOOP_EXTERN_C void IProfilerSession_beforeRecordSourceGetRecord(struct IProfilerSession* self, ISC_INT64 statementId, ISC_INT64 requestId, unsigned cursorId, unsigned recSourceId); -CLOOP_EXTERN_C void IProfilerSession_afterRecordSourceGetRecord(struct IProfilerSession* self, ISC_INT64 statementId, ISC_INT64 requestId, unsigned cursorId, unsigned recSourceId, struct IProfilerStats* stats); - -#define IProfilerStats_VERSION 2 - -struct IProfilerStats; - -struct IProfilerStatsVTable -{ - void* cloopDummy[1]; - uintptr_t version; - ISC_UINT64 (*getElapsedTicks)(struct IProfilerStats* self); -}; - -struct IProfilerStats -{ - void* cloopDummy[1]; - struct IProfilerStatsVTable* vtable; -}; - -CLOOP_EXTERN_C ISC_UINT64 IProfilerStats_getElapsedTicks(struct IProfilerStats* self); - - -#endif // FB_C_API_H