81 lines
2.7 KiB
Ruby
81 lines
2.7 KiB
Ruby
# frozen_string_literal: true
|
|
module Ethon
|
|
module Curl
|
|
# :nodoc:
|
|
VERSION_NOW = 3
|
|
|
|
# Flag. Initialize SSL.
|
|
GLOBAL_SSL = 0x01
|
|
# Flag. Initialize win32 socket libraries.
|
|
GLOBAL_WIN32 = 0x02
|
|
# Flag. Initialize everything possible.
|
|
GLOBAL_ALL = (GLOBAL_SSL | GLOBAL_WIN32)
|
|
# Flag. Initialize everything by default.
|
|
GLOBAL_DEFAULT = GLOBAL_ALL
|
|
|
|
# :nodoc:
|
|
EasyCode = enum(:easy_code, easy_codes)
|
|
# :nodoc:
|
|
MultiCode = enum(:multi_code, multi_codes)
|
|
|
|
# :nodoc:
|
|
EasyOption = enum(:easy_option, easy_options(:enum).to_a.flatten)
|
|
# :nodoc:
|
|
MultiOption = enum(:multi_option, multi_options(:enum).to_a.flatten)
|
|
|
|
# Used by curl_debug_callback when setting CURLOPT_DEBUGFUNCTION
|
|
# https://github.com/bagder/curl/blob/master/include/curl/curl.h#L378 for details
|
|
DebugInfoType = enum(:debug_info_type, debug_info_types)
|
|
|
|
# :nodoc:
|
|
InfoType = enum(info_types.to_a.flatten)
|
|
|
|
# Info details, refer
|
|
# https://github.com/bagder/curl/blob/master/src/tool_writeout.c#L66 for details
|
|
Info = enum(:info, infos.to_a.flatten)
|
|
|
|
# Form options, used by FormAdd for temporary storage, refer
|
|
# https://github.com/bagder/curl/blob/master/lib/formdata.h#L51 for details
|
|
FormOption = enum(:form_option, form_options)
|
|
|
|
# :nodoc:
|
|
MsgCode = enum(:msg_code, msg_codes)
|
|
|
|
VERSION_IPV6 = (1<<0) # IPv6-enabled
|
|
VERSION_KERBEROS4 = (1<<1) # kerberos auth is supported
|
|
VERSION_SSL = (1<<2) # SSL options are present
|
|
VERSION_LIBZ = (1<<3) # libz features are present
|
|
VERSION_NTLM = (1<<4) # NTLM auth is supported
|
|
VERSION_GSSNEGOTIATE = (1<<5) # Negotiate auth supp
|
|
VERSION_DEBUG = (1<<6) # built with debug capabilities
|
|
VERSION_ASYNCHDNS = (1<<7) # asynchronous dns resolves
|
|
VERSION_SPNEGO = (1<<8) # SPNEGO auth is supported
|
|
VERSION_LARGEFILE = (1<<9) # supports files bigger than 2GB
|
|
VERSION_IDN = (1<<10) # International Domain Names support
|
|
VERSION_SSPI = (1<<11) # SSPI is supported
|
|
VERSION_CONV = (1<<12) # character conversions supported
|
|
VERSION_CURLDEBUG = (1<<13) # debug memory tracking supported
|
|
VERSION_TLSAUTH_SRP = (1<<14) # TLS-SRP auth is supported
|
|
VERSION_NTLM_WB = (1<<15) # NTLM delegating to winbind helper
|
|
VERSION_HTTP2 = (1<<16) # HTTP2 support built
|
|
VERSION_GSSAPI = (1<<17) # GSS-API is supported
|
|
|
|
SOCKET_BAD = -1
|
|
SOCKET_TIMEOUT = SOCKET_BAD
|
|
|
|
PollAction = enum(:poll_action, [
|
|
:none,
|
|
:in,
|
|
:out,
|
|
:inout,
|
|
:remove
|
|
])
|
|
|
|
SocketReadiness = bitmask(:socket_readiness, [
|
|
:in, # CURL_CSELECT_IN - 0x01 (bit 0)
|
|
:out, # CURL_CSELECT_OUT - 0x02 (bit 1)
|
|
:err, # CURL_CSELECT_ERR - 0x04 (bit 2)
|
|
])
|
|
end
|
|
end
|