BEA Logo BEA Tuxedo Release 8.0

  BEA ホーム  |  イベント  |  ソリューション  |  パートナ  |  製品  |  サービス  |  ダウンロード  |  ディベロッパ・センタ  |  WebSUPPORT

 

   Tuxedoホーム   |   ファイル形式、データ記述方法、MIB、およびシステム・プロセスのリファレンス   |   先頭へ   |   前へ   |   次へ   |   目次

 


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 種類のバッファ・タイプの一覧です。

CARRAY

送信時に符号化も復号化も行われない文字配列 (多くの場合 NULL 文字を含む)

STRING

NULL で終了する文字配列

FML

FML フィールド化バッファ

XML

XML ドキュメント用のバッファ

VIEW

C 構造体または FML VIEW

X_OCTET

CARRAY に等しいもので、XATMI 互換性用に提供されています。

X_C_TYPE

VIEW に等しいもので、XATMI 互換性用に提供されています。

X_ COMMON

VIEW に等しいもので、XATMI 互換性用に提供されています。

FML32

32 ビット識別子およびオフセットを使用した、FML32 フィールド化バッファ

VIEW32

32 ビット識別子、カウンタ変数、およびサイズ変数を使用した、C 構造体または FML32


 

すべての VIEWX_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 -タイプ・スイッチ・アーカイブ・ライブラリ

関連項目

buffer(3c)typesw(5)UBBCONFIG(5)

 

先頭へ戻る 前のトピックへ 次のトピックへ