BEA Logo BEA Tuxedo Release 8.0

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

 

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

 


Fvstof、Fvstof32(3fml)

名前

Fvstof()Fvstof32() - C 構造体からフィールド化バッファにコピー

形式

#include <stdio.h> 
#include "fml.h"

int
Fvstof(FBFR *fbfr, char *cstruct, int mode, char *view)

#include "fml32.h"

int
Fvstof32(FBFR32 *fbfr, char *cstruct, int mode, char *view)

機能説明

Fvstof() は、C 構造体からフィールド化バッファへデータを転送します。fbfr は、フィールド化バッファを指すポインタです。 cstruct は、C 構造体を指すポインタです。mode は、転送が行われる方法を指定します。view は、コンパイルされた VIEW 記述子を指すポインタです。mode は、次の 4 つのいずれかの値です。

これらのモードが行う動作は、Fupdate()Fojoin()Fjoin()、および Fconcat() で記述しているものと同じです。ソース・バッファを指定する場所を除いて、Fvstof() をこれらの関数と同じように考えることができます。Fvstof() は C 構造体を指定します。FUPDATE は、NULL の値を持つ構造体の要素を移動しないことに注意してください。

Fvstof32() は、viewc32 で定義されたビューや、フィールド数の多い大規模ビューのための VIEW32 型付きバッファに対して使用されます。

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

戻り値

この関数は、エラー発生時に -1 を返し、Ferror を設定してエラー条件を示します。

エラー

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

[FALIGNERR]

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

[FNOTFLD]

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

[FEINVAL]

"invalid argument to function"
呼び出された関数の引数の 1 つが無効です (たとえば、Fvstof() に NULL cstruct パラメタあるいは無効なモードが指定されている場合)。

[FNOSPACE]

"no space in fielded buffer"
フィールド値は、フィールド化バッファで追加あるいは変更されますが、バッファに十分な領域が残っていません。

[FBADACM]

"ACM contains negative value"
関連するカウント・メンバが、構造体からフィールド化バッファへ転送中は負の値であってはなりません。

[FMALLOC]

"malloc failed"
CARRAY または文字列のバッファから変換するときに、malloc() を使用した領域の動的な割り当てが失敗しました。

関連項目

FML 関数の紹介」、Fconcat、Fconcat32(3fml)Fjoin、Fjoin32(3fml)Fojoin、Fojoin32(3fml)Fupdate、Fupdate32(3fml)Fvftos、Fvftos32(3fml)

 

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