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

FreeBSD Manual Pages

  
 
  

home | help
CURLOPT_CONV_FROM_UTF8_FUNCcurl_easy_setopt CURLOPT_CONV_FROM_UTF8_FUNCTION(3)

NAME
       CURLOPT_CONV_FROM_UTF8_FUNCTION - convert data from UTF8	to host	encod-
       ing

SYNOPSIS
       #include	<curl/curl.h>

       CURLcode	conv_callback(char *ptr, size_t	length);

       CURLcode	curl_easy_setopt(CURL *handle, CURLOPT_CONV_FROM_UTF8_FUNCTION,
				 conv_callback);

DESCRIPTION
       Pass a pointer to your callback function, which should match the	proto-
       type shown above.

       Applies	to  non-ASCII  platforms. curl_version_info(3) will return the
       CURL_VERSION_CONV feature bit set if this option	is provided.

       The data	to be converted	is in a	buffer pointed to by the  ptr  parame-
       ter.   The amount of data to convert is indicated by the	length parame-
       ter.  The converted data	overlays the input data	in the buffer  pointed
       to by the ptr parameter.	CURLE_OK must be returned upon successful con-
       version.	  A  CURLcode  return  value  defined  by  curl.h,   such   as
       CURLE_CONV_FAILED, should be returned if	an error was encountered.

       CURLOPT_CONV_FROM_UTF8_FUNCTION converts	to host	encoding from UTF8 en-
       coding. It is required only for SSL processing.

       If you set a callback pointer to	NULL, or don't	set  it	 at  all,  the
       built-in	 libcurl  iconv	functions will be used.	 If HAVE_ICONV was not
       defined when libcurl was	built, and no callback has  been  established,
       conversion will return the CURLE_CONV_REQD error	code.

       If  HAVE_ICONV  is defined, CURL_ICONV_CODESET_OF_HOST must also	be de-
       fined.  For example:

	#define	CURL_ICONV_CODESET_OF_HOST "IBM-1047"

       The iconv code in libcurl will default the  network  and	 UTF8  codeset
       names as	follows:

	#define	CURL_ICONV_CODESET_OF_NETWORK "ISO8859-1"

	#define	CURL_ICONV_CODESET_FOR_UTF8   "UTF-8"

       You  will  need	to override these definitions if they are different on
       your system.

DEFAULT
       NULL

PROTOCOLS
       TLS-based protocols.

EXAMPLE
       static CURLcode my_conv_from_utf8_to_ebcdic(char	*buffer, size_t	length)
       {
	 char *tempptrin, *tempptrout;
	 size_t	bytes =	length;
	 int rc;
	 tempptrin = tempptrout	= buffer;
	 rc = platform_u2e(&tempptrin, &bytes, &tempptrout, &bytes);
	 if(rc == PLATFORM_CONV_OK) {
	   return CURLE_OK;
	 }
	 else {
	   return CURLE_CONV_FAILED;
	 }
       }

       curl_easy_setopt(curl, CURLOPT_CONV_FROM_UTF8_FUNCTION,
			my_conv_from_utf8_to_ebcdic);

AVAILABILITY
       Available only if CURL_DOES_CONVERSIONS was defined  when  libcurl  was
       built.

RETURN VALUE
       Returns	CURLE_OK  if the option	is supported, and CURLE_UNKNOWN_OPTION
       if not.

SEE ALSO
       CURLOPT_CONV_TO_NETWORK_FUNCTION(3),    CURLOPT_CONV_FROM_NETWORK_FUNC-
       TION(3),

libcurl	7.72.0			 May 31, 201CURLOPT_CONV_FROM_UTF8_FUNCTION(3)

NAME | SYNOPSIS | DESCRIPTION | DEFAULT | PROTOCOLS | EXAMPLE | AVAILABILITY | RETURN VALUE | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=CURLOPT_CONV_FROM_UTF8_FUNCTION&sektion=3&manpath=FreeBSD+12.1-RELEASE+and+Ports>

home | help