分散トランザクション処理機能 OpenTP1 プログラム作成リファレンス C言語編

[目次][索引][前へ][次へ]

tpalloc

名称

型付きバッファの割り当て

形式

ANSI C,C++の形式

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

K&R版 Cの形式

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

機能

関数tpalloc()は,引数typeで示す型で割り当てられたバッファへのポインタをリターンします。subtypeとsizeは,バッファ型の範囲で任意に設定します。

使用できるsubtypeが何種類かあるバッファ型の場合は,tpalloc()を呼ぶときに,subtypeを必ず設定してください。指定したtypeがsubtypeを持たない場合は,*subtypeは無視されます(nullを指定してください)。割り当てられたバッファは,少なくともsize分の大きさになります。

Note:typeの先頭8バイトとsubtypeの先頭16バイトだけが有効になります。

バッファ型によっては,使用する前に初期化が必要なものがあるので,tpalloc()は,バッファが割り当てられてからリターンするまでの間に,バッファを初期化します(その方法は,コミュニケーションリソースマネジャで規定)。

Note:このようにして,使える状態になってから,バッファは呼び出し側にリターンされます。バッファの初期化処理が規定されていない場合,tpalloc()はバッファを0に初期化しません。

『引数』

『●type

type名を設定します。』

『●subtype

subtype名を設定します。』

『●size

割り当てるバッファのサイズを設定します。』

リターン値

成功した場合,tpalloc()はlongワードに位置合わせした,適切な形式のバッファへのポインタをリターンします。エラー時には,NULLをリターンして,tperrnoにエラーの状態を示す値を設定します。

エラー

次のような場合,tpalloc()はエラーリターンして,次のうちどれか一つの値をtperrnoに設定します。

リターン値 リターン値(数値) 意味
TPEINVAL 4 間違った引数が与えられました(例えば,typeがNULL)。
TPENOENT 6 typeまたはsubtypeは,存在しない値です。
TPEOS 7 オペレーティングシステムにエラーが起こりました。厳密なエラーの性質は,product-specificな方法で定義されます。
TPEPROTO 9 tpalloc()が間違った状況で呼ばれました。
TPESYSTEM 12 コミュニケーションリソースマネジャシステムでエラーが起こりました。厳密なエラーの性質は,product-specificな方法で定義されます。

アプリケーションの使い方

バッファの初期化処理が失敗すると,割り当てられたバッファは解放されて,tpalloc()は失敗してNULLをリターンします。

この関数は,Cライブラリのmalloc(),realloc(),free()と一緒には使わないでください(例えば,tpalloc()で割り当てたバッファは,free()で解放しないでください)。

関連項目

tpfree(),tprealloc(),tptypes().

『OpenTP1で使う場合の注意事項』

  1. 『OpenTP1では,tpalloc()がリターンしたバッファは,0で初期化されています。』
  2. 『OSI TP通信をするXATMIのエラーは,従来のTCP/IPとエラー動作が異なる場合があります。』