Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 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とエラー動作が異なる場合があります。』