<?php declare(strict_types=1);

namespace massivedynamic\curl;

enum Option : int {
	case AUTOREFERER               = CURLOPT_AUTOREFERER;
	case COOKIESESSION             = CURLOPT_COOKIESESSION;
	case DOH_URL                   = CURLOPT_DOH_URL;
	case DNS_USE_GLOBAL_CACHE      = CURLOPT_DNS_USE_GLOBAL_CACHE;
	case DNS_CACHE_TIMEOUT         = CURLOPT_DNS_CACHE_TIMEOUT;
	case PRIVATE                   = CURLOPT_PRIVATE;
	case FTPSSLAUTH                = CURLOPT_FTPSSLAUTH;
	case PORT                      = CURLOPT_PORT;
	case FILE                      = CURLOPT_FILE;
	case INFILE                    = CURLOPT_INFILE;
	case INFILESIZE                = CURLOPT_INFILESIZE;
	case ISSUERCERT_BLOB           = CURLOPT_ISSUERCERT_BLOB;
	case URL                       = CURLOPT_URL;
	case PROXY                     = CURLOPT_PROXY;
	case PROXY_ISSUERCERT          = CURLOPT_PROXY_ISSUERCERT;
	case PROXY_ISSUERCERT_BLOB     = CURLOPT_PROXY_ISSUERCERT_BLOB;
	case PROXY_SSLCERT_BLOB        = CURLOPT_PROXY_SSLCERT_BLOB;
	case PROXY_SSLKEY_BLOB         = CURLOPT_PROXY_SSLKEY_BLOB;
	case VERBOSE                   = CURLOPT_VERBOSE;
	case HEADER                    = CURLOPT_HEADER;
	case HTTPHEADER                = CURLOPT_HTTPHEADER;
	case NOPROGRESS                = CURLOPT_NOPROGRESS;
	case NOBODY                    = CURLOPT_NOBODY;
	case FAILONERROR               = CURLOPT_FAILONERROR;
	case UPLOAD                    = CURLOPT_UPLOAD;
	case POST                      = CURLOPT_POST;
	case FTPLISTONLY               = CURLOPT_FTPLISTONLY;
	case FTPAPPEND                 = CURLOPT_FTPAPPEND;
	case FTP_CREATE_MISSING_DIRS   = CURLOPT_FTP_CREATE_MISSING_DIRS;
	case NETRC                     = CURLOPT_NETRC;
	case FOLLOWLOCATION            = CURLOPT_FOLLOWLOCATION;
	case PUT                       = CURLOPT_PUT;
	case USERPWD                   = CURLOPT_USERPWD;
	case PROXYUSERPWD              = CURLOPT_PROXYUSERPWD;
	case RANGE                     = CURLOPT_RANGE;
	case TIMEOUT                   = CURLOPT_TIMEOUT;
	case TIMEOUT_MS                = CURLOPT_TIMEOUT_MS;
	case TCP_NODELAY               = CURLOPT_TCP_NODELAY;
	case POSTFIELDS                = CURLOPT_POSTFIELDS;
	case PROGRESSFUNCTION          = CURLOPT_PROGRESSFUNCTION;
	case REFERER                   = CURLOPT_REFERER;
	case USERAGENT                 = CURLOPT_USERAGENT;
	case FTPPORT                   = CURLOPT_FTPPORT;
	case FTP_USE_EPSV              = CURLOPT_FTP_USE_EPSV;
	case LOW_SPEED_LIMIT           = CURLOPT_LOW_SPEED_LIMIT;
	case LOW_SPEED_TIME            = CURLOPT_LOW_SPEED_TIME;
	case RESUME_FROM               = CURLOPT_RESUME_FROM;
	case COOKIE                    = CURLOPT_COOKIE;
	case COOKIELIST                = CURLOPT_COOKIELIST;
	case SSLCERT                   = CURLOPT_SSLCERT;
	case SSLCERT_BLOB              = CURLOPT_SSLCERT_BLOB;
	case SSLCERTPASSWD             = CURLOPT_SSLCERTPASSWD;
	case SSLKEY_BLOB               = CURLOPT_SSLKEY_BLOB;
	case WRITEHEADER               = CURLOPT_WRITEHEADER;
	case SSL_VERIFYHOST            = CURLOPT_SSL_VERIFYHOST;
	case COOKIEFILE                = CURLOPT_COOKIEFILE;
	case SSLVERSION                = CURLOPT_SSLVERSION;
	case TIMECONDITION             = CURLOPT_TIMECONDITION;
	case TIMEVALUE                 = CURLOPT_TIMEVALUE;
	case CUSTOMREQUEST             = CURLOPT_CUSTOMREQUEST;
	case STDERR                    = CURLOPT_STDERR;
	case TRANSFERTEXT              = CURLOPT_TRANSFERTEXT;
	case RETURNTRANSFER            = CURLOPT_RETURNTRANSFER;
	case QUOTE                     = CURLOPT_QUOTE;
	case POSTQUOTE                 = CURLOPT_POSTQUOTE;
	case INTERFACE                 = CURLOPT_INTERFACE;
	case KRB4LEVEL                 = CURLOPT_KRB4LEVEL;
	case HTTPPROXYTUNNEL           = CURLOPT_HTTPPROXYTUNNEL;
	case FILETIME                  = CURLOPT_FILETIME;
	case WRITEFUNCTION             = CURLOPT_WRITEFUNCTION;
	case READFUNCTION              = CURLOPT_READFUNCTION;
	case HEADERFUNCTION            = CURLOPT_HEADERFUNCTION;
	case MAXREDIRS                 = CURLOPT_MAXREDIRS;
	case MAXCONNECTS               = CURLOPT_MAXCONNECTS;
	case FRESH_CONNECT             = CURLOPT_FRESH_CONNECT;
	case FORBID_REUSE              = CURLOPT_FORBID_REUSE;
	case RANDOM_FILE               = CURLOPT_RANDOM_FILE;
	case EGDSOCKET                 = CURLOPT_EGDSOCKET;
	case CONNECTTIMEOUT            = CURLOPT_CONNECTTIMEOUT;
	case CONNECTTIMEOUT_MS         = CURLOPT_CONNECTTIMEOUT_MS;
	case SSL_VERIFYPEER            = CURLOPT_SSL_VERIFYPEER;
	case CAINFO                    = CURLOPT_CAINFO;
	case CAPATH                    = CURLOPT_CAPATH;
	case COOKIEJAR                 = CURLOPT_COOKIEJAR;
	case SSL_CIPHER_LIST           = CURLOPT_SSL_CIPHER_LIST;
	case NOSIGNAL                  = CURLOPT_NOSIGNAL;
	case PROXYTYPE                 = CURLOPT_PROXYTYPE;
	case BUFFERSIZE                = CURLOPT_BUFFERSIZE;
	case HTTPGET                   = CURLOPT_HTTPGET;
	case HTTP_VERSION              = CURLOPT_HTTP_VERSION;
	case SSLKEY                    = CURLOPT_SSLKEY;
	case SSLKEYTYPE                = CURLOPT_SSLKEYTYPE;
	case SSLENGINE                 = CURLOPT_SSLENGINE;
	case SSLENGINE_DEFAULT         = CURLOPT_SSLENGINE_DEFAULT;
	case SSLCERTTYPE               = CURLOPT_SSLCERTTYPE;
	case CRLF                      = CURLOPT_CRLF;
	case ENCODING                  = CURLOPT_ENCODING;
	case PROXYPORT                 = CURLOPT_PROXYPORT;
	case UNRESTRICTED_AUTH         = CURLOPT_UNRESTRICTED_AUTH;
	case FTP_USE_EPRT              = CURLOPT_FTP_USE_EPRT;
	case HTTP200ALIASES            = CURLOPT_HTTP200ALIASES;
	case HTTPAUTH                  = CURLOPT_HTTPAUTH;
	case PROXYAUTH                 = CURLOPT_PROXYAUTH;
	case MAX_RECV_SPEED_LARGE      = CURLOPT_MAX_RECV_SPEED_LARGE;
	case MAX_SEND_SPEED_LARGE      = CURLOPT_MAX_SEND_SPEED_LARGE;
	case HEADEROPT                 = CURLOPT_HEADEROPT;
	case PROXYHEADER               = CURLOPT_PROXYHEADER;
	case SSH_AUTH_TYPES            = CURLOPT_SSH_AUTH_TYPES;
	case SSH_HOST_PUBLIC_KEY_MD5   = CURLOPT_SSH_HOST_PUBLIC_KEY_MD5;
	case SSH_PRIVATE_KEYFILE       = CURLOPT_SSH_PRIVATE_KEYFILE;
	case SSH_PUBLIC_KEYFILE        = CURLOPT_SSH_PUBLIC_KEYFILE;
	case SSL_OPTIONS               = CURLOPT_SSL_OPTIONS;
	case USERNAME                  = CURLOPT_USERNAME;
	case SASL_IR                   = CURLOPT_SASL_IR;
	case DNS_INTERFACE             = CURLOPT_DNS_INTERFACE;
	case DNS_LOCAL_IP4             = CURLOPT_DNS_LOCAL_IP4;
	case DNS_LOCAL_IP6             = CURLOPT_DNS_LOCAL_IP6;
	case XOAUTH2_BEARER            = CURLOPT_XOAUTH2_BEARER;
	case LOGIN_OPTIONS             = CURLOPT_LOGIN_OPTIONS;
	case EXPECT_100_TIMEOUT_MS     = CURLOPT_EXPECT_100_TIMEOUT_MS;
	case SSL_ENABLE_ALPN           = CURLOPT_SSL_ENABLE_ALPN;
	case SSL_ENABLE_NPN            = CURLOPT_SSL_ENABLE_NPN;
	case PINNEDPUBLICKEY           = CURLOPT_PINNEDPUBLICKEY;
	case UNIX_SOCKET_PATH          = CURLOPT_UNIX_SOCKET_PATH;
	case SSL_VERIFYSTATUS          = CURLOPT_SSL_VERIFYSTATUS;
	case PATH_AS_IS                = CURLOPT_PATH_AS_IS;
	case SSL_FALSESTART            = CURLOPT_SSL_FALSESTART;
	case PIPEWAIT                  = CURLOPT_PIPEWAIT;
	case PROXY_SERVICE_NAME        = CURLOPT_PROXY_SERVICE_NAME;
	case SERVICE_NAME              = CURLOPT_SERVICE_NAME;
	case DEFAULT_PROTOCOL          = CURLOPT_DEFAULT_PROTOCOL;
	case STREAM_WEIGHT             = CURLOPT_STREAM_WEIGHT;
	case TFTP_NO_OPTIONS           = CURLOPT_TFTP_NO_OPTIONS;
	case CONNECT_TO                = CURLOPT_CONNECT_TO;
	case TCP_FASTOPEN              = CURLOPT_TCP_FASTOPEN;
	case TCP_KEEPALIVE             = CURLOPT_TCP_KEEPALIVE;
	case TCP_KEEPIDLE              = CURLOPT_TCP_KEEPIDLE;
	case TCP_KEEPINTVL             = CURLOPT_TCP_KEEPINTVL;
	case REQUEST_TARGET            = CURLOPT_REQUEST_TARGET;
	case ABSTRACT_UNIX_SOCKET      = CURLOPT_ABSTRACT_UNIX_SOCKET;
	case KEEP_SENDING_ON_ERROR     = CURLOPT_KEEP_SENDING_ON_ERROR;
	case PRE_PROXY                 = CURLOPT_PRE_PROXY;
	case PROXY_CAINFO              = CURLOPT_PROXY_CAINFO;
	case PROXY_CAPATH              = CURLOPT_PROXY_CAPATH;
	case PROXY_CRLFILE             = CURLOPT_PROXY_CRLFILE;
	case PROXY_KEYPASSWD           = CURLOPT_PROXY_KEYPASSWD;
	case PROXY_PINNEDPUBLICKEY     = CURLOPT_PROXY_PINNEDPUBLICKEY;
	case PROXY_SSLCERT             = CURLOPT_PROXY_SSLCERT;
	case PROXY_SSLCERTTYPE         = CURLOPT_PROXY_SSLCERTTYPE;
	case PROXY_SSL_CIPHER_LIST     = CURLOPT_PROXY_SSL_CIPHER_LIST;
	case PROXY_SSLKEY              = CURLOPT_PROXY_SSLKEY;
	case PROXY_SSLKEYTYPE          = CURLOPT_PROXY_SSLKEYTYPE;
	case PROXY_SSL_OPTIONS         = CURLOPT_PROXY_SSL_OPTIONS;
	case PROXY_SSL_VERIFYHOST      = CURLOPT_PROXY_SSL_VERIFYHOST;
	case PROXY_SSL_VERIFYPEER      = CURLOPT_PROXY_SSL_VERIFYPEER;
	case PROXY_SSLVERSION          = CURLOPT_PROXY_SSLVERSION;
	case PROXY_TLSAUTH_PASSWORD    = CURLOPT_PROXY_TLSAUTH_PASSWORD;
	case PROXY_TLSAUTH_TYPE        = CURLOPT_PROXY_TLSAUTH_TYPE;
	case PROXY_TLSAUTH_USERNAME    = CURLOPT_PROXY_TLSAUTH_USERNAME;
	case SOCKS5_AUTH               = CURLOPT_SOCKS5_AUTH;
	case SUPPRESS_CONNECT_HEADERS  = CURLOPT_SUPPRESS_CONNECT_HEADERS;
	case DISALLOW_USERNAME_IN_URL  = CURLOPT_DISALLOW_USERNAME_IN_URL;
	case DNS_SHUFFLE_ADDRESSES     = CURLOPT_DNS_SHUFFLE_ADDRESSES;
	case HAPPY_EYEBALLS_TIMEOUT_MS = CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS;
	case HAPROXYPROTOCOL           = CURLOPT_HAPROXYPROTOCOL;
	case PROXY_TLS13_CIPHERS       = CURLOPT_PROXY_TLS13_CIPHERS;
	case SSH_COMPRESSION           = CURLOPT_SSH_COMPRESSION;
	case TIMEVALUE_LARGE           = CURLOPT_TIMEVALUE_LARGE;
	case TLS13_CIPHERS             = CURLOPT_TLS13_CIPHERS;
	case HTTP09_ALLOWED            = CURLOPT_HTTP09_ALLOWED;
}