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

FreeBSD Manual Pages

  
 
  

home | help
CURLOPT_CONV_FROM_NETWORK_Fcurl_easy_setoCURLOPT_CONV_FROM_NETWORK_FUNCTION(3)

NAME
       CURLOPT_CONV_FROM_NETWORK_FUNCTION  - convert data from network to host
       encoding

SYNOPSIS
       #include	<curl/curl.h>

       CURLcode	conv_callback(char *ptr, size_t	length);

       CURLcode	curl_easy_setopt(CURL *handle, CURLOPT_CONV_FROM_NETWORK_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_NETWORK_FUNCTION  converts  to	host encoding from the
       network encoding.  It is	used when commands or ASCII data are  received
       over the	network.

       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
       FTP, SMTP, IMAP,	POP3

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

       /* use platform-specific	functions for codeset conversions */
       curl_easy_setopt(curl, CURLOPT_CONV_FROM_NETWORK_FUNCTION,
			my_conv_from_ascii_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_UTF8_FUNC-
       TION(3),

libcurl	7.54.1			 May 31, CURLOPT_CONV_FROM_NETWORK_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_NETWORK_FUNCTION&sektion=3&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help