![]() |
![]() |
|
|
tpalloc(3c)
名前
tpalloc()-型付きバッファの割り当てを行うルーチン
形式
#include <atmi.h>
char * tpalloc(char *type, char *subtype, long size)
機能説明
tpalloc() は、type タイプのバッファを指すポインタを返します。バッファのタイプによっては、subtype と size は両方とも省略することができます。BEA Tuxedo ATMI システムには、様々なタイプのバッファが提供されており、しかもアプリケーションは自由に独自のバッファ・タイプを追加することができます。詳細については、tuxtypes(5) を参照してください。
ある特定のバッファ・タイプの tmtype_sw で subtype が 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() を次のいずれかの値に設定します。
使用法
バッファの初期化が失敗した場合、割り当てられたバッファは解放され、tpalloc() は、異常終了して NULL を返します。
この関数を C のライブラリである malloc()、realloc()、あるいは free() と同時に使用してはいけません (たとえば、tpalloc() を使用して割り当てられたバッファを free() を使用して解放してはいけません)。
BEA Tuxedo ATMI システムの拡張に準拠したインプリメンテーションは、すべて2つのバッファ・タイプをサポートしています。詳細については、「C 言語アプリケーション・トランザクション・モニタ・インターフェイスについて」を参照してください。
関連項目
tpfree(3c)、 tprealloc(3c)、 tptypes(3c)
![]() |
![]() |
![]() |
|
Copyright © 2001 BEA Systems, Inc. All rights reserved.
|