Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
CFLOW(1)		    General Commands Manual		      CFLOW(1)

       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 command

	   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 Manu-
       al, 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)
	      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,
	      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,
	      identifier,  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 di-
	      rectly 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-lev-
	      el or not) will be displayed.

       -b, --brief
	      Brief output.

	      Disable brief output.

	      Format output for	use with GNU Emacs.

	      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 in-
       formation and exit.

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

	      Print a summary of available options.

       -V, --version
	      Print program version.

       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-2019 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.

CFLOW			       February	10, 2019		      CFLOW(1)


Want to link to this manual page? Use this URL:

home | help