EN JA
ICONVCTL(3)
ICONVCTL(3) FreeBSD Library Functions Manual ICONVCTL(3)

名称

iconvctliconv(3) のための制御と診断機能

ライブラリ

Standard C Library (libc, -lc)

書式

#include < iconv.h>

int
iconvctl( iconv_t cd, int request, void *argument);

解説

iconvctl() 関数は、 cd 変換記述子から検索するか、または特定の変換の設定することができます。 request パラメータは、達成する操作を指定し、 argument は、操作特有の引数です。

指定できる操作は、次の通りです:

ICONV_TRIVIALP
この場合に、 argument は、エンコードが普通のものであるなら、すなわち、入力と出力のエンコードが、同じであるなら、1 に設定される、 int * 変数です。そうでなければ、変数は、0 となります。
ICONV_GET_TRANSLITERATE
変換が有効であるかどうか判断します。答えは、 int * である、 argument に格納されます。それは、この機能が有効にされるなら、1 に設定され、そうでなければ、 0 に設定されます。
ICONV_SET_TRANSLITERATE
int * である argument が 1 に設定されるなら、変換を有効にし、 argument が 0 に設定されるなら、無効にします。
ICONV_GET_DISCARD_ILSEQ
不正なシーケンスが廃棄されるかどうか判断します。答えは、 int * である argument に格納されます。この機能が有効であるなら、1 に設定され、そうでなければ、0 に設定されます。
ICONV_SET_DISCARD_ILSEQ
不正なシーケンスが廃棄されるか、破棄されないかどうかを設定します。 int * である argument は、1 に設定され、 argument が 0 に設定されるなら、それを無効にします。
ICONV_SET_HOOKS
変換が成功した後に呼び戻される、コールバック関数を設定します。コールバック関数は、そのアドレスによって argument を通して iconvctl に渡される、 struct iconv_hooks 変数に格納されます。
ICONV_GET_ILSEQ_INVALID
有効な入力バッファの文字であるが、同一の文字がターゲットのコードセットに存在しないかを確認し、 EILSEQ または、それ以外を返します。答えは、 int *argument に格納されます。この機能が有効であるなら、1 に設定され、そうでなければ、0 に設定されます。
ICONV_SET_ILSEQ_INVALID
有効な入力バッファの文字であるが、同一の文字がターゲットのコードセットに存在しないかどうか設定し、 EILSEQ または、それ以外を返します。 int * である argument が 1 に設定されるなら、有効にされ、 argument が 0 に設定されるなら、無効にされます。

戻り値

成功して完了すれば、 iconvctl() は、0 を返します。そうでなければ、-1 が、返され、errno は、エラーの種類を指定する値を設定します。

エラー

iconvctl() 関数は、次の場合におけるエラーを引き起こします:
[ EINVAL]
未知または実装されなかった操作。
[ EBADF]
cd によって指定された変換記述子が、無効です。

関連項目

iconv(1), iconv(3)

規格

iconvctl 機能は、GNU 実装で登場し、互換性の目的ために FreeBSD 9.0 で採用された、非標準の拡張です。

作者

このマニュアルページは、 Gabor Kovesdan <gabor@FreeBSD.org>によって書かれました。

バグ

変換は、デフォルトでこの実装で有効にされるので、それは、それをオフに切り替えるのは、設計によって不可能です。そのために、それをオフに切り替える試みは、常に失敗し、-1 が返されます。変換状態を取得することは、常に成功しますが、それがオンに切り替えられることを示します。
November 25, 2009 FreeBSD