|
|
tuxtypes(5)
名前
tuxtypes-バッファ・タイプ・スイッチ。BEA Tuxedo システムが提供するバッファ・タイプの記述
形式
省略時のバッファ・タイプ・スイッチ
/*
* 以下の定義は
* $TUXDIR/lib/tmtypesw.c に指定されています。
*/
#include "tmtypes.h"
/*
* バッファ・タイプ・スイッチの初期設定
*/
struct tmtype_sw_t tm_typesw[] = {
{
"CARRAY", /* type */
"*", /* subtype */
0 /* dfltsize */},
} ,
{
"STRING", /* type */
"*", /* subtype */
512, /* dfltsize */
NULL, /* initbuf */
NULL, /* reinitbuf */
NULL, /* uninitbuf */
_strpresend, /* presend */
NULL, /* postsend */
NULL, /* postrecv */
_strencdec, /* encdec */
NULL, /* route */
_sfilter, /* filter */
_sformat, /* format */},
{
"FML", /* type */
"*", /* subtype */
1024, /* dfltsize */
_finit, /* initbuf */
_freinit, /* reinitbuf */
_funinit, /* uninitbuf */
_fpresend, /* presend */
_fpostsend, /* postsend */
_fpostrecv, /* postrecv */
_fencdec, /* encdec */
_froute, /* route */
_ffilter, /* filter */
_fformat, /* format */},
NULL, /* presend2 */
},
{
"VIEW", /* type */
"*", /* subtype */
1024, /* dfltsize */
_vinit, /* initbuf */
_vreinit, /* reinitbuf */
NULL, /* uninitbuf */
_vpresend, /* presend */
NULL, /* postsend */
NULL, /* postrecv */
_vencdec, /* encdec */
_vroute, /* route */
_vfilter, /* filter */
_vformat, /* format */
},
{
/* XATMI - CARRAY と同じ */
"X_OCTET", /* type */
"*", /* subtype */
0 /* dfltsize */
},
{ /* XATMI - VIEW と同じ */
{'X','_','C','_','T','Y','P','E'}, /* type */
"*", /* subtype */
1024, /* dfltsize */
_vinit, /* initbuf */
_vreinit, /* reinitbuf */
NULL, /* uninitbuf */
_vpresend, /* presend */
NULL, /* postsend */
NULL, /* postrecv */
_vencdec, /* encdec */
_vroute, /* route */
_vfilter, /* filter */
_vformat, /* format */
},
{
/* XATMI - VIEW と同じ */
{'X','_','C','O','M','M','O','N'}, /* type */
"*", /* subtype */
1024, /* dfltsize */
_vinit, /* initbuf */
_vreinit, /* reinitbuf */
NULL, /* uninitbuf */
_vpresend, /* presend */
NULL, /* postsend */
NULL, /* postrecv */
_vencdec, /* encdec */
_vroute, /* route */
_vfilter, /* filter */
_vformat, /* format */
},
{
"FML32", /* type */
"*", /* subtype */
1024, /* dfltsize */
_finit32, /* initbuf */
_freinit32, /* reinitbuf */
_funinit32, /* uninitbuf */
_fpresend32, /* presend */
_fpostsend32, /* postsend */
_fpostrecv32, /* postrecv */
_fencdec32, /* encdec */
_froute32, /* route */
_ffilter32, /* filter */
_fformat32, /* format */
_fpresend232 /* presend2 */
},
{
"VIEW32", /* type */
"*", /* subtype */
1024, /* dfltsize */
_vinit32, /* initbuf */
_vreinit32, /* reinitbuf */
NULL, /* uninitbuf */
_vpresend32, /* presend */
NULL, /* postsend */
NULL, /* postrecv */
_vencdec32, /* encdec */
_vroute32, /* route */
_vfilter32, /* filter */
_vformat32, /* format */
},
{
"XML", /* type */
"*", /* subtype */
0, /* dfltsize */
NULL, /* initbuf */
NULL, /* reinitbuf */
NULL, /* uninitbuf */
NULL, /* presend */
NULL, /* postsend */
NULL, /* postrecv */
NULL, /* encdec */
_xroute, /* route */
NULL, /* filter */
NULL, /* format */
},
{
""
}
};
struct tmtype_sw_t _TM_FAR *
_TMDLLENTRY
_tmtypeswaddr(void)
{
return(tm_typesw);
}
機能説明
次の表は、BEA Tuxedo システムが提供する 10 種類のバッファ・タイプの一覧です。
すべての VIEW、X_C_TYPE、および X_COMMON バッファは同じルーチンのセットで処理され、特定の VIEW の名前はそのサブタイプの名前です。 カスタム・バッファ・タイプを指定する場合には、上記の tm_typesw 配列にインスタンスを追加します。新しいバッファ・タイプを追加したり、既存のバッファ・タイプを削除したりする場合は、上に示したように配列の最後に NULL エントリを残しておくように注意してください。バッファ・タイプに NULL 名を指定することはできません。 デフォルトの配列のコピーは $TUXDIR/lib/tmtypesw.c 内に配布され、開始点として使用されます。新しいバッファ・タイプ・スイッチをインストールする手順として推奨されるのは、tmtypesw.c をコンパイルし、libbuft というライブラリ内に唯一の要素として格納することです。 共有オブジェクト機能をもつシステムでは、$TUXDIR/lib の下に libbuft.so.50 という新しいインスタンスを作成およびインストールします。WSH などの BEA Tuxedo システム・プロセスを含む、すべてのプロセスは、再コンパイルしなくても、新しいタイプ・スイッチへのアクセス権を自動的にもつことになります。Windows のワークステーションでは、バッファ・タイプのスイッチのための共有オブジェクトは、WBUFT.DLL となります。これは、$TUXDIR¥bin に格納されている必要があります。 共有オブジェクト機能をもたないシステムでは、$TUXDIR/lib の下に libbuft.a という新しいインスタンスを作成およびインストールします。新しいタイプについて知る必要があるすべてのプロセスは、buildclient(1) または buildserver(1) を使用して再作成する必要があります。WSH のようなシステム・プロセスは、buildwsh(1) など特殊なコマンドを使用して再作成する必要があります。 バッファ・タイプ・スイッチの要素とルーチンについては、buffer(3c) を参照してください。また、アプリケーション独自のバッファ・タイプを定義するときに、アプリケーションが使用できる BEA Tuxedo システム提供の省略時のルーチン (たとえば _finit()) についての説明も記載されています。 システムが提供する _froute()、_vroute()、および _xroute() の 3 つのルーティング関数は、それぞれ FML バッファ、VIEW バッファ、および XML バッファのデータ依存型ルーティングに使用されます。これら 3 つの関数で使用するルーティング基準の定義方法については、UBBCONFIG(5) を参照してください。 ファイル $TUXDIR/tuxedo/include/tmtypes.h -タイプ・スイッチの定義 関連項目
$TUXDIR/lib/tmtypesw.c -タイプ・スイッチのインストレーション
$TUXDIR/lib/libbuft.so. -タイプ・スイッチ共有オブジェクト
$TUXDIR/lib/libbuft.a -タイプ・スイッチ・アーカイブ・ライブラリ
|
Copyright © 2001 BEA Systems, Inc. All rights reserved.
|