Lines Matching defs:curl
12 * are also available at https://curl.se/docs/copyright.html.
21 * SPDX-License-Identifier: curl
29 /* curl stuff */
31 #include <curl/curl.h>
92 static CURLcode send_binary(CURL *curl, char *buf, size_t buflen)
96 curl_ws_send(curl, buf, buflen, &nwritten, 0, CURLWS_BINARY);
102 static CURLcode recv_binary(CURL *curl, char *exp_data, size_t exp_len)
112 result = curl_ws_recv(curl, recvbuf, sizeof(recvbuf), &nread, &frame);
160 static void websocket_close(CURL *curl)
164 curl_ws_send(curl, "", 0, &sent, 0, CURLWS_CLOSE);
169 static CURLcode data_echo(CURL *curl, size_t plen_min, size_t plen_max)
184 res = send_binary(curl, send_buf, len);
187 res = recv_binary(curl, send_buf, len);
196 websocket_close(curl);
206 CURL *curl;
238 curl = curl_easy_init();
239 if(curl) {
240 curl_easy_setopt(curl, CURLOPT_URL, url);
243 curl_easy_setopt(curl, CURLOPT_USERAGENT, "ws-data");
244 curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L);
245 curl_easy_setopt(curl, CURLOPT_CONNECT_ONLY, 2L); /* websocket style */
246 res = curl_easy_perform(curl);
249 res = data_echo(curl, plen_min, plen_max);
252 curl_easy_cleanup(curl);