Install curl-7.21.1.tar.bz2
[msysgit.git] / mingw / share / man / man3 / libcurl-errors.3
blobc3c854e90c92f9b6f6919103a2463ab4994a6722
1 .\" **************************************************************************
2 .\" *                                  _   _ ____  _
3 .\" *  Project                     ___| | | |  _ \| |
4 .\" *                             / __| | | | |_) | |
5 .\" *                            | (__| |_| |  _ <| |___
6 .\" *                             \___|\___/|_| \_\_____|
7 .\" *
8 .\" * Copyright (C) 1998 - 2010, Daniel Stenberg, <daniel@haxx.se>, et al.
9 .\" *
10 .\" * This software is licensed as described in the file COPYING, which
11 .\" * you should have received as part of this distribution. The terms
12 .\" * are also available at http://curl.haxx.se/docs/copyright.html.
13 .\" *
14 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
15 .\" * copies of the Software, and permit persons to whom the Software is
16 .\" * furnished to do so, under the terms of the COPYING file.
17 .\" *
18 .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
19 .\" * KIND, either express or implied.
20 .\" *
21 .\" **************************************************************************
22 .\"
23 .TH libcurl-errors 3 "1 Jan 2010" "libcurl 7.20.0" "libcurl errors"
24 .SH NAME
25 libcurl-errors \- error codes in libcurl
26 .SH DESCRIPTION
27 This man page includes most, if not all, available error codes in libcurl.
28 Why they occur and possibly what you can do to fix the problem are also included.
29 .SH "CURLcode"
30 Almost all "easy" interface functions return a CURLcode error code. No matter
31 what, using the \fIcurl_easy_setopt(3)\fP option \fICURLOPT_ERRORBUFFER\fP is
32 a good idea as it will give you a human readable error string that may offer
33 more details about the cause of the error than just the error code.
34 \fIcurl_easy_strerror(3)\fP can be called to get an error string from a
35 given CURLcode number.
37 CURLcode is one of the following:
38 .IP "CURLE_OK (0)"
39 All fine. Proceed as usual.
40 .IP "CURLE_UNSUPPORTED_PROTOCOL (1)"
41 The URL you passed to libcurl used a protocol that this libcurl does not
42 support. The support might be a compile-time option that you didn't use, it
43 can be a misspelled protocol string or just a protocol libcurl has no code
44 for.
45 .IP "CURLE_FAILED_INIT (2)"
46 Very early initialization code failed. This is likely to be an internal error
47 or problem.
48 .IP "CURLE_URL_MALFORMAT (3)"
49 The URL was not properly formatted.
50 .IP "CURLE_COULDNT_RESOLVE_PROXY (5)"
51 Couldn't resolve proxy. The given proxy host could not be resolved.
52 .IP "CURLE_COULDNT_RESOLVE_HOST (6)"
53 Couldn't resolve host. The given remote host was not resolved.
54 .IP "CURLE_COULDNT_CONNECT (7)"
55 Failed to connect() to host or proxy.
56 .IP "CURLE_FTP_WEIRD_SERVER_REPLY (8)"
57 After connecting to a FTP server, libcurl expects to get a certain reply
58 back. This error code implies that it got a strange or bad reply. The given
59 remote server is probably not an OK FTP server.
60 .IP "CURLE_REMOTE_ACCESS_DENIED (9)"
61 We were denied access to the resource given in the URL.  For FTP, this occurs
62 while trying to change to the remote directory.
63 .IP "CURLE_FTP_WEIRD_PASS_REPLY (11)"
64 After having sent the FTP password to the server, libcurl expects a proper
65 reply. This error code indicates that an unexpected code was returned.
66 .IP "CURLE_FTP_WEIRD_PASV_REPLY (13)"
67 libcurl failed to get a sensible result back from the server as a response to
68 either a PASV or a EPSV command. The server is flawed.
69 .IP "CURLE_FTP_WEIRD_227_FORMAT (14)"
70 FTP servers return a 227-line as a response to a PASV command. If libcurl
71 fails to parse that line, this return code is passed back.
72 .IP "CURLE_FTP_PRET_FAILED (84)"
73 The FTP server does not understand the PRET command at all or does not support
74 the given argument. Be careful when using \fICURLOPT_CUSTOMREQUEST\fP, a
75 custom LIST command will be sent with PRET CMD before PASV as well. (Added in
76 7.20.0)
77 .IP "CURLE_FTP_CANT_GET_HOST (15)"
78 An internal failure to lookup the host used for the new connection.
79 .IP "CURLE_FTP_COULDNT_SET_TYPE (17)"
80 Received an error when trying to set the transfer mode to binary or ASCII.
81 .IP "CURLE_PARTIAL_FILE (18)"
82 A file transfer was shorter or larger than expected. This happens when the
83 server first reports an expected transfer size, and then delivers data that
84 doesn't match the previously given size.
85 .IP "CURLE_FTP_COULDNT_RETR_FILE (19)"
86 This was either a weird reply to a 'RETR' command or a zero byte transfer
87 complete.
88 .IP "CURLE_QUOTE_ERROR (21)"
89 When sending custom "QUOTE" commands to the remote server, one of the commands
90 returned an error code that was 400 or higher (for FTP) or otherwise
91 indicated unsuccessful completion of the command.
92 .IP "CURLE_HTTP_RETURNED_ERROR (22)"
93 This is returned if CURLOPT_FAILONERROR is set TRUE and the HTTP server
94 returns an error code that is >= 400.
95 .IP "CURLE_WRITE_ERROR (23)"
96 An error occurred when writing received data to a local file, or an error was
97 returned to libcurl from a write callback.
98 .IP "CURLE_UPLOAD_FAILED (25)"
99 Failed starting the upload. For FTP, the server typically denied the STOR
100 command. The error buffer usually contains the server's explanation for this.
101 .IP "CURLE_READ_ERROR (26)"
102 There was a problem reading a local file or an error returned by the read
103 callback.
104 .IP "CURLE_OUT_OF_MEMORY (27)"
105 A memory allocation request failed. This is serious badness and
106 things are severely screwed up if this ever occurs.
107 .IP "CURLE_OPERATION_TIMEDOUT (28)"
108 Operation timeout. The specified time-out period was reached according to the
109 conditions.
110 .IP "CURLE_FTP_PORT_FAILED (30)"
111 The FTP PORT command returned error. This mostly happens when you haven't
112 specified a good enough address for libcurl to use. See \fICURLOPT_FTPPORT\fP.
113 .IP "CURLE_FTP_COULDNT_USE_REST (31)"
114 The FTP REST command returned error. This should never happen if the server is
115 sane.
116 .IP "CURLE_RANGE_ERROR (33)"
117 The server does not support or accept range requests.
118 .IP "CURLE_HTTP_POST_ERROR (34)"
119 This is an odd error that mainly occurs due to internal confusion.
120 .IP "CURLE_SSL_CONNECT_ERROR (35)"
121 A problem occurred somewhere in the SSL/TLS handshake. You really want the
122 error buffer and read the message there as it pinpoints the problem slightly
123 more. Could be certificates (file formats, paths, permissions), passwords, and
124 others.
125 .IP "CURLE_BAD_DOWNLOAD_RESUME (36)"
126 The download could not be resumed because the specified offset was out of the
127 file boundary.
128 .IP "CURLE_FILE_COULDNT_READ_FILE (37)"
129 A file given with FILE:// couldn't be opened. Most likely because the file
130 path doesn't identify an existing file. Did you check file permissions?
131 .IP "CURLE_LDAP_CANNOT_BIND (38)"
132 LDAP cannot bind. LDAP bind operation failed.
133 .IP "CURLE_LDAP_SEARCH_FAILED (39)"
134 LDAP search failed.
135 .IP "CURLE_FUNCTION_NOT_FOUND (41)"
136 Function not found. A required zlib function was not found.
137 .IP "CURLE_ABORTED_BY_CALLBACK (42)"
138 Aborted by callback. A callback returned "abort" to libcurl.
139 .IP "CURLE_BAD_FUNCTION_ARGUMENT (43)"
140 Internal error. A function was called with a bad parameter.
141 .IP "CURLE_INTERFACE_FAILED (45)"
142 Interface error. A specified outgoing interface could not be used. Set which
143 interface to use for outgoing connections' source IP address with
144 CURLOPT_INTERFACE.
145 .IP "CURLE_TOO_MANY_REDIRECTS (47)"
146 Too many redirects. When following redirects, libcurl hit the maximum amount.
147 Set your limit with CURLOPT_MAXREDIRS.
148 .IP "CURLE_UNKNOWN_TELNET_OPTION (48)"
149 An option set with CURLOPT_TELNETOPTIONS was not recognized/known. Refer to
150 the appropriate documentation.
151 .IP "CURLE_TELNET_OPTION_SYNTAX (49)"
152 A telnet option string was Illegally formatted.
153 .IP "CURLE_PEER_FAILED_VERIFICATION (51)"
154 The remote server's SSL certificate or SSH md5 fingerprint was deemed not OK.
155 .IP "CURLE_GOT_NOTHING (52)"
156 Nothing was returned from the server, and under the circumstances, getting
157 nothing is considered an error.
158 .IP "CURLE_SSL_ENGINE_NOTFOUND (53)"
159 The specified crypto engine wasn't found.
160 .IP "CURLE_SSL_ENGINE_SETFAILED (54)"
161 Failed setting the selected SSL crypto engine as default!
162 .IP "CURLE_SEND_ERROR (55)"
163 Failed sending network data.
164 .IP "CURLE_RECV_ERROR (56)"
165 Failure with receiving network data.
166 .IP "CURLE_SSL_CERTPROBLEM (58)"
167 problem with the local client certificate.
168 .IP "CURLE_SSL_CIPHER (59)"
169 Couldn't use specified cipher.
170 .IP "CURLE_SSL_CACERT (60)"
171 Peer certificate cannot be authenticated with known CA certificates.
172 .IP "CURLE_BAD_CONTENT_ENCODING (61)"
173 Unrecognized transfer encoding.
174 .IP "CURLE_LDAP_INVALID_URL (62)"
175 Invalid LDAP URL.
176 .IP "CURLE_FILESIZE_EXCEEDED (63)"
177 Maximum file size exceeded.
178 .IP "CURLE_USE_SSL_FAILED (64)"
179 Requested FTP SSL level failed.
180 .IP "CURLE_SEND_FAIL_REWIND (65)"
181 When doing a send operation curl had to rewind the data to retransmit, but the
182 rewinding operation failed.
183 .IP "CURLE_SSL_ENGINE_INITFAILED (66)"
184 Initiating the SSL Engine failed.
185 .IP "CURLE_LOGIN_DENIED (67)"
186 The remote server denied curl to login (Added in 7.13.1)
187 .IP "CURLE_TFTP_NOTFOUND (68)"
188 File not found on TFTP server.
189 .IP "CURLE_TFTP_PERM (69)"
190 Permission problem on TFTP server.
191 .IP "CURLE_REMOTE_DISK_FULL (70)"
192 Out of disk space on the server.
193 .IP "CURLE_TFTP_ILLEGAL (71)"
194 Illegal TFTP operation.
195 .IP "CURLE_TFTP_UNKNOWNID (72)"
196 Unknown TFTP transfer ID.
197 .IP "CURLE_REMOTE_FILE_EXISTS (73)"
198 File already exists and will not be overwritten.
199 .IP "CURLE_TFTP_NOSUCHUSER (74)"
200 This error should never be returned by a properly functioning TFTP server.
201 .IP "CURLE_CONV_FAILED (75)"
202 Character conversion failed.
203 .IP "CURLE_CONV_REQD (76)"
204 Caller must register conversion callbacks.
205 .IP "CURLE_SSL_CACERT_BADFILE (77)"
206 Problem with reading the SSL CA cert (path? access rights?)
207 .IP "CURLE_REMOTE_FILE_NOT_FOUND (78)"
208 The resource referenced in the URL does not exist.
209 .IP "CURLE_SSH (79)"
210 An unspecified error occurred during the SSH session.
211 .IP "CURLE_SSL_SHUTDOWN_FAILED (80)"
212 Failed to shut down the SSL connection.
213 .IP "CURLE_AGAIN (81)"
214 Socket is not ready for send/recv wait till it's ready and try again. This
215 return code is only returned from \fIcurl_easy_recv(3)\fP and
216 \fIcurl_easy_send(3)\fP (Added in 7.18.2)
217 .IP "CURLE_SSL_CRL_BADFILE (82)"
218 Failed to load CRL file (Added in 7.19.0)
219 .IP "CURLE_SSL_ISSUER_ERROR (83)"
220 Issuer check failed (Added in 7.19.0)
221 .IP "CURLE_FTP_PRET_FAILED (84)"
222 PRET command failed
223 .IP "CURLE_RTSP_CSEQ_ERROR (85)"
224 Mismatch of RTSP CSeq numbers.
225 .IP "CURLE_RTSP_SESSION_ERROR (86)"
226 Mismatch of RTSP Session Identifiers.
227 .IP "CURLE_FTP_BAD_FILE_LIST (87)"
228 Unable to parse FTP file list (during FTP wildcard downloading).
229 .IP "CURLE_CHUNK_FAILED (88)"
230 Chunk callback reported error.
231 .IP "CURLE_OBSOLETE*"
232 These error codes will never be returned. They were used in an old libcurl
233 version and are currently unused.
234 .SH "CURLMcode"
235 This is the generic return code used by functions in the libcurl multi
236 interface. Also consider \fIcurl_multi_strerror(3)\fP.
237 .IP "CURLM_CALL_MULTI_PERFORM (-1)"
238 This is not really an error. It means you should call
239 \fIcurl_multi_perform(3)\fP again without doing select() or similar in between.
240 .IP "CURLM_OK (0)"
241 Things are fine.
242 .IP "CURLM_BAD_HANDLE (1)"
243 The passed-in handle is not a valid CURLM handle.
244 .IP "CURLM_BAD_EASY_HANDLE (2)"
245 An easy handle was not good/valid. It could mean that it isn't an easy handle
246 at all, or possibly that the handle already is in used by this or another
247 multi handle.
248 .IP "CURLM_OUT_OF_MEMORY (3)"
249 You are doomed.
250 .IP "CURLM_INTERNAL_ERROR (4)"
251 This can only be returned if libcurl bugs. Please report it to us!
252 .IP "CURLM_BAD_SOCKET (5)"
253 The passed-in socket is not a valid one that libcurl already knows about.
254 (Added in 7.15.4)
255 .IP "CURLM_UNKNOWN_OPTION (6)"
256 curl_multi_setopt() with unsupported option
257 (Added in 7.15.4)
258 .SH "CURLSHcode"
259 The "share" interface will return a CURLSHcode to indicate when an error has
260 occurred.  Also consider \fIcurl_share_strerror(3)\fP.
261 .IP "CURLSHE_OK (0)"
262 All fine. Proceed as usual.
263 .IP "CURLSHE_BAD_OPTION (1)"
264 An invalid option was passed to the function.
265 .IP "CURLSHE_IN_USE (2)"
266 The share object is currently in use.
267 .IP "CURLSHE_INVALID (3)"
268 An invalid share object was passed to the function.
269 .IP "CURLSHE_NOMEM (4)"
270 Not enough memory was available.
271 (Added in 7.12.0)