No Texinfo manual has been written yet, so here is the help message:
Usage: cppi [FILE] or: cppi -c [OPTION] [FILE]... Indent the C preprocessor directives in FILE to reflect their nesting and ensure that there is exactly one space character between each #if, #elif, #define directive and the following token, and write the result to standard output. The number of spaces between the `#' and the following directive must correspond to the level of nesting of that directive. With no FILE, or when FILE is -, read standard input. -a, --ansi when checking, fail if text follows #else or #endif -c, --check set exit code, but don't produce any output -l, --list-files-only don't generate diagnostics about indentation; print to stdout only the names of files that are not properly indented -m, --max-string-length=LENGTH fail if there is a double-quoted string longer than LENGTH; if LENGTH is 0 (the default), then there is no limit --help display this help and exit --version output version information and exit With the -c option, don't write to stdout. Instead, check the indentation of the specified files giving diagnostics for preprocessor lines that aren't properly indented or are otherwise invalid. Note that --ansi without --check does not correct the problem of non-ANSI text following #else and #endif directives. The exit code will be one of these: 0 all directives properly indented 1 some cpp directive(s) improperly indented, or if text follows #else/#endif (enabled with --check --ansi), or found a double-quoted string longer than the specified maximum 2 #if/#endif mismatch, EOF in comment or string 3 file (e.g. open/read/write) error A pragma directive may have its `#' indented. Report bugs to <bug-cppi@gnu.org>.