BEA Logo BEA Tuxedo Release 8.0

  BEA ホーム  |  イベント  |  ソリューション  |  パートナ  |  製品  |  サービス  |  ダウンロード  |  ディベロッパ・センタ  |  WebSUPPORT

 

   Tuxedo ホーム   |   BEA Tuxedo FML リファレンス   |   先頭へ   |   前へ   |   次へ   |   目次

 


Fcmp、Fcmp32(3fml)

名前

Fcmp()Fcmp32() - 2 つのフィールド化バッファの比較

形式

#include <stdio.h> 
#include "fml.h"
int
Fcmp(FBFR *fbfr1, FBFR *fbfr2)
#include "fml32.h"
int
Fcmp32(FBFR32 *fbfr1, FBFR32 *fbfr2)

機能説明

Fcmp() は、フィールド識別子を比較してから、2 つの FML バッファのフィールド値を比較します。fbfr1 および fbfr2 は、比較するフィールド化バッファを指すポインタです。

FLD_PTR 型の値の場合、ポインタの値 (アドレス) が等しければ、2 つのポインタ・フィールドは等しいと見なされます。FLD_FML32 型の値の場合、すべてのフィールド・オカレンスおよび値が等しければ、2 つのフィールドは等しいと見なされます。FLD_VIEW32 型の値の場合、VIEW 名が同じとき、およびすべての構造体メンバのオカレンスと値が等しいとき、2 つのフィールドは等しいと見なされます。

Fcmp32() は 32 ビット FML で使用されます。

マルチスレッドのアプリケーション内のスレッドは、TPINVALIDCONTEXT を含め、どのようなコンテキスト状態で実行している場合でも、Fcmp() または Fcmp32() を呼び出すことができます。

戻り値

この関数は、2 つのバッファが等しい場合には 0 を返します。次に示す条件の場合 -1 を返します。

Fcmp() は、上記のいずれかの条件の逆が true の場合、1を返します。たとえば、fbfr1 フィールドのフィールド識別子が fbfr2 フィールドの対応するフィールド識別子より大きい場合です。この場合、バッファの実際の大きさ (つまり、Falloc() に渡された大きさ) は認識されず、バッファのデータのみが認識されます。この関数はエラー発生時に -2 を返し、Ferror を設定してエラーの状態を示します。

エラー

次の条件の場合、Fcmp() は異常終了し、Ferror を次の値に設定します。

[FALIGNERR]

"fielded buffer not aligned"
バッファが適切なバウンダリで開始していません。

[FNOTFLD]

"buffer not fielded"
バッファがフィールド化されていないか、または Finit() で初期化されていません。

関連項目

FML 関数の紹介」、Fadd、Fadd32(3fml)Fchg、Fchg32(3fml)

 

先頭へ戻る 前のトピックへ 次のトピックへ