| --- |
| 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 macros extensively. Tell clang-format about them. |
| TypenameMacros: ['LHASH_OF', 'STACK_OF'] |
| StatementMacros: |
| - "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_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" |
| - "static_ASN1_SEQUENCE_END" |
| # 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 |
| ... |
| |