xref: /aosp_15_r20/external/curl/docs/libcurl/curl_easy_getinfo.md (revision 6236dae45794135f37c4eb022389c904c8b0090d)
1*6236dae4SAndroid Build Coastguard Worker---
2*6236dae4SAndroid Build Coastguard Workerc: Copyright (C) Daniel Stenberg, <[email protected]>, et al.
3*6236dae4SAndroid Build Coastguard WorkerSPDX-License-Identifier: curl
4*6236dae4SAndroid Build Coastguard WorkerTitle: curl_easy_getinfo
5*6236dae4SAndroid Build Coastguard WorkerSection: 3
6*6236dae4SAndroid Build Coastguard WorkerSource: libcurl
7*6236dae4SAndroid Build Coastguard WorkerSee-also:
8*6236dae4SAndroid Build Coastguard Worker  - curl_easy_setopt (3)
9*6236dae4SAndroid Build Coastguard WorkerProtocol:
10*6236dae4SAndroid Build Coastguard Worker  - All
11*6236dae4SAndroid Build Coastguard WorkerAdded-in: 7.4.1
12*6236dae4SAndroid Build Coastguard Worker---
13*6236dae4SAndroid Build Coastguard Worker
14*6236dae4SAndroid Build Coastguard Worker# NAME
15*6236dae4SAndroid Build Coastguard Worker
16*6236dae4SAndroid Build Coastguard Workercurl_easy_getinfo - extract information from a curl handle
17*6236dae4SAndroid Build Coastguard Worker
18*6236dae4SAndroid Build Coastguard Worker# SYNOPSIS
19*6236dae4SAndroid Build Coastguard Worker
20*6236dae4SAndroid Build Coastguard Worker~~~c
21*6236dae4SAndroid Build Coastguard Worker#include <curl/curl.h>
22*6236dae4SAndroid Build Coastguard Worker
23*6236dae4SAndroid Build Coastguard WorkerCURLcode curl_easy_getinfo(CURL *curl, CURLINFO info, ... );
24*6236dae4SAndroid Build Coastguard Worker~~~
25*6236dae4SAndroid Build Coastguard Worker
26*6236dae4SAndroid Build Coastguard Worker# DESCRIPTION
27*6236dae4SAndroid Build Coastguard Worker
28*6236dae4SAndroid Build Coastguard WorkerGet the *info* kept in the *curl* handle. The third argument **MUST** be
29*6236dae4SAndroid Build Coastguard Workerpointing to the specific type of the used option which is documented in each
30*6236dae4SAndroid Build Coastguard Workerman page of the *info* option. The data is stored accordingly and can be
31*6236dae4SAndroid Build Coastguard Workerrelied upon only if this function returns CURLE_OK. Use this function after a
32*6236dae4SAndroid Build Coastguard Workerperformed transfer if you want to get transfer related data.
33*6236dae4SAndroid Build Coastguard Worker
34*6236dae4SAndroid Build Coastguard WorkerYou should not free the memory returned by this function unless it is
35*6236dae4SAndroid Build Coastguard Workerexplicitly mentioned below.
36*6236dae4SAndroid Build Coastguard Worker
37*6236dae4SAndroid Build Coastguard Worker# OPTIONS
38*6236dae4SAndroid Build Coastguard Worker
39*6236dae4SAndroid Build Coastguard WorkerThe following information can be extracted:
40*6236dae4SAndroid Build Coastguard Worker
41*6236dae4SAndroid Build Coastguard Worker## CURLINFO_ACTIVESOCKET
42*6236dae4SAndroid Build Coastguard Worker
43*6236dae4SAndroid Build Coastguard WorkerThe session's active socket. See CURLINFO_ACTIVESOCKET(3)
44*6236dae4SAndroid Build Coastguard Worker
45*6236dae4SAndroid Build Coastguard Worker## CURLINFO_APPCONNECT_TIME
46*6236dae4SAndroid Build Coastguard Worker
47*6236dae4SAndroid Build Coastguard WorkerThe time it took from the start until the SSL connect/handshake with the
48*6236dae4SAndroid Build Coastguard Workerremote host was completed as a double in number of seconds. (Added in 7.19.0)
49*6236dae4SAndroid Build Coastguard Worker
50*6236dae4SAndroid Build Coastguard Worker## CURLINFO_APPCONNECT_TIME_T
51*6236dae4SAndroid Build Coastguard Worker
52*6236dae4SAndroid Build Coastguard WorkerThe time it took from the start until the SSL connect/handshake with the
53*6236dae4SAndroid Build Coastguard Workerremote host was completed in number of microseconds. (Added in 7.60.0) See
54*6236dae4SAndroid Build Coastguard WorkerCURLINFO_APPCONNECT_TIME_T(3)
55*6236dae4SAndroid Build Coastguard Worker
56*6236dae4SAndroid Build Coastguard Worker## CURLINFO_CAINFO
57*6236dae4SAndroid Build Coastguard Worker
58*6236dae4SAndroid Build Coastguard WorkerGet the default value for CURLOPT_CAINFO(3). See CURLINFO_CAINFO(3)
59*6236dae4SAndroid Build Coastguard Worker
60*6236dae4SAndroid Build Coastguard Worker## CURLINFO_CAPATH
61*6236dae4SAndroid Build Coastguard Worker
62*6236dae4SAndroid Build Coastguard WorkerGet the default value for CURLOPT_CAPATH(3). See CURLINFO_CAPATH(3)
63*6236dae4SAndroid Build Coastguard Worker
64*6236dae4SAndroid Build Coastguard Worker## CURLINFO_CERTINFO
65*6236dae4SAndroid Build Coastguard Worker
66*6236dae4SAndroid Build Coastguard WorkerCertificate chain. See CURLINFO_CERTINFO(3)
67*6236dae4SAndroid Build Coastguard Worker
68*6236dae4SAndroid Build Coastguard Worker## CURLINFO_CONDITION_UNMET
69*6236dae4SAndroid Build Coastguard Worker
70*6236dae4SAndroid Build Coastguard WorkerWhether or not a time conditional was met or 304 HTTP response.
71*6236dae4SAndroid Build Coastguard WorkerSee CURLINFO_CONDITION_UNMET(3)
72*6236dae4SAndroid Build Coastguard Worker
73*6236dae4SAndroid Build Coastguard Worker## CURLINFO_CONNECT_TIME
74*6236dae4SAndroid Build Coastguard Worker
75*6236dae4SAndroid Build Coastguard WorkerThe time it took from the start until the connect to the remote host (or
76*6236dae4SAndroid Build Coastguard Workerproxy) was completed. As a double. See CURLINFO_CONNECT_TIME(3)
77*6236dae4SAndroid Build Coastguard Worker
78*6236dae4SAndroid Build Coastguard Worker## CURLINFO_CONNECT_TIME_T
79*6236dae4SAndroid Build Coastguard Worker
80*6236dae4SAndroid Build Coastguard WorkerThe time it took from the start until the connect to the remote host (or
81*6236dae4SAndroid Build Coastguard Workerproxy) was completed. In microseconds. See CURLINFO_CONNECT_TIME_T(3).
82*6236dae4SAndroid Build Coastguard Worker
83*6236dae4SAndroid Build Coastguard Worker## CURLINFO_CONN_ID
84*6236dae4SAndroid Build Coastguard Worker
85*6236dae4SAndroid Build Coastguard WorkerThe ID of the last connection used by the transfer. (Added in 8.2.0)
86*6236dae4SAndroid Build Coastguard WorkerSee CURLINFO_CONN_ID(3)
87*6236dae4SAndroid Build Coastguard Worker
88*6236dae4SAndroid Build Coastguard Worker## CURLINFO_CONTENT_LENGTH_DOWNLOAD
89*6236dae4SAndroid Build Coastguard Worker
90*6236dae4SAndroid Build Coastguard Worker(**Deprecated**) Content length from the Content-Length header.
91*6236dae4SAndroid Build Coastguard WorkerSee CURLINFO_CONTENT_LENGTH_DOWNLOAD(3)
92*6236dae4SAndroid Build Coastguard Worker
93*6236dae4SAndroid Build Coastguard Worker## CURLINFO_CONTENT_LENGTH_DOWNLOAD_T
94*6236dae4SAndroid Build Coastguard Worker
95*6236dae4SAndroid Build Coastguard WorkerContent length from the Content-Length header.
96*6236dae4SAndroid Build Coastguard WorkerSee CURLINFO_CONTENT_LENGTH_DOWNLOAD_T(3)
97*6236dae4SAndroid Build Coastguard Worker
98*6236dae4SAndroid Build Coastguard Worker## CURLINFO_CONTENT_LENGTH_UPLOAD
99*6236dae4SAndroid Build Coastguard Worker
100*6236dae4SAndroid Build Coastguard Worker(**Deprecated**) Upload size. See CURLINFO_CONTENT_LENGTH_UPLOAD(3)
101*6236dae4SAndroid Build Coastguard Worker
102*6236dae4SAndroid Build Coastguard Worker## CURLINFO_CONTENT_LENGTH_UPLOAD_T
103*6236dae4SAndroid Build Coastguard Worker
104*6236dae4SAndroid Build Coastguard WorkerUpload size. See CURLINFO_CONTENT_LENGTH_UPLOAD_T(3)
105*6236dae4SAndroid Build Coastguard Worker
106*6236dae4SAndroid Build Coastguard Worker## CURLINFO_CONTENT_TYPE
107*6236dae4SAndroid Build Coastguard Worker
108*6236dae4SAndroid Build Coastguard WorkerContent type from the `Content-Type:` header. We recommend using
109*6236dae4SAndroid Build Coastguard Workercurl_easy_header(3) instead. See CURLINFO_CONTENT_TYPE(3)
110*6236dae4SAndroid Build Coastguard Worker
111*6236dae4SAndroid Build Coastguard Worker## CURLINFO_COOKIELIST
112*6236dae4SAndroid Build Coastguard Worker
113*6236dae4SAndroid Build Coastguard WorkerList of all known cookies. See CURLINFO_COOKIELIST(3)
114*6236dae4SAndroid Build Coastguard Worker
115*6236dae4SAndroid Build Coastguard Worker## CURLINFO_EARLYDATA_SENT_T
116*6236dae4SAndroid Build Coastguard Worker
117*6236dae4SAndroid Build Coastguard WorkerAmount of TLS early data sent (in number of bytes) when
118*6236dae4SAndroid Build Coastguard WorkerCURLSSLOPT_EARLYDATA is enabled.
119*6236dae4SAndroid Build Coastguard Worker
120*6236dae4SAndroid Build Coastguard Worker## CURLINFO_EFFECTIVE_METHOD
121*6236dae4SAndroid Build Coastguard Worker
122*6236dae4SAndroid Build Coastguard WorkerLast used HTTP method. See CURLINFO_EFFECTIVE_METHOD(3)
123*6236dae4SAndroid Build Coastguard Worker
124*6236dae4SAndroid Build Coastguard Worker## CURLINFO_EFFECTIVE_URL
125*6236dae4SAndroid Build Coastguard Worker
126*6236dae4SAndroid Build Coastguard WorkerLast used URL. See CURLINFO_EFFECTIVE_URL(3)
127*6236dae4SAndroid Build Coastguard Worker
128*6236dae4SAndroid Build Coastguard Worker## CURLINFO_FILETIME
129*6236dae4SAndroid Build Coastguard Worker
130*6236dae4SAndroid Build Coastguard WorkerRemote time of the retrieved document. See CURLINFO_FILETIME(3)
131*6236dae4SAndroid Build Coastguard Worker
132*6236dae4SAndroid Build Coastguard Worker## CURLINFO_FILETIME_T
133*6236dae4SAndroid Build Coastguard Worker
134*6236dae4SAndroid Build Coastguard WorkerRemote time of the retrieved document. See CURLINFO_FILETIME_T(3)
135*6236dae4SAndroid Build Coastguard Worker
136*6236dae4SAndroid Build Coastguard Worker## CURLINFO_FTP_ENTRY_PATH
137*6236dae4SAndroid Build Coastguard Worker
138*6236dae4SAndroid Build Coastguard WorkerThe entry path after logging in to an FTP server. See
139*6236dae4SAndroid Build Coastguard WorkerCURLINFO_FTP_ENTRY_PATH(3)
140*6236dae4SAndroid Build Coastguard Worker
141*6236dae4SAndroid Build Coastguard Worker## CURLINFO_HEADER_SIZE
142*6236dae4SAndroid Build Coastguard Worker
143*6236dae4SAndroid Build Coastguard WorkerNumber of bytes of all headers received. See CURLINFO_HEADER_SIZE(3)
144*6236dae4SAndroid Build Coastguard Worker
145*6236dae4SAndroid Build Coastguard Worker## CURLINFO_HTTPAUTH_AVAIL
146*6236dae4SAndroid Build Coastguard Worker
147*6236dae4SAndroid Build Coastguard WorkerAvailable HTTP authentication methods. See CURLINFO_HTTPAUTH_AVAIL(3)
148*6236dae4SAndroid Build Coastguard Worker
149*6236dae4SAndroid Build Coastguard Worker## CURLINFO_HTTP_CONNECTCODE
150*6236dae4SAndroid Build Coastguard Worker
151*6236dae4SAndroid Build Coastguard WorkerLast proxy CONNECT response code. See CURLINFO_HTTP_CONNECTCODE(3)
152*6236dae4SAndroid Build Coastguard Worker
153*6236dae4SAndroid Build Coastguard Worker## CURLINFO_HTTP_VERSION
154*6236dae4SAndroid Build Coastguard Worker
155*6236dae4SAndroid Build Coastguard WorkerThe http version used in the connection. See CURLINFO_HTTP_VERSION(3)
156*6236dae4SAndroid Build Coastguard Worker
157*6236dae4SAndroid Build Coastguard Worker## CURLINFO_LASTSOCKET
158*6236dae4SAndroid Build Coastguard Worker
159*6236dae4SAndroid Build Coastguard Worker(**Deprecated**) Last socket used. See CURLINFO_LASTSOCKET(3)
160*6236dae4SAndroid Build Coastguard Worker
161*6236dae4SAndroid Build Coastguard Worker## CURLINFO_LOCAL_IP
162*6236dae4SAndroid Build Coastguard Worker
163*6236dae4SAndroid Build Coastguard WorkerSource IP address of the last connection. See CURLINFO_LOCAL_IP(3)
164*6236dae4SAndroid Build Coastguard Worker
165*6236dae4SAndroid Build Coastguard Worker## CURLINFO_LOCAL_PORT
166*6236dae4SAndroid Build Coastguard Worker
167*6236dae4SAndroid Build Coastguard WorkerSource port number of the last connection. See CURLINFO_LOCAL_PORT(3)
168*6236dae4SAndroid Build Coastguard Worker
169*6236dae4SAndroid Build Coastguard Worker## CURLINFO_NAMELOOKUP_TIME
170*6236dae4SAndroid Build Coastguard Worker
171*6236dae4SAndroid Build Coastguard WorkerTime from start until name resolving completed as a double. See
172*6236dae4SAndroid Build Coastguard WorkerCURLINFO_NAMELOOKUP_TIME(3)
173*6236dae4SAndroid Build Coastguard Worker
174*6236dae4SAndroid Build Coastguard Worker## CURLINFO_NAMELOOKUP_TIME_T
175*6236dae4SAndroid Build Coastguard Worker
176*6236dae4SAndroid Build Coastguard WorkerTime from start until name resolving completed in number of microseconds. See
177*6236dae4SAndroid Build Coastguard WorkerCURLINFO_NAMELOOKUP_TIME_T(3)
178*6236dae4SAndroid Build Coastguard Worker
179*6236dae4SAndroid Build Coastguard Worker## CURLINFO_NUM_CONNECTS
180*6236dae4SAndroid Build Coastguard Worker
181*6236dae4SAndroid Build Coastguard WorkerNumber of new successful connections used for previous transfer.
182*6236dae4SAndroid Build Coastguard WorkerSee CURLINFO_NUM_CONNECTS(3)
183*6236dae4SAndroid Build Coastguard Worker
184*6236dae4SAndroid Build Coastguard Worker## CURLINFO_OS_ERRNO
185*6236dae4SAndroid Build Coastguard Worker
186*6236dae4SAndroid Build Coastguard WorkerThe errno from the last failure to connect. See CURLINFO_OS_ERRNO(3)
187*6236dae4SAndroid Build Coastguard Worker
188*6236dae4SAndroid Build Coastguard Worker## CURLINFO_POSTTRANSFER_TIME_T
189*6236dae4SAndroid Build Coastguard Worker
190*6236dae4SAndroid Build Coastguard WorkerThe time it took from the start until the last byte is sent by libcurl.
191*6236dae4SAndroid Build Coastguard WorkerIn microseconds. (Added in 8.10.0) See CURLINFO_POSTTRANSFER_TIME_T(3)
192*6236dae4SAndroid Build Coastguard Worker
193*6236dae4SAndroid Build Coastguard Worker## CURLINFO_PRETRANSFER_TIME
194*6236dae4SAndroid Build Coastguard Worker
195*6236dae4SAndroid Build Coastguard WorkerThe time it took from the start until the file transfer is just about to
196*6236dae4SAndroid Build Coastguard Workerbegin. This includes all pre-transfer commands and negotiations that are
197*6236dae4SAndroid Build Coastguard Workerspecific to the particular protocol(s) involved. See
198*6236dae4SAndroid Build Coastguard WorkerCURLINFO_PRETRANSFER_TIME(3)
199*6236dae4SAndroid Build Coastguard Worker
200*6236dae4SAndroid Build Coastguard Worker## CURLINFO_PRETRANSFER_TIME_T
201*6236dae4SAndroid Build Coastguard Worker
202*6236dae4SAndroid Build Coastguard WorkerThe time it took from the start until the file transfer is just about to
203*6236dae4SAndroid Build Coastguard Workerbegin. This includes all pre-transfer commands and negotiations that are
204*6236dae4SAndroid Build Coastguard Workerspecific to the particular protocol(s) involved. In microseconds. See
205*6236dae4SAndroid Build Coastguard WorkerCURLINFO_PRETRANSFER_TIME_T(3)
206*6236dae4SAndroid Build Coastguard Worker
207*6236dae4SAndroid Build Coastguard Worker## CURLINFO_PRIMARY_IP
208*6236dae4SAndroid Build Coastguard Worker
209*6236dae4SAndroid Build Coastguard WorkerDestination IP address of the last connection. See CURLINFO_PRIMARY_IP(3)
210*6236dae4SAndroid Build Coastguard Worker
211*6236dae4SAndroid Build Coastguard Worker## CURLINFO_PRIMARY_PORT
212*6236dae4SAndroid Build Coastguard Worker
213*6236dae4SAndroid Build Coastguard WorkerDestination port of the last connection. See CURLINFO_PRIMARY_PORT(3)
214*6236dae4SAndroid Build Coastguard Worker
215*6236dae4SAndroid Build Coastguard Worker## CURLINFO_PRIVATE
216*6236dae4SAndroid Build Coastguard Worker
217*6236dae4SAndroid Build Coastguard WorkerUser's private data pointer. See CURLINFO_PRIVATE(3)
218*6236dae4SAndroid Build Coastguard Worker
219*6236dae4SAndroid Build Coastguard Worker## CURLINFO_PROTOCOL
220*6236dae4SAndroid Build Coastguard Worker
221*6236dae4SAndroid Build Coastguard Worker(**Deprecated**) The protocol used for the connection. (Added in 7.52.0) See
222*6236dae4SAndroid Build Coastguard WorkerCURLINFO_PROTOCOL(3)
223*6236dae4SAndroid Build Coastguard Worker
224*6236dae4SAndroid Build Coastguard Worker## CURLINFO_PROXYAUTH_AVAIL
225*6236dae4SAndroid Build Coastguard Worker
226*6236dae4SAndroid Build Coastguard WorkerAvailable HTTP proxy authentication methods. See CURLINFO_PROXYAUTH_AVAIL(3)
227*6236dae4SAndroid Build Coastguard Worker
228*6236dae4SAndroid Build Coastguard Worker## CURLINFO_PROXY_ERROR
229*6236dae4SAndroid Build Coastguard Worker
230*6236dae4SAndroid Build Coastguard WorkerDetailed proxy error. See CURLINFO_PROXY_ERROR(3)
231*6236dae4SAndroid Build Coastguard Worker
232*6236dae4SAndroid Build Coastguard Worker## CURLINFO_PROXY_SSL_VERIFYRESULT
233*6236dae4SAndroid Build Coastguard Worker
234*6236dae4SAndroid Build Coastguard WorkerProxy certificate verification result. See CURLINFO_PROXY_SSL_VERIFYRESULT(3)
235*6236dae4SAndroid Build Coastguard Worker
236*6236dae4SAndroid Build Coastguard Worker## CURLINFO_QUEUE_TIME_T
237*6236dae4SAndroid Build Coastguard Worker
238*6236dae4SAndroid Build Coastguard WorkerThe time during which the transfer was held in a waiting queue before it could
239*6236dae4SAndroid Build Coastguard Workerstart for real in number of microseconds. (Added in 8.6.0) See
240*6236dae4SAndroid Build Coastguard WorkerCURLINFO_QUEUE_TIME_T(3)
241*6236dae4SAndroid Build Coastguard Worker
242*6236dae4SAndroid Build Coastguard Worker## CURLINFO_REDIRECT_COUNT
243*6236dae4SAndroid Build Coastguard Worker
244*6236dae4SAndroid Build Coastguard WorkerTotal number of redirects that were followed. See CURLINFO_REDIRECT_COUNT(3)
245*6236dae4SAndroid Build Coastguard Worker
246*6236dae4SAndroid Build Coastguard Worker## CURLINFO_REDIRECT_TIME
247*6236dae4SAndroid Build Coastguard Worker
248*6236dae4SAndroid Build Coastguard WorkerThe time it took for all redirection steps include name lookup, connect,
249*6236dae4SAndroid Build Coastguard Workerpretransfer and transfer before final transaction was started. So, this is
250*6236dae4SAndroid Build Coastguard Workerzero if no redirection took place. As a double. See CURLINFO_REDIRECT_TIME(3)
251*6236dae4SAndroid Build Coastguard Worker
252*6236dae4SAndroid Build Coastguard Worker## CURLINFO_REDIRECT_TIME_T
253*6236dae4SAndroid Build Coastguard Worker
254*6236dae4SAndroid Build Coastguard WorkerThe time it took for all redirection steps include name lookup, connect,
255*6236dae4SAndroid Build Coastguard Workerpretransfer and transfer before final transaction was started. So, this is
256*6236dae4SAndroid Build Coastguard Workerzero if no redirection took place. In number of microseconds. See
257*6236dae4SAndroid Build Coastguard WorkerCURLINFO_REDIRECT_TIME_T(3)
258*6236dae4SAndroid Build Coastguard Worker
259*6236dae4SAndroid Build Coastguard Worker## CURLINFO_REDIRECT_URL
260*6236dae4SAndroid Build Coastguard Worker
261*6236dae4SAndroid Build Coastguard WorkerURL a redirect would take you to, had you enabled redirects. See
262*6236dae4SAndroid Build Coastguard WorkerCURLINFO_REDIRECT_URL(3)
263*6236dae4SAndroid Build Coastguard Worker
264*6236dae4SAndroid Build Coastguard Worker## CURLINFO_REFERER
265*6236dae4SAndroid Build Coastguard Worker
266*6236dae4SAndroid Build Coastguard WorkerReferrer header. See CURLINFO_REFERER(3)
267*6236dae4SAndroid Build Coastguard Worker
268*6236dae4SAndroid Build Coastguard Worker## CURLINFO_REQUEST_SIZE
269*6236dae4SAndroid Build Coastguard Worker
270*6236dae4SAndroid Build Coastguard WorkerNumber of bytes sent in the issued HTTP requests. See CURLINFO_REQUEST_SIZE(3)
271*6236dae4SAndroid Build Coastguard Worker
272*6236dae4SAndroid Build Coastguard Worker## CURLINFO_RESPONSE_CODE
273*6236dae4SAndroid Build Coastguard Worker
274*6236dae4SAndroid Build Coastguard WorkerLast received response code. See CURLINFO_RESPONSE_CODE(3)
275*6236dae4SAndroid Build Coastguard Worker
276*6236dae4SAndroid Build Coastguard Worker## CURLINFO_RETRY_AFTER
277*6236dae4SAndroid Build Coastguard Worker
278*6236dae4SAndroid Build Coastguard WorkerThe value from the Retry-After header. See CURLINFO_RETRY_AFTER(3)
279*6236dae4SAndroid Build Coastguard Worker
280*6236dae4SAndroid Build Coastguard Worker## CURLINFO_RTSP_CLIENT_CSEQ
281*6236dae4SAndroid Build Coastguard Worker
282*6236dae4SAndroid Build Coastguard WorkerThe RTSP client CSeq that is expected next. See CURLINFO_RTSP_CLIENT_CSEQ(3)
283*6236dae4SAndroid Build Coastguard Worker
284*6236dae4SAndroid Build Coastguard Worker## CURLINFO_RTSP_CSEQ_RECV
285*6236dae4SAndroid Build Coastguard Worker
286*6236dae4SAndroid Build Coastguard WorkerRTSP CSeq last received. See CURLINFO_RTSP_CSEQ_RECV(3)
287*6236dae4SAndroid Build Coastguard Worker
288*6236dae4SAndroid Build Coastguard Worker## CURLINFO_RTSP_SERVER_CSEQ
289*6236dae4SAndroid Build Coastguard Worker
290*6236dae4SAndroid Build Coastguard WorkerThe RTSP server CSeq that is expected next. See CURLINFO_RTSP_SERVER_CSEQ(3)
291*6236dae4SAndroid Build Coastguard Worker
292*6236dae4SAndroid Build Coastguard Worker## CURLINFO_RTSP_SESSION_ID
293*6236dae4SAndroid Build Coastguard Worker
294*6236dae4SAndroid Build Coastguard WorkerRTSP session ID. See CURLINFO_RTSP_SESSION_ID(3)
295*6236dae4SAndroid Build Coastguard Worker
296*6236dae4SAndroid Build Coastguard Worker## CURLINFO_SCHEME
297*6236dae4SAndroid Build Coastguard Worker
298*6236dae4SAndroid Build Coastguard WorkerThe scheme used for the connection. (Added in 7.52.0) See CURLINFO_SCHEME(3)
299*6236dae4SAndroid Build Coastguard Worker
300*6236dae4SAndroid Build Coastguard Worker## CURLINFO_SIZE_DOWNLOAD
301*6236dae4SAndroid Build Coastguard Worker
302*6236dae4SAndroid Build Coastguard Worker(**Deprecated**) Number of bytes downloaded. See CURLINFO_SIZE_DOWNLOAD(3)
303*6236dae4SAndroid Build Coastguard Worker
304*6236dae4SAndroid Build Coastguard Worker## CURLINFO_SIZE_DOWNLOAD_T
305*6236dae4SAndroid Build Coastguard Worker
306*6236dae4SAndroid Build Coastguard WorkerNumber of bytes downloaded. See CURLINFO_SIZE_DOWNLOAD_T(3)
307*6236dae4SAndroid Build Coastguard Worker
308*6236dae4SAndroid Build Coastguard Worker## CURLINFO_SIZE_UPLOAD
309*6236dae4SAndroid Build Coastguard Worker
310*6236dae4SAndroid Build Coastguard Worker(**Deprecated**) Number of bytes uploaded. See CURLINFO_SIZE_UPLOAD(3)
311*6236dae4SAndroid Build Coastguard Worker
312*6236dae4SAndroid Build Coastguard Worker## CURLINFO_SIZE_UPLOAD_T
313*6236dae4SAndroid Build Coastguard Worker
314*6236dae4SAndroid Build Coastguard WorkerNumber of bytes uploaded. See CURLINFO_SIZE_UPLOAD_T(3)
315*6236dae4SAndroid Build Coastguard Worker
316*6236dae4SAndroid Build Coastguard Worker## CURLINFO_SPEED_DOWNLOAD
317*6236dae4SAndroid Build Coastguard Worker
318*6236dae4SAndroid Build Coastguard Worker(**Deprecated**) Average download speed. See CURLINFO_SPEED_DOWNLOAD(3)
319*6236dae4SAndroid Build Coastguard Worker
320*6236dae4SAndroid Build Coastguard Worker## CURLINFO_SPEED_DOWNLOAD_T
321*6236dae4SAndroid Build Coastguard Worker
322*6236dae4SAndroid Build Coastguard WorkerAverage download speed. See CURLINFO_SPEED_DOWNLOAD_T(3)
323*6236dae4SAndroid Build Coastguard Worker
324*6236dae4SAndroid Build Coastguard Worker## CURLINFO_SPEED_UPLOAD
325*6236dae4SAndroid Build Coastguard Worker
326*6236dae4SAndroid Build Coastguard Worker(**Deprecated**) Average upload speed. See CURLINFO_SPEED_UPLOAD(3)
327*6236dae4SAndroid Build Coastguard Worker
328*6236dae4SAndroid Build Coastguard Worker## CURLINFO_SPEED_UPLOAD_T
329*6236dae4SAndroid Build Coastguard Worker
330*6236dae4SAndroid Build Coastguard WorkerAverage upload speed in number of bytes per second. See
331*6236dae4SAndroid Build Coastguard WorkerCURLINFO_SPEED_UPLOAD_T(3)
332*6236dae4SAndroid Build Coastguard Worker
333*6236dae4SAndroid Build Coastguard Worker## CURLINFO_SSL_ENGINES
334*6236dae4SAndroid Build Coastguard Worker
335*6236dae4SAndroid Build Coastguard WorkerA list of OpenSSL crypto engines. See CURLINFO_SSL_ENGINES(3)
336*6236dae4SAndroid Build Coastguard Worker
337*6236dae4SAndroid Build Coastguard Worker## CURLINFO_SSL_VERIFYRESULT
338*6236dae4SAndroid Build Coastguard Worker
339*6236dae4SAndroid Build Coastguard WorkerCertificate verification result. See CURLINFO_SSL_VERIFYRESULT(3)
340*6236dae4SAndroid Build Coastguard Worker
341*6236dae4SAndroid Build Coastguard Worker## CURLINFO_STARTTRANSFER_TIME
342*6236dae4SAndroid Build Coastguard Worker
343*6236dae4SAndroid Build Coastguard WorkerThe time it took from the start until the first byte is received by libcurl.
344*6236dae4SAndroid Build Coastguard WorkerAs a double. See CURLINFO_STARTTRANSFER_TIME(3)
345*6236dae4SAndroid Build Coastguard Worker
346*6236dae4SAndroid Build Coastguard Worker## CURLINFO_STARTTRANSFER_TIME_T
347*6236dae4SAndroid Build Coastguard Worker
348*6236dae4SAndroid Build Coastguard WorkerThe time it took from the start until the first byte is received by libcurl.
349*6236dae4SAndroid Build Coastguard WorkerIn microseconds. See CURLINFO_STARTTRANSFER_TIME_T(3)
350*6236dae4SAndroid Build Coastguard Worker
351*6236dae4SAndroid Build Coastguard Worker## CURLINFO_TLS_SESSION
352*6236dae4SAndroid Build Coastguard Worker
353*6236dae4SAndroid Build Coastguard Worker(**Deprecated**) TLS session info that can be used for further processing. See
354*6236dae4SAndroid Build Coastguard WorkerCURLINFO_TLS_SESSION(3). Use CURLINFO_TLS_SSL_PTR(3) instead.
355*6236dae4SAndroid Build Coastguard Worker
356*6236dae4SAndroid Build Coastguard Worker## CURLINFO_TLS_SSL_PTR
357*6236dae4SAndroid Build Coastguard Worker
358*6236dae4SAndroid Build Coastguard WorkerTLS session info that can be used for further processing. See
359*6236dae4SAndroid Build Coastguard WorkerCURLINFO_TLS_SSL_PTR(3)
360*6236dae4SAndroid Build Coastguard Worker
361*6236dae4SAndroid Build Coastguard Worker## CURLINFO_TOTAL_TIME
362*6236dae4SAndroid Build Coastguard Worker
363*6236dae4SAndroid Build Coastguard WorkerTotal time of previous transfer. See CURLINFO_TOTAL_TIME(3)
364*6236dae4SAndroid Build Coastguard Worker
365*6236dae4SAndroid Build Coastguard Worker## CURLINFO_TOTAL_TIME_T
366*6236dae4SAndroid Build Coastguard Worker
367*6236dae4SAndroid Build Coastguard WorkerTotal time of previous transfer. See CURLINFO_TOTAL_TIME_T(3)
368*6236dae4SAndroid Build Coastguard Worker
369*6236dae4SAndroid Build Coastguard Worker## CURLINFO_USED_PROXY
370*6236dae4SAndroid Build Coastguard Worker
371*6236dae4SAndroid Build Coastguard WorkerWhether the proxy was used (Added in 8.7.0). See CURLINFO_USED_PROXY(3)
372*6236dae4SAndroid Build Coastguard Worker
373*6236dae4SAndroid Build Coastguard Worker## CURLINFO_XFER_ID
374*6236dae4SAndroid Build Coastguard Worker
375*6236dae4SAndroid Build Coastguard WorkerThe ID of the transfer. (Added in 8.2.0) See CURLINFO_XFER_ID(3)
376*6236dae4SAndroid Build Coastguard Worker
377*6236dae4SAndroid Build Coastguard Worker# TIMES
378*6236dae4SAndroid Build Coastguard Worker
379*6236dae4SAndroid Build Coastguard WorkerAn overview of the time values available from curl_easy_getinfo(3)
380*6236dae4SAndroid Build Coastguard Worker
381*6236dae4SAndroid Build Coastguard Worker    curl_easy_perform()
382*6236dae4SAndroid Build Coastguard Worker        |
383*6236dae4SAndroid Build Coastguard Worker        |--QUEUE
384*6236dae4SAndroid Build Coastguard Worker        |--|--NAMELOOKUP
385*6236dae4SAndroid Build Coastguard Worker        |--|--|--CONNECT
386*6236dae4SAndroid Build Coastguard Worker        |--|--|--|--APPCONNECT
387*6236dae4SAndroid Build Coastguard Worker        |--|--|--|--|--PRETRANSFER
388*6236dae4SAndroid Build Coastguard Worker        |--|--|--|--|--|--POSTTRANSFER
389*6236dae4SAndroid Build Coastguard Worker        |--|--|--|--|--|--|--STARTTRANSFER
390*6236dae4SAndroid Build Coastguard Worker        |--|--|--|--|--|--|--|--TOTAL
391*6236dae4SAndroid Build Coastguard Worker        |--|--|--|--|--|--|--|--REDIRECT
392*6236dae4SAndroid Build Coastguard Worker
393*6236dae4SAndroid Build Coastguard Worker
394*6236dae4SAndroid Build Coastguard Worker CURLINFO_QUEUE_TIME_T(3), CURLINFO_NAMELOOKUP_TIME_T(3),
395*6236dae4SAndroid Build Coastguard Worker CURLINFO_CONNECT_TIME_T(3), CURLINFO_APPCONNECT_TIME_T(3),
396*6236dae4SAndroid Build Coastguard Worker CURLINFO_PRETRANSFER_TIME_T(3), CURLINFO_POSTTRANSFER_TIME_T(3),
397*6236dae4SAndroid Build Coastguard Worker CURLINFO_STARTTRANSFER_TIME_T(3), CURLINFO_TOTAL_TIME_T(3),
398*6236dae4SAndroid Build Coastguard Worker CURLINFO_REDIRECT_TIME_T(3)
399*6236dae4SAndroid Build Coastguard Worker
400*6236dae4SAndroid Build Coastguard Worker# %PROTOCOLS%
401*6236dae4SAndroid Build Coastguard Worker
402*6236dae4SAndroid Build Coastguard Worker# EXAMPLE
403*6236dae4SAndroid Build Coastguard Worker
404*6236dae4SAndroid Build Coastguard Worker~~~c
405*6236dae4SAndroid Build Coastguard Workerint main(void)
406*6236dae4SAndroid Build Coastguard Worker{
407*6236dae4SAndroid Build Coastguard Worker  CURL *curl = curl_easy_init();
408*6236dae4SAndroid Build Coastguard Worker  if(curl) {
409*6236dae4SAndroid Build Coastguard Worker    CURLcode res;
410*6236dae4SAndroid Build Coastguard Worker    curl_easy_setopt(curl, CURLOPT_URL, "https://www.example.com/");
411*6236dae4SAndroid Build Coastguard Worker    res = curl_easy_perform(curl);
412*6236dae4SAndroid Build Coastguard Worker
413*6236dae4SAndroid Build Coastguard Worker    if(CURLE_OK == res) {
414*6236dae4SAndroid Build Coastguard Worker      char *ct;
415*6236dae4SAndroid Build Coastguard Worker      /* ask for the content-type */
416*6236dae4SAndroid Build Coastguard Worker      res = curl_easy_getinfo(curl, CURLINFO_CONTENT_TYPE, &ct);
417*6236dae4SAndroid Build Coastguard Worker
418*6236dae4SAndroid Build Coastguard Worker      if((CURLE_OK == res) && ct)
419*6236dae4SAndroid Build Coastguard Worker        printf("We received Content-Type: %s\n", ct);
420*6236dae4SAndroid Build Coastguard Worker    }
421*6236dae4SAndroid Build Coastguard Worker
422*6236dae4SAndroid Build Coastguard Worker    /* always cleanup */
423*6236dae4SAndroid Build Coastguard Worker    curl_easy_cleanup(curl);
424*6236dae4SAndroid Build Coastguard Worker  }
425*6236dae4SAndroid Build Coastguard Worker}
426*6236dae4SAndroid Build Coastguard Worker~~~
427*6236dae4SAndroid Build Coastguard Worker
428*6236dae4SAndroid Build Coastguard Worker# %AVAILABILITY%
429*6236dae4SAndroid Build Coastguard Worker
430*6236dae4SAndroid Build Coastguard Worker# RETURN VALUE
431*6236dae4SAndroid Build Coastguard Worker
432*6236dae4SAndroid Build Coastguard WorkerIf the operation was successful, CURLE_OK is returned. Otherwise an
433*6236dae4SAndroid Build Coastguard Workerappropriate error code is returned.
434