packages icon

 CFLOW(1)                           CFLOW                           CFLOW(1)
                              February 10, 2019

      cflow - generate a C-language flowgraph

      cflow [-ASTrxablnv] [-d NUMBER] [-f NAME] [-i CLASSES] [-o FILE] [-D
      NAME[=DEFN]] [-I DIR] [-m NAME] [-p NUMBER] [-s SYMBOL:[=]TYPE] [-U
      NAME] [--all] [--depth=NUMBER] [--format=NAME] [--include=CLASSES]
      [--output=FILE] [--reverse] [--xref] [--ansi] [--define=NAME[=DEFN]]
      [--include-dir=DIR] [--main=NAME] [--no-main] [--pushdown=NUMBER]
      [--preprocess[=COMMAND]] [--cpp[=COMMAND]] [--symbol=SYMBOL:[=]TYPE]
      [--use-indentation] [--undefine=NAME] [--brief] [--emacs]
      [--print-level] [--level-indent=ELEMENT] [--number] [--omit-arguments]
      [--omit-symbol-names] [--tree] [--debug[=NUMBER]] [--verbose] FILE...

      cflow [-?V] [--help] [--usage] [--version]

      This manpage is a short description of GNU cflow.  For a detailed dis-
      cussion,  including  examples  and usage recommendations, refer to the
      GNU Cflow Manual available in texinfo format.  If the info reader  and
      the  cflow  documentation  are  properly installed on your system, the

          info cflow

      should give you access to the complete manual.

      You can also view the manual using the info mode in emacs(1), or  find
      it in various formats online at

      If any discrepancies occur between this  manpage  and  the  GNU  Cflow
      Manual, the later shall be considered the authoritative source.

      Cflow analyzes a collection of input files written  in  C  programming
      language  and  writes to standard output a graph charting dependencies
      between various functions.

    General-purpose options
      -d, --depth=NUMBER
           Set the depth at which the flowgraph is cut off.  By default  the
           depth is not limited.

           Set debugging level.

      -f, --format=NAME
           Use given output format NAME. Valid names are gnu  (the  default)

                                    - 1 -      Formatted:  February 26, 2024

 CFLOW(1)                           CFLOW                           CFLOW(1)
                              February 10, 2019

           and posix.

      -i, --include=CLASSES
           Include specified classes of symbols.  The ^or-  symbol  excludes
           the classes that follow it.  Valid classes are:

                Symbols whose names begin with an underscore.

           s    Static symbols

           t    Typedefs (for cross-references only).

           x    All data symbols, both external and static

      -o, --output=FILE
           Set output file name (default is -, meaning stdout).

      -r, --reverse
           Print reverse call tree.

           Disable the effect of the previous --reverse option.

      -x, --xref
           Produce cross-reference listing only.

      -v, --verbose
           Enable verbose error diagnostics.

    Parser control
      -a, --ansi
           Accept only sources in ANSI C.

           Don't assume input files are written in ANSI C.

      -D, --define=NAME[=DEFN]
           Predefine NAME as a macro.

      -I, --include-dir=DIR
           Add the directory DIR to the list of directories to  be  searched
           for header files.

      -m, --main=NAME
           Assume main function is NAME

           Assume there's no main function in the program.  This option  has
           the  same  effect as --all, except that, if the program do define
           the main function, it will be treated  as  any  other  functions,

                                    - 2 -      Formatted:  February 26, 2024

 CFLOW(1)                           CFLOW                           CFLOW(1)
                              February 10, 2019

           i.e. it will not be placed at the top of output, but in its place
           as per the lexicographic ordering of function  names.   See  also
           the description of --all.

      -p, --pushdown=NUMBER
           Set initial token stack size to NUMBER.

      --preprocess[=COMMAND], --cpp[=COMMAND]
           Run the specified preprocessor command.

      --no-preprocess, --no-cpp
           Disable preprocessing.

      -s, --symbol=SYMBOL:[=]TYPE
           Register SYMBOL with given TYPE, or define an  alias  (if  :=  is
           used). Valid types are: keyword(orkw), modifier, qualifier, iden-
           tifier, type, and wrapper.  Any unambiguous abbreviation  of  the
           above is also accepted.

      -S, --use-indentation
           Rely on indentation to solve suspicious constructs.

           Don't use indentation in parsing (default).

      -U, --undefine=NAME
           Cancel any previous definition of NAME.

    Output control
      -A, --all
           Produce graphs for all global functions in the program.  Use this
           option  if your program contains functions which are not directly
           reachable from main().

           The output consist of separate flow  graphs  for  each  top-level
           function  defined  in  the  program.  These graphs will be placed
           after the graph for main() (if it exists), and  will  be  ordered
           lexicographically by the function name.

           If used twice, graphs for all global functions (whether top-level
           or not) will be displayed.

      -b, --brief
           Brief output.

           Disable brief output.

           Format output for use with GNU Emacs.

                                    - 3 -      Formatted:  February 26, 2024

 CFLOW(1)                           CFLOW                           CFLOW(1)
                              February 10, 2019

           Disable the effect of the previous --emacs option.

      -l, --print-level
           Print nesting level along with the call tree.

           Don't print nesting level.

           Control graph appearance.

      -n, --number
           Print line numbers.

           Don't print line numbers.

           Do not print argument lists in function declarations.

           Print argument lists in function declarations (the default).

           Do not print symbol names in declaration strings.

           Print symbol names in declaration strings (the default).

      -T, --tree
           Draw ASCII art tree.

           Disable tree output.

    Informational options
      These options instruct the program to output the  requested  piece  of
      information and exit.

      -?, --help
           Print a short help summary.

           Print a summary of available options.

      -V, --version
           Print program version.


                                    - 4 -      Formatted:  February 26, 2024

 CFLOW(1)                           CFLOW                           CFLOW(1)
                              February 10, 2019

      0    Successful completion.

      1    Fatal error occurred.

      2    Some input files cannot be read or parsed.

      3    Command line usage error.

      Online copies of GNU cflow documentation in  various  formats  can  be
      found at:

      Sergey Poznyakoff

      Report bugs to <>.

      Copyright c 2014-2021 Sergey Poznyakoff
      License GPLv3+: GNU GPL version 3 or later
      This is free software: you are free to  change  and  redistribute  it.
      There is NO WARRANTY, to the extent permitted by law.

                                    - 5 -      Formatted:  February 26, 2024