通信バッファー出口ライブラリーの関数構造

db2commexitInit 関数は、void * commexit_fns パラメーターを使用します。 このパラメーターは、通信バッファー出口ライブラリーによってインプリメントされたすべての関数が含まれる、バージョン固有の構造にキャストされます。 db2commexitInit 関数は、関数ポインターを割り当てる必要があります。そうすることで、データベース・マネージャーは、それらの関数を呼び出すことができます。

作成する必要のある構造 (各 API を指す関数ポインターを含む) は、以下のとおりです。
struct db2commexitFunctions_v1
{
    db2int32 version;

    SQL_API_RC ( SQL_API_FN * db2commexitTerm )
    (
       char     **errormsg,
       db2int32 *errormsglen
    );

    SQL_API_RC ( SQL_API_FN * db2commexitRegister )
    (
       void                         ** ppConnectionContext,
       const db2commexitCommInfo_v1  * pCommInfo,
       db2int32                        state,
       db2int64                      * pReservedFlags,
       char                         ** errormsg,
       db2int32                      * errormsglen
    );

    SQL_API_RC ( SQL_API_FN * db2commexitDeregister )
    (
       void                          * pConnectionContext,
       const db2commexitCommInfo_v1  * pCommInfo,
       db2int32                        state,
       db2int64                      * pReservedFlags,
       char                         ** errormsg,
       db2int32                      * errormsglen
    );

    SQL_API_RC ( SQL_API_FN * db2commexitRecv )
    (
       void                          * pConnectionContext,
       const db2commexitCommInfo_v1  * pCommInfo,
       const db2commexitBuffer       * pBuffer,
       db2int64                      * pReservedFlags,
       char                         ** errormsg,
       db2int32                      * errormsglen
    );

    SQL_API_RC ( SQL_API_FN * db2commexitSend )
    (
       void                          * pConnectionContext,
       const db2commexitCommInfo_v1  * pCommInfo,
       const db2commexitBuffer       * pBuffer,
       db2int64                      * pReservedFlags,
       char                         ** errormsg,
       db2int32                      * errormsglen
    );

    SQL_API_RC ( SQL_API_FN * db2commexitUserIdentity )
    (
       void                          * pConnectionContext,
       const db2commexitCommInfo_v1  * pCommInfo,
       db2int32                        state,
       db2int32                        usernameLen,
       const char                    * pUserame,
       db2int32                        sessionAuthidLen,
       const char                    * pSessionAuthid,
       db2int64                      * pReservedFlags,
       char                         ** errormsg,
       db2int32                      * errormsglen
    );

    SQL_API_RC ( SQL_API_FN * db2commexitFreeErrormsg )
    (
       char * errormsg
    );

};