manpagez: man pages & more
man iconvctl(3)
Home | html | info | man
iconvctl(3)                Library Functions Manual                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_INVALID
              argument should be an int * which will receive 1 if "discard
              invalid multibyte sequence from the input and continue" is
              enabled in the conversion, or 0 otherwise.

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

       ICONV_GET_DISCARD_NON_IDENTICAL
              argument should be an int * which will receive 1 if "discard
              character that cannot be represented in the target character set
              and continue" is enabled in the conversion, or 0 otherwise.

       ICONV_SET_DISCARD_NON_IDENTICAL
              argument should be a const int *, pointing to an int value.  A
              non-zero value is used to enable "discard character that cannot
              be represented in the target character set and continue" in the
              conversion. A zero value disables it.

       ICONV_GET_DISCARD_ILSEQ
              argument should be an int * which will receive 1 if both
              "discard" behaviours are 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 both "discard" behaviours in
              the conversion.  A zero value disables them.

       ICONV_GET_FROM_SURFACE
              argument should be an unsigned int * which will receive the
              from-side (input side) surface of the conversion.

       ICONV_SET_FROM_SURFACE
              argument should be a const unsigned int *, pointing to an
              unsigned int value.  This value is installed as the from-side
              (input side) surface of the conversion.  The value is a bit
              mask.  Zero denotes no surface.  The value
              ICONV_SURFACE_EBCDIC_ZOS_UNIX has an effect on EBCDIC encodings:
              The EBCDIC newline 0x15 will get mapped to LF instead of NEL.

       ICONV_GET_TO_SURFACE
              argument should be an unsigned int * which will receive the to-
              side (output side) surface of the conversion.

       ICONV_SET_TO_SURFACE
              argument should be a const unsigned int *, pointing to an
              unsigned int value.  This value is installed as the to-side
              (output side) surface of the conversion.  The value is a bit
              mask.  Zero denotes no surface.  The value
              ICONV_SURFACE_EBCDIC_ZOS_UNIX has an effect on EBCDIC encodings:
              LF, instead of NEL, will get mapped to the EBCDIC newline 0x15.


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)

GNU                            December 15, 2024                   iconvctl(3)

libiconv 1.18 - Generated Thu Mar 5 15:14:50 CST 2026
© manpagez.com 2000-2026
Individual documents may contain additional copyright information.