ページの先頭行へ戻る
Interstage Charset Manager Standard Edition V9 システム構築ガイド コンバータ編
FUJITSU Software

4.1.9 charsetmanager_converter_set_indata_status_ivs

変換元データ状態設定関数(IVS) です。

呼び出し形式

void charsetmanager_converter_set_indata_status_ivs(
       charsetmanager_converter_stream_status_ptr cssp,
       const charsetmanager_converter_indata_status_ivs * indata_status,
       int *error
);

機能説明

変換元データ状態設定関数(IVS)です。

コード変換ポリシー定義ファイルのSourceConverterKeywordキーワードに”Unicode(UCS4_IVS)”を指定した場合に、コード変換関数(4.1.3 charsetmanager_converter_convert)の変換元データ(indata)の状態を設定します。

コード変換ポリシー定義ファイルのSourceConverterKeywordキーワードに”Unicode(UCS4_IVS)”以外を指定した場合、本関数の設定は無視されます。

パラメタ

cssp(OUT)

ストリーム情報格納域のポインタを指定します。ストリーム情報生成関数(“4.1.5 charsetmanager_converter_stream_open_status”)の復帰値を指定します。

indata_status(IN)

変換元データの状態を設定する領域のポインタを指定します。

typedef struct {
       int version;
       int indataFollow; /* 後続するデータの有無 */
} charsetmanager_converter_indata_status_ivs;

versionには1を設定してください。

indataFollowに指定できる値は以下のとおりです。

なお、本APIを呼び出さない場合は、CHARSETMANAGER_CONVERTER_INDATA_LASTが指定されたと解釈します。

意味

CHARSETMANAGER_CONVERTER_INDATA_LAST

変換元データ(indata)に、後続するデータが存在しない(データの終端である)場合に指定します。

CHARSETMANAGER_CONVERTER_INDATA_CONTINUE

変換元データ(indata)に、後続するデータが存在する場合に指定します。

SourceConverterKeywordキーワードに”Unicode(UCS4_IVS)”を指定した場合、indataFollowに設定する値によって、以下のようにコード変換関数(“4.1.3 charsetmanager_converter_convert”)の動作が変わります。

CHARSETMANAGER_CONVERTER_INDATA_LASTを指定した場合

変換元データの終端の状態

コード変換関数の動作

コード変換関数の詳細エラー情報のstatusに設定される値

基底文字

基底文字として変換する。

なし

基底文字の途中で切れた文字コード

基底文字の直前まで変換する。

CHARSETMANAGER_CONVERTER_STATUS_UNDECODABLE_AT_END_OF_BUFFER

基底文字+途中で切れた文字コード(注)

基底文字まで変換する。

CHARSETMANAGER_CONVERTER_STATUS_UNDECODABLE_AT_END_OF_BUFFER

基底文字+VS

IVSとして変換する。

なし

CHARSETMANAGER_CONVERTER_INDATA_ CONTINUEを指定した場合

変換元データの終端の状態

コード変換関数の動作

コード変換関数の詳細エラー情報のstatusに設定される値

基底文字

基底文字の直前まで変換する。

CHARSETMANAGER_CONVERTER_STATUS_UNSPECIFIED_AT_END_OF_BUFFER

基底文字の途中で切れた文字コード

基底文字の直前まで変換する。

CHARSETMANAGER_CONVERTER_STATUS_UNDECODABLE_AT_END_OF_BUFFER

基底文字+途中で切れた文字コード(注)

基底文字の直前まで変換する。

CHARSETMANAGER_CONVERTER_STATUS_UNSPECIFIED_AT_END_OF_BUFFER

基底文字+VS

IVSとして変換する。

なし

(注)「途中で切れた文字コード」がUTF-32の”0000”のように、0面であることが確定していて、VSになり得ない文字コードの場合も含みます。

本APIで設定した値は、次に本APIを呼び出すか、ストリーム情報解放関数(“4.1.7 charsetmanager_converter_stream_close_status”)を呼び出すまで有効となります。

error(OUT)

エラー番号を返却する領域のポインタを指定します。本ポインタがNULLの場合、処理を中断します。関数が正常終了した場合には0が返却され、エラー終了時には1以上の詳細エラー番号が返却されます。エラー番号については、“表4.1 エラー番号一覧”を参照してください。

復帰値

ありません。