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分の大きさになります。
バッファ型によっては,使用する前に初期化が必要なものがあるので,tpalloc()は,バッファが割り当てられてからリターンするまでの間に,バッファを初期化します(その方法は,コミュニケーションリソースマネジャで規定)。
『引数』
『●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で使う場合の注意事項』