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

FreeBSD Manual Pages

  
 
  

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

NAME
       cflow - generate	a C-language flowgraph

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

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

NOTE
       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

	   http://www.gnu.org/software/cflow/manual

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

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

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

       --debug[=NUMBER]
	      Set debugging level.

       -f, --format=NAME
	      Use given	output format NAME. Valid  names  are  dot  (DOT  lan-
	      guage), 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:

	      _	(underscore)
		     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, --[no-]reverse
	      Print (don't print) reverse call tree.

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

       -v, --verbose
	      Enable verbose error diagnostics.

       --no-verbose
	      Cancel effect of any prior --verbose options.

   Program initialization
       These options manipulate	cflow profiles.	 A profile is a	set  of	 cflow
       options intended	to be applied together.	 Profiles are used, among oth-
       ers, to provide settings	for specific versions of the C language.

       Each profile is given a unique name and stored in a file	named NAME.cfo
       located	in profile search path.	 The default search path is determined
       at compile time,	and normally consists of the following directories:

       ~/.cflow.d
	      (~/ stands for the user home directory)

       /usr/share/cflow/site-init

       /usr/share/cflow/VERSION
	      (VERSION is the version of cflow)

       Examine the output of the cflow --help command, to  obtain  the	search
       path used by your version of cflow.

       -P, --prepend-path=DIR
	      Add DIR at the beginning of the profile search path.

       --profile=NAME
	      Read  options  from the named profile.  A	profile	is a text file
	      containing a set of cflow	options.  This option causes lookup of
	      the file NAME.cfo	in profile search path.	 The file is read, and
	      all options from it processed as though they  appeared  in  that
	      point of the command line.

       -q     Don't load default profile.

	      Default  profile	is  stored in file default.cfo,	located	in the
	      search path.  Unless the	-q  option  is	given,	that  file  is
	      processed	at startup.

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

       --no-ansi
	      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.

       -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 (or kw), modifier, qualifier,
	      identifier, type,	wrapper, and declaration.  Any unambiguous ab-
	      breviation of the	above is also accepted.

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

       --no-use-indentation
	      Don't use	indentation in parsing (default).

       --target=NAME
	      Show only	graphs leading from start symbols  to  this  function;
	      multiple options are allowed.

       -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().

	      Output consists of separate flow graphs for each top-level func-
	      tion defined in the program.  These graphs will be placed	 after
	      the graph	for main() (if it exists), and will be ordered lexico-
	      graphically 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.

       --no-brief
	      Disable brief output.

       --emacs
	      Format output for	use with GNU Emacs.

       --no-emacs
	      Disable the effect of the	previous --emacs option.

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

       --no-print-level
	      Don't print nesting level.

       --level-indent=ELEMENT
	      Control graph appearance.

       -m, --main=NAME
	      Assume main function is NAME.  This option can be	given multiple
	      times. A separate	graph will be drawn for	each function given as
	      its argument.

       --no-main
	      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.

       -n, --number
	      Print line numbers.

       --no-number
	      Don't print line numbers.

       --omit-arguments
	      Do not print argument lists in function declarations.

       --no-omit-arguments
	      Print argument lists in function declarations (the default).

       --omit-symbol-names
	      Do not print symbol names	in declaration strings.

       --no-omit-symbol-names
	      Print symbol names in declaration	strings	(the default).

       -T, --tree
	      Draw ASCII art tree.

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

       --usage
	      Print a summary of available options.

       -V, --version
	      Print program version.

RETURN VALUE
       0      Successful completion.

       1      Fatal error occurred.

       2      Some input files cannot be read or parsed.

       3      Command line usage error.

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

	   http://www.gnu.org/software/cflow/manual

AUTHORS
       Sergey Poznyakoff <gray@gnu.org>.

BUG REPORTS
       Report bugs to <bug-cflow@gnu.org>.

COPYRIGHT
       Copyright (C) 2014-2025 Sergey Poznyakoff
       License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licens-
       es/gpl.html>
       This is free software: you are free  to	change	and  redistribute  it.
       There is	NO WARRANTY, to	the extent permitted by	law.

CFLOW				 May 10, 2025			      CFLOW(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=cflow&sektion=1&manpath=FreeBSD+Ports+15.0>

home | help