Mercurial > repos > rliterman > csp2
comparison CSP2/CSP2_env/env-d9b9114564458d9d-741b3de822f2aaca6c6caa4325c4afce/include/curl/easy.h @ 69:33d812a61356
planemo upload commit 2e9511a184a1ca667c7be0c6321a36dc4e3d116d
author | jpayne |
---|---|
date | Tue, 18 Mar 2025 17:55:14 -0400 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
67:0e9998148a16 | 69:33d812a61356 |
---|---|
1 #ifndef CURLINC_EASY_H | |
2 #define CURLINC_EASY_H | |
3 /*************************************************************************** | |
4 * _ _ ____ _ | |
5 * Project ___| | | | _ \| | | |
6 * / __| | | | |_) | | | |
7 * | (__| |_| | _ <| |___ | |
8 * \___|\___/|_| \_\_____| | |
9 * | |
10 * Copyright (C) 1998 - 2022, Daniel Stenberg, <daniel@haxx.se>, et al. | |
11 * | |
12 * This software is licensed as described in the file COPYING, which | |
13 * you should have received as part of this distribution. The terms | |
14 * are also available at https://curl.se/docs/copyright.html. | |
15 * | |
16 * You may opt to use, copy, modify, merge, publish, distribute and/or sell | |
17 * copies of the Software, and permit persons to whom the Software is | |
18 * furnished to do so, under the terms of the COPYING file. | |
19 * | |
20 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY | |
21 * KIND, either express or implied. | |
22 * | |
23 * SPDX-License-Identifier: curl | |
24 * | |
25 ***************************************************************************/ | |
26 #ifdef __cplusplus | |
27 extern "C" { | |
28 #endif | |
29 | |
30 /* Flag bits in the curl_blob struct: */ | |
31 #define CURL_BLOB_COPY 1 /* tell libcurl to copy the data */ | |
32 #define CURL_BLOB_NOCOPY 0 /* tell libcurl to NOT copy the data */ | |
33 | |
34 struct curl_blob { | |
35 void *data; | |
36 size_t len; | |
37 unsigned int flags; /* bit 0 is defined, the rest are reserved and should be | |
38 left zeroes */ | |
39 }; | |
40 | |
41 CURL_EXTERN CURL *curl_easy_init(void); | |
42 CURL_EXTERN CURLcode curl_easy_setopt(CURL *curl, CURLoption option, ...); | |
43 CURL_EXTERN CURLcode curl_easy_perform(CURL *curl); | |
44 CURL_EXTERN void curl_easy_cleanup(CURL *curl); | |
45 | |
46 /* | |
47 * NAME curl_easy_getinfo() | |
48 * | |
49 * DESCRIPTION | |
50 * | |
51 * Request internal information from the curl session with this function. The | |
52 * third argument MUST be a pointer to a long, a pointer to a char * or a | |
53 * pointer to a double (as the documentation describes elsewhere). The data | |
54 * pointed to will be filled in accordingly and can be relied upon only if the | |
55 * function returns CURLE_OK. This function is intended to get used *AFTER* a | |
56 * performed transfer, all results from this function are undefined until the | |
57 * transfer is completed. | |
58 */ | |
59 CURL_EXTERN CURLcode curl_easy_getinfo(CURL *curl, CURLINFO info, ...); | |
60 | |
61 | |
62 /* | |
63 * NAME curl_easy_duphandle() | |
64 * | |
65 * DESCRIPTION | |
66 * | |
67 * Creates a new curl session handle with the same options set for the handle | |
68 * passed in. Duplicating a handle could only be a matter of cloning data and | |
69 * options, internal state info and things like persistent connections cannot | |
70 * be transferred. It is useful in multithreaded applications when you can run | |
71 * curl_easy_duphandle() for each new thread to avoid a series of identical | |
72 * curl_easy_setopt() invokes in every thread. | |
73 */ | |
74 CURL_EXTERN CURL *curl_easy_duphandle(CURL *curl); | |
75 | |
76 /* | |
77 * NAME curl_easy_reset() | |
78 * | |
79 * DESCRIPTION | |
80 * | |
81 * Re-initializes a CURL handle to the default values. This puts back the | |
82 * handle to the same state as it was in when it was just created. | |
83 * | |
84 * It does keep: live connections, the Session ID cache, the DNS cache and the | |
85 * cookies. | |
86 */ | |
87 CURL_EXTERN void curl_easy_reset(CURL *curl); | |
88 | |
89 /* | |
90 * NAME curl_easy_recv() | |
91 * | |
92 * DESCRIPTION | |
93 * | |
94 * Receives data from the connected socket. Use after successful | |
95 * curl_easy_perform() with CURLOPT_CONNECT_ONLY option. | |
96 */ | |
97 CURL_EXTERN CURLcode curl_easy_recv(CURL *curl, void *buffer, size_t buflen, | |
98 size_t *n); | |
99 | |
100 /* | |
101 * NAME curl_easy_send() | |
102 * | |
103 * DESCRIPTION | |
104 * | |
105 * Sends data over the connected socket. Use after successful | |
106 * curl_easy_perform() with CURLOPT_CONNECT_ONLY option. | |
107 */ | |
108 CURL_EXTERN CURLcode curl_easy_send(CURL *curl, const void *buffer, | |
109 size_t buflen, size_t *n); | |
110 | |
111 | |
112 /* | |
113 * NAME curl_easy_upkeep() | |
114 * | |
115 * DESCRIPTION | |
116 * | |
117 * Performs connection upkeep for the given session handle. | |
118 */ | |
119 CURL_EXTERN CURLcode curl_easy_upkeep(CURL *curl); | |
120 | |
121 #ifdef __cplusplus | |
122 } /* end of extern "C" */ | |
123 #endif | |
124 | |
125 #endif |