curl/packages/OS400/curl.inc.in
Daniel Stenberg fd4cf78f36 Philip Langdale provided the new CURLOPT_POST301 option for
curl_easy_setopt() that alters how libcurl functions when following
redirects. It makes libcurl obey the RFC2616 when a 301 response is received
after a non-GET request is made. Default libcurl behaviour is to change
method to GET in the subsequent request (like it does for response code 302
- because that's what many/most browsers do), but with this CURLOPT_POST301
option enabled it will do what the spec says and do the next request using
the same method again. I.e keep POST after 301.

The curl tool got this option as --post301

Test case 1011 and 1012 were added to verify.
2007-09-26 12:44:59 +00:00

1519 lines
69 KiB
PHP

**************************************************************************
* _ _ ____ _
* Project ___| | | | _ \| |
* / __| | | | |_) | |
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
* Copyright (C) 1998 - 2007, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
* are also available at http://curl.haxx.se/docs/copyright.html.
*
* You may opt to use, copy, modify, merge, publish, distribute and/or sell
* copies of the Software, and permit persons to whom the Software is
* furnished to do so, under the terms of the COPYING file.
*
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF
* ANY KIND, either express or implied.
*
* $Id$
*
**************************************************************************
*
/if not defined(CURL_CURL_INC_)
/define CURL_CURL_INC_
*
* WARNING: this file should be kept in sync with C include files.
*
**************************************************************************
* Constants
**************************************************************************
*
d LIBCURL_VERSION...
d c '@LIBCURL_VERSION@'
d LIBCURL_VERSION_MAJOR...
d c @LIBCURL_VERSION_MAJOR@
d LIBCURL_VERSION_MINOR...
d c @LIBCURL_VERSION_MINOR@
d LIBCURL_VERSION_PATCH...
d c @LIBCURL_VERSION_PATCH@
d LIBCURL_VERSION_NUM...
d c X'00@LIBCURL_VERSION_NUM@'
d LIBCURL_TIMESTAMP...
d c '@LIBCURL_TIMESTAMP@'
*
d CURL_SOCKET_BAD...
d c -1
d CURL_SOCKET_TIMEOUT...
d c -1
*
d CURLINFO_STRING...
d c X'00100000'
d CURLINFO_LONG c X'00200000'
d CURLINFO_DOUBLE...
d c X'00300000'
d CURLINFO_SLIST c X'00400000'
d CURLINFO_MASK c X'000FFFFF'
d CURLINFO_TYPEMASK...
d c X'00F00000'
*
d CURL_GLOBAL_SSL...
d c X'00000001'
d CURL_GLOBAL_WIN32...
d c X'00000002'
d CURL_GLOBAL_ALL...
d c X'00000003'
d CURL_GLOBAL_NOTHING...
d c X'00000000'
d CURL_GLOBAL_DEFAULT...
d c X'00000003'
*
d CURL_VERSION_IPV6...
d c X'00000001'
d CURL_VERSION_KERBEROS4...
d c X'00000002'
d CURL_VERSION_SSL...
d c X'00000004'
d CURL_VERSION_LIBZ...
d c X'00000008'
d CURL_VERSION_NTLM...
d c X'00000010'
d CURL_VERSION_GSSNEGOTIATE...
d c X'00000020'
d CURL_VERSION_DEBUG...
d c X'00000040'
d CURL_VERSION_ASYNCHDNS...
d c X'00000080'
d CURL_VERSION_SPNEGO...
d c X'00000100'
d CURL_VERSION_LARGEFILE...
d c X'00000200'
d CURL_VERSION_IDN...
d c X'00000400'
d CURL_VERSION_SSPI...
d c X'00000800'
d CURL_VERSION_CONV...
d c X'00001000'
*
d HTTPPOST_FILENAME...
d c X'00000001'
d HTTPPOST_READFILE...
d c X'00000002'
d HTTPPOST_PTRNAME...
d c X'00000004'
d HTTPPOST_PTRCONTENTS...
d c X'00000008'
d HTTPPOST_BUFFER...
d c X'00000010'
d HTTPPOST_PTRBUFFER...
d c X'00000020'
*
d CURL_READFUNC_ABORT...
d c X'10000000'
*
d CURLAUTH_NONE c X'00000000'
d CURLAUTH_BASIC c X'00000001'
d CURLAUTH_DIGEST...
d c X'00000002'
d CURLAUTH_GSSNEGOTIATE...
d c X'00000004'
d CURLAUTH_NTLM c X'00000008'
d CURLAUTH_ANY c X'7FFFFFFF'
d CURLAUTH_ANYSAFE...
d c X'7FFFFFFE' ~CURLAUTH_BASIC
*
d CURLSSH_AUTH_ANY...
d c X'7FFFFFFF'
d CURLSSH_AUTH_NONE...
d c X'00000000'
d CURLSSH_AUTH_PUBLICKEY...
d c X'00000001'
d CURLSSH_AUTH_PASSWORD...
d c X'00000002'
d CURLSSH_AUTH_HOST...
d c X'00000004'
d CURLSSH_AUTH_KEYBOARD...
d c X'00000008'
d CURLSSH_AUTH_DEFAULT...
d c X'7FFFFFFF' CURLSSH_AUTH_ANY
*
d CURL_ERROR_SIZE...
d c 256
*
d CURLOPTTYPE_LONG...
d c 0
d CURLOPTTYPE_OBJECTPOINT...
d c 10000
d CURLOPTTYPE_FUNCTIONPOINT...
d c 20000
d CURLOPTTYPE_OFF_T...
d c 30000
*
d CURL_IPRESOLVE_WHATEVER...
d c 0
d CURL_IPRESOLVE_V4...
d c 1
d CURL_IPRESOLVE_V6...
d c 2
*
d CURL_HTTP_VERSION_NONE...
d c 0
d CURL_HTTP_VERSION_1_0...
d c 1
d CURL_HTTP_VERSION_1_1...
d c 2
*
d CURL_NETRC_IGNORED...
d c 0
d CURL_NETRC_OPTIONAL...
d c 1
d CURL_NETRC_REQUIRED...
d c 2
*
d CURL_SSLVERSION_DEFAULT...
d c 0
d CURL_SSLVERSION_TLSv1...
d c 1
d CURL_SSLVERSION_SSLv2...
d c 2
d CURL_SSLVERSION_SSLv3...
d c 3
*
d CURL_POLL_NONE c 0
d CURL_POLL_IN c 1
d CURL_POLL_OUT c 2
d CURL_POLL_INOUT...
d c 3
d CURL_POLL_REMOVE...
d c 4
*
d CURL_CSELECT_IN...
d c X'00000001'
d CURL_CSELECT_OUT...
d c X'00000002'
d CURL_CSELECT_ERR...
d c X'00000004'
*
**************************************************************************
* Types
**************************************************************************
*
d curl_socket_t s 10i 0 based(######ptr######)
*
d curl_off_t s 20i 0 based(######ptr######)
*
d CURLcode s 10i 0 based(######ptr######) Enum
d CURLE_OK c 0
d CURLE_UNSUPPORTED_PROTOCOL...
d c 1
d CURLE_FAILED_INIT...
d c 2
d CURLE_URL_MALFORMAT...
d c 3
d CURLE_OBSOLETE4...
d c 4
d CURLE_COULDNT_RESOLVE_PROXY...
d c 5
d CURLE_COULDNT_RESOLVE_HOST...
d c 6
d CURLE_COULDNT_CONNECT...
d c 7
d CURLE_FTP_WEIRD_SERVER_REPLY...
d c 8
d CURLE_REMOTE_ACCESS_DENIED...
d c 9
d CURLE_OBSOLETE10...
d c 10
d CURLE_FTP_WEIRD_PASS_REPLY...
d c 11
d CURLE_OBSOLETE12...
d c 12
d CURLE_FTP_WEIRD_PASV_REPLY...
d c 13
d CURLE_FTP_WEIRD_227_FORMAT...
d c 14
d CURLE_FTP_CANT_GET_HOST...
d c 15
d CURLE_OBSOLETE16...
d c 16
d CURLE_FTP_COULDNT_SET_TYPE...
d c 17
d CURLE_PARTIAL_FILE...
d c 18
d CURLE_FTP_COULDNT_RETR_FILE...
d c 19
d CURLE_OBSOLETE20...
d c 20
d CURLE_QUOTE_ERROR...
d c 21
d CURLE_HTTP_RETURNED_ERROR...
d c 22
d CURLE_WRITE_ERROR...
d c 23
d CURLE_OBSOLETE24...
d c 24
d CURLE_UPLOAD_FAILED...
d c 25
d CURLE_READ_ERROR...
d c 26
d CURLE_OUT_OF_MEMORY...
d c 27
d CURLE_OPERATION_TIMEDOUT...
d c 28
d CURLE_OBSOLETE29...
d c 29
d CURLE_FTP_PORT_FAILED...
d c 30
d CURLE_FTP_COULDNT_USE_REST...
d c 31
d CURLE_OBSOLETE32...
d c 32
d CURLE_RANGE_ERROR...
d c 33
d CURLE_HTTP_POST_ERROR...
d c 34
d CURLE_SSL_CONNECT_ERROR...
d c 35
d CURLE_BAD_DOWNLOAD_RESUME...
d c 36
d CURLE_FILE_COULDNT_READ_FILE...
d c 37
d CURLE_LDAP_CANNOT_BIND...
d c 38
d CURLE_LDAP_SEARCH_FAILED...
d c 39
d CURLE_OBSOLETE40...
d c 40
d CURLE_FUNCTION_NOT_FOUND...
d c 41
d CURLE_ABORTED_BY_CALLBACK...
d c 42
d CURLE_BAD_FUNCTION_ARGUMENT...
d c 43
d CURLE_OBSOLETE44...
d c 44
d CURLE_INTERFACE_FAILED...
d c 45
d CURLE_OBSOLETE46...
d c 46
d CURLE_TOO_MANY_REDIRECTS...
d c 47
d CURLE_UNKNOWN_TELNET_OPTION...
d c 48
d CURLE_TELNET_OPTION_SYNTAX...
d c 49
d CURLE_OBSOLETE50...
d c 50
d CURLE_SSL_PEER_CERTIFICATE...
d c 51
d CURLE_GOT_NOTHING...
d c 52
d CURLE_SSL_ENGINE_NOTFOUND...
d c 53
d CURLE_SSL_ENGINE_SETFAILED...
d c 54
d CURLE_SEND_ERROR...
d c 55
d CURLE_RECV_ERROR...
d c 56
d CURLE_OBSOLETE57...
d c 57
d CURLE_SSL_CERTPROBLEM...
d c 58
d CURLE_SSL_CIPHER...
d c 59
d CURLE_SSL_CACERT...
d c 60
d CURLE_BAD_CONTENT_ENCODING...
d c 61
d CURLE_LDAP_INVALID_URL...
d c 62
d CURLE_FILESIZE_EXCEEDED...
d c 63
d CURLE_USE_SSL_FAILED...
d c 64
d CURLE_SEND_FAIL_REWIND...
d c 65
d CURLE_SSL_ENGINE_INITFAILED...
d c 66
d CURLE_LOGIN_DENIED...
d c 67
d CURLE_TFTP_NOTFOUND...
d c 68
d CURLE_TFTP_PERM...
d c 69
d CURLE_REMOTE_DISK_FULL...
d c 70
d CURLE_TFTP_ILLEGAL...
d c 71
d CURLE_TFTP_UNKNOWNID...
d c 72
d CURLE_REMOTE_FILE_EXISTS...
d c 73
d CURLE_TFTP_NOSUCHUSER...
d c 74
d CURLE_CONV_FAILED...
d c 75
d CURLE_CONV_REQD...
d c 76
d CURLE_SSL_CACERT_BADFILE...
d c 77
d CURLE_REMOTE_FILE_NOT_FOUND...
d c 78
d CURLE_SSH...
d c 79
d CURLE_SSL_SHUTDOWN_FAILED...
d c 80
*
d curlioerr s 10i 0 based(######ptr######) Enum
d CURLIOE_OK c 0
d CURLIOE_UNKNOWNCMD...
d c 1
d CURLIOE_FAILRESTART...
d c 2
*
d curliocmd s 10i 0 based(######ptr######) Enum
d CURLIOCMD_NOP c 0
d CURLIOCMD_RESTARTREAD...
d c 1
*
d curl_infotype s 10i 0 based(######ptr######) Enum
d CURLINFO_TEXT...
d c 0
d CURLINFO_HEADER_IN...
d c 1
d CURLINFO_HEADER_OUT...
d c 2
d CURLINFO_DATA_IN...
d c 3
d CURLINFO_DATA_OUT...
d c 4
d CURLINFO_SSL_DATA_IN...
d c 5
d CURLINFO_SSL_DATA_OUT...
d c 6
d CURLINFO_END...
d c 7
*
d curl_proxytype s 10i 0 based(######ptr######) Enum
d CURLPROXY_HTTP...
d c 0
d CURLPROXY_SOCKS4...
d c 4
d CURLPROXY_SOCKS5...
d c 5
*
d curl_usessl s 10i 0 based(######ptr######) Enum
d CURLUSESSL_NONE...
d c 0
d CURLUSESSL_TRY...
d c 1
d CURLUSESSL_CONTROL...
d c 2
d CURLUSESSL_ALL...
d c 3
*
d curl_ftpccc s 10i 0 based(######ptr######) Enum
d CURLFTPSSL_CCC_NONE...
d c 0
d CURLFTPSSL_CCC_PASSIVE...
d c 1
d CURLFTPSSL_CCC_ACTIVE...
d c 2
*
d curl_ftpauth s 10i 0 based(######ptr######) Enum
d CURLFTPAUTH_DEFAULT...
d c 0
d CURLFTPAUTH_SSL...
d c 1
d CURLFTPAUTH_TLS...
d c 2
*
d curl_ftpmethod s 10i 0 based(######ptr######) Enum
d CURLFTPMETHOD_DEFAULT...
d c 0
d CURLFTPMETHOD_MULTICWD...
d c 1
d CURLFTPMETHOD_NOCWD...
d c 2
d CURLFTPMETHOD_SINGLECWD...
d c 3
*
d CURLoption s 10i 0 based(######ptr######) Enum
d CURLOPT_FILE c 10001
d CURLOPT_WRITEDATA...
d c 10001
d CURLOPT_URL c 10002
d CURLOPT_PORT c 00003
d CURLOPT_PROXY c 10004
d CURLOPT_USERPWD...
d c 10005
d CURLOPT_PROXYUSERPWD...
d c 10006
d CURLOPT_RANGE c 10007
d CURLOPT_INFILE...
d c 10009
d CURLOPT_READDATA...
d c 10009
d CURLOPT_ERRORBUFFER...
d c 10010
d CURLOPT_WRITEFUNCTION...
d c 20011
d CURLOPT_READFUNCTION...
d c 20012
d CURLOPT_TIMEOUT...
d c 00013
d CURLOPT_INFILESIZE...
d c 00014
d CURLOPT_POSTFIELDS...
d c 10015
d CURLOPT_REFERER...
d c 10016
d CURLOPT_FTPPORT...
d c 10017
d CURLOPT_USERAGENT...
d c 10018
d CURLOPT_LOW_SPEED_LIMIT...
d c 00019
d CURLOPT_LOW_SPEED_TIME...
d c 00020
d CURLOPT_RESUME_FROM...
d c 00021
d CURLOPT_COOKIE...
d c 10022
d CURLOPT_HTTPHEADER...
d c 10023
d CURLOPT_HTTPPOST...
d c 10024
d CURLOPT_SSLCERT...
d c 10025
d CURLOPT_SSLCERTPASSWD...
d c 10026
d CURLOPT_KEYPASSWD...
d c 10026
d CURLOPT_CRLF c 00027
d CURLOPT_QUOTE c 10028
d CURLOPT_WRITEHEADER...
d c 10029
d CURLOPT_HEADERDATA...
d c 10029
d CURLOPT_COOKIEFILE...
d c 10031
d CURLOPT_SSLVERSION...
d c 00032
d CURLOPT_TIMECONDITION...
d c 00033
d CURLOPT_TIMEVALUE...
d c 00034
d CURLOPT_CUSTOMREQUEST...
d c 10036
d CURLOPT_STDERR...
d c 10037
d CURLOPT_POSTQUOTE...
d c 10039
d CURLOPT_WRITEINFO...
d c 10040
d CURLOPT_VERBOSE...
d c 00041
d CURLOPT_HEADER...
d c 00042
d CURLOPT_NOPROGRESS...
d c 00043
d CURLOPT_NOBODY...
d c 00044
d CURLOPT_FAILONERROR...
d c 00045
d CURLOPT_UPLOAD...
d c 00046
d CURLOPT_POST c 00047
d CURLOPT_DIRLISTONLY...
d c 00048
d CURLOPT_APPEND...
d c 00050
d CURLOPT_NETRC c 00051
d CURLOPT_FOLLOWLOCATION...
d c 00052
d CURLOPT_TRANSFERTEXT...
d c 00053
d CURLOPT_PUT c 00054
d CURLOPT_PROGRESSFUNCTION...
d c 20056
d CURLOPT_PROGRESSDATA...
d c 10057
d CURLOPT_AUTOREFERER...
d c 00058
d CURLOPT_PROXYPORT...
d c 00059
d CURLOPT_POSTFIELDSIZE...
d c 00060
d CURLOPT_HTTPPROXYTUNNEL...
d c 00061
d CURLOPT_INTERFACE...
d c 10062
d CURLOPT_KRB4LEVEL...
d c 10063
d CURLOPT_SSL_VERIFYPEER...
d c 00064
d CURLOPT_CAINFO...
d c 10065
d CURLOPT_MAXREDIRS...
d c 00068
d CURLOPT_FILETIME...
d c 00069
d CURLOPT_TELNETOPTIONS...
d c 10070
d CURLOPT_MAXCONNECTS...
d c 00071
d CURLOPT_CLOSEPOLICY...
d c 00072
d CURLOPT_FRESH_CONNECT...
d c 00074
d CURLOPT_FORBID_REUSE...
d c 00075
d CURLOPT_RANDOM_FILE...
d c 10076
d CURLOPT_EGDSOCKET...
d c 10077
d CURLOPT_CONNECTTIMEOUT...
d c 00078
d CURLOPT_HEADERFUNCTION...
d c 20079
d CURLOPT_HTTPGET...
d c 00080
d CURLOPT_SSL_VERIFYHOST...
d c 00081
d CURLOPT_COOKIEJAR...
d c 10082
d CURLOPT_SSL_CIPHER_LIST...
d c 10083
d CURLOPT_HTTP_VERSION...
d c 00084
d CURLOPT_FTP_USE_EPSV...
d c 00085
d CURLOPT_SSLCERTTYPE...
d c 10086
d CURLOPT_SSLKEY...
d c 10087
d CURLOPT_SSLKEYTYPE...
d c 10088
d CURLOPT_SSLENGINE...
d c 10089
d CURLOPT_SSLENGINE_DEFAULT...
d c 00090
d CURLOPT_DNS_USE_GLOBAL_CACHE...
d c 00091
d CURLOPT_DNS_CACHE_TIMEOUT...
d c 00092
d CURLOPT_PREQUOTE...
d c 10093
d CURLOPT_DEBUGFUNCTION...
d c 20094
d CURLOPT_DEBUGDATA...
d c 10095
d CURLOPT_COOKIESESSION...
d c 00096
d CURLOPT_CAPATH...
d c 10097
d CURLOPT_BUFFERSIZE...
d c 00098
d CURLOPT_NOSIGNAL...
d c 00099
d CURLOPT_SHARE c 10100
d CURLOPT_PROXYTYPE...
d c 00101
d CURLOPT_ENCODING...
d c 10102
d CURLOPT_PRIVATE...
d c 10103
d CURLOPT_HTTP200ALIASES...
d c 10104
d CURLOPT_UNRESTRICTED_AUTH...
d c 00105
d CURLOPT_FTP_USE_EPRT...
d c 00106
d CURLOPT_HTTPAUTH...
d c 00107
d CURLOPT_SSL_CTX_FUNCTION...
d c 20108
d CURLOPT_SSL_CTX_DATA...
d c 10109
d CURLOPT_FTP_CREATE_MISSING_DIRS...
d c 00110
d CURLOPT_PROXYAUTH...
d c 00111
d CURLOPT_FTP_RESPONSE_TIMEOUT...
d c 00112
d CURLOPT_IPRESOLVE...
d c 00113
d CURLOPT_MAXFILESIZE...
d c 00114
d CURLOPT_INFILESIZE_LARGE...
d c 30115
d CURLOPT_RESUME_FROM_LARGE...
d c 30116
d CURLOPT_MAXFILESIZE_LARGE...
d c 30117
d CURLOPT_NETRC_FILE...
d c 10118
d CURLOPT_USE_SSL...
d c 00119
d CURLOPT_POSTFIELDSIZE_LARGE...
d c 30120
d CURLOPT_TCP_NODELAY...
d c 00121
d CURLOPT_FTPSSLAUTH...
d c 00129
d CURLOPT_IOCTLFUNCTION...
d c 20130
d CURLOPT_IOCTLDATA...
d c 10131
d CURLOPT_FTP_ACCOUNT...
d c 10134
d CURLOPT_COOKIELIST...
d c 10135
d CURLOPT_IGNORE_CONTENT_LENGTH...
d c 00136
d CURLOPT_FTP_SKIP_PASV_IP...
d c 00137
d CURLOPT_FTP_FILEMETHOD...
d c 00138
d CURLOPT_LOCALPORT...
d c 00139
d CURLOPT_LOCALPORTRANGE...
d c 00140
d CURLOPT_CONNECT_ONLY...
d c 00141
d CURLOPT_CONV_FROM_NETWORK_FUNCTION...
d c 20142
d CURLOPT_CONV_TO_NETWORK_FUNCTION...
d c 20143
d CURLOPT_CONV_FROM_UTF8_FUNCTION...
d c 20144
d CURLOPT_MAX_SEND_SPEED_LARGE...
d c 30145
d CURLOPT_MAX_RECV_SPEED_LARGE...
d c 30146
d CURLOPT_FTP_ALTERNATIVE_TO_USER...
d c 10147
d CURLOPT_SOCKOPTFUNCTION...
d c 20148
d CURLOPT_SOCKOPTDATA...
d c 10149
d CURLOPT_SSL_SESSIONID_CACHE...
d c 00150
d CURLOPT_SSH_AUTH_TYPES...
d c 00151
d CURLOPT_SSH_PUBLIC_KEYFILE...
d c 10152
d CURLOPT_SSH_PRIVATE_KEYFILE...
d c 10153
d CURLOPT_FTP_SSL_CCC...
d c 00154
d CURLOPT_TIMEOUT_MS...
d c 00155
d CURLOPT_CONNECTTIMEOUT_MS...
d c 00156
d CURLOPT_HTTP_TRANSFER_DECODING...
d c 00157
d CURLOPT_HTTP_CONTENT_DECODING...
d c 00158
d CURLOPT_NEW_FILE_PERMS...
d c 00159
d CURLOPT_NEW_DIRECTORY_PERMS...
d c 00160
d CURLOPT_POST301...
d c 00161
*
d CURLFORMcode s 10i 0 based(######ptr######) Enum
d CURL_FORMADD_OK...
d c 0
d CURL_FORMADD_MEMORY...
d c 1
d CURL_FORMADD_OPTION_TWICE...
d c 2
d CURL_FORMADD_NULL...
d c 3
d CURL_FORMADD_UNKNOWN_OPTION...
d c 4
d CURL_FORMADD_INCOMPLETE...
d c 5
d CURL_FORMADD_ILLEGAL_ARRAY...
d c 6
d CURL_FORMADD_DISABLED...
d c 7
*
d CURLformoption s 10i 0 based(######ptr######) Enum
d CURLFORM_NOTHING...
d c 0
d CURLFORM_COPYNAME...
d c 1
d CURLFORM_PTRNAME...
d c 2
d CURLFORM_NAMELENGTH...
d c 3
d CURLFORM_COPYCONTENTS...
d c 4
d CURLFORM_PTRCONTENTS...
d c 5
d CURLFORM_CONTENTSLENGTH...
d c 6
d CURLFORM_FILECONTENT...
d c 7
d CURLFORM_ARRAY...
d c 8
d CURLFORM_OBSOLETE...
d c 9
d CURLFORM_FILE...
d c 10
d CURLFORM_BUFFER...
d c 11
d CURLFORM_BUFFERPTR...
d c 12
d CURLFORM_BUFFERLENGTH...
d c 13
d CURLFORM_CONTENTTYPE...
d c 14
d CURLFORM_CONTENTHEADER...
d c 15
d CURLFORM_FILENAME...
d c 16
d CURLFORM_END...
d c 17
d CURLFORM_OBSOLETE2...
d c 18
*
d CURLINFO s 10i 0 based(######ptr######) Enum
d CURLINFO_EFFECTIVE_URL... CURLINFO_STRING + 1
d c X'00100001'
d CURLINFO_RESPONSE_CODE... CURLINFO_LONG + 2
d c X'00200002'
d CURLINFO_TOTAL_TIME... CURLINFO_DOUBLE + 3
d c X'00300003'
d CURLINFO_NAMELOOKUP_TIME... CURLINFO_DOUBLE + 4
d c X'00300004'
d CURLINFO_CONNECT_TIME... CURLINFO_DOUBLE + 5
d c X'00300005'
d CURLINFO_PRETRANSFER_TIME... CURLINFO_DOUBLE + 6
d c X'00300006'
d CURLINFO_SIZE_UPLOAD... CURLINFO_DOUBLE + 7
d c X'00300007'
d CURLINFO_SIZE_DOWNLOAD... CURLINFO_DOUBLE + 8
d c X'00300008'
d CURLINFO_SPEED_DOWNLOAD... CURLINFO_DOUBLE + 9
d c X'00300009'
d CURLINFO_SPEED_UPLOAD... CURLINFO_DOUBLE + 10
d c X'0030000A'
d CURLINFO_HEADER_SIZE... CURLINFO_LONG + 11
d c X'0020000B'
d CURLINFO_REQUEST_SIZE... CURLINFO_LONG + 12
d c X'0020000C'
d CURLINFO_SSL_VERIFYRESULT... CURLINFO_LONG + 13
d c X'0020000D'
d CURLINFO_FILETIME... CURLINFO_LONG + 14
d c X'0020000E'
d CURLINFO_CONTENT_LENGTH_DOWNLOAD... CURLINFO_DOUBLE + 15
d c X'0030000F'
d CURLINFO_CONTENT_LENGTH_UPLOAD... CURLINFO_DOUBLE + 16
d c X'00300010'
d CURLINFO_STARTTRANSFER_TIME... CURLINFO_DOUBLE + 17
d c X'00300011'
d CURLINFO_CONTENT_TYPE... CURLINFO_STRING + 18
d c X'00100012'
d CURLINFO_REDIRECT_TIME... CURLINFO_DOUBLE + 19
d c X'00300013'
d CURLINFO_REDIRECT_COUNT... CURLINFO_LONG + 20
d c X'00200014'
d CURLINFO_PRIVATE... CURLINFO_STRING + 21
d c X'00100015'
d CURLINFO_HTTP_CONNECTCODE... CURLINFO_LONG + 22
d c X'00200016'
d CURLINFO_HTTPAUTH_AVAIL... CURLINFO_LONG + 23
d c X'00200017'
d CURLINFO_PROXYAUTH_AVAIL... CURLINFO_LONG + 24
d c X'00200018'
d CURLINFO_OS_ERRNO... CURLINFO_LONG + 25
d c X'00200019'
d CURLINFO_NUM_CONNECTS... CURLINFO_LONG + 26
d c X'00200020'
d CURLINFO_SSL_ENGINES... CURLINFO_SLIST + 27
d c X'00400021'
d CURLINFO_COOKIELIST... CURLINFO_SLIST + 28
d c X'00400022'
d CURLINFO_LASTSOCKET... CURLINFO_LONG + 29
d c X'00200023'
d CURLINFO_FTP_ENTRY_PATH... CURLINFO_STRING + 30
d c X'00100024'
d CURLINFO_HTTP_CODE... Old ...RESPONSE_CODE
d c X'00200002'
*
d curl_closepolicy...
d s 10i 0 based(######ptr######) Enum
d CURLCLOSEPOLICY_OLDEST...
d c 1
d CURLCLOSEPOLICY_LEAST_RECENTLY_USED...
d c 2
d CURLCLOSEPOLICY_LEAST_TRAFFIC...
d c 3
d CURLCLOSEPOLICY_SLOWEST...
d c 4
d CURLCLOSEPOLICY_CALLBACK...
d c 5
*
d curl_lock_data...
d s 10i 0 based(######ptr######) Enum
d CURL_LOCK_DATA_NONE...
d c 0
d CURL_LOCK_DATA_SHARE...
d c 1
d CURL_LOCK_DATA_COOKIE...
d c 2
d CURL_LOCK_DATA_DNS...
d c 3
d CURL_LOCK_DATA_SSL_SESSION...
d c 4
d CURL_LOCK_DATA_CONNECT...
d c 5
d CURL_LOCK_DATA_LAST...
d c 6
*
d curl_lock_access...
d s 10i 0 based(######ptr######) Enum
d CURL_LOCK_ACCESS_NONE...
d c 0
d CURL_LOCK_ACCESS_SHARED...
d c 1
d CURL_LOCK_ACCESS_SINGLE...
d c 2
*
d curl_TimeCond s 10i 0 based(######ptr######) Enum
d CURL_TIMECOND_NONE...
d c 0
d CURL_TIMECOND_IFMODSINCE...
d c 1
d CURL_TIMECOND_LASTMOD...
d c 2
d CURL_TIMECOND_LAST...
d c 3
*
d CURLSHcode s 10i 0 based(######ptr######) Enum
d CURLSHE_OK c 0
d CURLSHE_BAD_OPTION...
d c 1
d CURLSHE_IN_USE...
d c 2
d CURLSHE_INVALID...
d c 3
d CURLSHE_NOMEM...
d c 4
*
d CURLSHoption...
d s 10i 0 based(######ptr######) Enum
d CURLSHOPT_SHARE...
d c 1
d CURLSHOPT_UNSHARE...
d c 2
d CURLSHOPT_LOCKFUNC...
d c 3
d CURLSHOPT_UNLOCKFUNC...
d c 4
d CURLSHOPT_USERDATA...
d c 5
*
d CURLversion s 10i 0 based(######ptr######) Enum
d CURLVERSION_FIRST...
d c 0
d CURLVERSION_SECOND...
d c 1
d CURLVERSION_THIRD...
d c 2
d CURLVERSION_FOURTH...
d c 3
d CURLVERSION_NOW...
d c 3 CURLVERSION_FOURTH
*
d curlsocktype s 10i 0 based(######ptr######) Enum
d CURLSOCKTYPE_IPCXN...
d c 0
*
d CURLMcode s 10i 0 based(######ptr######) Enum
d CURLM_CALL_MULTI_PERFORM...
d c -1
d CURLM_CALL_MULTI_SOCKET...
d c -1
d CURLM_OK c 0
d CURLM_BAD_HANDLE...
d c 1
d CURLM_BAD_EASY_HANDLE...
d c 2
d CURLM_OUT_OF_MEMORY...
d c 3
d CURLM_INTERNAL_ERROR...
d c 4
d CURLM_BAD_SOCKET...
d c 5
d CURLM_UNKNOWN_OPTION...
d c 6
d CURLM_LAST c 7
*
d CURLMSG s 10i 0 based(######ptr######) Enum
d CURLMSG_NONE c 0
d CURLMSG_DONE c 1
*
d CURLMoption s 10i 0 based(######ptr######) Enum
d CURLMOPT_SOCKETFUNCTION...
d c 20001
d CURLMOPT_SOCKETDATA...
d c 10002
d CURLMOPT_PIPELINING...
d c 00003
d CURLMOPT_TIMERFUNCTION...
d c 20004
d CURLMOPT_TIMERDATA...
d c 10005
d CURLMOPT_MAXCONNECTS...
d c 00006
*
* Renaming CURLMsg to CURL_Msg to avoid case-insensivity name clash.
*
d CURL_Msg ds based(######ptr######)
d qualified
d msg like(CURLMSG)
d easy_handle * CURL *
d data *
d whatever * overlay(data) void *
d result overlay(data) like(CURLcode)
*
d curl_http_post...
d ds based(######ptr######)
d qualified
d next * curl_httppost *
d name * char *
d namelength 10i 0 long
d contents * char *
d contentslength...
d 10i 0 long
d buffer * char *
d bufferlength...
d 10i 0 long
d contenttype * char *
d contentheader...
d * curl_slist *
d more * curl_httppost *
d flags 10i 0 long
d showfilename * char *
*
d curl_forms ds based(######ptr######)
d qualified
d option like(CURLformoption)
d value * const char *
d value_ptr * overlay(value)
d value_procptr...
d * overlay(value) procptr
*
d curl_slist ds based(######ptr######)
d qualified
d data * char *
d next * struct curl_slist *
*
d curl_version_info_data...
d ds based(######ptr######)
d qualified
d age like(CURLversion)
d version * const char *
d version_num 10u 0
d host * const char *
d features 10i 0
d ssl_version * const char *
d ssl_version_num...
d 10i 0 long
d libz_version * const char *
d protocols * const char * const *
d ares * const char *
d ares_num 10i 0
d libidn * const char *
d iconv_ver_num...
d 10i 0
d libssh_version...
d * const char *
*
d curl_formget_callback...
d s * based(######ptr######) procptr
*
d curl_malloc_callback...
d s * based(######ptr######) procptr
*
d curl_free_callback...
d s * based(######ptr######) procptr
*
d curl_realloc_callback...
d s * based(######ptr######) procptr
*
d curl_strdup_callback...
d s * based(######ptr######) procptr
*
d curl_calloc_callback...
d s * based(######ptr######) procptr
*
d curl_lock_function...
d s * based(######ptr######) procptr
*
d curl_unlock_function...
d s * based(######ptr######) procptr
*
d curl_progress_callback...
d s * based(######ptr######) procptr
*
d curl_read_callback...
d s * based(######ptr######) procptr
*
d curl_sockopt_callback...
d s * based(######ptr######) procptr
*
d curl_ioctl_callback...
d s * based(######ptr######) procptr
*
d curl_debug_callback...
d s * based(######ptr######) procptr
*
d curl_conv_callback...
d s * based(######ptr######) procptr
*
d curl_ssl_ctx_callback...
d s * based(######ptr######) procptr
*
d curl_socket_callback...
d s * based(######ptr######) procptr
*
**************************************************************************
* Prototypes
**************************************************************************
*
* This procedure as a variable parameter list.
* This prototype allows use of an option array, or a single "object"
* option. Other argument lists may be implemented by alias procedure
* prototype definitions.
*
d curl_formadd pr extproc('curl_formadd')
d like(CURLFORMcode)
d httppost * curl_httppost *
d lastpost * curl_httppost *
d option1 value like(CURLFORMoption) CURLFORM_ARRAY
d options(*nopass)
d object1 * value options(*string: *nopass)
d option2 value like(CURLFORMoption) CURLFORM_END
d options(*nopass)
*
*
d curl_strequal pr 10i 0 extproc('curl_strequal')
d s1 * value options(*string)
d s2 * value options(*string)
*
d curl_strnequal pr 10i 0 extproc('curl_strnequal')
d s1 * value options(*string)
d s2 * value options(*string)
d n 10i 0 value
*
d curl_formget pr 10i 0 extproc('curl_formget')
d form * value curl_httppost *
d arg * value
d append value like(curl_formget_callback)
*
d curl_formfree pr extproc('curl_formfree')
d form * value curl_httppost *
*
d curl_getenv pr * extproc('curl_getenv')
d variable * value options(*string)
*
d curl_version pr * extproc('curl_version')
*
d curl_easy_escape...
d pr * extproc('curl_easy_escape') char *
d handle * value CURL *
d string * value options(*string)
d length 10i 0 value
*
d curl_escape pr * extproc('curl_escape') char *
d string * value options(*string)
d length 10i 0 value
*
d curl_easy_unescape...
d pr * extproc('curl_easy_unescape') char *
d handle * value CURL *
d string * value options(*string)
d length 10i 0 value
d outlength 10i 0 options(*omit)
*
d curl_unescape pr * extproc('curl_unescape') char *
d string * value options(*string)
d length 10i 0 value
*
d curl_free pr extproc('curl_free')
d p * value
*
d curl_global_init...
d pr extproc('curl_global_init')
d like(CURLcode)
d flags 10i 0 value
*
d curl_global_init_mem...
d pr extproc('curl_global_init_mem')
d like(CURLcode)
d m value like(curl_malloc_callback)
d f value like(curl_free_callback)
d r value like(curl_realloc_callback)
d s value like(curl_strdup_callback)
d c value like(curl_calloc_callback)
*
d curl_global_cleanup...
d pr extproc('curl_global_cleanup')
*
d curl_slist_append...
d pr * extproc('curl_slist_append') struct curl_slist *
d list * value struct curl_slist *
d data * value options(*string) const char *
*
d curl_slist_free_all...
d pr extproc('curl_slist_free_all')
d list * value struct curl_slist *
*
d curl_getdate pr 10i 0 extproc('curl_getdate') time_t
d p * value options(*string) const char *
d unused 10i 0 const options(*omit) time_t
*
d curl_share_init...
d pr * extproc('curl_share_init') CURLSH * (= void *)
*
* Variable argument type procedure.
* Multiply prototyped to support all possible types.
*
d curl_share_setopt_int...
d pr extproc('curl_share_setopt')
d like(CURLSHcode)
d share * value CURLSH * (= void *)
d option value like(CURLSHoption)
d intarg 10i 0 value options(*nopass)
*
d curl_share_setopt_ptr...
d pr extproc('curl_share_setopt')
d like(CURLSHcode)
d share * value CURLSH * (= void *)
d option value like(CURLSHoption)
d ptrarg * value options(*nopass)
*
d curl_share_setopt_proc...
d pr extproc('curl_share_setopt')
d like(CURLSHcode)
d share * value CURLSH * (= void *)
d option value like(CURLSHoption)
d procarg * value procptr options(*nopass)
*
d curl_share_cleanup...
d pr extproc('curl_share_cleanup')
d like(CURLSHcode)
d share * value CURLSH * (= void *)
*
d curl_version_info...
d pr * extproc('curl_version_info') c_i_version_data *
d version value like(CURLversion)
*
d curl_easy_strerror...
d pr * extproc('curl_easy_strerror') const char *
d code value like(CURLcode)
*
d curl_share_strerror...
d pr * extproc('curl_share_strerror') const char *
d code value like(CURLSHcode)
*
d curl_easy_init pr * extproc('curl_easy_init') CURL *
*
* Multiple prototypes for vararg procedure curl_easy_setopt.
*
d curl_easy_setopt_long...
d pr extproc('curl_easy_setopt')
d like(CURLcode)
d curl * value CURL *
d option value like(CURLoption)
d longarg 10i 0 value options(*nopass)
*
d curl_easy_setopt_object...
d pr extproc('curl_easy_setopt')
d like(CURLcode)
d curl * value CURL *
d option value like(CURLoption)
d objectarg * value options(*string: *nopass)
*
d curl_easy_setopt_function...
d pr extproc('curl_easy_setopt')
d like(CURLcode)
d curl * value CURL *
d option value like(CURLoption)
d functionarg * value procptr options(*nopass)
*
d curl_easy_setopt_offset...
d pr extproc('curl_easy_setopt')
d like(CURLcode)
d curl * value CURL *
d option value like(CURLoption)
d offsetarg value like(curl_off_t)
d options(*nopass)
*
*
d curl_easy_perform...
d pr extproc('curl_easy_perform')
d like(CURLcode)
d curl * value CURL *
*
d curl_easy_cleanup...
d pr extproc('curl_easy_cleanup')
d curl * value CURL *
*
* Multiple prototypes for vararg procedure curl_easy_getinfo.
*
d curl_easy_getinfo_string...
d pr extproc('curl_easy_getinfo')
d like(CURLcode)
d curl * value CURL *
d info value like(CURLINFO)
d stringarg * options(*nopass) char *
*
d curl_easy_getinfo_long...
d pr extproc('curl_easy_getinfo')
d like(CURLcode)
d curl * value CURL *
d info value like(CURLINFO)
d longarg 10i 0 options(*nopass)
*
d curl_easy_getinfo_double...
d pr extproc('curl_easy_getinfo')
d like(CURLcode)
d curl * value CURL *
d info value like(CURLINFO)
d doublearg 8f options(*nopass)
*
d curl_easy_getinfo_slist...
d pr extproc('curl_easy_getinfo')
d like(CURLcode)
d curl * value CURL *
d info value like(CURLINFO)
d slistarg * options(*nopass) struct curl_slist *
*
*
d curl_easy_duphandle...
d pr * extproc('curl_easy_duphandle') CURL *
d curl * value CURL *
*
d curl_easy_reset...
d pr extproc('curl_easy_reset')
d curl * value CURL *
*
d curl_multi_init...
d pr * extproc('curl_multi_init') CURLM *
*
d curl_multi_add_handle...
d pr extproc('curl_multi_add_handle')
d like(CURLMcode)
d multi_handle * value CURLM *
d curl_handle * value CURL *
*
d curl_multi_remove_handle...
d pr extproc('curl_multi_remove_handle')
d like(CURLMcode)
d multi_handle * value CURLM *
d curl_handle * value CURL *
*
d curl_multi_fdset...
d pr extproc('curl_multi_fdset')
d like(CURLMcode)
d multi_handle * value CURLM *
d read_fd_set 65535 options(*varsize) fd_set
d write_fd_set 65535 options(*varsize) fd_set
d exc_fd_set 65535 options(*varsize) fd_set
d max_fd 10i 0
*
d curl_multi_perform...
d pr extproc('curl_multi_perform')
d like(CURLMcode)
d multi_handle * value CURLM *
d running_handles...
d 10i 0
*
d curl_multi_cleanup...
d pr extproc('curl_multi_cleanup')
d like(CURLMcode)
d multi_handle * value CURLM *
*
d curl_multi_info_read...
d pr * extproc('curl_multi_info_read') CURL_Msg *
d multi_handle * value CURLM *
d msgs_in_queue 10i 0
*
d curl_multi_strerror...
d pr * extproc('curl_multi_strerror') char *
d code value like(CURLMcode)
*
d curl_multi_socket...
d pr extproc('curl_multi_socket')
d like(CURLMcode)
d multi_handle * value CURLM *
d s value like(curl_socket_t)
d running_handles...
d 10i 0
*
d curl_multi_socket_action...
d pr extproc('curl_multi_socket_action')
d like(CURLMcode)
d multi_handle * value CURLM *
d s value like(curl_socket_t)
d ev_bitmask 10i 0 value
d running_handles...
d 10i 0
*
d curl_multi_socket_all...
d pr extproc('curl_multi_socket_all')
d like(CURLMcode)
d multi_handle * value CURLM *
d running_handles...
d 10i 0
*
d curl_multi_timeout...
d pr extproc('curl_multi_timeout')
d like(CURLMcode)
d multi_handle * value CURLM *
d milliseconds 10i 0
*
* Multiple prototypes for vararg procedure curl_multi_setopt.
*
d curl_multi_setopt_long...
d pr extproc('curl_multi_setopt')
d like(CURLMcode)
d multi_handle * value CURLM *
d option value like(CURLMoption)
d longarg 10i 0 value options(*nopass)
*
d curl_multi_setopt_object...
d pr extproc('curl_multi_setopt')
d like(CURLMcode)
d multi_handle * value CURLM *
d option value like(CURLMoption)
d objectarg * value options(*string: *nopass)
*
d curl_multi_setopt_function...
d pr extproc('curl_multi_setopt')
d like(CURLMcode)
d multi_handle * value CURLM *
d option value like(CURLMoption)
d functionarg * value procptr options(*nopass)
*
d curl_multi_setopt_offset...
d pr extproc('curl_multi_setopt')
d like(CURLMcode)
d multi_handle * value CURLM *
d option value like(CURLMoption)
d offsetarg value like(curl_off_t)
d options(*nopass)
*
*
d curl_multi_assign...
d pr extproc('curl_multi_assign')
d like(CURLMcode)
d multi_handle * value CURLM *
d sockfd value like(curl_socket_t)
d sockp * value void *
*
**************************************************************************
* CCSID wrapper procedure prototypes
**************************************************************************
*
d curl_version_ccsid...
d pr * extproc('curl_version_ccsid')
d ccsid 10u 0 value
*
d curl_easy_escape_ccsid...
d pr * extproc('curl_easy_escape_ccsid') char *
d handle * value CURL *
d string * value options(*string)
d length 10i 0 value
d ccsid 10u 0 value
*
d curl_easy_unescape_ccsid...
d pr * extproc('curl_easy_unescape_ccsid') char *
d handle * value CURL *
d string * value options(*string)
d length 10i 0 value
d outlength 10i 0 options(*omit)
d ccsid 10u 0 value
*
d curl_slist_append_ccsid...
d pr * extproc('curl_slist_append_ccsid') struct curl_slist *
d list * value struct curl_slist *
d data * value options(*string) const char *
d ccsid 10u 0 value
*
d curl_getdate_ccsid...
d pr 10i 0 extproc('curl_getdate_ccsid') time_t
d p * value options(*string) const char *
d unused 10i 0 const options(*omit) time_t
d ccsid 10u 0 value
*
d curl_version_info_ccsid...
d pr * extproc('curl_version_info_ccsid') c_i_version_data *
d version value like(CURLversion)
d ccsid 10u 0 value
*
d curl_easy_strerror_ccsid...
d pr * extproc('curl_easy_strerror_ccsid') const char *
d code value like(CURLcode)
d ccsid 10u 0 value
*
d curl_share_strerror_ccsid...
d pr * extproc('curl_share_strerror_ccsid') const char *
d code value like(CURLSHcode)
d ccsid 10u 0 value
*
d curl_multi_strerror_ccsid...
d pr * extproc('curl_multi_strerror_ccsid') char *
d code value like(CURLMcode)
d ccsid 10u 0 value
*
d curl_easy_getinfo_ccsid...
d pr extproc('curl_easy_getinfo_ccsid')
d like(CURLcode)
d curl * value CURL *
d info value like(CURLINFO)
d stringarg * options(*nopass) char *
d ccsid 10u 0 value options(*nopass)
*
d curl_formadd_ccsid...
d pr extproc('curl_formadd_ccsid')
d like(CURLFORMcode)
d httppost * curl_httppost *
d lastpost * curl_httppost *
d option1 value like(CURLFORMoption) CURLFORM_ARRAY
d options(*nopass)
d object1 * value options(*string: *nopass)
d option2 value like(CURLFORMoption) CURLFORM_END
d options(*nopass)
*
d curl_formget_ccsid...
d pr 10i 0 extproc('curl_formget_ccsid')
d form * value curl_httppost *
d arg * value
d append value like(curl_formget_callback)
d ccsid 10u 0 value
*
d curl_form_long_value...
d pr * extproc('curl_form_long_value')
d value 10i 0 value curl_httppost *
*
d curl_easy_setopt_ccsid...
d pr extproc('curl_easy_setopt_ccsid')
d like(CURLcode)
d curl * value CURL *
d option value like(CURLoption)
d objectarg * value options(*string: *nopass)
d ccsid 10u 0 value options(*nopass)
*
/endif