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で使う場合の注意事項』
-
『OpenTP1では,tpalloc()がリターンしたバッファは,0で初期化されています。』
-
『OSI TP通信をするXATMIのエラーは,従来のTCP/IPとエラー動作が異なる場合があります。』