bea ホーム | 製品 | dev2dev | support | askBEA |
![]() |
![]() |
|
![]() |
e-docs > Tuxedo > Tuxedo C リファレンス > セクション 3c - C 関数 |
Tuxedo C リファレンス
|
名前
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)
![]() |
![]() |
![]() |
![]() |
||
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |