summaryrefslogtreecommitdiffstats
path: root/man1p/cflow.1p
diff options
context:
space:
mode:
Diffstat (limited to 'man1p/cflow.1p')
-rw-r--r--man1p/cflow.1p250
1 files changed, 250 insertions, 0 deletions
diff --git a/man1p/cflow.1p b/man1p/cflow.1p
new file mode 100644
index 000000000..2e64995ff
--- /dev/null
+++ b/man1p/cflow.1p
@@ -0,0 +1,250 @@
+.\" Copyright (c) 2001-2003 The Open Group, All Rights Reserved
+.TH "CFLOW" P 2003 "IEEE/The Open Group" "POSIX Programmer's Manual"
+.\" cflow
+.SH NAME
+cflow \- generate a C-language flowgraph (\fBDEVELOPMENT\fP)
+.SH SYNOPSIS
+.LP
+\fBcflow\fP \fB[\fP\fB-r\fP\fB][\fP\fB-d\fP \fInum\fP\fB][\fP\fB-D\fP
+\fIname\fP\fB[\fP\fB=\fP\fIdef\fP\fB]]\fP \fB...\fP \fB[\fP\fB-i\fP
+\fIincl\fP\fB][\fP\fB-I\fP
+\fIdir\fP\fB]\fP \fB...
+.br
+\ \ \ \ \ \ \fP \fB[\fP\fB-U\fP \fIdir\fP\fB]\fP \fB...\fP \fIfile\fP
+\fB\&... \fP
+.SH DESCRIPTION
+.LP
+The \fIcflow\fP utility shall analyze a collection of object files
+or assembler, C-language, \fIlex\fP, or \fIyacc\fP source files, and
+attempt to build a
+graph, written to standard output, charting the external references.
+.SH OPTIONS
+.LP
+The \fIcflow\fP utility shall conform to the Base Definitions volume
+of IEEE\ Std\ 1003.1-2001, Section 12.2, Utility Syntax Guidelines,
+except that the order of the \fB-D\fP,
+\fB-I\fP, and \fB-U\fP options (which are identical to their interpretation
+by \fIc99\fP) is
+significant.
+.LP
+The following options shall be supported:
+.TP 7
+\fB-d\ \fP \fInum\fP
+Indicate the depth at which the flowgraph is cut off. The application
+shall ensure that the argument \fInum\fP is a decimal
+integer. By default this is a very large number (typically greater
+than 32000). Attempts to set the cut-off depth to a non-positive
+integer shall be ignored.
+.TP 7
+\fB-i\ \fP \fIincl\fP
+Increase the number of included symbols. The \fIincl\fP option-argument
+is one of the following characters:
+.TP 7
+\fIx\fP
+.RS
+Include external and static data symbols. The default shall be to
+include only functions in the flowgraph.
+.RE
+.TP 7
+\fB_\fP
+.RS
+(Underscore) Include names that begin with an underscore. The default
+shall be to exclude these functions (and data if
+\fB-i\ x\fP is used).
+.RE
+.sp
+.TP 7
+\fB-r\fP
+Reverse the caller:callee relationship, producing an inverted listing
+showing the callers of each function. The listing shall
+also be sorted in lexicographical order by callee.
+.sp
+.SH OPERANDS
+.LP
+The following operand is supported:
+.TP 7
+\fIfile\fP
+The pathname of a file for which a graph is to be generated. Filenames
+suffixed by \fB.l\fP shall shall be taken to be \fIlex\fP input, \fB.y\fP
+as \fIyacc\fP input, \fB.c\fP
+as \fIc99\fP input, and \fB.i\fP as the output of \fIc99\fP \fB-E\fP.
+Such files shall be processed as appropriate, determined by their
+suffix.
+.LP
+Files suffixed by \fB.s\fP (conventionally assembler source) may have
+more limited information extracted from them.
+.sp
+.SH STDIN
+.LP
+Not used.
+.SH INPUT FILES
+.LP
+The input files shall be object files or assembler, C-language, \fIlex\fP,
+or \fIyacc\fP source files.
+.SH ENVIRONMENT VARIABLES
+.LP
+The following environment variables shall affect the execution of
+\fIcflow\fP:
+.TP 7
+\fILANG\fP
+Provide a default value for the internationalization variables that
+are unset or null. (See the Base Definitions volume of
+IEEE\ Std\ 1003.1-2001, Section 8.2, Internationalization Variables
+for
+the precedence of internationalization variables used to determine
+the values of locale categories.)
+.TP 7
+\fILC_ALL\fP
+If set to a non-empty string value, override the values of all the
+other internationalization variables.
+.TP 7
+\fILC_COLLATE\fP
+.sp
+Determine the locale for the ordering of the output when the \fB-r\fP
+option is used.
+.TP 7
+\fILC_CTYPE\fP
+Determine the locale for the interpretation of sequences of bytes
+of text data as characters (for example, single-byte as
+opposed to multi-byte characters in arguments and input files).
+.TP 7
+\fILC_MESSAGES\fP
+Determine the locale that should be used to affect the format and
+contents of diagnostic messages written to standard
+error.
+.TP 7
+\fINLSPATH\fP
+Determine the location of message catalogs for the processing of \fILC_MESSAGES
+\&.\fP
+.sp
+.SH ASYNCHRONOUS EVENTS
+.LP
+Default.
+.SH STDOUT
+.LP
+The flowgraph written to standard output shall be formatted as follows:
+.sp
+.RS
+.nf
+
+\fB"%d %s:%s\\n", <\fP\fIreference number\fP\fB>, <\fP\fIglobal\fP\fB>, <\fP\fIdefinition\fP\fB>
+\fP
+.fi
+.RE
+.LP
+Each line of output begins with a reference (that is, line) number,
+followed by indentation of at least one column position per
+level. This is followed by the name of the global, a colon, and its
+definition. Normally globals are only functions not defined as
+an external or beginning with an underscore; see the OPTIONS section
+for the \fB-i\fP inclusion option. For information extracted
+from C-language source, the definition consists of an abstract type
+declaration (for example, \fBchar *\fP) and, delimited by
+angle brackets, the name of the source file and the line number where
+the definition was found. Definitions extracted from object
+files indicate the filename and location counter under which the symbol
+appeared (for example, \fItext\fP).
+.LP
+Once a definition of a name has been written, subsequent references
+to that name contain only the reference number of the line
+where the definition can be found. For undefined references, only
+\fB"<>"\fP shall be written.
+.SH STDERR
+.LP
+The standard error shall be used only for diagnostic messages.
+.SH OUTPUT FILES
+.LP
+None.
+.SH EXTENDED DESCRIPTION
+.LP
+None.
+.SH EXIT STATUS
+.LP
+The following exit values shall be returned:
+.TP 7
+\ 0
+Successful completion.
+.TP 7
+>0
+An error occurred.
+.sp
+.SH CONSEQUENCES OF ERRORS
+.LP
+Default.
+.LP
+\fIThe following sections are informative.\fP
+.SH APPLICATION USAGE
+.LP
+Files produced by \fIlex\fP and \fIyacc\fP cause the
+reordering of line number declarations, and this can confuse \fIcflow\fP.
+To obtain proper results, the input of \fIyacc\fP or \fIlex\fP must
+be directed to \fIcflow\fP.
+.SH EXAMPLES
+.LP
+Given the following in \fBfile.c\fP:
+.sp
+.RS
+.nf
+
+\fBint i;
+int f();
+int g();
+int h();
+int
+main()
+{
+ f();
+ g();
+ f();
+}
+int
+f()
+{
+ i = h();
+}
+\fP
+.fi
+.RE
+.LP
+The command:
+.sp
+.RS
+.nf
+
+\fBcflow -i x file.c
+\fP
+.fi
+.RE
+.LP
+produces the output:
+.sp
+.RS
+.nf
+
+\fB1 main: int(), <file.c 6>
+2 f: int(), <file.c 13>
+3 h: <>
+4 i: int, <file.c 1>
+5 g: <>
+\fP
+.fi
+.RE
+.SH RATIONALE
+.LP
+None.
+.SH FUTURE DIRECTIONS
+.LP
+None.
+.SH SEE ALSO
+.LP
+\fIc99\fP , \fIlex\fP , \fIyacc\fP
+.SH COPYRIGHT
+Portions of this text are reprinted and reproduced in electronic form
+from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology
+-- Portable Operating System Interface (POSIX), The Open Group Base
+Specifications Issue 6, Copyright (C) 2001-2003 by the Institute of
+Electrical and Electronics Engineers, Inc and The Open Group. In the
+event of any discrepancy between this version and the original IEEE and
+The Open Group Standard, the original IEEE and The Open Group Standard
+is the referee document. The original Standard can be obtained online at
+http://www.opengroup.org/unix/online.html .