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

FreeBSD Manual Pages

  
 
  

home | help
curl_easy_send(3)		libcurl	Manual		     curl_easy_send(3)

NAME
       curl_easy_send -	sends raw data over an "easy" connection

SYNOPSIS
       #include	<curl/easy.h>

       CURLcode	 curl_easy_send(  CURL	*curl, const void *buffer,  size_t bu-
       flen, size_t *n);

DESCRIPTION
       This function sends arbitrary data over the established connection. You
       may  use	 it together with curl_easy_recv(3) to implement custom	proto-
       cols using libcurl. This	functionality can be  particularly  useful  if
       you  use	proxies	and/or SSL encryption: libcurl will take care of proxy
       negotiation and connection set-up.

       buffer is a pointer to the data of length buflen	that  you  want	 sent.
       The variable n points to	will receive the number	of sent	bytes.

       To  establish the connection, set CURLOPT_CONNECT_ONLY(3) option	before
       calling	curl_easy_perform(3)  or  curl_multi_perform(3).   Note	  that
       curl_easy_send(3)  will not work	on connections that were created with-
       out this	option.

       The call	will return CURLE_AGAIN	if it's	 not  possible	to  send  data
       right  now  -  the socket is used in non-blocking mode internally. When
       CURLE_AGAIN is returned,	use your operating system facilities like  se-
       lect(2)	to  wait  until	 the socket is writable. The socket may	be ob-
       tained using curl_easy_getinfo(3) with CURLINFO_ACTIVESOCKET(3).

       Furthermore if you wait on the socket and it tells you  it's  writable,
       curl_easy_send(3) may return CURLE_AGAIN	if the only data that was sent
       was for internal	SSL processing,	and no other data could	be sent.

AVAILABILITY
       Added in	7.18.2.

RETURN VALUE
       On success, returns CURLE_OK and	stores the number  of  bytes  actually
       sent  into *n. Note that	this may very well be less than	the amount you
       wanted to send.

       On failure, returns the appropriate error code.

       This function may return	CURLE_AGAIN. In	this case, use your  operating
       system facilities to wait until the socket is writable, and retry.

       If  there's no socket available to use from the previous	transfer, this
       function	returns	CURLE_UNSUPPORTED_PROTOCOL.

EXAMPLE
       See sendrecv.c in docs/examples directory for usage example.

SEE ALSO
       curl_easy_setopt(3),    curl_easy_perform(3),	 curl_easy_getinfo(3),
       curl_easy_recv(3)

libcurl	7.54.1		       December	18, 2016	     curl_easy_send(3)

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

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

home | help