## Patching and Coding style
+### File Layout
+
+- Comment with LICENSE and possibly short explanation of file/tool
+- Headers
+- Macros
+- Types
+- Function declarations
+ - Include variable names
+ - For short files these can be left out
+ - Group/order in logical manner
+- Global variables
+- Function definitions in same order as declarations
+- main
+
+### C Features
+
+- Do not mix declarations and code
+- Do not use for loop initial declarations
+- Use `/* */` for comments, not `//`
+
+### Headers
+
+- Place system/libc headers first in alphabetical order
+ - If headers must be included in a specific order comment to explain
+- Place local headers after an empty line
+
+### Variables
+
+- Global variables not used outside translation unit should be declared static
+- In declaration of pointers the `*` is adjacent to variable name, not type
+
+### Indentation
+
- the code is indented by 4 spaces - if you use vim to code you can set
`:set expandtab ts=4 sts=4 sw=4`
-- the functions are sorted alphabetically within the c files
- it's a good advice to orientate on the already available code
- if you are using `indent`, following options describe best the code style
- `--k-and-r-style`