<html>
<head>
<meta name="generator" content="groff -Thtml, see www.gnu.org">
<meta name="Content-Style" content="text/css">
<title>ICONVCTL</title>
</head>
<body>

<h1 align=center>ICONVCTL</h1>
<a href="#NAME">NAME</a><br>
<a href="#SYNOPSIS">SYNOPSIS</a><br>
<a href="#DESCRIPTION">DESCRIPTION</a><br>
<a href="#REQUEST VALUES">REQUEST VALUES</a><br>
<a href="#RETURN VALUE">RETURN VALUE</a><br>
<a href="#ERRORS">ERRORS</a><br>
<a href="#CONFORMING TO">CONFORMING TO</a><br>
<a href="#SEE ALSO">SEE ALSO</a><br>

<hr>
<!-- Creator     : groff version 1.17.2 -->
<!-- CreationDate: Mon Feb  2 16:48:48 2004 -->
<a name="NAME"></a>
<h2>NAME</h2>
<table width="100%" border=0 rules="none" frame="void"
       cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
iconvctl - control iconv behavior</td></table>
<a name="SYNOPSIS"></a>
<h2>SYNOPSIS</h2>

<table width="100%" border=0 rules="none" frame="void"
       cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
<pre><b>#include &lt;iconv.h&gt;

int iconvctl (iconv_t</b> <i>cd</i> <b>, int</b> <i>request</i><b>, void *</b> <i>argument</i><b>);
</b></pre></td></table>
<a name="DESCRIPTION"></a>
<h2>DESCRIPTION</h2>

<table width="100%" border=0 rules="none" frame="void"
       cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
The argument <i>cd</i> must be a conversion descriptor
created using the function <b>iconv_open</b>.</td></table>

<table width="100%" border=0 rules="none" frame="void"
       cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
<b>iconvctl</b> queries or adjusts the behavior of the
<b>iconv</b> function, when invoked with the specified
conversion descriptor, depending on the request
value.</td></table>
<a name="REQUEST VALUES"></a>
<h2>REQUEST VALUES</h2>

<table width="100%" border=0 rules="none" frame="void"
       cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
The following are permissible values for the <i>request</i>
parameter.</td></table>

<table width="100%" border=0 rules="none" frame="void"
       cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
<b>ICONV_TRIVIALP</b></td></table>

<table width="100%" border=0 rules="none" frame="void"
       cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="21%"></td><td width="79%">
<i>argument</i> should be an <b>int *</b> which will receive
1 if the conversion is trivial, or 0 otherwise.</td></table>

<table width="100%" border=0 rules="none" frame="void"
       cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
<b>ICONV_GET_TRANSLITERATE</b></td></table>

<table width="100%" border=0 rules="none" frame="void"
       cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="21%"></td><td width="79%">
<i>argument</i> should be an <b>int *</b> which will receive
1 if transliteration is enabled in the conversion, or 0
otherwise.</td></table>

<table width="100%" border=0 rules="none" frame="void"
       cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
<b>ICONV_SET_TRANSLITERATE</b></td></table>

<table width="100%" border=0 rules="none" frame="void"
       cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="21%"></td><td width="79%">
<i>argument</i> should be a <b>const int *</b>, pointing to
an <b>int</b> value. A non-zero value is used to enable
transliteration in the conversion. A zero value disables
it.</td></table>

<table width="100%" border=0 rules="none" frame="void"
       cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
<b>ICONV_GET_DISCARD_ILSEQ</b></td></table>

<table width="100%" border=0 rules="none" frame="void"
       cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="21%"></td><td width="79%">
<i>argument</i> should be an <b>int *</b> which will receive
1 if &quot;illegal sequence discard and continue&quot; is
enabled in the conversion, or 0 otherwise.</td></table>

<table width="100%" border=0 rules="none" frame="void"
       cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
<b>ICONV_SET_DISCARD_ILSEQ</b></td></table>

<table width="100%" border=0 rules="none" frame="void"
       cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="21%"></td><td width="79%">
<i>argument</i> should be a <b>const int *</b>, pointing to
an <b>int</b> value. A non-zero value is used to enable
&quot;illegal sequence discard and continue&quot; in the
conversion. A zero value disables it.</td></table>
<a name="RETURN VALUE"></a>
<h2>RETURN VALUE</h2>

<table width="100%" border=0 rules="none" frame="void"
       cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
The <b>iconvctl</b> function returns 0 if it succeeds. In
case of error, it sets <b>errno</b> and returns
-1.</td></table>
<a name="ERRORS"></a>
<h2>ERRORS</h2>

<table width="100%" border=0 rules="none" frame="void"
       cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
The following errors can occur, among others:</td></table>

<table width="100%" border=0 rules="none" frame="void"
       cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
<b>EINVAL</b></td></table>

<table width="100%" border=0 rules="none" frame="void"
       cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="21%"></td><td width="79%">
The request is invalid.</td></table>
<a name="CONFORMING TO"></a>
<h2>CONFORMING TO</h2>

<table width="100%" border=0 rules="none" frame="void"
       cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
This function is implemented only in GNU libiconv and not in
other <b>iconv</b> implementations. It is not backed by a
standard. You can test for its presence through
<b>(_LIBICONV_VERSION &gt;= 0x0108)</b>.</td></table>
<a name="SEE ALSO"></a>
<h2>SEE ALSO</h2>

<table width="100%" border=0 rules="none" frame="void"
       cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
<b>iconv_open</b>(3), <b>iconv</b>(3)</td></table>
<hr>
</body>
</html>
