| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 | 
							- #ifndef CURLINC_WEBSOCKETS_H
 
- #define CURLINC_WEBSOCKETS_H
 
- /***************************************************************************
 
-  *                                  _   _ ____  _
 
-  *  Project                     ___| | | |  _ \| |
 
-  *                             / __| | | | |_) | |
 
-  *                            | (__| |_| |  _ <| |___
 
-  *                             \___|\___/|_| \_\_____|
 
-  *
 
-  * Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al.
 
-  *
 
-  * This software is licensed as described in the file COPYING, which
 
-  * you should have received as part of this distribution. The terms
 
-  * are also available at https://curl.se/docs/copyright.html.
 
-  *
 
-  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
 
-  * copies of the Software, and permit persons to whom the Software is
 
-  * furnished to do so, under the terms of the COPYING file.
 
-  *
 
-  * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
 
-  * KIND, either express or implied.
 
-  *
 
-  * SPDX-License-Identifier: curl
 
-  *
 
-  ***************************************************************************/
 
- #ifdef  __cplusplus
 
- extern "C" {
 
- #endif
 
- struct curl_ws_frame {
 
-   int age;              /* zero */
 
-   int flags;            /* See the CURLWS_* defines */
 
-   curl_off_t offset;    /* the offset of this data into the frame */
 
-   curl_off_t bytesleft; /* number of pending bytes left of the payload */
 
-   size_t len;           /* size of the current data chunk */
 
- };
 
- /* flag bits */
 
- #define CURLWS_TEXT       (1<<0)
 
- #define CURLWS_BINARY     (1<<1)
 
- #define CURLWS_CONT       (1<<2)
 
- #define CURLWS_CLOSE      (1<<3)
 
- #define CURLWS_PING       (1<<4)
 
- #define CURLWS_OFFSET     (1<<5)
 
- /*
 
-  * NAME curl_ws_recv()
 
-  *
 
-  * DESCRIPTION
 
-  *
 
-  * Receives data from the websocket connection. Use after successful
 
-  * curl_easy_perform() with CURLOPT_CONNECT_ONLY option.
 
-  */
 
- CURL_EXTERN CURLcode curl_ws_recv(CURL *curl, void *buffer, size_t buflen,
 
-                                   size_t *recv,
 
-                                   struct curl_ws_frame **metap);
 
- /* sendflags for curl_ws_send() */
 
- #define CURLWS_PONG       (1<<6)
 
- /*
 
-  * NAME curl_easy_send()
 
-  *
 
-  * DESCRIPTION
 
-  *
 
-  * Sends data over the websocket connection. Use after successful
 
-  * curl_easy_perform() with CURLOPT_CONNECT_ONLY option.
 
-  */
 
- CURL_EXTERN CURLcode curl_ws_send(CURL *curl, const void *buffer,
 
-                                   size_t buflen, size_t *sent,
 
-                                   curl_off_t framesize,
 
-                                   unsigned int sendflags);
 
- /* bits for the CURLOPT_WS_OPTIONS bitmask: */
 
- #define CURLWS_RAW_MODE (1<<0)
 
- CURL_EXTERN struct curl_ws_frame *curl_ws_meta(CURL *curl);
 
- #ifdef  __cplusplus
 
- }
 
- #endif
 
- #endif /* CURLINC_WEBSOCKETS_H */
 
 
  |