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