BEA Logo BEA Tuxedo Release 8.0

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

 

   Tuxedoホーム   |   BEA Tuxedo C リファレンス   |   先頭へ   |   前へ   |   次へ   |   目次

 


tpalloc(3c)

名前

tpalloc()-型付きバッファの割り当てを行うルーチン

形式

#include <atmi.h>
char * tpalloc(char *type, char *subtype, long size)

機能説明

tpalloc() は、type タイプのバッファを指すポインタを返します。バッファのタイプによっては、subtypesize は両方とも省略することができます。BEA Tuxedo ATMI システムには、様々なタイプのバッファが提供されており、しかもアプリケーションは自由に独自のバッファ・タイプを追加することができます。詳細については、tuxtypes(5) を参照してください。

ある特定のバッファ・タイプの tmtype_swsubtype が NULL でない場合、tpalloc() を呼び出す際に subtype を指定しなければなりません。割り当てるバッファは少なくとも size および dfltsize と同じ大きさにします。ここで、dfltsize は特定のバッファ・タイプの tmtype_sw に指定するデフォルトのバッファ・サイズです。バッファ・タイプが STRING の場合、最小は 512 バイトです。バッファ・タイプが FML あるいは VIEW の場合、最小は、1024 バイトです。

なお、type の最初の 8 バイトと subtype の最初の 16 バイトだけが有効です。

あるバッファ・タイプは使用する前に初期化が必要です。tpalloc()は、バッファが割り当てられて返される前に (BEA Tuxedo ATMI システム固有の方法で) バッファを初期化します。このため、呼び出し元から返されるバッファはすぐに使用できます。ただし、初期化ルーチンがバッファをクリアしないかぎり、そのバッファは tpalloc() によってゼロに初期化されません。

マルチスレッドのアプリケーション中のスレッドは、TPINVALIDCONTEXT を含め、どのコンテキスト状態で実行していても、tpalloc() の呼び出しを発行できます。

戻り値

正常終了の場合、tpalloc() は long ワードの適切なタイプのバッファを指すポインタを返します。それ以外の場合は NULL を返し、tperrno() を設定して条件を示します。

エラー

異常終了時には、tpalloc()tperrno() を次のいずれかの値に設定します。

[TPEINVAL]

無効な引数が与えられた場合 (たとえば、type が NULL である場合)。

[TPENOENT]

tmtype_sw のどのエントリも type と一致しない場合。また、subtype が NULL でなければ、subtype とも一致しない場合。

[TPEPROTO]

tpalloc() が不正なコンテキストで呼び出された場合。

[TPESYSTEM]

BEA Tuxedo システムのエラーが発生しました。エラーの正確な内容はログ・ファイルに書き込まれます。

[TPEOS]

オペレーティング・システムのエラーが発生しました。

使用法

バッファの初期化が失敗した場合、割り当てられたバッファは解放され、tpalloc() は、異常終了して NULL を返します。

この関数を C のライブラリである malloc()realloc()、あるいは free() と同時に使用してはいけません (たとえば、tpalloc() を使用して割り当てられたバッファを free() を使用して解放してはいけません)。

BEA Tuxedo ATMI システムの拡張に準拠したインプリメンテーションは、すべて2つのバッファ・タイプをサポートしています。詳細については、「C 言語アプリケーション・トランザクション・モニタ・インターフェイスについて」を参照してください。

関連項目

tpfree(3c)tprealloc(3c)tptypes(3c)

 

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