Property definitions

curl $ CURLOption :: defaultinit
# Reproduce Enum of CURL Options usable, used for NativeCurl.easy_setopt
extern class CURLOption `{ CURLoption `}

	# Behavior options

	# Display verbose information.
	new verbose `{ return CURLOPT_VERBOSE; `}

	# Include the header in the body output.
	new header `{ return CURLOPT_HEADER; `}

	# Shut off the progress meter.
	new no_progress `{ return CURLOPT_NOPROGRESS; `}

	# Do not install signal handlers.
	new	no_signal `{ return CURLOPT_NOSIGNAL; `}

	# Transfer multiple files according to a file name pattern.
	new	wild_card_match `{ return CURLOPT_WILDCARDMATCH; `}

	# Callback Options

	# Callback for writing data.
	new write_function `{ return CURLOPT_WRITEFUNCTION; `}

	# Data pointer to pass to the write callback.
	new write_data `{ return CURLOPT_WRITEDATA; `}

#	new	`{ return CURLOPT_READFUNCTION; `}
#	new `{ return CURLOPT_READDATA; `}
#	new	`{ return CURLOPT_IOCTLFUNCTION; `}
#	new	`{ return CURLOPT_IOCTLDATA; `}
#	new	`{ return CURLOPT_SEEKFUNCTION; `}
#	new	`{ return CURLOPT_SEEKDATA; `}
#	new	`{ return CURLOPT_SOCKOPTFUNCTION; `}
#	new	`{ return CURLOPT_SOCKOPTDATA; `}
#	new	`{ return CURLOPT_OPENSOCKETFUNCTION; `}
#	new	`{ return CURLOPT_OPENSOCKETDATA; `}
#	new	`{ return CURLOPT_CLOSESOCKETFUNCTION; `}
#	new	`{ return CURLOPT_CLOSESOCKETDATA; `}
#	new	`{ return CURLOPT_PROGRESSFUNCTION; `}
#	new	`{ return CURLOPT_PROGRESSDATA; `}
#	new	`{ return CURLOPT_HEADERFUNCTION; `}
#	new	`{ return CURLOPT_DEBUGFUNCTION; `}
#	new	`{ return CURLOPT_DEBUGDATA; `}
#	new	`{ return CURLOPT_SSL_CTX_FUNCTION; `}
#	new	`{ return CURLOPT_SSL_CTX_DATA; `}
#	new	`{ return CURLOPT_CONV_TO_NETWORK_FUNCTION; `}
#	new	`{ return CURLOPT_CONV_FROM_NETWORK_FUNCTION; `}
#	new	`{ return CURLOPT_CONV_FROM_UTF8_FUNCTION; `}
#	new	`{ return CURLOPT_INTERLEAVEFUNCTION; `}
#	new	`{ return CURLOPT_INTERLEAVEDATA; `}
#	new	`{ return CURLOPT_CHUNK_BGN_FUNCTION; `}
#	new	`{ return CURLOPT_CHUNK_END_FUNCTION; `}
#	new	`{ return CURLOPT_CHUNK_DATA; `}
#	new	`{ return CURLOPT_FNMATCH_FUNCTION; `}
#	new	`{ return CURLOPT_FNMATCH_DATA; `}

	# Error Options

#	new	`{ return CURLOPT_ERRORBUFFER; `}
#	new	`{ return CURLOPT_STDERR; `}

	# Fail on HTTP 4xx errors.
	new fail_on_error `{ return CURLOPT_FAILONERROR; `}

	# Networkd Options

	# URL to work on.
	new url `{ return CURLOPT_URL; `}

#	new	`{ return CURLOPT_PROTOCOLS; `}
#	new	`{ return CURLOPT_REDIR_PROTOCOLS; `}
#	new	`{ return CURLOPT_PROXY; `}
#	new	`{ return CURLOPT_PROXYPORT; `}
#	new	`{ return CURLOPT_PROXYTYPE; `}
#	new	`{ return CURLOPT_NOPROXY; `}
#	new	`{ return CURLOPT_HTTPPROXYTUNNEL; `}
#	new	`{ return CURLOPT_SOCKS5_GSSAPI_SERVICE; `}
#	new	`{ return CURLOPT_SOCKS5_GSSAPI_NEC; `}
#	new	`{ return CURLOPT_INTERFACE; `}
#	new	`{ return CURLOPT_LOCALPORT; `}
#	new	`{ return CURLOPT_LOCALPORTRANGE; `}
#	new	`{ return CURLOPT_DNS_CACHE_TIMEOUT; `}
#	new	`{ return CURLOPT_DNS_USE_GLOBAL_CACHE; `} /* DEPRECATED, do not use! */
#	new	`{ return CURLOPT_BUFFERSIZE; `}
#	new	`{ return CURLOPT_PORT; `}
#	new	`{ return CURLOPT_TCP_NODELAY; `}
#	new	`{ return CURLOPT_ADDRESS_SCOPE; `}
#	new	`{ return CURLOPT_TCP_KEEPALIVE; `}
#	new	`{ return CURLOPT_TCP_KEEPIDLE; `}
#	new	`{ return CURLOPT_TCP_KEEPINTVL; `}

	# Names and Passwords Options

#	new	`{ return CURLOPT_NETRC; `}
#	new	`{ return CURLOPT_NETRC_FILE; `}
#	new	`{ return CURLOPT_USERPWD; `}
#	new	`{ return CURLOPT_PROXYUSERPWD; `}

	new	username `{ return CURLOPT_USERNAME; `}
	new	password `{ return CURLOPT_PASSWORD; `}

#	new	`{ return CURLOPT_PROXYUSERNAME; `}
#	new	`{ return CURLOPT_PROXYPASSWORD; `}
#	new	`{ return CURLOPT_HTTPAUTH; `}
#	new	`{ return CURLOPT_TLSAUTH_USERNAME; `}
#	new	`{ return CURLOPT_TLSAUTH_PASSWORD; `}
#	new	`{ return CURLOPT_PROXYAUTH; `}

	# HTTP Options

#	new	`{ return CURLOPT_AUTOREFERER; `}

	# Accept-Encoding and automatic decompressing data.
	new	accept_encoding `{ return CURLOPT_ACCEPT_ENCODING; `}

	# Request Transfer-Encoding.
	new	transfert_encoding `{ return CURLOPT_TRANSFER_ENCODING; `}

	# Follow HTTP redirects.
	new follow_location `{ return CURLOPT_FOLLOWLOCATION; `}

#	new	`{ return CURLOPT_UNRESTRICTED_AUTH; `}
#	new	`{ return CURLOPT_MAXREDIRS; `}
#	new	`{ return CURLOPT_POSTREDIR; `}

	# Issue a HTTP PUT request.
	new put `{ return CURLOPT_PUT; `}

	# Issue a HTTP POS request.
	new post `{ return CURLOPT_POST; `}

	# Send a POST with this data.
	new postfields `{ return CURLOPT_POSTFIELDS; `}

#	new	`{ return CURLOPT_POSTFIELDSIZE; `}
#	new	`{ return CURLOPT_POSTFIELDSIZE_LARGE; `}
#	new	`{ return CURLOPT_COPYPOSTFIELDS; `}
#	new	`{ return CURLOPT_HTTPPOST; `}
#	new	`{ return CURLOPT_REFERER; `}

	# User-Agent: header.
	new user_agent	`{ return CURLOPT_USERAGENT; `}

	# Custom HTTP headers.
	new httpheader `{ return CURLOPT_HTTPHEADER; `}

#	new	`{ return CURLOPT_HTTP200ALIASES; `}
#	new	`{ return CURLOPT_COOKIE; `}
#	new	`{ return CURLOPT_COOKIEFILE; `}
#	new	`{ return CURLOPT_COOKIEJAR; `}
#	new	`{ return CURLOPT_COOKIESESSION; `}
#	new	`{ return CURLOPT_COOKIELIST; `}

	# Issue a HTTP GET request.
	new	get `{ return CURLOPT_HTTPGET; `}

	# HTTP version to use.
	new http_version `{ return CURLOPT_HTTP_VERSION; `}

#	new	`{ return CURLOPT_IGNORE_CONTENT_LENGTH; `}
#	new	`{ return CURLOPT_HTTP_CONTENT_DECODING; `}
#	new	`{ return CURLOPT_HTTP_TRANSFER_DECODING; `}

	# SMTP Options

	# Address of the sender.
	new	mail_from `{ return CURLOPT_MAIL_FROM; `}

	# Address of the recipients.
	new	mail_rcpt `{ return CURLOPT_MAIL_RCPT; `}

#	new	`{ return CURLOPT_MAIL_AUTH; `}

	# TFTP Options

#	new	`{ return CURLOPT_TFTP_BLKSIZE; `}

	# FTP Options

#	new	`{ return CURLOPT_FTPPORT; `}
#	new	`{ return CURLOPT_QUOTE; `}
#	new	`{ return CURLOPT_POSTQUOTE; `}
#	new	`{ return CURLOPT_PREQUOTE; `}

	# List only.
	new dir_list_only `{ return CURLOPT_DIRLISTONLY; `}

	# Append to remote file.
	new append `{ return CURLOPT_APPEND; `}

#	new	`{ return CURLOPT_FTP_USE_EPRT; `}
#	new	`{ return CURLOPT_FTP_USE_EPSV; `}
#	new	`{ return CURLOPT_FTP_USE_PRET; `}
#	new	`{ return CURLOPT_FTP_CREATE_MISSING_DIRS; `}
#	new	`{ return CURLOPT_FTP_RESPONSE_TIMEOUT; `}
#	new	`{ return CURLOPT_FTP_ALTERNATIVE_TO_USER; `}
#	new	`{ return CURLOPT_FTP_SKIP_PASV_IP; `}
#	new	`{ return CURLOPT_FTPSSLAUTH; `}
#	new	`{ return CURLOPT_FTP_SSL_CCC; `}
#	new	`{ return CURLOPT_FTP_ACCOUNT; `}
#	new	`{ return CURLOPT_FTP_FILEMETHOD; `}

	# RTSP Options

#	new	`{ return CURLOPT_RTSP_REQUEST; `}
#	new	`{ return CURLOPT_RTSP_SESSION_ID; `}
#	new	`{ return CURLOPT_RTSP_STREAM_URI; `}
#	new	`{ return CURLOPT_RTSP_TRANSPORT; `}
#	new	`{ return CURLOPT_RTSP_CLIENT_CSEQ; `}
#	new	`{ return CURLOPT_RTSP_SERVER_CSEQ; `}

	# Protocol Options

	# Transfer data in text/ASCII format.
	new transfert_text `{ return CURLOPT_TRANSFERTEXT; `}

#	new	`{ return CURLOPT_PROXY_TRANSFER_MODE; `}
#	new	`{ return CURLOPT_CRLF; `}
#	new	`{ return CURLOPT_RANGE; `}
#	new	`{ return CURLOPT_RESUME_FROM; `}
#	new	`{ return CURLOPT_RESUME_FROM_LARGE; `}

	# Issue a custom request/method.
	new	custom_request `{ return CURLOPT_CUSTOMREQUEST; `}

#	new	`{ return CURLOPT_FILETIME; `}

	# Do not get the body contents.
	new no_body `{ return CURLOPT_NOBODY; `}

#	new	`{ return CURLOPT_INFILESIZE; `}
#	new	`{ return CURLOPT_INFILESIZE_LARGE; `}

	# Upload data.
	new upload `{ return CURLOPT_UPLOAD; `}

#	new	`{ return CURLOPT_MAXFILESIZE; `}
#	new	`{ return CURLOPT_MAXFILESIZE_LARGE; `}
#	new	`{ return CURLOPT_TIMECONDITION; `}
#	new	`{ return CURLOPT_TIMEVALUE; `}

	# Connection Options

	# Set maximum time the request is allowed to take.
	new	timeout `{ return CURLOPT_TIMEOUT; `}

	# Set maximum time the request is allowed to take (in ms).
	new	timeout_ms `{ return CURLOPT_TIMEOUT_MS; `}

#	new	`{ return CURLOPT_LOW_SPEED_LIMIT; `}
#	new	`{ return CURLOPT_LOW_SPEED_TIME; `}
#	new	`{ return CURLOPT_MAX_SEND_SPEED_LARGE; `}
#	new	`{ return CURLOPT_MAX_RECV_SPEED_LARGE; `}
#	new	`{ return CURLOPT_MAXCONNECTS; `}
#	new	`{ return CURLOPT_FRESH_CONNECT; `}
#	new	`{ return CURLOPT_FORBID_REUSE; `}
#	new	`{ return CURLOPT_CONNECTTIMEOUT; `}
#	new	`{ return CURLOPT_CONNECTTIMEOUT_MS; `}
#	new	`{ return CURLOPT_IPRESOLVE; `}
#	new	`{ return CURLOPT_CONNECT_ONLY; `}
#	new	`{ return CURLOPT_USE_SSL; `}
#	new	`{ return CURLOPT_RESOLVE; `}
#	new	`{ return CURLOPT_ACCEPTTIMEOUT_MS; `}

	# SSL and Security Options

#	new	`{ return CURLOPT_SSLCERT; `}
#	new	`{ return CURLOPT_SSLCERTTYPE; `}
#	new	`{ return CURLOPT_SSLKEY; `}
#	new	`{ return CURLOPT_SSLKEYTYPE; `}
#	new	`{ return CURLOPT_KEYPASSWD; `}
#	new	`{ return CURLOPT_SSLENGINE; `}
#	new	`{ return CURLOPT_SSLENGINE_DEFAULT; `}
#	new	`{ return CURLOPT_SSLVERSION; `}
#	new	`{ return CURLOPT_SSL_VERIFYPEER; `}
#	new	`{ return CURLOPT_CAINFO; `}
#	new	`{ return CURLOPT_ISSUERCERT; `}
#	new	`{ return CURLOPT_CAPATH; `}
#	new	`{ return CURLOPT_CRLFILE; `}
#	new	`{ return CURLOPT_SSL_VERIFYHOST; `}
#	new	`{ return CURLOPT_CERTINFO; `}
#	new	`{ return CURLOPT_RANDOM_FILE; `}
#	new	`{ return CURLOPT_EGDSOCKET; `}
#	new	`{ return CURLOPT_SSL_CIPHER_LIST; `}
#	new	`{ return CURLOPT_SSL_SESSIONID_CACHE; `}
#	new	`{ return CURLOPT_SSL_OPTIONS; `}
#	new	`{ return CURLOPT_KRBLEVEL; `}
#	new	`{ return CURLOPT_GSSAPI_DELEGATION; `}

	# SSH Options

#	new	`{ return CURLOPT_SSH_AUTH_TYPES; `}
#	new	`{ return CURLOPT_SSH_HOST_PUBLIC_KEY_MD5; `}
#	new	`{ return CURLOPT_SSH_PUBLIC_KEYFILE; `}
#	new	`{ return CURLOPT_SSH_PRIVATE_KEYFILE; `}
#	new	`{ return CURLOPT_SSH_KNOWNHOSTS; `}
#	new	`{ return CURLOPT_SSH_KEYFUNCTION; `}
#	new	`{ return CURLOPT_SSH_KEYDATA; `}

	# TELNET Options

#	new	`{ return CURLOPT_TELNETOPTIONS; `}

	# Other Options

#	new	`{ return CURLOPT_PRIVATE; `}
#	new	`{ return CURLOPT_SHARE; `}
#	new	`{ return CURLOPT_NEW_FILE_PERMS; `}
#	new	`{ return CURLOPT_NEW_DIRECTORY_PERMS; `}

	# Set the Unix domain socket
	new unix_socket_path `{ return CURLOPT_UNIX_SOCKET_PATH; `}
end
lib/curl/native_curl.nit:454,1--768,3