Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Document missing internal global constants #2747

Open
kocsismate opened this issue Sep 7, 2023 · 13 comments
Open

Document missing internal global constants #2747

kocsismate opened this issue Sep 7, 2023 · 13 comments
Labels
help wanted Extra attention is needed QA Quality Assurance

Comments

@kocsismate
Copy link
Member

kocsismate commented Sep 7, 2023

The following internal global constants are not yet documented:

  • ZEND_THREAD_SAFE
  • ZEND_DEBUG_BUILD
  • LOCALE_SYSTEM_DEFAULT (Add missing COM constants #3043)
  • LOCALE_NEUTRAL (Add missing COM constants #3043)
  • DISP_E_PARAMNOTFOUND (Add missing COM constants #3043)
  • CURLOPT_PREQUOTE
  • CURLOPT_READDATA
  • CURLOPT_SHARE
  • CURLOPT_TELNETOPTIONS
  • CURLOPT_XFERINFOFUNCTION
  • CURLE_BAD_DOWNLOAD_RESUME
  • CURLE_FTP_PARTIAL_FILE
  • CURLE_HTTP_RETURNED_ERROR
  • CURLE_OPERATION_TIMEDOUT
  • CURLE_SSL_PINNEDPUBKEYNOTMATCH
  • CURLINFO_LASTONE
  • CURLINFO_EFFECTIVE_METHOD
  • CURLINFO_CAPATH
  • CURLINFO_CAINFO
  • CURLM_ADDED_ALREADY
  • CURLSHOPT_NONE
  • CURLSHOPT_SHARE
  • CURLSHOPT_UNSHARE
  • CURL_LOCK_DATA_COOKIE
  • CURL_LOCK_DATA_DNS
  • CURL_LOCK_DATA_SSL_SESSION
  • CURLAUTH_NONE
  • CURLINFO_HTTP_CONNECTCODE
  • CURLINFO_HTTPAUTH_AVAIL
  • CURLINFO_PROXYAUTH_AVAIL
  • CURLOPT_FTP_RESPONSE_TIMEOUT
  • CURLOPT_IPRESOLVE
  • CURLOPT_MAXFILESIZE
  • CURL_IPRESOLVE_V4
  • CURL_IPRESOLVE_V6
  • CURL_IPRESOLVE_WHATEVER
  • CURLOPT_NETRC_FILE
  • CURLOPT_FTP_ACCOUNT
  • CURLINFO_OS_ERRNO
  • CURLINFO_NUM_CONNECTS
  • CURLINFO_SSL_ENGINES
  • CURLINFO_COOKIELIST
  • CURLOPT_IGNORE_CONTENT_LENGTH
  • CURLOPT_FTP_SKIP_PASV_IP
  • CURLOPT_FTP_FILEMETHOD
  • CURLOPT_CONNECT_ONLY
  • CURLOPT_LOCALPORT
  • CURLOPT_LOCALPORTRANGE
  • CURLFTPMETHOD_MULTICWD
  • CURLFTPMETHOD_NOCWD
  • CURLFTPMETHOD_SINGLECWD
  • CURLINFO_FTP_ENTRY_PATH
  • CURLOPT_FTP_ALTERNATIVE_TO_USER
  • CURLE_SSL_CACERT_BADFILE
  • CURLOPT_SSL_SESSIONID_CACHE
  • CURLOPT_FTP_SSL_CCC
  • CURLFTPSSL_CCC_ACTIVE
  • CURLFTPSSL_CCC_NONE
  • CURLFTPSSL_CCC_PASSIVE
  • CURLOPT_HTTP_CONTENT_DECODING
  • CURLOPT_HTTP_TRANSFER_DECODING
  • CURLOPT_KRBLEVEL
  • CURLOPT_NEW_DIRECTORY_PERMS
  • CURLOPT_NEW_FILE_PERMS
  • CURLOPT_APPEND
  • CURLOPT_DIRLISTONLY
  • CURLOPT_USE_SSL
  • CURLUSESSL_ALL
  • CURLUSESSL_CONTROL
  • CURLUSESSL_NONE
  • CURLUSESSL_TRY
  • CURLOPT_PROXY_TRANSFER_MODE
  • CURL_READFUNC_PAUSE
  • CURL_WRITEFUNC_PAUSE
  • CURLINFO_APPCONNECT_TIME
  • CURLOPT_ADDRESS_SCOPE
  • CURLOPT_CRLFILE
  • CURLOPT_ISSUERCERT
  • CURLINFO_CERTINFO
  • CURLOPT_CERTINFO
  • CURLOPT_PASSWORD
  • CURLOPT_POSTREDIR
  • CURLOPT_PROXYPASSWORD
  • CURLOPT_PROXYUSERNAME
  • CURLAUTH_DIGEST_IE
  • CURLINFO_CONDITION_UNMET
  • CURLOPT_NOPROXY
  • CURLOPT_PROTOCOLS
  • CURLOPT_REDIR_PROTOCOLS
  • CURLOPT_SOCKS5_GSSAPI_NEC
  • CURLOPT_SOCKS5_GSSAPI_SERVICE
  • CURLOPT_TFTP_BLKSIZE
  • CURLPROTO_ALL
  • CURLPROTO_DICT
  • CURLPROTO_FILE
  • CURLPROTO_FTP
  • CURLPROTO_FTPS
  • CURLPROTO_HTTP
  • CURLPROTO_HTTPS
  • CURLPROTO_LDAP
  • CURLPROTO_LDAPS
  • CURLPROTO_SCP
  • CURLPROTO_SFTP
  • CURLPROTO_TELNET
  • CURLPROTO_TFTP
  • CURLOPT_SSH_KNOWNHOSTS
  • CURLKHMATCH_OK
  • CURLKHMATCH_MISMATCH
  • CURLKHMATCH_MISSING
  • CURLKHMATCH_LAST
  • CURLINFO_RTSP_CLIENT_CSEQ
  • CURLINFO_RTSP_CSEQ_RECV
  • CURLINFO_RTSP_SERVER_CSEQ
  • CURLINFO_RTSP_SESSION_ID
  • CURLOPT_FTP_USE_PRET
  • CURLOPT_MAIL_FROM
  • CURLOPT_MAIL_RCPT
  • CURLOPT_RTSP_CLIENT_CSEQ
  • CURLOPT_RTSP_REQUEST
  • CURLOPT_RTSP_SERVER_CSEQ
  • CURLOPT_RTSP_SESSION_ID
  • CURLOPT_RTSP_STREAM_URI
  • CURLOPT_RTSP_TRANSPORT
  • CURLPROTO_IMAP
  • CURLPROTO_IMAPS
  • CURLPROTO_POP3
  • CURLPROTO_POP3S
  • CURLPROTO_RTSP
  • CURLPROTO_SMTP
  • CURLPROTO_SMTPS
  • CURL_RTSPREQ_ANNOUNCE
  • CURL_RTSPREQ_DESCRIBE
  • CURL_RTSPREQ_GET_PARAMETER
  • CURL_RTSPREQ_OPTIONS
  • CURL_RTSPREQ_PAUSE
  • CURL_RTSPREQ_PLAY
  • CURL_RTSPREQ_RECEIVE
  • CURL_RTSPREQ_RECORD
  • CURL_RTSPREQ_SET_PARAMETER
  • CURL_RTSPREQ_SETUP
  • CURL_RTSPREQ_TEARDOWN
  • CURLOPT_FNMATCH_FUNCTION
  • CURLOPT_WILDCARDMATCH
  • CURLPROTO_RTMP
  • CURLPROTO_RTMPE
  • CURLPROTO_RTMPS
  • CURLPROTO_RTMPT
  • CURLPROTO_RTMPTE
  • CURLPROTO_RTMPTS
  • CURL_FNMATCHFUNC_FAIL
  • CURL_FNMATCHFUNC_MATCH
  • CURL_FNMATCHFUNC_NOMATCH
  • CURLPROTO_GOPHER
  • CURLAUTH_ONLY
  • CURLOPT_RESOLVE
  • CURLOPT_TLSAUTH_PASSWORD
  • CURLOPT_TLSAUTH_TYPE
  • CURLOPT_TLSAUTH_USERNAME
  • CURL_TLSAUTH_SRP
  • CURLOPT_ACCEPT_ENCODING
  • CURLOPT_TRANSFER_ENCODING
  • CURLGSSAPI_DELEGATION_FLAG
  • CURLGSSAPI_DELEGATION_POLICY_FLAG
  • CURLOPT_GSSAPI_DELEGATION
  • CURLOPT_ACCEPTTIMEOUT_MS
  • CURLOPT_DNS_SERVERS
  • CURLOPT_MAIL_AUTH
  • CURLOPT_HTTP09_ALLOWED
  • CURLOPT_MIME_OPTIONS
  • CURLMIMEOPT_FORMESCAPE
  • CURLOPT_SSH_HOSTKEYFUNCTION
  • CURLOPT_PROTOCOLS_STR
  • CURLOPT_REDIR_PROTOCOLS_STR
  • CURLOPT_WS_OPTIONS
  • CURLWS_RAW_MODE
  • CURLOPT_CA_CACHE_TIMEOUT
  • CURLOPT_QUICK_EXIT
  • CURLOPT_SAFE_UPLOAD
  • XML_GLOBAL_NAMESPACE
  • XML_LOCAL_NAMESPACE
  • FILEINFO_APPLE
  • IMG_TGA
  • GMP_MPIR_VERSION
  • ULOC_ACTUAL_LOCALE
  • ULOC_VALID_LOCALE
  • U_USING_FALLBACK_WARNING
  • U_ERROR_WARNING_START
  • U_USING_DEFAULT_WARNING
  • U_SAFECLONE_ALLOCATED_WARNING
  • U_STATE_OLD_WARNING
  • U_STRING_NOT_TERMINATED_WARNING
  • U_SORT_KEY_TOO_SHORT_WARNING
  • U_AMBIGUOUS_ALIAS_WARNING
  • U_DIFFERENT_UCA_VERSION
  • U_ERROR_WARNING_LIMIT
  • U_ZERO_ERROR
  • U_ILLEGAL_ARGUMENT_ERROR
  • U_MISSING_RESOURCE_ERROR
  • U_INVALID_FORMAT_ERROR
  • U_FILE_ACCESS_ERROR
  • U_INTERNAL_PROGRAM_ERROR
  • U_MESSAGE_PARSE_ERROR
  • U_MEMORY_ALLOCATION_ERROR
  • U_INDEX_OUTOFBOUNDS_ERROR
  • U_PARSE_ERROR
  • U_INVALID_CHAR_FOUND
  • U_TRUNCATED_CHAR_FOUND
  • U_ILLEGAL_CHAR_FOUND
  • U_INVALID_TABLE_FORMAT
  • U_INVALID_TABLE_FILE
  • U_BUFFER_OVERFLOW_ERROR
  • U_UNSUPPORTED_ERROR
  • U_RESOURCE_TYPE_MISMATCH
  • U_ILLEGAL_ESCAPE_SEQUENCE
  • U_UNSUPPORTED_ESCAPE_SEQUENCE
  • U_NO_SPACE_AVAILABLE
  • U_CE_NOT_FOUND_ERROR
  • U_PRIMARY_TOO_LONG_ERROR
  • U_STATE_TOO_OLD_ERROR
  • U_TOO_MANY_ALIASES_ERROR
  • U_ENUM_OUT_OF_SYNC_ERROR
  • U_INVARIANT_CONVERSION_ERROR
  • U_INVALID_STATE_ERROR
  • U_COLLATOR_VERSION_MISMATCH
  • U_USELESS_COLLATOR_ERROR
  • U_NO_WRITE_PERMISSION
  • U_STANDARD_ERROR_LIMIT
  • U_BAD_VARIABLE_DEFINITION
  • U_PARSE_ERROR_START
  • U_MALFORMED_RULE
  • U_MALFORMED_SET
  • U_MALFORMED_SYMBOL_REFERENCE
  • U_MALFORMED_UNICODE_ESCAPE
  • U_MALFORMED_VARIABLE_DEFINITION
  • U_MALFORMED_VARIABLE_REFERENCE
  • U_MISMATCHED_SEGMENT_DELIMITERS
  • U_MISPLACED_ANCHOR_START
  • U_MISPLACED_CURSOR_OFFSET
  • U_MISPLACED_QUANTIFIER
  • U_MISSING_OPERATOR
  • U_MISSING_SEGMENT_CLOSE
  • U_MULTIPLE_ANTE_CONTEXTS
  • U_MULTIPLE_CURSORS
  • U_MULTIPLE_POST_CONTEXTS
  • U_TRAILING_BACKSLASH
  • U_UNDEFINED_SEGMENT_REFERENCE
  • U_UNDEFINED_VARIABLE
  • U_UNQUOTED_SPECIAL
  • U_UNTERMINATED_QUOTE
  • U_RULE_MASK_ERROR
  • U_MISPLACED_COMPOUND_FILTER
  • U_MULTIPLE_COMPOUND_FILTERS
  • U_INVALID_RBT_SYNTAX
  • U_INVALID_PROPERTY_PATTERN
  • U_MALFORMED_PRAGMA
  • U_UNCLOSED_SEGMENT
  • U_ILLEGAL_CHAR_IN_SEGMENT
  • U_VARIABLE_RANGE_EXHAUSTED
  • U_VARIABLE_RANGE_OVERLAP
  • U_ILLEGAL_CHARACTER
  • U_INTERNAL_TRANSLITERATOR_ERROR
  • U_INVALID_ID
  • U_INVALID_FUNCTION
  • U_PARSE_ERROR_LIMIT
  • U_UNEXPECTED_TOKEN
  • U_FMT_PARSE_ERROR_START
  • U_MULTIPLE_DECIMAL_SEPARATORS
  • U_MULTIPLE_DECIMAL_SEPERATORS
  • U_MULTIPLE_EXPONENTIAL_SYMBOLS
  • U_MALFORMED_EXPONENTIAL_PATTERN
  • U_MULTIPLE_PERCENT_SYMBOLS
  • U_MULTIPLE_PERMILL_SYMBOLS
  • U_MULTIPLE_PAD_SPECIFIERS
  • U_PATTERN_SYNTAX_ERROR
  • U_ILLEGAL_PAD_POSITION
  • U_UNMATCHED_BRACES
  • U_UNSUPPORTED_PROPERTY
  • U_UNSUPPORTED_ATTRIBUTE
  • U_FMT_PARSE_ERROR_LIMIT
  • U_BRK_INTERNAL_ERROR
  • U_BRK_ERROR_START
  • U_BRK_HEX_DIGITS_EXPECTED
  • U_BRK_SEMICOLON_EXPECTED
  • U_BRK_RULE_SYNTAX
  • U_BRK_UNCLOSED_SET
  • U_BRK_ASSIGN_ERROR
  • U_BRK_VARIABLE_REDFINITION
  • U_BRK_MISMATCHED_PAREN
  • U_BRK_NEW_LINE_IN_QUOTED_STRING
  • U_BRK_UNDEFINED_VARIABLE
  • U_BRK_INIT_ERROR
  • U_BRK_RULE_EMPTY_SET
  • U_BRK_UNRECOGNIZED_OPTION
  • U_BRK_MALFORMED_RULE_TAG
  • U_BRK_ERROR_LIMIT
  • U_REGEX_INTERNAL_ERROR
  • U_REGEX_ERROR_START
  • U_REGEX_RULE_SYNTAX
  • U_REGEX_INVALID_STATE
  • U_REGEX_BAD_ESCAPE_SEQUENCE
  • U_REGEX_PROPERTY_SYNTAX
  • U_REGEX_UNIMPLEMENTED
  • U_REGEX_MISMATCHED_PAREN
  • U_REGEX_NUMBER_TOO_BIG
  • U_REGEX_BAD_INTERVAL
  • U_REGEX_MAX_LT_MIN
  • U_REGEX_INVALID_BACK_REF
  • U_REGEX_INVALID_FLAG
  • U_REGEX_LOOK_BEHIND_LIMIT
  • U_REGEX_SET_CONTAINS_STRING
  • U_REGEX_ERROR_LIMIT
  • U_IDNA_PROHIBITED_ERROR
  • U_IDNA_ERROR_START
  • U_IDNA_UNASSIGNED_ERROR
  • U_IDNA_CHECK_BIDI_ERROR
  • U_IDNA_STD3_ASCII_RULES_ERROR
  • U_IDNA_ACE_PREFIX_ERROR
  • U_IDNA_VERIFICATION_ERROR
  • U_IDNA_LABEL_TOO_LONG_ERROR
  • U_IDNA_ZERO_LENGTH_LABEL_ERROR
  • U_IDNA_DOMAIN_NAME_TOO_LONG_ERROR
  • U_IDNA_ERROR_LIMIT
  • U_STRINGPREP_PROHIBITED_ERROR
  • U_STRINGPREP_UNASSIGNED_ERROR
  • U_STRINGPREP_CHECK_BIDI_ERROR
  • U_ERROR_LIMIT
  • INTL_ICU_DATA_VERSION
  • JSON_ERROR_NON_BACKED_ENUM
  • LDAP_MODIFY_BATCH_ATTRIB
  • LDAP_MODIFY_BATCH_MODTYPE
  • LDAP_MODIFY_BATCH_VALUES
  • LDAP_OPT_TIMEOUT
  • LDAP_OPT_X_SASL_MECH
  • LDAP_OPT_X_SASL_REALM
  • LDAP_OPT_X_SASL_AUTHCID
  • LDAP_OPT_X_SASL_AUTHZID
  • LDAP_OPT_X_SASL_NOCANON
  • LDAP_OPT_X_SASL_USERNAME
  • LIBXML_LOADED_VERSION
  • MYSQLI_OPT_LOAD_DATA_LOCAL_DIR
  • MYSQLI_CLIENT_FOUND_ROWS
  • MYSQLI_CLIENT_SSL_VERIFY_SERVER_CERT
  • MYSQLI_CLIENT_CAN_HANDLE_EXPIRED_PASSWORDS
  • MYSQLI_OPT_CAN_HANDLE_EXPIRED_PASSWORDS
  • MYSQLI_ASYNC
  • MYSQLI_STORE_RESULT_COPY_DATA
  • MYSQLI_NO_DEFAULT_VALUE_FLAG
  • MYSQLI_ON_UPDATE_NOW_FLAG
  • MYSQLI_SET_CHARSET_DIR
  • MYSQLI_SERVER_QUERY_WAS_SLOW
  • MYSQLI_SERVER_PS_OUT_PARAMS
  • MYSQLI_REFRESH_BACKUP_LOG
  • SQL_WCHAR
  • SQL_WVARCHAR
  • SQL_WLONGVARCHAR
  • OPENSSL_DEFAULT_STREAM_CIPHERS
  • OPENSSL_DONT_ZERO_PAD_KEY
  • WCONTINUED
  • SIGINFO
  • SIGRTMIN
  • SIGRTMAX
  • SI_MESGQ
  • RFTSIGZMB
  • RFTHREAD
  • FORK_NOSIGCHLD
  • FORK_WAITPID
  • PCNTL_EINTR
  • PCNTL_ECHILD
  • PCNTL_EINVAL
  • PCNTL_EAGAIN
  • PCNTL_ESRCH
  • PCNTL_EACCES
  • PCNTL_EPERM
  • PCNTL_ENOMEM
  • PCNTL_E2BIG
  • PCNTL_EFAULT
  • PCNTL_EIO
  • PCNTL_EISDIR
  • PCNTL_ELIBBAD
  • PCNTL_ELOOP
  • PCNTL_EMFILE
  • PCNTL_ENAMETOOLONG
  • PCNTL_ENFILE
  • PCNTL_ENOENT
  • PCNTL_ENOEXEC
  • PCNTL_ENOTDIR
  • PCNTL_ETXTBSY
  • PCNTL_ENOSPC
  • PCNTL_EUSERS
  • PCNTL_ECAPMODE
  • PREG_GREP_INVERT
  • PCRE_VERSION_MAJOR
  • PCRE_VERSION_MINOR
  • PCRE_JIT_SUPPORT
  • PDO_ODBC_TYPE
  • PGSQL_ERRORS_SQLSTATE
  • PGSQL_TRACE_SUPPRESS_TIMESTAMPS
  • PGSQL_TRACE_REGRESS_MODE
  • PGSQL_PIPELINE_SYNC
  • PGSQL_PIPELINE_ON
  • PGSQL_PIPELINE_OFF
  • PGSQL_PIPELINE_ABORTED
  • PGSQL_SHOW_CONTEXT_NEVER
  • PGSQL_SHOW_CONTEXT_ERRORS
  • PGSQL_SHOW_CONTEXT_ALWAYS
  • POSIX_SC_ARG_MAX
  • POSIX_SC_PAGESIZE
  • POSIX_SC_NPROCESSORS_CONF
  • POSIX_SC_NPROCESSORS_ONLN
  • POSIX_PC_LINK_MAX
  • POSIX_PC_MAX_CANON
  • POSIX_PC_MAX_INPUT
  • POSIX_PC_NAME_MAX
  • POSIX_PC_PATH_MAX
  • POSIX_PC_PIPE_BUF
  • POSIX_PC_CHOWN_RESTRICTED
  • POSIX_PC_NO_TRUNC
  • POSIX_PC_ALLOC_SIZE_MIN
  • POSIX_PC_SYMLINK_MAX
  • AF_DIVERT
  • MSG_CTRUNC
  • MSG_TRUNC
  • MSG_CONFIRM
  • MSG_ERRQUEUE
  • MSG_NOSIGNAL
  • MSG_DONTWAIT
  • MSG_MORE
  • MSG_WAITFORONE
  • MSG_CMSG_CLOEXEC
  • SO_REUSEPORT_LB
  • SO_FAMILY
  • SO_BINDTODEVICE
  • SO_RERROR
  • SO_SPLICE
  • SO_ZEROIZE
  • FIL_ATTACH
  • FIL_DETACH
  • IPPROTO_IPV6
  • SOL_UDPLITE
  • IPV6_UNICAST_HOPS
  • AI_PASSIVE
  • AI_CANONNAME
  • AI_NUMERICHOST
  • AI_V4MAPPED
  • AI_ALL
  • AI_ADDRCONFIG
  • AI_IDN
  • AI_CANONIDN
  • AI_NUMERICSERV
  • SOL_LOCAL
  • IPV6_RECVPKTINFO
  • IPV6_PKTINFO
  • IPV6_RECVHOPLIMIT
  • IPV6_HOPLIMIT
  • IPV6_RECVTCLASS
  • IPV6_TCLASS
  • SO_PASSCRED
  • SO_ATTACH_REUSEPORT_CBPF
  • SO_DETACH_FILTER
  • SO_DETACH_BPF
  • TCP_QUICKACK
  • TCP_REPAIR
  • IP_DONTFRAG
  • IP_MTU_DISCOVER
  • IP_PMTUDISC_DO
  • IP_PMTUDISC_DONT
  • IP_PMTUDISC_WANT
  • IP_PMTUDISC_PROBE
  • IP_PMTUDISC_INTERFACE
  • IP_PMTUDISC_OMIT
  • UDPLITE_SEND_CSCOV
  • UDPLITE_RECV_CSCOV
  • SODIUM_CRYPTO_AEAD_XCHACHA20POLY1305_IETF_KEYBYTES
  • SODIUM_CRYPTO_AEAD_XCHACHA20POLY1305_IETF_NSECBYTES
  • SODIUM_CRYPTO_AEAD_XCHACHA20POLY1305_IETF_NPUBBYTES
  • SODIUM_CRYPTO_AEAD_XCHACHA20POLY1305_IETF_ABYTES
  • SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_ABYTES
  • SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_HEADERBYTES
  • SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_KEYBYTES
  • SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_MESSAGEBYTES_MAX
  • INI_USER
  • INI_PERDIR
  • INI_SYSTEM
  • INI_ALL
  • DNS_SRV
  • DNS_NAPTR
  • DNS_A6
  • IMAGETYPE_UNKNOWN
  • IMAGETYPE_COUNT
  • LOG_LOCAL0
  • LOG_LOCAL1
  • LOG_LOCAL2
  • LOG_LOCAL3
  • LOG_LOCAL4
  • LOG_LOCAL5
  • LOG_LOCAL6
  • LOG_LOCAL7
  • PATHINFO_ALL
  • ABDAY_1
  • ABDAY_2
  • ABDAY_3
  • ABDAY_4
  • ABDAY_5
  • ABDAY_6
  • ABDAY_7
  • DAY_1
  • DAY_2
  • DAY_3
  • DAY_4
  • DAY_5
  • DAY_6
  • DAY_7
  • ABMON_1
  • ABMON_2
  • ABMON_3
  • ABMON_4
  • ABMON_5
  • ABMON_6
  • ABMON_7
  • ABMON_8
  • ABMON_9
  • ABMON_10
  • ABMON_11
  • ABMON_12
  • MON_1
  • MON_2
  • MON_3
  • MON_4
  • MON_5
  • MON_6
  • MON_7
  • MON_8
  • MON_9
  • MON_10
  • MON_11
  • MON_12
  • YPTO_METHOD_ANY_CLIENT
  • STREAM_CRYPTO_PROTO_SSLv3
  • STREAM_CRYPTO_PROTO_TLSv1_0
  • STREAM_CRYPTO_PROTO_TLSv1_1
  • STREAM_CRYPTO_PROTO_TLSv1_2
  • STREAM_CRYPTO_PROTO_TLSv1_3
  • TIDY_TAG_ADDRESS
  • ZLIB_VERSION
  • ZLIB_VERNUM
  • ZLIB_OK
  • ZLIB_STREAM_END
  • ZLIB_NEED_DICT
  • ZLIB_ERRNO
  • ZLIB_STREAM_ERROR
  • ZLIB_DATA_ERROR
  • ZLIB_MEM_ERROR
  • ZLIB_BUF_ERROR
  • ZLIB_VERSION_ERROR
  • PHP_OUTPUT_HANDLER_STARTED (Update output control constants #3039)
  • PHP_OUTPUT_HANDLER_DISABLED (Update output control constants #3039)
  • STREAM_IGNORE_URL
  • STREAM_MUST_SEEK
  • STREAM_URL_STAT_LINK
  • STREAM_URL_STAT_QUIET

The following global constants aren't documented on a predefined constants page, but described somewhere else (e.g. on class or function manual pages):

  • DEBUG_BACKTRACE_PROVIDE_OBJECT
  • DEBUG_BACKTRACE_IGNORE_ARGS
  • DATE_ATOM
  • DATE_COOKIE
  • DATE_ISO8601
  • DATE_ISO8601_EXPANDED
  • DATE_RFC822
  • DATE_RFC850
  • DATE_RFC1036
  • DATE_RFC1123
  • DATE_RFC7231
  • DATE_RFC2822
  • DATE_RFC3339
  • DATE_RFC3339_EXTENDED
  • DATE_RSS
  • DATE_W3C
  • IMG_CROP_DEFAULT
  • IMG_CROP_TRANSPARENT
  • IMG_CROP_BLACK
  • IMG_CROP_WHITE
  • IMG_CROP_SIDES
  • IMG_CROP_THRESHOLD
  • GRAPHEME_EXTR_COUNT
  • GRAPHEME_EXTR_MAXBYTES
  • GRAPHEME_EXTR_MAXCHARS
  • LDAP_MODIFY_BATCH_ADD
  • LDAP_MODIFY_BATCH_REMOVE
  • LDAP_MODIFY_BATCH_REMOVE_ALL
  • LDAP_MODIFY_BATCH_REPLACE
  • LDAP_OPT_X_TLS_NEVER
  • LDAP_OPT_X_TLS_HARD
  • LDAP_OPT_X_TLS_DEMAND
  • LDAP_OPT_X_TLS_ALLOW
  • LDAP_OPT_X_TLS_TRY
  • LDAP_OPT_X_TLS_CRL_NONE
  • LDAP_OPT_X_TLS_CRL_PEER
  • LDAP_OPT_X_TLS_CRL_ALL
  • LDAP_OPT_X_TLS_PROTOCOL_SSL2
  • LDAP_OPT_X_TLS_PROTOCOL_SSL3
  • LDAP_OPT_X_TLS_PROTOCOL_TLS1_0
  • LDAP_OPT_X_TLS_PROTOCOL_TLS1_1
  • LDAP_OPT_X_TLS_PROTOCOL_TLS1_2
  • LDAP_OPT_X_TLS_PACKAGE
  • LDAP_ESCAPE_FILTER
  • LDAP_ESCAPE_DN
  • MYSQLI_TRANS_START_WITH_CONSISTENT_SNAPSHOT
  • OCI_FO_END
  • OCI_FO_ABORT
  • OCI_FO_REAUTH
  • OCI_FO_BEGIN
  • OCI_FO_ERROR
  • OCI_FO_NONE
  • OCI_FO_SESSION
  • OCI_FO_SELECT
  • OCI_FO_TXNAL
  • OCI_FO_RETRY
  • SQL_FETCH_FIRST
  • SQL_FETCH_NEXT
  • RFPROC
  • RFNOWAIT
  • RFCFDG
  • RFFDG
  • RFLINUXTHPN
  • SO_LABEL
  • SO_PEERLABEL
  • SO_LISTENQLIMIT
  • SO_LISTENQLEN
  • SOMAXCONN
  • MCAST_JOIN_GROUP
  • MCAST_LEAVE_GROUP
  • MCAST_BLOCK_SOURCE
  • MCAST_UNBLOCK_SOURCE
  • MCAST_JOIN_SOURCE_GROUP
  • MCAST_LEAVE_SOURCE_GROUP
  • IP_MULTICAST_IF
  • IP_MULTICAST_TTL
  • IP_MULTICAST_LOOP
  • IP_BIND_ADDRESS_NO_PORT
  • IPV6_MULTICAST_IF
  • IPV6_MULTICAST_HOPS
  • IPV6_MULTICAST_LOOP
  • IPV6_V6ONLY
  • IPPROTO_IP
  • SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_MESSAGE
  • SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_PUSH
  • SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_REKEY
  • SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_FINAL
  • SODIUM_BASE64_VARIANT_ORIGINAL
  • SODIUM_BASE64_VARIANT_ORIGINAL_NO_PADDING
  • SODIUM_BASE64_VARIANT_URLSAFE
  • SODIUM_BASE64_VARIANT_URLSAFE_NO_PADDING
  • AM_STR
  • PM_STR
  • D_T_FMT
  • D_FMT
  • T_FMT
  • T_FMT_AMPM
  • ERA
  • ERA_YEAR
  • ERA_D_T_FMT
  • ERA_D_FMT
  • ERA_T_FMT
  • ALT_DIGITS
  • INT_CURR_SYMBOL
  • CURRENCY_SYMBOL
  • CRNCYSTR
  • MON_DECIMAL_POINT
  • MON_THOUSANDS_SEP
  • MON_GROUPING
  • POSITIVE_SIGN
  • NEGATIVE_SIGN
  • INT_FRAC_DIGITS
  • FRAC_DIGITS
  • P_CS_PRECEDES
  • P_SEP_BY_SPACE
  • N_CS_PRECEDES
  • N_SEP_BY_SPACE
  • P_SIGN_POSN
  • N_SIGN_POSN
  • DECIMAL_POINT
  • RADIXCHAR
  • THOUSANDS_SEP
  • THOUSEP
  • GROUPING
  • YESEXPR
  • NOEXPR
  • YESSTR
  • NOSTR
  • CODESET
  • STREAM_CR
  • STREAM_CRYPTO_METHOD_SSLv2_CLIENT
  • STREAM_CRYPTO_METHOD_SSLv3_CLIENT
  • STREAM_CRYPTO_METHOD_SSLv23_CLIENT
  • STREAM_CRYPTO_METHOD_TLS_CLIENT
  • STREAM_CRYPTO_METHOD_TLSv1_0_CLIENT
  • STREAM_CRYPTO_METHOD_TLSv1_1_CLIENT
  • STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT
  • STREAM_CRYPTO_METHOD_TLSv1_3_CLIENT
  • STREAM_CRYPTO_METHOD_ANY_SERVER
  • STREAM_CRYPTO_METHOD_SSLv2_SERVER
  • STREAM_CRYPTO_METHOD_SSLv3_SERVER
  • STREAM_CRYPTO_METHOD_SSLv23_SERVER
  • STREAM_CRYPTO_METHOD_TLS_SERVER
  • STREAM_CRYPTO_METHOD_TLSv1_0_SERVER
  • STREAM_CRYPTO_METHOD_TLSv1_1_SERVER
  • STREAM_CRYPTO_METHOD_TLSv1_2_SERVER
  • STREAM_CRYPTO_METHOD_TLSv1_3_SERVER
  • STREAM_PEEK
  • STREAM_OOB
  • TOKEN_PARSE
  • UPLOAD_ERR_OK
  • UPLOAD_ERR_INI_SIZE
  • UPLOAD_ERR_FORM_SIZE
  • UPLOAD_ERR_PARTIAL
  • UPLOAD_ERR_NO_FILE
  • UPLOAD_ERR_NO_TMP_DIR
  • UPLOAD_ERR_CANT_WRITE
  • UPLOAD_ERR_EXTENSION
  • STREAM_MKDIR_RECURSIVE
  • STREAM_IS_URL
  • STREAM_OPTION_BLOCKING
  • STREAM_OPTION_READ_TIMEOUT
  • STREAM_OPTION_READ_BUFFER
  • STREAM_OPTION_WRITE_BUFFER
@kocsismate kocsismate added the help wanted Extra attention is needed label Sep 7, 2023
@Girgias Girgias added the QA Quality Assurance label Sep 7, 2023
@ekinhbayar
Copy link
Contributor

In the hopes of being helpful for some of these... I went through the cURL constants listed here, making some notes:

getinfo page has these constants listed with brief explanations:

CURLINFO_HTTP_CONNECTCODE
CURLINFO_HTTPAUTH_AVAIL
CURLINFO_PROXYAUTH_AVAIL
CURLINFO_OS_ERRNO
CURLINFO_NUM_CONNECTS
CURLINFO_SSL_ENGINES
CURLINFO_COOKIELIST
CURLINFO_FTP_ENTRY_PATH
CURLINFO_APPCONNECT_TIME
CURLINFO_CERTINFO
CURLINFO_CONDITION_UNMET
CURLINFO_RTSP_CLIENT_CSEQ
CURLINFO_RTSP_CSEQ_RECV
CURLINFO_RTSP_SERVER_CSEQ
CURLINFO_RTSP_SESSION_ID

predefined constants page has this one listed with a brief explanation. usually this page mentions only the curl & php version the constant was made available, unlike this case:

CURLOPT_ISSUERCERT

setopt page has these listed with a brief explanation:

CURLOPT_RESOLVE
CURLOPT_HTTP09_ALLOWED
CURLOPT_SAFE_UPLOAD

the options below are mentioned under the CURLOPT_PROTOCOLS documentation under the setopt page, they are all available bitmask values for CURLOPT_PROTOCOLS. I'm not sure if there's further need to explain each of them? however, they are missing from the predefined constants page. In fact, if I look at the predefined constants page, I only see three CURLPROTO_* listed (_SMB, _SMBS, _MQTT) - I think this page needs some love :) either to fix the inconsistency or, well, have some method to the madness :D

CURLPROTO_ALL
CURLPROTO_DICT
CURLPROTO_FILE
CURLPROTO_FTP
CURLPROTO_FTPS
CURLPROTO_HTTP
CURLPROTO_HTTPS
CURLPROTO_LDAP
CURLPROTO_LDAPS
CURLPROTO_SCP
CURLPROTO_SFTP
CURLPROTO_TELNET
CURLPROTO_TFTP

further FYI, the options below aren't mentioned under CURLOPT_PROTOCOLS but are in the list of constants in this issue:

CURLPROTO_GOPHER
CURLPROTO_IMAP
CURLPROTO_IMAPS
CURLPROTO_POP3
CURLPROTO_POP3S
CURLPROTO_RTSP
CURLPROTO_RTMP
CURLPROTO_RTMPE
CURLPROTO_RTMPS
CURLPROTO_RTMPT
CURLPROTO_RTMPTE
CURLPROTO_RTMPTS
CURLPROTO_SMTP
CURLPROTO_SMTPS

the rest of the cURL constants listed here aren't found in getinfo, setopt or predefined constants pages.

I hope this helps!

@Girgias Girgias pinned this issue Sep 20, 2023
@kocsismate
Copy link
Member Author

Hi @ekinhbayar Thanks for your help!

I think we should settle on some convention how to document global constants. Now, they can be either documented on method synopses pages or in the predefined constant pages, or rarely on class synopses pages (https://www.php.net/manual/en/class.datetimeinterface.php#datetimeinterface.constants.atom). IMO this is not an ideal case since there is not a single source of truth and autogeneration/detection of global constants is difficult.

That's why I believe all global constants should be displayed on a predefined constant page, and we could reference them from other pages (the format parameter of https://www.php.net/manual/en/datetime.format.php is a good example where the description of a constant is referenced).

@ekinhbayar
Copy link
Contributor

@kocsismate I agree that there should be a single source of truth for predefined constants. Documenting them on the predefined constants page and referencing it everywhere applicable makes sense to me. It'd be a biiig change but in the long term it could make maintenance easier. If this, or any other alternative solution gets settled on, I'd be happy to help with the work needed for it.

@haszi
Copy link
Contributor

haszi commented Jan 8, 2024

I'd like to start working on the cURL constants. As the first steps, I'd like to add <variablelist>s for each related set of constants on the predefined constants page, move all the constants form the function pages to under the appropriate <variablelist> and link to these from the functions' pages. Based on the previous discussion on this issue kocsismate and ekinhbayar, I think this should not be an issue.

What I do have a question about is formatting of the predefined constants page. After moving the constants there and breaking these up into appropriate lists/sections/groups, may I format these as tables or do you need me to convert the tables I'm moving from the functions' pages to match the format of the predefined constants. I personally prefer tables, as I think the <variablelist> and their <title>s currently just don't add enough visual separation between the distinct set of constants, but either way is fine for me.

@kocsismate
Copy link
Member Author

What I do have a question about is formatting of the predefined constants page. After moving the constants there and breaking these up into appropriate lists/sections/groups, may I format these as tables or do you need me to convert the tables I'm moving from the functions' pages to match the format of the predefined constants.

Good question... Neither I'm sure. I also like the formatting of tables, but they are more difficult to autogenerate (mostly because the content of the preexisting ones differ in some cases). We had some conversation somewhere with @Girgias about the pros and cons of tables, but I couldn't find it now... However, I agree that we should come to a conclusion about the used formatting.

@Girgias
Copy link
Member

Girgias commented Jan 10, 2024

Nothing prevents us from rendering a <variablelist> with a role="constant_list" attribute as a table in PhD. I think most constant pages actually use a <variablelist> and not a table for markup, and I would prefer standardizing the markup to that. As a table is very generic.

@haszi
Copy link
Contributor

haszi commented Jan 11, 2024

And the header rows of these tables would be marked with an attribute/value too? E.g. role="header_row"?

This may already have an established standard, but how could these tables be grouped? I'm looking at the cURL docs and the constants under the value parameter of curl_setopt() are a great example of this. It lists the values that can be passed to the $value parameter in 7 separate tables, based on the type that can be used with each cURL option. Should these 7 tables be wrapped in another tag so that the value type could be mentioned above the table, or should the title of the table show the type or should this really be one table with an additional column showing the type of value these options accept?

@Girgias
Copy link
Member

Girgias commented Jan 11, 2024

And the header rows of these tables would be marked with an attribute/value too? E.g. role="header_row"?

Those should be easy to generate within PhD as most tables just have 3 columns, the constant name, the value (which should be removed), and the description. Which is basically what corresponds to the term tag and the listitem tag.

This may already have an established standard, but how could these tables be grouped? I'm looking at the cURL docs and the constants under the value parameter of curl_setopt() are a great example of this. It lists the values that can be passed to the $value parameter in 7 separate tables, based on the type that can be used with each cURL option. Should these 7 tables be wrapped in another tag so that the value type could be mentioned above the table, or should the title of the table show the type or should this really be one table with an additional column showing the type of value these options accept?

I'm not sure that curl docs are what I would call amazing. :/

It might make sense to have lists of the sort: the following constants require a value of type TYPE: LIST, OF, CONSTANTS but then again maybe completely rethink the cURL docs is a good idea.

@haszi
Copy link
Contributor

haszi commented Jan 19, 2024

So Phd could render the constant lists with the appropriate attribute as a table. I'm assuming this is a theoretical possibility at this point, right?

If so, I could go through the all the constant tables / lists in cURL and make sure they're all in a format that would easily lend itself to be converted to the <variablelist> format.

E.g.

<tbody>
  <row>
    <entry></entry>
    <entry></entry>
  </row>
</tbody>

which could easily be converted to

<variablelist>
  <varlistentry>
    <term></term>
    <listitem></listitem>
  </varlistentry>
</variablelist>

This way all the constant lists' formatting could be synced up and all constants could be moved to the constants page (with a <xi:include> on the page they've been moved from). This would make for a standard, easy to convert format and no visible change on the functions' pages (other than the few that contain lists being converted to tables).

In addition, I could add all the missing constants to the table(s) without having to worry about formatting. :-)

@Girgias
Copy link
Member

Girgias commented Jan 20, 2024

Yes PhD doesn't support this yet, but I don't think it should be too hard (for PhD standards as that codebase is... interesting).

Having a consistent formatting on a page should also allow the php-src genstub.php script to be able to generate/update the appropriate pages too, something it can't actually do at the moment :/

If you could go through this that would be great, although I might wait before merging some of the PRs depending on the impact for translations.

@haszi
Copy link
Contributor

haszi commented Jan 21, 2024

I've just checked the four cURL functions that list constants in their parameter descriptions. All but one, which is using a <variablelist> instead of an <informaltable>, are using a table format that is compatible with a <variablelist> except that some of these tables have a third, Notes column. This is usually used for notes on the first version of cURL and/or PHP these constants is available on.

I'll convert the list on the curl-getinfo() page to the same table format other cURL tables use and I'll submit a PR.
Can I go ahead an convert the constants page to tables in one PR and follow that up with another PR moving the tables from the four functions' pages there?
Or just move the tables to the constants page first?

@haszi
Copy link
Contributor

haszi commented Jan 21, 2024

I've just opened the first PR for the standardizing the tables for the cURL constants (and later to move all tables to the constant list page).

If you could go through this that would be great, although I might wait before merging some of the PRs depending on the impact for translations.

If that is any help and speeds up things, I could do the "manual labor" part of converting the curl_getinfo() lists in the translations as well, and later I could move the tables to the constant list page too for each translation.

@Girgias
Copy link
Member

Girgias commented Jan 22, 2024

I've just opened the first PR for the standardizing the tables for the cURL constants (and later to move all tables to the constant list page).

If you could go through this that would be great, although I might wait before merging some of the PRs depending on the impact for translations.

If that is any help and speeds up things, I could do the "manual labor" part of converting the curl_getinfo() lists in the translations as well, and later I could move the tables to the constant list page too for each translation.

The main issue is that the translation might not be up-to-date already, you can have a look at http://doc.php.net/ FR, JA, RU, DE and ZH are roughly up-to-date, however ES (Spanish) is very outdated in general.

But doing the work would be appreciated :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed QA Quality Assurance
Projects
None yet
Development

No branches or pull requests

4 participants