---
BasedOnStyle: LLVM
Language: Cpp
IndentWidth: 8
UseTab: Always
BreakBeforeBraces: Linux
AlwaysBreakBeforeMultilineStrings: true
AllowShortIfStatementsOnASingleLine: false
AllowShortLoopsOnASingleLine: false
AllowShortFunctionsOnASingleLine: false
IndentCaseLabels: false
AlignEscapedNewlinesLeft: false
AlignTrailingComments: true
AllowAllParametersOfDeclarationOnNextLine: false
AlignAfterOpenBracket: true
SpaceAfterCStyleCast: false
MaxEmptyLinesToKeep: 2
BreakBeforeBinaryOperators: NonAssignment
BreakStringLiterals: false
SortIncludes:    false
IncludeCategories:
  - Regex:           '^(<|lib)'
    Priority:        0
CommentPragmas: '\$(FRR|clippy)'
ContinuationIndentWidth: 8
ForEachMacros:
  # lib
  - LIST_FOREACH
  - LIST_FOREACH_SAFE
  - SLIST_FOREACH
  - SLIST_FOREACH_SAFE
  - SLIST_FOREACH_PREVPTR
  - STAILQ_FOREACH
  - STAILQ_FOREACH_SAFE
  - TAILQ_FOREACH
  - TAILQ_FOREACH_SAFE
  - TAILQ_FOREACH_REVERSE
  - TAILQ_FOREACH_REVERSE_SAFE
  - RB_FOREACH
  - RB_FOREACH_SAFE
  - RB_FOREACH_REVERSE
  - RB_FOREACH_REVERSE_SAFE
  - SPLAY_FOREACH
  - FOR_ALL_INTERFACES
  - FOR_ALL_INTERFACES_ADDRESSES
  # zebra
  - RE_DEST_FOREACH_ROUTE
  - RE_DEST_FOREACH_ROUTE_SAFE
  - RNODE_FOREACH_RE
  - RNODE_FOREACH_RE_SAFE
  # bgpd
  - UPDGRP_FOREACH_SUBGRP
  - UPDGRP_FOREACH_SUBGRP_SAFE
  - SUBGRP_FOREACH_PEER
  - SUBGRP_FOREACH_PEER_SAFE
  - SUBGRP_FOREACH_ADJ
  - SUBGRP_FOREACH_ADJ_SAFE
  - AF_FOREACH
  - FOREACH_AFI_SAFI
