sig
  type t
  type curlCode =
      CURLE_OK
    | CURLE_UNSUPPORTED_PROTOCOL
    | CURLE_FAILED_INIT
    | CURLE_URL_MALFORMAT
    | CURLE_URL_MALFORMAT_USER
    | CURLE_COULDNT_RESOLVE_PROXY
    | CURLE_COULDNT_RESOLVE_HOST
    | CURLE_COULDNT_CONNECT
    | CURLE_FTP_WEIRD_SERVER_REPLY
    | CURLE_FTP_ACCESS_DENIED
    | CURLE_FTP_USER_PASSWORD_INCORRECT
    | CURLE_FTP_WEIRD_PASS_REPLY
    | CURLE_FTP_WEIRD_USER_REPLY
    | CURLE_FTP_WEIRD_PASV_REPLY
    | CURLE_FTP_WEIRD_227_FORMAT
    | CURLE_FTP_CANT_GET_HOST
    | CURLE_FTP_CANT_RECONNECT
    | CURLE_FTP_COULDNT_SET_BINARY
    | CURLE_PARTIAL_FILE
    | CURLE_FTP_COULDNT_RETR_FILE
    | CURLE_FTP_WRITE_ERROR
    | CURLE_FTP_QUOTE_ERROR
    | CURLE_HTTP_NOT_FOUND
    | CURLE_WRITE_ERROR
    | CURLE_MALFORMAT_USER
    | CURLE_FTP_COULDNT_STOR_FILE
    | CURLE_READ_ERROR
    | CURLE_OUT_OF_MEMORY
    | CURLE_OPERATION_TIMEOUTED
    | CURLE_FTP_COULDNT_SET_ASCII
    | CURLE_FTP_PORT_FAILED
    | CURLE_FTP_COULDNT_USE_REST
    | CURLE_FTP_COULDNT_GET_SIZE
    | CURLE_HTTP_RANGE_ERROR
    | CURLE_HTTP_POST_ERROR
    | CURLE_SSL_CONNECT_ERROR
    | CURLE_FTP_BAD_DOWNLOAD_RESUME
    | CURLE_FILE_COULDNT_READ_FILE
    | CURLE_LDAP_CANNOT_BIND
    | CURLE_LDAP_SEARCH_FAILED
    | CURLE_LIBRARY_NOT_FOUND
    | CURLE_FUNCTION_NOT_FOUND
    | CURLE_ABORTED_BY_CALLBACK
    | CURLE_BAD_FUNCTION_ARGUMENT
    | CURLE_BAD_CALLING_ORDER
    | CURLE_HTTP_PORT_FAILED
    | CURLE_BAD_PASSWORD_ENTERED
    | CURLE_TOO_MANY_REDIRECTS
    | CURLE_UNKNOWN_TELNET_OPTION
    | CURLE_TELNET_OPTION_SYNTAX
    | CURLE_OBSOLETE
    | CURLE_SSL_PEER_CERTIFICATE
    | CURLE_GOT_NOTHING
    | CURLE_SSL_ENGINE_NOTFOUND
    | CURLE_SSL_ENGINE_SETFAILED
    | CURLE_SEND_ERROR
    | CURLE_RECV_ERROR
    | CURLE_SHARE_IN_USE
    | CURLE_SSL_CERTPROBLEM
    | CURLE_SSL_CIPHER
    | CURLE_SSL_CACERT
    | CURLE_BAD_CONTENT_ENCODING
    | CURLE_LDAP_INVALID_URL
    | CURLE_FILESIZE_EXCEEDED
    | CURLE_FTP_SSL_FAILED
    | CURLE_USE_SSL_FAILED
    | CURLE_SEND_FAIL_REWIND
    | CURLE_SSL_ENGINE_INITFAILED
    | CURLE_LOGIN_DENIED
    | CURLE_TFTP_NOTFOUND
    | CURLE_TFTP_PERM
    | CURLE_REMOTE_DISK_FULL
    | CURLE_TFTP_ILLEGAL
    | CURLE_TFTP_UNKNOWNID
    | CURLE_REMOTE_FILE_EXISTS
    | CURLE_TFTP_NOSUCHUSER
    | CURLE_CONV_FAILED
    | CURLE_CONV_REQD
    | CURLE_SSL_CACERT_BADFILE
    | CURLE_REMOTE_FILE_NOT_FOUND
    | CURLE_SSH
    | CURLE_SSL_SHUTDOWN_FAILED
    | CURLE_AGAIN
  exception CurlException of (Curl.curlCode * int * string)
  type curlNETRCOption =
      CURL_NETRC_OPTIONAL
    | CURL_NETRC_IGNORED
    | CURL_NETRC_REQUIRED
  type curlEncoding = CURL_ENCODING_NONE | CURL_ENCODING_DEFLATE
  type curlContentType = DEFAULT | CONTENTTYPE of string
  type curlHTTPPost =
      CURLFORM_CONTENT of string * string * Curl.curlContentType
    | CURLFORM_FILECONTENT of string * string * Curl.curlContentType
    | CURLFORM_FILE of string * string * Curl.curlContentType
    | CURLFORM_BUFFER of string * string * string * Curl.curlContentType
  type curlTimeCondition = TIMECOND_IFMODSINCE | TIMECOND_IFUNMODSINCE
  type curlKRB4Level =
      KRB4_NONE
    | KRB4_CLEAR
    | KRB4_SAFE
    | KRB4_CONFIDENTIAL
    | KRB4_PRIVATE
  type curlClosePolicy = CLOSEPOLICY_OLDEST | CLOSEPOLICY_LEAST_RECENTLY_USED
  type curlSSLVerifyHost = SSLVERIFYHOST_EXISTENCE | SSLVERIFYHOST_HOSTNAME
  type curlHTTPVersion =
      HTTP_VERSION_NONE
    | HTTP_VERSION_1_0
    | HTTP_VERSION_1_1
  type curlDebugType =
      DEBUGTYPE_TEXT
    | DEBUGTYPE_HEADER_IN
    | DEBUGTYPE_HEADER_OUT
    | DEBUGTYPE_DATA_IN
    | DEBUGTYPE_DATA_OUT
    | DEBUGTYPE_END
  type curlAuth =
      CURLAUTH_BASIC
    | CURLAUTH_DIGEST
    | CURLAUTH_GSSNEGOTIATE
    | CURLAUTH_NTLM
    | CURLAUTH_ANY
    | CURLAUTH_ANYSAFE
  type curlIPResolve = IPRESOLVE_WHATEVER | IPRESOLVE_V4 | IPRESOLVE_V6
  type curlFTPSSL = FTPSSL_NONE | FTPSSL_TRY | FTPSSL_CONTROL | FTPSSL_ALL
  type curlFTPSSLAuth = FTPAUTH_DEFAULT | FTPAUTH_SSL | FTPAUTH_TLS
  type curlIOCmd = IOCMD_NOP | IOCMD_RESTARTREAD
  type curlIOErr = IOE_OK | IOE_UNKNOWNCMD | IOE_FAILRESTART
  type curlFTPMethod =
      FTPMETHOD_DEFAULT
    | FTPMETHOD_MULTICWD
    | FTPMETHOD_NOCWD
    | FTPMETHOD_SINGLECWD
  type curlSSHAuthTypes =
      SSHAUTH_ANY
    | SSHAUTH_PUBLICKEY
    | SSHAUTH_PASSWORD
    | SSHAUTH_HOST
    | SSHAUTH_KEYBOARD
  type curlFTPSSLCCC =
      FTPSSL_CCC_NONE
    | FTPSSL_CCC_PASSIVE
    | FTPSSL_CCC_ACTIVE
  type curlSeek = SEEK_SET | SEEK_CUR | SEEK_END
  type curlOption =
      CURLOPT_WRITEFUNCTION of (string -> int)
    | CURLOPT_READFUNCTION of (int -> string)
    | CURLOPT_INFILESIZE of int
    | CURLOPT_URL of string
    | CURLOPT_PROXY of string
    | CURLOPT_PROXYPORT of int
    | CURLOPT_HTTPPROXYTUNNEL of bool
    | CURLOPT_VERBOSE of bool
    | CURLOPT_HEADER of bool
    | CURLOPT_NOPROGRESS of bool
    | CURLOPT_NOSIGNAL of bool
    | CURLOPT_NOBODY of bool
    | CURLOPT_FAILONERROR of bool
    | CURLOPT_UPLOAD of bool
    | CURLOPT_POST of bool
    | CURLOPT_FTPLISTONLY of bool
    | CURLOPT_FTPAPPEND of bool
    | CURLOPT_NETRC of Curl.curlNETRCOption
    | CURLOPT_ENCODING of Curl.curlEncoding
    | CURLOPT_FOLLOWLOCATION of bool
    | CURLOPT_TRANSFERTEXT of bool
    | CURLOPT_PUT of bool
    | CURLOPT_USERPWD of string
    | CURLOPT_PROXYUSERPWD of string
    | CURLOPT_RANGE of string
    | CURLOPT_ERRORBUFFER of string Pervasives.ref
    | CURLOPT_TIMEOUT of int
    | CURLOPT_POSTFIELDS of string
    | CURLOPT_POSTFIELDSIZE of int
    | CURLOPT_REFERER of string
    | CURLOPT_USERAGENT of string
    | CURLOPT_FTPPORT of string
    | CURLOPT_LOWSPEEDLIMIT of int
    | CURLOPT_LOWSPEEDTIME of int
    | CURLOPT_RESUMEFROM of int
    | CURLOPT_COOKIE of string
    | CURLOPT_HTTPHEADER of string list
    | CURLOPT_HTTPPOST of Curl.curlHTTPPost list
    | CURLOPT_SSLCERT of string
    | CURLOPT_SSLCERTTYPE of string
    | CURLOPT_SSLCERTPASSWD of string
    | CURLOPT_SSLKEY of string
    | CURLOPT_SSLKEYTYPE of string
    | CURLOPT_SSLKEYPASSWD of string
    | CURLOPT_SSLENGINE of string
    | CURLOPT_SSLENGINEDEFAULT of bool
    | CURLOPT_CRLF of bool
    | CURLOPT_QUOTE of string list
    | CURLOPT_POSTQUOTE of string list
    | CURLOPT_HEADERFUNCTION of (string -> int)
    | CURLOPT_COOKIEFILE of string
    | CURLOPT_SSLVERSION of int
    | CURLOPT_TIMECONDITION of Curl.curlTimeCondition
    | CURLOPT_TIMEVALUE of int32
    | CURLOPT_CUSTOMREQUEST of string
    | CURLOPT_STDERR
    | CURLOPT_INTERFACE of string
    | CURLOPT_KRB4LEVEL of Curl.curlKRB4Level
    | CURLOPT_PROGRESSFUNCTION of (float -> float -> float -> float -> bool)
    | CURLOPT_SSLVERIFYPEER of bool
    | CURLOPT_CAINFO of string
    | CURLOPT_CAPATH of string
    | CURLOPT_FILETIME of bool
    | CURLOPT_MAXREDIRS of int
    | CURLOPT_MAXCONNECTS of int
    | CURLOPT_CLOSEPOLICY of Curl.curlClosePolicy
    | CURLOPT_FRESHCONNECT of bool
    | CURLOPT_FORBIDREUSE of bool
    | CURLOPT_RANDOMFILE of string
    | CURLOPT_EGDSOCKET of string
    | CURLOPT_CONNECTTIMEOUT of int
    | CURLOPT_HTTPGET of bool
    | CURLOPT_SSLVERIFYHOST of Curl.curlSSLVerifyHost
    | CURLOPT_COOKIEJAR of string
    | CURLOPT_SSLCIPHERLIST of string
    | CURLOPT_HTTPVERSION of Curl.curlHTTPVersion
    | CURLOPT_FTPUSEEPSV of bool
    | CURLOPT_DNSCACHETIMEOUT of int
    | CURLOPT_DNSUSEGLOBALCACHE of bool
    | CURLOPT_DEBUGFUNCTION of
        (Curl.t -> Curl.curlDebugType -> string -> unit)
    | CURLOPT_PRIVATE of string
    | CURLOPT_HTTP200ALIASES of string list
    | CURLOPT_UNRESTRICTEDAUTH of bool
    | CURLOPT_FTPUSEEPRT of bool
    | CURLOPT_HTTPAUTH of Curl.curlAuth list
    | CURLOPT_FTPCREATEMISSINGDIRS of bool
    | CURLOPT_PROXYAUTH of Curl.curlAuth list
    | CURLOPT_FTPRESPONSETIMEOUT of int
    | CURLOPT_IPRESOLVE of Curl.curlIPResolve
    | CURLOPT_MAXFILESIZE of int32
    | CURLOPT_INFILESIZELARGE of int64
    | CURLOPT_RESUMEFROMLARGE of int64
    | CURLOPT_MAXFILESIZELARGE of int64
    | CURLOPT_NETRCFILE of string
    | CURLOPT_FTPSSL of Curl.curlFTPSSL
    | CURLOPT_POSTFIELDSIZELARGE of int64
    | CURLOPT_TCPNODELAY of bool
    | CURLOPT_FTPSSLAUTH of Curl.curlFTPSSLAuth
    | CURLOPT_IOCTLFUNCTION of (Curl.t -> Curl.curlIOCmd -> Curl.curlIOErr)
    | CURLOPT_FTPACCOUNT of string
    | CURLOPT_COOKIELIST of string
    | CURLOPT_IGNORECONTENTLENGTH of bool
    | CURLOPT_FTPSKIPPASVIP of bool
    | CURLOPT_FTPFILEMETHOD of Curl.curlFTPMethod
    | CURLOPT_LOCALPORT of int
    | CURLOPT_LOCALPORTRANGE of int
    | CURLOPT_CONNECTONLY of bool
    | CURLOPT_MAXSENDSPEEDLARGE of int64
    | CURLOPT_MAXRECVSPEEDLARGE of int64
    | CURLOPT_FTPALTERNATIVETOUSER of string
    | CURLOPT_SSLSESSIONIDCACHE of bool
    | CURLOPT_SSHAUTHTYPES of Curl.curlSSHAuthTypes list
    | CURLOPT_SSHPUBLICKEYFILE of string
    | CURLOPT_SSHPRIVATEKEYFILE of string
    | CURLOPT_FTPSSLCCC of Curl.curlFTPSSLCCC
    | CURLOPT_TIMEOUTMS of int
    | CURLOPT_CONNECTTIMEOUTMS of int
    | CURLOPT_HTTPTRANSFERDECODING of bool
    | CURLOPT_HTTPCONTENTDECODING of bool
    | CURLOPT_NEWFILEPERMS of int
    | CURLOPT_NEWDIRECTORYPERMS of int
    | CURLOPT_POST301 of bool
    | CURLOPT_SSHHOSTPUBLICKEYMD5 of string
    | CURLOPT_COPYPOSTFIELDS of string
    | CURLOPT_PROXYTRANSFERMODE of bool
    | CURLOPT_SEEKFUNCTION of (int64 -> Curl.curlSeek -> int)
  type initOption =
      CURLINIT_GLOBALALL
    | CURLINIT_GLOBALSSL
    | CURLINIT_GLOBALWIN32
    | CURLINIT_GLOBALNOTHING
  type curlInfo =
      CURLINFO_EFFECTIVE_URL
    | CURLINFO_HTTP_CODE
    | CURLINFO_RESPONSE_CODE
    | CURLINFO_TOTAL_TIME
    | CURLINFO_NAMELOOKUP_TIME
    | CURLINFO_CONNECT_TIME
    | CURLINFO_PRETRANSFER_TIME
    | CURLINFO_SIZE_UPLOAD
    | CURLINFO_SIZE_DOWNLOAD
    | CURLINFO_SPEED_DOWNLOAD
    | CURLINFO_SPEED_UPLOAD
    | CURLINFO_HEADER_SIZE
    | CURLINFO_REQUEST_SIZE
    | CURLINFO_SSL_VERIFYRESULT
    | CURLINFO_FILETIME
    | CURLINFO_CONTENT_LENGTH_DOWNLOAD
    | CURLINFO_CONTENT_LENGTH_UPLOAD
    | CURLINFO_STARTTRANSFER_TIME
    | CURLINFO_CONTENT_TYPE
    | CURLINFO_REDIRECT_TIME
    | CURLINFO_REDIRECT_COUNT
    | CURLINFO_PRIVATE
    | CURLINFO_HTTP_CONNECTCODE
    | CURLINFO_HTTPAUTH_AVAIL
    | CURLINFO_PROXYAUTH_AVAIL
    | CURLINFO_OS_ERRNO
    | CURLINFO_NUM_CONNECTS
    | CURLINFO_SSL_ENGINES
    | CURLINFO_COOKIELIST
    | CURLINFO_LASTSOCKET
    | CURLINFO_FTP_ENTRY_PATH
  type curlInfoResult =
      CURLINFO_String of string
    | CURLINFO_Long of int
    | CURLINFO_Double of float
    | CURLINFO_StringList of string list
  val global_init : Curl.initOption -> unit
  val global_cleanup : unit -> unit
  val init : unit -> Curl.t
  val duphandle : Curl.t -> Curl.t
  val setopt : Curl.t -> Curl.curlOption -> unit
  val perform : Curl.t -> unit
  val cleanup : Curl.t -> unit
  val getinfo : Curl.t -> Curl.curlInfo -> Curl.curlInfoResult
  val escape : string -> string
  val unescape : string -> string
  val getdate : string -> float -> float
  val version : unit -> string
  val set_writefunction : Curl.t -> (string -> int) -> unit
  val set_readfunction : Curl.t -> (int -> string) -> unit
  val set_infilesize : Curl.t -> int -> unit
  val set_url : Curl.t -> string -> unit
  val set_proxy : Curl.t -> string -> unit
  val set_proxyport : Curl.t -> int -> unit
  val set_httpproxytunnel : Curl.t -> bool -> unit
  val set_verbose : Curl.t -> bool -> unit
  val set_header : Curl.t -> bool -> unit
  val set_noprogress : Curl.t -> bool -> unit
  val set_nosignal : Curl.t -> bool -> unit
  val set_nobody : Curl.t -> bool -> unit
  val set_failonerror : Curl.t -> bool -> unit
  val set_upload : Curl.t -> bool -> unit
  val set_post : Curl.t -> bool -> unit
  val set_ftplistonly : Curl.t -> bool -> unit
  val set_ftpappend : Curl.t -> bool -> unit
  val set_netrc : Curl.t -> Curl.curlNETRCOption -> unit
  val set_encoding : Curl.t -> Curl.curlEncoding -> unit
  val set_followlocation : Curl.t -> bool -> unit
  val set_transfertext : Curl.t -> bool -> unit
  val set_put : Curl.t -> bool -> unit
  val set_userpwd : Curl.t -> string -> unit
  val set_proxyuserpwd : Curl.t -> string -> unit
  val set_range : Curl.t -> string -> unit
  val set_errorbuffer : Curl.t -> string Pervasives.ref -> unit
  val set_timeout : Curl.t -> int -> unit
  val set_postfields : Curl.t -> string -> unit
  val set_postfieldsize : Curl.t -> int -> unit
  val set_referer : Curl.t -> string -> unit
  val set_useragent : Curl.t -> string -> unit
  val set_ftpport : Curl.t -> string -> unit
  val set_lowspeedlimit : Curl.t -> int -> unit
  val set_lowspeedtime : Curl.t -> int -> unit
  val set_resumefrom : Curl.t -> int -> unit
  val set_cookie : Curl.t -> string -> unit
  val set_httpheader : Curl.t -> string list -> unit
  val set_httppost : Curl.t -> Curl.curlHTTPPost list -> unit
  val set_sslcert : Curl.t -> string -> unit
  val set_sslcerttype : Curl.t -> string -> unit
  val set_sslcertpasswd : Curl.t -> string -> unit
  val set_sslkey : Curl.t -> string -> unit
  val set_sslkeytype : Curl.t -> string -> unit
  val set_sslkeypasswd : Curl.t -> string -> unit
  val set_sslengine : Curl.t -> string -> unit
  val set_sslenginedefault : Curl.t -> bool -> unit
  val set_crlf : Curl.t -> bool -> unit
  val set_quote : Curl.t -> string list -> unit
  val set_postquote : Curl.t -> string list -> unit
  val set_headerfunction : Curl.t -> (string -> int) -> unit
  val set_cookiefile : Curl.t -> string -> unit
  val set_sslversion : Curl.t -> int -> unit
  val set_timecondition : Curl.t -> Curl.curlTimeCondition -> unit
  val set_timevalue : Curl.t -> int32 -> unit
  val set_customrequest : Curl.t -> string -> unit
  val set_interface : Curl.t -> string -> unit
  val set_krb4level : Curl.t -> Curl.curlKRB4Level -> unit
  val set_progressfunction :
    Curl.t -> (float -> float -> float -> float -> bool) -> unit
  val set_sslverifypeer : Curl.t -> bool -> unit
  val set_cainfo : Curl.t -> string -> unit
  val set_capath : Curl.t -> string -> unit
  val set_filetime : Curl.t -> bool -> unit
  val set_maxredirs : Curl.t -> int -> unit
  val set_maxconnects : Curl.t -> int -> unit
  val set_closepolicy : Curl.t -> Curl.curlClosePolicy -> unit
  val set_freshconnect : Curl.t -> bool -> unit
  val set_forbidreuse : Curl.t -> bool -> unit
  val set_randomfile : Curl.t -> string -> unit
  val set_egdsocket : Curl.t -> string -> unit
  val set_connecttimeout : Curl.t -> int -> unit
  val set_httpget : Curl.t -> bool -> unit
  val set_sslverifyhost : Curl.t -> Curl.curlSSLVerifyHost -> unit
  val set_cookiejar : Curl.t -> string -> unit
  val set_sslcipherlist : Curl.t -> string -> unit
  val set_httpversion : Curl.t -> Curl.curlHTTPVersion -> unit
  val set_ftpuseepsv : Curl.t -> bool -> unit
  val set_dnscachetimeout : Curl.t -> int -> unit
  val set_dnsuseglobalcache : Curl.t -> bool -> unit
  val set_debugfunction :
    Curl.t -> (Curl.t -> Curl.curlDebugType -> string -> unit) -> unit
  val set_private : Curl.t -> string -> unit
  val set_http200aliases : Curl.t -> string list -> unit
  val set_unrestrictedauth : Curl.t -> bool -> unit
  val set_ftpuseeprt : Curl.t -> bool -> unit
  val set_httpauth : Curl.t -> Curl.curlAuth list -> unit
  val set_ftpcreatemissingdirs : Curl.t -> bool -> unit
  val set_proxyauth : Curl.t -> Curl.curlAuth list -> unit
  val set_ftpresponsetimeout : Curl.t -> int -> unit
  val set_ipresolve : Curl.t -> Curl.curlIPResolve -> unit
  val set_maxfilesize : Curl.t -> int32 -> unit
  val set_infilesizelarge : Curl.t -> int64 -> unit
  val set_resumefromlarge : Curl.t -> int64 -> unit
  val set_maxfilesizelarge : Curl.t -> int64 -> unit
  val set_netrcfile : Curl.t -> string -> unit
  val set_ftpssl : Curl.t -> Curl.curlFTPSSL -> unit
  val set_postfieldsizelarge : Curl.t -> int64 -> unit
  val set_tcpnodelay : Curl.t -> bool -> unit
  val set_ftpsslauth : Curl.t -> Curl.curlFTPSSLAuth -> unit
  val set_ioctlfunction :
    Curl.t -> (Curl.t -> Curl.curlIOCmd -> Curl.curlIOErr) -> unit
  val set_ftpaccount : Curl.t -> string -> unit
  val set_cookielist : Curl.t -> string -> unit
  val set_ignorecontentlength : Curl.t -> bool -> unit
  val set_ftpskippasvip : Curl.t -> bool -> unit
  val set_ftpfilemethod : Curl.t -> Curl.curlFTPMethod -> unit
  val set_localport : Curl.t -> int -> unit
  val set_localportrange : Curl.t -> int -> unit
  val set_connectonly : Curl.t -> bool -> unit
  val set_maxsendspeedlarge : Curl.t -> int64 -> unit
  val set_maxrecvspeedlarge : Curl.t -> int64 -> unit
  val set_ftpalternativetouser : Curl.t -> string -> unit
  val set_sslsessionidcache : Curl.t -> bool -> unit
  val set_sshauthtypes : Curl.t -> Curl.curlSSHAuthTypes list -> unit
  val set_sshpublickeyfile : Curl.t -> string -> unit
  val set_ftpsslccc : Curl.t -> Curl.curlFTPSSLCCC -> unit
  val set_timeoutms : Curl.t -> int -> unit
  val set_connecttimeoutms : Curl.t -> int -> unit
  val set_httptransferdecoding : Curl.t -> bool -> unit
  val set_httpcontentdecoding : Curl.t -> bool -> unit
  val set_newfileperms : Curl.t -> int -> unit
  val set_newdirectoryperms : Curl.t -> int -> unit
  val set_post301 : Curl.t -> bool -> unit
  val set_sshhostpublickeymd5 : Curl.t -> string -> unit
  val set_copypostfields : Curl.t -> string -> unit
  val set_proxytransfermode : Curl.t -> bool -> unit
  val set_seekfunction : Curl.t -> (int64 -> Curl.curlSeek -> int) -> unit
  val get_effectiveurl : Curl.t -> string
  val get_httpcode : Curl.t -> int
  val get_responsecode : Curl.t -> int
  val get_totaltime : Curl.t -> float
  val get_namelookuptime : Curl.t -> float
  val get_connecttime : Curl.t -> float
  val get_pretransfertime : Curl.t -> float
  val get_sizeupload : Curl.t -> float
  val get_sizedownload : Curl.t -> float
  val get_speeddownload : Curl.t -> float
  val get_speedupload : Curl.t -> float
  val get_headersize : Curl.t -> int
  val get_requestsize : Curl.t -> int
  val get_sslverifyresult : Curl.t -> int
  val get_filetime : Curl.t -> float
  val get_contentlengthdownload : Curl.t -> float
  val get_contentlengthupload : Curl.t -> float
  val get_starttransfertime : Curl.t -> float
  val get_contenttype : Curl.t -> string
  val get_redirecttime : Curl.t -> float
  val get_redirectcount : Curl.t -> int
  val get_private : Curl.t -> string
  val get_httpconnectcode : Curl.t -> int
  val get_httpauthavail : Curl.t -> Curl.curlAuth list
  val get_proxyauthavail : Curl.t -> Curl.curlAuth list
  val get_oserrno : Curl.t -> int
  val get_numconnects : Curl.t -> int
  val get_sslengines : Curl.t -> string list
  val get_cookielist : Curl.t -> string list
  val get_lastsocket : Curl.t -> int
  val get_ftpentrypath : Curl.t -> string
  class handle :
    object ('a)
      val conn : Curl.t
      method cleanup : unit
      method duphandle : 'a
      method get_connecttime : float
      method get_contentlengthdownload : float
      method get_contentlengthupload : float
      method get_contenttype : string
      method get_cookielist : string list
      method get_effectiveurl : string
      method get_filetime : float
      method get_ftpentrypath : string
      method get_headersize : int
      method get_httpauthavail : Curl.curlAuth list
      method get_httpcode : int
      method get_httpconnectcode : int
      method get_lastsocket : int
      method get_namelookuptime : float
      method get_numconnects : int
      method get_oserrno : int
      method get_pretransfertime : float
      method get_private : string
      method get_proxyauthavail : Curl.curlAuth list
      method get_redirectcount : int
      method get_redirecttime : float
      method get_requestsize : int
      method get_responsecode : int
      method get_sizedownload : float
      method get_sizeupload : float
      method get_speeddownload : float
      method get_speedupload : float
      method get_sslengines : string list
      method get_sslverifyresult : int
      method get_starttransfertime : float
      method get_totaltime : float
      method perform : unit
      method set_cainfo : string -> unit
      method set_capath : string -> unit
      method set_closepolicy : Curl.curlClosePolicy -> unit
      method set_connectonly : bool -> unit
      method set_connecttimeout : int -> unit
      method set_connecttimeoutms : int -> unit
      method set_cookie : string -> unit
      method set_cookiefile : string -> unit
      method set_cookiejar : string -> unit
      method set_cookielist : string -> unit
      method set_copypostfields : string -> unit
      method set_crlf : bool -> unit
      method set_customrequest : string -> unit
      method set_debugfunction :
        (Curl.t -> Curl.curlDebugType -> string -> unit) -> unit
      method set_dnscachetimeout : int -> unit
      method set_dnsuseglobalcache : bool -> unit
      method set_egdsocket : string -> unit
      method set_encoding : Curl.curlEncoding -> unit
      method set_errorbuffer : string Pervasives.ref -> unit
      method set_failonerror : bool -> unit
      method set_filetime : bool -> unit
      method set_followlocation : bool -> unit
      method set_forbidreuse : bool -> unit
      method set_freshconnect : bool -> unit
      method set_ftpaccount : string -> unit
      method set_ftpalternativetouser : string -> unit
      method set_ftpappend : bool -> unit
      method set_ftpcreatemissingdirs : bool -> unit
      method set_ftpfilemethod : Curl.curlFTPMethod -> unit
      method set_ftplistonly : bool -> unit
      method set_ftpport : string -> unit
      method set_ftpresponsetimeout : int -> unit
      method set_ftpskippasvip : bool -> unit
      method set_ftpssl : Curl.curlFTPSSL -> unit
      method set_ftpsslauth : Curl.curlFTPSSLAuth -> unit
      method set_ftpsslccc : Curl.curlFTPSSLCCC -> unit
      method set_ftpuseeprt : bool -> unit
      method set_ftpuseepsv : bool -> unit
      method set_header : bool -> unit
      method set_headerfunction : (string -> int) -> unit
      method set_http200aliases : string list -> unit
      method set_httpauth : Curl.curlAuth list -> unit
      method set_httpcontentdecoding : bool -> unit
      method set_httpget : bool -> unit
      method set_httpheader : string list -> unit
      method set_httppost : Curl.curlHTTPPost list -> unit
      method set_httpproxytunnel : bool -> unit
      method set_httptransferdecoding : bool -> unit
      method set_httpversion : Curl.curlHTTPVersion -> unit
      method set_ignorecontentlength : bool -> unit
      method set_infilesize : int -> unit
      method set_infilesizelarge : int64 -> unit
      method set_interface : string -> unit
      method set_ioctlfunction :
        (Curl.t -> Curl.curlIOCmd -> Curl.curlIOErr) -> unit
      method set_ipresolve : Curl.curlIPResolve -> unit
      method set_krb4level : Curl.curlKRB4Level -> unit
      method set_localport : int -> unit
      method set_localportrange : int -> unit
      method set_lowspeedlimit : int -> unit
      method set_lowspeedtime : int -> unit
      method set_maxconnects : int -> unit
      method set_maxfilesize : int32 -> unit
      method set_maxfilesizelarge : int64 -> unit
      method set_maxrecvspeedlarge : int64 -> unit
      method set_maxredirs : int -> unit
      method set_maxsendspeedlarge : int64 -> unit
      method set_netrc : Curl.curlNETRCOption -> unit
      method set_netrcfile : string -> unit
      method set_newdirectoryperms : int -> unit
      method set_newfileperms : int -> unit
      method set_nobody : bool -> unit
      method set_noprogress : bool -> unit
      method set_nosignal : bool -> unit
      method set_post : bool -> unit
      method set_post301 : bool -> unit
      method set_postfields : string -> unit
      method set_postfieldsize : int -> unit
      method set_postfieldsizelarge : int64 -> unit
      method set_postquote : string list -> unit
      method set_private : string -> unit
      method set_progressfunction :
        (float -> float -> float -> float -> bool) -> unit
      method set_proxy : string -> unit
      method set_proxyauth : Curl.curlAuth list -> unit
      method set_proxyport : int -> unit
      method set_proxytransfermode : bool -> unit
      method set_proxyuserpwd : string -> unit
      method set_put : bool -> unit
      method set_quote : string list -> unit
      method set_randomfile : string -> unit
      method set_range : string -> unit
      method set_readfunction : (int -> string) -> unit
      method set_referer : string -> unit
      method set_resumefrom : int -> unit
      method set_resumefromlarge : int64 -> unit
      method set_seekfunction : (int64 -> Curl.curlSeek -> int) -> unit
      method set_sshauthtypes : Curl.curlSSHAuthTypes list -> unit
      method set_sshhostpublickeymd5 : string -> unit
      method set_sshprivatekeyfile : string -> unit
      method set_sshpublickeyfile : string -> unit
      method set_sslcert : string -> unit
      method set_sslcertpasswd : string -> unit
      method set_sslcerttype : string -> unit
      method set_sslcipherlist : string -> unit
      method set_sslengine : string -> unit
      method set_sslenginedefault : bool -> unit
      method set_sslkey : string -> unit
      method set_sslkeypasswd : string -> unit
      method set_sslkeytype : string -> unit
      method set_sslsessionidcache : bool -> unit
      method set_sslverifyhost : Curl.curlSSLVerifyHost -> unit
      method set_sslverifypeer : bool -> unit
      method set_sslversion : int -> unit
      method set_tcpnodelay : bool -> unit
      method set_timecondition : Curl.curlTimeCondition -> unit
      method set_timeout : int -> unit
      method set_timeoutms : int -> unit
      method set_timevalue : int32 -> unit
      method set_transfertext : bool -> unit
      method set_unrestrictedauth : bool -> unit
      method set_upload : bool -> unit
      method set_url : string -> unit
      method set_useragent : string -> unit
      method set_userpwd : string -> unit
      method set_verbose : bool -> unit
      method set_writefunction : (string -> int) -> unit
    end
end