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
- Le paramètre cd doit être un descripteur de conversion créé à l'aide de la fonction iconv_open.
- iconvctl interroge ou ajuste le comportement de la fonction iconv lorsqu'elle est invoquée avec le descripteur de conversion spécifié, en fonction de la valeur de la requête.
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
Dernière mise à jour : Mardi, le 25 mars 2025