1 USING: alien alien.c-types alien.enums alien.libraries
2 alien.syntax classes.struct combinators kernel math
8 { [ os macosx? ] [ "libcurl.dylib" ] }
9 { [ os unix? ] [ "libcurl.so" ] }
10 } cond cdecl add-library >>
16 FUNCTION: c-string curl_version ( )
18 FUNCTION: c-string curl_getenv ( c-string variable )
20 CONSTANT: CURL_WRITEFUNC_PAUSE 0x10000001
24 CURLFILETYPE_DIRECTORY
26 CURLFILETYPE_DEVICE_BLOCK
27 CURLFILETYPE_DEVICE_CHAR
28 CURLFILETYPE_NAMEDPIPE
36 CURLE_UNSUPPORTED_PROTOCOL
40 CURLE_COULDNT_RESOLVE_PROXY
41 CURLE_COULDNT_RESOLVE_HOST
43 CURLE_FTYP_WEIRD_SERVER_REPLY
44 CURLE_REMOTE_ACCESS_DENIED
45 CURLE_FTP_ACCEPT_FAILED
46 CURLE_FTP_WEIRD_PASS_REPLY
47 CURLE_FTP_ACCEPT_TIMEOUT
48 CURLE_FTP_WEIRD_PASV_REPLY
49 CURLE_FTP_WEIRD_227_FORMAT
50 CURLE_FTP_CANT_GET_HOST
52 CURLE_FTP_COULDNT_SET_TYPE
54 CURLE_FTP_COULDNT_RETR_FILE
57 CURLE_HTTP_RETURNED_ERROR
63 CURLE_OPERATION_TIMEOUT
66 CURLE_FTP_COULDNT_USE_REST
70 CURLE_SSL_CONNECT_ERROR
71 CURLE_BAD_DOWNLOAD_RESUME
72 CURLE_FILE_COULDNT_READ_FILE
73 CURLE_LDAP_CANNOT_BIND
74 CURLE_LDAP_SEARCH_FAILED
76 CURLE_FUNCTION_NOT_FOUND
77 CURLE_ABORTED_BY_CALLBACK
78 CURLE_BAD_FUNCTION_ARGUMENT
80 CURLE_INTERFACE_FAILED
82 CURLE_TOO_MANY_REDIRECTS
84 CURLE_TELNET_OPTION_SYNTAX
86 CURLE_PEER_FAILED_VERIFICATION
88 CURLE_SSL_ENGINE_NOTFOUND
89 CURLE_SSL_ENGINE_SETFAILED
96 CURLE_BAD_CONTENT_ENCODING
97 CURLE_LDAP_INVALID_URL
98 CURLE_FILESIZE_EXCEEDED
100 CURLE_SEND_FAIL_REWIND
101 CURLE_SSL_ENGINE_INITFAILED
105 CURLE_REMOTE_DISK_FULL
108 CURLE_REMOTE_FILE_EXISTS
109 CURLE_TFTP_NOSUCHUSER
112 CURLE_SSL_CACERT_BADFILE
113 CURLE_REMOTE_FILE_NOT_FOUND
115 CURLE_SSL_SHUTDOWN_FAILED
117 CURLE_SSL_CRL_BADFILE
118 CURLE_SSL_ISSUER_ERROR
119 CURLE_FTP_PRET_FAILED
120 CURLE_RTSP_CSEQ_ERROR
121 CURLE_RTSP_SESSION_ERROR
122 CURLE_FTP_BAD_FILE_LIST
124 CURLE_NO_CONNECTION_AVAILABLE
128 { CURLOPT_FILE 10001 }
129 { CURLOPT_URL 10002 }
131 { CURLOPT_PROXY 10004 }
132 { CURLOPT_USERPWD 10005 }
133 { CURLOPT_PROXYUSERPWD 10006 }
134 { CURLOPT_RANGE 10007 }
135 { CURLOPT_INFILE 10009 }
136 { CURLOPT_ERRORBUFFER 10010 }
137 { CURLOPT_WRITEFUNCTION 20011 }
138 { CURLOPT_READFUNCTION 20012 }
139 { CURLOPT_TIMEOUT 13 }
140 { CURLOPT_INFILESIZE 14 }
141 { CURLOPT_POSTFIELDS 10015 }
142 { CURLOPT_REFERER 10016 }
143 { CURLOPT_FTPPORT 10017 }
144 { CURLOPT_USERAGENT 10018 }
145 { CURLOPT_LOW_SPEED_LIMIT 19 }
146 { CURLOPT_LOW_SPEED_TIME 20 }
147 { CURLOPT_RESUME_FROM 21 }
148 { CURLOPT_COOKIE 10022 }
149 { CURLOPT_HTTPHEADER 10023 }
150 { CURLOPT_HTTPPOST 10024 }
151 { CURLOPT_SSLCERT 10025 }
152 { CURLOPT_KEYPASSWD 10026 }
154 { CURLOPT_QUOTE 10028 }
155 { CURLOPT_WRITEHEADER 10029 }
156 { CURLOPT_COOKIEFILE 10031 }
157 { CURLOPT_SSLVERSION 32 }
158 { CURLOPT_TIMECONDITION 33 }
159 { CURLOPT_TIMEVALUE 34 }
160 { CURLOPT_CUSTOMREQUEST 10036 }
161 { CURLOPT_STDERR 10037 }
162 { CURLOPT_POSTQUOTE 10039 }
163 { CURLOPT_WRITEINFO 10040 }
164 { CURLOPT_VERBOSE 41 }
165 { CURLOPT_HEADER 42 }
166 { CURLOPT_NOPROGRESS 43 }
167 { CURLOPT_NOBODY 44 }
168 { CURLOPT_FAILONERROR 45 }
169 { CURLOPT_UPLOAD 46 }
171 { CURLOPT_DIRLISTONLY 48 }
172 { CURLOPT_APPEND 50 }
174 { CURLOPT_FOLLOWLOCATION 52 }
175 { CURLOPT_TRANSFERTEXT 53 }
177 { CURLOPT_PROGRESSFUNCTION 20056 }
178 { CURLOPT_PROGRESSDATA 10057 }
179 { CURLOPT_AUTOREFERER 58 }
180 { CURLOPT_PROXYPORT 59 }
181 { CURLOPT_POSTFIELDSIZE 60 }
182 { CURLOPT_HTTPPROXYTUNNEL 61 }
183 { CURLOPT_INTERFACE 10062 }
184 { CURLOPT_KRBLEVEL 10063 }
185 { CURLOPT_SSL_VERIFYPEER 64 }
186 { CURLOPT_CAINFO 10065 }
187 { CURLOPT_MAXREDIRS 68 }
188 { CURLOPT_FILETIME 69 }
189 { CURLOPT_TELNETOPTIONS 10070 }
190 { CURLOPT_MAXCONNECTS 71 }
191 { CURLOPT_CLOSEPOLICY 72 }
192 { CURLOPT_FRESH_CONNECT 74 }
193 { CURLOPT_FORBID_REUSE 75 }
194 { CURLOPT_RANDOM_FILE 10076 }
195 { CURLOPT_EGDSOCKET 10077 }
196 { CURLOPT_CONNECTTIMEOUT 78 }
197 { CURLOPT_HEADERFUNCTION 20079 }
198 { CURLOPT_HTTPGET 80 }
199 { CURLOPT_SSL_VERIFYHOST 81 }
200 { CURLOPT_COOKIEJAR 10082 }
201 { CURLOPT_SSL_CIPHER_LIST 10083 }
202 { CURLOPT_HTTP_VERSION 84 }
203 { CURLOPT_FTP_USE_EPSV 85 }
204 { CURLOPT_SSLCERTTYPE 10086 }
205 { CURLOPT_SSLKEY 10087 }
206 { CURLOPT_SSLKEYTYPE 10088 }
207 { CURLOPT_SSLENGINE 10089 }
208 { CURLOPT_SSLENGINE_DEFAULT 90 }
209 { CURLOPT_DNS_USE_GLOBAL_CACHE 91 }
210 { CURLOPT_DNS_CACHE_TIMEOUT 92 }
211 { CURLOPT_PREQUOTE 10093 }
212 { CURLOPT_DEBUGFUNCTION 20094 }
213 { CURLOPT_DEBUGDATA 10095 }
214 { CURLOPT_COOKIESESSION 96 }
215 { CURLOPT_CAPATH 10097 }
216 { CURLOPT_BUFFERSIZE 98 }
217 { CURLOPT_NOSIGNAL 99 }
218 { CURLOPT_SHARE 10100 }
219 { CURLOPT_PROXYTYPE 101 }
220 { CURLOPT_ACCEPT_ENCODING 10102 }
221 { CURLOPT_PRIVATE 10103 }
222 { CURLOPT_HTTP200ALIASES 10104 }
223 { CURLOPT_UNRESTRICTED_AUTH 105 }
224 { CURLOPT_FTP_USE_EPRT 106 }
225 { CURLOPT_HTTPAUTH 107 }
226 { CURLOPT_SSL_CTX_FUNCTION 20108 }
227 { CURLOPT_SSL_CTX_DATA 10109 }
228 { CURLOPT_FTP_CREATE_MISSING_DIRS 110 }
229 { CURLOPT_PROXYAUTH 111 }
230 { CURLOPT_SERVER_RESPONSE_TIMEOUT 112 }
231 { CURLOPT_IPRESOLVE 113 }
232 { CURLOPT_MAXFILESIZE 114 }
233 { CURLOPT_INFILESIZE_LARGE 30115 }
234 { CURLOPT_RESUME_FROM_LARGE 30116 }
235 { CURLOPT_MAXFILESIZE_LARGE 30117 }
236 { CURLOPT_NETRC_FILE 10118 }
237 { CURLOPT_USE_SSL 119 }
238 { CURLOPT_POSTFIELDSIZE_LARGE 30120 }
239 { CURLOPT_TCP_NODELAY 121 }
240 { CURLOPT_FTPSSLAUTH 129 }
241 { CURLOPT_IOCTLFUNCTION 20130 }
242 { CURLOPT_IOCTLDATA 10131 }
243 { CURLOPT_FTP_ACCOUNT 10134 }
244 { CURLOPT_COOKIELIST 10135 }
245 { CURLOPT_IGNORE_CONTENT_LENGTH 136 }
246 { CURLOPT_FTP_SKIP_PASV_IP 137 }
247 { CURLOPT_FTP_FILEMETHOD 138 }
248 { CURLOPT_LOCALPORT 139 }
249 { CURLOPT_LOCALPORTRANGE 140 }
250 { CURLOPT_CONNECT_ONLY 141 }
251 { CURLOPT_CONV_FROM_NETWORK_FUNCTION 20142 }
252 { CURLOPT_CONV_TO_NETWORK_FUNCTION 20143 }
253 { CURLOPT_CONV_FROM_UTF8_FUNCTION 20144 }
254 { CURLOPT_MAX_SEND_SPEED_LARGE 30145 }
255 { CURLOPT_MAX_RECV_SPEED_LARGE 30146 }
256 { CURLOPT_FTP_ALTERNATIVE_TO_USER 10147 }
257 { CURLOPT_SOCKOPTFUNCTION 20148 }
258 { CURLOPT_SOCKOPTDATA 10149 }
259 { CURLOPT_SSL_SESSIONID_CACHE 150 }
260 { CURLOPT_SSH_AUTH_TYPES 151 }
261 { CURLOPT_SSH_PUBLIC_KEYFILE 10152 }
262 { CURLOPT_SSH_PRIVATE_KEYFILE 10153 }
263 { CURLOPT_FTP_SSL_CCC 154 }
264 { CURLOPT_TIMEOUT_MS 155 }
265 { CURLOPT_CONNECTTIMEOUT_MS 156 }
266 { CURLOPT_HTTP_TRANSFER_DECODING 157 }
267 { CURLOPT_HTTP_CONTENT_DECODING 158 }
268 { CURLOPT_NEWFILE_PERMS 159 }
269 { CURLOPT_NEW_DIRECTORY_PERMS 160 }
270 { CURLOPT_POSTREDIR 161 }
271 { CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 10162 }
272 { CURLOPT_OPENSOCKETFUNCTION 20163 }
273 { CURLOPT_OPENSOCKETDATA 10164 }
274 { CURLOPT_COPYPOSTFIELD 10165 }
275 { CURLOPT_PROXY_TRANSFER_MODE 166 }
276 { CURLOPT_SEEKFUNCTION 20167 }
277 { CURLOPT_SEEKDATA 10168 }
278 { CURLOPT_CRLFILE 10169 }
279 { CURLOPT_ISSUERCERT 10170 }
280 { CURLOPT_ADDRESS_SCOPE 171 }
281 { CURLOPT_CERTINFO 172 }
282 { CURLOPT_USERNAME 10173 }
283 { CURLOPT_PASSWORD 10174 }
284 { CURLOPT_PROXYUSERNAME 10175 }
285 { CURLOPT_PROXYPASSWORD 10176 }
286 { CURLOPT_NOPROXY 10177 }
287 { CURLOPT_TFTP_BLKSIZE 178 }
288 { CURLOPT_SOCKS5_GSSAPI_SERVICE 10179 }
289 { CURLOPT_SOCKS5_GSSAPI_NEC 10180 }
290 { CURLOPT_PROTOCOLS 181 }
291 { CURLOPT_REDIR_PROTOCOLS 182 }
292 { CURLOPT_SSH_KNOWNHOSTS 10183 }
293 { CURLOPT_SSH_KEYFUNCTION 20184 }
294 { CURLOPT_SSH_KEYDATA 10185 }
295 { CURLOPT_MAIL_FROM 10186 }
296 { CURLOPT_MAIL_RCPT 10187 }
297 { CURLOPT_FTP_USE_PRET 188 }
298 { CURLOPT_RTSP_REQUEST 189 }
299 { CURLOPT_RTSP_SESSION_ID 10190 }
300 { CURLOPT_RTSP_STREAM_URI 10191 }
301 { CURLOPT_RTSP_TRANSPORT 10192 }
302 { CURLOPT_RTSP_CLIENT_CSEQ 193 }
303 { CURLOPT_RTSP_SERVER_CSEQ 194 }
304 { CURLOPT_INTERLEAVEDATA 10195 }
305 { CURLOPT_INTERLEAVEFUNCTION 20196 }
306 { CURLOPT_WILDCARDMATCH 197 }
307 { CURLOPT_CHUNK_BGN_FUNCTION 20198 }
308 { CURLOPT_CHUNK_END_FUNCTION 20199 }
309 { CURLOPT_FNMATCH_FUNCTION 20200 }
310 { CURLOPT_CHUNK_DATA 10201 }
311 { CURLOPT_FNMATCH_DATA 10202 }
312 { CURLOPT_RESOLVE 10203 }
313 { CURLOPT_TLSAUTH_USERNAME 10204 }
314 { CURLOPT_TLSAUTH_PASSWORD 10205 }
315 { CURLOPT_TLSAUTH_TYPE 10206 }
316 { CURLOPT_TRANSFER_ENCODING 207 }
317 { CURLOPT_CLOSESOCKETFUNCTION 20208 }
318 { CURLOPT_CLOSESOCKETDATA 10209 }
319 { CURLOPT_GSSAPI_DELEGATION 210 }
320 { CURLOPT_DNS_SERVERS 10211 }
321 { CURLOPT_ACCEPTTIMEOUT_MS 212 }
322 { CURLOPT_TCP_KEEPALIVE 213 }
323 { CURLOPT_TCP_KEEPIDLE 214 }
324 { CURLOPT_TCP_KEEPINTVL 215 }
325 { CURLOPT_SSL_OPTIONS 216 }
326 { CURLOPT_MAIL_AUTH 10217 }
329 ALIAS: CURLOPT_WRITEDATA CURLOPT_FILE
330 ALIAS: CURLOPT_READDATA CURLOPT_INFILE
331 ALIAS: CURLOPT_HEADERDATA CURLOPT_WRITEHEADER
332 ALIAS: CURLOPT_RTSPHEADER CURLOPT_HTTPHEADER
337 TYPEDEF: int64_t curl_off_t
339 FUNCTION: CURL* curl_easy_init ( )
341 FUNCTION-ALIAS: curl_easy_setopt_long
342 CURLcode curl_easy_setopt ( CURL* curl, CURLoption option, long value )
344 FUNCTION-ALIAS: curl_easy_setopt_string
345 CURLcode curl_easy_setopt ( CURL* curl, CURLoption option, c-string value )
347 FUNCTION-ALIAS: curl_easy_setopt_pointer
348 CURLcode curl_easy_setopt ( CURL* curl, CURLoption option, void* value )
350 FUNCTION-ALIAS: curl_easy_setopt_curl_off_t
351 CURLcode curl_easy_setopt ( CURL* curl, CURLoption option, curl_off_t value )
353 FUNCTION: CURLcode curl_easy_perform ( CURL* curl )
355 FUNCTION: void curl_easy_cleanup ( CURL* curl )
357 FUNCTION: c-string curl_easy_escape ( CURL* curl, c-string string, int length )
359 FUNCTION: c-string curl_easy_unescape ( CURL* handle, c-string string, int length, int* outlength )
361 : curl_easy_setopt ( curl option value -- code )
363 { [ dup 30000 > ] [ drop curl_easy_setopt_curl_off_t ] }
364 { [ dup 20000 > ] [ drop curl_easy_setopt_pointer ] }
365 { [ dup 10000 > ] [ drop curl_easy_setopt_string ] }
366 [ drop curl_easy_setopt_long ]
369 CALLBACK: size_t write_callback ( char *buffer, size_t size, size_t nitems, void *outstream )
371 CALLBACK: long chunk_bgn_callback ( void* transfer_info, void* ptr, int remains )
373 CALLBACK: long chunk_end_callback ( void* ptr )
375 CALLBACK: int fnmatch_callback ( void* ptr, c-string pattern, c-string string )
377 CALLBACK: int seek_callback ( void* instream, curl_off_t offset, int origin )
379 CALLBACK: size_t read_callback ( char* buffer, size_t size, size_t nitems, void* instream )
387 CONSTANT: CURL_SOCKOPT_OK 0
388 CONSTANT: CURL_SOCKOPT_ERROR 1
389 CONSTANT: CURL_SOCKOPT_ALREADY_CONNECTED 2
391 TYPEDEF: int curl_socket_t
393 CALLBACK: int sockopt_callback ( void* clientp, curl_socket_t curlfd, curlsocktype purpose )
395 STRUCT: curl_sockaddr
402 CALLBACK: curl_socket_t opensocket_callback ( void* clientp, curlsocktype purpose, curl_sockaddr* address )
404 CALLBACK: int closesocket_callback ( void* clientp, curl_socket_t item )
415 CURLIOCMD_RESTARTREAD
419 CALLBACK: curlioerr ioctl_callback ( CURL* handle, int cmd, void* clientp )
421 CALLBACK: void* malloc_callback ( size_t size )
422 CALLBACK: void free_callback ( void* ptr )
423 CALLBACK: void* realloc_callback ( void* ptr, size_t size )
424 CALLBACK: char* strdup_callback ( char* str )
425 CALLBACK: void* calloc_callback ( size_t nmemb, size_t size )
434 CURLINFO_SSL_DATA_OUT
438 CALLBACK: int debug_callback ( CURL* handle, curl_infotype type, char* data, size_t size, void* userptr )
440 CALLBACK: CURLcode conv_callback ( char* buffer, size_t length )
442 CALLBACK: CURLcode ssl_ctx_callback ( CURL* curl, void* ssl_ctx, void* userptr )
446 { CURLPROXY_HTTP_1_0 1 }
447 { CURLPROXY_SOCKS4 4 }
448 { CURLPROXY_SOCKS5 5 }
449 { CURLPROXY_SOCKS4A 6 }
450 { CURLPROXY_SOCKS5_HOSTNAME 7 }