# ICONVCTL

NAME
SYNOPSIS
DESCRIPTION
REQUEST VALUES
RETURN VALUE
ERRORS
CONFORMING TO
SEE ALSO

## 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)