There are several common styles of C code, including the GNU
style, the Kernighan & Ritchie style, and the original Berkeley
style. A style may be selected with a single background option,
which specifies a set of values for all other options. However,
explicitly specified options always override options implied by a
background option.
As of version 1.2, the default style of GNU indent
is the GNU
style. Thus, it is no longer necessary to specify the option
'-gnu' to obtain this format, although doing so will not cause an
error. Option settings which correspond to the GNU style are:
-nbad -bap -nbc -bbo -bl -bli2 -bls -ncdb -nce -cp1 -cs -di2
-ndj -nfc1 -nfca -hnl -i2 -ip5 -lp -pcs -nprs -psl -saf -sai
-saw -nsc -nsob
The GNU coding style is that preferred by the GNU project. It is
the style that the GNU Emacs C mode encourages and which is used
in the C portions of GNU Emacs. (People interested in writing
programs for Project GNU should get a copy of "The GNU Coding
Standards", which also covers semantic and portability issues
such as memory usage, the size of integers, etc.)
The Kernighan & Ritchie style is used throughout their well-known
book "The C Programming Language". It is enabled with the '-kr'
option. The Kernighan & Ritchie style corresponds to the
following set of options:
-nbad -bap -bbo -nbc -br -brs -c33 -cd33 -ncdb -ce -ci4 -cli0
-cp33 -cs -d0 -di1 -nfc1 -nfca -hnl -i4 -ip0 -l75 -lp -npcs
-nprs -npsl -saf -sai -saw -nsc -nsob -nss -par
Kernighan & Ritchie style does not put comments to the right of
code in the same column at all times (nor does it use only one
space to the right of the code), so for this style indent
has
arbitrarily chosen column 33.
The style of the original Berkeley indent
may be obtained by
specifying '-orig' (or by specifying '--original', using the long
option name). This style is equivalent to the following
settings:
-nbad -nbap -bbo -bc -br -brs -c33 -cd33 -cdb -ce -ci4 -cli0
-cp33 -di16 -fc1 -fca -hnl -i4 -ip4 -l75 -lp -npcs -nprs -psl
-saf -sai -saw -sc -nsob -nss -ts8
The Linux style is used in the linux kernel code and drivers.
Code generally has to follow the Linux coding style to be
accepted. This style is equivalent to the following settings:
-nbad -bap -nbc -bbo -hnl -br -brs -c33 -cd33 -ncdb -ce -ci4
-cli0 -d0 -di1 -nfc1 -i8 -ip0 -l80 -lp -npcs -nprs -npsl -sai
-saf -saw -ncs -nsc -sob -nfca -cp33 -ss -ts8 -il1