---@meta lcurl

--------------------------------------------------------------------------------
-- Lua-cURL C 绑定模块
--------------------------------------------------------------------------------

---@alias lcurl_option integer|string
---@alias lcurl_info integer|string
---@alias lcurl_multi_option integer|string
---@alias lcurl_share_option integer|string
---@alias lcurl_url_flag integer
---@alias lcurl_headers string[]
---@alias lcurl_form_description table<string,lcurl_form_part>
---@alias lcurl_form_part string|lcurl_form_stream|lcurl_form_file|lcurl_form_buffer|lcurl_form_content

---@class lcurl_form_stream
---@field stream function|table|userdata 读取函数或提供 read/length 的对象
---@field length? integer 流长度，不填时尝试调用 stream:length()
---@field name? string 文件名
---@field type? string MIME 类型
---@field headers? lcurl_headers 该 part 的附加头

---@class lcurl_form_file
---@field file string 本地文件路径
---@field name? string 表单中的文件名
---@field filename? string 表单中的文件名
---@field type? string MIME 类型
---@field headers? lcurl_headers 该 part 的附加头

---@class lcurl_form_buffer
---@field data string 文件内容
---@field name string 表单中的文件名
---@field file? string 兼容旧包装层的文件名字段
---@field type? string MIME 类型
---@field headers? lcurl_headers 该 part 的附加头

---@class lcurl_form_content
---@field [1]? string 内容
---@field content? string 内容
---@field type? string MIME 类型
---@field headers? lcurl_headers 该 part 的附加头

---@class lcurl_easy_option_info
---@field id integer 选项 ID
---@field name string 选项名
---@field type integer 选项类型
---@field type_name string 选项类型名
---@field flags integer 选项标记
---@field flags_set table<string,boolean> 选项标记集合

---@class lcurl_version_info
---@field version string libcurl 版本
---@field version_num integer libcurl 版本号
---@field host string 构建平台
---@field features table<string,boolean> 功能集合
---@field protocols table<string,boolean> 协议集合
---@field ssl_version? string SSL 版本
---@field libz_version? string zlib 版本
---@field ares? string c-ares 版本
---@field libidn? string libidn 版本
---@field iconv_ver_num? integer iconv 版本号
---@field brotli_ver_num? integer brotli 版本号
---@field brotli_version? string brotli 版本
---@field nghttp2_ver_num? integer nghttp2 版本号
---@field nghttp2_version? string nghttp2 版本
---@field quic_version? string QUIC 版本
---@field cainfo? string CA 文件路径
---@field capath? string CA 目录路径
---@field zstd_ver_num? integer zstd 版本号
---@field zstd_version? string zstd 版本

---@class lcurl_error*
local lcurl_error = {}

--- 获取错误分类。
---@return string category 错误分类
function lcurl_error:category() end

--- 获取错误分类。
---@return string category 错误分类
function lcurl_error:cat() end

--- 获取错误码。
---@return integer code 错误码
function lcurl_error:no() end

--- 获取错误名。
---@return string name 错误名
function lcurl_error:name() end

--- 获取错误名。
---@return string name 错误名
function lcurl_error:mnemo() end

--- 获取错误描述。
---@return string message 错误描述
function lcurl_error:msg() end

---@class lcurl_easy*
---@field data any 用户数据
---@field setopt_verbose fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_VERBOSE
---@field setopt_header fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_HEADER
---@field setopt_noprogress fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_NOPROGRESS
---@field setopt_nosignal fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_NOSIGNAL
---@field setopt_wildcardmatch fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_WILDCARDMATCH
---@field setopt_url fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_URL
---@field setopt_failonerror fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_FAILONERROR
---@field setopt_protocols fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_PROTOCOLS
---@field setopt_redir_protocols fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_REDIR_PROTOCOLS
---@field setopt_proxy fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_PROXY
---@field setopt_proxyport fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_PROXYPORT
---@field setopt_proxytype fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_PROXYTYPE
---@field setopt_noproxy fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_NOPROXY
---@field setopt_httpproxytunnel fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_HTTPPROXYTUNNEL
---@field setopt_socks5_gssapi_service fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_SOCKS5_GSSAPI_SERVICE
---@field setopt_socks5_gssapi_nec fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_SOCKS5_GSSAPI_NEC
---@field setopt_interface fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_INTERFACE
---@field setopt_localport fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_LOCALPORT
---@field setopt_localportrange fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_LOCALPORTRANGE
---@field setopt_dns_cache_timeout fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_DNS_CACHE_TIMEOUT
---@field setopt_dns_use_global_cache fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_DNS_USE_GLOBAL_CACHE
---@field setopt_dns_servers fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_DNS_SERVERS
---@field setopt_buffersize fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_BUFFERSIZE
---@field setopt_port fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_PORT
---@field setopt_tcp_nodelay fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_TCP_NODELAY
---@field setopt_address_scope fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_ADDRESS_SCOPE
---@field setopt_tcp_keepalive fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_TCP_KEEPALIVE
---@field setopt_tcp_keepidle fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_TCP_KEEPIDLE
---@field setopt_tcp_keepintvl fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_TCP_KEEPINTVL
---@field setopt_netrc fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_NETRC
---@field setopt_netrc_file fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_NETRC_FILE
---@field setopt_userpwd fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_USERPWD
---@field setopt_proxyuserpwd fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_PROXYUSERPWD
---@field setopt_username fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_USERNAME
---@field setopt_password fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_PASSWORD
---@field setopt_login_options fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_LOGIN_OPTIONS
---@field setopt_proxyusername fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_PROXYUSERNAME
---@field setopt_proxypassword fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_PROXYPASSWORD
---@field setopt_httpauth fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_HTTPAUTH
---@field setopt_tlsauth_username fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_TLSAUTH_USERNAME
---@field setopt_tlsauth_password fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_TLSAUTH_PASSWORD
---@field setopt_tlsauth_type fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_TLSAUTH_TYPE
---@field setopt_proxyauth fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_PROXYAUTH
---@field setopt_sasl_ir fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_SASL_IR
---@field setopt_xoauth2_bearer fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_XOAUTH2_BEARER
---@field setopt_autoreferer fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_AUTOREFERER
---@field setopt_accept_encoding fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_ACCEPT_ENCODING
---@field setopt_transfer_encoding fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_TRANSFER_ENCODING
---@field setopt_followlocation fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_FOLLOWLOCATION
---@field setopt_unrestricted_auth fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_UNRESTRICTED_AUTH
---@field setopt_maxredirs fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_MAXREDIRS
---@field setopt_postredir fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_POSTREDIR
---@field setopt_put fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_PUT
---@field setopt_post fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_POST
---@field setopt_referer fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_REFERER
---@field setopt_useragent fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_USERAGENT
---@field setopt_headeropt fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_HEADEROPT
---@field setopt_httpheader fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_HTTPHEADER
---@field setopt_proxyheader fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_PROXYHEADER
---@field setopt_http200aliases fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_HTTP200ALIASES
---@field setopt_cookie fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_COOKIE
---@field setopt_cookiefile fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_COOKIEFILE
---@field setopt_cookiejar fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_COOKIEJAR
---@field setopt_cookiesession fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_COOKIESESSION
---@field setopt_cookielist fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_COOKIELIST
---@field setopt_httpget fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_HTTPGET
---@field setopt_http_version fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_HTTP_VERSION
---@field setopt_ignore_content_length fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_IGNORE_CONTENT_LENGTH
---@field setopt_http_content_decoding fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_HTTP_CONTENT_DECODING
---@field setopt_http_transfer_decoding fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_HTTP_TRANSFER_DECODING
---@field setopt_expect_100_timeout_ms fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_EXPECT_100_TIMEOUT_MS
---@field setopt_mail_from fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_MAIL_FROM
---@field setopt_mail_rcpt fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_MAIL_RCPT
---@field setopt_mail_auth fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_MAIL_AUTH
---@field setopt_tftp_blksize fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_TFTP_BLKSIZE
---@field setopt_ftpport fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_FTPPORT
---@field setopt_quote fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_QUOTE
---@field setopt_postquote fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_POSTQUOTE
---@field setopt_prequote fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_PREQUOTE
---@field setopt_dirlistonly fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_DIRLISTONLY
---@field setopt_append fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_APPEND
---@field setopt_ftp_use_eprt fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_FTP_USE_EPRT
---@field setopt_ftp_use_epsv fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_FTP_USE_EPSV
---@field setopt_ftp_use_pret fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_FTP_USE_PRET
---@field setopt_ftp_create_missing_dirs fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_FTP_CREATE_MISSING_DIRS
---@field setopt_ftp_response_timeout fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_FTP_RESPONSE_TIMEOUT
---@field setopt_ftp_alternative_to_user fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_FTP_ALTERNATIVE_TO_USER
---@field setopt_ftp_skip_pasv_ip fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_FTP_SKIP_PASV_IP
---@field setopt_ftpsslauth fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_FTPSSLAUTH
---@field setopt_ftp_ssl_ccc fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_FTP_SSL_CCC
---@field setopt_ftp_account fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_FTP_ACCOUNT
---@field setopt_ftp_filemethod fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_FTP_FILEMETHOD
---@field setopt_transfertext fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_TRANSFERTEXT
---@field setopt_proxy_transfer_mode fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_PROXY_TRANSFER_MODE
---@field setopt_crlf fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_CRLF
---@field setopt_range fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_RANGE
---@field setopt_resume_from fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_RESUME_FROM
---@field setopt_resume_from_large fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_RESUME_FROM_LARGE
---@field setopt_customrequest fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_CUSTOMREQUEST
---@field setopt_filetime fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_FILETIME
---@field setopt_nobody fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_NOBODY
---@field setopt_infilesize fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_INFILESIZE
---@field setopt_infilesize_large fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_INFILESIZE_LARGE
---@field setopt_upload fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_UPLOAD
---@field setopt_maxfilesize fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_MAXFILESIZE
---@field setopt_maxfilesize_large fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_MAXFILESIZE_LARGE
---@field setopt_timecondition fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_TIMECONDITION
---@field setopt_timevalue fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_TIMEVALUE
---@field setopt_timeout fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_TIMEOUT
---@field setopt_timeout_ms fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_TIMEOUT_MS
---@field setopt_low_speed_limit fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_LOW_SPEED_LIMIT
---@field setopt_low_speed_time fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_LOW_SPEED_TIME
---@field setopt_max_send_speed_large fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_MAX_SEND_SPEED_LARGE
---@field setopt_max_recv_speed_large fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_MAX_RECV_SPEED_LARGE
---@field setopt_maxconnects fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_MAXCONNECTS
---@field setopt_fresh_connect fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_FRESH_CONNECT
---@field setopt_forbid_reuse fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_FORBID_REUSE
---@field setopt_connecttimeout fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_CONNECTTIMEOUT
---@field setopt_connecttimeout_ms fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_CONNECTTIMEOUT_MS
---@field setopt_ipresolve fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_IPRESOLVE
---@field setopt_connect_only fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_CONNECT_ONLY
---@field setopt_use_ssl fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_USE_SSL
---@field setopt_resolve fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_RESOLVE
---@field setopt_dns_interface fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_DNS_INTERFACE
---@field setopt_dns_local_ip4 fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_DNS_LOCAL_IP4
---@field setopt_dns_local_ip6 fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_DNS_LOCAL_IP6
---@field setopt_accepttimeout_ms fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_ACCEPTTIMEOUT_MS
---@field setopt_ssh_auth_types fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_SSH_AUTH_TYPES
---@field setopt_ssh_host_public_key_md5 fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_SSH_HOST_PUBLIC_KEY_MD5
---@field setopt_ssh_public_keyfile fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_SSH_PUBLIC_KEYFILE
---@field setopt_ssh_private_keyfile fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_SSH_PRIVATE_KEYFILE
---@field setopt_ssh_knownhosts fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_SSH_KNOWNHOSTS
---@field setopt_new_file_perms fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_NEW_FILE_PERMS
---@field setopt_new_directory_perms fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_NEW_DIRECTORY_PERMS
---@field setopt_telnetoptions fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_TELNETOPTIONS
---@field setopt_random_file fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_RANDOM_FILE
---@field setopt_egdsocket fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_EGDSOCKET
---@field setopt_issuercert fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_ISSUERCERT
---@field setopt_krblevel fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_KRBLEVEL
---@field setopt_cainfo fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_CAINFO
---@field setopt_capath fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_CAPATH
---@field setopt_certinfo fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_CERTINFO
---@field setopt_crlfile fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_CRLFILE
---@field setopt_sslcert fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_SSLCERT
---@field setopt_sslcerttype fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_SSLCERTTYPE
---@field setopt_sslengine fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_SSLENGINE
---@field setopt_sslengine_default fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_SSLENGINE_DEFAULT
---@field setopt_sslkey fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_SSLKEY
---@field setopt_sslkeytype fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_SSLKEYTYPE
---@field setopt_sslversion fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_SSLVERSION
---@field setopt_ssl_cipher_list fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_SSL_CIPHER_LIST
---@field setopt_ssl_enable_alpn fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_SSL_ENABLE_ALPN
---@field setopt_ssl_enable_npn fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_SSL_ENABLE_NPN
---@field setopt_ssl_options fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_SSL_OPTIONS
---@field setopt_ssl_sessionid_cache fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_SSL_SESSIONID_CACHE
---@field setopt_ssl_verifyhost fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_SSL_VERIFYHOST
---@field setopt_ssl_verifypeer fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_SSL_VERIFYPEER
---@field setopt_keypasswd fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_KEYPASSWD
---@field setopt_rtsp_client_cseq fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_RTSP_CLIENT_CSEQ
---@field setopt_rtsp_request fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_RTSP_REQUEST
---@field setopt_rtsp_server_cseq fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_RTSP_SERVER_CSEQ
---@field setopt_rtsp_session_id fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_RTSP_SESSION_ID
---@field setopt_rtsp_stream_uri fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_RTSP_STREAM_URI
---@field setopt_rtsp_transport fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_RTSP_TRANSPORT
---@field setopt_gssapi_delegation fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_GSSAPI_DELEGATION
---@field setopt_pinnedpublickey fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_PINNEDPUBLICKEY
---@field setopt_unix_socket_path fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_UNIX_SOCKET_PATH
---@field setopt_ssl_verifystatus fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_SSL_VERIFYSTATUS
---@field setopt_ssl_falsestart fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_SSL_FALSESTART
---@field setopt_path_as_is fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_PATH_AS_IS
---@field setopt_proxy_service_name fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_PROXY_SERVICE_NAME
---@field setopt_service_name fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_SERVICE_NAME
---@field setopt_pipewait fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_PIPEWAIT
---@field setopt_default_protocol fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_DEFAULT_PROTOCOL
---@field setopt_stream_weight fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_STREAM_WEIGHT
---@field setopt_tftp_no_options fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_TFTP_NO_OPTIONS
---@field setopt_tcp_fastopen fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_TCP_FASTOPEN
---@field setopt_connect_to fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_CONNECT_TO
---@field setopt_keep_sending_on_error fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_KEEP_SENDING_ON_ERROR
---@field setopt_proxy_cainfo fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_PROXY_CAINFO
---@field setopt_proxy_capath fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_PROXY_CAPATH
---@field setopt_proxy_ssl_verifypeer fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_PROXY_SSL_VERIFYPEER
---@field setopt_proxy_ssl_verifyhost fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_PROXY_SSL_VERIFYHOST
---@field setopt_proxy_sslversion fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_PROXY_SSLVERSION
---@field setopt_proxy_tlsauth_username fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_PROXY_TLSAUTH_USERNAME
---@field setopt_proxy_tlsauth_password fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_PROXY_TLSAUTH_PASSWORD
---@field setopt_proxy_tlsauth_type fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_PROXY_TLSAUTH_TYPE
---@field setopt_proxy_sslcert fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_PROXY_SSLCERT
---@field setopt_proxy_sslcerttype fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_PROXY_SSLCERTTYPE
---@field setopt_proxy_sslkey fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_PROXY_SSLKEY
---@field setopt_proxy_sslkeytype fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_PROXY_SSLKEYTYPE
---@field setopt_proxy_keypasswd fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_PROXY_KEYPASSWD
---@field setopt_proxy_ssl_cipher_list fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_PROXY_SSL_CIPHER_LIST
---@field setopt_proxy_crlfile fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_PROXY_CRLFILE
---@field setopt_proxy_ssl_options fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_PROXY_SSL_OPTIONS
---@field setopt_pre_proxy fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_PRE_PROXY
---@field setopt_proxy_pinnedpublickey fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_PROXY_PINNEDPUBLICKEY
---@field setopt_abstract_unix_socket fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_ABSTRACT_UNIX_SOCKET
---@field setopt_suppress_connect_headers fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_SUPPRESS_CONNECT_HEADERS
---@field setopt_request_target fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_REQUEST_TARGET
---@field setopt_socks5_auth fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_SOCKS5_AUTH
---@field setopt_ssh_compression fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_SSH_COMPRESSION
---@field setopt_happy_eyeballs_timeout_ms fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_HAPPY_EYEBALLS_TIMEOUT_MS
---@field setopt_timevalue_large fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_TIMEVALUE_LARGE
---@field setopt_dns_shuffle_addresses fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_DNS_SHUFFLE_ADDRESSES
---@field setopt_haproxyprotocol fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_HAPROXYPROTOCOL
---@field setopt_disallow_username_in_url fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_DISALLOW_USERNAME_IN_URL
---@field setopt_proxy_tls13_ciphers fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_PROXY_TLS13_CIPHERS
---@field setopt_tls13_ciphers fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_TLS13_CIPHERS
---@field setopt_upkeep_interval_ms fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_UPKEEP_INTERVAL_MS
---@field setopt_doh_url fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_DOH_URL
---@field setopt_upload_buffersize fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_UPLOAD_BUFFERSIZE
---@field setopt_http09_allowed fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_HTTP09_ALLOWED
---@field setopt_altsvc fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_ALTSVC
---@field setopt_altsvc_ctrl fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_ALTSVC_CTRL
---@field setopt_maxage_conn fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_MAXAGE_CONN
---@field setopt_sasl_authzid fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_SASL_AUTHZID
---@field setopt_mail_rcpt_alllowfails fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_MAIL_RCPT_ALLLOWFAILS
---@field setopt_sslcert_blob fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_SSLCERT_BLOB
---@field setopt_sslkey_blob fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_SSLKEY_BLOB
---@field setopt_proxy_sslcert_blob fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_PROXY_SSLCERT_BLOB
---@field setopt_proxy_sslkey_blob fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_PROXY_SSLKEY_BLOB
---@field setopt_issuercert_blob fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_ISSUERCERT_BLOB
---@field setopt_proxy_issuercert fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_PROXY_ISSUERCERT
---@field setopt_proxy_issuercert_blob fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_PROXY_ISSUERCERT_BLOB
---@field setopt_ssl_ec_curves fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_SSL_EC_CURVES
---@field setopt_hsts_ctrl fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_HSTS_CTRL
---@field setopt_hsts fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_HSTS
---@field setopt_postfields fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_POSTFIELDS
---@field setopt_httppost fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_HTTPPOST
---@field setopt_share fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_SHARE
---@field setopt_writefunction fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_WRITEFUNCTION
---@field setopt_readfunction fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_READFUNCTION
---@field setopt_headerfunction fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_HEADERFUNCTION
---@field setopt_progressfunction fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_PROGRESSFUNCTION
---@field setopt_seekfunction fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_SEEKFUNCTION
---@field setopt_debugfunction fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_DEBUGFUNCTION
---@field setopt_ssh_keyfunction fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_SSH_KEYFUNCTION
---@field setopt_fnmatch_function fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_FNMATCH_FUNCTION
---@field setopt_chunk_bgn_function fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_CHUNK_BGN_FUNCTION
---@field setopt_chunk_end_function fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_CHUNK_END_FUNCTION
---@field setopt_stream_depends fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_STREAM_DEPENDS
---@field setopt_stream_depends_e fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_STREAM_DEPENDS_E
---@field setopt_mimepost fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_MIMEPOST
---@field setopt_curlu fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_CURLU
---@field setopt_trailerfunction fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_TRAILERFUNCTION
---@field setopt_hstsreadfunction fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_HSTSREADFUNCTION
---@field setopt_hstswritefunction fun(self:lcurl_easy*, value?:any, ...:any):lcurl_easy*?, lcurl_error*? 设置 OPT_HSTSWRITEFUNCTION
---@field unsetopt_verbose fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_VERBOSE
---@field unsetopt_header fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_HEADER
---@field unsetopt_noprogress fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_NOPROGRESS
---@field unsetopt_nosignal fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_NOSIGNAL
---@field unsetopt_wildcardmatch fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_WILDCARDMATCH
---@field unsetopt_url fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_URL
---@field unsetopt_failonerror fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_FAILONERROR
---@field unsetopt_protocols fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_PROTOCOLS
---@field unsetopt_redir_protocols fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_REDIR_PROTOCOLS
---@field unsetopt_proxy fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_PROXY
---@field unsetopt_proxyport fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_PROXYPORT
---@field unsetopt_proxytype fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_PROXYTYPE
---@field unsetopt_noproxy fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_NOPROXY
---@field unsetopt_httpproxytunnel fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_HTTPPROXYTUNNEL
---@field unsetopt_socks5_gssapi_service fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_SOCKS5_GSSAPI_SERVICE
---@field unsetopt_socks5_gssapi_nec fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_SOCKS5_GSSAPI_NEC
---@field unsetopt_interface fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_INTERFACE
---@field unsetopt_localport fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_LOCALPORT
---@field unsetopt_localportrange fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_LOCALPORTRANGE
---@field unsetopt_dns_cache_timeout fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_DNS_CACHE_TIMEOUT
---@field unsetopt_dns_use_global_cache fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_DNS_USE_GLOBAL_CACHE
---@field unsetopt_dns_servers fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_DNS_SERVERS
---@field unsetopt_buffersize fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_BUFFERSIZE
---@field unsetopt_port fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_PORT
---@field unsetopt_tcp_nodelay fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_TCP_NODELAY
---@field unsetopt_address_scope fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_ADDRESS_SCOPE
---@field unsetopt_tcp_keepalive fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_TCP_KEEPALIVE
---@field unsetopt_tcp_keepidle fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_TCP_KEEPIDLE
---@field unsetopt_tcp_keepintvl fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_TCP_KEEPINTVL
---@field unsetopt_netrc fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_NETRC
---@field unsetopt_netrc_file fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_NETRC_FILE
---@field unsetopt_userpwd fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_USERPWD
---@field unsetopt_proxyuserpwd fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_PROXYUSERPWD
---@field unsetopt_username fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_USERNAME
---@field unsetopt_password fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_PASSWORD
---@field unsetopt_login_options fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_LOGIN_OPTIONS
---@field unsetopt_proxyusername fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_PROXYUSERNAME
---@field unsetopt_proxypassword fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_PROXYPASSWORD
---@field unsetopt_httpauth fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_HTTPAUTH
---@field unsetopt_tlsauth_username fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_TLSAUTH_USERNAME
---@field unsetopt_tlsauth_password fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_TLSAUTH_PASSWORD
---@field unsetopt_tlsauth_type fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_TLSAUTH_TYPE
---@field unsetopt_proxyauth fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_PROXYAUTH
---@field unsetopt_sasl_ir fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_SASL_IR
---@field unsetopt_xoauth2_bearer fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_XOAUTH2_BEARER
---@field unsetopt_autoreferer fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_AUTOREFERER
---@field unsetopt_accept_encoding fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_ACCEPT_ENCODING
---@field unsetopt_transfer_encoding fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_TRANSFER_ENCODING
---@field unsetopt_followlocation fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_FOLLOWLOCATION
---@field unsetopt_unrestricted_auth fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_UNRESTRICTED_AUTH
---@field unsetopt_maxredirs fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_MAXREDIRS
---@field unsetopt_postredir fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_POSTREDIR
---@field unsetopt_put fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_PUT
---@field unsetopt_post fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_POST
---@field unsetopt_referer fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_REFERER
---@field unsetopt_useragent fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_USERAGENT
---@field unsetopt_headeropt fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_HEADEROPT
---@field unsetopt_httpheader fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_HTTPHEADER
---@field unsetopt_proxyheader fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_PROXYHEADER
---@field unsetopt_http200aliases fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_HTTP200ALIASES
---@field unsetopt_cookie fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_COOKIE
---@field unsetopt_cookiefile fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_COOKIEFILE
---@field unsetopt_cookiejar fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_COOKIEJAR
---@field unsetopt_cookiesession fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_COOKIESESSION
---@field unsetopt_cookielist fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_COOKIELIST
---@field unsetopt_httpget fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_HTTPGET
---@field unsetopt_http_version fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_HTTP_VERSION
---@field unsetopt_ignore_content_length fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_IGNORE_CONTENT_LENGTH
---@field unsetopt_http_content_decoding fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_HTTP_CONTENT_DECODING
---@field unsetopt_http_transfer_decoding fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_HTTP_TRANSFER_DECODING
---@field unsetopt_expect_100_timeout_ms fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_EXPECT_100_TIMEOUT_MS
---@field unsetopt_mail_from fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_MAIL_FROM
---@field unsetopt_mail_rcpt fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_MAIL_RCPT
---@field unsetopt_mail_auth fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_MAIL_AUTH
---@field unsetopt_tftp_blksize fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_TFTP_BLKSIZE
---@field unsetopt_ftpport fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_FTPPORT
---@field unsetopt_quote fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_QUOTE
---@field unsetopt_postquote fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_POSTQUOTE
---@field unsetopt_prequote fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_PREQUOTE
---@field unsetopt_dirlistonly fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_DIRLISTONLY
---@field unsetopt_append fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_APPEND
---@field unsetopt_ftp_use_eprt fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_FTP_USE_EPRT
---@field unsetopt_ftp_use_epsv fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_FTP_USE_EPSV
---@field unsetopt_ftp_use_pret fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_FTP_USE_PRET
---@field unsetopt_ftp_create_missing_dirs fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_FTP_CREATE_MISSING_DIRS
---@field unsetopt_ftp_response_timeout fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_FTP_RESPONSE_TIMEOUT
---@field unsetopt_ftp_alternative_to_user fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_FTP_ALTERNATIVE_TO_USER
---@field unsetopt_ftp_skip_pasv_ip fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_FTP_SKIP_PASV_IP
---@field unsetopt_ftpsslauth fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_FTPSSLAUTH
---@field unsetopt_ftp_ssl_ccc fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_FTP_SSL_CCC
---@field unsetopt_ftp_account fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_FTP_ACCOUNT
---@field unsetopt_ftp_filemethod fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_FTP_FILEMETHOD
---@field unsetopt_transfertext fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_TRANSFERTEXT
---@field unsetopt_proxy_transfer_mode fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_PROXY_TRANSFER_MODE
---@field unsetopt_crlf fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_CRLF
---@field unsetopt_range fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_RANGE
---@field unsetopt_resume_from fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_RESUME_FROM
---@field unsetopt_resume_from_large fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_RESUME_FROM_LARGE
---@field unsetopt_customrequest fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_CUSTOMREQUEST
---@field unsetopt_filetime fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_FILETIME
---@field unsetopt_nobody fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_NOBODY
---@field unsetopt_infilesize fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_INFILESIZE
---@field unsetopt_infilesize_large fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_INFILESIZE_LARGE
---@field unsetopt_upload fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_UPLOAD
---@field unsetopt_maxfilesize fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_MAXFILESIZE
---@field unsetopt_maxfilesize_large fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_MAXFILESIZE_LARGE
---@field unsetopt_timecondition fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_TIMECONDITION
---@field unsetopt_timevalue fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_TIMEVALUE
---@field unsetopt_timeout fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_TIMEOUT
---@field unsetopt_timeout_ms fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_TIMEOUT_MS
---@field unsetopt_low_speed_limit fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_LOW_SPEED_LIMIT
---@field unsetopt_low_speed_time fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_LOW_SPEED_TIME
---@field unsetopt_max_send_speed_large fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_MAX_SEND_SPEED_LARGE
---@field unsetopt_max_recv_speed_large fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_MAX_RECV_SPEED_LARGE
---@field unsetopt_maxconnects fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_MAXCONNECTS
---@field unsetopt_fresh_connect fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_FRESH_CONNECT
---@field unsetopt_forbid_reuse fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_FORBID_REUSE
---@field unsetopt_connecttimeout fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_CONNECTTIMEOUT
---@field unsetopt_connecttimeout_ms fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_CONNECTTIMEOUT_MS
---@field unsetopt_ipresolve fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_IPRESOLVE
---@field unsetopt_connect_only fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_CONNECT_ONLY
---@field unsetopt_use_ssl fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_USE_SSL
---@field unsetopt_resolve fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_RESOLVE
---@field unsetopt_dns_interface fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_DNS_INTERFACE
---@field unsetopt_dns_local_ip4 fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_DNS_LOCAL_IP4
---@field unsetopt_dns_local_ip6 fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_DNS_LOCAL_IP6
---@field unsetopt_accepttimeout_ms fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_ACCEPTTIMEOUT_MS
---@field unsetopt_ssh_auth_types fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_SSH_AUTH_TYPES
---@field unsetopt_ssh_host_public_key_md5 fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_SSH_HOST_PUBLIC_KEY_MD5
---@field unsetopt_ssh_public_keyfile fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_SSH_PUBLIC_KEYFILE
---@field unsetopt_ssh_private_keyfile fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_SSH_PRIVATE_KEYFILE
---@field unsetopt_ssh_knownhosts fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_SSH_KNOWNHOSTS
---@field unsetopt_new_file_perms fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_NEW_FILE_PERMS
---@field unsetopt_new_directory_perms fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_NEW_DIRECTORY_PERMS
---@field unsetopt_telnetoptions fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_TELNETOPTIONS
---@field unsetopt_random_file fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_RANDOM_FILE
---@field unsetopt_egdsocket fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_EGDSOCKET
---@field unsetopt_issuercert fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_ISSUERCERT
---@field unsetopt_krblevel fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_KRBLEVEL
---@field unsetopt_cainfo fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_CAINFO
---@field unsetopt_capath fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_CAPATH
---@field unsetopt_certinfo fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_CERTINFO
---@field unsetopt_crlfile fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_CRLFILE
---@field unsetopt_sslcert fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_SSLCERT
---@field unsetopt_sslcerttype fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_SSLCERTTYPE
---@field unsetopt_sslengine fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_SSLENGINE
---@field unsetopt_sslengine_default fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_SSLENGINE_DEFAULT
---@field unsetopt_sslkey fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_SSLKEY
---@field unsetopt_sslkeytype fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_SSLKEYTYPE
---@field unsetopt_sslversion fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_SSLVERSION
---@field unsetopt_ssl_cipher_list fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_SSL_CIPHER_LIST
---@field unsetopt_ssl_enable_alpn fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_SSL_ENABLE_ALPN
---@field unsetopt_ssl_enable_npn fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_SSL_ENABLE_NPN
---@field unsetopt_ssl_options fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_SSL_OPTIONS
---@field unsetopt_ssl_sessionid_cache fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_SSL_SESSIONID_CACHE
---@field unsetopt_ssl_verifyhost fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_SSL_VERIFYHOST
---@field unsetopt_ssl_verifypeer fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_SSL_VERIFYPEER
---@field unsetopt_keypasswd fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_KEYPASSWD
---@field unsetopt_rtsp_client_cseq fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_RTSP_CLIENT_CSEQ
---@field unsetopt_rtsp_request fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_RTSP_REQUEST
---@field unsetopt_rtsp_server_cseq fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_RTSP_SERVER_CSEQ
---@field unsetopt_rtsp_session_id fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_RTSP_SESSION_ID
---@field unsetopt_rtsp_stream_uri fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_RTSP_STREAM_URI
---@field unsetopt_rtsp_transport fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_RTSP_TRANSPORT
---@field unsetopt_gssapi_delegation fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_GSSAPI_DELEGATION
---@field unsetopt_pinnedpublickey fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_PINNEDPUBLICKEY
---@field unsetopt_unix_socket_path fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_UNIX_SOCKET_PATH
---@field unsetopt_ssl_verifystatus fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_SSL_VERIFYSTATUS
---@field unsetopt_ssl_falsestart fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_SSL_FALSESTART
---@field unsetopt_path_as_is fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_PATH_AS_IS
---@field unsetopt_proxy_service_name fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_PROXY_SERVICE_NAME
---@field unsetopt_service_name fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_SERVICE_NAME
---@field unsetopt_pipewait fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_PIPEWAIT
---@field unsetopt_default_protocol fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_DEFAULT_PROTOCOL
---@field unsetopt_stream_weight fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_STREAM_WEIGHT
---@field unsetopt_tftp_no_options fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_TFTP_NO_OPTIONS
---@field unsetopt_tcp_fastopen fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_TCP_FASTOPEN
---@field unsetopt_connect_to fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_CONNECT_TO
---@field unsetopt_keep_sending_on_error fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_KEEP_SENDING_ON_ERROR
---@field unsetopt_proxy_cainfo fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_PROXY_CAINFO
---@field unsetopt_proxy_capath fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_PROXY_CAPATH
---@field unsetopt_proxy_ssl_verifypeer fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_PROXY_SSL_VERIFYPEER
---@field unsetopt_proxy_ssl_verifyhost fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_PROXY_SSL_VERIFYHOST
---@field unsetopt_proxy_sslversion fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_PROXY_SSLVERSION
---@field unsetopt_proxy_tlsauth_username fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_PROXY_TLSAUTH_USERNAME
---@field unsetopt_proxy_tlsauth_password fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_PROXY_TLSAUTH_PASSWORD
---@field unsetopt_proxy_tlsauth_type fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_PROXY_TLSAUTH_TYPE
---@field unsetopt_proxy_sslcert fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_PROXY_SSLCERT
---@field unsetopt_proxy_sslcerttype fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_PROXY_SSLCERTTYPE
---@field unsetopt_proxy_sslkey fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_PROXY_SSLKEY
---@field unsetopt_proxy_sslkeytype fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_PROXY_SSLKEYTYPE
---@field unsetopt_proxy_keypasswd fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_PROXY_KEYPASSWD
---@field unsetopt_proxy_ssl_cipher_list fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_PROXY_SSL_CIPHER_LIST
---@field unsetopt_proxy_crlfile fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_PROXY_CRLFILE
---@field unsetopt_proxy_ssl_options fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_PROXY_SSL_OPTIONS
---@field unsetopt_pre_proxy fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_PRE_PROXY
---@field unsetopt_proxy_pinnedpublickey fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_PROXY_PINNEDPUBLICKEY
---@field unsetopt_abstract_unix_socket fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_ABSTRACT_UNIX_SOCKET
---@field unsetopt_suppress_connect_headers fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_SUPPRESS_CONNECT_HEADERS
---@field unsetopt_request_target fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_REQUEST_TARGET
---@field unsetopt_socks5_auth fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_SOCKS5_AUTH
---@field unsetopt_ssh_compression fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_SSH_COMPRESSION
---@field unsetopt_happy_eyeballs_timeout_ms fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_HAPPY_EYEBALLS_TIMEOUT_MS
---@field unsetopt_timevalue_large fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_TIMEVALUE_LARGE
---@field unsetopt_dns_shuffle_addresses fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_DNS_SHUFFLE_ADDRESSES
---@field unsetopt_haproxyprotocol fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_HAPROXYPROTOCOL
---@field unsetopt_disallow_username_in_url fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_DISALLOW_USERNAME_IN_URL
---@field unsetopt_proxy_tls13_ciphers fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_PROXY_TLS13_CIPHERS
---@field unsetopt_tls13_ciphers fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_TLS13_CIPHERS
---@field unsetopt_upkeep_interval_ms fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_UPKEEP_INTERVAL_MS
---@field unsetopt_doh_url fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_DOH_URL
---@field unsetopt_upload_buffersize fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_UPLOAD_BUFFERSIZE
---@field unsetopt_http09_allowed fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_HTTP09_ALLOWED
---@field unsetopt_altsvc fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_ALTSVC
---@field unsetopt_altsvc_ctrl fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_ALTSVC_CTRL
---@field unsetopt_maxage_conn fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_MAXAGE_CONN
---@field unsetopt_sasl_authzid fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_SASL_AUTHZID
---@field unsetopt_mail_rcpt_alllowfails fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_MAIL_RCPT_ALLLOWFAILS
---@field unsetopt_sslcert_blob fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_SSLCERT_BLOB
---@field unsetopt_sslkey_blob fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_SSLKEY_BLOB
---@field unsetopt_proxy_sslcert_blob fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_PROXY_SSLCERT_BLOB
---@field unsetopt_proxy_sslkey_blob fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_PROXY_SSLKEY_BLOB
---@field unsetopt_issuercert_blob fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_ISSUERCERT_BLOB
---@field unsetopt_proxy_issuercert fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_PROXY_ISSUERCERT
---@field unsetopt_proxy_issuercert_blob fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_PROXY_ISSUERCERT_BLOB
---@field unsetopt_ssl_ec_curves fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_SSL_EC_CURVES
---@field unsetopt_hsts_ctrl fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_HSTS_CTRL
---@field unsetopt_hsts fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_HSTS
---@field unsetopt_postfields fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_POSTFIELDS
---@field unsetopt_httppost fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_HTTPPOST
---@field unsetopt_share fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_SHARE
---@field unsetopt_writefunction fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_WRITEFUNCTION
---@field unsetopt_readfunction fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_READFUNCTION
---@field unsetopt_headerfunction fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_HEADERFUNCTION
---@field unsetopt_progressfunction fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_PROGRESSFUNCTION
---@field unsetopt_seekfunction fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_SEEKFUNCTION
---@field unsetopt_debugfunction fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_DEBUGFUNCTION
---@field unsetopt_ssh_keyfunction fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_SSH_KEYFUNCTION
---@field unsetopt_fnmatch_function fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_FNMATCH_FUNCTION
---@field unsetopt_chunk_bgn_function fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_CHUNK_BGN_FUNCTION
---@field unsetopt_chunk_end_function fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_CHUNK_END_FUNCTION
---@field unsetopt_stream_depends fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_STREAM_DEPENDS
---@field unsetopt_stream_depends_e fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_STREAM_DEPENDS_E
---@field unsetopt_mimepost fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_MIMEPOST
---@field unsetopt_curlu fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_CURLU
---@field unsetopt_trailerfunction fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_TRAILERFUNCTION
---@field unsetopt_hstsreadfunction fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_HSTSREADFUNCTION
---@field unsetopt_hstswritefunction fun(self:lcurl_easy*):lcurl_easy*?, lcurl_error*? 重置 OPT_HSTSWRITEFUNCTION
---@field getinfo_effective_url fun(self:lcurl_easy*):any 获取 INFO_EFFECTIVE_URL
---@field getinfo_response_code fun(self:lcurl_easy*):any 获取 INFO_RESPONSE_CODE
---@field getinfo_http_connectcode fun(self:lcurl_easy*):any 获取 INFO_HTTP_CONNECTCODE
---@field getinfo_filetime fun(self:lcurl_easy*):any 获取 INFO_FILETIME
---@field getinfo_total_time fun(self:lcurl_easy*):any 获取 INFO_TOTAL_TIME
---@field getinfo_namelookup_time fun(self:lcurl_easy*):any 获取 INFO_NAMELOOKUP_TIME
---@field getinfo_connect_time fun(self:lcurl_easy*):any 获取 INFO_CONNECT_TIME
---@field getinfo_appconnect_time fun(self:lcurl_easy*):any 获取 INFO_APPCONNECT_TIME
---@field getinfo_pretransfer_time fun(self:lcurl_easy*):any 获取 INFO_PRETRANSFER_TIME
---@field getinfo_starttransfer_time fun(self:lcurl_easy*):any 获取 INFO_STARTTRANSFER_TIME
---@field getinfo_redirect_time fun(self:lcurl_easy*):any 获取 INFO_REDIRECT_TIME
---@field getinfo_redirect_count fun(self:lcurl_easy*):any 获取 INFO_REDIRECT_COUNT
---@field getinfo_redirect_url fun(self:lcurl_easy*):any 获取 INFO_REDIRECT_URL
---@field getinfo_size_upload fun(self:lcurl_easy*):any 获取 INFO_SIZE_UPLOAD
---@field getinfo_size_download fun(self:lcurl_easy*):any 获取 INFO_SIZE_DOWNLOAD
---@field getinfo_speed_download fun(self:lcurl_easy*):any 获取 INFO_SPEED_DOWNLOAD
---@field getinfo_speed_upload fun(self:lcurl_easy*):any 获取 INFO_SPEED_UPLOAD
---@field getinfo_header_size fun(self:lcurl_easy*):any 获取 INFO_HEADER_SIZE
---@field getinfo_request_size fun(self:lcurl_easy*):any 获取 INFO_REQUEST_SIZE
---@field getinfo_ssl_verifyresult fun(self:lcurl_easy*):any 获取 INFO_SSL_VERIFYRESULT
---@field getinfo_ssl_engines fun(self:lcurl_easy*):any 获取 INFO_SSL_ENGINES
---@field getinfo_content_length_download fun(self:lcurl_easy*):any 获取 INFO_CONTENT_LENGTH_DOWNLOAD
---@field getinfo_content_length_upload fun(self:lcurl_easy*):any 获取 INFO_CONTENT_LENGTH_UPLOAD
---@field getinfo_content_type fun(self:lcurl_easy*):any 获取 INFO_CONTENT_TYPE
---@field getinfo_httpauth_avail fun(self:lcurl_easy*):any 获取 INFO_HTTPAUTH_AVAIL
---@field getinfo_proxyauth_avail fun(self:lcurl_easy*):any 获取 INFO_PROXYAUTH_AVAIL
---@field getinfo_os_errno fun(self:lcurl_easy*):any 获取 INFO_OS_ERRNO
---@field getinfo_num_connects fun(self:lcurl_easy*):any 获取 INFO_NUM_CONNECTS
---@field getinfo_primary_ip fun(self:lcurl_easy*):any 获取 INFO_PRIMARY_IP
---@field getinfo_certinfo fun(self:lcurl_easy*):any 获取 INFO_CERTINFO
---@field getinfo_primary_port fun(self:lcurl_easy*):any 获取 INFO_PRIMARY_PORT
---@field getinfo_local_ip fun(self:lcurl_easy*):any 获取 INFO_LOCAL_IP
---@field getinfo_local_port fun(self:lcurl_easy*):any 获取 INFO_LOCAL_PORT
---@field getinfo_cookielist fun(self:lcurl_easy*):any 获取 INFO_COOKIELIST
---@field getinfo_lastsocket fun(self:lcurl_easy*):any 获取 INFO_LASTSOCKET
---@field getinfo_ftp_entry_path fun(self:lcurl_easy*):any 获取 INFO_FTP_ENTRY_PATH
---@field getinfo_condition_unmet fun(self:lcurl_easy*):any 获取 INFO_CONDITION_UNMET
---@field getinfo_rtsp_session_id fun(self:lcurl_easy*):any 获取 INFO_RTSP_SESSION_ID
---@field getinfo_rtsp_client_cseq fun(self:lcurl_easy*):any 获取 INFO_RTSP_CLIENT_CSEQ
---@field getinfo_rtsp_server_cseq fun(self:lcurl_easy*):any 获取 INFO_RTSP_SERVER_CSEQ
---@field getinfo_rtsp_cseq_recv fun(self:lcurl_easy*):any 获取 INFO_RTSP_CSEQ_RECV
---@field getinfo_http_version fun(self:lcurl_easy*):any 获取 INFO_HTTP_VERSION
---@field getinfo_proxy_ssl_verifyresult fun(self:lcurl_easy*):any 获取 INFO_PROXY_SSL_VERIFYRESULT
---@field getinfo_protocol fun(self:lcurl_easy*):any 获取 INFO_PROTOCOL
---@field getinfo_scheme fun(self:lcurl_easy*):any 获取 INFO_SCHEME
---@field getinfo_content_length_download_t fun(self:lcurl_easy*):any 获取 INFO_CONTENT_LENGTH_DOWNLOAD_T
---@field getinfo_content_length_upload_t fun(self:lcurl_easy*):any 获取 INFO_CONTENT_LENGTH_UPLOAD_T
---@field getinfo_size_download_t fun(self:lcurl_easy*):any 获取 INFO_SIZE_DOWNLOAD_T
---@field getinfo_size_upload_t fun(self:lcurl_easy*):any 获取 INFO_SIZE_UPLOAD_T
---@field getinfo_speed_download_t fun(self:lcurl_easy*):any 获取 INFO_SPEED_DOWNLOAD_T
---@field getinfo_speed_upload_t fun(self:lcurl_easy*):any 获取 INFO_SPEED_UPLOAD_T
---@field getinfo_filetime_t fun(self:lcurl_easy*):any 获取 INFO_FILETIME_T
---@field getinfo_appconnect_time_t fun(self:lcurl_easy*):any 获取 INFO_APPCONNECT_TIME_T
---@field getinfo_connect_time_t fun(self:lcurl_easy*):any 获取 INFO_CONNECT_TIME_T
---@field getinfo_namelookup_time_t fun(self:lcurl_easy*):any 获取 INFO_NAMELOOKUP_TIME_T
---@field getinfo_pretransfer_time_t fun(self:lcurl_easy*):any 获取 INFO_PRETRANSFER_TIME_T
---@field getinfo_redirect_time_t fun(self:lcurl_easy*):any 获取 INFO_REDIRECT_TIME_T
---@field getinfo_starttransfer_time_t fun(self:lcurl_easy*):any 获取 INFO_STARTTRANSFER_TIME_T
---@field getinfo_total_time_t fun(self:lcurl_easy*):any 获取 INFO_TOTAL_TIME_T
---@field getinfo_retry_after fun(self:lcurl_easy*):any 获取 INFO_RETRY_AFTER
---@field getinfo_effective_method fun(self:lcurl_easy*):any 获取 INFO_EFFECTIVE_METHOD
---@field getinfo_proxy_error fun(self:lcurl_easy*):any 获取 INFO_PROXY_ERROR
local lcurl_easy = {}

---@class lcurl_multi*
---@field data any 用户数据
---@field setopt_pipelining fun(self:lcurl_multi*, value?:any, ...:any):lcurl_multi*?, lcurl_error*? 设置 OPT_MULTI_PIPELINING
---@field setopt_maxconnects fun(self:lcurl_multi*, value?:any, ...:any):lcurl_multi*?, lcurl_error*? 设置 OPT_MULTI_MAXCONNECTS
---@field setopt_max_host_connections fun(self:lcurl_multi*, value?:any, ...:any):lcurl_multi*?, lcurl_error*? 设置 OPT_MULTI_MAX_HOST_CONNECTIONS
---@field setopt_max_pipeline_length fun(self:lcurl_multi*, value?:any, ...:any):lcurl_multi*?, lcurl_error*? 设置 OPT_MULTI_MAX_PIPELINE_LENGTH
---@field setopt_content_length_penalty_size fun(self:lcurl_multi*, value?:any, ...:any):lcurl_multi*?, lcurl_error*? 设置 OPT_MULTI_CONTENT_LENGTH_PENALTY_SIZE
---@field setopt_chunk_length_penalty_size fun(self:lcurl_multi*, value?:any, ...:any):lcurl_multi*?, lcurl_error*? 设置 OPT_MULTI_CHUNK_LENGTH_PENALTY_SIZE
---@field setopt_pipelining_site_bl fun(self:lcurl_multi*, value?:any, ...:any):lcurl_multi*?, lcurl_error*? 设置 OPT_MULTI_PIPELINING_SITE_BL
---@field setopt_pipelining_server_bl fun(self:lcurl_multi*, value?:any, ...:any):lcurl_multi*?, lcurl_error*? 设置 OPT_MULTI_PIPELINING_SERVER_BL
---@field setopt_max_total_connections fun(self:lcurl_multi*, value?:any, ...:any):lcurl_multi*?, lcurl_error*? 设置 OPT_MULTI_MAX_TOTAL_CONNECTIONS
---@field setopt_max_concurrent_streams fun(self:lcurl_multi*, value?:any, ...:any):lcurl_multi*?, lcurl_error*? 设置 OPT_MULTI_MAX_CONCURRENT_STREAMS
---@field setopt_timerfunction fun(self:lcurl_multi*, value?:any, ...:any):lcurl_multi*?, lcurl_error*? 设置 OPT_MULTI_TIMERFUNCTION
---@field setopt_socketfunction fun(self:lcurl_multi*, value?:any, ...:any):lcurl_multi*?, lcurl_error*? 设置 OPT_MULTI_SOCKETFUNCTION
local lcurl_multi = {}

---@class lcurl_share*
---@field setopt_share fun(self:lcurl_share*, value?:any, ...:any):lcurl_share*?, lcurl_error*? 设置 OPT_SHARE_SHARE
---@field setopt_unshare fun(self:lcurl_share*, value?:any, ...:any):lcurl_share*?, lcurl_error*? 设置 OPT_SHARE_UNSHARE
local lcurl_share = {}

---@class lcurl_form*
local lcurl_form = {}

---@class lcurl_mime*
local lcurl_mime = {}

---@class lcurl_mime_part*
local lcurl_mime_part = {}

---@class lcurl_url*
---@field set_fragment fun(self:lcurl_url*, value:string|nil|false, flags?:lcurl_url_flag):lcurl_url*?, lcurl_error*? 设置 UPART_FRAGMENT
---@field set_host fun(self:lcurl_url*, value:string|nil|false, flags?:lcurl_url_flag):lcurl_url*?, lcurl_error*? 设置 UPART_HOST
---@field set_options fun(self:lcurl_url*, value:string|nil|false, flags?:lcurl_url_flag):lcurl_url*?, lcurl_error*? 设置 UPART_OPTIONS
---@field set_password fun(self:lcurl_url*, value:string|nil|false, flags?:lcurl_url_flag):lcurl_url*?, lcurl_error*? 设置 UPART_PASSWORD
---@field set_path fun(self:lcurl_url*, value:string|nil|false, flags?:lcurl_url_flag):lcurl_url*?, lcurl_error*? 设置 UPART_PATH
---@field set_port fun(self:lcurl_url*, value:string|nil|false, flags?:lcurl_url_flag):lcurl_url*?, lcurl_error*? 设置 UPART_PORT
---@field set_query fun(self:lcurl_url*, value:string|nil|false, flags?:lcurl_url_flag):lcurl_url*?, lcurl_error*? 设置 UPART_QUERY
---@field set_scheme fun(self:lcurl_url*, value:string|nil|false, flags?:lcurl_url_flag):lcurl_url*?, lcurl_error*? 设置 UPART_SCHEME
---@field set_url fun(self:lcurl_url*, value:string|nil|false, flags?:lcurl_url_flag):lcurl_url*?, lcurl_error*? 设置 UPART_URL
---@field set_user fun(self:lcurl_url*, value:string|nil|false, flags?:lcurl_url_flag):lcurl_url*?, lcurl_error*? 设置 UPART_USER
---@field set_zoneid fun(self:lcurl_url*, value:string|nil|false, flags?:lcurl_url_flag):lcurl_url*?, lcurl_error*? 设置 UPART_ZONEID
---@field get_fragment fun(self:lcurl_url*, flags?:lcurl_url_flag):string? 获取 UPART_FRAGMENT
---@field get_host fun(self:lcurl_url*, flags?:lcurl_url_flag):string? 获取 UPART_HOST
---@field get_options fun(self:lcurl_url*, flags?:lcurl_url_flag):string? 获取 UPART_OPTIONS
---@field get_password fun(self:lcurl_url*, flags?:lcurl_url_flag):string? 获取 UPART_PASSWORD
---@field get_path fun(self:lcurl_url*, flags?:lcurl_url_flag):string? 获取 UPART_PATH
---@field get_port fun(self:lcurl_url*, flags?:lcurl_url_flag):string? 获取 UPART_PORT
---@field get_query fun(self:lcurl_url*, flags?:lcurl_url_flag):string? 获取 UPART_QUERY
---@field get_scheme fun(self:lcurl_url*, flags?:lcurl_url_flag):string? 获取 UPART_SCHEME
---@field get_url fun(self:lcurl_url*, flags?:lcurl_url_flag):string? 获取 UPART_URL
---@field get_user fun(self:lcurl_url*, flags?:lcurl_url_flag):string? 获取 UPART_USER
---@field get_zoneid fun(self:lcurl_url*, flags?:lcurl_url_flag):string? 获取 UPART_ZONEID
local lcurl_url = {}

---@class lcurl*
---@field null any 传给 C 层表示 NULL 的哨兵值
---@field ERROR_EASY string easy 错误分类
---@field ERROR_MULTI string multi 错误分类
---@field ERROR_SHARE string share 错误分类
---@field ERROR_FORM string form 错误分类
---@field OPT_VERBOSE integer easy 选项常量
---@field OPT_HEADER integer easy 选项常量
---@field OPT_NOPROGRESS integer easy 选项常量
---@field OPT_NOSIGNAL integer easy 选项常量
---@field OPT_WILDCARDMATCH integer easy 选项常量
---@field OPT_URL integer easy 选项常量
---@field OPT_FAILONERROR integer easy 选项常量
---@field OPT_PROTOCOLS integer easy 选项常量
---@field OPT_REDIR_PROTOCOLS integer easy 选项常量
---@field OPT_PROXY integer easy 选项常量
---@field OPT_PROXYPORT integer easy 选项常量
---@field OPT_PROXYTYPE integer easy 选项常量
---@field OPT_NOPROXY integer easy 选项常量
---@field OPT_HTTPPROXYTUNNEL integer easy 选项常量
---@field OPT_SOCKS5_GSSAPI_SERVICE integer easy 选项常量
---@field OPT_SOCKS5_GSSAPI_NEC integer easy 选项常量
---@field OPT_INTERFACE integer easy 选项常量
---@field OPT_LOCALPORT integer easy 选项常量
---@field OPT_LOCALPORTRANGE integer easy 选项常量
---@field OPT_DNS_CACHE_TIMEOUT integer easy 选项常量
---@field OPT_DNS_USE_GLOBAL_CACHE integer easy 选项常量
---@field OPT_DNS_SERVERS integer easy 选项常量
---@field OPT_BUFFERSIZE integer easy 选项常量
---@field OPT_PORT integer easy 选项常量
---@field OPT_TCP_NODELAY integer easy 选项常量
---@field OPT_ADDRESS_SCOPE integer easy 选项常量
---@field OPT_TCP_KEEPALIVE integer easy 选项常量
---@field OPT_TCP_KEEPIDLE integer easy 选项常量
---@field OPT_TCP_KEEPINTVL integer easy 选项常量
---@field OPT_NETRC integer easy 选项常量
---@field OPT_NETRC_FILE integer easy 选项常量
---@field OPT_USERPWD integer easy 选项常量
---@field OPT_PROXYUSERPWD integer easy 选项常量
---@field OPT_USERNAME integer easy 选项常量
---@field OPT_PASSWORD integer easy 选项常量
---@field OPT_LOGIN_OPTIONS integer easy 选项常量
---@field OPT_PROXYUSERNAME integer easy 选项常量
---@field OPT_PROXYPASSWORD integer easy 选项常量
---@field OPT_HTTPAUTH integer easy 选项常量
---@field OPT_TLSAUTH_USERNAME integer easy 选项常量
---@field OPT_TLSAUTH_PASSWORD integer easy 选项常量
---@field OPT_TLSAUTH_TYPE integer easy 选项常量
---@field OPT_PROXYAUTH integer easy 选项常量
---@field OPT_SASL_IR integer easy 选项常量
---@field OPT_XOAUTH2_BEARER integer easy 选项常量
---@field OPT_AUTOREFERER integer easy 选项常量
---@field OPT_ACCEPT_ENCODING integer easy 选项常量
---@field OPT_TRANSFER_ENCODING integer easy 选项常量
---@field OPT_FOLLOWLOCATION integer easy 选项常量
---@field OPT_UNRESTRICTED_AUTH integer easy 选项常量
---@field OPT_MAXREDIRS integer easy 选项常量
---@field OPT_POSTREDIR integer easy 选项常量
---@field OPT_PUT integer easy 选项常量
---@field OPT_POST integer easy 选项常量
---@field OPT_REFERER integer easy 选项常量
---@field OPT_USERAGENT integer easy 选项常量
---@field OPT_HEADEROPT integer easy 选项常量
---@field OPT_HTTPHEADER integer easy 选项常量
---@field OPT_PROXYHEADER integer easy 选项常量
---@field OPT_HTTP200ALIASES integer easy 选项常量
---@field OPT_COOKIE integer easy 选项常量
---@field OPT_COOKIEFILE integer easy 选项常量
---@field OPT_COOKIEJAR integer easy 选项常量
---@field OPT_COOKIESESSION integer easy 选项常量
---@field OPT_COOKIELIST integer easy 选项常量
---@field OPT_HTTPGET integer easy 选项常量
---@field OPT_HTTP_VERSION integer easy 选项常量
---@field OPT_IGNORE_CONTENT_LENGTH integer easy 选项常量
---@field OPT_HTTP_CONTENT_DECODING integer easy 选项常量
---@field OPT_HTTP_TRANSFER_DECODING integer easy 选项常量
---@field OPT_EXPECT_100_TIMEOUT_MS integer easy 选项常量
---@field OPT_MAIL_FROM integer easy 选项常量
---@field OPT_MAIL_RCPT integer easy 选项常量
---@field OPT_MAIL_AUTH integer easy 选项常量
---@field OPT_TFTP_BLKSIZE integer easy 选项常量
---@field OPT_FTPPORT integer easy 选项常量
---@field OPT_QUOTE integer easy 选项常量
---@field OPT_POSTQUOTE integer easy 选项常量
---@field OPT_PREQUOTE integer easy 选项常量
---@field OPT_DIRLISTONLY integer easy 选项常量
---@field OPT_APPEND integer easy 选项常量
---@field OPT_FTP_USE_EPRT integer easy 选项常量
---@field OPT_FTP_USE_EPSV integer easy 选项常量
---@field OPT_FTP_USE_PRET integer easy 选项常量
---@field OPT_FTP_CREATE_MISSING_DIRS integer easy 选项常量
---@field OPT_FTP_RESPONSE_TIMEOUT integer easy 选项常量
---@field OPT_FTP_ALTERNATIVE_TO_USER integer easy 选项常量
---@field OPT_FTP_SKIP_PASV_IP integer easy 选项常量
---@field OPT_FTPSSLAUTH integer easy 选项常量
---@field OPT_FTP_SSL_CCC integer easy 选项常量
---@field OPT_FTP_ACCOUNT integer easy 选项常量
---@field OPT_FTP_FILEMETHOD integer easy 选项常量
---@field OPT_TRANSFERTEXT integer easy 选项常量
---@field OPT_PROXY_TRANSFER_MODE integer easy 选项常量
---@field OPT_CRLF integer easy 选项常量
---@field OPT_RANGE integer easy 选项常量
---@field OPT_RESUME_FROM integer easy 选项常量
---@field OPT_RESUME_FROM_LARGE integer easy 选项常量
---@field OPT_CUSTOMREQUEST integer easy 选项常量
---@field OPT_FILETIME integer easy 选项常量
---@field OPT_NOBODY integer easy 选项常量
---@field OPT_INFILESIZE integer easy 选项常量
---@field OPT_INFILESIZE_LARGE integer easy 选项常量
---@field OPT_UPLOAD integer easy 选项常量
---@field OPT_MAXFILESIZE integer easy 选项常量
---@field OPT_MAXFILESIZE_LARGE integer easy 选项常量
---@field OPT_TIMECONDITION integer easy 选项常量
---@field OPT_TIMEVALUE integer easy 选项常量
---@field OPT_TIMEOUT integer easy 选项常量
---@field OPT_TIMEOUT_MS integer easy 选项常量
---@field OPT_LOW_SPEED_LIMIT integer easy 选项常量
---@field OPT_LOW_SPEED_TIME integer easy 选项常量
---@field OPT_MAX_SEND_SPEED_LARGE integer easy 选项常量
---@field OPT_MAX_RECV_SPEED_LARGE integer easy 选项常量
---@field OPT_MAXCONNECTS integer easy 选项常量
---@field OPT_FRESH_CONNECT integer easy 选项常量
---@field OPT_FORBID_REUSE integer easy 选项常量
---@field OPT_CONNECTTIMEOUT integer easy 选项常量
---@field OPT_CONNECTTIMEOUT_MS integer easy 选项常量
---@field OPT_IPRESOLVE integer easy 选项常量
---@field OPT_CONNECT_ONLY integer easy 选项常量
---@field OPT_USE_SSL integer easy 选项常量
---@field OPT_RESOLVE integer easy 选项常量
---@field OPT_DNS_INTERFACE integer easy 选项常量
---@field OPT_DNS_LOCAL_IP4 integer easy 选项常量
---@field OPT_DNS_LOCAL_IP6 integer easy 选项常量
---@field OPT_ACCEPTTIMEOUT_MS integer easy 选项常量
---@field OPT_SSH_AUTH_TYPES integer easy 选项常量
---@field OPT_SSH_HOST_PUBLIC_KEY_MD5 integer easy 选项常量
---@field OPT_SSH_PUBLIC_KEYFILE integer easy 选项常量
---@field OPT_SSH_PRIVATE_KEYFILE integer easy 选项常量
---@field OPT_SSH_KNOWNHOSTS integer easy 选项常量
---@field OPT_NEW_FILE_PERMS integer easy 选项常量
---@field OPT_NEW_DIRECTORY_PERMS integer easy 选项常量
---@field OPT_TELNETOPTIONS integer easy 选项常量
---@field OPT_RANDOM_FILE integer easy 选项常量
---@field OPT_EGDSOCKET integer easy 选项常量
---@field OPT_ISSUERCERT integer easy 选项常量
---@field OPT_KRBLEVEL integer easy 选项常量
---@field OPT_CAINFO integer easy 选项常量
---@field OPT_CAPATH integer easy 选项常量
---@field OPT_CERTINFO integer easy 选项常量
---@field OPT_CRLFILE integer easy 选项常量
---@field OPT_SSLCERT integer easy 选项常量
---@field OPT_SSLCERTTYPE integer easy 选项常量
---@field OPT_SSLENGINE integer easy 选项常量
---@field OPT_SSLENGINE_DEFAULT integer easy 选项常量
---@field OPT_SSLKEY integer easy 选项常量
---@field OPT_SSLKEYTYPE integer easy 选项常量
---@field OPT_SSLVERSION integer easy 选项常量
---@field OPT_SSL_CIPHER_LIST integer easy 选项常量
---@field OPT_SSL_ENABLE_ALPN integer easy 选项常量
---@field OPT_SSL_ENABLE_NPN integer easy 选项常量
---@field OPT_SSL_OPTIONS integer easy 选项常量
---@field OPT_SSL_SESSIONID_CACHE integer easy 选项常量
---@field OPT_SSL_VERIFYHOST integer easy 选项常量
---@field OPT_SSL_VERIFYPEER integer easy 选项常量
---@field OPT_KEYPASSWD integer easy 选项常量
---@field OPT_RTSP_CLIENT_CSEQ integer easy 选项常量
---@field OPT_RTSP_REQUEST integer easy 选项常量
---@field OPT_RTSP_SERVER_CSEQ integer easy 选项常量
---@field OPT_RTSP_SESSION_ID integer easy 选项常量
---@field OPT_RTSP_STREAM_URI integer easy 选项常量
---@field OPT_RTSP_TRANSPORT integer easy 选项常量
---@field OPT_GSSAPI_DELEGATION integer easy 选项常量
---@field OPT_PINNEDPUBLICKEY integer easy 选项常量
---@field OPT_UNIX_SOCKET_PATH integer easy 选项常量
---@field OPT_SSL_VERIFYSTATUS integer easy 选项常量
---@field OPT_SSL_FALSESTART integer easy 选项常量
---@field OPT_PATH_AS_IS integer easy 选项常量
---@field OPT_PROXY_SERVICE_NAME integer easy 选项常量
---@field OPT_SERVICE_NAME integer easy 选项常量
---@field OPT_PIPEWAIT integer easy 选项常量
---@field OPT_DEFAULT_PROTOCOL integer easy 选项常量
---@field OPT_STREAM_WEIGHT integer easy 选项常量
---@field OPT_TFTP_NO_OPTIONS integer easy 选项常量
---@field OPT_TCP_FASTOPEN integer easy 选项常量
---@field OPT_CONNECT_TO integer easy 选项常量
---@field OPT_KEEP_SENDING_ON_ERROR integer easy 选项常量
---@field OPT_PROXY_CAINFO integer easy 选项常量
---@field OPT_PROXY_CAPATH integer easy 选项常量
---@field OPT_PROXY_SSL_VERIFYPEER integer easy 选项常量
---@field OPT_PROXY_SSL_VERIFYHOST integer easy 选项常量
---@field OPT_PROXY_SSLVERSION integer easy 选项常量
---@field OPT_PROXY_TLSAUTH_USERNAME integer easy 选项常量
---@field OPT_PROXY_TLSAUTH_PASSWORD integer easy 选项常量
---@field OPT_PROXY_TLSAUTH_TYPE integer easy 选项常量
---@field OPT_PROXY_SSLCERT integer easy 选项常量
---@field OPT_PROXY_SSLCERTTYPE integer easy 选项常量
---@field OPT_PROXY_SSLKEY integer easy 选项常量
---@field OPT_PROXY_SSLKEYTYPE integer easy 选项常量
---@field OPT_PROXY_KEYPASSWD integer easy 选项常量
---@field OPT_PROXY_SSL_CIPHER_LIST integer easy 选项常量
---@field OPT_PROXY_CRLFILE integer easy 选项常量
---@field OPT_PROXY_SSL_OPTIONS integer easy 选项常量
---@field OPT_PRE_PROXY integer easy 选项常量
---@field OPT_PROXY_PINNEDPUBLICKEY integer easy 选项常量
---@field OPT_ABSTRACT_UNIX_SOCKET integer easy 选项常量
---@field OPT_SUPPRESS_CONNECT_HEADERS integer easy 选项常量
---@field OPT_REQUEST_TARGET integer easy 选项常量
---@field OPT_SOCKS5_AUTH integer easy 选项常量
---@field OPT_SSH_COMPRESSION integer easy 选项常量
---@field OPT_HAPPY_EYEBALLS_TIMEOUT_MS integer easy 选项常量
---@field OPT_TIMEVALUE_LARGE integer easy 选项常量
---@field OPT_DNS_SHUFFLE_ADDRESSES integer easy 选项常量
---@field OPT_HAPROXYPROTOCOL integer easy 选项常量
---@field OPT_DISALLOW_USERNAME_IN_URL integer easy 选项常量
---@field OPT_PROXY_TLS13_CIPHERS integer easy 选项常量
---@field OPT_TLS13_CIPHERS integer easy 选项常量
---@field OPT_UPKEEP_INTERVAL_MS integer easy 选项常量
---@field OPT_DOH_URL integer easy 选项常量
---@field OPT_UPLOAD_BUFFERSIZE integer easy 选项常量
---@field OPT_HTTP09_ALLOWED integer easy 选项常量
---@field OPT_ALTSVC integer easy 选项常量
---@field OPT_ALTSVC_CTRL integer easy 选项常量
---@field OPT_MAXAGE_CONN integer easy 选项常量
---@field OPT_SASL_AUTHZID integer easy 选项常量
---@field OPT_MAIL_RCPT_ALLLOWFAILS integer easy 选项常量
---@field OPT_SSLCERT_BLOB integer easy 选项常量
---@field OPT_SSLKEY_BLOB integer easy 选项常量
---@field OPT_PROXY_SSLCERT_BLOB integer easy 选项常量
---@field OPT_PROXY_SSLKEY_BLOB integer easy 选项常量
---@field OPT_ISSUERCERT_BLOB integer easy 选项常量
---@field OPT_PROXY_ISSUERCERT integer easy 选项常量
---@field OPT_PROXY_ISSUERCERT_BLOB integer easy 选项常量
---@field OPT_SSL_EC_CURVES integer easy 选项常量
---@field OPT_HSTS_CTRL integer easy 选项常量
---@field OPT_HSTS integer easy 选项常量
---@field OPT_POSTFIELDS integer easy 选项常量
---@field OPT_HTTPPOST integer easy 选项常量
---@field OPT_SHARE integer easy 选项常量
---@field OPT_WRITEFUNCTION integer easy 选项常量
---@field OPT_READFUNCTION integer easy 选项常量
---@field OPT_HEADERFUNCTION integer easy 选项常量
---@field OPT_PROGRESSFUNCTION integer easy 选项常量
---@field OPT_SEEKFUNCTION integer easy 选项常量
---@field OPT_DEBUGFUNCTION integer easy 选项常量
---@field OPT_SSH_KEYFUNCTION integer easy 选项常量
---@field OPT_FNMATCH_FUNCTION integer easy 选项常量
---@field OPT_CHUNK_BGN_FUNCTION integer easy 选项常量
---@field OPT_CHUNK_END_FUNCTION integer easy 选项常量
---@field OPT_STREAM_DEPENDS integer easy 选项常量
---@field OPT_STREAM_DEPENDS_E integer easy 选项常量
---@field OPT_MIMEPOST integer easy 选项常量
---@field OPT_CURLU integer easy 选项常量
---@field OPT_TRAILERFUNCTION integer easy 选项常量
---@field OPT_HSTSREADFUNCTION integer easy 选项常量
---@field OPT_HSTSWRITEFUNCTION integer easy 选项常量
---@field INFO_EFFECTIVE_URL integer easy 信息常量
---@field INFO_RESPONSE_CODE integer easy 信息常量
---@field INFO_HTTP_CONNECTCODE integer easy 信息常量
---@field INFO_FILETIME integer easy 信息常量
---@field INFO_TOTAL_TIME integer easy 信息常量
---@field INFO_NAMELOOKUP_TIME integer easy 信息常量
---@field INFO_CONNECT_TIME integer easy 信息常量
---@field INFO_APPCONNECT_TIME integer easy 信息常量
---@field INFO_PRETRANSFER_TIME integer easy 信息常量
---@field INFO_STARTTRANSFER_TIME integer easy 信息常量
---@field INFO_REDIRECT_TIME integer easy 信息常量
---@field INFO_REDIRECT_COUNT integer easy 信息常量
---@field INFO_REDIRECT_URL integer easy 信息常量
---@field INFO_SIZE_UPLOAD integer easy 信息常量
---@field INFO_SIZE_DOWNLOAD integer easy 信息常量
---@field INFO_SPEED_DOWNLOAD integer easy 信息常量
---@field INFO_SPEED_UPLOAD integer easy 信息常量
---@field INFO_HEADER_SIZE integer easy 信息常量
---@field INFO_REQUEST_SIZE integer easy 信息常量
---@field INFO_SSL_VERIFYRESULT integer easy 信息常量
---@field INFO_SSL_ENGINES integer easy 信息常量
---@field INFO_CONTENT_LENGTH_DOWNLOAD integer easy 信息常量
---@field INFO_CONTENT_LENGTH_UPLOAD integer easy 信息常量
---@field INFO_CONTENT_TYPE integer easy 信息常量
---@field INFO_HTTPAUTH_AVAIL integer easy 信息常量
---@field INFO_PROXYAUTH_AVAIL integer easy 信息常量
---@field INFO_OS_ERRNO integer easy 信息常量
---@field INFO_NUM_CONNECTS integer easy 信息常量
---@field INFO_PRIMARY_IP integer easy 信息常量
---@field INFO_CERTINFO integer easy 信息常量
---@field INFO_PRIMARY_PORT integer easy 信息常量
---@field INFO_LOCAL_IP integer easy 信息常量
---@field INFO_LOCAL_PORT integer easy 信息常量
---@field INFO_COOKIELIST integer easy 信息常量
---@field INFO_LASTSOCKET integer easy 信息常量
---@field INFO_FTP_ENTRY_PATH integer easy 信息常量
---@field INFO_CONDITION_UNMET integer easy 信息常量
---@field INFO_RTSP_SESSION_ID integer easy 信息常量
---@field INFO_RTSP_CLIENT_CSEQ integer easy 信息常量
---@field INFO_RTSP_SERVER_CSEQ integer easy 信息常量
---@field INFO_RTSP_CSEQ_RECV integer easy 信息常量
---@field INFO_HTTP_VERSION integer easy 信息常量
---@field INFO_PROXY_SSL_VERIFYRESULT integer easy 信息常量
---@field INFO_PROTOCOL integer easy 信息常量
---@field INFO_SCHEME integer easy 信息常量
---@field INFO_CONTENT_LENGTH_DOWNLOAD_T integer easy 信息常量
---@field INFO_CONTENT_LENGTH_UPLOAD_T integer easy 信息常量
---@field INFO_SIZE_DOWNLOAD_T integer easy 信息常量
---@field INFO_SIZE_UPLOAD_T integer easy 信息常量
---@field INFO_SPEED_DOWNLOAD_T integer easy 信息常量
---@field INFO_SPEED_UPLOAD_T integer easy 信息常量
---@field INFO_FILETIME_T integer easy 信息常量
---@field INFO_APPCONNECT_TIME_T integer easy 信息常量
---@field INFO_CONNECT_TIME_T integer easy 信息常量
---@field INFO_NAMELOOKUP_TIME_T integer easy 信息常量
---@field INFO_PRETRANSFER_TIME_T integer easy 信息常量
---@field INFO_REDIRECT_TIME_T integer easy 信息常量
---@field INFO_STARTTRANSFER_TIME_T integer easy 信息常量
---@field INFO_TOTAL_TIME_T integer easy 信息常量
---@field INFO_RETRY_AFTER integer easy 信息常量
---@field INFO_EFFECTIVE_METHOD integer easy 信息常量
---@field INFO_PROXY_ERROR integer easy 信息常量
---@field INFO_TEXT integer 调试或文件类型常量
---@field INFO_HEADER_IN integer 调试或文件类型常量
---@field INFO_HEADER_OUT integer 调试或文件类型常量
---@field INFO_DATA_IN integer 调试或文件类型常量
---@field INFO_DATA_OUT integer 调试或文件类型常量
---@field INFO_SSL_DATA_OUT integer 调试或文件类型常量
---@field INFO_SSL_DATA_IN integer 调试或文件类型常量
---@field FILETYPE_DEVICE_BLOCK integer 调试或文件类型常量
---@field FILETYPE_DEVICE_CHAR integer 调试或文件类型常量
---@field FILETYPE_DIRECTORY integer 调试或文件类型常量
---@field FILETYPE_DOOR integer 调试或文件类型常量
---@field FILETYPE_FILE integer 调试或文件类型常量
---@field FILETYPE_NAMEDPIPE integer 调试或文件类型常量
---@field FILETYPE_SOCKET integer 调试或文件类型常量
---@field FILETYPE_SYMLINK integer 调试或文件类型常量
---@field FILETYPE_UNKNOWN integer 调试或文件类型常量
---@field OPT_MULTI_PIPELINING integer multi 选项常量
---@field OPT_MULTI_MAXCONNECTS integer multi 选项常量
---@field OPT_MULTI_MAX_HOST_CONNECTIONS integer multi 选项常量
---@field OPT_MULTI_MAX_PIPELINE_LENGTH integer multi 选项常量
---@field OPT_MULTI_CONTENT_LENGTH_PENALTY_SIZE integer multi 选项常量
---@field OPT_MULTI_CHUNK_LENGTH_PENALTY_SIZE integer multi 选项常量
---@field OPT_MULTI_PIPELINING_SITE_BL integer multi 选项常量
---@field OPT_MULTI_PIPELINING_SERVER_BL integer multi 选项常量
---@field OPT_MULTI_MAX_TOTAL_CONNECTIONS integer multi 选项常量
---@field OPT_MULTI_MAX_CONCURRENT_STREAMS integer multi 选项常量
---@field OPT_MULTI_TIMERFUNCTION integer multi 选项常量
---@field OPT_MULTI_SOCKETFUNCTION integer multi 选项常量
---@field OPT_SHARE_SHARE integer share 选项常量
---@field OPT_SHARE_UNSHARE integer share 选项常量
---@field UPART_FRAGMENT integer URL part 常量
---@field UPART_HOST integer URL part 常量
---@field UPART_OPTIONS integer URL part 常量
---@field UPART_PASSWORD integer URL part 常量
---@field UPART_PATH integer URL part 常量
---@field UPART_PORT integer URL part 常量
---@field UPART_QUERY integer URL part 常量
---@field UPART_SCHEME integer URL part 常量
---@field UPART_URL integer URL part 常量
---@field UPART_USER integer URL part 常量
---@field UPART_ZONEID integer URL part 常量
---@field U_DEFAULT_PORT integer URL flag 常量
---@field U_NO_DEFAULT_PORT integer URL flag 常量
---@field U_DEFAULT_SCHEME integer URL flag 常量
---@field U_NON_SUPPORT_SCHEME integer URL flag 常量
---@field U_PATH_AS_IS integer URL flag 常量
---@field U_DISALLOW_USER integer URL flag 常量
---@field U_URLDECODE integer URL flag 常量
---@field U_URLENCODE integer URL flag 常量
---@field U_APPENDQUERY integer URL flag 常量
---@field U_GUESS_SCHEME integer URL flag 常量
---@field U_NO_AUTHORITY integer URL flag 常量
---@field ALTSVC_H1 integer libcurl 标记常量
---@field ALTSVC_H2 integer libcurl 标记常量
---@field ALTSVC_H3 integer libcurl 标记常量
---@field ALTSVC_READONLYFILE integer libcurl 标记常量
---@field AUTH_ANY integer libcurl 标记常量
---@field AUTH_ANYSAFE integer libcurl 标记常量
---@field AUTH_BASIC integer libcurl 标记常量
---@field AUTH_BEARER integer libcurl 标记常量
---@field AUTH_DIGEST integer libcurl 标记常量
---@field AUTH_DIGEST_IE integer libcurl 标记常量
---@field AUTH_GSSAPI integer libcurl 标记常量
---@field AUTH_GSSNEGOTIATE integer libcurl 标记常量
---@field AUTH_NEGOTIATE integer libcurl 标记常量
---@field AUTH_NONE integer libcurl 标记常量
---@field AUTH_NTLM integer libcurl 标记常量
---@field AUTH_NTLM_WB integer libcurl 标记常量
---@field AUTH_ONLY integer libcurl 标记常量
---@field CSELECT_ERR integer libcurl 标记常量
---@field CSELECT_IN integer libcurl 标记常量
---@field CSELECT_OUT integer libcurl 标记常量
---@field FTPAUTH_DEFAULT integer libcurl 标记常量
---@field FTPAUTH_SSL integer libcurl 标记常量
---@field FTPAUTH_TLS integer libcurl 标记常量
---@field FTPMETHOD_DEFAULT integer libcurl 标记常量
---@field FTPMETHOD_MULTICWD integer libcurl 标记常量
---@field FTPMETHOD_NOCWD integer libcurl 标记常量
---@field FTPMETHOD_SINGLECWD integer libcurl 标记常量
---@field FTPSSL_CCC_ACTIVE integer libcurl 标记常量
---@field FTPSSL_CCC_NONE integer libcurl 标记常量
---@field FTPSSL_CCC_PASSIVE integer libcurl 标记常量
---@field FTP_CREATE_DIR integer libcurl 标记常量
---@field FTP_CREATE_DIR_LAST integer libcurl 标记常量
---@field FTP_CREATE_DIR_NONE integer libcurl 标记常量
---@field FTP_CREATE_DIR_RETRY integer libcurl 标记常量
---@field GSSAPI_DELEGATION_FLAG integer libcurl 标记常量
---@field GSSAPI_DELEGATION_NONE integer libcurl 标记常量
---@field GSSAPI_DELEGATION_POLICY_FLAG integer libcurl 标记常量
---@field HEADER_SEPARATE integer libcurl 标记常量
---@field HEADER_UNIFIED integer libcurl 标记常量
---@field HSTS_ENABLE integer libcurl 标记常量
---@field HSTS_READONLYFILE integer libcurl 标记常量
---@field HTTP_VERSION_1_0 integer libcurl 标记常量
---@field HTTP_VERSION_1_1 integer libcurl 标记常量
---@field HTTP_VERSION_2 integer libcurl 标记常量
---@field HTTP_VERSION_2TLS integer libcurl 标记常量
---@field HTTP_VERSION_2_0 integer libcurl 标记常量
---@field HTTP_VERSION_2_PRIOR_KNOWLEDGE integer libcurl 标记常量
---@field HTTP_VERSION_3 integer libcurl 标记常量
---@field HTTP_VERSION_NONE integer libcurl 标记常量
---@field IPRESOLVE_V4 integer libcurl 标记常量
---@field IPRESOLVE_V6 integer libcurl 标记常量
---@field IPRESOLVE_WHATEVER integer libcurl 标记常量
---@field KHMATCH_MISMATCH integer libcurl 标记常量
---@field KHMATCH_MISSING integer libcurl 标记常量
---@field KHMATCH_OK integer libcurl 标记常量
---@field KHSTAT_DEFER integer libcurl 标记常量
---@field KHSTAT_FINE integer libcurl 标记常量
---@field KHSTAT_FINE_ADD_TO_FILE integer libcurl 标记常量
---@field KHSTAT_FINE_REPLACE integer libcurl 标记常量
---@field KHSTAT_REJECT integer libcurl 标记常量
---@field KHTYPE_DSS integer libcurl 标记常量
---@field KHTYPE_ECDSA integer libcurl 标记常量
---@field KHTYPE_ED25519 integer libcurl 标记常量
---@field KHTYPE_RSA integer libcurl 标记常量
---@field KHTYPE_RSA1 integer libcurl 标记常量
---@field LOCK_DATA_CONNECT integer libcurl 标记常量
---@field LOCK_DATA_COOKIE integer libcurl 标记常量
---@field LOCK_DATA_DNS integer libcurl 标记常量
---@field LOCK_DATA_SSL_SESSION integer libcurl 标记常量
---@field OT_BLOB integer libcurl 标记常量
---@field OT_CBPTR integer libcurl 标记常量
---@field OT_FLAG_ALIAS integer libcurl 标记常量
---@field OT_FUNCTION integer libcurl 标记常量
---@field OT_LONG integer libcurl 标记常量
---@field OT_OBJECT integer libcurl 标记常量
---@field OT_OFF_T integer libcurl 标记常量
---@field OT_SLIST integer libcurl 标记常量
---@field OT_STRING integer libcurl 标记常量
---@field OT_VALUES integer libcurl 标记常量
---@field PAUSE_ALL integer libcurl 标记常量
---@field PAUSE_CONT integer libcurl 标记常量
---@field PAUSE_RECV integer libcurl 标记常量
---@field PAUSE_RECV_CONT integer libcurl 标记常量
---@field PAUSE_SEND integer libcurl 标记常量
---@field PAUSE_SEND_CONT integer libcurl 标记常量
---@field POLL_IN integer libcurl 标记常量
---@field POLL_INOUT integer libcurl 标记常量
---@field POLL_NONE integer libcurl 标记常量
---@field POLL_OUT integer libcurl 标记常量
---@field POLL_REMOVE integer libcurl 标记常量
---@field PROGRESSFUNC_CONTINUE integer libcurl 标记常量
---@field PROTO_ALL integer libcurl 标记常量
---@field PROTO_DICT integer libcurl 标记常量
---@field PROTO_FILE integer libcurl 标记常量
---@field PROTO_FTP integer libcurl 标记常量
---@field PROTO_FTPS integer libcurl 标记常量
---@field PROTO_GOPHER integer libcurl 标记常量
---@field PROTO_HTTP integer libcurl 标记常量
---@field PROTO_HTTPS integer libcurl 标记常量
---@field PROTO_IMAP integer libcurl 标记常量
---@field PROTO_IMAPS integer libcurl 标记常量
---@field PROTO_LDAP integer libcurl 标记常量
---@field PROTO_LDAPS integer libcurl 标记常量
---@field PROTO_MQTT integer libcurl 标记常量
---@field PROTO_POP3 integer libcurl 标记常量
---@field PROTO_POP3S integer libcurl 标记常量
---@field PROTO_RTMP integer libcurl 标记常量
---@field PROTO_RTMPE integer libcurl 标记常量
---@field PROTO_RTMPS integer libcurl 标记常量
---@field PROTO_RTMPT integer libcurl 标记常量
---@field PROTO_RTMPTE integer libcurl 标记常量
---@field PROTO_RTMPTS integer libcurl 标记常量
---@field PROTO_RTSP integer libcurl 标记常量
---@field PROTO_SCP integer libcurl 标记常量
---@field PROTO_SFTP integer libcurl 标记常量
---@field PROTO_SMB integer libcurl 标记常量
---@field PROTO_SMBS integer libcurl 标记常量
---@field PROTO_SMTP integer libcurl 标记常量
---@field PROTO_SMTPS integer libcurl 标记常量
---@field PROTO_TELNET integer libcurl 标记常量
---@field PROTO_TFTP integer libcurl 标记常量
---@field PROXY_HTTP integer libcurl 标记常量
---@field PROXY_HTTPS integer libcurl 标记常量
---@field PROXY_HTTP_1_0 integer libcurl 标记常量
---@field PROXY_SOCKS4 integer libcurl 标记常量
---@field PROXY_SOCKS4A integer libcurl 标记常量
---@field PROXY_SOCKS5 integer libcurl 标记常量
---@field PROXY_SOCKS5_HOSTNAME integer libcurl 标记常量
---@field PX_BAD_ADDRESS_TYPE integer libcurl 标记常量
---@field PX_BAD_VERSION integer libcurl 标记常量
---@field PX_CLOSED integer libcurl 标记常量
---@field PX_GSSAPI integer libcurl 标记常量
---@field PX_GSSAPI_PERMSG integer libcurl 标记常量
---@field PX_GSSAPI_PROTECTION integer libcurl 标记常量
---@field PX_IDENTD integer libcurl 标记常量
---@field PX_IDENTD_DIFFER integer libcurl 标记常量
---@field PX_LONG_HOSTNAME integer libcurl 标记常量
---@field PX_LONG_PASSWD integer libcurl 标记常量
---@field PX_LONG_USER integer libcurl 标记常量
---@field PX_NO_AUTH integer libcurl 标记常量
---@field PX_OK integer libcurl 标记常量
---@field PX_RECV_ADDRESS integer libcurl 标记常量
---@field PX_RECV_AUTH integer libcurl 标记常量
---@field PX_RECV_CONNECT integer libcurl 标记常量
---@field PX_RECV_REQACK integer libcurl 标记常量
---@field PX_REPLY_ADDRESS_TYPE_NOT_SUPPORTED integer libcurl 标记常量
---@field PX_REPLY_COMMAND_NOT_SUPPORTED integer libcurl 标记常量
---@field PX_REPLY_CONNECTION_REFUSED integer libcurl 标记常量
---@field PX_REPLY_GENERAL_SERVER_FAILURE integer libcurl 标记常量
---@field PX_REPLY_HOST_UNREACHABLE integer libcurl 标记常量
---@field PX_REPLY_NETWORK_UNREACHABLE integer libcurl 标记常量
---@field PX_REPLY_NOT_ALLOWED integer libcurl 标记常量
---@field PX_REPLY_TTL_EXPIRED integer libcurl 标记常量
---@field PX_REPLY_UNASSIGNED integer libcurl 标记常量
---@field PX_REQUEST_FAILED integer libcurl 标记常量
---@field PX_RESOLVE_HOST integer libcurl 标记常量
---@field PX_SEND_AUTH integer libcurl 标记常量
---@field PX_SEND_CONNECT integer libcurl 标记常量
---@field PX_SEND_REQUEST integer libcurl 标记常量
---@field PX_UNKNOWN_FAIL integer libcurl 标记常量
---@field PX_UNKNOWN_MODE integer libcurl 标记常量
---@field PX_USER_REJECTED integer libcurl 标记常量
---@field READFUNC_PAUSE integer libcurl 标记常量
---@field RTSPREQ_ANNOUNCE integer libcurl 标记常量
---@field RTSPREQ_DESCRIBE integer libcurl 标记常量
---@field RTSPREQ_GET_PARAMETER integer libcurl 标记常量
---@field RTSPREQ_OPTIONS integer libcurl 标记常量
---@field RTSPREQ_PAUSE integer libcurl 标记常量
---@field RTSPREQ_PLAY integer libcurl 标记常量
---@field RTSPREQ_RECEIVE integer libcurl 标记常量
---@field RTSPREQ_RECORD integer libcurl 标记常量
---@field RTSPREQ_SETUP integer libcurl 标记常量
---@field RTSPREQ_SET_PARAMETER integer libcurl 标记常量
---@field RTSPREQ_TEARDOWN integer libcurl 标记常量
---@field SOCKET_TIMEOUT integer libcurl 标记常量
---@field SSH_AUTH_AGENT integer libcurl 标记常量
---@field SSH_AUTH_ANY integer libcurl 标记常量
---@field SSH_AUTH_DEFAULT integer libcurl 标记常量
---@field SSH_AUTH_GSSAPI integer libcurl 标记常量
---@field SSH_AUTH_HOST integer libcurl 标记常量
---@field SSH_AUTH_KEYBOARD integer libcurl 标记常量
---@field SSH_AUTH_NONE integer libcurl 标记常量
---@field SSH_AUTH_PASSWORD integer libcurl 标记常量
---@field SSH_AUTH_PUBLICKEY integer libcurl 标记常量
---@field SSLOPT_ALLOW_BEAST integer libcurl 标记常量
---@field SSLOPT_NATIVE_CA integer libcurl 标记常量
---@field SSLOPT_NO_PARTIALCHAIN integer libcurl 标记常量
---@field SSLOPT_NO_REVOKE integer libcurl 标记常量
---@field SSLOPT_REVOKE_BEST_EFFORT integer libcurl 标记常量
---@field SSLVERSION_DEFAULT integer libcurl 标记常量
---@field SSLVERSION_MAX_DEFAULT integer libcurl 标记常量
---@field SSLVERSION_MAX_NONE integer libcurl 标记常量
---@field STS_DONE integer libcurl 标记常量
---@field STS_FAIL integer libcurl 标记常量
---@field STS_OK integer libcurl 标记常量
---@field TLSAUTH_SRP integer libcurl 标记常量
---@field USESSL_ALL integer libcurl 标记常量
---@field USESSL_CONTROL integer libcurl 标记常量
---@field USESSL_NONE integer libcurl 标记常量
---@field USESSL_TRY integer libcurl 标记常量
---@field WRITEFUNC_PAUSE integer libcurl 标记常量
---@field E_ABORTED_BY_CALLBACK integer 错误码常量
---@field E_AGAIN integer 错误码常量
---@field E_AUTH_ERROR integer 错误码常量
---@field E_BAD_CONTENT_ENCODING integer 错误码常量
---@field E_BAD_DOWNLOAD_RESUME integer 错误码常量
---@field E_BAD_FUNCTION_ARGUMENT integer 错误码常量
---@field E_CHUNK_FAILED integer 错误码常量
---@field E_CONV_FAILED integer 错误码常量
---@field E_CONV_REQD integer 错误码常量
---@field E_COULDNT_CONNECT integer 错误码常量
---@field E_COULDNT_RESOLVE_HOST integer 错误码常量
---@field E_COULDNT_RESOLVE_PROXY integer 错误码常量
---@field E_FAILED_INIT integer 错误码常量
---@field E_FILESIZE_EXCEEDED integer 错误码常量
---@field E_FILE_COULDNT_READ_FILE integer 错误码常量
---@field E_FORM_DISABLED integer 错误码常量
---@field E_FORM_ILLEGAL_ARRAY integer 错误码常量
---@field E_FORM_INCOMPLETE integer 错误码常量
---@field E_FORM_MEMORY integer 错误码常量
---@field E_FORM_NULL integer 错误码常量
---@field E_FORM_OK integer 错误码常量
---@field E_FORM_OPTION_TWICE integer 错误码常量
---@field E_FORM_UNKNOWN_OPTION integer 错误码常量
---@field E_FTP_ACCEPT_FAILED integer 错误码常量
---@field E_FTP_ACCEPT_TIMEOUT integer 错误码常量
---@field E_FTP_BAD_FILE_LIST integer 错误码常量
---@field E_FTP_CANT_GET_HOST integer 错误码常量
---@field E_FTP_COULDNT_RETR_FILE integer 错误码常量
---@field E_FTP_COULDNT_SET_TYPE integer 错误码常量
---@field E_FTP_COULDNT_USE_REST integer 错误码常量
---@field E_FTP_PORT_FAILED integer 错误码常量
---@field E_FTP_PRET_FAILED integer 错误码常量
---@field E_FTP_WEIRD_227_FORMAT integer 错误码常量
---@field E_FTP_WEIRD_PASS_REPLY integer 错误码常量
---@field E_FTP_WEIRD_PASV_REPLY integer 错误码常量
---@field E_FTP_WEIRD_SERVER_REPLY integer 错误码常量
---@field E_FUNCTION_NOT_FOUND integer 错误码常量
---@field E_GOT_NOTHING integer 错误码常量
---@field E_HTTP2 integer 错误码常量
---@field E_HTTP2_STREAM integer 错误码常量
---@field E_HTTP3 integer 错误码常量
---@field E_HTTP_POST_ERROR integer 错误码常量
---@field E_HTTP_RETURNED_ERROR integer 错误码常量
---@field E_INTERFACE_FAILED integer 错误码常量
---@field E_LDAP_CANNOT_BIND integer 错误码常量
---@field E_LDAP_INVALID_URL integer 错误码常量
---@field E_LDAP_SEARCH_FAILED integer 错误码常量
---@field E_LOGIN_DENIED integer 错误码常量
---@field E_MULTI_ADDED_ALREADY integer 错误码常量
---@field E_MULTI_BAD_EASY_HANDLE integer 错误码常量
---@field E_MULTI_BAD_HANDLE integer 错误码常量
---@field E_MULTI_BAD_SOCKET integer 错误码常量
---@field E_MULTI_CALL_MULTI_PERFORM integer 错误码常量
---@field E_MULTI_INTERNAL_ERROR integer 错误码常量
---@field E_MULTI_OK integer 错误码常量
---@field E_MULTI_OUT_OF_MEMORY integer 错误码常量
---@field E_MULTI_RECURSIVE_API_CALL integer 错误码常量
---@field E_MULTI_UNKNOWN_OPTION integer 错误码常量
---@field E_NOT_BUILT_IN integer 错误码常量
---@field E_NO_CONNECTION_AVAILABLE integer 错误码常量
---@field E_OBSOLETE16 integer 错误码常量
---@field E_OBSOLETE20 integer 错误码常量
---@field E_OBSOLETE24 integer 错误码常量
---@field E_OBSOLETE29 integer 错误码常量
---@field E_OBSOLETE32 integer 错误码常量
---@field E_OBSOLETE40 integer 错误码常量
---@field E_OBSOLETE44 integer 错误码常量
---@field E_OBSOLETE46 integer 错误码常量
---@field E_OBSOLETE50 integer 错误码常量
---@field E_OBSOLETE51 integer 错误码常量
---@field E_OBSOLETE57 integer 错误码常量
---@field E_OK integer 错误码常量
---@field E_OPERATION_TIMEDOUT integer 错误码常量
---@field E_OUT_OF_MEMORY integer 错误码常量
---@field E_PARTIAL_FILE integer 错误码常量
---@field E_PEER_FAILED_VERIFICATION integer 错误码常量
---@field E_PROXY integer 错误码常量
---@field E_QUIC_CONNECT_ERROR integer 错误码常量
---@field E_QUOTE_ERROR integer 错误码常量
---@field E_RANGE_ERROR integer 错误码常量
---@field E_READ_ERROR integer 错误码常量
---@field E_RECURSIVE_API_CALL integer 错误码常量
---@field E_RECV_ERROR integer 错误码常量
---@field E_REMOTE_ACCESS_DENIED integer 错误码常量
---@field E_REMOTE_DISK_FULL integer 错误码常量
---@field E_REMOTE_FILE_EXISTS integer 错误码常量
---@field E_REMOTE_FILE_NOT_FOUND integer 错误码常量
---@field E_RTSP_CSEQ_ERROR integer 错误码常量
---@field E_RTSP_SESSION_ERROR integer 错误码常量
---@field E_SEND_ERROR integer 错误码常量
---@field E_SEND_FAIL_REWIND integer 错误码常量
---@field E_SHARE_BAD_OPTION integer 错误码常量
---@field E_SHARE_INVALID integer 错误码常量
---@field E_SHARE_IN_USE integer 错误码常量
---@field E_SHARE_NOMEM integer 错误码常量
---@field E_SHARE_NOT_BUILT_IN integer 错误码常量
---@field E_SHARE_OK integer 错误码常量
---@field E_SSH integer 错误码常量
---@field E_SSL_CACERT integer 错误码常量
---@field E_SSL_CACERT_BADFILE integer 错误码常量
---@field E_SSL_CERTPROBLEM integer 错误码常量
---@field E_SSL_CIPHER integer 错误码常量
---@field E_SSL_CONNECT_ERROR integer 错误码常量
---@field E_SSL_CRL_BADFILE integer 错误码常量
---@field E_SSL_ENGINE_INITFAILED integer 错误码常量
---@field E_SSL_ENGINE_NOTFOUND integer 错误码常量
---@field E_SSL_ENGINE_SETFAILED integer 错误码常量
---@field E_SSL_INVALIDCERTSTATUS integer 错误码常量
---@field E_SSL_ISSUER_ERROR integer 错误码常量
---@field E_SSL_PINNEDPUBKEYNOTMATCH integer 错误码常量
---@field E_SSL_SHUTDOWN_FAILED integer 错误码常量
---@field E_TELNET_OPTION_SYNTAX integer 错误码常量
---@field E_TFTP_ILLEGAL integer 错误码常量
---@field E_TFTP_NOSUCHUSER integer 错误码常量
---@field E_TFTP_NOTFOUND integer 错误码常量
---@field E_TFTP_PERM integer 错误码常量
---@field E_TFTP_UNKNOWNID integer 错误码常量
---@field E_TOO_MANY_REDIRECTS integer 错误码常量
---@field E_UNKNOWN_OPTION integer 错误码常量
---@field E_UNKNOWN_TELNET_OPTION integer 错误码常量
---@field E_UNSUPPORTED_PROTOCOL integer 错误码常量
---@field E_UPLOAD_FAILED integer 错误码常量
---@field E_URL_BAD_HANDLE integer 错误码常量
---@field E_URL_BAD_PARTPOINTER integer 错误码常量
---@field E_URL_BAD_PORT_NUMBER integer 错误码常量
---@field E_URL_MALFORMAT integer 错误码常量
---@field E_URL_MALFORMED_INPUT integer 错误码常量
---@field E_URL_NO_FRAGMENT integer 错误码常量
---@field E_URL_NO_HOST integer 错误码常量
---@field E_URL_NO_OPTIONS integer 错误码常量
---@field E_URL_NO_PASSWORD integer 错误码常量
---@field E_URL_NO_PORT integer 错误码常量
---@field E_URL_NO_QUERY integer 错误码常量
---@field E_URL_NO_SCHEME integer 错误码常量
---@field E_URL_NO_USER integer 错误码常量
---@field E_URL_OK integer 错误码常量
---@field E_URL_OUT_OF_MEMORY integer 错误码常量
---@field E_URL_UNKNOWN_PART integer 错误码常量
---@field E_URL_UNSUPPORTED_SCHEME integer 错误码常量
---@field E_URL_URLDECODE integer 错误码常量
---@field E_URL_USER_NOT_ALLOWED integer 错误码常量
---@field E_USE_SSL_FAILED integer 错误码常量
---@field E_WEIRD_SERVER_REPLY integer 错误码常量
---@field E_WRITE_ERROR integer 错误码常量
---@type lcurl*
local M = {}

--- 初始化 libcurl。
---@param initMode? integer 初始化模式
---@return boolean|nil ok 成功时返回 true 或模块自身约定值
---@return lcurl_error*? err 错误对象
function M.init(initMode) end

--- 创建错误对象。
---@param category string|integer 错误分类，可用 ERROR_* 常量或分类名
---@param code integer 错误码
---@return lcurl_error* err 错误对象
function M.error(category, code) end

--- 创建 HTTP multipart/formdata 对象。
---@return lcurl_form*? form form 对象
---@return lcurl_error*? err 错误对象
function M.form() end

--- 创建 easy handle。
---@return lcurl_easy*? easy easy handle
---@return lcurl_error*? err 错误对象
function M.easy() end

--- 创建 multi handle。
---@return lcurl_multi*? multi multi handle
---@return lcurl_error*? err 错误对象
function M.multi() end

--- 创建 share handle。
---@param options? table<lcurl_share_option,any>|table<string,any> 初始化选项
---@return lcurl_share*? share share handle
---@return lcurl_error*? err 错误对象
function M.share(options) end

--- 创建 URL 对象。
---@param url? string 初始 URL
---@param flags? lcurl_url_flag URL flag
---@return lcurl_url*? url URL 对象
---@return lcurl_error*? err 错误对象
function M.url(url, flags) end

--- 获取 libcurl 版本字符串。
---@return string version 版本字符串
function M.version() end

--- 获取 libcurl 版本信息。
---@param param? string 指定字段名
---@return lcurl_version_info|any info 版本信息表或指定字段值
function M.version_info(param) end

--- 遍历当前 libcurl 支持的 easy 选项。
---@return fun(state:table):lcurl_easy_option_info? iterator 迭代器
---@return table state 迭代状态
function M.ieasy_options() end

--- 按 ID 查询 easy 选项描述。
---@param id integer 选项 ID
---@return lcurl_easy_option_info? option 选项描述
function M.easy_option_by_id(id) end

--- 按名称查询 easy 选项描述。
---@param name string 选项名称
---@return lcurl_easy_option_info? option 选项描述
function M.easy_option_by_name(name) end

--- 获取调试用的内部注册表。
---@return table registry 内部注册表
function M.__getregistry() end

--- 设置 easy 选项。
---@param option lcurl_option|table<lcurl_option,any>|table<string,any> 选项或选项表
---@param value? any 值
---@param ... any 额外参数
---@return lcurl_easy*? self 当前对象
---@return lcurl_error*? err 错误对象
function lcurl_easy:setopt(option, value, ...) end

--- 重置 easy 选项。
---@param option lcurl_option 选项
---@return lcurl_easy*? self 当前对象
---@return lcurl_error*? err 错误对象
function lcurl_easy:unsetopt(option) end

--- 读取 easy 信息。
---@param info lcurl_info 信息项
---@return any value 信息值
function lcurl_easy:getinfo(info) end

--- 执行 easy 请求。
---@return lcurl_easy*? self 当前对象
---@return lcurl_error*? err 错误对象
function lcurl_easy:perform() end

--- 创建 MIME 表单对象。
---@return lcurl_mime*? mime MIME 对象
---@return lcurl_error*? err 错误对象
function lcurl_easy:mime() end

--- 暂停或恢复传输。
---@param mask integer PAUSE_* 掩码
---@return lcurl_easy*? self 当前对象
---@return lcurl_error*? err 错误对象
function lcurl_easy:pause(mask) end

--- 重置 easy handle 的选项。
---@return lcurl_easy* self 当前对象
function lcurl_easy:reset() end

--- 保持连接活跃。
---@return lcurl_easy*? self 当前对象
---@return lcurl_error*? err 错误对象
function lcurl_easy:upkeep() end

--- URL 编码字符串。
---@param value string 原始字符串
---@return string encoded 编码后的字符串
function lcurl_easy:escape(value) end

--- URL 解码字符串。
---@param value string 编码字符串
---@return string decoded 解码后的字符串
function lcurl_easy:unescape(value) end

--- 关闭 easy handle。
function lcurl_easy:close() end

--- 绑定用户数据。
---@param data any 用户数据
---@return lcurl_easy* self 当前对象
function lcurl_easy:setdata(data) end

--- 读取用户数据。
---@return any data 用户数据
function lcurl_easy:getdata() end

--- 添加 easy handle。
---@param easy lcurl_easy* easy handle
---@return lcurl_multi*? self 当前对象
---@return lcurl_error*? err 错误对象
function lcurl_multi:add_handle(easy) end

--- 移除 easy handle。
---@param easy lcurl_easy* easy handle
---@return lcurl_multi*? self 当前对象
---@return lcurl_error*? err 错误对象
function lcurl_multi:remove_handle(easy) end

--- 执行 multi 传输。
---@return integer? runningHandles 仍在运行的 handle 数
---@return lcurl_error*? err 错误对象
function lcurl_multi:perform() end

--- 读取 multi 完成信息。
---@param remove? boolean 是否同时移除已完成 handle
---@return lcurl_easy*|integer|nil easyOrQueue easy 对象、剩余队列数或 nil
---@return boolean|lcurl_error*? okOrErr 成功标记或错误对象
---@return lcurl_error*? err 错误对象
function lcurl_multi:info_read(remove) end

--- 设置 multi 选项。
---@param option lcurl_multi_option|table<lcurl_multi_option,any>|table<string,any> 选项或选项表
---@param value? any 值
---@param ... any 额外参数
---@return lcurl_multi*? self 当前对象
---@return lcurl_error*? err 错误对象
function lcurl_multi:setopt(option, value, ...) end

--- 等待 multi handle 的网络事件。
---@param timeout? integer 超时毫秒
---@return integer? maxfd 最大 fd 或等待结果
---@return lcurl_error*? err 错误对象
function lcurl_multi:wait(timeout) end

--- 获取 multi 下一次操作前建议等待的毫秒数。
---@return integer? timeout 超时毫秒
---@return lcurl_error*? err 错误对象
function lcurl_multi:timeout() end

--- 执行 socket action。
---@param socket? integer socket，默认 SOCKET_TIMEOUT
---@param mask? integer 事件掩码
---@return integer? runningHandles 仍在运行的 handle 数
---@return lcurl_error*? err 错误对象
function lcurl_multi:socket_action(socket, mask) end

--- 关闭 multi handle。
function lcurl_multi:close() end

--- 绑定用户数据。
---@param data any 用户数据
---@return lcurl_multi* self 当前对象
function lcurl_multi:setdata(data) end

--- 读取用户数据。
---@return any data 用户数据
function lcurl_multi:getdata() end

--- 设置 share 选项。
---@param option lcurl_share_option|table<lcurl_share_option,any>|table<string,any> 选项或选项表
---@param value? any 值
---@param ... any 额外参数
---@return lcurl_share*? self 当前对象
---@return lcurl_error*? err 错误对象
function lcurl_share:setopt(option, value, ...) end

--- 关闭 share handle。
function lcurl_share:close() end

--- 添加普通内容 part。
---@param name string 字段名
---@param content string 内容
---@param typeOrHeaders? string|lcurl_headers MIME 类型或 headers
---@param headers? lcurl_headers 附加头
---@return lcurl_form*? self 当前对象
---@return lcurl_error*? err 错误对象
function lcurl_form:add_content(name, content, typeOrHeaders, headers) end

--- 添加内存缓冲区文件 part。
---@param name string 字段名
---@param filename string 文件名
---@param content string 内容
---@param type? string MIME 类型
---@param headers? lcurl_headers 附加头
---@return lcurl_form*? self 当前对象
---@return lcurl_error*? err 错误对象
function lcurl_form:add_buffer(name, filename, content, type, headers) end

--- 添加本地文件 part。
---@param name string 字段名
---@param path string 文件路径
---@param type? string MIME 类型
---@param filenameOrHeaders? string|lcurl_headers 文件名或 headers
---@param headers? lcurl_headers 附加头
---@return lcurl_form*? self 当前对象
---@return lcurl_error*? err 错误对象
function lcurl_form:add_file(name, path, type, filenameOrHeaders, headers) end

--- 添加流式 part。
---@param name string 字段名
---@param ... any filename/type/headers/size/reader/context 组合
---@return lcurl_form*? self 当前对象
---@return lcurl_error*? err 错误对象
function lcurl_form:add_stream(name, ...) end

--- 添加一个字段下的多个文件。
---@param name string 字段名
---@param files table 文件数组
---@return lcurl_form*? self 当前对象
---@return lcurl_error*? err 错误对象
function lcurl_form:add_files(name, files) end

--- 序列化 multipart/formdata。
---@param writer? function|table|userdata 写入函数或对象
---@param context? any 写入上下文
---@return string|lcurl_form*? dataOrSelf 未传 writer 时返回字符串，否则返回自身
---@return lcurl_error*? err 错误对象
function lcurl_form:get(writer, context) end

--- 释放 form。
function lcurl_form:free() end

--- 添加 MIME part。
---@param part? table part 描述
---@return lcurl_mime_part*? part MIME part
---@return lcurl_error*? err 错误对象
function lcurl_mime:addpart(part) end

--- 返回创建该 MIME 对象的 easy handle。
---@return lcurl_easy* easy easy handle
function lcurl_mime:easy() end

--- 释放 MIME 对象。
function lcurl_mime:free() end

--- 设置 part 数据。
---@param data string|false 数据，false 表示清空
---@param type? string|false MIME 类型
---@param name? string|false 字段名
---@param filenameOrHeaders? string|false|lcurl_headers 文件名或 headers
---@param headers? lcurl_headers 附加头
---@return lcurl_mime_part*? self 当前对象
---@return lcurl_error*? err 错误对象
function lcurl_mime_part:data(data, type, name, filenameOrHeaders, headers) end

--- 设置 part 为本地文件。
---@param path string 文件路径
---@param type? string|false MIME 类型
---@param name? string|false 字段名
---@param filenameOrHeaders? string|false|lcurl_headers 文件名或 headers
---@param headers? lcurl_headers 附加头
---@return lcurl_mime_part*? self 当前对象
---@return lcurl_error*? err 错误对象
function lcurl_mime_part:filedata(path, type, name, filenameOrHeaders, headers) end

--- 设置嵌套 MIME。
---@param mime lcurl_mime* 子 MIME 对象
---@param type? string|false MIME 类型
---@param name? string|false 字段名
---@param filenameOrHeaders? string|false|lcurl_headers 文件名或 headers
---@param headers? lcurl_headers 附加头
---@return lcurl_mime_part*? self 当前对象
---@return lcurl_error*? err 错误对象
function lcurl_mime_part:subparts(mime, type, name, filenameOrHeaders, headers) end

--- 设置 part headers。
---@param headers lcurl_headers|false headers，false 表示清空
---@return lcurl_mime_part*? self 当前对象
---@return lcurl_error*? err 错误对象
function lcurl_mime_part:headers(headers) end

--- 设置 part MIME 类型。
---@param type string|false MIME 类型，false 表示清空
---@return lcurl_mime_part*? self 当前对象
---@return lcurl_error*? err 错误对象
function lcurl_mime_part:type(type) end

--- 设置 part 字段名。
---@param name string|false 字段名，false 表示清空
---@return lcurl_mime_part*? self 当前对象
---@return lcurl_error*? err 错误对象
function lcurl_mime_part:name(name) end

--- 设置 part 文件名。
---@param filename string|false 文件名，false 表示清空
---@return lcurl_mime_part*? self 当前对象
---@return lcurl_error*? err 错误对象
function lcurl_mime_part:filename(filename) end

--- 设置 part 传输编码。
---@param encoder string|false 编码名，false 表示清空
---@return lcurl_mime_part*? self 当前对象
---@return lcurl_error*? err 错误对象
function lcurl_mime_part:encoder(encoder) end

--- 释放 MIME part。
function lcurl_mime_part:free() end

--- 复制 URL 对象。
---@return lcurl_url*? url URL 对象
---@return lcurl_error*? err 错误对象
function lcurl_url:dup() end

--- 释放 URL 对象。
function lcurl_url:cleanup() end

return M
