---
BasedOnStyle: WebKit
###################################
#
# OpenSSL Customizations start here.
#
# Customizing whitespace config should be avoided, but WebKit C style
# does specify this for C. (with C++ being the other way around) Due
# to limitations in clang-format it's not possible for it to default
# to C today, it defaults to C++. Therefore we force this to the
# WebKit C style value. If we ever have C++ code we will have to
# consider how to deal with this.
PointerAlignment: Right
#
# we add matches for /** and /*- at the top
# of a comment block to protect comments as
# per STYLE.md
CommentPragmas:  '(^ IWYU pragma:|^\*$|^-$)'
# OpenSSL uses typedefs extensively. Tell clang-format about them.
TypeNames:
  - "ACCESS_DESCRIPTION"
  - "ADDED_OBJ"
  - "ADMISSIONS"
  - "ADMISSION_SYNTAX"
  - "AES_KEY"
  - "APP_HTTP_TLS_INFO"
  - "ARGS"
  - "ARIA_c128"
  - "ARIA_KEY"
  - "ARIA_u128"
  - "ASIdentifierChoice"
  - "ASIdentifiers"
  - "ASIdOrRange"
  - "ASIdOrRanges"
  - "ASN1_ADB"
  - "ASN1_ADB_TABLE"
  - "ASN1_AUX"
  - "ASN1_aux_cb"
  - "ASN1_aux_const_cb"
  - "ASN1_BIT_STRING"
  - "ASN1_BMPSTRING"
  - "ASN1_BOOLEAN"
  - "ASN1_ENCODING"
  - "ASN1_ENUMERATED"
  - "ASN1_ex_d2i"
  - "ASN1_ex_d2i_ex"
  - "ASN1_ex_free_func"
  - "ASN1_ex_i2d"
  - "ASN1_ex_new_ex_func"
  - "ASN1_ex_new_func"
  - "ASN1_ex_print_func"
  - "ASN1_EXTERN_FUNCS"
  - "ASN1_GENERALIZEDTIME"
  - "ASN1_GENERALSTRING"
  - "ASN1_IA5STRING"
  - "ASN1_INTEGER"
  - "ASN1_ITEM"
  - "ASN1_ITEM_EXP"
  - "ASN1_NULL"
  - "ASN1_OBJECT"
  - "ASN1_OCTET_STRING"
  - "ASN1_PCTX"
  - "ASN1_primitive_c2i"
  - "ASN1_PRIMITIVE_FUNCS"
  - "ASN1_primitive_i2c"
  - "ASN1_primitive_print"
  - "ASN1_PRINTABLESTRING"
  - "ASN1_PRINT_ARG"
  - "asn1_ps_func"
  - "ASN1_SCTX"
  - "ASN1_SEQUENCE_ANY"
  - "ASN1_STREAM_ARG"
  - "ASN1_STRING"
  - "ASN1_STRING_TABLE"
  - "ASN1_T61STRING"
  - "ASN1_TEMPLATE"
  - "ASN1_TIME"
  - "ASN1_TLC"
  - "ASN1_TYPE"
  - "ASN1_UNIVERSALSTRING"
  - "ASN1_UTCTIME"
  - "ASN1_UTF8STRING"
  - "ASN1_VALUE"
  - "ASN1_VISIBLESTRING"
  - "ASRange"
  - "ASYNC_callback_fn"
  - "async_ctx"
  - "async_fibre"
  - "ASYNC_JOB"
  - "async_pool"
  - "ASYNC_stack_alloc_fn"
  - "ASYNC_stack_free_fn"
  - "ASYNC_WAIT_CTX"
  - "AUTHORITY_INFO_ACCESS"
  - "AUTHORITY_KEYID"
  - "BASIC_CONSTRAINTS"
  - "BF_KEY"
  - "BF_LONG"
  - "BIGNUM"
  - "BIO"
  - "BIO_ADDR"
  - "BIO_ADDRINFO"
  - "BIO_callback_fn"
  - "BIO_callback_fn_ex"
  - "BIO_dgram_sctp_notification_handler_fn"
  - "BIO_F_BUFFER_CTX"
  - "bio_info_cb"
  - "BIO_info_cb"
  - "BIO_METHOD"
  - "BIO_MMSG_CB_ARGS"
  - "BIO_MSG"
  - "BIO_POLL_DESCRIPTOR"
  - "BIT_STRING_BITNAME"
  - "BLAKE2B_CTX"
  - "BLAKE2B_PARAM"
  - "BLAKE2S_CTX"
  - "BLAKE2S_PARAM"
  - "block128_f"
  - "BN_BLINDING"
  - "BN_CTX"
  - "BN_GENCB"
  - "BN_MONT_CTX"
  - "BN_RECP_CTX"
  - "BN_ULLONG"
  - "BN_ULONG"
  - "BUF_MEM"
  - "BY_DIR_ENTRY"
  - "BY_DIR_HASH"
  - "c448_bool_t"
  - "c448_dsword_t"
  - "c448_dword_t"
  - "c448_error_t"
  - "c448_sword_t"
  - "c448_word_t"
  - "CA_DB"
  - "CAMELLIA_KEY"
  - "CAST_KEY"
  - "CAST_LONG"
  - "cbc128_f"
  - "CCM128_CONTEXT"
  - "ccm128_f"
  - "CERT"
  - "CERTIFICATEPOLICIES"
  - "CERT_PKEY"
  - "cfq_free_cb"
  - "CIPH_DIGEST"
  - "CLIENTHELLO_MSG"
  - "CMAC_CTX"
  - "CMS_AuthenticatedData"
  - "CMS_AuthEnvelopedData"
  - "CMS_CertificateChoices"
  - "CMS_CompressedData"
  - "CMS_ContentInfo"
  - "CMS_CTX"
  - "CMS_DigestedData"
  - "CMS_EncapsulatedContentInfo"
  - "CMS_EncryptedContentInfo"
  - "CMS_EncryptedData"
  - "CMS_EnvelopedData"
  - "CMS_IssuerAndSerialNumber"
  - "CMS_KEKIdentifier"
  - "CMS_KEKRecipientInfo"
  - "CMS_KEMRecipientInfo"
  - "CMS_KeyAgreeRecipientIdentifier"
  - "CMS_KeyAgreeRecipientInfo"
  - "CMS_KeyTransRecipientInfo"
  - "CMS_OriginatorIdentifierOrKey"
  - "CMS_OriginatorInfo"
  - "CMS_OriginatorPublicKey"
  - "CMS_OtherCertificateFormat"
  - "CMS_OtherKeyAttribute"
  - "CMS_OtherRecipientInfo"
  - "CMS_OtherRevocationInfoFormat"
  - "CMS_PasswordRecipientInfo"
  - "CMS_Receipt"
  - "CMS_ReceiptRequest"
  - "CMS_ReceiptsFrom"
  - "CMS_RecipientEncryptedKey"
  - "CMS_RecipientIdentifier"
  - "CMS_RecipientInfo"
  - "CMS_RecipientKeyIdentifier"
  - "CMS_RevocationInfoChoice"
  - "CMS_SignedData"
  - "CMS_SignerIdentifier"
  - "CMS_SignerInfo"
  - "COMP_CTX"
  - "COMP_METHOD"
  - "CONF"
  - "conf_finish_func"
  - "CONF_IMODULE"
  - "conf_init_func"
  - "CONF_METHOD"
  - "CONF_MODULE"
  - "confunc_f"
  - "CON_FUNC_RETURN"
  - "CONF_VALUE"
  - "const_ASN1_VALUE"
  - "const_DES_cblock"
  - "CRL_DIST_POINTS"
  - "CRYPTO_CONDVAR"
  - "CRYPTO_dynlock"
  - "CRYPTO_EX_DATA"
  - "CRYPTO_EX_dup"
  - "CRYPTO_EX_free"
  - "CRYPTO_EX_new"
  - "CRYPTO_free_fn"
  - "CRYPTO_malloc_fn"
  - "CRYPTO_MUTEX"
  - "CRYPTO_ONCE"
  - "CRYPTO_RCU_LOCK"
  - "CRYPTO_realloc_fn"
  - "CRYPTO_REF_COUNT"
  - "CRYPTO_RWLOCK"
  - "CRYPTO_THREAD"
  - "CRYPTO_THREAD_ID"
  - "CRYPTO_THREADID"
  - "CRYPTO_THREAD_LOCAL"
  - "CRYPTO_THREAD_LOCAL_KEY_ID"
  - "CRYPTO_THREAD_RETVAL"
  - "CRYPTO_THREAD_ROUTINE"
  - "CRYPTO_THREAD_ROUTINE_CB"
  - "CTLOG"
  - "ct_log_entry_type_t"
  - "CTLOG_STORE"
  - "CT_POLICY_EVAL_CTX"
  - "ctr128_f"
  - "curve448_point_t"
  - "curve448_precomputed_s"
  - "curve448_scalar_t"
  - "custom_ext_add_cb"
  - "custom_ext_free_cb"
  - "custom_ext_method"
  - "custom_ext_methods"
  - "custom_ext_parse_cb"
  - "d2i_of_void"
  - "danetls_record"
  - "DB_ATTR"
  - "DES_cblock"
  - "DES_key_schedule"
  - "DES_LONG"
  - "DH"
  - "DH_METHOD"
  - "DH_NAMED_GROUP"
  - "DISPLAY_COLUMNS"
  - "DIST_POINT"
  - "DIST_POINT_NAME"
  - "do_server_cb"
  - "DOWNGRADE"
  - "DRBG_STATUS"
  - "DSA"
  - "DSA_METHOD"
  - "DSA_SIG"
  - "DSO"
  - "DSO_FUNC_TYPE"
  - "DSO_MERGER_FUNC"
  - "DSO_METHOD"
  - "DSO_NAME_CONVERTER_FUNC"
  - "dsword_t"
  - "DTLS1_STATE"
  - "DTLS_BITMAP"
  - "DTLS_RECORD_LAYER"
  - "DTLS_RLAYER_RECORD_DATA"
  - "DTLS_timer_cb"
  - "dword_t"
  - "dynamic_bind_engine"
  - "dynamic_fns"
  - "dynamic_MEM_fns"
  - "dynamic_v_check_fn"
  - "dyn_MEM_free_fn"
  - "dyn_MEM_malloc_fn"
  - "dyn_MEM_realloc_fn"
  - "ecb128_f"
  - "EC_builtin_curve"
  - "ECDH_VINFO"
  - "ECDSA_SIG"
  - "EC_GROUP"
  - "EC_KEY"
  - "EC_KEY_METHOD"
  - "EC_METHOD"
  - "ECPARAMETERS"
  - "ECPKPARAMETERS"
  - "EC_POINT"
  - "EC_PRE_COMP"
  - "ECX_KEY"
  - "ecx_key_op_t"
  - "ECX_KEY_TYPE"
  - "EDIPARTYNAME"
  - "ENDPOINT"
  - "ENGINE"
  - "ENGINE_CIPHERS_PTR"
  - "ENGINE_CMD_DEFN"
  - "ENGINE_CTRL_FUNC_PTR"
  - "ENGINE_DIGESTS_PTR"
  - "ENGINE_GEN_FUNC_PTR"
  - "ENGINE_GEN_INT_FUNC_PTR"
  - "ENGINE_LOAD_KEY_PTR"
  - "ENGINE_PKEY_ASN1_METHS_PTR"
  - "ENGINE_PKEY_METHS_PTR"
  - "ENGINE_SSL_CLIENT_CERT_PTR"
  - "ENUMERATED_NAMES"
  - "ERR_STATE"
  - "ERR_STRING_DATA"
  - "ESS_CERT_ID"
  - "ESS_CERT_ID_V2"
  - "ESS_ISSUER_SERIAL"
  - "ESS_SIGNING_CERT"
  - "ESS_SIGNING_CERT_V2"
  - "EVP_ASYM_CIPHER"
  - "EVP_CIPHER"
  - "evp_cipher_aead_asn1_params"
  - "EVP_CIPHER_CTX"
  - "EVP_CIPHER_INFO"
  - "EVP_CTRL_TLS1_1_MULTIBLOCK_PARAM"
  - "EVP_ENCODE_CTX"
  - "EVP_KDF"
  - "EVP_KDF_CTX"
  - "EVP_KEM"
  - "EVP_KEYEXCH"
  - "EVP_KEYMGMT"
  - "EVP_MAC"
  - "EVP_MAC_CTX"
  - "EVP_MD"
  - "EVP_MD_CTX"
  - "EVP_PBE_CTL"
  - "EVP_PBE_KEYGEN"
  - "EVP_PBE_KEYGEN_EX"
  - "EVP_PKEY"
  - "EVP_PKEY_ASN1_METHOD"
  - "EVP_PKEY_CTX"
  - "EVP_PKEY_gen_cb"
  - "EVP_PKEY_METHOD"
  - "EVP_RAND"
  - "EVP_RAND_CTX"
  - "EVP_SIGNATURE"
  - "EVP_SKEY"
  - "EVP_SKEYMGMT"
  - "EX_CALLBACK"
  - "EX_CALLBACKS"
  - "EXTENDED_KEY_USAGE"
  - "EXT_RETURN"
  - "FFC_OSSL_PARAMS"
  - "FFC_PARAMS"
  - "FIPS_DEFERRED_TEST"
  - "FUNCTION"
  - "FUNC_TYPE"
  - "GCM128_CONTEXT"
  - "gcm_ghash_fn"
  - "gcm_gmult_fn"
  - "gcm_init_fn"
  - "GENERAL_NAME"
  - "GENERAL_NAMES"
  - "GENERAL_SUBTREE"
  - "GEN_SESSION_CB"
  - "gf"
  - "gf_s"
  - "HMAC_CTX"
  - "hm_fragment"
  - "hsword_t"
  - "HT"
  - "HT_CONFIG"
  - "HT_KEY"
  - "HT_VALUE"
  - "HT_VALUE_LIST"
  - "i2d_of_void"
  - "i64"
  - "IDEA_INT"
  - "IDEA_KEY_SCHEDULE"
  - "INFOPAIR"
  - "int128_t"
  - "int16_t"
  - "int32_t"
  - "int64_t"
  - "int8_t"
  - "int_dhx942_dh"
  - "IPAddrBlocks"
  - "IPAddressChoice"
  - "IPAddressFamily"
  - "IPAddressOrRange"
  - "IPAddressOrRanges"
  - "IPAddressRange"
  - "ISSUER_SIGN_TOOL"
  - "ISSUING_DIST_POINT"
  - "KDF_DATA"
  - "KECCAK1600_CTX"
  - "KEY_TABLE_TYPE"
  - "ktls_crypto_info_t"
  - "LM_OTS_PARAMS"
  - "LM_OTS_SIG"
  - "LMS_KEY"
  - "LMS_PARAMS"
  - "LMS_PUB_KEY"
  - "LMS_SIG"
  - "locale_t"
  - "MAC_KEY"
  - "mask_t"
  - "MATRIX"
  - "MD2_CTX"
  - "MD2_INT"
  - "MD4_CTX"
  - "MD4_LONG"
  - "MD5_CTX"
  - "MD5_LONG"
  - "MD5_SHA1_CTX"
  - "MDC2_CTX"
  - "MEM"
  - "MIME_HEADER"
  - "MIME_PARAM"
  - "ML_COMMON_CODEC"
  - "ML_COMMON_PKCS8_FMT"
  - "ML_COMMON_PKCS8_FMT_PREF"
  - "ML_COMMON_SPKI_FMT"
  - "ML_DSA_KEY"
  - "ML_DSA_PARAMS"
  - "ML_DSA_SIG"
  - "ML_KEM_KEY"
  - "ML_KEM_VINFO"
  - "MLX_KEY"
  - "MSG_FLOW_STATE"
  - "MSG_PROCESS_RETURN"
  - "NAME_CONSTRAINTS"
  - "NAME_FUNCS"
  - "NAMING_AUTHORITY"
  - "NETSCAPE_CERT_SEQUENCE"
  - "NETSCAPE_SPKAC"
  - "NETSCAPE_SPKI"
  - "nid_triple"
  - "niels_s"
  - "niels_t"
  - "NISTP224_PRE_COMP"
  - "NISTP256_PRE_COMP"
  - "NISTP384_PRE_COMP"
  - "NISTP521_PRE_COMP"
  - "NISTZ256_PRE_COMP"
  - "NOTICEREF"
  - "OBJ_NAME"
  - "OCB128_CONTEXT"
  - "ocb128_f"
  - "OCB_BLOCK"
  - "OCSP_BASICRESP"
  - "OCSP_CERTID"
  - "OCSP_CERTSTATUS"
  - "OCSP_CRLID"
  - "OCSP_ONEREQ"
  - "OCSP_REQ_CTX"
  - "OCSP_REQINFO"
  - "OCSP_REQUEST"
  - "OCSP_RESPBYTES"
  - "OCSP_RESPDATA"
  - "OCSP_RESPID"
  - "OCSP_RESPONSE"
  - "OCSP_REVOKEDINFO"
  - "OCSP_SERVICELOC"
  - "OCSP_SIGNATURE"
  - "OCSP_SINGLERESP"
  - "OP_CACHE_ELEM"
  - "OPENSSL_BLOCK"
  - "OPENSSL_CORE_CTX"
  - "OPENSSL_CSTRING"
  - "OPENSSL_DIR_CTX"
  - "OPENSSL_INIT_SETTINGS"
  - "OPENSSL_LHASH"
  - "OPENSSL_LH_COMPFUNC"
  - "OPENSSL_LH_COMPFUNCTHUNK"
  - "OPENSSL_LH_DOALL_FUNC"
  - "OPENSSL_LH_DOALL_FUNCARG"
  - "OPENSSL_LH_DOALL_FUNCARG_THUNK"
  - "OPENSSL_LH_DOALL_FUNC_THUNK"
  - "OPENSSL_LH_HASHFUNC"
  - "OPENSSL_LH_HASHFUNCTHUNK"
  - "OPENSSL_LH_NODE"
  - "OPENSSL_PSTRING"
  - "OPENSSL_SA"
  - "OPENSSL_sk_compfunc"
  - "OPENSSL_sk_copyfunc"
  - "OPENSSL_sk_freefunc"
  - "OPENSSL_sk_freefunc_thunk"
  - "OPENSSL_STACK"
  - "OPENSSL_STRING"
  - "OPTIONS"
  - "OPT_PAIR"
  - "OSSL_AA_DIST_POINT"
  - "OSSL_ACKM"
  - "OSSL_ACKM_PROBE_INFO"
  - "OSSL_ACKM_RX_PKT"
  - "OSSL_ACKM_TX_PKT"
  - "OSSL_ALGORITHM"
  - "OSSL_ALGORITHM_CAPABLE"
  - "OSSL_ALLOWED_ATTRIBUTES_CHOICE"
  - "OSSL_ALLOWED_ATTRIBUTES_ITEM"
  - "OSSL_ALLOWED_ATTRIBUTES_SYNTAX"
  - "OSSL_ATAV"
  - "OSSL_ATTRIBUTE_DESCRIPTOR"
  - "OSSL_ATTRIBUTE_MAPPING"
  - "OSSL_ATTRIBUTE_MAPPINGS"
  - "OSSL_ATTRIBUTES_SYNTAX"
  - "OSSL_ATTRIBUTE_TYPE_MAPPING"
  - "OSSL_ATTRIBUTE_VALUE_MAPPING"
  - "OSSL_AUTHORITY_ATTRIBUTE_ID_SYNTAX"
  - "OSSL_BASIC_ATTR_CONSTRAINTS"
  - "OSSL_CALLBACK"
  - "OSSL_CC_ACK_INFO"
  - "OSSL_CC_DATA"
  - "OSSL_CC_ECN_INFO"
  - "OSSL_CC_LOSS_INFO"
  - "OSSL_CC_METHOD"
  - "ossl_cmp_allow_unprotected_cb_t"
  - "OSSL_CMP_ATAV"
  - "OSSL_CMP_ATAVS"
  - "OSSL_CMP_CAKEYUPDANNCONTENT"
  - "OSSL_CMP_certConf_cb_t"
  - "OSSL_CMP_CERTCONFIRMCONTENT"
  - "OSSL_CMP_CERTIFIEDKEYPAIR"
  - "OSSL_CMP_CERTORENCCERT"
  - "OSSL_CMP_CERTREPMESSAGE"
  - "OSSL_CMP_CERTREQTEMPLATE"
  - "OSSL_CMP_CERTRESPONSE"
  - "OSSL_CMP_CERTSTATUS"
  - "OSSL_CMP_CHALLENGE"
  - "OSSL_CMP_CRLANNCONTENT"
  - "OSSL_CMP_CRLSOURCE"
  - "OSSL_CMP_CRLSTATUS"
  - "OSSL_CMP_CTX"
  - "OSSL_CMP_ERRORMSGCONTENT"
  - "OSSL_CMP_GENMSGCONTENT"
  - "OSSL_CMP_GENREPCONTENT"
  - "OSSL_CMP_ITAV"
  - "OSSL_CMP_KEYRECREPCONTENT"
  - "OSSL_CMP_log_cb_t"
  - "OSSL_CMP_MSG"
  - "OSSL_CMP_MSGS"
  - "OSSL_CMP_PKIBODY"
  - "OSSL_CMP_PKIFAILUREINFO"
  - "OSSL_CMP_PKIFREETEXT"
  - "OSSL_CMP_PKIHEADER"
  - "OSSL_CMP_PKISI"
  - "OSSL_CMP_PKISTATUS"
  - "OSSL_CMP_POLLREP"
  - "OSSL_CMP_POLLREPCONTENT"
  - "OSSL_CMP_POLLREQ"
  - "OSSL_CMP_POLLREQCONTENT"
  - "OSSL_CMP_POPODECKEYCHALLCONTENT"
  - "OSSL_CMP_POPODECKEYRESPCONTENT"
  - "OSSL_CMP_PROTECTEDPART"
  - "OSSL_CMP_REVANNCONTENT"
  - "OSSL_CMP_REVDETAILS"
  - "OSSL_CMP_REVREPCONTENT"
  - "OSSL_CMP_REVREQCONTENT"
  - "OSSL_CMP_ROOTCAKEYUPDATE"
  - "OSSL_CMP_severity"
  - "OSSL_CMP_SRV_certConf_cb_t"
  - "OSSL_CMP_SRV_cert_request_cb_t"
  - "OSSL_CMP_SRV_clean_transaction_cb_t"
  - "OSSL_CMP_SRV_CTX"
  - "OSSL_CMP_SRV_delayed_delivery_cb_t"
  - "OSSL_CMP_SRV_error_cb_t"
  - "OSSL_CMP_SRV_genm_cb_t"
  - "OSSL_CMP_SRV_pollReq_cb_t"
  - "OSSL_CMP_SRV_rr_cb_t"
  - "OSSL_CMP_transfer_cb_t"
  - "OSSL_COMP_CERT"
  - "OSSL_CORE_BIO"
  - "OSSL_CORE_HANDLE"
  - "OSSL_CRMF_ATTRIBUTETYPEANDVALUE"
  - "OSSL_CRMF_CERTID"
  - "OSSL_CRMF_CERTREQUEST"
  - "OSSL_CRMF_CERTTEMPLATE"
  - "OSSL_CRMF_ENCKEYWITHID"
  - "OSSL_CRMF_ENCKEYWITHID_IDENTIFIER"
  - "OSSL_CRMF_ENCRYPTEDKEY"
  - "OSSL_CRMF_ENCRYPTEDVALUE"
  - "OSSL_CRMF_MSG"
  - "OSSL_CRMF_MSGS"
  - "OSSL_CRMF_OPTIONALVALIDITY"
  - "OSSL_CRMF_PBMPARAMETER"
  - "OSSL_CRMF_PKIPUBLICATIONINFO"
  - "OSSL_CRMF_PKMACVALUE"
  - "OSSL_CRMF_POPO"
  - "OSSL_CRMF_POPOPRIVKEY"
  - "OSSL_CRMF_POPOSIGNINGKEY"
  - "OSSL_CRMF_POPOSIGNINGKEYINPUT"
  - "OSSL_CRMF_POPOSIGNINGKEYINPUT_AUTHINFO"
  - "OSSL_CRMF_PRIVATEKEYINFO"
  - "OSSL_CRMF_PUBINFOS"
  - "OSSL_CRMF_SINGLEPUBINFO"
  - "OSSL_DAY_TIME"
  - "OSSL_DAY_TIME_BAND"
  - "OSSL_DECODER"
  - "OSSL_DECODER_CLEANUP"
  - "OSSL_DECODER_CONSTRUCT"
  - "OSSL_DECODER_CTX"
  - "OSSL_DECODER_INSTANCE"
  - "OSSL_DISPATCH"
  - "OSSL_ENCODER"
  - "OSSL_ENCODER_CLEANUP"
  - "OSSL_ENCODER_CONSTRUCT"
  - "OSSL_ENCODER_CTX"
  - "OSSL_ENCODER_INSTANCE"
  - "OSSL_EX_DATA_GLOBAL"
  - "ossl_finish_mutate_cb"
  - "OSSL_FIPS_IND"
  - "OSSL_FIPS_IND_CHECK_CB"
  - "OSSL_FUNC"
  - "OSSL_HANDSHAKE_STATE"
  - "OSSL_HASH"
  - "OSSL_HPKE_AEAD_INFO"
  - "OSSL_HPKE_CTX"
  - "OSSL_HPKE_KDF_INFO"
  - "OSSL_HPKE_KEM_INFO"
  - "OSSL_HPKE_SUITE"
  - "OSSL_HTTP_bio_cb_t"
  - "OSSL_HTTP_REQ_CTX"
  - "OSSL_i2d_of_void_ctx"
  - "OSSL_IETF_ATTR_SYNTAX"
  - "OSSL_IETF_ATTR_SYNTAX_VALUE"
  - "OSSL_INDICATOR_CALLBACK"
  - "OSSL_INFO_SYNTAX"
  - "OSSL_INFO_SYNTAX_POINTER"
  - "OSSL_INOUT_CALLBACK"
  - "ossl_intmax_t"
  - "OSSL_ISSUER_SERIAL"
  - "OSSL_ITEM"
  - "OSSL_JSON_ENC"
  - "OSSL_LIB_CTX"
  - "OSSL_LIB_CTX_THREADS"
  - "OSSL_METHOD_CONSTRUCT_METHOD"
  - "OSSL_METHOD_STORE"
  - "ossl_msg_cb"
  - "ossl_mutate_packet_cb"
  - "OSSL_NAMED_DAY"
  - "OSSL_NAMEMAP"
  - "OSSL_OBJECT_DIGEST_INFO"
  - "OSSL_PARAM"
  - "OSSL_PARAM_ALIGNED_BLOCK"
  - "OSSL_PARAM_BLD"
  - "OSSL_PASSPHRASE_CALLBACK"
  - "OSSL_PQUEUE"
  - "OSSL_PRIVILEGE_POLICY_ID"
  - "OSSL_PROPERTY_DEFINITION"
  - "OSSL_PROPERTY_IDX"
  - "OSSL_PROPERTY_LIST"
  - "OSSL_PROPERTY_OPER"
  - "OSSL_PROPERTY_TYPE"
  - "OSSL_PROVIDER"
  - "OSSL_PROVIDER_INFO"
  - "OSSL_provider_init_fn"
  - "OSSL_QRL_ENC_LEVEL"
  - "OSSL_QRL_ENC_LEVEL_SET"
  - "OSSL_QRX"
  - "OSSL_QRX_ARGS"
  - "ossl_qrx_key_update_cb"
  - "ossl_qrx_late_validation_cb"
  - "OSSL_QRX_PKT"
  - "OSSL_QTX"
  - "OSSL_QTX_ARGS"
  - "OSSL_QTX_IOVEC"
  - "OSSL_QTX_PKT"
  - "OSSL_QUIC_ACK_RANGE"
  - "ossl_quic_demux_cb_fn"
  - "OSSL_QUIC_FRAME_ACK"
  - "OSSL_QUIC_FRAME_CONN_CLOSE"
  - "OSSL_QUIC_FRAME_CRYPTO"
  - "OSSL_QUIC_FRAME_NEW_CONN_ID"
  - "OSSL_QUIC_FRAME_RESET_STREAM"
  - "OSSL_QUIC_FRAME_STOP_SENDING"
  - "OSSL_QUIC_FRAME_STREAM"
  - "ossl_quic_initial_token_free_fn"
  - "OSSL_QUIC_TLS_CALLBACKS"
  - "OSSL_QUIC_TX_PACKETISER"
  - "OSSL_QUIC_TX_PACKETISER_ARGS"
  - "OSSL_RECORD_LAYER"
  - "OSSL_RECORD_METHOD"
  - "OSSL_RECORD_TEMPLATE"
  - "OSSL_ROLE_SPEC_CERT_ID"
  - "OSSL_ROLE_SPEC_CERT_ID_SYNTAX"
  - "OSSL_RTT_INFO"
  - "OSSL_SELF_TEST"
  - "OSSL_SLH_ADRS_FUNC_copy"
  - "OSSL_SLH_ADRS_FUNC_copy_keypair_address"
  - "OSSL_SLH_ADRS_FUNC_set_chain_address"
  - "OSSL_SLH_ADRS_FUNC_set_hash_address"
  - "OSSL_SLH_ADRS_FUNC_set_keypair_address"
  - "OSSL_SLH_ADRS_FUNC_set_layer_address"
  - "OSSL_SLH_ADRS_FUNC_set_tree_address"
  - "OSSL_SLH_ADRS_FUNC_set_tree_height"
  - "OSSL_SLH_ADRS_FUNC_set_tree_index"
  - "OSSL_SLH_ADRS_FUNC_set_type_and_clear"
  - "OSSL_SLH_ADRS_FUNC_zero"
  - "OSSL_SLH_HASHFUNC_F"
  - "OSSL_SLH_HASHFUNC_H"
  - "OSSL_SLH_HASHFUNC_H_MSG"
  - "OSSL_SLH_HASHFUNC_PRF"
  - "OSSL_SLH_HASHFUNC_PRF_MSG"
  - "OSSL_SLH_HASHFUNC_T"
  - "ossl_ssize_t"
  - "OSSL_STATEM"
  - "ossl_statem_finish_mutate_handshake_cb"
  - "ossl_statem_mutate_handshake_cb"
  - "OSSL_STATM"
  - "OSSL_STORE_attach_fn"
  - "OSSL_STORE_close_fn"
  - "OSSL_STORE_ctrl_fn"
  - "OSSL_STORE_CTX"
  - "OSSL_STORE_eof_fn"
  - "OSSL_STORE_error_fn"
  - "OSSL_STORE_expect_fn"
  - "OSSL_STORE_find_fn"
  - "OSSL_STORE_INFO"
  - "OSSL_STORE_LOADER"
  - "OSSL_STORE_LOADER_CTX"
  - "OSSL_STORE_load_fn"
  - "OSSL_STORE_open_ex_fn"
  - "OSSL_STORE_open_fn"
  - "OSSL_STORE_post_process_info_fn"
  - "OSSL_STORE_SEARCH"
  - "OSSL_TARGET"
  - "OSSL_TARGET_CERT"
  - "OSSL_TARGETING_INFORMATION"
  - "OSSL_TARGETS"
  - "OSSL_thread_stop_handler_fn"
  - "OSSL_TIME"
  - "OSSL_TIME_PERIOD"
  - "OSSL_TIME_SPEC"
  - "OSSL_TIME_SPEC_ABSOLUTE"
  - "OSSL_TIME_SPEC_DAY"
  - "OSSL_TIME_SPEC_MONTH"
  - "OSSL_TIME_SPEC_TIME"
  - "OSSL_TIME_SPEC_WEEKS"
  - "OSSL_TIME_SPEC_X_DAY_OF"
  - "OSSL_trace_cb"
  - "ossl_uintmax_t"
  - "OSSL_USER_NOTICE_SYNTAX"
  - "OTHERNAME"
  - "PACKET"
  - "PBE2PARAM"
  - "PBEPARAM"
  - "PBKDF2PARAM"
  - "PBMAC1PARAM"
  - "pem_password_cb"
  - "pitem"
  - "piterator"
  - "PKCS12"
  - "PKCS12_BAGS"
  - "PKCS12_create_cb"
  - "PKCS12_MAC_DATA"
  - "PKCS12_SAFEBAG"
  - "PKCS7"
  - "PKCS7_CTX"
  - "PKCS7_DIGEST"
  - "PKCS7_ENC_CONTENT"
  - "PKCS7_ENCRYPT"
  - "PKCS7_ENVELOPE"
  - "PKCS7_ISSUER_AND_SERIAL"
  - "PKCS7_RECIP_INFO"
  - "PKCS7_SIGNED"
  - "PKCS7_SIGN_ENVELOPE"
  - "PKCS7_SIGNER_INFO"
  - "PKCS8_PRIV_KEY_INFO"
  - "PKEY_USAGE_PERIOD"
  - "pniels_t"
  - "point_conversion_form_t"
  - "POLICY_CONSTRAINTS"
  - "POLICYINFO"
  - "POLICY_MAPPING"
  - "POLICY_MAPPINGS"
  - "POLICYQUALINFO"
  - "POLY"
  - "POLY1305"
  - "poly1305_blocks_f"
  - "poly1305_emit_f"
  - "pqueue"
  - "prime_t"
  - "PROFESSION_INFO"
  - "PROFESSION_INFOS"
  - "PROV_AES_CCM_CTX"
  - "PROV_AES_CTX"
  - "PROV_AES_GCM_CTX"
  - "PROV_AES_GCM_SIV_CTX"
  - "PROV_AES_HMAC_SHA1_CTX"
  - "PROV_AES_HMAC_SHA1_ETM_CTX"
  - "PROV_AES_HMAC_SHA256_CTX"
  - "PROV_AES_HMAC_SHA256_ETM_CTX"
  - "PROV_AES_HMAC_SHA512_ETM_CTX"
  - "PROV_AES_HMAC_SHA_CTX"
  - "PROV_AES_HMAC_SHA_ETM_CTX"
  - "PROV_AES_OCB_CTX"
  - "PROV_AES_SIV_CTX"
  - "PROV_AES_XTS_CTX"
  - "PROV_ARIA_CCM_CTX"
  - "PROV_ARIA_CTX"
  - "PROV_ARIA_GCM_CTX"
  - "PROV_BLOWFISH_CTX"
  - "PROV_CAMELLIA_CTX"
  - "PROV_CAST_CTX"
  - "PROV_CCM_CTX"
  - "PROV_CCM_HW"
  - "PROV_CHACHA20_CTX"
  - "PROV_CHACHA20_POLY1305_CTX"
  - "PROV_CIPHER"
  - "PROV_CIPHER_CTX"
  - "PROV_CIPHER_HW"
  - "PROV_CIPHER_HW_AES_GCM_SIV"
  - "PROV_CIPHER_HW_AES_HMAC_SHA"
  - "PROV_CIPHER_HW_AES_HMAC_SHA_ETM"
  - "PROV_CIPHER_HW_AES_SIV"
  - "PROV_CIPHER_HW_CHACHA20"
  - "PROV_CIPHER_HW_CHACHA20_POLY1305"
  - "PROV_CIPHER_HW_FN"
  - "PROV_CIPHER_HW_RC4_HMAC_MD5"
  - "PROV_CTX"
  - "PROV_DES_CTX"
  - "PROV_DIGEST"
  - "PROV_DRBG"
  - "PROV_DRBG_HMAC"
  - "PROV_GCM_CTX"
  - "PROV_GCM_HW"
  - "PROV_IDEA_CTX"
  - "PROV_RC2_CTX"
  - "PROV_RC4_CTX"
  - "PROV_RC4_HMAC_MD5_CTX"
  - "PROV_RC5_CTX"
  - "PROV_SEED_CTX"
  - "PROV_SHA3_METHOD"
  - "PROV_SKEY"
  - "PROV_SM4_CCM_CTX"
  - "PROV_SM4_CTX"
  - "PROV_SM4_GCM_CTX"
  - "PROV_SM4_XTS_CTX"
  - "PROV_TDES_CTX"
  - "PROXY_CERT_INFO_EXTENSION"
  - "PROXY_POLICY"
  - "PW_CB_DATA"
  - "QLOG"
  - "QLOG_TRACE_INFO"
  - "QUIC_CFQ"
  - "QUIC_CFQ_ITEM"
  - "QUIC_CHANNEL"
  - "QUIC_CHANNEL_ARGS"
  - "QUIC_CONNECTION"
  - "QUIC_CONN_ID"
  - "QUIC_DEMUX"
  - "QUIC_DOMAIN"
  - "QUIC_ENGINE"
  - "QUIC_ENGINE_ARGS"
  - "QUIC_FIFD"
  - "QUIC_HDR_PROTECTOR"
  - "QUIC_LCIDM"
  - "QUIC_LISTENER"
  - "QUIC_OBJ"
  - "QUIC_PKT_HDR"
  - "QUIC_PKT_HDR_PTRS"
  - "QUIC_PN"
  - "QUIC_PORT"
  - "QUIC_PORT_ARGS"
  - "QUIC_PREFERRED_ADDR"
  - "QUIC_RCIDM"
  - "QUIC_REACTOR"
  - "QUIC_REACTOR_WAIT_CTX"
  - "QUIC_REACTOR_WAIT_SLOT"
  - "QUIC_RSTREAM"
  - "QUIC_RXFC"
  - "QUIC_SRT_ELEM"
  - "QUIC_SRT_GEN"
  - "QUIC_SRTM"
  - "QUIC_SSTREAM"
  - "QUIC_STATELESS_RESET_TOKEN"
  - "QUIC_STREAM"
  - "QUIC_STREAM_ITER"
  - "QUIC_STREAM_LIST_NODE"
  - "QUIC_STREAM_MAP"
  - "QUIC_TERMINATE_CAUSE"
  - "QUIC_THREAD_ASSIST"
  - "QUIC_TICK_RESULT"
  - "QUIC_TLS"
  - "QUIC_TLS_ARGS"
  - "QUIC_TOKEN"
  - "QUIC_TSERVER"
  - "QUIC_TSERVER_ARGS"
  - "QUIC_TXFC"
  - "QUIC_TXPIM"
  - "QUIC_TXPIM_CHUNK"
  - "QUIC_TXPIM_PKT"
  - "QUIC_TXP_STATUS"
  - "QUIC_URXE"
  - "QUIC_URXE_LIST"
  - "QUIC_XSO"
  - "RAND_DRBG"
  - "RAND_METHOD"
  - "RAND_POOL"
  - "RAW_EXTENSION"
  - "RC2_INT"
  - "RC2_KEY"
  - "RC4_KEY"
  - "RC5_32_INT"
  - "RC5_32_KEY"
  - "rcu_cb_fn"
  - "READ_STATE"
  - "RECORD_LAYER"
  - "RIO_NOTIFIER"
  - "RIO_POLL_BUILDER"
  - "RIPEMD160_CTX"
  - "RIPEMD160_LONG"
  - "RSA"
  - "RSA_ACVP_TEST"
  - "RSA_METHOD"
  - "RSA_OAEP_PARAMS"
  - "RSA_PRIME_INFO"
  - "RSA_PSS_PARAMS"
  - "RSA_PSS_PARAMS_30"
  - "S390X_KMAC_PARAMS"
  - "S390X_KMA_PARAMS"
  - "S390X_KM_XTS_PARAMS"
  - "SCRYPT_PARAMS"
  - "SCT"
  - "SCT_CTX"
  - "sct_source_t"
  - "sct_validation_status_t"
  - "sct_version_t"
  - "SEED_KEY_SCHEDULE"
  - "seed_word"
  - "SELF_TEST_POST_PARAMS"
  - "SFRAME_LIST"
  - "sframe_list_write_at_cb"
  - "SHA256_CTX"
  - "sha3_absorb_fn"
  - "sha3_final_fn"
  - "sha3_squeeze_fn"
  - "SHA512_CTX"
  - "SHA_CTX"
  - "SHA_LONG"
  - "SHA_LONG64"
  - "SIGALG_LOOKUP"
  - "SIPHASH"
  - "SIV128_CONTEXT"
  - "SIV_BLOCK"
  - "SLH_ADRS_FUNC"
  - "SLH_DSA_HASH_CTX"
  - "SLH_DSA_KEY"
  - "SLH_DSA_PARAMS"
  - "SLH_HASH_FUNC"
  - "SM3_CTX"
  - "SM3_WORD"
  - "SM4_KEY"
  - "socklen_t"
  - "SRP_ARG"
  - "SRP_CTX"
  - "SRP_gN"
  - "SRP_gN_cache"
  - "srpsrvparm"
  - "SRP_user_pwd"
  - "SRP_VBASE"
  - "SRTP_PROTECTION_PROFILE"
  - "SSL"
  - "SSL3_ENC_METHOD"
  - "SSL_allow_early_data_cb_fn"
  - "SSL_async_callback_fn"
  - "SSL_CERT_LOOKUP"
  - "SSL_CIPHER"
  - "SSL_client_hello_cb_fn"
  - "SSL_COMP"
  - "SSL_CONF_CMD"
  - "SSL_CONF_CTX"
  - "SSL_CONN_CLOSE_INFO"
  - "SSL_CONNECTION"
  - "ssl_crock_st"
  - "ssl_ct_validation_cb"
  - "SSL_CTX"
  - "SSL_CTX_alpn_select_cb_func"
  - "SSL_CTX_decrypt_session_ticket_fn"
  - "SSL_CTX_EXT_SECURE"
  - "SSL_CTX_generate_session_ticket_fn"
  - "SSL_CTX_keylog_cb_func"
  - "SSL_CTX_npn_advertised_cb_func"
  - "SSL_CTX_npn_select_cb_func"
  - "SSL_custom_ext_add_cb_ex"
  - "SSL_custom_ext_free_cb_ex"
  - "SSL_custom_ext_parse_cb_ex"
  - "SSL_DANE"
  - "SSL_EARLY_DATA_STATE"
  - "SSL_EXCERT"
  - "SSL_HMAC"
  - "SSL_MAC_BUF"
  - "SSL_METHOD"
  - "SSL_new_pending_conn_cb_fn"
  - "SSL_PHA_STATE"
  - "SSL_POLL_ITEM"
  - "SSL_psk_client_cb_func"
  - "SSL_psk_find_session_cb_func"
  - "SSL_psk_server_cb_func"
  - "SSL_psk_use_session_cb_func"
  - "SSL_SESSION"
  - "SSL_SHUTDOWN_EX_ARGS"
  - "SSL_STREAM_RESET_ARGS"
  - "SSL_TICKET_RETURN"
  - "SSL_TICKET_STATUS"
  - "SSL_TOKEN_STORE"
  - "SSL_verify_cb"
  - "STACK_OF"
  - "STACK_OF_X509_NAME_ENTRY"
  - "STREAM_FRAME"
  - "STRINT_PAIR"
  - "sword_t"
  - "SXNET"
  - "SXNETID"
  - "testdsa"
  - "TLS_BUFFER"
  - "TLSEXT_INDEX"
  - "TLS_FEATURE"
  - "TLS_GROUP_INFO"
  - "TLS_RECORD"
  - "TLS_RL_RECORD"
  - "tls_session_secret_cb_fn"
  - "TLS_SESSION_TICKET_EXT"
  - "tls_session_ticket_ext_cb_fn"
  - "TLS_SIGALG_INFO"
  - "TLS_SIGALGS"
  - "TS_ACCURACY"
  - "TS_extension_cb"
  - "TS_MSG_IMPRINT"
  - "TS_REQ"
  - "TS_RESP"
  - "TS_RESP_CTX"
  - "TS_serial_cb"
  - "TS_STATUS_INFO"
  - "TS_time_cb"
  - "TS_TST_INFO"
  - "TS_VERIFY_CTX"
  - "TTY_STRUCT"
  - "TXT_DB"
  - "u128"
  - "u16"
  - "u32"
  - "u64"
  - "u8"
  - "UI"
  - "UI_METHOD"
  - "uint128_t"
  - "uint16_t"
  - "uint32_t"
  - "uint64_t"
  - "uint8_t"
  - "uintptr_t"
  - "UINT_RANGE"
  - "UINT_SET"
  - "UINT_SET_ITEM"
  - "UI_STRING"
  - "UNICODE_CONSTANTS"
  - "USERNOTICE"
  - "VECTOR"
  - "VERIFY_CB_ARGS"
  - "WHIRLPOOL_CTX"
  - "word_t"
  - "WORK_STATE"
  - "WPACKET"
  - "WPACKET_SUB"
  - "WRITE_STATE"
  - "WRITE_TRAN"
  - "X509"
  - "X509_ACERT"
  - "X509_ACERT_INFO"
  - "X509_ACERT_ISSUER"
  - "X509_ACERT_ISSUER_V2FORM"
  - "X509_ALGOR"
  - "X509_ALGORS"
  - "X509_ATTRIBUTE"
  - "X509_CERT_AUX"
  - "X509_CINF"
  - "X509_CRL"
  - "X509_CRL_INFO"
  - "X509_CRL_METHOD"
  - "X509_EXTENSION"
  - "X509_EXTENSIONS"
  - "X509_HOLDER"
  - "X509_INFO"
  - "X509_LOOKUP"
  - "X509_LOOKUP_ctrl_ex_fn"
  - "X509_LOOKUP_ctrl_fn"
  - "X509_LOOKUP_get_by_alias_fn"
  - "X509_LOOKUP_get_by_fingerprint_fn"
  - "X509_LOOKUP_get_by_issuer_serial_fn"
  - "X509_LOOKUP_get_by_subject_ex_fn"
  - "X509_LOOKUP_get_by_subject_fn"
  - "X509_LOOKUP_METHOD"
  - "X509_LOOKUP_TYPE"
  - "X509_NAME"
  - "X509_NAME_ENTRY"
  - "X509_OBJECT"
  - "X509_PKEY"
  - "X509_POLICY_CACHE"
  - "X509_POLICY_DATA"
  - "X509_POLICY_LEVEL"
  - "X509_POLICY_NODE"
  - "X509_POLICY_TREE"
  - "X509_PUBKEY"
  - "X509_PURPOSE"
  - "X509_REQ"
  - "X509_REQ_INFO"
  - "X509_REVOKED"
  - "X509_SIG"
  - "X509_SIG_INFO"
  - "X509_STORE"
  - "X509_STORE_CTX"
  - "X509_STORE_CTX_cert_crl_fn"
  - "X509_STORE_CTX_check_crl_fn"
  - "X509_STORE_CTX_check_issued_fn"
  - "X509_STORE_CTX_check_policy_fn"
  - "X509_STORE_CTX_check_revocation_fn"
  - "X509_STORE_CTX_cleanup_fn"
  - "X509_STORE_CTX_get_crl_fn"
  - "X509_STORE_CTX_get_issuer_fn"
  - "X509_STORE_CTX_verify_cb"
  - "X509_STORE_CTX_verify_fn"
  - "X509_TRUST"
  - "X509V3_CONF_METHOD"
  - "X509V3_CTX"
  - "X509V3_EXT_D2I"
  - "X509V3_EXT_FREE"
  - "X509V3_EXT_I2D"
  - "X509V3_EXT_I2R"
  - "X509V3_EXT_I2S"
  - "X509V3_EXT_METHOD"
  - "X509V3_EXT_NEW"
  - "X509V3_EXT_R2I"
  - "X509V3_EXT_S2I"
  - "X509V3_EXT_V2I"
  - "X509_VAL"
  - "X509_VERIFY_PARAM"
  - "XTS128_CONTEXT"
  # The following types are macros, and need to remain that way, unfortunately
  - "HASH_CTX"
  - "HASH_LONG"
  - "MD32_REG_T"
# OpenSSL uses macros extensively. Tell clang-format about them.
TypenameMacros: ['LHASH_OF', 'STACK_OF']
StatementMacros:
  - "BLOCK_CIPHER_aead"
  - "BLOCK_CIPHER_generic"
  - "BLOCK_CIPHER_custom"
  - "BLOCK_CIPHER_def_cbc"
  - "BLOCK_CIPHER_def_cfb"
  - "BLOCK_CIPHER_def_ofb"
  - "BLOCK_CIPHER_def_ecb"
  - "BLOCK_CIPHER_defs"
  - "BLOCK_CIPHER_generic_pack"
  - "DECLARE_AES_EVP"
  - "DECLARE_ASN1_ALLOC_FUNCTIONS"
  - "DECLARE_ASN1_ALLOC_FUNCTIONS_attr"
  - "DECLARE_ASN1_ALLOC_FUNCTIONS_name"
  - "DECLARE_ASN1_ALLOC_FUNCTIONS_name_attr"
  - "DECLARE_ASN1_DUP_FUNCTION"
  - "DECLARE_ASN1_DUP_FUNCTION_attr"
  - "DECLARE_ASN1_DUP_FUNCTION_name"
  - "DECLARE_ASN1_DUP_FUNCTION_name_attr"
  - "DECLARE_ASN1_ENCODE_FUNCTIONS"
  - "DECLARE_ASN1_ENCODE_FUNCTIONS_attr"
  - "DECLARE_ASN1_ENCODE_FUNCTIONS_const"
  - "DECLARE_ASN1_ENCODE_FUNCTIONS_name"
  - "DECLARE_ASN1_ENCODE_FUNCTIONS_name_attr"
  - "DECLARE_ASN1_ENCODE_FUNCTIONS_only"
  - "DECLARE_ASN1_ENCODE_FUNCTIONS_only_attr"
  - "DECLARE_ASN1_FUNCTIONS"
  - "DECLARE_ASN1_FUNCTIONS_attr"
  - "DECLARE_ASN1_FUNCTIONS_const"
  - "DECLARE_ASN1_FUNCTIONS_fname"
  - "DECLARE_ASN1_FUNCTIONS_name"
  - "DECLARE_ASN1_FUNCTIONS_name_attr"
  - "DECLARE_ASN1_ITEM"
  - "DECLARE_ASN1_ITEM_attr"
  - "DECLARE_ASN1_NDEF_FUNCTION"
  - "DECLARE_ASN1_NDEF_FUNCTION_attr"
  - "DECLARE_ASN1_PRINT_FUNCTION"
  - "DECLARE_ASN1_PRINT_FUNCTION_attr"
  - "DECLARE_ASN1_PRINT_FUNCTION_fname"
  - "DECLARE_ASN1_PRINT_FUNCTION_fname_attr"
  - "DECLARE_COMPARISON"
  - "DECLARE_COMPARISONS"
  - "DECLARE_DISPATCH"
  - "DECLARE_HT_VALUE_TYPE_FNS"
  - "DECLARE_LHASH_COMP_FN"
  - "DECLARE_LHASH_DOALL_ARG_FN"
  - "DECLARE_LHASH_HASH_FN"
  - "DECLARE_LIST_OF"
  - "DECLARE_ML_KEM_PRVKEYDATA"
  - "DECLARE_ML_KEM_PUBKEYDATA"
  - "DECLARE_ML_KEM_VARIANT_KEYDATA"
  - "DECLARE_OBJ_BSEARCH_CMP_FN"
  - "DECLARE_OBJ_BSEARCH_GLOBAL_CMP_FN"
  - "DECLARE_PEM_read"
  - "DECLARE_PEM_read_attr"
  - "DECLARE_PEM_read_bio"
  - "DECLARE_PEM_read_bio_attr"
  - "DECLARE_PEM_read_bio_ex"
  - "DECLARE_PEM_read_bio_ex_attr"
  - "DECLARE_PEM_read_ex"
  - "DECLARE_PEM_read_ex_attr"
  - "DECLARE_PEM_read_fp"
  - "DECLARE_PEM_read_fp_attr"
  - "DECLARE_PEM_read_fp_ex_attr"
  - "DECLARE_PEM_rw"
  - "DECLARE_PEM_rw_attr"
  - "DECLARE_PEM_rw_cb"
  - "DECLARE_PEM_rw_cb_attr"
  - "DECLARE_PEM_rw_cb_ex"
  - "DECLARE_PEM_rw_cb_ex_attr"
  - "DECLARE_PEM_rw_const"
  - "DECLARE_PEM_rw_const_attr"
  - "DECLARE_PEM_rw_ex"
  - "DECLARE_PEM_rw_ex_attr"
  - "DECLARE_PEM_write"
  - "DECLARE_PEM_write_attr"
  - "DECLARE_PEM_write_bio"
  - "DECLARE_PEM_write_bio_attr"
  - "DECLARE_PEM_write_bio_const"
  - "DECLARE_PEM_write_bio_const_attr"
  - "DECLARE_PEM_write_bio_ex"
  - "DECLARE_PEM_write_bio_ex_attr"
  - "DECLARE_PEM_write_cb"
  - "DECLARE_PEM_write_cb_attr"
  - "DECLARE_PEM_write_cb_bio"
  - "DECLARE_PEM_write_cb_bio_attr"
  - "DECLARE_PEM_write_cb_bio_ex_attr"
  - "DECLARE_PEM_write_cb_ex"
  - "DECLARE_PEM_write_cb_ex_attr"
  - "DECLARE_PEM_write_cb_ex_bio"
  - "DECLARE_PEM_write_cb_fp"
  - "DECLARE_PEM_write_cb_fp_attr"
  - "DECLARE_PEM_write_cb_fp_ex_attr"
  - "DECLARE_PEM_write_const"
  - "DECLARE_PEM_write_const_attr"
  - "DECLARE_PEM_write_ex"
  - "DECLARE_PEM_write_ex_attr"
  - "DECLARE_PEM_write_fp"
  - "DECLARE_PEM_write_fp_attr"
  - "DECLARE_PEM_write_fp_const"
  - "DECLARE_PEM_write_fp_const_attr"
  - "DECLARE_PEM_write_fp_ex_attr"
  - "DECLARE_RUN_ONCE"
  - "DECLARE_VARIANT"
  - "IMPLEMENT_aead_cipher"
  - "IMPLEMENT_aead_cipher_pipeline"
  - "IMPLEMENT_ARIA_CFBR"
  - "IMPLEMENT_ASN1_ALLOC_FUNCTIONS"
  - "IMPLEMENT_ASN1_ALLOC_FUNCTIONS_fname"
  - "IMPLEMENT_ASN1_ALLOC_FUNCTIONS_pfname"
  - "IMPLEMENT_ASN1_DUP_FUNCTION"
  - "IMPLEMENT_ASN1_ENCODE_FUNCTIONS_const_fname"
  - "IMPLEMENT_ASN1_ENCODE_FUNCTIONS_fname"
  - "IMPLEMENT_ASN1_FUNCTIONS"
  - "IMPLEMENT_ASN1_FUNCTIONS_const"
  - "IMPLEMENT_ASN1_FUNCTIONS_ENCODE_name"
  - "IMPLEMENT_ASN1_FUNCTIONS_fname"
  - "IMPLEMENT_ASN1_FUNCTIONS_name"
  - "IMPLEMENT_ASN1_MSTRING"
  - "IMPLEMENT_ASN1_NDEF_FUNCTION"
  - "IMPLEMENT_ASN1_PRINT_FUNCTION"
  - "IMPLEMENT_ASN1_PRINT_FUNCTION_fname"
  - "IMPLEMENT_ASN1_STRING_FUNCTIONS"
  - "IMPLEMENT_ASN1_TYPE"
  - "IMPLEMENT_ASN1_TYPE_ex"
  - "IMPLEMENT_BLAKE_functions"
  - "IMPLEMENT_BLOCK_CIPHER"
  - "IMPLEMENT_CFBR"
  - "IMPLEMENT_cipher"
  - "IMPLEMENT_CIPHER"
  - "IMPLEMENT_CIPHER_HW_CBC"
  - "IMPLEMENT_CIPHER_HW_CFB"
  - "IMPLEMENT_CIPHER_HW_COPYCTX"
  - "IMPLEMENT_CIPHER_HW_ECB"
  - "IMPLEMENT_CIPHER_HW_OFB"
  - "IMPLEMENT_CRMF_CTRL_FUNC"
  - "IMPLEMENT_cts_cipher"
  - "IMPLEMENT_des_cipher"
  - "IMPLEMENT_DIGEST"
  - "IMPLEMENT_digest_functions"
  - "IMPLEMENT_digest_functions_with_settable_ctx"
  - "IMPLEMENT_digest_functions_with_serialize"
  - "IMPLEMENT_dtls1_meth_func"
  - "IMPLEMENT_DYNAMIC_BIND_FN"
  - "IMPLEMENT_DYNAMIC_CHECK_FN"
  - "IMPLEMENT_ECX_VARIANT"
  - "IMPLEMENT_EXTERN_ASN1"
  - "IMPLEMENT_generic_cipher"
  - "IMPLEMENT_generic_cipher_func"
  - "IMPLEMENT_generic_cipher_genfn"
  - "IMPLEMENT_HT_VALUE_TYPE_FNS"
  - "IMPLEMENT_KECCAK_functions"
  - "IMPLEMENT_KMAC_functions"
  - "IMPLEMENT_KMAC_TABLE"
  - "IMPLEMENT_LEGACY_ERR_LOAD"
  - "IMPLEMENT_LEGACY_EVP_MD_METH"
  - "IMPLEMENT_LEGACY_EVP_MD_METH_LC"
  - "IMPLEMENT_LEGACY_EVP_MD_METH_SHA3"
  - "IMPLEMENT_LEGACY_EVP_MD_METH_SHAKE"
  - "IMPLEMENT_LHASH_COMP_FN"
  - "IMPLEMENT_LHASH_DOALL_ARG"
  - "IMPLEMENT_LHASH_DOALL_ARG_CONST"
  - "IMPLEMENT_LHASH_DOALL_ARG_FN"
  - "IMPLEMENT_LHASH_HASH_FN"
  - "IMPLEMENT_MS"
  - "IMPLEMENT_MSBLOB"
  - "IMPLEMENT_OBJ_BSEARCH_CMP_FN"
  - "IMPLEMENT_OBJ_BSEARCH_GLOBAL_CMP_FN"
  - "IMPLEMENT_PEM_provided_rw"
  - "IMPLEMENT_PEM_provided_rw_cb"
  - "IMPLEMENT_PEM_provided_write"
  - "IMPLEMENT_PEM_provided_write_bio"
  - "IMPLEMENT_PEM_provided_write_body_fallback"
  - "IMPLEMENT_PEM_provided_write_body_fallback_cb"
  - "IMPLEMENT_PEM_provided_write_body_main"
  - "IMPLEMENT_PEM_provided_write_body_pass"
  - "IMPLEMENT_PEM_provided_write_body_vars"
  - "IMPLEMENT_PEM_provided_write_cb"
  - "IMPLEMENT_PEM_provided_write_cb_bio"
  - "IMPLEMENT_PEM_provided_write_cb_fp"
  - "IMPLEMENT_PEM_provided_write_cb_to"
  - "IMPLEMENT_PEM_provided_write_fp"
  - "IMPLEMENT_PEM_provided_write_to"
  - "IMPLEMENT_PEM_read"
  - "IMPLEMENT_PEM_read_bio"
  - "IMPLEMENT_PEM_read_fp"
  - "IMPLEMENT_PEM_rw"
  - "IMPLEMENT_PEM_rw_cb"
  - "IMPLEMENT_PEM_rw_const"
  - "IMPLEMENT_PEM_write"
  - "IMPLEMENT_PEM_write_bio"
  - "IMPLEMENT_PEM_write_bio_const"
  - "IMPLEMENT_PEM_write_cb"
  - "IMPLEMENT_PEM_write_cb_bio"
  - "IMPLEMENT_PEM_write_cb_bio_const"
  - "IMPLEMENT_PEM_write_cb_const"
  - "IMPLEMENT_PEM_write_cb_fp"
  - "IMPLEMENT_PEM_write_cb_fp_const"
  - "IMPLEMENT_PEM_write_const"
  - "IMPLEMENT_PEM_write_fp"
  - "IMPLEMENT_PEM_write_fp_const"
  - "IMPLEMENT_quic_meth_func"
  - "IMPLEMENT_SHA3_functions"
  - "IMPLEMENT_SHAKE_functions"
  - "IMPLEMENT_SSL_TEST_BOOL_OPTION"
  - "IMPLEMENT_SSL_TEST_INT_OPTION"
  - "IMPLEMENT_SSL_TEST_STRING_OPTION"
  - "IMPLEMENT_ssl3_meth_func"
  - "IMPLEMENT_STATIC_ASN1_ALLOC_FUNCTIONS"
  - "IMPLEMENT_STATIC_ASN1_ENCODE_FUNCTIONS"
  - "IMPLEMENT_tdes_cipher"
  - "IMPLEMENT_TEST_SUITE"
  - "IMPLEMENT_TEST_SUITE_LEGACY"
  - "IMPLEMENT_TEST_SUITE_MSBLOB"
  - "IMPLEMENT_TEST_SUITE_PARAMS"
  - "IMPLEMENT_TEST_SUITE_PROTECTED_PVK"
  - "IMPLEMENT_TEST_SUITE_UNPROTECTED_PVK"
  - "IMPLEMENT_tls_meth_func"
  - "IMPLEMENT_var_keylen_cipher"
  - "IMPLEMENT_var_keylen_cipher_func"
  - "IMPLEMENT_WRAP_CIPHER"
  - "ASN1_ADB_END"
  - "ASN1_CHOICE_END"
  - "ASN1_CHOICE_END_cb"
  - "ASN1_CHOICE_END_name"
  - "ASN1_CHOICE_END_selector"
  - "ASN1_F_ASN1_FIND_END                             0"
  - "ASN1_ITEM_TEMPLATE_END"
  - "ASN1_NDEF_SEQUENCE_END"
  - "ASN1_NDEF_SEQUENCE_END_cb"
  - "ASN1_SEQUENCE_END"
  - "ASN1_SEQUENCE_END_cb"
  - "ASN1_SEQUENCE_END_enc"
  - "ASN1_SEQUENCE_END_name"
  - "ASN1_SEQUENCE_END_ref"
  - "make_dh"
  - "make_dh_bn"
  - "static_ASN1_CHOICE_END"
  - "static_ASN1_CHOICE_END_name"
  - "static_ASN1_CHOICE_END_selector"
  - "static_ASN1_NDEF_SEQUENCE_END"
  - "static_ASN1_SEQUENCE_END"
  - "static_ASN1_SEQUENCE_END_cb"
  - "static_ASN1_SEQUENCE_END_name"
  - "static_ASN1_SEQUENCE_END_ref"
  # This isn't quite right, but it causes clang-format to do a slightly better
  # job formatting this macro.
  - "ASN1_EX_TEMPLATE_TYPE"
  - "LAZY"
#
# Include sorting should be disabled until post 4.0
#
#SortIncludes:
#  Enabled:         false
#  IgnoreCase:      false
#  IgnoreExtension: false
SortIncludes:    Never
IncludeBlocks:   Preserve
IncludeCategories:
#  # deprecated must always be first
#  - Regex:           '^"internal/deprecated.h"'
#    Priority:        -10
#    SortPriority:    0
#    CaseSensitive:   false
#  # bio_local is special
#  - Regex:           '^"bio_local.h"'
#    Priority:        -1
#    SortPriority:    0
#    CaseSensitive:   false
#  - Regex:           '^"crypto/.*\.h"'
#    Priority:        5
#    SortPriority:    0
#    CaseSensitive:   false
#  - Regex:           '^"internal/.*\.h"'
#    Priority:        4
#    SortPriority:    0
#    CaseSensitive:   false
#  - Regex:           '^<openssl/.*\.h>'
#    Priority:        3
#    SortPriority:    0
#    CaseSensitive:   false
#  - Regex:           '^<.*\.h>'
#    Priority:        1
#    SortPriority:    0
#    CaseSensitive:   false
#  # we do not currently include C++ style files, in case we ever do?
#  - Regex:           '^<.*'
#    Priority:        2
#    SortPriority:    0
#    CaseSensitive:   false
#  - Regex:           '.*'
#    Priority:        6
#    SortPriority:    0
#    CaseSensitive:   false
...

