ICONVCTL(3)

NAME
iconvctl - control iconv behavior

SYNOPSIS
#include <iconv.h>

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

DESCRIPTION
The argument cd must be a conversion descriptor created using the function iconv_open.

iconvctl queries or adjusts the behavior of the iconv function, when invoked with the specified conversion descriptor, depending on the request value.

REQUEST VALUES
The following are permissible values for the request parameter.

ICONV_TRIVIALP
    argument should be an int * which will receive 1 if the conversion is trivial, or 0 otherwise.

ICONV_GET_TRANSLITERATE
    argument should be an int * which will receive 1 if transliteration is enabled in the conversion, or 0 otherwise.

ICONV_SET_TRANSLITERATE
    argument should be a const int *, pointing to an int value. A non-zero value is used to enable transliteration in the conversion. A zero value disables it.

ICONV_GET_DISCARD_ILSEQ
    argument should be an int * which will receive 1 if "illegal sequence discard and continue" is enabled in the conversion, or 0 otherwise.

ICONV_SET_DISCARD_ILSEQ
    argument should be a const int *, pointing to an int value. A non-zero value is used to enable "illegal sequence discard and continue" in the conversion. A zero value disables it.

RETURN VALUE
The iconvctl function returns 0 if it succeeds. In case of error, it sets errno and returns -1.

ERRORS
The following errors can occur, among others:

EINVAL
    The request is invalid.

CONFORMING TO
This function is implemented only in GNU libiconv and not in other iconv implementations. It is not backed by a standard. You can test for its presence through (_LIBICONV_VERSION >= 0x0108).

SEE ALSO
iconv_open(3), iconv(3)