Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
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 func-
       tion iconv_open.

       iconvctl	 queries  or  adjusts the behavior of the iconv	function, when
       invoked with the	specified conversion descriptor, depending on the  re-
       quest 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 conver-
	      sion is trivial, or 0 otherwise.

       ICONV_GET_TRANSLITERATE
	      argument should be an int	* which	will receive 1 if translitera-
	      tion 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 conver-
	      sion. A zero value disables it.

       ICONV_GET_DISCARD_INVALID
	      argument should be an int	* which	will receive 1 if "discard in-
	      valid 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 se-
	      quence 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 "dis-
	      card" 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 un-
	      signed int value.	 This value is installed as the	from-side (in-
	      put side)	surface	of the conversion.  The	value is a  bit	 mask.
	      Zero    denotes	 no    surface.	    The	   value    ICONV_SUR-
	      FACE_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  un-
	      signed  int value.  This value is	installed as the to-side (out-
	      put side)	surface	of the conversion.  The	value is a  bit	 mask.
	      Zero    denotes	 no    surface.	    The	   value    ICONV_SUR-
	      FACE_EBCDIC_ZOS_UNIX has an effect on EBCDIC encodings: LF,  in-
	      stead 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)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=iconvctl&sektion=3&manpath=FreeBSD+Ports+15.0.quarterly>

home | help