BEA Logo BEA Tuxedo Release 8.0

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

 

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

 


Fgetsa、Fgetsa32(3fml)

名前

Fgetsa()Fgetsa32() - malloc() で領域を割り当て、変換された値を取得する

形式

#include <stdio.h> 
#include "fml.h"
char *
Fgetsa(FBFR *fbfr, FLDID fieldid, FLDOCC oc, FLDLEN *extra)
#include "fml32.h"
char *
Fgetsa32(FBFR32 *fbfr, FLDID32 fieldid, FLDOCC32 oc, FLDLEN32
*extra)

機能説明

Fgetsa() は、CFgetalloc() を呼び出すマクロです。fbfr は、フィールド化バッファを指すポインタです。fieldid は、フィールド識別子です。oc はフィールドのオカレンス番号です。この関数は、UNIX System V「プログラマ・ リファレンス・マニュアル」の malloc() を使用して、文字列に変換されている検索対象のフィールド値に領域を割り当てます。extra が NULL でない場合、extra には、フィールド値の大きさに加えて割り当てる余分な領域を指定します。全体の大きさは、extra に返ります。

malloc() で割り当てた領域を (UNIX システムのリファレンス・ページの) free() を使って解放するのは、ユーザの責任です。

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

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

戻り値

正常終了の場合、割り当てられたバッファを指すポインタを返します。

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

エラー

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

[FALIGNERR]

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

[FNOTFLD]

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

[FNOTPRES]

"field not present"
フィールド・オカレンスが要求されましたが、指定されたフィールドとオカレンスの両方、あるいはどちらかは、フィールド化バッファにありませんでした。

[FBADFLD]

"unknown field number or type"
指定されたフィールド識別子は無効です。

[FTYPERR]

"invalid field type"
指定されたフィールド識別子は無効です。

[FMALLOC]

"malloc failed"
malloc() を使用しての領域の動的な割り当てが失敗しました。

関連項目

FML 関数の紹介」、CFget、CFget32(3fml)Fget、Fget32(3fml)Fgetlast、Fgetlast32(3fml)Fgets、Fgets32(3fml)

UNIX システムのリファレンス・ページの free(3)、malloc(3)

 

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