Section courante

A propos

Section administrative du site

iconvctl

iconv : Contrôle
libiconv iconv.h

Syntaxe

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

Paramètres

Nom Description
cd Ce paramètre permet d'indiquer un descripteur de conversion obtenu avec iconv_open(). Il représente une conversion entre deux encodages.
request Ce paramètre permet d'indiquer l'opération ou le paramètre à configurer.
argument Ce paramètre permet d'indiquer un pointeur vers une valeur spécifique dépendant de request.

Retour

La fonction iconvctl renvoie 0 en cas de réussite. En cas d'erreur, elle définit errno et renvoie -1.

Description

Cette fonction permet de contrôler le comportement d'iconv.

Remarques

Valeurs de la requête

Les valeurs suivantes sont autorisées pour le paramètre de requête :

Constante Description
ICONV_TRIVIALP Le paramètre doit être un int * qui prend la valeur 1 si la conversion est triviale, ou 0 sinon.
ICONV_GET_TRANSLITERATE Le paramètre doit être un int * qui prend la valeur 1 si la translittération est activée lors de la conversion, ou 0 sinon.
ICONV_SET_TRANSLITERATE Le paramètre doit être un int * const, pointant vers une valeur de type int. Une valeur différente de zéro permet d'activer la translittération lors de la conversion. Une valeur nulle la désactive.
ICONV_GET_DISCARD_INVALID Le paramètre doit être un int* qui reçoit 1 si l'option « Supprimer la séquence multi-octets invalide de l'entrée et continuer » est activée lors de la conversion, ou 0 dans le cas contraire.
ICONV_SET_DISCARD_INVALID Le paramètre doit être un int* constant, pointant vers une valeur de type int. Une valeur différente de zéro permet d'activer l'option « Supprimer la séquence multi-octets invalide de l'entrée et continuer » lors de la conversion. Une valeur nulle désactive cette option.
ICONV_GET_DISCARD_NON_IDENTICAL Le paramètre doit être un int* qui reçoit 1 si l'option « Supprimer le caractère non représenté dans le jeu de caractères cible et continuer » est activée lors de la conversion, ou 0 dans le cas contraire.
ICONV_SET_DISCARD_NON_IDENTICAL Le paramètre doit être un int* constant, pointant vers une valeur de type int. Une valeur différente de zéro permet d'activer l'option « Ignorer les caractères non représentés dans le jeu de caractères cible et poursuivre » lors de la conversion. Une valeur nulle désactive cette option.
ICONV_GET_DISCARD_ILSEQ Le paramètre doit être un int* qui reçoit 1 si les deux comportements « Ignorer » sont activés lors de la conversion, ou 0 dans le cas contraire.
ICONV_SET_DISCARD_ILSEQ Le paramètre doit être un int* constant, pointant vers une valeur de type int. Une valeur différente de zéro permet d'activer les deux comportements « Ignorer » lors de la conversion. Une valeur nulle les désactive.
ICONV_GET_FROM_SURFACE Le paramètre doit être un int* non signé, qui reçoit la surface côté entrée de la conversion.
ICONV_SET_FROM_SURFACE Le paramètre doit être un int* non signé, pointant vers une valeur de type int non signé. Cette valeur est installée comme surface côté entrée (entrée) de la conversion. Cette valeur est un masque binaire. Zéro indique l'absence de surface. La valeur ICONV_SURFACE_EBCDIC_ZOS_UNIX a un effet sur les codages EBCDIC : le saut de ligne EBCDIC 0x15 sera mappé sur LF au lieu de NEL.
ICONV_GET_TO_SURFACE Le paramètre doit être un entier non signé * qui recevra la surface côté sortie (entrée) de la conversion.
ICONV_SET_TO_SURFACE Le paramètre doit être un entier non signé * const, pointant vers une valeur entière non signée. Cette valeur est installée comme surface côté sortie (entrée) de la conversion. Cette valeur est un masque binaire. Zéro indique l'absence de surface. La valeur ICONV_SURFACE_EBCDIC_ZOS_UNIX a un effet sur les codages EBCDIC : LF, au lieu de NEL, sera mappé sur le saut de ligne EBCDIC 0x15.

Erreurs

Les erreurs suivantes peuvent se produire, entre autres :

Constante Description
EINVAL La requête est invalide.

Conformité

Cette fonction est implémentée uniquement dans GNU libiconv et non dans les autres implémentations d'iconv. Elle n'est pas soutenue par une norme. Vous pouvez tester sa présence avec (_LIBICONV_VERSION >= 0x0108).

Voir également

iconv_open, iconv


Dernière mise à jour : Mardi, le 25 mars 2025