通信バッファー出口ライブラリーの関数構造
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
);
};