Sortix cross-volatile manual
This manual documents Sortix cross-volatile. You can instead view this document in the latest official manual.
curl_easy_recv(3) | Library Functions Manual | curl_easy_recv(3) |
NAME
curl_easy_recv - receives raw data on an "easy" connectionSYNOPSIS
#include <curl/curl.h>
CURLcode curl_easy_recv(CURL *curl, void *buffer, size_t buflen, size_t *n);
DESCRIPTION
This function receives raw data from the established connection. You may use it together with curl_easy_send(3) to implement custom protocols using libcurl. This functionality can be particularly useful if you use proxies and/or SSL encryption: libcurl takes care of proxy negotiation and connection setup.PROTOCOLS
This functionality affects all supported protocolsEXAMPLE
int main(void)
{
CURL *curl = curl_easy_init();
if(curl) {
CURLcode res;
curl_easy_setopt(curl, CURLOPT_URL, "https://example.com");
/* Do not do the transfer - only connect to host */
curl_easy_setopt(curl, CURLOPT_CONNECT_ONLY, 1L);
res = curl_easy_perform(curl);
if(res == CURLE_OK) {
char buf[256];
size_t nread;
long sockfd;
/* Extract the socket from the curl handle - we need it for waiting. */
res = curl_easy_getinfo(curl, CURLINFO_ACTIVESOCKET, &sockfd);
/* read data */
res = curl_easy_recv(curl, buf, sizeof(buf), &nread);
}
}
}
AVAILABILITY
Added in curl 7.18.2RETURN VALUE
On success, returns CURLE_OK, stores the received data into buffer, and the number of bytes it actually read into *n.SEE ALSO
curl_easy_getinfo(3), curl_easy_perform(3), curl_easy_send(3), curl_easy_setopt(3)2024-11-23 | libcurl |